APP下载

数字电视码流的分析转换

2016-11-30

西部广播电视 2016年17期
关键词:码流音视频字节

吴 潮

(作者单位:宁夏平罗县广播电视台)

数字电视码流的分析转换

吴 潮

(作者单位:宁夏平罗县广播电视台)

数字电视主要依托其复合信息流,即传输流TS与节目流PS予以运行,为进一步提高数字电视的整体质量与服务水平。本文以数字电视的码流转换作为主要研究内容,通过对其传输流和节目流的特点和格式进行阐述和分析,分别对传输流解析、显示与解码时间标签和视频帧结构信息等相关技术方法展开了深入研究,在此基础上,提出了传输流向节目流转换过程中,显示时间标签、解码时间标签等相关参数的组建算法,并实现了传输流到多个节目流的转换。

数字电视;传输流;节目流;时间标签

相较于模拟电视,数字电视具有信号损失小和接收效果好的优点。但近年来,数字电视用户的爆发式增长使运营商在提供数字电视服务过程中也出现了节目信号差、信号传输中断等相关问题,在此背景下,加强数字电视的码流分析和转换,在强化数字电视信号的基础上,增强用户体验,已成为数字电视运营商和相关研发部门需要着重开展的关键工作。

1 数字电视复合信息流概述

当前,数字电视大都以MPEG-2的压缩方式为主,对MPEG-2标准进行分析可知,其包含的复合信息流主要有两种:传输流(TS)和节目流(PS)。其中,TS的包结构是188字节的固定长度,PS包结构的长度则是可变的。因TS和PS在包结构方面的差异,使二者对于传输误码的抵抗能力也具有较大差异且对应码流的应用环节也不尽相同。其中,TS码流的包结构固定,故当传输误码对某一传输流的同步信息进行破坏时,接收机可在固定位置实现对后续传输包中同步信息的实时监测,进而恢复信号同步,较好地避免了相关信息的流失。对于TS而言,其包长度是时刻变化的,当受误码干扰导致包内同步信息丢失时,接收机则难以对下一包的同步位置进行确定,导致信息传输的失步[1]。综上,当信道处于比较恶劣的环境中时,数字电视通常以TS作为传输码流,而当信道环境相对较好且具有较低的传输误码率时,可采用PS码流进行信号传输。由MEPG-2标准中的两类复合信息流包结构可知,传输流TS和节目流PS间是能够相互转换的,且在当前数字电视用户急剧增长的情况下,两种复合信息流间的转换是极为必要的。

2 传输流与节目流的码流分析

2.1 基于实际案例的TS流格式与PM表

TS流以188字节固定长度的包为单位进行信息的传输,其数据传输流量大都在40 M/s左右,基于MPEG-2编码的数字电视,表情节目的单位流量通常为4~5 M/s,由此,可计算出数字电视各频点的TS流可复用节目的个数,即8个左右(实际应用中复用6套节目较多)。以上海地区730频点的TS流作为分析和转换的目标传输流,该TS流复用节目个数为6套,分别为中央1~6套,所对应的节目标识号分别为110(113)、120(123)、130(133)、140(143)、150(153)、160(160),其中,实体数字和括号内数字分别为视频PID和音频PID,数字进制标准为16进制,为获取上述PID,需要对传输流进行分析,具体如下。

TS流格式以4字节的TS头和184节的TS数据为主,在对TS进行分析转换时,应先确定同步头,而后,再以不同的PID为依据,对各TS包采取相应的处理,图1给出了同步头的搜索算法,其中,在对TS包进行分析前,应开展TS的同步搜索,这一过程分为两个状态,分别为同步与同步丢失。通常,当连续检测到的同步字节数量为5个时,则进入同步状态,而后,在此状态中,急需检测同步字节,若连续未检测到同步字节为3个,则判定同步丢失,需要说明的是,TS包的分析必须在同步状态下进行。TS包的分析流程如下:找出PAT即节目关联表,根据MPEG-2标准,节目关联表中包含了各PMT表的节目号和相应的PID,对于本文给定的上海地区的TS流,其相应的节目关联表的数据分别为47 40 00 13 00 00 b0 25 00 01 df 00 00,相应的节目号与PID为00 00 e0 10 00 65 e0 81 00 66 e0 82 00 67 e0 83 00 68 e084 00 69 e0...,由此,可得7个节目号所对应的PID,具体如下:00-10,65-81,66-82,67-83,68-84,69-85,6a-86。对PMT表进行分析,以65号节目按照PD=81的TS流传输为例,提取数据:47 40 81(PID为81)12 00 02 b0 1d 00...a0 2a 90,其中,PMT表中对各个节目的流类型与相应的PID进行了规定,其中,其中,02 e1 10 f0 00表示当前节目中的类型数为2,即视频流PID为2,PID=110,而e1 13 f0 06则表示节目中类型数为4,即音频流PID为4。由此,对该节目的视频和音频进行分析时,只需要对PID值为110和113的TS包进行提取即可,相应的TS包逻辑关系如图2所示。由图2可知,根据PID值的不同,可从TS包中将不同节目的音视频信号予以提取,所提取的音视频信号则按照数字电视基本码流PES组成,故通过对音视频信号进行打包,便能够恢复PES,而TS向PS的转换,实际上就是将所恢复的PES码流重新根据节目流PS进行再次打包,相应地,PS的重要参数则主要包括了系统参考时钟SCR、时间标签PTS和解码时间标签DTS。

图1 同步头搜索算法

图2 TS包逻辑关系图

2.2 TS与PS参数与编码分析

首先,对PS结构和相关参数进行分析。PS结构如下:PS包开始码为00 00 01 BA共4字节,SCR系统参考时钟、程序流速率的字节长度分别为6和3,填充数据后,若存在头部信息,则系统开始码转变为00 00 01 BB,长度不变,仍为4字节,除上述相关长度字节的组分外,PS中还包括了系统信息和PES电视基本码流。PS参数中,PTS与DTS均位于电视基本码流PES中,其作用为实现音视频的同步。经过编码产生的音视频分别形成相应的基本码流ES,但ES并非分段连续码流,PES通过将ES进行分割并加载相应的头信息,进而在传输时将PES包继续分段划分为固定长度为188字节的传输流TS或是具有可变长度的节目流PS。

其次,对TS与PS的系统参考时钟、PTS和DTS等参数进行分析。由于TS包头中融入了PCR,即节目时钟参考,故在进行解码时,解码器则先通过PCR对与编码器同步的27 MHz系统时钟进行重建,待恢复系统始终后,再借助电视基本码流中的时间标签与解码时间标签实现音视频的同步。同理将SCR引入节目流PS包头中,也能够设定解码器从磁盘读取数据信息的初始时间。通常,所设定的PTS与DTS标签长度均为33位,对应的单位为基于27 MHz适中的300分频(90 kHz),PCR与SCR则以基于27 MHz的base(90 kHz)与ext(27 MHz)为单位。需要说明的是,音频的时间与解码时间标签具有高度一致性,而对于视频而言,若在编码过程中,无后向预测,则二者为一致的,若存在后向预测,则需对DTS与PTS做出相应调整,原因是,I帧的内部编码以及P帧的前向预测,均只利用到了前帧信息,但B帧双向预测中,还包括了后面的IP帧信息,故解码时,需先解出后面的IP帧,而后,再对当前IP帧进行解码,但在实际显示时,B帧则在IP帧之前显示。

最后,对所给案例的B图编码进行分析。在结合各帧图像时间关系的基础上,以本文研究的上海地区数字电视码流中的B14为例,为提高编码的有效性,采以双项预测运动补偿法进行编码,即B图编码,将参考图选定为前一帧的113和后续的P16帧,故在进行解码时,则应对113和P16进行依次解码,但实际显示的形式则为113B14B15P16(B15不作为预测参考图)。由一个I帧及若干BP帧为单位所形成的画面组,即GOP以上述方法进行编码时,显然第一个GOP要比其他GOP缺少两个B帧。对于完整的电视基本码流,以音视频为例,其结构为,包开始码、流ID、PES长度以及头标识的字节数分别为3、1、2、3,若结构中存在PTS和DTS,则二者的字节数均为5。在传输流转变为节目流的过程中,需要修改的也主要是时间标签和解码时间标签,除此之外,还包括转换过程中增加的PS头信息,其余信息码流则可完全复制。

3 TS转换

为实现传输流到节目流的转换,应先从TS中获取不同节目的电视基本码流,并根据所获取的基本码流的数据,得到新的PES所对应的时间标签PTS与解码时间标签DTS,而后,再形成PS。对所给的730个频点TS中的PTS与DTS关系(二者均以90kHz为单位进行计数)进行如下计算:PTS1-DTS1=10800=3×3600;PTS2-DTS2=10800=3×3600,PTS2-PTS1=43200=12×3600;PTS3-D T S 3=1 0 8 0 0=3×3 6 0 0,P T S 3-PTS2=43200=12×3600;PTS4-D T S 4=1 0 8 0 0=3×3 6 0 0,P T S 4-PTS3=43200=12×3600。由此可见,TS流在PAL电视标准中,各帧的间隔时间为3600个90 kHz的时钟,即40 ms,故在该频点中,由PID=0×110的TS包所组成的电视基本码流包内,各PES包头的时间标签均要比其解码时间标签延迟3帧的时间,而相邻两基本码流的时间间隔则为12帧。仍然以PID=0×110的PES中的ES结构为例,对其中的TS流转换为PS流的过程进行说明:该流的帧结构为I帧BB PBB PBB PBB结构,单位GOP画面组为12帧,而整个帧图像共同组成一个电视基本码流PES。在TS流向PS流转变时,一帧图像则组成一个PES码流,而一个PES码流则构成一个节目流PS包。由此,可将初始的TS传输流的基本码流的头部进行直接复制,使其充当PS节目流中电视基本码流PES的头部,而这一PES则是画面组GOP的第一帧(I帧),而后,各个B帧和P帧则分别加载复制的PES头和节目流PS头,共同构成PS包,在电视基本码流PES长度方面,则根据直接复制的数据获取,对于时间标签PTS和解码时间标签的计算则按照以下方法进行。

首先,在程序开始时,将TS流内新开始的PES码流予以提取,构成GOP,该画面组含有整个12帧的数据,并以帧开始标志将其划分为12个PES基本码流;其次,设置GOP开始数据为I帧,提取这一PES的时间标签(DTS)值;最后,对于I帧、B帧和P帧,所构建的PES的时间标签DTS与解码时间标签PTS值的计算方法为,DTS1=转换前GOP中PES的时间标签DTS;DTSP、B=转换后前一个电视基本码流的时间标签值+1×3600;PTSI、P=转换后PES的时间标签值+3×3600;PTSB=转换后PES的时间标签值。根据次算法算得的IBP帧的时间标签DTS与解码时间标签PTS同上述以B14为例的B图编码的视频帧结构具有较高的一致性。通过对DTS与PTS的计算方法进行分析可知,计算公式中,PTSI、P的系数3是因IBBPBB帧格式所导致的,具体来说就是,在IP之间插入了两个具有双向预测功能的B帧图像,而IBBPBB也是最为常用的TS转换中的帧格式,对于节目流PS包而言,可令系统参考时钟SCR_base=DTS-3600,SCR_ext=0,由此,则构成了完整的节目流PS包。

4 结语

本文通过对数字电视复合信息流中的传输流和节目流进行简要阐述,进而以上海地区730频点的TS流作为分析和转换的目标传输流,通过对TS与PS的参数、编码进行分析,进而对TS向PS的转换方法做出了系统探究。研究结果表明,TS与PS是数字电视复合型码流的主要构成部分,二者的参数设定、编码方式和相互转换对于数字电视的信号质量具有重要影响。未来,还需进一步加强对数字电视码流及其转换的研究力度,为降低数字电视误码率和增强用户体验奠定良好基础。

[1]杨秀芝,陈建,王玉欣.基于SOPC的数字电视码流分析系统的设计[J].福州大学学报(自然科学版),2013,5(23).

猜你喜欢

码流音视频字节
No.8 字节跳动将推出独立出口电商APP
数字电视TS码流协议简要分析
Microchip推出首款车载以太网音视频桥接(AVB)全集成解决方案
高清网络摄像机图像延迟分析及解决方案
3KB深圳市一禾音视频科技有限公司
No.10 “字节跳动手机”要来了?
基于MSP430的四旋翼飞行器的S-BUS通信协议的设计与实现
WIFI音视频信号传输的关键问题探究
高速公路整合移动音视频系统应用
一种比较ASN.1码流差异的方法