新闻中心

EEPW首页 > 嵌入式系统 > 设计应用 > 基于S3C2440A T-DMB的手机电视软硬件设计

基于S3C2440A T-DMB的手机电视软硬件设计

作者:时间:2013-04-06来源:网络收藏

  

基于S3C2440A T-DMB的手机电视软硬件设计

  图3 软件模块设计框图

  音频和视频的同步

  软件设计中的关键技术是解决的问题。主要在 TS解复用器中解决。要想做到音频和视频的同步,需要用到这几个参数:PCR、DTS、PTS。可以在TS包的调整域中得到PCR,从PES包中得到PTS。PES包中的数据是SL包,可以从SL包头中得到DTS。DTS是解码时间,PTS是显示时间。PCR是对编码器90K时钟的计数,它的作用是在解码器切换节目时,提供对解码器PCR计数器的初始值。PTS、DTS最大可能和PCR达到相同的时间起点,即对解码器提供一个公共的时钟参考,以便准确地进行音视频的同步。PCR捕捉到和DTS数值相同的时刻,就可以进行音视频解码。因为视频编码的时候用到了双向预测,一个图像单元被解出后并非马上显示,可能在存储器中留一段时间,作为其余图像单元的解码参考,在被参考完毕后才显示。由于声音没有用到双向预测,它的解码次序就是它的显示次序,故对它MPEG只提出PTS的概念,PTS就是音频的DTS值。即:

  DTS=PTS (1)

  如果得不到PTS,那么按下式计算:

  PTS=PTS_pre +Xms (2)

  其中,PTS_pre表示前面一个AU的PTS,X是ACC+一帧的时间间隔,以ms为单位。

  一般视频对象分为I-VOP、B-VOP、P-VOP三种编码类型。假设在解码器端的VO(Video Object)输入次序为:

  1 2 3 4 5 6 7 8 9 10………

  I B B P B B P B B P B B P B B I B B P........

  由于视频对象编码时用到双向预测,解码器的实际解码次序为:

  I P B B P B B P B B P B B I B B P B B ........

  显示次序同解码器的输入次序。假设知道I帧的PTS和DTS。那么得到关于P帧:

  PTS_P4=PTS_I +33.67ms * 3 (3)

  DTS_P4=DTS_I +33.67ms (4)

  B1帧:PTS_Bn=PTS_I +33.67ms * 2 (5)

  DTS_Bn=DTS_I +33.67ms (6)

  B2帧可以参考上面的两个式子。其中,33.67ms为视频帧时间间隔。

  软件开发注意事项

  关于H.264的解码效率问题。软件解码部分采用开源工程ffmpeg中的H.264解码器,它效率高,方便移植,其中,关键运算,如IDCT、运动补偿等还在几种不同平台上用汇编进行实现。把H.264解码器移植到ARM平台,对于IDCT和运动补偿汇编代码,只需仿照其它平台的代码就可实现,其开发难度并不大。音频解码部分可以参考FAAC和FAAD开源工程。

  结语

  本文讨论的是能够接收符合规范(各种标准的接收终端的差别很小)信号的嵌入式手持设备的软硬件设计概述,这种设备使用户可以不经过移动通信网络直接获得数字电视信号,能够满足人们随时随地对信息的需求。在实际的开发过程中的主要硬件问题是电磁兼容,软件是音视频的同步和H.264的解码效率问题。软件开发的难点集中在MPEG-2的解复用和Direct Show应用框架的设计

参考文献:

[1].COMdatasheethttp://www.dzsc.com/datasheet/COM_1118194.html.
[2].PCRdatasheethttp://www.dzsc.com/datasheet/PCR_1201341.html.


上一页 1 2 3 下一页

评论


相关推荐

技术专区

关闭