应用层前向纠错

PS:每一层都有纠错,物理层有纠错电平,属于信道FEC编码

       数据链路层,有CRC校验,属于信道FEC编码

       应用层,也有应用层的FEC,即对信源进行FEC编码



应用层前向纠错
    基于以上这些缺点,使用这几种差错控制技术并不能保证IPTV业务的视频传输质量,但如果在IP网络上采用端到端的应用层可靠性解决方案,则能很好的提供IPTV业务[5]。事实上应用层前向纠错(AL-FEC)技术就提供了这样一种简单而强有力的方法来解决网络丢包问题,从而保证了端到端的可靠性。与链路层和物理层FEC(主要是实现纠错功能)相比,AL-FEC透明地工作在IP层之上的应用层,它应用在诸如IPTV流之类的特殊的端到端应用流。一种典型的应用情况是,AL-FEC发送端在IPTV服务器处对所有或选择的一组IPTV流进行处理,然后相应的AL-FEC接收端在终端设备处进行处理。AL-FEC的价值在于IPTV流在即使有丢包的情况下,终端用户的观看质量可以和原始视频流一样高。IPTV中的AL-FEC大致可分为3种[6]:Raptor编码、Pro-MPEG CoP3编码以及FEC与重传相结合。


    AL-FEC的基本思想在于纠删码的使用。在AL-FEC发送端,对IPTV流进行分割,分成大小相同的数据包,通过纠删码编码器对这些数据包编码产生修复数据包,将修复数据包和原始数据包一同发往接收端。在AL-FEC接收端,纠删码译码器通过修复数据包和原始数据包来恢复所有的原始IPTV流。理想的情况是:接收端只要接收到N 个编码数据包中的任意K 个数据包就能完全恢复所有数据,整个过程如图1所示。

 

 

2.1 Raptor编码
    从整个AL-FEC机制来看,操作比较简单,不需要对原有的网络协议栈进行大的改动。但是纠删码的种类很多,选择何种纠删码成为AL-FEC成败的一个关键因素。喷泉码作为一类新兴的具有创新性的纠删码可被用于任何概率的删除信道。第一种有效和实用的喷泉码即LT码。并在此基础上,扩展LT码后形成了Raptor码。Raptor码拥有很低的接收开销和系统码等特性。将Raptor码应用于IPTV业务中成为一种很具吸引力的选择。数字视频广播(DVB)的IPTV应用和3GPP的多媒体广播组播业务(MBMS)都选择了Raptor码作为其AL-FEC规范[7-8]。


    数字喷泉码[9]的编码器就像喷泉喷涌,能够源源不断的产生无穷多个编码数据包。假设源文件的大小为Kl比特,编码器每次输出的码元大小为l 比特,而接收端接收过程可以形象地比喻成拿水桶到喷泉下接水一样,当接收的码元数目比K 稍大一点时,就能恢复源文件。


    喷泉码是码率无关的,由源文件经过编码产生的码元数目不受限制,可以产生无限多的码元,这样一种与码率无关的编码方式决定了它具有很重要的实际应用价值,它不需要像传统的纠删码那样对信道的删除情况有个预判,灵活性大大增强。


    Michael Luby[10]找到了一种具有线形编译码复杂度的数字喷泉码编码方式,称为LT码。LT码编码和译码的代价仅为k logek(其中k 是文件大小),而Raptor码是一种比LT码编译码复杂度更低的喷泉码,它通过预编码技术可以允许在无损误码性能的条件下,进一步降低LT码度分布概率(用来形成编码生成矩阵)的复杂度,实现大数据包条件下,编码复杂度与k无关,译码复杂度与k 呈线形关系。换句话说,因为有了预编码这一过程,通过LT码译码只需恢复一部分间接数据包,再用传统纠删码来恢复所有的数据包。图2为Raptor码编码过程[11]。

 


    通过使用AL-FEC(Raptor),提供了应用层端到端的可靠性[12]。

 


    AL-FEC(Raptor)的优势:

  • 被DVB-H、3GPP、IETF采用,足以说明该方法存在的巨大优势;
  • 能对抗高丢包率情况,拥有灵活的纠错能力(针对不同的文件及不同的丢包率设置不同的保护参数);
  • 高效性,只需很少的修复数据来保证重构源文件;
  • 高效的编译码效率,只需用软件实现,很容易部署;
  • 缩短了整个文件的传输时间;
  • 无约束的源块大小来适应各种文件;
  • 提高覆盖范围,适合于广播和组播环境;
  • 与物理层FEC结合,成为一种最为高效的解决方案;
  • 很好的向后兼容性。

 


    AL-FEC(Raptor)的劣势:

  • 必须与物理层及链路层的FEC相结合使用;
  • 网络带宽代价一般在5%~10%;
  • 文件过小并不适用。

 

2.2 Pro-MPEG CoP3编码
    Pro-MPEG CoP3[13]编码其实就是一种简单的奇偶检验码,它可以分为CoP3 1D(对行或列进行编码)和CoP3 2D(对行与列都编码)。图3为编码过程:分别对一行或一列数据包进行异或产生一个编码数据包。
当仅使用CoP3 1D时,生成的编码数据包为图3中最下面一行或者最右面一列,它只能保护一行或一列中出现一个数据包丢失的情况,如果原始数据包序列中出现连续两个数据包被丢失(比如数据包0和数据包1或者数据包0和数据包L ),则丢失的两个数据包将无法恢复。但当使用CoP3 2D时,这种情况将不会出现。

 


    如果使用CoP3 2D,一般需要20%的冗余。它最大的优点就是操作简单,但由于它以极大的消耗网络带宽为代价换取传输的成功率,使得它的利用率很低。

 

2.3 FEC与重传相结合
    当使用这种解决方案时,先通过FEC恢复绝大部分的丢失数据,然后剩余的小部分未被恢复的数据通过重传来获取。由于网络状况的不同,选择何种FEC技术成为此方案好坏的一个关键。
在通过不对称数字用户线(ADSL)来开展的IPTV业务中已经使用到了这样的技术[14],其中绝大多数选择使用Pro-MPEG CoP3编码作为FEC技术(编解码过程简单)。它的优点就是增大了恢复丢失数据的概率以及减轻了原来重传服务器的负担。它的缺点是没有一个快速的频道切换方案,当使用Pro-MPEG CoP3编码时,应对随机丢包情况时保护程度不够。
3 结束语
随着IPTV业务的深入开展,如何保证视频质量成为IPTV业务成败的关键。无论是编码端的前向纠错编码、解码端的后处理差错隐藏或者编码端和解码端的交互差错控制技术,虽然能够在一定程度上提高视频传输的鲁棒性,但它们自身存在的缺点使得它们不可能成为解决IPTV业务问题的完美方案。近几年,标准化组织已经对AL-FEC进行了评估并由于它的极佳性能而采用了这种技术。而且随着Raptor码的研究深入,使得AL-FEC技术由理论开始转向实用。


转自:http://www.zte.com.cn/cndata/magazine/zte_communications/2009/6/articles/200912/t20091219_178855.htm

  • 1
    点赞
  • 6
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值