用于手机SoC设计的部件级多媒体功能模块

2008-05-09 16:47:13来源: 中华电子网

  尽管视频编解码是一个复杂的过程,但Tensilica的Diamond系列标准音、视频引擎却能简化SoC设计团队的设计任务。Diamond标准音视频引擎就像一个低功耗黑盒,SoC设计师无需精通H.264/AVC、MPEG-4和数字音频就可以将其整合到便携式多媒体和手机芯片中。

  视频编码过程如图1所示。首先,SoC主处理器通过指令配置Diamond视频引擎,然后将未编码的视频帧发送给该引擎,由它对视频帧进行编码,并将编码后的图像数据(VDE)送回主处理器。进行视频解码时,主处理器首先通过指令配置Diamond视频引擎,然后将VDE发送给它,由它进行图像解码,最后将已解码的帧传回主处理器。音频解码过程,主处理器将压缩的音频流发送给Diamond音频引擎,以解压成音频数据流。

  

  

  图1:已编码和未编码视频数据出入Diamond视频引擎示意图

  Diamond视频引擎内核中有两个配置好的处理器,它们共同执行视频压缩的任务,而集成的DMA控制器则负责将压缩前后的图像送入和送出该内核,并在内核中的两个处理器之间传递。Diamond视频引擎内核中的这两个处理器都采用了Tensilica的可配置Xtensa处理器架构,引擎的流处理器则通过增加额外指令来完成比特流解析和熵编码

  这些新指令中一部分基于Tensilica的可变长度指令扩展(FLIX),并采用每条指令执行两次独立操作的VLIW指令格式。Diamond视频引擎的像素处理器也增加了可同时操作多个像素的单指令多数据(SIMD)指令。

  流处理器和像素处理器中添加的指令使Diamond视频引擎能够在时钟速率低于200MHz时以标准清晰度(SD或D1)显示分辨率和30帧/秒的速度编码MPEG4 ASP比特流或解码H.264/AVC MP、MPEG4 ASP、MPEG2 MP、和VC-1/WMV9 MP视频比特流。

  Diamond视频引擎的所有内部操作对主处理器都是不可见的,这正符合其作为部件级SoC模块的身份。主处理器通过调用一组预定义API来操作Diamond视频引擎。在运行视频应用时,主处理器使用主系统内存中的两个队列向Diamond视频引擎发送指令消息和数据,而用另两个队列接收来自Diamond视频引擎的状态消息和数据。基于队列的消息事务处理则由主处理器和Diamond视频引擎之间的固件驱动型中断启动。

  

  

  图2:包含Tensilica Diamond视频引擎的音、视频SoC设计实例

  结合Tensilica的Diamond视频引擎的硬件设计也并不复杂。与其他系统部件一样,Diamond视频引擎是连接到主系统总线上的,如图2所示。同时,Diamond 330HiFi音频引擎内核可以进行数字音频解码以配合Diamond 视频引擎,并由主处理器对它们进行同步。Diamond 330HiFi音频引擎的软件库中包含大量可直接运行(ready-to-run)的数字音频编解码程序。在某些设计中,该引擎也可用作主处理器。

  目前在多媒体设备和手机SoC中已实现量产的Diamond标准音、视频引擎说明处理器和可直接运行的固件是如何构成一个复杂的高性能低功耗的IP内核的。采用这种面向模块的设计方法,SoC开发团队就能利用复杂并已得到验证的IP核快速搭建起非常复杂的SoC,然后利用应用程序代码对这些SoC编程,从而为市场提供独特的产品。由于多媒体压缩标准发展迅速,设计时间也日益缩短,因此这种黑盒式设计方法已变得越来越重要。

关键字:SoC  Diamond  视频引擎  FLIX  指令格式  熵编码  DMA控制器  Xt

编辑:孙树宾 引用地址:http://www.eeworld.com.cn/gykz/2008/0509/article_869.html
本网站转载的所有的文章、图片、音频视频文件等资料的版权归版权所有人所有,本站采用的非本站原创文章及图片等内容无法一一联系确认版权者。如果本网所选内容的文章作者及编辑认为其作品不宜公开自由传播,或不应无偿使用,请及时通过电子邮件或电话通知我们,以迅速采取适当措施,避免给双方造成不必要的经济损失。
论坛活动 E手掌握
微信扫一扫加关注
论坛活动 E手掌握
芯片资讯 锐利解读
微信扫一扫加关注
芯片资讯 锐利解读
推荐阅读
全部
SoC
Diamond
视频引擎
FLIX
指令格式
熵编码
DMA控制器
Xt

小广播


Warning: file_get_contents() [function.file-get-contents]: php_network_getaddresses: getaddrinfo failed: Temporary failure in name resolution in /Data/webapps/cms/phpcms/libs/functions/global.func.php on line 2075

Warning: file_get_contents(http://training.eeworld.com.cn/shareCourseAPI/industry?count=5&csfl=no) [function.file-get-contents]: failed to open stream: php_network_getaddresses: getaddrinfo failed: Temporary failure in name resolution in /Data/webapps/cms/phpcms/libs/functions/global.func.php on line 2075

Warning: array_values() [function.array-values]: The argument should be an array in /Data/webapps/cms/SSI/show_training_SSI.php on line 16

大学堂最新课程更多


Warning: Invalid argument supplied for foreach() in /Data/webapps/cms/SSI/show_training_SSI.php on line 23

独家专题更多

迎接创新的黄金时代 无创想,不奇迹
迎接创新的黄金时代 无创想,不奇迹
​TE工程师帮助将不可能变成可能,通过技术突破,使世界更加清洁、安全和美好。
TTI携TE传感器样片与你相见,一起传感未来
TTI携TE传感器样片与你相见,一起传感未来
TTI携TE传感器样片与你相见,一起传感未来
富士通铁电随机存储器FRAM主题展馆
富士通铁电随机存储器FRAM主题展馆
馆内包含了 纵览FRAM、独立FRAM存储器专区、FRAM内置LSI专区三大部分内容。 
电子工程世界版权所有 京ICP证060456号 京ICP备10001474号 电信业务审批[2006]字第258号函 京公海网安备110108001534 Copyright © 2005-2016 EEWORLD.com.cn, Inc. All rights reserved