1、一种 MPEG4 视频压缩和传输系统 在重要场所安全监控或工业现场控制系统中,直观、方便且内容丰富的视频实时采集是信息采集的重要部分,也是人们关注的应用技术热点。由于高精度实时视频信息量巨大,在传输时需丢弃大量数据帧,否则必须压缩。最常用的是软件压缩法,但对复杂的压缩格式编程工作量大、设备要求高、应用受限制。而硬件实现法,采用专用芯片按即定格式高速压缩视频,实时性好,可靠性高。 本文介绍的视频数据实时压缩和传输系统,采用可编程视频采集芯片采集模拟视频,通过 MPEG421 专用编码芯片对采集后的数字视频数据进行编码压缩,生成MPEG4 码流,微控制器的在片以太网卡端口外接网络物理层芯片,MPE
2、G4 码流由此输出到视频终端 PC 机,整个系统由微控制器调度管理。终端 PC 上应用程序播放视频进行监控。 2 系统总体结构 系统主要包括两部分。一是数字视频数据采集和编码子系统。二是视频码流以太网发送子系统。此外还有电源子系统、JTAG 调试子系统等。图 1 所示为系统框图。 视频采集芯片选用 Philips 公司 SAA711lA。该芯片的工作时钟为 24576MHz ,由此 12 行输出锁定时钟 LLC2 为 13,5MHz 。设定输出数据色彩格式为 4:2:2,输入模拟视频采用 S-Video 端子的 PAL 格式视频信号,分辨率为 720X 576,每秒 25帧。设定抗混叠滤波、A
3、D 转换、自动钳位、自动增益变换、 PAL 和 NTSC 制式之间自动切换等功能。微控制器通过 12C 总线初始配置 SAA711lA。 数字视频数据编码压缩工作由 INTIME 公司设计的 IME6410 单片视、音频MPEG421 码流压缩引擎完成。同 SAA711lA 一致,一帧图像分辨率设置为 720X 576,输入数据色彩格式为 4;2:2。IME6410 具有符合工业标准的视频数字编码器无缝接口,16b 的复合主机接口,分别用来与视频采集芯片和微控制器芯片通信。微控制器通过主机接口实现 IME6410 的初始配置,也由此接收压缩得到的视频码流。 微控制器是本系统的核心部件,选用 A
4、TMEL 公司的基于 ARM920T 核的 32b 微控制器 ATglRM9200。他包含丰富的系统接口和外围应用接口,如 10100BaseTMAC和主机接口 HDI,可灵活配置片上和片外存储器,向各种的高速计算应用提供了一个单片解决方案。在系统中的主要作用是在系统上电时配置其他芯片的功能寄存器,正常工作状态下调度控制系统工作,存储编码得到的 MPEG4 码流,通过在片以太网端口控制物理层芯片发送码流。 以太网发送的物理层芯片选用 REALTEK 出品的单片、单端口 10100 M 以太网物理层芯片 RTL8201。RTL8201 应用与在片 MAC 通信的独立媒体接口MII。PHYAD0-
5、PHYAD3 置高, PHYAD4 置低,则物理层地址为 0x10。芯片符合IEEE80238023u 规则。标准的 IEEE8023 数据帧由以下几个部分组成:前导位(preamble)、帧起始位(SFD)、目的地地址(destination)、来源地址(source)、数据长度(1ength)、数据(data)、帧校验字(FCS)。数据字段大小可从 46B 到 1 500B,如一组要传送的数据不足 46B,就用零补足;超过 l 500B 时,需要拆成多个帧传送。数据在发送之前按此格式进行封装。 系统独立运行的程序存储在 FLASH 中,采用 ATMEL 公司生产的AT49BV322A,容量
6、为 2MXl6b。系统上电后,首先进行程序的自举加载,程序加载到 SDRAM 中运行,进行系统的初始化,随后进入正常的工作状态。运行程序和存储码流要求较大的动态存储空间,采用 SAMSUNG 公司的 K4S561632E SDRAM,容量为 16 MXl6b。 3.数字视频数据采集和编码子系统 子系统硬件电路图如图 2 所示。 SAA711lA 的 A1 模拟输入口与模拟摄像头输出端连接,向视频处理芯片传送模拟视频信号。IME6410 具有符合工业标准的视频数字编码器无缝接口,可方便地与SAATlllA 通信。SAA711lA 对模拟视频信号采样处理后得到的数字视频信号按 12行输出锁定时钟
7、LLC2 从 VP00 一 VP015 引脚送到 IME6410,数据在 LLC2 上升沿时有效,IME6410 在 PCLK 引脚接收的象素点输入时钟信号 LLC2 的上升沿抓取 VD 端口数据,如图 3 所示。SAA711lA 可分离场同步脉冲和行同步脉冲,每视场的数字视频信号有效之前,SAA71llA 会输出场同步脉冲,并使能垂直参考信号 VREF 置高;而在每行信号有效之前,也会输出行同步脉冲,并使能水平参考信号 HREF 置高。奇偶场识别信号 RTS0 与奇、偶场指示信号 FIELD 引脚连接,高电平指示奇场,低电平指示偶场。IME6410 首先判断奇、偶场,随后当 VREF 和 H
8、REF 有效时何时开始接收一行的数据,当一行数据接收完毕后 HREF 被置低,一场数据接收完毕后 VREF 被置低,避免在黑电平期间接收无用数据,同时翻转奇偶场识别信号电子。IME6410 接收数据的同时,芯片内部视频处理器对数据进行 MPEG4 编码并输出到缓冲器。 IME6410 通过主机接口和 AT91RM9200 通信,AT91RM9200 将 IME6410 的寄存器、存储空间等资源作为 SRAM 寻址访问。IME6410 通过与 AT91RM9200 的 SRAM端口数据线 DO-D15 连接的主机接口数据线 HD0 一 HDl5 向 AT91RM9200 传送编码压缩后得到的 M
9、PEG4 码流。AT91RM9200 由 SRAM 选通线 NCS7 选通 IME6410 芯片,其存储空间在 AT91RM9200 寻址空间中地址段为 0X80000000 到 0X8FFFFFFF。地址线 A0A4 与 IME6410 的主机口地址线 HA0HA4 连接,寻址访问 IME6410 的寄存器,其 13 个内部寄存器均为 16B,偏移地址从 0x00 到 0xle。通过对 ADDR,DATA和 CONTROL 寄存器的读写等一系列操作,可以访问 IME6410 系统存储空间。IME6410 数据流缓冲器标志信号 NFULL 从配置为通用 IO 引脚的 PC20 输入,当缓冲器满
10、或丰满时,NFULL 引脚置低提示 AT91RM9200 提取编码数据。编码后视频数据读过程和 IME6410 与主机通信过程具体由 AT91RM9200 读信号 NRD 和写信号NWE 控制。 AT91RM9200 接收生成码流存储在 SDRAM 中,由在片以太网卡端口发送。 以上各部分构成一个数字视频数据采集和编码电路,ATglRM9200 控制电路工作,并对 MPEG4 码流进行调度。 4 视频码流以太网发送子系统 子系统硬件电路图如图 4 所示。 AT91RM9200 的在片以太网卡端口和网络物理层芯片 RTL8201 的 MII 接口通信。发送数据时,首先置发送使能信号 ETXEN
11、有效。数据发送端 ETX0 一 ETX3 与RTL8201 的 TXDOTXD3 引脚对应连接,作为数据发送通道,以 RTL8201 提供的数据发送时钟信号 TXCK 发送数据。当发送有冲突时,冲突检测信号 ECOL 置高,并且当媒介不处于理想状态,状态指示信号 ECRS 也置高,由 AT91RM9200 相应处理,保证数据发送按网络协议正常工作。接收数据时,检测 RXDV 引脚状态,在数据接收端数据有效时置高,提请 AT91RM9200 按 RXC 引脚提供的时钟提取数据。数据接收端ERX0ERX3 与 RTL8201 的 RXDORXD3 引脚对应连接,作为数据接收通道。当接收有错误时,接
12、收错误信号 ERXER 置高,AT91RM9200 按网络物理层协议处理。管理时钟信号 EMDC 和管理数据输入输出信号 EMDIO 用来芯片控制参数的写入和读取。 在片以太网卡进行数据的发送时,根据以太网协议 IEEE8023l,完成网络逻辑层和物理层之间 MAC 的工作。运用 DMA 通道进行数据的发送,不影响AT91RM9200 的 Processor 正常运行。首先正确设置传送控制寄存器和传送地址寄存器的传送数据块字节数、数据块存储首地址等参数,随后依次从指定数据存储区地址取32b 数据,送人内部发送缓冲器中,由 MAC 对数据进行封装发送,同时记录已传送字节数,直到数据块发送完毕。当
13、发送完一组数据后,发出 DMA 中断请求,由AT91RM9200 进行相应的处理。整个子系统电路由 AT91RM9200 控制和调度。 5 软件设计 本系统的软件由 AT91RM9200 初始化程序、SAA71llA,IME6410 和 RTL8201 的配置程序、数字视频 MPEG4 码流接收存储程序、MPEG4 码流以太网发送程序和系统主控程序等多个模块组成。图 5 为软件系统框图。AT91RM9200 的初始化程序完成AT91RM9200 堆栈和运行状态位的设置、在片以太网 MAC 和通用 IO 引脚设置。采用 FLASH 的 BOOT 的方式,设计 Bootloader 程实现应用程序
14、和数据的自举加载。 SAA711lA,IME6410 和 RTL8201 的配置模块完成芯片相关功能寄存器参数的设置。 数字视频 MPEG4 码流接收存储程序由 IME6410 的数据流缓冲器标志信号NFULL 控制。当 1kb 缓冲器满或半满时, NFULL 置于低电平,外部主机读 IME6410内偏移地址为 Oxl0 的 EncodedStream 寄存器。在以突发方式读缓冲器时,需设定一次读取的字节数。 以太网数据发送程序以 DMA 方式发送视频 MPEG4 码流到终端监控机播放,并接收终端的指令信息,调整系统的工作方式。 6 结 语 本文介绍了一种利用 SAA711lA,IME6410 ,AT91RM9200 和 RTL8201 等芯片设计的高精度实时 MPEG4 视频压缩和传输系统,可应用于视频监控和工业控制等场合。系统成本较低、体积较小、应用灵活,具有良好的通用性和可靠性。