用手机等移动终端作为传播载体的移动流媒体,在影视、交通、广告等领域的应用正被越来越看好,同时随着终端和网络的升级,以及市场的成熟,价格的走低,多媒体功能已不再是高端手机的专利,未来多媒体功能将成为主流手机的标准配置。“到2006年底,全球移动用户将达到27亿,且将继续迅速发展。未来手机将成为一部真正的多媒体移动终端。”全球CMO执行副总裁、诺基亚集团执行委员会成员Robert Anderson先生表示。据In-Stat公司预测:2010年仅美国就将会有3000万手机提供移动视频服务。
同时,消费类电子的另一个热点PMP,借助于方案供应商和OEM厂商的大力推动以及上游供应商在成本上做出的调整,无论是国际还是国内,PMP市场一改往日“雷声大,雨点小”的局面。从2005年年末开始, 都出现了一个很高的增长。据水清木华研究中心预测,2007年PMP在中国市场的出货量将会再一次飞速增长,年增长率将超过200%。
传统方案遭遇功耗和灵活性瓶颈
伴随着着两个市场的不断拓展,消费者对多媒体功能的要求也在不断增加。因此终端生产商对多媒体芯片的要求也越来越高,视频功能作为多媒体功能的标志之一,视频处理的传统方案正面临着更大的挑战。
典型的视频架构如图1所示。主要包括主机/系统控制器任务、媒体管理任务、视频解码任务、显示任务四个层面。
图1 典型视频系统架构 其中实现视频解码任务的视频解码器传统上有两种方案,一种是RISC CPU+硬件(RTL)加速器,另一种是RIDC CPU+媒体DSP引擎+硬件(RTL)加速器。两种方案都需要用CPU来处理网络抽象层、图象层、条代层的大部分工作,同时,比特流分析通常会部分采用RTL实现,部分用软件在主机上实现,这样一来不仅会增加复杂度,同时,任务的分解也导致了主机处理器和解码器之间过多的数据交换,这无疑会增加更多的功耗。
两种传统方案的最大区别在熵解码—去块滤波器部分,第一种方案全部用RTL来实现,第二种方案则把熵解码后面的部分采用通用多媒体DSP来实现。前一种方案中,不仅用来专门实现熵编码(尤其是CABAC)的RTL会带来更多地功耗,而且系统缺乏灵活性,当标准或者需求变化时必须添加新的硬件模块,这意味着必须设计新的芯片,而原终端产品必须作废。后一种方案虽然在一定程度上增加了系统的灵活性,可以适应部分的变化,但是熵解码部分仍然必须用特定的RTL硬件模块来实现,这将会要求传统DSP引擎的频率高达700-900Mhz——更高的频率将带来更多的功耗。同时,当新算法出现时,有时不是仅仅通过修改软件就能解决的,一方面可能会影响硬件RTL模块导致重新流片的风险,另外也会造成处理器和RTL模块之间过多的总线传输。
新方案打破功能和功耗博弈困境
“消费者一方面要求终端产品功能不断增加,另一方面又要求尽量降低功耗,传统方案在这种看似矛盾的双重压力下已显得捉襟见肘。”Tensilica公司移动多媒体方案市场总监Larry Przywara表示,“Tensilica已准备好向那些将开发高品质视频产品的半导体制造商和系统 OEM公司提供全部经过测试的新产品解决方案。”
该公司近期发布了预定制的四款用于SoC设计的Diamond Standard VDO(ViDeO)处理器引擎,可以支持多标准多分辨率视频模块。面向移动手机和个人媒体播放器(PMPs)应用,这些视频子系统的设计是完全可编程,可以支持所有流行的VGA和SD(也称D1)视频编解码算法。包括H.264 Main Profile、VC-1 Main Profile, MPEG-4 Advanced Simple Profile (ASP)和MPEG-2 Main Profile。其算法的分辨率支持720x480 (NTSC) 和720x576 (PAL),同时也支持较低分辨率,如QCIF、QVGA、 CIF 和VGA。
Tensilica完整的视频解决方案如图2所示。Diamond Standard VDO 引擎在处理器上通过软件方式几乎承担了从读取编码流到向帧存储器写出的全部视频解码任务。包括网络抽象层、图像层、条代层(slice layer)、比特流解析、以及熵解编码,包括在H.264 Main Profile解码器中进行CABAC(Context-Adaptive Binary Arithmetic Coding)解码。而大多数其他解决方案都忽略了该功能,或采用独立的复杂且不可编程的硬件模块,或利用700MHz普通CPU来实现该功能(这种方法明显增加功耗)。
图2 Tensilica基于处理器的视频编解码架构 由于该方案通过运用Xtensa处理器的一种特征-细粒度门控时钟再结合可编程的电源管理指令(可以降低各种负载情况下视频处理的功耗),其动态功耗被降至最低。同时,由于大部分任务由Tensilica视频引擎完成,不仅避免了对大体积、大功耗CPU的需求,而且由于很多处理都是在内部完成,而不用在总线上进行反复的数据交换,从而进一步降低了功耗。
四新品针对不同应用
Diamond VDO系列包括Diamond 381VDO、Diamond 383VDO、Diamond 385VDO、Diamond 388VDO四款产品,提供Baseline Profile和Main Profile两种解决方案 –Main Profile提供更佳的数据压缩率和视频质量,是面向高级手机和PMP应用的D1或者更高分辨率的更好的编解码机制。四款Diamond Standard VDO引擎的主要特性如表1所示。可满足消费类市场中多变的需求。
表1 Diamond VDO系列编解码功能一览
Diamond VDO双核架构如图3所示。其中包括基于Xtensa架构配置得到的一个流处理器和一个像素处理器。流处理器指令集对视频数据(熵解码、运动向量的预测等等)的串行式处理进行了优化。流处理器需要32K字节的本地数据存储器,40K本地指令存储器。其指令的宽度优化到32位。像素处理器指令集采用SIMD(单指令多数据)技术,对像素数据的并行式处理进行了优化。像素处理器需要40K本地数据存储器,24K本地指令存储器。处理器之间的内部通信是通过一个128位的直连接口实现的,而外部视频引擎接口通信是通过2个32位的总线实现的。
Tensilica在Diamond VDO系列中定义了400多条视频专用指令,与通用DSP或通用32位微处理器相比,性能显著提升。这些指令是针对视频处理中性能要求苛刻的部分优化得到的,这些算法部分包括:CABAC,它可得到H.264 Main profile视频的更高压缩效果;CAVLC(Context-adaptive variable-length coding),是一种用于H.264 Baseline Profile和 Main Profile的低复杂度压缩算法;Deblocking:去块效应,可减少在高压缩视频码流中的由块效应所引起的失真;Transforms:各种变换(H.264中有很多种变换,在这是说支持多种变换)进行空间域的压缩变换,类JPEG处理;运动补偿和运动估计,用于在低速码率条件下得到高质量画面的算法。
图3 Diamond 38X VDO双核架构
独特架构打造小体积、高灵活性
从上面分析可以看出,新Diamond VDO引擎相比与基于硬件的视频加速器和常规CPU结合的传统方式在体积和灵活性方面凸现优势。首先,Diamond VDO IP核减少了系统主控CPU的全部视频解码任务– 包括全部比特流解析。传统的硬件加速器仅可减少如运动估计那样的像素处理工作,而将大部分计算负担(经常需要100MHz的持续的主控CPU开销)交由系统控制器来完成。
其次,当Diamond VDO引擎没有被用于进行视频处理时,可随时以一种相当于有500多 Dhrystone MIPS处理能力的通用CPU 来执行其他系统任务 – 相反一个特定的视频硬件模块是不能被重用的。此外,由于Diamond VDO引擎是可编程的,因此可支持今后出现的视频标准而不必增加硬件或者重新流片。最后,Diamond VDO引擎面积小,其面积在130nm工艺下包括处理器逻辑和内部存储器在内仅有8mm2。这对备受体积困扰的便携式消费类产品无疑意义深远。
此外,为帮助客户缩短产品开发时间,Tensilica还针对新Diamond VDO引擎开发了编码器和解码器,以及全套与之适配的软件开发工具链,该开发工具包括一个基于ECLIPSE框架的高级集成开发环境、一个世界级编译器、一个周期精确(cycle-accurate)并兼容SystemC的指令集仿真器、以及完整的工业标准GNU工具链。同时,Tensilica广泛的合作伙伴网络还将提供操作系统、调试工具、ICE解决方案、以及其他有助于将Tensilica处理器快速设计进其产品中的支持。 |