基于DSP硬解码的低成本高清屏媒系统

来源 :电子产品世界 | 被引量 : 0次 | 上传用户:a287924625
下载到本地 , 更方便阅读
声明 : 本文档内容版权归属内容提供方 , 如果您对本文有版权争议 , 可与客服联系进行内容授权或下架
论文部分内容阅读
  摘要:设计并实现了一种基于OMAP3730的低成本高清屏媒系统,能够充分发挥可编程C64+DSP的强大计算功能,利用硬件实现常用视频格式的高清硬解码播放,利用软件兼顾不常有视频格式的解码播放,同时针对屏媒系统的特点利用DSP实现转屏,达到在横屏和竖屏上的自适应播放的效果。本文网络版地址:http://www.eepw.c Olll.cn/article/273271.htm
  关键词:OMAP3730;gstreamer mplayer;DSPDOI:10.3969/j.issn.1005-5517.2015.4.012
  随着移动互联技术的不断发展和应用,多媒体技术以其不可阻挡的趋势渗入到人们的工作和生活中,数字视频是多媒体技术里比较复杂的领域,如何在低成本、低功耗的环境中实现高质量的数字视频应用是各家公司竞争的焦点。低功耗的ARM对外设支持比较全面,但计算能力较差;基于哈佛结构的DSP计算能力强大,但对外设的支持很弱。OMAP3730是TI推出的一款ARM+D SP双核异构处理芯片,其中ARM核为1GHzCOTEX-A8, DSP核为800MHz的可编程C64+DSP。
  本文设计并实现了一种基于OMAP3730的低成本高清屏媒系统、能够充分发挥可编程C64+DSP的强大计算功能,利用硬件实现常用视频格式的高清硬解码播放,利用软件兼顾不常有视频格式的解码播放。该系统还针对屏媒系统的特点利用DSP实现转屏,实现在横屏和竖屏上的自适应播放。整个系统流程如图1所示
  1 视频类型判断和解码
  本文用GstDiscover7来判断视频文件的类型,GstDiscover是GStreamer库提供的一个工具,接受输入URI或者URI列表,返回它们的信息。GstDiscover返回的信息一般较多,我们重点关注返回信息中的视频编码以及视频的分辨率,根据这些就能判断该视频是否可以硬件加速。GstDiscover的一个典型的输出如图2所示,给出了该文件的封装信息video/webm;音频信息:音频编码audio/x-vorbis,通道数2,比率48000;视频信息:视频编码video/x-vp8,宽度854,高度480,帧率25。
  具体的实现可以利用QT中的QProcess通过命令行的形式调用GstDiscover,使用QProcess的readAllStandardOutput函数读取所有输出结果。在输出结果中用正则表达式查找关键字“audio:”和“video:”从而得到相关的视音频信息。
  GStreamer是一个基于管道的多媒体框架,能够提供组件化的多媒体处理功能。框架中的所有的功能模块都被实现成可以插拔的组件,并且在需要的时候能够很方便地安装到任意一个管道上,由于所有插件都通过管道机制进行统一的数据交换,因此很容易利用已有的各种插件“组装”出一个功能完善的多媒体应用程序。这种松耦合的架构很容易实现编解码的模块化。TI的GStreamer插件使用DMAI来访问底层硬件,使得DSP的应用变得容易。GStreamer在运行时作为ARM处理器上的应用程序,并通过使用DMAI来对DSP和加速模块进行调用,以实现硬件编解码。GStreamer的应用实现了公共组建的最大可复用性,提高了系统框架的可移植性。
  元素(elements)是GStreamer中最重要的概念,你可以把一组元素链接到一起组成一个链,然后让数据流依次通过这个链中的每个元素。每个元素具有某个特定的功能,比如有的元素能够从文件读数据,有的元素可以实现视频解码,有的元素负责把数据输往声卡等等。通过把元素串接在一起,可以实现管道。管道是用来实现特定任务的,比如媒体回放或者视频捕捉。GStreamer默认提供了大量的元素,这使得开发大量媒体应用成为可能。如果需要你也可以自己创建新的元素。接口(pads)是元素上数据输入和输出的地方,接口分两种,输入数据的接口(sink)和输出数据的接口(src)。通过连接接口可以把两个元素链接到一起,相连接的接口必须支持相同的数据格式。容器(bin)是一种特殊的元素,容器本来是一组连接在一起的元素的集合,但是对外容器表现的像一个元素一样。管道(pipeline)是一种高层容器,为应用层提供了总线机制,并实现元素响应的同步化。
  一个简单的ogg播放器的管道如图3所示,每个小框代表一个元素。源元素从文件源读取数据发往ogg分解器。该分解器把复合数据流分解成视频数据流和音频数据流,然后分别发往视音频解码器。音频解码器接收到数据后进行解码后把数据发往音箱,视频解码器解码后数据发往显示,从而实现视音频的同步播放。
  基于DSP硬解码就是把GStreamer管道中的耗费计算时间的元素替换成可以用DSP加速的元素。一个基于DSP硬解码的管道如图4所示,与上面的例子的不同在于,视频解码元素被替换成了TIViddec,音频解码元素被替换成TIAuddec,显示元素被替换成了TIDmaNideoSink.
  OMAP3730通过GStreamer的组件来提供基于硬件的视音频编解码功能,在数字视频、影像、语音和音频上可以支持H.264、MPEG4/2、H.263、 VCl、 JPEG、 G.711/G.723、MP3、WMA等多种编解码器。所以对于OMAP3730支持硬解码的格式,我们用GStreamer来播放,对于不支持硬解码的格式我们采用Mplayer播放,因为Mplayer对各种格式的兼容性和稳定性比GStreamer要好一些。
  2 基于DSP的转屏
  横屏和竖屏各有优点,横屏符合播放习惯,竖屏占用的地盘少。Linux系统在嵌入式系统上默认是以横屏的方式启动,要让系统支持竖屏有两种方法,一种是系统方法,一种是通过应用软件的方法。系统的方法可以实现转屏,但是在播放高清视频时,由于系统负载较大容易崩溃,所以我们采用应用软件的方法实现DSP转屏。应用软件转屏分成播放界面转屏和视频画面转屏两部分。我们的应用软件界面利用QT实现的,可以通过设定系统变量exportQWS_DISPLAY=transformed:::rot90:0实现界面转屏。视频画面转屏又分GStreamer和Mplayer播放两种情况。对于GStreamer的播放,我们可以实现一个类似于gsttividresize的转屏元素,将该元素插入到管道中TIViddec和TIDmaiVideoSink之间实现转屏。对于Mplayer的转屏,可以在Mplayer源码库中vo目录下新建一个画面反转插件,在播放视频时通过命令字“-vo”强制使用画面反转插件.
  TI将常用的DSP算法封装成统一的名为C6Accel的软件接口供开发人员调用。按函数功能C6Accel又分为信号处理、图像处理、数学运算3个库。其中信号处理包括傅立叶变换、逆傅立叶变换、自相关、自相关、点乘、矩阵乘、FIR滤波、IIR滤波等功能:图像处理包括sobel边缘检测、直方图、卷积、相关度、中值滤波、矩阵运算、图像编码转换等功能:数学库主要包含四则运算、三角函数等功能。
  画面旋转的本质是一个矩阵转置操作,可以通过DSP完成。在浮点DSP核上可以通过硬件实现矩阵转置的功能,该功能被封装在函数C6accel_DSPF_sp_mat_trans里面,可以直接调用。由于OMAP3730提供的是定点DSP缺少一个浮点辅助运算器,无法通过硬件实现矩阵转置,只能通过软件实现。
  3 总结
  功耗的ARM对外设支持比较全面,但计算能力较差;基于哈佛结构的DSP计算能力强大,但对外设的支持很弱。本文设计实现的基于OMAP3730的低成本高清屏媒系统,能够充分发挥可编程C64+DSP的强大计算功能,兼顾了ARM和DSP的优点,在嵌入式数字视频领域有广泛的应用前景。
其他文献
4 G的发牌,让原本开始有些热度降低的智能手机市场再次迎来新的一轮增长点,我们特别选择两家可能在2014年的中国市场特别是TD-LTE方面有突出表现的智能手机芯片厂商进行深度采访。  未来移动智能终端将呈现两个特点,一是将围绕大屏幕上的多媒体应用进行创新,二是性能和功耗的矛盾越来越激烈。在移动设备市场,安卓平台占据最大的操作系统市场份额,而安卓平台是基于Linux技术开发出的一个系统,与其他操作系
随着智能手机的功能越来越多,低温多晶硅薄膜晶体管液晶显示屏(LTPS液晶显示屏)开始逐渐占领手机面板市场。与其他面板相比,以LTPS技术为基础的显示屏不仅分辨率高,而且省电,但也因此它的单价更高。  根据NPD DisplaySearch报告显示,2013年LTPS TFT LCDs的收入在手机面板销售金额中占比37%,超过了AMOLED显示屏、非晶硅(a-Si)TFT LCD和金属氧化物(oxi
目前,我国对药品质量实行监督检查和抽验制度。药品抽验能够及时地反映药品在生产、经营、使用过程中的质量状况,是药品质量监督的重要手段之一,对于打击制售假劣药品的不法
天津市药品不良反应监测中心(以下简称中心)成立于2005年9月12日,为天津市食品药品监督管理局管理的全额拨款事业单位。目前,中心在岗职工8人,其中高级职称3人,中级1人,初级3
今年以来,河北省邱县食品药品监管局围绕食品药品监管工作中心,多方借力,大宣传带动,大格局联动,大手笔推动,积极构建全方位、多角度、立体式的食品药品监管格局,极大促进食
根据世界卫生组织(WHO)第5次世界卫生大会的报告,每年约有5万名从出生到14岁的儿童死于意外中毒,2004年中国城乡1~14岁儿童死因分析显示,意外伤害和中毒在各年龄组均为首位死因
TI发布5.7kVRMs隔离式双通道栅极驱动器,该产品是T幛鬲离产品组合中新型栅极驱动器家族的第一款产品。因其高度的灵活性和通用兼容性,UCC21520N离式驱动器能够广泛地用于低端、
作为高度集成混合信号IC(集成电路)无晶元厂供应商,Dialog公司主要致力于移动计算、AC/DC转换器和连接性产品的研发。在“2016亚洲消费电子展”期间,Dialog公司发布了包括DAl4195
年末岁初是各地监管部门开展食品药品安全知识宣传的集中时机。宣传效果如何,接收率自然是一个衡量标准。只有努力提高接受率,才能真正普及食品药品安全知识,增强消费者鉴别
摘要:以太网技术的发展和成熟,以及计算机性能和应用需求的增长推动了对三层全千兆路由交换机的应用。本文介绍了用盛科网络公司的核心芯片为主芯片设计及实现的三层全千兆路由交换机,描述了交换机的各功能模块的设计和实现的功能,同时对交换机的性能指标进行测试。本文网络版地址:http://wxvw.eepw.e om.cn/article/2777 11.htm  关键词:虚拟局域网;虚拟路由冗余协议;第三层