摘 要:本文介绍了一块基于PCI总线的单路MPEG4音视频编码卡的设计与实现。该卡实现了音视频流的实时MPEG4编码压缩,并通过通用PC平台可以实现压缩视频流的录制或者网络传输功能,符合当今流媒体技术的发展和应用推广。
引言
在网络技术高度发展的今天,流媒体技术得到了广泛的应用,能够达到低传输码率、高图像质量的视频流更是流媒体技术发展所追求的目标。流媒体音视频编码技术的发展正代表着该领域的技术发展动向。MPEG4视频编解码技术由于其图像质量高、图像传输码率低,从而得到网络视频传输领域的青睐,加上其根据图像的实际情况实现可变编码的特性,编码的效率高,符合流媒体技术的发展方向。
本设计给出了一款利用硬件ASIC进行MPEG4图像编码的PCI卡的实现方法,充分利用了PC平台的优势进行MPEG4音视频流的网络传输、硬盘存储以及声音和画面预览等功能,使MPEG4视频压缩技术达到实用化水平。
硬件设计
该MPEG4编码卡的硬件设计见图1所示。该图表示了各芯片之间的连接关系,下面对框图中的主要芯片在本设计中的功能进行说明。
视频信号采样芯片SAA7114
SAA7114是PHILIPS公司的主流高端视频采样芯片,采样支持4:2:2、4:2:0、4:1:1和4:1:0格式,A/D采样转换精度达到9bit。该芯片主要完成了模拟视频信号的数字采样,将模拟彩色视频信号转换成标准的符合ITU656标准输出格式的数字视频信号,前端输入的模拟视频信号可以是PAL制、NTSC制或者SECAM制。该芯片的控制接口是I2C接口,通过该接口直接读写芯片内部的寄存器,完成对该芯片的实时控制。本设计中模拟视频信号输入端提供了两种输入接口,即符合视频信号接口和S端子视频信号输入接口,以适应不同视频输入场合的需要。数字视频输出端直接利用了该芯片的I和X这两个ITU656输出接口,一路提供给视频编码部分电路,另一路提供给多媒体PCI桥接芯片SAA7146,实现实时本机的图像预览功能。这样利用一块芯片同时完成图像预览和图像压缩的功能。
音频信号采样芯片PCM1800
PCM1800是TI公司所属的BURR-BROWN公司的立体声音频采样芯片,采样精度达20bit;支持的采样速率有32kHz、44.1kHz和48kHz;支持多种数据串行输出模式,包括I2S串行总线模式。本设计中该芯片主要完成立体声的音频信号采样,将模拟立体声音频信号转换成标准的符合I2S总线标准格式的数字音频信号输出给MPEG4编码芯片IME6400进行音频编码以及音视频流合成。同时,音频信号经射随器输出,经音频电缆连接到计算机声卡输入端实现音频预览功能。
音视频压缩编码芯片IME6400
IME6400是InTIme公司的同时支持MPEG1/2/4三种视频编码标准的硬件音视频编码压缩芯片,芯片内部带有图像压缩硬核,外挂8M字节SDRAM配合工作,与流行的MPEG4软件编码的不同之处在于输出视频流的画面可达720X480@30fps或者720X576@25fps,是通用DSP芯片软件算法编码画面的4倍。该芯片的内部框图如图2所示。
图1 硬件组成框图
图2 IME6400内部框图
图3 ITU656到ITU601接口转换图
图4 DEBI到Host接口转换图
本设计中,该芯片主要完成了视频的MPEG4编码和音频的MPEG1层2编码,实现不同标准的音视频编码标准与该芯片初始化配置微码有关,该微码在启动该芯片工作前下载到芯片内部,然后复位该芯片开始工作。由于该芯片的数字视频输入接口为ITU601格式,与SAA7114视频输出的ITU656格式接口不匹配,本设计利用了可编程CPLD进行了接口格式转换。同时本设计还利用了可编程CPLD完成了该芯片的host主控制接口与PCI桥接芯片SAA7146的DEBI接口之间的匹配问题。这两步分的转换框图在可编程芯片CPLD部分进行介绍。
可编程门阵列CPLD
CPLD是可编程逻辑阵列,内部逻辑电路根据需要自行编程。本设计中该芯片主要完成了ITU656接口到ITU601接口的转换以及IME6400的Host接口逻辑与SAA7146的DEBI接口逻辑的转换。其逻辑转换框图如图3和图4所示。
ITU656接口为8bit数据位宽接口,为内同步方式,即同步字嵌入于ITU656码流当中;ITU601接口为16bit数据位宽接口,为外同步方式,即同步信号用单独的信号线传输。从ITU656接口转换为ITU601接口的方式是通过将嵌入在ITU656码流内部的同步信号提取出来,同时将表示亮度和色度的数据流分离开,排成16bit数据位宽的ITU601格式同时输出,从而完成格式的转换。
IME6400的Host接口为地址和数据分开的非复用总线控制方式,SAA7146的DEBI接口为数据和地址复用的总线控制方式。这里通过DEBI的ALE信号来分离复用总线上的地址和数据总线,利用ALE的边沿触发信号将地址锁存到地址寄存器当中。
多媒体PCI桥接芯片SAA7146
SAA7146是PHILIPS公司的多媒体PCI桥接芯片,芯片上直接提供了丰富的音视频接口,有5个I2S接口、2个D1接口、1个DEBI地址数据复用接口、I2C控制接口以及通用I/O接口等。同时该芯片内部带有多种图像处理功能,在多媒体领域的硬件设计上非常方便。本设计中该芯片主要完成了预览视频流的DMA传输和裁剪、压缩音视频流的DMA传输以及利用其I2C接口和DEBI接口对其它芯片进行控制。
上面主要介绍了各个关键芯片的功能,在系统实际工作时芯片的初始化具有的一定的顺序,否则会出现系统工作不正常,这是实际调试的结果。
结语
该MPEG4编码卡的特点是应用范围广、图像清晰度高、支持恒定和可变速率视频编码、兼容视频标准多,不同的微码能够支持不同的视频编码标准。目前,本设计的MPEG4音视频压缩版本已经在Windows2000操作系统下调试完成,实现了本地预览、硬盘存储和网络传输等功能。