下一代无线和便携式通信产品将广泛应用MPEG-4标准的流式视频和音频。相比基于DSP的设计,采用自适应算法能够更加有效地实现高质量流式视频所要求的强大处理能力。
图:DCT和运动估计算法均需要进行特定运算 嵌入式开发网
比如,一个由编码通道和解码通道(全彩色、分辨率为352×288像素)所组成的双通道流式30fps MPEG-4视频信号要求的运算速度为1400000000次/秒。MPEG-4编码包括离散余弦变换(DCT)和运动估计等计算密集型算法(如图)。 RFID技术网
DCT和运动估计 嵌入式开发网
作为一种广泛使用的图像压缩算法,DCT在H.261 JPEG静态图像压缩标准、H.263视频会议标准以及MPEG-1/2/4数字视频标准中均得到了运用。在这些标准中,二维DCT被用于压缩图像中的8×8像素块。
由DCT生成的64个系数随后被量化以提供实际压缩,在典型图像中,大多数用于8×8像素块的DCT系数都比较小,且在量化后变成零。DCT的这个特点对于压缩实际图像来说是非常重要的。运动估计通过用某一帧的相邻帧来表示其内容的方法来降低该视频帧的存储或传输开销。 PCB设计网
一个给定的帧被分解成一些小的图块,通过规定这些小图块改变位置和外形的方式来描述一个后继帧。一般来说,存储差异比存储整个块的开销要低。
例如,在一个摄像机对静态场景进行摇镜头操作的视频序列中,常常只是简单地用前一帧来代替当前帧,后继帧的大多数图块也直接使用屏幕上的相应图块来代替。 RFID技术网
和DCT一样,运动估计也是上述标准的核心技术。作为视频编码器中计算强度最大的算法,它占用了MPEG-4标准所需总计算时间的约60%,导致编码器的性能受限,甚至影响到编码速度。
同样,运动估计算法对编码器在某一给定比特率条件下的视频编码性能影响很大。而且,用于从视频素材中提取运动矢量的方法尚未标准化,这就为各芯片制造商提供了很大的发挥空间。 电子技术书籍网
在视频编码中,运动矢量被用于校正视频序列内的运动,只有剩余的信号或预测误差才必须被编码和传输。因此,运动矢量的选择必须能够最大限度地减少预测误差以及所需的比特数。
DCT比DSP更加复杂
虽然数字信号处理技术已被用于执行许多音频和视频算法,但是目前的DCT算法比最新一代的DSP芯片—有限脉冲响应(FIR)滤波器的算法还要复杂,所以为FIR滤波而优化的典型DSP芯片不能够有效地进行DCT运算。 RFID技术网
基于改进的哈佛(Harvard)体系结构,这些DSP芯片能够并行处理两条独立指令的读取、解码和执行操作。使用附加总线对其进行访问,两个存储器能够在每个时钟周期里同时进行两个数据的存取。
DCT的复杂性主要来源于数据中存在着的大量关联性、大量涉及MAC的操作以及所需的众多专用ALU运算,每个一维DCT大约需要进行26次加法和16次乘法运算。
考虑到两条DSP指令可以在一个时钟周期里执行,因此DCT运算可以以两种不同的方式来进行。使用DSP时,对于普通的寻址方式,从双数据存储器中获得4个操作数,双重MAC对该数据进行运算,并由专用的零开销环路硬件(Loop Hardware)对循环过程进行全程监控。
然而,DCT所需的寻址方式是非通用型的,被优化用于FIR滤波器寻址的DSP硬件并不适用于DCT寻址。这种寻址方式的非通用性迫使程序员不得不为每个MAC运算计算出一个确切的地址。因此DCT所用的数据存取方案是一种非通用型的寻址方案。 PCB设计网
DCT寻址不是普通的加n结构,8个像素数据均以一种非顺序的混合方式被多次访问,直到DCT完成为止,接着再去处理后面的8个像素。 电子技术论文网
自适应计算 PCB设计网
随着芯片几何尺寸的不断缩小,DSP芯片和微处理器的时钟频率越来越高,硬性资源也更加丰富,从而可以实现更为复杂的功能。增加资源和提高时钟速度的确提高了计算性能,但这些处理器的计算效率并未因此得到提高。 嵌入式开发网
另一方面,自适应计算机(Adaptive Computing Machine,ACM)技术所具有的截然不同的特性却能够在增强性能的同时保持较低的功耗。在自适应算法中,每个被实现或“记录”在ACM硅芯片中的运算都有效地利用了其所需的资源,并在下一个运算被记录到硅芯片上时被覆盖。
采用这种计算效率高且功耗低的ACM动态逻辑实现的MPEG-4设计与DSP实现相比,功耗可降低50%~90%,并同时将性能提高10倍甚至100倍。 嵌入式开发网
ACM为系统工程师提供了一条进行DCT、运动估计和整体MPEG-4设计的有效得多的途径。由于不同的算法被实时地下载到ACM芯片上,因而自适应计算芯片的体系结构每秒钟可改变几十万次。这样,系统工程师就能够在硅芯片中生成各种计算单元以及用于实现并行性的合适互连。 电子电路图
对DCT或运动估计设计而言,采用ACM芯片的效率比DSP的要高得多。因为ACM芯片上的资源不像在微处理器、DSP芯片或ASIC中那样只是用于特定功能,所以这些资源可最大限度地在可用的并行计算当中进行分配。
ACM使得系统工程师可以反复使用ACM的门电路,因而可以运行任何数量的不同算法。由于这种自适应性,基于ACM的实现只需有限的门电路(比如100000个),而不像极为复杂的微处理器或DSP芯片那样需要数以百万计的门电路。
ACM中只采用了必需的门电路,让设计工程师不仅节约了额外的开销,还能够实现其在无线、PDA或移动通信产品中所期望的性能。 PCB设计网
自适应计算还为系统工程师提供了摩尔定律所没有预见到的高级计算性能。究其原因是由于ACM采用了芯片上绝大部分的门电路,这些门电路能够以极快的速度来执行不同算法的循环分类(Endless Assortment)。相比之下,传统的微处理器和DSP芯片运行一种特定的算法只使用了5%的门电路,而其余的95%则白白浪费掉了。 PCB设计网
在通常情况下,微处理器或DSP芯片的大部分固定资源都是空闲的。DSP芯片通常以一个字节的倍数来对数据进行运算,但是ACM的动态逻辑电路可处理任何宽度的数据,而且数据宽度可随时间而变化,以适应某一设计课题的需要。 嵌入式开发网
于是,每个DCT和运动估计功能所需的逻辑电路是在任意给定的时间在自适应硅芯片上实现的,不再需要DSP芯片、ASIC以及微控制器,未在ACM门电路中实现的功能是不消耗功率的。 电子电路图
基于DSP的应用在一组固定的资源上执行各种功能,为了简化程序设计和硬件资源而舍弃了效率。较之传统微处理器和DSP芯片所采用的逻辑电路常驻、但却在大部分时间里空闲的做法,将逻辑电路实现于ACM芯片之中所消耗的功率更小。 嵌入式开发网
但对应用于DCT和运动估计的ACM而言,可以把更多的MAC编排在一起以实现粗粒度并行性,通过采用ACM而使性能得到增强的DCT的运算速度将会大大提高。由于ACM芯片能够在运行时对硬件进行专门的处理,因此可以处理要求最为苛刻的多媒体应用。ACM使得DCT或运动估计算法能够指定其需要的确切硬件。
在标准的DCT设计中,一种为特定DCT算法定制的专用寻址单元执行一对七寻址, 这样就可以给MAC提供馈送信号。典型的DSP芯片与此不同,其寻址单元不是专门为DCT设计的,主ALU被迫执行寻址计算,从而将典型DSP芯片的处理速度减缓了50%之多。
由于ACM的互连结构不是预先指定的,因此可通过增加更多的MAC和ALU来提高算法的运算速度。在传统的DSP芯片上增加4个ALU就可将ACM的性能提高近3倍。 嵌入式开发网
象DCT和运动估计这样的算法不应该受限于两、三年前为解决某些老问题而设计的体系结构,而是应该用现在的算法来确定新的结构。在因特网不断展示其巨大推动力的当今世界里,为了能够对经常变化的标准进行跟踪并做出相应调整,硅芯片的这种自适应性是必不可少的。ACM使得硬件体系结构能够跟上不断变化标准的要求,而不会继续在旧有的机器上上运行当前和未来的算法了。
原文地址:http://www.epc.com.cn/magzine/20060105/4475.asp
点击这里免费订阅《今日电子》杂志.