技术解密当前位置:您当前位置:邦凯科技 >> 技术解密 >> 浏览文章

解密大显DC-618C数字电视机顶盒的软件设计

时间:2009-10-19 09:38:44点击:

2.4 DC-618C机顶盒的应用层设计[/NextPage]
  机顶盒除了实现接收来自有线网络的数字电视信号外,还应具有EPG(电子节目指南)、软件在线升级等功能,我们在这里主要谈谈这几种功能的实现。
  2.4.1 EPG(电子节目指南)的实现:
  2.4.1.1 EPG简介
  电子节目指南,是指在符合MPEG-2的TS传输流中插入DVB标准定义的SI信息,使机顶盒的综合接收解码器可以从TS流中提取出节目提供商播出节目的列表和播出参数,以直观的形式显示给数字电视用户。EPG信息由两部分信息组成:基本EPG信息和扩展EPG信息。基本EPG信息是指完全可以用《数字广播业务信息规范》中的网络信息表NIT、业务群关联表BAT、业务描述表SDT和事件信息表EIT进行描述的EPG信息。扩展EPG信息是指在基本EPG信息之外,通过数据轮播传递的EPG信息,这些信息的入口采用EPG映射表(EMT)进行描述,信息的内容被封装成具有多级目录结构的文件系统,称为扩展EPG内容信息(XECI)。基本EPG信息和扩展EPG信息中的EPG映射信息均采用表传输方式;扩展EPG信息中的扩展EPG内容信息采用数据轮播方式传输。
  在数字电视节目的播出过程中,可以加入辅助的SI信息,供机顶盒解码器的开发者来实现五花八门的电子节目指南的导航功能。EPG提供的信息主要包括:传送信息的天数(例如一周)、传送频道的数目和名称、传送的节目数、节目提供商的标识和名称、传送网络的信息(网络标识和网络名称),其细节信息还包括:节目名称、节目的简单介绍、节目的开始和结束时间、节目的主题、节目的类属、节目的观看分级限制(例如对某个年龄段进行限制)。利用机顶盒收看数字电视节目,用户通过EPG不仅能够接收普通的电视节目、广播节目或图文电视节目,而且,还可以查看感兴趣的信息:按节目分类(如音乐节目、体育节目、电影等)检索节目;按节目提供者检索节目;未来一段时间内节目播出表;视频网络中节目播出情况等信息。
  2.4.1.2 PSI/SI信息及其功能
  MPEG-2中的传送码流是根据ITU-TRecH220、ISO/IECDIS13818-2和ISO
  /IEC13818-3协议定义的一种数据流,其目的是为了在有可能发生严重错误的环境下进行一道或多道程序的编码数据的传送和存储。这种错误表现为比特值错误或分组丢失。传送流的速率可以是变化的或固定不变的。在任何情况下组成的原始流可以是变化的或固定不变,在这些情况下的语法和语义限制是相问的。传送流速率由节目参考时钟(PCR)字段的位置和数值决定,通常对于每个程序都有自己的PCR字段。传送流中有关PID的信息及各PID之间的关系包含在PSI (Program Specific Information:节目特定信息)中,MPEG-2解码器将使用PSI信息来自动设置解码所需的各种参数。PSI信息使用4个表来定义码流的结构:PAT(Program Association Table:节目关联表)、PMT(Program Map Table:节目映射表)、NIT(Network Information Table:网络信息表)、CAT(Conditional Access Table:条件访问表)。
  MPEG-2在PSI中提供了不少有关节目组成和相互关系的信息,从而使得在接收端可以正确地对TS流进行解复用。但是这些信息在实际使用时仍然显得不够,为此在DVB标准中采用SI(Service Information:业务信息)对PSI信息进行了进一步的扩展。PSI中的信息基本上都是与当前码流相关,即它们所涉及的内容都与当前码流中的部分信息相关;而SI信息可以包括不在当前码流中的一些服务和事件,允许用户进行更多的选择和了解更多的其他服务。SI信息表主要有以下内容:
  BAT(Bouquet Association Table:业务群关联表)、SDT(Service Description Table:业务描述表)、EIT(Event Information Table:事件信息表)、RST(Running Status Table:运行状态表)、TDT(Time and Date Table:时间和日期表)、TOT(Time     Offset Table:时间偏移值表)、ST(Stuffing Table:填充表)
  业务信息(SI)是用来描述传送系统,传送内容和广播数据流时间表等的数据,是补充MPEG-2节目说明信息(PSI)的附加数据,这些数据帮助综合接收解码器(IRD)自动调谐,给用户提供附加信息,使IRD能自动设置可供选择的业务。
  头端系统每隔一定周期将重复传送SI信息,对于最高速率为100Mbits/s的传送流而言,重复传送SI信息的最小间隔为25毫秒。这样,对于新开机的用户,在很短的时间内,就可以接收到SI(业务信息),构成EPG(电子节目指南)所需的各项条款。
  2.4. 1.3 EPG信息的提取
  一般而言,PAT表的PID号为“0x00”,解复用器工作总是通过寻找PAT表开始。PAT给出了构成传送流中各个节目业务的PMT(节目映射表)的PID,同时也给出了NIT(网络信息表)的PID号。根据PID值及对应的Table ID值可以从流中解出相应的PMT、NIT、SDT、EIT等信息。机顶盒接收端的解析主要负责这些SI数据信息的重建。信息内容应与PSI和SI表中的信息相对应,它可按照Network-Transport Stream-Service-Event的分层顺序描述,同时内嵌Transport Stream-Program(Service)-Element Stream的分层顺序。SI数据信息必须按照一定的数据结构进行存储,这样才能方便、快捷地对其进行检索和数据的提取。特别是对于运行于机顶盒的实时操作系统中的EPG,需要对用户的交互进行实时的动作,所以对响应速度的要求很高,SI数据库建立的好坏对其性能有重要的影响。SI数据主要有:网络信息、传输流信息、业务(节目)信息,业务的事件信息等,并且大量的信息都是通过描述子来传输的,所以可用树状链表来存储数据,构成从网络、传输流、业务、事件的树状结构,传送不同信息的描述子用继承于同一基类的描述子类来表示。
  网络信息表传送本网络以及与此有关的其它网络的一些信息。每个网络都有唯一的识别符,网络编码请参看ETR162。网络信息表主要携带:网络识别符(network_id)、网络名称、传输系统参数(包括:频率、调制方式、FEC外码、符号率、FEC内码)等信息,如果NIT表中有关于传输系统参数的正确描述,只要调谐到携带此NIT表的传送流中,即可提取其它网络的参数,一般解码器便可根据提取出来的信息,自动搜索频道。
  节目业务描述表的每一个子表都对一个特定传送流中的节目业务进行了描述。这些节目业务可以一部分是本身实际的传送流,也可以是其它传送流,这一点可以通过table_id(表识别符)进行识别。节目业务描述表提供了如下的信息:属于哪一个节目业务群;节目业务的类型,如PAL、NTSC、SECAM、调频广播、图文电视、准视频点播等;节目业务的提供者;可以接收该节目业务的国家和不可以接收该节目业务的国家;指向特定信息的链接信息;实现准视频点播的指导信息;实现多画面的控制信息;指示使用的加密系统;给出实现交互式回传信道的电话号码;提供多语种的节目业务名称和广播者以及私有数据。
  事件信息表按时间顺序提供每一个节目业务中包含的节目段的信息。事件信息表提供如下信息:节目段的标识号、起始时间、节目长度、播放状态、是否加密;指向特定信息的链接信息;节目段多语种的简短介绍;节目段的详细介绍;两段同样节目段的时间偏移;基本码流类型,如视频的幅型比、伴音的类型、字幕的类型等;使用的加密系统;节目类型,如电影/戏剧、新闻、综艺、体育、少儿、音乐、艺术、社会政治、文教等;节目限定年龄的级别;给出实现交互式回传信道的电话号码;为满足各节目段的码率而提供的缓存大小信息及私有数据。
  2.4.1.4  EPG系统的显示技术
  当电视节目和EPG应用同时启动时,用户看到的可能是节目画面和EPG界面的叠加,用户所看到的电视画面从前到后可以分为三层,依次为图形层、视频层和背景层。图形层即OSD(On Screen Display)层,OSD界面显示技术指在图像画面上叠加文字显示,使屏幕为用户提供更多的附加信息。视频层为当前正在收看的节目(解码出来的活动图像);背景层为没有播放电视节目和启动EPG菜单时的屏幕图像。EPG画面在图形层上构建,EPG画面是由许多EPG图形元素(如按钮、文本框、选择按钮、组件容器等)叠加而成。界面的状态转移是通过消息驱动的机制来实现的,在消息响应函数中进行消息处理。用见到的是屏幕图像是这三层的叠加(blend)后的图像。
  SI数据检索模块快速的检索本地SI数据库,提供EPG界面当前输入焦点所需的数据信息;OSD层图形元素库提供界面所需的图形元素,该库存于本地机顶盒的ROM中;状态转移控制器接收用户遥控器的输入,提供当前显示所需的活动焦点,控制状态转移地流向;OSD层图像是指EPG界面图形元素合成后的图像;OSD绘制引擎决定显示的相应算法,接收各模块提供的数据,完成OSD层图形的绘制,最后是OSD层、视频层和背景层的叠加操作。