自适应动态前向纠错编码方法、装置及系统的制作方法

文档序号:7702760阅读:133来源:国知局
专利名称:自适应动态前向纠错编码方法、装置及系统的制作方法
技术领域
本发明涉及前向纠错编码技术,特别是涉及一种自适应动态前向纠错编码方法、装置及系统。
背景技术
网络数据在通信线路上进行传输时,可能会由于通信线路所依赖的信道不可靠而导致数据包传输过程中出现错误,接收端接收到的数据包或多或少不同于发送端发出的数据包,使得接收到的数据包的数据不可用,而这种数据包发生错误的现象也称为误码,造成误码的原因很多,如无线电传输中的电磁干扰、电传输链路中的电流浪涌或光传输链路中的信号强弱等,均可能造成通信线路的信道不可靠,导致数据链路传输中出现突发性误码。其中,
低速串行链路上的误码现象更为严重,比特误码率严重时可达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传输机制。该机制中, 发送端接收到反馈信息后,调整数据的冗余度,但不会为了等待反馈信息停 止数据的发送。其基本方法是在发送的实时数据的用户数据报协议(User Datagram Protocol, UDP )的头部和实际实时数据之间加入一个称为DFEC的 首部,该首部中加入一个FEC-0n标志位,用来标志数据是否需要FEC解码, 接收端通过判断数据包的接收情况,若丢包率大于设定的FEC开启阈值,就 发送一个数据包给发送端,以此方式通知发送端开启或关闭FEC编码。
(3)《计算机应用》2008年9月公开的论文《无线网络中支持H, 264
5的增强前向纠错算法》,其公开了在无线网络中支持H. 264视频业务传输, 提出了 一种增强的FEC算法EFEC,并对EFEC的性能进^f亍了分析。增强的FEC 算法通过接收端发送的反馈信息决定是否采用EFEC传输数据,且不会应为反 馈信息的丢失而停止数据传输,同时,EFEC可根据网络误比特率调整附加数 据信息的长度。
(4)公开号为CN101061659A、发明名称为《自适应前向纠错》的中国专 利公开了用于无线网络上视频流传输的自适应FEC设备和方法,其中,设备 包括FEC编码器和自适应FEC装置,FEC编码器用于将K个源数据包编码为n 个包,其中nA,并且该n个包包括冗余数据,自适应FEC装置用于基于一条 或多条反馈信息的接收,来自适应地确定要和K个编码包一起发送的冗余包 数,这一条或多条反馈信息指示要借以发送编码视频的无线网络的条件。
发明人在实现本发明的过程中发现现有的前向纠错技术至少存在如下缺 陷现有自适应FEC编码方法中均采用单一的FEC编码算法,且一般是对冗 余数据的大小或者是否进行FEC编码进行控制,以适应当前的网络环境,FEC 编码方式简单,对于网络数据的动态传输中,网络环境易变化的情况下,发 送端和接收端只能采用单一的FEC编码算法,不能适应各种网络环境下采用 前向纠错编码的数据的传输,导致数据传输效率和可靠性较低。

发明内容
本发明的目的是提供一种自适应动态前向纠错编码方法、装置及系统, 可有效克服现有前向纠错编码方法的缺陷,可根据当前网络环境的变化,在 发送设备和接收设备之间建立合适的编码算法,可适合各种环境下采用前向 纠错编码的数据传输的需要,降低数据传输的误码率,提高通信链路的数据 传输效率。
为实现上述目的,本发明提供了一种自适应动态前向纠错编码方法,包
括根据当前网络状态,向通信链路上的报文发送设备发起编码协商请求信
息,所述编码协商请求信息包括编码算法;
接收所述发送设备返回的编码协商确认信息,并根据所述编码算法对从 所述发送设备接收到的报文进行解码处理。
其中,所述根据当前网络状态,向通信链路上的报文发送设备发起编码 协商请求信息包括
当对接收到的报文进行解码错误时,根据当前网络状态向通信链路上的 报文发送设备发起编码协商请求信息。
或者,所述根据当前网络状态,向通信链路上的报文发送设备发起编码 协商请求信息可包括
统计对接收到的不同报文进行连续解码时未出现错误的解码次数,判断 所述解码次数是否超过预设次数,是则向所述发送设备发送所述编码协商请 求信息。
本发明提供了一种自适应动态前向纠错编码装置,包括
协商发送模块,用于根据当前网络状态,向通信链路上的报文发送设备 发起编码协商请求信息,所述编码协商请求信息包括编码算法;
接收处理模块,用于接收所述发送设备返回的编码协商确认信息,并根 据所述编码算法对从所述发送设备接收到的报文进行解码处理。
本发明还提供了 一种自适应动态前向纠错编码系统,包括发送设备和接 收设备,其中,
所述接收设备,用于根据当前网络状态,向通信链路上的报文发送设备 发起编码协商请求信息,所述编码协商请求信息包括编码算法;接收所述发 送设备返回的编码协商确认信息,并根据所述编码算法对从所述发送设备接 收到的报文进行解码处理;
所述发送设备,用于接收所述接收设备发送的所述编码算法协商请求信 息,并根据自身的状态返回协商确认信息。本发明技术方案中接收设备可根据自身的网络状态向发送设备发起编码 算法的协商请求,协商双方之间釆用的编码算法,并以协商后的编码算法对 数据的发送和数据接收进行相应的处理,使得基于协商后的编码算法的数据 的传送更加准确可靠,且可有效提高整个通信链路和通信系统的数据传送效
率;本发明技术方案可根据不同网络环境采用不同的编码算法的前向纠错编 码,可有效提高采用前向纠错编码进行数据传输的需要,降低数据传输的误 码率,提高数据传输的效率。


图1为基于PPP协议进行数据传输的示意图; 图2为PPP协议协商阶段的示意图3为本发明自适应动态前向纠错编码方法实施例一的流程图4为本发明自适应动态前向纠错编码方法实施例二的流程图5为FCP中Reset-Request和Reset-Ack才艮文编码格式的示意图6为FCP中X0R编码算法的报文格式示意图7为FCP中RS编码算法的报文格式示意图8为本发明实施例通过FCP进行编码算法协商的工作阶段示意图9为本发明自适应动态前向纠错编码装置实施例一的结构示意图IO为本发明自适应动态前向纠错编码装置实施例二的结构示意图;
图11为本发明自适应动态前向纠错编码系统实施例的结构示意图。
具体实施例方式
下面通过附图和实施例,对本发明的技术方案做进一步的详细描述。 本发明实施例可应用于基于前向纠错技术进行报文传输的网络中,具体
地,本发明实施例可在报文传输的通信链路的发送设备和接收设备之间建立
编码协商纟几制,
8协商后的编码 算法下进行前向纠错编码时,发送设备和接收设备之间的通信可以同步,在 降低数据传输中的误码率的同时,还可有效保证数据传输的效率。其中,为
便于对本发明技术方案进行说明,本发明实施例以采用点对点协议(Point to Point, PPP)进行净艮文传输的通信链^各为例进行说明。
下面首先对采用PPP协议进行通信的过程进行说明。图1为基于PPP协 议进行数据传输的示意图;图2为PPP协议协商阶段的示意图。低速通信链 路中,如无线电台、卫星通信等链路,报文的传输一般采用PPP协议进行链 路控制、数据压缩控制、网络层协议控制和数据封装,这使得PPP协议成为 低速链路数据通信的首选,而对于误码率较高,或者虽然误码率不高但对数 据传输可靠性要求较高的高速链路,如光纤通信系统,PPP协议也被广泛应用, 因此,有必要在PPP协议的基础上扩展对报文纠错的控制。其中,基于PPP 协议的协商过程如下.'
(1) 当PPP链路激活(UP)后,进入链路建立(Establish)阶段,具 体地,基于PPP协议标准,由链路控制协议(Link Control Protocol, LCP ) 通过交换Configure才艮文来建立连接,当4矣收到Configure-Ack报文后,协 商交互完成并进入LCP 0pen状态,使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 所示,本实施例方法包括以下步骤
步骤IOI、根据当前网络状态,向通信链路上的报文发送设备发起编码协 商请求信息,所述编码协商请求信息包括编码算法;
步骤102、接收所述发送设备返回的编码协商确认信息,并根据所述编码 算法对从所述发送设备接收到的报文进行解码处理。
本实施例技术方案可应用于采用前向纠错编码进行的数据传输的通信系 统中,数据传输中的接收设备可根据自身的网络状态,如信道的实际误码率 或测量得到的误码率、带宽、延迟、可用性、用户需求等,确定适合于当前 网络状态,且可满足数据传输可靠性的编码算法,并将该编码算法携带在编 码协商请求信息中发送给数据传输中的发送设备,在双方之间建立采用合适 编码算法对数据进行传输,使得利用该编码算法进行前向纠错数据传输时, 可有效保证数据传输的可靠性,降低数据传输的误码率,降低数据传输时带 宽的占用率,提高数据传输效率。具体地,当接收设备将携带编码算法的编 码协商请求信息发送至发送设备时,发送设备接收到该编码协商请求信息后, 可根据自身的条件或网络环境,如是否支持该编码算法等,响应该编码协商 请求,若同意该编码协商请求信息中的编码算法,则向接收设备返回编码协 商确认信息,表示同意以该编码协商请求信息中的编码算法进行数据传输, 然后发送设备和接收设备即可按照该协商的编码算法对数据进行处理,完成 数据的发送和接收,即发送设备即可按照该协商后的编码算法对数据进行处 理并发送,而接收设备则可按照该编码算法对从发送设备接收到的数据进行相应的解码处理。
实际应用中,当接收设备对接收到的报文进行解码错误时,可根据检测 得到的当前网络状态向通信链路上的报文发送设备发起编码协商请求信息, 以在发送设备和接收设备之间建立合适的编码算法,提高接收设备对报文解 码的准确性和可靠性,提高整个通信链路数据传输的效率。
实际应用中,所述的编码算法可以为区块码算法、回旋码算法、涡轮码
算法、低集成度奇偶校验码算法或RAID码算法等,其中,区块码中可采用RS 码(Reed-Solomon码)、RAID码或XOR码等。具体地,发送设备或接收设备 可以根据当前网络状态等的需要,在双方之间建立合适的编码算法,以使得 根据该编码算法进行前向纠错编码时数据传输占用的带宽小,链路消耗低, 且可有效保证接收数据的准确性,提高数据传输的可靠性。同时,由于编码 算法是根据当前的网络状态而设定,因此,采用协商后的编码算法进行前向 纠错,可有效降低数据传输中占用的网络的带宽,提高数据传输的效率,从 而提高整个通信系统的吞吐量。
实际应用中,当发送设备向接收设备发起编码协商请求信息,而发送设 备不支持其携带的编码算法时,发送设备可向接收设备返回重协商请求信息, 该重协商请求信息可包含发送设备建议采用的新的编码算法,接收设备若接 收到发送设备返回的重协商请求信息时,可根据所述重协商请求信息向所述 发送设备重新发起编码协商请求信息,该重新发起的编码协商请求信息可包 含携带所述新的编码算法的请求信息,使得发送设备和接收设备之间可以协
商确定一种适合双方的编码算法。同时,接收设备也可以根据自身的需要, 选择另一合适的编码算法向发送设备发起编码协商请求信息,在发送设备和
接收设备之间建立适合双方的编码算法。
因此,本发明实施例中接收设备可根据自身的网络状态向发送设备发起 编码算法的协商请求,协商双方之间釆用的编码算法,并以协商后的编码算 法对数据的发送和数据接收进行相应的处理,使得基于协商后的编码算法的
ii数据的传送更加准确可靠,且可有效提高整个通信链路和通信系统的数据传
送效率;本发明实施例可根据不同网络环境采用不同的编码算法的前向纠错 编码,可有效提高采用前向纠错编码进行数据传输的需要,降低数据传输的 误码率,提高数据传输的效率。
图4为本发明自适应动态前向纠错编码方法实施例二的流程图。本实施 例方法可包括以下步骤
步骤201、统计对接收到的不同报文进行连续解码时未出现错误的解码次数。
步骤202、判断所述解码次数是否超过预设次数,是则执行步骤203,否 则,执行步骤201。
步骤203、根据当前网络状态,向通信链路上的报文发送设备发起编码协 商请求信息。
步骤204、接收所述发送设备返回的编码协商确认信息,并根据所述编码 算法对从所述发送设备接收到的报文进行解码处理。
本发明实施例中,接收设备可对其对接收到的不同报文连续解码正确的 解码次数进行统计,当连续解码次数超过预设次数时,说明当前的网络状态 良好,此时网络状态下还可能允许具有更低编码强度的数据的传输,因此, 当对不同的报文连接解码正确的解码次数超过预设次数时,接收设备可设定 更加适合该网络状态下的编码算法,向发送设备发起编码协商请求,以使得 在新的编码算下进行前向纠错编码时,降低编码强度,使得数据传输时占用 更少的网络带宽,提高数传输的效率,同时,还可保证数据传输的准确性和 可靠性。
可以看出,本发明实施例可根据接收设备接收的实际需要,当网络状态 良好时,可重新发送编码协商请求信息,以建立采用新的编码算法进行前向 纠错编码,可避免数据长期处于较强的编码强度下而降低了数据传输的效率, 可有效提高整个通信链路数据传输的效率,提高整个通信系统的吞吐量。上述各实施例中,接收设备在向发送设备发起编码协商请求信息时,编 码协商请求信息中还可包括与编码算法对应的编码参数,以确认编码后的冗 余数据的大小,当然,根据实际的需要,在进行编码协商时,也可只协商发 送设备和接收设备之间编码时采用的合适的编码参数,以保证数据传输的准 确性和可靠性,保证数据传输的效率。
上述各实施例中,发起编码协商请求信息的也可以是发送设备,此时, 一般是在数据发送前建立发送设备和接收设备之间采用的前向纠错编码算 法,以使得数据开始传输时即具有较好的数据传输效果。
为对本发明技术方案有更好的了解,下面对上述发送设备和接收设备之 间进行编码算法协商在PPP链if各上的实现进行说明。
实际应用中,本发明实施例发送设备和接收设备之间编码算法的协商可 以在采用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,
13表示对应于FCP。
(3) 代码域(Code Field)不同。
除了代码1 ~ 7,即Configure-Request, Configure—Ack, Conf igure-Nak, Configure-Reject, Terminate—Request, Terminate—Ack和Code-Reject, FCP中还力口入了两个i贞夕卜6々纟扁石马14禾口 15,民卩Reset-Request禾口 Reset—Ack。 此外,其它编码应该祐:视作不认识并回应Code-Rejects。
(4) 超时操作不同。
FCP报文只有当PPP已经到达网络层协议阶段才能开始交换,实现时,应 该先等待认证和链路质量判定(Link Quality Determination)已经结束后 开始进行Configure-Ack或其它响应的超时才喿作,具体实现时,建议只有当
用户干预或等待了一个可配置的时间后才放弃继续等待响应。
(5) 配置选项类型(Configuration Option Types)不同。 FCP协议有自己的配置选项,具体将在后面介绍。
(6) 发送FEC编码数据报文(Sending Fee-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代码域值14 Reset—Request15 Reset-Ack为了在通信链路的一个方向上提供一种表明解码失效的机制而不影响另 一个方向的流量,FCP提供Reset-Request和Reset-Ack码,解码失效可通过 解码时的出错数据块数大于当前编码纠错能力来判断,而出错数据块可以通 过数据块后附加的CRC纟交—验值来判断。如果FCP实现希望指示解码失效,可发送一个代码域为14,即 Reset-Request的FCP才艮文,并且在数据域填入任何想要的数据。当发送了 Reset-Request后,4壬何收到的FEC编码的净艮文都应该丟弃,并发送另一个 Reset—Request,直至甘》1史至1』——个合法^; Reset—Ack。 j!欠至!J Re set—Request后, 发送方FEC编码器返回初始状态,即重新初始化编码算法的相关参数,此时, FEC须发送一个代码域为15,即Reset-Ack的FEC报文作为应答,其id域, 即标识符域与Reset-Request中的id相同,数据域填入任何想要的数据。如 果收到Reset-Request或Reset-Ack的FCP报文,接收者应该判断本地解码 是否出现致命错误,如果出现致命错误,则应该关闭FCP,向对方发送代码域 为Terminate-Request的FCP报文,如果出现非致命的错误,则可以发送Conf igure-Request报文,要求与对方返回到链路建立阶段。图5为FCP中Reset-Request和Reset-Ack寺良文编码才各式的示意图。具 体地,如图5所示,Reset-Request和Reset-Ack才艮文编码才各式中相应的报 文域从左至右传输,其中,代码(Code)中,14表示Reset-Request, 15表示Reset-Ack;在传输 时,当数据域的内容改变和收到一个关于先前的请求(Request)的合法回复 (r印ly )时必须改变id域,即标识符(Identifier )i或,当收到Reset-Reques t 才艮文时,Reset-Request的id域应拷贝到Reset-Ack^艮文的id域;凄t据(Data ) 域为0个或多个字节,包含给发送者的不可解释的数据,数据可以包含任何 二进制值,长度可以是任意长度,从0到对方的MRU值-4。下面对FCP配置选项进^f于说明。FCP配置选项允许协商压缩算法及相应的 算法参数,FCP使用与LCP协议相同的配置选项格式,但选项的内容不同。FCP 中配置选项指出接收设备所用的编码算法,接收设备根据该编码算法愿意或 能够解码出由发送设备发送的数据,假定系统可以提供多种算法,可协商并 采用其中一种算法。由于数据的收发双方可能无法对所有的纠错算法(即前向纠错编码算法)达成一致,此时可能无法使用纠错算法,因此,通信链路 必须在没有纠错的方式下达成一致,当LCP再次协商时,则必须重新协商FCP 状态。此外,由于许多用户均可以使用自己专有的算法,此时用户也可根据 自己的编码来设定一个编号,且该编号与后面FCP协议给出的编号不同,即 用户也可以自定义算法及FCP中相应的编号。实际应用中,如果配置选项不能祐j妾收方识别就发送Configure-Reject, 若所有的FEC编码算法接收者均不识别,则表明在这条通信链路的这个方向 上不能使用FEC编码。如果配置选项能够被接收方识别,但由于选项值不能 被接收方接受,或者没有选项参数,则须发送一个Configure-NAK,其中包含 j务改过的选项值,Configure-NAK必须只包含可以接受的选项。当发送者接收 到一个Configure-NAK时应该发送一个新的Configure-Request,其中选项值修改为接收方想要的值,由此,即可在双方之间达成一致的编码算法。具体地,FCP选项类型域可支持以下选项值FCP Option FEC Coding Type2 X0R3 RS4 RAID6-Like5 涡轮码6 巻积码7 低集成度奇偶校验码 8-15 未JS武值码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位的循环冗余校-验。下面对X0R编码算法的报文格式中各报文域进行说明 Type数值为2,表示采用的是X0R编码算法;Length数值为8; BS代表 每个编码块的大小,单位为字节,块尾附加一个CRC校验;SS代表每个编码 段的大小,单位为字节,段尾附加一个X0R编码的纠错块,其中,SS为0, 表示将整个数据作为一个分段,SS—般为BS的整倍数,如果为非整倍数,则 段尾的最后一个块要补齐0后再进行编码;CRC bits表示每个编码块后的CRC 校验的位数,其值通常为8 (即1个字节)或16 (即2个字节),采用CRC8 或CRC16校验。(2) RS编码算法。图7为FCP中RS编码算法的报文格式示意图。具体地,如图7所示,该 配置选项提供了一种协商使用RS编码算法的方式,与X0R码一样,RS编码也 是一种典型的区块码,但RS编码的纠错能力要大大高于XOR码,根据国际电 信联盟ITU-T的建议,RS编码格式可以表示为(n, k, d),其中n=2m-1, d =n-k+l, m为正整数,RS编码算法可以纠正t-(d-l)/2个m进制的码错。一 般而言,m=8,即通常的RS8编码时,其可纠正长度为t个字节的突发码错, 由于是区块码,还必须对编码的数据块长度和分段长度进行说明,这与XOR 编码相同,数据块的校验也使用CRC校验。下面对RS编码算法的报文格式中M艮文域进行说明 Type数值为3,表示采用的是RS编码算法;Length对应的数值为14; Coded size (n)用来表示当前编码的取值范围,即全部符号的数量,由于RS 编码是在有限域的基础上得到,有限域,即伽罗华域,是指元素个数有限的 域,域中的元素个数称为域的阶,通过用GF U) , RS编码的符号取值域均 在GF U)域内,其长为n = q-1; Data size (k)对应的数值K表示编码前 的原始信息符号的数量;Minimum Distance (d)对应的数值d表示RS编码 的最小汉明距离,d应该满足d-n-k+l-2t+l, t是指能纠错的错误数,因此 在实际传输中,如果接收方收到的d值不能满足以上条件应该默认丢弃该报文;BS表示每个编码块的大小,单位为字节,块尾附加一个CRC校验;SS表 示每个编码段的大小,单位为字节,根据所采用的编码,段尾附加一个或多 个RS纠错块,SS为0表示将整个数据作为一个分段,SS —般为BS的整倍数, 如果为非整倍数,则段尾的最后要补齐0后再进行编码;CRC bits表示每个 编码块后的CRC校验的位数,其值通常为8 (即1个字节)或16 (即2个字 节)。图8为本发明实施例通过FCP进行编码算法协商的工作阶段示意图。具 体地,发送设备和"l妄收设备之间采用PPP协议通信,且利用上述的FCP进行 收发双方的编码算法协商时,其工作阶段可如图8所示,整个PPP协议中包 括有链路控制协商、口令认证协商、压缩控制协商、FEC控制协商和IP控制 协商,其中控制报文交互的类型可以从1 15,其中,14为Reset-Request, 15为Reset-Ack。可以看出,在PPP协议通信过程中,在原有的链i 各控制协 商、口令认证协商、压缩控制协商和IP控制协商之外,还可通过FEC控制协 商,即FCP协商来达到接收设备和发送设备之间的编码算法的一致。可以看 出,通过FCP协商可以实现发送设备和接收设备之间采用的编码算法的同步, 可有效保证数据传输的准确性和可靠性。此外本发明实施例中还提出了 一种网络中进行数据通信是纠错能力的确 定方法,其是假定网络数据传输中数据出错的概率p确定的情况下,最佳的 编码原始数据分段长度为n,纠错编码部分的长度为k。接收设备可根据数据传输的情况,计算数据报文丢失的概率为p ,对数 据进行编码后报文的总长度为w + h则由概率论可知,接收设备接收到的报 文中有/个错误的概率为^:(1)经过FEC纠错修复后,实际包错误概率可以近似用以下公式计算("+一 & (" + * -1 C^' (1 — ' t C (1 - p)"+" 尸'=-=-^-= JP—Jd- (2)19从公式(2)可知,接收设备完全正确接收的概率由网络传输的数据报文 丢失的概率/7和报文长度w + A决定,由于/t是一个常量,所以最佳的报文长度 由"决定。但公式(2)不便于转换成解析表达式,本实施例中用近似方法来 确定《的值。
由于每个报文解码后错误数目/服从参数为"+ yfc的二项分布,根据概率论 可知,报文的出错数目/的数学期望为 邻)=0 + 一 (3)
因此,可以得到每个报文中出错数目小于A对应的报文原始数据长度"应

<formula>formula see original document page 20</formula>
其中,w只能为整数,所以: <formula>formula see original document page 20</formula>
1) (5)
实际使用中,根据公式(5 )可得到原始数据长度n,并可根据用户对实 际数据丢失概率(即丢包率)的具体需要对"进行适当的修正,并可使用FCP 协议由收发双方重新协商最适合的块大小和分段大小,以获得合适的编码算 法和相应的编码参数。
实际上,根据公式(1),可有
<formula>formula see original document page 20</formula>("+ "!
因此,当p很小时,而"合适时,显然; ,>/7,+1,因此,报文错误概率随着 错误的增加而呈现迅速减少的趋势。
图9为本发明自适应动态前向纠错编码装置实施例一的结构示意图。如 图9所示,本实施例装置包括协商发送模块11和接收处理模块12,其中, 协商发送模块11,用于根据当前网络状态,向通信链路上的报文发送设备发起编码协商请求信息,所述编码协商请求信息包括编码算法;
接收处理模块12,用于接收所述发送设备返回的编码协商确认信息,并 根据所述编码算法对从所述发送设备接收到的报文进行解码处理。
本发明实施例可以在发送设备和接收设备之间建立协商机制,根据网络 状态协商发送设备和接收设备之间采用的编码算法,具体地,本发明实施例 中各模块的功能可以通过上述本发明自适应动态前向纠错编码方法实施例一 中的步骤来实现,其可产生与方法实施例相同的技术效果,在此不在赘述。
图10为本发明自适应动态前向纠错编码装置实施例二的结构示意图。具 体地,如图10所示,本实施装置包括协商发送;f莫块11、接收处理模块12、 解码次数统计模块15和判断^t块16,其中,
解码次数统计模块15,用于统计对接收到的不同报文进行连续解码时未 出现错误的解码次数;
判断模块16,用于判断所述解码次数是否超过预设次数,并将判断结果 传送至协商发送模块11;
协商发送模块11,用于在所述判断模块16的判断结果为所述解码次数超 过预设次数时,向通信链路上的报文发送设备发起编码协商请求信息,所述 编码协商请求信息包括编码算法;
接收处理模块12,用于接收所述发送设备返回的编码协商确认信息,并 根据所述编码算法对从所述发送设备接收到的报文进行解码处理。
本发明实施例可根据通信链路在数据传输中接收设备接收的实际需要, 当网络状态良好时,可在发送设备和接收设备之间建立编码协商,以采用新 的编码算法来实现前向纠错编码,其具体实现过程可通过上述本发明自适应
动态前向纠错编码方法实施例二中的步骤来实现,其可产生与方法实施例相 同的技术效果,在此不再赘述。
图11为本发明自适应动态前向纠错编码系统实施例的结构示意图。具体 地,如图ll所示,本实施例系统包括接收设备l和发送设备2,其中,所述接收设备l,用于根据当前网络状态,向通信链路上的报文发送设备
发起编码协商请求信息,所述编码协商请求信息包括编码算法;接收所述发
送设备返回的编码协商确认信息,并根据所述编码算法对从所述发送设备接
收到的报文进行解码处理;
所述发送设备2,用于接收所述接收设备发送的所述编码算法协商请求信 息,并根据自身的状态返回协商确认信息。
间建立合适的前向纠错编码算法,以适应当前网络环境下数据的传输,提高 数据传输的效率,其中,接收设备可包括上述本发明自适应动态前向纠错编 码装置实施例中的各模块,其可以根据当前网络状态向发送设备发起编码协 商请求。
最后应说明的是以上实施例仅用以说明本发明的技术方案而非对其进 行限制,尽管参照较佳实施例对本发明进行了详细的说明,本领域的普通技 术人员应当理解其依然可以对本发明的技术方案进行修改或者等同替换, 而这些修改或者等同替换亦不能使修改后的技术方案脱离本发明技术方案的 精神和范围。
权利要求
1、一种自适应动态前向纠错编码方法,其特征在于,包括根据当前网络状态,向通信链路上的报文发送设备发起编码协商请求信息,所述编码协商请求信息包括编码算法;接收所述发送设备返回的编码协商确认信息,并根据所述编码算法对从所述发送设备接收到的报文进行解码处理。
2、 根据权利要求l所述的自适应动态前向纠错编码方法,其特征在于,还包括若接收到所述发送设备返回的重协商请求信息时,根据所述重协商请求信息向所述发送设备重新发起编码协商请求信息,其中,所述重协商请求信息为所述发送设备不同意所述编码算法时,返回的包含新的编码算法的响应信息。
3、 根据权利要求l所述的自适应动态前向纠错编码方法,其特征在于,所述编码算法为区块码算法、回旋码算法、涡轮码算法、低集成度奇偶校验码算法或RAID码算法。
4、 根据权利要求l所述的自适应动态前向纠错编码方法,其特征在于,所述通信链路为采用PPP协议进行报文传输的链路。
5、 根据权利要求l所述的自适应动态前向纠错编码方法,其特征在于,所述根据当前网络状态,向通信链路上的报文发送设备发起编码协商请求信息包4舌当对接收到的报文进行解码错误时,根据当前网络状态向通信链路上的报文发送设备发起编码协商请求信息。
6、 根据权利要求l所述的自适应动态前向纠错编码方法,其特征在于,所述根据当前网络状态,向通信链路上的报文发送设备发起编码协商请求信息包括统计对接 到的不同报文进行连续解码时未出现错误的解码次数,判断所述解码次数是否超过预设次数,是则向所述通信链路上的所述发送设备发送所述编码协商请求信息。
7、 一种自适应动态前向纠错编码装置,其特征在于,包括协商发送模块,用于根据当前网络状态,向通信链路上的报文发送设备发起编码协商请求信息,所述编码协商请求信息包括编码算法;接收处理模块,用于接收所述发送设备返回的编码协商确认信息,并根据所述编码算法对从所述发送设备接收到的报文进行解码处理。
8、 根据权利要求7所述的自适应动态前向纠错编码装置,其特征在于,还包括解码次数统计模块,用于统计对接收到的不同报文进行连续解码时未出现错误的解码次数;判断模块,用于判断所述解码次数是否超过预设次数,是,则将判断结果传送至所述协商发送模块;所述协商发送模块用于在所述判断模块的判断结果为所述解码次数超过预设次数时,向通信链路上的报文发送设备发起编码协商请求信息,所述编码协商请求信息包括编码算法。
9、 一种自适应动态前向纠错编码系统,包括发送设备和接收设备,其特征在于,所述接收设备,用于根据当前网络状态,向通信链路上的报文发送设备发起编码协商请求信息,所述编码协商请求信息包括编码算法;接收所述发送设备返回的编码协商确认信息,并根据所述编码算法对从所述发送设备接收到的报文进行解码处理;所述发送设备,用于接收所述接收设备发送的所述编码算法协商请求信息,并根据自身的状态返回编码协商确认信息。
全文摘要
本发明公开了一种自适应动态前向纠错编码方法、装置及系统。该方法包括根据当前网络状态,向通信链路上的报文发送设备发起编码协商请求信息,所述编码协商请求信息包括编码算法;接收所述发送设备返回的编码协商确认信息,并根据所述编码算法对从所述发送设备接收到的报文进行解码处理。该装置包括协商发送模块和接收处理模块。本发明技术方案可以在发送设备和接收设备之间建立编码协商机制,以在双方之间建立合适的编码算法,在保证数据传输可靠性的同时,提高数据传输的效率,可适应各种网络环境下采用前向纠错编码进行数据传输的需要。
文档编号H04L1/00GK101651519SQ200910092478
公开日2010年2月17日 申请日期2009年9月15日 优先权日2009年9月15日
发明者刘亚萍, 卢泽新, 廖海宁, 张晓哲, 宏 王, 王宝生, 宁 胡, 郦苏丹, 琳 陈, 陈晓梅, 静 陶, 陶孜谨, 龚正虎 申请人:中国人民解放军国防科学技术大学
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1