• IIANews微官网
    扫描二维码 进入微官网
    IIANews微信
    扫描二维码 关注微信
    移动客户端
  • English
2025机器人产业趋势论坛报名
传感器

让3G手机显示MPEG-4视频信息的ACM解决方案

  2001年06月10日  

MPEG-4视频目前仍是犹抱琵琶半遮面,但它对数据处理能力所提出的要求与现有处理器性能之间的矛盾却已对设计商提出了一个新的挑战。本文介绍的自适应计算机(ACM)或许正是一种兼顾高性能与低功耗的理想解决之道。

Paul Master

技术副总裁

@

Keith Lane

高级系统工程师

@

QuickSilver Technology公司

当前新兴的MPEG-4多媒体标准结合了交互性、普通与合成数字视频、音频以及计算机图像,它主要针对视频会议、移动电视电话、多媒体及其它应用场合。这个标准由一系列支持从数字电视、视频流到移动多媒体和游戏等应用的方法组成,提供了形状编码、位移判断与补偿、纹理编码、错误恢复、子画面编码以及缩放等各种方法。

MPEG-4预示着高质量个人视频通信和会议应用将获得重大发展。但另一方面它也会带来一些设计困难,因为在此标准下算法变得更加复杂,同时标准本身也还在不断发展。与以前的MPEG-1和MPEG-2相比,MPEG-4的算法复杂性大为增加。

要开发新型的支持移动MPEG-4的设备,其关键也许在于一种被称为“自适应处理”的技术。与传统的微处理器和DSP方法相比,自适应处理的优点在于它能根据当前的需求重新配置处理资源,将其用在所需之处和所需之时。

3G手机备受瞩目

MPEG-4技术潜在的最有意义的应用是第三代(3G)无线手机。一些设计商可能会想当然地认为手机的屏幕小,因而它对计算性能的需求也不会太高,但事实上这种想法与工程实际相去甚远。图1显示了一个长方形视频对象(VO)或四分之一普通立即格式QCIF(quarter common immediate format)的176×144像素图像帧的MPEG-4计算复杂度。为了生成高质量的视频图像,MPEG-4编/解码器必须达到3.7BOPS(十亿次/每秒)的运算能力。

除了计算性能的要求以外,由电池供电的实时图像通信应用环境也对低功耗提出了非常苛刻的要求。基于全搜索位移判断的实时视频设计使计算负荷达到9.34BOPS整数运算(8位或16位数据),并且要求存储带宽达到6.22BOPS的8位访问。对于视频编码器而言,位移判断大约占总计算复杂度的66%。传统的微处理器、数字信号处理器(DSP)以及ASIC设计方法的性能不够强大,同时功耗也不够低,不能有效地处理此类位移判断计算。虽然除了位移判断之外,其它许多MPEG-4方法并不进行如此大量的计算,但它们要承担提高图像质量的任务,错误恢复便是其中的一个重要处理方法。

对于无线和移动通信等易出错环境下的一般访问,错误恢复至关重要。目前有多种机制可用来进行错误恢复处理,其鲁棒性和复杂度各不相同。这些机制的实现依赖于能够实现再同步、错误检测、数据恢复和错误消隐的方法。MPEG-4视频有四种错误恢复方法:再同步、数据分离、头扩展代码和可逆变长度码。

再同步是位流错误恢复中最常用的方法。它在位流中插入独特的标识,当不可恢复的错误出现时,解码器能跳过剩余的数据位,直到发现下一个标识,然后再从此处开始解码。MPEG-4允许在一定数量左右的编码位或视频数据包后插入再同步标识,这与只允许在特定数量的编码宏块(coded macro-block)后进行再同步的MPEG-2和H.263不同。

数据分离是一种将位移信息编码位与纹理信息编码位分开的方法,通过使用解码出来的位移信息有可能得到效率更高的错误隐藏方法。例如,若只在纹理位上出现错误时就可以使用这种方法。

头扩展码是二进制码,其中可包含对于视频正确解码至关重要的冗余头信息。头扩展码减少了头信息的错误,还可避免一次跳过大量的位流。

可逆变长度码进一步减轻了错误对解码数据的影响。它们是可以前向和后向解码的代码字。发生错误时,这些代码字使我们可以对不正确的位流部分进行反向解码,而不必再跳过从发生错误处到下一个再同步标识之间的位流,从而将错误造成的影响限制在一定的范围内。

图2简要揭示了无线手机设计中实现MPEG-4标准所需的离散余弦变换(DCT)和位移判断的计算需求。在DCT计算中,加法、减法和乘法累加(MAC)运算各占30%。另一方面,位移判断大约需要40%到50%的加法运算,此外还有40%到50%是累加计算中的绝对差分运算。对系统工程师而言,DSP并不适合于进行累加计算中的绝对差分运算。

混合编码概念

MPEG-4的视频压缩方案建立在基于块的混合编码的概念之上。基于块的混合编码概念曾应用在国际标准组织/国际电工委员会(ISO/IEC)的MPEG-1、MPEG-2和国际电话电报顾问委员会(CCITT)的H.261/ITU-T H.263视频压缩标准及建议中,现在又在MPEG-4标准中被进一步扩充以支持任意形状的视频对象。这种任意形状的视频对象在一个边界框内被分割为16×16像素的宏块(macro-blocks),并基于MB宏块和8×8像素块进行编码,这与基于块的视频压缩方案类似,但采用的是MPEG-4编码方法。

视频对象的形状用一个具有像素精度的alpha平面表示,并由一种标准之外的、与应用相关的方法放大。图像实体可以是半透明的,大小可变。它们可以是一般视频对象(VO),也可以是能由用户操纵的合成对象或计算机生成的对象。每个对象都由不同的编码器和解码器进行编码和解码,编码方法可以不同。特定时间段内的视频对象显示称为视频物面VOP(video object plane),相当于基于块的视频中“帧”的概念。

每个视频对象都有不同的质量要求,这意味着每个视频对象可能各有一套不同的位移判断算法。例如,前景对象可能是高质量模式,而几个背景对象则可能采用各不相同的低质量模式。从基于块的视频编码转向基于对象的视频编码之后,下一步是需要一种新的超大规模集成(VLSI)设计方法,以及一种灵活性相当高的新的VLSI结构体系。增加这些要求的主要原因是位移判断和DCT是MPEG-4标准中对计算性能要求最高的方法。

DCT是一种在图像压缩中广泛使用的变换方法,它大约占到了MPEG-4计算量的20%到30%。一维DCT用作二维DCT的结构单元。使用一维DCT的传统二维DCT的总体性能依赖于这些一维DCT的组织方式。JPEG静态图像压缩标准、H.261、H.263视频会议标准,以及MPEG-1、MPEG-2和MPEG-4数字视频标准都采用了DCT。在这些标准中,二维DCT用于处理被压缩图像中的8×8像素块。

DCT得到的64个系数经过量化之后用于实际压缩。对于一般的图像,8×8像素块的大部分DCT系数都很小,量化后变为0。DCT的这种性质对于真实图像的压缩是非常重要的。

移动对象

位移判断是在移动电话设计中实现MPEG-4标准的关键因素之一。位移判断主要基于一种搜索机制,这种机制试图在当前帧中找出一个16×16的宏块,与前一帧中某一预定或自适应搜索范围内的16×16块取得最佳匹配效果。但是,由于位移判断的算法没有标准化,此处介绍的方案现在还存在几种不同的选择。与最初位置相关的匹配位置由一个位移向量描述,它以位流的形式传送到视频解码器。

在无线手机的视频编码中,位移向量用于补偿视频序列内的位移,而且,只有残余信号和预测误差才需进行编码和发送。因此,所选择的位移向量必须能最大程度地降低预测误差,并能最大程度地减少预测误差编码所需要的位数。图3显示了位移判断算法的两种分类,即时域算法和频域算法。

设计商也可使用能降低计算复杂度并相应降低功耗的快速位移判断算法。不过,在使用传统的微处理器和DSP来执行这些算法时,这种设计方案所得到的结果是图像质量差,数据流也不稳定。但是,当采用自适应计算等更新的技术来实现这些算法时,其效果可得到提高。

由于这些算法乃至MPEG-4规范本身都还不成熟,至今仍在不断改进,因此对于移动电话设计商而言,今后肯定还会有很多变化,包括算法上的改变、增强、缺陷修补,互操作性的改善以及性能的改良等等。MPEG-4算法的不断变化使基于ASIC的实现方法变得基本不可行。这种情况对传统的基于ASIC的实现方法或一种将处理器/DSP与ASIC内核相结合的所谓“最佳尝试”实现方法提出了更多的要求。

功耗问题

现在,用户一方面对设备的性能提出了越来越高的要求,另一方面又希望维持尽可能低的功耗。针对这种情况,密切关注和深入分析当前的技术对通信设计工程师相当重要。要达到这个目的,有一种方法是进行计算功耗效率(CPE)比较,这可说是比较当前各种设计技术优缺点的一个尺度。CPE的定义是:在一个时钟周期内,为解决某个问题实际参加工作的门电路数与该器件中总的门电路数之比。

例如,一般DSP或嵌入式内核的CPE大约为10%。这意味着,一般情况下,在任一给定的时间内,DSP内核或芯片上只有10%的门电路在真正进行工作(见图4)。图4显示,DSP中只有一少部分门电路在真正进行有用的工作,其余部分在进行开销管理。这种开销用来保证真正执行实际工作的那一小部分进程。尽管CPE值较低,DSP在软件可编程性和面市时间上具有很大的优势。

ASIC的平均CPE大约为25%,是DSP设计方式的2.5倍。这种性能的提高和功耗的降低是以损失灵活性为代价来获得的。在ASIC的设计周期内,如果出现任何没有事先估计到的变化都将导致整个ASIC设计从头开始。

自适应计算

第三类处理能力,即自适应计算机ACM(adaptive computing machine)技术与传统的微处理器和DSP不同,它能更有效地用于支持MPEG-4的无线设计。简而言之,ACM芯片能灵活地调整其结构以执行多种任务。

基于ACM的系统运行时,芯片会发生改变或自我调节变成最有效率的“ASIC”来实现指定的功能。在工作过程中,芯片不停地改变,在短短的一个瞬间它的结构体系就可变化好几百次。ACM也允许建立起软件算法,然后将这些算法植入到能最有效地实现其应用的硬件之中。

当一种算法运行在某一硬件上所需的时间最短时,这个硬件就是该算法的最佳硬件。CPE尺度与处理技术无关。换句话说,在相同的处理技术下,基于ACM的处理器总是比DSP或ASIC的解决方案效率更高。

传统微处理器和DSP的低处理效率反过来也影响了算法的整体性能。在许多情况下,移动电话设计商必须改变给定的算法,以使其适合特定的RISC微处理器或DSP结构体系。对于给定的算法,设计工程师或程序员必须设法调整其代码,才能使它在特定的微处理器或DSP上尽可能高效地运行。

与之相反,ACM结构使得系统工程师可以让给定算法以其最有效的形式运行。换句话说,用于有效运行代码的处理工作可在少数时钟周期内完成。

过多的时钟周期

在传统的DSP或微处理器上运行一个MPEG-4位移判断或DCT算法需要消耗大量的时钟周期,这些时钟周期主要用于取指令和读写操作数。微处理器和DSP操作所消耗的大多数时钟周期都用于开销管理--不过是建立起实际需要的工作环境而已。图5为测定微处理器和DSP运行位移判断或DCT算法时的低效程度的一个基准程序。在这个例子中,基准程序将27个浮点数加到一个27输入的加法器函数中去。

在本例中,微处理器花费了1,013个时钟周期来完成27个浮点数相加的运算,执行了大量的数据操作。它首先向存储器发出一个地址,然后再从中取出一条指令。在这个过程中,使用了大约40种不同的优化技术来提高指令执行的性能。

不同类型的微处理器分别通过4级到25级流水线来传送指令。如果是一个超长指令字(VLIW)处理器或超标量RISC处理器,它还会执行推理、寄存器记数(scoreboarding)、多分支预测、非顺序执行指令以及其它各种优化操作步骤。在微处理器每次向存储器发送一个地址、取得第一个数据元并将其放入寄存器后,就会执行这些步骤。上述步骤要执行27次,总共需要1,013个时钟周期。

具有两个乘法累加器的DSP执行同样的基准程序只需107个时钟周期。执行一个乘法累加运算需要一个单位的时钟周期,但是这种DSP在一个时钟周期内可以同时执行两个乘法累加运算。

这种DSP是一种改进型的Harvard结构,它集成了两个独立的数据总线和一个独立的指令总线。与传统的微处理器相比,系统工程师可借助其谷粒平行性(coarse-grain parallelism)的优势,从而达到执行同一基准程序只需花费107个时钟周期的性能,远远快于微处理器。

一种精确的方法

另一方面,自适应计算能够随时在芯片中实现所要求的精确硬件,因此可以将实现27输入加法器的算法下载到自适应计算芯片中。这种情况下,整个计算只需7个时钟周期内即可完成,比DSP有很大的提高。通过采用这种方法,自适应计算芯片能以最高效的形式运行给定的算法。

一般的ACM芯片都集成有一个RISC处理器内核和一个相邻的大型自适应功能电路,专门设计的接口电路使得RISC微处理器内核和细粒度(fine-grained)自适应计算电路能够紧密配合。RISC微处理器内核周围的硬布线外设则用来与外部电路接口。

ACM芯片上还有几个静态RAM用于支持RISC微处理器或自适应电路,可配置I/O允许数据输入或输出自适应电路。因此,可以根据需要来建立电路,而且一旦这个电路的任务已经完成,它就可以被自适应电路中实现的其它电路或功能替换。

最新推出的DSP已针对有限冲击响应(FIR)滤波运算进行了优化,FIR滤波是前几年的一个热门应用。通过采用改进型Harvard结构,这些DSP能实现并行读取、译码和执行两条独立的指令。两个带附加访问总线的存储器块允许在每个时钟周期内同时执行两个数据存取操作。

这些存储器可通过专门的地址模式硬件进行顺序读取而无需额外执行指令。此外,为了实现零开销循环还采用了其它专门硬件。有了这些新的改进,DSP现在能以连续方式在每个时钟周期内同时处理两个乘法累加操作。总之,FIR算法是作出这些体系结构变化的基础,有了这些变化,DSP就能更有效地执行FIR滤波操作了。

寻址复杂性

最近出现的DCT算法比FIR滤波算法复杂得多。针对FIR滤波进行优化的DSP并不能有效地执行DCT运算。DCT的复杂性主要在于高度的互连性,乘法累加器的高密度使用,以及大量的专用算术逻辑单元(ALU)操作。每个一维DCT大约需要29次加法和五次乘法。

DCT操作可采用两种不同的方式加以实现。记住,在一个DSP时钟周期内可执行两条指令。在正常地址方式下,从双数据存储器中取出四个数据字,然后对它们进行双MAC操作,专用零开销循环硬件对循环进行计数。

但是,DCT所要求的寻址方式比较独特,针对FIR滤波器的寻址进行优化的DSP硬件不适用于DCT寻址,这种寻址方式的特殊性要求程序员必须计算出每个MAC操作的地址。DCT中的数据访问是一种非常规的寻址机制。数据的所有8个像素点都是以一种非顺序的、混合的方式被多次寻址,直到DCT操作完成,然后再处理下面的8个像素点。

有两种不同的方式来组织指令进行DCT运算。第一种方法是,每个时钟周期执行两条指令:(计算地址和获取数据)+MAC操作。第二种方法是,在第一个时钟周期内执行:(计算地址和获取数据)+(计算地址和获取数据);在第二个时钟周期内执行:MAC操作+MAC操作。

在第二种方法(不读取数据而并行执行两个MAC操作)中,即使两个MAC操作都在同一个时钟周期内执行,它们也得首先取得操作数,这意味着需要一个额外的时钟周期来从存储器中读取像素点。这导致其执行时间最少需要两个时钟周期。

第一种实现方式(并行读取一个新像素和执行一个MAC操作)有两个缺点。由于DCT算法是访问存储器中的数据,所以它采用了在DSP中广泛使用的间接寻址模式。这导致的第一个问题是间接寻址与并行执行指令不兼容。换句话说,在两条指令中,只要其中一条采用间接寻址方式,它们就不能并行执行。为了避免这种设计上的问题,必须计算出新的地址并将其保存到寄存器中。于是,这又导致了第二个问题:需要更多的时钟周期和寄存器。在这两种实现方式中,由于改进的DSP结构上的固有限制,只能以连续方式执行一个MAC操作。

由于任何MPEG-4设备都不可避免地会存在数据流非一致性的问题,手机设计商必须探索解决计算需求和功耗之间矛盾的所有可能方法。基于数据流的自适应处理是可能的解决方案之一,但从事这项极具挑战性工作的工程师仍然希望继续对这一新兴标准进行各种尝试。另外,只有在MPEG-4标准最终完成之后,ASIC解决方案才具备可行性和大量应用的基础。这种状况促使谨慎的设计商去探索一种能够将已有的优秀处理能力和过渡性技术结合起来的结构体系。

作者简介:

Paul Master是QuickSilver Technology公司的技术副总裁。他有15年的高技术管理经验,主要涉及的是与可重新配置的计算、数字信号处理、协议和系统相结合的通信和计算机编程。Emial:@。

Keith Lane是QuickSilver Technology公司的高级系统工程师。他在通信系统的设计和实现方面有15年以上的经验,主要从事无线协议设计、无线多媒体应用和无线信道特性研究。Email:@。


最新视频
伊顿Bussmann:百年品牌 以创新驱动发展   
欧姆龙光电传感器E3AS | 角度特性演示:高反光不锈钢工件稳定检出   
研祥金码
专题报道
《我们的回答》ABB电气客户故事
《我们的回答》ABB电气客户故事 ABB以电气问题解决专家之志,回答未来之问。讲述与中国用户携手开拓创新、引领行业发展、推动绿色转型的合作故事,共同谱写安全、智慧和可持续的电气化未来。
企业通讯
优傲机器人新品巡展 NVITATION 邀请函
优傲机器人新品巡展 NVITATION 邀请函

优傲机器人将于2025年6月5日在北京亦庄举办新品巡展活动。届时,您将有机会近距离品鉴优傲新品成为首批见证 UR15 中

2025中国智能制造发展论坛报名邀请函
2025中国智能制造发展论坛报名邀请函

6月4日,2025中国智能制造发展论坛聚焦“数智创新赋能产业升级”与“绿色低碳构建可持续生态”双核议题,汇聚政府机构、全

在线会议
热门标签

社区