摘 要: 随着数字视频技术的深入推广,MPEG-2标准得到了日益广泛的应用,MPEG-2编解码芯片成为许多数字视频设备中的核心部件。详细介绍了C-Cube公司新一代实时MPEG-2编解码芯片Dvxpert-II,并给出了一个应用实例。
关键词: MPEG-2 Dvxpert-II 编码
C-Cube公司研发的MPEG-2编解码芯片Dvxpert-II采用308腿BGA封装,将MPEG-2视频编码、视频解码和视频编译码(CODEC)功能集于一体,具有可编程、可升级扩展的平台结构,能够有效地实现基于运动补偿(MC)、分块离散余弦变换(block/DCT)视频压缩算法的实时编码,图1给出了芯片的功能方框图。芯片的软件部分是一种叫做微码(Microcode)的指令集,利用微码可由主机HOST向芯片发送编解码命令,并由编码芯片返回工作状态信息。该芯片可提供高质量的4:2:0及4:2:2的MPEG-2图像。单芯片能够实现主级主类(ML@MP)数字视频广播标准的实时编码和解码、主级高类(ML@4:2:2 Professional Profile)标准的实时解码以及主级简单类(ML@SP)标准的编译码,双芯片级联可以实现主级高类标准的实时编码。为实现MPEG-2视频实时编码,Dvxpert-II内部集成了一个32位、工作频率110MHz的RISC核心,一个每秒钟可执行近16亿个算术操作的DSP协处理器和一个可编程运动估计协处理器。
1 硬件接口
Dvxpert-II的硬件接口包括视频输入输出接口、音频输入输出接口、SDRAM接口、PCI总线接口、串行EPROM接口以及可编程I/O总线接口等。
1.1 视频输入输出接口
视频输入接口接收8位或10位数字视频,该视频源由CCIR-656(并行D1口)或视频解码芯片(例如Philips公司的SAA7111A芯片)提供。图2给出了视频输入接口的结构框图。在没有软件干预的条件下,视频输入接口从每场输入图像中捕捉两个可编程的矩形窗,还可以捕捉垂直插入时间码(VITC)和闭路电视字幕(closed caption)。在一个窗结束和下一个窗开始之间的行消隐期间对输入通道重新编程可捕捉附加的窗口。视频输入接口处理的图像分辨率是可编程改变的,在主级主类(ML@MP)下,水平分辨率可为720、640、320等;垂直分辨率为480(NTSC制)以及576 (PAL制)。视频输入接口还包括了PTS时钟输入端口,PTS时钟是PTS计数器的时间指示。视频输出接口输出8位CCIR-656格式的数字视频信号。
1.2 音频输入输出接口
音频输入接口从音频A/D或者AES/SPDIF设备接收16位到32位数字音频数据用以压缩,相对的音频输出接口向音频D/A输出解压后的数字音频数据。音频输入输出接口各有四个输入通道,每个通道处理一对声道(左、右声道)的数据,因此音频接口可以同时处理8个声道的数据。所有的通道都与一个音频时钟(ACLK)同步,ACLK与编码芯片的其余时钟均为异步。AI_FSYNC为帧同步信号,指示新的音频数据帧的开始;AI_STATUS为音频编码状态信息。编码芯片的音频接口与现在市面上大多数流行芯片的数据格式兼容。
1.3 SDRAM接口
SDRAM接口有64位数据总线和12位地址总线,可连接4片SDRAM。每片的容量为1M×16bit,其中包含两块Bank,每块大小为512×16bit,这些SDRAM是并行工作的。芯片内部的SDRAM控制器产生所有的SDRAM控制信号,例如时钟使能(CKE)、写使能()、行选中()、列选中()等。所有的SDRAM芯片工作在统一的时钟下,这个时钟由芯片内部提供,与芯片工作频率相同,为110MHz。SDRAM支持瘁发方式的读写操作,瘁发方式的频率可编程设置,其带宽峰值为880Mb/s。
1.4 PCI接口
芯片的PCI总线接口与PCI规范2.1修订版本(PCI Specification Revision 2.1)相兼容。该接口为32位地址/数据复用,它将芯片连接到PCI总线上,主机通过PCI总线设置芯片的工作状态,并与芯片交互信息及传输码流。PCI接口必须由主机PCI时钟驱动,频率为33MHz,主机时钟与芯片的工作时钟是异步的。PCI接口在5V和3.3V电源环境下均能工作。PCI规范中允许在每块PCI插卡上有一条PCI总线通路,若有多块芯片连接到PCI总线上,则需要使用PCI-to-PCI桥。
1.5 串行EPROM接口
芯片包括一个与串行ROM的接口。在某些情况下,连在PCI总线上的芯片带有串行ROM,其中有自引导程序和初始化数据。在实际应用中,串行ROM的SDA和SCLK管腿与芯片的SDA和SCLK管腿是直接相连的,SDA管腿上还应该有一上拉电阻。如果没有使用串行ROM,SDA管腿应通过一电阻接地。这样,串行ROM的读时序将异常中止,子系统的ID寄存器不会装载,控制总线的寄存器不会初始化,RISC处理器核心在复位时将被挂起,所有串行ROM执行的功能都要求由主机传送给编码芯片的控制信息完成。
1.6 可编程I/O总线接口
芯片利用微码可使这个接口完成串行接口的功能,与Philips公司的I2C总线可以类比:PIO-0管腿相当于串行数据线(SDA),而PIO-1管腿相当于串行时钟(SCLK)。另外这个接口还可以产生一些其它格式的串行信号,可以方便地对外围音、视频芯片进行参数设置和初始化。
1.7 其它接口
以下提到的接口在大多数设计中并不使用,只作简略介绍。
IPC(Inter Processor Communication)接口:当需要提高视频编码的分辨率时(比如用作高清晰度电视HDTV的信源),要使用多芯片级联进行编码,IPC接口就是用来与邻近的芯片进行通信的。如果是单芯片进行压缩编码,则LID[0:3]、RID[0:3]接地而LOACK、ROACK接高电平。
JTAG测试接口:用以测试数据,符合IEEE 1149.1标准。当没有使用JTAG接口时,应将TCK和管腿接地。
2 软件
Dvxpert-II采用Firmware(固件)的方式来存储指令集(微码,即Mircocode),从而提供了可编程、可升级扩展的平台结构,使用相当灵活便捷。利用微码通过PCI总线可在主机和芯片之间建立命令—消息通信机制:在每一场时间内,主机向芯片发送命令,芯片返回工作信息,从而可以利用软件有效地控制整个编解码过程。在应用中,针对所在区域电视制式(PAL制还是NTSC制)以及具体的视频等级要求(主级主类ML@MP还是主级简单类ML@SP),通过主控软件的界面选择相应的微码向芯片上载即可实现,这使得该芯片的应用范围相当广泛。
3 应用实例
此处给出的实例是利用Dvxpert-II设计的DVB系统前端MPEG-2编码器,该设计只使用了芯片的编码功能。原理图如图3所示,输入的模拟视频信号经SAA7111进行模数转换和数据格式处理后,得到CCIR-656格式的数字视频码流送给Dvxpert-II进行压缩编码并打包成视频PES包。输入的模拟立体声信号经过CS4218进行模数转换后得到标准格式的数字音频帧传给Dvxpert-II,芯片本身并不进行音频的压缩,只是记录下视频、音频的同步信息,然后通过PCI总线传给主机,由软件进行音频压缩并将压缩数据打包成音频PES包。编码芯片将视频PES包由PCI总线通过DMA方式传给主机内存,主控软件将音、视频PES包送给另一块PCI插卡,在其上完成TS打包并送给后级供传输或者复用。
参考文献
1 C-Cube Processor Hardware User's Manual. C-Cube公司,1999年1月
2 C-Cube Processor Applications Programming Interface (API) Reference Guide. C-Cube公司,1999年1月