1.概述
美国视讯科技有限公司(Stream Machine)公司所推出的低成本,高性能,单芯片的MPEG-2音频视频编解码产品,是由一个RISC(精简指令集运算)芯核,一个24位DSP(数字信号处理器),视频音频接口单元及多个专用处理单元组成。该产品的可编程视频接口单元对多模式的前,后处理及OSD(屏幕显示)有着强大的支持功能。其CODEC(多媒体数字信号编解码器)更是采用了0.18微米CMOS工艺技术的标准信元库。
2.产品介绍
MPEG标准的应用给消费者带来了DVD, 数码电视,便携录象机这些新一代的产品。与第一代以MPEG为基础的产品仅提供回放功能相比,当前以成本效益为导向的MPEG编码解决方案着眼于新一代消费型的数码录象产品。这些CODEC完全将视频编码器和视频解码器集成在一起,但是完整的数码音频/视频系统仍需要辅助硬件设备以完成音频的编码和解码及音频视频流的多工和分路传输。
本文所介绍的MPEG-2 ML@MP CODEC 在系统集成上有了更大的突破。它将音频和视频的编码解码集成在一块单芯片上。除了音频视频的实时编码,这款CODEC还为视频信息和屏幕显示的多工和分路传输及前,后处理提供了可编程支持。这些综合的优势使其成为各类MPEG-2应用产品(如SVCD录象机,USB接口的电视/视频播放器和录音机)的最理想的单芯片解决方案。
3.系统结构
从图1可以看到MPEG A/V CODEC 的主要功能单元。这些单元包括:RISC微控制器,VIO(视频接口单元),AIU(音频接口单元),VEU(视频引擎单元),DSP(音频引擎单元),HIU(主端接口单元)及DCU(SDRUM控制器单元)。
所有区块的内部连通使用两种主要的总线:一种是16位带宽数据总线(D-BUS),另一种是16位带宽寄存器总线(R-BUS)。除了以上七种主要的区块,I2C CTRL区块为外部NTSC/PAL视频编码解码器提供控制功能,而PLL(锁相回路)区块为所有的内部区块和外部存储器提供时钟功能。由于能够输入27MHz时钟脉冲,所有的内部元件可以在180MNz下运行。此外还有一个分离的音频PLL被用于为外部音频A/D和D/A转换器提供输出时钟脉冲。
3.1 RISC微控制器
RISC微控制器是一种嵌入式,可编程的32位ARC RISC处理器。它的作用是完成音频视频基本数据流的多工以及MPEG程序流的分路传输。而且它同时也被作为一个中央控制器和定序器。通过主端接口单元, 它的微编码既可以从外部主机,也可以从外部EPROM(可擦除式可编程只读存储器)或闪存中下载。应用于这款CODEC的嵌入式软件设计需要在两类不同的事项上进行编码改进:一种是时间先决事项,如视频压缩, 另一种是非时间先决事项,如音频视频的多工和用户交流。通常用于该系统的解决方案是用单RISC处理器运行一套实时操作系统。在这种情况下,上下文交换时间相当重要,如果RISC处理器功能不是非常强大,就很难保证时间先决事项的可预测功效。
而我们的解决方案却不同于此。RISC芯核具有独创的存储器映射及中断控制系统,能在不运行实时操作系统的前提下,同时处理时间先决事项的指令和传统软件应用程序。我们还为两类不同的事项,时间先决以及非时间先决特别设立了中断向量及存储器(数据和指令)。由于所有的时间先决事项都有其自身的存储空间,并能进行中断控制。这样就避免了上下文交换处理的过程,使软件开发和可预测功效的实施变得更为简单。
3.2 主端接口单元
主端接口用于连接主控制器和外部EPROM或闪存。它支持各种类型的连接协议。包括16位MOTOROLA或INTEL-LIKE接口及8位通用接口。该主端接口既有应用于USB控制器的GLUE-LESS接口,也有应用于PC为基础主机系统的PCI网关接口。而且还用于CODEC和外部控制器之间压缩位流的输入输出。
3.3 音频接口单元
音频接口单元为CODEC和外部音频器件之间提供连接接口。音频取样以I2S信令在CODEC中输入和输出。CODEC也为外部音频的A/D和D/A提供用户可配置输出时钟。
3.4 视频引擎单元
图2所示为VEU(视频引擎单元)的区块图。它包括一个视频压缩单元(VCU),一个动作捕捉单元(MSU)和动作预测单元(MPU)。VEU是CODEC的视频处理器芯核。在编码过程中,它作用于视频数据,并生成MPEG-COMPLIANT视频基本数据流。执行其多个功能中的动态预测,补偿,DCT(离散余弦变换),量化,码率控制及可变长度编码。在解码过程中,它作用于视频基本数据流,并生成解压缩的视频帧。执行可变长度解码,反量化,反DCT和动作补偿。反DCT输出完全依照IEEE-1180精确标准。
3.5 音频引擎
音频引擎为所有的与音频相关的功能提供芯核处理动力。它包括一个嵌入式的,24位通用可编程数据信号处理器(DSP),该DSP具有一个24×24位倍增器,能在无管线过载延迟的情况下进行单周期内乘法累积运算,并具有双重数据存储器组和一个分离的程序存储器。而且,一个6通道的DMA(直接存储器存取)引擎为内部、外部存取器和64位到24位的自动转换间提供无缝连接。音频引擎还能支持所有通用的音频格式,如:杜比数字和MPEG。
3.6 SDRAM 控制单元(DCU)
SDRAM控制单元为所有的功能单元和OFF-CHIP存储器(SDRAM)提供接口。它支持每秒30帧的实时音频视频的压缩和解压缩。DCU判断来自所有功能单元的请求,然后为请求单元和外部SDRAM生成所需的信号交换及控制信号。数据存储器为用户应用提供可编程权限。更加详尽的关于视频接口单元的介绍可以参看下文。
4.视频接口单元(VIO)
众所周知,MPEG标准只是定义了MPEG-COMPLIANT码流的算法和解码的程序。它为前,后处理功能留下了很大的设计和补充的空间,如滤波,色彩的下取样和上取样。基于数码视频解码应用的多样性,使可编程和灵活的视频接口单元成为需要。
图3是VIO的区块图。它包括视频输入单元(VIU),视频输出单元(VOU),视频处理单元(VPU)和OSD单元。VIU选择输入视频动态区域并执行色度转换,影像反向传输,空间和/或时间的前期过滤以及数据编排,以简化以后的编码过程。它预先处理输入数据,使编码可以以最有效率的方式进行。
VOU可以执行多种后期处理程序,包括垂直和水平的定标,影像传输和视频格式转换。OSD区块将从OSD缓冲器(位于SDRAM)中传来的文字/图像与VOU的输出混合,生成被正确排序的[TU-R BT.60]或656 4:2:2视频输出流。VPU是一个分离的处理单元,它和VIU及VOU平行运行。它的特点的简要介绍会在下文中提到。VIO单元的灵活结构使其能够在各种不同的配置中运行。
4.1 视频编码
图4展示了VIO被用于正常或中间解码模式时的操作流程。在这些模式中,输入视频被VIU攫取并被传输到SDRAM。经过缓冲的输入流首先被传送到VOU,然后被传到OSD单元,在这里与来自OSD缓冲器的文本或图像混合。OSD单元的输出提供视频输入的数据回跳,并覆盖以屏幕显示文字或图像。
如果需要的话,这些模式也可以由视频处理单元(VPU)进行输入视频的预先处理。基于其功能,VPU可以用特定的YcbCr值初始化视频帧缓冲器,(蓝屏发生)将数据从一个视频缓冲器拷贝到另一个,或者将数据从一个帧缓冲区域整合到另一个帧缓冲区域。
当VIO被配置以预置模式,数据视频能与OSD数据直接混合,然后被传送回VIU,再到SDRAM进行视频编码。这种模式的应用包括初始解码屏幕菜单的设置,实时视频定标和编码编辑。运用这种预置模式,用户还可以将文字和图像与被编码的输入视频混合。
4.2 视频解码模式
图5是在视频解码时VIO中的数据流程。在最小操作中,被解码的视频数据从SDRAM传输到VOU,进行色度上转换和其他的后期处理。VOU的输出流在传到视频输出之前被传到OSD,在那里它与文字和图像混合。具可选性的是,被解码数据在传到VOU之前,也可以由VPU进行处理。例如,VPU可以被用于按比例缩减特定的视频帧以生成THUMBNAIL屏幕。
5.运行及环境
这款CODEC采用了0.18微米CMOS工艺技术的标准信元库,并应用了108MHz的系统时钟。
6.总结
在本文中我们介绍了单芯片MPEG-2,MP@ML音频/视频CODEC的结构。在考虑到以顾客为基础的数码视频录像产品系统的全面需求,我们设计的这款CODEC具有独特和灵活的视频接口单元。该VIO以高效的方式容纳了多种视频前,后处理算法,THUMBNAIL处理/编辑以及回放功能。由于运用了标准DVD解码器,这款CODEC可以为时间转换或可录DVD的应用提供全双工DVD回放和录像功能。