您当前的位置:五五电子网电子知识单片机-工控设备综合-其它数字基带处理器AD6900的多媒体应用 正文
数字基带处理器AD6900的多媒体应用

数字基带处理器AD6900的多媒体应用

点击数:7780 次   录入时间:03-04 11:57:07   整理:http://www.55dianzi.com   综合-其它
       为了对视频编解码器内存储对象的布置作出最佳选择,也必须量化每个对象所需的数据带宽。表1给出了每个对象所需要的数据流量。例如,在解码器中帧缓存要求图像数据的每个像素具有4.36字节,这转换到QVGA分辨率的30 FPs情况下大约是10MB/s,这大约是完整解码器所要求的总带宽的一半。堆区要求大约是6.7MB/s,或者是总带宽的32%。

 MPEG4的内存对象和相对带宽

点击看原图

表1 MPEG4的内存对象和相对带宽

       帧缓存器所需要的给定带宽及其大小都放在在AD6900的外部存储器中(第四级),即PSRAM或SDRAM。SDRAM接口(图1中的SDC)能够达到130MB/s的最大吞吐量。在这种情况下帧缓存所需要的带宽10MB/s正好在可接受的限制范围内。可能的存储器映射如表1所示,包括帧缓存器、所有片外存储器的程序区和常量区以及系统RAM(第三级)中的堆区。

       AD6900的视频编解码器支持MPEG4 simple profile Levels 0-3包括I-VOP和P-VOP帧格式、AC/DC系数预测、4-Motion向量、无限制向量移动以及短标头模式。(MPEG4用语,VOP或称为视频对象平面是表示某一时刻采样一帧图像数据的单位。)为了最大程度提供集成灵活性和与其他DBB相连的代码接口,AD6900的大多数代码基(大约90%的代码基)仍然使用C高级语言编写,仅有很小部分(大约10%)的接口采用Blackfin专用汇编语言编写。

       另外也对MPEG4视频编解码器进行了优化,以便匹配现有总线和外部接口资源,并且也为了它们能产生尽可能少的数据流量。通过精心的管理数据移动,可使外部存储器所需的带宽减少30%。

       多媒系统统除了支持编解码所需要的存储对象外,还需具有额外的帧缓存来支持输出和输入显示设备(例如液晶显示器和图像传感器模块)。然而,在APPBUS系统中也支持输入和输出设备本身,每种设备都有一个专用的外部接口。在最终的分析中,还必须考虑EBUS中这些存储器的大小和带宽分配。



www.55dianzi.com

       可变的处理时间以及输出和输入缓存

       与 视频 编解码相关的一个特殊问题是编码或解码一帧所要求的处理时间并不是常量。也就是说,它是与场景内容(特别是场景的运动量)、比特率和特定编码流结构或图像组(GOP)大小有关的一种复杂函数。

       以图2所示为例,示出了使用Blackfin DSP解码 MPEG 4流时,解码每帧所需要的时钟周期数。本测试的输入流采用CIF格式编码,比特率为350b/s,帧率为10FPs,GOP大小为10。参数GOP表示两个I-VOP之间的P-VOP数量,因此在本例中每隔9个P-VOP就有一个I-VOP。图2中的每个点表示解码某帧所需的时钟周期数。实线表示20个采样值的移动平均数。从这幅图中可以很清楚地看出,I-VOP比P-VOP需要大很多的处理能力,每十个帧点的趋势明显地表明大约有700万~900万个时钟周期。P-VOP的处理时间最少为100万个时钟周期,最多高达1000万个处理时钟周期。

MPEG4解码对时间的波动

图2 MPEG4解码对时间的波动

       每帧的时钟周期平均数与场景中的运动量成比例。场 景的初始部分(1~420帧)有相当低的运动,而中间部分(421~630帧)有高的运动量。在场景的最后一部分(1260到最终的帧)中,场景中有非常大的运动量。这也表明P-VOP所需要的处理时间与场景的运动量有关,而I-VOP所要求的处理时间与此关联较小。

       从这幅图中可以看出,当设计播放器时,必须考虑可变的解码时间。如果仅假设解码器要求最差情况下的执行时间,这时大约是每帧1000万个时钟周期,则由于大多数帧不需要那么多的时钟周期,过于保守的设计浪费了大量的DSP资源。

       相反,现在是在解码器的输出端使用缓存来存储几个帧以为显示做准备。这种输出缓存系统能够平滑解码器执行时间的波动,所以允许设计师工程师按照平均执行时间来设计解码器。

       MPEG4的品质因数

       用来加速视频编解码器的许多优化方案可能会对编码器的数字性能引起负面影响。也就是说,使用太过分的措施减少编码器时钟周期数可能会引起由于峰值信噪比(PSNR)的减小而导致的编码性能变差。下降的PSNR将减小编码器压缩视频内容的能力,从而造成规定质量条件下输出的比特率比预期的高。例如,使用运动估计的方法可以非常简单或非常复杂,取决于所搜索的相邻宏块的数量。如果试图减少计算量而搜索太少的宏块数,则对于给定的压缩比,PSNA值会变低。

       图3示出四种不同MPEG4编码器相应的速率失真曲线,它们都工作在Simple Profile @ Level 2简单类二级条件下。速率失真曲线是用来描述在给定某压缩比(或比特率)条件下产生的噪声(失真)进入视频流的程度。随着比特率下降,噪声增加(PSNR降低)。被测编码器是Blackfin AD6900编码器、ISO/IEC的anci C参考编码器、微软的参考编码器和xvid编码器。所使用的采样是称作“Akiyo”的测试顺序。性能较好的编码器可能对任何给定的比特速率都有较高的PSNR值。这幅图表明了Blackfin编码器和其他的编码器具有相同或者更好的性能。

Blackfin DSP MPEG4-SP编码器的PSNR性能

图3 Blackfin DSP MPEG4-SP编码器的PSNR性能

       AD6900的 音频 编解码

       早期的多媒体 手机 几乎完全依靠于多种电话语音编解码来支持音频。例如AMR的标准编解码器用来辅助记录和播放QCIF格式甚至更低的低分辨率运动剪辑。而且,AMR也是MMS标准的主要部分,它可提供多媒体信息通信功能。然而,目前全功能多媒体手机需要支持多种音频编解码标准,例如MP3、AAC、AAC-LC、HE-AAC(也称为aac Plus)、RealAudio、WMA以及WB-AMR。

       在AD6900中,MCU和DSP都能够运行音频编解码,并且和视频编解码一样,用哪一个处理器完成音频编解码取决于负载平衡、编解码可用性以及其他考虑因素。一般地,用DSP实现音频编解码要比MCU执行速度快并且功耗低。

www.55dianzi.com         以HE-AAC为例。Blackfin处理器实现高质量(HQ)类需要40MIPS的速率,实现低功耗(LP)类需要25MIPS,两种情况都采用立体声。ARM9E实现LP类需要33MIPS的速率,或者大约30%以上的处理器资源。AAC-LC是一个以13.8MIPS速率运行并且需要非常低DSP负荷的 音频 编解码的例子。

       Blackfin处理器为实现语音编解码已做了高度优化。特别是NB-AMR语音编解码器,代码区大小为50KB,数据区大小为30KB,编码速率要求8~16MIPS的,解码速率为2MIPS。WB-AMR编解码器,代码区大小为50KB,数据区大小为25KB,编码速率要求20~30MIPS的速率,解码速率为6~8MIPS。

       将音频编解码器集成到数字基带中所面临的难题远不如上面所述的 视频 编解码器复杂。一般地,音频编解码器可能具有非常高的数据计算速率,因此不需要配置大量的外部总线接 口和存储器。音频编解码器所使用的数据对象也比较小。例如,HE-AAC的数据存储器(音频编码标准中存储器要求最大的一种)要求是70KB,而QVGA视频编解码器要求超过250KB。在AD6900中,通常将大多数音频编解码器的数据对象放置在外部存储器上(例如,SDRAM或PSRAM),这样就不会产生宽带宽问题。

       结束语

       本文讨论了系统设计工程师在使用无线数字基带处理器AD6900实现软件多媒体标准时所遇到的几个难题及其解决方案。在给定的大动态无线环境中,无线 手机 不仅必须支持多种空中接口,而且也必须支持多种复杂的视频和音频标准,这种情况下,移动终端利用软件可编程能力以保持高度灵活性是很关键的。

上一页  [1] [2] 


本文关键字:处理器  多媒体  综合-其它单片机-工控设备 - 综合-其它