CN101621353B - 一种随机线性网络编码的方法、装置和系统 - Google Patents
一种随机线性网络编码的方法、装置和系统 Download PDFInfo
- Publication number
- CN101621353B CN101621353B CN2008101260797A CN200810126079A CN101621353B CN 101621353 B CN101621353 B CN 101621353B CN 2008101260797 A CN2008101260797 A CN 2008101260797A CN 200810126079 A CN200810126079 A CN 200810126079A CN 101621353 B CN101621353 B CN 101621353B
- Authority
- CN
- China
- Prior art keywords
- encoded packets
- coefficient sets
- coefficient
- module
- sets
- 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.)
- Expired - Fee Related
Links
Images
Classifications
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L1/00—Arrangements for detecting or preventing errors in the information received
- H04L1/004—Arrangements for detecting or preventing errors in the information received by using forward error control
- H04L1/0041—Arrangements at the transmitter end
-
- H—ELECTRICITY
- H03—ELECTRONIC CIRCUITRY
- H03M—CODING; DECODING; CODE CONVERSION IN GENERAL
- H03M13/00—Coding, decoding or code conversion, for error detection or error correction; Coding theory basic assumptions; Coding bounds; Error probability evaluation methods; Channel models; Simulation or testing of codes
- H03M13/37—Decoding methods or techniques, not specific to the particular type of coding provided for in groups H03M13/03 - H03M13/35
- H03M13/3761—Decoding methods or techniques, not specific to the particular type of coding provided for in groups H03M13/03 - H03M13/35 using code combining, i.e. using combining of codeword portions which may have been transmitted separately, e.g. Digital Fountain codes, Raptor codes or Luby Transform [LT] codes
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L47/00—Traffic control in data switching networks
- H04L47/10—Flow control; Congestion control
Landscapes
- Engineering & Computer Science (AREA)
- Computer Networks & Wireless Communication (AREA)
- Signal Processing (AREA)
- Physics & Mathematics (AREA)
- Probability & Statistics with Applications (AREA)
- Theoretical Computer Science (AREA)
- Data Exchanges In Wide-Area Networks (AREA)
- Compression Or Coding Systems Of Tv Signals (AREA)
Abstract
本发明公开了一种随机线性网络编码的方法、装置和系统,涉及网络编码,为解决现有网络编码技术过程繁琐、耗时太长的问题而发明。本发明实施例提供的随机线性网络编码的方法包括:将原始数据顺序分成至少两个数据块;确定至少两个系数组,其中所述系数组的长度与数据块个数相同,所述系数组包含两个元素;所述数据块与其对应的系数进行位与运算,得到编码数据块;所述编码数据块之间进行位异或运算,得到编码包;本发明实施例提供的随机线性网络编码进行解码的方法包括:通过位异或运算的逆运算对编码包中的系数组进行简化;获取原始数据。本发明适用于对编码效率要求较高的网络编码。
Description
技术领域
本发明涉及网络编码,尤其涉及一种随机线性网络编码的方法、装置和系统。
背景技术
网络编码属于一种被称为无比率编码的特定的信道编码。发送端和接收端之间的传输模型相对来说很简单:发送端以最大的速率连续发送编码数据包给接收端,而无需等待接收端的反馈信息;接收端在积累足够的编码包后,恢复原始数据。
在抽象代数中,伽罗华域Galois Field(又名有限域)是一个包含有限多个元素(数字)的域,可以用GF(q)来表示一个拥有q个元素的伽罗华域。伽罗华域运算被定义为有限元素之间特定的循环映射关系,典型的GF运算是GF加法和GF乘法。由于循环的特性,GF中的有限元素相互关联形成了一个有限环;对任何不属于该环的其他元素,执行模运算使得该元素被映射到有限环中的某个元素。它的加法和乘法表是全局唯一的;GF加法和乘法运算因为是一对一映射,所以存在反向运算。对GF(q)加法和乘法的直观理解如下所示,
A⊕B=(A+B)mod q
网络编码的编码和解码过程用GF的加法和乘法来操作原始数据块。由于GF中的运算是完全可逆的,解码过程只要简单地反向执行编码过程中的运算即可。
编码过程
参照图1可以清楚看到编码过程包括以下步骤:
将原始数据分成M个数据块,其中M≥2;
将所述数据块转换成编码包;
所述数据块经过GF运算生成至少M个编码包,将这些编码包挨个发送到接收端。
解码过程
接收端接收所述编码包和与之对应的随机系数;
在接收端接收到M个线性独立的编码包后,构建一线性方程组;其中Xi是M个未知数;Cki和Yk是编码包中包含的参数。
对所述线性方程组求解,得到原始数据。
在通过研究上述网络编码进行内容传输的过程中,发明人发现现有网络编码的解码过程复杂,需要的处理时间太长,无法在因特网应用中推广。
发明内容
本发明的实施例提供一种随机线性网络编码的方法,能够使网络编码的编码、解码过程更加简便,大大缩短解码处理时间。
为达到上述目的,本发明的实施例提供的随机线性网络编码的方法,包括以下步骤:
将原始数据顺序分成至少两个数据块;
确定至少两个系数组,其中所述系数组的长度与数据块个数相同,所述系数组包含两个元素;
所述数据块与其对应的系数进行位与运算,得到编码数据块;
所述编码数据块之间进行位异或运算,得到编码包;
发送所述编码包和与所述编码包的系数组,以及随后要传输的编码包的系数组;
接收由接收端发送的系数组。
为达到上述目的,本发明的实施例还提供了一种随机线性网络编码进行解码的方法,包括以下步骤:
接收包含编码包及其随后至少一个编码包的系数组的编码信号;
检测所述随后的系数组与已接收到的编码包的系数组是否线性相关;
如果线性相关,则拒收该系数组对应的编码包;
向发送端传送一个与已接收到的编码包的系数组之间线性独立的系数组;
如果线性独立,则通过位异或运算的逆运算对已接收到的编码包中的系数组进行简化;
获取原始数据。
为达到上述目的,本发明的实施例提供的随机线性网络编码的编码装置,包括:
数据分割模块,用于将原始数据顺序分成至少两个数据块;
确定系数模块,用于确定至少两个系数组,其中所述系数组的长度与数据块个数相同,所述系数组包含两个元素;
与运算模块,用于对所述数据块与其对应的系数进行位与运算,得到编码数据块;
异或运算模块,用于对所述数据块进行位异或运算,得到编码包;
发送模块,用于发送包含所述编码包以及随后至少一个编码包的系数组的编码信号;
系数接收模块,用于接收由接收端发送的一组系数。
为达到上述目的,本发明的实施例还提供一种随机线性网络编码的解码装置,包括:
接收模块,用于接收包含编码包及其随后至少一个编码包的系数组的编码信号;
检测模块,用于检测所述随后的编码包的系数组与已接收到的编码包的系数组是否线性相关;
丢弃/拒收模块,用于当所述检测模块检测为线性相关时,指示拒收所述线性相关的系数组对应的编码包;
系数传送模块,用于向发送端传送一个与已接收到的系数组之间线性独立的系数组;
简化模块,用于当所述检测模块检测为线性独立时,通过位异或运算的逆运算对编码包中的数据组进行简化;
数据获取模块,用于获取原始数据。
本发明的实施例提供一种随机线性网络编码的系统,使网络编码的解码过程更加简便,大大缩短解码处理时间。
为达到上述目的,本发明的实施例提供的随机线性网络编码的系统,包括:
如上所述的随机线性网络编码的编码装置;
如上所述的随机线性网络编码的解码装置。
本发明实施例提供的随机线性网络编码的方法、装置和系统,在编码过程中采用了基于GF(2)的网络编码,随机为原始数据块分配系数,并通过位与运算和位异或运算将原始数据块转化成编码包;在解码过程中通过将每个编码包中非主元元素消减为0从而将其系数矩阵最终简化为单位矩阵,此时便得到相应的原始数据,与现有技术相比,其在解码过程中避免了繁琐的系数矩阵求逆运算,使得解码过程较之前简便很多,运算时间缩短;本发明实施例提供的网络编码的方法、装置和系统,使得网络编码、解码过程能够更加快速、有效地进行。
附图说明
图1为现有技术中线性随机网络编码的编码过程示意图;
图2为本发明实施例中线性随机网络编码的方法流程图;
图3为本发明实施例中线性随机网络编码进行解码的方法流程图;
图4为本发明实施例中线性随机网络编码进行解码的高斯消去法的示意图;
图5为本发明实施例中线性随机网络编码的编码装置的结构示意图;
图6为本发明实施例中线性随机网络编码的解码装置的结构示意图;
图7为本发明实施例中线性随机网络编码的系统的结构示意图。
具体实施方式
为了解决现有网络编码的解码过程太过繁琐,致使处理时间太长的问题,本发明的实施例提出一种随机线性网络编码的方法,下面结合附图对本发明实施例随机线性网络编码的方法进行详细描述。
如图2所示,本发明随机线性网络编码方法的实施例包括以下步骤:
21、将原始数据顺序分成至少两个数据块;
22、确定至少两个系数组,其中所述系数组的长度与数据块个数相同,所述系数组包含两个元素;
23、所述数据块与其对应的系数进行位与运算,得到编码数据块;
24、所述编码数据块之间进行位异或运算,得到编码包。
本发明还提出一种随机线性网络编码进行解码的方法,如图3所示,本发明随机线性网络编码进行解码的方法的实施例包括以下步骤:
31、通过位异或运算的逆运算对编码包中的系数组进行简化;
32、获取原始数据。
步骤31中,所述位异或运算的逆运算仍为位异或运算。
本发明实施例提供的随机线性网络编码的方法,在编码过程中采用了基于GF(2)的网络编码,随机为原始数据块分配系数,并通过位与运算和位异或运算将原始数据块转化成编码包;在解码过程中通过将编码包中非主元元素消减为0从而将其系数矩阵化简为单位矩阵,此时便得到相应的原始数据,与现有技术相比,本发明实施例在解码过程中避免了繁琐的系数矩阵求逆运算,使得解码过程较之前简便很多,运算时间缩短。
GF(2)编码
采用GF(2)编码简化了编码过程。对于一个分成n(n≥2)个数据块的编解码单元来说,首先,随机生成n位二进制数,与对应的数据块进行位与运算,数据块和0相与为0,和1相与仍为其本身,这样得到编码数据块;然后,将这些编码数据块进行位异或运算,生成一个编码包。该编码过程也就相当于,随机地选择几个数据块执行位异或运算,生成一个编码包,较现有技术中的编码过程简便了很多。
用高斯消去法进行解码
本发明随机线性网络编码的方法的实施例中,对编码包中系数组进行简化的过程包括:通过高斯消去法对至少两个编码包的系数矩阵进行简化,使得系数矩阵每行的主元为1,其它位置的元素均为0。
如果当前编码包和以前收到的编码包线性独立,它就包含一个主元,通过高斯消去法将其对应于已确定的主元(pivot element)位置上的元素都置为0。通过消除多余的非0元素,来简化编码包的系数组,进而得到编码包系数中的主元。其后,利用新的主元还可以进一步简化其他已收到的编码包。
在本发明随机线性网络编码的方法的实施例中,所述高斯消去法是通过对系数矩阵中的行进行位异或运算来对编码包中的系数组进行简化的,简化过程大致如下:
如图4所示,设定n为4,Y1、Y2为接收端已经收到并进行简化了的编码包,Y3为接收端新收到的编码包,且与Y1、Y2之间线性独立;通过高斯消去法对编码包系数矩阵进行简化的过程包括以下步骤:
S1,将编码包Y3的系数组添加到系数矩阵中;
S2、S3,如果Y3的系数组中包含冗余元素(主元之外的非0元素),且它们对应的主元在Y1、Y2的系数组中已经得到确认,那么通过位异或运算将Y3的系数组中的冗余元素消除;
S4,Y3的系数组中主元已经确定,利用Y3进一步简化其它已收到的编码包;
S5,得到简化后的系数矩阵。
只有在接收到n个线性独立的编码包,且经简化后所有的主元都为1、所有的冗余元素都消除,解码才算完成。即解码过程的目标就是用高斯消去法将编码包系数矩阵简化成单位矩阵。
本发明实施例采用高斯消去法进行解码的方法,编码包到达时,编码包内的数据可以随时得到处理,使得编码包下载和编码包处理可以同时进行,大大降低了解码处理时间。
可调节的系数分配
由于每个独立的编码包只有一个主元,解码过程通过将非主元元素消减为0来解码编码包,非0系数的个数决定进行异或运算的次数。在编码过程中可以调节编码包系数组中非0系数个数的平均值来改变处理复杂度。如果系数组中非0系数个数的平均值很小,网络编码处理数据的时间就比较少。
系数组中非0系数个数的平均值的确定过程:发送端拥有接收端请求的原始数据,通过检查原始数据的大小,发送端确定数据块的数量n和数据块的长度L。发送端传递数据块数量n和长度L给接收端;接收端返回一个自身软硬件配置信息;发送端根据该配置信息确定K值,该K值表示所有系数组中非0系数个数的平均值。
系数协商协议
对于接收端收到的每个编码包,通过高斯消去法对其进行简化。如果新接收到的编码包与前面的编码包线性相关,则该编码包所有的非0系数都会被消除,那么该编码包就会被接收端丢弃。
如果接收端接收到大量的与以往的编码包线性相关的、无用的编码包,就会严重影响接收端设备进行解码的速度,浪费解码时间。
本发明随机线性网络编码的方法的实施例中,引入了系数协商协议:
发送端传输编码包和其对应的系数组,以及随后要传输的编码包的系数组给接收端;
接收端检测随后要传输的编码包是否与目前收到的编码包线性相关;
如果线性相关,接收端发送拒绝信号给发送端,同时发送一个线性独立的系数组给发送端;
发送端接收该系数组,并根据该系数组生成新的编码包,发送给接收端。
由于网络时延和丢包,有可能同时有多个包在网络中传输。为了应付这种情况,可以在当前编码包里嵌入两组以上(包括两组)随后将要传输的编码包的系数组。
为了能更好地对本发明进行理解,现以一具体实施例对本发明的技术方案做进一步介绍。
发送端具体实施
发送端拥有接收端请求的原始数据的完整拷贝,通过检查原始数据的大小,发送端能动态确定数据块的数量n和数据块的长度L。发送端采用握手协议传递数据块数量和数据块长度信息给接收端;作为响应,接收端返回一个关于接收端潜在计算能力的信息,这样发送端就能确定合适的K值,它表示所有系数组中非0系数的平均个数。
一旦K值确定了,发送端开始传输,为每个编码包随机分配的系数中非0系数的个数会受到K值的限制。当数据块的数量为n,即系数矩阵大小为n×n时,每组系数包括n个2进制系数,则每个系数选择为1的概率为为0的概率为
根据当前系数组中的系数生成编码包。首先,为将要输出的数据分配存储空间,并将该输出数据初始化为0向量;然后从左到右扫描当前的系数组,如果第i个位置上的系数不为0,则将第i个数据块与输出数据进行位异或运算,生成编码包;完成这一步后,发送端将两组预测系数组(即分配给将要发送的编码包的系数组)与该编码包绑定,发送给接收端。
编码包发送完成后,第一组预测系数组变成当前系数组,第二组预测系数组就变成了第一组预测系数组,发送端自动生成新的第二组预测系数组。
在发送过程中,如果发送端从接收端收到一个编码包的系数相关的报告,那就意味着两组预测系数组中至少有一组将会导致发送端生成与接收端已接收编码包线性相关的编码包。发送端用接收端建议的系数组来替换与接收端已接收编码包中系数组线性相关的预测系数组。如下是发送端处理流程的伪码。
接收端具体实施
接收端与发送端握手以获得数据块的数量和长度的信息,然后就可以初始化相关设备。
解码过程由接收到的编码包驱动。当编码包到达时,首先处理其中包含的3组系数组。为了确定系数组是否会导致相关的包,尝试定位系数组中的主元。首先查询主元表中每个已经恢复出来的主元,对位置i上的主元来说,如果新接收的系数组相应的位置上系数不为0,那么将该系数组和拥有所述主元的系数组进行异或运算以消除该非0系数。当新接收的系数组中所有与已确定的主元位置对应的非0系数都被消除后,系数组就变成了简化形式。
如果简化系数组没有包含任何非0元素,那么该系数组与以前的收到的数据包就是线性相关的。如果与已经收到的编码包线性相关的系数组是当前系数组,则丢弃刚收到的数据包;如果与已经收到的编码包线性相关的系数组是预测系数组,则发送拒绝消息和建议的系数组给发送端,所述建议的系数组与已经收到的编码包的系数是线性独立的。
在所有的主元都确定后,解码编码包并恢复原始数据。每个存储的编码包的系数组只在自己相应的主元位置上有非0元素。这时编码包中的数据已经恢复成原来的数据了,然后接收端向发送端报告解码成功。
上述随机线性网络编码的方法的实施例只描述了发送和接收一个编解码单元(大小为n×L字节)的过程。通常一个单元的大小不会很大,因此传输一个内容时,需要将内容在逻辑上分成多个连续的编解码单元。接收端一般按顺序下载编解码单元,且同时向多个发送端请求数据。发送端收到下载请求后,对所请求编解码单元的数据进行编码,发送编码包给接收端。接收端从多个发送端获取所请求编解码单元的编码包,当获得足够的编码包并能解码得到编解码单元原始数据时,通知发送端接收完成,并可能请求下一个编解码单元。发送端收到接收端的完成报告后,开始发送下一个所请求编解码单元的编码包。
本发明随机线性网络编码的方法的实施例,在编码过程中采用了基于GF(2)的网络编码,编码系数只有0和1,通过对原始数据块进行位异或运算生成编码包,简化了现有技术中编码的过程;本发明随机线性网络编码的方法的实施例,在解码过程中采用了高斯消去法对编码包系数矩阵进行简化,使其最终简化成一单位矩阵,原始数据随之得到,该方法避免了现有技术中繁琐的矩阵求逆运算,节省了解码时间;本发明随机线性网络编码的方法的实施例,实现了可调节的系数分配,可以针对不同设备调节编解码的复杂度;本发明随机线性网络编码的方法的实施例,还提出了一种系数协商协议,接收端通过检测随后将要收到的编码包的系数组来判定是否要接收该编码报,降低编码包线性相关的可能性,降低了对线性相关的编码包进行解码所造成的时间上、资源上的浪费。采用本发明实施例的随机线性网络编码的方法,计算设备能以很高的吞吐率快速编解码,同时又能将编码包线性相关导致的通讯开销控制在最小。
本领域普通技术人员可以理解:实现上述方法实施例的全部或部分步骤可以通过程序指令相关的硬件来完成,前述的程序可以存储于一计算机可读取存储介质中,该程序在执行时,执行包括上述方法实施例的步骤;而前述的存储介质包括:ROM、RAM、磁碟或者光盘等各种可以存储程序代码的介质。
为了解决现有网络编码的解码过程太过繁琐,致使处理时间太长的问题,本发明的实施例提出一种随机线性网络编码的装置,下面结合附图对本发明实施例随机线性编码的装置进行详细描述。
如图5所示,本发明随机线性网络编码的编码装置的实施例包括:
数据分割模块,用于将原始数据顺序分成至少两个数据块;
确定系数模块,用于确定至少两个系数组,其中所述系数组的长度与数据块个数相同,所述系数组包含两个元素;
与运算模块,用于对所述数据块与其对应的系数进行位与运算,得到编码数据块;
异或运算模块,用于对所述数据块进行位异或运算,得到编码包。
其中,所述数据分割模块之后还包括:系数均值设定模块,用于设定所有系数组中非0系数个数的平均值K。
本发明实施例的随机线性网络编码的编码装置还包括:发送模块,用于发送包含所述编码包的编码信号。
所述发送模块,还用于发送包含所述编码包以及随后至少一个编码包的系数组的编码信号。
本发明实施例的随机线性网络编码的编码装置还包括:系数接收模块,用于接收由接收端发送的一组系数。
本发明的实施例还提出一种随机线性网络编码的解码装置,如图6所示,本发明随机线性网络编码的解码装置的实施例包括:
简化模块,用于通过位异或运算的逆运算对编码包中的数据组进行简化;
数据获取模块,用于获取原始数据。
本发明实施例的随机线性网络编码的解码装置还包括:接收模块,用于接收包含编码包的编码信号。
所述接收模块,还用于接收包含编码包及其随后至少一个编码包的系数组的编码信号。
本发明实施例的随机线性网络编码的解码装置中,还包括:
检测模块,用于检测所述编码包中的系数组与已接收到的编码包的系数组是否线性相关;
丢弃/拒收模块,用于指示丢弃所述线性相关的编码包。
所述检测模块,还用于检测随后的编码包的系数组与已接收到的编码包的系数组是否线性相关;
所述丢弃/拒收模块,还用于指示拒收所述线性相关的系数组对应的编码包。
本发明实施例的随机线性网络编码的解码装置还包括:系数传送模块,用于在拒收一编码包之后,向发送端传送一个与已接收到的系数组之间线性独立的系数组。
本发明实施例的随机线性网络编码的解码装置中,所述简化模块包括:
添加系数组模块,用于将所述编码包的系数组添加到已有的系数矩阵中;
异或化简模块,用于通过位异或运算消除所述编码包的系数组中主元之外的非0元素;
矩阵简化模块,用于进一步简化已有的系数矩阵。
应用本发明实施例提供的随机线性网络编码的装置进行网络编码,在编码过程中采用基于GF(2)的网络编码,随机为原始数据块分配系数,并通过位与运算和位异或运算将原始数据块转化成编码包;在解码过程中通过将每个编码包中非主元元素消减为0从而将其系数矩阵化简为单位矩阵,此时便得到相应的原始数据,与现有技术相比,其在解码过程中避免了繁琐的系数矩阵求逆运算,使得解码过程较之前简便很多,运算时间缩短。
为了解决现有网络编码的解码过程太过繁琐,致使处理时间太长的问题,本发明的实施例提出一种随机线性网络编码的系统,下面结合附图对本发明实施例随机线性编码的系统进行详细描述。
如图7所示,本发明随机线性网络编码的系统的实施例包括:
编码装置,用于随机地为原始数据块分配系数、并通过位与运算和位异或运算将原始数据块转化成编码包;
解码装置,用于对所述编码包进行简化、解码得到原始数据。
所述编码装置包括:
数据分割模块,用于将原始数据顺序分成至少两个数据块;
确定系数模块,用于确定至少两个系数组,其中所述系数组的长度与数据块个数相同,所述系数组包含两个元素;
与运算模块,用于对所述数据块与其对应的系数进行位与运算,得到编码数据块;
异或运算模块,用于对所述数据块进行位异或运算,得到编码包。
所述解码装置包括:
简化模块,用于通过位异或运算的逆运算对编码包中的数据组进行简化;
数据获取模块,用于获取原始数据。
应用本发明实施例提供的随机线性网络编码的系统进行网络编码,在编码过程中采用基于GF(2)的网络编码,随机为原始数据块分配系数,并通过位与运算和位异或运算将原始数据块转化成编码包;在解码过程中通过将每个编码包中非主元元素消减为0从而将其系数矩阵化简为单位矩阵,此时便得到相应的原始数据,与现有技术相比,其在解码过程中避免了繁琐的系数矩阵求逆运算,使得解码过程较之前简便很多,运算时间缩短。
以上所述,仅为本发明的具体实施方式,但本发明的保护范围并不局限于此,任何熟悉本技术领域的技术人员在本发明揭露的技术范围内,可轻易想到变化或替换,都应涵盖在本发明的保护范围之内。因此,本发明的保护范围应以权利要求的保护范围为准。
Claims (12)
1.一种随机线性网络编码的方法,其特征在于,包括:
将原始数据顺序分成至少两个数据块;
确定至少两个系数组,其中所述系数组的长度与数据块个数相同,所述系数组包含两个元素,所述系数组中的两个元素为0和1;
所述数据块与其对应的系数进行位与运算,得到编码数据块;
所述编码数据块之间进行位异或运算,得到编码包;
发送所述编码包和与所述编码包的系数组,以及随后要传输的编码包的系数组,以便接收端检测所述随后要传输的编码包是否与所述编码包线性相关;
如果所述接收端检测所述随后要传输的编码包与所述编码包线性相关,则接收由所述接收端发送的拒绝信号以及一个线性独立的系数组。
2.根据权利要求1所述的随机线性网络编码的方法,其特征在于,将原始数据顺序分成至少两个数据块之后还包括:设定所有系数组中非0系数个数的平均值K。
4.一种随机线性网络编码进行解码的方法,其特征在于,包括:
接收包含编码包及其随后至少一个编码包的系数组的编码信号;
检测所述随后的系数组与已接收到的编码包的系数组是否线性相关;
如果线性相关,则拒收该系数组对应的编码包,同时向发送端传送一个与已接收到的编码包的系数组之间线性独立的系数组;
如果线性独立,则通过位异或运算的逆运算对已接收到的编码包中的系数组进行简化;
获取原始数据。
5.根据权利要求4所述的随机线性网络编码进行解码的方法,其特征在于,还包括:
检测所述编码包中的系数组与已接收到的编码包的系数组是否线性相关;
如果线性相关,则丢弃该编码包。
6.根据权利要求4所述的随机线性网络编码进行解码的方法,其特征在于,所述通过位异或运算的逆运算对编码包中的系数组进行简化的步骤包括:
将所述编码包的系数组添加到已有的系数矩阵中;
如果所述系数组包含主元之外的非0元素,且所述非0元素对应的主元在已有的系数矩阵中已经得到确认,那么通过位异或运算将所述系数组中的主元之外的非0元素消除;
确定所述系数组中的主元后,利用该系数组进一步简化已有的系数矩阵。
7.一种随机线性网络编码的编码装置,其特征在于,包括
数据分割模块,用于将原始数据顺序分成至少两个数据块;
确定系数模块,用于确定至少两个系数组,其中所述系数组的长度与数据块个数相同,所述系数组包含两个元素,所述系数组中的两个元素为0和1;
与运算模块,用于对所述数据块与其对应的系数进行位与运算,得到编码数据块;
异或运算模块,用于对所述编码数据块进行位异或运算,得到编码包;
发送模块,用于发送包含所述编码包以及随后至少一个编码包的系数组的编码信号,以便接收端检测所述随后要传输的编码包是否与所述编码包线性相关;
系数接收模块,用于当所述接收端检测所述随后要传输的编码包与所述编码包线性相关时,接收由所述接收端发送的拒绝信号以及一个线性独立的系数组。
8.根据权利要求7所述的随机线性网络编码的编码装置,其特征在于,数据分割模块之后还包括:
系数均值设定模块,用于设定所有系数组中非0系数个数的平均值K。
9.一种随机线性网络编码的解码装置,其特征在于,包括:
接收模块,用于接收包含编码包及其随后至少一个编码包的系数组的编码信号;
检测模块,用于检测所述随后的编码包的系数组与已接收到的编码包的系数组是否线性相关;
丢弃/拒收模块,用于当所述检测模块检测为线性相关时,指示拒收所述线性相关的系数组对应的编码包,同时,系数传送模块,用于当所述检测模块检测为线性相关时,向发送端传送一个与已接收到的系数组之间线性独立的系数组;
简化模块,用于当所述检测模块检测为线性独立时,通过位异或运算的逆运算对编码包中的系数组进行简化;
数据获取模块,用于获取原始数据。
10.根据权利要求9所述的随机线性网络编码的解码装置,其特征在于,
所述检测模块还用于检测所述编码包中的系数组与已接收到的编码包的系数组是否线性相关;
所述丢弃/拒收模块还用于指示丢弃所述线性相关的编码包。
11.根据权利要求9所述的随机线性网络编码的解码装置,其特征在于,所述简化模块,包括:
添加系数组模块,用于将所述编码包的系数组添加到已有的系数矩阵中;
异或化简模块,用于通过位异或运算消除所述编码包的系数组中主元之外的非0元素;
矩阵简化模块,用于进一步简化已有的系数矩阵。
12.一种随机线性网络编码的系统,其特征在于,包括:
如权利要求7所述的随机线性网络编码的编码装置;
如权利要求9所述的随机线性网络编码的解码装置。
Priority Applications (3)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN2008101260797A CN101621353B (zh) | 2008-07-03 | 2008-07-03 | 一种随机线性网络编码的方法、装置和系统 |
PCT/CN2009/071067 WO2010000147A1 (zh) | 2008-07-03 | 2009-03-30 | 一种随机线性网络编码的方法、装置和系统 |
US12/981,849 US8553784B2 (en) | 2008-07-03 | 2010-12-30 | Method, apparatus and system for random linear network coding |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN2008101260797A CN101621353B (zh) | 2008-07-03 | 2008-07-03 | 一种随机线性网络编码的方法、装置和系统 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN101621353A CN101621353A (zh) | 2010-01-06 |
CN101621353B true CN101621353B (zh) | 2013-08-07 |
Family
ID=41465477
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN2008101260797A Expired - Fee Related CN101621353B (zh) | 2008-07-03 | 2008-07-03 | 一种随机线性网络编码的方法、装置和系统 |
Country Status (3)
Country | Link |
---|---|
US (1) | US8553784B2 (zh) |
CN (1) | CN101621353B (zh) |
WO (1) | WO2010000147A1 (zh) |
Families Citing this family (22)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101800629B (zh) * | 2010-04-07 | 2013-03-20 | 无锡泛联物联网科技股份有限公司 | 编码效率感知的网络编码方法 |
CN101917625A (zh) * | 2010-06-03 | 2010-12-15 | 北京邮电大学 | 一种基于联合信源-网络编码的可分级视频流传输方法 |
CN102065289B (zh) * | 2010-09-09 | 2012-10-24 | 西安电子科技大学 | 基于网络编码的可靠性视频传输方法及装置 |
CN102986156B (zh) * | 2011-05-11 | 2016-01-20 | 华为技术有限公司 | 编码方法及设备、解码方法及设备、编解码系统 |
CN102223683B (zh) * | 2011-06-07 | 2017-10-10 | 中兴通讯股份有限公司 | 无线传感器网络中的数据传输方法、节点和系统 |
CN102916761B (zh) * | 2011-08-01 | 2015-04-15 | 华为技术有限公司 | 编解码方法及相关设备和通信系统 |
CN102387000A (zh) * | 2011-10-20 | 2012-03-21 | 中国空间技术研究院 | 一种基于盲信号分离的网络编码方法 |
CN103516757B (zh) * | 2012-06-28 | 2016-12-21 | 华为技术有限公司 | 内容处理方法、装置及系统 |
CN102970117B (zh) * | 2012-12-05 | 2015-06-24 | 中国人民解放军理工大学 | 一种适用于随机线性网络编码的端到端自由度反馈的方法 |
CN104052503B (zh) * | 2013-03-15 | 2017-10-13 | 广达电脑股份有限公司 | 纠错码 |
US9673841B2 (en) | 2013-03-15 | 2017-06-06 | Quanta Computer, Inc. | Error-correcting code |
GB2515798A (en) * | 2013-07-04 | 2015-01-07 | Norwegian Univ Sci & Tech Ntnu | Network coding over GF(2) |
KR102139721B1 (ko) * | 2013-08-29 | 2020-07-30 | 삼성전자주식회사 | 다중 경로 프로토콜에서 이중으로 네트워크 코딩을 적용하는 방법 및 그 장치 |
RU2663708C1 (ru) * | 2014-12-31 | 2018-08-08 | Хуавей Текнолоджиз Ко., Лтд. | Способ и устройство для передачи данных |
US10009152B2 (en) * | 2016-03-04 | 2018-06-26 | Huawei Technologies Co., Ltd. | System and method for rate-less multiple access |
WO2017219216A1 (zh) * | 2016-06-20 | 2017-12-28 | 华为技术有限公司 | 一种数据传输方法、相关设备及系统 |
CN110020359B (zh) * | 2017-11-08 | 2024-04-05 | 亿阳信通股份有限公司 | 应用在网页前端的数据处理方法、装置及存储介质 |
CN113328826A (zh) * | 2020-02-28 | 2021-08-31 | 华为技术有限公司 | 数据处理方法及装置 |
CN112532344B (zh) * | 2020-10-26 | 2022-09-20 | 南京邮电大学 | 一种基于二维查表法的随机线性网络编码方法 |
CN115085872B (zh) * | 2022-03-09 | 2024-06-04 | 网易(杭州)网络有限公司 | 数据处理方法及装置、存储介质、电子设备 |
CN115378548B (zh) * | 2022-08-17 | 2024-06-11 | 中国人民解放军63892部队 | 一种面向无连接的二元叠加确定线性网络编码传输方法 |
CN115550349A (zh) * | 2022-09-29 | 2022-12-30 | 南京邮电大学 | 基于随机线性网络编码与卡尔曼滤波算法的文件传输方法 |
Citations (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN1735020A (zh) * | 2004-07-02 | 2006-02-15 | 微软公司 | 使用网络编码的内容分发 |
CN1855733A (zh) * | 2005-04-29 | 2006-11-01 | 华为技术有限公司 | 一种卷积编码方法及卷积编码器 |
Family Cites Families (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
TW440789B (en) * | 1999-04-28 | 2001-06-16 | Via Tech Inc | Multiplier |
US6343305B1 (en) * | 1999-09-14 | 2002-01-29 | The State Of Oregon Acting By And Through The State Board Of Higher Education On Behalf Of Oregon State University | Methods and apparatus for multiplication in a galois field GF (2m), encoders and decoders using same |
US8102837B2 (en) * | 2004-12-30 | 2012-01-24 | Massachusetts Institute Of Technology | Network coding approach to rapid information dissemination |
US20060224760A1 (en) * | 2005-03-15 | 2006-10-05 | 1000 Oaks Hu Lian Technology Development (Beijing) Co., Ltd. | Method and system for providing streaming content in a peer-to-peer network with network coding |
US7660301B2 (en) * | 2006-06-01 | 2010-02-09 | Lockheed Martin Corporation | System and method for network coding and/or multicast |
US8081641B2 (en) * | 2006-09-27 | 2011-12-20 | Massachusetts Institute Of Technology | Methods and apparatus for network coding |
-
2008
- 2008-07-03 CN CN2008101260797A patent/CN101621353B/zh not_active Expired - Fee Related
-
2009
- 2009-03-30 WO PCT/CN2009/071067 patent/WO2010000147A1/zh active Application Filing
-
2010
- 2010-12-30 US US12/981,849 patent/US8553784B2/en not_active Expired - Fee Related
Patent Citations (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN1735020A (zh) * | 2004-07-02 | 2006-02-15 | 微软公司 | 使用网络编码的内容分发 |
CN1855733A (zh) * | 2005-04-29 | 2006-11-01 | 华为技术有限公司 | 一种卷积编码方法及卷积编码器 |
Non-Patent Citations (1)
Title |
---|
郭炜剑等.网络编码及其在P2P网络中的应用.《电脑与信息技术》.2007,第15卷(第1期),第55-57页. * |
Also Published As
Publication number | Publication date |
---|---|
US20110142141A1 (en) | 2011-06-16 |
CN101621353A (zh) | 2010-01-06 |
US8553784B2 (en) | 2013-10-08 |
WO2010000147A1 (zh) | 2010-01-07 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN101621353B (zh) | 一种随机线性网络编码的方法、装置和系统 | |
CN103250463B (zh) | 用于通信系统的子集编码 | |
AU767140B2 (en) | Information additive code generator and decoder for communication systems | |
AU781130B2 (en) | Group chain reaction encoder with variable number of associated input data for each output group code | |
CN101552652A (zh) | 一种文件传输方法及传输装置 | |
CN101540778B (zh) | 一种数据传输的方法、装置和系统 | |
CN101151806A (zh) | 利用映射函数周期性的存储器有效的交织/去交织 | |
CN101257366B (zh) | 编解码方法、通讯系统及设备 | |
CN101406001A (zh) | 用于传输数据分组的方法和设备 | |
CN113746870B (zh) | 一种物联网设备数据智能传输方法及系统 | |
CN111225077A (zh) | 物联网设备配网方法、装置和系统 | |
CN107615810A (zh) | 用于在线网络代码的包头压缩系统和方法 | |
CN109150397B (zh) | 一种构造极化码序列的方法及装置 | |
CN102916761A (zh) | 编解码方法及相关设备和通信系统 | |
CN1778092B (zh) | 通信堆栈中的开销降低和地址保护 | |
JP2019083507A (ja) | 受信装置、送信装置、受信方法及び送信方法 | |
CN117596306A (zh) | 编码、解码方法及其装置 | |
WO2024066284A1 (zh) | 一种与源址无关的分布式状态监测方法 | |
CN113472476B (zh) | 解速率匹配方法、装置、计算机设备和存储介质 | |
CN106301499B (zh) | 一种基于rs码的预编码矩阵设计方法 | |
CN102790655B (zh) | 一种实现Turbo编码的装置和方法 | |
CN114665923A (zh) | 用于载波通信的数据处理方法、装置及处理器 | |
CN114448565A (zh) | 循环冗余校验计算方法、装置、电子设备及存储介质 | |
Liu et al. | Improving embedding efficiency by incorporating SDCS and WPC |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
C06 | Publication | ||
PB01 | Publication | ||
C10 | Entry into substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
C14 | Grant of patent or utility model | ||
GR01 | Patent grant | ||
CF01 | Termination of patent right due to non-payment of annual fee | ||
CF01 | Termination of patent right due to non-payment of annual fee |
Granted publication date: 20130807 Termination date: 20190703 |