中国·芯片交易在线
首页 | 供应信息 | 求购信息 | 库存查询 | 新闻中心 | 展会资讯 | IC厂商 | 技术资料 | 自由区域
   新闻首页 |  行业动态 | 新品发布 | 政策法规 | 科技成果 | 模拟技术 | 嵌入系统 | 传感控制 | 存储设计  
当前位置:IC72首页>> IC新闻中心>> 行业动态 >>电子行业新闻正文

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

时间:2008/7/24 11:15:00  作者:  来源:IC72  浏览人数:1089
 
 

      摘 要:本文概括性地讨论手机电视这种嵌入式手持设备的软硬件开发要点:如何设计硬件,实现音视频同步,提高H.264解码速率,并防止DMA缓冲溢出等。

      关键词:手机电视 ;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所示。

IC72新闻中心

图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所示。

IC72新闻中心

图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。

IC72新闻中心

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

      结语

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

 
【相关文章】
·基于T-DMB的手机电视软硬件设计
 
 
IC新闻搜索
 
热点新闻
基于红外超声光电编码器的室内移动小车定位系
基于闪烁存储器的TMS320VC5409DSP并行引导装载方法
非移动市场需求飙升,ARM预计2010年出货量超50亿片
一种快速响应的电容式湿度传感器感湿薄膜设计
利用特殊应用模拟开关改进便携式设计
无线传感器网络跨层通信协议的设计
基于ARM9内核Processor对外部NAND FLASH的控制实现
基于GSM技术的汽车防盗系统的设计
热电阻在烟叶初烤炕房温度控制中的应用
高速数据转换系统对时钟和数据传输的性能要求
友情连接
 关于我们  IC论坛  意见反馈  设置首页  广告服务  用户帮助  联系我们
copyright:(1998-2005) IC72 中国·芯片交易在线
(北京)联系电话:(010)82614113、82614123 传真:(010)82614123 客户服务:service@IC72.com 库存上载:IC72@IC72.com
在线MSN咨询:ic72sale8@hotmail.com 通信地址:北京市西城区西直门内大街2号大厦15层 邮政编码:100013
(深圳)联系方式: 在线MSN咨询:ic72sale6@hotmail.com 在线QQ咨询:191232636 通信地址:深圳市福田区振华路
注 册 号: 1101081318959(1-1)

A B C D E F G H I J K L M N O P Q R S T U V W X Y Z 0 1 2 3 4 5 6 7 8 9