嵌入式网络虚拟音视频矩阵的设计
摘 要:网络数字视频监控系统目前主要采用IP解码矩阵将大量的IP视频信号输出到监控中心的电视墙上,而IP解码矩阵大都采用工控机加板卡方式实现,其可靠性和稳定性都比较差. 针对该问题,详细介绍基于嵌入式网络虚拟音视频矩阵的硬件设计和实现,并分析其性能指标. 在轮跳切换时采用一定策略解决切换黑屏问题;在网络延时和突发处理中运用弹性缓存机制,有效改善图像播放不流畅和延时现象. 与工控机模式的网络矩阵相比,其先进性和实用性较好.
关键词:网络矩阵; 电视墙; CCIR656; 轮跳; 弹性缓存
中图分类号:TN941 文献标志码:A
Design on virtual embedded network audio and video matrix
CHEN Shurong
(Info. Eng. College, Shanghai Maritime Univ., Shanghai 200135, China)
Abstract: The current IP decoding matrixes are primarily applied to output vast IP video message on the TV wall of monitoring center in network digital video monitoring system. But IP decoding matrix is mostly implemented by industrial PC plugged in boards, and makes bad stability and reliability. With these issues the hardware scheme and implementation of network audio and video matrix on embedded platform are particularly introduced and performance analysis is discussed. A strategy is applied in display alternation switching and resolves black screen problem when switching. The flexible buffer method is adopted for network delay and data burst problems, which improves image fluency and resolves delay phenomenon when frame is played effectively. It has better advantages and practicability compared with network matrix based on industrial PC mode.
Key words: network matrix; TV wall; CCIR656; alternation of display; stretching buffer
0 引 言
随着计算机网络、图像处理和传输技术的快速发展,基于网络的数字视频监控系统呈高速增长趋势,人们可基于Internet在任何时间、任何地点查看远程视频信息,视频监控呈现出分布式、网络化、远程监控的特点.由此而来监控中心的监控方式也朝网络化、覆盖区域城市化的方向发展,如何将网络传来的多路数字视频信息显示在监控中心的电视墙上,是网络视频监控系统需要解决的关键问题.传统的监控中心采用矩阵切换控制器完成不同视频通道的切换控制,其输入端子连接模拟视频信号,因此支持的输入路数和传输距离都受到限制.而网络虚拟音视频矩阵通过Internet接收网络摄像机、网络视频服务器和网络数字硬盘录像机的视频压缩数据包,在矩阵内部完成图像解码及通道切换,再将视频输出到电视墙上.与传统模拟矩阵相比,输入图像通道数量不受限制,监控距离随网络而拓展,控制更加灵活,同时简化了监控中心的组网方式.目前网络虚拟音视频矩阵可通过工控机加板卡方式或嵌入式技术实现,前者开发周期短,后者在性能和成本上有较大优势.本文设计基于嵌入式的网络虚拟音视频矩阵,提供8路MPEG-4音视频数据同时解码输出到电视墙,通过内嵌Web服务器对虚拟矩阵进行参数配置、管理和状态监控,可将远程摄像机虚拟为矩阵输入,任意编组成若干切换序列输出到电视墙,实现指定图像通道的显示输出告警图像通道的输出、多通道图像轮跳输出等多种音视频同步输出方式,满足大型分布式网络集中监控的要求.
1 硬件结构
基于嵌入式一体化硬件设计,包括处理器模块、音视频解码模块和图像分割处理模块等.采用DSP完成8路MPEG-4图像和伴音数据的同步解码,利用图像分割芯片提供一路实时4/6/8画面图像分割显示.其中,CPU模块是虚拟矩阵的核心,负责数据、视频流处理和传输,完成任务调度、设备状态监测和各接口的控制.嵌入式CPU选用IDT公司的79RC32438[1]芯片,具有32位MIPS内核,运行BSP、操作系统和应用软件.芯片内部采用双总线架构,有效提高数据处理效率.CPU工作主频设置为266 MHz,外部输入主时钟为33.33 MHz;采用2片16位、256 Mb的DDR RAM合成32位数据缓存.处理器包含2个10/100 Mb/s的以太网控制器,通过MII接口提供主机应用与PHY层设备之间的接口,传输视频数据和控制命令.提供2个UART,一个接RS232接口做调试,另一个接RS485总线扩展外设接口.
CPU通过外设控制器接口连接8路音视频解码模块、CPLD逻辑控制模块、图像分割器及2片FLASH.通过GPIO控制报警信号输出和状态指示灯.处理器功能结构见图1.
1.1 音视频解码模块
单路音视频解码模块见图2虚线部分,CPU从以太网接口接收音视频数据,经总线驱动后缓存在双口RAM中;DSP从双口RAM读取数据做MPEG-4解码运算,输出CCIR656格式的视频数据和PCM编码格式的音频数据,DSP选择ADSP-BF532芯片,支持CIF和D1解码.CCIR656视频数据经过驱动后分别送到图像D/A转换和图像分割器,采用驱动器主要是避免输出信号直接复连产生图像干扰;图像D/A转换选择SAA7121[2]芯片,将CCIR656视频信号转换为PAL CVBS信号输出到监视器.SAA7121内部模块包括I2C总线接口、数据管理、编码器、输出接口和D/A变换等部分,该芯片I2C总线工作在从模式,频率为400 kHz;音频数据通过I2S总线传给音频D/A,音频D/A转换选用CS4330芯片,具有立体声18位Delta-Sigma D/A转换、94 dB的动态范围和输出带模拟低通滤波功能,解码后的模拟音频信号通过BNC接插件传到音箱或监视器.
由于I2C接口仅能级联2片SAA7121芯片,系统需要实现对8片SAA7121的控制,所以设计采用1片74HC4051作为模拟开关,通过处理器的GPIO完成IvC总线切换.
由8个单路音视频解码通道组成音视频解码模块,8路双口RAM的片选信号由地址总线通过CPLD译码得到.
1.2 图像分割处理模块
采用1路图像分割通道实现1/4/6/8路图像分割显示,如图2右半部分所示.图像分割器选用NEXT CHIP公司的NVC1301[3]芯片,该芯片可提供2种解决方案:一种是NVC1301D,支持CCIR656格式的8路数字视频输入、1路数字视频回放输入,1路数字视频输出、CVBS格式或S格式的1路模拟视频输出;另一种是NVC1301R,提供8路CCIR656格式的数字视频输入,2路实时100帧/s CIF格式的数字视频输出.设计因需要1路CVBS接口输出到电视墙,因此采用NVC1301D模式,接收驱动器传来8通道CCIR656视频数据,合成1路数据通过1个CVBS接口输出到监视器,实现多画面显示及画中画显示.
CPU通过外设控制总线控制NVC1301D,由于NVC1301D的读写时序与处理器外设控制总线时序不一致,不能直接接口,因此通过1个CPLD芯片对时序进行调整.
2 软件关键设计
软件采用嵌入式Linux[4]操作系统,完成系统任务调度、进程间通信、内存管理、驱动程序等.设计选取单任务的BOA Web[5]服务器作为Web页面的数据岛传递数据,利用HTTP协议接受网络控制,实现解码通道参数配置;通过调用CGI程序与解码通道进行数据交互,将获取的解码状态、网口状态等数据封装成XML文件,由BOA服务器动态加载并与IE绑定完成显示,实现矩阵的管理维护.设计支持25 帧/s,12.5 帧/s及6.25 帧/s等多种帧率解码,可实现视频画面定时切换、自由分组、报警联动切换功能和多路图像数据实时轮跳输出至监视器.
2.1 轮跳策略
网络虚拟矩阵主要将网络上任意监控点的视频图像解码输出到电视墙,远程监控点视频以IP数据流形式作为虚拟矩阵的输入,通过轮跳方式实现将多个监控点的图像轮流显示在电视墙上,每个监控点图像显示时间可灵活设置如5 s和10 s定时等,定时到则显示下一监控点的图像.利用BOA Web服务器进行通道配置,可在矩阵的每个解码通道上设置监控点的显示顺序和轮跳时间.考虑到网络带宽占用问题,不能与所有的监控点都事先建立连接,虽然保持连接可减少初次连接的协商时延和加快图像切换速度,但带宽资源浪费严重,甚至造成网络拥塞.设计中采用轮跳时建立连接来减少带宽占用,为了避免建立连接时延造成的切换黑屏,采用先建立连接、后切换的方式,有效解决图像切换停顿黑屏现象.
每个解码通道设计1个轮跳队列,可灵活配置轮跳监控点数量,单路轮跳策略见图3.
由于网络延时和突发等问题,采用弹性缓存机制,有效缓解网络传输造成的图像播放不流畅或不及时现象.以满帧率(25 帧/s)为例,每路解码进程设计1个弹性缓存,存放5帧的音视频数据后开始按40 ms/帧间隔解码输出,若缓存帧数大于10帧时按30 ms/帧间隔解码,当缓存中帧数小于2帧时按50 ms/帧间隔解码,直到弹性缓存中有5帧数据时恢复正常的解码速度,弹性缓存处理流程见图4.这样处理能够缓解网络延迟和突发带来的丢帧和连续性问题.虽然缓存5帧会引起200 ms的图像延时,经测试矩阵每路解码平均延时小于240 ms,符合网络矩阵延时要求.
数字音视频信号通过以太网输入到网络虚拟音视频矩阵,再解码输出到电视墙上,因此解码后的图像质量受网络带宽和延时影响较大.目前对网络虚拟音视频矩阵的性能评价主要依据图像格式、网络带宽、时延和PSNR(峰值信噪比)等指标[6].
经测试,本矩阵设计能力满足每路6 Mb/s码流带宽下,实现8路×25帧/s D1画质的解码输出,图像连续、流畅,解码图像质量达到350线以上.对PSNR指标测试,视频解码输出为0.5 VP-P~2.0 VP-P的复合视频信号,信噪比≥56 dB;音频解码符合G.711标准,支持8路音频输出,基准输出电平为1.0~2.2 V,信噪比≥60 dB,音视频输出完全同步,设计达到应用质量要求.
目前“工控机+板卡”模式的网络虚拟矩阵大多采用Windows操作系统,具有非实时性特点,难以实现多任务运行的优先级控制;启动慢、运行速度依赖于CPU和内存大小,设备成本较高;视频处理依赖于板卡技术,由于Windows定时器不准易造成累计误差,出现解码时视频丢帧、跳帧现象,且插卡与软硬件的兼容问题易引起死机,导致设备可靠性差.
本设计采用嵌入式一体化硬件结构,音视频解码、显示、网络等功能全部通过1块单板实现,大大提高整个系统硬件的可靠性和稳定性;采用嵌入式Linux操作系统,支持实时多任务处理及优先级控制,内核代码小,启动和任务响应速度快;软件固化在FLASH芯片中,不可修改,可靠性高;设备可通过看门狗电路实现自动重启,运行环境要求低,适合长期连续可靠运行.
4 结束语
基于嵌入式系统设计,采用DSP解码技术,实现8路网络虚拟音视频矩阵,通过性能分析和测试,在实现技术、性能指标、性价比等方面都具备较强的先进性和实用性.将多个矩阵叠加,可以满足大容量电视墙应用需求.数字远程视频监控是电视监控发展的一个重要方向,随着我国平安城市的建设,嵌入式网络音视频矩阵必将取代工控机模式的网络矩阵,成为新一代电视墙应用的核心设备,具有广阔的应用前景.
参考文献:
[1] IDTEnterprise. 79RC32438 integrated communications processor user reference manual [K]. 2003.
[2] PhilipsInc.SAA7121 digital video encoder data sheet [K]. 1997.
[3] NextchipInc. NVC1301D data sheet[K]. 2005.
[4] 李善平, 刘文峰, 王焕龙. Linux与嵌入式系统[M]. 北京: 清华大学出版社, 2003.
[5] 郑伟, 徐荣华, 钦若. 嵌入式Linux Webserver: Boa+CGI程序设计技术[EB/OL].[2006-3-12].http://blog.21ic.com/more.asp?name=sockit&id=10515&commentid=5463.
[6] 中国安防产品网. 视频矩阵未来发展之探讨[EB/OL]. [2005-8-19]. .cn/news/view/2005/8/19/15699.htm.
(编辑 廖粤新)
上一篇:PC核心技术概况
下一篇:单芯片同步多任务处理功能