科技时代新浪首页 > 科技时代 > 通讯与电讯 > 正文

卫星与网络:传输流中PCR的抖动原因及解决方案


http://www.sina.com.cn 2006年09月08日 17:36 《卫星与网络》杂志
科技时代_卫星与网络:传输流中PCR的抖动原因及解决方案
图1 编码器/复用器中的PCR插入
点击此处查看全部科技图片


科技时代_卫星与网络:传输流中PCR的抖动原因及解决方案
图2 含有PCR的传输码流包结构
点击此处查看全部科技图片

  查小亚 张树春

  宁夏电视台 宁夏 银川 750001

  【摘 要】:本文详细介绍了数字传输流中引入PCR的原因,以及PCR是如何插入和使用,分析了造成PCR抖动的原因,并通过理论解决了现实传输流中的PCR抖动。

  【关键词】:抖动间隔 缓冲区 相位锁定环路 节目时钟参考

  2005年6月,宁夏卫星地球站为宁夏电台打开了一路立体声通道,准备开通宁夏全区调频同步广播,在8月份进行的相关测试中,发现节目流中的PCR抖动非常大,达到了206us,远远高于500ns的抖动门限,而且最大延时也超过了延时门限(40ms),为40.35ms。这样的测试结果确实出乎意料,因为接受测试的这套设备,分别是Harmonic公司的MV12和Radyne公司的DM240调制器,是我们的主用设备,整套设备的工作状态一直非常稳定,我们所能测的各项指标也完全合格。那么是什么原因引起了PCR的抖动?这种抖动会对接收产生什么影响?解决上述问题,就需要深层次了解PCR。

  一、为什么会有PCR

  如果编码器按其时钟CK1编码,而解码器按其时钟CK2解码, 若CK1>CK2, 则解码器的缓冲区就会溢出;若CK1

  二、PCR在相关协议内的规定

  在MPEG-2标准中,假设传输中所有参量的延迟都是一样的,编码器和解码器之间的延迟也是固定的,则解码器利用接收到的PCR值,通过锁相环PLL锁定本地系统时钟,使解码器服从于编码器,从而产生解码与播放的同步信号。但是在实际中,如果由于时钟的突然变化、再复用时对PCR的修改、传输码率的变化或传输网络抖动等原因,改变了固定的延迟,就有可能引起已有的PCR值与实际接收到的PCR值之间的差异,这就是PCR的抖动。PCR抖动也就是PCR的不准确度,是相对于平均值的偏移。对于MPEG-2标准,PCR抖动量≤±4 ms,对于DVB标准,PCR抖动量≤±500 ns(即PCR的精度必须高于500 ns)。PCR间隔是指同一节目里两个连续的PCR之间最大的时间间隔。DVB中要求同一节目里两个连续PCR的时间间隔不能超过100 ms,或整个发送间隔应不大于40 ms,解码器要能够对PCR间隔在100 ms以内的节目正确操作。

  尽管PCR间隔错误(PCR Discont)和PCR精度错误(PCR accuracy Error)列在ETR290(DVB系统的一个测试文件)的第二优先级中,但与第一优先级的参数有同样重要的地位。PCR间隔错误将导致接收端的时钟抖动或漂移,影响画面显示时间;PCR抖动错误将影响接收端系统时钟的正确恢复,解码时会出现马赛克现象,严重时不能正常显示图像。

  三、PCR的插入和使用

  由于标准数字视频信号(625行50Hz或525行59.94Hz)以27MHz 时钟为基准,那么节目时钟也就是27MHz。PCR是计数器的抽点打印,被节目时钟所驱动。当带有PCR的包发送时,就将PCR计数器的值拷贝,然后以某种特定的时间周期插入到传输码流(TS)的数据包中,处理过程如图1所示。图上复用器输出端的传输码流中不仅包括有编码的视频数据包,还包括含有PCR值的某些数据包。每个PCR的精确值由其在传输码流中的精确位置所决定(注意TS时钟与节目时钟完全无关,还要注意多节目传输码流中通常是每个节目均含有PCR)。数据包头包含的PCR信息如图2 所示。图中有6 个字节(48 bits)用作PCR时间参考,包括基本部分节目时钟参考(Program Clock Reference Base)33 bits,扩展部分的节目时钟参考9 bits(Program Clock Reference Extension),保留6 bits(有时用作PCR数值的时间参考信息)。复用器应当保证插入在TS中的PCR值反映它在TS中的最终时间定位。在接收器中,由TS和计数器数值中恢复的PCR值同由本地产生的计数器数值之间的差值就可用来驱动一个相位锁定环路(PLL)以控制本地时钟。时钟间的差值大小会引起本地时钟或多或少的变化,PLL的特性反映了这种实际变化。再复用器可用同样的方式再生本地节目时钟,为其输出端PCR 重作标记。再复用器输入端存在的任何定时损伤均可传送到输出端,加之再复用器自身可能引入的损伤,这些均会在传输链路中带来一系列问题。为了消除DVB系统中节目素材中的接收错误,PCR是必不可少的。

  四、造成PCR抖动的原因

  PCR值抖动的主要原因有时钟的突然变化,再复用时对PCR的修改,传输码率的变化及传输网络的抖动等。1、时钟变化:正常的PCR取样时钟为27MHz,单个时钟周期为37ns,因此PCR的插入精度不得大于37ns。如果由于某种原因取样时钟变为26MHz或28MHz,则单个时钟周期为38.5ns或35.7ns,必然引起PCR抖动;2、节目复用或再复用:节目复用或再复用过程中需要产生或再生PCR。复用器中的PCR插入机制应能确保TS流中PCR的准确位置,从而插入正确的数值,该点的任何计算错误将会导致PCR的不准确。再复用器必须改变TS流中数据包的相对位置,再插入PCR值的相应变化应当反映任何位置的变化。因此由复用器(或再复用器)的插入(或再插入)的计算错误会造成PCR精度的不准确。3、PCR在TS流中传输时造成的损伤:假设接收机中的TS时钟是理想的,由于传输系统中的定时漂移,PCR在到达接收机/再复用器时间上的任何变化会在接收时钟样值与本地时钟样值间产生完全相同的变化差值,这种差值会对PLL和再生时钟产生同样的影响。消除传输损伤的简单的方法是识别传输损伤中的PCR精度,俘获数据流并存入硬盘,而后以恒定比特率重放该数据流。假定重放的传输码流时钟是稳定的,那么任何传输损伤将会被消除。4、传输码率的变化:如果码流均匀的从编码器传送到解码器,则每个包的传输时延都一致为Tdelay。 但是如果码流经过复用器或调制器,而复用器或调制器的传输码率又与调制器不一样,则可能因为排队问题造成每个包到达解码器的时延不一致,从而引入抖动。

  五、宁夏卫视节目传输流PCR的抖动原因及解决方案

  前文已经叙述过,造成PCR抖动的主要原因有时钟的突然变化,再复用时对PCR的修改,传输网络的抖动及传输码率的变化等,经过测试和分析,发现问题出在传输码率的变化上。

  今年7月5日,宁夏卫视完成转星任务,期间我们对所有编码器、调制器按照新参数进行了重新设置,由于在MV12编码器面板上设置传输流的输出时只能到小数点后的两位,所以当时编码器的输出速率设置为6.63Mbps,调制器的输出速率设置为6.635294 Mbps(标准输出速率:4.8M Symbol/second(符号率)*3/4(RS码)*2bit/ Symbol(QPSK)*188/204(RS码)=6.635294 Mbps)。当编码器速率低时,调制器会在原有的码流中间插入空包以填补编码器速率的不足。在目前的输出符号率下,发送一个空包的时间为:188byte * 204/188(RS码) * 8bit/ byte * 4/3 (卷积码) / 2 bit/symbol (QPSK) / 4.8M Symbol/second (符号率)= 227 us (此计算值近似于实测值,实测值为206us,详细计算要比这复杂的多)。若空包刚开始发送,带有PCR的包就已到达,则这个包就比刚好不用等待的包到达解码器的时间多出227 us,从而引入较大抖动。

  我们用网管对MV12的输出速率进行了重新设置,使其和调制器的输出速率一致,然后对这套系统的输出进行重新测试,结果完全合格,其中PCR抖动精度为37ns,远远低于500ns的抖动门限,最大延时30ms,低于40ms的延时门限。

发表评论

爱问(iAsk.com)



评论】【论坛】【收藏此页】【 】【多种方式看新闻】【下载点点通】【打印】【关闭




科技时代意见反馈留言板 电话:010-82628888-5595   欢迎批评指正

新浪简介 | About Sina | 广告服务 | 联系我们 | 招聘信息 | 网站律师 | SINA English | 会员注册 | 产品答疑

Copyright © 1996 - 2006 SINA Inc. All Rights Reserved

新浪公司 版权所有