>
首页 » 业界动态 » 多媒体系统芯片的应用与技术架构─以MPEG-4为例

多媒体系统芯片的应用与技术架构─以MPEG-4为例

作者:  时间:2008-12-16 21:09  来源:52RD手机研发

作者:陈良基 张永基
 
多媒体系统在信息传播与记录上的应用已日趋普遍,且成为信息传播的主流。在多媒体的传输当中,视频占了很大的比重。由于视频数据量十分庞大,在实际的储存与传输上都有困难,因此已有许多压缩标准被制订出来。如:应用在VCD的产业上,成为VCD标准的MPEG-1;应用在DVD和HDTV上,现有的DVD也已经成功应用的MPEG-2;应用在ISDN上的H.261;与应用在GSTN上的H.263和H.263+等等。其中,国际标准组织 (ISO) 于1998年底完成制订了一个新的视频压缩标准,也就是MPEG-4。在这个标准之下,包含了许多新的功能,目的就是为了支持在新的传输环境下,有更好的视频影像传输效果及更加生动的功能,而相对的,MPEG-4的复杂度也较以往的其它标准为高。因此,我们就以MPEG-4为例,介绍一个多媒体系统芯片的应用以及技术架构。
图1  块级运算流程图

 图2  系统架构图

运算量分析

在过去,许多视频标准在各种软件与硬件的平台上能够有效的实现,是基于运算资源能否有效利用与整合分配。因此,需要对MPEG-4算法做详尽完整的运算特性与复杂度分析。基于这些分析,才能对运算资源做有效规划,以取得最佳的设计取舍,并决定后续实现的方式。

表1及表2为现有对MPEG-4 Core Profile Level 2这样的规格之下,MPEG-4所需要的运算资源,这些运算资源包含有数据处理运算(Data Processing)与内存存取量 (Data Transfer)。首先,可看出MPEG-4编码的运算远远大于解码的运算,且在实时的应用下,以现今常见的高阶运算处理器也很难提供如此巨额的运算需求。此外,在编码算法中,最主要的运算就是全搜寻法移动估计运算 (Full Search Motion Estimation, ME)以及二元形状编码法运算(Shape Coding) ,占去整个视频编码运算约百分之九十的运算负载。其中二元形状编码是在MPEG-4中特有的运算。而其它的部份如以MB为基本单位的移动补偿 (Motion Compensation, MC)、以Block为基本单位的离散余弦转换 (Discrete Cosine Transform, DCT)、以Bit为基本单位不定长度编码 (Variable Length Coding, VLC) 等,所占的运算量都不大。表3为这些主要运算的特性。根据这些特性,在架构设计时,即可将数据平行化 (data parallelism)、运算管线化 (task-pipelining)、硬件寻址 (hardware addressing) 与数据重用 (data reuse) 等技巧套用上去,以实现MPEG-4视频编解码系统。

移动估计 (Motion Estimation)

ME的设计已被广泛的讨论于许多文献中,其具有高度数据平行运算的特性。由于ME的算法有全搜寻法 (Full search) 与快速算法 (Fast algorithm)两大类,此二者在搜寻时所需数据的顺序大不相同,因此也产生出各自适合的架构。对全搜寻法,常见的为systolic array的架构;但对于快速算法,架构上的设计就需要搭配算法,以得到较高的效率。近年来的作法,是针对不同的应用,以不同的算法来处理,因而产生了一种混合式的设计,是可在全搜寻法与快速算法间作切换。此种作法共分成三个处理程序,第一级为Pattern Generation,根据不同的Search Pattern来产生适当的搜寻位置,如:在全搜寻法时可采用螺旋状(Spiral Pattern),而在快速算法(例如Diamond Search)时为Diamond Pattern,并且将此搜寻位置送入第二级FIFO,以提高第三级的硬件使用率。第三级为Distortion Calculation,使用加法树来计算Distortion并且累加成为SAD值。此外,由于ME需要存取大量的数据,因此如何减少内存存取便成为一个重要的课题,一般的作法会是以内存的重新排序或是其它技巧以达到数据重复使用的目的。

形状编码 (Shape Coding)

二元形状编码法为MPEG-4视频标准中用以支持对象导向功能最为核心关键的一个技术,因其内含大量的位层次运算以及大量的数据交换特性,导致在精简指令集计算器运算上的瓶颈。在设计上可采用延迟线模型(Delay Line Model)来实现,利用一些缓存器及适当安排的数据排程,便可达到数据重用的目的,以减少对内存的存取。另外,对于CAE (Context Arithmetic Encoder)的运算,需要因应不同的Template与不同Block(块)大小(16×16、8×8、4×4),因此可重组化(configurable)的功能在此是十分需要的。在Arithmetic Coder的部份,则是需要注意其输出效率,避免使其成为瓶颈。而在整个形状编码的运算中,主要是针对其数据流的安排、数据重复使用的方式来增加运算的平行度与减少数据的传递。

块级运算

块级运算包含了DCT/IDCT、量化(Quantization, Q)/Inverse Quantization (IQ)、与在MPEG-4中出现的AC/DC Prediction,这些运算都是以8x8的block为处理的单位。如图1所示,灰色的部分就是块级运算。我们可以发现,由于DCT/Q/IQ/IDCT形成一个编码循环,而MC的输出同时必须给不同时间点的A与B。如果编码循环的等待时间过长,就需要较多的缓冲区来储存MC的输出。这就是在设计上的一个取舍,必须根据真实的应用来作调整。使用两套的DCT与IDCT模块可以达成最短的编码循环等待时间,但是会造成成本的增加。因此有许多不同的排程方式被提出来。另外一个值得注意的是,Q/IQ与AC/DC Prediction都有类似的乘除器的Data Path。因此,藉由适当的排程,可达到二者Data Path的共享,进一步节省所需的成本。

系统架构

实现一个完整的多媒体系统需同时兼顾运算能力、可调性、与未来扩充性。实现的方式可以用纯软件,或是纯硬件的设计,但都有其缺点。融合了硬件与软件的特性与优势,平台架构设计 (Platform-based Design) 是包含一套处理器与内存的完整系统,针对适合于硬件加速的算法以外围的方式挂在总线之上,经由定义好的协议,达成软件与硬件的共同工作(HW/SW Co-Design)。由于兼具软、硬件的实现平台,使适合于软件实现的算法由软件实现,而需要硬件加速的部分由硬件来实现,可达成低成本、高效能、且具高度的延伸性,因此相当适合于实现一个多媒体系统。图2即为一个MPEG-4编码系统的架构图,包含了RISC Processor、两条总线(RISC Bus与Data Bus)、DMA(Direct Memory Access)、MEM IF(Memory Interface)、与其它视频编码模块。RISC Processor可负责整个编码流程的控制,与部分具有较低运算量的算法,如:编码模式的决定(Mode Decision)、移动向量的编码(Motion Vector Coding)、移动向量的预测 (Motion Vector Prediction)等。RISC Processor可透过RISC Bus来驱动每一个硬件电路模块,并且可以控制DMA模块,在适当的周期时间,读取外部的数据至Data Bus上,或是将Data Bus上的数据写入至外部内存。所有的专属硬件单元都具有一个Wrapper,负责将RISC Bus上的信号解码(Address Decoding)并且可负责作数据形式的转换。

结语

在本文中,我们简单说明了一个多媒体系统芯片的应用与技术架构。以MPEG-4这个标准为例,从系统分析,模块的特性与设计观念,到系统整合,都有概括的介绍。多媒体的标准日新月异,应用的层面也在不断的扩大。展望未来,我们相信低功率与可重组化将是两个主要的设计方向:如何使得整个系统消耗最低的功率,却提供最多样化的功能?(本文选自《零组件杂志》)

 

相关推荐

蓝光碟机价格逼近DVD 产业爆发即将来临

蓝光碟机  DVD  2012-01-12

分析师称苹果将于2012年3月发布三款HDTV

苹果  HDTV  2011-08-02

R&S公司推出一款用于PC的离线分析软件R&S VEGA

R&S  离线分析软件  MPEG-2  2011-05-27

模拟电路设计使HDTV体现出差异性

HDTV  音频  模拟电路  2011-01-19

广电安防监控系统中视频编解码卡的设计与实现

视频编解码卡  MPEG-4  2010-07-20

意法半导体:3D,连接性及绿色是未来电视三大趋势

意法半导体  3D  HDTV  2010-06-02
在线研讨会
焦点