复用器配置软件设计与实现

2011-08-10 04:43杨秀芝
电视技术 2011年24期
关键词:复用器码流音视频

黄 锴,杨秀芝

(福州大学数字电视工程研究中心,福建 福州 350002)

责任编辑:孙 卓

0 引言

数字前端系统由编码器、复用器、加扰器、调制器等诸多设备组成。为了能够实现最优运行,这些设备需要人工进行大量的参数配置工作,由于设备硬件部分的限制,无法提供良好的交互配置接口,因此,如果能够提供一套软件对设备进行统一配置和管理具有重要的意义。本文主要研究对复用器进行统一配置和管理的配置软件。

1 系统层信息

MPEG-2标准对传输系统层制定了规范,使用一系列的PSI表运载系统信息和私有数据,这些信息使解码器能够进行多节目解码,即通过分析PSI数据就可以从TS流中找到所需要的节目信息[1]。这一系列的PSI表包括节目关联表(PAT)、节目映射表(PMT)、条件访问表(CAT)以及被定义为私有数据的网络信息表(NIT)。DVB在MPEG-2标准的基础上添加了SI(Service Infor⁃mation),其作用是添加更多的业务和事件信息[2-3]。SI主要包括业务描述表(SDT)、组关联表(BAT)和事件信息表(EIT)。

标准中还限定了单个PSI和SI表段的数据容量,若相关的节目描述信息数据较多,则在传输时需要进行分段处理,每个分段都含有表头信息、相关节目数据和CRC字段3部分。表头信息中的一个标识“分段号”就是用来识别PSI和SI表的各个分段,是查找完整PSI表的关键[4]。在实际传输时,PSI和SI数据也是负载在TS包中传送,若数据超过TS包的容量,还需要进行分包处理,PSI表和SI表最终以分包的形式在传输流中传输。

2 配置软件的设计

配置软件主要完成下列任务:

1)由于复用器硬件部分的限制,无法提供良好的人工交互界面,因此提供自由的用户交互界面是复用器配置软件的首要任务。

2)复用器的主要工作是将多路输入码流合并为一路码流进行输出,各路输入的PID是各自进行分配的,因此多路输入中存在PID重复的情况,合并为单路输出时需要解决PID重复问题。

3)各个输入都有各自的PSI和SI数据,因此输出时需要将输出节目的相关信息打包为新的PSI和SI数据,并丢弃各路原始的PSI和SI数据。

由于配置软件同时完成了PID重新分配以及重新生成PSI与SI数据等工作,硬件部分在调度输出时只需修改相关TS包的PID号,以及在适当的时机将PSI和SI数据输出即可,这样减轻了硬件部分的负担以及开发难度。

2.1 通信机制

配置软件和复用器硬件部分通过以太网接口进行通信,需要交换的数据只有PSI与SI数据、系统配置数据以及一些辅助数据。由于交换的数据量并不大,因此可以采用单步确认机制,将需要传输的数据分割为许多大小固定的数据包,发送一块数据并等待确认后再发送下一块数据,这样能确保数据传输的完整性。

2.2 PSI和SI数据分析

从用户角度看,各种系统信息和参数信息本应该是按照各套节目进行区分的,而在实际码流中,各种系统信息和参数信息是按必要性进行区分的。一套节目包含的信息有该套节目的节目号、PID号、节目名称、节目提供商、节目类型、所在网络、所处传输流、音视频流个数、音视频流的类型、音视频流的PID号以及许多的描述信息,在这些信息中,节目号和节目PID号信息存放在PAT中,包含的音视频及其类型和PID信息存放在PMT中,而节目名称、节目提供商以及节目类型信息存放在SDT中(PAT,PMT属于PSI,SDT属于SI)。从必要性上看,PAT和PMT是必需的,而SDT不是必需的,就是说只要码流中存在PAT和PMT,即使没有SDT也可以将一套节目识别出来,只是少了各种描述该套节目的信息,但这并不会对区分该套节目造成影响。为满足用户的需求,将各种系统信息和参数信息按照节目进行重新分类是必需的,即需要对PSI和SI数据进行分析并从中获取各套节目的数据。存储节目数据时使用链表进行存储,链表的每个节点是一个数据结构,该数据结构包含的内容有节目号、PID号、PCR_PID号、节目名称、节目提供商、业务标志、业务类型、音视频列表和ECM描述列表,其中的音视频列表和ECM描述子列表又是另外的数据结构。同时要给各套节目和每套节目中的音视频流分配逻辑值,以便在后续处理中进行区分。数据结构如图1所示。

结构中的Program_value和Stream_value就是逻辑分配值,用于区分各套节目以及各个音视频流,具体的分配值是输入通道序号×100000+节目序号×100+音视频流序号。例如,第1路输入码流中的第3套节目的分配值是100300;第3路输入码流中的第15套节目的第2个音视频流的分配值是301502。按照这种分配方法,就可以给每套节目以及每道音视频流分配唯一的标识值,便于进行查找及区分。最终的显示效果如图2所示。

分类工作完成后,就需要根据用户的选择进行节目筛选,将要传输的节目添加到列表中。用户还可以根据需要修改节目的各种参数,如节目号、PID号、节目提供商等,以及添加删除各种描述信息。

2.3 PID替换

由于复用器的功能是将多路输入合并为一路输出,这就产生了一个问题,就是用于区分各套节目的分配号有可能重复,即各套节目的节目号和PID号会重复。节目号是区分各套节目的根据,PID号是区分不同TS包的根据,因此必须对节目号和PID号进行重新分配。对节目号进行重新分配比较简单,只要按顺序对所筛选的节目进行节目号的累加即可,而PID号的重新分配比较麻烦,PID号包含的范围比较广泛,有节目PID号、音视频PID号、PCR的PID号以及加扰系统相关的PID号等,因此需要考虑的因素比较多。PID号相同的情况大致有两种:一种是不同的输入码流含有相同的PID号,这种相同的PID号必须重新分配为不同的PID号;另一种是单个输入码流中包含相同的PID号,典型的例子是PCR的PID号和视频数据包的PID号相同,就是说PCR数据实际是存放在视频数据TS包中的(当然也有可能PCR的PID号是独立的),在这种情况下,输出码流中的相关PID号也必须保持相同。还有一种情况是在单个输入码流中的不同节目可能共享同一个或多个音视频流,此时不同节目含有相同的音视频PID号,这样输出的相关PID号也必须保持相同。总的来说,PID号是保持相同还是需要改为不同,这要根据相同PID号是存在与同一路码流还是不同码流来判断。

总结以上分析,重新分配PID号可采用以下的方案为各路输入码流准备各自的新旧PID映射表,而所有码流使用同一个PID分配种子。具体做法是:首先给PID分配种子赋予一个起始PID号,然后按顺序对输入码流的PID进行重新分配。假设输入码流从1~N,那么先对码流1进行分配。分配时按顺序对码流1中所有的PID进行检查和分配,首先将原始PID号与码流1的PID映射表中的原始PID号进行比对,检查是否已经存储此原始PID号,如果已经存在,那么就使用PID映射表中所对应的新PID号进行分配。如果新旧PID映射表中不存在此原始PID号,那么就使用PID分配种子的PID号进行分配,同时将原始PID号和新分配的PID号作为映射表的一项填入码流1的PID映射表中,并将PID分配种子的PID号加1,以便用于下次分配。当码流1中的PID分配完成后,接着对码流2进行分配,注意,此时的新PID分配种子是上次分配后的累加值。重复操作直到码流N分配完成。经过以上操作,就可以保证正确的PID号的重新分配。PID分配流程如图3所示。

当用户设置相关的参数信息时,同时也要检查是否需要对其他相关信息进行更新。例如用户对一个PID号进行手动设置,此时就需要检查所设置的PID号是否已经被使用,即是否会造成PID号重复,同时还要检查是否存在与此PID号联动的PID号(比如PCR的PID号和视频数据包的PID号),如果有,还需要更新其联动的PID号。

2.4 PSI重新打包

当所有系统信息和参数信息配置完成后,就需要将这些信息重新转换为传输所需要的PSI和SI形式,PSI和SI有标准的格式,只要按照其标准重新封装数据即可。PSI和SI封装完成后还需要根据TS包的标准将PSI和SI封装为TS包,然后将这些TS包通过网络接口发送给硬件部分,同时还包括一些辅助数据,例如新旧PID替换数据,硬件部分需要根据这些信息更新TS包的PID号。由于软件部分已经将PSI和SI的TS包封装完成,因此硬件部分只需要在适当的时间按照调度策略将这些TS包输出即可。

3 实际测试

首先将卫星接收机接收的实际码流接入复用器硬件部分(最多可同时接入16路码流),接着通过复用器配置软件获取并分析码流中的PSI和SI数据,然后根据用户的选择和配置进行PID分配以及PSI和SI数据的重新生成和打包,最后将重新生成的PSI和SI数据、PID替换数据以及相关的配置数据回传给复用器硬件部分,硬件部分根据接收的回传数据进行更新操作。配置完成后将复用器输出通过调制器后接到码流分析仪中,码流分析仪的各项参数都显示正常。同时还将输出码流接到测试用机顶盒中,并通过电视正常播放输出码流中的节目,通过以上步骤验证了本设计的可行性和正确性。由于数字电视前端的各种设备在配置上存在许多相同或相似的部分,因此只要对设计进行稍加扩充和修改,就可以对加扰器以及调制器进行配置和管理,成为一套前端设备综合管理系统。

[1]阮象华,龚建荣.MPEG-2系统中多路TS流复用器的实现[J].电视技术,2001,25(10):54-59.

[2]ETSI ETS 300468,Specification for service information in DVB sys⁃tems[S].1997.

[3]方涛.数字电视业务信息及其编码[M].北京:国防工业出版社,2003.

[4]ISO/IEC International Standard 13818-1,Generic coding of moving picture and associated audio:system[S].2000.

猜你喜欢
复用器码流音视频
数字电视TS码流协议简要分析
Microchip推出首款车载以太网音视频桥接(AVB)全集成解决方案
3KB深圳市一禾音视频科技有限公司
WIFI音视频信号传输的关键问题探究
基于分束器与双向型的光分插复用器分析研究
基于SDH 网络的数字电视平台架构分析
高速公路整合移动音视频系统应用
复用器与遥控设备兼容问题探讨及解决方案
一种比较ASN.1码流差异的方法
基于梯度的CCSDS压缩码流控制算法研究