分享
 
 
 

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

王朝other·作者佚名  2008-05-31
窄屏简体版  字體: |||超大  

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解复用器的过程中,假如能够添加一个接收器的比特监控单元,将能够减少由于网络堵塞而造成的麻烦。

假如从传输分组中得到的含有PCR字段的分组,由于网络堵塞而造成PCR的值随机延迟,解码器和嵌入的系统处理器,将会按照一定的算法对PCR的值进行校正,从而恢复STC。这个校正和当前的MPEG比特率有密切关系,是将当前MPEG比特率对PCR的值进行一定的补偿从而恢复PCR的原值。假如对当前的PCR不进行校正,那么视频解码、图像和D/A转换都会由于这个STC的无法恢复而受到影响。为此,在整个解码器或者解复用器的系统设计过程中,对当前MPEG比特率的实时监控和测量是至关重要的,它的目的就是为了对当前网络传输的延迟进行实时的测量和监控。假如在接收器中能够实时跟踪测试当前的比特率的话,那么基本上ATM/CATV网络的传输延迟(网络堵塞)将会在解码器端得到实时的补偿。

3接收端MPEG比特率的测量算法

在ATM或者CATV网络传输过程中,MPEG-Ⅱ传输分组由于网络堵塞而造成的随机延迟,使得在解复用器或者解码器端接收到的分组系统时钟和发送端输出的有一定的偏移,在理想情况下,往往对这个偏移不进行考虑,但正是由于这一点而造成视频解码无法正常工作,或者图像无法恢复到原先的状态。在这种情况下,对系统时钟STC的恢复将会在一个不确定的状态下进行。为了避免这种情况的发生,就必须对STC的状态进行检测,将当前得到的PCR的值和本地产生的时钟进行比较,比较的公式推导如下:

(ΔSTC-ΔPCR)ΔSTC=(Δb/ΔPCR-Rf)(Δb/ΔPCR)(1)

式中:ΔSTC=STC(t)-STC(t-1)

ΔPCR=PCR(t)-PCR(t-1)

Δb=b(t)-b(t-1)

t——PCR到达时间

b(t)——在PCR到达时间t时刻累加的比特数

Rf——在两个连续过程和更多的PCR之间的运行时间比特率

假如这里用Sf来替代Δb/ΔPCR,那么(1)式就可以变为:

(ΔSTC-ΔPCR)/ΔSTC=(Sf-Rf) /Sf(2)

在上式中很轻易看到Sf能够在视频信号传输之前就可以得到,而且Sf在恒定比特率传输流CBR中是一个常量K,因此在CBR中将上式可以演化成为:

Rf=(ΔSTC/ΔPCR)K(3)

而在可变速率MPEG-Ⅱ传输流(VBR)中由于Sf是一个变量,因此(2)式可以演变成为:

Rf=(ΔSTC×Δb)/(ΔPCR×ΔPCR)(4)

4硬件测试系统

为了对上述的MPEG-Ⅱ TS比特率算法进行验证,设计了一种硬件测试评估系统,对上面的算法进行实时验证。系统主要由视频服务器和嵌入的处理器组成。视频服务器主要是为了发送MPEG-Ⅱ传输流分组。发送码速是仿真于网络堵塞而造成的网络延迟的分组码速。当MPEG-Ⅱ传输流分组到达处理器后,处理器首先对含有PCR字段的分组进行处理,过滤出PCR的值。处理器主要由两个模块构成:分组处理器和MPEG-Ⅱ系统层解复用器。分组处理器主要将PAT表和PMT表进行处理,同时将处理后的含有PCR字段的分组PID值进行保存输出到解复用器中,解复用器根据PID值对传输流分组进行分解,将含有PCR值的分组进行过滤,同时将该分组中的PCR值提取出来。这里分组处理器用FPGA电路设计,解复用器采用了TMS320VC5410 DSP芯片,解复用器将PCR值进行提取,提取的相邻PCR值相减从而获取ΔPCR,用这个ΔPCR值利用锁相环PLL倍频后得到27 MHz时钟。处理后的MPEG-Ⅱ音频流直接输入到音频解码器中,视频流输入到视频解码器的输入缓冲中。恢复的系统时钟STC作为解码时钟输入到音频和视频解码器中。

MPEG-Ⅱ传输流分组是通过基于NT系统的广播服务器产生。为了便于控制MPEG-Ⅱ比特率,MPEG文件系统数据通过PC机上的流产生器转化成MPEG-ⅡTS分组,同时将该数据流通过数字接口直接输出到分组处理器中。这种处理方式比直接从ATM/CATV网络下载传输分组来测算比特率和系统时钟更加有效。视频服务器可以根据算法的需要将MPEG-Ⅱ传输码率进行调整。不同的码率输入到分组处理器中可以验证上述算法的正确性。同时为了有效控制网络堵塞,避免其他网络延迟对测试比特率的影响,服务器和分组处理器以及MPEG-Ⅱ TS直接连接在一起,用RS422接口去保持信号的稳定性。管脚的物理连接和DAVIC1.1规范中的高速数据I/O保持一致。

5测试结果评估

利用这个测试系统进行了两个测试结果分析:码流的非连续性和多用户输入情况下的比特率。

(1) 码流的非连续性分析

测试码流的非连续性主要是为了分析当前的解复用器驱动程序能否有效地检测到由于网络延迟而造成的码速变化。这种情况在很多方面都可以看到:如CATV中的网络传输失败,VOD中的视频服务器传送失败,视频播放器播放节目完成等都可以引起当前传送码速的改变,但要注重的是,无论当前传送码流的比特率如何改变甚至是停止传送,当前解复用器中的驱动程序必须能够检测到变化,这样才能够实时测量当前的MPEG-Ⅱ比特率。图像下凹点表示当前MPEG传输分组在PCR到达时间大约在30~35 s的时候流比特率变为0。

(2) 多用户输入情况下的比特率测试结果分析

在多个用户输入情况下,网络的比特率和单路有不同之处。当在CATV网络系统中,在多个用户与网络连接后,服务器可能通过同一个传输通道对每个用户进行服务。比如在VOD中,6路MPEG-Ⅱ传输流共享一个传输通道,这就涉及到了网络资源动态的分配问题。网络带宽的动态分配和每路传输流当前的传输比特率有关,所以在多个用户挂载情况下的比特率测试,对每路TS的比特率测试和计算就显得尤为重要。

6结论

MPEG-Ⅱ运动图像压缩编码已经成为当今数字广播电视系统中一个非常重要的标准,尤其是在数字电视应用领域。在这些应用领域中,最要害的一个问题就是让MPEG图像传输保持一个稳定的比特率,这样就在解码的时候能够对STC进行有效的恢复,从而保证视频和音频的正确解码。测试MPEG-Ⅱ传输流的码率往往需要一些专业的工具和知识,但是通过应用分组处理器和解复用器,就可以非常简单而有效地完成这个任务。这里提出的MPEG-Ⅱ比特率测试原理和方法,在实际的解码系统终端设计中也具有广泛的应用。为此这里也设计了一种硬件测试平台对其进行评估,评估的结果基本符合实际要求。虽然在这个测试平台中,应用的是视频服务器,用文件的形式来仿真实际的MPEG-Ⅱ传输流数据,但这并不影响这个方式的正确性。

 
 
 
免责声明:本文为网络用户发布,其观点仅代表作者个人观点,与本站无关,本站仅提供信息存储服务。文中陈述内容未经本站证实,其真实性、完整性、及时性本站不作任何保证或承诺,请读者仅作参考,并请自行核实相关内容。
2023年上半年GDP全球前十五强
 百态   2023-10-24
美众议院议长启动对拜登的弹劾调查
 百态   2023-09-13
上海、济南、武汉等多地出现不明坠落物
 探索   2023-09-06
印度或要将国名改为“巴拉特”
 百态   2023-09-06
男子为女友送行,买票不登机被捕
 百态   2023-08-20
手机地震预警功能怎么开?
 干货   2023-08-06
女子4年卖2套房花700多万做美容:不但没变美脸,面部还出现变形
 百态   2023-08-04
住户一楼被水淹 还冲来8头猪
 百态   2023-07-31
女子体内爬出大量瓜子状活虫
 百态   2023-07-25
地球连续35年收到神秘规律性信号,网友:不要回答!
 探索   2023-07-21
全球镓价格本周大涨27%
 探索   2023-07-09
钱都流向了那些不缺钱的人,苦都留给了能吃苦的人
 探索   2023-07-02
倩女手游刀客魅者强控制(强混乱强眩晕强睡眠)和对应控制抗性的关系
 百态   2020-08-20
美国5月9日最新疫情:美国确诊人数突破131万
 百态   2020-05-09
荷兰政府宣布将集体辞职
 干货   2020-04-30
倩女幽魂手游师徒任务情义春秋猜成语答案逍遥观:鹏程万里
 干货   2019-11-12
倩女幽魂手游师徒任务情义春秋猜成语答案神机营:射石饮羽
 干货   2019-11-12
倩女幽魂手游师徒任务情义春秋猜成语答案昆仑山:拔刀相助
 干货   2019-11-12
倩女幽魂手游师徒任务情义春秋猜成语答案天工阁:鬼斧神工
 干货   2019-11-12
倩女幽魂手游师徒任务情义春秋猜成语答案丝路古道:单枪匹马
 干货   2019-11-12
倩女幽魂手游师徒任务情义春秋猜成语答案镇郊荒野:与虎谋皮
 干货   2019-11-12
倩女幽魂手游师徒任务情义春秋猜成语答案镇郊荒野:李代桃僵
 干货   2019-11-12
倩女幽魂手游师徒任务情义春秋猜成语答案镇郊荒野:指鹿为马
 干货   2019-11-12
倩女幽魂手游师徒任务情义春秋猜成语答案金陵:小鸟依人
 干货   2019-11-12
倩女幽魂手游师徒任务情义春秋猜成语答案金陵:千金买邻
 干货   2019-11-12
 
推荐阅读
 
 
 
>>返回首頁<<
 
靜靜地坐在廢墟上,四周的荒凉一望無際,忽然覺得,淒涼也很美
© 2005- 王朝網路 版權所有