CN117318882A - 一种通信方法及装置 - Google Patents
一种通信方法及装置 Download PDFInfo
- Publication number
- CN117318882A CN117318882A CN202210956555.8A CN202210956555A CN117318882A CN 117318882 A CN117318882 A CN 117318882A CN 202210956555 A CN202210956555 A CN 202210956555A CN 117318882 A CN117318882 A CN 117318882A
- Authority
- CN
- China
- Prior art keywords
- data
- coding
- information
- encoded data
- coefficient
- 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
- 238000000034 method Methods 0.000 title claims abstract description 185
- 238000004891 communication Methods 0.000 title claims abstract description 77
- 239000013598 vector Substances 0.000 claims description 115
- 230000015654 memory Effects 0.000 claims description 21
- 239000011159 matrix material Substances 0.000 claims description 20
- 238000004590 computer program Methods 0.000 claims description 13
- 239000000523 sample Substances 0.000 claims 2
- 239000000758 substrate Substances 0.000 claims 1
- 230000005540 biological transmission Effects 0.000 abstract description 83
- 230000008569 process Effects 0.000 abstract description 64
- 230000006870 function Effects 0.000 description 57
- 102100023706 Steroid receptor RNA activator 1 Human genes 0.000 description 34
- 101710187693 Steroid receptor RNA activator 1 Proteins 0.000 description 34
- 238000010586 diagram Methods 0.000 description 14
- 238000005516 engineering process Methods 0.000 description 10
- 238000007726 management method Methods 0.000 description 6
- 230000000694 effects Effects 0.000 description 5
- 230000003287 optical effect Effects 0.000 description 5
- 238000010295 mobile communication Methods 0.000 description 4
- 230000007246 mechanism Effects 0.000 description 3
- 230000003190 augmentative effect Effects 0.000 description 2
- 230000008859 change Effects 0.000 description 2
- 230000007774 longterm Effects 0.000 description 2
- 230000011664 signaling Effects 0.000 description 2
- 230000003068 static effect Effects 0.000 description 2
- 230000006978 adaptation Effects 0.000 description 1
- 230000003044 adaptive effect Effects 0.000 description 1
- 230000009286 beneficial effect Effects 0.000 description 1
- 230000010267 cellular communication Effects 0.000 description 1
- 238000013500 data storage Methods 0.000 description 1
- 230000001934 delay Effects 0.000 description 1
- 230000001419 dependent effect Effects 0.000 description 1
- 230000008570 general process Effects 0.000 description 1
- 239000011521 glass Substances 0.000 description 1
- 230000010354 integration Effects 0.000 description 1
- 230000003993 interaction Effects 0.000 description 1
- 239000013307 optical fiber Substances 0.000 description 1
- 230000037361 pathway Effects 0.000 description 1
- 239000004065 semiconductor Substances 0.000 description 1
- 239000007787 solid Substances 0.000 description 1
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/0001—Systems modifying transmission characteristics according to link quality, e.g. power backoff
- H04L1/0009—Systems modifying transmission characteristics according to link quality, e.g. power backoff by adapting the 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
Landscapes
- Engineering & Computer Science (AREA)
- Computer Networks & Wireless Communication (AREA)
- Signal Processing (AREA)
- Quality & Reliability (AREA)
- Mobile Radio Communication Systems (AREA)
Abstract
本申请涉及一种通信方法及装置。第一设备向第二设备发送第一配置信息以及向第三设备发送第二配置信息,或者,接收来自第三设备的第二配置信息,第一配置信息指示第一编码系数集合,第二配置信息指示第一编码系数集合和第二编码系数集合。第一设备获得第一数据包,并向第二设备发送第一信息,以用于指示第一编码数据,以及,第一信息还包括第一指示信息,以指示第一编码系数,第一编码数据是根据第一编码系数和第一数据包生成的,第一编码系数属于第二编码系数集合。第二设备可以利用第一编码系数集合对第一编码数据进行再次编码,再向第三设备发送再次编码后的数据。通过第二设备的再次编码过程,提高了数据传输的可靠性。
Description
相关申请的交叉引用
本申请要求在2022年06月21日提交中国国家知识产权局、申请号为202210705960.2、申请名称为“一种网络编码传输方法”的中国专利申请的优先权,其全部内容通过引用结合在本申请中。
技术领域
本申请涉及通信技术领域,尤其涉及一种通信方法及装置。
背景技术
目前提出了基于网络编码(network coding,NC)的传输方案,网络编码的大概过程可参考图1。在发送端,一个数据块,或称为网络编码块,可以被分割为K个网络编码包(或者称为网络编码数据包或网络编码系统包等),其中每个网络编码包中包含若干比特的数据,且K个网络编码包的大小相同。发送端对这些网络编码包进行网络编码,除了得到K个网络编码包外,还可得到M个网络编码冗余包。其中,每个网络编码冗余包的大小与网络编码包的大小相同,即,每个网络编码冗余包所包含的比特数与网络编码包所包含的比特数相同。
在经历传输过程后,例如空口传输,由于信道质量的变化等原因,导致K个网络编码包+M个网络编码冗余包未能被接收端全部正确接收。如图1所示,其中的黑色矩形表示接收端接收失败的包。但因为接收端接收到了一定数量的网络编码冗余包,因此接收端可以据此恢复接收失败的包,从而可以减小丢包率,也减少数据重传过程,从而减小传输时延。
网络编码传输的一种应用场景为中继场景。例如基站发送下行数据,中继(relay)用户设备(user equipment,UE)将来自基站的下行数据转发给远端(remote)UE。在这种场景下,涉及两段传输路径,因此基站需要发送足够的网络编码冗余包来保障这两段传输路径的可靠性。在传输时延一定的情况下,如果基站要发送较多的网络编码冗余包,则需要提升传输速率。而中继UE和/或远端UE可能处于小区边缘,或者信号质量不太好,无法支持高速传输,在这种情况下可能因为无法发送足够的网络编码冗余包而导致传输可靠性下降。
发明内容
本申请实施例提供一种通信方法及装置,用于提高传输可靠性。
第一方面,提供第一种通信方法,该方法可由第一设备执行,或由包括第一设备功能的其他设备执行,或由芯片系统(或,芯片)或其他功能模块执行,该芯片系统或功能模块能够实现第一设备的功能,该芯片系统或功能模块例如设置在第一设备中。该第一设备例如为终端设备或网络设备。该方法包括:向所述第二设备发送第一配置信息以及向第三设备发送第二配置信息,或者,接收来自第三设备的第二配置信息,其中,所述第一配置信息用于指示第一编码系数集合,所述第二配置信息用于指示所述第一编码系数集合和第二编码系数集合;获得第一数据包,所述第一数据包属于第一数据块;向第二设备发送第一信息,所述第一信息用于指示第一编码数据,以及,所述第一信息还包括第一指示信息,所述第一指示信息用于指示第一编码系数,所述第一编码数据是根据所述第一编码系数和所述第一数据包生成的,所述第一编码系数属于所述第二编码系数集合,所述第一编码系数集合用于对所述第一编码数据进行编码。
本申请实施例中,第一设备可以向第二设备发送第一配置信息,第一配置信息可以指示第一编码系数集合。例如,第二设备可根据第一编码系数集合对接收的编码数据进行再次编码,第二设备例如为中继设备。例如第二设备接收了来自第一设备的编码数据,该数据是经过编码过程得到的,该编码数据待发送给第三设备。那么,第二设备可以利用第一编码系数集合对该编码数据进行再次编码,再向第三设备发送再次编码后的数据。通过第二设备的再次编码过程,提高了数据传输的可靠性。由于数据传输的可靠性有所提高,因此第一设备可以不必发送过多的编码数据,或者说不必发送过多的冗余包,由此能够节省传输开销。
在一种可选的实施方式中,所述方法还包括:获得第二数据包,所述第二数据包属于所述第一数据块;向所述第三设备发送第二信息,所述第二信息用于指示第二编码数据,所述第二编码数据是根据第二编码系数和所述第二数据包生成的,所述第二编码系数属于所述第二编码系数集合。本申请实施例中,第一设备与第三设备之间可通过多条路径传输,例如第一编码数据可通过非直连路径传输,第二编码数据可通过直连路径传输,由此提高了吞吐率。
在一种可选的实施方式中,所述第一编码系数集合为第一编码系数矩阵;或,所述第二编码系数集合为第二编码系数矩阵,所述第一编码系数为所述第二编码系数矩阵中的一个向量,所述第二编码系数为所述第二编码系数矩阵中的另一个向量。编码系数集合可以以矩阵形式实现,或者也可以以其他形式实现。一个编码系数集合可以包括一个或多个编码系数,一个编码系数例如为一个向量,例如行向量或列向量。
在一种可选的实施方式中,所述第一信息包括所述第一编码数据的包头,所述第一编码数据的包头包括所述第一指示信息。第一指示信息可以包括在第一编码数据的包头内,而不必占用负载空间。
在一种可选的实施方式中,所述第一编码数据的包头还用于指示如下一项或多项:所述第一编码数据的长度,第一数据块所包括的数据包的个数,第一数据包在第一数据块所包括的数据包中的序列号,或,填充比特信息。第一编码数据的包头还可以指示多种内容,以供接收端对第一编码数据进行译码。
在一种可选的实施方式中,所述第一编码系数集合和第二编码系数集合来自于同一个有限域。有限域可以理解为编码过程中的运算规则,例如编码过程中进行加减乘除的规则。如果有限域不同,则对应的运算规则也不同。因此,令第一编码系数集合和第二编码系数集合来自于同一个有限域,使得本申请实施例所提供的再编码过程能够生效。
第二方面,提供第二种通信方法,该方法可由第二设备执行,或由包括第二设备功能的其他设备执行,或由芯片系统(或,芯片)或其他功能模块执行,该芯片系统或功能模块能够实现第二设备的功能,该芯片系统或功能模块例如设置在第二设备中。该第二设备例如为终端设备或网络设备,例如,第二设备可作为中继设备。该方法包括:接收来自第一设备的第一信息,所述第一信息用于指示第一编码数据,以及,所述第一信息还包括第一指示信息,所述第一指示信息用于指示第一编码系数,所述第一编码系数用于生成所述第一编码数据;向第三设备发送第三信息,所述第三信息用于指示第三编码数据,所述第三编码数据是根据第三编码系数和所述第一编码数据生成的,所述第三信息还用于指示所述第一编码系数和所述第三编码系数。
在一种可选的实施方式中,所述第一编码系数属于第二编码系数集合;所述第三编码系数属于第一编码系数集合。
在一种可选的实施方式中,所述第三信息用于指示所述第一编码系数和所述第三编码系数,包括:所述第三信息包括所述第一指示信息,所述第一指示信息还用于指示所述第三编码系数;或,所述第三信息包括所述第一指示信息和第二指示信息,所述第二指示信息用于指示所述第三编码系数。第一指示信息可以既指示第一编码系数也指示第三编码系数,从而不必在第三信息中添加过多的指示信息,有利于节省传输开销。或者,第三信息可以通过不同的指示信息分别指示第一编码系数和第三编码系数,使得指示粒度更细。
在一种可选的实施方式中,所述方法还包括:接收第一配置信息,所述第一配置信息用于指示所述第一编码系数集合。
在一种可选的实施方式中,所述第三编码数据的大小与所述第一编码数据的大小相同。
在一种可选的实施方式中,所述第三信息包括所述第三编码数据的包头,所述第三编码数据的包头包括所述第一编码数据的包头。例如,第二设备可以通过修改第一编码数据包的包头得到第三编码数据包的包头,例如第二设备可以在第一编码数据的包头的基础上添加相应的字段,以得到第三编码数据的包头,这种方式不必对第一编码数据的包头内的原有字段进行改动,易于实现。
在一种可选的实施方式中,所述第三编码数据的包头内包括第二指示信息,所述第二指示信息用于指示所述第三编码系数。第三编码数据的包头内可以包括第二指示信息,第二指示信息可以指示第三编码系数,从而第三设备根据第二指示信息就可以确定第三编码数据所对应的第三编码系数。
在一种可选的实施方式中,所述第一信息包括所述第一编码数据的包头,所述第一编码数据的包头包括所述第一指示信息。
在一种可选的实施方式中,所述第一编码数据的包头还用于指示如下一项或多项:所述第一编码数据的长度,第一数据块所包括的数据包的个数,第一数据包在第一数据块所包括的数据包中的序列号,或,填充比特信息,其中,所述第一数据包用于生成所述第一编码数据,所述第一数据包属于所述第一数据块。
在一种可选的实施方式中,所述第三编码数据的包头中包括第三指示信息,用于指示所述第三编码数据是否为根据所述第一编码系数集合编码的数据。对于第三设备来说,来自第一设备的编码数据可以是未经过再编码的数据,来自第二设备的编码数据可能经过再编码,也可能未经过再编码。因此,第三设备通过传输路径可能无法确定所接收的编码数据究竟是否经过再编码,则第三设备无法确定采用何种译码方式。鉴于此,本申请实施例中第三编码数据的包头可以包括第三指示信息,该第三指示信息可以指示第三编码数据是否为根据第一编码系数集合编码的数据,或者指示第三编码数据是否为经过再编码的数据,或者指示第三编码数据是否与第一编码数据相同。
在一种可选的实施方式中,当所述第三指示信息为第一值时,指示所述第三编码数据和所述第一编码数据相同,或指示第三编码数据不是根据第一编码系数集合编码的数据,或指示第三编码数据不是经过再编码的数据。
在一种可选的实施方式中,所述第一编码系数集合和所述第二编码系数集合分别来自于同一个有限域。
关于第二方面或部分可选的实施方式所带来的技术效果,可参考对于第一方面或相应实施方式的技术效果的介绍。
第三方面,提供第三种通信方法,该方法可由第三设备执行,或由包括第三设备功能的其他设备执行,或由芯片系统(或,芯片)或其他功能模块执行,该芯片系统或功能模块能够实现第三设备的功能,该芯片系统或功能模块例如设置在第三设备中。该第三设备例如为终端设备或网络设备。该方法包括:接收来自第二设备的第三信息,所述第三信息用于指示第三编码数据,所述第三编码数据是根据第三编码系数和第一编码数据生成的,所述第一编码数据是根据第一编码系数和第一数据包生成的,所述第三信息用于指示所述第一编码系数和所述第三编码系数;根据所述第一编码系数和所述第三编码系数,译码所述第三编码数据,获得所述第一数据包。
在一种可选的实施方式中,所述第一编码系数属于第二编码系数集合;所述第三编码系数属于第一编码系数集合。
在一种可选的实施方式中,所述第三信息用于指示所述第一编码系数和所述第三编码系数,包括:所述第三信息包括第一指示信息,所述第一指示信息用于指示所述第一编码系数和所述第三编码系数;或,所述第三信息包括第一指示信息和第二指示信息,所述第一指示信息用于指示所述第一编码系数,所述第二指示信息用于指示所述第三编码系数。
在一种可选的实施方式中,所述方法还包括:接收来自第一设备的第二配置信息,所述第二配置信息用于指示所述第一编码系数集合和所述第二编码系数集合;或,向所述第二设备发送第一配置信息,所述第一配置信息用于指示所述第一编码系数集合,以及,向第一设备发送第二配置信息,所述第二配置信息用于指示所述第一编码系数集合和所述第二编码系数集合。例如,如果第三设备为远端设备,第一设备为网络设备,则第一设备可以向第三设备发送配置信息,另外也可以向第二设备发送配置信息;或者,如果第三设备为网络设备,第一设备为远端设备,则第三设备可以向第一设备发送配置信息,还可以向第二设备发送配置信息。
在一种可选的实施方式中,所述第三编码数据的大小与所述第一编码数据的大小相同。
在一种可选的实施方式中,所述第三信息还包括第三指示信息,用于指示所述第三编码数据是否为根据第一编码系数集合编码的数据。
在一种可选的实施方式中,当所述第三指示信息为第一值时,指示所述第三编码数据和所述第一编码数据相同。
在一种可选的实施方式中,所述第三信息还用于指示如下一项或多项:所述第一编码数据的长度,第一数据块所包括的数据包的个数,所述第一数据包在第一数据块所包括的数据包中的序列号,或,填充比特信息,其中,所述第一数据包属于所述第一数据块。
在一种可选的实施方式中,所述方法还包括:接收来自第一设备的第二信息,所述第二信息用于指示第二编码数据,所述第二编码数据是根据第二编码系数和第二数据包生成的;根据所述第一编码系数译码所述第二编码数据,获得所述第二数据包。
在一种可选的实施方式中,所述第一编码系数集合和所述第二编码系数集合分别来自于同一个有限域。
关于第三方面或部分可选的实施方式所带来的技术效果,可参考对于第一方面或相应实施方式的技术效果的介绍,和/或参考对于第二方面或相应实施方式的技术效果的介绍。
第四方面,提供一种通信装置。所述通信装置可以为上述第一方面至第三方面中的任一方面所述的第一设备。所述通信装置具备上述第一设备的功能。所述通信装置例如为第一设备,或为包括第一设备的较大设备,或为第一设备中的功能模块,例如基带装置或芯片系统等。一种可选的实现方式中,所述通信装置包括基带装置和射频装置。另一种可选的实现方式中,所述通信装置包括处理单元(有时也称为处理模块)和收发单元(有时也称为收发模块)。收发单元能够实现发送功能和接收功能,在收发单元实现发送功能时,可称为发送单元(有时也称为发送模块),在收发单元实现接收功能时,可称为接收单元(有时也称为接收模块)。发送单元和接收单元可以是同一个功能模块,该功能模块称为收发单元,该功能模块能实现发送功能和接收功能;或者,发送单元和接收单元可以是不同的功能模块,收发单元是对这些功能模块的统称。
在一种可选的实施方式中,所述收发单元(或,所述发送单元),用于向所述第二设备发送第一配置信息以及向第三设备发送第二配置信息,或者,接收来自第三设备的第二配置信息,其中,所述第一配置信息用于指示第一编码系数集合,所述第二配置信息用于指示所述第一编码系数集合和第二编码系数集合;所述处理单元,用于获得第一数据包,所述第一数据包属于第一数据块;所述收发单元(或,所述发送单元),还用于向第二设备发送第一信息,所述第一信息用于指示第一编码数据,以及,所述第一信息还包括第一指示信息,所述第一指示信息用于指示第一编码系数,所述第一编码数据是根据所述第一编码系数和所述第一数据包生成的,所述第一编码系数属于所述第二编码系数集合,所述第一编码系数集合用于对所述第一编码数据进行编码。
在一种可选的实施方式中,所述通信装置还包括存储单元(有时也称为存储模块),所述处理单元用于与所述存储单元耦合,并执行所述存储单元中的程序或指令,使能所述通信装置执行上述第一方面至第三方面中的任一方面所述的第一设备的功能。
第五方面,提供一种通信装置。所述通信装置可以为上述第一方面至第三方面中的任一方面所述的第二设备。所述通信装置具备上述第二设备的功能。所述通信装置例如为第二设备,或为包括第二设备的较大设备,或为第二设备中的功能模块,例如基带装置或芯片系统等。一种可选的实现方式中,所述通信装置包括基带装置和射频装置。另一种可选的实现方式中,所述通信装置包括处理单元(有时也称为处理模块)和收发单元(有时也称为收发模块)。关于收发单元的实现方式可参考第四方面的介绍。
在一种可选的实现方式中,所述收发单元(或,所述接收单元),用于接收来自第一设备的第一信息,所述第一信息用于指示第一编码数据,以及,所述第一信息还包括第一指示信息,所述第一指示信息用于指示第一编码系数,所述第一编码系数用于生成所述第一编码数据;所述收发单元(或,所述发送单元),还用于向第三设备发送第三信息,所述第三信息用于指示第三编码数据,所述第三编码数据是根据第三编码系数和所述第一编码数据生成的,所述第三信息还用于指示所述第一编码系数和所述第三编码系数。
在一种可选的实施方式中,所述通信装置还包括存储单元(有时也称为存储模块),所述处理单元用于与所述存储单元耦合,并执行所述存储单元中的程序或指令,使能所述通信装置执行上述第一方面至第三方面中的任一方面所述的第二设备的功能。
第六方面,提供一种通信装置。所述通信装置可以为上述第一方面至第三方面中的任一方面所述的第三设备。所述通信装置具备上述第三设备的功能。所述通信装置例如为第三设备,或为包括第三设备的较大设备,或为第三设备中的功能模块,例如基带装置或芯片系统等。一种可选的实现方式中,所述通信装置包括基带装置和射频装置。另一种可选的实现方式中,所述通信装置包括处理单元(有时也称为处理模块)和收发单元(有时也称为收发模块)。关于收发单元的实现方式可参考第四方面的介绍。
在一种可选的实现方式中,所述收发单元(或,所述接收单元),用于接收来自第二设备的第三信息,所述第三信息用于指示第三编码数据,所述第三编码数据是根据第三编码系数和第一编码数据生成的,所述第一编码数据是根据第一编码系数和第一数据包生成的,所述第三信息用于指示所述第一编码系数和所述第三编码系数;所述处理单元,用于根据所述第一编码系数和所述第三编码系数,译码所述第三编码数据,获得所述第一数据包。
在一种可选的实施方式中,所述通信装置还包括存储单元(有时也称为存储模块),所述处理单元用于与所述存储单元耦合,并执行所述存储单元中的程序或指令,使能所述通信装置执行上述第一方面至第三方面中的任一方面所述的第三设备的功能。
第七方面,提供一种通信系统,包括第一设备以及第三设备,其中,第一设备用于执行如第一方面所述的通信方法,第三设备用于执行如第三方面所述的通信方法。
可选的,该通信系统还包括第二设备,用于执行如第二方面所述的通信方法。
第八方面,提供一种计算机可读存储介质,所述计算机可读存储介质用于存储计算机程序或指令,当其被运行时,使得上述各方面中第一设备或第二设备或第三设备所执行的方法被实现。
第九方面,提供一种包含指令的计算机程序产品,当其在计算机上运行时,使得上述各方面所述的方法被实现。
第十方面,提供一种芯片系统,包括处理器和接口,所述处理器用于从所述接口调用并运行指令,以使所述芯片系统实现上述各方面的方法。
附图说明
图1为网络编码过程的示意图;
图2A和图2B为本申请实施例的两种应用场景示意图;
图3为本申请实施例提供的一种通信方法的流程图;
图4为本申请实施例中第一编码数据的包头的一种示意图;
图5为本申请实施例中第三编码数据的包头的一种示意图;
图6为本申请实施例提供的另一种通信方法的流程图;
图7A和图7B为本申请实施例中第三指示信息的两种示意图;
图8为本申请实施例中第五指示信息的一种示意图;
图9为本申请实施例提供的一种装置的示意图;
图10为本申请实施例提供的又一种装置的示意图。
具体实施方式
为了使本申请实施例的目的、技术方案和优点更加清楚,下面将结合附图对本申请实施例作进一步地详细描述。
本申请实施例中,对于名词的数目,除非特别说明,表示“单数名词或复数名词”,即"一个或多个”。“至少一个”是指一个或者多个,“多个”是指两个或两个以上。“和/或”,描述关联对象的关联关系,表示可以存在三种关系,例如,A和/或B,可以表示:单独存在A,同时存在A和B,单独存在B的情况,其中A,B可以是单数或者复数。字符“/”一般表示前后关联对象是一种“或”的关系。例如,A/B,表示:A或B。“以下至少一项(个)”或其类似表达,是指的这些项中的任意组合,包括单项(个)或复数项(个)的任意组合。例如,a,b,或c中的至少一项(个),表示:a,b,c,a和b,a和c,b和c,或a和b和c,其中a,b,c可以是单个,也可以是多个。
本申请实施例提及“第一”、“第二”等序数词是用于对多个对象进行区分,不用于限定多个对象的大小、内容、顺序、时序、优先级或者重要程度等。例如,第一信息和第二信息,可以是同一个信息,也可以是不同的信息,且,这种名称也并不是表示这两个信息的内容、大小、发送端/接收端、应用场景、优先级或者重要程度等的不同。另外,本申请所介绍的各个实施例中对于步骤的编号,只是为了区分不同的步骤,并不用于限定步骤之间的先后顺序。例如,S301可以发生在S302之前,或者可能发生在S302之后,或者也可能与S302同时发生。
以下,对本申请实施例中的部分用语或概念进行解释说明,以便于本领域技术人员理解。
本申请实施例中,终端设备是一种具有无线收发功能的设备,可以是固定设备,移动设备、手持设备(例如手机)、穿戴设备、车载设备,或内置于上述设备中的无线装置(例如,通信模块,调制解调器,或芯片系统等)。所述终端设备用于连接人,物,机器等,可广泛用于各种场景,例如包括但不限于以下场景:蜂窝通信、设备到设备通信(device-to-device,D2D)、车到一切(vehicle to everything,V2X)、机器到机器/机器类通信(machine-to-machine/machine-type communications,M2M/MTC)、物联网(internet ofthings,IoT)、扩展现实(extended reality,XR)(例如包括虚拟现实(virtual reality,VR)、增强现实(augmented reality,AR)或混合现实(mixed reality,MR)中的一项或多项)、工业控制(industrial control)、无人驾驶(self driving)、远程医疗(remotemedical)、智能电网(smart grid)、智能家具、智能办公、智能穿戴、智能交通,智慧城市(smart city)、无人机、机器人等场景的终端设备。所述终端设备有时可称为UE、终端、接入站、UE站、远方站、无线通信设备、或用户装置等等。为描述方便,本申请实施例中将终端设备以UE为例进行说明。
本申请实施例中的网络设备,例如包括接入网设备,和/或核心网设备。所述接入网设备为具有无线收发功能的设备,用于与所述终端设备进行通信。所述接入网设备包括但不限于基站(基站收发信站点(base transceiver station,BTS),Node B,eNodeB/eNB,或gNodeB/gNB)、收发点(transmission reception point,TRP),第三代合作伙伴计划(3rdgeneration partnership project,3GPP)后续演进的基站,无线保真(wirelessfidelity,Wi-Fi)系统中的接入节点,无线中继节点,无线回传节点等。所述基站可以是:宏基站,微基站,微微基站,小站,中继站等。多个基站可以支持同一种接入技术的网络,也可以支持不同接入技术的网络。基站可以包含一个或多个共站或非共站的传输接收点。所述接入网设备还可以是云无线接入网络(cloud radio access network,CRAN)场景下的无线控制器、集中单元(centralized unit,CU),和/或分布单元(distributed unit,DU)。所述接入网设备还可以是服务器等。例如,车到一切(vehicle to everything,V2X)技术中的网络设备可以为路侧单元(road side unit,RSU)。以下对接入网设备以基站为例进行说明。基站可以与终端设备进行通信,也可以通过中继站与终端设备进行通信。终端设备可以与不同接入技术中的多个基站进行通信。所述核心网设备用于实现移动管理,数据处理,会话管理,策略和计费等功能。不同接入技术的系统中实现核心网功能的设备名称可以不同,本申请实施例并不对此进行限定。以5G系统为例,所述核心网设备包括:访问和移动管理功能(access and mobility management function,AMF)、会话管理功能(session managementfunction,SMF)、策略控制功能(policy control function,PCF)或用户面功能(userplane function,UPF)等。
本申请实施例中,用于实现网络设备功能的通信装置可以是网络设备,也可以是能够支持网络设备实现该功能的装置,例如芯片系统,该装置可以被安装在网络设备中。在本申请实施例提供的技术方案中,以用于实现网络设备的功能的装置是网络设备为例,描述本申请实施例提供的技术方案。
可选的,本申请实施例涉及的第一设备可以是终端设备或网络设备;第二设备可以是终端设备或网络设备;第三设备可以是终端设备或网络设备。例如,第二设备为中继设备,第三设备为远端设备。
本申请实施例提供的技术方案可以应用于第四代移动通信技术(the 4thgeneration,4G)系统中,例如长期演进(long term evolution,LTE)系统,或可以应用于5G系统中,例如NR系统,或者还可以应用于下一代移动通信系统或其他类似的通信系统,例如第六代移动通信技术(the 6th generation,4G)系统等,具体的不做限制。另外本申请实施例提供的技术方案可以应用于设备到设备(device-to-device,D2D)场景,例如NR-D2D场景等,或者可以应用于车到一切(vehicle to everything,V2X)场景,例如NR-V2X场景等。例如可应用于车联网,例如车到一切(vehicle-to-everything,V2X)等,或可用于智能驾驶、辅助驾驶、或智能网联车等领域。
以下介绍本申请涉及的相关技术特征。
本申请涉及的网络编码,并不拘泥于网络编码本身,可以包括任意的具有纠删特性的码,例如里德所罗门码(reed-solomon codes,RS),喷泉码,包括卢比变换码(lubytransform codes,LT)和raptor码等。网络编码的大概过程可参考图1。在发送端,一个数据块,或称为网络编码块,可以被分割为K个网络编码包(或者称为网络编码数据包或网络编码系统包等),其中每个网络编码包中包含若干比特的数据,且K个网络编码包的大小相同。发送端对这些网络编码包进行网络编码,除了得到K个网络编码包外,还可得到M个网络编码冗余包。如图1中,空白方框表示网络编码包,画“\”的方框表示网络编码冗余包。其中,每个网络编码冗余包的大小与网络编码包的大小相同,即,每个网络编码冗余包所包含的比特数与网络编码包所包含的比特数相同。M可以是预定义的或预配置的一个固定值,也可以为无穷,即没有上限。如果M没有上限,可以认为该网络编码块的数据一直发送,直到接收到来自接收端的确认信息后才停止发送该网络编码块的数据,并开始发送下一网络数据块的数据。
在经历传输过程后,例如空口传输,由于信道质量的变化等原因,导致K个网络编码包+M个网络编码冗余包未能被接收端全部正确接收。如图1所示,其中画“/”的阴影方框表示接收端接收失败的包。但因为接收端接收到了一定数量的网络编码冗余包,因此接收端可以据此恢复接收失败的包,从而可以减小丢包率,也减少数据重传过程,从而减小传输时延。
目前,有着超高带宽和超低时延要求的XR业务对当前的第五代移动通信技术(the5th generation,5G)系统提出了更为严峻的挑战。XR主要包含VR、AR或MR等虚拟与现实交互的技术。其中,在下行传输过程中,服务器的XR内容将以固定频率(例如60Hz或120Hz)生成数据,并通过基站传输给XR UE。由于XR特有的“运动到显示(motion-to-photon,MTP)”<20毫秒(ms)的需求,因此相较于传统视频业务来说,XR用户对于时延的要求更为严苛。为此,可以考虑通过上述的网络编码传输方案来传输XR业务,以提升传输可靠性,降低时延。
例如,可将一个XR帧视为一个网络编码块,该XR帧可被分成多个网络编码包,发送端对这些网络编码包进行网络编码,产生网络编码冗余包。在经历空口传输后,例如接收端接收到了K个网络编码包+M个网络编码冗余包中的部分包,则接收端可以通过网络编码的译码过程,恢复传输失败的包,从而使能XR帧的完整传输。以raptorQ码为例,当接收端接收到K个网络编码包+M个网络编码冗余包中的任意K个包后,对应的网络编码块大约有99%的概率可被恢复;当接收端接收到K个网络编码包+M个网络编码冗余包中的任意K+1个包后,对应的网络编码块大约有99.99%的概率可被恢复;当接收端接收到K个网络编码包+M个网络编码冗余包中的任意K+2个包后,对应的网络编码块大约有99.9999%的概率可被恢复。因此,可以以增加网络编码冗余包为代价,通过网络编码的纠删功能,恢复传输失败的网络编码包,保障XR数据的接收完整性。其中,所述的K+1个包可以包括网络编码包和网络编码冗余包,或者包括网络编码冗余包而不包括网络编码包;同理,所述的K+2个包可以包括网络编码包和网络编码冗余包,或者包括网络编码冗余包而不包括网络编码包。
由于用户的移动,XR业务的覆盖也是一个重要的考量。一种扩展覆盖的方法为中继方法,例如通过侧链路(sidelink,SL)中继的方式进行覆盖的扩展,即,网络编码传输的一种应用场景为中继场景。可参考图2A,为中继场景的一种示意图。
图2A展示了一种SL中继的协议栈。例如中继UE为用户设备,如手机;远端UE为XR设备,如AR设备或VR眼镜等。以接入网设备发送数据至中继UE,中继UE再将数据转发至远端UE的过程为例。示例性地,接入网设备将来自基站的高层(如分组数据汇聚协议(packet dataconvergence protocol,PDCP)层)的数据,如XR数据,交付至侧链路中继自适应协议(sidelink relay adaptation protocol,SRAP)层的发送(transmitting)部分,在该层添加目标UE的标识号(identity,ID)和承载ID等信息后,通过无线链路控制(radio linkcontrol,RLC)层、媒体接入控制(media access control)层、物理(PHY)层等,发送给中继UE。中继UE的SRAP实体的Uu接口的接收部分将该数据传输至该SRAP实体的PC5接口的发送部分,并经过RLC层、MAC层、PHY层的处理,发送给远端UE。远端UE的SRAP实体的PC5接口的接收部分将接收到数据的SRAP包头去除后,交付至远端UE的高层(如PDCP层)。
在中继场景下,涉及两段传输路径(基站与中继设备之间的传输路径,以及中继设备与远端设备之间的传输路径),这两段传输路径都可能有传输失败的情况。要保障一段传输路径的可靠性,需要基站发送一定数量的网络编码冗余包,而要保障两段传输路径的可靠性,就需要基站发送更多的网络编码冗余包。在传输时延一定的情况下,如果基站要发送较多的网络编码冗余包,则需要提升传输速率。而中继UE和/或远端UE可能处于小区边缘,或者信号质量不太好,无法支持高速传输,在这种情况下可能因为无法发送足够的网络编码冗余包而导致传输可靠性下降。
鉴于此,提供本申请实施例的技术方案。本申请实施例中,第一设备可以向第二设备发送第一配置信息,第一配置信息可以指示第一编码系数集合。例如,第二设备可根据第一编码系数集合对接收的编码数据进行再次编码,第二设备例如为中继设备。例如第二设备接收了来自第一设备的编码数据,该数据是经过编码过程得到的,该编码数据待发送给第三设备。那么,第二设备可以利用第一编码系数集合对该编码数据进行再次编码,生成新的网络编码冗余包,再向第三设备发送再次编码后的数据。通过第二设备的再次编码过程,提高了数据传输的可靠性。由于第二设备可产生新的网络编码冗余包,因此第一设备可以不必发送过多的编码数据,或者说不必发送过多的冗余包,由此能够节省第一设备到第二设备的传输开销。
本申请实施例应用的一种通信架构可参考图2A。图2A包括一条传输路径,该传输路径为非直连路径。在该非直连路径中,远端设备通过PC5接口与中继设备通信,中继设备再通过Uu接口与接入网设备通信,相当于远端设备通过中继设备与接入网设备通信。
除此之外,还可参考图2B,为本申请实施例应用的另一种通信架构的示意图。图2B中包括两条传输路径,其中一条为非直连路径,关于该非直连路径可参考对于图2A的介绍;图2B还包括的另一条传输路径为直连路径,该直连路径为远端设备通过Uu接口与接入网设备通信的路径,无需经历中继设备。
本申请的各个实施例中,可将设备的网络编码功能设置在协议栈中的高层,高层可理解为物理层之上的层。例如可将网络编码功能设置在MAC层、RLC层、SRAP层或PDCP层;或者也可以设置专用于执行网络编码功能的协议层,例如称为网络编码层,该层例如位于PDCP层与RLC层之间,或者位于RLC层与MAC层之间。例如图2B就是以设置专用于执行网络编码功能的协议层为例,该协议层在图2B中称为NC层。网络编码功能例如包括如下一项或多项:对网络编码包进行编码的过程,对编码数据进行再编码的过程,对再编码数据进行译码的过程,或,对网络编码数据(即,未经过再编码的编码数据)进行译码的过程。
本申请的各个实施例中,未经过编码的数据包,可以称为数据包,或者也可以称为原始数据子块等,例如后文将要介绍的第一设备获得的k个数据包。译码得到的数据包(例如经历了与所有编码过程对应的译码过程后得到的数据包),也可以称为数据包,或者也可以称为译码数据等,例如后文将要介绍的第三设备译码得到的k个数据包。数据包经过一次编码过程(例如网络编码过程)后得到的数据可以称为编码数据,或者称为编码子块,例如后文将要介绍的第一编码数据或第二编码数据。数据包经过两次编码过程(例如网络编码过程和再编码过程)后得到的数据,或者,经过一次编码过程(例如网络编码过程)的编码数据再经过一次编码过程(例如再编码过程)后得到的数据,也可以称为编码数据,或者称为再编码数据,或者称为再编码子块等,例如后文将要介绍的第三编码数据。
为了更好地介绍本申请实施例,下面结合附图介绍本申请实施例所提供的方法。后文中如无特殊说明,则本申请的各个实施例对应的附图中,虚线表示的步骤均为可选的步骤。
本申请实施例提供一种通信方法,请参见图3,为该方法的流程图。该方法可应用于图2A所示的网络架构,例如该方法涉及下行传输过程,则该方法所涉及的第一设备为图2A中的接入网设备,该方法所涉及的第二设备为图2A中的中继设备,该方法所涉及的第三设备为图2A中的远端设备;或者,该方法涉及上行传输过程,则该方法所涉及的第一设备为图2A中的远端设备,该方法所涉及的第二设备为图2A中的中继设备,该方法所涉及的第三设备为图2A中的接入网设备。
S301、第一设备向第二设备发送第一配置信息,以及向第三设备发送第二配置信息;相应的,第二设备接收来自第一设备的第一配置信息,第三设备接收来自第一设备的第二配置信息,图3以此为例。或者,第三设备向第一设备发送第二配置信息,以及向第二设备发送第一配置信息;相应的,第一设备接收来自第三设备的第二配置信息,第二设备接收来自第三设备的第一配置信息。第一配置信息可指示第一编码系数集合,第二配置信息可指示第一编码系数集合和第二编码系数集合。
可选的,第一编码系数集合和第二编码系数集合可以来自同一个有限域。其中,有限域也可称为伽罗瓦域(galois field)。如果一个域内仅包含有限个元素,则该域可称为有限域。有限域中的元素的个数可称为有限域的阶。有限域可以理解为编码过程中的运算规则,例如编码过程中进行加减乘除的规则。如果有限域不同,则对应的运算规则也不同。因此,令第一编码系数集合和第二编码系数集合来自于同一个有限域,使得本申请实施例所提供的再编码过程能够生效,否则可能无法正常编码和译码。
其中,第一配置信息和第二配置信息可以由接入网设备发送。如果该方法涉及下行传输过程,则第一设备例如为接入网设备,那么第一设备可以发送第一配置信息和第二配置信息;或者,如果该方法涉及上行过程,则第三设备例如为接入网设备,那么第三设备可以发送第一配置信息和第二配置信息。
可选的,接入网设备可以通过半静态方式配置第一编码系数集合和第二编码系数集合,或者也可以预配置第一编码系数集合和第二编码系数集合。例如,接入网设备可以通过无线资源控制(radio resource control,RRC)信令向中继设备发送第一配置信息,以及通过RRC信令向远端设备发送第二配置信息。或者,接入网设备也可以通过动态方式配置第一编码系数集合和第二编码系数集合,例如,接入网设备可以通过下行控制信息(downlinkcontrol information,DCI)向中继设备发送第一配置信息,以及通过DCI向远端设备发送第二配置信息。
或者,第一编码系数集合和第二编码系数集合也可以通过协议预定义,则可以不必执行S301。
第二编码系数集合例如为第二编码系数矩阵,可用于执行网络编码过程。第一设备可根据第二编码系数集合以及数据包来得到编码数据。其中,该数据包是对数据块进行划分得到的,该数据块例如也可称为网络编码块等。另外,第二编码系数集合还可用于执行网络编码过程所对应的网络译码过程,而网络译码过程是由第三设备执行,因此如果是下行传输过程,则第一设备可将第二编码系数集合配置给第三设备,如果是上行传输过程,则第二编码系数集合可由第三设备配置。
第一编码系数集合例如为第一编码系数矩阵,可用于执行再编码(recoding)过程,其中,再编码也可称为再次编码,或二次编码等。本申请实施例中,第二设备在接收编码数据后,可以不直接将该编码数据发送给第三设备,而是可对该编码数据进行相应的处理。例如一种处理方式为,第二设备可对该编码数据执行再编码,并将再编码后的数据发送给第三设备。相当于,第二设备不必对该编码数据进行译码,而是直接对该编码数据再执行一次编码过程,这样可以减小数据处理时延,且增加该编码数据的传输可靠性。第二设备对编码数据进行再编码,就可以利用第一编码系数集合。
S302、第一设备获得第一数据包。其中,第一数据包属于第一数据块。
第一数据块例如为网络编码块,也可称为第一网络编码块等。第一设备可对第一数据块进行分割,得到k个数据包,这k个数据包也可称为网络编码包或原始数据子块等,k为正整数。第一数据包例如为k个数据包中的任一个。例如,当第一设备在PDCP层执行网络编码时,可以将每个PDCP服务数据单元(service data unit,SDU)视为一个网络编码包,即一个第一数据包,那么k个PDCP SDU可以构成一个第一数据块。
或者,每个来自第一设备的高层的数据包,可以认为是一个网络编码包,即一个第一数据包;而k个来自第一设备的高层的数据包可以认为构成一个网络编码块,即第一数据块。例如,当第一设备内用于实现网络编码功能的协议层为PDCP层的下一层时,第一设备可以将每个NC SDU(即,每个PDCP协议数据单元(packet data unit,PDU))视为一个网络编码包,那么k个PDCP PDU可构成一个第一数据块。
或者,第一数据块的大小较小,则第一设备也可以不分割第一数据块,而将第一数据块作为第一数据包。
可选的,第一数据块例如为一个RLC SDU;或者,也可以将一个RLC SDU视为一个网络编码包,例如第一数据包为一个RLC SDU,则第一数据块可包括一个或多个RLC SDU。
S303、第一设备向第二设备发送第一信息。相应的,第二设备接收来自第一设备的第一信息。第一信息可指示第一编码数据,例如一种指示方式为,第一信息包括第一编码数据。
例如,第一设备可根据第一编码系数和第一数据包生成第一编码数据,因此可选的,第一信息除了指示第一编码数据外,还可以包括第一指示信息,第一指示信息可指示第一编码系数,使得第一编码数据的接收端(例如第三设备)能够确定第一编码数据对应的编码系数,从而能够对第一编码数据进行译码。第一设备根据第一编码系数和第一数据包生成第一编码数据,例如一种生成方式为,第一设备根据第一编码系数对第一数据包进行网络编码,得到第一编码数据。第一编码系数例如属于第二编码系数集合。例如第一编码系数为第二编码系数集合中的一个行向量。例如,一种可选的第二编码系数集合如下:
第一编码系数例如为该第二编码系数集合中的一个行向量,其中N1=k+M为生成的网络编码包和网络编码冗余包的总数量。
或者,第一编码系数为第二编码系数集合中的一个列向量。例如,一种可选的第二编码系数集合如下:
第一编码系数例如为该第二编码系数集合中的一个列向量,其中N1=k+M为生成网络的编码包和网络编码冗余包的总数量。
以第一设备对第一数据块分割得到k个数据包为例,第一设备可对k个数据包进行网络编码。可理解为,第一设备根据第二编码系数集合对k个数据包进行网络编码。例如,当第一编码系数为该第二编码系数集合中的一个行向量时,一种网络编码过程如下:
或者,第一编码系数例如为该第二编码系数集合中的一个列向量,一种网络编码过程如下:
其中,x1~xk表示k个数据包。第一设备通过对k个数据包进行网络编码,可得到N1个编码数据,表示这N1个编码数据。例如第一编码数据是N1个编码数据中的一个,例如为x1,以公式1为例,则第二编码系数集合中的a1,1,a1,2,a1,3,…,a1,k例如为第一编码数据对应的第一编码系数。其中,N1个编码数据可包括k个网络编码包所包括的k个数据,以及包括m个网络编码冗余包所包括的m个数据。例如第一编码数据是N1个编码数据中的一个,或者是m个数据中的一个。m为正整数,k与m可以相等,也可以不相等。例如m的值可根据传输路径的质量等因素确定。第一设备分别为N1个编码数据中的每个编码数据添加包头(也可称为网络编码包头等),可得到添加了包头的N1个编码数据。例如,第一设备可得到N1个信息,其中的每个信息可指示一个编码数据,以及包括该编码数据的包头。第一设备对于N1个编码数据的处理过程是类似的,因此本文以第一编码数据为例进行介绍。
例如,N1个信息中的一个信息为第一信息,第一信息可包括第一编码数据,以及包括第一编码数据的包头。在前文介绍了,第一信息可包括第一指示信息,例如第一指示信息位于第一编码数据的包头内。可参考图4,为第一编码数据的包头的一种示意图。图4中的“编码子块编号”可指示第一数据包在经过网络编码后的编号,或者说,指示第一编码数据的编号,例如“编码子块编号”的值大于或等于0,以及小于或等于N1。而第一数据包在经过网络编码后的编号,例如与第一编码系数在第二编码系数集合中的序列号相同,因此,“编码子块编号”也可以是第一指示信息的一种示例。例如“编码子块编号”可包括第一编码系数在第二编码系数集合中的序列号,以通过该序列号指示第一编码系数。以公式1为例,第二编码系数集合包括多个行向量,这多个行向量即为多个编码系数,其中的每个行向量可对应一个序列号,则通过指示行向量的序列号就可指示该行向量,或者说指示该编码系数。以公式2为例,第二编码系数集合包括多个列向量,这多个列向量即为多个编码系数,其中的每个列向量可对应一个序列号,则通过指示列向量的序列号就可指示该列向量,或者说指示该编码系数。可选的,第一编码系数在第二编码系数集合中的序列号,与第一数据包在第一数据块所包括的数据包中的序列号,二者可以相同,那么第一指示信息也可以指示第一数据包在第一数据块所包括的数据包中的序列号。
可选的,第一信息还可指示(或,包括)如下一项或多项信息:第一数据块的序列号,第一编码数据的长度,第一数据块所包括的数据包的个数,第一数据包在第一数据块所包括的数据包中的序列号,或,填充比特信息。例如这些信息包括在第一编码数据的包头中。可选的,第一编码系数在第二编码系数集合中的序列号,与第一数据包在第一数据块所包括的数据包中的序列号,二者可以相同,那么第一指示信息也可以指示第一数据包在第一数据块所包括的数据包中的序列号。例如图4中的“编码子块编号”可作为第一指示信息。
如图4所示,其中的“编码子块数据长度指示”可用于指示第一编码数据的长度,例如“编码子块数据长度指示”包括第一编码数据的长度信息,该长度信息例如通过比特数体现。图4中的“原始数据子块个数”可指示第一数据包所属的数据块包括的数据包的个数,即,指示第一数据块所包括的数据包的个数,或者说,指示第一数据块所包括的数据包的个数,例如k。图4中的“原始数据块编号”可指示(或,包括)第一数据包所属的数据块的序列号,即,指示第一数据块的序列号。例如待发送的数据块有多个,第一数据块是其中的一个,则根据第一数据块分割得到的数据包进行网络编码得到的编码数据的包头可指示第一数据块的序列号。图4中的“填充长度指示”可指示(或,包括)填充比特信息。例如,第一信息的长度是一定的,而第一编码数据的长度可能小于或等于第一信息的长度。为了使得第一信息的长度满足要求,可以在第一信息内填充一定数量的比特,该填充比特信息就可以指示待填充的比特数量。另外图4中,最上方以小段分隔,其中的一个小段表示一个比特。
可选的,第一编码数据的包头还可以包括其他字段,例如图4中的“D/C”表示数据(data)/控制(control),R表示预留(reserved)位。
另外,第一设备还可以通过第一设备的SRAP实体的Uu接口的发送部分为第一信息添加SRAP包头,再通过该SRAP实体的Uu接口的发送部分将添加了SRAP包头的第一信息发送给第二设备。
S304、第二设备向第三设备发送第三信息。相应的,第三设备接收来自第二设备的第三信息。第三信息可指示第三编码数据,例如一种指示方式为,第三信息包括第三编码数据。其中,第三编码数据是根据第三编码系数和第一编码数据生成的。
例如,第二设备接收第一信息后,可以获得第一信息指示的第一编码数据。例如第二设备可以通过第二设备的SRAP实体的Uu接口的接收部分接收添加了SRAP包头的第一信息,则该SRAP实体的Uu接口的接收部分可以移除该SRAP包头,并将移除了SRAP包头的第一信息交付给具有网络编码功能的协议层,关于该协议层的介绍可参考前文。下文在介绍时,将该协议层执行的功能统一描述为由第二设备执行。
例如,第二设备可根据第三编码系数和第一编码数据生成第三编码数据。可选的,第三编码数据的大小与第一编码数据的大小相同。例如,第二设备可以根据第三编码系数对第一编码数据进行再编码,由此可得到第三编码数据。其中,第二设备不必对第一编码数据进行译码,而是利用第三编码系数对第一编码数据进行再编码即可,节省了第二设备的译码时间,既减小了数据传输时延,也提高了数据可靠性。
第三编码系数可属于第一编码系数集合,例如为第一编码系数集合中的一个行向量或列向量。
例如,一种可选的第一编码系数集合如下:
第三编码系数例如为该第一编码系数集合中的一个行向量。
或者,另一种可选的第一编码系数集合也可以如下所示:
第三编码系数例如为该第一编码系数集合中的一个列向量。
例如,第一设备向第二设备发送了对应于第一数据块的N1个信息,N1个信息中的每个信息可指示一个编码数据,N1个信息共指示N1个编码数据。第一编码数据为N1个编码数据中的一个,第一信息为N1个信息中的一个。第二设备可以对N1个编码数据中的任意k个编码数据进行再编码。可理解为,第二设备根据第一编码系数集合,对N1个编码数据进行再编码。例如当第三编码系数为第一编码系数的一个行向量时,一种再编码过程如下:
其中,第二设备接收N1个编码数据的顺序为,先接收y′1,再接收y′2,以此类推,最后接收y′k。
又例如,当第三编码系数为第一编码系数的一个列向量时,一种再编码过程如下:
在公式7或公式8中,例如,y′1为y1,y′2为y2,y′k为yk,等等。第二设备接收了N1个信息中的k个信息,可以移除k个信息所包括的k个SRAP包头,再移除k个网络编码包头,可得到k个编码数据,y′1~y′k表示这k个编码数据。可选的,y′的下标可表示该编码数据对应的编码系数的序列号,或者说,y′的下标可作为图4中的“编码子块编号”。例如编码数据y′1的包头内的“编码子块编号”的值为1,编码数据y′2的包头内的“编码子块编号”的值为2。根据公式7或公式8可知,第二设备通过对N1个编码数据中的k个编码数据进行再编码,可得到N2个再编码数据,表示这N2个再编码数据。例如第三编码数据是N2个再编码数据中的一个,例如为z1,以公式7为例,则第一编码系数集合中的b1,1,b1,2,b1,3,…,b1,k例如为第三编码数据对应的第三编码系数。以公式8为例,则第一编码系数集合中的b1,1,b2,1,b3,1,…,bk,1例如为第三编码数据对应的第三编码系数。其中,N2可以等于N1,即,再编码过程中产生的冗余包和前一次编码产生的冗余包的数量相同;或者,N2也可以大于N1,即,N2个再编码数据可包括k个再编码数据以及N2-k个再编码冗余数据,以提升传输可靠性。如果N2小于N1,则第三编码数据可以是k个再编码数据中的一个,或者是N2-k个再编码冗余数据中的一个。例如N2的值可根据传输路径的质量等因素确定。
第二设备分别为N2个再编码数据中的每个编码数据添加包头。以N2等于N1为例,第二设备可将至少k个包头再分别添加到N2个再编码数据中,其中,一个再编码数据可添加一个包头,该包头为该再编码数据所对应的编码数据的包头。例如,第三信息可指示第三编码数据,另外还可包括第三编码数据的包头,而第三编码数据是根据第一编码数据得到的,或者说第三编码数据是第一编码数据对应的再编码数据,那么第二设备可将第一编码数据的包头添加到第三编码数据上,从而第三编码数据的包头可以包括第一编码数据的包头。相当于,第二设备在执行再编码时,是去除了编码数据的包头后对编码数据执行再编码。在执行再编码结束后,第二设备可将编码数据的包头重新添加到再编码数据上。关于该包头的介绍可参考前文。
本申请实施例支持重传机制,例如混合自动重传请求(hybrid automatic repeatrequest,HARQ)重传机制。那么,如果物理层传输失败,则可以执行HARQ重传。而HARQ重传可能导致接收端出现接收乱序的情况,该接收端包括第二设备和/或第三设备。例如,第一设备在发送N1个编码数据时,是按照从y1至的顺序发送。而这N1个编码数据中的部分或全部编码数据在传输过程中可能涉及HARQ重传过程,则第二设备在接收N1个编码数据时,接收顺序可能不是从y1至/>例如第二设备可能先接收y′1(例如y′1为y2),再接收y′2(例如y′12为y3),再接收y′3(例如y′3为y1)等。而第二设备一般是按照接收顺序来执行再编码,例如当第三编码系数为第一编码系数集合中的一个行向量时,第二设备根据第一编码系数集合对N1个编码数据中的任意k个编码数据进行再编码的过程可以如下:
又例如,当第三编码系数为第一编码系数集合中的一个列向量时,第二设备根据第一编码系数集合对N1个编码数据中的任意k个编码数据进行再编码的过程可以如下:
例如第三编码数据是N2个再编码数据中的一个,例如为z1。在公式7中,第一编码系数集合中的b1,1,b1,2,b1,3,…,b1,k例如为第三编码数据z1对应的第三编码系数,公式7中的第三编码系数与编码数据y′1(例如,y′1为y1)对应。而在公式9中,例如第三编码系数依然为b1,1,b1,2,b1,3,…,b1,k,但第三编码系数是与编码数据y′1(此时y′1为y2)对应。或者,在公式8中,第一编码系数集合中的b1,1,b2,1,b3,1,…,bk,1例如为第三编码数据z1对应的第三编码系数,公式8中的第三编码系数与编码数据y′1(例如,y′1为y1)对应。而在公式10中,例如第三编码系数依然为b1,1,b2,1,b3,1,…,bk,1,但第三编码系数是与编码数据y′1(此时y′1为y2)对应。也就是说,由于HARQ重传机制,则再编码数据对应的编码系数与编码数据之间的对应关系是不固定的。而第三设备并不知道再编码数据对应的编码系数,那么第三设备在接收再编码数据后,可能无法对其进行正确译码。
为了解决该问题,本申请实施例中,第三信息所包括的第三编码数据的包头除了可以指示第一编码系数外,还可以指示第三编码系数。第三编码数据的包头可通过不同的方式指示第一编码系数和第三编码系数。
1、第三编码数据的包头指示第一编码系数和第三编码系数的第一种方式。
第三编码数据的包头内除了包括第一编码数据的包头外,还可以包括第二指示信息,第二指示信息可以指示第三编码系数。从而第三设备根据第二指示信息就可以确定第三编码数据所对应的第三编码系数。另外第一编码数据的包头又包括第一指示信息,第三设备根据第一指示信息可以确定第三编码数据对应的第一编码系数,相当于第三设备可以确定第三编码数据在两个编码阶段分别对应的编码系数,从而第三设备能够对第三编码数据进行正确译码。
例如,第二设备可以在第一编码数据的包头内添加第二指示信息,从而使得第三编码数据的包头内包括第二指示信息。可参考图5,为第三编码数据的包头的一种示意图。其中的“再编码子块编号”可指示第一数据包在经过网络编码以及再编码后的编号,或者说,指示第一编码数据经过再编码后的编号,或者说,指示第三编码数据的编号,例如“再编码子块编号”的值大于或等于0,以及小于或等于N2。而第一编码数据在经过再编码后的编号,例如与第三编码系数在第一编码系数集合中的序列号相同,因此,“再编码子块编号”也可以是第二指示信息的一种实现方式的示例。例如“再编码子块编号”可包括第三编码系数在第一编码系数集合中的序列号,以通过该序列号指示第三编码系数。例如第一编码系数集合包括多个行向量或列向量,这多个行向量或列向量即为多个编码系数,其中的每个行向量或列向量可对应一个序列号,则通过指示行向量或列向量的序列号就可指示该行向量,或者说指示该编码系数。例如,公式9或公式10中的z的下标可表示该编码数据(或者说再编码数据)对应的编码系数的序列号,或者说,z的下标可作为图5中的“再编码子块编号”。例如编码数据z1的包头内的“再编码子块编号”的值为1,编码数据z2的包头内的“再编码子块编号”的值为2。可选的,第二设备还可以在第一编码数据的包头内添加其他字段,例如图5中的第一行所示的“D/C”、以及“R”等字符所表示的字段。关于图5中的其他字段,可理解为第一编码数据的包头所包括的内容,对此可参考前文对于图4的介绍。
对于图5的这种实现方式,可以认为是第二设备在第一编码数据的包头前添加了再编码包头,通过再编码包头可指示第三编码系数。在这种方式下,第二设备不必修改第一编码数据的包头,而是在第一编码数据的包头前添加再编码包头即可,实现较为简单。
2、第三编码数据的包头指示第一编码系数和第三编码系数的第二种方式。
第三编码数据的包头内包括第一编码数据的包头,第一编码数据的包头包括第一指示信息,而第一指示信息除了可以指示第一编码系数外还可以指示第三编码系数,则第三设备根据第一指示信息可以确定第三编码数据和第一编码系数,从而第三设备能够对第三编码数据进行正确译码。
如果采用第一种方式指示,则第二设备修改第一编码数据的包头或在第一编码数据的包头前添加再编码包头即可,不必改变第一编码系数集合。而如果采用第二种方式指示,则第二设备可以根据第一编码系数来调整第一编码系数集合。
例如,第三设备可以根据第一编码系数调整第一编码系数集合的向量排列顺序,例如第一编码系数是一个行向量,则第三设备可以根据第一编码系数调整第一编码系数集合的行向量排列顺序,或者,如果第一编码系数是一个列向量,则第三设备可以根据第一编码系数调整第一编码系数集合的列向量排列顺序。例如,第一设备向第二设备发送了用于指示N1个编码数据的N1个信息,N1个信息中的每个信息可指示相应的第一编码系数,第一编码数据是N1个编码数据中的一个,第一信息是N1个信息中的一个。第三设备可根据N1个编码数据中的至少k个信息来调整第一编码系数集合的向量排列顺序,再根据调整后的第一编码系数集合对N1个编码数据中的至少k个编码数据进行再编码。
以第三编码系数是第一编码系数集合中的一个行向量为例,例如第二设备根据调整后的第一编码系数集合对N1个编码数据进行再编码的过程可以如下:
以第三编码系数是第一编码系数集合中的一个列向量为例,例如第二设备根据调整后的第一编码系数集合对N1个编码数据进行再编码的过程可以如下:
公式11或12中,例如,y′1为y2,y′2为y3,y′3为y1,y′4为y4,等等。
例如,第二设备对于N1个编码数据的接收顺序为公式11中的y矩阵从上到下的顺序,那么第二设备可以根据N1个编码数据对应的编码系数调整第一编码系数集合(例如公式11或公式12中的B矩阵)的行排列。例如N1个编码数据中第二设备最先接收的编码数据为y′1(例如,y′1为y2),以公式11为例,其对应的第一编码系数为b2,1,b2,2,b2,3,…,b2,k,则第二设备可将b2,1,b2,2,b2,3,…,b2,k调整到第一编码系数集合中的第一行。又例如,N1个编码数据中第二设备第二个接收的编码数据为y′2(例如,y′2为y3),以公式11为例,其对应的第一编码系数为b3,1,b3,2,b3,3,…,b3,k,则第二设备可将b3,1,b3,2,b3,3,…,b3,k调整到第一编码系数集合中的第二行,以此类推。调整完毕的第一编码系数矩阵例如为公式11中的B矩阵,第二设备根据调整后的第一编码系数集合对N1个编码数据中的k个编码数据进行再编码的过程可以参考公式11。或者,例如N1个编码数据中第二设备最先接收的编码数据为y′1(例如,y′1为y2),以公式12为例,其对应的第一编码系数为b1,2,b2,2,b3,2,…,bk,2,则第二设备可将b1,2,b2,2,b,3,2,…,bk,2调整到第一编码系数集合中的第一列。又例如,N1个编码数据中第二设备第二个接收的编码数据为y′2(例如,y′2为y3),以公式12为例,其对应的第一编码系数为b,1,3,b2,3,b3,3,…,bk,3,则第二设备可将b1,3,b2,3,b3,3,…,bk,3调整到第一编码系数集合中的第二列,以此类推。调整完毕的第一编码系数矩阵例如为公式12中的B矩阵,第二设备根据调整后的第一编码系数集合对N1个编码数据中的k个编码数据进行再编码的过程可以参考公式12。
经过第二设备的调整,相当于为一个数据包的编码系数和再编码系数(例如对于第一数据包来说,第一编码系数是其编码系数,第三编码系数是其再编码系数)建立了关联关系,从而第三设备根据一个数据包的编码系数(例如第一编码系数)就可以确定该数据包的编码系数和再编码系数。例如一种关联关系为,一个数据包的编码系数的序列号与再编码系数的序列号相同,如上即是以此为例。以第一编码系数是第二编码系数集合中的一个行向量为例,例如对于编码数据y1,其对应的编码系数(例如第一编码系数)为a1,1,a1,2,a1,3,…,a1,k,例如第一编码系数在第二编码系数集合中的序列号为1。以第一编码系数是第二编码系数集合中的一个列向量为例,例如对于编码数据y1,其对应的编码系数(例如第一编码系数)为a1,1,a2,1,a3,1,…,ak,1,例如第一编码系数在第二编码系数集合中的序列号为1。第二设备可以为编码数据y1的编码系数和再编码系数(例如第三编码系数)建立关联关系,例如第二设备将编码数据y1的再编码系数也确定为序列号1对应的编码系数(此时,是第三编码系数在第一编码系数集合中的序列号为1)。从而第三设备根据该关联关系以及编码数据y1的第一编码系数就能确定编码数据y1的第一编码系数和第三编码系数。
该关联关系例如为第二设备与第三设备预先协商的,或者是通过协议预定义的,或者是接入网设备配置的。且该关联关系也不限于令一个数据包的编码系数的序列号与再编码系数的序列号相同,例如该关联关系也可以是令一个数据包的编码系数的序列号与再编码系数的序列号之间具有第一偏移。只要第二设备根据该关联关系调整第一编码系数集合,以使得数据包的编码系数与再编码系数之间的关系满足该关联关系即可。
在这种方式下,第二设备可以不必修改第一编码数据的包头,也不必在第一编码数据的包头上再添加其他信息,例如第二设备可以将第一编码数据的包头直接作为第三编码数据的包头,实现更为简单。
本申请实施例中,第二设备还可以通过SRAP实体的PC5接口的发送部分为第三信息添加SRAP包头,该SRAP包头例如为第一信息的SRAP包头。第二设备再通过该SRAP实体的PC5接口的发送部分将添加了SRAP包头的第三信息发送给第三设备。
S305、第三设备根据第一编码系数和第三编码系数译码第三编码数据,获得第一数据包。
第三设备接收第三信息后,可以获得第三信息指示的第三编码数据。例如第三设备可以通过第三设备的SRAP实体的PC5接口的接收部分接收添加了SRAP包头的第三信息,则该SRAP实体的PC5接口的接收部分可以移除该SRAP包头,并将移除了SRAP包头的第三信息交付给具有网络编码功能的协议层,关于该协议层的介绍可参考前文。下文在介绍时,将该协议层执行的功能统一描述为由第三设备执行。
如果第三编码数据的包头指示第一编码系数和第三编码系数的方式不同,则第三设备的译码方式也可能有所不同。
1、第三设备的第一种译码方式。
例如第三信息包括的第三编码数据的包头包括第一指示信息和第二指示信息,则第三设备可采用第一种译码方式。例如,第三设备根据第三编码数据的包头所包括的第一指示信息,可以确定第一编码系数,以及根据第三编码数据的包头所包括的第二指示信息,可以确定第三编码系数,从而可以根据第一编码系数和第三编码系数对第三编码数据进行译码。例如,第三设备可以根据第二指示信息调整第一编码系数集合的向量排列顺序,例如第三编码系数是一个行向量,则第三设备可以根据第二指示信息调整第一编码系数集合的行向量排列顺序,或者,如果第三编码系数是一个列向量,则第三设备可以根据第二指示信息调整第一编码系数集合的列向量排列顺序。另外,第三设备可以根据第一指示信息调整第二编码系数集合的向量排列顺序,例如第一编码系数是一个行向量,则第三设备可以根据第一指示信息调整第二编码系数集合的行向量排列顺序,或者,如果第一编码系数是一个列向量,则第三设备可以根据第一指示信息调整第二编码系数集合的列向量排列顺序。第三设备可以根据调整后的第一编码系数集合和调整后的第二编码系数集合对第三编码数据进行译码。
例如,第二设备向第三设备发送了对应于第一数据块的N2个再编码数据,第三编码数据是其中的一个。第三设备在译码时,可以对N2个再编码数据中的任意k个数据进行译码。因此可理解为,第三设备根据第一编码系数集合和第二编码系数集合对N2个再编码数据进行译码。例如,第三设备接收的是来自第三设备的用于指示N2个中任意k个再编码数据的N2个信息,任意k个信息中的每个信息可包括相应的第一指示信息和第二指示信息,则第三设备可根据N2中的任意k个第一指示信息来调整第二编码系数集合的向量排列顺序,以及根据N2中的任意k个第二指示信息来调整第一编码系数集合的向量排列顺序,再根据调整后的第一编码系数集合和调整后的第二编码系数集合对N2中的任意k个再编码数据进行译码。
第三设备一般是按照接收顺序来执行译码。例如第一设备根据第二编码系数集合得到第一编码数据的过程可参考公式3,第二设备根据第一编码系数集合得到第三编码数据的过程可参考公式9,则第三设备根据第一编码系数集合和第二编码系数集合对N2个再编码数据进行译码的过程可以如下:
其中,z′1代表第三设备接收的第一个再编码数据,z′2代表第三设备接收的第二个再编码数据,以此类推。第三设备接收了N2个信息中的任意k个信息,可以移除k个信息所包括的k个SRAP包头,再移除k个网络编码包头和再编码包头,可得到k个再编码数据,z′1~z′k`表示这k个再编码数据。k为小于或等于N2的正整数。第三设备可根据N2个第一指示信息中的k个第一指示信息来调整第二编码系数集合的向量排列顺序,例如公式13中包括了元素aij的A矩阵为调整后的第二编码系数集合,以及根据k个第二指示信息来调整第一编码系数集合的向量排列顺序,例如公式13中的包括了元素bij的B矩阵为调整后的第一编码系数集合,第三设备可根据公式13对k个再编码数据进行译码,得到k个译码数据,这k个译码数据例如为k个数据包,用x1~xk表示。
以第三设备调整第二编码系数集合的行向量顺序以及调整第一编码系数集合的行向量顺序为例。例如对于再编码数据z3,用于指示z3的信息包括第一指示信息A和第二指示信息A,第一指示信息A可指示z3对应的第一编码系数,例如为a1,1,a1,2,a1,3,…,a1,k,第二指示信息A可指示z3对应的第三编码系数,例如为b3,1,b3,2,b3,3,…,b3,k。例如z′1(例如z′1为z3)是第三设备接收的第一个再编码数据,则第三设备可以将a1,1,a1,2,a1,3,…,a1,k调整为第二编码系数集合中的第一个行向量(例如调整到第二编码系数集合的第一行),以及将b3,1,b3,2,b3,3,…,b3,k调整为第一编码系数集合中的第一个行向量(例如调整到第一编码系数集合的第一行)。又例如,对于再编码数据z4,用于指示z4的信息包括第一指示信息B和第二指示信息B,第一指示信息B可指示z4对应的第一编码系数,例如为a4,1,a4,2,a4,3,…,a4,k,第二指示信息B可指示z4对应的第三编码系数,例如为b4,1,b4,2,b4,3,…,b4,k。例如z′2(例如z′2为z4)是第三设备接收的第二个再编码数据,则第三设备可以将a4,1,a4,2,a4,3,…,a4,k调整为第二编码系数集合中的第二个行向量(例如调整到第二编码系数集合的第二行),以及将b4,1,b4,2,b4,3,…,b4,k调整为第一编码系数集合中的第二个行向量(例如调整到第一编码系数集合的第二行)。以此类推,第三设备就可以根据N2个第一指示信息中的k个第一指示信息得到调整后的第二编码系数集合,以及根据N2个第二指示信息中的k个第一指示信息得到调整后的第一编码系数集合,从而可以对N2个再编码数据中的k个再编码数据进行译码,以得到k个数据包。其中,k个第一指示信息与k个再编码数据对应。
2、第三设备的第二种译码方式。
例如第三信息包括的第三编码数据的包头包括第一指示信息而不包括第二指示信息,则第三设备可采用第二种译码方式。例如,第三设备根据第三编码数据的包头所包括的第一指示信息,可以确定第一编码系数和第三编码系数,从而可以根据第一编码系数和第三编码系数对第三编码数据进行译码。例如,第三设备可以根据第三编码系数调整第一编码系数集合的向量排列顺序,例如第三编码系数是一个行向量,则第三设备可以根据第三编码系数调整第一编码系数集合的行向量排列顺序,或者,如果第三编码系数是一个列向量,则第三设备可以根据第三编码系数调整第一编码系数集合的列向量排列顺序。另外,第三设备可以根据第一编码系数调整第二编码系数集合的向量排列顺序,例如第一编码系数是一个行向量,则第三设备可以根据第一编码系数调整第二编码系数集合的行向量排列顺序,或者,如果第一编码系数是一个列向量,则第三设备可以根据第一编码系数调整第二编码系数集合的列向量排列顺序。第三设备可以根据调整后的第一编码系数集合和调整后的第二编码系数集合对第三编码数据进行译码。
例如第二设备向第三设备发送了对应于第一数据块的N2个再编码数据,第三设备在译码时,可以对N2个再编码数据中的任意k个再编码数据进行译码。因此可理解为,第三设备根据第一编码系数集合和第二编码系数集合对N2个再编码数据中的k个再编码数据进行译码。例如,第三设备接收的是来自第三设备的用于指示N2个再编码数据的N2个信息,N2个信息中的每个信息可包括相应的第一指示信息,则第三设备可根据N2个第一指示信息中的k个第一指示信息来调整第二编码系数集合和第一编码系数集合的向量排列顺序,再根据调整后的第一编码系数集合和调整后的第二编码系数集合对N2个再编码数据中的任意k个再编码数据进行译码。其中,k个第一指示信息与k个再编码数据对应。
第三设备一般是按照接收顺序来执行译码。例如第一设备根据第二编码系数集合得到第一编码数据的过程可参考公式3,第二设备根据第一编码系数集合得到第三编码数据的过程可参考公式11,则第三设备根据调整后的第一编码系数集合和调整后的第二编码系数集合对N2个再编码数据中的k个再编码数据进行译码的过程可以如下:
第三设备接收了N2个信息中的任意k个信息,可以移除k个信息所包括的k个SRAP包头,再移除k个网络编码包头和再编码包头,可得到k个再编码数据,z1~zk表示这k个再编码数据。第三设备可根据N2个第一指示信息中的k个第一指示信息来调整第二编码系数集合的向量排列顺序以及调整第一编码系数集合的向量排列顺序,例如公式14中包括了元素aij的A矩阵为调整后的第二编码系数集合,包括了元素bij的B矩阵为调整后的第一编码系数集合,第三设备可根据公式14对k个再编码数据进行统一译码,得到k个译码数据,这k个译码数据例如为k个数据包,用x1~xk表示。
以第三设备调整第二编码系数集合的行向量顺序以及调整第一编码系数集合的行向量顺序为例。例如对于再编码数据z3,用于指示z3的信息包括第一指示信息A,第一指示信息A可指示z3对应的第一编码系数,例如为a3,1,a3,2,a3,3,…,a3,k,第三设备根据第一编码系数以及关联关系可知,z3对应的第三编码系数为b3,1,b3,2,b3,3,…,b3,k。例如z3是第三设备接收的第一个再编码数据,则第三设备可以将a3,1,a3,2,a3,3,…,a3,k调整为第二编码系数集合中的第一个行向量(例如调整到第二编码系数集合的第一行),以及将b3,1,b3,2,b3,3,…,b3,k调整为第一编码系数集合中的第一个行向量(例如调整到第一编码系数集合的第一行)。以此类推,第三设备就可以根据N2个第一指示信息中的k个第一指示信息得到调整后的第二编码系数集合以及调整后的第一编码系数集合,从而可以对N2个再编码数据中的k个再编码数据进行译码,以得到k个数据包。
本申请实施例中,第二设备可根据第一编码系数集合对接收的编码数据进行再次编码,第二设备例如为中继设备。例如第二设备接收了来自第一设备的编码数据,该数据是经过编码过程得到的,该编码数据待发送给第三设备。那么,第二设备可以利用第一编码系数集合对该编码数据进行再次编码,再向第三设备发送再次编码后的数据。第二设备不必对第一编码数据进行译码,而是可以对第一编码数据直接进行再编码,节省了第二设备的译码时间,能够减小传输时延。通过第二设备的再次编码过程,也提高了数据传输的可靠性。而且由于数据传输的可靠性有所提高,因此第一设备可以不必发送过多的编码数据,或者说不必发送过多的冗余包,由此能够节省传输开销。
图3所示的实施例中,第一设备和第三设备之间是通过非直连路径传输数据。而根据图2B可知,第一设备与第三设备之间也可以具有两条传输路径,那么第一设备除了可以通过非直连路径与第三设备通信外,还可以通过直连路径与第三设备通信。为此本申请实施例提供另一种通信方法,用于提供多条传输路径下数据的编译码方案。请参考图6,为该方法的流程图。
S601、第一设备向第二设备发送第一配置信息,以及向第三设备发送第二配置信息;相应的,第二设备接收来自第一设备的第一配置信息,第三设备接收来自第一设备的第二配置信息。或者,第三设备向第一设备发送第二配置信息,以及向第二设备发送第一配置信息;相应的,第一设备接收来自第三设备的第二配置信息,第二设备接收来自第三设备的第一配置信息。
关于S601的更多内容可参考图3所示的实施例中的S301。
S602、第一设备获得第一数据包。其中,第一数据包属于第一数据块。
关于S602的更多内容可参考图3所示的实施例中的S302。
S603、第一设备向第二设备发送第一信息。相应的,第二设备接收来自第二设备的第一信息。
本申请实施例以第一数据块包括k个数据包为例,第一数据包是k个数据包中的一个,另外k个数据包还包括第二数据包。第一设备对k个数据包进行网络编码,可得到k+m个编码数据。例如k+m个编码数据中的第一部分编码数据通过非直连路径传输,第一设备将第一部分编码数据发送给第二设备,以通过第二设备发送给第三设备。第一信息指示的第一编码数据为第一部分编码数据中的一个。k+m个编码数据中的第二部分编码数据通过直连路径传输,第一设备可将第二部分编码数据通过Uu接口发送给第三设备。例如第一部分编码数据和第二编码数据为k+m个编码数据中的部分或全部编码数据。
第二设备在接收第一信息后,可以对第一信息指示的第一编码数据进行再编码,得到第三编码数据,对此可参考图3所示的实施例中的S303。或者,第二设备也可以不对第一编码数据执行再编码。例如,第一编码系数集合采用半静态方式配置,则第二设备在一段时间内都需要对来自第一设备的编码数据执行再编码。或者,第一编码系数集合并未采用半静态方式配置,例如采用动态方式配置,则是否对来自第一设备的编码数据执行再编码,可由第二设备决策。例如,第二设备可根据传输路径的质量等因素确定是否对来自第一设备的编码数据执行再编码。如果传输路径的质量较差,则第二设备可以对来自第一设备的编码数据执行再编码;或者,如果传输路径的质量较好,则第二设备也可以不对来自第一设备的编码数据执行再编码。
可选的,该方法还可以包括S604和S605。S604包括,第一设备获得第二数据包,第二数据包属于第一数据块。S605包括,第一设备向第三设备发送第二信息,相应的,第三设备接收来自第一设备的第二信息。
第一设备可根据第二编码系数对第二数据包进行网络编码,得到第二编码数据。第二编码系数可以属于第二编码系数集合,例如为第二编码系数集合中除了第一编码系数外的另一个向量。
例如,当第二编码系数为该第二编码系数集合中的一个行向量时,一种网络编码过程如下:
第二信息可指示第二编码系数,还可以指示第二编码数据,第二编码数据为第二部分编码数据中的一个。第二信息、第二编码系数等实现方式,分别与第一信息、第一编码系数是类似的,因此关于S604和S605的更多内容,可参考S602和S603。
S606、第二设备向第三设备发送第三信息。相应的,第三设备接收来自第二设备的第三信息。
关于S606的更多内容可参考图3所示的实施例中的S304。
其中,如果第二设备对第一编码数据执行了再编码,则可执行S606;或者,如果第二设备对第一编码数据并未执行再编码,则S606可以替换为,第二设备向第三设备发送第一信息,相应的,第三设备接收来自第二设备的第一信息。即,如果第二设备对第一编码数据并未执行再编码,则第二设备可将第一信息转发给第三设备。
S607、第三设备根据第一编码系数和第三编码系数译码第三编码数据,获得第一数据包。
根据前文可知,来自第一设备的编码数据可以是未经过再编码的数据,来自第二设备的编码数据可能经过再编码,也可能未经过再编码。因此,第三设备通过传输路径可能无法确定所接收的编码数据究竟是否经过再编码,则第三设备无法确定采用何种译码方式。鉴于此,本申请实施例中第三编码数据的包头可以包括第三指示信息,该第三指示信息可以指示第三编码数据是否为根据第一编码系数集合编码的数据,或者指示第三编码数据是否为经过再编码的数据,或者指示第三编码数据是否与第一编码数据相同。其中,如果第三编码数据与第一编码数据相同,则可以认为第三编码数据未经过再编码,或者是未根据第一编码系数集合编码的数据;或者,如果第三编码数据与第一编码数据不同,则可以认为第三编码数据经过再编码,或者是根据第一编码系数集合编码的数据。
例如,如果第三指示信息为第一值,则指示第三编码数据不是根据第一编码系数集合编码的数据,或者指示第三编码数据不是经过再编码的数据,或者指示第三编码数据与第一编码数据相同。可能有一种特殊情况,虽然第三编码数据是经过了再编码的数据,但第三编码数据与第一编码数据相同,因此,即使第三指示信息不是第一值,第三编码数据与第一编码数据也可能相同。但如果第三指示信息不是第一值,则第三编码数据与第一编码数据即使相同,也可以认为第三编码数据是经过了再编码的数据。因此,如果第三指示信息不是第一值(例如为第二值,第二值可以是除第一值外的任意取值),则可指示第三编码数据是根据第一编码系数集合编码的数据,或者指示第三编码数据是经过再编码的数据。
又例如,如果第三编码数据的包头内包括第三指示信息,则指示第三编码数据是根据第一编码系数集合编码的数据,或者指示第三编码数据是经过再编码的数据,或者指示第三编码数据与第一编码数据不同;或者,如果第三编码数据的包头内不包括第三指示信息,则指示第三编码数据是未根据第一编码系数集合编码的数据,或者指示第三编码数据不是经过再编码的数据,或者指示第三编码数据与第一编码数据相同。
可参考图7A,为第三指示信息的一种可选的实施方式,以第三指示信息通过取值进行指示为例。图7A例如为第三编码数据的包头,其中的“1”所表示的字段可包括第三指示信息。其中,“1”是第三指示信息的一种取值,例如第二值,即,图7A是以第三指示信息的值是第二值为例,例如第一值为“0”。可以看到,图7A与前述的图5的差别,就是增加了第三指示信息,且第三指示信息是添加了第一编码数据的包头中,而第三编码数据的包头又包括第一编码数据的包头。例如,第二设备可以在第一编码数据的包头内添加第三指示信息,并将添加了第三指示信息的包头作为第三编码数据的包头。第二设备在第一编码数据的包头内添加第三指示信息的一种方式为,第三设备修改第一编码数据的包头,例如图7A中的“1”所表示的字段,原本为预留字段,第三设备修改该预留字段的值为第一值或第二值,使得该预留字段可包括第三指示信息。图7A只是一种示例,第二设备如果要通过修改第一编码数据的包头来添加第三指示信息,则也可以修改第一编码数据的包头的其他字段,即,也可以将第三指示信息添加在其他字段中。例如,如果第一编码数据的包头与第三编码数据的包头相同(例如第三编码数据的包头内包括第一指示信息且不包括第二指示信息),则第三指示信息可以采用图7A所示的实施方式。
可参考图7B,为第三指示信息的另一种可选的实施方式,以通过是否包括第三指示信息进行指示为例。图7B例如为第三编码数据的包头,其中第一行的“1”所表示的字段可包括第三指示信息。该字段原本为预留字段,本申请实施例将其作为包括第三指示信息的字段,例如将其取值改为“1”,表明该字段包括了第三指示信息。对于第三设备来说,如果该字段包括第三指示信息,则确定第三编码数据是根据第一编码系数集合编码的数据,或者确定第三编码数据是经过再编码的数据,或者确定第三编码数据与第一编码数据不同;或者,如果该字段不包括第三指示信息,则确定第三编码数据是未根据第一编码系数集合编码的数据,或者确定第三编码数据不是经过再编码的数据,或者确定第三编码数据与第一编码数据相同。在这种方式下,第二设备不必修改第一编码数据的包头,而是在第一编码数据的包头上增加再编码包头,通过再编码包头来包括第三指示信息。对于第二设备来说实现更为简单。图7B只是一种示例,第二设备如果要通过再编码包头添加第三指示信息,则也可以在再编码包头的其他字段中添加第三指示信息。例如,如果第三编码数据的包头包括第一编码数据的包头(例如第三编码数据的包头内包括第一指示信息和第二指示信息),则第三指示信息可以采用图7A所示的实施方式或图7B所示的实施方式。
可选的,在图7B所示的方式下,第一编码数据的包头内还可以包括第四指示信息,以指示第一编码数据是未经过再编码的数据,或者是未根据第一编码系数集合编码的数据。这样对于第三设备来说,能够更为明确所接收的编码数据是否经过了再编码。可继续参考图7B,其中的第二行的“0”可表示第四指示信息。该字段原本为预留字段,本申请实施例加以利用,表明该字段包括了第四指示信息。对于第三设备来说,如果第三设备所接收的编码数据的包头包括第四指示信息,则,如果该编码数据的包头不包括第三指示信息,或第三指示信息的值为第一值,则第三设备可确定第三编码数据是未根据第一编码系数集合编码的数据,或者确定第三编码数据不是经过再编码的数据,或者确定第三编码数据与第一编码数据相同;或者,如果第三设备所接收的编码数据的包头包括第四指示信息,且该编码数据的包头包括第三指示信息,或第三指示信息的值为第二值,则第三设备可确定第三编码数据是根据第一编码系数集合编码的数据,或者确定第三编码数据是经过再编码的数据,或者确定第三编码数据与第一编码数据不同。
如果未执行S604和S605,则关于S607的更多内容可参考图3所示的实施例中的S305。
或者,如果执行了S604和S605,例如经过再编码的编码数据与未经过再编码的编码数据对应于同一个数据块,那么可选的,第三设备对于经过再编码的编码数据和未经过再编码的编码数据可以统一译码。例如S607可以替换为:第三设备根据第一编码系数、第二编码系数和第三编码系数,译码第二编码数据和第三编码数据,获得第一数据包和第二数据包。
第三设备接收第二信息后,可以获得第二信息指示的第二编码数据。例如第三设备可以通过第三设备的SRAP实体的Uu接口的接收部分接收添加了SRAP包头的第二信息,则该SRAP实体的Uu接口的接收部分可以移除该SRAP包头,并将移除了SRAP包头的第二信息交付给具有网络编码功能的协议层,关于该协议层的介绍可参考前文。下文在介绍时,将该协议层执行的功能统一描述为由第三设备执行。
第二信息可包括第二编码数据的包头,第三设备根据第二编码数据的包头所包括的第一指示信息,可以确定第二编码系数。例如,第三设备可以根据第一指示信息调整第二编码系数集合的向量排列顺序,例如第二编码系数是一个行向量,则第三设备可以根据第一指示信息调整第二编码系数集合的行向量排列顺序,或者,如果第二编码系数是一个列向量,则第三设备可以根据第一指示信息调整第二编码系数集合的列向量排列顺序。
例如,第三设备可将第二编码系数集合划分为第一子集合和第二子集合,第一子集合包括经过了再编码的编码数据对应的编码系数,第二子集合包括未经过再编码的编码数据对应的编码系数。例如第三设备可以根据再编码数据对应的第一指示信息或第二指示信息调整第一编码系数集合的向量排列顺序,得到编码系数集合A;根据再编码数据对应的第一指示信息调整第一子集合的向量排列顺序,得到编码系数集合B;另外,第三设备还可以根据未经过再编码的编码数据对应的第一指示信息调整第二子集合的向量排列顺序,得到编码系数集合C。例如,第二信息可包括第二编码数据的包头,第三设备根据第二编码数据的包头所包括的第一指示信息,可以确定第二编码系数,从而可以根据第二编码系数对应的第一指示信息调整第二子集合的向量排列顺序,得到编码系数集合C。例如,第三设备可以根据第一指示信息调整第二编码系数集合的向量排列顺序,例如第二编码系数是一个行向量,则第三设备可以根据第一指示信息调整第二编码系数集合的行向量排列顺序,或者,如果第二编码系数是一个列向量,则第三设备可以根据第一指示信息调整第二编码系数集合的列向量排列顺序。
第三设备可根据编码系数集合A、编码系数集合B和编码系数集合C对第二编码数据和第三编码数据进行译码,得到第一数据包和第二数据包。例如,第三设备可根据编码系数集合A、编码系数集合B和编码系数集合C得到编码系数集合D,并根据编码系数集合D对第二编码数据和第三编码数据进行译码,得到第一数据包和第二数据包。
可选的,例如编码系数集合A如下:
编码系数集合B如下:
编码系数集合C如下:
第三设备根据编码系数集合A、编码系数集合B和编码系数集合C得到编码系数集合D,例如一种方式为,第三设备将编码系数集合A、编码系数集合B与编码系数集合C合并,得到编码系数集合D。例如一种合并方式为,第三设备根据编码系数集合A与编码系数集合B得到合并编码系数集合,再将编码系数集合C添加到该合并编码系数集合所包括的向量之前(例如将编码系数集合C内的k1个行向量添加为该合并编码系数集合的前k1个行向量,该合并编码系数集合原来的第一个行向量变为第k1+1个行向量),或将编码系数集合C添加到该合并编码系数集合所包括的向量之后(例如将编码系数集合C内的k1个行向量添加为该合并编码系数集合的后k1个行向量,相当于为该合并编码系数集合扩展了k1个行向量),得到编码系数集合D。例如编码系数集合D如下:
其中,编码系数集合D中的前k1个行向量例如为所述的合并编码系数集合,该合并编码系数集合例如为编码系数集合Q(或称为Q矩阵),Q矩阵可以根据编码系数集合A和编码系数集合B得到。例如,Q矩阵为编码系数集合B与编码系数集合A的乘积,该关系可以表达如下:
需要注意的是,编码系数集合D中各个编码系数的排列顺序可以是根据第三设备对于再编码数据和编码数据的接收顺序确定的,因此在编码系数集合D中,编码系数集合A、编码系数集合B和编码系数集合C并不一定呈现为三个整体,而是,来自编码系数集合A、编码系数集合B或编码系数集合C中的任一个或多个编码系数集合中的编码系数也可能交叉分布。以编码系数是编码系数集合中的行向量为例,例如编码系数集合D中的第一行是来自编码系数集合Q中的一个行向量,编码系数集合D中的第二行可能是来编码系统集合C中的一个行向量,编码系数集合D中的第三行又可能是来自编码系数集合Q或编码系统集合C中的一个行向量。
以公式13为例,第三设备根据编码系数集合D对第二编码数据和第三编码数据进行译码,例如一种译码过程如下:
根据公式21,第三设备可以通过联合译码方式得到k个译码数据,这k个译码数据例如为k个数据包。采用联合译码方式,能够更好地恢复出丢失的数据,以提高传输可靠性,以及节省重传时延。
可选的,如果第三设备要得到k个译码数据,则编码系数集合D需要至少包括k个编码系数。例如k=k1+k2,其中k1为再编码数据的个数,k2为未经过编码数据的个数,例如k1个再编码数据是第三设备接收的再编码数据中的部分或全部,k2个编码数据是第三设备接收的未经过再编码子块的部分或全部,第三设备根据k,k1和k2中任意2个值就可以确定另外一个值。
可选的,k1可以采用隐式方式指示,例如通过第一配置信息和第二配置信息来获得。例如,第二设备和第三设备根据再编码系数集合,即第一编码系数集合的行数或列数来确定,可以确定k1。示例性地,由公式5所提供的第一编码系数集合的列数来确定k1,或由公式6的第一编码系数集合的行数来确定k1,并最终根据第一指示信息或第二指示信息确定如公式17所示的译码矩阵。
或者,k1也可以采用显式方式指示。例如,第三编码数据的包头可以包括第五指示信息,该第五指示信息可以指示再编码数据的个数,或指示经过第一编码系数集合编码的数据个数,或指示经过第一编码系数集合和第二编码系数集合编码的数据个数。第三设备根据第三编码数据的包头就可以确定再编码数据的个数。令第三编码数据的包头包括第五指示信息的一种方式为,第三设备可以修改第一编码数据的包头,令修改后的第一编码数据的包头包括第五指示信息,而修改后的第一编码数据的包头就可作为第三编码数据的包头。
第三设备修改第一编码数据的包头,例如一种修改方式为,第三设备在第一编码数据的包头上添加字段,以承载第五指示信息。可参考图8,为第五指示信息的一种可选的实施方式。图8例如为第三编码数据的包头,其中的第二行可包括再编码数据子块的个数,或者说再编码数据的个数,来显式指示k1的值。其中的第二行就是第三设备在第一编码数据的包头基础上所增加的字段。可选的,第三设备除了可以增加用于包括再编码数据的个数的字段外,还可以增加其他字段,例如图8第二行所示的“R”字段。关于图8的其他内容,可参考对于图7B的介绍。
或者,第三设备也可以修改第一编码数据的包头内的原有字段,以使得修改后的该原有字段可以包括第五指示信息。对此不做限制。
另外,由于k2=k-k1,因此对于k2可以不必再显式指示。
本申请实施例中,第二设备可根据第一编码系数集合对接收的编码数据进行再次编码,第二设备例如为中继设备。例如第二设备接收了来自第一设备的编码数据,该数据是经过编码过程得到的,该编码数据待发送给第三设备。那么,第二设备可以利用第一编码系数集合对该编码数据进行再次编码,再向第三设备发送再次编码后的数据。第二设备不必对第一编码数据进行译码,而是可以对第一编码数据直接进行再编码,节省了第二设备的译码时间,能够减小传输时延。通过第二设备的再次编码过程,也提高了数据传输的可靠性。通过第二设备的再次编码过程的过程产生冗余包的方式,第一设备可以不必发送过多的编码数据,或者说不必发送过多的冗余包,由此能够节省传输开销。且本申请实施例中,第一设备与第三设备之间可通过多条路径传输,提高了吞吐率。且第三设备接收的编码数据可以经过再编码,也可以未经过再编码,较为灵活。另外,还可以通过编码数据的包头来指示该编码数据是否经过了再编码,有利于提高译码过程的准确性。
图9给出了本申请实施例提供的一种通信装置的结构示意图。所述通信装置900可以是图3或图6的任一个附图所示的实施例中的第一设备或该第一设备的电路系统,用于实现上述方法实施例中对应于第一设备的方法。或者,所述通信装置900可以是图3或图6的任一个附图所示的实施例中的第二设备或该第二设备的电路系统,用于实现上述方法实施例中对应于第二设备的方法。或者,所述通信装置900可以是图3或图6的任一个附图所示的实施例中的第三设备或该第三设备的电路系统,用于实现上述方法实施例中对应于第三设备的方法。具体的功能可以参见上述方法实施例中的说明。其中,例如一种电路系统为芯片系统。
该通信装置900包括至少一个处理器901。处理器901可以用于装置的内部处理,实现一定的控制处理功能。可选地,处理器901包括指令。可选地,处理器901可以存储数据。可选地,不同的处理器可以是独立的器件,可以位于不同物理位置,可以位于不同的集成电路上。可选地,不同的处理器可以集成在一个或多个处理器中,例如,集成在一个或多个集成电路上。
可选地,通信装置900包括一个或多个存储器903,用以存储指令。可选地,所述存储器903中还可以存储有数据。所述处理器和存储器可以单独设置,也可以集成在一起。
可选地,通信装置900包括通信线路902,以及至少一个通信接口904。其中,因为存储器903、通信线路902以及通信接口904均为可选项,因此在图9中均以虚线表示。
可选地,通信装置900还可以包括收发器和/或天线。其中,收发器可以用于向其他装置发送信息或从其他装置接收信息。所述收发器可以称为收发机、收发电路、输入输出接口等,用于通过天线实现通信装置900的收发功能。可选地,收发器包括发射机(transmitter)和接收机(receiver)。示例性地,发射机可以用于将基带信号生成射频(radio frequency)信号,接收机可以用于将射频信号转换为基带信号。
处理器901可以包括一个通用中央处理器(central processing unit,CPU),微处理器,特定应用集成电路(application specific integrated circuit,ASIC),或一个或多个用于控制本申请方案程序执行的集成电路。
通信线路902可包括一通路,在上述组件之间传送信息。
通信接口904,使用任何收发器一类的装置,用于与其他设备或通信网络通信,如以太网,无线接入网(radio access network,RAN),无线局域网(wireless local areanetworks,WLAN),有线接入网等。
存储器903可以是只读存储器(read-only memory,ROM)或可存储静态信息和指令的其他类型的静态存储设备,随机存取存储器(random access memory,RAM)或者可存储信息和指令的其他类型的动态存储设备,也可以是电可擦可编程只读存储器(electricallyerasable programmable read-only memory,EEPROM)、只读光盘(compact disc read-only memory,CD-ROM)或其他光盘存储、光碟存储(包括压缩光碟、激光碟、光碟、数字通用光碟、蓝光光碟等)、磁盘存储介质或者其他磁存储设备、或者能够用于携带或存储具有指令或数据结构形式的期望的程序代码并能够由计算机存取的任何其他介质,但不限于此。存储器903可以是独立存在,通过通信线路902与处理器901相连接。或者,存储器903也可以和处理器901集成在一起。
其中,存储器903用于存储执行本申请方案的计算机执行指令,并由处理器901来控制执行。处理器901用于执行存储器903中存储的计算机执行指令,从而实现图3或图6中的任一个实施例所述的第一设备所执行的步骤,或,实现图3或图6中的任一个实施例所述的第二设备所执行的步骤,或,实现图3或图6中的任一个实施例所述的第三设备所执行的步骤。
可选的,本申请实施例中的计算机执行指令也可以称之为应用程序代码,本申请实施例对此不作具体限定。
在具体实现中,作为一种实施例,处理器901可以包括一个或多个CPU,例如图9中的CPU0和CPU1。
在具体实现中,作为一种实施例,通信装置900可以包括多个处理器,例如图9中的处理器901和处理器905。这些处理器中的每一个可以是一个单核(single-CPU)处理器,也可以是一个多核(multi-CPU)处理器。这里的处理器可以指一个或多个设备、电路、和/或用于处理数据(例如计算机程序指令)的处理核。
当图9所示的装置为芯片时,例如是第一设备的芯片,或第二设备的芯片,或第三设备的芯片,则该芯片包括处理器901(还可以包括处理器905)、通信线路902、存储器903和通信接口904。具体地,通信接口904可以是输入接口、管脚或电路等。存储器903可以是寄存器、缓存等。处理器901和处理器905可以是一个通用的CPU,微处理器,ASIC,或一个或多个用于控制上述任一实施例的通信方法的程序执行的集成电路。
本申请实施例可以根据上述方法示例对装置进行功能模块的划分,例如,可以对应各个功能划分各个功能模块,也可以将两个或两个以上的功能集成在一个处理模块中。上述集成的模块既可以采用硬件的形式实现,也可以采用软件功能模块的形式实现。需要说明的是,本申请实施例中对模块的划分是示意性的,仅仅为一种逻辑功能划分,实际实现时可以有另外的划分方式。比如,在采用对应各个功能划分各个功能模块的情况下,图10示出了一种装置示意图,该装置1000可以是上述各个方法实施例中所涉及的第一设备或第二设备或第三设备,或者为第一设备中的芯片或第二设备中的芯片或第三设备中的芯片。该装置1000包括发送单元1001、处理单元1002和接收单元1003。
应理解,该装置1000可以用于实现本申请实施例的通信方法中由第一设备或第二设备或第三设备执行的步骤,相关特征可以参照上文图3或图6所示实施例,此处不再赘述。
可选的,图10中的发送单元1001、接收单元1003以及处理单元1002的功能/实现过程可以通过图9中的处理器901调用存储器903中存储的计算机执行指令来实现。或者,图10中的处理单元1002的功能/实现过程可以通过图9中的处理器901调用存储器903中存储的计算机执行指令来实现,图10中的发送单元1001和接收单元1003的功能/实现过程可以通过图9中的通信接口904来实现。
可选的,当该装置1000是芯片或电路时,则发送单元1001和接收单元1003的功能/实现过程还可以通过管脚或电路等来实现。
本申请还提供一种计算机可读存储介质,该计算机可读存储介质存储有计算机程序或指令,当该计算机程序或指令被运行时,实现前述方法实施例中由第一设备或第二设备或第三设备所执行的方法。这样,上述实施例中所述功能可以软件功能单元的形式实现并作为独立的产品销售或使用。基于这样的理解,本申请的技术方案本质上或者说对做出贡献的部分或者该技术方案的部分可以以软件产品的形式体现出来,该计算机软件产品存储在一个存储介质中,包括若干指令用以使得一台计算机设备(可以是个人计算机,服务器,或者网络设备等)执行本申请各个实施例所述方法的全部或部分步骤。存储介质包括:U盘、移动硬盘、ROM、RAM、磁碟或者光盘等各种可以存储程序代码的介质。
本申请还提供一种计算机程序产品,该计算机程序产品包括:计算机程序代码,当该计算机程序代码在计算机上运行时,使得该计算机执行前述任一方法实施例中由第一设备或第二设备或第三设备所执行的方法。
本申请实施例还提供了一种处理装置,包括处理器和接口;所述处理器用于执行上述任一方法实施例所涉及的第一设备或第二设备或第三设备所执行的方法。
在上述实施例中,可以全部或部分地通过软件、硬件、固件或者其任意组合来实现。当使用软件实现时,可以全部或部分地以计算机程序产品的形式实现。所述计算机程序产品包括一个或多个计算机指令。在计算机上加载和执行所述计算机程序指令时,全部或部分地产生按照本申请实施例所述的流程或功能。所述计算机可以是通用计算机、专用计算机、计算机网络、或者其他可编程装置。所述计算机指令可以存储在计算机可读存储介质中,或者从一个计算机可读存储介质向另一个计算机可读存储介质传输,例如,所述计算机指令可以从一个网站站点、计算机、服务器或数据中心通过有线(例如同轴电缆、光纤、数字用户线(DSL))或无线(例如红外、无线、微波等)方式向另一个网站站点、计算机、服务器或数据中心进行传输。所述计算机可读存储介质可以是计算机能够存取的任何可用介质或者是包含一个或多个可用介质集成的服务器、数据中心等数据存储设备。所述可用介质可以是磁性介质,(例如,软盘、硬盘、磁带)、光介质(例如,DVD)、或者半导体介质(例如固态硬盘(solid state disk,SSD))等。
本申请实施例中所描述的各种说明性的逻辑单元和电路可以通过通用处理器,数字信号处理器(digital signal processor,DSP),专用集成电路(application specificintegrated circuit,ASIC),现场可编程门阵列(field-programmable gate array,FPGA),或其它可编程逻辑装置,离散门或晶体管逻辑,离散硬件部件,或上述任何组合的设计来实现或操作所描述的功能。通用处理器可以为微处理器,可选地,该通用处理器也可以为任何传统的处理器、控制器、微控制器或状态机。处理器也可以通过计算装置的组合来实现,例如数字信号处理器和微处理器,多个微处理器,一个或多个微处理器联合一个数字信号处理器核,或任何其它类似的配置来实现。
本申请实施例中所描述的方法或算法的步骤可以直接嵌入硬件、处理器执行的软件单元、或者这两者的结合。软件单元可以存储于RAM、闪存、ROM、可擦除可编程只读存储器(erasable programmable read-only memory,EPROM)、EEPROM、寄存器、硬盘、可移动磁盘、CD-ROM或本领域中其它任意形式的存储媒介中。示例性地,存储媒介可以与处理器连接,以使得处理器可以从存储媒介中读取信息,并可以向存储媒介存写信息。可选地,存储媒介还可以集成到处理器中。处理器和存储媒介可以设置于ASIC中,ASIC可以设置于终端设备中。可选地,处理器和存储媒介也可以设置于终端设备中的不同的部件中。
这些计算机程序指令也可装载到计算机或其他可编程数据处理设备上,使得在计算机或其他可编程设备上执行一系列操作步骤以产生计算机实现的处理,从而在计算机或其他可编程设备上执行的指令提供用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的步骤。
本申请的各个实施例中的内容可以相互参考,如果没有特殊说明以及逻辑冲突,不同的实施例之间的术语和/或描述具有一致性、且可以相互引用,不同的实施例中的技术特征根据其内在的逻辑关系可以组合形成新的实施例。
可以理解的,本申请实施例中,第一设备和/或第二设备和/或第三设备可以执行本申请实施例中的部分或全部步骤,这些步骤或操作仅是示例,本申请实施例中,还可以执行其它操作或者各种操作的变形。此外,各个步骤可以按照本申请实施例呈现的不同的顺序来执行,并且有可能并非要执行本申请实施例中的全部操作。
Claims (32)
1.一种通信方法,其特征在于,应用于第一设备,所述方法包括:
向第二设备发送第一配置信息以及向第三设备发送第二配置信息,或者,接收来自第三设备的第二配置信息,其中,所述第一配置信息用于指示第一编码系数集合,所述第二配置信息用于指示所述第一编码系数集合和第二编码系数集合;
获得第一数据包,所述第一数据包属于第一数据块;
向所述第二设备发送第一信息,所述第一信息用于指示第一编码数据,以及,所述第一信息还包括第一指示信息,所述第一指示信息用于指示第一编码系数,所述第一编码数据是根据所述第一编码系数和所述第一数据包生成的,所述第一编码系数属于所述第二编码系数集合,所述第二编码系数集合用于对所述第一编码数据进行编码。
2.根据权利要求1所述的方法,其特征在于,所述方法还包括:
获得第二数据包,所述第二数据包属于所述第一数据块;
向所述第三设备发送第二信息,所述第二信息用于指示第二编码数据,所述第二编码数据是根据第二编码系数和所述第二数据包生成的,所述第二编码系数属于所述第二编码系数集合。
3.根据权利要求2所述的方法,其特征在于,
所述第一编码系数集合为第一编码系数矩阵;或,
所述第二编码系数集合为第二编码系数矩阵,所述第一编码系数为所述第二编码系数矩阵中的一个向量,所述第二编码系数为所述第二编码系数矩阵中的另一个向量。
4.根据权利要求1~3任一项所述的方法,其特征在于,所述第一信息包括所述第一编码数据的包头,所述第一编码数据的包头包括所述第一指示信息。
5.根据权利要求4所述的方法,其特征在于,所述第一编码数据的包头还用于指示如下一项或多项:所述第一编码数据的长度,第一数据块所包括的数据包的个数,第一数据包在第一数据块所包括的数据包中的序列号,或,填充比特信息。
6.根据权利要求1~5任一项所述的方法,其特征在于,所述第一编码系数集合和第二编码系数集合来自于同一个有限域。
7.一种通信方法,其特征在于,应用于第二设备,所述方法包括:
接收来自第一设备的第一信息,所述第一信息用于指示第一编码数据,以及,所述第一信息还包括第一指示信息,所述第一指示信息用于指示第一编码系数,所述第一编码系数用于生成所述第一编码数据;
向第三设备发送第三信息,所述第三信息用于指示第三编码数据,所述第三编码数据是根据第三编码系数和所述第一编码数据生成的,所述第三信息还用于指示所述第一编码系数和所述第三编码系数。
8.根据权利要求7所述的方法,其特征在于,
所述第一编码系数属于第二编码系数集合;
所述第三编码系数属于第一编码系数集合。
9.根据权利要求7或8所述的方法,其特征在于,所述第三信息用于指示所述第一编码系数和所述第三编码系数,包括:
所述第三信息包括所述第一指示信息,所述第一指示信息还用于指示所述第三编码系数;或,
所述第三信息包括所述第一指示信息和第二指示信息,所述第二指示信息用于指示所述第三编码系数。
10.根据权利要求7~9任一项所述的方法,其特征在于,所述方法还包括:
接收第一配置信息,所述第一配置信息用于指示所述第一编码系数集合。
11.根据权利要求7~10任一项所述的方法,其特征在于,所述第三编码数据的大小与所述第一编码数据的大小相同。
12.根据权利要求7~11任一项所述的方法,其特征在于,所述第三信息包括所述第三编码数据的包头,所述第三编码数据的包头包括所述第一编码数据的包头。
13.根据权利要求12所述的方法,其特征在于,所述第三编码数据的包头内包括第二指示信息,所述第二指示信息用于指示所述第三编码系数。
14.根据权利要求12或13所述的方法,其特征在于,所述第一信息包括所述第一编码数据的包头,所述第一编码数据的包头包括所述第一指示信息。
15.根据权利要求14所述的方法,其特征在于,所述第一编码数据的包头还用于指示如下一项或多项:所述第一编码数据的长度,第一数据块所包括的数据包的个数,第一数据包在第一数据块所包括的数据包中的序列号,或,填充比特信息,其中,所述第一数据包用于生成所述第一编码数据,所述第一数据包属于所述第一数据块。
16.根据权利要求12~15任一项所述的方法,其特征在于,
所述第三编码数据的包头中包括第三指示信息,用于指示所述第三编码数据是否为根据所述第一编码系数集合编码的数据。
17.根据权利要求16所述的方法,其特征在于,当所述第三指示信息为第一值时,指示所述第三编码数据和所述第一编码数据相同。
18.根据权利要求7~17任一项所述的方法,其特征在于,所述第一编码系数集合和所述第二编码系数集合分别来自于同一个有限域。
19.一种通信方法,其特征在于,应用于第三设备,所述方法包括:
接收来自第二设备的第三信息,所述第三信息用于指示第三编码数据,所述第三编码数据是根据第三编码系数和第一编码数据生成的,所述第一编码数据是根据第一编码系数和第一数据包生成的,所述第三信息用于指示所述第一编码系数和所述第三编码系数;
根据所述第一编码系数和所述第三编码系数,译码所述第三编码数据,获得所述第一数据包。
20.根据权利要求19所述的方法,其特征在于,
所述第一编码系数属于第二编码系数集合;
所述第三编码系数属于第一编码系数集合。
21.根据权利要求19或20所述的方法,其特征在于,所述第三信息用于指示所述第一编码系数和所述第三编码系数,包括:
所述第三信息包括第一指示信息,所述第一指示信息用于指示所述第一编码系数和所述第三编码系数;或,
所述第三信息包括第一指示信息和第二指示信息,所述第一指示信息用于指示所述第一编码系数,所述第二指示信息用于指示所述第三编码系数。
22.根据权利要求19~21任一项所述的方法,其特征在于,所述方法还包括:
接收来自第一设备的第二配置信息,所述第二配置信息用于指示所述第一编码系数集合和所述第二编码系数集合;或,
向所述第二设备发送第一配置信息,所述第一配置信息用于指示所述第一编码系数集合,以及,向第一设备发送第二配置信息,所述第二配置信息用于指示所述第一编码系数集合和所述第二编码系数集合。
23.根据权利要求19~22任一项所述的方法,其特征在于,所述第三编码数据的大小与所述第一编码数据的大小相同。
24.根据权利要求19~23任一项所述的方法,其特征在于,所述第三信息还包括第三指示信息,用于指示所述第三编码数据是否为根据第一编码系数集合编码的数据。
25.根据权利要求24所述的方法,其特征在于,当所述第三指示信息为第一值时,指示所述第三编码数据和所述第一编码数据相同。
26.根据权利要求19~25任一项所述的方法,其特征在于,所述第三信息还用于指示如下一项或多项:所述第一编码数据的长度,第一数据块所包括的数据包的个数,所述第一数据包在第一数据块所包括的数据包中的序列号,或,填充比特信息,其中,所述第一数据包属于所述第一数据块。
27.根据权利要求19~26任一项所述的方法,其特征在于,所述方法还包括:
接收来自第一设备的第二信息,所述第二信息用于指示第二编码数据,所述第二编码数据是根据第二编码系数和第二数据包生成的;
根据所述第一编码系数译码所述第二编码数据,获得所述第二数据包。
28.根据权利要求19~27任一项所述的方法,其特征在于,所述第一编码系数集合和所述第二编码系数集合分别来自于同一个有限域。
29.一种通信装置,其特征在于,包括处理器和存储器,所述存储器和所述处理器耦合,所述处理器用于执行如权利要求1~6任一项所述的方法,或用于执行如权利要求7~18任一项所述的方法,或用于执行如权利要求19~28任一项所述的方法。
30.一种计算机可读存储介质,其特征在于,所述计算机可读存储介质用于存储计算机程序,当所述计算机程序在计算机上运行时,使得所述计算机执行如权利要求1~6任一项所述的方法,或使得所述计算机执行如权利要求7~18任一项所述的方法,或使得所述计算机执行如权利要求19~28任一项所述的方法。
31.一种芯片系统,其特征在于,所述芯片系统包括:
处理器和接口,所述处理器用于从所述接口调用并运行指令,当所述处理器执行所述指令时,实现如权利要求1~6任一项所述的方法,或实现如权利要求7~18任一项所述的方法,或实现如权利要求19~28任一项所述的方法。
32.一种计算机程序产品,其特征在于,所述计算机程序产品包括计算机程序,当所述计算机程序在计算机上运行时,使得所述计算机执行如权利要求1~6任一项所述的方法,或使得所述计算机执行如权利要求7~18任一项所述的方法,或使得所述计算机执行如权利要求19~28任一项所述的方法。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
PCT/CN2023/099839 WO2023246557A1 (zh) | 2022-06-21 | 2023-06-13 | 一种通信方法及装置 |
Applications Claiming Priority (2)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN2022107059602 | 2022-06-21 | ||
CN202210705960 | 2022-06-21 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN117318882A true CN117318882A (zh) | 2023-12-29 |
Family
ID=89272494
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202210956555.8A Pending CN117318882A (zh) | 2022-06-21 | 2022-08-10 | 一种通信方法及装置 |
Country Status (2)
Country | Link |
---|---|
CN (1) | CN117318882A (zh) |
WO (1) | WO2023246557A1 (zh) |
Family Cites Families (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN100477576C (zh) * | 2007-07-12 | 2009-04-08 | 北京航空航天大学 | 基于联合网络-信道编码的协同传输方法 |
CN101667885A (zh) * | 2009-09-29 | 2010-03-10 | 天津大学 | Dtn或icn网络上利用网络编码技术减少冗余消息的方法 |
WO2017219216A1 (zh) * | 2016-06-20 | 2017-12-28 | 华为技术有限公司 | 一种数据传输方法、相关设备及系统 |
CN113271176B (zh) * | 2020-02-14 | 2024-04-12 | 华为技术有限公司 | 网络编码方法和通信装置 |
CN113328826A (zh) * | 2020-02-28 | 2021-08-31 | 华为技术有限公司 | 数据处理方法及装置 |
-
2022
- 2022-08-10 CN CN202210956555.8A patent/CN117318882A/zh active Pending
-
2023
- 2023-06-13 WO PCT/CN2023/099839 patent/WO2023246557A1/zh unknown
Also Published As
Publication number | Publication date |
---|---|
WO2023246557A1 (zh) | 2023-12-28 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
JP6580066B2 (ja) | 噴水符号を用いる認可及び未認可帯域による共同送信のためのシステム及び方法 | |
US10536892B2 (en) | Method and device for data transmission | |
US11601167B2 (en) | Method and device for power adjustment in UE and base station | |
US20220368494A1 (en) | Uplink re-transmission with compact memory usage | |
EP4161138A1 (en) | Coding method and device | |
US11990919B2 (en) | Method and device in UE and base station for channel coding | |
US20220368782A1 (en) | Baseband chip and method for layer 2 downlink data processing | |
KR20200138318A (ko) | 데이터 복제를 이용한 다중 노드 접속에 urllc 최적화된 스케줄링 정책 | |
US20210274524A1 (en) | Method and device used in nodes for wireless communication | |
US20230276460A1 (en) | Method and device in nodes used for wireless communication | |
CN109644381B (zh) | 数据处理方法及相关产品 | |
CN117318882A (zh) | 一种通信方法及装置 | |
CN113133132B (zh) | 数据传输方法、装置、相关设备及存储介质 | |
KR102661184B1 (ko) | 무선 통신 시스템, 송수신 방법, 프로그램, 무선 통신 기지국 장치, 제어 회로 및 제어 방법 | |
CN115696435A (zh) | 网络编码场景下的超时丢包方法、装置及可读存储介质 | |
WO2019240937A1 (en) | Cross-carrier hybrid automatic repeat request | |
EP4369757A1 (en) | Network coding function configuration method and related apparatus | |
WO2023273973A1 (zh) | 一种通信方法及通信装置 | |
WO2021152363A2 (en) | Layer 2 uplink data inline processing using integrated circuits | |
WO2023014338A1 (en) | Apparatus and method of managing timing violations in a wireless communication system | |
WO2023003543A1 (en) | Apparatus and method of power optimized hybrid parallel/pipelined layer 2 processing for packets of different throughput types | |
CN115242254A (zh) | 一种编译码方法和装置 | |
CN117479228A (zh) | PDU set的发送方法、通信节点及装置 | |
CN117354950A (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 |