怎样在众多的数字电视节目中快速地找到用户所需要的节目,是数字电视应用所要解决的问题。在 DVB 接收机中通常都使用电子节目指南( EPG )这一工具来达到快速查找节目的目的,生成 EPG 的数据来源于 DVB 码流中的有业务信息 SI 信息。
在数字电视中,所有视频、音频、文字、图片等经数字化处理后都变成了数据,并按照 MPEG-2 的标准打包,形成固定长度( 188 个字节)的传送包,然后将这些数据包进行复用,形成传送码流( TS ),通常一个频道对应一个 TS 流,一个频道的 TS 流由多个节目及业务组成。在 TS 流中如果没有引导信息,数字电视的终端设备将无法找到需要的码流,所以在 MPEG-2 中,专门定义了 PSI 信息,其作用是自动设置和引导接收机进行解码。 PSI 信息在复用时通过复用器插入到 TS 流中,并用特定的 PID (包标识符)进行标识。
在 MPEG-2 标准中定义的节目信息 PSI ,是对单一码流的描述,由于系统通常存在多个码流,为了使使用者能在多码流中快速地找出自己需要的业务,在 DVB 对 MPEG-2 的 PSI 进行了扩充,在 PSI 四个表的基础上再增加了九个表,形成 SI 。 SI 是对整个系统所有码流的描述,描述系统传输内容、广播数据流的编排和时间表等的数据,它包括 PSI 信息。
一、节目信息( PSI )
PSI 由节目关联表( PAT )、条件接收表( CAT )、节目映射表( PMT )和网络信息表( NIT )组成,这些表插入到 TS 中传输。 PSI 指定了如何从一个携带多个节目的传送流中正确找到特定的节目,当接收机要接收某一个指定节目时,它首先从节目关联表中取得这个节目的节目映射表的 PID 值,然后从 TS 中找出与此 PID 值相对应的节目映射表,从这个节目映射表中获得构成这个节目的基本码流的 PID 值,根据这个 PID 值滤出相应的视频、音频和数据等基本码流,解码后复原为原始信号,删除含有其余 PID 的传送包。 MPEG-2 传送流的结构如图 1 所示。
图 2 是 PAT 与 PMT 的关系及结构图。
图 3 是 CAT 与 NIT 的结构图。
从上面的几幅图中可知,要保证传送流能正常接收,在该流中至少有一个完整有效的 PAT 。 CAT 描述了节目的加密方式,它包含了节目的 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 ):它仅用于码流片段,如记录的一段码流中,它将插入到码流片段业务信息间断的地方。
这里值得一提的是, NIT 在 MPEG-2 标准中未予以规定,而是由 SI 规定。
以上这些表在传送流中以数据段的形式传送,不同的信息表在传送流中通过赋予不同的特定的 PID 来进行区分 ( 如表 1 所示 ) 。而具有相同 PID 的不同信息表则进行由表标识符 TABLE ID 来区分,在接收端通过查这些特定的 PID 来找到它们。这里说明一下, TS 中有两种标识符,一种是包标识符,一种是表标识符。例如 SI 中的 SDT 的每一个表都对一个特定 TS 中的业务进行描述,这些业务可能是这个表所存在的 TS 的一部分,也可能是其它 TS 的一部分,这些 SDT 的 PID 都是相同的,这时候我们就可以通过不同的表标识符来区分它们,从而识别出那一个表所描述的业务是那一个 TS 的。
表 1
表 | PID 值 |
PAT | 0X0000 |
CAT | 0X0001 |
PMT | 0X0002 |
NIT | 0X0010 |
SDT 、 BAT | 0X0011 |
EIT | 0X0012 |
TDT 、 TOT | 0X0014 |
SI 中的各表在实际使用中并不都需要传送,其中 NIT 、 SDT 、 EIT 、 TDT 是必需传送的,其它表则按照需要进行选择传送。
三、电子节目指南( EPG )
在 DVB 系统中, EPG 可使用户方便、快捷、直观地找到需要的节目,根据《数字电视广播业务规范》对 EPG 的要求, EPG 应提供节目单和当前节目播放等基本功能,还提供节目附加信息、节目分类、节目预订和家长分级控制等功能。 EPG 的这些功能均可通过 SI 来实现,也就是说 SI 是实现 EPG 功能的前提。在 SI 中,最重要的是 NIT 、 EIT 和 SDT ,利用这 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 系统最基本的业务信息应该包括 PSI 和 SI 业务信息。 EPG 由 SI 生成, DVB 接收机靠 EPG 来引导接收和选择收看 DVB 节目。