理性回归线
soararing
全部博文(281)
2013年(1)
2012年(18)
2011年(16)
2010年(44)
2009年(86)
2008年(41)
2007年(10)
2006年(65)
zzbok
myfaxmai
along819
libingji
校语干_x
jiejie15
ctylihua
arrogant
breezeya
itolpesd
cynthia
分类: LINUX
2010-02-24 10:00:17
二. MPEG-2系统层标准 MPEG-2标准,即ISOIEC13818是数字电视系统的基础,它规定了两种系统层码流格式:一种是节目码流(Program Stream,PS),即PS复用器将一个或几个具有公共时间基准的PES包组合成单一码流,包的长度相对较长而且不固定,它适用于错误相对较少、信道较好的环境,如演播室、家庭环境存储媒介中。另一种是传输码流(Transport Stream,TS),即PES流进入传输复用器中切割成一个个固定长度为188字节的包。适用于较容易发生错误的环境,如广播传输信道。在MPEG-2传输流中,包长固定为188byte每个包由4byte包头、可变数字节的适配域(Adaptation field)以及净荷(Payload)组成。包头包括:同步字节、根据内容不同且长度固定为13bit的包标识(Packet Identifier,PID)、包连续计数器及其他各种标志位.在自适应字段中,比较重要的信息包括42bit的节目时钟基准(Program Clock Reference,PCR)字段。
三. 复用器的关键技术 如果在一个电视频道内复用几路TS流,也即在一个常规频道内传输多套数字电视节目,则称为多路节目的双层复用。第一层复用称为节目复用,第二层复用称为传输复用。传输复用器的基本功能是将来自不同传输流的包进行重新组合,然后放到输出传输流中去。其关键技术有PCR的校正、PSI信息的重构和PID的映射。 (1)PCR校正(PCR correction):PCR由33bit基值(Base)和9bit扩展值(Extension)组成,PCR值以系统参考时钟周期为单位记录了源端的时间信息,对于整个数字电视系统的同步起着关键作用。在节目复用器中,有一个分为两段的42bitPCR计数器,分别对应传输流PCR字段的基值和扩展值。扩展值以节目复用器系统参考时钟(2MHz)为基准在0~299之间循环计数;扩展值每计到300时清零,同时,基值加1。在PCR字段最后1个字节离开节目复用器前的那一时刻,基值和扩展值分别被插入到传输流包的相应位置。在接收端,通过对PCR值的提取,利用锁相环电路恢复出与源端基本一致的27MHz时钟,作为接收端工作的基准时钟。在再复用器中,由于输入传输流的各个包经过再复用器的处理后延时各不相同,有必要对各个节目PCR字段的内容分别进行修正,这种操作称为PCR校正。其基本算法用公式表示如下:
四. PCR校正的重要性及PCR抖动 1.PCR校正的重要性 PCR是TS流中节目参考时钟的英文缩写,利用PCR可以使数字电视接收机或机顶盒的解码视频输出与编码器端的视频源同步。从MPEG-2的模型来看,必须要保证传输系统是一个恒定延时系统,它的端到端的延迟(从信号进入编码器到信号从解码器输出)是一个常数。如果不进行校正或者校正精度不能满足要求,解码器所恢复的图像容易掉彩色,还会出现周期性的黑屏现象,同时图像会伴有马赛克,严重时会出现死机。 PCR是整个MPEG-2传输系统中的统一时钟,它的作用是将发端的27MHz时钟以PCR时间戳的形式注入码流中,而收端是否能够根据该信息无偏差地恢复出发端的参考时钟以达到收发时钟的同步,这对系统的性能有至关重要的影响,因此对PCR的研究一直是热点问题,其中主要的难点是如何校正并消除人为处理和网路阻塞等影响带来的PCR抖动。 2.非均匀延时和PCR抖动 通常情况下,经过复用和再复用后,PCR值并不能完全精确地反映信源编码端的时间信息,这种现象称为PCR抖动(PCR jitter)。复用器增加的PCR抖动量主要有以下几个来源:①本地27MHz时钟与节目复用器中系统参考时钟不一致;②本地27MHz时钟与输入传输流时钟不一致;③本地27MHz时钟与输出传输流时钟不一致。 下面通过一个例子说明非均匀延迟。假若在某TS流中,PCR1和PCR2之间的原始码速率是a,设为所表示的换算为秒的时间,两者的间隔为m1(bit),显然,根据PCR原理得到a=m1/△PCR。现在,由于传输过程中的各种原因,PCR1和PCR2之间的码流速率变为b,两者间隔为m2,如果要求b=m2/△PCR(即变化后的PCR仍然能够准确地反映当前速率),则必须有:
五. PCR 校正的基本原理 1.TS流的帧结构 有线电视传送采用GB/17975.1-2000中规定的MPEG-2传送层,MPEG-2数据传送层由188个字节的包组成,每个包由分组包头及有效负荷组成,如图1所示。包含PCR的TS流包结构如图2所示。
六. PCR校正的方法 不同的复用器中,由于PCR校正实现的方法各不相同,以附加PCR抖动大小(即校正精度)为主要指标的性能差别也很大。下面分别介绍几种PCR校正方法。 1.基于相同实际的PCR校正方案 在13818协议中并没有对PCR的时基作明确的规定,即1路TS流中的多路节目的PCR 可以使用相互独立的时基,也可以使用统一时基(显然现实中不同节目的产生是不相关的,所以往往在复用时保留原有不相关的时基),PCR的作用在于为收端提供一个时钟基准,所需要的是PCR之间的差值,而每一个PCR的绝对值是没有意义的。所以,利用一个本地27MHz时钟按照13818协议的规则重新生成42位PCR值,当TS流中存在多路节目时,不区分当前的PCR域内为哪一路节目的PCR,而是利用一个统一的时钟根据时间在每一个PCR域内顺序置入新的PCR值,这样多路节目的PCR共享一个时基,而在恢复时钟时无需判断是哪一路节目的PCR,只需根据PCR的先后顺序进行锁相恢复即可。由于第二次PCR置入是在速率变化之后,最终输出的PCR值可以无抖动地反映调整之后的码流速率,可见尽管码率调整使得PCR出现抖动,但是重新置入PCR使得抖动消除。 2.关于基于相同时基的PCR校正策略的改进[4] 基于相同时基的PCR校正方法存在一定的弊端,由于采用本地27MHz时钟进行PCR的重新置入,最终恢复出来的27MHz时钟必然是本地的参考时钟,假如这个时钟与原参考时钟有偏差,那么这个偏差将不断积累,假如原参考时钟是产生PS流时产生PCR的参考时钟(这个时钟也是最终收端所需要的时钟基准),这个偏差的积累最终可能导致缓冲区的溢出并使解码产生不良效果,所以在置入时准确地恢复出原27MHz时钟,使重新置入PCR参考时钟无偏差或偏差较小,基于此,对该方案提出了改进。 具体方法是从第一次PCR的重新注入开始,每一次重新注入PCR之前,首先通过,码流中的原有PCR恢复出参考时钟,并用这一时钟来产生新的PCR,从PS流开始,第一次引起PCR抖动的是MPEG-2复用器,而在码流被复用以前其PCR是完全没有抖动的,从这里开始使用上述方法,可以解决时钟偏移量积累的问题。最终的整体FPGA实现框图如下。
七. 结束语 在复用器系统中凡涉及到TS流的解复用和在复用都不可避免的要涉及到PCR校正问题。通过分析PCR校正的原因,介绍PCR校正的基本原理和现有的一些不同的PCR校正方法,可以为以后的研究和设计奠定一定的基础。
上一篇:什么是jtag接口
下一篇:IPB帧编解码顺序
登录 注册