zoukankan      html  css  js  c++  java
  • DVB码流中业务信息与电子节目指南

        怎样在众多的数字电视节目中快速地找到用户所需要的节目,是数字电视应用所要解决的问题。在DVB接收机中通常都使用电子节目指南(EPG)这一工具来达到快速查找节目的目的,生成EPG的数据来源于DVB码流中的有业务信息SI信息。

    在数字电视中,所有视频、音频、文字、图片等经数字化处理后都变成了数据,并按照MPEG-2的标准打包,形成固定长度(188个字节)的传送包,然后将这些数据包进行复用,形成传送码流(TS),通常一个频道对应一个TS流,一个频道的TS流由多个节目及业务组成。在TS流中如果没有引导信息,数字电视的终端设备将无法找到需要的码流,所以在MPEG-2中,专门定义了PSI信息,其作用是自动设置和引导接收机进行解码。PSI信息在复用时通过复用器插入到TS流中,并用特定的PID(包标识符)进行标识。

    MPEG-2标准中定义的节目信息PSI,是对单一码流的描述,由于系统通常存在多个码流,为了使使用者能在多码流中快速地找出自己需要的业务,在DVBMPEG-2PSI进行了扩充,在PSI四个表的基础上再增加了九个表,形成SISI是对整个系统所有码流的描述,描述系统传输内容、广播数据流的编排和时间表等的数据,它包括PSI信息。

    一、节目信息(PSI

    PSI由节目关联表(PAT)、条件接收表(CAT)、节目映射表(PMT)和网络信息表(NIT)组成,这些表插入到TS中传输。PSI指定了如何从一个携带多个节目的传送流中正确找到特定的节目,当接收机要接收某一个指定节目时,它首先从节目关联表中取得这个节目的节目映射表的PID值,然后从TS中找出与此PID值相对应的节目映射表,从这个节目映射表中获得构成这个节目的基本码流的PID值,根据这个PID值滤出相应的视频、音频和数据等基本码流,解码后复原为原始信号,删除含有其余PID的传送包。MPEG-2传送流的结构如图1所示。

     

    2PATPMT的关系及结构图。

     

    3CATNIT的结构图。

     

    从上面的几幅图中可知,要保证传送流能正常接收,在该流中至少有一个完整有效的PATCAT描述了节目的加密方式,它包含了节目的EMM识别PID,只有授权的解码器才能由CAT收到密钥,解码出相应的数据流。NIT包含节目的频道调谐参数、频率、符号率等物理传输网信息,这些信息使得接收机可以按照用户的选择以很少的延时或无延时地改变频道、调谐参数,正确地解码出TS。由于PSI数据的完整性十分重要,因此在每个PSI段中均需要加校验码。

    二、业务信息(SI

    PSI数据只提供了单个TS的信息,使接收机能对单个TS中的不同节目流进行解码,但它不能提供多个TS的有关业务和节目的类型、什么节目、什么时间开始等信息,因此DVB系统对PSI进行了扩展,提供了其它不同信息种类的多种表格,形成SI。在实用中,我们将SI所提供的数据通过有序地组织起来,生成类似节目报的形式,它能在电视机上即时浏览,这样将大大方便用户的使用,这就是电子节目指南EPG

    SI定义了不9个表

    1、业务群关联表(BAT):它提供了业务群相关的信息,给出了业务群的名称以及每个业务群中的业务列表。

    2、业务描述表(SDT):它包含了描述系统中业务的数据,例如业务名称,起始时间、持续时间等。

    3、事件信息表(EIT):它包含了与事件或节目相关的数据,EIT是生成EPG的主要表。

    4、运行状态表(RST):它给出了事件的状态(运行/非运行),运行状态表更新这些信息,允许自动适应切换事件。

    5、时间和日期表(TDT):它给出了与当前的时间和日期相关的信息,由于这些信息更新频繁,所以需要单独使用一个表。

    6、时间偏移表(TOT):它给出了与当前时间、日期和本地时间偏移相关的信息,由于这些信息更新频繁,所以需要单独使用一个表。

    7、填充表(ST):它用于使现有的段无效,例如在一个传输系统的边界。

    8、选择信息表(SIT):它仅用于码流片段中,如记录一段码流,它包含了描述该码流片段业务信息间段的地方。

    9、间断信息表(DIT):它仅用于码流片段,如记录的一段码流中,它将插入到码流片段业务信息间断的地方。

    这里值得一提的是,NITMPEG-2标准中未予以规定,而是由SI规定。

    以上这些表在传送流中以数据段的形式传送,不同的信息表在传送流中通过赋予不同的特定的PID来进行区分(如表1所示)。而具有相同PID的不同信息表则进行由表标识符TABLE ID来区分,在接收端通过查这些特定的PID来找到它们。这里说明一下,TS中有两种标识符,一种是包标识符,一种是表标识符。例如SI中的SDT的每一个表都对一个特定TS中的业务进行描述,这些业务可能是这个表所存在的TS的一部分,也可能是其它TS的一部分,这些SDTPID都是相同的,这时候我们就可以通过不同的表标识符来区分它们,从而识别出那一个表所描述的业务是那一个TS的。

    1

    PID

    PAT

    0X0000

    CAT

    0X0001

    PMT

    0X0002

    NIT

    0X0010

    SDTBAT

    0X0011

    EIT

    0X0012

    TDTTOT

    0X0014

     

    SI中的各表在实际使用中并不都需要传送,其中NITSDTEITTDT是必需传送的,其它表则按照需要进行选择传送。

    三、电子节目指南(EPG

    DVB系统中,EPG可使用户方便、快捷、直观地找到需要的节目,根据《数字电视广播业务规范》对EPG的要求,EPG应提供节目单和当前节目播放等基本功能,还提供节目附加信息、节目分类、节目预订和家长分级控制等功能。EPG的这些功能均可通过SI来实现,也就是说SI是实现EPG功能的前提。在SI中,最重要的是NITEITSDT,利用这3个表中的数据就可以构成功能不同的EPG

    NIT的作用在上面已经说过,SDT的作用是提供对每个业务的描述,使用户能方便地了解每个业务的内容。对于每一个TS都有一个SDT与之对应。EIT实际上是一个节目表,对于每一个节目都存在一个独立的EIT

    EPG包含两个部分:一是播出前端的EPG编辑器;二是用户端接收机相应的控制软件,两部分一一对应,每个接收机的相关部分必须要按照前端定义的数据结构来定制,从而接收显示前端送出的业务信息。

    SI一般在复用器合成TS时插入,有3种插入方式。

    1、 将各表数据通过复用器厂家提供的应用软件接口由复用器插入到节目码流中。

    2、 将各表数据按MPEG-2标准打包,通过码流播出卡输出,再将之送入复用器的异步串行口与节目码流复用。

    3、 通过条件接收加扰器提供的接口插入,因此可通过局域网将数据表送入加扰器,由加扰器向码流中插入SI

    四、接收机与EPG

    DVB接收机又称机顶盒,它是接收DVB节 目的用户端设备。打开接收机,通常都有一个开机画面,这个画面实际上是一个存储于机顶盒内的一个菜单选择页面,它是由称为装载器的控制软件生成的用户操作 界面,用户可通过遥控器进行选择操作。每个有线电视营运商所开发的这个界面都有所不同,但功能是一样的,其主要内容是营运商提供业务(节目)的分类和系统 设置及一些辅助功能。这些内容构成了页面的最上层主菜单,其下一层菜单则通常由SI生成的EPG所构成。

    主菜单中的系统设置是为引导接收机快速准确地接收到DVB节目而设的,其有最基本的有三个操作:信息检测、节目搜索、软件下载。

    1、信息检测:它主要显示目前DVB系统的主频及相关参数,如主频频率、码率、调制方式、误码率、信号电平等,供维护人员检测参考。

    这里说明一下,所谓主频是指SI所在码流的调制频率。

    2、节目搜索:接收机在节目搜索时首先搜索主频频率,找出SI信息,然后生成EPG,又由EPG生成一个节目列表,这个节目列表包括节目名称、节目说明、节目播出时间等,并将这个节目列表作为下一层菜单,每个下层菜单项都指向相应节目所在的TS流,达到用户能方便快捷地收看到所需节目的目的。

    节目搜索分两种方式:一种是手动搜索,一种是自动搜索。手动搜索方式是通过人工输入主频频率或DVB系统内所有TS流的调制频率来引导接收机接收;自动方式是由软件设置好相关的接收参数,由软件来引导接收机接收。

    3、 软件下载:在前面说过,接收机的装载器必须要按照前端定义的数据结构来定制, 当前端需要变更播出节目时(如增加或减少节目的播出,调整播出节目的类别等)或更改主频频率时,接收机的装载器也应作相应的变更。所以,当前端要作节目变 更时,营运商必须要同时变更接收机的装载器,并向所有接收机发出软件更新信息,用户收到信息后,就可用软件下载功能来更新接收机的装载器了。

        综上所述,构成一个DVB系统最基本的业务信息应该包括PSISI业务信息。EPGSI生成,DVB接收机靠EPG来引导接收和选择收看DVB节目。

  • 相关阅读:
    吴恩达 机器学习EX1学习笔记 MATLAB实现
    二分法解具有单调性的方程
    利用new定位运算符进行高效的数组动态增扩
    单循环链表基本操作及部分可能出现的细节问题
    数组中某元素的删除
    C# 实现可克隆(ICloneable)的类型
    Python学习十三
    Python学习十二
    Python学习十一
    Python学习十
  • 原文地址:https://www.cnblogs.com/KUDO/p/1311757.html
Copyright © 2011-2022 走看看