用户登陆
注册本站
  产品查询
  供应商查询
  第十届高交会电子展展商查询
  第十届高交会电子展展品一览
  71届中国电子展展商查询
  2008高交会电子展
  第72届中国电子展
  2009慕尼黑上海电子展
  第73届中国电子展
  2009中国(成都)电子展
  更多...
  展商一览
  公关代理服务
  全球半导体市场大会(2008中国)
  2008国际被动元件技术与市场发展论坛
  第五届中国手机制造技术论坛(CMMF2008)
  2008手机关键元器件技术发展大会
  IPCWorks Asia 2008
  更多...
  展览知识
  展馆查询
  展会图库
  知名展会
  市场信息
  公司简介
  联系我们
  人才招聘
关键字
第十届高交电子展会刊信息登记
 
市场信息   首 页>>市场信息
 
 
基于T-DMB的手机电视软硬件设计
 

  目前,世界上已经提出了多个地面数字电视标准:如欧洲的DVB-T、美国的ATSC、日本的ISDB-T,并且都达到实用阶段,许多国家和地区都在选择自己的数字电视地面广播(DTTB:Digital Television Terrestrial Broadcasting)系统。而用于手持移动终端的标准有:T-DMB(韩国)、DVB-H(欧洲)、MediaFLO(美国)、StiMi(中国待定)其中,已商用的是韩国的T-DMB。在我国,北京广播电台在2006年9月初正式开通了名为DAB的手机电视系统,通过电视塔覆盖了北京六环以内,提供12套数字广播节目,同时对2套电视节目进行测试播出。因此,如何快速设计一款可以接收手机电视信号的手持终端设备,以便夺取市场先机就是本文要讨论的内容。 

  硬件设计 

  硬件设计概述 

  硬件配置的选择要综合考虑,如CPU的处理功能关系到最终的解码显示效果。当然,选择一些高档通用处理器,或者是专用的媒体处理器都能够达到较好的效果,但却增加了硬件的成本。可以在最终显示效果和硬件的选择上采取折中方案。目前,能接收T-DMB和DVB-H标准的芯片还不是很多,可以选择市场上的一些主流芯片。

  本文讨论的这款产品的硬件配置为:S3C2440A(400MHz),64MB的SDRAM,apollo fs1110, kino2efs1026。基本可以满足手机电视对硬件的需求。通过天线接收到的射频信号送给射频前端的RF调谐芯片APOLLO FS1110,主要作用是把射频信号解调为IF(Intermediate Frequency)信号。这款芯片是目前市场上的主流产品,可以接收多个标准的信号,而且体积小(5.0mmx5.0mmx0.9mm),功耗低(80mW),拥有三个低噪声前端放大器,涵盖 L-Band、BandⅡ和BandⅢ三个频段。apollo fs1110把IF信号送给kino2 efs1026,完成信源码解码输出MPEG2-TS数据。kino2是一款高度优化的基带处理器,体积小(10mm×10mm×1.3mm),功耗低(100mW),可以提供各种DMB码率,最高可以达到1.8Mbps,片上含有R-S解码器,可以实现较佳的移动信道性能。kino2把信源码TS码流送给CPU,由CPU完成TS流的解复用、解码和显示。硬件设计框图如图1所示。  

                               

                                         图1 硬件设计框图  

  硬件各功能模块描述 

  手机电视终端最终要做到支持多标准、多频段,这也是市场的需求。由于现在开展手机电视业务的三地所采用的频段不太一样,如北京和广东采用了VHF Band 3,而上海采用了L- Band,因此,同一手机电视终端如果要在国内不同地区接收手机服务,需要支持多频段。本文讨论的T-DMB采用的工作频段是VHF 3波段和L波段,因此,要使用FS1110的BandⅢ和L-Band;而BandⅡ主要用于FM广播。FS1110的3个高频输入都可以使用,频段选择可以由FS1026通过IIC接口来控制,同时,FS1110内部寄存器的初始化也是通过此接口来完成的。 

  下游的FS1026基带处理器模块接收RF调谐器送过来的IF信号,最终完成信源解码。输出的MPEG2-TS数据支持并行和串行两种格式。串行数据可以通过SPI接口和CPU直接连接。基带模块还可以通过SCP(Serial Control Port)接口和CPU进行控制信息的交换,SCP接口和IIC接口是完全兼容的。还可以用串口(UART)和CPU进行通信。由于有的商业DMB节目经过服务商加扰(经过加密),智能卡模块可完成解扰功能。 

  CPU的功能是通过SPI接口接收TS数据,完成音频和视频的解码后显示。数据可以通过DMA进行缓存,然后就可以从DMA中读取数据进行解复用。DMA方式为一种高速的数据传输操作,允许在外部设备和存储器之间直接读写数据,既不通过CPU,也不需要CPU干预。整个数据传输操作在DMA控制器的控制下进行。CPU除了在数据传输开始和结束时做一点处理外,在传输过程中,CPU可以进行其它工作。这样,在大部分时间里,CPU和输入/输出都处于并行操作状态。因此,可以大大提高整个系统的效率。在WinCE平台下,对DMA的操作相当方便,驱动开发难度不大,读取数据就像操作普通文件一样。只有一点区别,就是要防止DMA溢出。因为普通文件的读取完全可控,而这里处理的是一种“实时”流,有可能发生溢出。溢出包括上溢(数据读取过慢)和下溢(读取过快)。和MPEG的解码器接收端防止数据溢出的原理是一样的,主要是由于图像编码的格式不一样,发送的解码器前端的数据速率并不是恒定的。MPEG采用流速反馈控制来控制数据溢出,使得到达音视频解码器的数据速率趋于恒定。对DMA的控制就简单些,用专用的一个线程读取数据,解复用线程依据数据的多少,可以丢弃某些帧或者放慢解码速度。不过一般还是丢帧的情况多。 
硬件设计注意事项 

  设计硬件电路时的主要问题就是高频和电磁兼容,一般的方法是加屏蔽罩,可以把APOLLO FS1110加屏蔽罩,以减少模块的空间干扰。当然也可以把APOLLO FS1110、KINO2EFS1026做成外置式模块。还可以通过优化原理图的设计来减少高频的影响。因为原理图的好坏直接影响布局、布线的难度,以及以后板子性能的好坏。为了布局布线时能清晰地进行分区设计,以减少各个功能模块之间的影响,设计原理图时应把数字、模拟和RF电路分开。但是,由于手持设备体积较小,屏蔽罩一般是必不可少的。 

  软件设计 

  T-DMB标准概述 

  T-DMB采用H.264 视频压缩标准,音频采用专利费较低的MPEG-4 比特分片算术编码BSAC(Bit-Sliced Arithmetic Coding)或者AAC+(欧洲T-DMB采用),图像格式为CIF(Common Intermediate Format)(352×288),把这些音频和视频码流加上一些用户数据,经过MPEG-  
  
  4 SL(Sync Layer)同步层打包和MPEG-2 TS(Transport Stream)复用后,交给调制器调制为适宜在信道上传播的信号发射出去。各种标准的接收端除信道解码有较大差别,信源的解码很相近。T-DMB系统发送端编码器结构如图2所示。  

                            

                             图2 T-DMB发送端编码框图 

  其中的MPEG-4 OD/BINFS发生器产生视听对象、场景时空关系信息和视听对象的描述符信息。IOD发生器产生视听对象的初始信息:场景描述和对象描述信息。分段发生器主要收集SLP和IOD数据信息,用于产生和节目解复用相关的参考信息PSI(Program Specific Information)。在T-DMB的数据流中,可以通过解析PMT中的描述字段得到IOD_descriptor ,由IOD_descriptor可以得到场景、对象描述信息。由对象描述可以得到ES_ descriptor等信息。SL同步打包器主要负责视听对象和辅助数据的同步。SL包经PES打包之后,再把PES包打为TS包发送给调制器。 

  软件的功能描述 

  软件的主要任务是TS流的解复用、H.264和AAC+的解码,采用微软的Direct Show技术开发,可以降低开发难度和开发周期。Direct Show技术是微软提供的Windows平台多媒体开发包,以COM为基础。Direct Show使用Filter Graph的模型来管理整个数据流的处理过程。参与处理的各个功能模块叫Filter,按功能分3类:Source、Transform、Rendering Filter 。Source Filter主要负责获取数据和前期的处理;Transform Filter负责数据格式的转换和传输,主要是负责解码;Render Filter负责显示。各个Filter和应用程序的交互靠事件通知机制来完成:Filter状态改变时发出一个事件,由Filter Graph Manager处理或发给应用程序。整个软件可以分为5大功能模块,如图3所示。TS解复用器模块属于Source Filter,作用是从DMA缓冲中获取数据,然后从TS流中解析PAT(Program Association Table)和PMT(Program Map Table),得到相关节目的音频和视频数据TS包的PID(Packet Identifier)之后,就可以组合PES(Packetized Elementary Stream)包,同时还可以得到和音视频同步相关的参数:PCR(Program Clock Reference)、CTS(Presentation Time Stamp)、DTS(Decoding Time Stamp),最后把PES包去包头后的ES(Elementary Stream)数据发给下游的解码Filter。H.264和AAC+解码模块属于Transform Filter,主要功能是把从上游获取的音频和视频数据进行解码,把解码得到的PU(Presentation Unit)重新排序(只有用到双向预测时需排序),送给下游的生成器。视频生成器和音频生成器模块属于Rendering Filter,主要完成显示功能。如果数据格式需要转换,可以在解码器和生成器之间加一个具有转化功能的Transform Filter。  

                           

                                        图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(Vid   
eo 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开源工程。 

  结语 

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

转自   电子工程世界

 

深圳市创意时代会展有限公司版权所有 COPYRIGHT © 2005 www.elexcon.com