CN101651519A - 自适应动态前向纠错编码方法、装置及系统 - Google Patents
自适应动态前向纠错编码方法、装置及系统 Download PDFInfo
- Publication number
- CN101651519A CN101651519A CN200910092478A CN200910092478A CN101651519A CN 101651519 A CN101651519 A CN 101651519A CN 200910092478 A CN200910092478 A CN 200910092478A CN 200910092478 A CN200910092478 A CN 200910092478A CN 101651519 A CN101651519 A CN 101651519A
- Authority
- CN
- China
- Prior art keywords
- coding
- message
- transmitting apparatus
- encryption algorithm
- error correction
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Pending
Links
Images
Abstract
本发明公开了一种自适应动态前向纠错编码方法、装置及系统。该方法包括根据当前网络状态,向通信链路上的报文发送设备发起编码协商请求信息,所述编码协商请求信息包括编码算法;接收所述发送设备返回的编码协商确认信息,并根据所述编码算法对从所述发送设备接收到的报文进行解码处理。该装置包括协商发送模块和接收处理模块。本发明技术方案可以在发送设备和接收设备之间建立编码协商机制,以在双方之间建立合适的编码算法,在保证数据传输可靠性的同时,提高数据传输的效率,可适应各种网络环境下采用前向纠错编码进行数据传输的需要。
Description
技术领域
本发明涉及前向纠错编码技术,特别是涉及一种自适应动态前向纠错编码方法、装置及系统。
背景技术
网络数据在通信线路上进行传输时,可能会由于通信线路所依赖的信道不可靠而导致数据包传输过程中出现错误,接收端接收到的数据包或多或少不同于发送端发出的数据包,使得接收到的数据包的数据不可用,而这种数据包发生错误的现象也称为误码,造成误码的原因很多,如无线电传输中的电磁干扰、电传输链路中的电流浪涌或光传输链路中的信号强弱等,均可能造成通信线路的信道不可靠,导致数据链路传输中出现突发性误码。其中,低速串行链路上的误码现象更为严重,比特误码率严重时可达10-3,其意味着通信链路上传输的报文长度超过1000字节时,平均报文错误率可达100%,使得通信线路无法进行数据包的传输。因此,如何保证通信链路上数据传输的准确性和可靠性是一个需要解决的技术问题。
现有技术中还提出了一种克服传输误码的前向纠错(Forward ErrorCorrection,FEC)编码方法,FEC是指数据被传输之前预先对其按一定的算法进行编码,在接收端则按同样的算法进行解码,以达到找出错误并纠正错误的目的。其中,在低带宽、较大时延、高误码率的网络环境下引入端对端的前向纠错,是提高网络数据传输质量的重要手段。FEC工作在传输层或应用层时,其处理的对象为数据包,而基于数据包的前向纠错技术的基本原理是在m个源数据包中插入r个冗余包(即冗余数据),并将这m+r个包一起发送给接收设备,其中,r个冗余包是由m个源数据包经过编码算法计算后得到,且可将这m+r个数据包称为一个数据块,每个包在块中都有一个编号,但是,由于网络传输的不可靠性,一个数据块中的一些数据包在传输过程中丢失,接收设备则可以通过编号确定丢失的数据包在数据块中的位置,在丢包数量不超过纠错能力极限的情况下,由于冗余包的存在,接收设备可利用冗余包来恢复丢失的源数据包,一般而言,冗余包的数量越多,接收设备进行纠错的能力也就越强,但是,冗余包数量的增多也就意味着数据传输中占用网络带宽的增加,会浪费大量的网络带宽资源。
此外,在前向纠错编码方法的基础上,现有技术又提出了自适应前向动态纠错编码方法,其主要包括以下几种方法:
(1)《中国矿业大学学报》2006年11月发表的《实时数据传输的自适应前向纠错方法研究》,其公开了针对实时数据传输对服务质量的特殊需要,提出了一种基于实时传输协议(Real-time Transport Protocol,RTP)的能修复单包丢失的具有自适应特性的前向差错校正方法。该方法通过跟踪网络拥塞变化,动态调整差错编码参数,即差错编码分组长度,保证传输服务的质量。
(2)《江南大学学报》2006年4月自然科学版发表的《前向纠错编码传输机制的优化》,其公开了为提高FEC编码在抖动参数上的性能,提出了一种改进发送端与接收端之间的信息交互方式的动态FEC传输机制。该机制中,发送端接收到反馈信息后,调整数据的冗余度,但不会为了等待反馈信息停止数据的发送。其基本方法是在发送的实时数据的用户数据报协议(UserDatagram Protocol,UDP)的头部和实际实时数据之间加入一个称为DFEC的首部,该首部中加入一个FEC_On标志位,用来标志数据是否需要FEC解码,接收端通过判断数据包的接收情况,若丢包率大于设定的FEC开启阈值,就发送一个数据包给发送端,以此方式通知发送端开启或关闭FEC编码。
(3)《计算机应用》2008年9月公开的论文《无线网络中支持H.264的增强前向纠错算法》,其公开了在无线网络中支持H.264视频业务传输,提出了一种增强的FEC算法EFEC,并对EFEC的性能进行了分析。增强的FEC算法通过接收端发送的反馈信息决定是否采用EFEC传输数据,且不会应为反馈信息的丢失而停止数据传输,同时,EFEC可根据网络误比特率调整附加数据信息的长度。
(4)公开号为CN101061659A、发明名称为《自适应前向纠错》的中国专利公开了用于无线网络上视频流传输的自适应FEC设备和方法,其中,设备包括FEC编码器和自适应FEC装置,FEC编码器用于将K个源数据包编码为n个包,其中n>k,并且该n个包包括冗余数据,自适应FEC装置用于基于一条或多条反馈信息的接收,来自适应地确定要和K个编码包一起发送的冗余包数,这一条或多条反馈信息指示要借以发送编码视频的无线网络的条件。
发明人在实现本发明的过程中发现现有的前向纠错技术至少存在如下缺陷:现有自适应FEC编码方法中均采用单一的FEC编码算法,且一般是对冗余数据的大小或者是否进行FEC编码进行控制,以适应当前的网络环境,FEC编码方式简单,对于网络数据的动态传输中,网络环境易变化的情况下,发送端和接收端只能采用单一的FEC编码算法,不能适应各种网络环境下采用前向纠错编码的数据的传输,导致数据传输效率和可靠性较低。
发明内容
本发明的目的是提供一种自适应动态前向纠错编码方法、装置及系统,可有效克服现有前向纠错编码方法的缺陷,可根据当前网络环境的变化,在发送设备和接收设备之间建立合适的编码算法,可适合各种环境下采用前向纠错编码的数据传输的需要,降低数据传输的误码率,提高通信链路的数据传输效率。
为实现上述目的,本发明提供了一种自适应动态前向纠错编码方法,包括:
根据当前网络状态,向通信链路上的报文发送设备发起编码协商请求信息,所述编码协商请求信息包括编码算法;
接收所述发送设备返回的编码协商确认信息,并根据所述编码算法对从所述发送设备接收到的报文进行解码处理。
其中,所述根据当前网络状态,向通信链路上的报文发送设备发起编码协商请求信息包括:
当对接收到的报文进行解码错误时,根据当前网络状态向通信链路上的报文发送设备发起编码协商请求信息。
或者,所述根据当前网络状态,向通信链路上的报文发送设备发起编码协商请求信息可包括:
统计对接收到的不同报文进行连续解码时未出现错误的解码次数,判断所述解码次数是否超过预设次数,是则向所述发送设备发送所述编码协商请求信息。
本发明提供了一种自适应动态前向纠错编码装置,包括:
协商发送模块,用于根据当前网络状态,向通信链路上的报文发送设备发起编码协商请求信息,所述编码协商请求信息包括编码算法;
接收处理模块,用于接收所述发送设备返回的编码协商确认信息,并根据所述编码算法对从所述发送设备接收到的报文进行解码处理。
本发明还提供了一种自适应动态前向纠错编码系统,包括发送设备和接收设备,其中,
所述接收设备,用于根据当前网络状态,向通信链路上的报文发送设备发起编码协商请求信息,所述编码协商请求信息包括编码算法;接收所述发送设备返回的编码协商确认信息,并根据所述编码算法对从所述发送设备接收到的报文进行解码处理;
所述发送设备,用于接收所述接收设备发送的所述编码算法协商请求信息,并根据自身的状态返回协商确认信息。
本发明技术方案中接收设备可根据自身的网络状态向发送设备发起编码算法的协商请求,协商双方之间采用的编码算法,并以协商后的编码算法对数据的发送和数据接收进行相应的处理,使得基于协商后的编码算法的数据的传送更加准确可靠,且可有效提高整个通信链路和通信系统的数据传送效率;本发明技术方案可根据不同网络环境采用不同的编码算法的前向纠错编码,可有效提高采用前向纠错编码进行数据传输的需要,降低数据传输的误码率,提高数据传输的效率。
附图说明
图1为基于PPP协议进行数据传输的示意图;
图2为PPP协议协商阶段的示意图;
图3为本发明自适应动态前向纠错编码方法实施例一的流程图;
图4为本发明自适应动态前向纠错编码方法实施例二的流程图;
图5为FCP中Reset-Request和Reset-Ack报文编码格式的示意图;
图6为FCP中XOR编码算法的报文格式示意图;
图7为FCP中RS编码算法的报文格式示意图;
图8为本发明实施例通过FCP进行编码算法协商的工作阶段示意图;
图9为本发明自适应动态前向纠错编码装置实施例一的结构示意图;
图10为本发明自适应动态前向纠错编码装置实施例二的结构示意图;
图11为本发明自适应动态前向纠错编码系统实施例的结构示意图。
具体实施方式
下面通过附图和实施例,对本发明的技术方案做进一步的详细描述。
本发明实施例可应用于基于前向纠错技术进行报文传输的网络中,具体地,本发明实施例可在报文传输的通信链路的发送设备和接收设备之间建立编码协商机制,发送设备或接收设备可根据自身网络状态主动向对方发起编码协商请求信息,在双方之间建立合适的编码算法,使得采用协商后的编码算法下进行前向纠错编码时,发送设备和接收设备之间的通信可以同步,在降低数据传输中的误码率的同时,还可有效保证数据传输的效率。其中,为便于对本发明技术方案进行说明,本发明实施例以采用点对点协议(Point toPoint,PPP)进行报文传输的通信链路为例进行说明。
下面首先对采用PPP协议进行通信的过程进行说明。图1为基于PPP协议进行数据传输的示意图;图2为PPP协议协商阶段的示意图。低速通信链路中,如无线电台、卫星通信等链路,报文的传输一般采用PPP协议进行链路控制、数据压缩控制、网络层协议控制和数据封装,这使得PPP协议成为低速链路数据通信的首选,而对于误码率较高,或者虽然误码率不高但对数据传输可靠性要求较高的高速链路,如光纤通信系统,PPP协议也被广泛应用,因此,有必要在PPP协议的基础上扩展对报文纠错的控制。其中,基于PPP协议的协商过程如下:
(1)当PPP链路激活(UP)后,进入链路建立(Establish)阶段,具体地,基于PPP协议标准,由链路控制协议(Link Control Protocol,LCP)通过交换Configure报文来建立连接,当接收到Configure-Ack报文后,协商交互完成并进入LCP Open状态,使LCP处于打开(Opened)状态。
(2)链路建立阶段结束后,进入认证(Authenticate)阶段,该认证阶段为可选的,如果通信双方配置了认证选项,则PPP协议实体要求对方在进行网络层协议报文交换之前进行认证,此时,只有链路双方通过彼此的认证后才能进入到下一个阶段的协商。
(3)在认证阶段结束后,进入网络(Network)层协议协商阶段,根据PPP协议标准,首先对压缩控制协议(Compression Control Protocol,CCP)协商,CCP负责在PPP链路的两端配置、使能和关闭数据压缩算法,还可以一种可靠的方式通告压缩/解压缩机制的失效,其中,CCP协商也是可选的。
由于大多数的数据传输均使用IP协议,因此,在CCP协商完成后,网络层协议协商的一个重要部分就是使用IP控制协议(IP Control Protocol,IPCP)在PPP链路的两端来配置、使能和关闭IP协议模块,且IPCP使用与LCP相同的报文交换机制,其中,本发明实施例技术方案即可在采用PPP协议的通信链路上来实现前向纠错编码算法的协商以及采用前向纠错编码实现数据的传输。
图3为本发明自适应动态前向纠错编码方法实施例一的流程图。如图3所示,本实施例方法包括以下步骤:
步骤101、根据当前网络状态,向通信链路上的报文发送设备发起编码协商请求信息,所述编码协商请求信息包括编码算法;
步骤102、接收所述发送设备返回的编码协商确认信息,并根据所述编码算法对从所述发送设备接收到的报文进行解码处理。
本实施例技术方案可应用于采用前向纠错编码进行的数据传输的通信系统中,数据传输中的接收设备可根据自身的网络状态,如信道的实际误码率或测量得到的误码率、带宽、延迟、可用性、用户需求等,确定适合于当前网络状态,且可满足数据传输可靠性的编码算法,并将该编码算法携带在编码协商请求信息中发送给数据传输中的发送设备,在双方之间建立采用合适编码算法对数据进行传输,使得利用该编码算法进行前向纠错数据传输时,可有效保证数据传输的可靠性,降低数据传输的误码率,降低数据传输时带宽的占用率,提高数据传输效率。具体地,当接收设备将携带编码算法的编码协商请求信息发送至发送设备时,发送设备接收到该编码协商请求信息后,可根据自身的条件或网络环境,如是否支持该编码算法等,响应该编码协商请求,若同意该编码协商请求信息中的编码算法,则向接收设备返回编码协商确认信息,表示同意以该编码协商请求信息中的编码算法进行数据传输,然后发送设备和接收设备即可按照该协商的编码算法对数据进行处理,完成数据的发送和接收,即发送设备即可按照该协商后的编码算法对数据进行处理并发送,而接收设备则可按照该编码算法对从发送设备接收到的数据进行相应的解码处理。
实际应用中,当接收设备对接收到的报文进行解码错误时,可根据检测得到的当前网络状态向通信链路上的报文发送设备发起编码协商请求信息,以在发送设备和接收设备之间建立合适的编码算法,提高接收设备对报文解码的准确性和可靠性,提高整个通信链路数据传输的效率。
实际应用中,所述的编码算法可以为区块码算法、回旋码算法、涡轮码算法、低集成度奇偶校验码算法或RAID码算法等,其中,区块码中可采用RS码(Reed-Solomon码)、RAID码或XOR码等。具体地,发送设备或接收设备可以根据当前网络状态等的需要,在双方之间建立合适的编码算法,以使得根据该编码算法进行前向纠错编码时数据传输占用的带宽小,链路消耗低,且可有效保证接收数据的准确性,提高数据传输的可靠性。同时,由于编码算法是根据当前的网络状态而设定,因此,采用协商后的编码算法进行前向纠错,可有效降低数据传输中占用的网络的带宽,提高数据传输的效率,从而提高整个通信系统的吞吐量。
实际应用中,当发送设备向接收设备发起编码协商请求信息,而发送设备不支持其携带的编码算法时,发送设备可向接收设备返回重协商请求信息,该重协商请求信息可包含发送设备建议采用的新的编码算法,接收设备若接收到发送设备返回的重协商请求信息时,可根据所述重协商请求信息向所述发送设备重新发起编码协商请求信息,该重新发起的编码协商请求信息可包含携带所述新的编码算法的请求信息,使得发送设备和接收设备之间可以协商确定一种适合双方的编码算法。同时,接收设备也可以根据自身的需要,选择另一合适的编码算法向发送设备发起编码协商请求信息,在发送设备和接收设备之间建立适合双方的编码算法。
因此,本发明实施例中接收设备可根据自身的网络状态向发送设备发起编码算法的协商请求,协商双方之间采用的编码算法,并以协商后的编码算法对数据的发送和数据接收进行相应的处理,使得基于协商后的编码算法的数据的传送更加准确可靠,且可有效提高整个通信链路和通信系统的数据传送效率;本发明实施例可根据不同网络环境采用不同的编码算法的前向纠错编码,可有效提高采用前向纠错编码进行数据传输的需要,降低数据传输的误码率,提高数据传输的效率。
图4为本发明自适应动态前向纠错编码方法实施例二的流程图。本实施例方法可包括以下步骤:
步骤201、统计对接收到的不同报文进行连续解码时未出现错误的解码次数。
步骤202、判断所述解码次数是否超过预设次数,是则执行步骤203,否则,执行步骤201。
步骤203、根据当前网络状态,向通信链路上的报文发送设备发起编码协商请求信息。
步骤204、接收所述发送设备返回的编码协商确认信息,并根据所述编码算法对从所述发送设备接收到的报文进行解码处理。
本发明实施例中,接收设备可对其对接收到的不同报文连续解码正确的解码次数进行统计,当连续解码次数超过预设次数时,说明当前的网络状态良好,此时网络状态下还可能允许具有更低编码强度的数据的传输,因此,当对不同的报文连接解码正确的解码次数超过预设次数时,接收设备可设定更加适合该网络状态下的编码算法,向发送设备发起编码协商请求,以使得在新的编码算下进行前向纠错编码时,降低编码强度,使得数据传输时占用更少的网络带宽,提高数传输的效率,同时,还可保证数据传输的准确性和可靠性。
可以看出,本发明实施例可根据接收设备接收的实际需要,当网络状态良好时,可重新发送编码协商请求信息,以建立采用新的编码算法进行前向纠错编码,可避免数据长期处于较强的编码强度下而降低了数据传输的效率,可有效提高整个通信链路数据传输的效率,提高整个通信系统的吞吐量。
上述各实施例中,接收设备在向发送设备发起编码协商请求信息时,编码协商请求信息中还可包括与编码算法对应的编码参数,以确认编码后的冗余数据的大小,当然,根据实际的需要,在进行编码协商时,也可只协商发送设备和接收设备之间编码时采用的合适的编码参数,以保证数据传输的准确性和可靠性,保证数据传输的效率。
上述各实施例中,发起编码协商请求信息的也可以是发送设备,此时,一般是在数据发送前建立发送设备和接收设备之间采用的前向纠错编码算法,以使得数据开始传输时即具有较好的数据传输效果。
为对本发明技术方案有更好的了解,下面对上述发送设备和接收设备之间进行编码算法协商在PPP链路上的实现进行说明。
实际应用中,本发明实施例发送设备和接收设备之间编码算法的协商可以在采用PPP协议的通信链路上实现,且可在PPP链路的发送设备和接收设备上分别配置FEC纠错算法协议(FEC Control Protocol,FCP),FCP可以用来标识纠错编码与解码采用的编码算法,因此,可以通过FCP协商发送设备和接收设备之间在进行前向纠错编码传输数据时采用的编码算法,具体地,接收设备或发送设备可以根据自身网络的需要向数据传输的另一端协商合适的编码算法,以提高数据传输的效率和数据传输的可靠性。其中,FCP为网络层协商协议,FCP可使用与LCP相同的报文交互机制,只有当PPP到达网络层协议阶段才能交换FCP报文。
下面对FCP协议进行说明,以对其有较好的理解,具体地,FCP协议与LCP除了以下不同之外,其它均具有与LCP相同:
(1)帧格式的不同。
FCP报文的帧格式与LCP在链路建立阶段协商时所使用的帧格式不同,具体地,对其中某些域的值进行了修改,可见以下各域不同之处的说明。
(2)数据链路协议域不同。
PPP信息域中封装了一个FCP报文,此时PPP协议域的类型号为803D,表示对应于FCP。
(3)代码域(Code Field)不同。
除了代码1~7,即Configure-Request,Configure-Ack,Configure-Nak,Configure-Reject,Terminate-Request,Terminate-Ack和Code-Reject,FCP中还加入了两个额外的编码14和15,即Reset-Request和Reset-Ack。此外,其它编码应该被视作不认识并回应Code-Rejects。
(4)超时操作不同。
FCP报文只有当PPP已经到达网络层协议阶段才能开始交换,实现时,应该先等待认证和链路质量判定(Link Quality Determination)已经结束后开始进行Configure-Ack或其它响应的超时操作,具体实现时,建议只有当用户干预或等待了一个可配置的时间后才放弃继续等待响应。
(5)配置选项类型(Configuration Option Types)不同。
FCP协议有自己的配置选项,具体将在后面介绍。
(6)发送FEC编码数据报文(Sending Fec-coded Datagrams)不同。
在任何FEC编码报文可以通讯前,PPP必须到达网络层协议阶段,FCP必须处于Opend状态。
一个或多个FEC编码报文封装在PPP信息域,PPP协议域类型的十六进制值为003D,即对应于FEC编码报文。每一种FEC编码算法可以使用不同的机制来表明在一个数据链路层帧(Data Link Layer frame)中包含了一个或多个未编码的报文,以用于确认前面的解码报文是否正确,或者用于编码同步等。
在PPP链路的每个方向一次只能使用一种主要的FEC编码算法,具体使用何种算法以及相应的编码算法参数是在报文交互之间协商完成,FEC编码报文的PPP协议域表明该帧是FEC编码的,但不表明具体使用的是何种FEC编码算法及相关的编码算法参数。
在PPP链路上传递的FEC编码报文的最大长度与PPP封装报文的信息域(Information field)的最大长度相同,而更长的报文可以用不编码的方式发送,如可使用标准格式,或者,如果FEC编码算法支持则可用多个报文发送。在本协议约定中,未使用FEC编码的正常报文可以使用协议域类型为003F的PPP帧进行封装发送,以便于FEC编码的同步或其它需要。
鉴于FEC编码算法可以从报文中的编码信息中判断所收到的数据是否正确,因此,FEC算法并不要求底层PPP数据发送是可靠的,但FEC编码算法必须有机制可以判断编码的报文在编码和解码双方是否同步。
FCP的报文格式和基本机制与LCP协议中的定义相同,而在FCP中FCP的代码域(Code field)的最新值为003D、003F,用于报文的收发,且在FCP中加入了以下的FCP代码域值:
14Reset-Request
15Reset-Ack
为了在通信链路的一个方向上提供一种表明解码失效的机制而不影响另一个方向的流量,FCP提供Reset-Request和Reset-Ack码,解码失效可通过解码时的出错数据块数大于当前编码纠错能力来判断,而出错数据块可以通过数据块后附加的CRC校验值来判断。
如果FCP实现希望指示解码失效,可发送一个代码域为14,即Reset-Request的FCP报文,并且在数据域填入任何想要的数据。当发送了Reset-Request后,任何收到的FEC编码的报文都应该丢弃,并发送另一个Reset-Request,直到收到一个合法的Reset-Ack。收到Reset-Request后,发送方FEC编码器返回初始状态,即重新初始化编码算法的相关参数,此时,FEC须发送一个代码域为15,即Reset-Ack的FEC报文作为应答,其id域,即标识符域与Reset-Request中的id相同,数据域填入任何想要的数据。如果收到Reset-Request或Reset-Ack的FCP报文,接收者应该判断本地解码是否出现致命错误,如果出现致命错误,则应该关闭FCP,向对方发送代码域为Terminate-Request的FCP报文,如果出现非致命的错误,则可以发送Configure-Request报文,要求与对方返回到链路建立阶段。
图5为FCP中Reset-Request和Reset-Ack报文编码格式的示意图。具体地,如图5所示,Reset-Request和Reset-Ack报文编码格式中相应的报文域从左至右传输,其中,
代码(Code)中,14表示Reset-Request,15表示Reset-Ack;在传输时,当数据域的内容改变和收到一个关于先前的请求(Request)的合法回复(reply)时必须改变id域,即标识符(Identifier)域,当收到Reset-Request报文时,Reset-Request的id域应拷贝到Reset-Ack报文的id域;数据(Data)域为0个或多个字节,包含给发送者的不可解释的数据,数据可以包含任何二进制值,长度可以是任意长度,从0到对方的MRU值-4。
下面对FCP配置选项进行说明。FCP配置选项允许协商压缩算法及相应的算法参数,FCP使用与LCP协议相同的配置选项格式,但选项的内容不同。FCP中配置选项指出接收设备所用的编码算法,接收设备根据该编码算法愿意或能够解码出由发送设备发送的数据,假定系统可以提供多种算法,可协商并采用其中一种算法。由于数据的收发双方可能无法对所有的纠错算法(即前向纠错编码算法)达成一致,此时可能无法使用纠错算法,因此,通信链路必须在没有纠错的方式下达成一致,当LCP再次协商时,则必须重新协商FCP状态。此外,由于许多用户均可以使用自己专有的算法,此时用户也可根据自己的编码来设定一个编号,且该编号与后面FCP协议给出的编号不同,即用户也可以自定义算法及FCP中相应的编号。
实际应用中,如果配置选项不能被接收方识别就发送Configure-Reject,若所有的FEC编码算法接收者均不识别,则表明在这条通信链路的这个方向上不能使用FEC编码。如果配置选项能够被接收方识别,但由于选项值不能被接收方接受,或者没有选项参数,则须发送一个Configure-NAK,其中包含修改过的选项值,Configure-NAK必须只包含可以接受的选项。当发送者接收到一个Configure-NAK时应该发送一个新的Configure-Request,其中选项值修改为接收方想要的值,由此,即可在双方之间达成一致的编码算法。
具体地,FCP选项类型域可支持以下选项值:
FCP Option FEC Coding Type
2 XOR
3 RS
4 RAID6-Like
5 涡轮码
6 卷积码
7 低集成度奇偶校验码
8-15 未赋值码
255 Reserved
上述各选项类型域的选项值1~7对应的编码算法均为常用的编码算法,未赋值码可以为用户专有的FEC编码算法,且用于专有的FEC编码算法可以不需要许可授权,相应的选项值可以由用户自己定义。
为对本发明实施例中编码算法应用于FCP中有较好的理解,下面给出XOR和RS编码算法的编码方式进行说明:
(1)XOR编码算法。
图6为FCP中XOR编码算法的报文格式示意图。具体地,如图6所示,该配置选项提供了一种协商使用XOR编码算法的方式,XOR是一种典型的区块码,由于一个区段(segment)内只能包含一个纠错块(即冗余码),而一个纠错只能纠正一个区段内一个块的错,因此,它的纠错能力完全取决于区段内的分块数,即一个纠错块对应的原始数据块的数目。对于XOR编码而言,编码参数包括原始数据分块大小(block size,BS)和分段数(segment size,SS),单位为字节。一个分段内的分块数为BS/SS。此外,对于每个原始数据块,需要一个或多个校验字节以验证该数据块接收后的正确性,校验方式为CRC8或CRC16,即8位或16位的循环冗余校验。
下面对XOR编码算法的报文格式中各报文域进行说明:
Type数值为2,表示采用的是XOR编码算法;Length数值为8;BS代表每个编码块的大小,单位为字节,块尾附加一个CRC校验;SS代表每个编码段的大小,单位为字节,段尾附加一个XOR编码的纠错块,其中,SS为0,表示将整个数据作为一个分段,SS一般为BS的整倍数,如果为非整倍数,则段尾的最后一个块要补齐0后再进行编码;CRC bits表示每个编码块后的CRC校验的位数,其值通常为8(即1个字节)或16(即2个字节),采用CRC8或CRC16校验。
(2)RS编码算法。
图7为FCP中RS编码算法的报文格式示意图。具体地,如图7所示,该配置选项提供了一种协商使用RS编码算法的方式,与XOR码一样,RS编码也是一种典型的区块码,但RS编码的纠错能力要大大高于XOR码,根据国际电信联盟ITU-T的建议,RS编码格式可以表示为(n,k,d),其中n=2m-1,d=n-k+1,m为正整数,RS编码算法可以纠正t=(d-1)/2个m进制的码错。一般而言,m=8,即通常的RS8编码时,其可纠正长度为t个字节的突发码错,由于是区块码,还必须对编码的数据块长度和分段长度进行说明,这与XOR编码相同,数据块的校验也使用CRC校验。
下面对RS编码算法的报文格式中各报文域进行说明:
Type数值为3,表示采用的是RS编码算法;Length对应的数值为14;Coded size(n)用来表示当前编码的取值范围,即全部符号的数量,由于RS编码是在有限域的基础上得到,有限域,即伽罗华域,是指元素个数有限的域,域中的元素个数称为域的阶,通过用GF(q),RS编码的符号取值域均在GF(q)域内,其长为n=q-1;Data size(k)对应的数值K表示编码前的原始信息符号的数量;Minimum Distance(d)对应的数值d表示RS编码的最小汉明距离,d应该满足d=n-k+1=2t+1,t是指能纠错的错误数,因此在实际传输中,如果接收方收到的d值不能满足以上条件应该默认丢弃该报文;BS表示每个编码块的大小,单位为字节,块尾附加一个CRC校验;SS表示每个编码段的大小,单位为字节,根据所采用的编码,段尾附加一个或多个RS纠错块,SS为0表示将整个数据作为一个分段,SS一般为BS的整倍数,如果为非整倍数,则段尾的最后要补齐0后再进行编码;CRC bits表示每个编码块后的CRC校验的位数,其值通常为8(即1个字节)或16(即2个字节)。
图8为本发明实施例通过FCP进行编码算法协商的工作阶段示意图。具体地,发送设备和接收设备之间采用PPP协议通信,且利用上述的FCP进行收发双方的编码算法协商时,其工作阶段可如图8所示,整个PPP协议中包括有链路控制协商、口令认证协商、压缩控制协商、FEC控制协商和IP控制协商,其中控制报文交互的类型可以从1~15,其中,14为Reset-Request,15为Reset-Ack。可以看出,在PPP协议通信过程中,在原有的链路控制协商、口令认证协商、压缩控制协商和IP控制协商之外,还可通过FEC控制协商,即FCP协商来达到接收设备和发送设备之间的编码算法的一致。可以看出,通过FCP协商可以实现发送设备和接收设备之间采用的编码算法的同步,可有效保证数据传输的准确性和可靠性。
此外本发明实施例中还提出了一种网络中进行数据通信是纠错能力的确定方法,其是假定网络数据传输中数据出错的概率p确定的情况下,最佳的编码原始数据分段长度为n,纠错编码部分的长度为k。
接收设备可根据数据传输的情况,计算数据报文丢失的概率为p,对数据进行编码后报文的总长度为n+k,则由概率论可知,接收设备接收到的报文中有i个错误的概率为Pi:
经过FEC纠错修复后,实际包错误概率可以近似用以下公式计算:
从公式(2)可知,接收设备完全正确接收的概率由网络传输的数据报文丢失的概率p和报文长度n+k决定,由于k是一个常量,所以最佳的报文长度由n决定。但公式(2)不便于转换成解析表达式,本实施例中用近似方法来确定n的值。
由于每个报文解码后错误数目i服从参数为n+k的二项分布,根据概率论可知,报文的出错数目i的数学期望为:
E(i)=(n+k)p (3)
因此,可以得到每个报文中出错数目小于k对应的报文原始数据长度n应为:
其中,n只能为整数,所以:
实际使用中,根据公式(5)可得到原始数据长度n,并可根据用户对实际数据丢失概率(即丢包率)的具体需要对n进行适当的修正,并可使用FCP协议由收发双方重新协商最适合的块大小和分段大小,以获得合适的编码算法和相应的编码参数。
实际上,根据公式(1),可有:
因此,当p很小时,而n合适时,显然pi>pi+1,因此,报文错误概率随着错误的增加而呈现迅速减少的趋势。
图9为本发明自适应动态前向纠错编码装置实施例一的结构示意图。如图9所示,本实施例装置包括协商发送模块11和接收处理模块12,其中,
协商发送模块11,用于根据当前网络状态,向通信链路上的报文发送设备发起编码协商请求信息,所述编码协商请求信息包括编码算法;
接收处理模块12,用于接收所述发送设备返回的编码协商确认信息,并根据所述编码算法对从所述发送设备接收到的报文进行解码处理。
本发明实施例可以在发送设备和接收设备之间建立协商机制,根据网络状态协商发送设备和接收设备之间采用的编码算法,具体地,本发明实施例中各模块的功能可以通过上述本发明自适应动态前向纠错编码方法实施例一中的步骤来实现,其可产生与方法实施例相同的技术效果,在此不在赘述。
图10为本发明自适应动态前向纠错编码装置实施例二的结构示意图。具体地,如图10所示,本实施装置包括协商发送模块11、接收处理模块12、解码次数统计模块15和判断模块16,其中,
解码次数统计模块15,用于统计对接收到的不同报文进行连续解码时未出现错误的解码次数;
判断模块16,用于判断所述解码次数是否超过预设次数,并将判断结果传送至协商发送模块11;
协商发送模块11,用于在所述判断模块16的判断结果为所述解码次数超过预设次数时,向通信链路上的报文发送设备发起编码协商请求信息,所述编码协商请求信息包括编码算法;
接收处理模块12,用于接收所述发送设备返回的编码协商确认信息,并根据所述编码算法对从所述发送设备接收到的报文进行解码处理。
本发明实施例可根据通信链路在数据传输中接收设备接收的实际需要,当网络状态良好时,可在发送设备和接收设备之间建立编码协商,以采用新的编码算法来实现前向纠错编码,其具体实现过程可通过上述本发明自适应动态前向纠错编码方法实施例二中的步骤来实现,其可产生与方法实施例相同的技术效果,在此不再赘述。
图11为本发明自适应动态前向纠错编码系统实施例的结构示意图。具体地,如图11所示,本实施例系统包括接收设备1和发送设备2,其中,
所述接收设备1,用于根据当前网络状态,向通信链路上的报文发送设备发起编码协商请求信息,所述编码协商请求信息包括编码算法;接收所述发送设备返回的编码协商确认信息,并根据所述编码算法对从所述发送设备接收到的报文进行解码处理;
所述发送设备2,用于接收所述接收设备发送的所述编码算法协商请求信息,并根据自身的状态返回协商确认信息。
本发明实施例发送设备和接收设备之间可以进行编码协商,以在双方之间建立合适的前向纠错编码算法,以适应当前网络环境下数据的传输,提高数据传输的效率,其中,接收设备可包括上述本发明自适应动态前向纠错编码装置实施例中的各模块,其可以根据当前网络状态向发送设备发起编码协商请求。
最后应说明的是:以上实施例仅用以说明本发明的技术方案而非对其进行限制,尽管参照较佳实施例对本发明进行了详细的说明,本领域的普通技术人员应当理解:其依然可以对本发明的技术方案进行修改或者等同替换,而这些修改或者等同替换亦不能使修改后的技术方案脱离本发明技术方案的精神和范围。
Claims (9)
1、一种自适应动态前向纠错编码方法,其特征在于,包括:
根据当前网络状态,向通信链路上的报文发送设备发起编码协商请求信息,所述编码协商请求信息包括编码算法;
接收所述发送设备返回的编码协商确认信息,并根据所述编码算法对从所述发送设备接收到的报文进行解码处理。
2、根据权利要求1所述的自适应动态前向纠错编码方法,其特征在于,还包括:
若接收到所述发送设备返回的重协商请求信息时,根据所述重协商请求信息向所述发送设备重新发起编码协商请求信息,其中,所述重协商请求信息为所述发送设备不同意所述编码算法时,返回的包含新的编码算法的响应信息。
3、根据权利要求1所述的自适应动态前向纠错编码方法,其特征在于,所述编码算法为区块码算法、回旋码算法、涡轮码算法、低集成度奇偶校验码算法或RAID码算法。
4、根据权利要求1所述的自适应动态前向纠错编码方法,其特征在于,所述通信链路为采用PPP协议进行报文传输的链路。
5、根据权利要求1所述的自适应动态前向纠错编码方法,其特征在于,所述根据当前网络状态,向通信链路上的报文发送设备发起编码协商请求信息包括:
当对接收到的报文进行解码错误时,根据当前网络状态向通信链路上的报文发送设备发起编码协商请求信息。
6、根据权利要求1所述的自适应动态前向纠错编码方法,其特征在于,所述根据当前网络状态,向通信链路上的报文发送设备发起编码协商请求信息包括:
统计对接收到的不同报文进行连续解码时未出现错误的解码次数,判断所述解码次数是否超过预设次数,是则向所述通信链路上的所述发送设备发送所述编码协商请求信息。
7、一种自适应动态前向纠错编码装置,其特征在于,包括:
协商发送模块,用于根据当前网络状态,向通信链路上的报文发送设备发起编码协商请求信息,所述编码协商请求信息包括编码算法;
接收处理模块,用于接收所述发送设备返回的编码协商确认信息,并根据所述编码算法对从所述发送设备接收到的报文进行解码处理。
8、根据权利要求7所述的自适应动态前向纠错编码装置,其特征在于,还包括:
解码次数统计模块,用于统计对接收到的不同报文进行连续解码时未出现错误的解码次数;
判断模块,用于判断所述解码次数是否超过预设次数,是,则将判断结果传送至所述协商发送模块;
所述协商发送模块用于在所述判断模块的判断结果为所述解码次数超过预设次数时,向通信链路上的报文发送设备发起编码协商请求信息,所述编码协商请求信息包括编码算法。
9、一种自适应动态前向纠错编码系统,包括发送设备和接收设备,其特征在于,
所述接收设备,用于根据当前网络状态,向通信链路上的报文发送设备发起编码协商请求信息,所述编码协商请求信息包括编码算法;接收所述发送设备返回的编码协商确认信息,并根据所述编码算法对从所述发送设备接收到的报文进行解码处理;
所述发送设备,用于接收所述接收设备发送的所述编码算法协商请求信息,并根据自身的状态返回编码协商确认信息。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN200910092478A CN101651519A (zh) | 2009-09-15 | 2009-09-15 | 自适应动态前向纠错编码方法、装置及系统 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN200910092478A CN101651519A (zh) | 2009-09-15 | 2009-09-15 | 自适应动态前向纠错编码方法、装置及系统 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN101651519A true CN101651519A (zh) | 2010-02-17 |
Family
ID=41673655
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN200910092478A Pending CN101651519A (zh) | 2009-09-15 | 2009-09-15 | 自适应动态前向纠错编码方法、装置及系统 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN101651519A (zh) |
Cited By (16)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN102647327A (zh) * | 2012-04-28 | 2012-08-22 | 深圳市共进电子股份有限公司 | 一种基于pptp的vpn连接方法 |
CN103067915A (zh) * | 2013-01-18 | 2013-04-24 | 华为技术有限公司 | Ip地址配置方法、基站、路由器及系统 |
CN103354615A (zh) * | 2013-06-24 | 2013-10-16 | 西安交通大学 | 基于信号强度的直播视频数据传输差错控制方法 |
CN104782078A (zh) * | 2012-07-27 | 2015-07-15 | 爱立信(中国)通信有限公司 | 用于执行文件修复过程的用户设备节点、服务器节点以及在此类节点中执行的方法 |
CN105075162A (zh) * | 2013-02-20 | 2015-11-18 | 三菱电机株式会社 | 无线装置 |
CN105791739A (zh) * | 2014-12-23 | 2016-07-20 | 中国移动通信集团公司 | 视频会话协商方法及装置 |
CN106067846A (zh) * | 2016-07-26 | 2016-11-02 | 中国船舶重工集团公司第七二四研究所 | 一种预置多路输入的自适应纠错编码切换方法 |
CN106937134A (zh) * | 2015-12-31 | 2017-07-07 | 深圳市潮流网络技术有限公司 | 一种数据传输的编码方法、编码发送装置及系统 |
CN107483155A (zh) * | 2017-08-21 | 2017-12-15 | 中国电子科技集团公司第五十四研究所 | 一种可变长度突发信号的译码辅助解调方法 |
WO2018209658A1 (zh) * | 2017-05-18 | 2018-11-22 | 深圳市大疆创新科技有限公司 | 数据传输方法、设备、机器可读存储介质以及系统 |
CN109428676A (zh) * | 2017-08-30 | 2019-03-05 | 深圳市中兴微电子技术有限公司 | 一种前向纠错编解码模式的同步方法及装置 |
CN110943803A (zh) * | 2019-12-09 | 2020-03-31 | 西南交通大学 | 一种基于纠删编码的数据传输控制方法 |
WO2020192397A1 (zh) * | 2019-03-28 | 2020-10-01 | 华为技术有限公司 | 一种发送设备的调整方法和通信装置 |
CN111835462A (zh) * | 2020-07-06 | 2020-10-27 | 天津大学 | 一种基于纠删码的无线传感器网络丢包恢复方法 |
CN114070458A (zh) * | 2020-08-04 | 2022-02-18 | 成都鼎桥通信技术有限公司 | 数据传输方法、装置、设备及存储介质 |
CN114866195A (zh) * | 2022-07-07 | 2022-08-05 | 深圳市江元科技(集团)有限公司 | 一种使用安卓系统控制热敏打印机的方法 |
-
2009
- 2009-09-15 CN CN200910092478A patent/CN101651519A/zh active Pending
Cited By (22)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN102647327B (zh) * | 2012-04-28 | 2015-12-16 | 深圳市共进电子股份有限公司 | 一种基于pptp的vpn连接方法 |
CN102647327A (zh) * | 2012-04-28 | 2012-08-22 | 深圳市共进电子股份有限公司 | 一种基于pptp的vpn连接方法 |
CN104782078B (zh) * | 2012-07-27 | 2019-02-26 | 爱立信(中国)通信有限公司 | 执行文件修复过程的用户设备节点、服务器节点以及方法 |
CN104782078A (zh) * | 2012-07-27 | 2015-07-15 | 爱立信(中国)通信有限公司 | 用于执行文件修复过程的用户设备节点、服务器节点以及在此类节点中执行的方法 |
CN103067915A (zh) * | 2013-01-18 | 2013-04-24 | 华为技术有限公司 | Ip地址配置方法、基站、路由器及系统 |
CN105075162A (zh) * | 2013-02-20 | 2015-11-18 | 三菱电机株式会社 | 无线装置 |
CN103354615A (zh) * | 2013-06-24 | 2013-10-16 | 西安交通大学 | 基于信号强度的直播视频数据传输差错控制方法 |
CN103354615B (zh) * | 2013-06-24 | 2015-04-15 | 西安交通大学 | 基于信号强度的直播视频数据传输差错控制方法 |
CN105791739A (zh) * | 2014-12-23 | 2016-07-20 | 中国移动通信集团公司 | 视频会话协商方法及装置 |
CN106937134A (zh) * | 2015-12-31 | 2017-07-07 | 深圳市潮流网络技术有限公司 | 一种数据传输的编码方法、编码发送装置及系统 |
CN106067846A (zh) * | 2016-07-26 | 2016-11-02 | 中国船舶重工集团公司第七二四研究所 | 一种预置多路输入的自适应纠错编码切换方法 |
WO2018209658A1 (zh) * | 2017-05-18 | 2018-11-22 | 深圳市大疆创新科技有限公司 | 数据传输方法、设备、机器可读存储介质以及系统 |
CN107483155A (zh) * | 2017-08-21 | 2017-12-15 | 中国电子科技集团公司第五十四研究所 | 一种可变长度突发信号的译码辅助解调方法 |
CN107483155B (zh) * | 2017-08-21 | 2020-05-29 | 中国电子科技集团公司第五十四研究所 | 一种可变长度突发信号的译码辅助解调方法 |
CN109428676A (zh) * | 2017-08-30 | 2019-03-05 | 深圳市中兴微电子技术有限公司 | 一种前向纠错编解码模式的同步方法及装置 |
CN109428676B (zh) * | 2017-08-30 | 2021-06-22 | 深圳市中兴微电子技术有限公司 | 一种前向纠错编解码模式的同步方法及装置 |
WO2020192397A1 (zh) * | 2019-03-28 | 2020-10-01 | 华为技术有限公司 | 一种发送设备的调整方法和通信装置 |
CN110943803A (zh) * | 2019-12-09 | 2020-03-31 | 西南交通大学 | 一种基于纠删编码的数据传输控制方法 |
CN110943803B (zh) * | 2019-12-09 | 2021-10-08 | 西南交通大学 | 一种基于纠删编码的数据传输控制方法 |
CN111835462A (zh) * | 2020-07-06 | 2020-10-27 | 天津大学 | 一种基于纠删码的无线传感器网络丢包恢复方法 |
CN114070458A (zh) * | 2020-08-04 | 2022-02-18 | 成都鼎桥通信技术有限公司 | 数据传输方法、装置、设备及存储介质 |
CN114866195A (zh) * | 2022-07-07 | 2022-08-05 | 深圳市江元科技(集团)有限公司 | 一种使用安卓系统控制热敏打印机的方法 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN101651519A (zh) | 自适应动态前向纠错编码方法、装置及系统 | |
CN103201976B (zh) | 用于聚合分组传输中的分组级擦除保护编码的方法和装置 | |
US8004992B2 (en) | Adding hybrid ARQ to WLAN protocols with MAC based feedback | |
EP2218204B1 (en) | Method and system for data transmission in a data network | |
EP0938207A2 (en) | System and method for incremental redundancy transmission in a communication system | |
US20120246538A1 (en) | Application of fountain forward error correction codes in multi-link multi-path mobile networks | |
CN106817192B (zh) | 一种错误估计的方法、基站及终端 | |
JP4829235B2 (ja) | 無線デジタル通信ネットワークの範囲または帯域幅を増加させるためのシステムおよび方法 | |
CN107547436A (zh) | 基于网络编码的传输控制协议的编译码方法 | |
EP2115981A1 (en) | Method and apparatus for code block segmentation in a mobile communication system | |
CN107209713B (zh) | 按需文件修复的方法和系统 | |
CN101656603A (zh) | 采用重传和编码协商实现数据传输的方法、装置及系统 | |
CN103607264A (zh) | 基于3g网络的带内数据传输方法 | |
CN110299966B (zh) | 一种数据传输方法、终端及基站 | |
JP2010537506A (ja) | デコード不能パケットを送信するための装置および方法 | |
CN102970111A (zh) | 一种卫星网络通信中基于冗余编码的多路接入方法 | |
WO2009049543A1 (fr) | Procédé et système associé pour la reconfiguration du canal de service dans un système de communication sans fil | |
JP2007509510A (ja) | Hsdpa通信システムにおけるarq制御 | |
EP3821552A1 (en) | Device and method for supporting harq for wi-fi | |
Basalamah et al. | A comparison of packet-level and byte-level reliable FEC multicast protocols for WLANs | |
CN111601342A (zh) | 一种基于位错误的低速无线个域网错误数据包恢复方法 | |
Huang et al. | Principles of FECs with evaluating different types of FEC used in the Internet and wireless networks | |
CN104541467B (zh) | 一种发送比特流方法、设备及系统 | |
Lin et al. | Efficient frame aggregation transmission using random linear network coding | |
CN101123605B (zh) | 进行消息完整性保护的方法及装置 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
C06 | Publication | ||
PB01 | Publication | ||
C10 | Entry into substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
C12 | Rejection of a patent application after its publication | ||
RJ01 | Rejection of invention patent application after publication |
Application publication date: 20100217 |