| 视频播放设备设计要符合娱乐类规范
来源:eetchina 作者:mmxajh(转载) 发布时间:2007-12-20 11:14:53
Tensilica能够使用指令集扩展实现全软件的熵解码,因而能创建出可处理复杂比特流的低时钟速率、高能效视频处理器。例如,Tensilica能以仅162 MHz的时钟速率实现对一个5 Mbps比特流的所有D1 Main profile解码。
与此类似,H.264 Main profile支持B帧和交织式视频内容,而这两项功能会给经验不足的视频处理器和编解码器开发人员带来很大困难。解决视频编解码器难题最简单的方法就是增大DRAM存储器带宽。这种方法在高端PC机上没有问题,但用在嵌入式系统中就不现实了。由于受功耗和成本限制,嵌入式系统无法承受这样的DRAM带宽浪费。
图1所示为Tensilica Diamond388VDO标准视频引擎的框图。其中包含两个Tensilica Xtensa可配置处理器和一个DMA控制器,可最大限度发挥视频压缩解压算法固有的并行性。Diamond 388VDO内核中的流处理器和像素处理器共同分担视频压缩任务,DMA控制器则负责在处理器内核内外和两个处理器之间传送压缩前后的图象。Diamond 388VDO视频引擎中的每个处理器都有自己的指令集和数据RAM。

图1:Tensilica的 Diamond388VDO视频引擎框图。
Diamond视频引擎内核中的这两个处理器都采用了Tensilica的可配置Xtensa处理器架构。流处理器通过增加额外指令集来完成比特流解析和熵编码。这些新指令中一部分基于Tensilica的FLIX(可变长度指令扩展),并采用每条指令执行两次独立操作的VLIW指令格式。像素处理器中也增加了可同时操作多个像素的SIMD(单指令多数据)指令。
流处理器和像素处理器中添加的指令使Diamond视频引擎能够在时钟速率低于200MHz时以标准显示分辨率(SD或D1)和30帧/秒的速度编码MPEG-4 ASP(Advanced Simple Profile)比特流或解码H.264/AVC MP(Main Profile)、MPEG-4 ASP、MPEG-2 MP、和VC-1/WMV 9 MP视频比特流。低时钟速率通常意味着低功耗,该引擎之所以选择200-MHz的时钟速率是因为该引擎可以采用普通的低成本130nm IC加工工艺制造。
图2所示为Diamond视频引擎在解码H.264/AVC视频数据流时内部的任务分配情况。流处理器用于完成比特流解析(包括分离网络抽象层、图象层和片层)和熵解码。像素处理器则用于完成反向量化、反向变换编码、帧内预测、运动补偿和图像解块处理。流处理器也可辅助像素处理器进行运动补偿。

图2:Diamond 388VDO视频引擎在进行H.264/AVC解码时的内部任务分配情况。
需要注意的是,在一块处理器上运行所有这些解码任务其实是可能的,但这需要高得多的时钟速率,而时钟速率高意味着需要采用更加昂贵的工艺技术。为了尽可能减小电池供电的便携式视频产品的功耗,Diamond 388VDO视频引擎即使在解码标准分辨率的视频时都保持很低的时钟速率,从而最大限度减小了功耗。
所有视频解码任务都应在处理器外完成
在评估不同的视频处理器性能时,很重要的一点就是检查并确保系统主CPU的处理器内核无需承担任何视频解码任务,包括所有比特流解析任务。传统视频处理器,例如Hantro出产的处理器,只将运动估计之类的像素处理功能挪至主CPU外完成,而给系统控制器留下了运算量很大的一部分任务。这些开销可能要求SOC设计师采用更加庞大也更耗电的系统控制器,这在便携式设备的设计中是需要付出昂贵代价的。
研究一下业界领先的家用和手持嵌入式视频设备,我们会发现最好的视频处理器是那些以高比特率和低内存带宽处理娱乐类数据的处理器。只有深刻理解各种视频规范,并清楚哪些规范需要利用下一代设备来实现,SOC架构师们才能正确评估不同IP厂商提供的产品。
点击这里参予讨论
添加到收藏夹
|