一种新的嵌入式MPEG-4 DVR系统设计
1引言
随着网络带宽、计算机处理能力和存储容量的快速提高,以及如MPEG-4、H.264等各种视频编码技术的涌现,从而使嵌入式DVR网络监控系统得以迅速发展与普及。
MPEG-4标准[1]采用基于对象的编码理念,支持内容的可分级性,并具有基于内容的交互性、高效的压缩性和通用的访问性等特点。MPEG-4提供了易出错环境的鲁棒性,来保证其在许多无线和有线网络及存储介质中的应用。因此,在嵌入式多媒体网络监控系统中采用MPEG-4视频压缩技术不仅能够获得其在视频处理方面的诸多优势,而且有利于网络的实时传输及硬盘存储,实现真正意义上的网络远程实时监控。
文章针对实际需求,提出了采用VW2010编解码芯片为核心的嵌入式MPEG-4 DVR监控系统的设计方案,详尽介绍了系统的设计原理和VW2010芯片的应用。此次设计结合了高效的音视频处理技术、大容量的信息存储技术、网络传输技术以及低功耗高稳定性的嵌入式技术于一身,是当代安防领域的新应用,在高端视频监控领域具有较广阔的应用前景。
2 DVR系统硬件设计原理
2.1 系统组成
由图1系统实现框图所示,系统框图中蓝色虚线为I2C总线,黑色粗线为地址数据和控制总线。系统硬件核心由:VW2010编解码芯片[2]、AT91RM9200嵌入式CPU[3],以及EP1C6 FPGA处理芯片[4]构成。整个系统共分5大功能模块,分别为:视频前端解码A/D转换模块、视频预处理及后处理FPGA模块、MPEG-4编码和解码模块、主控制芯片AT91RM9200模块、视频后端编码D/A转换模块。
视频前端解码A/D转换模块:
视频前端解码A/D转换模块选用SAA7115(一路实时或两路分时)或者TW2824(四路实时)视频解码芯片来实现视频信号采集,并对采集获得的视频信号进行模数转换。然后向视频预处理及后处理FPGA模块输出ITU-R.BT.656标准的8bitYUV数字视频信号,以及所需的8bit的VBI信号。SAA7115和TW2824可分别由主控制CPU或VW2010芯片通过I2C总线进行控制。当在视频预处理及后处理FPGA模块中进行特殊图像处理时,由主控制CPU采用I2C总线模式进行控制;当无需特殊处理时,可把视频预处理及后处理FPGA模块视为直通数据传输通道,此时可由VW2010芯片自带的ICI总线模式直接对其进行控制。
图1 MPEG-4 DVR系统实现框图
视频预处理及后处理FPGA模块:
视频预处理及后处理FPGA模块采用Cyclone-EP1C6芯片进行视频图像的特殊处理以及系统所需的时序生成。由主控制CPU通过I2C总线和系统控制总线对其实现的功能逻辑进行直接控制。该模块主要实现三个功能--前端预处理、后端后处理和时序生成。
前端预处理是为了满足某些监控领域的特殊需求,对未压缩的视频图像数据进行预处理,如添加水印和特殊信息插入等。同时,当前端有多路(4路)视频数据输入时,可通过多路视频数据的整合来实现4路图像的实时处理。后端后处理,也是为了满足某些特殊需求,而对由VW2010解码后的图像数据进行特殊处理。
MPEG-4编码和解码模块:
MPEG-4编码和解码模块选用VW2010芯片实现MPEG-4的编解码处理。由主控制CPU 采用Motorola主机通信模式通过VW2010的HIU接口单元实现对VW2010芯片内部寄存器设置和工作状态控制,以及对压缩视频数据的读写操作。
功能描述:该模块主要实现对视频数据的MPEG-4编码和解码,以及对音频数据的编解码功能。VW2010内部集成DSP芯片能够实现对音频信号编解码以及对视频信号、音频信号、用户数据和VBI数据实现复用、解复用功能。VW2010通过VPI接口和VBI接口接收视频预处理及后处理FPGA模块输出的8bit视频信号以及VBI信号进行MPEG-4编码处理,复用处理后转入HIU接口单元等待主控制芯片接收。同时,VW2010可通过HIU接口单元接收主控制芯片发送的MPEG-4编码后的视频数据,经过解复用处理后进入MPEG-4解码单元,然后把解码后的视频数据通过VPO接口向视频预处理及后处理FPGA模块发送8bit解码后的视频数据。
系统中由主控制芯片对VW2010芯片的11个GPIO口进行控制,实现某些特殊功能。其中,GPIO[10:11]作为VW2010的第二个I2C总线接口,GPIO[8:9]用于SAA7120中的TTX功能,而GPIO[0:7]可用于输出多路报警信号。
主控制芯片AT91RM9200模块:
主控制CPU芯片选用AT91RM9200芯片为主控制处理器,通过I2C总线、控制总线、主机地址总线和数据总线参与外围设备控制。系统通过AT91RM9200芯片实现对前端视频解码控制、视频预处理控制和MPEG-4编码和解码控制,后端视频编码控制,以及多入报警信号的输入控制。同时,主控制芯片的数据总线和地址总线通过复用方式与外围的VW2010、8M Flash和32M SDRAM芯片进行数据通信。
系统设计中,应用其实现2路IDE硬盘存储功能、网络传输功能、USB功能、2路串口功能和6键键盘控制功能。AT91RM9200芯片控制MPEG-4码流的接收和发送,并对码流进行IDE硬盘存储控制和数据读写处理。主控制芯片通过其网络芯片进行视频流的网络传输,也可以通过USB芯片进行数据交换传输。PC主机可通过USB、串口和JTAG口对其进行控制。
视频后端编码D/A转换模块:
视频编码模块采用SAA7120为其核心芯片,可由主控制CPU、VW2010芯片通过I2C总线对其进行控制。SAA7120接收视频预处理及后处理FPGA模块发送的ITU-R.BT.656标准的8bitYUV数字视频信号,并进行视频信号的数模转换,实现对视频信号的分时编码与显示,并输出YC或CVBS等视频信号。
2.2 系统硬件特点及硬件电路设计
系统硬件具有系统结构设计简单、稳定性高、交互性能强、数据压缩可选格式多,以及应用性强和应用范围广等特点。该系统具有三片核心芯片,通过摩托罗拉主机通信模式完成交互控制。由于在系统设计中采用了具有高性价比的FPGA芯片使其能够根据某些特殊需求做出相应调整,因此极大的增强了其应用的灵活性。同时,利用嵌入式CPU的丰富接口不但节省了传统的IDE控制接口芯片、以太网MAC及USB接口芯片,还减少了电路尺寸及布线工作量。VW2010外围的A/D、D/A等芯片可以通过AT91RM9200的串行I2C总线,方便地完成相应的初始化和制式转换。整个系统对电源种类要求很低,减少了对电源部分的设计压力和成本。AT91RM9200通过CPLD芯片扩展出的两个IDE接口相比在一个IDE接口上挂接多个IDE设备来说提高了速度。压缩完成的文件不但可以通过以太网接口进行网络传输,还可以通过目前流行的USB移动硬盘完成数据的传递。
由于电路的复杂性,且采用了高速数字电路,加上对电磁兼容(EMC)的设计要求,设计硬件电路时需考虑以下几点:1.VW2010编解码器的SDRAM必须尽可能的靠近VW2010芯片;2.对于处理VW2010、SDRAM、SAA7115和SAA7120等控制接口的时钟线时,要尽量使各线的长度及阻抗匹配,并要求对电路中的高速时钟线进行覆铜屏蔽;3.采用六层电路板,可以降低回路噪声,提高电路的稳定性;4.应做到模拟地与数字地隔离。避免数字电路对模拟电路产生干扰,提高采样的精度;5.对于高速的数据总线应尽量添加排阻,以达到阻抗匹配的目的。并应尽量减少走线长度,减小电路中电流的环路面积;6.对于USB等接口电路需添加相应的保护电路,以免外部噪声干扰。
2.3 VW2010应用
VW2010是实时MPEG-1、-2和-4音视频系统编解码芯片,支持同时压缩、解压或编码、解码处理,兼容多种视频标准。视频编码部分接收未压缩的ITU-R.BT.656数字视频信号。其为网络应用提供TS传输流或为存储应用提供PS节目流。视频解码部分接收MPEG码流,并输出ITU-R.BT.656数字视频。VW2010是该DVR系统中完成音视频编解码的主芯片。
主机接口结构、功能与应用:
- 大规模IPTV点播系统解决方案(08-18)
- 数字音视频编解码技术标准AVS(08-19)
- 数字电视与数字电视编码技术的发展简介(08-19)
- IPTV编解码标准综述(08-26)
- IPTV洋标准暗藏高额专利费(08-29)
- 基于TMS320C64x DSPs的MPEG-4实时编码器设计与实现(09-09)