CN114079529A - 一种网络编码方法及装置 - Google Patents
一种网络编码方法及装置 Download PDFInfo
- Publication number
- CN114079529A CN114079529A CN202010820352.7A CN202010820352A CN114079529A CN 114079529 A CN114079529 A CN 114079529A CN 202010820352 A CN202010820352 A CN 202010820352A CN 114079529 A CN114079529 A CN 114079529A
- Authority
- CN
- China
- Prior art keywords
- finite field
- decoding
- coding
- data blocks
- matrix
- 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
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/0056—Systems characterized by the type of code used
- H04L1/0057—Block codes
-
- 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
- H04L1/00—Arrangements for detecting or preventing errors in the information received
- H04L1/0001—Systems modifying transmission characteristics according to link quality, e.g. power backoff
- H04L1/0015—Systems modifying transmission characteristics according to link quality, e.g. power backoff characterised by the adaptation strategy
-
- 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/0001—Systems modifying transmission characteristics according to link quality, e.g. power backoff
- H04L1/0015—Systems modifying transmission characteristics according to link quality, e.g. power backoff characterised by the adaptation strategy
- H04L1/0017—Systems modifying transmission characteristics according to link quality, e.g. power backoff characterised by the adaptation strategy where the mode-switching is based on Quality of Service requirement
-
- 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/0076—Distributed coding, e.g. network coding, involving channel coding
Landscapes
- Engineering & Computer Science (AREA)
- Computer Networks & Wireless Communication (AREA)
- Signal Processing (AREA)
- Quality & Reliability (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))里进行编解码,例如,若发送端选择了在GF(28)的有限域进行编码,则要求所有参与网络编码的中间节点也要在GF(28)的有限域进行重编码(Recoding),所有的接收端都要在GF(28)的有限域进行解码。所以,在数据传输过程中,各个网络节点需要针对每个流或每个应用配置成与收发端一致的编解码参数。
但是,各个网络节点针对每个流或每个应用配置成与收发端一致的编解码参数,会带来以下几个问题:
1)由于网络设备通常编码算力受限,因此可能会导致吞吐量瓶颈。
2)由于各个网络节点的编码算力不同,若各个网络节点均支持同一等级的编解码算法,则需要选择较低的编解码算法进行数据传输,从而可能导致不满足服务质量(quality of service,QoS)需求。
3)网络节点针对每个流或每个应用配置成与收发端一致的编解码参数,一方面配置成本较高,另一方面,数据传输在切换路径时需要重新配置编解码参数,导致路径切换时延较大。
发明内容
本申请实施例提供了一种网络编码方法及装置,用于解决数据传输性能较差的问题。
第一方面,本申请实施例提供的一种网络编码方法,该方法可以应用于发送端,该方法包括:对一个组中的k个源数据块进行编码,得到多个编码数据块,其中,k为大于0的整数,多个编码数据块中至少两个编码数据块采用的编码系数对应的有限域的阶不同;根据多个编码数据块生成一个或多个报文并发送,其中,每个报文中携带至少一个编码数据块以及编码数据块对应的编码系数。本申请实施例中,发送端通过在多个有限域内对源数据块进行编码,使得接收端可以接收不同有限域的报文,从而接收端可以根据自身算力和应用需求自主选择有限域进行编解码。
在一种可能的设计中,对一个组中的k个源数据块进行编码,得到多个编码数据块,包括:将k个源数据块与第一编码矩阵进行第一编码运算,得到多个编码数据块,其中,第一编码矩阵包括至少两种不同阶有限域的编码系数。上述设计中,通过包括至少两种不同阶有限域的编码系数的编码矩阵,可以实现在多个有限域内对源数据块进行编码。
在一种可能的设计中,根据k个源数据块生成h1个报文并进行发送,h1个报文中每个报文携带至少一个源数据块以及源数据块对应的编码系数,其中,k个源数据块对应的编码系数构成对角线元素为1,且除对角线元素以外的其他元素为0的k×k矩阵,矩阵中的任一行元素为k个源数据块中一个源数据块对应的k个编码系数,h1为大于0且不大于k的整数。通过上述设计可以使发送端输出***码。
在一种可能的设计中,对一个组中的k个源数据块进行编码,得到多个编码数据块,包括:将k个源数据块与第二编码矩阵进行第二编码运算,得到n1个编码数据块,其中,n1为大于0的整数,第二编码矩阵包括的第一编码系数对应的有限域的阶均高于第一有限域的阶,第一有限域为第三编码矩阵对应的有限域。将n1个编码数据块以及k个源数据块与第三编码矩阵进行第三编码运算,得到m个编码数据块,其中,m为大于0的整数,多个编码数据块包括n1个编码数据块以及m个编码数据块。
在一种可能的设计中,根据k个源数据块生成h2个报文并进行发送,h2个报文中每个报文携带至少一个源数据块以及源数据块对应的编码系数,h2为大于0且不大于k的整数;其中,k个源数据块对应的编码系数以及n1个编码数据块对应的第二编码系数构成对角线元素为1,且除对角线元素以外的其他元素为0的(k+n1)×(k+n1)矩阵,矩阵中的任一行元素为k个源数据块中一个源数据块对应的k+n1个编码系数或者n1个编码数据块中一个编码数据块对应的k+n1个编码系数,第二编码系数为n1个编码数据块对应的编码系数中除第二编码运算采用的第一编码系数以外的编码系数。
在一种可能的设计中,对一个组中的k个源数据块进行编码,得到多个编码数据块,包括:将k个源数据块与第四编码矩阵进行第四编码运算,得到n2个中间数据块,其中,n2为大于0的整数,第四编码矩阵包括的编码系数对应的有限域的阶均高于第二有限域的阶,第二有限域为第五编码矩阵对应的有限域;将n2个中间数据块以及k个源数据块与第五编码矩阵进行第五编码运算,得到多个编码数据块。
在一种可能的设计中,报文还携带指示信息,指示信息用于指示报文所携带源数据块对应的有限域的阶,或者,指示信息用于指示报文所携带编码数据块对应的有限域的阶。通过上述设计,使接收端可以直接确定数据块对应的有限域。
第二方面,本申请实施例提供的一种网络编码方法,该方法可以应用于中间节点,该方法包括:接收n个报文,其中,n为大于1的整数,一个报文中携带a1个数据块以及a1个数据块对应的编码系数,a1为大于0的整数,n个报文所携带编码系数对应的有限域为一个或多个;根据如下信息中的一项或多项确定重编码的有限域:网络节点的编码算力、n个报文所携带编码系数对应的有限域、网络负载;基于重编码的有限域将n个报文携带的数据块以及编码系数进行重编码,得到v个编码结果,v为大于0的整数;发送m1个重编码后的报文,一个重编码后的报文中携带至少一个编码结果,m1为大于0且不大于v的整数。
本申请实施例中,中间节点可以根据自身编码算力、接收的报文所携带编码系数对应的有限域、网络负载等确定重编码的有限域,而不需要受限于收发端的编码算力,从而可以重编码的灵活性,并且,中间节点可以根据自身编码算力、接收的报文所携带编码系数对应的有限域、网络负载等随时调整重编码的有限域,而不需要重新协商收发端与其他中间节点的编码算力,路径切换可以直接切换,路径切换时延小。
在一种可能的设计中,重编码的有限域包括一个或多个有限域。上述设计中,中间节点通过对发送端输出的报文进行重编码,从而发送端和中间节点可以构成一种分布式的编码,也就是说,发送端编码一部分,中间节点再编码另一部分,通过这种方式发送端可以进行复杂度较低的编码,通过中间节点对发送端输出的报文进行进一步重编码,从而可以降低网络负载,提高传输效率。
在一种可能的设计中,基于重编码的有限域将n个报文携带的数据块以及编码系数进行重编码,包括:将n个报文携带的数据块与第七编码矩阵进行编码运算,得到v个重编码后的数据块,其中,第七编码矩阵包括的编码系数属于重编码的有限域;将n个报文携带的编码系数与第七编码矩阵进行编码运算,得到v组重编码后的编码系数,一个编码结果包括一个重编码后的数据块以及对应的一组重编码后的编码系数。通过上述设计,可以实现对发送端输出的报文的进一步重编码,从而发送端和中间节点可以构成一种分布式的编码,也就是说,发送端编码一部分,中间节点再编码另一部分,通过这种方式可以降低网络负载,提高传输效率。
在一种可能的设计中,根据n个报文所携带编码系数对应的有限域确定重编码的有限域,包括:确定n个报文所携带编码系数对应的有限域中最高阶的有限域为重编码的有限域。
第三方面,本申请实施例提供的一种网络编码方法,该方法可以应用于接收端,该方法包括:针对一个组中的k个源数据块,接收多个报文,其中,k为大于0的整数,一个报文携带至少一个数据块以及每个数据块对应的一组编码系数;采用第一译码方式或者第二译码方式或者第三译码方式或者第四译码方式或者第五译码方式对多个报文进行译码;
其中,第一译码方式为将多个报文在第一有限域内进行译码,第一有限域为网络中阶数最低的有限域;
第二译码方式为将多个报文在第二有限域内进行译码,第二有限域为多个报文携带的编码系数对应的有限域中最高阶的有限域;
第三译码方式为将多个报文在第三有限域内进行译码,第三有限域为多个报文携带的编码系数对应的有限域中除第一有限域以外的另一个有限域,第一有限域为网络中阶数最低的有限域;
第四译码方式为将多个报文在第一有限域和第四有限域内进行译码,第一有限域为网络中阶数最低的有限域,第四有限域为多个报文携带的编码系数对应的任一高阶有限域,高阶有限域为阶数高于第一有限域的有限域;
第五译码方式为多个报文在第一有限域和第五有限域内进行译码,第一有限域为网络中阶数最低的有限域,第五有限域为多个报文携带的编码系数对应的任意t个高阶有限域中阶数最高的有限域,高阶有限域为阶数高于第一有限域的有限域,t为大于1的整数。
本申请实施例中,接收端可先在高速的第一有限域进行大部分的译码,再尝试切到高阶有限域做剩余部分的译码,并且可以根据自身算力和应用需求自主选择有限域进行编解码,从而可以实现众口可调,且应用编码需求、有限域选择可随时任意自主调整。
在一种可能的设计中,采用第一译码方式对多个报文进行译码,包括:将多个报文在第一有限域内进行译码,使得译码矩阵经过译码后对角线元素为1,且除对角线元素以外的其他元素为0,其中,译码矩阵中任一行元素为一个数据块对应的一组编码系数。通过上述方式,第一译码方式可以提高译码速度,并且第一译码方式具有计算复杂度小、吞吐量高等优点。
在一种可能的设计中,多个报文携带k个数据块,k个数据块对应的编码系数属于第一有限域;或者,多个报文携带k+n个数据块,k+n个数据块对应的编码系数对应的有限域为第一有限域,其中,n为在高阶有限域进行编码的编码数据块的数量,高阶有限域为阶数高于第一有限域的有限域。通过上述方式,第一译码方式的传输开销较小。
在一种可能的设计中,采用第二译码方式对多个报文进行译码,包括:将多个报文在第二有限域内进行译码,使得译码矩阵经过译码后对角线元素为1,且除对角线元素以外的其他元素为0,其中,译码矩阵中任一行元素为一个数据块对应的一组编码系数。通过上述方式,第二译码方式一方面可以提高译码速度,另一方面可以提高译码成功率,从而可以实现译码速度与译码成功率之间的均衡。
在一种可能的设计中,多个报文携带k个数据块,k个数据块对应的编码系数属于两个或两个以上的有限域。通过上述方式,第二译码方式的传输开销较小。
在一种可能的设计中,采用第三译码方式对多个报文进行译码,包括:将多个报文在第三有限域内进行译码,使得译码矩阵经过译码后对角线元素为1,且除对角线元素以外的其他元素变换为0,其中,译码矩阵中任一行元素为一个数据块对应的一组编码系数。上述设计中,第三译码方式中,数据块对应的编码系数出了第一有限域以外,只有一种有限域(即第三有限域),由于实际中k>>n,所以译码矩阵中大部分系数为来自第一有限域的编码系数1或0,因此第三有限域的译码操作极少,可以极大简化第三有限域的运算复杂度。
在一种可能的设计中,多个报文携带k个数据块,且k个数据块中至少一个数据块对应的编码系数属于第一有限域,k个数据块中除至少一个数据块以外的其他数据块对应的编码系数属于第三有限域。通过上述方式,第三译码方式的传输开销较小。
在一种可能的设计中,采用第四译码方式对多个报文进行译码,包括:将多个报文在第一有限域内进行第一译码运算;将第一译码运算得到的结果在第四有限域进行第二译码运算。通过上述方式,由于译码矩阵中大部分系数为来自第一有限域的编码系数1或0,因此第四有限域的译码操作极少,可以极大简化第四有限域的运算复杂度。
在一种可能的设计中,将第一译码运算得到的结果在第四有限域进行第二译码运算,包括:将第一译码运算得到的结果在第四有限域进行第二译码运算,使得第一译码矩阵经过第二译码运算后对角线元素为1,且除对角线元素以外的其他元素为0;其中,第一译码矩阵的上矩阵包括第二译码矩阵第i行第g列的元素,第一译码矩阵的下矩阵为第二译码矩阵第T行第g列的元素与第T行对应的编码系数中属于第四有限域的编码系数进行运算的结果,第二译码矩阵中任一行元素为一个数据块对应的一组编码系数中属于第一有限域的编码系数经过第一次译码运算后的结果,i={1,2,……H-n},g={1,2,……,k},第二译码矩阵第T行为第四有限域的编码系数所对应的行,H为多个报文携带的数据块的数量,n为在高有限域进行编码的编码数据块的数量。上述设计中,由于第四有限域的译码成功率,因此在第四有限域进行一部分译码运算可以提高译码成功率。
在一种可能的设计中,将多个报文在第一有限域内进行第一译码运算,包括:将多个报文在第一有限域内进行第一译码运算,使得第五译码矩阵经过第一译码运算后第i行第j列的元素为0,第h行第k+1列至第h行第k+n列的元素中第h行第h+1列的元素为1,第h行第k+1列至第h行第k+n列的元素中除第h行第h+1列的元素以外的其他元素为0;
其中,第五译码矩阵中任一行元素为一个数据块对应的一组编码系数中属于第一有限域的编码系数,i={1,2,……H-n},j={k+1,k+2,……,k+n},第五译码矩阵经过第一译码运算后的第h行为第四有限域的编码系数所对应的行,H为多个报文携带的数据块的数量,n为在高阶有限域进行编码的编码数据块的数量。上述设计中,由于第一有限域的译码复杂度比较低,译码速度比较快,因此在第一有限域进行一部分译码运算可以提高译码速度。
在一种可能的设计中,多个报文携带(k-1)+n个数据块,且(k-1)+n个数据块中至少一个数据块对应的编码系数属于第四有限域,其中,n为在高阶有限域进行编码的编码数据块的数量。通过上述方式,可以降低传输开销。
在一种可能的设计中,采用第五译码方式对多个报文进行译码,包括:将多个报文在第一有限域内进行第四译码运算;将第一译码运算得到的结果在第五有限域进行第三译码运算。通过上述方式,由于译码矩阵中大部分系数为来自第一有限域的编码系数1或0,因此第五有限域的译码操作极少,可以极大简化第五有限域的运算复杂度。
在一种可能的设计中,将第一译码运算得到的结果在第五有限域进行第三译码运算,包括:将第一译码运算得到的结果在第五有限域进行第三译码运算,使得第三译码矩阵经过第三译码运算后对角线元素为1,且除对角线元素以外的其他元素为0;其中,第三译码矩阵的上矩阵包括第四译码矩阵第i行第g列的元素,第一译码矩阵的下矩阵为第四译码矩阵第H-n+1行至第H行中任意t行的第g列的元素与任意t行对应的编码系数中属于高阶有限域的编码系数进行运算的结果,第四译码矩阵中任一行元素为一个数据块对应的一组编码系数中属于第一有限域的编码系数经过第一次译码运算后的结果,i={1,2,……H-n},g={1,2,……,k},H为多个报文携带的数据块的数量,n为在高阶有限域进行编码的编码数据块的数量。上述设计中,从译码成功率或传输开销角度,可以利用高阶有限域来提升译码成功率。
在一种可能的设计中,将多个报文在第一有限域内进行第四译码运算,包括:将多个报文在第一有限域内进行第四译码运算,使得第五译码矩阵经过第四译码运算后第i行第j列的元素为0,第h行第k+1列至第h行第k+n列的元素中第h行第h+1列的元素为1,第h行第k+1列至第h行第k+n列的元素中除第h行第h+1列的元素以外的其他元素为0;其中,第五译码矩阵中任一行元素为一个数据块对应的一组编码系数中属于第一有限域的编码系数,i={1,2,……H-n},j={k+1,k+2,……,k+n},h取大于H-n且小于H+1的任意t个整数,H为多个报文携带的数据块的数量,n为在高阶有限域进行编码的编码数据块的数量。上述设计中,从译码速度或吞吐量角度,第五译码方式中在第一有限域进行大部分运算,相比于现有技术中在高阶有限域进行运算,可以有效降低计算复杂度,提高译码速度和吞吐量。
在一种可能的设计中,多个报文携带k+n-t个数据块,且k+n-t个数据块对应的编码系数属于至少t个不同的高阶有限域,其中,n为在高阶有限域进行编码的编码数据块的数量。通过上述方式,可以降低传输开销。
第四方面,本申请提供一种网络编码装置,该装置可以是通信设备,也可以是通信设备内的芯片或芯片组,其中,通信设备可以为发送端也可以是中间节点或者接收端。该装置可以包括处理单元和收发单元。当该装置是通信设备时,该处理单元可以是处理器,该收发单元可以是收发器;该装置还可以包括存储模块,该存储模块可以是存储器;该存储模块用于存储指令,该处理单元执行该存储模块所存储的指令,以使发送端执行上述第一方面中相应的功能,或者,以使中间节点执行上述第一方面中相应的功能,或者,以使接收端执行上述第一方面中相应的功能。当该装置是通信设备内的芯片或芯片组时,该处理单元可以是处理器,该收发单元可以是输入/输出接口、管脚或电路等;该处理单元执行存储模块所存储的指令,以使发送端执行上述第一方面中相应的功能,或者,以使中间节点执行上述第一方面中相应的功能,或者,以使接收端执行上述第一方面中相应的功能。该存储模块可以是该芯片或芯片组内的存储模块(例如,寄存器、缓存等),也可以是位于该芯片或芯片组外部的存储模块(例如,只读存储器、随机存取存储器等)。
第五方面,提供了一种网络编码装置,包括:处理器、通信接口和存储器。通信接口用于该装置与其他装置之间传输信息、和/或消息、和/或数据。该存储器用于存储计算机执行指令,当该装置运行时,该处理器执行该存储器存储的该计算机执行指令,以使该装置执行如上述第一方面至第三方面中任一方面或任一方面中任一设计所述的方法。
第六方面,本申请还提供一种计算机可读存储介质,所述计算机可读存储介质中存储有指令,当其在计算机上运行时,使得计算机执行上述第一方面至第三方面中任一方面或任一方面中任一设计所述的方法。
第七方面,本申请还提供一种包括指令的计算机程序产品,当其在计算机上运行时,使得计算机执行上述第一方面至第三方面中任一方面或任一方面中任一设计所述的方法。
第八方面,本申请实施例提供的一种芯片,所述芯片与存储器耦合,执行本申请实施例第一方面至第三方面中任一方面或任一方面中任一设计所述的方法。
需要说明的是,本申请实施例中“耦合”是指两个部件彼此直接或间接地结合。
附图说明
图1为本申请实施例提供的一种组播场景下通信***的架构示意图;
图2为本申请实施例提供的一种单播场景下通信***的架构示意图;
图3为本申请实施例提供的一种组播场景示意图;
图4为本申请实施例提供的一种单播场景示意图;
图5为本申请实施例提供的一种网络编码方法的流程示意图;
图6为本申请实施例提供的一种编码方式示意图;
图7为本申请实施例提供的一种编码过程示意图;
图8为本申请实施例提供的另一种编码方式示意图;
图9为本申请实施例提供的一种第二编码运算过程示意图;
图10为本申请实施例提供的一种第三编码运算过程示意图;
图11为本申请实施例提供的一种第四编码运算过程示意图;
图12为本申请实施例提供的一种第五编码运算过程示意图;
图13为本申请实施例提供的一种网络编码方法的流程示意图;
图14为本申请实施例提供的一种重编码方式示意图;
图15为本申请实施例提供的一种重编码过程示意图;
图16为本申请实施例提供的另一种重编码过程示意图;
图17为本申请实施例提供的一种网络编码方法的流程示意图;
图18为本申请实施例提供的一种第一译码方式示意图;
图19为本申请实施例提供的一种第二译码方式示意图;
图20为本申请实施例提供的另一种第二译码方式示意图;
图21为本申请实施例提供的另一种第二译码方式示意图;
图22为本申请实施例提供的一种第三译码方式示意图;
图23为本申请实施例提供的另一种第三译码方式示意图;
图24为本申请实施例提供的另一种第一译码方式示意图;
图25为本申请实施例提供的一种第四译码方式示意图;
图26为本申请实施例提供的一种在GF(2N)有限域进行加法运算的示意图;
图27为本申请实施例提供的另一种第四译码方式示意图;
图28为本申请实施例提供的另一种第四译码方式示意图;
图29为本申请实施例提供的另一种第四译码方式示意图;
图30为本申请实施例提供的一种第五译码方式示意图;
图31为本申请实施例提供的一种有限域加法表示意图;
图32为本申请实施例提供的一种编码系数运算示意图;
图33为本申请实施例提供的另一种第五译码方式示意图;
图34为本申请实施例提供的另一种第五译码方式示意图;
图35为本申请实施例提供的一种网络编码装置的结构示意图;
图36为本申请实施例提供的另一种网络编码装置的结构示意图。
具体实施方式
为了更好的理解本申请实施例,下面对本申请实施例中涉及的技术术语进行解释说明。
有限域(finite field):有限域是含有限的多个元素的域。有限域又可以称为伽罗瓦域(Galois field,GF)。与其他域一样,有限域是进行加减乘除运算都有定义并且满足特定规则的集合。有限域的元素个数称为它的阶,有限域的阶通常是一个素数的幂。有限域是本领域技术人员公知的技术,具体描述可以参阅现有技术,这里不再展开叙述。
为了描述上的方便,本申请实施例根据有限域的阶数区分不同的有限域,例如,以素数为2为例,元素个数(阶数)为21的有限域可以称为GF(21),元素个数(阶数)为22的有限域可以称为GF(22),元素个数(阶数)为2n的有限域可以称为GF(2n),等等。应理解,这里仅以素数为2进行举例说明,并不对素数的取值进行具体限定。
为了使本申请实施例的目的、技术方案和优点更加清楚,下面将结合附图对本申请实施例作进一步地详细描述。
本申请提供的网络编码方法可以应用于各类通信***中,例如,可以是物联网(internet of things,IoT)、窄带物联网(narrow band internet of things,NB-IoT)、长期演进(long term evolution,LTE),也可以是第五代(5G)通信***,还可以是LTE与5G混合架构、也可以是5G新无线(new radio,NR)***以及未来通信发展中出现的新的通信***等。本申请所述的5G通信***可以包括非独立组网(non-standalone,NSA)的5G通信***、独立组网(standalone,SA)的5G通信***中的至少一种。通信***还可以是公共陆地移动网络(public land mobile network,PLMN)网络、设备到设备(device-to-device,D2D)网络、机器到机器(machine to machine,M2M)网络或者其他网络。
本申请实施例应用的通信***可以包括一个或多个发送端,以及一个或多个接收端,该通信***中还可以包括一个或多个中间节点。其中,一个发送端可以向一个或多个接收端传输数据。多个发送端也可以同时为一个接收端传输数据。一个发送端也可以同时为多个接收端传输数据。发送端在向接收端传输数据时可以通过一个或中间节点进行传输。本申请实施例可以用于组播场景,也可以应用于单播场景。例如,组播场景下通信***的架构可以参阅图1所示,单播场景下通信***的架构可以参阅图2所示。应理解,图1和图2仅是示例性说明,并不对通信***中发送端、中间节点、接收端的数量以及连接关系进行具体限定。示例性的,发送端可以是网络设备,也可以是终端设备,也可以是其他发送数据的设备,或者也可以是编码器。接收端可以是终端设备,或者也可以是其他接收数据的设备,或者也可以是译码器。中间节点可以是路由节点、转发节点、中继节点等传输设备,或者也可以是编码器。
本申请实施例中涉及的终端设备,是用户侧的一种用于接收或发射信号的实体。终端设备可以是一种向用户提供语音、数据连通性的设备,例如,具有无线连接功能的手持式设备、车载设备等。终端设备也可以是连接到无线调制解调器的其他处理设备。终端设备可以通过无线接入网(radio access network,RAN)与一个或多个核心网进行通信。终端设备也可以称为无线终端、订户单元(subscriber unit)、订户站(subscriber station),移动站(mobile station)、移动台(mobile)、远程站(remote station)、接入点(accesspoint)、远程终端(remote terminal)、接入终端(access terminal)、用户终端(userterminal)、用户代理(user agent)、用户设备(user device)、或用户装备(userequipment)等等。终端设备可以是移动终端,如移动电话(或称为“蜂窝”电话)和具有移动终端的计算机,例如,可以是便携式、袖珍式、手持式、计算机内置的或者车载的移动装置,它们与无线接入网交换语言、数据。例如,终端设备还可以是个人通信业务(personalcommunication service,PCS)电话、无绳电话、会话发起协议(session initiationprotocol,SIP)话机、无线本地环路(wireless local loop,WLL)站、个人数字助理(personal digital assistant,PDA)、等设备。常见的终端设备例如包括:手机、平板电脑、笔记本电脑、掌上电脑、移动互联网设备(mobile internet device,MID)、可穿戴设备,例如智能手表、智能手环、计步器等,但本申请实施例不限于此。本申请实施例中涉及的终端设备还可以是未来演进的PLMN中出现的终端设备等,本申请实施例对此并不限定。
此外,在本申请实施例中,终端设备还可以是IoT***中的终端设备,IoT是未来信息技术发展的重要组成部分,其主要技术特点是将物品通过通信技术与网络连接,从而实现人机互连,物物互连的智能化网络。在本申请实施例中,IoT技术可以通过例如窄带(narrow band,NB)技术,做到海量连接,深度覆盖,终端省电。
此外,在本申请实施例中,终端设备还可以包括智能打印机、火车探测器、加油站等传感器,主要功能包括收集数据(部分终端设备)、接收网络设备的控制信息与下行数据,并发送电磁波,向网络设备传输上行数据。
本申请实施例中所涉及的网络设备,是网络侧的一种用于发射或接收信号的实体。本申请实施例中的网络设备可以是无线网络中的设备,例如将终端接入到无线网络的RAN节点。例如,网络设备可以是LTE中的演进型基站(evolutional Node B,eNB或e-NodeB),还可以是新无线控制器(new radio controller,NR controller),可以是5G***中的gNode B(gNB),可以是集中式网元(centralized unit,CU),可以是新无线基站,可以是射频拉远模块,可以是微基站,可以是中继(relay),可以是分布式网元(distributedunit,DU),可以是家庭基站,可以是传输接收点(transmission reception point,TRP)或传输点(transmission point,TP)或者任何其它无线接入设备,但本申请实施例不限于此。网络设备可以覆盖1个或多个小区。
本申请实施例描述的网络架构以及业务场景是为了更加清楚的说明本申请实施例的技术方案,并不构成对于本申请实施例提供的技术方案的限定,本领域普通技术人员可知,随着网络架构的演变和新业务场景的出现,本申请实施例提供的技术方案对于类似的技术问题,同样适用。
网络编码主要用于多播网络中,在中间节点进行编码以提高信息传输速率。在网络编码中,发送端、接收端和中间节点要保持一致的在同一个有限域(GF)里进行编解码,例如若发送端选择了例如在阶数为28的有限域进行编码,则要求所有参与网络编码的中间节点也要在阶数为28的有限域进行重编码,所有的接收端都要在阶数为28的有限域进行解码;所以,所有参与网络编码的网络节点设备需要支持针对每个流或每个应用配置成与发送端、接收端一致的编解码参数。
但是,发送端、接收端与中间节点要保持一致的在同一个有限域里进行编解码,但中间节点通常编码算力受限,成为吞吐量瓶颈。
其次,终端计算能力相差甚远,可能导致组播或单播应用无法开展。例如,计算能力有限的低功耗IoT设备、电视等家用设备,只能用阶数较小的有限域,如阶数为21的有限域,进行编解码,以减少开销和计算成本;而服务器、计算机或智能手机等高计算能力的设备,能处理GF(28)以上的有限域的编解码。所以,当考虑组播应用时,若发送端选择了例如在GF(28)的有限域进行编码,则要求所有的接收端都要在GF(28)的有限域进行解码,计算机或智能手机等接收设备计算能力可以满足解码要求顺畅解码,但同一个组播树下的电视等设备却因计算能力不足无法解码,从而导致组播应用无法开展,例如,如图3所示。当考虑单播应用时,中间节点往往为了消除编码算力受限而导致的吞吐量瓶颈而选择在低次有限域,如GF(21),进行编解码,而发送端和接收端也要在同一个有限域(即GF(21))里进行编解码,但由于GF(21)里进行编解码性能较差导致发送端与接收端间的通信不能满足上层应用的服务质量(quality of service,QoS)需求,例如,如图4所示。
此外,中间节点需要支持针对每个流或每个应用配置的与收发端一致的编解码参数,每个流或每个应用都要配置成本很高,中间节点上的配置无法及时调整以适应每个流或每个应用的需求、有限域选择的变化。比如发现中间节点1故障,要切换到另一个路径,又要重新协商收发端与另一路径上中间节点2的有限域配置,路径切换时延大。
基于此,本申请实施例提供一种网络编码方法及装置,用于解决数据传输性能较差的问题。其中,方法和装置是基于同一发明构思的,由于方法及装置解决问题的原理相似,因此装置与方法的实施可以相互参见,重复之处不再赘述。
应理解,本申请实施例中“至少一个”是指一个或者多个,“多个”是指两个或两个以上。“和/或”,描述关联对象的关联关系,表示可以存在三种关系,例如,A和/或B,可以表示:单独存在A,同时存在A和B,单独存在B的情况,其中A、B可以是单数或者复数。字符“/”一般表示前后关联对象是一种“或”的关系。“以下至少一(项)个”或其类似表达,是指的这些项中的任意组合,包括单项(个)或复数项(个)的任意组合。例如,a、b或c中的至少一项(个),可以表示:a,b,c,a和b,a和c,b和c,或a、b和c,其中a、b、c可以是单个,也可以是多个。
另外,需要理解的是,在本申请的描述中,“第一”、“第二”等词汇,仅用于区分描述的目的,而不能理解为指示或暗示相对重要性,也不能理解为指示或暗示顺序,也不代表个数。
本申请实施例中涉及的“第一有限域”为网络中阶数最低的有限域,例如,目前网络中阶数最低的有限域为GF(21),则第一有限域可以为GF(21),若在未来通信发展为网络中阶数最低的有限域其他有限域,第一有限域也可以为其他有限域。
本申请实施例中涉及的“高阶有限域”为阶数高于第一有限域的有限域。
下面结合附图对本申请实施例提供的方法进行具体说明。
本申请提供一种网络编码方法,该方法可以应用于图1或图2所示的通信***,在该通信***中,在发送端和接收端之间可以存在中间节点对发送端发送的报文进行重编码,或者发送端和接收端之间也可以没有中间节点,或者发送端和接收端之间存在中间节点但是中间节点不进行重编码,本申请不做具体限定。下面对发送端侧、中间节点侧、接收端侧的方法分别进行描述。
参见图5,为本申请提供的一种网络编码方法的流程示意图,该方法可以应用于发送端,发送端可以是通信设备或者芯片或者芯片组等。该方法包括:
S501,发送端对一个组(Generation)中的k个源数据块进行编码,得到多个编码数据块,其中,k为大于0的整数,多个编码数据块中至少两个编码数据块采用的编码系数对应的有限域的阶不同。
其中,一个组中可以包括一个待编码序列,也可以包括多个待编码序列。
一种实现方式中,发送端在对一个组中的k个源数据块进行编码,得到多个编码数据块时,可以将k个源数据块与第一编码矩阵进行第一编码运算,得到多个编码数据块,其中,第一编码矩阵包括至少两种不同阶有限域的编码系数。
需要说明的是,本申请实施例中涉及的编码矩阵(如第一编码矩阵、第二编码矩阵等)可以包括多组编码系数,其中,编码矩阵的一行元素为一组编码系数,或者,编码矩阵的一列元素为一组编码系数。将多个数据块与编码矩阵进行相乘时,可以将多个数据块与每组编码系数进行相乘,例如,若编码矩阵的一行元素为一组编码系数,将k个源数据块与第一编码矩阵进行第一编码运算时,可以将第一编码矩阵的每一行元素分别与k个源数据块相乘。若编码矩阵的一列元素为一组编码系数,将k个源数据块与第一编码矩阵进行第一编码运算时,可以将第一编码矩阵的每一列元素分别与k个源数据块相乘。为了描述上的方便,下面以编码矩阵的一行元素为一组编码系数为例进行说明。应理解,编码矩阵的一列元素为一组编码系数时发送端对源数据块进行编码的逻辑,与编码矩阵的一行元素为一组编码系数时发送端对源数据块进行编码的逻辑类似。
进一步的,发送端还可以根据k个源数据块生成h1个报文,并发送h1个报文。h1个报文中每个报文携带至少一个源数据块以及源数据块对应的编码系数,其中,k个源数据块对应的编码系数构成对角线元素为1,且除对角线元素以外的其他元素为0的k×k矩阵,矩阵中的任一行元素为k个源数据块中一个源数据块对应的k个编码系数,h1为大于0且不大于k的整数。
换句话说,发送端输出的数据块包括:对一个组中的k个源数据块进行编码得到多个编码数据块,还可以包括该k个源数据块。
一种举例说明中,如图6所示,假设一个组包含k个源数据块即p1~pk,发送端根据p1~pk生成一系列在不同有限域的编码数据c1…cn,其中,c1为p1~pk在GF(2t)有限域中进行编码得到的编码数据块,即发送端采用GF(2t)有限域中的编码系数a1,1~a1,k对p1~pk进行编码得到c1,其中,t可以为大于1的整数。c1可以满足如下公式:
其中,α1,1…α1,k为GF(2t)有限域中的随机编码系数。
cn为p1~pk在GF(2s)有限域中进行编码得到的编码数据块,即发送端采用GF(2s)有限域中的编码系数an,1~an,k对p1~pk进行编码得到cn,其中,s可以为大于1的整数。cn可以满足如下公式:
其中,αn,1…αn,k为GF(2s)有限域中的随机编码系数。
发送端还可以根据p1~pk生成m个在GF(21)有限域的编码数据b1…bm,即发送端采用GF(21)有限域中的编码系数α′1,1~α′1,k对p1~pk进行编码得到b1,采用GF(21)有限域中的编码系数α′2,1~α′2,k对p1~pk进行编码得到b2,以此类推,采用GF(21)有限域中的编码系数α′m1~α′mk对p1~pk进行编码得到bm。以bm为例,bm可以满足如下公式:
其中,α′m,1…α′m,k为GF(21)有限域中的随机编码系数。
发送端输出的数据块包括:{p1…pk}U{c1…cn}U{b1…bm}。为了描述上的方便,下面将发送端发送出去的数据块统一称为“输出数据块”。
需要说明的是,本申请实施例中,发送端在编码时,无论采用何种方式进行编码,同一有限域的编码数据块的个数可以为1个或多个,例如GF(2t)有限域的编码数据块可以有1个,例如c1,也可以有多个,例如,c1…ch。GF(2s)有限域的编码数据块也可以有1个,例如ch+1,也可以有多个ch+1…ch+p,h和p为大于1的整数,这里统一说明,下面不再重复赘述。
示例性的,下面以一个组包括4个源数据块p1…p4,发送端在GF(2N)有限域、GF(2N -1)有限域、GF(23)有限域、GF(22)有限域、GF(21)有限域进行编码,其中,GF(21)为网络中阶数最低的有限域,每个有限域得到一个编码数据块为例进行说明,如图7所示。
发送端将第一编码矩阵与p1~p4进行相乘,其中,第一编码矩阵为9×4的矩阵,其中,第1~4行构成对角线元素为1,且除对角线元素以外的其他元素为0的4×4矩阵。第一编码矩阵中第1行编码系数与p1~p4进行相乘,得到p1。第一编码矩阵中第2行编码系数与p1~p4进行相乘,得到p2。第一编码矩阵中第3行编码系数与p1~p4进行相乘,得到p3。第一编码矩阵中第4行编码系数与p1~p4进行相乘,得到p4。需要说明的是,图7所示的第一编码矩阵中前4行编码系数也可以不与p1…p4进行相乘,而是在发送p1~p4时携带相应的编码系数,例如,在发送p1时携带第一编码矩阵中第1行编码系数,在发送p2时携带第一编码矩阵中第2行编码系数等等。
第一编码矩阵第5行为GF(2N)有限域的一组编码系数{α1,1…α1,4},第一编码矩阵中第5行编码系数与p1~p4进行相乘,得到c1。因此,c1对应的一组编码系数为{α1,1…α1,4}。
第一编码矩阵第6行为GF(2N-1)有限域的一组编码系数{α2,1…α2,4},第一编码矩阵中第6行编码系数与p1~p4进行相乘,得到c2。因此,c2对应的一组编码系数为{α2,1…α2,4}。
第一编码矩阵第7行为GF(23)有限域的一组编码系数{α3,1…α3,4},第一编码矩阵中第7行编码系数与p1~p4进行相乘,得到c3。因此,c3对应的一组编码系数为{α3,1…α3,4}。
第一编码矩阵第8行为GF(22)有限域的一组编码系数{α4,1…α4,4},第一编码矩阵中第8行编码系数与p1~p4进行相乘,得到c4。因此,c4对应的一组编码系数为{α4,1…α4,4}。
第一编码矩阵第9行为GF(21)有限域的一组编码系数{βm,1…βm,4}。第一编码矩阵中第9行编码系数与p1~p4进行相乘,得到b1。因此,b1对应的一组编码系数为{βm,1…βm,4}。
在该实现方式中,发送端发送的输出数据块包括p1~p4、c1~c4、b1,且在发送p1时携带第一编码矩阵中第1行编码系数{1000},在发送p2时携带第一编码矩阵中第2行编码系数{0100},在发送p3时携带第一编码矩阵中第3行编码系数{0010},在发送p4时携带第一编码矩阵中第4行编码系数{0001},在发送c1时携带第一编码矩阵中第5行编码系数{α1,1…α1,4},在发送c2时携带第一编码矩阵中第6行编码系数{α2,1…α2,4},在发送c3时携带第一编码矩阵中第7行编码系数{α3,1…α3,4},在发送c4时携带第一编码矩阵中第8行编码系数{α4,1…α4,4},在发送b1时携带第一编码矩阵中第9行编码系数{βm,1…βm,4}。
应理解,图7仅是一种示例性说明,并不多各有限域的编码系数在第一编码矩阵中的位置进行具体限定。
另一种实现方式中,发送端在对一个组中的k个源数据块进行编码,得到多个编码数据块时,可以进行两步编码运算,通过第一步编码运算得到多个中间数据块,在第二步编码运算中对该多个中间数据块进行编码,得到输出数据块。
一种举例说明中,如图8所示,假设一个组包含k个源数据块即p1~pk,发送端根据p1~pk生成一系列在不同有限域的编码数据c1…cn,其中,c1为p1~pk在GF(2t)有限域中进行编码得到的编码数据块,即发送端采用GF(2t)有限域中的编码系数a1,1~a1,k对p1~pk进行编码得到c1,其中,t可以为大于1的整数。c1可以满足如下公式:
其中,α1,1…α1,k为GF(2t)有限域中的随机编码系数。
cn为p1~pk在GF(2s)有限域中进行编码得到的编码数据块,即发送端采用GF(2s)有限域中的编码系数an,1~an,k对p1~pk进行编码得到cn,其中,s可以为大于1的整数。cn可以满足如下公式:
其中,αn,1…αn,k为GF(2s)有限域中的随机编码系数。
发送端还可以根据p1~pk以及c1~cn生成m个在GF(21)有限域的编码数据b1…bm,即发送端采用GF(21)有限域中的编码系数α′1,1~α′1,k、α′1,k+1~α′1,k+n对p1~pk以及c1~cn进行编码得到b1,采用GF(21)有限域中的编码系数α′2,1~α′2,k~α′1,k、α′2,k+1~α′2,k+n对p1~pk以及c1~cn进行编码得到b2,以此类推,采用GF(21)有限域中的编码系数α′m,1~α′m,k、α′m,k+1~α′m,k+n对p1~pk以及c1~cn进行编码得到bm。以bm为例,bm可以满足如下公式:
其中,α′m,1…α′m,k…α′m,k+n为GF(21)有限域中的随机编码系数。
发送端输出的输出数据块包括:{p1…pk}U{c1…cn}U{b1…bm},或者{c1…cn}U{b1…bm},或者{b1…bm}。
例如,一种可能的实施方式中,发送端在对一个组中的k个源数据块进行编码,得到多个编码数据块时,可以将k个源数据块与第二编码矩阵进行第二编码运算,得到n1个编码数据块,其中,n1为大于0的整数。然后,将n1个编码数据块以及k个源数据块与第三编码矩阵进行第三编码运算,得到m个编码数据块,其中,m为大于0的整数。这种实现方式中,发送端要输出的输出数据块包括n1个编码数据块以及m个编码数据块。
其中,第二编码矩阵包括的第一编码系数对应的有限域的阶均高于第一有限域的阶,第一有限域为网络中阶数最低的有限域,例如,目前网络中阶数最低的有限域为GF(21),则第一有限域可以为GF(21),若在未来通信发展为网络中阶数最低的有限域其他有限域,第一有限域也可以为其他有限域。第三编码矩阵包括的编码系数均属于第一有限域。
进一步的,发送端还可以根据k个源数据块生成h2个报文,h2个报文中每个报文携带至少一个源数据块以及源数据块对应的编码系数,h2为大于0且不大于k的整数。
其中,k个源数据块对应的编码系数以及n1个编码数据块对应的第二编码系数构成对角线元素为1,且除对角线元素以外的其他元素为0的(k+n1)×(k+n1)矩阵,矩阵中的任一行元素为k个源数据块中一个源数据块对应的k+n1个编码系数或者n1个编码数据块中一个编码数据块对应的k+n1个编码系数,第二编码系数为n1个编码数据块对应的编码系数中除第二编码运算采用的第一编码系数以外的编码系数。
换句话说,发送端输出的输出数据块包括m个编码数据块,或者包括n1个编码数据块以及m个编码数据块,还可以包括该k个源数据块、n1个编码数据块以及m个编码数据块。发送端在输出这些输出数据块时,可以采用一个报文携带一个数据块的方式进行发送,也可以采用一个报文携带多个数据块的方式进行发送,这里不做具体限定。
示例性的,下面以一个组包括4个源数据块p1…p4,发送端在GF(2N)有限域、GF(2N -1)有限域、GF(23)有限域、GF(22)有限域、GF(21)有限域进行编码,其中,GF(21)为网络中阶数最低的有限域,每个有限域得到一个编码数据块为例进行说明。
如图9所示,第二编码运算过程为:发送端将第二编码矩阵与p1~p4进行相乘,其中,第二编码矩阵为8×4的矩阵,其中,第1~4行构成对角线元素为1,且除对角线元素以外的其他元素为0的4×4矩阵。第二编码矩阵中第1行编码系数与p1~p4进行相乘,得到p1。第二编码矩阵中第2行编码系数与p1~p4进行相乘,得到p2。第二编码矩阵中第3行编码系数与p1~p4进行相乘,得到p3。第二编码矩阵中第4行编码系数与p1~p4进行相乘,得到p4。需要说明的是,图9所示的第二编码矩阵中前4行编码系数也可以不与p1…p4进行相乘,或者第二编码矩阵不包括该对角线元素为1,且除对角线元素以外的其他元素为0的4×4矩阵,而是在进行第三编码运算时根据p1~p4进行编码。
第二编码矩阵第5行为GF(2N)有限域的一组编码系数{α1,1…α1,4},第二编码矩阵中第5行编码系数与p1~p4进行相乘,得到c1。因此,c1对应的一组编码系数为{α1,1…α1,4}。
第二编码矩阵第6行为GF(2N-1)有限域的一组编码系数{α2,1…α2,4},第二编码矩阵中第6行编码系数与p1~p4进行相乘,得到c2。因此,c2对应的一组编码系数为{α2,1…α2,4}。
第二编码矩阵第7行为GF(23)有限域的一组编码系数{α3,1…α3,4},第二编码矩阵中第7行编码系数与p1~p4进行相乘,得到c3。因此,c3对应的一组编码系数为{α3,1…α3,4}。
第二编码矩阵第8行为GF(22)有限域的一组编码系数{α4,1…α4,4},第二编码矩阵中第8行编码系数与p1~p4进行相乘,得到c4。因此,c4对应的一组编码系数为{α4,1…α4,4}。
如图10所示,第三编码运算过程为:发送端将第三编码矩阵与p1~p4以及c1~c4进行相乘,其中,第三编码矩阵为9×8的矩阵,其中,第1~8行构成对角线元素为1,且除对角线元素以外的其他元素为0的8×8矩阵。第三编码矩阵中第1行编码系数与p1~p4以及c1~c4进行相乘,得到p1。第三编码矩阵中第2行编码系数与p1~p4以及c1~c4进行相乘,得到p2。第三编码矩阵中第3行编码系数与p1~p4以及c1~c4进行相乘,得到p3。第三编码矩阵中第4行编码系数与p1~p4以及c1~c4进行相乘,得到p4。第三编码矩阵中第5行编码系数与p1~p4以及c1~c4进行相乘,得到c1。第三编码矩阵中第6行编码系数与p1~p4以及c1~c4进行相乘,得到c2。第三编码矩阵中第7行编码系数与p1~p4以及c1~c4进行相乘,得到c3。第三编码矩阵中第8行编码系数与p1~p4以及c1~c4进行相乘,得到c4。需要说明的是,图10所示的第三编码矩阵中前8行编码系数也可以不与p1~p4以及c1~c4进行相乘,而是在发送p1~p4以及c1~c4时携带相应的编码系数,例如,在发送p1时携带第三编码矩阵中第1行编码系数,在发送p2时携带第三编码矩阵中第2行编码系数等等。
第三编码矩阵第9行为GF(21)有限域的一组编码系数{βm,1…βm,4}。第三编码矩阵中第9行编码系数与p1~p4以及c1~c4进行相乘,得到b1。因此,b1对应的一组编码系数为{βm,1…βm,8}。
在该实现方式中,发送端发送的输出数据块包括p1~p4、c1~c4、b1,且在发送p1时携带的一组编码系数为第三编码矩阵中第1行编码系数{10000000},在发送p2时携带的一组编码系数为第三编码矩阵中第2行编码系数{01000000},在发送p3时携带的一组编码系数为第三编码矩阵中第3行编码系数{00100000},在发送p4时携带的一组编码系数为第三编码矩阵中第4行编码系数{00010000}。在发送c1时携带的一组编码系数为第二编码矩阵中第5行编码系数{α1,1…α1,4}以及第三编码矩阵中第5行编码系数{00001000},在发送c2时携带的一组编码系数为第二编码矩阵中第6行编码系数{α2,1…α2,4}以及第三编码矩阵中第6行编码系数{00000100},在发送c3时携带的一组编码系数为第二编码矩阵中第7行编码系数{α3,1…α3,4}以及第三编码矩阵中第7行编码系数{00000010},在发送c4时携带的一组编码系数为第二编码矩阵中第8行编码系数{α4,1…α4,4}以及第三编码矩阵中第8行编码系数{00000001},在发送b1时携带的一组编码系数为第三编码矩阵中第9行编码系数{βm,1…βm,8}。
又例如,另一种可能的实施方式中,发送端在对一个组中的k个源数据块进行编码,得到多个编码数据块时,可以将k个源数据块与第四编码矩阵进行第四编码运算,得到n2个中间数据块,其中,n2为大于0的整数。然后,将n2个中间数据块以及k个源数据块与第五编码矩阵进行第五编码运算,得到多个编码数据块。这种实现方式中,发送端要输出的输出数据块包括第五编码运算得到的编码数据块。
其中,第四编码矩阵包括的编码系数对应的有限域的阶均高于第一有限域的阶,第一有限域为网络中阶数最低的有限域,例如,目前网络中阶数最低的有限域为GF(21),则第一有限域可以为GF(21),若在未来通信发展为网络中阶数最低的有限域其他有限域,第一有限域也可以为其他有限域。第五编码矩阵包括的编码系数均属于第一有限域。
示例性的,下面以一个组包括4个源数据块p1…p4,发送端在GF(2N)有限域、GF(2N -1)有限域、GF(23)有限域、GF(22)有限域、GF(21)有限域进行编码,其中,GF(21)为网络中阶数最低的有限域,每个有限域得到一个编码数据块为例进行说明。
如图11所示,第四编码运算过程为:发送端将第四编码矩阵与p1~p4进行相乘,其中,第四编码矩阵为8×4的矩阵,其中,第1~4行构成对角线元素为1,且除对角线元素以外的其他元素为0的4×4矩阵。第四编码矩阵中第1行编码系数与p1~p4进行相乘,得到p1。第四编码矩阵中第2行编码系数与p1~p4进行相乘,得到p2。第四编码矩阵中第3行编码系数与p1~p4进行相乘,得到p3。第四编码矩阵中第4行编码系数与p1~p4进行相乘,得到p4。需要说明的是,图9所示的第四编码矩阵中前4行编码系数也可以不与p1…p4进行相乘,或者第四编码矩阵不包括该对角线元素为1,且除对角线元素以外的其他元素为0的4×4矩阵,而是在进行第三编码运算时根据p1~p4进行编码。
第四编码矩阵第5行为GF(2N)有限域的一组编码系数{α1,1…α1,4},第四编码矩阵中第5行编码系数与p1~p4进行相乘,得到c1。因此,c1对应的一组编码系数为{α1,1…α1,4}。
第四编码矩阵第6行为GF(2N-1)有限域的一组编码系数{α2,1…α2,4},第四编码矩阵中第6行编码系数与p1~p4进行相乘,得到c2。因此,c2对应的一组编码系数为{α2,1…α2,4}。
第四编码矩阵第7行为GF(23)有限域的一组编码系数{α3,1…α3,4},第四编码矩阵中第7行编码系数与p1~p4进行相乘,得到c3。因此,c3对应的一组编码系数为{α3,1…α3,4}。
第四编码矩阵第8行为GF(22)有限域的一组编码系数{α4,1…α4,4},第四编码矩阵中第8行编码系数与p1~p4进行相乘,得到c4。因此,c4对应的一组编码系数为{α4,1…α4,4}。
如图12所示,第五编码运算过程为:发送端将第五编码矩阵与p1~p4以及c1~c4进行相乘,其中,第五编码矩阵为8×8的矩阵,且第五编码矩阵包括的编码系数属于GF(21)。
第五编码矩阵中第1行编码系数为GF(21)有限域的一组编码系数{β1,1…β1,8}。第五编码矩阵中第1行编码系数{β1,1…β1,8}与p1~p4以及c1~c4进行相乘,得到b1。因此,b1对应的一组编码系数为{β1,1…β1,8}。
第五编码矩阵中第2行编码系数为GF(21)有限域的一组编码系数{β2,1…β2,8}。第五编码矩阵中第2行编码系数{β2,1…β2,8}与p1~p4以及c1~c4进行相乘,得到b2。因此,b2对应的一组编码系数为{β2,1…β2,8}。
第五编码矩阵中第3行编码系数为GF(21)有限域的一组编码系数{β3,1…β3,8}。第五编码矩阵中第3行编码系数{β3,1…β3,8}与p1~p4以及c1~c4进行相乘,得到b3。因此,b3对应的一组编码系数为{β3,1…β3,8}。
第五编码矩阵中第4行编码系数为GF(21)有限域的一组编码系数{β4,1…β4,8}。第五编码矩阵中第4行编码系数{β4,1…β4,8}与p1~p4以及c1~c4进行相乘,得到b4。因此,b4对应的一组编码系数为{β4,1…β4,8}。
第五编码矩阵中第5行编码系数为GF(21)有限域的一组编码系数{β5,1…β5,8}。第五编码矩阵中第5行编码系数{β5,1…β5,8}与p1~p4以及c1~c4进行相乘,得到b5。因此,b5对应的一组编码系数为{β5,1…β5,8}。
第五编码矩阵中第6行编码系数为GF(21)有限域的一组编码系数{β6,1…β6,8}。第五编码矩阵中第6行编码系数{β6,1…β6,8}与p1~p4以及c1~c4进行相乘,得到b6。因此,b6对应的一组编码系数为{β6,1…β6,8}。
第五编码矩阵中第7行编码系数为GF(21)有限域的一组编码系数{β7,1…β7,8}。第五编码矩阵中第7行编码系数{β7,1…β7,8}与p1~p4以及c1~c4进行相乘,得到b7。因此,b7对应的一组编码系数为{β7,1…β7,8}。
第五编码矩阵中第8行编码系数为GF(21)有限域的一组编码系数{β8,1…β8,8}。第五编码矩阵中第8行编码系数{β8,1…β8,8}与p1~p4以及c1~c4进行相乘,得到b8。因此,b8对应的一组编码系数为{β8,1…β8,8}。
在该实现方式中,发送端发送的输出数据块包括b1~b8,且在发送b1时携带的一组编码系数为第五编码矩阵中第1行编码系数{β1,1…β1,8},在发送b2时携带的一组编码系数为第五编码矩阵中第2行编码系数{β2,1…β2,8},在发送b3时携带的一组编码系数为第五编码矩阵中第3行编码系数{β3,1…β3,8},在发送b4时携带的一组编码系数为第五编码矩阵中第4行编码系数{β4,1…β4,8}。在发送b5时携带的一组编码系数为第四编码矩阵中第5行编码系数{α1,1…α1,4}以及第五编码矩阵中第5行编码系数{β5,1…β5,8},在发送b6时携带的一组编码系数为第四编码矩阵中第6行编码系数{α2,1…α2,4}以及第五编码矩阵中第6行编码系数{β6,1…β6,8},在发送b7时携带的一组编码系数为第四编码矩阵中第7行编码系数{α3,1…α3,4}以及第五编码矩阵中第7行编码系数{β7,1…β7,8},在发送b8时携带的一组编码系数为第四编码矩阵中第8行编码系数{α4,1…α4,4}以及第五编码矩阵中第8行编码系数{β8,1…β8,8}。
S502,发送端根据多个编码数据块生成一个或多个报文,其中,每个报文中携带至少一个编码数据块以及编码数据块对应的编码系数。
需要说明的是,本申请实施例中,发送端在发送输出数据块时,可以采用一个报文携带一个数据块的方式进行发送,也可以采用一个报文携带多个数据块的方式进行发送,这里不做具体限定。
以发送端在通过一个报文携带一个输出数据块的方式发送数据块为例,发送端可以针对每个输出数据块添加报文头构成报文,并在报文头或报文尾添加相应的编码系数后随报文发送。
可选的,发送端还可以在报文中携带指示信息,指示信息用于指示报文所携带输出数据块对应的有限域的阶。示例性的,指示信息可以是有限域对应的幂的取值,例如,假设有限域的阶数为22,则指示信息可以为2。
S503,发送端发送一个或多个报文。
本申请实施例中,发送端通过在多个有限域内对源数据块进行编码,使得接收端可以接收不同有限域的报文,从而接收端可以根据自身算力和应用需求自主选择有限域进行编解码。
参见图13,为本申请提供的一种网络编码方法的流程示意图,该方法可以应用于中间节点,中间节点可以是通信设备或者芯片或者芯片组等。该方法包括:
S1301,中间节点接收n个报文,其中,n为大于1的整数,一个报文中携带a1个数据块以及a1个数据块对应的编码系数,a1为大于0的整数,n个报文所携带编码系数对应的有限域为一个或多个。
示例性的,中间节点可以接收上一跳节点发送的报文,上一跳节点可以是另一个中间节点,也可以是发送端。
S1302,中间节点根据如下信息中的一项或多项确定重编码的有限域:中间节点的编码算力、n个报文所携带编码系数对应的有限域、网络负载。
示例性的,中间节点根据中间节点的编码算力确定重编码的有限域时,若中间节点的编码算力比较强,可以确定一个或多个阶数较高的有限域作为重编码的有限域,若中间节点的编码算力比较弱,可以确定一个或多个阶数较低的有限域作为重编码的有限域。
中间节点根据网络负载确定重编码的有限域时,若网络负载较小,可以确定一个或多个阶数较高的有限域作为重编码的有限域,若网络负载较大,可以确定一个或多个阶数较低的有限域作为重编码的有限域。
中间节点根据n个报文所携带编码系数对应的有限域确定重编码的有限域时,可以确定n个报文所携带编码系数对应的有限域中最高阶的有限域为重编码的有限域。
S1303,中间节点基于重编码的有限域将n个报文携带的数据块以及编码系数进行重编码,得到v个编码结果,v为大于0的整数。其中,重编码的有限域包括一个或多个有限域。
在一些实施例中,中间节点可以将n个报文携带的数据块与第七编码矩阵进行编码运算,得到v个重编码后的数据块,将n个报文携带的编码系数与第七编码矩阵进行编码运算,得到v组重编码后的编码系数,一个编码结果包括一个重编码后的数据块以及对应的一组重编码后的编码系数。
一种实现方式中,如图14所示,假设中间节点接收的报文为X1~Xu,其中,一个报文可以包括一个数据块和该数据块对应的编码系数。中间节点将X1~Xu与第七编码矩阵进行相乘,得到新报文Yu+1~Yu+v。其中,第七编码矩阵包括的编码系数属于重编码的有限域,第七编码矩阵的第1行编码系数可以为{γ1,1…γ1,u},X1~Xu与{γ1,1…γ1,u}相乘,得到Yu+1,依次类推,第七编码矩阵的第v行编码系数可以为{γv,1…γv,u},X1~Xu与{γv,1…γv,u}相乘,得到Yu+v。
以Yu+1为例,Yu+1可以满足如下公式:
其中,γ1,1…γ1,u为GF(2t)有限域中的随机编码系数。GF(2t)为中间节点确定的重编码的有限域。
以Yu+v为例,Yu+v可以满足如下公式:
其中,γv,1…γv,u为GF(2t)有限域中的随机编码系数。GF(2t)为中间节点确定的重编码的有限域。
一种示例性说明中,假设u=2,v=1,若发送端采用图6所示的编码方式输出报文X1和X2,其中,X1携带的数据块包括f1~f4,X1携带的编码系数为α1,1和α1,2,X2携带的数据块包括e1~e4,X2携带的编码系数为α2,1和α2,2,第七编码矩阵包括随机重编码系数1和随机重编码系数2,中间节点将X1和X2进行重编码后得到新的编码数据和编码系数γ11和γ12,如图15所示。
其中,γ11=d1α1,1+d2α2,1,γ12=d1α1,2+d2α2,2,X1=α1,1P1+α1,2P2,X2=α2,1p1+α2,2p2,其中,p1和p2为源数据块。
所以,Yu+1=d1X1+d2X2=d1α1,1p1+d1α1,2p2+d2α2,1p1+d2α2,2p2=γ11p1+γ12p2。可见,重编码报文Yu+1是由源数据块p1和p2,按随机编码系数γ11和γ12编码后的新报文。中间网络节点将重编码报文Yu+1报文头或报文尾携带相应域的编码系数γ11和γ12发送给下一跳。
示例性的,α1,1和α1,2属于GF(2t)有限域,α2,1和α2,2属于GF(2s)有限域,若t≥s,X1和X2可以在GF(2t)有限域选择随机重编码系数进行有限域运算。
在GF(21)有限域,每个报文有1/2的概率与其它报文重编码生成重编码报文,因此上述方式中通过在阶数更高的有限域中进行重编码,可以增加重编码的成功概率。
另一种示例性说明中,假设u=2,v=1,若发送端采用图8所示的编码方式输出报文X1和X2,其中,X1携带的数据块包括f1~f4,X1携带的编码系数为β1,1…β1,4,X2携带的数据块包括e1~e4,X2携带的编码系数为β2,1…β2,4,第七编码矩阵包括随机重编码系数1和随机重编码系数2,中间节点将X1和X2进行重编码后得到新的编码数据,和编码系数γ11…γ14,如图16所示。
其中,γ11=d1β1,1+d2β2,1,γ12=d1β1,2+d2β2,2,γ13=d1β1,3+d2β2,3,γ14=d1β1,4+d2β2,4,X1=β1,1p1+β1,2p2+β1,3c1+β1,4c2,X2=β2,1p1+β2,2p2+β2,3c1+β2,4c2,其中,p1和p2为源数据块,c1和c2为发送端对p1和p2进行第四编码运算得到的中间数据块。
所以,Yu+1=d1X1+d2X2
=d1α′1,1p1+d1α′1,2p2+d1α′1,3c1+d1α′1,4c2+d2α′2,1p1+d2α′2,2p2+d2α′2,3c1+d2α′2,4c2
=γ11p1+γ12p2+γ13c1+γ14c2。
可见,重编码报文Yu+1是由源数据块p1和p2、中间数据块c1和c2,按随机编码系数γ11…γ14编码后的新报文。中间网络节点将重编码报文Yu+1报文头或报文尾携带相应域的编码系数γ11和γ12发送给下一跳。
S1304,中间节点发送m1个重编码后的报文,一个重编码后的报文中携带至少一个编码结果,m1为大于0且不大于v的整数。
一种实现方式中,中间节点在发送编码结果时,可以采用一个报文携带一个编码结果的方式进行发送,也可以采用一个报文携带多个编码结果的方式进行发送,这里不做具体限定。
以中间节点在通过一个报文携带一个编码结果的方式发送编码结果为例,中间节点可以针对每个编码结果添加报文头构成报文,并在报文头或报文尾添加相应的编码系数后随报文发送。
可选的,编码结果还可以在报文中携带指示信息,指示信息用于指示报文所携带编码结果对应的重编码的有限域的阶。示例性的,指示信息可以是有限域对应的幂的取值,例如,假设有限域的阶数为22,则指示信息可以为2。
本申请实施例中,中间节点通过对发送端输出的报文进行重编码,从而发送端和中间节点可以构成一种分布式的编码,也就是说,发送端编码一部分,中间节点再编码另一部分,通过这种方式发送端可以进行复杂度较低的编码,通过中间节点对发送端输出的报文进行进一步重编码,从而可以降低网络负载,提高传输效率。
并且,中间节点可以根据自身编码算力、接收的报文所携带编码系数对应的有限域、网络负载等确定重编码的有限域。例如,中间节点接收组播报文,低算力中间节点可在低次有限域做重编码,然后复制重编码后的报文,发送给所有加入组播组的接收端;高算力中间节点可在更高次有限域做重编码,然后复制重编码后的报文,发送给所有加入组播组的接收端;或者,中间节点在计算负载重时,可先在低次有限域做Recoding,当计算负载变轻时,可切到更高次有限域做Recoding,然后复制重编码后的报文,发送给所有加入组播组的接收端。
又例如,中间节点接收单播报文,低算力中间节点可在低次有限域(例如GF(21))做重编码,然后发送给接收端;高算力中间节点可在更高次有限域(例如GF(22))做重编码,然后发送给接收端;或者,中间节点在计算负载重时,可先在低次有限域(例如GF(21))做重编码,当计算负载变轻时,可切到更高次有限域(例如GF(24))做重编码,然后发送给接收端;或者,当中间节点1负载重时只能勉强可在低次有限域(例如GF(21))做重编码,用户业务体验不好,可以选择切换到轻载路径,在负载轻的中间节点2可在更高次有限域(例如GF(22))做重编码,提升用户业务体验。再如,发现中间节点1故障,要切换到另一个路径,不需要重新协商收发端与另一路径上中间节点2的有限域配置,路径切换可以直接切换,路径切换时延小。
参见图17,为本申请提供的一种网络编码方法的流程示意图,该方法可以应用于接收端,接收端可以是通信设备或者芯片或者芯片组等。该方法包括:
S1701,接收端针对一个组中的k个源数据块,接收多个报文,其中,k为大于0的整数,一个报文携带至少一个数据块以及每个数据块对应的一组编码系数。
S1702,接收端采用第一译码方式或者第二译码方式或者第三译码方式或者第四译码方式或者第五译码方式对多个报文进行译码。
一种实现方式中,若发送端采用图6所示的方式进行编码,接收端可以采用第一译码方式或者第二译码方式或者第三译码方式对多个报文进行译码。
第一译码方式为将多个报文在第一有限域内进行译码,第一有限域为网络中阶数最低的有限域,例如,目前网络中阶数最低的有限域为GF(21),则第一有限域可以为GF(21),若在未来通信发展为网络中阶数最低的有限域其他有限域,第一有限域也可以为其他有限域。
在一些实施例中,若发送端采用图6所示的方式进行编码,在第一译码方式中,多个报文可以携带k个线性无关数据块,k个数据块对应的编码系数属于第一有限域。
一种实现方式中,接收端可以在接收k个线性无关数据块后,若该k个数据块对应的编码系数均属于第一有限域,则接收端采用第一译码方式进行译码。
另一种实现方式中,若接收端采用第一译码方式进行译码,接收端可以接收k个线性无关数据块,该k个数据块对应的编码系数均属于第一有限域。
一种可能的实施方式中,接收端采用第一译码方式对多个报文进行译码时,可以将多个报文在第一有限域内进行译码,使得译码矩阵经过译码后对角线元素为1,且除对角线元素以外的其他元素为0,其中,译码矩阵中任一行元素为一个数据块对应的一组编码系数。
一种示例性说明中,假设发送端采用图6所示的方式进行编码,以第一有限域为GF(21),一个组包括4个源数据块的数量为例,接收端可以接收4个线性无关数据块x1~x4,其中,一个数据块对应的4个编码系数属于第一有限域,x1~x4对应的编码系数组成一个4×4的译码矩阵,译码矩阵中任一行元素为一个数据块对应的一组编码系数(即对应的4个编码系数)。接收端将该译码矩阵进行高斯消元操作,将译码矩阵的对角线元素变换为1、其余元素变换为0,在译码矩阵变换时,报文x1…x4净荷也按位同步变化,从而可以译码得到p1、p2、p3、p4。
例如,假设x1对应的一组编码系数为{1010},x2对应的一组编码系数为{1111},x3对应的一组编码系数为{0010},x4对应的一组编码系数为{βm,1…βm,4}。x1~x4对应的编码系数组成一个4×4的译码矩阵,其中,该译码矩阵的第1行为1010,该译码矩阵的第2行为1111,该译码矩阵的第3行为0010,该译码矩阵的第4行为βm,1…βm,4。接收端将该译码矩阵在第一有限域内进行高斯消元,进过译码后的译码矩阵的第1行为1000,该译码矩阵的第2行为0100,该译码矩阵的第3行为0010,该译码矩阵的第4行为0001,如图18所示。
第一译码方式可以提高译码速度,并且第一译码方式具有计算复杂度小、吞吐量高等优点。
第二译码方式为将多个报文在第二有限域内进行译码,第二有限域为多个报文携带的编码系数对应的有限域中最高阶的有限域。
在一些实施例中,在第二译码方式中,多个报文可以携带k个线性无关数据块,k个数据块对应的编码系数属于两个或两个以上的有限域。
一种实现方式中,接收端可以在接收k个线性无关数据块后,若该k个数据块对应的编码系数属于两个或两个以上的有限域,则接收端采用第二译码方式进行译码。
一种可能的实施方式中,接收端用第二译码方式对多个报文进行译码时,可以将多个报文在第二有限域内进行译码,使得译码矩阵经过译码后对角线元素为1,且除对角线元素以外的其他元素为0,其中,译码矩阵中任一行元素为一个数据块对应的一组编码系数。
一种示例性说明中,以一个组包括4个源数据块的数量为例,接收端可以接收4个线性无关数据块x1~x4,其中,x1对应的4个编码系数属于GF(21),x2对应的4个编码系数属于GF(21),x3对应的4个编码系数属于GF(2N)有限域,x4对应的4个编码系数属于GF(2N-1)有限域。x1~x4对应的编码系数组成一个4×4的译码矩阵,译码矩阵中任一行元素为一个数据块对应的一组编码系数(即对应的4个编码系数),如图19所示。接收端将该译码矩阵在GF(2N)有限域进行高斯消元操作,将译码矩阵的对角线元素变换为1、其余元素变换为0,在译码矩阵变换时,报文x1…x4净荷也按位同步变化,从而可以译码得到p1、p2、p3、p4。
由于实际中k>>n,所以译码矩阵中大部分系数为来自第一有限域的编码系数1或0,因此第二有限域的译码操作极少,可以极大简化第二有限域的运算复杂度。例如,根据图19所示,接收端可以对译码矩阵的第3行和第4行进行变换,得到p1、p2、p3、p4。
另一种示例性说明中,以一个组包括4个源数据块的数量为例,接收端可以接收4个线性无关数据块x1~x4,其中,x1对应的4个编码系数属于GF(2N)有限域,x2对应的4个编码系数属于GF(2N-1)有限域,x3对应的4个编码系数属于GF(23)有限域,x4对应的4个编码系数属于GF(22)有限域。x1~x4对应的编码系数组成一个4×4的译码矩阵,译码矩阵中任一行元素为一个数据块对应的一组编码系数(即对应的4个编码系数),如图20所示。接收端将该译码矩阵进行高斯消元操作,将译码矩阵的对角线元素变换为1、其余元素变换为0,在译码矩阵变换时,报文x1…x4净荷也按位同步变化,从而可以译码得到p1、p2、p3、p4。
又一种示例性说明中,以一个组包括4个源数据块的数量为例,接收端可以接收4个线性无关数据块x1~x4,其中,x1对应的4个编码系数属于GF(21)有限域,x2对应的4个编码系数属于GF(2N)有限域,x3对应的4个编码系数属于GF(2N-1)有限域,x4对应的4个编码系数属于GF(23)有限域。x1~x4对应的编码系数组成一个4×4的译码矩阵,译码矩阵中任一行元素为一个数据块对应的一组编码系数(即对应的4个编码系数),如图21所示。接收端将该译码矩阵进行高斯消元操作,将译码矩阵的对角线元素变换为1、其余元素变换为0,在译码矩阵变换时,报文x1…x4净荷也按位同步变化,从而可以译码得到p1、p2、p3、p4。
示例性的,若多个报文携带的数据块属于M种高阶有限域,第二译码方式也可以称为“混合M域译码器”,例如,图19混合了两种高阶有限域(即GF(2N)有限域和GF(2N-1)有限域),所以相应的译码方式称为“混合2域译码器”。又例如,图20混合了4种高阶有限域(即GF(2N)有限域、GF(2N-1)有限域、GF(23)有限域和GF(22)有限域),所以相应的译码方式可以称为“混合4域译码器”。再例如,图21混合了3种高阶有限域(即GF(2N)有限域、GF(2N-1)有限域和GF(23)有限域),所以相应的译码方式可以称为“混合3域译码器”。
第二译码方式一方面可以提高译码速度,另一方面可以提高译码成功率,从而可以实现译码速度与译码成功率之间的均衡。
第三译码方式为将多个报文在第三有限域内进行译码,第三有限域为多个报文携带的编码系数对应的有限域中除第一有限域以外的另一个有限域,第一有限域为网络中阶数最低的有限域。
在一些实施例中,在第三译码方式中,多个报文携带k个线性无关数据块,且k个数据块中至少一个数据块对应的编码系数属于第一有限域,k个数据块中除至少一个数据块以外的其他数据块对应的编码系数属于第三有限域,第三有限域为不同于第一有限域的有限域。也就是,在第三译码方式中,k个数据块属于两个不同的有限域,其中一个为第一有限域。
一种实现方式中,接收端可以在接收k个线性无关数据块后,若该k个数据块对应的编码系数属于两个不同的有限域,且其中一个有限域为第一有限域,则接收端采用第三译码方式进行译码。
另一种实现方式中,若接收端采用第三译码方式进行译码,接收端可以接收k个线性无关数据块,该k个数据块对应的编码系数属于两个不同的有限域,且其中一个有限域为第一有限域。
一种可能的实施方式中,接收端用第三译码方式对多个报文进行译码时,可以将多个报文在第三有限域内进行译码,使得译码矩阵经过译码后对角线元素为1,且除对角线元素以外的其他元素变换为0,其中,译码矩阵中任一行元素为一个数据块对应的一组编码系数。
一种示例性说明中,以一个组包括4个源数据块的数量为例,接收端可以接收4个线性无关数据块x1~x4,其中,x1~x3对应的编码系数属于GF(21),x4对应的4个编码系数属于GF(2N)有限域。x1~x4对应的编码系数组成一个4×4的译码矩阵,译码矩阵中任一行元素为一个数据块对应的一组编码系数(即对应的4个编码系数),如图22所示。接收端将该译码矩阵进行高斯消元操作,将译码矩阵的对角线元素变换为1、其余元素变换为0,在译码矩阵变换时,报文x1…x4净荷也按位同步变化,从而可以译码得到p1、p2、p3、p4。
另一种示例性说明中,以一个组包括4个源数据块的数量为例,接收端可以接收4个线性无关数据块x1~x4,其中,x1~x3对应的编码系数属于GF(21),x4对应的4个编码系数属于GF(22)有限域。x1~x4对应的编码系数组成一个4×4的译码矩阵,译码矩阵中任一行元素为一个数据块对应的一组编码系数(即对应的4个编码系数),如图23所示。接收端将该译码矩阵进行高斯消元操作,将译码矩阵的对角线元素变换为1、其余元素变换为0,在译码矩阵变换时,报文x1…x4净荷也按位同步变化,从而可以译码得到p1、p2、p3、p4。
第三译码方式中,数据块对应的编码系数出了第一有限域以外,只有一种有限域(即第三有限域),由于实际中k>>n,所以译码矩阵中大部分系数为来自第一有限域的编码系数1或0,因此第三有限域的译码操作极少,可以极大简化第三有限域的运算复杂度。例如,根据图22所示,接收端可以对译码矩阵的第4行进行变换,得到p1、p2、p3、p4。例如,根据图23所示,接收端可以对译码矩阵的第4行进行变换,得到p1、p2、p3、p4。
在一些实施例中,接收端可以根据译码策略选择使用的译码方式。例如,若译码策略为追求译码速度快、计算复杂度小,或吞吐量高,则接收端可以采用第一译码方式进行译码,若不成功,接收端采用第三译码方式进行译码,若还不成功,则可以采用第二译码方式进行译码。
又例如,若译码策略为追求译码成功率高或传输开销小,则接收端可以采用第二译码方式进行译码。
可选的,接收端可以根据自身编解码算力来接收报文,例如,接收端自身编解码算力最高支持GF(24)有限域,则接收端可以丢弃阶数高于24的有限域的报文,采用GF(24)有限域及阶数低于24的有限域的报文进行译码。
假设发送端采用图6所示的方式进行编码,且一个组的源数据块有4个,接收端采用的各译码方式的特点可以如表1所示。
表1
根据表1可以看出,本申请实施例可以兼顾译码速度和译码成功率,相比于传统译码方式,本申请实施例的译码速度进而吞吐量远远高于传统译码方式。
另一种实现方式中,若发送端采用图8所示的方式进行编码,接收端可以采用第一译码方式或者第四译码方式或者第五译码方式对多个报文进行译码。
其中,发送端采用图8所示的方式进行编码的场景下接收端采用的第一译码方式,与发送端采用图6所示的方式进行编码的场景下接收端采用的第一译码方式除了接收的数据块的数量不同,其它类似,发送端采用图6所示的方式进行编码的场景下接收端采用的第一译码方式中接收k个线性无关数据块,发送端采用图8所示的方式进行编码的场景下接收端采用的第一译码方式中接收k+n个线性无关数据块,其中,n为在高阶有限域进行编码的编码数据块的数量。
一种实现方式中,接收端可以在接收k+n个线性无关数据块后,若该k+n个数据块对应的编码系数均属于第一有限域,则接收端采用第一译码方式进行译码。
另一种实现方式中,若接收端采用第一译码方式进行译码,接收端可以接收k+n个线性无关数据块,该k个数据块对应的编码系数均属于第一有限域。
一种示例性说明中,假设发送端采用图8所示的方式进行编码,且在高阶有限域进行编码的编码数据块的数量有4个,以第一有限域为GF(21),一个组包括4个源数据块的数量为例,接收端可以接收4+4即8个线性无关数据块x1~x8,其中,一个数据块对应的8个属于第一有限域的编码系数,x1~x8对应的编码系数组成一个8×8的译码矩阵,译码矩阵中任一行元素为一个数据块对应的一组编码系数(即对应的8个编码系数)。接收端将该译码矩阵进行高斯消元操作,将译码矩阵的对角线元素变换为1、其余元素变换为0,在译码矩阵变换时,报文x1…x8净荷也按位同步变化,从而可以译码得到p1~p4以及c1~c4。
例如,假设x1对应的一组编码系数为{10101010},x2对应的一组编码系数为{11100010},x3对应的一组编码系数为{00101011},x4对应的一组编码系数为{10000110},x5对应的一组编码系数为{01100011},x6对应的一组编码系数为{00110001},x7对应的一组编码系数为{10111110},x8对应的一组编码系数为{00011000}。x1~x8对应的编码系数组成一个8×8的译码矩阵,其中,该译码矩阵的第1行为10101010,该译码矩阵的第2行为11100010,该译码矩阵的第3行为00101011,该译码矩阵的第4行为10000110,该译码矩阵的第5行为01100011,该译码矩阵的第6行为00110001,该译码矩阵的第7行为10111110,该译码矩阵的第8行为00011000。接收端将该译码矩阵进行高斯消元,进过译码后的译码矩阵的第1行为10000000,该译码矩阵的第2行为01000000,该译码矩阵的第3行为00100000,该译码矩阵的第4行为00010000,该译码矩阵的第5行为00001000,该译码矩阵的第6行为00000100,该译码矩阵的第7行为00000010,该译码矩阵的第8行为00000001,图24所示。
第四译码方式为将多个报文在第一有限域和第四有限域内进行译码,第一有限域为网络中阶数最低的有限域,第四有限域为多个报文携带的编码系数对应的任一高阶有限域,高阶有限域为阶数高于所述第一有限域的有限域。
在一些实施例中,在第四译码方式中,多个报文携带(k-1)+n个线性无关数据块,且(k-1)+n个数据块中至少一个数据块对应的编码系数属于第四有限域,其中,n为在高阶有限域进行编码的编码数据块的数量。
一种实现方式中,接收端可以在接收(k-1)+n个线性无关数据块后,采用第四译码方式进行译码。
另一种实现方式中,若接收端采用第四译码方式进行译码,接收端可以接收(k-1)+n个线性无关数据块。
一种可能的实施方式中,接收端采用第四译码方式对多个报文进行译码时,可以将多个报文在第一有限域内进行第一译码运算,然后将第一译码运算得到的结果在第四有限域进行第二译码运算。
示例性的,第一译码运算可以为:将多个报文在第一有限域内进行第一译码运算,得到第二译码矩阵,使得第五译码矩阵经过第一译码运算后第i行第j列的元素(即第二译码矩阵第i行第j列的元素)为0,第h行第k+1列至第h行第k+n列的元素中第h行第h+1列的元素(即第二译码矩阵第h行第k+1列至第h行第k+n列的元素中第h行第h+1列的元素)为1,第h行第k+1列至第h行第k+n列的元素中除第h行第h+1列的元素以外的其他元素(即第二译码矩阵第h行第k+1列至第h行第k+n列的元素中除第h行第h+1列的元素以外的其他元素)为0。其中,第五译码矩阵中任一行元素为一个数据块对应的一组编码系数中属于所述第一有限域的编码系数,i={1,2,……H-n},j={k+1,k+2,……,k+n},h为大于H-n且小于H+1的整数,H为多个报文携带的数据块的数量,n为在高阶有限域进行编码的编码数据块的数量。
第二译码运算可以为:将第一译码运算得到的结果在第四有限域进行第二译码运算,使得第一译码矩阵经过第二译码运算后对角线元素为1,且除对角线元素以外的其他元素为0。其中,第一译码矩阵的上矩阵包括第二译码矩阵第i行第g列的元素,第一译码矩阵的下矩阵为第二译码矩阵第T行第g列的元素与第T行对应的编码系数中属于第四有限域的编码系数进行运算的结果,第二译码矩阵中任一行元素为一个数据块对应的一组编码系数中属于第一有限域的编码系数经过第一次译码运算后的结果,i={1,2,……H-n},g={1,2,……,k},第二译码矩阵第T行为第四有限域的编码系数所对应的行,H为多个报文携带的数据块的数量,n为在高有限域进行编码的编码数据块的数量。
一种示例性说明中,假设发送端采用图8所示的方式进行编码,以第一有限域为GF(21),一个组包括4个源数据块的数量即k等于4,在高有限域进行编码的编码数据块的数量为4即n等于4,高阶有限域分别为GF(2N)、GF(2N-1)、GF(23)、GF(22)为例,假设一个报文携带一个数据块,若第四有限域为GF(2N),如图25所示,接收端采用第四译码方式进行译码的过程可以为:
S1,接收端可以接收k-1+n即7个线性无关报文x1~x7。
S2,接收端将x1…x7携带的属于GF(21)有限域的编码系数构成第五译码矩阵,第五译码矩阵为一个(k-1+n)×(k+n)矩阵即7×8矩阵,其中,该7×8矩阵中任一行元素为一个报文携带的属于GF(21)有限域的编码系数。
S3,第五译码矩阵包括上矩阵和下矩阵,上矩阵为(k-1)×(k+n)的子矩阵,即3×8的子矩阵。下矩阵为下对角线元素值为1的n×(k+n)子矩阵,即4×8矩阵,下对角线元素指第五译码矩阵中列号=行号+1的元素。接收端将第五译码矩阵在GF(21)有限域进行第一译码运算,得到第二译码矩阵,其中,第五译码矩阵的上矩阵经过第一译码运算后前k列元素即前4列元素为0,具体可以为上矩阵中后n列即后4列元素被下矩阵的下对角线元素高斯消元为0。假设携带GF(2N)有限域的编码系数的报文所对应的行为下矩阵的第1行,即第五译码矩阵的第5行,第五译码矩阵的下矩阵经过第一译码运算后第1行的后n个元素即后4个元素除下对角线元素外其余元素被译码操作为0,具体可以为第五译码矩阵的下矩阵第1行的后4个元素除下对角线元素外其余元素被下矩阵的下对角线元素高斯消元为0。
即第二译码矩阵中第1~3行第5~8列的元素为0,第5行第5列至第5行第8列的元素中第5行5列的元素为1,其他元素为0,其中,第二译码矩阵的第5行为携带GF(2N)有限域的编码系数的报文所对应的行,例如,假设x4携带GF(2N)有限域的编码系数,经过第一译码运算,x4携带GF(21)有限域的编码系数变换到了第5行。在第一译码运算时,报文x1…x7净荷也按位同步变化。
S4,接收端将第二译码矩阵的第1~3行第1~4列的元素等价作为第一译码矩阵的第1~3行第1~4列,将第二译码矩阵的第5行第1~4列的元素与GF(2N)有限域的编码系数进行运算得到4个元素,该4个元素作为第一译码矩阵的第4行。例如,将第二译码矩阵的第5行第1~4列的元素与GF(2N)有限域的编码系数在GF(2N)有限域进行加法运算。
示例性的,假设第二译码矩阵的第5行第1~4列的元素为1001,则可以表示为:1p1+0p2+0p3+1p4+1c1=x'4。假设GF(2N)有限域的编码系数为{14,3,2,7},则可以表示为c1=14p1+3p2+2p3+7p4,则15p1+3p2+2p3+6p4=x'4,因此,第一译码矩阵的第4行元素为{15,3,2,6},如图26所示。
S5,接收端将第一译码矩阵在GF(2N)有限域进行第二译码运算,使得第一译码矩阵经过第二译码运算后对角线元素变换为1、其余元素变换为0。在第一译码矩阵变换时,报文x1…x7净荷也按n位同步变化,则可以译码得到p1、p2、p3、p4。
第四有限域为GF(22)时接收端采用第四译码方式进行译码的过程可以为如图27所示。第四有限域为GF(22)时接收端采用第四译码方式进行译码的过程,与第四有限域为GF(2N)时接收端采用第四译码方式进行译码的过程类似,区别在于第四有限域为GF(2N)时步骤S3中选择的是第二译码矩阵的第5行,因为第二译码矩阵的第5行为携带GF(2N)有限域的编码系数的报文所对应的行,而第四有限域为GF(22)时步骤S3中选择的是第二译码矩阵的第8行,因为第二译码矩阵的第8行为携带GF(22)有限域的编码系数的报文所对应的行,并且,第四有限域为GF(2N)时步骤S4中将第二译码矩阵的第5行第1~4列的元素与GF(2N)有限域的编码系数进行运算,而第四有限域为GF(22)时步骤S4中将第二译码矩阵的第8行第1~4列的元素与GF(22)有限域的编码系数进行运算,以及,第四有限域为GF(2N)时步骤S5中在GF(2N)有限域进行第二译码运算,而第四有限域为GF(22)时步骤S5中在GF(22)有限域进行第二译码运算,具体可以参阅上述S1~S5,重复之处不再赘述。
与上述逻辑类似,第四有限域为GF(23)时接收端采用第四译码方式进行译码的过程可以为如图28所示。第四有限域为GF(2N-1)时接收端采用第四译码方式进行译码的过程可以为如图29所示。
第四译码方式一方面可以提高译码速度,另一方面可以提高译码成功率,从而可以实现译码速度与译码成功率之间的均衡,并且第四有限域的阶数增高,译码成功率会更高,第四有限域的阶数降低,译码速度会更快。
并且,由于译码矩阵中大部分系数为来自第一有限域的编码系数1或0,因此第四有限域的译码操作极少,可以极大简化第四有限域的运算复杂度。
第五译码方式为多个报文在第一有限域和第五有限域内进行译码,第一有限域为网络中阶数最低的有限域,第五有限域为多个报文携带的编码系数对应的任意t个高阶有限域中阶数最高的有限域,高阶有限域为阶数高于第一有限域的有限域,t为大于1的整数。
在一些实施例中,在第五译码方式中,多个报文携带k+n-t个数据块,且k+n-t个数据块对应的编码系数属于至少t个不同的高阶有限域,其中,n为在高阶有限域进行编码的编码数据块的数量。
一种实现方式中,接收端可以在接收k+n-t个数据块后,采用第五译码方式进行译码,该k+n-t个数据块对应的编码系数属于至少t个不同的高阶有限域。
另一种实现方式中,若接收端采用第五译码方式进行译码,接收端可以接收k+n-t个数据块,该k+n-t个数据块对应的编码系数属于至少t个不同的高阶有限域。
一种可能的实施方式中,接收端采用第四译码方式对多个报文进行译码时,可以将多个报文在第一有限域内进行第四译码运算,将第一译码运算得到的结果在第五有限域进行第三译码运算。
示例性的,第四译码运算可以为:将多个报文在第一有限域内进行第一译码运算,得到第四译码矩阵,使得第五译码矩阵经过第一译码运算后第i行第j列的元素(即第四译码矩阵第i行第j列的元素)为0,第h行第k+1列至第h行第k+n列的元素中第h行第h+1列的元素为1(即第四译码矩阵第h行第k+1列至第h行第k+n列的元素中第h行第h+1列的元素),第h行第k+1列至第h行第k+n列的元素中除第h行第h+1列的元素以外的其他元素(即第四译码矩阵第h行第k+1列至第h行第k+n列的元素中除第h行第h+1列的元素以外的其他元素)为0。其中,第五译码矩阵中任一行元素为一个数据块对应的一组编码系数中属于第一有限域的编码系数,i={1,2,……H-n},j={k+1,k+2,……,k+n},h取大于H-n且小于H+1的任意t个整数,H为多个报文携带的数据块的数量,n为在高阶有限域进行编码的编码数据块的数量。
第三译码运算可以为:将第一译码运算得到的结果在第五有限域进行第三译码运算,使得第三译码矩阵经过第三译码运算后对角线元素为1,且除对角线元素以外的其他元素为0。其中,第三译码矩阵的上矩阵包括第四译码矩阵第i行第g列的元素,第一译码矩阵的下矩阵为第四译码矩阵第H-n+1行至第H行中任意t行的第g列的元素与任意t行对应的编码系数中属于高阶有限域的编码系数进行运算的结果,第四译码矩阵中任一行元素为一个数据块对应的一组编码系数中属于第一有限域的编码系数经过第一次译码运算后的结果,i={1,2,……H-n},g={1,2,……,k},H为多个报文携带的数据块的数量,n为在高阶有限域进行编码的编码数据块的数量。
一种示例性说明中,假设发送端采用图8所示的方式进行编码,以第一有限域为GF(21),一个组包括4个源数据块的数量即k等于4,在高阶有限域进行编码的编码数据块的数量为4即n等于4,高阶有限域分别为GF(2N)、GF(2N-1)、GF(23)、GF(22)为例,假设一个报文携带一个数据块,若t为2,如图30所示,接收端采用第五译码方式进行译码的过程可以为:
A1,接收端可以接收(k-t+n)个6个线性无关报文x1~x6。
A2,接收端将x1…x6携带的属于GF(21)有限域的编码系数构成第五译码矩阵,第五译码矩阵为一个(k-t+n)×(k+n)矩阵即6×8矩阵,其中,该6×8矩阵中任一行元素为一个报文携带的属于GF(21)有限域的编码系数。
A3,第五译码矩阵包括上矩阵和下矩阵,上矩阵为(k-t)×(k+n)的子矩阵,即2×8的子矩阵。下矩阵为下对角线元素值为1的n×(k+n)子矩阵,即4×8矩阵,下对角线元素指第五译码矩阵中列号=行号+1的元素。接收端将第五译码矩阵在GF(21)有限域进行第四译码运算,得到第四译码矩阵,其中,第五译码矩阵的上矩阵经过第一译码运算后前k列元素即前4列元素为0,具体可以为上矩阵中后n列即后4列元素被下矩阵的下对角线元素高斯消元为0。选择第五译码矩阵的下矩阵中的任意t行,假设选择下矩阵中的前两行,即第五译码矩阵的第3~4行,第五译码矩阵的下矩阵经过第一译码运算后前两行的后k列即后4列中除下对角线元素外其余元素被译码操作为0,具体可以为第五译码矩阵的下矩阵第3~4行的后4列元素除下对角线元素外其余元素被下矩阵的下对角线元素高斯消元为0。
即第四译码矩阵第1~2行第5~8列的元素为0,第四译码矩阵第3~4行第5~8列的元素中第3行第5列和第四行第6列的元素为1,其余元素为0。
A4,接收端将第四译码矩阵的第1~2行第1~4列的元素等价作为第三译码矩阵的第1~2行第1~4列。将第四译码矩阵的第3行第1~4列的元素与相应高阶有限域的编码系数进行运算,假设第四译码矩阵的第3行为GF(2N)有限域的编码系数对应的行,则将第四译码矩阵的第3行第1~4列的元素与GF(2N)有限域的编码系数进行运算得到4个元素,该4个元素作为第三译码矩阵的第3行。例如,将第四译码矩阵的第3行第1~4列的元素与GF(2N)有限域的编码系数在GF(2N)有限域进行加法运算。
将第四译码矩阵的第4行第1~4列的元素与相应高阶有限域的编码系数进行运算,假设第四译码矩阵的第4行为GF(2N-1)有限域的编码系数对应的行,则将第四译码矩阵的第4行第1~4列的元素与GF(2N-1)有限域的编码系数进行运算得到4个元素,该4个元素作为第三译码矩阵的第4行。例如,将第四译码矩阵的第4行第1~4列的元素与GF(2N-1)有限域的编码系数在GF(2N-1)有限域进行加法运算,然后将加法运算的结果等价到N次域,这里所应用的一个关键技术是低阶有限域加法可等价到高阶有限域加法,如图31所示,低阶有限域加法表是高阶有限域加法表的嵌套子集。其中,高阶有限域为GF(21)有限域由所选取的下矩阵的相应的2行对应的报文携带的最高次域为GF(22)有限域决定,所以最后得GF(22)有限域译码2×k下矩阵。
示例性的,如图32所示,第四译码矩阵的第3行第1~4列的元素与GF(2N)有限域的编码系数进行运算的过程、第四译码矩阵的第4行第1~4列的元素与GF(2N-1)有限域的编码系数进行运算的过程具体可以参阅步骤S4中第二译码矩阵的第5行第1~4列的元素与GF(2N)有限域的编码系数进行运算的过程,这里不再赘述。
A5,由于步骤A3选择的任意2行为第四译码矩阵第3~4行,而第四译码矩阵第3~4行对应的高阶有限域为GF(2N)有限域和GF(2N-1)有限域,其中阶数最高的高阶有限域为GF(2N)有限域,则接收端将第三译码矩阵在GF(2N)有限域进行第三译码运算,使得第一译码矩阵经过第二译码运算后对角线元素变换为1、其余元素变换为0。在第三译码矩阵变换时,报文x1~x6净荷也按n位同步变化,则可以译码得到p1、p2、p3…p4。
一种示例性说明中,假设发送端采用图8所示的方式进行编码,以第一有限域为GF(21),一个组包括4个源数据块的数量即k等于4,在高阶有限域进行编码的编码数据块的数量为4即n等于4,高阶有限域分别为GF(2N)、GF(2N-1)、GF(23)、GF(22)为例,假设一个报文携带一个数据块,若t为4,如图33所示,接收端采用第五译码方式进行译码的过程可以为:
B1,接收端可以接收(k-t+n)个4个线性无关报文x1~x4。
B2,接收端将x1…x4携带的属于GF(21)有限域的编码系数构成第五译码矩阵,第五译码矩阵为一个(k-t+n)×(k+n)矩阵即4×8矩阵,其中,该4×8矩阵中任一行元素为一个报文携带的属于GF(21)有限域的编码系数。
B3,当k≤n时,没有上矩阵,当k>n时,有上矩阵,因此,在本示例中,第五译码矩阵包括下矩阵,下矩阵为下对角线元素值为1的n×(k+n)子矩阵,即4×8矩阵,下对角线元素指第五译码矩阵中列号=行号+1的元素。接收端将第五译码矩阵在GF(21)有限域进行第四译码运算,得到第四译码矩阵,其中,第五译码矩阵的下矩阵经过第一译码运算后下矩阵的后k列即后4列中除下对角线元素外其余元素被译码操作为0,具体可以为第五译码矩阵的下矩阵的后4列元素除下对角线元素外其余元素被下矩阵的下对角线元素高斯消元为0。
即第四译码矩阵中第5~8列构成的矩阵中对角线元素为1,其他元素为0。在第四译码运算时,报文x1…x4净荷也按位同步变化。
B4,接收端将第四译码矩阵中每一行第5~8列与相应的高阶有限域的编码系数进行运算,得到第三译码矩阵的一行元素。
第四译码矩阵中每一行第5~8列与相应的高阶有限域的编码系数进行运算的过程,具体可以参阅步骤S4中第二译码矩阵的第5行第1~4列的元素与GF(2N)有限域的编码系数进行运算的过程,这里不再赘述。
B5,由于第四译码矩阵第1~4行对应的高阶有限域中阶数最高的高阶有限域为GF(2N)有限域,则接收端将第三译码矩阵在GF(2N)有限域进行第三译码运算,使得第一译码矩阵经过第二译码运算后对角线元素变换为1、其余元素变换为0。在第三译码矩阵变换时,报文x1~x6净荷也按n位同步变化,则可以译码得到p1、p2、p3…p4。
与上述逻辑类似,t等于3,第五有限域为GF(2N)时接收端采用第五译码方式进行译码的过程可以为如图34所示。
第五译码方式,针对k=4个源数据块,只需接收k-t+n个报文即可开始译码,从而可以接收时延。
在一些实施例中,接收端可以根据译码策略选择使用的译码方式。例如,若译码策略为追求译码速度快、计算复杂度小,或吞吐量高,则可以针对k个源数据块,至少接收k+n个线性无关的数据块x1…xk+n采用第一译码方式。或者,若译码策略为追求译码速度(或计算复杂度、吞吐量)与译码成功率(或传输开销)取得一个均衡,则针对k个源数据块,至少接收(k-1)+n个线性无关的数据块后采用第四译码方式。或者,若译码策略为追求译码成功率高或传输开销(即所需接收的编码报文数量)小,则可以针对一个组的k个源数据块,至少在接收到k个线性无关的报文x1…xk后尝试t=n时的第五译码方式,或在至少接收到k+1个线性无关的报文x1…xk+1后尝试t=n-1时的第五译码方式,或在至少接收到k-3+n个线性无关的报文后尝试t=3时的第五译码方式,或在至少接收到k-2+n个线性无关的报文后尝试t=2时的第五译码方式,t的值越高,译码成功率越高、传输开销越小。
可选的,接收端可以根据自身编解码算力来接收报文,例如,接收端自身编解码算力最高支持GF(24)有限域,则接收端可以丢弃阶数高于24的有限域的报文,采用GF(24)有限域及阶数低于24的有限域的报文进行译码。
假设发送端采用图8所示的方式进行编码,且一个组的源数据块有4个即k=4,且在高阶有限域进行编码的编码数据块的数量为4个即n等于4,接收端采用的各译码方式的特点可以如表2所示。
表2
根据表2可以看出,本申请实施例第四译码方式和第五译码方式从译码成功率或传输开销角度,可以利用高阶有限域来提升译码成功率;并且从译码速度或吞吐量角度,第四译码方式和第五译码方式中在第一有限域进行大部分运算,相比于现有技术中在高阶有限域进行运算,本申请实施例可以有效降低计算复杂度,提高译码速度和吞吐量;而且判断线性无关是在第一有限域里完成的,而不是真正地切到高阶有限域再去判断,从而可以简化计算复杂度。因此,本申请实施例可以结合低维域译码速度快和高维域译码概率高的特点,使得译码速度和吞吐量远远高于传统的高阶有限域译码。
接收端接收单播报文,可以先用高速的第一有限域(例如GF(21))进行大部分的译码(即解码),再尝试切到高阶有限域(例如GF(24))做剩余部分的译码,从而可以极大提升译码速度和吞吐量。其中,尝试切换到高次有限域是在第一有限域(例如GF(21))里完成的,而不是真正地切到高阶有限域去做运算,只有在第一有限域尝试成功才会最终切换到一个选定的高阶有限域去做运算,所以总的译码速度不会下降。至于,发送端发的在高阶有限域(例如GF(25)、GF(26)、GF(28))编码的单播报文,如果接收端没有用到可以丢弃。
本申请实施例中,发送端可以发送一系列层次化的分别在阶数较低的有限域、阶数中等的有限域、阶数较高的有限域进行编码的报文。中间节点可以根据自身编码算力、接收的报文所携带编码系数对应的有限域、网络负载等确定重编码的有限域,从而可以不依赖于收发端的编码算力和网络配置。而接收端可先在高速的第一有限域进行大部分的译码,再尝试切到高阶有限域做剩余部分的译码。
收发端与中间节点可以在不同有限域上进行编解码,消除网络节点的吞吐量瓶颈;中间节点不需每个流或每个应用做配置,可以自适应地根据自身编码算力、接收的报文所携带编码系数对应的有限域、网络负载等进行重编码;接收端可根据自身算力和应用需求自主选择有限域进行编解码,从而可以实现众口可调,且应用编码需求、有限域选择可随时任意自主调整。
基于与方法实施例的同一技术构思,本申请实施例提供一种网络编码装置。该装置的结构可以如图35所示,包括处理单元3501以及收发单元3502。
一种实现方式中,网络编码装置具体可以用于实现图5至图12的实施例中发送端执行的方法,该装置可以是通信设备本身,也可以是通信设备中的芯片或芯片组或芯片中用于执行相关方法功能的一部分,其中,处理单元3501,用于对一个组中的k个源数据块进行编码,得到多个编码数据块,其中,k为大于0的整数,多个编码数据块中至少两个编码数据块采用的编码系数对应的有限域的阶不同;以及,据多个编码数据块生成一个或多个报文,其中,每个报文中携带至少一个编码数据块以及编码数据块对应的编码系数;收发单元3502,用于发送一个或多个报文。
可选的,处理单元3501,在对一个组中的k个源数据块进行编码,得到多个编码数据块时,具体用于:将k个源数据块与第一编码矩阵进行第一编码运算,得到多个编码数据块,其中,第一编码矩阵包括至少两种不同阶有限域的编码系数。
处理单元3501,还可以用于:根据k个源数据块生成h1个报文,h1个报文中每个报文携带至少一个源数据块以及源数据块对应的编码系数,其中,k个源数据块对应的编码系数构成对角线元素为1,且除对角线元素以外的其他元素为0的k×k矩阵,矩阵中的任一行元素为k个源数据块中一个源数据块对应的k个编码系数,h1为大于0且不大于k的整数。收发单元3502,还可以用于:发送h1个报文。
在一些实施例中,处理单元3501,在对一个组中的k个源数据块进行编码,得到多个编码数据块时,具体用于:将k个源数据块与第二编码矩阵进行第二编码运算,得到n1个编码数据块,其中,n1为大于0的整数,第二编码矩阵包括的第一编码系数对应的有限域的阶均高于第一有限域的阶,第一有限域为第三编码矩阵对应的有限域;将n1个编码数据块以及k个源数据块与第三编码矩阵进行第三编码运算,得到m个编码数据块,其中,m为大于0的整数,多个编码数据块包括n1个编码数据块以及m个编码数据块。
可选的,处理单元3501,还可以用于:根据k个源数据块生成h2个报文,h2个报文中每个报文携带至少一个源数据块以及源数据块对应的编码系数,h2为大于0且不大于k的整数;其中,k个源数据块对应的编码系数以及n1个编码数据块对应的第二编码系数构成对角线元素为1,且除对角线元素以外的其他元素为0的(k+n1)×(k+n1)矩阵,矩阵中的任一行元素为k个源数据块中一个源数据块对应的k+n1个编码系数或者n1个编码数据块中一个编码数据块对应的k+n1个编码系数,第二编码系数为n1个编码数据块对应的编码系数中除第二编码运算采用的第一编码系数以外的编码系数。收发单元3502,还可以用于发送h2个报文。
在一些实施例中,处理单元3501,在对一个组中的k个源数据块进行编码,得到多个编码数据块时,可以具体用于:将k个源数据块与第四编码矩阵进行第四编码运算,得到n2个中间数据块,其中,n2为大于0的整数,第四编码矩阵包括的编码系数对应的有限域的阶均高于第二有限域的阶,第二有限域为第五编码矩阵对应的有限域;将n2个中间数据块以及k个源数据块与第五编码矩阵进行第五编码运算,得到多个编码数据块。
示例性的,报文还携带指示信息,指示信息用于指示报文所携带源数据块对应的有限域的阶,或者,指示信息用于指示报文所携带编码数据块对应的有限域的阶。
一种实现方式中,网络编码装置具体可以用于实现图13至图16的实施例中发送端执行的方法,该装置可以是中间节点本身,也可以是通信设备中的芯片或芯片组或芯片中用于执行相关方法功能的一部分,其中,收发单元3502,用于接收n个报文,其中,n为大于1的整数,一个报文中携带a1个数据块以及a1个数据块对应的编码系数,a1为大于0的整数,n个报文所携带编码系数对应的有限域为一个或多个;处理单元3501,用于根据如下信息中的一项或多项确定重编码的有限域:网络节点的编码算力、n个报文所携带编码系数对应的有限域、网络负载;以及,基于重编码的有限域将n个报文携带的数据块以及编码系数进行重编码,得到v个编码结果,v为大于0的整数;收发单元3502,还用于发送m1个重编码后的报文,一个重编码后的报文中携带至少一个编码结果,m1为大于0且不大于v的整数。
示例性的,重编码的有限域包括一个或多个有限域。
可选的,处理单元3501,在基于重编码的有限域将n个报文携带的数据块以及编码系数进行重编码时,具体用于:将n个报文携带的数据块与第七编码矩阵进行编码运算,得到v个重编码后的数据块,其中,第七编码矩阵包括的编码系数属于重编码的有限域;将n个报文携带的编码系数与第七编码矩阵进行编码运算,得到v组重编码后的编码系数,一个编码结果包括一个重编码后的数据块以及对应的一组重编码后的编码系数。
可选的,处理单元3501,在根据n个报文所携带编码系数对应的有限域确定重编码的有限域时,具体用于:确定n个报文所携带编码系数对应的有限域中最高阶的有限域为重编码的有限域。
一种实现方式中,网络编码装置具体可以用于实现图17至图34的实施例中接收端执行的方法,该装置可以是通信设备本身,也可以是通信设备中的芯片或芯片组或芯片中用于执行相关方法功能的一部分,其中,收发单元3502,用于针对一个组中的k个源数据块,接收多个报文,其中,k为大于0的整数,一个报文携带至少一个数据块以及每个数据块对应的一组编码系数;处理单元3501,用于采用第一译码方式或者第二译码方式或者第三译码方式或者第四译码方式或者第五译码方式对多个报文进行译码。
其中,第一译码方式为将多个报文在第一有限域内进行译码,第一有限域为网络中阶数最低的有限域;第二译码方式为将多个报文在第二有限域内进行译码,第二有限域为多个报文携带的编码系数对应的有限域中最高阶的有限域;第三译码方式为将多个报文在第三有限域内进行译码,第三有限域为多个报文携带的编码系数对应的有限域中除第一有限域以外的另一个有限域,第一有限域为网络中阶数最低的有限域;第四译码方式为将多个报文在第一有限域和第四有限域内进行译码,第一有限域为网络中阶数最低的有限域,第四有限域为多个报文携带的编码系数对应的任一高阶有限域,高阶有限域为阶数高于第一有限域的有限域;第五译码方式为多个报文在第一有限域和第五有限域内进行译码,第一有限域为网络中阶数最低的有限域,第五有限域为多个报文携带的编码系数对应的任意t个高阶有限域中阶数最高的有限域,高阶有限域为阶数高于第一有限域的有限域,t为大于1的整数。
可选的,处理单元3501,在采用第一译码方式对多个报文进行译码时,具体用于:将多个报文在第一有限域内进行译码,使得译码矩阵经过译码后对角线元素为1,且除对角线元素以外的其他元素为0,其中,译码矩阵中任一行元素为一个数据块对应的一组编码系数。
示例性的,多个报文携带k个数据块,k个数据块对应的编码系数属于第一有限域;或者,多个报文携带k+n个数据块,k+n个数据块对应的编码系数对应的有限域为第一有限域,其中,n为在高阶有限域进行编码的编码数据块的数量,高阶有限域为阶数高于第一有限域的有限域。
可选的,处理单元3501,在采用第二译码方式对多个报文进行译码时,具体用于:将多个报文在第二有限域内进行译码,使得译码矩阵经过译码后对角线元素为1,且除对角线元素以外的其他元素为0,其中,译码矩阵中任一行元素为一个数据块对应的一组编码系数。
示例性的,多个报文携带k个数据块,k个数据块对应的编码系数属于两个或两个以上的有限域。
可选的,处理单元3501,在采用第三译码方式对多个报文进行译码时,具体用于:将多个报文在第三有限域内进行译码,使得译码矩阵经过译码后对角线元素为1,且除对角线元素以外的其他元素变换为0,其中,译码矩阵中任一行元素为一个数据块对应的一组编码系数。
示例性的,多个报文携带k个数据块,且k个数据块中至少一个数据块对应的编码系数属于第一有限域,k个数据块中除至少一个数据块以外的其他数据块对应的编码系数属于第三有限域。
可选的,处理单元3501,在采用第四译码方式对多个报文进行译码时,具体用于:将多个报文在第一有限域内进行第一译码运算;将第一译码运算得到的结果在第四有限域进行第二译码运算。
可选的,处理单元3501,在将第一译码运算得到的结果在第四有限域进行第二译码运算时,具体用于:将第一译码运算得到的结果在第四有限域进行第二译码运算,使得第一译码矩阵经过第二译码运算后对角线元素为1,且除对角线元素以外的其他元素为0。
其中,第一译码矩阵的上矩阵包括第二译码矩阵第i行第g列的元素,第一译码矩阵的下矩阵为第二译码矩阵第T行第g列的元素与第T行对应的编码系数中属于第四有限域的编码系数进行运算的结果,第二译码矩阵中任一行元素为一个数据块对应的一组编码系数中属于第一有限域的编码系数经过第一次译码运算后的结果,i={1,2,……H-n},g={1,2,……,k},第二译码矩阵第T行为第四有限域的编码系数所对应的行,H为多个报文携带的数据块的数量,n为在高有限域进行编码的编码数据块的数量。
可选的,处理单元3501,在将多个报文在第一有限域内进行第一译码运算时,具体用于:将多个报文在第一有限域内进行第一译码运算,使得第五译码矩阵经过第一译码运算后第i行第j列的元素为0,第h行第k+1列至第h行第k+n列的元素中第h行第h+1列的元素为1,第h行第k+1列至第h行第k+n列的元素中除第h行第h+1列的元素以外的其他元素为0。
其中,第五译码矩阵中任一行元素为一个数据块对应的一组编码系数中属于第一有限域的编码系数,i={1,2,……H-n},j={k+1,k+2,……,k+n},第五译码矩阵经过第一译码运算后的第h行为第四有限域的编码系数所对应的行,H为多个报文携带的数据块的数量,n为在高阶有限域进行编码的编码数据块的数量。
示例性的,多个报文携带(k-1)+n个数据块,且(k-1)+n个数据块中至少一个数据块对应的编码系数属于第四有限域,其中,n为在高阶有限域进行编码的编码数据块的数量。
可选的,处理单元3501,在采用第五译码方式对多个报文进行译码时,具体用于:将多个报文在第一有限域内进行第四译码运算;将第一译码运算得到的结果在第五有限域进行第三译码运算。
处理单元3501,将第一译码运算得到的结果在第五有限域进行第三译码运算时,可以具体用于:
将第一译码运算得到的结果在第五有限域进行第三译码运算,使得第三译码矩阵经过第三译码运算后对角线元素为1,且除对角线元素以外的其他元素为0。
其中,第三译码矩阵的上矩阵包括第四译码矩阵第i行第g列的元素,第一译码矩阵的下矩阵为第四译码矩阵第H-n+1行至第H行中任意t行的第g列的元素与任意t行对应的编码系数中属于高阶有限域的编码系数进行运算的结果,第四译码矩阵中任一行元素为一个数据块对应的一组编码系数中属于第一有限域的编码系数经过第一次译码运算后的结果,i={1,2,……H-n},g={1,2,……,k},H为多个报文携带的数据块的数量,n为在高阶有限域进行编码的编码数据块的数量。
处理单元3501,在将多个报文在第一有限域内进行第四译码运算时,可以具体用于:将多个报文在第一有限域内进行第四译码运算,使得第五译码矩阵经过第四译码运算后第i行第j列的元素为0,第h行第k+1列至第h行第k+n列的元素中第h行第h+1列的元素为1,第h行第k+1列至第h行第k+n列的元素中除第h行第h+1列的元素以外的其他元素为0。
其中,第五译码矩阵中任一行元素为一个数据块对应的一组编码系数中属于第一有限域的编码系数,i={1,2,……H-n},j={k+1,k+2,……,k+n},h取大于H-n且小于H+1的任意t个整数,H为多个报文携带的数据块的数量,n为在高阶有限域进行编码的编码数据块的数量。
示例性的,多个报文携带k+n-t个数据块,且k+n-t个数据块对应的编码系数属于至少t个不同的高阶有限域,其中,n为在高阶有限域进行编码的编码数据块的数量。
本申请实施例中对模块的划分是示意性的,仅仅为一种逻辑功能划分,实际实现时可以有另外的划分方式,另外,在本申请各个实施例中的各功能模块可以集成在一个处理器中,也可以是单独物理存在,也可以两个或两个以上模块集成在一个模块中。上述集成的模块既可以采用硬件的形式实现,也可以采用软件功能模块的形式实现。可以理解的是,本申请实施例中各个模块的功能或者实现可以进一步参考方法实施例的相关描述。
一种可能的方式中,资源复用装置可以如图36所示,该装置可以是第一节点或者第一节点中的芯片,其中,第一节点可以为通信设备,也可以为通信设备的上级节点或宿主节点。该装置可以包括处理器3601,通信接口3602,存储器3603。其中,处理单元3501可以为处理器3601。收发单元3502可以为通信接口3602。
处理器3601,可以是一个中央处理单元(central processing unit,CPU),或者为数字处理单元等等。通信接口3602可以是收发器、也可以为接口电路如收发电路等、也可以为收发芯片等等。该装置还包括:存储器3603,用于存储处理器3601执行的程序。存储器3603可以是非易失性存储器,比如硬盘(hard disk drive,HDD)或固态硬盘(solid-statedrive,SSD)等,还可以是易失性存储器(volatile memory),例如随机存取存储器(random-access memory,RAM)。存储器3603是能够用于携带或存储具有指令或数据结构形式的期望的程序代码并能够由计算机存取的任何其他介质,但不限于此。
处理器3601用于执行存储器3603存储的程序代码,具体用于执行上述处理单元3501的动作,本申请在此不再赘述。通信接口3602具体用于执行上述收发单元3502的动作,本申请在此不再赘述。
本申请实施例中不限定上述通信接口3602、处理器3601以及存储器3603之间的具体连接介质。本申请实施例在图36中以存储器3603、处理器3601以及通信接口3602之间通过总线3604连接,总线在图36中以粗线表示,其它部件之间的连接方式,仅是进行示意性说明,并不引以为限。所述总线可以分为地址总线、数据总线、控制总线等。为便于表示,图36中仅用一条粗线表示,但并不表示仅有一根总线或一种类型的总线。
本发明实施例还提供了一种计算机可读存储介质,用于存储为执行上述处理器所需执行的计算机软件指令,其包含用于执行上述处理器所需执行的程序。
本领域内的技术人员应明白,本申请的实施例可提供为方法、***、或计算机程序产品。因此,本申请可采用完全硬件实施例、完全软件实施例、或结合软件和硬件方面的实施例的形式。而且,本申请可采用在一个或多个其中包含有计算机可用程序代码的计算机可用存储介质(包括但不限于磁盘存储器、CD-ROM、光学存储器等)上实施的计算机程序产品的形式。
本申请是参照根据本申请的方法、设备(***)、和计算机程序产品的流程图和/或方框图来描述的。应理解可由计算机程序指令实现流程图和/或方框图中的每一流程和/或方框、以及流程图和/或方框图中的流程和/或方框的结合。可提供这些计算机程序指令到通用计算机、专用计算机、嵌入式处理机或其他可编程数据处理设备的处理器以产生一个机器,使得通过计算机或其他可编程数据处理设备的处理器执行的指令产生用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的装置。
这些计算机程序指令也可存储在能引导计算机或其他可编程数据处理设备以特定方式工作的计算机可读存储器中,使得存储在该计算机可读存储器中的指令产生包括指令装置的制造品,该指令装置实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能。
这些计算机程序指令也可装载到计算机或其他可编程数据处理设备上,使得在计算机或其他可编程设备上执行一系列操作步骤以产生计算机实现的处理,从而在计算机或其他可编程设备上执行的指令提供用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的步骤。
显然,本领域的技术人员可以对本申请进行各种改动和变型而不脱离本申请的精神和范围。这样,倘若本申请的这些修改和变型属于本申请权利要求及其等同技术的范围之内,则本申请也意图包含这些改动和变型在内。
Claims (54)
1.一种网络编码方法,其特征在于,包括:
对一个组中的k个源数据块进行编码,得到多个编码数据块,其中,所述k为大于0的整数,所述多个编码数据块中至少两个编码数据块采用的编码系数对应的有限域的阶不同;
根据所述多个编码数据块生成一个或多个报文,其中,每个报文中携带至少一个编码数据块以及所述编码数据块对应的编码系数;
发送所述一个或多个报文。
2.如权利要求1所述的方法,其特征在于,所述对一个组中的k个源数据块进行编码,得到多个编码数据块,包括:
将所述k个源数据块与第一编码矩阵进行第一编码运算,得到所述多个编码数据块,其中,所述第一编码矩阵包括至少两种不同阶有限域的编码系数。
3.如权利要求2所述的方法,其特征在于,所述方法还包括:
根据所述k个源数据块生成h1个报文,所述h1个报文中每个报文携带至少一个源数据块以及所述源数据块对应的编码系数,其中,所述k个源数据块对应的编码系数构成对角线元素为1,且除所述对角线元素以外的其他元素为0的k×k矩阵,所述矩阵中的任一行元素为所述k个源数据块中一个源数据块对应的k个编码系数,所述h1为大于0且不大于k的整数;
发送所述h1个报文。
4.如权利要求1所述的方法,其特征在于,所述对一个组中的k个源数据块进行编码,得到多个编码数据块,包括:
将所述k个源数据块与第二编码矩阵进行第二编码运算,得到n1个编码数据块,其中,所述n1为大于0的整数,所述第二编码矩阵包括的第一编码系数对应的有限域的阶均高于第一有限域的阶,所述第一有限域为第三编码矩阵对应的有限域;
将所述n1个编码数据块以及所述k个源数据块与所述第三编码矩阵进行第三编码运算,得到m个编码数据块,其中,所述m为大于0的整数,所述多个编码数据块包括所述n1个编码数据块以及所述m个编码数据块。
5.如权利要求4所述的方法,其特征在于,所述方法还包括:
根据所述k个源数据块生成h2个报文,所述h2个报文中每个报文携带至少一个源数据块以及所述源数据块对应的编码系数,所述h2为大于0且不大于k的整数;
其中,所述k个源数据块对应的编码系数以及所述n1个编码数据块对应的第二编码系数构成对角线元素为1,且除所述对角线元素以外的其他元素为0的(k+n1)×(k+n1)矩阵,所述矩阵中的任一行元素为所述k个源数据块中一个源数据块对应的k+n1个编码系数或者所述n1个编码数据块中一个编码数据块对应的k+n1个编码系数,所述第二编码系数为所述n1个编码数据块对应的编码系数中除所述第二编码运算采用的所述第一编码系数以外的编码系数;
发送所述h2个报文。
6.如权利要求1所述的方法,其特征在于,所述对一个组中的k个源数据块进行编码,得到多个编码数据块,包括:
将所述k个源数据块与第四编码矩阵进行第四编码运算,得到n2个中间数据块,其中,所述n2为大于0的整数,所述第四编码矩阵包括的编码系数对应的有限域的阶均高于第二有限域的阶,所述第二有限域为第五编码矩阵对应的有限域;
将所述n2个中间数据块以及所述k个源数据块与所述第五编码矩阵进行第五编码运算,得到所述多个编码数据块。
7.如权利要求1-6任一项所述的方法,其特征在于,所述报文还携带指示信息,所述指示信息用于指示所述报文所携带源数据块对应的有限域的阶,或者,所述指示信息用于指示所述报文所携带编码数据块对应的有限域的阶。
8.一种网络编码方法,其特征在于,包括:
接收n个报文,其中,所述n为大于1的整数,一个所述报文中携带a1个数据块以及所述a1个数据块对应的编码系数,所述a1为大于0的整数,所述n个报文所携带编码系数对应的有限域为一个或多个;
根据如下信息中的一项或多项确定重编码的有限域:网络节点的编码算力、所述n个报文所携带编码系数对应的有限域、网络负载;
基于所述重编码的有限域将所述n个报文携带的数据块以及编码系数进行重编码,得到v个编码结果,所述v为大于0的整数;
发送m1个重编码后的报文,一个所述重编码后的报文中携带至少一个所述编码结果,所述m1为大于0且不大于v的整数。
9.如权利要求8所述的方法,其特征在于,所述重编码的有限域包括一个或多个有限域。
10.如权利要求8或9所述的方法,其特征在于,所述基于所述重编码的有限域将所述n个报文携带的数据块以及编码系数进行重编码,包括:
将所述n个报文携带的数据块与第七编码矩阵进行编码运算,得到v个重编码后的数据块,其中,所述第七编码矩阵包括的编码系数属于所述重编码的有限域;
将所述n个报文携带的编码系数与所述第七编码矩阵进行编码运算,得到v组重编码后的编码系数,一个所述编码结果包括一个所述重编码后的数据块以及对应的一组所述重编码后的编码系数。
11.如权利要求8-10任一项所述的方法,其特征在于,所述根据所述n个报文所携带编码系数对应的有限域确定重编码的有限域,包括:
确定所述n个报文所携带编码系数对应的有限域中最高阶的有限域为所述重编码的有限域。
12.一种网络编码方法,其特征在于,包括:
针对一个组中的k个源数据块,接收多个报文,其中,所述k为大于0的整数,一个所述报文携带至少一个数据块以及每个所述数据块对应的一组编码系数;
采用第一译码方式或者第二译码方式或者第三译码方式或者第四译码方式或者第五译码方式对所述多个报文进行译码;
其中,所述第一译码方式为将所述多个报文在第一有限域内进行译码,所述第一有限域为所述网络中阶数最低的有限域;
所述第二译码方式为将所述多个报文在第二有限域内进行译码,所述第二有限域为所述多个报文携带的编码系数对应的有限域中最高阶的有限域;
所述第三译码方式为将所述多个报文在第三有限域内进行译码,所述第三有限域为所述多个报文携带的编码系数对应的有限域中除第一有限域以外的另一个有限域,所述第一有限域为所述网络中阶数最低的有限域;
所述第四译码方式为将所述多个报文在第一有限域和所述第四有限域内进行译码,所述第一有限域为所述网络中阶数最低的有限域,所述第四有限域为所述多个报文携带的编码系数对应的任一高阶有限域,所述高阶有限域为阶数高于所述第一有限域的有限域;
所述第五译码方式为所述多个报文在第一有限域和所述第五有限域内进行译码,所述第一有限域为所述网络中阶数最低的有限域,所述第五有限域为所述多个报文携带的编码系数对应的任意t个高阶有限域中阶数最高的有限域,所述高阶有限域为阶数高于所述第一有限域的有限域,所述t为大于1的整数。
13.如权利要求12所述的方法,其特征在于,所述采用第一译码方式对所述多个报文进行译码,包括:
将所述多个报文在所述第一有限域内进行译码,使得译码矩阵经过译码后对角线元素为1,且除所述对角线元素以外的其他元素为0,其中,所述译码矩阵中任一行元素为一个所述数据块对应的一组编码系数。
14.如权利要求13所述的方法,其特征在于,所述多个报文携带k个数据块,所述k个数据块对应的编码系数属于所述第一有限域;
或者,所述多个报文携带k+n个数据块,所述k+n个数据块对应的编码系数对应的有限域为所述第一有限域,其中,所述n为在高阶有限域进行编码的编码数据块的数量,所述高阶有限域为阶数高于所述第一有限域的有限域。
15.如权利要求12所述的方法,其特征在于,所述采用第二译码方式对所述多个报文进行译码,包括:
将所述多个报文在所述第二有限域内进行译码,使得译码矩阵经过译码后对角线元素为1,且除所述对角线元素以外的其他元素为0,其中,所述译码矩阵中任一行元素为一个所述数据块对应的一组编码系数。
16.如权利要求15所述的方法,其特征在于,所述多个报文携带k个数据块,所述k个数据块对应的编码系数属于两个或两个以上的有限域。
17.如权利要求12所述的方法,其特征在于,所述采用第三译码方式对所述多个报文进行译码,包括:
将所述多个报文在所述第三有限域内进行译码,使得译码矩阵经过译码后对角线元素为1,且除所述对角线元素以外的其他元素变换为0,其中,所述译码矩阵中任一行元素为一个所述数据块对应的一组编码系数。
18.如权利要求17所述的方法,其特征在于,所述多个报文携带k个数据块,且所述k个数据块中至少一个数据块对应的编码系数属于所述第一有限域,所述k个数据块中除至少一个数据块以外的其他数据块对应的编码系数属于所述第三有限域。
19.如权利要求12所述的方法,其特征在于,所述采用第四译码方式对所述多个报文进行译码,包括:
将所述多个报文在所述第一有限域内进行第一译码运算;
将所述第一译码运算得到的结果在所述第四有限域进行第二译码运算。
20.如权利要求19所述的方法,其特征在于,所述将所述第一译码运算得到的结果在所述第四有限域进行第二译码运算,包括:
将所述第一译码运算得到的结果在所述第四有限域进行所述第二译码运算,使得第一译码矩阵经过所述第二译码运算后对角线元素为1,且除所述对角线元素以外的其他元素为0;
其中,所述第一译码矩阵的上矩阵包括第二译码矩阵第i行第g列的元素,所述第一译码矩阵的下矩阵为所述第二译码矩阵第T行第g列的元素与所述第T行对应的编码系数中属于所述第四有限域的编码系数进行运算的结果,所述第二译码矩阵中任一行元素为一个数据块对应的一组编码系数中属于所述第一有限域的编码系数经过所述第一次译码运算后的结果,所述i={1,2,……H-n},所述g={1,2,……,k},所述第二译码矩阵第T行为所述第四有限域的编码系数所对应的行,所述H为所述多个报文携带的数据块的数量,所述n为在所述高有限域进行编码的编码数据块的数量。
21.如权利要求19或20所述的方法,其特征在于,所述将所述多个报文在所述第一有限域内进行第一译码运算,包括:
将所述多个报文在所述第一有限域内进行所述第一译码运算,使得第五译码矩阵经过所述第一译码运算后第i行第j列的元素为0,第h行第k+1列至第h行第k+n列的元素中第h行第h+1列的元素为1,第h行第k+1列至第h行第k+n列的元素中除第h行第h+1列的元素以外的其他元素为0;
其中,所述第五译码矩阵中任一行元素为一个数据块对应的一组编码系数中属于所述第一有限域的编码系数,所述i={1,2,……H-n},所述j={k+1,k+2,……,k+n},所述第五译码矩阵经过所述第一译码运算后的第h行为所述第四有限域的编码系数所对应的行,所述H为所述多个报文携带的数据块的数量,所述n为在所述高阶有限域进行编码的编码数据块的数量。
22.如权利要求19-21任一项所述的方法,其特征在于,所述多个报文携带(k-1)+n个数据块,且所述(k-1)+n个数据块中至少一个数据块对应的编码系数属于所述第四有限域,其中,所述n为在所述高阶有限域进行编码的编码数据块的数量。
23.如权利要求12所述的方法,其特征在于,所述采用第五译码方式对所述多个报文进行译码,包括:
将所述多个报文在所述第一有限域内进行第四译码运算;
将所述第一译码运算得到的结果在所述第五有限域进行第三译码运算。
24.如权利要求23所述的方法,其特征在于,所述将所述第一译码运算得到的结果在所述第五有限域进行第三译码运算,包括:
将所述第一译码运算得到的结果在所述第五有限域进行所述第三译码运算,使得第三译码矩阵经过所述第三译码运算后对角线元素为1,且除所述对角线元素以外的其他元素为0;
其中,所述第三译码矩阵的上矩阵包括第四译码矩阵第i行第g列的元素,所述第一译码矩阵的下矩阵为所述第四译码矩阵第H-n+1行至第H行中任意t行的第g列的元素与所述任意t行对应的编码系数中属于所述高阶有限域的编码系数进行运算的结果,所述第四译码矩阵中任一行元素为一个数据块对应的一组编码系数中属于所述第一有限域的编码系数经过所述第一次译码运算后的结果,所述i={1,2,……H-n},所述g={1,2,……,k},所述H为所述多个报文携带的数据块的数量,所述n为在所述高阶有限域进行编码的编码数据块的数量。
25.如权利要求23或24所述的方法,其特征在于,所述将所述多个报文在所述第一有限域内进行第四译码运算,包括:
将所述多个报文在所述第一有限域内进行所述第四译码运算,使得第五译码矩阵经过所述第四译码运算后第i行第j列的元素为0,第h行第k+1列至第h行第k+n列的元素中第h行第h+1列的元素为1,第h行第k+1列至第h行第k+n列的元素中除第h行第h+1列的元素以外的其他元素为0;
其中,所述第五译码矩阵中任一行元素为一个数据块对应的一组编码系数中属于所述第一有限域的编码系数,所述i={1,2,……H-n},所述j={k+1,k+2,……,k+n},所述h取大于H-n且小于H+1的任意t个整数,所述H为所述多个报文携带的数据块的数量,所述n为在所述高阶有限域进行编码的编码数据块的数量。
26.如权利要求23-25任一项所述的方法,其特征在于,所述多个报文携带k+n-t个数据块,且所述k+n-t个数据块对应的编码系数属于至少t个不同的高阶有限域,其中,所述n为在所述高阶有限域进行编码的编码数据块的数量。
27.一种网络编码装置,其特征在于,包括:
处理单元,用于对一个组中的k个源数据块进行编码,得到多个编码数据块,其中,所述k为大于0的整数,所述多个编码数据块中至少两个编码数据块采用的编码系数对应的有限域的阶不同;
以及,据所述多个编码数据块生成一个或多个报文,其中,每个报文中携带至少一个编码数据块以及所述编码数据块对应的编码系数;
收发单元,用于发送所述一个或多个报文。
28.如权利要求27所述的装置,其特征在于,所述处理单元,在对一个组中的k个源数据块进行编码,得到多个编码数据块时,具体用于:
将所述k个源数据块与第一编码矩阵进行第一编码运算,得到所述多个编码数据块,其中,所述第一编码矩阵包括至少两种不同阶有限域的编码系数。
29.如权利要求28所述的装置,其特征在于,所述处理单元,还用于:根据所述k个源数据块生成h1个报文,所述h1个报文中每个报文携带至少一个源数据块以及所述源数据块对应的编码系数,其中,所述k个源数据块对应的编码系数构成对角线元素为1,且除所述对角线元素以外的其他元素为0的k×k矩阵,所述矩阵中的任一行元素为所述k个源数据块中一个源数据块对应的k个编码系数,所述h1为大于0且不大于k的整数;
所述收发单元,还用于:发送所述h1个报文。
30.如权利要求27所述的装置,其特征在于,所述处理单元,在对一个组中的k个源数据块进行编码,得到多个编码数据块时,具体用于:
将所述k个源数据块与第二编码矩阵进行第二编码运算,得到n1个编码数据块,其中,所述n1为大于0的整数,所述第二编码矩阵包括的第一编码系数对应的有限域的阶均高于第一有限域的阶,所述第一有限域为第三编码矩阵对应的有限域;
将所述n1个编码数据块以及所述k个源数据块与所述第三编码矩阵进行第三编码运算,得到m个编码数据块,其中,所述m为大于0的整数,所述多个编码数据块包括所述n1个编码数据块以及所述m个编码数据块。
31.如权利要求30所述的装置,其特征在于,所述处理单元,还用于:
根据所述k个源数据块生成h2个报文,所述h2个报文中每个报文携带至少一个源数据块以及所述源数据块对应的编码系数,所述h2为大于0且不大于k的整数;
其中,所述k个源数据块对应的编码系数以及所述n1个编码数据块对应的第二编码系数构成对角线元素为1,且除所述对角线元素以外的其他元素为0的(k+n1)×(k+n1)矩阵,所述矩阵中的任一行元素为所述k个源数据块中一个源数据块对应的k+n1个编码系数或者所述n1个编码数据块中一个编码数据块对应的k+n1个编码系数,所述第二编码系数为所述n1个编码数据块对应的编码系数中除所述第二编码运算采用的所述第一编码系数以外的编码系数;
所述收发单元,还用于:发送所述h2个报文。
32.如权利要求27所述的装置,其特征在于,所述处理单元,在对一个组中的k个源数据块进行编码,得到多个编码数据块时,具体用于:
将所述k个源数据块与第四编码矩阵进行第四编码运算,得到n2个中间数据块,其中,所述n2为大于0的整数,所述第四编码矩阵包括的编码系数对应的有限域的阶均高于第二有限域的阶,所述第二有限域为第五编码矩阵对应的有限域;
将所述n2个中间数据块以及所述k个源数据块与所述第五编码矩阵进行第五编码运算,得到所述多个编码数据块。
33.如权利要求27-32任一项所述的装置,其特征在于,所述报文还携带指示信息,所述指示信息用于指示所述报文所携带源数据块对应的有限域的阶,或者,所述指示信息用于指示所述报文所携带编码数据块对应的有限域的阶。
34.一种网络编码装置,其特征在于,包括:
收发单元,用于接收n个报文,其中,所述n为大于1的整数,一个所述报文中携带a1个数据块以及所述a1个数据块对应的编码系数,所述a1为大于0的整数,所述n个报文所携带编码系数对应的有限域为一个或多个;
处理单元,用于根据如下信息中的一项或多项确定重编码的有限域:网络节点的编码算力、所述n个报文所携带编码系数对应的有限域、网络负载;以及,基于所述重编码的有限域将所述n个报文携带的数据块以及编码系数进行重编码,得到v个编码结果,所述v为大于0的整数;
所述收发单元,还用于发送m1个重编码后的报文,一个所述重编码后的报文中携带至少一个所述编码结果,所述m1为大于0且不大于v的整数。
35.如权利要求34所述的装置,其特征在于,所述重编码的有限域包括一个或多个有限域。
36.如权利要求34或35所述的装置,其特征在于,所述处理单元,在基于所述重编码的有限域将所述n个报文携带的数据块以及编码系数进行重编码时,具体用于:
将所述n个报文携带的数据块与第七编码矩阵进行编码运算,得到v个重编码后的数据块,其中,所述第七编码矩阵包括的编码系数属于所述重编码的有限域;
将所述n个报文携带的编码系数与所述第七编码矩阵进行编码运算,得到v组重编码后的编码系数,一个所述编码结果包括一个所述重编码后的数据块以及对应的一组所述重编码后的编码系数。
37.如权利要求34-36任一项所述的装置,其特征在于,所述处理单元,在根据所述n个报文所携带编码系数对应的有限域确定重编码的有限域时,具体用于:
确定所述n个报文所携带编码系数对应的有限域中最高阶的有限域为所述重编码的有限域。
38.一种网络编码装置,其特征在于,包括:
收发单元,用于针对一个组中的k个源数据块,接收多个报文,其中,所述k为大于0的整数,一个所述报文携带至少一个数据块以及每个所述数据块对应的一组编码系数;
处理单元,用于采用第一译码方式或者第二译码方式或者第三译码方式或者第四译码方式或者第五译码方式对所述多个报文进行译码;
其中,所述第一译码方式为将所述多个报文在第一有限域内进行译码,所述第一有限域为所述网络中阶数最低的有限域;
所述第二译码方式为将所述多个报文在第二有限域内进行译码,所述第二有限域为所述多个报文携带的编码系数对应的有限域中最高阶的有限域;
所述第三译码方式为将所述多个报文在第三有限域内进行译码,所述第三有限域为所述多个报文携带的编码系数对应的有限域中除第一有限域以外的另一个有限域,所述第一有限域为所述网络中阶数最低的有限域;
所述第四译码方式为将所述多个报文在第一有限域和所述第四有限域内进行译码,所述第一有限域为所述网络中阶数最低的有限域,所述第四有限域为所述多个报文携带的编码系数对应的任一高阶有限域,所述高阶有限域为阶数高于所述第一有限域的有限域;
所述第五译码方式为所述多个报文在第一有限域和所述第五有限域内进行译码,所述第一有限域为所述网络中阶数最低的有限域,所述第五有限域为所述多个报文携带的编码系数对应的任意t个高阶有限域中阶数最高的有限域,所述高阶有限域为阶数高于所述第一有限域的有限域,所述t为大于1的整数。
39.如权利要求38所述的装置,其特征在于,所述处理单元,在采用第一译码方式对所述多个报文进行译码时,具体用于:
将所述多个报文在所述第一有限域内进行译码,使得译码矩阵经过译码后对角线元素为1,且除所述对角线元素以外的其他元素为0,其中,所述译码矩阵中任一行元素为一个所述数据块对应的一组编码系数。
40.如权利要求39所述的装置,其特征在于,所述多个报文携带k个数据块,所述k个数据块对应的编码系数属于所述第一有限域;
或者,所述多个报文携带k+n个数据块,所述k+n个数据块对应的编码系数对应的有限域为所述第一有限域,其中,所述n为在高阶有限域进行编码的编码数据块的数量,所述高阶有限域为阶数高于所述第一有限域的有限域。
41.如权利要求38所述的装置,其特征在于,所述处理单元,在采用第二译码方式对所述多个报文进行译码时,具体用于:
将所述多个报文在所述第二有限域内进行译码,使得译码矩阵经过译码后对角线元素为1,且除所述对角线元素以外的其他元素为0,其中,所述译码矩阵中任一行元素为一个所述数据块对应的一组编码系数。
42.如权利要求41所述的装置,其特征在于,所述多个报文携带k个数据块,所述k个数据块对应的编码系数属于两个或两个以上的有限域。
43.如权利要求38所述的装置,其特征在于,所述处理单元,在采用第三译码方式对所述多个报文进行译码时,具体用于:
将所述多个报文在所述第三有限域内进行译码,使得译码矩阵经过译码后对角线元素为1,且除所述对角线元素以外的其他元素变换为0,其中,所述译码矩阵中任一行元素为一个所述数据块对应的一组编码系数。
44.如权利要求43所述的装置,其特征在于,所述多个报文携带k个数据块,且所述k个数据块中至少一个数据块对应的编码系数属于所述第一有限域,所述k个数据块中除至少一个数据块以外的其他数据块对应的编码系数属于所述第三有限域。
45.如权利要求38所述的装置,其特征在于,所述处理单元,在采用第四译码方式对所述多个报文进行译码时,具体用于:
将所述多个报文在所述第一有限域内进行第一译码运算;
将所述第一译码运算得到的结果在所述第四有限域进行第二译码运算。
46.如权利要求45所述的装置,其特征在于,所述处理单元,在将所述第一译码运算得到的结果在所述第四有限域进行第二译码运算时,具体用于:
将所述第一译码运算得到的结果在所述第四有限域进行所述第二译码运算,使得第一译码矩阵经过所述第二译码运算后对角线元素为1,且除所述对角线元素以外的其他元素为0;
其中,所述第一译码矩阵的上矩阵包括第二译码矩阵第i行第g列的元素,所述第一译码矩阵的下矩阵为所述第二译码矩阵第T行第g列的元素与所述第T行对应的编码系数中属于所述第四有限域的编码系数进行运算的结果,所述第二译码矩阵中任一行元素为一个数据块对应的一组编码系数中属于所述第一有限域的编码系数经过所述第一次译码运算后的结果,所述i={1,2,……H-n},所述g={1,2,……,k},所述第二译码矩阵第T行为所述第四有限域的编码系数所对应的行,所述H为所述多个报文携带的数据块的数量,所述n为在所述高有限域进行编码的编码数据块的数量。
47.如权利要求45或46所述的装置,其特征在于,所述处理单元,在将所述多个报文在所述第一有限域内进行第一译码运算时,具体用于:
将所述多个报文在所述第一有限域内进行所述第一译码运算,使得第五译码矩阵经过所述第一译码运算后第i行第j列的元素为0,第h行第k+1列至第h行第k+n列的元素中第h行第h+1列的元素为1,第h行第k+1列至第h行第k+n列的元素中除第h行第h+1列的元素以外的其他元素为0;
其中,所述第五译码矩阵中任一行元素为一个数据块对应的一组编码系数中属于所述第一有限域的编码系数,所述i={1,2,……H-n},所述j={k+1,k+2,……,k+n},所述第五译码矩阵经过所述第一译码运算后的第h行为所述第四有限域的编码系数所对应的行,所述H为所述多个报文携带的数据块的数量,所述n为在所述高阶有限域进行编码的编码数据块的数量。
48.如权利要求45-47任一项所述的装置,其特征在于,所述多个报文携带(k-1)+n个数据块,且所述(k-1)+n个数据块中至少一个数据块对应的编码系数属于所述第四有限域,其中,所述n为在所述高阶有限域进行编码的编码数据块的数量。
49.如权利要求38所述的装置,其特征在于,所述处理单元,在采用第五译码方式对所述多个报文进行译码时,具体用于:
将所述多个报文在所述第一有限域内进行第四译码运算;
将所述第一译码运算得到的结果在所述第五有限域进行第三译码运算。
50.如权利要求49所述的装置,其特征在于,所述处理单元,将所述第一译码运算得到的结果在所述第五有限域进行第三译码运算时,具体用于
将所述第一译码运算得到的结果在所述第五有限域进行所述第三译码运算,使得第三译码矩阵经过所述第三译码运算后对角线元素为1,且除所述对角线元素以外的其他元素为0;
其中,所述第三译码矩阵的上矩阵包括第四译码矩阵第i行第g列的元素,所述第一译码矩阵的下矩阵为所述第四译码矩阵第H-n+1行至第H行中任意t行的第g列的元素与所述任意t行对应的编码系数中属于所述高阶有限域的编码系数进行运算的结果,所述第四译码矩阵中任一行元素为一个数据块对应的一组编码系数中属于所述第一有限域的编码系数经过所述第一次译码运算后的结果,所述i={1,2,……H-n},所述g={1,2,……,k},所述H为所述多个报文携带的数据块的数量,所述n为在所述高阶有限域进行编码的编码数据块的数量。
51.如权利要求49或50所述的装置,其特征在于,所述处理单元,在将所述多个报文在所述第一有限域内进行第四译码运算时,具体用于:
将所述多个报文在所述第一有限域内进行所述第四译码运算,使得第五译码矩阵经过所述第四译码运算后第i行第j列的元素为0,第h行第k+1列至第h行第k+n列的元素中第h行第h+1列的元素为1,第h行第k+1列至第h行第k+n列的元素中除第h行第h+1列的元素以外的其他元素为0;
其中,所述第五译码矩阵中任一行元素为一个数据块对应的一组编码系数中属于所述第一有限域的编码系数,所述i={1,2,……H-n},所述j={k+1,k+2,……,k+n},所述h取大于H-n且小于H+1的任意t个整数,所述H为所述多个报文携带的数据块的数量,所述n为在所述高阶有限域进行编码的编码数据块的数量。
52.如权利要求49-51任一项所述的装置,其特征在于,所述多个报文携带k+n-t个数据块,且所述k+n-t个数据块对应的编码系数属于至少t个不同的高阶有限域,其中,所述n为在所述高阶有限域进行编码的编码数据块的数量。
53.一种计算机可读存储介质,其特征在于,所述计算机可读存储介质中存储程序或指令,所述程序或所述指令在被一个或多个处理器读取并执行时可实现权利要求1至26任一项所述的方法。
54.一种计算机程序产品,其特征在于,当所述计算机程序产品在网络设备上运行时,使得所述网络设备执行权利要求1至26任一所述的方法。
Priority Applications (4)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202010820352.7A CN114079529A (zh) | 2020-08-14 | 2020-08-14 | 一种网络编码方法及装置 |
EP21855298.2A EP4184827A1 (en) | 2020-08-14 | 2021-07-07 | Network coding method and apparatus |
PCT/CN2021/105002 WO2022033245A1 (zh) | 2020-08-14 | 2021-07-07 | 一种网络编码方法及装置 |
US18/168,328 US20230198666A1 (en) | 2020-08-14 | 2023-02-13 | Network encoding method and apparatus |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202010820352.7A CN114079529A (zh) | 2020-08-14 | 2020-08-14 | 一种网络编码方法及装置 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN114079529A true CN114079529A (zh) | 2022-02-22 |
Family
ID=80246952
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202010820352.7A Pending CN114079529A (zh) | 2020-08-14 | 2020-08-14 | 一种网络编码方法及装置 |
Country Status (4)
Country | Link |
---|---|
US (1) | US20230198666A1 (zh) |
EP (1) | EP4184827A1 (zh) |
CN (1) | CN114079529A (zh) |
WO (1) | WO2022033245A1 (zh) |
Family Cites Families (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101257366B (zh) * | 2008-03-27 | 2010-09-22 | 华为技术有限公司 | 编解码方法、通讯***及设备 |
CN103200192B (zh) * | 2013-03-28 | 2016-02-17 | 中国科学院声学研究所 | 网络编码层对数据包的编解码方法 |
CN103259865A (zh) * | 2013-05-23 | 2013-08-21 | 中国科学院计算机网络信息中心 | 一种基于网络编码的自适应dns区文件传输方法和*** |
US9647800B2 (en) * | 2014-04-01 | 2017-05-09 | Aalborg Universitet | Fulcrum network codes |
KR101876130B1 (ko) * | 2017-06-22 | 2018-07-06 | 이화여자대학교 산학협력단 | 특이값 분해를 이용한 저복잡 네트워크 코딩에 기초하는 네트워크 인코딩 장치 및 방법, 그리고 네트워크 디코딩 장치 및 방법 |
-
2020
- 2020-08-14 CN CN202010820352.7A patent/CN114079529A/zh active Pending
-
2021
- 2021-07-07 WO PCT/CN2021/105002 patent/WO2022033245A1/zh unknown
- 2021-07-07 EP EP21855298.2A patent/EP4184827A1/en active Pending
-
2023
- 2023-02-13 US US18/168,328 patent/US20230198666A1/en active Pending
Also Published As
Publication number | Publication date |
---|---|
EP4184827A1 (en) | 2023-05-24 |
US20230198666A1 (en) | 2023-06-22 |
WO2022033245A1 (zh) | 2022-02-17 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US10320456B2 (en) | System and method for designing and using multidimensional constellations | |
CN106899379B (zh) | 用于处理极化码的方法和通信设备 | |
JP6513806B2 (ja) | データ送信方法、送信側装置、および受信側装置 | |
KR20170102173A (ko) | 데이터 전송 방법 및 디바이스 | |
WO2018228053A1 (zh) | 一种信道状态信息发送、接收方法及设备 | |
US10462043B2 (en) | Method and apparatus for applying nested network cording in multipath protocol | |
JP5275514B2 (ja) | 閉ループmimoビーム形成のための差分フィードバックスキーム | |
JP2020520143A (ja) | リフティングされた準巡回ldpcコードのセットの生成 | |
US20190312602A1 (en) | Channel coding method, channel coding apparatus, chip system, and storage medium | |
WO2016049916A1 (zh) | 数据通信方法和相关设备及通信*** | |
WO2017184282A1 (en) | System and method for rate adaptation based on total number of spatial streams in mu-mimo transmissions | |
CN113543206B (zh) | 数据传输的方法、***和装置 | |
CN107615810B (zh) | 用于在线网络代码的包头压缩***和方法 | |
CN111371478B (zh) | 预编码方法和装置及信息传输方法和装置 | |
CN114079529A (zh) | 一种网络编码方法及装置 | |
US10579495B2 (en) | Systems and methods for transmitting data using encoder cooperation in the presence of state information | |
CN112787733B (zh) | 一种双向中继方案自适应选择方法、***、存储介质及终端 | |
CN113728572A (zh) | 通过参数初始化和重用来生成预定系数的线性网络编码 | |
WO2022033566A1 (zh) | 一种有限域的编码或译码方法以及相关装置 | |
WO2023179577A1 (zh) | 一种通信方法及相关装置 | |
WO2023116407A1 (zh) | 信息处理方法、装置、终端及网络设备 | |
WO2013097782A1 (zh) | 一种视频传输、接收方法及装置 | |
Du et al. | Reliable transmission protocol for underwater acoustic networks | |
WO2023231933A1 (zh) | 一种通信方法及装置 | |
WO2023221725A1 (zh) | 数据处理方法及电子设备、计算机可读存储介质 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
PB01 | Publication | ||
PB01 | Publication | ||
SE01 | Entry into force of request for substantive examination | ||
SE01 | Entry into force of request for substantive examination |