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

[09-12 17:54:05]   来源:http://www.88dzw.com  单片机学习   阅读:8729

文章摘要: 视频编解码器需要的存储器可以划分为以下几个分区:帧缓存器区、堆区、程序区、常量区和堆栈区。到目前为之,帧缓存器是最大的内存对象区,它能存储编码器和解码器所需要的帧。视频编解码器基于以下两个原则:帧内冗余和帧间冗余。帧间冗余仅使用帧N的不同部分像素来压缩帧N。帧间冗余使用每帧内的像素而不是帧N中的部分像素来压缩帧N,由于这个原因,视频编解码器需要过去(在某些情况下需要未来)帧的拷贝。MPEG4-SP简单类解码器在1/4VGA(QVGA)分辨率时需要两个帧缓存器,每个帧缓存器容量为110KB,总共为220KB。堆区包含多种类型的临时存储器,容量为80KB,程序区大约是150

数字基带处理器AD6900的多媒体应用,标签:单片机开发,单片机原理,单片机教程,http://www.88dzw.com

视频编解码器需要的存储器可以划分为以下几个分区:帧缓存器区、堆区、程序区、常量区和堆栈区。到目前为之,帧缓存器是最大的内存对象区,它能存储编码器和解码器所需要的帧。视频编解码器基于以下两个原则:帧内冗余和帧间冗余。帧间冗余仅使用帧N的不同部分像素来压缩帧N。帧间冗余使用每帧内的像素而不是帧N中的部分像素来压缩帧N,由于这个原因,视频编解码器需要过去(在某些情况下需要未来)帧的拷贝。MPEG4-SP简单类解码器在1/4VGA(QVGA)分辨率时需要两个帧缓存器,每个帧缓存器容量为110KB,总共为220KB。堆区包含多种类型的临时存储器,容量为80KB,程序区大约是150KB,常量区是另外30KB,堆栈区大小是2KB。

为了对视频编解码器内存储对象的布置作出最佳选择,也必须量化每个对象所需的数据带宽。表1给出了每个对象所需要的数据流量。例如,在解码器中帧缓存要求图像数据的每个像素具有4.36字节,这转换到QVGA分辨率的30 fps情况下大约是10MB/s,这大约是完整解码器所要求的总带宽的一半。堆区要求大约是6.7MB/s,或者是总带宽的32%。

帧缓存器所需要的给定带宽及其大小都放在在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中这些存储器的大小和带宽分配。

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

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

以图2所示为例,示出了使用Blackfin DSP解码MPEG4流时,解码每帧所需要的时钟周期数。本测试的输入流采用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万个处理时钟周期。

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

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

上一页  [1] [2] [3] [4]  下一页


Tag:单片机学习单片机开发,单片机原理,单片机教程单片机学习

《数字基带处理器AD6900的多媒体应用》相关文章

分类导航
最新更新
热门排行