ATM网络MPEG-Ⅱ比特率测量系统的设计实现


1引言
MPEG-Ⅱ作为一种运动图像国际标准已经得到广泛应用,数字视频广播(DVB)已经将MPEG-Ⅱ作为一种源格式 。在许多实际应用中包括卫星广播、数字电缆和高清楚度电视HDTV,MPEG-Ⅱ分组是通过编码器同步接口输入到信道中 。而在宽带数字通信网中如ADSL,FTTC和宽带IDSL是将MPEG-Ⅱ分组转化成另外一种网络传输分组,在这种情况下,一定数目的传输流分组被压缩成一个ATM AAL-5 PDU单元,在分组交换时,PDU被分解成几个ATM单元 。至于有多少传输流分组压缩成为ATM AAL-5 PDU单元,主要与ATM网络协议有关,一般是2个传输流分组压缩成一个AAL-5 PDU单元 。一个网络中传输的MPEG-2传输流需要内部的分组延迟进行时间上的控制,这种控制主要是为了发送程序参考时钟,从而在系统接收端进行解码时对系统时钟进行恢复 。同时也可以避免解码器的输入缓冲的上溢和下溢 。
在设计一个视频发送系统的时候,对MPEG-Ⅱ传输流的比特率实行精确的控制就显得尤为重要 。当MPEG-Ⅱ分组进行直接传送时,系统时间的控制是比较简单的,要害问题是如何对视频源的输入时间进行精确的计算 。假如解决了这个问题,解码器端的解码时钟或者系统层复用器输入的系统时钟基本能够和编码器的系统时钟保持同步 。假如当前网络能够容忍一定量的分组延迟,那么对网络堵塞而造成的分组延迟就不是我们所关心的目标,因此对MPEG-Ⅱ进行比特率测量对于整个解码器的设计或者视频发送系统不是显得很要害的问题 。但是当MPEG-Ⅱ传输流分组转化成另外一种格式如ATM AAL-5 PDU单元的时候,对由于网络堵塞而造成内部分组延迟甚至是分组丢失就成为一个能否有效解码的十分要害的问题 。在这里我们提出了一种简单而有效的方法,可以在解码器或者系统层复用器接收端进行有效的MPEG-Ⅱ比特率测量 。通过用MPEG解码芯片和一个嵌入式处理器对MPEG-Ⅱ传输流的程序参考时钟进行统一治理 。由于MPEG-Ⅱ传输流程序参考时钟是根据一定的编码器系统参考时钟设定的,所以通过对其实时监控就可以基本确定该流的比特率,同时将当前解码器的参考时钟和程序参考时钟PCR进行对比,就可以对要测量的网络堵塞进行校验 。而且设计了一种硬件测试评估卡对该方法进行了验证,验证的结果基本符合当前CATV或者HDTV的要求 。
2网络堵塞和系统参考时钟的恢复
根据MPEG-Ⅱ国际标准,编码器将系统参考时钟(27 MHz)的1/33进行编码,编码后的数据进行一定扩展和处理后作为程序参考时钟PCR嵌入到传输流分组中 。因此在解码器端,通过对PCR的恢复就可以确定编码的系统时钟,从而达到编解码的同步 。由于在传输流中,含有PCR字段分组的PID值在程序映射表(PMT)得到确定 。根据这个含有PCR字段的分组PID就可以参考设置将第一个含有PCR的分组作为系统时钟STC的参考PCR,然后将其余的含有PCR字段的传输分组中的PCR的值通过一定的方式处理就可以恢复系统时钟 。恢复系统时钟的方法如下:
(1)将第一个PCR的值对STC进行初始化 。
(2)考虑解码器输入缓冲的上溢和下溢的影响,对其大小进行一定的估计,从而确定解码输入缓冲 。根据当前MPEG-Ⅱ传输流的最大码率计算,连续含有PCR字段的分组的时间间隔必须小于0.1 s 。
(3)对于连续到达的PCR的值进行锁定,通过和第一个PCR的值进行对比,就可以确定STC 。
由于在MPEG解复用器输出到缓冲器的过程中以往没能对其码速进行测量,从而会造成缓冲的上溢,而在视频和音频解码器端,在缓冲输入到解码器的过程中,同样原因而造成缓冲的下溢 。为此在ATM/CATV网络到MPEG解复用器的过程中,假如能够添加一个接收器的比特监控单元,将能够减少由于网络堵塞而造成的麻烦 。

推荐阅读