基于ARM的嵌入式MPEG-4远程网络监控系统的设计与实现
发布时间:2008/5/29 0:00:00 访问次数:508
摘??? 要:本文详细介绍了基于arm的嵌入式mpeg-4远程网络监控系统的视频采集、压缩、传输和系统控制等方面的设计,提供了基于tcp/ip协议的c/s软件结构和多线程通信的设计与实现方法。
关键词:嵌入式;mpeg-4;s3c44b0x;多线程
在远程监控系统的应用中,往往要求监控中心的主机可以同时接收一路或多路监控数据,并且可以同时发送一路或多路的控制指令。因此,如何在有限带宽的前提条件下,将多个现场的监控数据方便、高效地通过计算机网络传送到监控主机上,是该类系统要解决的主要问题。
系统整体结构
为了实现一个基于tcp/ip网络的嵌入式远程数字视频监控系统。
摄像机通过rs-232接口受外界控制,控制命令为一系列的ascii码,可以调整摄像头的焦距和控制云台的转动。嵌入式硬编码板也有一个rs-232接口,可通过它设置信源制式(pal/ntsc)、编码亮度、编码色度、音频速率、编码音量和编码速率。编码板与网络服务器集成到一个机箱里,编码板通过pci接口向网络服务器输出数据。网络服务器有多个rs-232接口,分别与摄像机和硬编码板上的rs-232接口相连。
播放设备由嵌入式硬解码板和电视机组成。解码板采用速率自适应方式设计,解码速率自动匹配远端编码器的编码速率。解码板和网络服务器同样集成在一个机箱里。该系统还实现了软解码方式,在这种方式中,播放设备由一台安装了视频采集卡的pc机构成,其上运行解码软件和媒体播放器,通过pc机的显示器和音箱输出图像和声音。
系统的记录设备由硬盘录像机构成,安放于显示点一侧,用来存储系统图像。
控制台由一台运行windows2000操作系统的pc机实现,pc机上运行客户端的控制软件。管理服务器也由一台运行windows2000操作系统的pc机实现,pc机上运行系统管理软件。在简化的系统实现中,管理服务器和控制台可以在同一台pc机上实现,在这种情况下,管理软件和控制软件运行在同一台主机上,但仍然通过网络接口通信。
系统硬件设计
网络服务器是系统硬件的核心部件,它由运行嵌入式操作系统的嵌入式计算机构成,在嵌入式操作系统之上运行着系统的核心软件。
网络服务器采用的是基于arm 内核的cpu——s3c44b0x。该芯片是一款基于arm 7tdmi risc芯片。它一方面具有arm处理器的:低功耗、高性能等优点;同时又具有丰富的片上资源,非常适合嵌入式产品的开发。
mpeg-4多媒体编码芯片则采用韩国intime公司生产的ime6400,该芯片提供了丰富的外围硬件接口:支持ccir601建议的16bit视频解码器接口、32bit数据、81mhz的sdram数据总线接口、i2c总线接口、i2s外部音频/pcm编码器/dsp接口以及灵活的主机接口,可以支持多种类型的cpu。
mpeg-4硬件视频压缩处理的结构和网络接口。mpeg-4视频采集压缩模块以ime6400芯片为核心,完成对标准视频信号(pal或ntsc信号)的a/d转换、mpeg-4压缩以及与s3c44b0x之间的通信功能。图2中视频解码adc把从摄像头输入的模拟视频信号转化为数字视频信号,然后进行编码预处理,即把视频解码输出的ccir601格式的信号转化为编码器可以处理的cif或qcif格式,然后再进行mpeg-4压缩编码。s3c44b0x上的软件则通过总线接口单元来控制编码器的参数设置和读取编码压缩后的码流数据。视频数据处理模块包括以下功能单元:以bt829为核心的视频adc单元;以ime6400为核心的mpeg-4视频压缩单元;以s3c44b0x 为核心构成的控制逻辑和总线接口单元。总线接口单元是视频数据处理模块与s3c44b0x进行交互的通道,可以和主机进行视频码流和控制数据的交换。控制逻辑是视频采集压缩模块的核心,它控制并协调各模块工作,提供控制信号,通过指令实现系统各模块所需要的选通、缓冲、读/写使能、数据总线和地址总线的切换等等。
镜头云台控制是通过s3c44b0x上的rs-232口进行的,允许用户根据自己的要求调节系统。用户可以通过调节镜头的景深、焦距以及光圈来调整图像质量,还可以通过云台的上下左右调节来获取不同角度的图像。由监控中心的客户机端软件通过socket网络接口,把调整信息发送给服务器端,服务器接收到控制指令后,进行指令识别,然后向对应的rs-232口发送指令去控制云台,完成调整任务。
视频数据发送、指令控制模块的设计与实现
监控现场主机通过视频数据发送模块,将现场采集到的视频流数据经过编码后,以ip 组播的形式通过计算机网络发送出去。对于发送来的视频数据,运行在监控中心主机端的视频数据接收播放模块一方面可以将其保存起来,作为资料库便于以后查询及回放;另一方面还可以实时播放出来。
本系统的软件结构采用了客户机服务器结构,两端通过网络建立tcp/ip连接,按照自定义的数据通信协议交换数据,完成数据通信和系统控制功能。监控中心的客户端向服务器端申请建立连接,服务器监听到连接请求之后,和客户端建立socket连接,客户端向服务器发送控制信号
摘??? 要:本文详细介绍了基于arm的嵌入式mpeg-4远程网络监控系统的视频采集、压缩、传输和系统控制等方面的设计,提供了基于tcp/ip协议的c/s软件结构和多线程通信的设计与实现方法。
关键词:嵌入式;mpeg-4;s3c44b0x;多线程
在远程监控系统的应用中,往往要求监控中心的主机可以同时接收一路或多路监控数据,并且可以同时发送一路或多路的控制指令。因此,如何在有限带宽的前提条件下,将多个现场的监控数据方便、高效地通过计算机网络传送到监控主机上,是该类系统要解决的主要问题。
系统整体结构
为了实现一个基于tcp/ip网络的嵌入式远程数字视频监控系统。
摄像机通过rs-232接口受外界控制,控制命令为一系列的ascii码,可以调整摄像头的焦距和控制云台的转动。嵌入式硬编码板也有一个rs-232接口,可通过它设置信源制式(pal/ntsc)、编码亮度、编码色度、音频速率、编码音量和编码速率。编码板与网络服务器集成到一个机箱里,编码板通过pci接口向网络服务器输出数据。网络服务器有多个rs-232接口,分别与摄像机和硬编码板上的rs-232接口相连。
播放设备由嵌入式硬解码板和电视机组成。解码板采用速率自适应方式设计,解码速率自动匹配远端编码器的编码速率。解码板和网络服务器同样集成在一个机箱里。该系统还实现了软解码方式,在这种方式中,播放设备由一台安装了视频采集卡的pc机构成,其上运行解码软件和媒体播放器,通过pc机的显示器和音箱输出图像和声音。
系统的记录设备由硬盘录像机构成,安放于显示点一侧,用来存储系统图像。
控制台由一台运行windows2000操作系统的pc机实现,pc机上运行客户端的控制软件。管理服务器也由一台运行windows2000操作系统的pc机实现,pc机上运行系统管理软件。在简化的系统实现中,管理服务器和控制台可以在同一台pc机上实现,在这种情况下,管理软件和控制软件运行在同一台主机上,但仍然通过网络接口通信。
系统硬件设计
网络服务器是系统硬件的核心部件,它由运行嵌入式操作系统的嵌入式计算机构成,在嵌入式操作系统之上运行着系统的核心软件。
网络服务器采用的是基于arm 内核的cpu——s3c44b0x。该芯片是一款基于arm 7tdmi risc芯片。它一方面具有arm处理器的:低功耗、高性能等优点;同时又具有丰富的片上资源,非常适合嵌入式产品的开发。
mpeg-4多媒体编码芯片则采用韩国intime公司生产的ime6400,该芯片提供了丰富的外围硬件接口:支持ccir601建议的16bit视频解码器接口、32bit数据、81mhz的sdram数据总线接口、i2c总线接口、i2s外部音频/pcm编码器/dsp接口以及灵活的主机接口,可以支持多种类型的cpu。
mpeg-4硬件视频压缩处理的结构和网络接口。mpeg-4视频采集压缩模块以ime6400芯片为核心,完成对标准视频信号(pal或ntsc信号)的a/d转换、mpeg-4压缩以及与s3c44b0x之间的通信功能。图2中视频解码adc把从摄像头输入的模拟视频信号转化为数字视频信号,然后进行编码预处理,即把视频解码输出的ccir601格式的信号转化为编码器可以处理的cif或qcif格式,然后再进行mpeg-4压缩编码。s3c44b0x上的软件则通过总线接口单元来控制编码器的参数设置和读取编码压缩后的码流数据。视频数据处理模块包括以下功能单元:以bt829为核心的视频adc单元;以ime6400为核心的mpeg-4视频压缩单元;以s3c44b0x 为核心构成的控制逻辑和总线接口单元。总线接口单元是视频数据处理模块与s3c44b0x进行交互的通道,可以和主机进行视频码流和控制数据的交换。控制逻辑是视频采集压缩模块的核心,它控制并协调各模块工作,提供控制信号,通过指令实现系统各模块所需要的选通、缓冲、读/写使能、数据总线和地址总线的切换等等。
镜头云台控制是通过s3c44b0x上的rs-232口进行的,允许用户根据自己的要求调节系统。用户可以通过调节镜头的景深、焦距以及光圈来调整图像质量,还可以通过云台的上下左右调节来获取不同角度的图像。由监控中心的客户机端软件通过socket网络接口,把调整信息发送给服务器端,服务器接收到控制指令后,进行指令识别,然后向对应的rs-232口发送指令去控制云台,完成调整任务。
视频数据发送、指令控制模块的设计与实现
监控现场主机通过视频数据发送模块,将现场采集到的视频流数据经过编码后,以ip 组播的形式通过计算机网络发送出去。对于发送来的视频数据,运行在监控中心主机端的视频数据接收播放模块一方面可以将其保存起来,作为资料库便于以后查询及回放;另一方面还可以实时播放出来。
本系统的软件结构采用了客户机服务器结构,两端通过网络建立tcp/ip连接,按照自定义的数据通信协议交换数据,完成数据通信和系统控制功能。监控中心的客户端向服务器端申请建立连接,服务器监听到连接请求之后,和客户端建立socket连接,客户端向服务器发送控制信号