CN115529105A - 一种网络编码方法及装置 - Google Patents

一种网络编码方法及装置 Download PDF

Info

Publication number
CN115529105A
CN115529105A CN202110713504.8A CN202110713504A CN115529105A CN 115529105 A CN115529105 A CN 115529105A CN 202110713504 A CN202110713504 A CN 202110713504A CN 115529105 A CN115529105 A CN 115529105A
Authority
CN
China
Prior art keywords
coding
matrix
coefficients
encoding
packet
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
Application number
CN202110713504.8A
Other languages
English (en)
Inventor
祝慧颖
董朋朋
谭志远
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Huawei Technologies Co Ltd
Original Assignee
Huawei Technologies Co Ltd
Priority date (The priority date 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 date listed.)
Filing date
Publication date
Application filed by Huawei Technologies Co Ltd filed Critical Huawei Technologies Co Ltd
Priority to CN202110713504.8A priority Critical patent/CN115529105A/zh
Priority to PCT/CN2022/100513 priority patent/WO2022268130A1/zh
Publication of CN115529105A publication Critical patent/CN115529105A/zh
Pending legal-status Critical Current

Links

Images

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L1/00Arrangements for detecting or preventing errors in the information received
    • H04L1/004Arrangements for detecting or preventing errors in the information received by using forward error control
    • H04L1/0041Arrangements at the transmitter end
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L1/00Arrangements for detecting or preventing errors in the information received
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L1/00Arrangements for detecting or preventing errors in the information received
    • H04L1/004Arrangements for detecting or preventing errors in the information received by using forward error control
    • H04L1/0072Error control for data other than payload data, e.g. control data
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L1/00Arrangements for detecting or preventing errors in the information received
    • H04L1/004Arrangements for detecting or preventing errors in the information received by using forward error control
    • H04L1/0072Error control for data other than payload data, e.g. control data
    • H04L1/0073Special arrangements for feedback channel

Landscapes

  • Engineering & Computer Science (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Signal Processing (AREA)
  • Error Detection And Correction (AREA)

Abstract

本申请公开了一种网络编码方法及装置,以期提高网络编码的纠错能力。该方法为:编码端对K个待编码数据包进行编码,生成并发送编码包;其中,编码包携带指示信息,指示信息用于指示生成编码包所使用的K个编码系数,该K个编码系数与该K个待编码数据包一一对应,该K个编码系数中的非零编码系数均为矩阵,矩阵的维度为L×L,K、L均为大于1的整数。译码端获取待译码数据,待译码数据包括编码包,编码包携带指示信息,指示信息用于指示编码过程中所使用的K个编码系数,K个编码系数与K个原始数据包一一对应;根据指示信息对待译码数据进行译码,获得K个原始数据包。该方法可以应用于扩展现实XR业务或其他低时延业务。

Description

一种网络编码方法及装置
技术领域
本申请实施例涉及通信技术领域,尤其涉及一种网络编码方法及装置。
背景技术
在无线通信系统中,为了保证业务传输的可靠性,一般会采用重传机制。例如,长期 演进(long term evolution,LTE)或新空口(new radio,NR)系统中引入两类重传机制来 保证业务的可靠性。一类是基于反馈信息的请求重传机制,包括媒体接入控制(mediumaccess control,MAC)层的混合自动重传请求(hybrid automatic repeat request,HARQ)和 无线链路控制(radio link control,RLC)层的自动重传请求(automatic repeatrequest,ARQ) 机制。另一类是不需要反馈信息的重传机制,例如,盲重传。盲重传即发送端在没有收到 接收端的HARQ反馈信息的情况下,就会向接收端重复发送数据。
由于空口传输时延、接收端数据处理时延以及协议规定的反馈时机的限制,基于反馈的 重传机制时延比较大。盲重传因为不需要基于反馈信息进行重传,虽然可以降低时延,但 无论初传数据正确与否都占用资源进行重传,频谱效率很低。
针对上述HARQ或盲重传存在的问题,可以采用网络编码技术对数据包进行网络编码, 通过传输网络编码包来兼顾时延和频谱效率性能。而现阶段,网络编码性能并不理想,需 要进一步提高。
发明内容
本申请实施例提供一种网络编码方法、译码方法及装置,以期提高网络编码性能,比 如提高网络编码的纠错能力。
第一方面,提供一种网络编码方法,该方法可以由编码装置执行,也可以由编码装置 的部件(例如处理器、芯片、电路或芯片系统等)执行。该编码装置也可以称为发送端或编码端,该编码装置可以是终端设备,也可以是网络设备。该方法可以通过以下步骤实现:对K个待编码数据包进行编码,生成编码包,发送该编码包;其中,编码包携带指示信息, 指示信息用于指示生成编码包所使用的K个编码系数,在编码过程中该K个编码系数与该 K个待编码数据包一一对应,该K个编码系数中的非零编码系数均为矩阵,矩阵的维度为 L×L,K、L均为大于1的整数。通过编码包携带包含K个待编码数据包的K个编码系数的 指示信息,且编码包是基于K个编码系数和K个待编码数据包生成的,译码装置能够根据 指示信息获得编码包的编码系数,从而进行译码以获得K个待编码数据包。
K个编码系数是K个L×L维矩阵,等价于对K×L个待编码数据进行编码,这样一起进 行编码的待编码数据的大小相当于是K×L个,相较于编码系数为有限域中的数值的情况, 一起进行编码的待编码数据的大小变大了,这样有利于编码系数的线性无关特性。使用线 性无关的编码系数进行编码能够获得较好的纠错能力,从而提升系统可靠性以及系统频谱 效率。
第二方面,提供一种网络译码方法,该方法可以由译码装置执行,也可以由译码装置 的部件(例如处理器、芯片、电路或芯片系统等)执行。该译码装置可以是终端设备,也可以是网络设备。该方法可以通过以下步骤实现:获取待译码数据,所述待译码数据携带指示信息,所述指示信息用于指示编码过程中所使用的K个编码系数,所述K个编码系数 与所述K个原始数据包一一对应,所述K个编码系数中的非零编码系数均为矩阵,所述矩 阵的维度为L×L,K、L均为大于1的整数;根据所述指示信息对所述待译码数据进行译码, 获得所述K个原始数据包。通过编码包携带包含K个待编码数据包的K个编码系数的指示 信息,且编码包是基于K个编码系数和K个待编码数据包生成的,译码装置能够根据指示 信息获得编码包的编码系数,从而进行译码以获得K个待编码数据包。
以下结合第一方面和第二方面,提供一些可能的设计。
在一个可能的设计中,该指示信息为编码系数码本中一个码字的索引,该码字包括编 码系数集合中的X个矩阵,编码系数集合包括有限数目的矩阵,其中,X≥K,K个编码系数为X个矩阵中的K个矩阵。通过一个码字的索引来指示K个编码系数,能够节省指示信 息的开销,而且,通过使用预定义的编码系数码本中的码字中的矩阵作为编码系数进行编码,能够提升编码包的纠错能力,从而提升系统可靠性或系统频谱效率。
编码系数集合也可以包括L×L维的0矩阵,即矩阵中的元素全为0。这种情况下,生成编码包所使用的K个编码系数中如果存在编码系数为零,记为零编码系数,零编码系数对应编码系数集合中的0矩阵。非零编码系数即对应编码系数集合中的非0矩阵。
在一个可能的设计中,所述码字表示为
Figure BDA0003134515830000021
Figure BDA0003134515830000022
其中, 0≤pl%(L+1)≤L,该编码系数码本中的不同码字对应的pl%(L+1)的取值不同,码字的索 引与pl%(L+1)具有对应关系,其中,pl%(L+1)表示pl除以(L+1)的余数,
Figure BDA0003134515830000023
分别为a1,a2,…,aX的pl次幂,a1,a2,…,aX为来自所述编码系数集合中的矩阵,X表示所述码字中所包括的矩阵的个数,编码系数集合中的矩阵为循环移位矩阵或循环移位矩阵的变换矩阵。其中,循环移位矩阵的变换矩阵所对应的变换形式包括对循环移位矩阵进行左乘或右乘中的至少一项。不同编码包可以使用不同索引的码字进行编码,通过不同码字的索引可以尽量对应不同的码字,可以提高不同编码包对应的编码系数之间的线性无关性,提升编码包的有效性,以及提升编码包的纠错能力。另一方面,编码系数为循环移位矩阵或循环移位矩阵的变换矩阵,对待编码数据包进行编码时进行相应的循环移位操作和异或操作,这样可以进一步降低编码复杂度。
在一个可能的设计中,X≤L+1,a1,a2,…,aX表示编码系数集合中两两不同的X个矩阵。 这样可以保证不同的码字索引对应的码字完全不同,进一步提升编码包的有效性或提升编 码包的纠错能力,以及保证每个编码包对于接收端的译码都是有效的。
在一个可能的设计中,指示信息为编码系数码本中一个码字的索引,该码字可以表示 为
Figure BDA0003134515830000024
Figure BDA0003134515830000025
所述编码系数码本中的不同码字对应不同的al, 所述码字的索引与l具有对应关系,al表示所述编码系数集合中的矩阵,l为al在所述编码系 数集合中的索引,
Figure BDA0003134515830000026
分别为al的p0,p1,…,pX-1次幂,X表示所述码字中所包 括的矩阵的个数,所述编码系数集合中的矩阵为循环移位矩阵或循环移位矩阵的变换矩阵。 其中,循环移位矩阵的变换矩阵所对应的变换形式包括对循环移位矩阵进行左乘或右乘中 的至少一项。不同编码包可以使用不同索引的码字进行编码,通过不同码字的索引可以尽 量对应不同的码字,可以提高不同编码包对应的编码系数之间的线性无关性,提升编码包 的有效性,以及提升编码包的纠错能力。另一方面,编码系数为循环移位矩阵或循环移位 矩阵的变换矩阵,对待编码数据包进行编码时进行相应的循环移位操作和异或操作,这样 可以进一步降低编码复杂度。
在一个可能的设计中,X≤L+1,p0,p1,…,pX-1分别除以(L+1)得到的X个余数为[0,L] 中两两不同的X个值。这样可以保证不同的码字索引对应的码字完全不同,进一步提升编 码包的有效性或提升编码包的纠错能力,以及保证每个编码包对于接收端的译码都是有效 的。
在一个可能的设计中,所述编码系数集合中的不同矩阵对应不同的循环移位矩阵,所 述编码系数集合中为循环移位矩阵的变换矩阵时,所述编码系数集合中每个矩阵的循环移 位矩阵的变换形式相同。其中,不同的循环移位矩阵可以为对单位矩阵循环移不同的位数 得到的矩阵。将不同的循环移位矩阵或不同的循环移位矩阵的变换矩阵作为编码系数,对 待编码数据包进行编码时:对待编码的数据包进行相应的循环移位操作和异或操作;或者 对待编码的数据包进行相同的变换操作再进行相应的循环移位操作和异或操作;或者对待 编码的数据包进行循环移位操作和异或操作再进行相同的变换操作;或者对待编码的数据 包进行相同的变换操作再进行相应的循环移位操作和异或操作,再进行另一种相同的变换 操作。从而可以降低编码复杂度。
在一个可能的设计中,所述编码系数集合中的矩阵的数目小于或等于L+1个。
在一个可能的设计中,所述编码系数集合中的矩阵满足
Figure BDA0003134515830000031
其中,M满足 0≤M%(L+1)≤L,
Figure BDA0003134515830000032
表示对(L+1)×(L+1)的单位矩阵循环移M位得到的矩阵;
Figure BDA0003134515830000033
表示(L+1)×(L+1)的循环移位矩阵,该循环移位矩阵为对 (L+1)×(L+1)的单位矩阵循环移M位得到的矩阵,其中,M%(L+1)=1,其中,循环移位 矩阵也称为循环置换矩阵,
Figure BDA0003134515830000034
其中,G为L×(L+ 1)的矩阵,
Figure BDA0003134515830000035
其中,H为(L+1)×L的矩阵。
在一个可能的设计中,指示信息为编码系数码本中一个码字的索引,该码字可以表示 为
Figure BDA0003134515830000036
Figure BDA0003134515830000037
其中,0≤pl%(2L)≤2L-1,
Figure BDA0003134515830000038
表示 a0,a1,…,aX-1的pl次幂,X表示所述码字中所包括的矩阵的个数,编码系数码本中的不同码 字对应的pl%(2L)的取值不同,该码字的索引与pl%(2L)具有对应关系,编码系数集合中的矩 阵为本原多项式的友矩阵的N次幂或本原多项式的友矩阵的N次幂的变换矩阵,此处变换 矩阵可以是指进行行列变换后的矩阵。N满足0≤N%2L≤(2L-1),pl%(2L)表示pl除以2L的 余数,N%2L表示N除以2L的余数,2L表示2的L次幂。不同编码包可以使用不同索引的码 字进行编码,通过不同码字的索引可以尽量对应不同的码字,可以提高不同编码包对应的 编码系数之间的线性无关性,提升编码包的有效性,以及提升编码包的纠错能力。而且,编码系数为原多项式的友矩阵的N次幂或本原多项式的友矩阵的N次幂的变换矩阵,对于相同的L,不同的编码系数的数量可以达到2L,从而可以获得更多的码字数量,或者码字的维度,即码字所包括的编码系数的个数,可以更大,从而能够支持生成更多不同的编码包或者支持更多的待编码数据包一起编码,从而应对信道质量差的场景,提升系统的可靠性。
在一个可能的设计中,X≤2L,a0,a1,…,aX-1表示所述编码系数集合中两两不同的X个 矩阵。这样可以保证不同的码字索引对应的码字完全不同,进一步提升编码包的有效性或 提升编码包的纠错能力,以及保证每个编码包对于接收端的译码都是有效的。
在一个可能的设计中,所述码字表示为
Figure BDA0003134515830000041
Figure BDA0003134515830000042
所述编 码系数码本中的不同码字对应不同的al
Figure BDA0003134515830000043
分别为al的p0,p1,…,pX-1次幂,X 表示所述码字中所包括的矩阵的个数,所述码字的索引与l具有对应关系,al表示所述编码 系数集合中的矩阵,l为al在所述编码系数集合中的索引,所述编码系数集合中的矩阵为本 原多项式的友矩阵的N次幂或本原多项式的友矩阵的N次幂的变换矩阵,N满足 0≤N%2L≤(2L-1)。不同编码包可以使用不同索引的码字进行编码,通过不同码字的索引可以尽量对应不同的码字,可以提高不同编码包对应的编码系数之间的线性无关性,提升编码包的有效性,以及提升编码包的纠错能力。而且,编码系数为原多项式的友矩阵的N次 幂或本原多项式的友矩阵的N次幂的变换矩阵,对于相同的L,不同的编码系数的数量可 以达到2L,从而可以获得更多的码字数量,或者码字的维度可以更大,从而能够支持生成 更多不同的编码包或者支持更多的待编码数据包一起编码,从而应对信道质量差的场景, 提升系统的可靠性。
在一个可能的设计中,X≤2L,p0,p1,…,pX-1分别除以2L得到的X个余数为[0,2L-1]中两两不同的X个值。这样可以保证不同的码字索引对应的码字完全不同,进一步提升编码包的有效性或提升编码包的纠错能力,以及保证每个编码包对于接收端的译码都是有效的。
在一个可能的设计中,所述编码系数集合中的不同矩阵对应的N%2L取值不同。
在一个可能的设计中,所述编码系数集合中的矩阵的数目小于或等于2L个。
在一个可能的设计中,所述本原多项式的友矩阵为A;
其中,
Figure BDA0003134515830000044
或A为
Figure BDA0003134515830000045
的行列变换矩阵;
A中的列向量[aL-1…a1a0]对应的本原多项式f(x)=a0+a1x+…aL-1xL-1+xL为伽 罗华域GF(2L)的本原多项式中的任意一个。形式为f(x)=a0+a1x+…aL-1xL-1+xL的本 原多项式,其友矩阵为
Figure BDA0003134515830000046
在一个可能的设计中,所述指示信息为随机种子或所述编码包的标识,所述随机种子 或所述编码包的标识用于确定所述K个编码系数在编码系数集合中的索引,所述编码系数 集合包括有限数目的矩阵。通过随机种子或者编码包的标识来指示K个编码系数,能够节 省指示信息的开销。
在一个可能的设计中,所述随机种子或所述编码包的标识对应K个随机数,所述K个 随机数用于确定所述K个编码系数在编码系数集合中的索引。
在一个可能的设计中,所述随机种子或所述标识与所述K个编码系数在编码系数集合 中的索引具有对应关系,所述对应关系满足:所述K个编码系数在编码系数集合中的索引 是所述随机种子或所述标识的函数。
在一个可能的设计中,所述函数满足:基于所述随机种子或所述标识的随机函数生成K 个值,基于所述K个值进行取余操作。
在一个可能的设计中,所述编码系数集合中的矩阵为循环移位矩阵或循环移位矩阵的 变换矩阵。其中,循环移位矩阵的变换矩阵所对应的变换形式包括对循环移位矩阵进行左 乘或右乘中的至少一项。
在一个可能的设计中,所述编码包的标识包括序列号、或者编码包在编码块中的标识 ID。其中,编码块可以在包括所述待编码数据包之外,还可以包括所述编码包,即,所述 编码块为包含所述待编码数据包和所述编码包的集合,所述编码包在编码块中的ID为所述 编码包在所述待编码数据包和所述编码包的集合中的索引。
在一个可能的设计中,所述编码系数集合中的不同矩阵对应不同的循环移位矩阵不同, 所述编码系数集合中为循环移位矩阵的变换矩阵时,所述编码系数集合中每个矩阵的循环 移位矩阵的变换形式相同,循环移位矩阵的变换形式包括对循环移位矩阵进行左乘或右乘 中的至少一项。其中,不同的循环移位矩阵为对单位矩阵循环移不同的位数得到的矩阵。 编码系数为循环移位矩阵或循环移位矩阵的变换矩阵,对待编码数据包进行编码时只需要 进行相应的循环移位操作和异或操作,这样可以进一步降低编码复杂度。
在一个可能的设计中,所述编码系数集合中的矩阵的数目小于或等于L+1个。
在一个可能的设计中,所述编码系数集合中的矩阵满足
Figure BDA0003134515830000051
其中,M满足 0≤M%(L+1)≤L,
Figure BDA0003134515830000052
表示对(L+1)×(L+1)的单位矩阵循环移M位得到的矩阵;
Figure BDA0003134515830000053
表示(L+1)×(L+1)的循环移位矩阵,该循环移位矩阵为对 (L+1)×(L+1)的单位矩阵循环移M位得到的矩阵,其中,M%(L+1)=1,
Figure BDA0003134515830000054
Figure BDA0003134515830000055
其中,G为L×(L+1)的矩阵,
Figure BDA0003134515830000056
其中, H为(L+1)×L的矩阵。
在一个可能的设计中,所述编码系数集合中的矩阵为本原多项式的友矩阵的N次幂或 本原多项式的友矩阵的N次幂的变换矩阵,N满足0≤N%2L≤(2L-1)。
在一个可能的设计中,所述编码系数集合中的不同矩阵对应的N取值不同。
在一个可能的设计中,所述编码系数集合中的矩阵的数目小于或等于2L个。
在一个可能的设计中,所述本原多项式的友矩阵为A;
其中,
Figure BDA0003134515830000057
或A为
Figure BDA0003134515830000058
的行列变换矩阵;
A中的列向量[aL-1…a1a0]对应的本原多项式f(x)=a0+a1x+…aL-1xL-1+xL为伽 罗华域GF(2L)的本原多项式中的任意一个。
在一个可能的设计中,所述矩阵中的元素均为二元域中的元素。这样编译码过程涉及 的是异或运算,可以避免使用有限域中高域元素间所涉及的乘法运算,从而降低编译码的 复杂度。
第三方面,提供一种网络编码装置,该装置可以是网络编码装置,也可以是位于网络 编码装置中的装置(例如,芯片,或者芯片系统,或者电路),或者是能够和网络编码装置匹配使用的装置。该装置具有实现上述第一方面和第一方面的任一种可能的设计中的方法的功能。功能可以通过硬件实现,也可以通过硬件执行相应的软件实现。硬件或软件包括一个或多个与上述功能相对应的模块。一种设计中,该装置可以包括处理模块和输入输出模块。示例性地:处理模块,用于对K个待编码数据包进行编码,生成编码包;其中,所 述编码包携带指示信息,所述指示信息用于指示生成所述编码包所使用的K个编码系数, 在所述编码的过程中所述K个编码系数与所述K个待编码数据包一一对应,所述K个编码 系数中的非零编码系数均为矩阵,所述矩阵的维度为L×L,K、L均为大于1的整数。输入 输出模块用于发送所述编码包。
第四方面,提供一种网络译码装置,该装置可以是网络译码装置,也可以是位于网络 译码装置中的装置(例如,芯片,或者芯片系统,或者电路),或者是能够和网络译码装置匹配使用的装置。该装置具有实现上述第二方面和第二方面的任一种可能的设计中的方法的功能。功能可以通过硬件实现,也可以通过硬件执行相应的软件实现。硬件或软件包括一个或多个与上述功能相对应的模块。一种设计中,该装置可以包括处理模块和输入输出模块。示例性地:输入输出模块用于获取待译码数据,所述待译码数据携带指示信息,所 述指示信息用于指示编码过程中所使用的K个编码系数,所述K个编码系数与所述K个原 始数据包一一对应,所述K个编码系数中的非零编码系数均为矩阵,所述矩阵的维度为L×L, K、L均为大于1的整数。处理模块,用于根据所述指示信息对所述待译码数据进行译码, 获得所述K个原始数据包。
第三方面和第四方面的可能的设计,可以参照第一方面和第二方面的可能的设计。
第三方面以及各个可能的设计的有益效果可以参考第一方面对应部分的描述,在此不 予赘述。
第四方面以及各个可能的设计的有益效果可以参考第二方面对应部分的描述,在此不 予赘述。
第五方面,本申请实施例提供一种网络编码装置,该装置包括存储器和处理器,存储 器用于存储程序、指令或代码,处理器用于执行存储器存储的程序、指令或代码,执行上述第一方面、第一方面各个可能的设计所描述的方法。所述装置还可以包括输入输出接口,用于与其他装置通信。所述存储器可以是物理上独立的单元,也可以与所述处理器耦合,或者所述处理器包括所述存储器。
第六方面,本申请实施例提供一种网络译码装置,该装置包括存储器和处理器,存储 器用于存储程序、指令或代码,处理器用于执行存储器存储的程序、指令或代码,执行上述第二方面或第二方面各个可能的设计所描述的方法。所述装置还可以包括输入输出接口, 用于与其他装置通信。所述存储器可以是物理上独立的单元,也可以与所述处理器耦合, 或者所述处理器包括所述存储器。
第七方面,本申请实施例提供一种网络编码装置,该装置具有实现上述第一方面和第 一方面的任一种可能的设计中所述的方法的功能。所述功能可以通过硬件实现,也可以通 过硬件执行相应的软件实现。所述硬件或软件包括一个或多个与上述功能相对应的模块。
在一个可能的设计中,该装置包括:输入输出接口电路,用于获取K个待编码数据包;逻 辑电路,用于执行上述第一方面和第一方面的任一种可能的设计中所述的行为;输入输出 接口电路,用于输出或发送所述编码包。
第八方面,本申请实施例提供一种网络译码装置,该装置具有实现上述第二方面和第 二方面的任一种可能的设计中所述的方法的功能。所述功能可以通过硬件实现,也可以通 过硬件执行相应的软件实现。所述硬件或软件包括一个或多个与上述功能相对应的模块。 在一个可能的设计中,该装置包括:输入输出接口电路,用于获取待译码数据;逻辑电路, 用于执行上述第一方面和第一方面的任一种可能的设计中所述的行为。
第九方面,本申请实施例提供一种计算机可读存储介质,所述计算机可读存储介质中 存储有计算机可读指令,当所述计算机可读指令在计算机上运行时,使得如上述各方面或 各方面各个可能的设计中所述的方法被执行。
第十方面,本申请实施例提供了一种芯片系统,该芯片系统包括处理器,还可以包括 存储器。存储器用于存储程序、指令或代码;处理器用于执行存储器存储的程序、指令或代码,以实现上述各方面或各方面各个可能的设计中所述的方法。该芯片系统可以由芯片构成,也可以包含芯片和其他分立器件。
第十一方面,提供了一种包含指令的计算机程序产品,当其在计算机上运行时,使得 如第各方面或各方面各个可能的设计中所述的方法被执行。
附图说明
图1a为本申请实施例中无线通信系统的架构示意图之一;
图1b为本申请实施例中无线通信系统的架构示意图之二;
图2为本申请实施例中通信场景示意图;
图3为本申请实施例中通信系统的简化示意图;
图4为本申请实施例中随机线性网络编码RLNC的示意图;
图5为本申请实施例中网络编码方法流程示意图之一;
图6为本申请实施例中网络编码方法流程示意图之二;
图7为本申请实施例中网络译码方法流程示意图;
图8为本申请实施例中几种编码方案的性能对比示意图之一;
图9为本申请实施例中几种编码方案的性能对比示意图之二;
图10为本申请实施例中网络编码装置结构示意图之一;
图11为本申请实施例中网络译码装置结构示意图之一;
图12为本申请实施例中网络编码装置结构示意图之二;
图13为本申请实施例中网络译码装置结构示意图之二。
具体实施方式
下面将结合本申请实施例中的附图,对本申请实施例中的技术方案进行描述。
为了便于清楚描述本申请实施例的技术方案,本申请实施例中,“至少一个”是指一个或 者多个,“多个”是指两个或两个以上。“和/或”,描述关联对象的关联关系,表示可以存在 三种关系,例如,A和/或B,可以表示:单独存在A,同时存在A和B,单独存在B的情况,其中A,B可以是单数或者复数。字符“/”一般表示前后关联对象是一种“或”的关系。在本申请的实施例中,采用了“第一”、“第二”等字样对功能和作用基本相同的相同项或相似项 进行区分。例如,第一信息和第二信息仅仅是为了区分不同的信息,并不对其先后顺序进 行限定。本领域技术人员可以理解“第一”、“第二”等字样并不对数量和执行次序进行限定, 并且“第一”、“第二”等字样也并不限定一定不同。
本申请实施例提供的网络编码方法、译码方法可以应用于第五代(5thgeneration,5G) 通信系统,例如5G新空口(new radio,NR)系统,也可以应用于未来演进的各种通信系 统,例如第六代(6th generation,6G)通信系统、或者空天海地一体化通信系统。可理解 的,本申请实施例描述的系统架构和应用场景是为了更加清楚的说明本申请实施例的技术 方案,并不构成对于本申请实施例提供的技术方案的限定。
本申请实施例提供的网络编码方法、译码方法可以应用的一种无线通信系统的架构如 图1a所示,无线通信系统100中包括发送端110和接收端120。其中,发送端110可以为网络设备,接收端120为终端设备;或者,发送端110为终端设备,接收端120为网络设 备。在无线通信系统中包括网络设备和终端设备时,该无线通信系统架构也可以如图1b所 示。图1b是本申请的实施例应用的通信系统1000的架构示意图。如图1b所示,该通信系 统包括无线接入网100,可选的,通信系统1000还可以包括核心网200和互联网300。其 中,无线接入网100可以包括至少一个网络设备,网络设备如图1b中的110a和110b。无 线接入网100还可以包括至少一个终端设备,终端设备如图1b中的120a-120j。终端设备通 过无线的方式与无线接入网设备相连,无线接入网设备通过无线或有线方式与核心网连接。 核心网设备与网络设备可以是独立的不同的物理设备,也可以是将核心网设备的功能与网 络设备的逻辑功能集成在同一个物理设备上,还可以是一个物理设备上集成了部分核心网 设备的功能和部分的网络设备的功能。终端设备和终端设备之间以及网络设备和网络设备 之间可以通过有线或无线的方式相互连接。图1b只是示意图,该通信系统中还可以包括其 它网络设备,如还可以包括无线中继设备和无线回传设备,在图1b中未画出。
网络设备可以是具有无线收发功能的设备。该网络设备可以是提供无线通信功能服务 的设备,通常位于网络侧,包括但不限于:5G通信系统中的下一代基站(gNodeB,gNB)、第六代(6th generation,6G)移动通信系统中的下一代基站、未来移动通信系统中的基站或无线局域网如无线保真(wireless fidelity,WiFi)系统中的接入节点等,长期演进(long term evolution,LTE)系统中的演进型节点B(evolved node B,eNB)、无线网络控制器(radio network controller,RNC)、节点B(node B,NB)、基站控制器(base stationcontroller, BSC)、家庭基站(例如,home evolved NodeB,或home Node B,HNB)、基带单元(base band unit,BBU),传输接收点(transmission reception point,TRP)、发射点(transmitting point, TP)、基站收发台(base transceiver station,BTS)等。在一种网络结构中,该网络设备可以 包括集中单元(centralized unit,CU)节点、或分布单元(distributed unit,DU)节点、或 包括CU节点和DU节点的无线接入网络(radio accessnetwork,RAN)设备、或者控制面 CU节点和用户面CU节点,以及DU节点的RAN设备。网络设备为小区提供服务,终端 设备通过该小区使用的传输资源(例如,频域资源,或者说,频谱资源)与网络设备进行 通信,该小区可以是网络设备对应的小区,小区可以属于宏基站,也可以属于小小区(small cell)对应的基站,这里的小小区可以包括:城市小区(metro cell)、微小区(micro cell)、 微微小区(pico cell)、毫微微小区(femto cell)等,这些小小区具有覆盖范围小、发射功率 低的特点,适用于提供高速率的数据传输服务。网络设备可以是宏基站(如图1中的110a), 也可以是微基站或室内站(如图1中的110b),还可以是中继节点或施主节点,V2X通信系 统中的为终端设备提供无线通信服务的设备、云无线接入网络(cloud radio access network, CRAN)场景下的无线控制器、中继站、车载设备、可穿戴设备以及未来演进网络中的网络 设备等。本申请的实施例对网络设备所采用的具体技术和具体设备形态不做限定。为了便 于描述,下文以实现上述功能的设备统一称为网络设备来进行描述。
终端设备还可以称为终端、用户设备(user equipment,UE)、移动台(mobilestation, MS)、移动终端(mobile terminal,MT)等,其可以是用户侧的一种用于接收或发射信号的 实体,如手机。终端设备可以是UE,其中,UE包括具有无线通信功能的手持式设备、车 载设备、可穿戴设备或计算设备。示例性地,UE可以是手机(mobile phone)、平板电脑或 带无线收发功能的电脑。终端设备还可以是虚拟现实(virtual reality,VR)终端设备、增强 现实(augmented reality,AR)终端设备、工业控制中的无线终端、无人驾驶中的无线终端、 远程医疗中的无线终端、智能电网中的无线终端、智慧城市(smart city)中的无线终端、 智慧家庭(smart home)中的无线终端等等。终端可以广泛应用于各种场景,例如,设备到 设备(device-to-device,D2D)、车物(vehicle to everything,V2X)通信、机器类通信 (machine-type communication,MTC)、物联网(internet of things,IOT)、虚拟现实、增强现 实、工业控制、自动驾驶、远程医疗、智能电网、智能家具、智能办公、智能穿戴、智能 交通、智慧城市等。终端可以是手机、平板电脑、带无线收发功能的电脑、可穿戴设备、车辆、无人机、直升机、飞机、轮船、机器人、机械臂、智能家居设备等。本申请实施例 中,用于实现终端的功能的装置可以是终端;也可以是能够支持终端实现该功能的装置, 例如芯片系统、或通信模块、或调制解调器等,该装置可以被安装在终端中。本申请实施 例中,芯片系统可以由芯片构成,也可以包括芯片和其他分立器件。本申请实施例提供的 技术方案中,以用于实现终端的功能的装置是终端设备为例,描述本申请实施例提供的技 术方案。本申请的实施例对终端设备所采用的具体技术和具体设备形态不做限定。
可选的,终端设备也可以用于充当基站。例如,终端设备可以充当调度实体,其在车 辆外联(vehicle-to-everything,V2X)、设备到设备(device-to-device,D2D)或点对点(peer to peer,P2P)等中的终端设备之间提供侧行链路信号。
网络设备和终端设备可以是固定位置的,也可以是可移动的。网络设备和终端设备可 以部署在陆地上,包括室内或室外、手持或车载;也可以部署在水面上;还可以部署在空 中的飞机、气球和人造卫星上。本申请的实施例对网络设备和终端设备的应用场景不做限 定。
网络设备和终端设备的角色可以是相对的,例如,图1b中的直升机或无人机120i可以 被配置成移动基站,对于那些通过120i接入到无线接入网100的终端设备120j来说,终端 设备120i是基站;但对于网络设备110a来说,120i是终端设备,即110a与120i之间是通 过无线空口协议进行通信的。当然,110a与120i之间也可以是通过基站与基站之间的接口 协议进行通信的,此时,相对于110a来说,120i也是基站。因此,网络设备和终端都可以统一称为通信装置,图1b中的110a、110b以及120a-120j可以称为具有它们各自相对应的功能的通信装置,例如具有网络设备功能的通信装置、或者具有终端设备功能的通信装置。
网络设备和终端设备之间、网络设备和网络设备之间、终端设备和终端设备之间可以 通过授权频谱进行通信,也可以通过免授权频谱进行通信,也可以同时通过授权频谱和免 授权频谱进行通信;可以通过6千兆赫(gigahertz,GHz)以下的频谱进行通信,也可以通 过6GHz以上的频谱进行通信,还可以同时使用6GHz以下的频谱和6GHz以上的频谱进行通信。本申请的实施例对无线通信所使用的频谱资源不做限定。
在本申请的实施例中,网络设备的功能也可以由网络设备中的模块(如芯片)来执行, 也可以由包含有网络设备功能的控制子系统来执行。这里的包含有网络设备功能的控制子 系统可以是智能电网、工业控制、智能交通、智慧城市等上述终端的应用场景中的控制中 心。终端设备的功能也可以由终端设备中的模块(如芯片或调制解调器)来执行,也可以 由包含有终端设备功能的装置来执行。
进一步的,本申请可以应用于多种具体通信场景。例如,网络设备和终端设备之间或 终端设备之间的点对点传输,如图2(a)为网络设备和终端设备之间的点对点传输。又例如,网络设备和终端设备的多跳传输,如图2(b)、图2(c)。又例如,多个网络设备和终 端设备的双连接(dual connectivity,DC)场景,如图2(d);或多个网络设备和终端设备 的多连接等场景。需要说明的是,如上具体通信应用场景只是举例,并不产生限制。特别 地,从业务的角度看,本申请实施例适用于诸多业务场景,例如扩展现实(extended reality, XR)业务中的数据编码场景、上行大容量场景等。此外,图2(a)~图2(d)不对适用于 本申请的网络架构产生限制,并且本申请不限制上行、下行、接入链路、回传(backhaul) 链路、侧链路(Sidelink)等传输。
参见图3,图3是本申请实施例提供的通信系统的简化示意图。为了简单起见,图3仅 示出了网络设备110、终端设备120以及网络130。网络设备110包括接口111和处理器112。 处理器112可选地可以存储程序114。网络设备110可选地可以包括存储器113。存储器113 可选地可以存储程序115。终端设备120包括接口121和处理器122。处理器122可选地可以存储程序124。终端设备120可选地可以包括存储器123。存储器123可选地可以存储程 序125。这些组件一起工作,以提供本申请中描述的各种功能。例如,处理器112和接口 121一起工作以提供网络设备110与终端设备120之间的无线连接。处理器122和接口121 共同作用,实现终端设备120的下行传输和/或上行传输。
网络130可以包括一个或多个网络节点130a、130b,以提供核心网功能。网络节点130a、 130b可以是5G核心网节点。例如,网络130a、130b可以是接入管理功能(AMF)、移动性管理实体(MME)等。网络130还可以包括公共交换电话网络(PSTN)、分组数据网络、 光网络、互联网协议(IP)网络中的一个或多个网络节点。广域网(WAN)、局域网(LAN)、 无线局域网(WLAN)、有线网络、无线网络、城域网和其他网络,以使终端设备120和/ 或网络设备110之间能够进行通信。
处理器(例如,处理器112和/或处理器122)可包括一个或多个处理器并实现为计算 设备的组合。处理器(例如,处理器112和/或处理器122)可分别包括以下一种或多种:微处理器、微控制器、数字信号处理器(DSP)、数字信号处理设备(DSPD)、专用集成电 路(ASIC)、现场可编程门阵列(FPGA)、可编程逻辑器件(PLD)、选通逻辑、晶体管逻 辑、分立硬件电路、处理电路或其它合适的硬件、固件和/或硬件和软件的组合,用于执行 本申请中所描述的各种功能。处理器(例如,处理器112和/或处理器122)可以是通用处 理器或专用处理器。例如,处理器112和/或处理器122可以是基带处理器或中央处理器。 基带处理器可用于处理通信协议和通信数据。中央处理器可用于使基站110和/或UE 120执 行软件程序,并处理软件程序中的数据。
接口(例如,接口111和/或121)可包括用于实现与一个或多个计算机设备(例如,UE、BS和/或网络节点)之间的通信。在一些实施例中,接口可以包括用于耦合有线连接 的电线、或用于耦合无线收发器的管脚、或用于无线连接的芯片和/或管脚。在一些实施例中,接口可以包括发射器、接收器、收发器和/或天线。接口可以被配置为使用任何可用的协议(例如3GPP标准)。
本申请中的程序在广义上用于表示软件。软件的非限制性示例是程序代码、程序、子 程序、指令、指令集、代码、代码段、软件模块、应用程序、软件应用程序等。程序可以 在处理器和/或计算机中运行,以使基站110和/或UE 120执行本申请中描述的各种功能和/或过程。
内存(例如存储器113和/或存储器123)可存储由处理器112、122在执行软件时操纵 的数据。存储器113、123可以使用任何存储技术实现。例如,存储器可以是处理器和/或计 算机能够访问的任何可用存储介质。存储介质的非限制性示例包括:RAM、ROM、EEPROM、CD-ROM、可移动介质、光盘存储器、磁盘存储介质、磁存储设备、闪存、寄存器、状态 存储器、远程挂载存储器、本地或远程存储器组件,或能够携带或存储软件、数据或信息 并可由处理器/计算机访问的任何其它介质。
内存(例如存储器113和/或存储器123)和处理器(例如处理器112和/或处理器122) 可以分开设置或集成在一起。存储器可以用于与处理器连接,使得处理器能够从存储器中 读取信息,在存储器中存储和/或写入信息。存储器113可以集成在处理器112中。存储器 123可以集成在处理器122中。处理器(例如处理器113和/或处理器123)和存储器(例如处理器112和/或处理器122)可以设置在集成电路中(例如,该集成电路可以设置在UE或 基站或其他网络节点中)。
上述内容简要阐述了本申请实施例的系统架构和可能的应用场景,为更好地理解本申 请实施例的技术方案,下面将简要介绍网络编码。
网络编码技术是一种前向纠错技术,其通过对原数据包进行编码并预先增加冗余来对 抗无线传输中的丢包或性能损失等问题。常用的网络编码方案包括分组码和卷积码两大类, 其中,分组码的方案包括随机线性网络编码(random linear network coding,RLNC)、确定 线性网络编码(deterministic linear network coding,DLNC)、分批稀疏码(batch sparse code, BATS code)、纠删码(erasure code)、喷泉码(fountain code)、最大距离可分码(maximum distance separable code,MDS code)、卢比变换(LubyTransform,LT)码、快速旋风(Rapid tornado)码、RaptorQ码、无速率(rateless)码和里德-所罗门(Reed-solomon,RS)码等 中的一项或多项,卷积码的方案包括卷积网络编码(convolutional network coding,CNC)、 流编码(streaming code)或滑动窗口网络编码(sliding window network coding)等中的一项 或多项。下面以RLNC为例进行简要说明。
RLNC方案以数据块(一个数据块中包括若干个大小相同的原数据)为单元,通过构建 编码系数矩阵对原数据进行编码得到一组编码数据包。编码数据包的大小与数据块中原数 据包的大小相同。通常,编码系数矩阵中的系数在有限域中随机选取,其中,有限域如伽 罗华域(Galois Field,GF)。参见图4,图4是随机线性网络编码RLNC的示意图。如图4 所示,图4中的A(W+R)×W为编码系数矩阵,编码系数矩阵大小为(W+R)×W,即(W+R)行W 列。通过对一个包含W个原数据的数据块(图4中的XW×1)进行网络编码,得到W+R个 编码数据(图4中的Y(W+R)×1),对应的码率表示为W/(W+R),对应的冗余率表示为R/(W+R)。 其中,编码系数矩阵中的编码系数可以在伽罗华域GF(q)内的元素中随机选择,q表示伽罗 华域的大小,q为2的正整数次幂,伽罗华域GF(q)内的元素的取值为区间[0,q-1]中的非负 整数。W和R均是正整数。应理解,RLNC方案中,编码数据块之间没有关联,这里的编 码数据块是指对一个包含W个原数据的数据块进行网络编码得到W+R个编码数据,即编 码操作对每个独立的数据块进行,每个数据块的冗余(码率)可以相同,也可以不相同。 编码端/发送端对生成的W+R个编码数据加包头信息后发送,译码端/接收端接收到至少W 个正确且编码系数向量线性无关的编码数据包时,或者,接收到至少W个正确的编码数据 包且接收到的编码数据包对应的编码系数矩阵的秩为W时,即可正确译码并恢复出W个原 数据。这是因为编码数据包融合了若干个原数据的信息,所以接收端可以用编码数据包来 恢复原数据。在本申请实施例中,术语“编码数据包”还可以简称为“编码包”,两者可替换使 用。
由于干扰、噪声等因素,当译码端/接收端接收到的正确且线性无关的编码数据包个数 小于W时,译码端/接收端无法进行译码,此时需要反馈给编码端/发送端需要正确译码还 需要的编码数据包个数,编码端/发送端根据反馈信息发送对应个数的编码数据包,该编码 数据包与下一个数据块的编码无关。
本申请中的网络编码功能包括对原始数据包(简称为原数据包)进行网络编码和添加 编码包的包头。一种可能的实现中,网络编码可以通过编码器来实现,编码器的输入为K 个原数据包,编码器的输出为N个编码数据包(简称为编码包),其中,N和K均为正整数。编码包包括N个校验包(即编码包均为校验包,不包括系统包)。所述编码器的输出还可以包括系统包,或者,对原数据包直接加包头获得所述系统包。其中,系统包的内容和原数 据包的内容相同。由于系统包也可以不经过编码,比如,可以通过直接给原数据包加包头 得到系统头,因而,可以认为系统包的等效编码系数为单位向量。校验包也称冗余包。校 验包的编码系数为非单位向量。通过校验包的内容和生成该校验包的原数据包的内容之间 的关联,接收端可以通过校验包和成功接收的原数据包或系统包一起译码,恢复未成功接 收的原始数据包。另一种可能的实现中,原数据包可以先加包头后再进行网络编码和添加 编码包的包头,获得校验包。在本申请中,将网络编码前原数据包加包头得到的数据包也 称为系统包。基于网络编码的特点,原数据包的包大小可以相等。
基于上述RLNC的原理,如图5所示,下面通过举例对一种可选的网络编码方法和网络译码方法进行说明。
本申请实施例中,编码方法的执行主体可以是发送端或者编码端,译码方法的执行主 体可以是接收端或译码端。可选的,该方案运用在网络设备和终端设备之间的通信时,如 果发送端或编码端为终端设备,接收端或译码端可以为网络设备。如果发送端或编码端为 网络设备,接收端或译码端可以为终端设备。该方案运用在第一网络设备和第二网络设备 之间的通信时,如果发送端或编码端为第一网络设备,接收端或译码端可以为第二网络设 备,反之亦然。该方案运用在第一终端设备和第二终端设备之间的通信时,如果发送端或 编码端为第一终端设备,接收端或译码端可以为第二终端设备,反之亦然。
发送端将需要发送的数据包分成多组网络编码块,每组网络编码块包含K个原始数据 包,分别用X1,X2,…,XK表示,对这K个原始数据包可以采用公式
Figure BDA0003134515830000121
进行 线性组合生成N个编码包,N>=K,N、K为正整数。N个编码包用Y1,Y2,…,YN表示,其中Yn表示 第n个编码包,Xk表示第k个原始数据单元,gn,k表示第n个编码包中第k个原始数据单元的随机系数,而且gn,k是从有限域或伽罗华域(Galois Field,GF)中随机选取出来的,GF 域是一个包含有限个元素的域,用GF(q)可以表示一个集合为{0,1…q-1}这q个元素的GF 域。每个编码包Yn的头部都携带生成该编码包所使用的编码系数向量[gn,1,gn,2,…,gn,K],该编码系数向量的维度与每个编码块中原始数据单元的个数K相同。
发送端针对每组编码块发送N(N>=K)个编码包给接收端,其中,GF域的编码过程(或GF域的编码系数)与原始数据包的线性组合运算,涉及到GF(q)中的加法和乘法运算。以Xk,1≤k≤K是8bit的数据单元,GF域大小为4,即GF(4),q=4,gn,k∈GF(4)为例,
Figure BDA0003134515830000122
在GF(4)上运算的含义是,将大小为L′的Xk依次划分成多组比特,每组包含log2 q个比特,每次运算规则是选取[X1,X2,…,XK]相同位置上的log2 q个比特,依次与[gn,1,gn,2,…,gn,K]在GF(4)域上相乘再相加得到一个运算结果,该运算结果包含log2 q比特, 如第一次取[X1,X2,…,XK]中前2个比特,依次与[gn,1,gn,2,…,gn,K]相乘相加得到一个2比 特的运算结果,放置在编码数据单元Yn的第1、2个比特位置上,第二次取[X1,X2,…,XK]中 第3、4个比特,依次与[gn,1,gn,2,…,gn,K]相乘相加得到一个2比特的运算结果,放置在编码数据单元Yn的第3、4个比特位置上,以此类推完成8bit的编码运算获得一个8bit的编码数据单元Yn,上述涉及乘法和加法运算是在GF上的多项式运算。多项式是伽罗华域内的元素的一种表示方法,伽罗华域内的任意一个元素都可以用多项式表示,基于与该伽罗华域对应的本原多项式,可用于GF域内元素间的加减乘除的运算。
GF域的多项式运算规则举例如下:
GF域的乘法:GF域的元素可以通过该域上的本原多项式P(x)生成,GF域上的多项式 乘法可通过将数值化为多项式的形式,将GF域上的乘法运算化为普通的多项式乘法再模本 原多项式P(x)。当q=4时,GF(4)的本原多项式为P(x)=x^2+x+1,一个2比特的数据(如‘10’, 化为多项式的形式为x),与一个2比特的数据(如‘11’,化为多项式的形式为x+1)相乘, 多项式乘法是将其中一个多项式的各项分别与另一个多项式的各项相乘,然后把相同指数 的项的系数相加,x*(x+1)=x^2+x,GF(4)上的乘法需要再mod P(x)=x^2+x+1,结果为(x^2+x) mod(x^2+x+1)=1,结果即‘01’。其中,x^2表示的是x的2次幂。
GF域的加法:将数值化为多项式的形式,合并阶数相同的同类项时,多项式加法进行 的是异或操作,即0+0=0,1+1=0,0+1=1+0=1,一个2比特的数据(如‘10’,化为多项式的形 式为x),与一个2比特的数据(如‘11’,化为多项式的形式为x+1)相加,结果是0*x+1,即‘01’。
如果接收端收到的编码包的个数不少于K个,且编码包头部携带的编码系数向量组成 的矩阵的秩为K,即原始数据单元的个数,也就是说,接收端收到了K个线性独立的编码 包,接收端根据编码系数可以构建出一个线性方程组,线性方程组中Xk,k∈{1,2,…K}就是 K个待求解的未知数,利用线性方程理论就可以解码出K个原始数据单元。
假如对于全部N个编码包Y1,Y2,…,YN,接收端全部接收正确,其中每个接收到的编码 包Yn的头部都包含一个指示信息指示一个K长的编码系数向量[gn,1,gn,2,…,gn,K],接收端 将收到的N个编码系数向量组合在一起形成一个关于未知数X1,X2,…,XK的K元一次线性方 程组,方程组的系数矩阵为:
Figure BDA0003134515830000131
系数矩阵的秩为K,接收端根据接收正确的编码包利用对应的系数矩阵就可以解码出K 个原始数据包。
针对一个编码块,接收正确的编码包的个数不小于原始数据包的个数K,且接收正确 的编码包头部携带的编码系数向量组成的矩阵的秩为原始数据包的个数的情况下,接收端 依然可以解码出K个原始数据包。所以,对于网络编码技术来说,发送端不需要等到接收 端的反馈请求再重传,网络编码可以提前发送若干个编码包来对抗无线信道的影响,一方 面可以节省时延,另一方面不需要消耗成倍数的资源对每个传输块(transport block,TB) 都进行盲重传,避免频谱资源的浪费。
但是,图5实施例所示的网络编码方法之一中,如果考虑编译码器的实现复杂度,编 码系数会随机选择GF(2)中的元素,这样编译码运算只涉及二元域的异或运算,能够降低编 译码器的实现复杂度。如果编码系数采用二元域中的元素,会出现线性无关特性无法保证 的问题,导致纠错能力较差。如果想要获得比较好的编解码性能,一般会采用较高的有限 域,例如GF(28),即每个原始包的编码系数均采用GF(28)中的值,编译码时涉及GF(28)元 素间的乘法运算。编码系数采用高域中的元素,虽然纠错能力较好,但是,高域编译码时会涉及高域元素间的乘法运算,高域元素间的乘法运算通常需要预先建立离散的乘法表,通过查找庞大的表格方式才能获得运算结果,复杂度较高。
基于此,本申请实施例提供一种网络编码方法、译码方法,能够兼顾性能和复杂度, 利用低复杂度的低域运算且保证编码系数之间的线性无关特性,从而实现高域的性能。
如图6所示,本申请实施例提供一种网络编码方法如下所述。该方法的执行主体为发 送端或者编码端,发送端或编码端可以是终端设备,也可以是网络设备。如果发送端或编 码端为终端设备,接收端或译码端可以为网络设备。如果发送端或编码端为网络设备,接 收端或译码端可以为终端设备。
S601.对K个待编码数据包进行编码,生成编码包。
其中,编码包携带指示信息,指示信息用于指示生成编码包所使用的K个编码系数, 在编码的过程中K个编码系数与K个待编码数据包一一对应,K个编码系数中的非零编码 系数均为矩阵,矩阵的维度为L×L,K、L均为大于1的整数。
S602.发送编码包。
可以理解的是,本申请实施例中,发送端可以生成N个编码包,每个编码包的生成方 式可以参照图6实施例中的描述。发送端生成的N个编码包之间没有关联,例如,N个编码包中的任意两个编码包用第一编码包和第二编码包来表示,生成第一编码包所使用的K个编码系数,与生成第二编码包所使用的K个编码系数无关。
本申请实施例中,术语“待编码数据包”还可以称为“原始数据包”、“原数据包”、“原数 据段”,不同术语可替换使用。编码包也可以称为编码数据包。
图6实施例中,通过编码包携带包含K个待编码数据包的K个编码系数的指示信息,且编码包是基于K个编码系数和K个待编码数据包生成的,译码装置能够根据指示信息获得编码包的编码系数,从而进行译码以获得K个原始数据包,此处K个原始数据包与发送 端的K个待编码数据包一一对应。K个编码系数是K个矩阵,由于编码系数是矩阵而不是 有限域中的一个数值,能够保证编码系数的线性无关特性,使用线性无关的编码系数进行 编码能够获得较好的纠错能力,从而提升系统可靠性以及系统频谱效率。另一方面还可以 避免使用有限域尤其高域的乘法运算,从而降低编译码的复杂度。
以下对图6实施例的一些可选实现方式进行说明。
K个编码系数中的非零编码系数均为矩阵,矩阵中的元素均为二元域中的元素,或者 说K个编码系数中的每个编码系数均为二元域矩阵。
本申请实施例中,对K个待编码数据包进行编码过程中使用的K个编码系数,均取自 于编码系数集合。编码系数集合也可以称为编码系数域或者其他名称。编码系数集合包括 有限数目的矩阵。编码系数集合中的矩阵的维度为L×L。L为正整数,L可以为大于1的整数,例如,L的取值为8。
以下举例几种编码系数集合的可能形式。
第一种编码系数集合:为基于循环移位矩阵的编码系数集合。编码系数集合中的矩阵 为循环移位矩阵或循环移位矩阵的变换矩阵。编码系数集合中包括多个矩阵,一个矩阵可 以作为一个编码系数。编码系数集合中的不同矩阵对应不同的循环移位矩阵。编码系数集 合中每个矩阵的循环移位矩阵的变换形式相同。本申请实施例中,循环移位矩阵也可以被 称为循环置换矩阵。
例如,编码系数集合中的矩阵可以表示为
Figure BDA0003134515830000141
其中,M满足0≤M%(L+1)≤L,%为 取余操作,M为整数。
Figure BDA0003134515830000151
表示对(L+1)×(L+1)的单位矩阵循环移M位得到的矩阵。例 如,M的取值为0、1、2、……、L,则编码系数集合可以表示为
Figure BDA0003134515830000152
又例如,M的取值为1、2、3、……、L+1,则编 码系数集合可以表示为
Figure BDA0003134515830000153
其中,
Figure BDA0003134515830000154
表示(L+1)×(L+1)的循环移位矩阵,G为L×(L+ 1)的矩阵,
Figure BDA0003134515830000155
H为(L+1)×L的矩阵,
Figure BDA0003134515830000156
Figure BDA0003134515830000157
Figure BDA0003134515830000158
表示CL+1的M次幂。
Figure BDA0003134515830000159
表示不进行循环移位,即单位阵
Figure BDA00031345158300001510
Figure BDA00031345158300001511
Figure BDA00031345158300001512
表示循环移位1位,即
Figure BDA00031345158300001513
待编码 数据包与编码系数
Figure BDA00031345158300001514
相乘,其中,G为奇偶检验矩阵,用于在待编码数据包后添加一 位冗余位,该冗余位为待编码数据包中的信息位异或的结果,
Figure BDA00031345158300001515
用于循环移位M%(L+1)位,H用于将最后一位删掉。
编码系数集合中的不同矩阵对应不同的循环移位矩阵,例如,
Figure BDA00031345158300001516
对应的循环移位 矩阵为
Figure BDA00031345158300001517
Figure BDA00031345158300001518
对应的循环移位矩阵为
Figure BDA00031345158300001519
编码系数集合中每个矩阵的循环移位矩阵的变换形式相同,例如,上述编码系数集合 中每个矩阵的循环移位矩阵的变换形式均为,循环移位矩阵右乘G,左乘H。
上述举例的编码系数集合,
Figure BDA00031345158300001520
Figure BDA00031345158300001521
因此编码系数集 合矩阵的数目为L+1个。实际应用中的编码系数集合可以为上述举例的编码系数集合的子 集,例如图6实施例中K个编码系数取自第一编码系数集合,第一编码系数集合中的矩阵 的数据小于或等于L+1个,第一编码系数集合可以是上述举例的编码系数集合中的子集。 比如,第一编码系数集合可以是
Figure BDA00031345158300001522
的子集,或者第一编 码系数集合可以是
Figure BDA00031345158300001523
的子集。
第二种编码系数集合:为基于伽罗华域GF(2L)的本原多项式的友矩阵的编码系数集合。 编码系数集合中的矩阵为本原多项式的友矩阵的N次幂或本原多项式的友矩阵的N次幂的 变换矩阵。
先介绍一下友矩阵的概念。友矩阵也称伴侣矩阵,是数域F上首项系数为1的多项式 所对应的特定形式n阶矩阵,其主对角线上方或者下方的元素均为1,而主对角线元素为零; 最后一行或第一行的元素可取任意值;而其余元素均为零,友矩阵的特征根多项式是首一 多项式,例如f(x)=xn+an-1xn-1+a1x+a0是首项为1的多项式,则n阶矩阵
Figure BDA0003134515830000161
称为多项式f(x)的友矩阵。
第二种编码系数集合中的矩阵为AN;N满足0≤N%2L≤2L-1。例如N的取值可以为0、1、2、3、……、2L-1。编码系数集合中的不同矩阵对应的N%2L的取值不同。或者说, 编码系数集合中的不同矩阵对应的N的取值不同。
其中,
Figure BDA0003134515830000162
或A为
Figure BDA0003134515830000163
的行列变换矩阵;
A中的向量[a0 a1 … aL-1]对应的本原多项式f(x)=a0+a1x+…aL-1xL-1+xL为伽罗华域GF(2L)的本原多项式中的任意一个。或者说A是多项式 f(x)=a0+a1x+…aL-1xL-1+xL的友矩阵。
当N的取值为0、1、2、3、……、2L-1时,第二种编码系数集合可以表示为
Figure BDA0003134515830000164
第二种编码系数集合为伽罗华域GF(2L)的本原多项式的友矩阵A不断自乘的结果。
GF(2L)的本原多项式的取值本申请实施例不作限定,例如,GF(28)的本原多项式包含 如下16个:f(x)=1+x2+x3+x4+x8;f(x)=1+x1+x3+x5+x8;f(x)=1+x2+ x3+x5+x8;f(x)=1+x2+x3+x6+x8;f(x)=1+x1+x2+x3+x4+x6+x8; f(x)=1+x1+x5+x6+x8;f(x)=1+x2+x5+x6+x8;f(x)=1+x3+x5+x6+x8; f(x)=1+x4+x5+x6+x8;f(x)=1+x1+x2+x7+x8;f(x)=1+x2+x3+x7+x8; f(x)=1+x3+x5+x7+x8;f(x)=1+x1+x6+x7+x8;f(x)=1+x1+x2+x3+ x6+x7+x8;f(x)=1+x1+x2+x5+x6+x7+x8;f(x)=1+x2+x4+x5+x6+ x7+x8
以上述16个本原多项式中的第一个f(x)=1+x2+x3+x4+x8为例,与多项式 f(x)=a0+a1x+…aL-1xL-1+xL对比可以得到向量[a0 a1 … aL-1]=[1 0 1 1 1 0 0 0 1]。
再以GF(256)的本原多项式为例,GF(256)的本原多项式对应的[a0 a1 … a7]分别是[1 0 1 1 1 0 0 0]、[1 1 0 1 0 1 0 0]、[1 0 1 1 0 1 0 0]、[1 0 1 1 0 0 1 0]、[11 1 1 1 0 1 0]、[1 1 0 0 0 1 1 0]、[1 0 1 0 0 1 1 0]、[1 0 0 1 0 1 1 0]、[1 0 0 01 1 1 0]、[1 1 1 0 0 0 0 1]、[1 0 1 1 0 0 0 1]、[1 0 0 1 0 1 0 1]、[1 1 0 0 0 0 11]、[1 1 1 1 0 0 1 1]、[1 1 1 0 0 1 1 1]、[1 0 1 0 1 1 1 1]。
上述第二种编码系数集合的举例中,
Figure BDA0003134515830000165
因此第二种编码系数集合的举例中矩阵的 数目有2L个。实际应用中的编码系数集合可以为上述举例的编码系数集合的子集,例如图6 实施例中K个编码系数取自第二编码系数集合,第二编码系数集合中的矩阵的数目小于或 等于2L个。第而编码系数集合可以是上述举例的编码系数集合中的子集。比如,第二编码 系数集合可以是
Figure BDA0003134515830000166
的子集。
以下对采用矩阵形式的编码系数进行编码的过程进行说明。
上文中图5实施例中所述的网络编码方法之一中,编码系数均采用GF(2L)中的值,与 此相比,图6实施例中的网络编码方法中的非零编码系数均为矩阵。
K个待编码数据包可以位于一组网络编码块中,例如,发送端将需要发送的数据包分 成多组网络编码块,每组网络编码块包含K个原始数据包。对K个待编码数据包进行一次编码,能够生成一个编码包。对K个待编码数据包进行多次编码,能够生成多个编码包。
在生成一个编码包的编码过程中,K个编码系数与K个待编码数据包一一对应。K个编码系数可以是编码系数集合中的K个矩阵,K个矩阵不要求两两各不相同。一个编码包 的K个编码系数可以组成一个网络编码系数矩阵,其中,一个编码系数为一个L×L的矩阵, 由K个编码系数组成的网络编码系数矩阵即KL×L维矩阵,可以记为[Q1 Q2 … QK]T。 或者网络编码系数矩阵是L×KL维的矩阵,可以记为[Q1 Q2 … QK]。待编码数据包中的 比特/符号组成的行向量左乘网络编码系数矩阵[Q1 Q2 … QK]T。或者,网络编码系数矩 阵[Q1 Q2 …QK]左乘待编码数据包中的比特/符号组成的列向量。其中,1个符号可以 为一个待编码的数据的单位,可以包括1个或多个比特。
以一个待编码数据包中包括L个比特/符号为例,网络编码的过程可以表达为:
Figure BDA0003134515830000171
Figure BDA0003134515830000172
其中,y1,…,yL是所生成的编码包的比特/符号序列,xk,1,…,xk,L是第k个待编码数据包 的L个比特/符号序列,1≤k≤K。
如果每个待编码数据包中包含的比特/符号个数大于L,那么可以将每个待编码数据包 划分成B个原始数据段,每个原始数据段包含L个比特/符号,将K个待编码数据包中第b 个原始数据段采用上述网络编码过程生成编码包的第b个编码数据段,依次对第1个原始数据段、第2个原始数据段直至第B个原始数据段采用相同的编码系数矩阵生成编码包的第1个编码数据段、第2个编码数据段直至第B个编码数据段。例如,第k个待编码数据 包的比特/符号序列被划分成B个原始数据段,其中第b个原始数据段用xk,b,1,…,xk,b,L表示, 网络编码过程如下:
对K个待编码数据包中包含的第1个原始数据段编码生成编码包的第1个编码数据段, 第1个编码数据段包含L个比特/符号,用y1,1,…,y1,L表示:
Figure BDA0003134515830000173
Figure BDA0003134515830000181
对K个待编码数据包中包含的第2个原始数据段编码生成编码包的第2个编码数据段, 第2个编码数据段包含L个比特/符号,用y2,1,…,y2,L表示:
Figure BDA0003134515830000182
Figure BDA0003134515830000183
依次类推,对K个待编码数据包中包含的第B个原始数据段编码生成编码包的第B个 编码数据段,第B个编码数据段包含L个比特/符号,用yB,1,…,yB,L表示:
Figure BDA0003134515830000184
Figure BDA0003134515830000185
上述编码过程中对第i个原始数据段编码使用的编码系数和对第j个原始数据段编码使 用的编码系数是相同的,其中i≠j,1≤i≤B,1≤j≤B。上述生成的第1个编码数据段、第 2个编码数据段、…、第B个编码数据段y1,1,…,y1,L,y2,1,…,y2,L,…,yB,1,…,yB,L依次顺序排 列组合成一个编码包。如果需要生成多个编码包,则采用不同于 [(Q1)L×L (Q2)L×L… (Qk)L×L]的一组编码系数按照上述编码过程生成不同的编码包即 可。
以下介绍一下编码系数的可能的指示方式。
发送端在每个编码包中携带指示信息,该指示信息用于指示生成该编码包的编码系数。 这样,接收端能够根据指示信息确定该编码包的编码系数,从而正确解码。不同编码包的 编码系数可以不同,不同的编码包的指示信息可以不同。
指示方式一:
在编码系数集合确定的情况下,可以将编码系数集合中的编码系数(即矩阵)与索引 号一一对应,通过指示编码系数的索引,来指示编码系数。
编码系数集合中的矩阵与索引之间的对应关系可以通过表格的形式来体现,或者通过 函数的形式来体现,具体体现形式在本申请中不予限定。例如,通过表格的形式来体现, 如表1所示,示出了不同矩阵与不同索引之间的对应关系。
表1
索引(index) 矩阵(matrix)/编码系数(coding coefficients)
索引1 矩阵1/编码系数1
索引2 矩阵2/编码系数2
…… ……
基于上述第一种编码系数集合,假设第一种编码系数集合表示为
Figure BDA0003134515830000191
那么第一种编码系数集合中的编码系数(或者矩阵) 与索引的对应关系如表2所示。
表2
Figure BDA0003134515830000192
基于上述第二种编码系数集合,假设第二种编码系数集合表示为
Figure BDA0003134515830000193
那 么第二种编码系数集合中的编码系数(或者矩阵)与索引的对应关系如表3所示。
表3
Figure BDA0003134515830000194
Figure BDA0003134515830000201
编码包中携带用于指示K个编码系数的指示信息,指示信息可以是随机种子(seed) 或编码包的标识。编码包的标识可以是编码包的序列号(serial number,SN),也可以是编 码包在编码块中的ID。随机种子/编码包的标识用于确定K个编码系数在编码系数集合中的 索引。
随机种子/编码包的标识对应K个随机数,K个随机数用于确定K个编码系数在编码系 数集合中的索引。
随机种子/编码包的标识与K个编码系数在编码系数集合中的索引具有对应关系,该对 应关系满足:K个编码系数在编码系数集合中的索引是随机种子/编码包的标识的函数。该 函数可以是:基于随机种子/编码包的标识的随机函数生成K个值,基于该K个值进行取余 操作。即,基于随机种子/编码包的标识的随机函数生成K个值,该K个值分别取余一个数, 取余的该数值可以是编码系数集合中包含的矩阵数目。该K个值分别取余该数值得到K个 编码系数在编码系数集合中的索引。
指示信息为随机种子/编码包的标识,发送端可以将随机种子/编码包的标识作为伪随机 数发生器的输入,伪随机数发生器会输出一组随机数列,从这组随机数列中取出K个随机 数,用{R1,R2,…,RK}表示K个随机数,可选的可以选择随机数列中的前K个随机数。基于 K个随机数确定K个编码系数在编码系数集合中的索引。
基于第一种编码系数集合和表2的对应关系,基于K个随机数确定K个编码系数在编 码系数集合中的索引,可以通过以下方式实现:K个随机数{R1,R2,…,RK}分别除以(L+1)取余即{R1%(L+1),R2%(L+1),…,RK%(L+1)},可以得到K个索引{I1,I2,…,IK}。 这K个索引可以对应表2中的K个索引值,从而可以进一步确定K个索引对应的K个编码 系数。
基于第二种编码系数集合和表3的对应关系,基于K个随机数确定K个编码系数在编 码系数集合中的索引,可以通过以下方式实现:K个随机数{R1,R2,…,RK}分别除以2L取余 即{R1%2L,R2%2L,…,RK%2L}得到K个索引{I1,I2,…,IK}。这K个索引可以对应表3中的K个索引值,从而可以进一步确定K个索引对应的K个编码系数。
编码包中携带随机种子/编码包的标识,可以指示K个编码系数。随机种子/编码包的标 识可以包含在编码包包头中,作为编码包包头中新增的一个域。接收端可以利用随机种子/ 编码包的标识,采用相同的过程确定K个编码系数。例如,接收端根据该随机种子/编码包 的标识获得一组和发送端相同的随机数列,选择出同样的K个随机数,并使用相同的方式 确定出K个索引以及K个索引对应的K个编码系数。接收端根据K个编码系数进行译码。
编码包中携带编码包的标识来指示K个编码系数,能够节省包头的开销。
指示方式二:
指示信息用于指示生成编码包所使用的K个编码系数。指示信息可以为编码系数码本 中一个码字的索引,该码字包括编码系数集合中的X个矩阵,编码系数集合包括有限数目 的矩阵,X≥K,K个编码系数为X个矩阵中的K个矩阵。
编码系数集合的概念可以参考上文中的描述,例如第一种编码系数集合和第二种编码 系数集合的描述。
可以从编码系数集合中选择出多组矩阵,每组矩阵的数量为X个,X的取值为正整数, 且X的取值大于或等于编码系数的个数K,X的取值小于或等于编码系数集合中包含矩阵 的最大数目。多组矩阵形成一个编码系数码本,其中一组矩阵即是一个编码系数码本中的 一个码字。
一个码字对应的一组矩阵的数量可以是K个,这样K个矩阵即为K个编码系数。一个码字对应的一组矩阵的数目也可以大于K个,即X>K的情况,那么K个编码系数为X个 矩阵中的K个矩阵,可以是X个矩阵中的任意K个矩阵,也可以是X个矩阵中的指定K 个矩阵,例如可以是X个矩阵中的前K个矩阵。
编码系数码本也可以称为其它的名称,例如矩阵组集合、多组矩阵等。码字也可以称 为一组矩阵或矩阵组。不同名称的功能和释义是相同的,本文中以编码系数码本和码字的 概念为例进行介绍。
在编码系数码本中,码字与索引具有对应关系。需要注意的是,在指示方式二中的索 引与指示方式一中的索引不同,指示方式一中的索引是编码系数集合中矩阵的索引,指示 方式二中的索引是编码系数码本中码字的索引。
以下对编码系数码本和码字的表现形式进行举例说明。
(1)第一种表现形式:
编码系数码本中的一个码字包括X个矩阵。X个矩阵的索引可以为1、2、……、X, 码字可以表示为
Figure BDA0003134515830000211
Figure BDA0003134515830000212
其中,0≤pl%(L+1)≤L,编码系数码 本中的不同码字对应的pl%(L+1)的取值不同,码字的索引与pl%(L+1)具有对应关系。 pl%(L+1)表示pl除以(L+1)的余数,
Figure BDA0003134515830000213
分别为a1,a2,…,aX的pl次幂,a1,a2,…,aX表示X个矩阵。
基于0≤pl%(L+1)≤L,在一个可能的设计中,pl的取值范围为[0,L],即0≤pl≤L。编码系数码本中的不同码字对应的pl的取值不同,码字的索引与pl具有对应关系。这种情况下,编码系数码本的矩阵表现形式可以是
Figure BDA0003134515830000214
其中,编码系数码本中的一列
Figure BDA0003134515830000215
为一个码字,0≤pl≤L,编码系数码本中共(L+1)个码字,一个码字中 有X个矩阵。编码系数码本的矩阵表现形式还可以是
Figure BDA0003134515830000216
其中,编码系 数码本中的一行
Figure BDA0003134515830000217
为一个码字,0≤pl≤L,编码系数码本中共(L+1)个码字, 一个码字中有X个矩阵。
X个矩阵的索引也可以为0、1、……、X-1,码字可以表示为
Figure BDA0003134515830000218
Figure BDA0003134515830000221
其中,0≤pl%(L+1)≤L,编码系数码本中的不同码字对应的pl%(L+1) 的取值不同,码字的索引与pl%(L+1)具有对应关系。pl%(L+1)表示pl除以(L+1)的余数。
Figure BDA0003134515830000222
分别为a0,a1,…,aX-1的pl次幂。a0,a1,…,aX-1表示X个矩阵。
类似的,pl的取值范围为[0,L],即0≤pl≤L。在这种情况下,编码系数码本的矩阵表 现形式可以是
Figure BDA0003134515830000223
其中,编码系数码本中的一列
Figure BDA0003134515830000224
为 一个码字,0≤pl≤L,编码系数码本中共(L+1)个码字,一个码字中有X个矩阵。编码 系数码本的矩阵表现形式还可以是
Figure BDA0003134515830000225
其中,编码系数码本中的一行
Figure BDA0003134515830000226
为一个码字,0≤pl≤L,编码系数码本中共(L+1)个码字,一个码字中 有X个矩阵。
在第一种表现形式中,上述X的取值可以小于或等于L+1,X为正整数。
当码字表示为
Figure BDA0003134515830000227
Figure BDA0003134515830000228
时,a1,a2,…,aX可以表示编码系数集合 中两两不同的X个矩阵。例如,在第一种表现形式中,一个码字包括的X个矩阵可以为上 文中第一种编码系数集合中的X个矩阵。a1,a2,…,aX可以表示上文中第一种编码系数集合 中两两不同的X个矩阵。例如a1,a2,…,aX可以表示
Figure BDA0003134515830000229
中两两不 同的X个矩阵。
当码字表示为
Figure BDA00031345158300002210
Figure BDA00031345158300002211
时,a0,a1,…,aX-1可以表示编码系数 集合中两两不同的X个矩阵。例如,在第一种表现形式中,一个码字包括的X个矩阵为上 文中第一种编码系数集合中的X个矩阵。a0,a1,…,aX-1可以表示上文中第一种编码系数集 合中两两不同的X个矩阵。例如a0,a1,…,aX-1可以表示
Figure BDA00031345158300002212
中两两不同的X个矩阵。
(2)第二种表现形式:
编码系数码本中的一个码字包括X个矩阵。码字可以表示为
Figure BDA00031345158300002213
Figure BDA00031345158300002214
编码系数码本中的不同码字对应不同的al,码字的索引与l具有对应关系, 或者说码字的索引与al具有对应关系,al表示编码系数集合中的矩阵,l为al在编码系数集 合中的索引。在第二种表现形式中,al可以是上文中第一种编码系数集合中的矩阵。例如, al可以是
Figure BDA00031345158300002215
中的矩阵,当al
Figure BDA00031345158300002216
时,l为
Figure BDA00031345158300002217
在编码系数 集合
Figure BDA0003134515830000231
中的索引。又例如,al也可以是
Figure BDA0003134515830000232
中的矩阵。
l取值可以为[1,L+1]或者[0,L]。当l取值为[1,L+1]时,编码系数码本的矩阵表现形 式可以是
Figure BDA0003134515830000233
其中,编码系数码本中的一行
Figure BDA0003134515830000234
为一个 码字,1≤l≤L+1,编码系数码本中共(L+1)个码字,一个码字中有X个矩阵。编码系 数码本的矩阵表现形式还可以是
Figure BDA0003134515830000235
其中,编码系数码本中的一列
Figure BDA0003134515830000236
为一个码字,1≤l≤L+1,,编码系数码本中共(L+1)个码字,一个码 字中有X个矩阵。
当l取值为[0,L]时,编码系数码本的矩阵表现形式可以是
Figure BDA0003134515830000237
其中,编码系数码本中的一列
Figure BDA0003134515830000238
为一个码字,0≤l≤L,编码系数码本中 共(L+1)个码字,一个码字中有X个矩阵。编码系数码本的矩阵表现形式还可以是
Figure BDA0003134515830000239
其中,编码系数码本中的一行
Figure BDA00031345158300002310
为一个码字, 0≤l≤L,编码系数码本中共(L+1)个码字,一个码字中有X个矩阵。
在第二种表现形式中上述X的取值可以小于或等于L+1,X为正整数。
码字为
Figure BDA00031345158300002311
Figure BDA00031345158300002312
p0,p1,…,pX-1分别除以(L+1)得到的X 个余数为[0,L]中两两不同的X个值。
第三种表现形式:
编码系数码本中的一个码字包括X个矩阵。X个矩阵的索引可以为0、1、……、X-1。码字可以表示为
Figure BDA00031345158300002313
Figure BDA00031345158300002314
其中,0≤pl%(2L)≤2L-1,编 码系数码本中的不同码字对应的pl%(2L)的取值不同,码字的索引与pl%(2L)具有对应关系。
基于0≤pl%(2L)≤2L-1,在一个可能的设计中,pl的取值范围为[0,2L-1],即 0≤pl≤2L-1。编码系数码本中的不同码字对应的pl的取值不同,码字的索引与pl具有对 应关系。这种情况下,编码系数码本的矩阵表现形式可以是
Figure BDA0003134515830000241
其 中,编码系数码本中的一列
Figure BDA0003134515830000242
为一个码字,0≤pl≤2L-1,编码系数码本 中共2L个码字,一个码字中有X个矩阵。编码系数码本的矩阵表现形式还可以是
Figure BDA0003134515830000243
其中,编码系数码本中的一行
Figure BDA0003134515830000244
为一个码字,0≤pl≤2L-1,编码系数码本中共2L个码字,一个码字中有X个矩阵。
X个矩阵的索引可以为1、2、……、X。码字可以表示为
Figure BDA0003134515830000245
Figure BDA0003134515830000246
其中,其中,0≤pl%(2L)≤2L-1,编码系数码本中的不同码字对应的 pl%(2L)的取值不同,码字的索引与pl%(2L)具有对应关系。
基于0≤pl%(2L)≤2L-1,在一个可能的设计中,pl的取值范围为[0,2L-1],即 0≤pl≤2L-1。编码系数码本中的不同码字对应的pl的取值不同,码字的索引与pl具有对 应关系。这种情况下,编码系数码本的矩阵表现形式可以是
Figure BDA0003134515830000247
其中, 编码系数码本中的一列
Figure BDA0003134515830000248
为一个码字,0≤pl≤2L-1,编码系数码本中共2L个码字,一个码字中有X个矩阵。编码系数码本的矩阵表现形式还可以是
Figure BDA0003134515830000249
其中,编码系数码本中的一行
Figure BDA00031345158300002410
为一个码字, 0≤pl≤2L-1,编码系数码本中共2L个码字,一个码字中有X个矩阵。
在第三种表现形式中,上述X的取值可以小于或等于2L,X为正整数。
当码字表示为
Figure BDA00031345158300002411
Figure BDA00031345158300002412
时,a0,a1,…,aX-1可以表示编码系 数集合中两两不同的X个矩阵。例如,在第三种表现形式中,一个码字包括的X个矩阵可 以为上文中第二种编码系数集合中的X个矩阵。a0,a1,…,aX-1可以表示上文中第二种编码 系数集合中两两不同的X个矩阵。例如,a0,a1,…,aX-1可以表示
Figure BDA00031345158300002413
中两两不同的X个矩阵。
当码字表示为
Figure BDA00031345158300002414
Figure BDA00031345158300002415
时,a1,a2,…,aX可以表示编码系数集 合中两两不同的X个矩阵。例如,在第三种表现形式中,一个码字包括的X个矩阵可以为 上文中第二种编码系数集合中的X个矩阵。a1,a2,…,aX可以表示上文中第二种编码系数集 合中两两不同的X个矩阵。例如,a1,a2,…,aX可以表示
Figure BDA00031345158300002416
中两两不同的X个矩阵。
(4)第四种表现形式:
编码系数码本中的一个码字包括X个矩阵。码字可以表示为
Figure BDA0003134515830000251
Figure BDA0003134515830000252
编码系数码本中的不同码字对应不同的al,码字的索引与l具有对应关系, al表示编码系数集合中的矩阵,l为al在编码系数集合中的索引。在第四种表现形式中,al可 以是上文中第二种编码系数集合中的矩阵。例如,al可以是
Figure BDA0003134515830000253
中的矩阵,当 al为A时,l为A在编码系数集合
Figure BDA0003134515830000254
中的索引。
l取值可以为[1,2L]或者[0,2L-1]。
当l取值为[0,2L-1]时,编码系数码本的表现形式可以是
Figure BDA0003134515830000255
其中,编码系数码本中的一列
Figure BDA0003134515830000256
为一个码字,0≤l≤2L-1,编码系数码 本中共2L个码字,一个码字中有X个矩阵。编码系数码本的表现形式还可以是
Figure BDA0003134515830000257
其中,编码系数码本中的一行
Figure BDA0003134515830000258
为一个码字, 0≤l≤2L-1,编码系数码本中共2L个码字,一个码字中有X个矩阵。
当l取值为[1,2L]时,编码系数码本的表现形式可以是
Figure BDA0003134515830000259
其 中,编码系数码本中的一列
Figure BDA00031345158300002510
为一个码字,1≤l≤2L,编码系数码本中共 2L个码字,一个码字中有X个矩阵。编码系数码本的表现形式还可以是
Figure BDA00031345158300002511
其中,编码系数码本中的一行
Figure BDA00031345158300002512
为一个码字, 1≤l≤2L,编码系数码本中共2L个码字,一个码字中有X个矩阵。
在第三种表现形式中,上述X的取值可以小于或等于2L,X为正整数。
当码字表示为
Figure BDA00031345158300002513
Figure BDA00031345158300002514
时,p0,p1,…,pX-1分别除以2L得到 的X个余数为[0,2L-1]中两两不同的X个值。
上述第一种表现形式至第四种表现形式中,编码系数码本通过矩阵形式来表现,即, 一个编码系数码本可以表示为一个编码系数码本矩阵,一个编码系数码本的矩阵表现形式 中的一行或者一列为一个码字。在另一种可选的实现方式中,编码系数码本还可以通过其 它的形式体现,例如表格的形式,又例如可以表示一组码字的其它任意表现形式。只要是 可以表示编码系数码本中包括多个码字,且能够通过索引号指示这些码字即可。
以下通过表格的形式介绍几种编码系数码本和码字的表现形式。
(5)第五种表现形式:
编码系数码本中的一个码字包括X个矩阵。
编码系数码本中的一个码字包括的X个矩阵可以为上文中第一种编码系数集合中的X 个矩阵,K≤X≤L+1。这种情况下,编码系数码本的表格表现形式可以如下表所示。
表4-1
Figure BDA0003134515830000261
表4-1中,每个码字包括X个矩阵,可以看成一个码字是由X个矩阵组成的编码系数矩阵。每个码字的下角标XL×L表示该码字/编码系数矩阵的维度,为XL行L列。
表4-1中编码系数码本中共L+1个矩阵,码字的索引取值为[0,L],可以理解的是码字 的索引取值也可以为[1,L+1]。表4-1中编码系数码本的表格表现形式如果转换为矩阵表现 形式,还可以与上述第二种表现形式中的矩阵
Figure BDA0003134515830000262
对应,其中,al
Figure BDA0003134515830000263
中的矩阵。
表4-1中X的取值可以是大于或等于K,且小于或等于L+1的。
当X=K时,表4-1可以表示为表4-2。
表4-2
Figure BDA0003134515830000264
Figure BDA0003134515830000271
当X=L+1时,表4-1可以表示为表4-3。
表4-3
Figure BDA0003134515830000272
表5-1中,每个码字包括X个矩阵,可以看成一个码字是由X个矩阵组成的编码系数矩阵。每个码字的下角标L×XL表示该码字/编码系数矩阵的维度,为L行XL列。
表5-1中编码系数码本中共L+1个矩阵,码字的索引取值为[0,L],可以理解的是码字 的索引取值也可以为[1,L+1]。表5-1中编码系数码本的表格表现形式如果转换为矩阵表现 形式,还可以与上述第二种表现形式中的矩阵
Figure BDA0003134515830000273
对应,其中,al
Figure BDA0003134515830000274
中的矩阵。
表5-1中X的取值可以是大于或等于K,且小于或等于L+1的。
当X=K时,表5-1可以表示为表5-2。
表5-2
Figure BDA0003134515830000281
当X=L+1时,表5-1可以表示为表5-3。
表5-3
Figure BDA0003134515830000282
(6)第六种表现形式:
编码系数码本中的一个码字包括X个矩阵。
编码系数码本中的一个码字包括的X个矩阵可以为上文中第一种编码系数集合中的X 个矩阵,K≤X≤L+1。这种情况下,编码系数码本的表格表现形式还可以下表所示。
表6-1
Figure BDA0003134515830000283
表6-1中,每个码字包括X个矩阵,可以看成一个码字是由X个矩阵组成的编码系数矩阵。每个码字的下角标XL×L表示该码字/编码系数矩阵的维度,为XL行L列。
表6-1中编码系数码本中共L+1个矩阵,码字的索引取值为[0,L],可以理解的是码字 的索引取值也可以为[1,L+1]。表6-1中编码系数码本的表格表现形式如果转换为矩阵表现 形式,还可以与上述第二种表现形式中的矩阵是
Figure BDA0003134515830000291
对应,其中,a0,a1,…,aX-1可以表示
Figure BDA0003134515830000292
中两两不同的X个矩阵。
表6-1中X的取值可以是大于或等于K,且小于或等于L+1的。当X=K时,表6-1可 以表示为表6-2。当X=L+1时,表6-1可以表示为表6-3。
表6-2
Figure BDA0003134515830000293
表6-3
Figure BDA0003134515830000294
表7-1
Figure BDA0003134515830000295
Figure BDA0003134515830000301
表7-1中,每个码字包括X个矩阵,可以看成一个码字是由X个矩阵组成的编码系数矩阵。每个码字的下角标L×XL表示该码字/编码系数矩阵的维度,为L行XL列。
表7-1中编码系数码本中共L+1个矩阵,码字的索引取值为[0,L],可以理解的是码字 的索引取值也可以为[1,L+1]。表7-1中编码系数码本的表格表现形式如果转换为矩阵表现 形式,还可以与上述第二种表现形式中的矩阵
Figure BDA0003134515830000302
对应,其中, a0,a1,…,aX-1可以表示
Figure BDA0003134515830000303
中两两不同的X个矩阵。
表7-1中X的取值可以是大于或等于K,且小于或等于L+1的。当X=K时,表7-1可 以表示为表7-2。当X=L+1时,表7-1可以表示为表7-3。
表7-2
Figure BDA0003134515830000304
表7-3
Figure BDA0003134515830000305
当X=L+1时,上述表4-3、表5-3、表6-3和表7-3中,编码系数码本仅与参数L有关,也就是说编码系数码本中每个码字是由(L+1)个L×L维的矩阵构成。如果需要待编码数据包的个数K不大于L+1,那么可以选取码字中的任意K个矩阵作为K个待编码数据包的 编码系数,进一步的,还可以预定义选取规则,如选取每个码字前K个矩阵,选取每个码 字的最后K个矩阵等。
(7)第七种表现形式:
编码系数码本中的一个码字包括X个矩阵。
编码系数码本中的一个码字包括的X个矩阵可以为上文中第二种编码系数集合中的X 个矩阵,K≤X≤2L。这种情况下,编码系数码本的表格表现形式可以如表8或表9所示。
表8-1
Figure BDA0003134515830000311
表8-1中,每个码字包括X个矩阵,可以看成一个码字是由X个矩阵组成的编码系数矩阵。每个码字的下角标XL×L表示该码字/编码系数矩阵的维度,为XL行L列。
表8-1中编码系数码本中共L+1个矩阵,码字的索引取值为[0,2L-1],可以理解的是码 字的索引取值也可以为[1,2L]。表8-1中编码系数码本的表格表现形式如果转换为矩阵表现 形式,还可以与上述第四种表现形式中的矩阵
Figure BDA0003134515830000312
对应,其中,
Figure BDA0003134515830000313
Figure BDA0003134515830000314
al
Figure BDA0003134515830000315
中的矩阵,l是al的下标,l的取值范围为0≤l≤2L-1。也可以认为
Figure BDA0003134515830000316
Figure BDA0003134515830000317
中两两不同的2L-1个矩阵。
表8-1中X的取值可以是大于或等于K,且小于或等于2L的。当X=K时,表8-1可以表示为表8-2。当X=2L时,表8-1可以表示为表8-3。
表8-2
Figure BDA0003134515830000318
表8-3
Figure BDA0003134515830000321
表9-1
Figure BDA0003134515830000322
表9-1中,每个码字包括X个矩阵,可以看成一个码字是由X个矩阵组成的编码系数矩阵。每个码字的下角标L×XL表示该码字/编码系数矩阵的维度,为L行XL列。
表9-1中编码系数码本中共L+1个矩阵,码字的索引取值为[0,L],可以理解的是码字 的索引取值也可以为[1,L+1]。表9-1中编码系数码本的表格表现形式如果转换为矩阵表现 形式,还可以与上述第二种表现形式中的矩阵
Figure BDA0003134515830000323
对应,其中,
Figure BDA0003134515830000324
Figure BDA0003134515830000325
al
Figure BDA0003134515830000326
中的矩阵,l是al的下标,l的取值范围为0≤l≤2L-1。也可以认为
Figure BDA0003134515830000327
Figure BDA0003134515830000328
中两两不同的2L-1个矩阵。
表9-1中X的取值可以是大于或等于K,且小于或等于2L的。当X=K时,表9-1可以表示为表9-2。当X=2L时,表9-1可以表示为表9-3。
表9-2
Figure BDA0003134515830000331
表9-3
Figure BDA0003134515830000332
当X=2L时,上述表8-3和表9-3中,编码系数码本仅与参数L有关,也就是说编码系数码本中每个码字是由2L个L×L维的矩阵构成。如果需要待编码数据包的个数K不大于2L,那么可以选取码字中的任意K个矩阵作为K个待编码数据包的编码系数,进一步的,还可 以预定义选取规则,如选取每个码字前K个矩阵,选取每个码字的最后K个矩阵等。
可以理解的是,上文第一种表现形式至第四种表现形式中编码系数码本的其他矩阵表 现形式,也可以转换为表格表现形式。在此不再一一赘述。本申请实施例中,发送端和接 收端可以预先存储或预定义编码系数码本,上文举例的各种码本中,有包括L+1个码字的 码本,也有包括2L个码字的码本。可以理解的是,预先存储或预定义的编码系数码本可以 是上述举例的码本中的部分码字组成的。例如,预先存储或预定义的编码系数码本可以是 包括L+1个码字的码本的部分码字组成的,即预先存储或预定义的编码系数码本中码字的 个数可以少于L+1个,预先存储或预定义的编码系数码本中码字的个数可以用Y1表示,Y1个码字可以为包括L+1个码字的码本中的任意Y1个码字组成的。又例如,预先存储或 预定义的编码系数码本可以是包括2L个码字的码本的部分码字组成的,即预先存储或预定义的编码系数码本中码字的个数可以少于2L个,预先存储或预定义的编码系数码本中码字的个数可以用Y2表示,Y2个码字可以为包括2L个码字的码本中的任意Y2个码字组成的。
可以理解的是,上述编码系数码本的表格表现形式只是示例,可以对上述编码系数码 本的表格表现形式进行变换或变形,例如,对上述编码系数码本的表格表现形式中的索引 列和码字列进行互换。无论是表格表现形式还是矩阵表现形式或者其他表现形式的编码系 数码本可以对编码系数码本进行变换或变形,例如,可以只取上述编码系数码本的中的部 分码字作为码本;又例如,编码系数码本的码字构成的编码系数矩阵,可以进行任意的行 列变换得到变换矩阵,将变换矩阵拆解成和原来的码字相同维度的新的码字作为编码系数 码本中的码字。又例如,编码系数码本中的码字包含的矩阵元素可以发生部分变换。又例 如,当X=K时,编码系数码本中的K个矩阵可以选择与上述示例不同的其他K个矩阵。
以上对本申请实施例提供的网络编码方法介绍完毕,本申请实施例中还提供一种网络 译码方法,如图7所示,该方法的具体实现过程如下所述。该方法的执行主体为接收端或 者译码端,接收端或者译码端可以是终端设备,也可以是网络设备。如果接收端或者译码 端为终端设备,发送端或编码端可以为网络设备。如果接收端或译码端为网络设备,发送 端或编码端可以为终端设备。
S701.获取待译码数据,所述待译码数据包括编码包。
其中编码包携带指示信息,指示信息用于指示编码过程中所使用的K个编码系数,该 K个编码系数与K个原始数据包一一对应,K个编码系数中的非零编码系数均为矩阵,矩阵的维度为L×L,K、L均为大于1的整数。
S702.根据指示信息对待译码数据进行译码,获得K个原始数据包。
可以理解的是,所述待译码数据还可以包括系统包,所述译码为对所述系统包和所述 编码包一起进行译码,获得所述K个原始数据包。所述编码包的个数为一个或多个。所述 待译码数据的个数不小于K。可以理解的是,网络译码方法与网络编码方法具有相同或相 应的过程。原始数据包可以对应编码过程中的待编码数据包。指示信息的描述可以参考上 述网络编码方法中的描述。例如,当指示信息基于上述指示方式一时,指示信息指示K个编码系数。每个编码包中携带对应的随机种子或编码包的标识,随机种子或编码包的标识可以指示K个编码系数。接收端可以利用随机种子/编码包的标识,采用相同的过程确定K个编码系数。例如,接收端根据该随机种子/编码包的标识获得一组和发送端相同的随机数列,选择出同样的K个随机数,并使用相同的方式确定出K个索引以及K个索引对应的K 个编码系数。接收端根据K个编码系数进行译码。
当指示信息为编码系数码本中一个码字的索引时,发送端和接收端可以预先存储或预 定义编码系数码本,编码系数码本中的每个码字都有对应的索引,通过码字的索引来指示 码字对应的X个矩阵,X大于K时,可以选择X个矩阵中的K个矩阵来作为K个编码系 数。每个编码包都有对应的指示信息,指示信息指示该编码包对应的码字。可选的,编码 包的包头还会携带原始数据包的个数K。
以下通过性能对比图来表征本申请中几种实施例的有益效果。
图8中分别示意了几种编码方案的性能对比。虚线表示基于图5实施例且编码系数为 GF(2)中随机选取的数值的方案,即现有技术GF(2)上的RLNC的方案;三角形表示基于图5实施例且编码系数为GF(8)中随机选取的数值的方案,即现有技术GF(8)上的RLNC的方案;圆形表示基于图5实施例且编码系数为GF(256)中随机选取的数值的方案,即现有技术GF(256)上的RLNC的方案。菱形表示基于第一种编码系数集合、并基于随机种子或编码包的标识指示编码系数的方案,星号表示基于第二种编码系数集合、并基于随机种子或编码包的标识指示编码系数的方案。菱形编码方案和星号编码方案中编码系数为二元域的矩阵, 这样将有限域的乘法转化为二元域的异或运算,可以避免图5实施例高域高复杂度的有限 域乘法运算,可以只存在二元域的异或运算,复杂度和图5实施例这种方案中编码系数为 GF(2)时的运算复杂度相当,但是性能远好于图5实施例这种方案中编码系数为GF(2)的性 能,几乎接近于图5实施例这种方案中编码系数为GF(256)的性能。
图8中,纵坐标是利用网络编码纠错后最终残留的丢包率,相同信道丢包率下不同编 码方案的残留丢包率越低对应的编码方案越好。可以看出菱形编码方案和星号编码方案的 性能均接近于图5实施例这种方案中编码系数为GF(256)的性能。
图9中分别示意了几种编码方案的性能对比。各种线表示的编码方案与图8相同,可 以参照图8的描述。图9中,纵坐标是利用网络编码纠错后最终残留的丢包率,相同信道丢包率下不同编码方案的残留丢包率越低对应的编码方案越好。可以看出菱形编码方案和星号编码方案的性能均接近于图5实施例这种方案中编码系数为GF(256)的性能。
可以理解,在本申请中,“当…时”、“若”以及“如果”均指在某种客观情况下装置会做出 相应的处理,并非是限定时间,且也不要求装置实现时一定要有判断的动作,也不意味着 存在其它限定。
本申请中的“同时”可以理解为在相同的时间点,也可以理解为在一段时间段内,还可以 理解为在同一个周期内,具体可以结合上下文进行理解。
可以理解,在本申请各实施例中,“相应的”可以表示为所涉及的两者相关联。
本申请中各表所示的对应关系可以被配置,也可以是预定义的。各表中的信息的取值 仅仅是举例,可以配置为其他值,本申请并不限定。在配置表格中两列内容的对应关系时, 并不一定要求必须配置各表中示意出的所有对应关系。例如,本申请中的表格中,某些行 示出的对应关系也可以不配置。又例如,可以基于上述表格做适当的变形调整,例如,拆 分,合并等等。上述各表中标题示出参数的名称也可以采用通信装置可理解的其他名称, 其参数的取值或表示方式也可以通信装置可理解的其他取值或表示方式。上述各表在实现 时,也可以采用其他的数据结构,例如可以采用数组、队列、容器、栈、线性表、指针、链表、树、图、结构体、类、堆、散列表或哈希表等
本申请中的预定义可以理解为定义、预先定义、存储、预存储、预协商、预配置、固化、或预烧制。
需要说明的是,本申请中的各个应用场景中的举例仅仅表现了一些可能的实现方式, 是为了对本申请的方法更好的理解和说明。本领域技术人员可以根据申请提供的网络编码 方法译码方法,得到一些演变形式的举例。
上述对本申请实施例提供的方法进行了介绍。为了实现上述本申请实施例提供的方法 中的各功能,本申请实施例还提供的网络编码装置和网络译码装置,网络编码装置和网络 译码装置可以包括硬件结构和/或软件模块,以硬件结构、软件模块、或硬件结构加软件模 块的形式来实现上述各功能。上述各功能中的某个功能以硬件结构、软件模块、还是硬件 结构加软件模块的方式来执行,取决于技术方案的特定应用和设计约束条件。
如图10所示,基于同一技术构思,本申请实施例还提供了一种网络编码装置1000,该 网络编码装置1000可以是网络编码装置,也可以是网络编码装置中的装置,或者是能够和 网络编码装置匹配使用的装置。网络编码装置1000可以是终端设备或网络设备。一种设计 中,该网络编码装置1000可以包括执行上述方法实施例中网络编码方法所涉及的方法/操作 /步骤/动作所一一对应的模块,该模块可以是硬件电路,也可是软件,也可以是硬件电路结 合软件实现。一种设计中,该网络编码装置1000可以包括处理模块1001和输入输出模块 1002。
处理模块1001,用于对K个待编码数据包进行编码,生成编码包;其中,编码包携带指示信息,指示信息用于指示生成编码包所使用的K个编码系数,在编码的过程中K个编 码系数与K个待编码数据包一一对应,K个编码系数中的非零编码系数均为矩阵,矩阵的 维度为L×L,K、L均为大于1的整数。输入输出模块1002用于发送编码包。
处理模块1001还可以执行上述方法实施例中网络编码方法的其它操作,在此不再一一 赘述。
如图11所示,基于同一技术构思,本申请实施例还提供了一种网络译码装置1100,该 网络译码装置1100可以是网络译码装置,也可以是网络译码装置中的装置,或者是能够和 网络译码装置匹配使用的装置。网络译码装置1100可以是终端设备或网络设备。一种设计 中,该网络译码装置1100可以包括执行上述方法实施例中网络译码方法所涉及的方法/操作 /步骤/动作所一一对应的模块,该模块可以是硬件电路,也可是软件,也可以是硬件电路结 合软件实现。一种设计中,该网络译码装置1100可以包括处理模块1101和输入输出模块 1102。
输入输出模块1102用于获取待译码数据,待译码数据包括编码包,所述编码包携带指 示信息,指示信息用于指示编码过程中所使用的K个编码系数,K个编码系数与K个原始 数据包一一对应,K个编码系数中的非零编码系数均为矩阵,矩阵的维度为L×L,K、L均为大于1的整数。处理模块1101,用于根据指示信息对待译码数据进行译码,获得K个原 始数据包。
处理模块1101还可以执行上述方法实施例中网络译码方法的其它操作,在此不再一一 赘述。
本申请实施例中对模块的划分是示意性的,仅仅为一种逻辑功能划分,实际实现时可 以有另外的划分方式,另外,在本申请各个实施例中的各功能模块可以集成在一个处理器 中,也可以是单独物理存在,也可以两个或两个以上模块集成在一个模块中。上述集成的 模块既可以采用硬件的形式实现,也可以采用软件功能模块的形式实现。
如图12所示为本申请实施例提供的网络编码装置1200,用于实现本申请提供的网络编 码方法。网络编码装置1200可以是位于网络编码装置中的装置,也可以是网络编码装置, 或者是能够和网络编码装置匹配使用的装置。网络编码装置1200可以是终端设备也可以是 网络设备。其中,该网络编码装置1200可以为芯片系统或芯片。本申请实施例中,芯片系 统可以由芯片构成,也可以包含芯片和其他分立器件。网络编码装置1200包括至少一个处 理器1220,用于实现本申请实施例提供的网络编码方法。网络编码装置1200还可以包括输 入输出接口1210。在本申请实施例中,输入输出接口1210用于通过传输介质和其它装置进 行通信。例如,网络编码装置1200是芯片时,通过输入输出接口1210与其他芯片或器件进行传输。处理器1220用于实现上述方法实施例所述的方法。
处理器1220,用于用于对K个待编码数据包进行编码,生成编码包;其中,编码包携带指示信息,指示信息用于指示生成编码包所使用的K个编码系数,在编码的过程中K个 编码系数与K个待编码数据包一一对应,K个编码系数中的非零编码系数均为矩阵,矩阵 的维度为L×L,K、L均为大于1的整数。
输入输出接口1210用于发送编码包。
处理器1220还可以执行上述方法实施例中网络编码方法的其它操作,在此不再一一赘 述。
网络编码装置1200还可以包括至少一个存储器1230,用于存储程序指令和/或数据。 存储器1230和处理器1220耦合。本申请实施例中的耦合是装置、单元或模块之间的间接 耦合或通信连接,可以是电性,机械或其它的形式,用于装置、单元或模块之间的信息交互。处理器1220可能和存储器1230协同操作。处理器1220可能执行存储器1230中存储 的程序指令。所述至少一个存储器中的至少一个可以与处理器集成在一起。
如图13所示为本申请实施例提供的网络译码装置1300,用于实现本申请提供的网络编 码方法。网络译码装置1300可以是位于网络译码装置中的装置,也可以是网络译码装置, 或者是能够和网络译码装置匹配使用的装置。网络译码装置1300可以是终端设备也可以是 网络设备。其中,该网络译码装置1300可以为芯片系统或芯片。本申请实施例中,芯片系 统可以由芯片构成,也可以包含芯片和其他分立器件。网络译码装置1300包括至少一个处 理器1320,用于实现本申请实施例提供的网络译码方法。网络译码装置1300还可以包括输 入输出接口1310。在本申请实施例中,输入输出接口1310用于通过传输介质和其它装置进 行通信。例如,网络译码装置1300是芯片时,通过输入输出接口1310与其他芯片或器件进行传输。处理器1320用于实现上述方法实施例所述的方法。
输入输出接口1310用于获取待译码数据,所述待译码数据包括编码包,所述编码包携 带指示信息,指示信息用于指示编码过程中所使用的K个编码系数,K个编码系数与K个 原始数据包一一对应,K个编码系数中的非零编码系数均为矩阵,矩阵的维度为L×L,K、L均为大于1的整数。处理器1320,用于根据指示信息对待译码数据进行译码,获得K个 原始数据包。
处理器1320还可以执行上述方法实施例中网络译码方法的其它操作,在此不再一一赘 述。
处理器1320还可以执行上述方法实施例中网络译码方法的其它操作,在此不再一一赘 述。
网络译码装置1300还可以包括至少一个存储器1330,用于存储程序指令和/或数据。 存储器1330和处理器1320耦合。本申请实施例中的耦合是装置、单元或模块之间的间接 耦合或通信连接,可以是电性,机械或其它的形式,用于装置、单元或模块之间的信息交互。处理器1320可能和存储器1330协同操作。处理器1320可能执行存储器1330中存储 的程序指令。所述至少一个存储器中的至少一个可以与处理器集成在一起。
本申请实施例中,处理器可能是一种集成电路芯片,具有信号的处理能力。在实现过 程中,上述方法实施例的各步骤可以通过处理器中的硬件的集成逻辑电路或者软件形式的 指令完成。上述的处理器可以是通用处理器、数字信号处理器(digital signalprocessor,DSP)、 专用集成电路(application specific integrated Circuit,ASIC)、现成可编程门阵列(field programmable gate array,FPGA)或者其他可编程逻辑器件、分立门或者晶体管逻辑器件、 分立硬件组件。可以实现或者执行本申请实施例中的公开的各方法、步骤及逻辑框图。通 用处理器可以是微处理器或者该处理器也可以是任何常规的处理器等。结合本申请实施例 所公开的方法的步骤可以直接体现为硬件译码处理器执行完成,或者用译码处理器中的硬 件及软件模块组合执行完成。软件模块可以位于随机存储器,闪存、只读存储器,可编程 只读存储器或者电可擦写可编程存储器、寄存器等本领域成熟的存储介质中。该存储介质 位于存储器,处理器读取存储器中的信息,结合其硬件完成上述方法的步骤。
可以理解,本申请实施例中的存储器可以是易失性存储器或非易失性存储器,或可包 括易失性和非易失性存储器两者。其中,非易失性存储器可以是只读存储器(read-only memory,ROM)、可编程只读存储器(programmable ROM,PROM)、可擦除可编程只读存储器(erasable PROM,EPROM)、电可擦除可编程只读存储器(electrically EPROM,EEPROM)或闪存。易失性存储器可以是随机存取存储器(random access memory,RAM),其用作外 部高速缓存。通过示例性但不是限制性说明,许多形式的RAM可用,例如静态随机存取存 储器(static RAM,SRAM)、动态随机存取存储器(dynamic RAM,DRAM)、同步动态随 机存取存储器(synchronous DRAM,SDRAM)、双倍数据速率同步动态随机存取存储器 (double datarate SDRAM,DDR SDRAM)、增强型同步动态随机存取存储器(enhanced SDRAM,ESDRAM)、同步连接动态随机存取存储器(synchlink DRAM,SLDRAM)和直 接内存总线随机存取存储器(direct rambus RAM,DR RAM)。应注意,本文描述的系统和 方法的存储器旨在包括但不限于这些和任意其它适合类型的存储器。
本申请实施例提供的通信装置用于实现本申请提供的方法。通信装置可以用于实现本 申请实施例提供的网络编码方法,也可以用于实现本申请实施例提供的网络译码方法。当 实现网络编码方法时,通信装置可以是网络编码装置,也可以是位于网络编码装置中的装 置,也可以是能够和网络编码装置匹配的装置。当实现网络译码方法时,通信装置可以是 网络译码装置,也可以是位于网络译码装置中的装置,也可以是能够和网络译码装置匹配 的装置。
其中,该通信装置可以为芯片系统或芯片。本申请实施例中,芯片系统可以由芯片构 成,也可以包含芯片和其他分立器件。上述实施例提供的方法中的部分或全部可以通过硬 件来实现也可以通过软件来实现,当通过硬件实现时,通信装置包括:输入接口电路、逻辑电路和输出接口电路。
当通信装置用于实现网络编码方法时,
输入接口电路,用于获取K个待编码数据包。
逻辑电路,用于对K个待编码数据包进行编码,生成编码包;其中,编码包携带指示信息,指示信息用于指示生成编码包所使用的K个编码系数,在编码的过程中K个编码系 数与K个待编码数据包一一对应,K个编码系数中的非零编码系数均为矩阵,矩阵的维度 为L×L,K、L均为大于1的整数。
输出接口电路,用于发送编码包。
当通信装置用于实现网络译码方法时,输入接口电路用于获取待译码数据,所述待译 码数据包括编码包,所述编码包携带指示信息,指示信息用于指示编码过程中所使用的K 个编码系数,K个编码系数与K个原始数据包一一对应,K个编码系数中的非零编码系数均为矩阵,矩阵的维度为L×L,K、L均为大于1的整数。逻辑电路,用于根据指示信息对 待译码数据进行译码,获得K个原始数据包。
逻辑电路还可以执行上述方法实施例中网络编码方法或网络译码方法的其它操作,在 此不再一一赘述。
可选的,通信装置在具体实现时可以是芯片或者集成电路。
本申请上述方法实施例描述的网络编码装置、网络译码装置和通信装置所执行的操作 和功能中的部分或全部,可以用芯片或集成电路来完成。
本申请实施例提供了一种计算机可读存储介质,存储有计算机程序,该计算机程序包 括用于执行上述方法实施例的指令。
本申请实施例提供了一种包含指令的计算机程序产品,当其在计算机上运行时,使得 计算机执行上述方法实施例。
上述实施例所提供的方法,可以全部或部分地通过软件、硬件、固件或者其任意组合来 实现。当使用软件实现时,可以全部或部分地以计算机程序产品的形式实现。所述计算机 程序产品可以包括一个或多个计算机指令。在计算机上加载和执行所述计算机程序指令时, 全部或部分地产生按照本申请实施例所述的流程或功能。所述计算机可以是通用计算机、 专用计算机、计算机网络或者其他可编程装置。所述计算机指令可以存储在计算机可读存 储介质中,或者从一个计算机可读存储介质向另一个计算机可读存储介质传输,例如,所 述计算机指令可以从一个网站站点、计算机、服务器或数据中心通过有线(例如同轴电缆、 光纤、数字用户(DSL))或无线(例如红外、无线、微波等)方式向另一个网站站点、计 算机、服务器或数据中心进行传输。所述计算机可读存储介质可以是计算机能够存取的任 何可用介质或者是包含一个或多个可用介质集成的服务器、数据中心等数据存储设备。所 述可用介质可以是磁性介质(例如,软盘、硬盘、磁盘)、光介质(例如,DVD)、或者半 导体介质(例如固态硬盘solid state disk(SSD))等。
本领域普通技术人员可以意识到,结合本文中所公开的实施例描述的各示例的单元及 算法步骤,能够以电子硬件、或者计算机软件和电子硬件的结合来实现。这些功能究竟以 硬件还是软件方式来执行,取决于技术方案的特定应用和设计约束条件。专业技术人员可 以对每个特定的应用来使用不同方法来实现所描述的功能,但是这种实现不应认为超出本 申请的范围。
所属领域的技术人员可以清楚地了解到,为描述的方便和简洁,上述描述的系统、装 置和单元的具体工作过程,可以参考前述方法实施例中的对应过程,在此不再赘述。
在本申请所提供的几个实施例中,应该理解到,所揭露的系统、装置和方法,可以通过 其它的方式实现。例如,以上所描述的装置实施例仅仅是示意性的,例如,所述单元的划 分,仅仅为一种逻辑功能划分,实际实现时可以有另外的划分方式,例如多个单元或组件 可以结合或者可以集成到另一个系统,或一些特征可以忽略,或不执行。另一点,所显示或讨论的相互之间的耦合或直接耦合或通信连接可以是通过一些接口,装置或单元的间接耦合或通信连接,可以是电性,机械或其它的形式。
所述作为分离部件说明的单元可以是或者也可以不是物理上分开的,作为单元显示的 部件可以是或者也可以不是物理单元,即可以位于一个地方,或者也可以分布到多个网络 单元上。可以根据实际的需要选择其中的部分或者全部单元来实现本实施例方案的目的。
另外,在本申请各个实施例中的各功能单元可以集成在一个处理单元中,也可以是各 个单元单独物理存在,也可以两个或两个以上单元集成在一个单元中。
所述功能如果以软件功能单元的形式实现并作为独立的产品销售或使用时,可以存储 在一个计算机可读取存储介质中。基于这样的理解,本申请的技术方案本质上或者说对现 有技术做出贡献的部分或者该技术方案的部分可以以软件产品的形式体现出来,该计算机 软件产品存储在一个存储介质中,包括若干指令用以使得一台计算机设备(可以是个人计 算机,服务器,或者网络设备等)执行本申请各个实施例所述方法的全部或部分步骤。而 前述的存储介质包括:U盘、移动硬盘、只读存储器、随机存取存储器、磁碟或者光盘等 各种可以存储程序代码的介质。
本领域内的技术人员应明白,本申请的实施例可提供为方法、系统、或计算机程序产 品。因此,本申请可采用完全硬件实施例、完全软件实施例、或结合软件和硬件方面的实施例的形式。而且,本申请可采用在一个或多个其中包含有计算机可用程序代码的计算机可用存储介质(包括但不限于磁盘存储器、CD-ROM、光学存储器等)上实施的计算机程 序产品的形式。
本申请是参照根据本申请实施例的方法、设备(系统)、和计算机程序产品的流程图和 /或方框图来描述的。应理解可由计算机程序指令实现流程图和/或方框图中的每一流程 和/或方框、以及流程图和/或方框图中的流程和/或方框的结合。可提供这些计算机程 序指令到通用计算机、专用计算机、嵌入式处理机或其他可编程数据处理设备的处理器以 产生一个机器,使得通过计算机或其他可编程数据处理设备的处理器执行的指令产生用于 实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的装置。
这些计算机程序指令也可存储在能引导计算机或其他可编程数据处理设备以特定方式 工作的计算机可读存储器中,使得存储在该计算机可读存储器中的指令产生包括指令装置 的制造品,该指令装置实现在流程图一个流程或多个流程和/或方框图一个方框或多个方 框中指定的功能。
这些计算机程序指令也可装载到计算机或其他可编程数据处理设备上,使得在计算机 或其他可编程设备上执行一系列操作步骤以产生计算机实现的处理,从而在计算机或其他 可编程设备上执行的指令提供用于实现在流程图一个流程或多个流程和/或方框图一个方 框或多个方框中指定的功能的步骤。
尽管已描述了本申请的优选实施例,但本领域内的技术人员一旦得知了基本创造性概 念,则可对这些实施例作出另外的变更和修改。所以,所附权利要求意欲解释为包括优选 实施例以及落入本申请范围的所有变更和修改。
显然,本领域的技术人员可以对本申请实施例进行各种改动和变型而不脱离本申请实 施例的精神和范围。这样,倘若本申请实施例的这些修改和变型属于本申请权利要求及其 等同技术的范围之内,则本申请也意图包含这些改动和变型在内。

Claims (27)

1.一种网络编码方法,其特征在于,包括:
对K个待编码数据包进行编码,生成编码包;其中,所述编码包携带指示信息,所述指示信息用于指示生成所述编码包所使用的K个编码系数,在所述编码的过程中所述K个编码系数与所述K个待编码数据包一一对应,所述K个编码系数中的非零编码系数均为矩阵,所述矩阵的维度为L×L,K、L均为大于1的整数;
发送所述编码包。
2.一种网络译码方法,其特征在于,包括:
获取待译码数据,所述待译码数据包括编码包,所述编码包携带指示信息,所述指示信息用于指示编码过程中所使用的K个编码系数,所述K个编码系数与所述K个原始数据包一一对应,所述K个编码系数中的非零编码系数均为矩阵,所述矩阵的维度为L×L,K、L均为大于1的整数;
根据所述指示信息对所述待译码数据进行译码,获得所述K个原始数据包。
3.如权利要求1或2所述的方法,其特征在于,所述指示信息为编码系数码本中一个码字的索引,所述码字包括编码系数集合中的X个矩阵,所述编码系数集合包括有限数目的矩阵,X≥K,所述K个编码系数为所述X个矩阵中的K个矩阵。
4.如权利要求3所述的方法,其特征在于,所述码字表示为
Figure FDA0003134515820000011
Figure FDA0003134515820000012
其中,0≤pl%(L+1)≤L,所述编码系数码本中的不同码字对应的pl%(L+1)的取值不同,所述码字的索引与pl%(L+1)具有对应关系,
Figure FDA0003134515820000013
分别为a1,a2,…,aX的pl次幂,a1,a2,…,aX为来自所述编码系数集合中的矩阵,X表示所述码字中所包括的矩阵的个数,所述编码系数集合中的矩阵为循环移位矩阵或循环移位矩阵的变换矩阵,其中,pl%(L+1)表示pl除以(L+1)的余数。
5.如权利要求4所述的方法,其特征在于,X≤L+1,a1,a2,…,aX表示所述编码系数集合中两两不同的X个矩阵。
6.如权利要求3所述的方法,其特征在于,所述码字表示为
Figure FDA0003134515820000014
Figure FDA0003134515820000015
所述编码系数码本中的不同码字对应不同的al
Figure FDA0003134515820000016
分别为al的p0,p1,…,pX-1次幂,X表示所述码字中所包括的矩阵的个数,所述码字的索引与l具有对应关系,al表示所述编码系数集合中的矩阵,l为al在所述编码系数集合中的索引,所述编码系数集合中的矩阵为循环移位矩阵或循环移位矩阵的变换矩阵。
7.如权利要求6所述的方法,其特征在于,X≤L+1,p0,p1,…,pX-1分别除以(L+1)得到的X个余数为[0,L]中两两不同的X个值。
8.如权利要求4~7任一项所述的方法,其特征在于,所述编码系数集合中的不同矩阵对应不同的循环移位矩阵,所述编码系数集合中每个矩阵的循环移位矩阵的变换形式相同。
9.如权利要求4~8任一项所述的方法,其特征在于,所述编码系数集合中的矩阵的数目小于或等于L+1个。
10.如权利要求3~9任一项所述的方法,其特征在于,所述编码系数集合中的矩阵满足
Figure FDA0003134515820000017
其中,M满足0≤M%(L+1)≤L,
Figure FDA0003134515820000018
表示对(L+1)×(L+1)的单位矩阵循环移M位得到的矩阵;
Figure FDA0003134515820000021
表示(L+1)×(L+1)的循环移位矩阵,
Figure FDA0003134515820000022
其中,G为L×(L+1)的矩阵,
Figure FDA0003134515820000023
Figure FDA0003134515820000024
其中,H为(L+1)×L的矩阵。
11.如权利要求3所述的方法,其特征在于,所述码字表示为
Figure FDA0003134515820000025
Figure FDA0003134515820000026
其中,
Figure FDA0003134515820000027
表示a0,a1,…,aX-1的pl次幂,X表示所述码字中所包括的矩阵的个数,所述编码系数码本中的不同码字对应的pl%(2L)的取值不同,所述码字的索引与pl%(2L)具有对应关系,所述编码系数集合中的矩阵满足本原多项式的友矩阵的N次幂或本原多项式的友矩阵的N次幂的变换矩阵,N满足0≤N%2L≤(2L-1),pl%(2L)表示pl除以2L的余数,N%2L表示N除以2L的余数,2L表示2的L次幂。
12.如权利要求11所述的方法,其特征在于,X≤2L,a0,a1,…,aX-1表示所述编码系数集合中两两不同的X个矩阵。
13.如权利要求11所述的方法,其特征在于,所述码字表示为
Figure FDA0003134515820000028
Figure FDA0003134515820000029
分别为al的p0,p1,…,pX-1次幂,X表示所述码字中所包括的矩阵的个数,所述编码系数码本中的不同码字对应不同的al,所述码字的索引与l具有对应关系,al表示所述编码系数集合中的矩阵,l为al在所述编码系数集合中的索引,所述编码系数集合中的矩阵为本原多项式的友矩阵的N次幂或本原多项式的友矩阵的N次幂的变换矩阵,N满足0≤N%2L≤(2L-1)。
14.如权利要求13所述的方法,其特征在于,X≤2L,p0,p1,…,pX-1分别除以2L得到的X个余数为[0,2L-1]中两两不同的X个值。
15.如权利要求11~14任一项所述的方法,其特征在于,所述编码系数集合中的不同矩阵对应的N%2L取值不同。
16.如权利要求11~15任一项所述的方法,其特征在于,所述编码系数集合中的矩阵的数目小于或等于2L个。
17.如权利要求11~16任一项所述的方法,其特征在于,所述本原多项式的友矩阵为A;
其中,
Figure FDA00031345158200000210
或A为
Figure FDA00031345158200000211
的行列变换矩阵;
A中的列向量[aL-1…a1a0]对应的所述本原多项式f(x)=a0+a1x+…aL-1xL-1+xL为伽罗华域GF(2L)的本原多项式中的任意一个。
18.如权利要求1或2所述的方法,其特征在于,所述指示信息为随机种子或所述编码包的标识,所述随机种子或所述编码包的标识用于确定所述K个编码系数在编码系数集合中的索引,所述编码系数集合包括有限数目的矩阵。
19.如权利要求18所述的方法,其特征在于,所述随机种子或所述编码包的标识对应K个随机数,所述K个随机数用于确定所述K个编码系数在编码系数集合中的索引。
20.如权利要求18或19所述的方法,其特征在于,所述编码系数集合中的矩阵为循环移位矩阵或循环移位矩阵的变换矩阵。
21.如权利要求18或19所述的方法,其特征在于,所述编码系数集合中的矩阵为本原多项式的友矩阵的N次幂或本原多项式的友矩阵的N次幂的变换矩阵,N满足0≤N%2L≤(2L-1)。
22.如权利要求1~21任一项所述的方法,其特征在于,所述矩阵中的元素均为二元域中的元素。
23.一种计算机可读存储介质,其特征在于,所述计算机存储介质中存储有计算机可读指令,当所述计算机可读指令运行时,如权利要求1~22任一项所述的方法被执行。
24.一种计算机程序产品,其特征在于,所述计算机程序产品中存储有计算机可读指令,当所述计算机可读指令运行时,如权利要求1~22任一项所述的方法被执行。
25.一种装置,其特征在于,包括电路,所述电路用于执行如权利要求1~22任一项所述的方法。
26.一种装置,其特征在于,包括处理器,所述处理器与存储器耦合,所述存储器存储有指令,所述指令被执行时,使得所述装置执行如权利要求1~22任一项所述的方法。
27.一种装置,其特征在于,包括用于执行如权利要求1~22任一项所述的方法的模块。
CN202110713504.8A 2021-06-25 2021-06-25 一种网络编码方法及装置 Pending CN115529105A (zh)

Priority Applications (2)

Application Number Priority Date Filing Date Title
CN202110713504.8A CN115529105A (zh) 2021-06-25 2021-06-25 一种网络编码方法及装置
PCT/CN2022/100513 WO2022268130A1 (zh) 2021-06-25 2022-06-22 一种网络编码方法及装置

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN202110713504.8A CN115529105A (zh) 2021-06-25 2021-06-25 一种网络编码方法及装置

Publications (1)

Publication Number Publication Date
CN115529105A true CN115529105A (zh) 2022-12-27

Family

ID=84545195

Family Applications (1)

Application Number Title Priority Date Filing Date
CN202110713504.8A Pending CN115529105A (zh) 2021-06-25 2021-06-25 一种网络编码方法及装置

Country Status (2)

Country Link
CN (1) CN115529105A (zh)
WO (1) WO2022268130A1 (zh)

Families Citing this family (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN117076467B (zh) * 2023-10-18 2024-02-27 公诚管理咨询有限公司 基于ma体系的智慧城市标识方法、系统、设备及介质

Family Cites Families (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN102986156B (zh) * 2011-05-11 2016-01-20 华为技术有限公司 编码方法及设备、解码方法及设备、编解码系统
WO2015109500A1 (zh) * 2014-01-23 2015-07-30 华为技术有限公司 数据传输方法和装置
US9883420B2 (en) * 2015-10-23 2018-01-30 Motorola Mobility, Llc Random linear network encoded data transmission from user equipment

Also Published As

Publication number Publication date
WO2022268130A1 (zh) 2022-12-29

Similar Documents

Publication Publication Date Title
CN106899379B (zh) 用于处理极化码的方法和通信设备
CN109716692A (zh) 用于并行极化码编码/解码的方法和设备
CN111954982A (zh) 无线通信系统和广播系统中使用极性码进行编码和解码的装置和方法
KR20190137160A (ko) 폴라 코드 인코딩 방법 및 장치, 무선 디바이스 및 컴퓨터 판독가능 매체
CN109314524A (zh) 使用通用极化码时通过异构内核进行速率匹配的系统和方法
US20240031058A1 (en) Encoding and modulation method, demodulation and decoding method, and apparatus
CN111446969B (zh) 一种级联crc码的极化码编码方法及装置
JP2018504026A (ja) データ送信方法、送信側装置、および受信側装置
CN109391343B (zh) 一种Polar码编码方法及装置
CN108282259A (zh) 一种编码方法及装置
WO2020098461A1 (zh) Polar码编码方法及装置
EP3602797B1 (en) Puncturing of polar codes with complementary sequences
CN113810061A (zh) Polar码编码方法、Polar码译码方法及其装置
EP3910827A1 (en) Polar coding and decoding method and apparatus
US20240214042A1 (en) Data processing method and apparatus
EP4191911A1 (en) Coding method and apparatus and decoding method and apparatus
CN109391345B (zh) 一种Polar码编码方法及装置
WO2022268130A1 (zh) 一种网络编码方法及装置
EP3659260A1 (en) Enhanced information sequences for polar codes
WO2023273975A1 (zh) 一种数据传输方法和通信装置
WO2021249080A1 (zh) 编码方法及装置
WO2022117061A1 (zh) 一种极化码辅助比特的确定方法和装置
CN110034851B (zh) 编码方法、编码设备以及系统
EP3673581B1 (en) Upo compliant information sequences for polar codes
CN114124292A (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