文 李宝军
介绍DVB和MPEG-2的数字电视系统标准中的传输流和节目流,针对视频服务器的功能应用,完成由MPEG-2节目流生成符合DVB标准的传输流,并进行多路节目的复用。
在当前三网融合的背景下,数字化的发展趋势越来越明显,广电行业的发展面临着巨大的机遇与挑战。中国将在2015年全面实现电视数字化,模拟电视系统将逐步退出历史舞台。据调查,2015年中国模拟电视的数量将会达到4亿户,界时随着模拟电视信号的停播,数字电视机顶盒设备将会被认为是数字信号转换设备。数字前端系统的组成包括卫星接收机、视频服务器、数据服务器等设备。DVB标准提供了一套完整的,适用于不同媒体的数字电视广播系统标准。 DVB选定了MPEG-2标准作为音频及视频的编码压缩方式,进行音频和视频的压缩,形成MPEG-2的传输流,使用统一的源代码,进行传输流复用,最后通过卫星、有线电视和电视等媒体传输信号。本文主要解决的问题是使用格式转换方式生成符合DVB标准的传输流来进行多路节目复用。
DVB SI和MPEG-2的PSI信息,使用三种原文机制,分别为表、段和描述子,其定义如下:
表是概念描述意义上的说法,在实际运行中是不存在这样的使用方法,一个实用的语法结构只是表述节目信息的一种方式。在实际使用中,这个表的信息被划分成段的形式,然后将每个段划分成传送流包传输数据流量。
段是 MPEG-2 标准的语法规定,主要语法元素标识分为表标识、序列号、版本号等,描述子存储了段中的许多信息。
SI涵盖广播电视的实际范围,可以满足无间隙的需求,并对卫星和有线电视网络进行配置。
在PES数据分组的基础上,为实现这一传输流的转变,首先从PES数据分组上提取节目流的PES数据包,对传输流包装并添加相应信息。TS流和PS流都是对PES数据进行打包的。图1是PS流的示意图,为实现从PS到TS流的转换,应从节目流提取PES分组数据进行转换。 PS流由连续节目流组成,去除节目流数据包得到PES分组包。读取PES分组数据,根据TS流的语法要求生成传输流,进行传输流的扩展字段、特殊信息的传输,并添加到指令流中。系统信息可从节目流组的分组首部和系统首部获得。
图1 节目流语法示意简图
数据流传输的是相互独立的原始流数据,PSI节目信息中的原始数据流,发送一个不可分割的方案,确保传输流复用的可行性。同时生成PAT、NIT、EIT和SDT表。 PAT传输的是相同的光电倍增管,作为一个独立的数据流,被装载在该TS数据包中,作为有效的载荷进行传输,并被分配一个唯一的PID值。所不同的是发送PAT流的PID值被定义为固定值,即PID = 0 。每个传输系统中的复用流都包含TS对象并与其相对应。
TS对象中的输入功能包含提供传输TS对象数据流的数据传输与处理功能。输出函数功能则是TS对象,可使用的全局函数的所有功能,每个TS对象线程轮流获得控制权限,实现输出控制功能。通过输出功能来有效传输分组数据。在全局变量中,包含所有传输数据流的结构信息,并生成与传输流相关的存储信息。
在复用程序的方案结构中,输入函数是TS流的一个函数,其主要功能是负责将存储的数据文件输入到TS流系统中去。当处理的传输数据流线程被停止时,传输数据流所描述的对象,会从系统中去除对应的输入功能,与此同时释放出系统分配空间。
输出功能和输入功能在逻辑上是对应的,输出功能提供者负责传输流处理线程,并生成比特流输出, 与输入函数提供的成员函数在功能上刚好相反。
(1)定义了用于传输的传输数据流TS对象,对输入流进行描述和包装。每创建一个新的传输流到复用的进程中去时,复用系统的传输数据流会构建一个TS流对象,通过对对象输入流的结构信息进行完整描述,实现提供各种操作传输数据流的功能。
(2)输入信号源的传输流是把硬盘上的一个文件,作为参数发送到输入功能中去,以建立完整的输入功能。
(3)创造一个TS流对象,记录到全局链表数据结构中,将信息传输流填充到对象结构中,拟定传输流程序分配新方案,分配一个新的PID原始流计划,完成在注册表中的全局变量的注册。由于插入了传输数据流,输出流的结构将发生变化,并进一步更新发送的PAT表,在输出的新的PMT表中插入的程序,让解码器能够处理新插入的程序,并删除旧的节目段信息表EIT 。
(4)创建此对象的线程。将对象的指针作为线程的参数传递。设置线程的优先级,这样的传输流被添加到复用系统中去。在一般情况下,每个传输流线程处理有一定的处理优先级。优先级可以是一个缓冲区的状态来进行控制,当缓冲区要满的时候,要采用相应的应用程序来提高线程的优先级,让系统在运行中能够得到较多的CPU时间片,通过应用程序适当降低线程的优先级,以防止缓冲区发生下溢现象。
本文提出了传输流的产生和传输复用方案,适用于分布式的视频服务器中,将视频播出器分成两部分:广播格式的转换、播复用的调度。广播格式的转换以及广播复用调度可分别运行于不同的服务器中,可采用转换离线的方式运行播出格式,对广播调度运行。对视频服务器的性能要求不高,因此,将大量廉价的服务器结合起来,通过合理的控制和调度,实现高性能视频服务器转换功能。