CN115549849A - 数据处理方法及装置 - Google Patents
数据处理方法及装置 Download PDFInfo
- Publication number
- CN115549849A CN115549849A CN202110727292.9A CN202110727292A CN115549849A CN 115549849 A CN115549849 A CN 115549849A CN 202110727292 A CN202110727292 A CN 202110727292A CN 115549849 A CN115549849 A CN 115549849A
- Authority
- CN
- China
- Prior art keywords
- matrix
- codebook
- equal
- satisfies
- finite field
- 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
- 238000003672 processing method Methods 0.000 title claims abstract description 49
- 238000000034 method Methods 0.000 claims abstract description 161
- 239000011159 matrix material Substances 0.000 claims description 520
- 239000013598 vector Substances 0.000 claims description 217
- 238000012545 processing Methods 0.000 claims description 73
- 230000009466 transformation Effects 0.000 claims description 45
- 238000004590 computer program Methods 0.000 claims description 15
- 230000008859 change Effects 0.000 claims description 3
- 238000004891 communication Methods 0.000 abstract description 49
- 238000001228 spectrum Methods 0.000 abstract description 37
- 230000000875 corresponding effect Effects 0.000 description 161
- 230000006870 function Effects 0.000 description 40
- 230000015654 memory Effects 0.000 description 37
- 238000010586 diagram Methods 0.000 description 31
- 230000009897 systematic effect Effects 0.000 description 28
- 230000008569 process Effects 0.000 description 27
- 230000005540 biological transmission Effects 0.000 description 26
- 101100481704 Arabidopsis thaliana TMK3 gene Proteins 0.000 description 25
- 238000013461 design Methods 0.000 description 19
- 238000005516 engineering process Methods 0.000 description 9
- 230000011218 segmentation Effects 0.000 description 7
- 238000000354 decomposition reaction Methods 0.000 description 6
- 101100481702 Arabidopsis thaliana TMK1 gene Proteins 0.000 description 5
- 101100481703 Arabidopsis thaliana TMK2 gene Proteins 0.000 description 5
- 230000007246 mechanism Effects 0.000 description 5
- 239000004065 semiconductor Substances 0.000 description 4
- 238000012937 correction Methods 0.000 description 3
- 230000008878 coupling Effects 0.000 description 3
- 238000010168 coupling process Methods 0.000 description 3
- 238000005859 coupling reaction Methods 0.000 description 3
- 238000013507 mapping Methods 0.000 description 3
- 229910044991 metal oxide Inorganic materials 0.000 description 3
- 150000004706 metal oxides Chemical class 0.000 description 3
- 238000010295 mobile communication Methods 0.000 description 3
- 238000000844 transformation Methods 0.000 description 3
- 229910000577 Silicon-germanium Inorganic materials 0.000 description 2
- 230000009471 action Effects 0.000 description 2
- 230000006978 adaptation Effects 0.000 description 2
- 230000003044 adaptive effect Effects 0.000 description 2
- 230000001413 cellular effect Effects 0.000 description 2
- 230000001276 controlling effect Effects 0.000 description 2
- 230000009977 dual effect Effects 0.000 description 2
- 230000000694 effects Effects 0.000 description 2
- 230000014509 gene expression Effects 0.000 description 2
- 230000006872 improvement Effects 0.000 description 2
- 230000007774 longterm Effects 0.000 description 2
- 230000004048 modification Effects 0.000 description 2
- 238000012986 modification Methods 0.000 description 2
- 230000003287 optical effect Effects 0.000 description 2
- 239000007787 solid Substances 0.000 description 2
- 230000001360 synchronised effect Effects 0.000 description 2
- JBRZTFJDHDCESZ-UHFFFAOYSA-N AsGa Chemical compound [As]#[Ga] JBRZTFJDHDCESZ-UHFFFAOYSA-N 0.000 description 1
- 241000288673 Chiroptera Species 0.000 description 1
- LEVVHYCKPQWKOP-UHFFFAOYSA-N [Si].[Ge] Chemical compound [Si].[Ge] LEVVHYCKPQWKOP-UHFFFAOYSA-N 0.000 description 1
- 238000013459 approach Methods 0.000 description 1
- 238000003491 array Methods 0.000 description 1
- 238000013473 artificial intelligence Methods 0.000 description 1
- 230000003190 augmentative effect Effects 0.000 description 1
- 230000008901 benefit Effects 0.000 description 1
- 238000004422 calculation algorithm Methods 0.000 description 1
- 238000004364 calculation method Methods 0.000 description 1
- 239000003795 chemical substances by application Substances 0.000 description 1
- 230000000295 complement effect Effects 0.000 description 1
- 230000006835 compression Effects 0.000 description 1
- 238000007906 compression Methods 0.000 description 1
- 238000013500 data storage Methods 0.000 description 1
- 230000006837 decompression Effects 0.000 description 1
- 238000011161 development Methods 0.000 description 1
- 230000018109 developmental process Effects 0.000 description 1
- 235000019800 disodium phosphate Nutrition 0.000 description 1
- 235000013399 edible fruits Nutrition 0.000 description 1
- 238000005562 fading Methods 0.000 description 1
- 230000008713 feedback mechanism Effects 0.000 description 1
- 239000000835 fiber Substances 0.000 description 1
- 238000010304 firing Methods 0.000 description 1
- 230000000977 initiatory effect Effects 0.000 description 1
- 239000000203 mixture Substances 0.000 description 1
- 230000007480 spreading Effects 0.000 description 1
- 230000003068 static effect Effects 0.000 description 1
- 238000006467 substitution reaction Methods 0.000 description 1
- 239000002699 waste material Substances 0.000 description 1
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/0076—Distributed coding, e.g. network coding, involving channel coding
-
- 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
- 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/0059—Convolutional codes
Landscapes
- Engineering & Computer Science (AREA)
- Computer Networks & Wireless Communication (AREA)
- Signal Processing (AREA)
- Compression, Expansion, Code Conversion, And Decoders (AREA)
- Error Detection And Correction (AREA)
Abstract
本申请提供一种数据处理方法及装置,可应用于5G、6G等通信***中。该方法包括:通过增加码字数量或码字长度的方式,在第二码本的基础上获得扩充后的第一码本,并基于第一码本进行第一网络编/解码。其中,可以尽量保证扩充后的第一码本中的码字之间的线性无关性,以生成更多有效的冗余包或校验包,从而提升***可靠性,或者,支持灵活块长,以对更多的原始数据包进行高效的网络编/解码,从而提升***频谱效率。本申请可以应用于扩展现实XR业务或其他较低时延业务。
Description
技术领域
本申请涉及通信领域,尤其涉及一种数据处理方法及装置。
背景技术
现有通信***中,虽然反馈重传实现了有效的差错控制,如媒体接入控制(mediumaccess control,MAC)层的混合自动重传请求(hybrid automatic repeat request,HARQ)机制和无线链路控制(radio link control,RLC)层的自动重传请求重传机制联合保证了数据传输的可靠性。但是,随着通信技术的演进及发展,新一代无线接入技术(new radioaccess technology,NR)对***的可靠性、有效性等提出了更高的需求,且反馈重传机制也面临着诸多问题,比如多播或者广播场景中频繁的反馈导致的开销大及性能损失问题。由于网络编码技术是一种前向纠错(forward error correction,FEC)技术,其通过对原始数据包进行编码,并预先增加冗余来对抗无线传输中的丢包或性能损失等问题,以减少反馈开销,所以网络编码为新一代无线接入技术提供了一种保证传输可靠性的不同解决思路。
然而,网络编码技术可能存在编码效率和灵活码率不能兼顾的问题。例如,喷泉码和随机线性网络编码(random linear network coding,RLNC)支持灵活码率,却无法保证编码系数是线性无关的,从而导致编码效率低下。而基于码本(codebook)的最大距离可分(maximum distance separable,MDS)码,如RS码,基于范德蒙(Vandermonde)矩阵或柯西(Cauchy)矩阵构成码本,编码系数具有线性无关性,可以确保编码效率,但由于码本大小是固定的,其大小取决于有限域,如伽罗华域(Galois Field,GF)的域大小,即最多可支持多少个原始数据包进行编码、最多可生成多少个冗余包通常是有限的,因而无法支持灵活多变的原始数据包的个数/块长、编码数据包的个数/码长等,即无法支持灵活码率。
因此,如何设计冗余生成方法,以期提高编码效率和码率灵活性,成为亟待解决的问题。
发明内容
本申请实施例提供一种数据处理方法及装置,以期提高编码系数之间的线性无关性,以解决编码效率和灵活码率不能兼顾的问题。
为达到上述目的,本申请采用如下技术方案:
第一方面,提供一种数据处理方法,该方法可以由发送端设备(例如终端设备或网络设备)执行,也可以由发送端设备的部件,例如发送端设备的处理器、芯片、或芯片***等执行。或者,该方法也可以由接收端设备(例如终端设备或网络设备)执行,也可以由接收端设备的部件,例如接收端设备的处理器、芯片、或芯片***等执行。该方法包括:获得第一码本,并基于第一码本进行第一网络编/解码。其中,第一码本可以通过如下一种或多种扩充规则得到。
扩充规则一:第一码本包括第三码本中的码字,第三码本不同于第二码本,第二码本用于第二网络编/解码。换言之,第一码本是在第二码本的基础上,增加第三码本中的部分或全部码字的方式得到的码本。此时第二码本可以被称为第一码本的基础码本,第一码本可以被称为第二码本的扩充码本。具体地,第一码本可以为一个码本,该码本包括第二码本中的码字,以及第三码本中的部分或全部码字。或者,第一码本也可以包括两个子码本,一个子码本包括第二码本中的码字,另一个子码本包括第三码本中的部分或全部码字,对此不作具体限定。
扩充规则二:第一码本中的任一码字包括:第二码本中的一个码字中s个元素,s为第二码本中的一个码字的长度,s为正整数,以及,第三码本的一个码字或第二码本的一个码字中的全部元素或部分元素,全部元素的个数为第三码本或第二码本中的一个码字的长度,一个码字中的不同元素的值相同或不同。换言之,第一码本中的任一码字,均是通过增加第二码本中的一个码字包含的元素的方式扩充的,增加的元素可以来自第三码本中的一个码字,也可以来自第二码本中的任一个码字。此时第二码本可以被称为第一码本的基础码本,第一码本可以被称为第二码本的扩充码本。具体地,第一码本可以为一个码本,该码本中的任一码字的大小(size,亦可称为维度、长度)大于第二码本中的任一码字的大小。
需要说明的是,上述一个码字中的一个元素,是指该一个码字中的一个成员,不同成员的取值可以相同,也可以不同,对此不作具体限定。
本申请实施例中,对于上述两种扩充规则中涉及的第三码本可以通过第三码本对应的第一矩阵来确定,或者通过第三码本对应的第一矩阵和第二码本对应的第二矩阵之间的关系来确定。
具体地,第一矩阵和第二矩阵可以通过如下一种或多种方式获得。
方式一,第一矩阵为随机系数满秩矩阵,第二矩阵为满秩的非随机系数矩阵。如此,第三码本对应满秩的随机矩阵,使得码字之间可以保持线性无关特性,可以生成更多有效的冗余包或校验包,从而支持灵活的码率或码长;或者,可以支持灵活的块长或支持更多的原始数据包进行高效地编码,提升编码或解码性能,从而提升***频谱效率或提升***可靠性。
方式二,第一矩阵和第二矩阵满足以下中的一项关系:第一矩阵中的向量和第二矩阵中的向量来自于同一个矩阵A的行向量的集合,第一矩阵中的向量的长度或第二矩阵中的向量的长度小于或等于矩阵A的行向量的长度;或,第一矩阵中的向量和第二矩阵中的向量来自于同一个矩阵A的列向量的集合,第一矩阵中的向量的长度或第二矩阵中的向量的长度小于或等于矩阵A的列向量的长度;其中,第一矩阵中的一个或多个向量,即第一矩阵中的全部或部分向量,与第二矩阵中的所有向量均不相同。也就是说,第一矩阵中至少存在一个与第二矩阵中的全部向量均不相同的向量。第三码本和第二码本可以均来自同一个满秩矩阵,使得第三码本的码字和第二码本的码字之间可以保持线性无关特性,相比单独采用第二码本进行网络编码,可以生成更多有效的冗余包或校验包,支持灵活的码率或码长,或者,可以支持灵活的块长或支持更多的原始数据包进行高效地编码,提升编码或解码性能,从而提升***频谱效率或提升***可靠性。
方式三,第一矩阵与第二矩阵满足函数关系。可选的,该函数关系可以使得第三码本的码字和第二码本的码字之间保持线性无关特性,相比单独采用第二码本进行网络编码,可以生成更多有效的冗余包或校验包,支持灵活的码率或码长,或者,可以支持灵活的块长或支持更多的原始数据包进行高效地编码,提升编码或解码性能,从而提升***频谱效率或提升***可靠性。关于该函数的具体实现方式,可以参见下文描述,此处不予赘述。
方式四,第一矩阵对应的有限域的域大小大于第二矩阵对应的有限域的域大小。如此,基于第一码本进行网络编码,相比单独基于第二码本进行网络编码,可以生成更多的冗余包或校验包,支持灵活的码率或码长,或者,可以支持灵活的块长或支持更多的原始数据包编码。进一步的,通过第三码本的特征,码字之间可以尽量保持线性无关特性,提升编码或解码性能,从而提升***频谱效率或提升***可靠性。
基于第一方面提供的数据处理方法,可以通过扩充码字数量的方式,和/或,扩充码字大小的方式,实现码本扩充,可以生成更多有效的冗余包或校验包,支持灵活的码率或码长,或者,可以支持灵活的块长或支持更多的原始数据包进行高效地编码,提升编码或解码性能,从而提升***频谱效率或提升***可靠性。
下面具体说明上述方式一至方式四。
对于方式一,可选地,第二矩阵亦为满秩矩阵,即第一矩阵和第二矩阵均为满秩矩阵。如此,可以确保第一码本中的原***字之间,以及扩充码字之间均各自具有线性无关性,可以支持灵活的块长或支持更多的原始数据包进行高效地编码,提升编码或解码性能,从而提升***频谱效率。
对于方式二,一种可能的实现方式中,矩阵A满足或其中,q为有限域的大小减一,am为有限域中的元素,1≤m≤q,a1,a2,…,am,…,aq为有限域中两两不同的元素,为am的l次幂,0≤l≤q-1。第三码本和第二码本可以来自满秩的范德蒙矩阵,使得第三码本和第二码本的码字之间保持线性无关特性,相比单独采用第二码本进行网络编码,可以生成更多有效的冗余包或校验包,支持灵活的码率或码长,或者,可以支持灵活的块长或支持更多的原始数据包进行高效地编码,提升编码或解码性能,从而进一步提升***频谱效率或提升***可靠性。
另一种可能的实现方式中,第一矩阵满足第二矩阵满足其中,[b1,b2,…,bm,…,bq]和[a1,a2,…,am,…,aq]不同。可以理解的是,该不同,即本申请中描述的两个向量不同,可以包括元素相同,但顺序不同,和/或,全部或部分元素不同。或者,第一矩阵满足 第二矩阵满足 其中,[b1,b2,…,bm,…,bq]T和[a1,a2,…,am,…,aq]T不同。其中,K为与第一网络编/解码对应的原始数据包的个数,q为有限域的域大小减一;am为有限域中的元素,1≤m≤q,a1,a2,…,am,…,aq为有限域中两两不同的元素,为am的l次幂,0≤l≤K-1;bm为有限域中的元素,1≤m≤q,b1,b2,…,bm,…,bq为有限域中两两不同的元素,为bm的l次幂,0≤l≤K-1。第三码本和第二码本可以分别来自不同的满秩范德蒙矩阵,使得第三码本和第二码本的码字之间还能尽量保持线性无关特性,相比单独采用第二码本进行网络编码,可以生成更多有效的冗余包或校验包,支持灵活的码率或码长,或者,可以支持灵活的块长或支持更多的原始数据包进行高效地编码,提升编码或解码性能,从而进一步提升***频谱效率或提升***可靠性。
对于方式三,上述第一矩阵与第二矩阵满足函数关系:可以包括:第一矩阵为第二矩阵与一个非零行向量v=[v1,…,vK]或[v1,…,vq],或者非零列向量v=[v1,…,vK]T或[v1,…,vq]T对应的对角矩阵的乘积。如此,第三码本来自和第二码本对应的矩阵的扩展矩阵,也可以使得第三码本和第二码本的码字之间尽量保持线性无关特性,相比单独采用第二码本进行网络编码,可以生成更多有效的冗余包或校验包,支持灵活的码率或码长,或者,可以支持灵活的块长或支持更多的原始数据包进行高效地编码,提升编码或解码性能,从而进一步提升***频谱效率或提升***可靠性。
可选地,上述第一矩阵与第二矩阵满足函数关系:可以包括:第二矩阵满足 非零向量为行向量v=[v1,…,vK]或列向量v=[v1,…,vK]T,第一矩阵满足: 其中,或者,第二矩阵满足非零向量为行向量v=[v1,…,vq]或列向量v=[v1,…,vq]T,第一矩阵满足: 其中,或者,第二矩阵满足非零向量为行向量v=[v1,…,vK]或列向量v=[v1,…,vK]T,第一矩阵满足: 其中,或者,第二矩阵满足非零向量为行向量v=[v1,…,vq]或列向量v=[v1,…,vq]T,第一矩阵满足: 其中,其中,K为与第一网络编/解码对应的原始数据包的个数,q为有限域的域大小减一,am为有限域中的元素,1≤m≤q,a1,a2,…,am,…,aq为有限域中两两不同的元素,为am的l次幂,0≤l≤K-1,diag(v)为v对应的对角矩阵(diagonal matrix)。第三码本可以来自和第二码本对应的范德蒙矩阵的扩展范德蒙矩阵,也可以使得第三码本和第二码本的码字之间尽量保持线性无关特性,相比单独采用第二码本进行网络编码,可以生成更多有效的冗余包或校验包,支持灵活的码率或码长,或者,可以支持灵活的块长或支持更多的原始数据包进行高效地编码,提升编码或解码性能,从而提升***频谱效率或提升***可靠性。
或者,又一种可能的设计方案中,上述第一矩阵与第二矩阵满足函数关系:可以包括:第一矩阵为第二矩阵进行初等变换后的矩阵,初等变换包括初等行变换,初等列变换,换行变换,或,换列变换中的一项或多项。如此,第三码本来自和第二码本对应的矩阵的初等变换矩阵,可以使得第三码本和第二码本的码字之间尽量保持线性无关特性,相比单独采用第二码本进行网络编码,可以生成更多有效的冗余包或校验包,支持灵活的码率或码长,或者,可以支持灵活的块长或支持更多的原始数据包进行高效地编码,提升编码或解码性能,从而提升***频谱效率或提升***可靠性。此外,还可以基于一个逆矩阵对第一矩阵和第二矩阵进行变换操作,该逆矩阵可以使得第三码本和第二码本的码字之间尽量保持线性无关特性,这种情况下,所述初等变换还可以包括一个非零的数乘以矩阵的某一行或某一列。
示例性地,第二矩阵满足第一矩阵为所述第二矩阵的行变换矩阵;或者,第二矩阵满足所述第一矩阵为第二矩阵的列变换矩阵。其中,K为与所述第一网络编/解码对应的原始数据包的个数,q为有限域的域大小减一,am为有限域中的元素,1≤m≤q,a1,a2,…,am,…,aq为有限域中两两不同的元素,为am的l次幂,0≤l≤K-1。
对于方式四,上述第一矩阵对应的有限域的域大小大于第二矩阵对应的有限域的域大小,可以包括:第二矩阵满足第一矩阵满足 所在有限域的域大小Q1大于所在有限域的域大小Q2。或者,第二矩阵满足第一矩阵满足 所在有限域的域大小Q1大于所在有限域的域大小Q2。其中,K为与第一网络编/解码对应的原始数据包的个数,q1=Q1-1,q2=Q2-1,为所述域大小Q2的有限域中两两不同的元素,为所述域大小Q1的有限域中两两不同的元素。如此,第三码本和第二码本对应的有限域不同,在数域维度上对码本进行扩展,相比单独采用第二码本进行网络编码,可以生成更多有效的冗余包或校验包,支持灵活的码率或码长,或者,可以支持灵活的块长或支持更多的原始数据包进行高效地编码,提升编码或解码性能,从而提升***频谱效率或提升***可靠性。
示例性地,第二码本中的码字可以为如下一项或多项:里德-所罗门码(Reed-Solomon code,RS)、最大距离可分(maximum distance separable,MDS)码、低密度奇偶校验码(low density parity check code,LDPC)、博斯-乔赫里-霍克文黑姆码(Bose-Chaudhuri-Hocquenghem code,BCH)。如此,针对有结构特点的码字进行扩展,可以设计出与之尽量线性无关的第三码本,相比单独采用第二码本进行网络编码,可以生成更多有效的冗余包或校验包,支持灵活的码率或码长,或者,可以支持灵活的块长或支持更多的原始数据包进行高效地编码,提升编码或解码性能,从而提升***频谱效率或提升***可靠性。
需要说明的是,第一方面提供的数据处理方法,既可以适用于基于分组码的网络编/解码,也可以适用于基于卷积码的网络编/解码。
此外,针对可变卷积编码深度的卷积码,本申请实施例还提供另一种数据处理方法,具体参见下述第二方面提供的数据处理方法。
第二方面,提供一种数据处理方法,该方法可以由发送端设备(例如终端设备或网络设备)执行,也可以由发送端设备的部件,例如发送端设备的处理器、芯片、或芯片***等执行。或者,该方法也可以由接收端设备(例如终端设备或网络设备)执行,也可以由接收端设备的部件,例如接收端设备的处理器、芯片、或芯片***等执行。该方法包括:基于第四码本,获取编码系数,并基于该编码系数,对一个网络编码滑动窗中的多组原始数据包进行网络编/解码。其中,编码系数包括多组元素,多组元素与多组原始数据包一一对应,多组元素中的任一组元素均来自第四码本中的一个码字,且任意两组元素来自第四码本中的不同码字。
基于第二方面提供的数据处理方法,可以根据一个有限大小的码本,获取与一个网络编码滑动窗内的多组原始数据包一一对应的多组元素,并使用该多组元素组合后的编码系数,对该一个网络编码滑动窗内的所有待传输数据包一起编码或解码,可以支持灵活的块长或支持更多的原始数据包进行编码,且多组元素中的任意两组均来自第四码本中的不同码字,可以使得在不同的网络编码滑动窗内,同一组数据包对应的编码系数来自第四码本中的不同码字,从而针对同一组数据包,生成的冗余包或校验包均是有效的,如此,提升编码或解码性能,从而提升***频谱效率或提升***可靠性。
其中,第四码本可以是第一方面中涉及的第一码本、第二码本、第三码本中的一个或多个,也可以是通过其他方式获取的码本,本申请实施例对此不做限定。
可选地,第四码本中任意一个码字的长度小于多组原始数据包中的数据包总数,且大于或等于多组原始数据包中任一组数据包中的数据包数。
一种可能的设计方案中,在不同的网络编码滑动窗内,同一组数据包对应的编码系数两两不同。如此,可以支持灵活的块长或支持更多的原始数据包进行高效地编码,提升编码或解码性能,从而提升***频谱效率或提升***可靠性。
一种可能的设计方案中,在不同的网络编码滑动窗内,同一组数据包采用不同的冗余版本进行网络编/解码。如此,可以支持灵活的块长或支持更多的原始数据包进行高效地编码,提升编码或解码性能,从而提升***频谱效率或提升***可靠性。
第三方面,提供一种数据处理装置。该装置用于执行第一方面、或第二方面中任意一种实现方式所述的数据处理方法。
应理解,第三方面所述的数据处理装置包括实现上述第一方面、或第二方面中任一种可能的实现方式所述的数据处理方法相应的模块、单元、或手段(means),该模块、单元、或手段可以通过硬件实现,软件实现,或者通过硬件执行相应的软件实现。该硬件或软件包括一个或多个用于执行上述数据处理方法所涉及的功能的模块或单元。比如,用于执行上述数据处理方法所涉及的编/解码功能的模块可以为编码器或解码器,或,编码和解码器。其中,编码器或解码器,或,编码和解码器可以由电路实现,比如由数字电路实现。
第四方面,提供一种数据处理装置。该装置包括:处理器,该处理器用于执行第一方面、或第二方面中任意一种可能的实现方式所述的数据处理方法。
在一种可能的设计方案中,第四方面所述的数据处理装置还可以包括接口电路或收发器。该收发器可以为收发电路或接口电路。该接口电路或收发器可以用于第四方面所述的数据处理装置与其他装置或模块通信。
在一种可能的设计方案中,第四方面所述的通信装置还可以包括存储器。该存储器可以与处理器集成在一起,也可以分开设置。该存储器可以用于存储第一方面、或第二方面中任一种可能的实现方式所述的编/解码方法所涉及的计算机程序和/或数据。
第五方面,提供一种数据处理装置。该装置包括:处理器,该处理器与存储器耦合,该处理器用于执行存储器中存储的计算机程序,以使得该装置执行第一方面、或第二方面中任意一种可能的实现方式所述的数据处理方法。
在一种可能的设计方案中,第五方面所述的数据处理装置还可以包括接口电路或收发器。该接口电路或收发器可以用于第五方面所述的数据处理装置与其他装置通信。该接口电路或收发器,用于连接处理器,并与该装置之外的其他装置进行交互
在本申请中,上述第三方面至第五方面中任一种可能的实现方式所述的数据处理装置,可以为第一方面、或第二方面中任一种可能的实现方式中涉及的发送端设备或接收端设备。其中,发送端设备或接收端设备均可以为终端设备或网络设备,或者为可设置于该终端设备或网络设备中的芯片(***)或其他部件或组件,或者包含该终端设备或网络设备的装置。
此外,第三方面至第五方面中任一种可能的实现方式中所述的数据处理装置的技术效果,可以参考第一方面、或第二方面中任一种可能的实现方式所述的数据处理方法的技术效果,此处不再赘述。
第六方面,本申请实施例提供一种芯片,包括:处理器。该处理器与存储器耦合,存储器用于存储程序或指令,当程序或指令被所述处理器执行时,使得该芯片实现上述第一方面、或第二方面中任一种可能的实施方式所述的数据处理方法。
第七方面,提供一种通信***。该通信***包括发送端设备和接收端设备。
第八方面,提供一种计算机可读存储介质,包括:计算机程序或指令;当该计算机程序或指令在计算机上运行时,使得该计算机执行第一方面、或第二方面中任意一种可能的实现方式所述的数据处理方法。
第九方面,提供一种计算机程序产品,包括计算机程序或指令,当该计算机程序或指令在计算机上运行时,使得该计算机执行第一方面、或第二方面中任意一种可能的实现方式所述的数据处理方法。
附图说明
图1A为本申请实施例提供的网络编码流程的示意图一;
图1B为本申请实施例提供的网络编码流程的示意图二;
图1C为本申请实施例提供的网络编码流程的示意图三;
图1D为本申请实施例提供的网络编码流程的示意图四;
图2为本申请实施例提供的通信***的架构示意图一;
图3为本申请实施例提供的通信***的架构示意图二;
图4为本申请实施例提供的通信***的架构示意图三;
图5为本申请实施例提供的通信***的架构示意图四;
图6为本申请实施例提供的通信***的架构示意图五;
图7为本申请实施例提供的数据处理方法涉及的协议架构图;
图8为本申请实施例提供的数据处理方法的流程示意图一;
图9为图8中所示出的数据处理方法所适用的场景示意图一;
图10为图8中所示出的数据处理方法所适用的场景示意图二;
图11为图8中所示出的数据处理方法所适用的场景示意图三;
图12为图8中所示出的数据处理方法所适用的场景示意图四;
图13为图8中所示出的数据处理方法与现有网络编/解码方法的性能对比示意图一;
图14为图8中所示出的数据处理方法与现有网络编/解码方法的性能对比示意图二;
图15为本申请实施例提供的数据处理方法的流程示意图二;
图16为图15中所示出的数据处理方法所适用的场景示意图一;
图17为图15中所示出的数据处理方法所适用的场景示意图二;
图18为图15中所示出的数据处理方法所适用的场景示意图三;
图19为本申请实施例提供的数据处理装置的结构示意图一;
图20为本申请实施例提供的数据处理装置的结构示意图二;
图21为本申请实施例提供的一种终端设备的结构示意图;
图22为本申请实施例提供的一种网络设备的结构示意图。
具体实施方式
为了方便理解本申请实施例的技术方案,首先给出本申请相关技术或名词的简要介绍如下。
网络编码(network coding,NC):本申请中的网络编码功能包括对原始数据包进行网络编码和添加编码数据包的包头。其中,网络编码可以通过编码器来实现,编码器的输入为K个原始数据包,编码器的输出为N个编码数据包(简称为编码包),其中,N和K均为正整数,且N>K。编码数据包包括N-K个冗余包和K个***包,或者,N个冗余包(即编码数据包均为冗余包,不包括***包)。其中,***包的内容和原始数据包的内容相同,由于***包也可以不经过编码生成,比如,可以通过直接给原始数据包加包头获得***包,因而,可以认为***包的等效编码系数为单位向量。冗余包也称为校验包,冗余包的编码系数为非单位向量。通过冗余包的内容和生成该冗余包的原始数据包的内容之间的关联,接收端可以通过冗余包和成功接收的原始数据包或***包一起解码,恢复未成功接收的原始数据包。另一种可能的实现中,原始数据包可以先加包头后再进行网络编码和添加编码包的包头,获得校验包。在本申请中,将网络编码前原数据包加包头得到的数据包也称为***包。基于网络编码的特点,原始数据包的包大小相等。进一步的,网络编码功能还可以包括对原始数据单元,比如服务数据单元(service data unit,SDU)或协议数据单元(protocol data unit,PDU)进行处理获得大小相等的原始数据包的过程,该处理可以包括分割,级联,或,加填充(padding)中的一种或多种。发送端的网络编码功能对应接收端的网络解码功能。接收端通过对成功接收的至少K个编码数据包一起进行解码可以恢复出K个原始数据包。具有网络编码功能或网络编码对应的解码功能的协议层称为网络编/解码层,本申请中将网络编/解码层简称为网络编码层,即,上述具有网络编/解码功能的协议层称为网络编码层。
网络编码层可以是无线资源控制(radio resource control,RRC)层,分组数据汇聚层协议(packet data convergence protocol,PDCP)层,回传适配协议(backhauladaptation protocol,BAP)层,无线链路控制(radio link control,RLC)层,媒体接入控制(medium access control,MAC)层,或物理层(physical layer,PHY)等协议层。网络编码层也可以是除MAC层,RLC层,BAP层,以及PDCP层之外的一个新的协议层,可以为在PDCP层之上增加一个网络编码层,或者,在BAP层之上增加一个网络编码层,或者,在PDCP层和RLC层之间增加一个网络编码层,或者,在RLC层和MAC层之间增加网络编码层,或者,在MAC层和PHY层之间增加网络编码层,新协议层的位置在本申请中可以不予限定。在本申请实施例中,术语“网络编码层”也可以称为“编解码层”,“编解/码层”,“网络编/解码层”,“网络编解码层”,“网络编/解码层”,或者其它名称,在本申请中不进行限定。
常用的网络编码方案包括分组码和卷积码两大类,其中,分组码的方案包括随机线性网络编码(random linear network coding,RLNC)、确定线性网络编码(deterministic linear network coding,DLNC)、分批稀疏码(batch sparse code,BATScode)、纠删码(erasure code)、喷泉码(fountain code)、最大距离可分码(maximumdistance separable code,MDS code)、LT(Luby Transform)码、快速旋风(Rapidtornado)码、RaptorQ码、无速率(rateless)码和RS(Reed-solomon)码等中的一项或多项,卷积码的方案包括卷积网络编码(convolutional network coding,CNC)、流编码(streaming code)和滑动窗口网络编码(sliding window network coding)等中的一项或多项。
下面对发送端(简称为发端)网络编码功能的两种可能的网络编码流程进行介绍。
第一种可能的网络编码流程
先获取PDU或者SDU,以PDU为例,通过对一个或多个PDU进行分割,级联,或,加填充等处理中的一项或多项获得等大小的原始数据包,其中,原始数据包携带每个原始数据包和该原始数据包对应的一个或多个PDU之间的对应关系,该携带可以是显式的携带,比如,携带每个原始数据包和该原始数据包对应的一个或多个PDU之间的位置映射关系,该携带也可以是隐式的携带,比如,每个原始数据包和该原始数据包对应的一个或多个PDU之间的对应关系是默认的;这样接收端(简称为收端)可以基于所述对应关系从原始数据包恢复出PDU。
可选的,每个原始数据包的包头携带该原始数据包和该原始数据包对应的一个或多个PDU之间的对应关系。这种情况下,一种可能的实现是:先对PDU进行前述的分割,级联,加填充等处理中的一项或多项获得原始数据,再对原始数据添加包头获得等大小的原始数据包。
可选的,所述对应关系可以通过一个或多个PDU的分割和/或级联的情况进行指示。
可以理解的是,若PDU或SDU本身就是等大小的话,那么就可以跳过上述通过对一个或多个PDU进行分割,级联,加填充等处理中的一项或多项,以获得等大小的原始数据包的步骤,即,PDU或者SDU就是等大小的原始数据包。
图1A和图1B以PDU大小不等以及通过包头携带上述对应关系为例,先对PDU1~PDU4进行处理得到原数据原始数据1~原始数据4,这里对PDU的处理可以是分割,级联,加填充等操作中的一项或多项;原始数据的大小可以相等也可以不等;再对该组原始数据进行加包头的操作,得到K个原始数据包,即图1A或图1B中原始数据包1~原始数据包4,原始数据包可以理解为是未经过编码的数据包,且原始数据包的大小相等。
然后对多个等大小的原始数据包进行编码。具体的,可以有如下三种编码方式。
编码方式1
如图1A所示,通过对一组K个原始数据包进行编码,并添加编码数据包包头,可以得到N-K个编码数据包,这里的编码数据包可以称为校验包或者冗余包,其中,K为正整数,N为不小于K的正整数。
通过上述操作,发送端最终发送K个原始数据包和N-K个冗余包。
编码方式2和编码方式3如图1B所示,通过对K个原始数据包进行处理得到N个编码数据包,如图1B中编码数据包1~编码数据包6,编码数据包可以分为***包和校验包,***包也可以称为***数据包,校验包可以称为冗余包。其中,编码数据包的包头可以包括系数因子字段,该系数因子字段指示获得该编码数据包的编码系数。***包(编码数据包1~编码数据包4)由编码数据包包头以及包体构成,包体的内容和原始数据包的内容一致,包头包括的系数因子字段为单位向量。因此,对原始数据包进行处理获得***包的过程可以包括编码方式2和编码方式3两种,其中,K为正整数,N为不小于K的正整数。
其中编码方式2中,由原始数据包直接添加编码数据包包头生成的,也即不经过编码处理。
其中编码方式3中,原始数据包经过编码处理,即经过为单位向量的系数因子编码后,添加编码数据包包头而生成。
编码方式2和编码方式3中的校验包的生成方式相同,均为对原始数据包编码且添加编码数据包包头而生成。如图1B中所示,N-K个校验包(如编码数据包5~编码数据包6)由K个原始数据包(如原始数据包1~原始数据包4)通过编码并添加编码数据包包头生成,其包体部分(编码数据1~编码数据2)是K个原始数据包和系数因子相乘再相加作用的结果,其中系数因子为非单位向量。
通过上述操作,发送端最终发送N个编码数据包。
相应的,仍以图1A为例,对于接收端,针对编码方式1,接收端收到至少K个数据包,且该K个数据包线性无关,即对应的系数矩阵的秩等于K,这样,接收端通过解码可以恢复出K个原始数据包,继而恢复出相应的PDU。其中,该至少K个数据包可以全部为冗余包,或,部分为原始数据包及部分为冗余包,在此不予限定。可以理解的是,如果接收端收到的是K个原始数据包,那么可以不进行解码。
针对编码方式2和编码方式3,仍以图1B为例,接收端需要收到至少K个数据包,且该K个数据包线性无关,即对应的系数矩阵的秩等于K,这样,接收端通过解码恢复出K个原始数据包,继而恢复出相应的PDU。该至少K个数据包可以全部为冗余包,或,部分为***包及部分为冗余包,在此不予限定。可以理解的是,如果接收端收到的是K个***包,那么可以不进行解码,进行去编码数据包包头处理即可。
在上述的网络编码功能中,通过对一个或多个PDU/SDU进行分割,级联,或,加填充(padding)等处理中的一项或多项获得等大小的原始数据包,其中,原始数据包携带每个原始数据包和该原始数据包对应的一个或多个PDU/SDU之间的对应关系。
第二种可能的网络编码流程:
在第二种可能的网络编码流程中,可以采用虚拟分割/级联和加填充的处理中的一项或多项的方式获得等大小的原始数据包。在这种方式中,先将PDU/SDU和每个PDU/SDU的头信息映射到缓存中,该缓存可以是真实缓存也可以是虚拟缓存,每个PDU/SDU的头信息指示每个PDU/SDU映射在缓存中的位置。再从缓存中获得多个等大小的原始数据包。进而对多个等大小的原始数据包进行编码获得编码数据包。其中,从缓存中获得多个等大小的原始数据包的方式可以是预先设定的,或者,由发送端指示给接收端,或者,由数据传输的双方中处于控制地位的一方确定后指示给另一方。这种虚拟方式中,原始数据包没有包头,但考虑和第一种方式中的描述对齐,仍将本方案中从缓存中获得的等大小的数据段称为原始数据包。可以理解的是,本方案中的原始数据包也可以称为原始数据段。
其中,对多个等大小的原始数据包进行编码获得编码数据包的方式和第一种可能的网络编码流程中的方式1类似,其与方式1的不同在于,编码后,发送端发送一个或多个PDU/SDU及该一个或多个PDU/SDU的头信息,以及,编码获得的冗余包中的一个或多个。
可以理解的是,网络编码层的输入可以为一个或多个原始的数据单元,如SDU或PDU,网络编码层的输出可以为一个或多个PDU,该一个或多个PDU可以包括前述的原始数据包和冗余包,或者,前述的***包和冗余包。其中,输出该一个或多个PDU可理解为通过通信接口在终端设备内或网络设备内将该一个或多个PDU输出给后续处理该一个或多个PDU的模块。可以理解,本申请中涉及的输出可以是指在空口上发送信号,也可以指在装置(例如,终端设备或网络设备)内通过通信接口将信号输出给该装置内的其他模块。具体过程在应用场景中具体描述,在此不予赘述。
***包:由原始数据包乘以为单位向量的编码系数生成的编码数据加编码包包头,或是,原始数据包直接加编码包包头得到。例如,原始数据包采用大小为N×K的编码系数矩阵(即图1C中的AN×K进行网络编码得到N个编码数据包,其中编码系数矩阵可以写成其中前K行构成的子矩阵IK是单位阵,由K个单位向量构成,获得的N个编码数据中对应于IK部分的K个编码数据即为K个***包的数据部分,对编码数据加包头信息即为***包。
冗余包:由对原始数据包进行网络编码生成,冗余包的编码系数为非单位向量。比如,采用大小为N×K的编码系数矩阵(即图1C中的AN×K进行网络编码得到得到N个编码数据,其中编码系数矩阵可以写成N个编码数据中对应于G(N-K)×K部分的N-K个编码数据即为N-K个冗余编码包的数据部分,对该N-K个编码数据加包头信息即为冗余包。在本申请实施例中,术语“冗余包”还可以简称为“校验包”,两者可替换使用。
网络编码分组:分组码相关的术语,分组码中网络编码分组是包含了多个原始数据包的集合。例如,将每K个原始数据包分为一个网络编码分组进行独立网络编码,可以得到与该网络编码分组对应的编码数据。在本申请实施例中,术语“网络编码分组”还可以称为“网络编码块”,“编码分组”,或“编码块”。
网络编码窗:网络编码窗是针对包含滑动窗口的网络编码方案或卷积码使用的术语,网络编码窗是包含了多个原始数据包的集合,不同的网络编码窗包含的原始数据包可以部分相同。例如,对E个原始数据包采用滑动窗口的方式获得K个原始数据包,E和K均为正整数且E不小于K,作为当前的网络编码窗,并对该网络编码窗内的K个原始数据包进行网络编码,获得与该网络编码窗对应的编码数据,对网络编码窗进行滑动,可以获得又一组原始数据包作为待编码的数据包,需要说明的是,网络编码窗的大小在滑动前后可以不同,网络编码窗的大小是指网络编码窗包含的原始数据包的个数,网络编码窗在滑动前后包含的原始数据包可以部分相同。在本申请实施例中,术语“网络编码窗”还可以称为“网络编码窗口”,“网络编码滑动窗口”,“编码窗口”,“编码窗”,“滑动窗口”,或,“滑动窗”等。
网络编码编码深度:网络编码窗是针对包含滑动窗口的网络编码方案或卷积码使用的术语,网络编码编码深度是网络编码窗内被编码的原始数据包的个数,或者网络编码窗的大小。例如,对E个原始数据包采用滑动窗口的方式获得K个原始数据包,E和K均为正整数且E不小于K,作为当前的网络编码窗,并对该网络编码窗内的K个原始数据包进行网络编码,获得与该网络编码窗对应的编码数据,那么当前的网络编码编码深度为K。在本申请实施例中,术语“网络编码编码深度”还可以称为“网络编码卷积深度”,“编码深度”,“卷积深度”,“滑动窗口大小”,“滑动窗大小”,或,“窗大小”等。
网络编码卷积深度:同“网络编码编码深度”。
网络编码滑动窗口:同“网络编码窗”。
有限域:也称伽罗瓦域,是仅含有限个元素的域,可进行加法、减法、乘法和除法运算,且加、减、乘和除运算结果不会超出域的集合。
对应于网络编码的解码情况,所述解码情况指示一段时间内对应于网络编码分组或者网络编码滑动窗口的解码的成功率和/或失败率,其中,网络编码分组或网络编码滑动窗口中的全部的原始数据包均解码成功,称作该网络编码分组或者网络编码滑动窗口解码成功,否则,称作该网络编码分组或者网络编码滑动窗口解码失败,成功率即一段时间内解码成功的网络编码分组占所有网络编码分组的比例,或者,一段时间内解码成功的网络编码滑动窗口占所有网络编码滑动窗口的比例,失败率即一段时间内解码失败的网络编码分组占所有网络编码分组的比例,或者,一段时间内解码失败的网络编码滑动窗口占所有网络编码滑动窗口的比例。
丢包率:丢包率是指没有成功接收的数据包的个数占总数据包的比值,针对网络编码方案,丢包率还可以指没有成功接收或没有成功解码的原始数据包的个数占总原始数据包的个数的比值。总数据包或总原始数据包为总共发送的或总共待接收的。
网络编码码率:网络编码码率是指原始数据包的个数与编码数据包的个数的比值,或者,网络编码码率是指当前编码窗内新参与编码的原始数据包个数与当前编码窗对应的总数据包的个数的比值,或者,当前网络编码窗包含的原始数据包的个数与当前网络编码窗对应的编码数据包的个数的比值。其中,新参与编码的原始数据包个数是滑动窗口滑动后包含的原始数据包的个数减去滑动后与滑动前包含的相同的原始数据包的个数,编码数据包的个数为***包的个数与冗余包的个数之和,或者,为冗余包的个数。
码本:码本是指用于网络编/解码所使用的编码系数向量的集合。术语“码本”还可以称为“编码系数向量的集合”。
随机线性网络编码RLNC:由于空口传输时延和接收端数据处理时延以及反馈时机的限制,基于反馈的重传机制时延比较大,例如,频分双工(frequency-division duplex,FDD)***中一次上行HARQ处理的往返时间(round-trip time,RTT)是8个传输时间间隔(transmission time interval,TTI)。盲重传由于不需要基于反馈信息进行重传虽然可以降低时延,但无论初传数据正确与否都占用资源进行重传,频谱效率较低。
RLNC技术提供了一种兼顾时延和频谱效率性能的传输机制。基于RLNC的网络编码的基本原理如图1D如示。
发送端将需要发送的数据包分成多个RLNC编码块,每个RLNC编码块包含K个原始数据单元,分别用X1,X2,…,XK表示。之后,对该K个原始数据单元进行编码得到N(N≥K)个编码数据包,该N个编码数据包例如可以满足公式该N个编码数据包可以用Y1,Y2,…,YN表示,其中,Yi表示第i个编码数据包,Xk表示第k个原始数据单元,gi,k表示第i个编码数据包中第k个原始数据单元的随机系数,gi,k可以从有限域或GF域中随机选取,GF域是一个包含有限个元素的域,用GF(Q)可以表示一个包含Q个元素的GF域。此外,每个编码数据包Yi的头部都携带生成该编码数据包所使用的编码系数向量,编码系数向量的长度与编码块中原始数据单元的个数K相同。
发送端针对每个RLNC编码块向接收端发送N个编码数据包。若接收端接收到的编码数据包的个数不少于该编码块中原始数据单元的个数,且收到的编码数据包头部携带的编码系数向量组成的矩阵的秩为原始数据单元的个数(即接收端接收到M个线性独立的编码数据包),则接收端可解码得到K个原始数据单元,例如接收端可以根据编码系数构建线性方程组,线性方程组中Xk,k∈{1,2,…K}即K个待求解的未知数,随后利用线性方程理论即可解码得到K个原始数据单元。
示例性地,若上述N个编码数据包Y1,Y2,…,YN全部接收正确,接收端可以将收到的N个编码系数向量组合在一起形成一个关于未知数X1,X2,…,XK的K元一次线性方程组,该方程组的系数矩阵可以如下所示,其中,[gi,1,gi,2,…,gi,K]为第i个编码数据包的编码系数向量:
在无线信道环境下,信道噪声或移动性衰落或者用户干扰等因素,可能导致接收端接收到的部分编码数据包出错,但对于一个编码块,在正确接收的编码数据包的个数U不小于该编码块中原始数据单元的个数K,且该U个编码数据包头部携带的编码系数向量组成的矩阵的秩为K的情况下,接收端仍可以解码得到K个原始数据单元,其中,U为小于N的正整数。因此,对于RLNC技术来说,发送端无需等到接收端的反馈请求再重传,其可以提前发送若干个编码数据包来对抗无线信道的影响,节省时延,也无需要消耗成倍数的资源对每个TB都进行盲重传,避免频谱资源的浪费。
基础码本及其确定方法:基础码本是发送端编码器生成编码数据包时可用的编码系数的集合,基础码本中的任意一个码字包含一组编码系数,根据该组系数对原始数据包进行编码可以生成一个编码数据包,对于接收端解码器,可以根据基础码本、编码数据包中指示的信息获得该编码数据包对应的编码系数,用于解码器的解码获得原始数据包。基础码本可以通过在线计算的方式获得,也可以通过***存储的方式直接获得。
如下通过基于范德蒙矩阵的***RS码为例来介绍基础码本,首先需要说明的是,基于范德蒙矩阵的***RS码,可以通过生成矩阵(也称为编码矩阵)表示:一种生成矩阵是根据范德蒙矩阵变换成单位阵和一个子矩阵的组合,这种方式确定的基础码本中各个码字是子矩阵的各行或各列;还有一种基于范德蒙矩阵的***RS码的生成矩阵直接是单位阵和范德蒙矩阵的组合,这种方式确定的基础码本中的各个码字是范德蒙矩阵的各行或各列。
基础码本:***RS码对应的基础码本确定方法一:根据范德蒙矩阵变换成单位阵和一个子矩阵的组合,进而确定基础码本的过程具体说明如下:如果编/解码器采用有限域大小是GF(Q),Q一般是28,也可以是其它值,本申请不做限定,那么大小为Q的有限域上最大维度的范德蒙矩阵是q行q列(其中q=Q-1)的矩阵(例如,GF(28)最大的范德蒙矩阵是),其中[a1,a2,…,aq]取自GF(Q)且两两互异,根据原始数据包的个数K和一组参数[a1,a2,…,aq]确定K行的范德蒙矩阵 V0可以表示成V0=[A0|B0]的形式,其中A0是V0中的K行K列子矩阵,B0是的V0中的K行(q-K)列子矩阵,那么利用A0的逆矩阵A0 -1对V0进行变换可以得到单位阵和一个子矩阵的组合,即A0 -1左乘V0可获得***RS码的生成矩阵A0 -1V0=[I|A0 -1B0]=[I|G0],其中K×K维的单位阵I就对应***包的编码系数,K行(q-K)列的矩阵G0=A0 -1B0=[G0,0 G0,1 … G0,q-K-1]对应编码数据包的编码系数,K个原始数据包组成的行向量左乘G0即可生成(q-K)个编码数据包,那么,这(q-K)列编码系数向量可作为(q-K)个码字构成基础码本。
类似的,根据原始数据包的个数K和一组参数[a1,a2,…,aq]也可以确定K列的范德蒙矩阵V0可以表示成的形式,其中A0是V0中的K行K列子矩阵,B0是的V0中的(q-K)行K列子矩阵,那么利用A0的逆矩阵A0 -1对V0进行变换可以得到单位阵和一个子矩阵的组合,即V0左乘A0 -1可获得***RS码的生成矩阵 其中K×K维的单位阵I就对应***包的编码系数,(q-K)行K列的矩阵G0=B0A0 -1=[G0,0G0,1 … G0,q-K-1]T对应编码数据包的编码系数,G0左乘原始数据包构成的列向量即可生成(q-K)个编码数据包,那么,这(q-K)行编码系数可作为(q-K)个码字构成基础码本。
所以,基于上述***RS码对应的基础码本确定方法一,根据原始数据包的个数K和一组参数[a1,a2,…,aq]即可确定基础码本,也就是通过在线的方式获得基础码本。也可以通过***存储的方式直接获得基础码本,可以采用表格的形式表示基础码本,例如表1所示。
如表1所示,索引为0的系数向量可以是上述K行(q-K)列的矩阵G0中的列向量G0,0,依次类推,是上述K行(q-K)列的矩阵G0中的G0,r,或者,变换一下索引和编码系数关系即码字之间的位置互换,或者,也可以采用其它方式表示上述码字的序号或标识,或者,基础码本表格中的码字是上述{G0,0 G0,1 … G0,q-K-1}中的部分码字,或者,码字以行向量的形式呈现而不以表1中的列向量[·]T的形式呈现,或者,上述基础码本表格中的各个编码系数也可以不是根据上述中的G0确定的,例如,基于柯西矩阵确定的编码系数,本申请不做限定。其中,r为自然数,0≤r≤q-K-1。
表1
***RS码对应的基础码本确定方法二:基于范德蒙矩阵的***RS码的生成矩阵直接是单位阵和范德蒙矩阵的组合,进而确定基础码本的过程具体说明如下:如果编/解码器采用有限域大小是GF(Q),Q一般是28,也可以是其它值,本申请不做限定,那么大小为Q的有限域上最大维度的范德蒙矩阵是q行q列(其中q=Q-1)的矩阵(例如,GF(28)最大的范德蒙矩阵是255行255列的矩阵),其中[a1,a2,…,aq]取自GF(Q)且两两互异,可以将矩阵V0中的q列编码系数可作为q个码字构成基础码本,针对原始数据包的个数K(K≤q),从基础码本中取出q×1维的各个码字时可以从中截取前K个或后K个或任意位置的连续K个元素作为编码系数,也可以将矩阵V0中的q行编码系数可作为q个码字构成基础码本,针对原始数据包的个数K(K≤q),从基础码本中取出1×q维的各个码字时可以从中截取前K个或后K个或任意位置的连续K个元素作为编码系数。也可以直接根据原始数据包的个数K和一组参数[a1,a2,…,aq]或直接根据一组参数[a1,a2,…,aK]确定K行的范德蒙矩阵或那么***RS码生成矩阵是[I|V0],其中K×K维的单位阵I就对应***包的编码系数,q列的范德蒙矩阵V0就对应编码数据包的编码系数,K个原始数据包构成的行向量左乘V0即可生成q个编码数据包,所以,这q列编码系数可作为q个码字构成基础码本。或者,根据原始数据包的个数K和一组参数[a1,a2,…,aq]或根据一组参数[a1,a2,…,aK],也可以确定K列的范德蒙矩阵或那么***RS码生成矩阵是其中K×K维的单位阵I就对应***包的编码系数,q行的范德蒙矩阵V0就对应编码数据包的编码系数,V0左乘原始数据包构成的列向量即可生成q个编码数据包,所以,这q行编码系数可作为q个码字构成基础码本。
基于上述***RS码对应的基础码本确定方法二,根据原始数据包的个数K和一组参数[a1,a2,…,aq]或[a1,a2,…,aK]即可确定基础码本,也就是通过在线的方式获得基础码本。也可以通过***存储的方式直接获得基础码本,可以采用表格的形式表示基础码本,例如表2和表3所示。
表2
如表2所示,索引为0对应的系数向量可以是上述GF(Q)域上最大维度的矩阵V0中的依次类推,是上述矩阵V0中的或者,索引为0对应的编码系数可以是上述GF(Q)域上最大维度的矩阵V0中的依次类推,是上述中的或者,变换一下索引和编码系数关系即码字之间的位置互换,或者,也可以采用其它方式表示上述码字的序号或标识,或者,基础码本表格中的码字是上述V0中的全部或部分码字,或者,码字以行向量的形式呈现而不以表2中的列向量[·]T的形式呈现,或者,基础码本表格中的各个编码系数也可以不是根据上述中的G0确定的,例如,基于柯西矩阵确定的编码系数,本申请不做限定。其中,r为自然数,0≤r≤q-1。
表3
如表3所示,索引为0对应的系数向量可以是上述中的依次类推,是上述矩阵V0中的或者,索引为0对应的系数向量可以是上述矩阵V0中的依次类推,是上述矩阵V0中的或者,变换一下索引和编码系数关系即码字之间的位置互换,或者,也可以采用其它方式表示上述码字的序号或标识,或者,基础码本表格中的码字是上述V0中的全部或部分码字,或者,码字以行向量的形式呈现而不以表3中的列向量[·]T的形式呈现,或者,基础码本表格中的各个编码系数也可以不是根据上述中的G0确定的,例如,基于Cauchy矩阵确定的编码系数,本申请不做限定。其中,r为自然数,0≤r≤q-1。
本申请实施例的技术方案可以应用于各种通信***。例如该通信***可以为长期演进(long term evolution,LTE)***、第五代(5th generation,5G)通信***、NR***、无线保真(wireless-fidelity,WiFi)***,第三代合作伙伴计划(3rd generationpartnership project,3GPP)相关的通信***以及未来演进的通信***等,不予限制。术语“***”可以和“网络”相互替换。5G通信***是正在研究当中的下一代通信***。其中,5G通信***包括非独立组网(non-standalone,NSA)的5G移动通信***,独立组网(standalone,SA)的5G移动通信***。此外,通信***还可以适用于面向未来的通信技术,都适用本申请实施例提供的技术方案。上述适用本申请的通信***仅是举例说明,适用本申请的通信***不限于此,在此统一说明,以下不再赘述。
本申请实施例的技术方案可以应用于各种移动通信场景,包括但不限于:点对点单连接场景,例如,用户设备(user equipment,UE)与UE之间的点对点传输,或者如图2所示的基站22与UE 21之间的点对点传输;多跳单连接场景,例如图3所示的基站22与UE 21之间的多跳/中继(relay)传输,如通过基站23和基站24的多跳/中继传输;双连接(dualconnectivity,DC)场景,例如图4所示的两个基站(基站22和基站23)和UE 21的双连接传输;多跳多连接场景,例如图5所示的多个基站与UE的多连接传输,如基站22通过基站23和基站24与UE 21之间的传输。
可以理解的是,上述本申请的应用场景仅是示例性地说明,不对适用于本申请的网络架构产生任何限制,此外,本申请不限制传输是上行传输、下行传输、接入链路传输、回传(backhaul)链路传输、或侧行(sidelink)链路传输。
下面仅以图6所示通信***为例,对本申请实施例提供的方法进行描述。如图6所示,为本申请实施例提供的一种通信***,该通信***包括发送端设备60。可选的,还可以包括接收端设备70。
可选的,本申请实施例中的发送端设备60和接收端设备70可以是相同类型的设备,例如,发送端设备60和接收端设备70均为终端设备或均为网络设备;或者,发送端设备60和接收端设备70还可以是不同类型的设备,例如,发送端设备60为终端设备且接收端设备70为网络设备,或者,发送端设备60为网络设备且接收端设备70为终端设备,本申请实施例对此不做具体限定。
可选的,本申请实施例中的终端设备,可以是用于实现无线通信功能的设备,例如终端设备或者可用于终端设备中的芯片等。其中,终端设备可以是5G网络或者未来演进的公共陆地移动网络(public land mobile network,PLMN)中的用户设备(user equipment,UE)、接入终端设备、终端设备单元、终端设备站、移动站、移动台、远方站、远程终端设备、移动设备、无线通信设备、终端设备代理或终端设备装置等。接入终端设备可以是蜂窝电话、无绳电话、会话启动协议(session initiation protocol,SIP)电话、无线本地环路(wireless local loop,WLL)站、个人数字处理(personal digital assistant,PDA)、具有无线通信功能的手持设备、计算设备或连接到无线调制解调器的其它处理设备、车载设备或可穿戴设备,虚拟现实(virtual reality,VR)终端设备、增强现实(augmented reality,AR)终端设备、工业控制(industrial control)中的无线终端设备、无人驾驶(selfdriving)中的无线终端设备、远程医疗(remote medical)中的无线终端设备、智能电网(smart grid)中的无线终端设备、运输安全(transportation safety)中的无线终端设备、智慧城市(smart city)中的无线终端设备、智慧家庭(smart home)中的无线终端设备等。终端设备可以是移动的,也可以是固定的。
可选的,本申请实施例中的网络设备,是一种将终端设备接入到无线网络的设备,可以是长期演进(long term evolution,LTE)中的演进型基站(evolved Node B,eNB或eNodeB)或下一代演进型基站(next generation evolved Node B,ng-eNB);或者第五代(5thgeneration,5G)网络或者未来演进的PLMN中的下一代基站(next generation NodeB,gNB),宽带网络业务网关(broadband network gateway,BNG),汇聚交换机或非第三代合作伙伴项目(3rd generation partnership project,3GPP)接入设备等,本申请实施例对此不作具体限定。可选的,本申请实施例中的基站可以包括各种形式的基站,例如:宏基站,微基站(也称为小站),中继站,接入点等,本申请实施例对此不作具体限定。
图6所示的通信***仅用于举例,并非用于限制本申请的技术方案。本领域的技术人员应当明白,在具体实现过程中,该通信***还可以包括其他设备,不予限制。
可选的,本申请实施例中的发送端设备60或接收端设备70的协议栈结构如图7所示,从下到上依次为物理层、MAC层、RLC层、分组数据汇聚协议(packet data convergenceprotocol,PDCP)层。可选的,还可以包括回传适配协议(backhaul adaptation protocol,BAP)层。其中,物理层主要用于调制解调、多天线映射等电信物理层功能;MAC层主要用于上下行调度与HARQ重传;RLC层主要用于分段、重传处理,以及对高层数据的顺序控制;BAP层主要用于回传链路的路由和承载映射;PDCP层主要用于头压缩和解压缩,以减少无线接口必须传送的比特流量。
下面将结合图1A至图7,对本申请实施例提供的数据处理方法,也即网络编/解码方法进行说明。
需要说明的是,本申请下述实施例中消息(或信息)的名字或消息(或信息)中参数的名字等只是一个示例,具体实现中也可以是其他的名字,本申请实施例对此不作具体限定。
可以理解的是,本申请实施例中,发送端设备可以执行本申请实施例中的部分或全部步骤,这些步骤仅是示例,本申请实施例还可以执行其它步骤或者各种步骤的变形。此外,各个步骤可以按照本申请实施例呈现的不同的顺序来执行,并且有可能并非要执行本申请实施例中的全部步骤。
在本申请的各个实施例中,如果没有特殊说明以及逻辑冲突,不同的实施例之间的术语和/或描述具有一致性、且可以相互引用,不同的实施例中的技术特征根据其内在的逻辑关系可以组合形成新的实施例。
图8为本申请实施例提供的一种数据处理方法,该方法可以由发送端设备(例如终端设备或网络设备)执行,也可以由发送端设备的部件,例如发送端设备的处理器、芯片、或芯片***等执行。或者,该方法也可以由接收端设备(例如终端设备或网络设备)执行,也可以由接收端设备的部件,例如接收端设备的处理器、芯片、或芯片***等执行。
如图8所示,该方法包括如下步骤:
S801,获得第一码本。
其中,第一码本为实际用于对待传输数据包进行第一网络编/解码的码本。本申请实施例中,第一码本是指通过指定的扩充规则,对第二码本(又称为基础码本)进行码本扩充后的码本。
其中,“指定”一词,是指该扩充规则是发送端设备和接收端设备均已事先获知的规则,可以采用协议预定义、预配置、或半静态配置的方式实现,本申请实施例不作具体限定。
需要说明的是,“扩充”也可以理解为“扩展”,是指在第二码本的基础上增加更多的码字,或者增加码字的长度的过程。其中,码字的“长度”也可以理解为码字的“大小”、“维度”,两两之间可以相互替换,在此统一说明,下述实施例中不再赘述。
具体地,S801,获得第一码本,可以通过如下步骤1至步骤3实现。
步骤1,确定第二码本。
其中,第二码本的确定方法可以参考上述技术术语解释部分的“基础码本及其确定方法”,此处不再赘述。
步骤2,获取第三码本。
其中,第三码本,可以通过第三码本对应的第一矩阵来确定,或者通过第三码本对应的第一矩阵和第二码本对应的第二矩阵之间的关系来确定。
需要说明的是,第三码本是用来扩充第二码本,以便得到第一码本的,因此第三码本中的码字可以称之为扩充码字。
具体地,第一矩阵和第二矩阵可以通过如下一种或多种方式获得。
方式一,第一矩阵为随机系数满秩矩阵,第二矩阵为满秩的非随机系数矩阵。
具体地,第一矩阵可以通过计算机搜索出一组随机系数向量的方式得到。例如,可以将{1,2,…}分别作为随机种子输入伪随机发生器,每个随机种子对应输出一组数列,然后将包含该组数列的部分或全部元素的随机系数向量作为第一矩阵中的一个码字。
其中,第一矩阵中任一随机系数向量的长度大于或等于原始数据包的个数或第二码本中任一向量的长度,或者,大于或等于第二码本包含的码字数量。
例如,第一矩阵中任一随机系数向量的长度为M,原始数据包的个数或第二码本中任一向量的长度为s,则M≥s。又例如,第一矩阵中任一随机系数向量的数量为w,第二码本包含的码字数量(r+1),则w≥(r+1)。
需要说明的是,如果当前随机种子对应输出的向量,与之前确定出的t-1个扩充码字组成的第一矩阵对应的秩等于min(M,t),那么当前随机种子对应输出的向量可以作为一个扩充码字,否则舍弃,以确保第一矩阵中各向量之间的线性无关性。
此外,将第一矩阵中的随机系数向量用于网络编/解码时,可以从该随机系数向量中选取整数个元素,如K个或N个元素作为实际的编码系数向量。
如此,第三码本对应满秩的随机矩阵,使得码字之间保持线性无关特性,可以生成更多有效的冗余包或校验包,从而支持灵活的码率或码长;或者,可以支持灵活的块长或支持更多的原始数据包进行高效地编码,提升编码或解码性能,从而提升***频谱效率或提升***可靠性。
可选地,第二矩阵亦为满秩矩阵,即基础码本中的各个码字也满足线性无关性要求。如此,第一矩阵和第二矩阵均为满秩矩阵,可以确保第一码本中的原***字和扩充码字均具有线性无关性,可以确保生成冗余包或校验包均为有效包,提升编码或解码性能,从而提升***频谱效率。
方式二,第一矩阵和第二矩阵满足以下中的一项关系:第一矩阵中的向量和第二矩阵中的向量来自于同一个矩阵A的行向量的集合,第一矩阵中的向量的长度或第二矩阵中的向量的长度小于或等于矩阵A的行向量的长度;或,第一矩阵中的向量和第二矩阵中的向量来自于同一个矩阵A的列向量的集合,第一矩阵中的向量的长度或第二矩阵中的向量的长度小于或等于矩阵A的列向量的长度;其中,第一矩阵中的一个或多个向量与第二矩阵中的所有向量均不相同。如此,第三码本和第二码本均来自同一个满秩矩阵,使得第三码本的码字和第二码本的码字之间保持线性无关特性,相比单独采用第二码本进行网络编码,可以生成更多有效的冗余包或校验包,支持灵活的码率或码长,或者,可以支持灵活的块长或支持更多的原始数据包进行高效地编码,提升编码或解码性能,从而提升***频谱效率或提升***可靠性。
下面通过2个示例来说明。
示例1
其中,q为有限域的大小减一,am为有限域中的元素,1≤m≤q,a1,a2,…,am,…,aq为有限域中两两不同的元素,为am的l次幂,0≤l≤q-1。如此,第三码本和第二码本来自满秩的范德蒙矩阵,使得第三码本和第二码本的码字之间保持线性无关特性,相比单独采用第二码本进行网络编码,可以生成更多有效的冗余包或校验包,支持灵活的码率或码长,或者,可以支持灵活的块长或支持更多的原始数据包进行高效地编码,提升编码或解码性能,从而进一步提升***频谱效率或提升***可靠性。
具体地,若原始数据包的个数为K,则可以从矩阵A中选取K行作为第三码本,另选取K行作为第二码本,第三码本中的K行与第二码本中的K行不同;或者,从矩阵A中选取K列作为第三码本,另选取K列作为第二码本,第三码本中的K列与第二码本中的K列不同。
进一步地,第三码本中的K行与第二码本中的K行两两不同,第三码本中的K列与第二码本中的K列两两不同,以确保第三码本和第二码本中的任意两个码字均不同,即基于第三码本和第二码本生成的编码数据包均为有效冗余包或校验包。
需要说明的是,上述矩阵A也可以通过其他方式确定,此处不做限定。例如,矩阵A可以为满秩的柯西矩阵。
示例2
第一矩阵满足第二矩阵满足 其中,[b1,b2,…,bm,…,bq]和[a1,a2,…,am,…,aq]不同。或者,第一矩阵满足第二矩阵满足 其中,[b1,b2,…,bm,…,bq]T和[a1,a2,…,am,…,aq]T不同。其中,K为与第一网络编/解码对应的原始数据包的个数,q为有限域的域大小减一;am为有限域中的元素,1≤m≤q,a1,a2,…,am,…,aq为有限域中两两不同的元素,为am的l次幂,0≤l≤K-1;bm为有限域中的元素,1≤m≤q,b1,b2,…,bm,…,bq为有限域中两两不同的元素,为bm的l次幂,0≤l≤K-1。
如此,第三码本和第二码本分别来自不同的范德蒙矩阵,使得第三码本和第二码本的码字之间还能尽量保持线性无关特性,相比单独采用第二码本进行网络编码,可以生成更多有效的冗余包或校验包,支持灵活的码率或码长,或者,可以支持灵活的块长或支持更多的原始数据包进行高效地编码,提升编码或解码性能,从而进一步提升***频谱效率或提升***可靠性。
方式三,第一矩阵与第二矩阵满足函数关系。该函数关系可以使得第三码本的码字和第二码本的码字之间保持线性无关特性,相比单独采用第二码本进行网络编码,可以生成更多有效的冗余包或校验包,支持灵活的码率或码长,或者,可以支持灵活的块长或支持更多的原始数据包进行高效地编码,提升编码或解码性能,从而提升***频谱效率或提升***可靠性。
一种可能的设计方案中,上述第一矩阵与第二矩阵满足函数关系:可以包括:第一矩阵为第二矩阵与一个非零行向量[v1,…,vK]或[v1,…,vq],或者非零列向量v=[v1,…,vK]T或[v1,…,vq]T对应的对角矩阵的乘积。如此,第三码本来自和第二码本对应的矩阵的扩展矩阵,可以使得第三码本和第二码本的码字之间尽量保持线性无关特性,相比单独采用第二码本进行网络编码,可以生成更多有效的冗余包或校验包,支持灵活的码率或码长,或者,可以支持灵活的块长或支持更多的原始数据包进行高效地编码,提升编码或解码性能,从而进一步提升***频谱效率或提升***可靠性。下面结合示例3至示例6说明。
示例3
示例4
示例5
示例6
其中,对于上述示例3至示例6,K为与第一网络编/解码对应的原始数据包的个数,q为有限域的域大小减一,am为有限域中的元素,1≤m≤q,{a1,a2,…,am,…,aq}为有限域中两两不同的元素,为am的l次幂,0≤l≤K-1,diag(v)为v对应的对角矩阵。如此,第三码本来自和第二码本对应的范德蒙矩阵的扩展范德蒙矩阵,也可以使得第三码本和第二码本的码字之间尽量保持线性无关特性,相比单独采用第二码本进行网络编码,可以生成更多有效的冗余包或校验包,支持灵活的码率或码长,或者,可以支持灵活的块长或支持更多的原始数据包进行高效地编码,提升编码或解码性能,从而提升***频谱效率或提升***可靠性。
另一种可能的设计方案中,上述第一矩阵与第二矩阵满足函数关系,包括:第一矩阵为第二矩阵进行初等变换后的矩阵。其中,初等变换包括初等行变换、或初等列变换中的一项或多项。
其中,初等行变换包括以下一项中的一项或多项:(1)用一个非零数值乘以矩阵的某一行;(2)把矩阵的某一行的乘以c加到另一行,其中c为任意一个数;(3)互换矩阵中的任意两行的位置。
类似地,初等列变换包括以下一项中的一项或多项:(1)用一个非零数值乘以矩阵的某一列;(2)把矩阵的某一列的乘以c加到另一列,其中c为任意一个数;(3)互换矩阵中的任意两列的位置。
下面通过2个示例来说明。
示例7
示例8
其中,上述示例7和示例8中,K为与第一网络编/解码对应的原始数据包的个数,q为有限域的域大小减一,am为有限域中的元素,1≤m≤q,a1,a2,…,am,…,aq为有限域中两两不同的元素,为am的l次幂,0≤l≤K-1。
如此,第三码本来自和第二码本对应的矩阵的初等变换矩阵,再基于另外一个矩阵对两个矩阵进行变换操作,也可以使得第三码本和第二码本的码字之间尽量保持线性无关特性,相比单独采用第二码本进行网络编码,可以生成更多有效的冗余包或校验包,支持灵活的码率或码长,或者,可以支持灵活的块长或支持更多的原始数据包进行高效地编码,提升编码或解码性能,从而提升***频谱效率或提升***可靠性。
方式四,第一矩阵对应的有限域的域大小大于第二矩阵对应的有限域的域大小。如此,基于第一码本进行网络编码,相比单独基于第二码本进行网络编码,可以生成更多的有效冗余包或校验包,支持灵活的码率或码长,或者,可以支持灵活的块长或支持更多的原始数据包编码。而且,通过第三码本的特征,码字之间可以尽量保持线性无关特性,提升编码或解码性能,从而提升***频谱效率或提升***可靠性。下面通过示例9至示例10来说明。
示例9
上述第一矩阵对应的有限域的域大小大于第二矩阵对应的有限域的域大小,可以包括:第二矩阵满足第一矩阵满足 所在有限域的域大小Q1大于所在有限域的域大小Q2。或者,第二矩阵满足第一矩阵满足 所在有限域的域大小Q1大于所在有限域的域大小Q2。其中,K为与第一网络编/解码对应的原始数据包的个数,q1=Q1-1,q2=Q2-1,为域大小Q2的有限域中两两不同的元素,为域大小Q1的有限域中两两不同的元素。如此,第三码本和第二码本对应的有限域不同,在数域维度上对码本进行扩展,相比单独采用第二码本进行网络编码,可以生成更多有效的冗余包或校验包,支持灵活的码率或码长,或者,可以支持灵活的块长或支持更多的原始数据包进行高效地编码,提升编码或解码性能,从而提升***频谱效率或提升***可靠性。
需要说明的是,上述第一矩阵的四种获取方式,以及一种或多种方式中的多种具体实现方式,可以单独执行,也可以结合执行,本申请实施例不予限制,只要能确保基于第一矩阵确定的第三码本生成更多的有效冗余包或校验包即可。换言之,只要能提高第一码本对应的矩阵的秩,或第一码本中各码字之间的线性无关性,任何结合方案都是可行的。
本申请实施例中,在通过上述方式一至方式四中的一项或多项获取到第一矩阵后,可以基于第一矩阵确定对应的扩充码字,进而确定第三码本。下面结合示例11具体说明。
示例11
假定基于上述方式一至方式四中的一项或多项确定的第一矩阵V1为矩阵,则可以参考基础码本确定方法一(参见技术术语部分)确定扩充码字。
具体地,V1可以表示成V1=[A1|B1]的形式,或者,V1中的K行子矩阵可以表示成[A1|B1]的形式,K为与第一网络编/解码对应的原始数据包的个数,其中,A1是V1中的K行K列子矩阵,B1是的V1中的K行F列的子矩阵,B1的列向量和A1的列向量来自V1中的不同列向量,K和F的和为V1的总列数,F可以不等于K,那么利用A1的逆矩阵A1 -1对V1进行变换可以得到单位阵I和一个子矩阵的组合,即A1 -1左乘V1可获得***RS码的生成矩阵A1 -1V1=[I|A1 -1B1]=[I|G1],其中K×K维的单位阵I就对应***包的编码系数,矩阵G1=A1 -1B1对应冗余包或校验包的编码系数,G1中的各列编码系数向量即为扩充码字。
可选地,也可以根据基础码本确定方法二(参见技术术语部分)确定扩充码字,即将V1中的各行或各列直接作为扩充码字。
或者,可选地,还可以基于基础码字对应的矩阵V0中的子矩阵A0的逆矩阵A0 -1,和根据上述方式一至方式四中的一项或多项获得的第一矩阵V1,将A0 -1左乘V1可获得矩阵G1=A0 -1V1,则G1中的各列编码系数向量即为扩充码字。
可选地,示例11中得到的扩充码字可以作为一个码字扩充至第一码本中,以增加码字数量,或者,以该扩充码字中的部分或全部元素扩充至第二码本至的一个码字中,以增加该码字的长度,具体实现可分别参考下述扩充规则一和扩充规则二,此处不再赘述。
步骤3,基于第二码本、第三码本和扩充规则,生成第一码本。
其中,扩充规则可以包括如下扩充规则一和扩充规则二。下面具体说明。
扩充规则一:第一码本包括第三码本中的码字,第三码本不同于第二码本,第二码本用于第二网络编/解码。换言之,第一码本是在第二码本的基础上,增加第三码本中的部分或全部码字的方式得到的码本。此时第二码本可以被称为第一码本的基础码本,第一码本可以被称为第二码本的扩充码本。
具体地,第一码本可以为一个码本,该码本包括第二码本中的码字,以及第三码本中的部分或全部码字。下面通过示例11具体说明。
示例11
假定第二码本为表1所示的基础码本,第三码本为根据上述方式一至方式四中的一种或多种方式确定的码本。其中,如果用表示第三码本中的第一个扩充码字、表示第二个扩充码字、…、表示第(r′+1)个扩充码字,则下述表4示出了第一码本是在基础码本中新增扩充码字后获得的一个码本。其中,r为自然数,0≤r≤q-K-1,r′为正整数。
需要说明的是,表4仅示出了在第二码本的末尾增加第三码本中的码字的情况,实际应用中还可以有其他的实现方式。例如,还可以在第二码本的任意一个码字之前和/或之后,***第三码本中的一个或多个码字,本申请实施例不予限制。
表4
或者,第一码本也可以包括两个子码本,其中,一个子码本包括第二码本中的码字,另一个子码本包括第三码本中的部分或全部码字,对此不作具体限定。下面通过示例12具体说明。
示例12
假定第二码本为表1所示的基础码本,第三码本为根据上述方式一至方式四中的一种或多种方式确定的码本。其中,如果用表示第三码本中的第一个扩充码字、表示第二个扩充码字、…、表示第(r′+1)个扩充码字,则第一码本也可以包括2个子码本。其中,一个子码本为表1所示出的基础码本(即第二码本),另一个子码本即为表5中所示出的第三码本。其中,r′为正整数。
表5
需要说明的是,上述示例11和示例12仅示出了第三码本中的码字的长度与第二码本中的码字的长度相等的情况。事实上,当使用扩充规则一扩充码本时,采用上述步骤1中的四种方式获取的第一矩阵中的向量的长度也可以大于第二码本中的码字的长度。当第一矩阵中的向量的长度大于第二码本中的码字的长度s时,可以从第一矩阵中的一个向量中选取任意K个元素组成一个扩充码字,如前s个元素、后s个元素、中间连续s个元素、随机选取s个元素等。
扩充规则二:第一码本中的任一码字包括:第二码本中的一个码字中s个元素,s为第二码本中的一个码字的长度,s为正整数,以及,第三码本的一个码字或第二码本的一个码字中的全部元素或部分元素,全部元素的个数为第三码本或第二码本中的一个码字的长度,一个码字中的不同元素的值相同或不同。换言之,第一码本中的任一码字,均是通过增加第二码本中的一个码字包含的元素的方式扩充的,增加的元素可以来自第三码本中的一个码字,也可以来自第二码本中的任一个码字。此时第二码本可以被称为第一码本的基础码本,第一码本可以被称为第二码本的扩充码本。
具体地,第一码本可以为一个码本,该码本中的任一码字的长度大于第二码本中的任一码字的长度。下面通过示例13至示例14具体说明。
示例13
假定第二码本为表1所示的基础码本,第三码本为根据上述方式一至方式四中的一种或多种方式确定的码本。其中,如果用表示第三码本中的第一个扩充码字、表示第二个扩充码字、…、表示第(r+1)个扩充码字,则第一码本也可以表6中所示出的码本。例如,表6中索引为0的码字包括:表1中索引为0的码字,以及第三码本中的第一个扩充码字,即表6中的码字的长度为为第二码本中的码字长度与第三码本中的码字的长度之和。表6中,第二码本、第三码本的码字的长度均为K,则第一码本的码字的长度为2*K。其中,r为自然数,r′为正整数。
可选地,进行码字长度扩充时,还可以将第三码本中的一个码字中的部分元素扩充进第二码本中的一个码字中,以生成第一码本中的一个码字,如下述示例14所示。
示例14
假定第二码本为示例13中的第二码本,第三码本为示例13中的第三码本,则表7示出了将第三码本中的一个码字中的K'(0<K'≤K)个元素扩充至第二码本中的一个码字中,以生成第一码本中的一个码字的情况。其中,r为自然数,r′为正整数。
表6
表7
可选地,进行码字长度扩充时,还可以将第二码本中的一个码字复制一份扩充进第二码本中的一个码字中,以生成第一码本中的一个码字,如下述示例15所示。
示例15
假定第二码本为示例13中的第二码本,第三码本也为示例13中的第二码本,则表8示出了将第二码本中的一个码字复制一份扩充至第二码本中的一个码字中,以生成第一码本中的一个码字的情况。其中,r为自然数。
表8
需要说明的是,上述示例13至示例15仅示出了在第二码本的码字末尾增加扩充码字的部分或全部元素的情况,但并不限于此。事实上,可以在第二码本的一个码字中的任一元素之前和/或之后,增加对应的扩充码字中的一个或多个元素。
并且,上述一个码字中的一个元素,是指该一个码字中的一个成员,不同成员的取值可以相同,也可以不同,对此不作具体限定。
示例性地,第二码本中的码字可以为如下一项或多项:里德-所罗门RS码、最大距离可分MDS码、低密度奇偶校验LDPC码、博斯-乔赫里-霍克文黑姆BCH码。如此,针对有结构特点的码字进行扩展,可以设计出与之尽量线性无关的第三码本,相比单独采用第二码本进行网络编码,可以生成更多有效的冗余包或校验包,支持灵活的码率或码长,或者,可以支持灵活的块长或支持更多的原始数据包进行高效地编码,提升编码或解码性能,从而提升***频谱效率或提升***可靠性。
S802,基于第一码本进行第一网络编/解码。
基于上述S801中提供的方法获得第一码本,生成编码数据包的方法可以包含多种,下面分别以如下图9至图12中所示出的***分组码、非***分组码、***卷积码、非***卷积码这四种码型为例进行说明。
图9至图12所示出的是各种码型的生成矩阵的结构,对应原始数据包构成的行向量左乘生成矩阵,各实线框部分为各个分组(block,BLK)的编码数据包对应的编码系数,列数对应各个分组的编码数据包个数,行数对应各分组的原始数据包个数。如下设计的基于第一码本的编码数据包生成方法均适用上述不同码型。
需要说明的是,针对***分组码/***卷积码,对应的生成矩阵中包含有单位子矩阵,即生成的编码数据包中包含***包,具体实现请参考NC背景及术语介绍中关于“***包”的介绍。
此外,针对非***分组码/非***卷积码,对应的生成矩阵中不包含单位子矩阵,即生成的编码数据包中不包含与所有的原始包一一对应的***包。下面以图9所示的***分组码为例详细说明,图10至图12中示出的另外三种码型,可以参考图9所示的***分组码的介绍,本申请实施例不予赘述。
首先,各分组冗余部分对应的生成矩阵G使用的起始码字相同,即不同的G中的第一列都是同一码本中的同一个码字。例如,任一G的第一列都是码本中索引为0对应的编码系数向量,后续列依次取索引为1,2,...对应的系数向量。
其次,每个编码数据包均利用其序列号(serial number,SN)号关联一个码字对应的索引。例如,索引为mod(SN,L),其中,mod(SN,L)为SN除以L的余数,L是第一码本中包含的码字个数。
然后,不同的G采用不同的冗余版本(redundant version,RV)。具体地,相邻的G采用第一码本中不同部分,从而将第一码本划分为与多个RV一一对应的子码本。例如,可以将第一码本划分为4部分,索引属于范围内的部分对应RV0,索引属于 范围内的部分对应RV1,索引属于范围内的部分对应RV2,索引属于范围内的部分对应RV4,且生成编码数据包时相邻的G采用不同的RV,例如,图9中均对应索引属于的码字,其中,W为第一码本中码字的总数量,码字的索引为0至W-1。
需要说明的是,如果上述第三码本不是在第二码本基础上扩充码字的长度的方式获得的,即第三码本是一个新增码本,或者,第三码本中使用的索引与第二码本中使用的索引的取值范围重叠,则不同的G可采用不同的码本,此时编码数据包中需要指示该编码数据包使用的码本索引,以及该编码数据包使用的码本中的码字索引。
利用上述任意一种编码数据包生成方式时,如果针对一个分组使用的码字已经遍历了第一码本中所有可用的码字,还需要再生成更多的冗余包或校验包时,仍然可以按照上述扩充规则获得更多的扩充码字,或者循环利用第一码本中的码字,以生成更多的冗余包或校验包。
图13为本申请实施例提供的网络编/解码方法与现有网络编/解码方法的性能对比示意图一。其中,横坐标为传输错误数据包数,纵坐标是针对丢包场景利用不同方案纠错后最终残留的丢包率。本领域技术人员应当理解,相同丢包数下,不同方案的残留丢包率越低对应的编码或解码性能越好,编码或解码性能提升可以提升***频谱效率或提升***可靠性。如图13所示,图中虚线对应现有技术RLNC方法,空心圆标记的曲线对应上述第一矩阵的获取方式一的方法,星号标记的曲线对应上述第一矩阵的获取方式二至四的方法,可以看出根据本申请技术方案获得的第一码本的编码或解码性能优于现有技术的编码或解码性能。
图14为本申请实施例提供的网络编/解码方法与现有网络编/解码方法的性能对比示意图二。可以理解,基于第二码本和扩充规则从码字维度扩充的角度设计第一码本,可以使得第一码本中的码字之间尽量保持线性无关特性,由于第一码本中的码字的长度大于第二中的码字的长度,可以支持灵活的块长或支持更多的原始数据包进行网络编/解码。如图14所示,横坐标为传输错误数据包数,纵坐标是针对丢包场景利用不同方案纠错后最终残留的丢包率。本领域技术人员应当理解,相同丢包数下,不同方案的残留丢包率越低对应的编码或解码性能越好,编码或解码性能提升可以提升***频谱效率或提升***可靠性。图中虚线对应现有技术RLNC方法,实线对应本申请实施例提供码字长度扩充的方法,可以看出根据本申请实施例提供码字长度扩充的方法获得的第一码本中的码字之间可以保持比较好的线性无关特性,且可以支持灵活的块长或支持更多数量的原始数据包的编/解码。
基于图8中所示出的数据处理方法,可以通过扩充码字数量的方式,和/或,扩充码字大小的方式,实现码本扩充,可以生成更多有效的冗余包或校验包,支持灵活的码率或码长,或者,可以支持灵活的块长或支持更多的原始数据包进行高效地编码,提升编码或解码性能,从而提升***频谱效率或提升***可靠性。
需要说明的是,图8中所示出的数据处理方法,既可以适用于固定码率或固定块长的网络编/解码,如基于分组码的网络编/解码,也可以适用于非固定码率或非固定块长(亦称为可变码率或可变块长)的网络编/解码,如基于可变卷积码深度的网络编/解码。
假定预定义的码本中的一个码字的长度小于原始数据包数,即预定义的一个码字的编码系数的个数少于原始数据包的个数,则无法实现基于该码本对原始数据包进行编码。本领域技术人员应当理解,无论该码本采用分组码,还是采用卷积码,此类问题都可能存在。
为解决此问题,本申请实施例提供另一种数据处理方法,具体参见下述图15中所示出的数据处理方法。该方法可以由发送端设备(例如终端设备或网络设备)执行,也可以由发送端设备的部件,例如发送端设备的处理器、芯片、或芯片***等执行,以完好网络编码,生成编码数据包并发送出去。或者,该方法也可以由接收端设备(例如终端设备或网络设备)执行,也可以由接收端设备的部件,例如接收端设备的处理器、芯片、或芯片***等执行,接收来自发送端设备的编码数据包,完成网络解码,以恢复原始数据包。
如图15所示,该方法包括如下步骤:
S1501,基于第四码本,获取编码系数。
其中,第四码本可以是上文涉及的第一码本、第二码本、第三码本中的一个或多个,也可以是通过其他方式获取的码本,如协议预定义的码本、预存在发送端设备和接收端设备中的码本、网络设备预配置的码本等,本申请实施例对此不做限定。
可选地,第四码本中任意一个码字的长度小于多组原始数据包中的数据包总数,且大于或等于多组原始数据包中任一组数据包中的数据包数。其中,该多组原始数据包属于同一个网络编码滑动窗,该多组原始数据包包括来自网络编码协议层的上层协议层的数据包,需要一起参与网络编码生成编码数据包并发送出去。
本申请实施例中,对同一个网络编码滑动窗内的所有原始数据包进行分组的操作,可以由执行网络编码的协议层执行,也可以由执行网络编码的协议层的高层执行,并且,不同分组内包含的原始数据包的个数可以相同,也可以不同,对此不予限制。
实际应用中,也可以采用其他方式完成分组操作,本申请对此不予限制。例如,在重传场景下,某次传输对应的原始数据包可以包括初传数据包,以及之前传输错误的数据包。
其中,编码系数包括多组元素,多组元素与多组原始数据包一一对应,多组元素中的任一组元素均来自第四码本中的一个码字,且任意两组元素来自第四码本中的不同码字。其中,编码系数可以采用矩阵的形式来表示,即编码系数矩阵,则一组元素可以对应一个编码系数向量,该编码系数向量与第四码本中的一个码字对应。
下面结合矩阵分解思路具体说明。
由于第四码本中码字的最大维度是有限的,如果需要被编码的原始数据包的个数超过码字的最大维度,尤其针对卷积网络编码来说,如果根据信道质量通过自适应卷积深度来获得更佳的***性能,自适应卷积深度就可以灵活改变被编码的原始数据包的个数,如果原始数据包的个数超过第四码本中的码字的长度,可以通过将生成矩阵分解以获得多个子矩阵,每个子矩阵由第四码本中对应的码字构成。
图16为本申请实施例提供的***卷积网络编码冗余部分生成矩阵的分解示意图。图17、图18分别为本申请实施例提供的非***卷积码生成矩阵的分解示意图一和示意图二。
如图16所示,图中纵坐标利用BLKb(b=1,2,3,…)区分不同的数据分组,也即b为BLK的索引,不同的数据分组即不同的原始数据包集合,各数据分组中包含的原始数据包的个数可以不同,图中横坐标对应编码数据包的序号SN,图中每个虚线框对应编码数据包的生成矩阵,用表示的虚线框表示与BLK b中原始包对应的***包的生成矩阵,即单位阵,其中kb表示BLK b中包含的原始数据包的个数,图16中冗余包对应的生成矩阵为图中实线框。一个网络编码滑动窗口中的原始数据包可以包含多个数据分组中的原始数据包。例如,图16中数据分组BLK2对应的冗余包,可以由BLK2本身的原始数据包,以及历史的数据分组,如BLK1的原始数据包一起编码生成,则图中为采用图16中所示出的结构的生成矩阵(如果用G表示),即为BLK2对应的冗余包的生成矩阵。由于BLK2或BLK1的原始数据包的个数少于第四码本中任一码字的长度,即第四码本中的任一码字对应的编码元素的个数少于该多个BLK包含的原始数据包的总数,因此第四码本不再适用于该多个BLK的卷积编/解码。在此情况下,可以将矩阵G看作由多个子矩阵构成,即BLK2对应的冗余包的生成矩阵由构成。其中,对应与BLK2的原始数据包对应的编码系数、对应与BLK1的原始数据包对应的编码系数,中的每一列可以对应第四码本中的一个码字、中的每一列也可以对应第四码本中的一个码字,且由拼成的生成矩阵G中的每一列编码系数向量,与BLK2对应的一个冗余包的编码系数向量对应。进一步地,由子矩阵构成的矩阵(如果用G表示)表示与BLKb对应的编码数据包的生成矩阵,则矩阵G中的每一列编码系数向量,表示与一个编码数据包对应的编码系数向量,nb表示G列数,即BLKb对应的编码数据包的个数。其中,矩阵G中包含的子矩阵的个数取决于卷积网络编码深度,该卷积网络编码深度可以为固定的、半静态配置的或动态动态变化的,此处不做限制。
请继续参考图16,冗余包部分的生成矩阵至少被进一步分解成两个子矩阵,分解的方法可以根据划分的BLK分解,也就是说编码数据包是由多个BLK的原始数据包编码生成,那么生成矩阵分解后的子矩阵就分别对应于各个BLK,那么子矩阵是由第四码本中码字对应的编码系数向量构成。
S1502,基于该编码系数,对一个网络编码滑动窗中的多组原始数据包进行网络编/解码。
一种可能的设计方案中,在不同的网络编码滑动窗内,同一组数据包对应的编码系数两两不同,即第四码本中与该编码系数对应的码字两两不同。如此,可以支持灵活的块长或支持更多的原始数据包进行高效地编码,提升编码或解码性能,从而提升***频谱效率或提升***可靠性。
可选地,对于同一个BLK,第四码本中与子矩阵中的编码系数对应的码字的索引可以是顺序排列的。如图16所示,假定任意的或对应p0个编码数据包(的列数,i为自然数)、或对应p1个编码数据包(的列数),那么子矩阵中的编码系数对应的第四码本中的码字的索引是顺序排列的,可以理解为对应的编码系数与第四码本中码字索引从0至p0-1的码字对应、对应的编码系数与第四码本中码字索引从p0至p0+p1-1的码字,如果还存在即同一个BLK被多次编码时可以顺序使用第四码本中的码字。
请参考图16,以BLK2为例,BLK2的原始数据包参与了3个网络编码滑动窗的编码,BLK2的原始数据包参与的第一个网络编码窗包含了BLK2和BLK1的原始数据包,BLK2的原始数据包参与的第二个网络编码窗包含了BLK3和BLK2的原始数据包,BLK2的原始数据包参与的第三个网络编码窗包含了BLK4、BLK3和BLK2的原始数据包。BLK2的原始数据包在这3个网络编码窗中对应的编码系数矩阵分别为假设的列数为3,即BLK2对应的冗余包的个数为3,且对应的编码系数向量在第四码本中的码字索引为0至2;假设的列数为4,即BLK3对应的冗余包的个数为4,则的各个列对应的编码系数向量在第四码本中的码字索引为3至6,假设的列数为2,即BLK4对应的冗余包的个数为2,那么,的各列对应的编码系数向量在第四码本中的码字索引为7至8。
一种可能的设计方案中,在不同的网络编码滑动窗内,同一组数据包采用不同的冗余版本进行网络编/解码。如此,可以支持灵活的块长或支持更多的原始数据包进行高效地编码,提升编码或解码性能,从而提升***频谱效率或提升***可靠性。
具体地,针对同一个分组,在不同的网络编码窗中采用不同的RV版本。可选地,可以根据定义的RV数量,将第四码本划分为定义数量的RV版本。例如,RV数量为4,则第四码本中,码字索引属于范围内的码字属于RV0,码字索引属于范围内的码字属于RV1,码字索引属于范围内的码字属于RV2,码字索引属于范围内的码字属于RV4,且同一BLK在不同的网络编码滑动窗内的子矩阵采用不同RV版本,而不同BLK在同一网络编码滑动窗(对应图16至图18中的同一个纵列)的子矩阵采用不同的RV版本。其中,W为码字的总数量,码字索引为0至W-1。具体地,图16至图18中任意的对应的系数向量取自RV0、任意的的系数向量取自RV1、任意的的系数向量取自RV2等。
例如,将码本划分为4个部分,即4个RV,仍以图16举例说明,以BLK2为例,BLK2的原始数据包参与了3个网络编码窗的编码,BLK2的原始数据包参与的第一个网络编码窗包含了BLK2和BLK1的原始数据包,BLK2的原始数据包参与的第二个网络编码窗包含了BLK3和BLK2的原始数据包,BLK2的原始数据包参与的第三个网络编码窗包含了BLK4、BLK3和BLK2的原始数据包,则BLK2的原始数据包在这3个网络编码窗中对应的编码系数矩阵分别为则各个列中采用的编码系数向量从RV0对应的那部分码字中选择,各个列中采用的编码系数向量从RV1对应的那部分码字中选择,的各个列中采用的编码系数向量从RV2对应的那部分码字中选择。
图17和图18中所示出的非***码,与图16中所示出的***码类似,其区别在于:在图16中,矩阵G的子矩阵包括和其中,为单位阵,用于生成***包(数据部分与原始数据包相同),用于生成冗余包或校验包,其中,z=0,1,2,…,Z-1,Z为大于1的正整数。而在图17和图18中,矩阵G的子矩阵不包括单位阵只包括换言之,基于图17和图18中的生成矩阵进行网络编码,只会生成冗余包或校验包,而不会生成***包。
进一步地,在基于反馈机制的重传场景下,若发送端设备已获知历史BLK中哪些原始数据包传输失败,则可以将历史BLK中传输失败的原始数据包,以及当前BLK中的原始数据包一起做网络编码,而历史BLK中传输成功的原始数据包不再参与网络编码,从而节省资源,提高频谱效率。例如,图17和图18中,以BLK2对应的网络编码滑动窗为例,G2,0和G2,1用于BLK2中的原始数据包和BLK1中的部分原始数据包做网络编码。
此外,图17和图18的区别是,图17中任意的根据其对应BLK的原始数据包的个数(的行数,假设是K),从第四码本中截取对应个数的编码系数,例如从第四码本中取出w×1维的各个码字时可以从中截取前K个作为编码系数,而图18中任意的是从第四码本中取出w×1维的码字,然后根据原始数据包个数将上半部分置0,只保留下半部分(K行)的编码系数。
应理解,在图17和图18中,用于将BLK2和BLK1中的原始数据包一起做网络编码的编码系数,可以是从第四码本中任意选取的K行码字对应的编码系数,如可以只保留上半部分的K行编码系数,或者中间连续K行编码系数等,本申请不予限制。
需要说明的是,若利用图16至图18中任一项所示出的基于第四码本生成编码数据包时,如果针对一个分组使用的码字已经遍历了可用的码字,还需要再生成更多的编码数据包时,可以按照图8中所示出的数据处理方法中提供的一种或多种扩充规则获得更多的扩充码字,以便生成更多的冗余包。
基于图15中所示出的数据处理方法,可以根据一个有限大小的码本,获取与一个网络编码滑动窗内的多组原始数据包一一对应的多组元素,并使用该多组元素组合后的编码系数,对该一个网络编码滑动窗内的所有待传输数据包一起编码或解码,可以支持灵活的块长或支持更多的原始数据包进行编码,且多组元素中的任意两组均来自第四码本中的不同码字,可以使得在不同的网络编码滑动窗内,同一组数据包对应的编码系数来自第四码本中的不同码字,从而针对同一组数据包,生成的冗余包或校验包均是有效的,如此,提升编码或解码性能,从而提升***频谱效率或提升***可靠性。
可以理解的是,以上各个实施例中,由发送端设备实现的方法和/或步骤,也可以由可用于发送端设备的部件(例如芯片或者电路)实现,由接收端设备实现的方法和/或步骤,也可以由可用于接收端设备的部件(例如芯片或者电路)实现。
相应于上述方法实施例给出的方法,本申请实施例还提供了相应的装置,包括用于执行上述数据处理方法的模块。所述模块可以是软件,也可以是硬件,或者是软件和硬件结合。
图19给出了一种装置的结构示意图。该装置1900可以终端设备,也可以是支持终端设备实现上述方法的芯片、芯片***、或处理器等;或者,该装置1900可以网络设备,也可以是支持网络设备实现上述方法的芯片、芯片***、或处理器等。该装置1900可用于实现上述方法实施例中描述的方法,具体可以参见上述方法实施例中的说明。
所述装置1900可以包括一个或多个处理器1901,所述处理器1901也可以称为处理单元,可以实现一定的控制功能。所述处理器1901可以是通用处理器或者专用处理器等。例如可以是基带处理器或中央处理器。基带处理器可以用于对通信协议以及通信数据进行处理,中央处理器可以用于对数据处理装置(如,基站、基带芯片,终端设备、终端设备芯片,DU或CU等)进行控制,执行软件程序,处理软件程序的数据。
在一种可选的设计中,处理器1901也可以存有指令1903,所述指令1903可以被所述处理器运行,使得所述装置1900执行上述方法实施例中描述的方法。
在另一种可选的设计中,处理器1901中可以包括用于实现接收和发送功能的收发单元。例如该收发单元可以是收发电路,或者是接口,或者是接口电路。用于实现接收和发送功能的收发电路、接口或接口电路可以是分开的,也可以集成在一起。上述收发电路、接口或接口电路可以用于代码/数据的读写,或者,上述收发电路、接口或接口电路可以用于信号的传输或传递。
在又一种可能的设计中,装置1900可以包括电路,所述电路可以实现前述方法实施例中发送或接收或者通信的功能。
可选的,所述装置1900中可以包括一个或多个存储器1902,其上可以存有指令1904,所述指令1904可在所述处理器上被运行,使得所述装置1900执行上述方法实施例中描述的方法。可选的,所述存储器中还可以存储有数据。可选的,处理器中也可以存储指令和/或数据。所述处理器和存储器可以单独设置,也可以集成在一起。例如,上述方法实施例中所描述的扩充规则、任一码本可以存储在存储器中,或者存储在处理器中。
可选的,所述装置1900还可以包括收发器1905和/或天线1906。所述处理器1901可以对所述装置190进行控制。所述收发器1905可以称为收发单元、收发机、收发电路、收发装置或收发模块等,用于实现收发功能。
可选的,本申请实施例中的装置1900可以用于执行本申请实施例中图8或图15中描述的方法。
本申请中描述的处理器和收发器可实现在集成电路(integrated circuit,IC)、模拟IC、射频集成电路RFIC、混合信号IC、专用集成电路(application specificintegrated circuit,ASIC)、印刷电路板(printed circuit board,PCB)、电子设备等上。该处理器和收发器也可以用各种IC工艺技术来制造,例如互补金属氧化物半导体(complementary metal oxide semiconductor,CMOS)、N型金属氧化物半导体(nMetal-oxide-semiconductor,NMOS)、P型金属氧化物半导体(positive channel metal oxidesemiconductor,PMOS)、双极结型晶体管(Bipolar Junction Transistor,BJT)、双极CMOS(BiCMOS)、硅锗(SiGe)、砷化镓(GaAs)等。
以上实施例描述中的装置可以是发送端设备或接收端设备(例如网络设备或者终端设备),但本申请中描述的装置的范围并不限于此,而且装置的结构可以不受图19的限制。装置1900可以是独立的设备或者可以是较大设备的一部分。例如所述装置1900可以是:
(1)独立的集成电路IC,或芯片,或,芯片***或子***;
(2)具有一个或多个IC的集合,可选的,该IC集合也可以包括用于存储数据和/或指令的存储部件;
(3)ASIC,例如调制解调器(MSM);
(4)可嵌入在其他设备内的模块;
(5)接收机、终端设备、智能终端设备、蜂窝电话、无线设备、手持机、移动单元、车载设备、网络设备、云设备、人工智能设备、机器设备、家居设备、医疗设备、工业设备等等;
(6)其他等等。
如图20所示,本申请又一实施例提供了一种数据处理装置2000。该装置可以是终端设备,也可以是终端设备的部件(例如,集成电路,芯片等等)。或者,该装置可以是网络设备,也可以是网络设备的部件(例如,集成电路,芯片等等)。该装置也可以是其他通信模块,用于实现本申请方法实施例中的方法。该装置2000可以包括:获取模块2001和处理模块2002。可选的,还可以包括收发模块(或称为收发单元,图20中未示出)、或存储模块(或称为存储单元,图20中未示出)。为了便于说明,图20仅示出了该数据处理装置的主要部件。
在一种可能的设计中,如图20中的一个或者多个模块可能由一个或者多个处理器来实现,或者由一个或者多个处理器和存储器来实现;或者由一个或多个处理器和收发器实现;或者由一个或者多个处理器、存储器和收发器实现,本申请实施例对此不作限定。所述处理器、存储器、收发器可以单独设置,也可以集成。
所述装置具备实现本申请实施例描述的发送端设备的功能,比如,所述装置包括发送端设备执行本申请实施例描述的发送端设备涉及步骤所对应的模块或单元或手段(means),所述功能或单元或手段(means)可以通过软件实现,或者通过硬件实现,也可以通过硬件执行相应的软件实现,还可以通过软件和硬件结合的方式实现。
类似地,所述装置具备实现本申请实施例描述的接收端设备的功能,比如,所述装置包括接收端设备执行本申请实施例描述的接收端设备涉及步骤所对应的模块或单元或手段(means),所述功能或单元或手段(means)可以通过软件实现,或者通过硬件实现,也可以通过硬件执行相应的软件实现,还可以通过软件和硬件结合的方式实现。
一些实施例中,装置2000可适用于图2-图6中任一项所示出的通信***中,执行图8中所示出的编/解码方法。
其中,获取模块2001,用于获得第一码本。
处理模块2002,用于基于第一码本进行第一网络编/解码。
其中,第一码本可以通过如下一种或多种扩充规则得到。
扩充规则一:第一码本包括第三码本中的码字,第三码本不同于第二码本,第二码本用于第二网络编/解码。换言之,第一码本是在第二码本的基础上,增加第三码本中的部分或全部码字的方式得到的码本。此时第二码本可以被称为第一码本的基础码本,第一码本可以被称为第二码本的扩充码本。具体地,第一码本可以为一个码本,该码本包括第二码本中的码字,以及第三码本中的部分或全部码字。或者,第一码本也可以包括两个子码本,一个子码本包括第二码本中的码字,另一个子码本包括第三码本中的部分或全部码字,对此不作具体限定。
扩充规则二:第一码本中的任一码字包括:第二码本中的一个码字中s个元素,s为第二码本中的一个码字的长度,s为正整数,以及,第三码本的一个码字或第二码本的一个码字中的全部元素或部分元素,全部元素的个数为第三码本或第二码本中的一个码字的长度,一个码字中的不同元素的值相同或不同。换言之,第一码本中的任一码字,均是通过增加第二码本中的一个码字包含的元素的方式扩充的,增加的元素可以来自第三码本中的一个码字,也可以来自第二码本中的任一个码字。此时第二码本可以被称为第一码本的基础码本,第一码本可以被称为第二码本的扩充码本。具体地,第一码本可以为一个码本,该码本中的任一码字的大小(size,亦可称为维度、长度)大于第二码本中的任一码字的大小。
需要说明的是,上述一个码字中的一个元素,是指该一个码字中的一个成员,不同成员的取值可以相同,也可以不同,对此不作具体限定。
本申请实施例中,对于上述两种扩充规则中涉及的第三码本可以通过第三码本对应的第一矩阵来确定,或者通过第三码本对应的第一矩阵和第二码本对应的第二矩阵之间的关系来确定。
具体地,第一矩阵和第二矩阵可以通过如下一种或多种方式获得。
方式一,第一矩阵为随机系数满秩矩阵,第二矩阵为满秩的非随机系数矩阵。
方式二,第一矩阵和第二矩阵满足以下中的一项关系:第一矩阵中的向量和第二矩阵中的向量来自于同一个矩阵A的行向量的集合,第一矩阵中的向量的长度或第二矩阵中的向量的长度小于或等于矩阵A的行向量的长度;或,第一矩阵中的向量和第二矩阵中的向量来自于同一个矩阵A的列向量的集合,第一矩阵中的向量的长度或第二矩阵中的向量的长度小于或等于矩阵A的列向量的长度;其中,第一矩阵中的一个或多个向量与第二矩阵中的所有向量均不相同。
方式三,第一矩阵与第二矩阵满足函数关系。该函数关系可以使得第三码本的码字和第二码本的码字之间保持线性无关特性。
方式四,第一矩阵对应的有限域的域大小大于第二矩阵对应的有限域的域大小。
下面具体说明上述方式一至方式四。
对于方式一,可选地,第二矩阵亦为满秩矩阵,即第一矩阵和第二矩阵均为满秩矩阵。
另一种可能的实现方式中,第一矩阵满足第二矩阵满足其中,[b1,b2,…,bm,…,bq]和[a1,a2,…,am,…,aq]不同。或者,第一矩阵满足第二矩阵满足其中,[b1,b2,…,bm,…,bq]T和[a1,a2,…,am,…,aq]T不同。其中,K为与第一网络编/解码对应的原始数据包的个数,q为有限域的域大小减一;am为有限域中的元素,1≤m≤q,a1,a2,…,am,…,aq为有限域中两两不同的元素,为am的l次幂,0≤l≤K-1;bm为有限域中的元素,1≤m≤q,b1,b2,…,bm,…,bq为有限域中两两不同的元素,为bm的l次幂,0≤l≤K-1。
对于方式三,上述第一矩阵与第二矩阵满足函数关系:可以包括:第一矩阵为第二矩阵与一个非零行向量[v1,…,vK]或[v1,…,vq],或者非零列向量v=[v1,…,vK]T或[v1,…,vq]T对应的对角矩阵的乘积。
可选地,上述第一矩阵与第二矩阵满足函数关系:可以包括:第二矩阵满足 非零向量为行向量v=[v1,…,vK]或列向量v=[v1,…,vK]T,第一矩阵满足: 其中,或者,第二矩阵满足非零向量为行向量v=[v1,…,vq]或列向量v=[v1,…,vq]T,第一矩阵满足: 其中,或者,第二矩阵满足非零向量为行向量v=[v1,…,vK]或列向量v=[v1,…,vK]T,第一矩阵满足: 其中,或者,第二矩阵满足非零向量为行向量v=[v1,…,vq]或列向量v=[v1,…,vq]T,第一矩阵满足: 其中,其中,K为与第一网络编/解码对应的原始数据包的个数,q为有限域的域大小减一,am为有限域中的元素,1≤m≤q,a1,a2,…,am,…,aq为有限域中两两不同的元素,为am的l次幂,0≤l≤K-1,diag(v)为v对应的对角矩阵。
或者,又一种可能的设计方案中,上述第一矩阵与第二矩阵满足函数关系:可以包括:第一矩阵为第二矩阵进行初等变换后的矩阵,初等变换包括初等行变换,初等列变换,换行变换,或,换列变换中的一项或多项。此外,还可以基于一个逆矩阵对第一矩阵和第二矩阵进行变换操作,该逆矩阵可以使得第三码本和第二码本的码字之间尽量保持线性无关特性,这种情况下,所述初等变换还可以包括一个非零的数乘以矩阵的某一行或某一列。
对于方式四,上述第一矩阵对应的有限域的域大小大于第二矩阵对应的有限域的域大小,可以包括:第二矩阵满足第一矩阵满足 所在有限域的域大小Q1大于所在有限域的域大小Q2。或者,第二矩阵满足第一矩阵满足 所在有限域的域大小Q1大于所在有限域的域大小Q2。其中,K为与第一网络编/解码对应的原始数据包的个数,q1=Q1-1,q2=Q2-1,为域大小为Q2的有限域中两两不同的元素,为域大小为Q1的有限域中两两不同的元素。
示例性地,第二码本中的码字可以为如下一项或多项:里德-所罗门RS码、最大距离可分MDS码、低密度奇偶校验LDPC码、或博斯-乔赫里-霍克文黑姆BCH码。
一些实施例中,装置2000可适用于图2-图6中任一项所示出的通信***中,执行图15中所示出的编/解码方法。
其中,获取模块2001,用于基于第四码本,获取编码系数。
处理模块2002,用于基于该编码系数,对一个网络编码滑动窗中的多组原始数据包进行网络编/解码。
其中,编码系数包括多组元素,多组元素与多组原始数据包一一对应,多组元素中的任一组元素均来自第四码本中的一个码字,且任意两组元素来自第四码本中的不同码字。
其中,第四码本可以是方法实施例中涉及的第一码本、第二码本、第三码本中的一个或多个,也可以是通过其他方式获取的码本,本申请实施例对此不做限定。
可选地,第四码本中任意一个码字的长度小于多组原始数据包中的数据包总数,且大于或等于多组原始数据包中任一组数据包中的数据包数。
一种可能的设计方案中,在不同的网络编码滑动窗内,同一组数据包对应的编码系数两两不同。
一种可能的设计方案中,在不同的网络编码滑动窗内,同一组数据包采用不同的冗余版本进行网络编/解码。
下面以终端设备和网络设备为例,详细说明上述数据处理装置的具体结构。
图21提供了一种终端设备的结构示意图。该终端设备可适用于图2至图6中任一项所示出的场景中,执行上述方法实施例中发送端设备或接收端设备的功能。为了便于说明,图21仅示出了终端设备的主要部件。如图21所示,终端设备2100包括处理器、存储器、控制电路、天线以及输入输出装置。处理器主要用于对通信协议以及通信数据进行处理,以及对整个终端设备进行控制,执行软件程序,处理软件程序的数据。存储器主要用于存储软件程序和数据。射频电路主要用于基带信号与射频信号的转换以及对射频信号的处理。天线主要用于收发电磁波形式的射频信号。输入输出装置,例如触摸屏、显示屏,键盘等主要用于接收用户输入的数据以及对用户输出数据。
当终端设备开机后,处理器可以读取存储单元中的软件程序,解析并执行软件程序的指令,处理软件程序的数据。当需要通过无线发送数据时,处理器对待发送的数据进行基带处理后,输出基带信号至射频电路,射频电路将基带信号进行处理后得到射频信号并将射频信号通过天线以电磁波的形式向外发送。当有数据发送到终端设备时,射频电路通过天线接收到射频信号,该射频信号被进一步转换为基带信号,并将基带信号输出至处理器,处理器将基带信号转换为数据并对该数据进行处理。
为了便于说明,图21仅示出了一个存储器和处理器。在实际的终端设备中,可以存在多个处理器和存储器。存储器也可以称为存储介质或者存储设备等,本申请实施例对此不做限制。
作为一种可选的实现方式,处理器可以包括基带处理器和中央处理器,基带处理器主要用于对通信协议以及通信数据进行处理,中央处理器主要用于对整个终端设备进行控制,执行软件程序,处理软件程序的数据。图21中的处理器集成了基带处理器和中央处理器的功能,本领域技术人员可以理解,基带处理器和中央处理器也可以是各自独立的处理器,通过总线等技术互联。本领域技术人员可以理解,终端设备可以包括多个基带处理器以适应不同的网络制式,终端设备可以包括多个中央处理器以增强其处理能力,终端设备的各个部件可以通过各种总线连接。所述基带处理器也可以表述为基带处理电路或者基带处理芯片。所述中央处理器也可以表述为中央处理电路或者中央处理芯片。对通信协议以及通信数据进行处理的功能可以内置在处理器中,也可以以软件程序的形式存储在存储单元中,由处理器执行软件程序以实现基带处理功能。
在一个例子中,可以将具有收发功能的天线和控制电路视为终端设备的收发单元,将具有处理功能的处理器视为终端设备的处理单元。如图21所示,终端设备2100包括收发单元2101和处理单元2102。收发单元也可以称为收发器、收发机、收发装置、收发模块、收发电路等。可选的,可以将收发单元2101中用于实现接收功能的器件视为接收单元,将收发单元2101中用于实现发送功能的器件视为发送单元,即收发单元2101包括接收单元和发送单元。示例性的,接收单元也可以称为接收机、接收器、接收电路等,发送单元可以称为发射机、发射器或者发射电路等。可选的,上述接收单元和发送单元可以是集成在一起的一个单元,也可以是各自独立的多个单元。上述接收单元和发送单元可以在一个地理位置,也可以分散在多个地理位置。
可选地,数据处理装置2100还可以包括存储单元,该存储单元存储有程序或指令。当处理单元2102执行该程序或指令时,使得数据处理装置2100可以执行上述方法实施例所述的编/解码方法中发送端设备或接收端设备的功能。
需要说明的是,数据处理装置2100可以是终端设备或网络设备,也可以是可设置于终端设备或网络设备中的芯片(***)或其他部件或组件,还可以是包含终端设备或网络设备的装置,本申请对此不做限定。
图22是本申请实施例提供的一种网络设备的结构示意图,如可以为基站的结构示意图。如图22所示,该基站可应用于如图2-图6中任一项所示的通信***中,执行上述方法实施例中发送端设备或接收端设备的功能。基站2200可包括一个或多个射频单元,如远端射频单元(remote radio unit,RRU)2201和一个或多个基带单元(baseband unit,BBU)2202。所述RRU2201可以称为收发单元、收发机、收发电路、或者收发器等等,其可以包括至少一个天线22011和射频单元22012。所述RRU 2201部分主要用于射频信号的收发以及射频信号与基带信号的转换,例如用于向接收端设备发送上述实施例中编码数据包,或者接收来自发送端设备的编码数据包。所述BBU 2202部分主要用于进行基带处理,对基站进行控制等。所述RRU 2201与BBU 2202可以是物理上设置在一起,也可以物理上分离设置的,即分布式基站。
所述BBU 2202为基站2200的控制中心,也可以称为处理单元,主要用于完成基带处理功能,如网络编/解码,信道编/解码,复用,调制,扩频等等。例如,所述BBU 2202可以用于控制基站执行上述方法实施例中,当网络设备作为发送端设备或接收端设备时的操作流程。
在一个实例中,所述BBU 2202可以由一个或多个单板构成,多个单板可以共同支持单一接入制式的无线接入网(如LTE网),也可以分别支持不同接入制式的无线接入网(如LTE网,5G网或其他网)。所述BBU 2202还包括存储器22021和处理器22022,所述存储器22021用于存储必要的指令和数据。例如存储器22021存储上述实施例中的第一码本、第二码本、第三码本、第四码本中的一个或多个。所述处理器22022用于控制基站进行必要的动作,例如用于控制基站执行上述方法实施例中,当网络设备作为发送端设备或接收端设备时的操作流程。所述存储器22021和处理器22022可以服务于一个或多个单板。也就是说,可以为每个单板上单独设置存储器和处理器。也可以是多个单板共用相同的存储器和处理器。此外每个单板上还可以设置有必要的电路。
需要说明的是,图21中所示出的终端设备和图22中所示出的网络设备仅仅为示例,不应视为对本申请实施例提供的数据处理装置的限定,即,本申请实施例提供的数据处理装置还可以为其他类型的通信设备,如核心网设备、或其他支持有线或无线通信方式的设备,比如CU或DU等。
可以理解的是,本申请实施例中的一些可选的特征,在某些场景下,可以不依赖于其他特征,比如其当前所基于的方案,而独立实施,解决相应的技术问题,达到相应的效果,也可以在某些场景下,依据需求与其他特征进行结合。相应的,本申请实施例中给出的装置也可以相应的实现这些特征或功能,在此不予赘述。
本领域技术人员还可以理解到本申请实施例列出的各种说明性逻辑块(illustrative logical block)和步骤(step)可以通过电子硬件、电脑软件,或两者的结合进行实现。这样的功能是通过硬件还是软件来实现取决于特定的应用和整个***的设计要求。本领域技术人员对于相应的应用,可以使用各种方法实现所述的功能,但这种实现不应被理解为超出本申请实施例保护的范围。
可以理解,本申请实施例中的处理器可以是一种集成电路芯片,具有信号的处理能力。在实现过程中,上述方法实施例的各步骤可以通过处理器中的硬件的集成逻辑电路或者软件形式的指令完成。上述的处理器可以是通用处理器、数字信号处理器(digitalsignal processor,DSP)、专用集成电路(application specific integrated circuit,ASIC)、现场可编程门阵列(field programmable gate array,FPGA)或者其它可编程逻辑器件、分立门或者晶体管逻辑器件、分立硬件组件。
本申请所描述的方案可通过各种方式来实现。例如,这些技术可以用硬件、软件或者硬件结合的方式来实现。对于硬件实现,用于在数据处理装置(例如,基站,终端设备、网络实体、或芯片)处执行这些技术的处理单元,可以实现在一个或多个通用处理器、DSP、数字信号处理器件、ASIC、可编程逻辑器件、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)。应注意,本文描述的***和方法的存储器旨在包括但不限于这些和任意其它适合类型的存储器。
本申请还提供了一种计算机可读介质,其上存储有计算机程序,该计算机程序被计算机执行时实现上述任一方法实施例的功能。
本申请还提供了一种计算机程序产品,该计算机程序产品被计算机执行时实现上述任一方法实施例的功能。
在上述实施例中,可以全部或部分地通过软件、硬件、固件或者其任意组合来实现。当使用软件实现时,可以全部或部分地以计算机程序产品的形式实现。所述计算机程序产品包括一个或多个计算机指令。在计算机上加载和执行所述计算机指令时,全部或部分地产生按照本申请实施例所述的流程或功能。所述计算机可以是通用计算机、专用计算机、计算机网络、或者其他可编程装置。所述计算机指令可以存储在计算机可读存储介质中,或者从一个计算机可读存储介质向另一个计算机可读存储介质传输,例如,所述计算机指令可以从一个网站站点、计算机、服务器或数据中心通过有线(例如同轴电缆、光纤、数字用户线(digital subscriber line,DSL))或无线(例如红外、无线、微波等)方式向另一个网站站点、计算机、服务器或数据中心进行传输。所述计算机可读存储介质可以是计算机能够存取的任何可用介质或者是包含一个或多个可用介质集成的服务器、数据中心等数据存储设备。所述可用介质可以是磁性介质(例如,软盘、硬盘、磁带)、光介质(例如,高密度数字视频光盘(digital video disc,DVD))、或者半导体介质(例如,固态硬盘(solid state disk,SSD))等。
可以理解,说明书通篇中提到的“实施例”意味着与实施例有关的特定特征、结构或特性包括在本申请的至少一个实施例中。因此,在整个说明书各个实施例未必一定指相同的实施例。此外,这些特定的特征、结构或特性可以任意适合的方式结合在一个或多个实施例中。可以理解,在本申请的各种实施例中,上述各过程的序号的大小并不意味着执行顺序的先后,各过程的执行顺序应以其功能和内在逻辑确定,而不应对本申请实施例的实施过程构成任何限定。
可以理解,在本申请中,“当…时”、“若”以及“如果”均指在某种客观情况下装置会做出相应的处理,并非是限定时间,且也不要求装置实现时一定要有判断的动作,也不意味着存在其它限定。
本申请中的“同时”可以理解为在相同的时间点,也可以理解为在一段时间段内,还可以理解为在同一个周期内。
本领域技术人员可以理解:本申请中涉及的第一、第二等各种数字编号仅为描述方便进行的区分,并不用来限制本申请实施例的范围。本申请中的编号(也可被称为索引)的具体取值、数量的具体取值、以及位置仅作为示意的目的,并不是唯一的表示形式,也并不用来限制本申请实施例的范围。本申请中涉及的第一个、第二个等各种数字编号也仅为描述方便进行的区分,并不用来限制本申请实施例的范围。
本申请中对于使用单数表示的元素旨在用于表示“一个或多个”,而并非表示“一个且仅一个”,除非有特别说明。本申请中,在没有特别说明的情况下,“至少一个”旨在用于表示“一个或者多个”,“多个”旨在用于表示“两个或两个以上”。
另外,本文中术语“***”和“网络”在本文中常被可互换使用。本文中术语“和/或”,仅仅是一种描述关联对象的关联关系,表示可以存在三种关系,例如,A和/或B,可以表示:单独存在A,同时存在A和B,单独存在B这三种情况,其中A可以是单数或者复数,B可以是单数或者复数。字符“/”一般表示前后关联对象是一种“或”的关系,但并不排除前后关联对象为“和”的情况,具体含义可以结合上下文进行理解。
本文中术语“……中的至少一个”或“……中的至少一种”,表示所列出的各项的全部或任意组合,例如,“A、B和C中的至少一种”,可以表示:单独存在A,单独存在B,单独存在C,同时存在A和B,同时存在B和C,同时存在A、B和C这六种情况,其中A可以是单数或者复数,B可以是单数或者复数,C可以是单数或者复数。
可以理解,在本申请各实施例中,“与A相应的B应表示B与A相关联,根据A可以确定B。但还应理解,根据A确定B并不意味着仅仅根据A确定B,还可以根据A和/或其它信息确定B。
本申请中各表所示的对应关系可以被配置,也可以是预定义的。各表中的信息的取值仅仅是举例,可以配置为其他值,本申请并不限定。在配置信息与各参数的对应关系时,并不一定要求必须配置各表中示意出的所有对应关系。例如,本申请中的表格中,某些行示出的对应关系也可以不配置。又例如,可以基于上述表格做适当的变形调整,例如,拆分,合并等等。上述各表中标题示出参数的名称也可以采用数据处理装置可理解的其他名称,其参数的取值或表示方式也可以数据处理装置可理解的其他取值或表示方式。上述各表在实现时,也可以采用其他的数据结构,例如可以采用数组、队列、容器、栈、线性表、指针、链表、树、图、结构体、类、堆、散列表或哈希表等。
本申请中的预定义可以理解为定义、预先定义、存储、预存储、预协商、预配置、固化、或预烧制。
本领域普通技术人员可以理解,结合本文中所公开的实施例描述的各示例的单元及算法步骤,能够以电子硬件、或者计算机软件和电子硬件的结合来实现。这些功能究竟以硬件还是软件方式来执行,取决于技术方案的特定应用和设计约束条件。专业技术人员可以对每个特定的应用来使用不同方法来实现所描述的功能,但是这种实现不应认为超出本申请的范围。
本领域普通技术人员可以理解,为描述的方便和简洁,上述描述的***、装置和单元的具体工作过程,可以参考前述方法实施例中的对应过程,在此不再赘述。
可以理解,本申请中描述的***、装置和方法也可以通过其它的方式实现。例如,以上所描述的装置实施例仅仅是示意性的,例如,所述单元的划分,仅仅为一种逻辑功能划分,实际实现时可以有另外的划分方式,例如多个单元或组件可以结合或者可以集成到另一个***,或一些特征可以忽略,或不执行。另一点,所显示或讨论的相互之间的耦合或直接耦合或通信连接可以是通过一些接口,装置或单元的间接耦合或通信连接,可以是电性,机械或其它的形式。
所述作为分离部件说明的单元可以是或者也可以不是物理上分开的,作为单元显示的部件可以是或者也可以不是物理单元,即可以位于一个地方,或者也可以分布到多个网络单元上。可以根据实际的需要选择其中的部分或者全部单元来实现本实施例方案的目的。
另外,在本申请各个实施例中的各功能单元可以集成在一个处理单元中,也可以是各个单元单独物理存在,也可以两个或两个以上单元集成在一个单元中。
所述功能如果以软件功能单元的形式实现并作为独立的产品销售或使用时,可以存储在一个计算机可读取存储介质中。基于这样的理解,本申请的技术方案本质上或者说对现有技术做出贡献的部分或者该技术方案的部分可以以软件产品的形式体现出来,该计算机软件产品存储在一个存储介质中,包括若干指令用以使得一台计算机设备(可以是个人计算机,服务器,或者网络设备等)执行本申请各个实施例所述方法的全部或部分步骤。而前述的存储介质包括:U盘、移动硬盘、只读存储器(read-only memory,ROM)、随机存取存储器(random access memory,RAM)、磁碟或者光盘等各种可以存储程序代码的介质。
本申请中各个实施例之间相同或相似的部分可以互相参考。在本申请中各个实施例、以及各实施例中的各个实施方式/实施方法/实现方法中,如果没有特殊说明以及逻辑冲突,不同的实施例之间、以及各实施例中的各个实施方式/实施方法/实现方法之间的术语和/或描述具有一致性、且可以相互引用,不同的实施例、以及各实施例中的各个实施方式/实施方法/实现方法中的技术特征根据其内在的逻辑关系可以组合形成新的实施例、实施方式、实施方法、或实现方法。以上所述的本申请实施方式并不构成对本申请保护范围的限定。
以上所述,仅为本申请的具体实施方式,但本申请的保护范围并不局限于此,任何熟悉本技术领域的技术人员在本申请揭露的技术范围内,可轻易想到变化或替换,都应涵盖在本申请的保护范围之内。
Claims (23)
1.一种数据处理方法,其特征在于,包括:
获得第一码本;
基于所述第一码本进行第一网络编码或解码;
其中,所述第一码本包括第三码本中的码字,所述第三码本不同于第二码本,所述第二码本用于第二网络编码或解码;或者,
所述第一码本中的任一码字包括:第二码本中的一个码字中s个元素,所述s为所述第二码本中的一个码字的长度,s为正整数,以及,第三码本的一个码字或第二码本的一个码字中的全部元素或部分元素,所述全部元素的个数为所述第三码本或第二码本中的一个码字的长度,所述一个码字中的不同元素的值相同或不同;
其中,所述第三码本对应第一矩阵,所述第一矩阵为随机系数满秩矩阵,所述第二码本对应第二矩阵,所述第二矩阵为满秩的非随机系数矩阵;或者,
所述第三码本对应第一矩阵,所述第二码本对应第二矩阵,所述第一矩阵和所述第二矩阵满足以下中的一项:
所述第一矩阵中的向量和所述第二矩阵中的向量来自于同一个矩阵A的行向量的集合,所述第一矩阵中的向量的长度或所述第二矩阵中的向量的长度小于或等于所述矩阵A的行向量的长度;或,所述第一矩阵中的向量和所述第二矩阵中的向量来自于同一个矩阵A的列向量的集合,所述第一矩阵中的向量的长度或所述第二矩阵中的向量的长度小于或等于所述矩阵A的列向量的长度;其中,所述第一矩阵中的一个或多个向量与所述第二矩阵中的所有向量均不相同;或者,
第一矩阵与第二矩阵满足函数关系;或者,
所述第一矩阵对应的有限域的域大小大于所述第二矩阵对应的有限域的域大小。
3.根据权利要求1所述的方法,其特征在于,
其中,所述K为与所述第一网络编码或解码对应的原始数据包的个数,所述q为有限域的域大小减一;
4.根据权利要求1所述的方法,其特征在于,所述第一矩阵为所述第二矩阵与一个非零行向量v=[v1,…,vK]或[v1,…,vq],或者非零列向量v=[v1,…,vK]T或[v1,…,vq]T对应的对角矩阵的乘积。
6.根据权利要求1所述的方法,其特征在于,所述第一矩阵为所述第二矩阵进行初等变换后的矩阵,所述初等变换包括初等行变换,初等列变换,换行变换,或,换列变换中的一项或多项。
9.根据权利要求1-8中任一项所述的方法,其特征在于,所述第二码本中的码字为如下一项或多项:里德-所罗门RS码、最大距离可分MDS码、低密度奇偶校验LDPC码、博斯-乔赫里-霍克文黑姆BCH码。
10.一种数据处理装置,其特征在于,包括:获取模块和处理模块;其中,
所述获取模块,用于获得第一码本;
所述处理模块,用于基于所述第一码本进行第一网络编码或解码;
其中,所述第一码本包括第三码本中的码字,所述第三码本不同于第二码本,所述第二码本用于第二网络编码或解码;或者,
所述第一码本中的任一码字包括:第二码本中的一个码字中s个元素,所述s为所述第二码本中的一个码字的长度,s为正整数,以及,第三码本的一个码字或第二码本的一个码字中的全部元素或部分元素,所述全部元素的个数为所述第三码本或第二码本中的一个码字的长度,所述一个码字中的不同元素的值相同或不同;
其中,所述第三码本对应第一矩阵,所述第一矩阵为随机系数满秩矩阵,所述第二码本对应第二矩阵,所述第二矩阵为满秩的非随机系数矩阵;或者,
所述第三码本对应第一矩阵,所述第二码本对应第二矩阵,所述第一矩阵和所述第二矩阵满足以下中的一项:
所述第一矩阵中的向量和所述第二矩阵中的向量来自于同一个矩阵A的行向量的集合,所述第一矩阵中的向量的长度或所述第二矩阵中的向量的长度小于或等于所述矩阵A的行向量的长度;或,所述第一矩阵中的向量和所述第二矩阵中的向量来自于同一个矩阵A的列向量的集合,所述第一矩阵中的向量的长度或所述第二矩阵中的向量的长度小于或等于所述矩阵A的列向量的长度;其中,所述第一矩阵中的一个或多个向量与所述第二矩阵中的所有向量均不相同;或者,
第一矩阵与第二矩阵满足函数关系;或者,
所述第一矩阵对应的有限域的域大小大于所述第二矩阵对应的有限域的域大小。
12.根据权利要求10所述的装置,其特征在于,
其中,所述K为与所述第一网络编码或解码对应的原始数据包的个数,所述q为有限域的域大小减一;
13.根据权利要求10所述的装置,其特征在于,所述第一矩阵为所述第二矩阵与一个非零行向量v=[v1,…,vK]或[v1,…,vq],或者非零列向量v=[v1,…,vK]T或[v1,…,vq]T对应的对角矩阵的乘积。
14.根据权利要求13所述的装置,其特征在于,
15.根据权利要求10所述的装置,其特征在于,所述第一矩阵为所述第二矩阵进行初等变换后的矩阵,所述初等变换包括初等行变换,初等列变换,换行变换,或,换列变换中的一项或多项。
18.根据权利要求10-17中任一项所述的装置,其特征在于,所述第二码本中的码字为如下一项或多项:里德-所罗门RS码、最大距离可分MDS码、低密度奇偶校验LDPC码、博斯-乔赫里-霍克文黑姆BCH码。
19.一种数据处理装置,其特征在于,所述装置用于执行如权利要求1-9中任一项所述的数据处理方法。
20.一种数据处理装置,其特征在于,所述装置包括:处理器;其中,
所述处理器,用于执行如权利要求1-9中任一项所述的数据处理方法。
21.一种数据处理装置,其特征在于,包括:接口电路或收发器,以及处理器;其中,
所述处理器用于执行如权利要求1-9中任一项所述的数据处理方法;
所述接口电路或收发器,用于连接所述处理器,并与所述装置之外的其他装置进行交互。
22.一种计算机可读存储介质,其特征在于,所述计算机可读存储介质包括计算机程序或指令,当所述计算机程序或指令在计算机上运行时,使得所述计算机执行如权利要求1-9中任一项所述的数据处理方法。
23.一种计算机程序产品,其特征在于,所述计算机程序产品包括:计算机程序或指令,当所述计算机程序或指令在计算机上运行时,使得所述计算机执行如权利要求1-9中任一项所述的数据处理方法。
Priority Applications (3)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202110727292.9A CN115549849A (zh) | 2021-06-29 | 2021-06-29 | 数据处理方法及装置 |
EP22831811.9A EP4351028A1 (en) | 2021-06-29 | 2022-06-22 | Data processing method and apparatus |
PCT/CN2022/100546 WO2023273995A1 (zh) | 2021-06-29 | 2022-06-22 | 数据处理方法及装置 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202110727292.9A CN115549849A (zh) | 2021-06-29 | 2021-06-29 | 数据处理方法及装置 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN115549849A true CN115549849A (zh) | 2022-12-30 |
Family
ID=84690714
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202110727292.9A Pending CN115549849A (zh) | 2021-06-29 | 2021-06-29 | 数据处理方法及装置 |
Country Status (3)
Country | Link |
---|---|
EP (1) | EP4351028A1 (zh) |
CN (1) | CN115549849A (zh) |
WO (1) | WO2023273995A1 (zh) |
Families Citing this family (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN116170115B (zh) * | 2023-04-19 | 2023-06-27 | 华南师范大学 | 基于码本的数字喷泉编解码方法、装置以及*** |
Family Cites Families (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
EP3459182A1 (en) * | 2016-05-20 | 2019-03-27 | INTEL Corporation | Codebook to support non-coherent transmission in comp (coordinated multi-point) and nr (new radio) |
EP3273624A1 (en) * | 2016-07-18 | 2018-01-24 | Institut Mines Telecom | Joint space-time and fec coding in multi-mode fiber optical transmission systems |
US10749584B2 (en) * | 2016-12-22 | 2020-08-18 | Samsung Electronics Co., Ltd. | Uplink MIMO codebook for advanced wireless communication systems |
WO2019226028A1 (en) * | 2018-05-25 | 2019-11-28 | Samsung Electronics Co., Ltd. | Methods of beam codebook generation for 5g terminals |
CN112087405B (zh) * | 2019-06-12 | 2023-03-31 | ***通信有限公司研究院 | 码本生成方法、信息传输方法、终端及网络设备 |
US20210058989A1 (en) * | 2019-11-06 | 2021-02-25 | Intel Corporation | Network coding and delay-efficient integrated access and backhaul network topologies |
-
2021
- 2021-06-29 CN CN202110727292.9A patent/CN115549849A/zh active Pending
-
2022
- 2022-06-22 WO PCT/CN2022/100546 patent/WO2023273995A1/zh active Application Filing
- 2022-06-22 EP EP22831811.9A patent/EP4351028A1/en active Pending
Also Published As
Publication number | Publication date |
---|---|
WO2023273995A1 (zh) | 2023-01-05 |
EP4351028A1 (en) | 2024-04-10 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US10461779B2 (en) | Rate-compatible polar codes | |
CN112073160B (zh) | 通信***中冗余版本的设计方案 | |
CN105075163A (zh) | 极化码的处理方法和设备 | |
CN105164959A (zh) | 用于极化码的速率匹配的方法和装置 | |
KR20180138101A (ko) | 통신 및 방송 시스템을 위한 부호율-조정 방법 및 장치 | |
WO2021180217A1 (zh) | Ldpc码的速率匹配的方法和通信装置 | |
US11323727B2 (en) | Alteration of successive cancellation order in decoding of polar codes | |
CN108400844A (zh) | 信息处理的方法、装置、通信设备和通信*** | |
EP3659259B1 (en) | Enhanced information sequences for polar codes | |
CN110999149A (zh) | 一种增量冗余混合自动重传请求(ir-harq)重传的方法和设备 | |
KR20180042373A (ko) | 수신기, 복수의 송신기들, 다수의 송신기들로부터 사용자 데이터를 수신하는 방법 및 사용자 데이터를 송신하는 방법 | |
WO2023273995A1 (zh) | 数据处理方法及装置 | |
WO2021169522A1 (zh) | 数据处理方法及装置 | |
WO2022268130A1 (zh) | 一种网络编码方法及装置 | |
WO2021249080A1 (zh) | 编码方法及装置 | |
WO2022135068A1 (zh) | 基于混合自动重传请求harq的通信方法和装置 | |
WO2021136539A1 (zh) | 卷积码的速率匹配的方法和无线通信装置 | |
CN111213346B (zh) | 用于促进多用户检测的方法和计算设备 | |
US20240214042A1 (en) | Data processing method and apparatus | |
CN113708778A (zh) | Ldpc的速率匹配的方法和通信装置 | |
EP3673581B1 (en) | Upo compliant information sequences for polar codes | |
CN110034851A (zh) | 编码方法、编码设备以及*** | |
CN111988112A (zh) | 通信方法和装置 | |
WO2023236128A1 (en) | Apparatus and methods for source coding and channel coding of low entropy signals | |
WO2024041194A1 (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 |