张桂卿 杨方正 傅雪鹏
(国家新闻出版广电总局广播科学研究院)
摘 要 本文从数字电视的编码与传输特性出发,阐述了
PCR工作原理、同步原理,分析了IPQAM调制器的PCR抖动产生原因及PCR抖动对接收端的影响,从而论证了对IPQAM调制器进行PCR校正的重要性及进行PCR测量的必要性。同时,对PCR参数的几个测量项作了详细介绍,并指出测量过程中需要注意的一些问题,为PCR的测量工作提供了指导。关键词 IPQAM
,PCR,测量,PCR-OJ,PCR-AC引言
IPQAM
调制器(又称边缘调制器)是有线电视网络双向改造的一种应用模式。在对IPQAM调制器以及IPTV网络进行测量过程中,我们发现有的设备或网络存在PCR抖动大的问题,我们也听到过一些有关IPQAM不需要进行PCR校正的言论。本文通过多方面理论分析,论述了对IPQAM调制器进行PCR校正及测量的必要性。IPQAM简介
IPQAM调制器的工作原理是:接收来自以太网的
IP(TS over IP)信号,根据相关协议将
IP包解封装成单节目码流(SPTS),再将这些SPTS再复用成多节目传输流(MPTS),最后调制输出数字
QAM信号。其中包括协议转换、再复用、包处理、空包滤除、PID映射、节目映射、QAM调制和频率变换等过程。IPQAM
调制器比QAM调制器多一个将SPTS再复用成MPTS的程序,TS流的再复用过程会对节目的PCR产生很大影响。因此,IPQAM调制器比QAM调制器在PCR(Program Clock Reference)校正上的算法更为复杂和困难。
PCR原理及其重要性
数字电视系统PCR定时原理:
为了保证编、解码的同步定时关系以及实现视音频同步,在编码过程中,采用单一27MHz系统时钟STC(System Time Clock)作为时间基准,并赋予该时钟42比特计数器,该计数器被周期采样(一般每隔100ms采样一次)并以固定频率插入到TS流包头的自适应字段作为PCR值。该时钟经过恒定延时的信道向解码端发送,解码端便可根据该时钟的值来调整本地时钟以保持同编码端插入时钟的同步。由此可见,
PCR时钟的正确插入是用来保证接收端时钟与发送端时钟的同步,以保证音频和视频的正确显示和解码。PCR域共占
6Bytes(48bits)其中6bits
预留,42bits有效位数。42bits有效位由两个部分组成:一部分为33bits的基值域PCR_base,是以27MHz系统参考时钟的1/300为单位计数,相当于将系统时钟频率的三百分之一编成33位码。
DTS/PTS(Decoding Time Stamp/Presentation Time Stamp)以此计数。其作用是为解码端切换节目时提供PCR计数的初始值,使PCR值与PTS、DTS尽可能地达到相同的时间起点,以实现正常解码和显示。另一部分是
9bits,由27MHz脉冲直接触发计数器生成PCR_ext扩展域。它以27MHz系统参考时钟为单位计数,PCR以此计数并获得采样值,标志为PCR-flag
,以提供PCR的精度。其技术范围是0~299,计数增加到299时,计数器清零,PCR_base加1。也就是说,PCR_ext字段表示在一个90kHz的时钟周期开始之后,27MHz系统参考时钟的周期数。
数字电视系统的同步实现
PCR时间标签被周期性地插入在TS层的头信息里(从PMT表中的PCR_PID可以得知PCR的位置),为TS流的传输、复用、调制、解码等处理提供时钟基准。DTS和PTS则插在PES层的头信息里,为解码端的正确解码和显示提供基准。此外,在ES层还有与同步有关的视频缓冲验证(VBV Video Buffer Verifier
),用以防止解码端的缓冲器出现上溢或者下溢。vbv_delay(视频流延时)决定解码的起始。解码端的压控振荡器(VCO)产生27MHz的本地系统时钟。每当接收到一个新的PCR时,解码端的计数器会对本地时钟进行计数,并将本地的PCR与来自传输流的PCR进行比较,利用这个差值控制本地时钟,保持与TS流时钟的一致。之后,再利用PES头信息中的
DTS和
PTS进行音视频的同步,来确定解码和显示的时序。同时利用VBV_Delay在解码端的Buffer充盈到相应程度后启动初始解码。
PCR容忍度
由于晶体振荡器的器件差异性,以及传输链路各个环节的延时和抖动的影响,虽然在编码和解码端都采用27MHz系统时钟,也不可能保证27MHz系统时钟的完全精准和两端时钟的完全同步。因此,在传输流中采用插入PCR的方法来控制和实现编码和解码时钟的同步,同时,对
PCR容忍度进行了限定。不同系统对PCR的容忍度不同,DVB系统对
PCR进行了如下要求:每一路节目连续2个PCR字段的时间间隔不能超过100ms;在不包括由于网络抖动或其它原因造成的TS包延时到达(PCR延迟)的情况下,每一路节目的PCR精确度的最大容忍度要求在±500ns之间;每一路节目的原始视频流或原始音频流都必须在700ms内出现2次或2次以上的显示时间PTS字段。我国的数字电视系统沿用
DVB的要求。只有当传送流符合这些限定时,解码端才能正常解码和显示。否则,会直接导致系统端到端总延时的不恒定,影响解码端同步时钟的恢复,从而进一步影响解码图像的画面效果,以及视音频的同步效果。产生PCR抖动的原因,进行PCR校正的必要性
特定编码方式对PCR的影响
在数字视频编码压缩系统中,由于
I、B、P三种类型的帧所含信息量和编码方式的不同,决定了视频的编码压缩方式是可变比特率(VBR)的。它们经编码压缩后所占的数据量的不同使得每一帧的传输延时不一样。因此,不同视频PES包的长度是不同的,而广播传输信道的带宽是固定的。要想用CBR(不变比特率)方式传输VBR压缩的视频,就需要把固定带宽分配给每一个输入码流。当输入码流的比特率比传输带宽窄时,需要按需加入一些空数据包以得到
CBR的TS流来维持分配得到的CBR带宽。这种为满足传输信道固定带宽需求的做法,会加大视频数据的缓冲和延时。另外,由于数字电视的音频与视频基本流的传输是交错进行的,这也使得时间轴发生很大变动。经传输后的数字视音频信号的同步已经失去了原有时间序列的概念。为实现同步,就需要间隔地加入单一系统时钟做基准,以便接收端能根据这个时间基准对接收到的音视频包进行重新排序,重建压缩编码之前的时序,从而实现视频同步以及音视频同步。由此可见,要实现数字电视的同步机制,PCR的插入及其精确性至关重要。
传输对PCR的影响
码流中插入的PCR在传输和处理过程中会受到各种因素的影响而发生偏离,当偏离超过规定的限定时,必须对其进行调整和校正,将其控制在误差范围内,解码端才能正常解码和显示。通过
IPQAM调制方式传输和处理的信号,PCR的偏移因素包括以下几个方面。1.IP网络特性对视音频PCR的影响首先,IP网是个尽力而为的网络。相对于网络的丢包和抖动而言,IP网并不关注PCR的信息。因此
IP网络里的视音频包在打包和协议转换过程中,并没有进行PCR的调整。从接收端而言,IP接收机或播放器没有本地时钟,因此也不需要考虑其上承载的视音频流的
PCR问题。其次,IP网上传输的是VBR信号,在TS包打成IP包的过程中,为节省带宽,TS流内的空包会被滤除,我们知道,TS流中的PCR是按照一定的时间间隔均匀插入的,任何包的删除都会影响PCR的间隔,相邻PCR之间删除的包越多,PCR间隔改变越大。从而造成原本均匀分布的PCR变得不再均匀。另外,不同的传输方法或传输协议、IP流的打包方式、网络状况的好坏、IP设备的缓冲大小,交换机、路由器所带负载均衡的大小等,都会影响包的丢失和排序,从而影响最终的PCR值。因此,
IPQAM调制器从IP网上接收到的视音频数据包的时序(PCR)已经发生了很大的偏离。2.由IP包到TS包的转换对PCR的影响一般每个IP包封装7个TS包,IPQAM
调制器接收到一个IP包就意味着某一时刻同时接收了7个TS包,因此,经过
IPQAM调制器解析出的整段TS流的PCR的时序提前或滞后非常严重,而且码率也变得很不均匀。
IPQAM调制器将这些码率不均匀的SPTS再复用成MPTS之前,为减轻
IPQAM设备缓冲区处理和系统负荷,还需要将多余的空包滤除,然后对TS流进行分析和处理。另外,再复用前的每个
SPTS都有一个PAT表和一个PMT表,再复用后的MPTS流只需一个PAT表和多个PMT表,这就需要过滤掉多余的PAT。我们知道不同性质和内容的TS包用不同的PID标志,为了保证将
SPTS再复用成MPTS后每个节目的PID不产生冲突,需要将来自不同
SPTS的相冲突的PID进行变化处理,重构
PSI/SI信息。此后,为了满足广播信道恒定带宽的需求,再复用后输出码流的码率应该恒定,且大于各路码率之和。再复用输出时,当各路数据不满足输出码率要求时,就需要插入空包来匹配码率。综上所述,空包和
PAT的删除、再复用时PID的修改、空包的插入、码率的变化等操作会破坏源节目流的时序关系,原来SPTS中相邻的PCR之间包数量的减少或增加,会造成PCR相对位置的较大改变,从而产生大范围持续时间长的
PCR抖动。要想恢复原有的同步时钟,再复用过程中必须对PCR进行调整或校正。假设射频信道是理想的,以上过程产生的PCR抖动将是影响终端解码的最关键因素,因此,为保证端到端总延时的恒定,在IPQAM
调制器中对PCR进行校核和重标记是必须。PCR测试
为保证数字电视机顶盒用户视频点播的正常接收,必须对
IPQAM调制器输出的码流进行PCR测量。在TR 101 290 DVB
系统测试指导中,提出了针对PCR抖动测试的几个相关参数,这些参数不仅衡量由系统时钟精度和再复用时造成的PCR错误,还包括由传输链路造成的PCR错误。
基础监测
在
TS流三级监测的第二优先级中,给出了PCR错误监测,包括
PCR重复间隔错误、PCR-AC精度错误和PTS的错误。从中我们可以监测出错的PCR,以及出错
PCR的PID。在第三优先级中,给出了缓冲器的错误,从中我们可以监测缓冲器的上溢或下溢。
PCR测量
除了在三级监测中实时监测
PCR的信息外,还需对PCR做进一步分析和测量,才能了解
TS流中抖动的真正大小和原因。其中包括PCR的抖动、
PCR精度和PCR的间隔等的测量。
1.PCR总抖动(PCR_OJ)PCR-OJ(overall Jitter)测量的是PCR实际到达测量点的时刻与它应该到达的时刻之间的高频分量瞬时值之差。测量时以外部独立时钟参考源为基准。它包含影响PCR值的所有累积误差:时钟的精度误差、PCR发生和再生的误差以及传输损伤引起的误差等。PCR总抖动实际上是由PCR精确错误和传输延迟造成。它是一个实时测量项,在传输链路的每一个监测点都会不同,不同的传输方法对PCR-OJ的影响也不同。如果假设传输路由引入的抖动为零,则该参数的值与PCR-AC相同。PCR-OJ包含了由传输链路引入的PCR到达时间的误差分量,因此,该项参数的测量重要性显而易见。
2.PCR精度(PCR_AC)PCR精度(PCR_AC)是指27MHz系统时钟的不准确度,也就是
PCR字段的实际位置与源PCR位置的偏差。这个偏差可能是由节目时钟的精度或系统再复用引起的PCR值的改变造成的。但不包含传输引起的损伤。PCR_AC不受传输模式的影响,是一个非实时测量项,它只依赖于已知流的比特率以及PCR之间的比特数。因为它与传输链路延迟没关,所以在传输链路的任意点,只要PCR值保持不变,PCR_AC就保持不变。PCR_AC的限度是±500ns。值得注意的是,该参数只对恒定速率的
TS流有效,对于可变速率的TS流,PCR_AC的测量无意义。
3.PCR的重复间隔PCR的重复间隔是指TS流中两个连续的PCR值之间的最大时间间隔,也就是PCR插入的时间间隔。这个间隔不能大于40毫秒,过长会影响解码端27MHz
本地时钟的恢复精度,造成本地时钟发生抖动或漂移,严重时会造成解码时钟与信号源的时钟失锁,使解码不同步。由于系统的再复用器和解码端均靠接收PCR来输出精确地系统时钟。因此PCR到达时间的准确性非常关键。
4.PTS和DTS测量DTS为视频的解码时间,
PTS为视频的显示时间或音频的起始回放时间。两者都是对系统时钟的
300分频的计数值,与PCR
有相同的时间起点。在测量数字电视
TS流的DTS、PTS应该注意的是:由于视频的B
帧采用双向预测编码,B
帧解码时,不仅需要参考前面的帧,也要参考该
B帧后面的P帧或者
I帧,也就是其后面的帧需要先解码。这使得解码的时间顺序与显示时间顺序不一致了。因此,一个图像单元被解出后、显示前需要在存储器中停留一段时间进行重新排序。所以视频的
I帧和P帧一定要同时插入PTS和DTS作为从新排序的依据。而B帧的解码次序不变,无须插入DTS,只需要插入PTS。而对于音频来说,其解码顺序不会改变,因此只采用
PTS,没有
DTS。这是测量
PTS和DTS需要注意的。DTS、PTS都是每隔一段时间周期性地插入到
PES头信息里,用于通知解码端何时解码和显示一个图像帧。若DTS
和PTS发生偏离,会使得显示/解码过慢或过快,无法正常解码或显示。
结论
数字电视传输流中的时钟信息均为对共同系统时钟的采样值。其作用是使解码端准确捕获
PCR,正确恢复出本地系统时钟,作为音视频同步控制的基准,并依据
PTS(DTS)时间标签来安排解码和显示时间,实现音视频同步。
PCR的准确性保证了其节目时钟的稳定及输出音视频的稳定。其重要性不言而喻。因此,
IPQAM调制器在完成多路SPTS流的再复用时必须对
PCR进行校正。IPQAM
调制器的PCR校正算法有多种,精度也有一定的差异。由于本文的篇幅有限,不做累述。
参考文献[1] ETSI TR 101 290 V1.2.1 Digital Video Broadcasting (DVB);Measurement guidelines for DVB systems[2]刁鸣,张帅,邹旭杰
. 基于IP的DVB实时复用器中时序处理算法.《应用科技》,2010年5月,第37卷第5期[3]GY/T 198-2003
有线数字电视广播QAM调制器技术要求和测量方法[4]
洪波,邹志永,王匡. 数字电视广播中的编解码器的同步机制.《中国有线电视》,2003,11[5]
冯怀成 数字电视节目传输中PCR抖动解决办法
.《电视技术》,2013,37
编辑:中国新闻技术工作者联合会
评论 点击评论