微波EDA网,见证研发工程师的成长!
首页 > 硬件设计 > 嵌入式设计 > 基于DSP硬解码的低成本高清屏媒系统

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

时间:05-14 来源:电子产品世界 点击:

P3730支持硬解码的格式,我们用GStreamer来播放,对于不支持硬解码的格式我们采用Mplayer播放,因为Mplayer对各种格式的兼容性和稳定性比GStreamer要好一些。

2 基于DSP的转屏

横屏和竖屏各有优点,横屏符合播放习惯,竖屏占用的地盘少。Linux系统在嵌入式系统上默认是以横屏的方式启动,要让系统支持竖屏有两种方法,一种是系统方法,一种是通过应用软件的方法。系统的方法可以实现转屏,但是在播放高清视频时,由于系统负载较大容易崩溃,所以我们采用应用软件的方法实现DSP转屏。应用软件转屏分成播放界面转屏和视频画面转屏两部分。我们的应用软件界面利用QT实现的,可以通过设定系统变量export QWS_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的优点,在嵌入式数字视频领域有广泛的应用前景。

参考文献:

[1] 张琦, 苏宛新. 基于达芬奇技术的数字视频系统设计与实现[J]. 微计算机信息, 2008, 24(23): 184-185

[2] 成嘉, 张文雄, 李善劲. 基于达芬奇技术的 H. 264 视频编码器的实现[J]. 电视技术, 2008, 31(12): 34-36

[3] 彭启琮. 达芬奇技术数字-图像/视频信号处理新平台[M]. 北京:电子工业出版社,2008

[4] TI. TMS320C64x/C64x+ DSP CPU and instruction set reference Guide[EB/OL]:TI 官方网站 SPRU732A, 2005

[5] 周金模. 基于达芬奇技术的嵌入式实时视频系统研究[J]. 华中师范大学: 物理电子学, 2008

Copyright © 2017-2020 微波EDA网 版权所有

网站地图

Top