CN115276896A - 一种数据处理方法、装置和系统 - Google Patents
一种数据处理方法、装置和系统 Download PDFInfo
- Publication number
- CN115276896A CN115276896A CN202110486482.6A CN202110486482A CN115276896A CN 115276896 A CN115276896 A CN 115276896A CN 202110486482 A CN202110486482 A CN 202110486482A CN 115276896 A CN115276896 A CN 115276896A
- Authority
- CN
- China
- Prior art keywords
- data
- packet
- cache
- data packet
- packets
- 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 21
- 230000006854 communication Effects 0.000 claims abstract description 63
- 239000000872 buffer Substances 0.000 claims abstract description 62
- 238000004891 communication Methods 0.000 claims abstract description 59
- 238000013507 mapping Methods 0.000 claims abstract description 47
- 238000000034 method Methods 0.000 claims description 84
- 230000005540 biological transmission Effects 0.000 abstract description 31
- 230000011218 segmentation Effects 0.000 abstract description 15
- 239000010410 layer Substances 0.000 description 93
- 238000013461 design Methods 0.000 description 72
- 230000006870 function Effects 0.000 description 52
- 238000010586 diagram Methods 0.000 description 42
- 238000012545 processing Methods 0.000 description 18
- 238000005516 engineering process Methods 0.000 description 11
- 238000001228 spectrum Methods 0.000 description 9
- 239000002346 layers by function Substances 0.000 description 7
- 230000008569 process Effects 0.000 description 6
- 230000014509 gene expression Effects 0.000 description 5
- 230000011664 signaling Effects 0.000 description 5
- 235000017351 Carissa bispinosa Nutrition 0.000 description 4
- 240000002199 Carissa bispinosa Species 0.000 description 4
- 230000006835 compression Effects 0.000 description 4
- 238000007906 compression Methods 0.000 description 4
- 238000004590 computer program Methods 0.000 description 4
- 230000006978 adaptation Effects 0.000 description 3
- 230000007246 mechanism Effects 0.000 description 3
- 238000010295 mobile communication Methods 0.000 description 3
- 238000012986 modification Methods 0.000 description 3
- 230000004048 modification Effects 0.000 description 3
- 230000009286 beneficial effect Effects 0.000 description 2
- 230000008878 coupling Effects 0.000 description 2
- 238000010168 coupling process Methods 0.000 description 2
- 238000005859 coupling reaction Methods 0.000 description 2
- 230000006837 decompression Effects 0.000 description 2
- 230000009977 dual effect Effects 0.000 description 2
- 230000000694 effects Effects 0.000 description 2
- 235000014676 Phragmites communis Nutrition 0.000 description 1
- 230000003190 augmentative effect Effects 0.000 description 1
- 230000015556 catabolic process Effects 0.000 description 1
- 238000010276 construction Methods 0.000 description 1
- 125000004122 cyclic group Chemical group 0.000 description 1
- 238000013500 data storage Methods 0.000 description 1
- 238000006731 degradation reaction Methods 0.000 description 1
- 239000000835 fiber Substances 0.000 description 1
- 230000006872 improvement Effects 0.000 description 1
- 230000003993 interaction Effects 0.000 description 1
- 239000011159 matrix material Substances 0.000 description 1
- 238000005259 measurement Methods 0.000 description 1
- 230000003287 optical effect Effects 0.000 description 1
- 238000011160 research Methods 0.000 description 1
- 239000004065 semiconductor Substances 0.000 description 1
- 238000000926 separation method Methods 0.000 description 1
- 238000013403 standard screening design Methods 0.000 description 1
- 238000011144 upstream manufacturing Methods 0.000 description 1
- 238000012795 verification Methods 0.000 description 1
- XLYOFNOQVPJJNP-UHFFFAOYSA-N water Substances O XLYOFNOQVPJJNP-UHFFFAOYSA-N 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/0041—Arrangements at the transmitter end
-
- 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
-
- 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/0045—Arrangements at the receiver end
-
- 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
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04W—WIRELESS COMMUNICATION NETWORKS
- H04W28/00—Network traffic management; Network resource management
- H04W28/02—Traffic management, e.g. flow control or congestion control
- H04W28/04—Error control
Landscapes
- Engineering & Computer Science (AREA)
- Computer Networks & Wireless Communication (AREA)
- Signal Processing (AREA)
- Data Exchanges In Wide-Area Networks (AREA)
Abstract
本申请实施例提供一种数据处理方法、装置和系统。在发送端,对第一数据包映射到发送端的缓存中得到的数据段的部分或者全部进行网络编码,并发送第一数据包和网络编码生成的第二数据包,其中,每个第一数据包包括用于指示其在缓存中位置信息的头信息。在接收端,根据接收到的第一数据包的头信息中包含的指示缓存中的位置信息,将其映射至与发送端结构相同的接收端的缓存中,并与收到的第二数据包,进行联合译码以恢复在传输过程中丢失的第一数据包。该技术方案无需对第一数据包进行实际的分割级联等操作,在无线通信系统实现网络编码的同时不会增加系统复杂度,还最大限度地实现了对现有协议的兼容。
Description
技术领域
本申请涉及无线通信技术领域,特别涉及一种对数据包进行编码或者译码处理的相关方法、装置和系统。
背景技术
目前无线通信系统普遍采用重传请求机制实现差错控制。例如,通过媒体接入控制(medium access control,MAC)层的混合自动重传请求(hybrid automatic repeatrequest,HARQ)与无线链路控制(radio link control,RLC)层的自动重传请求(automaticrepeat request,ARQ)联合保障无线通信系统数据传输的可靠性。然而,这种重传请求机制不能满足新一代无线通信系统对高可靠和低开销等指标的需求。
网络编码技术通过对原数据包进行编码、增加冗余来解决数据传输中丢包等问题,增加了传输的可靠性,同时具有较低的反馈开销,是一种可以有效改善无线通信系统传输性能的技术。
如何将网络编码技术应用于无线通信系统架构,是当前的研究热点。
发明内容
本申请提供一种数据处理方法、装置和系统,在尽可能少改动现有协议、少增加系统开销的基础上,将网络编码技术引入无线通信系统,改善无线通信系统的传输性能。
第一方面,本申请实施例提供了一种数据处理方法,可以由发送端执行,包括:
在缓存中映射K个第一数据包,所述第一数据包包括第一头信息,所述第一头信息包括指示所述第一数据包在所述缓存中位置的信息;对所述缓存中的M个数据段进行编码生成N个第二数据包,所述M个数据段中的数据包括所述K个第一数据包中的部分或者全部数据,且所述M个数据段的长度相等;发送所述K个第一数据包;以及,发送所述N个第二数据包中的至少一个;其中,M、N、K为正整数。
该技术方案无需对第一数据包进行实际的分割级联等操作,在无线通信系统实现网络编码的同时不会增加系统复杂度,还最大限度地实现了对现有协议的兼容。
结合上述第一方面以及上述可能的设计,在一种可能的设计中,所述K个第一数据包在所述缓存中以先行后列的方式映射,比如说,以逐列的方式映射。其中所述列的长度方向与所述K个第一数据包在所述缓存中的长度方向一致。
结合第一方面以及上述可能的设计,在一种可能的设计中,所述M个数据段的长度为所述缓存的列的长度,M为编码窗所包括的列数,其中,所述列的长度方向与所述K个第一数据包在所述缓存中的长度方向一致。
本设计中,在缓存中所进行的虚拟分割级联操作是非常便捷的,有利于降低通信中数据处理的复杂度。
结合第一方面以及上述可能的设计,在一种可能的设计中,在所述缓存中,所述K个第一数据包中的每个第一数据包从所述第一数据包起始位置所在列首行开始映射。
本设计由于固定了每个第一数据包的起始位置所在的行,可以减少第一头信息的开销。
结合第一方面以及上述可能的设计,在一种可能的设计中,在所述缓存中,当所述K个第一数据包中的第一数据包P结束位置的行号大于或等于预设行号时,所述第一数据包P的下一个第一数据包从所述第一数据包P结束位置所在列的后一列首行开始映射,P为大于或等于0的整数。
本设计通过设置判决门限灵活地确定每个第一数据包起始位置,很好地实现了第一头信息开销和编码效率的折中。
结合第一方面以及上述可能的设计,在一种可能的设计中,所述第二数据包包括第二头信息,所述第二头信息包括指示与所述第二数据包对应的所述M个数据段的信息。
第二方面,本申请实施例提供了另一种数据处理方法,可以由接收端执行,包括:
接收A个第一数据包和B个第二数据包,所述第一数据包包括第一头信息,所述第一头信息包括指示所述第一数据包在缓存中的位置的信息,所述A个第一数据包属于需获取的K个第一数据包,所述B个第二数据包包括N个第二数据包中的部分或者全部第二数据包,所述第二数据包为对应于M个数据段的编码数据包,所述M个数据段中的数据包括所述K个第一数据包中的部分或者全部数据,且所述M个数据段的长度相等;将所述A个第一数据包映射到所述缓存中的部分或者全部数据及所述B个第二数据包进行联合译码以获得所述K个第一数据包;其中,A、B为大于或等于0的整数,且A与B不同时为0。
第二方面是与第一方面对应的一种接收端侧方案,有益效果与第一方面一致。
结合第二方面,在一种可能的设计中,(K-A)个丢失的第一数据包中的第一数据包Q的长度为L,M个数据段中每个数据段的长度为S,个所述第二数据包用于恢复所述第一数据包Q,其中,表示向上取整,L和S大于0,且
第三方面,本申请实施例提供了另一种数据处理方法,可以由接收端执行,包括:
接收A个第一数据包和B个第二数据包,所述第一数据包包括第一头信息,所述第一头信息包括指示所述第一数据包在缓存中的位置的信息;
在所述缓存中根据所述第一头信息指示的所述位置,映射所述A个第一数据包;
将C个数据段和/或D个子数据段与所述B个第二数据包中的至少一个进行联合译码恢复E个数据段,所述E个数据段包括F个丢失的第一数据包的数据,所述D个子数据段中的子数据段是所述E个数据段中的数据段的部分,所述C个数据段和所述D个子数据段的数据包括所述A个第一数据包中的部分或者全部数据,所述C个数据段和所述E个数据段的长度相等;其中,A、B、C、D为大于或等于0的整数,E、F为大于0的整数,且A与B不同时为0。
第三方面是与第一方面对应的一种接收端侧方案,有益效果与第一方面是一致的。
结合第三方面,在一种可能的设计中,所述F个丢失的第一数据包中的第一数据包Q的长度为L,所述E个数据段中每个数据段的长度为S,个所述第二数据包用于恢复所述第一数据包Q,其中,表示向上取整,L和S大于0,且
结合第二方面、第三方面、第二方面可能的设计、或者第三方面可能的设计,在一种可能的设计中,在所述缓存中,所述A个第一数据包中的每个第一数据包起始位置为所述第一数据包所在起始列的首行。
结合第二方面、第三方面、第二方面可能的设计、或者第三方面可能的设计,在一种可能的设计中,在所述缓存中,若所述A个第一数据包中的第一数据包P结束位置的行号大于或等于预设行号时,所述第一数据包P的下一个第一数据包的起始位置为所述第一数据包P结束位置所在列的后一列首行,P为大于或等于0的整数,其中,所述A个第一数据包包括所述第一数据包P的下一个第一数据包;或者,所述F个丢失的第一数据包包括所述第一数据包P的下一个第一数据包。
结合第一方面、第二方面、第三方面、第二方面可能的设计、第二方面可能的设计、或者第三方面可能的设计,在一种可能的设计中,所述第一数据包为原数据包,所述第二数据包为编码数据包。
结合第一方面、第二方面、第三方面、第二方面可能的设计、第二方面可能的设计、或者第三方面可能的设计,在一种可能的设计中,所述第一头信息还包括指示所述第一数据包P结束位置的行号与所述预设行号大小关系的信息。
当缓存为二维缓存时,如下介绍几种指示所述第一数据包在所述缓存中位置的信息的具体内容:
结合第一方面、第二方面、第三方面、第二方面可能的设计、第二方面可能的设计、或者第三方面可能的设计,在一种可能的设计中,所述指示所述第一数据包在所述缓存中位置的信息包括:所述缓存中,
所述第一数据包起始位置的列号、所述第一数据包结束位置的列号、所述第一数据包结束位置的列号与所述第一数据包起始位置的列号之间的差值中的任意两个;以及,
所述第一数据包起始位置的行号、所述第一数据包结束位置的行号、所述第一数据包起始位置的行号与所述第一数据包结束位置的行号之间的差值中的任意两个。
结合第一方面、第二方面、第三方面、第二方面可能的设计、第二方面可能的设计、或者第三方面可能的设计,在一种可能的设计中,所述缓存的列的长度是预定义的,或者是配置的;
所述指示所述第一数据包在所述缓存中位置的信息包括:所述缓存中,
所述第一数据包起始位置的列号、所述第一数据包起始位置的行号、和所述第一数据包的长度。
结合第一方面、第二方面、第三方面、第二方面可能的设计、第二方面可能的设计、或者第三方面可能的设计,在一种可能的设计中,所述缓存的列的长度是预定义的,或者是配置的;
所述指示所述第一数据包在所述缓存中位置的信息包括:所述缓存中,
所述第一数据包结束位置的列号、所述第一数据包结束位置的行号和所述第一数据包的长度。
结合第一方面、第二方面、第三方面、第二方面可能的设计、第二方面可能的设计、或者第三方面可能的设计,在一种可能的设计中,所述指示所述第一数据包在所述第一缓存中位置的信息包括:在所述缓存中,
所述第一数据包起始位置的列号、所述第一数据包结束位置的列号、所述第一数据包结束位置的列号与所述第一数据包起始位置的列号之间的差值中的任意两个;以及,
所述第一数据包结束位置的行号。
当缓存为一维缓存时,定义如下几种字段:第一数据包起始位置所在的段号V1_num;第一数据包结束位置所在的段号V2_num;第一数据包起始位置偏移V1_mod,为第一数据包起始位置与第一数据包起始位置所在段的起始位置之间的距离;第一数据包结束位置偏移V2_mod,为第一数据包结束位置与第一数据包结束位置所在段的起始位置之间的距离;第一数据包结束位置相对于起始位置偏移的段数num_OS;第一数据包结束位置偏移相较于起始位置偏移的差值mod_OS,即mod_OS=V2_mod-V1_mod。第一数据包在缓存中起始位置的索引为V1_mod+V1_num*S、V1_mod+(V2_num-num_OS)*S、或者V2_mod-mod_OS+(V2_num-num_OS)*S;第一数据包在缓存中结束位置的索引为V2_mod+V2_num*S、V2_mod+(V1_num+num_OS)*S、或者V1_mod+mod_OS+(V1_num+num_OS)*S。
基于此介绍几种指示所述第一数据包在所述缓存中位置的信息的具体内容:
结合第一方面、第二方面、第三方面、第二方面可能的设计、第二方面可能的设计、或者第三方面可能的设计,所述指示所述第一数据包在所述第一缓存中位置的信息包括如下信息组合中的一种:V1_mod、V1_num、第一数据包的长度L;V2_mod、V2_num、L;V1_mod、V1_num、V2_mod、num_OS;V1_mod、V1_num、num_OS、mod_OS;V2_mod、V2_num、V1_mod、num_OS;V2_mod、V2_num、num_OS、mod_OS。
结合第一方面、第二方面、第三方面、第二方面可能的设计、第二方面可能的设计、或者第三方面可能的设计,第二头信息包括在缓存中,编码的起始列号Win_R1,编码的编码窗长度Win_S,以及编码的结束列号Win_R2中的任意两个。
当然第二头信息还可以包括包标识、类型和系数码本的行索引中的至少一个。
结合第一方面、第二方面、第三方面、第二方面可能的设计、第二方面可能的设计、或者第三方面可能的设计,在一种可能的设计中,发送端向接收端发送指示偏移的信息,所述偏移为编码起始位置在编码起始列的首行与编码起始位置所在的行之间的偏移,对应的接收端可以将该偏移理解为译码起始位置在译码起始列的首行与译码起始位置所在的行之间的偏移。
该偏移可以使得发送端和接收端实现编码起始位置和译码起始位置达成一致理解,避免不必要地译码错误。
第四方面,本申请提供一种装置,该装置可以是发送端,也可以是应用于发送端中的装置(例如,芯片),该装置可以包括用于执行上述第一方面或第一方面中任一种可能的设计中、执行第二方面或第二方面中任一种可能的设计中、或执行第三方面中或第三方面中任一种可能的设计中发送端的方法的对应功能模块。
第五方面,本申请提供一种装置,该装置可以是接收端,也可以是应用于接收端中的装置(例如,芯片),该装置可以包括用于执行上述第一方面或第一方面中任一种可能的设计中、执行第二方面或第二方面中任一种可能的设计中、或执行第三方面中或第三方面中任一种可能的设计中接收端的方法的对应功能模块。
第六方面,本申请实施例提供一种装置,所述装置包括处理器,用于实现上述第一方面或第一方面中任一种可能的设计中的方法、执行第二方面或第二方面中任一种可能的设计中的方法、或执行第三方面中或第三方面中任一种可能的设计中的方法中的发送端的功能。所述装置还可以包括存储器,用于存储指令和数据。所述存储器与所述处理器耦合,所述处理器执行所述存储器中存储的程序指令时,可以实现上述发送端的功能。所述装置还可以包括通信接口,所述通信接口用于该装置与其它设备进行通信,示例性的,通信接口可以是收发器、电路、总线或其它类型的通信接口,其它设备可以为终端设备等。
第七方面,本申请实施例提供一种装置,所述装置包括处理器,用于实现上述第一方面或第一方面中任一种可能的设计中的方法、执行第二方面或第二方面中任一种可能的设计中的方法、或执行第三方面中或第三方面中任一种可能的设计中的方法中的接收端的功能。所述装置还可以包括存储器,用于存储指令和数据。所述存储器与所述处理器耦合,所述处理器执行所述存储器中存储的程序指令时,可以实现上述网络设备的功能。所述装置还可以包括通信接口,所述通信接口用于该装置与其它设备进行通信,示例性的,通信接口可以是收发器、电路、总线或其它类型的通信接口,其它设备可以为网络设备等。
第八方面,本申请实施例还提供一种计算机可读存储介质,该存储介质中存储有指令,当该指令运行时,可以实现上述第一方面或第一方面中任一种可能的设计中的方法、执行第二方面或第二方面中任一种可能的设计中的方法、或执行第三方面中或第三方面中任一种可能的设计中的方法中的发送端或者接收端的方法。
第九方面,本申请实施例还提供一种芯片系统,该芯片系统包括处理器和存储器,用于实现上述第一方面或第一方面中任一种可能的设计中的方法、执行第二方面或第二方面中任一种可能的设计中的方法、或执行第三方面中或第三方面中任一种可能的设计中的方法中的发送端或者接收端的方法。该芯片系统可以由芯片构成,也可以包含芯片和其他分立器件。
第十方面,本申请实施例中还提供一种计算机程序产品,包括指令,当该指令运行时,可以实现上述第一方面或第一方面中任一种可能的设计中的方法、执行第二方面或第二方面中任一种可能的设计中的方法、或执行第三方面中或第三方面中任一种可能的设计中的方法中的发送端或者接收端的功能
第十一方面,本申请实施例中还提供一种通信系统,包括第四方面的装置和第五方面的装置。或者包括第六方面的装置和第七方面的装置。
上述第四至第十一方面的有益效果分别对应于上述第一至三方面的有益效果,在此不予赘述。
附图说明
图1为本申请实施例提供的一种通信系统架构示意图;
图2(a)为本申请实施例提供的一种点对点传输场景的示意图;
图2(b)为本申请实施例提供的一种多跳单连接场景的示意图;
图2(c)为本申请实施例提供的一种多跳多连接场景的示意图;
图2(d)为本申请实施例提供的一种双连接场景的示意图;
图3为本申请实施例提供的一种数据包的示意图;
图4为本申请实施例提供的一种发送端数据处理的示意图;
图5为本申请实施例提供的一种接入回传一体化(integrated access andbackhaul,IAB)节点(node)协议栈示意图;
图6为本申请实施例提供的一种数据处理方法的流程图;
图7为本申请实施例提供的一种展示数据在二维缓存中映射方式的示意图;
图8为本申请实施例提供的一种展示数据在一维缓存中映射方式的示意图;
图9(a)为本申请实施例提供的一种展示第一数据包在发送端的二维缓存中映射位置的示意图;
图9(b)为本申请实施例提供的另一种展示第一数据包在发送端的二维缓存中映射位置的示意图;
图9(c)为本申请实施例提供的另一种展示第一数据包在发送端的二维缓存中映射位置的示意图;
图10(a)为本申请实施例提供的一种展示第一数据包在发送端的一维缓存中映射位置的示意图;
图10(b)为本申请实施例提供的另一种展示第一数据包在发送端的一维缓存中映射位置的示意图;
图10(c)为本申请实施例提供的另一种展示第一数据包在发送端的一维缓存中映射位置的示意图;
图11为本申请实施例提供的另一种数据处理方法的流程图;
图12(a)为本申请实施例提供的一种展示第一数据包在接收端的二维缓存中映射位置的示意图;
图12(b)为本申请实施例提供的另一种展示第一数据包在接收端的二维缓存中映射位置的示意图;
图12(c)为本申请实施例提供的又一种展示第一数据包在接收端的二维缓存中映射位置的示意图;
图13为本申请实施例提供的一种基于协议架构的数据处理示意图;
图14(a)为本申请实施例提供的一种第一数据包的结构示意图;
图14(b)为本申请实施例提供的另一种第一数据包的结构示意图;
图14(c)为本申请实施例提供的另一种第一数据包的结构示意图;
图14(d)为本申请实施例提供的另一种第一数据包的结构示意图;
图14(e)为本申请实施例提供的另一种第一数据包的结构示意图;
图14(f)为本申请实施例提供的另一种第一数据包的结构示意图;
图15为本申请实施例提供的一种第一数据包在发送端的一维缓存中映射示意图;
图16为本申请实施例提供的一种第二数据包的结构示意图;
图17(a)为本申请实施例提供的另一种第一数据包的结构示意图;
图17(b)为本申请实施例提供的又一种第一数据包的结构示意图;
图17(c)为本申请实施例提供的另一种第二数据包的结构示意图;
图17(d)为本申请实施例提供的又一种第二数据包的结构示意图;
图18为本申请实施例提供的另一种展示第一数据包在发送端的二维缓存中映射位置的示意图;
图19为本申请实施例提供的另一种展示第一数据包在发送端的一维缓存中映射位置的示意图;
图20为本申请实施例提供的另一种展示第一数据包在发送端的二维缓存中映射位置的示意图;
图21为本申请实施例提供的另一种展示第一数据包在发送端的一维缓存中映射位置的示意图;
图22为本申请实施例提供的一种基于二维缓存的译码方式的示意图;
图23为本申请实施例提供的一种基于一维缓存的译码方式的示意图;
图24为本申请实施例提供的一种在分组数据汇聚协议(packet dataconvergence protocol,PDCP)层进行数据处理的流程示意图;
图25为本申请实施例提供的一种在PDCP层对第一数据包和第二数据包进行计数的示意图;
图26为本申请实施例提供的一种装置的示意图;
图27为本申请实施例提供的另一种装置的示意图;
图28为本申请实施例提供的又一种装置的示意图。
具体实施方式
图1是本申请的实施例应用的通信系统1000的架构示意图。如图1所示,该通信系统包括无线接入网100和核心网200,可选的,通信系统1000还可以包括互联网300。其中,无线接入网100可以包括至少一个无线接入网设备(如图1中的110a和110b),还可以包括至少一个终端(如图1中的120a-120j)。终端通过无线的方式与无线接入网设备相连,无线接入网设备通过无线或有线方式与核心网连接。核心网设备与无线接入网设备可以是独立的不同的物理设备,也可以是将核心网设备的功能与无线接入网设备的逻辑功能集成在同一个物理设备上,还可以是一个物理设备上集成了部分核心网设备的功能和部分的无线接入网设备的功能。终端和终端之间以及无线接入网设备和无线接入网设备之间可以通过有线或无线的方式相互连接。图1只是示意图,该通信系统中还可以包括其它网络设备,如还可以包括无线中继设备和无线回传设备,在图1中未画出。
无线接入网设备可以是基站(base station)、演进型基站(evolved NodeB,eNodeB)、发送接收点(transmission reception point,TRP)、第五代(5th generation,5G)移动通信系统中的下一代基站(next generation NodeB,gNB)、第六代(6thgeneration,6G)移动通信系统中的下一代基站、未来移动通信系统中的基站或WiFi系统中的接入节点等;也可以是完成基站部分功能的模块或单元,例如,可以是集中式单元(central unit,CU),也可以是分布式单元(distributed unit,DU)。无线接入网设备可以是宏基站(如图1中的110a),也可以是微基站或室内站(如图1中的110b),还可以是中继节点或施主节点等。本申请的实施例对无线接入网设备所采用的具体技术和具体设备形态不做限定。为了便于描述,下文以基站作为无线接入网设备的例子进行描述。
终端也可以称为终端设备、用户设备(user equipment,UE)、移动台、移动终端等。终端可以广泛应用于各种场景,例如,设备到设备(device-to-device,D2D)、车物(vehicleto everything,V2X)通信、机器类通信(machine-type communication,MTC)、物联网(internet of things,IOT)、虚拟现实、增强现实、工业控制、自动驾驶、远程医疗、智能电网、智能家具、智能办公、智能穿戴、智能交通、智慧城市等。终端可以是手机、平板电脑、带无线收发功能的电脑、可穿戴设备、车辆、无人机、直升机、飞机、轮船、机器人、机械臂、智能家居设备等。本申请的实施例对终端所采用的具体技术和具体设备形态不做限定。
基站和终端可以是固定位置的,也可以是可移动的。基站和终端可以部署在陆地上,包括室内或室外、手持或车载;也可以部署在水面上;还可以部署在空中的飞机、气球和人造卫星上。本申请的实施例对基站和终端的应用场景不做限定。
基站和终端的角色可以是相对的,例如,图1中的直升机或无人机120i可以被配置成移动基站,对于那些通过120i接入到无线接入网100的终端120j来说,终端120i是基站;但对于基站110a来说,120i是终端,即110a与120i之间是通过无线空口协议进行通信的。当然,110a与120i之间也可以是通过基站与基站之间的接口协议进行通信的,此时,相对于110a来说,120i也是基站。因此,基站和终端都可以统一称为通信装置,图1中的110a、110b以及120a-120j可以称为具有它们各自相对应的功能的通信装置,例如具有基站功能的通信装置、或者具有终端功能的通信装置。
基站和终端之间、基站和基站之间、终端和终端之间可以通过授权频谱进行通信,也可以通过免授权频谱进行通信,也可以同时通过授权频谱和免授权频谱进行通信;可以通过6千兆赫(gigahertz,GHz)以下的频谱进行通信,也可以通过6GHz以上的频谱进行通信,还可以同时使用6GHz以下的频谱和6GHz以上的频谱进行通信。本申请的实施例对无线通信所使用的频谱资源不做限定。
在本申请的实施例中,基站的功能也可以由基站中的模块(如芯片)来执行,也可以由包含有基站功能的控制子系统来执行。这里的包含有基站功能的控制子系统可以是智能电网、工业控制、智能交通、智慧城市等上述终端的应用场景中的控制中心。终端的功能也可以由终端中的模块(如芯片或调制解调器)来执行,也可以由包含有终端功能的装置来执行。
在本申请中,基站向终端发送下行数据(也可以称为下行信号),下行数据承载在下行信道上;终端向基站发送上行数据(也可以称为上行信号),上行数据承载在上行信道上。终端为了与基站进行通信,可以与基站控制的小区建立无线连接。与终端建立了无线连接的小区称为该终端的服务小区。
进一步的,本申请可以应用于多种具体通信场景,例如,基站和终端之间或终端之间的点对点传输(如图2(a)为基站和终端之间的点对点传输)、基站和终端的多跳(如图2(b)、图2(c))传输、多个基站和终端的双连接(Dual Connectivity,DC)(如图2(d))或多连接等场景。需要说明的是,如上具体通信应用场景只是举例,并不产生限制。特别地,从业务的角度看,本申请实施例适用于诸多业务场景,例如扩展现实(extended reality,XR)业务中的数据编码场景、低时延、上行大容量场景等中的一项或一项。
为便于理解本申请实施例,在开始介绍本申请实施例之前,先对本申请涉及到的若干名词或术语进行简单介绍。
1)数据包
数据包(data packet)是通信中的数据单位。例如,在一次通信传输中的信息可以被划分成多个数据包,这些数据包在数据的发送端(即通信过程中发送数据的一方,后简称发送端)进行一些数据处理之后会被发送至数据的接收端(即通信过程中接收数据的一方,后简称接收端),接收端在经过一些与发送端对应的逆处理之后获得该消息。数据包可以包括包头和包体,包头即为头信息;包体即数据包除包头外的数据部分。如图3所示,数据包可以以比特为单位承载数据,也可以以字节为单位承载数据,当然不限于这两种方式,数据包的长度可以理解为在对应单位衡量下的数据量。其中,数据包的长度还可以理解为数据包的大小。
另外,本申请实施例中的原数据包,是指尚未经过网络编码操作的数据包。而编码数据包,是原数据包经过网络编码之后生成的数据包。
2)分割、级联
分割是将一个数据包分成至少两个部分,也可以表示为划分或者拆分。可以以比特的单位进行分割,也可以以字节的单位进行分割。
级联也可以表示为连接,拼接,具体指将多个数据段依次连接成一个整体,如一个数据段的末尾与另一个数据段的起始位置连接,依次类推。
需要说明的是,本申请实施例中,至少一个还可以表述为一个或者多个。“第一”、“第二”、“第三”、“A”、“B”、“C”和“D”等区分该种技术特征中的技术特征,该“第一”、“第二”、“第三”、“A”、“B”、“C”和“D”描述的技术特征间无先后顺序或者大小顺序。“和/或”,描述关联对象的关联关系,表示可以存在三种关系,例如,A和/或B,可以表示:单独存在A,同时存在A和B,单独存在B的情况,其中A,B可以是单数或者复数。字符“/”一般表示前后关联对象是一种“或”的关系。“以下至少一项(个)”或其类似表达,是指的这些项中的任意组合,包括单项(个)或复数项(个)的任意组合。例如,a,b,或c中的至少一项(个),可以表示:a,b,c;a和b;a和c;b和c;或a和b和c。“传输”作为名词可以包括数据的发送和/或接收、作为动词可以表示发送和/或接收。
本申请实施例中涉及的信息的指示,可以是显式指示,还可以是隐式指示。例如,显示信息为直接发送要指示的信息。又例如,隐式指示为通过建立要指示的信息与另一信息之间的对应关系,并将该另一信息进行指示,达到指示要指示的信息的目的。目前主流的网络编码方案包括但不限于随机线性网络编码(random liner network coding,RLNC)、卷积网络编码(convolutional network coding,CNC)、里德所罗门(reed solomon,RS)编码和流编码(streaming coding)等。例如,以RLNC编码方案的一种实现方式为例:一次通信过程中,发送端发送至少一个原数据包,通过构建编码系数矩阵对该至少一个原数据包进行编码得到至少一个编码数据包。发送该至少一个编码数据包。在接收端若存在原数据包丢失的情况,通过将接收到的原数据包和编码数据包进行联合译码,恢复出丢失的原数据包。因为网络编码技术要求多个待编码的数据包大小相同,其中,现有的通信协议中,待编码的数据包可以认为是业务数据单元(service data unit,SDU)或者协议数据单元(protocoldata unit,PDU),而任何一层对应的SDU或者PDU大小都无法保证是相同的,因此无法直接对SDU或者PDU进行网络编码。
也就是说,现有的通信协议无法直接支持网络编码技术,通过分割、级联、填充(padding)等操作才能得到长度相等的数据包进行网络编码。对应地,在接收端要引入这些操作的相关信息、通过逆操作来恢复进行该操作前的PDU或者SDU。分割、级联、padding等操作将不可避免地导致发送端和接收端的处理流程复杂化,这些都致使无线通信系统的性能下降。另外,通过分割、级联等方式解决引入网络编码技术的问题对现有协议的改动很大,因此还不利于通信的前向兼容。
有鉴于此,本申请实施例提出了一种数据处理方法,在尽可能少改动现有协议、少增加系统开销的基础上,将网络编码技术引入无线通信系统,改善无线通信系统的传输性能。
以新无线电(new radio,NR)为例,目前无线通信协议的协议栈包括用户面协议栈和控制面协议栈。在一种可能的实现方式中,对于终端或基站,用户面协议栈包括业务数据适配协议(service data adaptation protocol,SDAP)层、PDCP层、无线链路控制(radiolink control,RLC)层、媒体接入控制(medium access control,MAC)层和物理PHY层,控制面协议栈包括非接入层(non-access stratum)、无线资源控制(radio resource control,RRC)层、PDCP层、RLC层、MAC层和PHY层,当然本申请实施例并不排除用户面协议栈或者其它通信协议的协议栈还能包括其它的协议层、或者不包括以上所列举的协议层中的一个或者多个。进一步地,以图4为例,示出了发送端的英特网协议(internet protocol,IP)数据包如何在每一层进行处理并封装成PDU后传递到下一层的过程。最后,MAC层生成MAC PDU传递到PHY层后向接收端发送。例如,经过SDAP层处理的数据包作为PDCP层的SDU进入PDCP层,在PDCP层中,对该SDU进行头压缩、完整性保护和加密等操作之后,加上PDCP层的头信息H形成PDCP层的PDU(图中未示出)传递至RLC层。在RLC层可以对本层的SDU进行分割操作,在MAC层可以对本层的SDU进行级联操作。特别地,对于在接入回传一体化(integrated access andbackhaul,IAB)场景下的节点,例如IAB node或者IAB授主(IAB donor),其涉及的协议层还可以包括自适应回传协议(backhaul adaptation protocol,BAP)层。图5示出了IAB node的一种协议栈示意图。图中,IAB node分为两个功能模块:DU模块和移动终端(mobileterminal,MT)模块,这两种功能模块分别对应了一个协议栈。
基于现有的协议架构,可以新引入一个协议层,例如,网络编码功能层,来实现本申请技术方案。该网络编码功能层可以位于现有的任何两个协议层之间,例如位于PDCP层和RLC层之间、位于RLC层和MAC层之间、或者位于MAC层和PHY层之间等。也可以将本申请技术方案对应的功能嵌入现有的协议层中,例如嵌入到BAP层、PDCP层、RLC层、或者MAC层等。本申请实施例七将以本申请技术方案嵌入PDCP层的具体方案做详细阐述。另外,在涉及基站的一些应用场景下,根据不同的需求,可以在CU或DU内实现本申请技术方案。需要说明的是,本申请实施例一至六的技术方案不限定通过以上何种技术方案实现。
实施例一
本申请的技术方案,在发送端,对第一数据包映射到发送端的缓存中得到的数据段的部分或者全部进行网络编码,并发送第一数据包和网络编码生成的第二数据包,其中,每个第一数据包包括用于指示其在缓存中位置信息的头信息。在接收端,根据接收到的第一数据包的头信息中包含的指示缓存中的位置信息,将其映射至与发送端结构相同的接收端的缓存中,并与收到的第二数据包,进行联合译码以恢复在传输过程中丢失的第一数据包。该技术方案无需对第一数据包进行实际的分割级联等操作,在无线通信系统实现网络编码的同时不会增加系统复杂度,还最大限度地实现了对现有协议的兼容。
具体地,本实施例一提供了一种数据处理的方法,可以应用于本申请前述提及的任意一种场景,方法的执行主体可以是发送端,该发送端对待发送的K个第一数据包进行网络编码获得N个第二数据包,并将第一数据包和第二数据包向接收端发送。发送端可以是如前所述的基站,对应的接收端可以是终端或者基站,发送端还可以是终端,对应的,接收端可以是基站或者终端。特别地,在IAB场景下,发送端还可以是IAB node或者IAB donor,接收端也可以是IAB node或者IAB donor。这里,K和N为正整数。图6所示,具体包括如下步骤:
101.在缓存中映射K个第一数据包,所述第一数据包包括第一头信息,所述第一头信息包括指示所述第一数据包在所述缓存中位置的信息。
第一数据包又可以称为原数据包、或者原始数据包。当本方法通过新引入的网络编码功能层并在其中实现时,第一数据包的包体即为位于网络编码功能层的上一层向下传送的数据包,例如,当网络编码功能层位于PDCP层与RLC层之间时,第一数据包的包体为PDCP层向下传送的PDCP层PDU。当本方法嵌入某一现有协议层实现时,第一数据包即为该协议层正在处理的数据包,例如,当本方法嵌入PDCP层实现时,第一数据包的包体可以为PDCP层SDU。第一数据包的包体可以是PDU或者是SDU,本申请对此并不做限制。在一种实现方式中,该K个第一数据包在发送端和接收端的一次调度中连续发送。
本申请实施例在对K个第一数据包进行网络编码之前,可以进入缓存进行虚拟地分割级联的操作,以保证网络编码的对象是长度相等的数据段。这里使用“虚拟”来表达这种分割级联并非是对K个第一数据包做实际地分割级联操作,例如,不同于现有技术中RLC层对本层的SDU进行的分割操作、MAC层对本层的SDU进行的级联操作,而是一种对现有协议中不涉及网络编码功能的协议层透明的操作。需要说明的是,由于实施例涉及的是发送端的处理方法,这里的缓存指的是发送端的缓存(在以下对图6的方法的叙述中,如无特殊说明,缓存均指发送端的缓存),并且可以是实际存在的缓存,也可以是一种为了实现本申请技术方案而构造的虚拟缓存。发送端生成的第一头信息中位置的信息指示的是第一数据包在发送端缓存中位置的信息。
当本申请实施例的缓存为实际的缓存时,映射K个第一数据包可以理解为在缓存中存放或者放置K个第一数据包。当本申请实施例的缓存为虚拟缓存时,虚拟缓存的结构是可以配置或调整的,映射K个第一数据包可以理解为将K个第一数据包与虚拟缓存中的特定位置进行关联,以确保实现对第一数据包按照所述编码长度的编码操作。
K个第一数据包中的每个数据包所包括的第一头信息分别指示了每个第一数据包在缓存中的位置,据此可以唯一确定出每个第一数据包在缓存中的位置。第一头信息可以具有固定的比特数。关于该第一头信息的具体结构,请参见本申请实施例二。
在一种可能的实现方式中,K个第一数据包在缓存中的位置所对应排列顺序即为K个第一数据包的发送的先后顺序,或者是第一数据包的序列号的顺序。如此,对于发送端的编码操作和接收端后续的译码操作来说复杂度都是比较低的。
发送端在缓存中映射K个第一数据包。在一种可能的实现方式中,发送端能够在映射之前结合第一数据包的长度、以及缓存的结构等信息获知K个第一数据包在缓存中的位置信息,这样在映射之前就可以获得K个第一数据包中所包含的第一头信息中的内容。发送端可以按照每个第一数据包包含的第一头信息所指示的位置信息将K个第一数据包映射至缓存。若K个第一数据包在缓存中的位置所对应的排列顺序为K个第一数据包发送的先后顺序,发送端还可以直接按照第一数据包的发送顺序,依次将K个第一数据包映射至缓存,这种映射方式对发送端来说处理复杂度更低。若K个第一数据包在缓存中的位置所对应排列顺序与K个第一数据包发送的先后顺序没有直接关联,那么便按照每个第一数据包包含的第一头信息所指示的位置的信息,将K个第一数据包分别映射至缓存。
如前所述,第一头信息的长度可以是固定的,在一种可能的实现方式中,在发送端缓存中映射K个第一数据包之前,第一头信息中的内容可以是空的。当发送端将K个第一数据包按照预定的顺序依次映射至缓存中后,K个第一数据包的每一个第一数据包在缓存中的位置就确定了。此时,发送端再将K个第一数据包在缓存中的位置的信息对应填入它们各自的第一头信息中。
完成所述映射后,可以认为K个第一数据包中的每个第一数据包在缓存中位于与其头信息指示的位置。
本申请对缓存的具体结构不做限制。
缓存可以是一个二维的存储结构,例如,二维可以分别对应列和行两种维度。具体地,对本申请中所指的“列”和“行”做出定义:列和行是互相正交的两个维度,对于一列缓存而言,数据逐行进行映射,即列的长度方向与第一数据包在缓存中的长度方向一致,而每列的宽度是与对应第一数据包的单位对应的,也即对于每一列中的每一行,可以映射一个单位的数据。一种实现方式中,如图7中所示,缓存中包括了列X至列X+5,X为大于或等于0的整数。每一列包含了至少一行。第一数据包中的数据按照先行后列的方式,比如逐列的方式,如箭头所示地先从上至下、后从左至右被映射至缓存中。需要说明的是,行和列是相对的概念。本申请实施例中虽然以行和列对两维结构中的两个维度进行说明,但两维的名称可以互换或者替换成其它名称,如即第一维度和第二维度,第一维度和第二维度是正交的,第一维度和第二维度分别可以对应于上述的列和行。同理,只要两维的定义与分别与前述对“列”和“行”定义实质相同,即与本申请实施例的技术方案实质是一致的。
以上描述的缓存的结构可以称为为先行后列的存储结构,对应的,数据按照先行后列的方式,比如逐列的方式,映射至缓存中。
缓存还可以为一维的结构,例如如图8所示,第一数据包的单位与缓存中数据的单位一致,第一数据包的映射方向与缓存的存储方向(也可以称为缓存的长度方向)一致,且对应于第一数据包的长度所在的方向。
102.对所述缓存中的M个数据段进行编码生成N个第二数据包,所述M个数据段中的数据包括所述K个第一数据包中的部分或者全部数据,且所述M个数据段的长度相等。
本步骤的M个数据段包括缓存中的K个第一数据包的部分或者全部数据、由虚拟分割级联操作后获得的等长的数据段。M为正整数。
在一些可能的实现方式中,若缓存为二维的结构:
举例来说,假设K=3,即有3个第一数据包,H1至H3分别为三个第一数据包的第一头信息。图9(a)中的虚线框可以理解为本次编码的编码窗,表征本次编码的数据范围,即发送端会对在编码窗内的所有完整的数据段进行编码。图9中,3个第一数据包完全落在编码窗内,那么可以认为M个数据段包括了这3个第一数据包的全部数据。而图9(b)中第3个数据包中有一部分落在了虚线框,即编码窗,之外,由于在本次编码的数据将不涵盖落在编码窗之外的数据,因此,在这种情况下,可以认为M个数据段包括了这3个第一数据包的部分数据(M个数据段不包括落在编码窗外的第一数据包的数据)。M个数据段没有包括的K个第一数据包的数据是落在编码窗外的数据。
需要说明的是,本申请中所指的第一数据包的数据,包括第一数据包的包头和包体。
关于M个数据段在缓存中的存在形式,可以有多种,现进行举例:
举例一:
每个数据段的长度为该缓存的列长度,且每个数据段的起始位置为缓存中一列的首行、结束位置为该列的结束行。也即可以认为编码窗内每一列映射的数据对应一个数据段。举例来说,如图9(b)所示,位于编码窗内的数据被分割为长度为缓存的列长度S1的M个数据段(M=6)。需要说明的是,当K个第一数据包中位置最靠前的第一数据包并非从编码窗的第一列列X首行开始映射时,在列X前半部分可能映射有上一次数据传输时发送的第一数据包的至少部分数据,它们在本申请实施例的图中被称为其它数据。当编码窗的最后一列缓存还存在未被映射的区域时,可以映射padding数据去填满该区域,它们在本申请实施例的图中也被称为其它数据。此时,M的值是编码窗内包括的列数。
本举例中获得的M个数据段对应的虚拟分割级联操作是非常便捷的,有利于降低通信中数据处理的复杂度。
举例二:
每个数据段的长度为任意长度,和/或编码窗中的M个数据段中的第一个数据段的起始位置不是编码窗内首列首行。需要说明的是,本申请中,M个数据段中的第一个数据段起始位置即为编码的起始位置。也就是说,此时编码窗的首列中,数据段的起始位置所在的行与首行存在一个偏移。该偏移为编码起始位置所在列首行与所述编码起始位置所在的行之间的偏移。该偏移反映了编码的起始位置,或者说该偏移可以反映M个数据段在缓存中所映射的位置。在一种实现方式中,每个数据段的长度仍设为该缓存的列长度,该偏移设置为编码窗首列(列X)中,第一个映射入缓存的第一数据包所在的行与首行的偏移,如图9(c)所示,图中的点划线可以理解为各个数据段之间的边界线。此时,可以实现从K个第一数据包中第一个第一数据包开始进行编码。如此不会引入与本次发送不相关的数据,从而降低数据处理复杂度。本实现方式中,从偏移指示的位置开始按照缓存的列长度,对编码窗中的数据进行M次分割,获得M个数据段。与举例一类似,若偏移指示的起始位置,即第一个数据段的起始位置,不与第一个数据包的起始位置一致,偏移指示的行的起始位置和第一个第一数据包起始位置之间可能映射有上一次数据传输时发送的第一数据包的至少部分数据在本申请实施例图中被称为其它数据。在编码窗的最后一列,第M个数据段的结束位置所在的行号大于第K个第一数据包结束位置所在的行号时,可以映射padding数据去填满它们之间的区域。
为了保证接收端的缓存中数据段的存在形式与发送端的缓存中对应数据段的存在形式相同,发送端和接收端可以通过一些方式使得对与该存在形式相关的参数达成一致理解,例如:每个数据段的长度和/或举例中的偏移可以为接收端和发送端预先约定,发送端也可以通过RRC信令或者下行控制信息(downlink control information,DCI)通知接收端,发送端还可以携带在第一数据包的第一头信息中通知接收端。
若缓存为一维的结构,举例来说,仍假设K=3,即有3个第一数据包,H1至H3分别为三个第一数据包的第一头信息。与图9(a)和图9(b)的文字说明类似,图10(a)和图10(b)分别示出了M个数据段包括全部3个第一数据包的数据和M个数据段包括部分3个第一数据包的数据。M个数据段的长度同样可以通过预先约定、通过RRC信令、或者DCI通知或者携带在第一头信息中通知等方式使发送端和接收端之间达成一致理解。
为了便于后续低开销地标记第一数据包在缓存中映射的位置,对于一维的缓存,这里引入一个概念:一维缓存的计量长度,其可以将一维缓存等分成多段。如果类比到二维的缓存,一维缓存的计量长度就相当于二维缓存中的列长度。一维缓存中的每段相当于二维缓存的一列。形象地来说,如图9(a)、9(b)或者9(c),相当于将二维缓存中的一列的结尾与下一列的开头顺次相连后展开即变形成了一维缓存。因此,对于一维缓存,M个数据段在缓存中的存在形式,可以参见上述二维缓存中的举例一和举例二中的表述,并分别结合与图9(a)、9(b)、9(c)情况类似的图10(a)、10(b)、10(c),此处不予赘述。同时,处于避免重复叙述的目的,本申请后续实施例,都将主要以二维缓存为例进行详细的介绍,对于一维缓存的场景,未做详细描述的部分,均可参照本段中对两者的比较说明,结合给出的相关附图实现。
获得M个等长的数据段后,发送端便可对该M个数据段进行网络编码操作,生成N个第二数据包。该第二数据包又可称为编码数据包。在一种实现方式中,该第二数据包包括第二头信息,该第二头信息可以指示该第二数据包对应的M个数据段的信息,或者说,该第二头信息可以指示编码窗的范围。第二头信息还可以包括编码参数,例如,编码系数索引等,用于接收端进行准确的译码操作。第二头信息可以使得接收端获知N个第二数据包可以用于译码哪些数据段。第二头信息的具体结构,请参见本申请实施例二。当然,关于第二数据包与M个数据段之间的这种对应关系,同样也可以通过例如高层信令等方式由发送端向接收端指示,这样接收端在对第二头信息进行解析之前就有可能获得这个对应关系,提高了接收端译码的效率。
这里网络编码的操作可以应用如RLNC、RS码、CNC、或者流码等,本领域技术人员知道如何实现,本申请中不予赘述。N为正整数。
103.发送K个第一数据包。
需要说明的是,本步骤和步骤102是互相独立的,在执行上没有先后顺序的限制,也即可以先执行步骤102,再执行步骤103,或者先执行步骤103,再执行步骤102,或者步骤102和步骤103同时执行。当步骤103在步骤102之前执行时,可以减少数据通信的时延。
104.发送所述N个第二数据包中的至少一个。
可以根据具体的场景或者通信的环境等确定发送本次生成的N个第二数据包中的部分或者全部。例如,当某些场景或者通信的环境对应的信道质量较好时,发送端可以选择先发送N个第二数据包中的一部分数据包,若随后收到接收端的反馈信息请求更多的第二数据包时,再根据反馈信息对应还需要发送的第二数据包个数,决定发送N个第二数据包中剩下的第二数据包中的第二数据包的个数。在某些情况下可能N个第二数据包中剩下的第二数据包的个数还无法达到请求的第二数据包的个数,那么此时,发送端可以再次编码生成第二数据包进行发送以满足接收端的请求。如此,可以节省发送端多余的第二数据包的发送所带来的开销。当某些场景或者通信的环境对应的信道质量较差时,发送端可以选择将N个第二数据包全部发送,如此,可以节省一些反馈信息的带来的开销。这样,系统的性能得以提高。关于该反馈信息的具体细节,将在实施例三中具体表述。
另外,当步骤103在步骤102后执行时,本步骤可以在步骤103之前执行或者之后执行,还可以与步骤103同时执行。当步骤103在步骤102前执行时,那么步骤104一定是在步骤103之后执行。
图6所示的技术方案可以认为是一种发送端的编码方案。为了构建一个完整的通信流程,本实施例继续提供另一种数据处理方法,可以认为是一种译码方案,该方法的执行主体可以是接收端,意图恢复出在通信过程中丢失的第一数据包。本技术方案中的译码方案与图4实施例中的编码方案是对应的。如无特殊的说明,对相关的术语的理解是一致的,不再重复说明。如图11所示,具体包括:
201.接收A个第一数据包和B个第二数据包,第一数据包包括第一头信息,所述第一头信息包括指示所述第一数据包在缓存中的位置的信息。
本步骤与步骤103和104对应。由于传输过程中的信道噪声、干扰等可能导致第一数据包丢失,接收端收到A个第一数据包,其中A为整数,且0≤A<K,也就是说,这里的A个第一数据包可以属于步骤103中发送的K个第一数据包,对于接收端来说这K个数据包属于需要接收(或者说获取)的第一数据包。需要说明的是,这里所指的第一数据包的丢失,可以理解为第一数据包在接收端因接收错误被丢弃,或者说被擦除。当A=K时,无数据包丢失,无需执行本实施例中的译码流程,可以直接将收到的B个第二数据包丢弃。这不是本实施例关注的场景。0≤A<K表明在数据传输过程中存在数据包丢失的场景,特殊的,当A=0时,接收端没有收到任何第一数据包,即所有K个第一数据包在传输过程中都丢失的场景。类似的,接收到的B个数据包个数B为≥0的整数。另外A与B不同时为0,否则无法执行步骤203中的联合译码。第一数据包的结构在步骤101中已经描述。需要说明的是,接收端将第一头信息中所指的缓存的理解为接收端的缓存。在以下对图11的方法叙述中,如无特殊说明,缓存均指接收端的缓存。可以理解的是,步骤201中所述的接收端的缓存的构建是与发送端的缓存完全相同的,第一数据包的位置在两个缓存中也是完全相同的,所以接收端解析获得第一数据包第一头信息所述指示的第一数据包在缓存中的位置信息后,可以直接理解为该第一数据包在接收端缓存中位置的信息。当然,在某些可能实施方式中,发送端的缓存和接收端的缓存可以不相同、但是具有发送端和接收端预先约定的对应关系,那么接收端可以根据该对应关系以及第一头信息确定接收到的A个第一数据包在接收端缓存中的位置,但是,本申请实施例均以接收端的缓存的构建是与发送端的缓存完全相同的、第一数据包的位置在两个缓存中也是完全相同的为例进行展开说明。
本申请中的预先约定可以理解为定义、预先定义、存储、预存储、预协商、预配置、固化、或预烧制。
本步骤中的第二数据包,用于与落在译码窗内的A个数据包中的部分或者全部数据进行联合译码。其中,译码窗的含义是与编码窗对应的,接收端会对落在译码窗中的能够对应到发送端编码窗内数据段的数据段和/或子数据段进行译码。如图6所述技术方案的步骤102类似的表述,第二数据包可以为对应于步骤102中所述的M个数据段的编码数据包。
可选的,步骤201中接收的B个第二数据包,可以全部都来自步骤104中发送的第二数据包,也即B≤N,在一些情况下,接收端对应接收到的步骤104中发送的数据包可能还不足以帮助完全恢复丢失的第一数据包,那么此时,接收端可以向发送端发送反馈信息,指示还需要的第二数据包的个数,步骤201中接收的B个第二数据包还包括了发送端根据该反馈信息发送的第二数据包,此时可能存在B≥N,也即发送端在本次调度总共发送的第二数据包数要大于步骤102中生成的N个。对于超出N个的部分,如步骤104中所述,发送端可以通过再次编码等方式生成。也就是说,B个数据包包括了步骤104中发送的N个数据包的部分或者全部。B个第二数据包中的每个第二数据包与N个第二数据包中的每个第二数据包的内容是相同的。
接收A个第一数据包和B个第二数据包后,接收端便可以将A个第一数据包映射到接收端缓存中的部分或者全部数据和所述B个第二数据包中的至少一个进行联合译码,最终恢复K个第一数据包。例如,可以通过如下步骤202至203来实现:
202.在缓存中根据所述第一头信息所述指示的所述位置,映射所述A个第一数据包。
如步骤201中所述,接收端解析接收到的A个第一数据包获得A个第一数据包的第一头信息。接收端根据A个第一头信息所指示的位置,在接收端的缓存中分别映射这A个第一数据包。其中,对“映射”的理解可以参照步骤101中的表述。
203.将C个数据段和/或D个子数据段与所述B个第二数据包中的至少一个进行联合译码恢复E个数据段,E个数据段包括F个丢失的第一数据包的数据,D个子数据段中的子数据段是E个数据段中的数据段的部分,C个数据段和所述D个子数据段的数据包括所述A个第一数据包中的部分或者全部数据,C个数据段和E个数据段的长度相等。
本步骤采用的虚拟分割级联方式与发送端步骤103中所描述的是一致的,但是由于在数据传输过程中,可能存在丢包的现象,(例如丢失了F个第一数据包),在接收端缓存中可能无法对应获得所有M个数据段,而是获得C个数据段和D个子数据段。当M个数据段中的数据段的数据并未全部丢失时,将包括了该数据段中的未丢失数据部分称为子数据段。C和D均为≥0的整数。现举例如下几种可能的情况:
情况一:0<C<M且D=0,例如,如图12(a)所示。
情况二:C=0且D>0,例如,如图12(b)所示。
情况三:0<C<M且D>0,例如,如图12(c)所示。
当A个第一数据包完全落在了接收端的译码窗内,C个数据段和D个子数据段的数据包括所述A个第一数据包中的全部数据。当A个第一数据包的数据中有部分数据落在了该译码窗之外,那么C个数据段和D个子数据段的数据包括所述A个第一数据包中的部分数据。这里的译码窗在接收端缓存中界定的译码范围与发送端编码窗在发送端缓存的中界定的编码范围是对应一致的。C个数据段和D个子数据段的数据无法包括的A个第一数据包的数据均落在译码窗外。另外需要说明的是,接收端数据段在缓存中的存在形式,是与发送端缓存中数据段的存在形式一致的。虽然图12(a)至图12(c)中示出的数据段的存在形式与步骤102中的举例一一致,但是,在接收端的缓存中数据段也可以以举例二的方式存在,通过步骤102中发送端指示的数据段的长度和/或偏移,接收端完全可以对应知晓数据段在缓存中的存在形式。需要说明的是,步骤102中的偏移为编码起始位置所在列首行与所述编码起始位置所在的行之间的偏移,对应的,在接收端可以对应将其理解成译码起始位置所在列的首行与译码起始位置所在的行之间的偏移。该偏移对应地反映了译码的起始位置,或者说,反映了数据段在缓存中所映射的位置。
在一种实现方式中,第二数据包包括第二头信息,该第二头信息可以指示该第二数据包对应的缓存中的数据段的信息,或者说,该第二头信息可以指示译码窗的范围。第二头信息还能够包括编码参数,例如,编码系数索引等,用于接收端对应进行准确的译码操作。第二头信息可以使得接收端获知第二数据包用于译码哪些第一数据包或者说缓存中的哪些数据段。在本实施例中,第二数据包对应的缓存中的数据段包括上述的C个数据段和E个数据段。
根据接收端采用的译码方式和丢失的第一数据包所对应的数据段的个数,将C个数据段和/或D个子数据段与所述B个第二数据包中的至少一个进行联合译码恢复E个数据段。这E个数据段包括F个丢失的第一数据包的数据,这里E、F为大于0的整数。可选的,当接收端本次完全译码成功时,A+F=K。
在一种实现方式中,若采用一个第二数据包恢复一个数据段的译码方式,可以将C个数据段与B个第二数据包中的至少一个进行联合译码恢复出丢失的数据段,以此恢复丢失的第一数据包。参与译码的第二数据包的个数,可以等于(M-C)个。译码后在缓存中也映射了M个数据段,可以据此获得发送端发送的K个第一数据包。
在另一种实现方式中,若采用增强译码的方式,C个数据段和B个第二数据包中的至少一个第二数据包,以及D个子数据段将参与联合译码。可以将C个数据段和D个子数据段与B个第二数据包中的至少一个进行联合译码,恢复出丢失的第一数据包中的数据。译码后在缓存中也映射了M个数据段,可以据此获得发送端发送的K个第一数据包。关于增强译码的具体细节,将在实施例六中详细介绍。
进一步地,在接收端可以将K个第一数据包的第一头信息移除后得到K个第一数据包的包体继续向上层传递。如前所述该包体可以是PDU或SDU。如此将不会影响现有协议的其它规则。
图13示出了图6所述的数据处理方法基于协议架构的一种实现方式。在该方式中网络编码功能在新引入的网络编码功能层实现。网络编码功能层位于PDCP层和RLC层之间,PDCP层的PDU向下传递至网络编码功能层作为网络编码功能层的SDU,通过添加第一头信息H后即成为第一数据包。图中示出了3个第一数据包。在网络编码功能层采用图6所涉及的步骤101和102后,生成得到了两个第二数据包,其中h为第二数据包的第二头信息。3个第一数据包和2个第二数据包作为网络编码功能层的PDU(图中未示出)被继续向下传递至RLC层。需要说明的是,虽然每一层的包头出于简明的目的都标记为H,但是每一层的H包括的信息可以是不同的。在每一层中的SDU出于简明的目的未标号,但可以知道它们是不同的SDU。网络编码功能层向下传递的数据包可以完全兼容RLC层的功能,即RLC层将网络编码PDU视为PDCP PDU进行处理和操作即可。需要这里说明的是,数据在其它协议层的操作与现有技术中的一致,因此不予赘述。
实施例二
本实施例介绍了一种第一头信息具体结构和第二头信息具体结构的设计方案。需要说明的是,本申请的技术方案不必同时应用实施例二中的第一头信息的具体结构和第二头信息的具体结构,即它们之间是解耦的。
本实施例可以基于实施例一。
如前所述,第一头信息包括指示所述第一数据包在缓存中的位置的信息。
先以二维缓存、先行后列的存储结构为例。
通过所述第一数据包起始位置的列号、所述第一数据包结束位置的列号、所述第一数据包结束位置的列号与所述第一数据包起始位置的列号之间的差值中的任意两个;以及,所述第一数据包起始位置的行号、所述第一数据包结束位置的行号、所述第一数据包起始位置的行号与所述第一数据包结束位置的行号之间的差值中的任意两个,可以唯一确定第一数据包在缓存中的位置。
如下以几种具体的可能的实现方式进行举例:
实现方式一:
第一数据包的第一头信息包括:在缓存中,第一数据包起始位置的列号、第一数据包结束位置的列号与第一数据包起始位置的列号之间的差值、第一数据包起始位置的行号、第一数据包结束位置的行号。
实现方式二:
第一数据包的第一头信息包括:在缓存中,第一数据包起始位置的列号、第一数据包起始位置的行号、第一数据包结束位置的列号和第一数据包结束位置的行号。
实现方式三:
第一数据包的第一头信息包括:在缓存中,第一数据包起始位置的列号、第一数据包结束位置的列号与第一数据包起始位置的列号之间的差值、第一数据包起始位置的行号、第一数据包结束位置的行号与第一数据包起始位置的行号之间的差值。其中,前述行号之间的差值可以为正数或者负数,例如,行号之间的差值为正数时,表示第一数据包结束位置的行在第一数据包起始位置行下方;行号之间的差值为负数时,表示第一数据包结束位置的行号在第一数据包起始位置的行号上方。
实现方式四:
第一数据包的第一头信息包括:在缓存中,第一数据包结束位置的列号、第一数据包结束位置的列号与第一数据包起始位置的列号之间的差值、第一数据包结束位置的行号、第一数据包结束位置的行号与第一数据包起始位置的行号之间的差值。
在另一些可能的实现方式中,还可以结合第一数据包的长度来指示第一数据包在缓存中的位置。
实现方式五:
第一数据包的第一头信息包括:在缓存中,第一数据包起始位置的列号、第一数据包起始位置的行号和第一数据包的长度。
实现方式六:
第一数据包的第一头信息包括:在缓存中,第一数据包结束位置的列号、第一数据包结束位置的行号和第一数据包的长度。
当第一头信息包括第一数据包长度时,在一些可能的实现方式中,发送端和接收端预先对缓存的列长度达成一致理解。
如实施例一中所述,所述缓存的列长度可以为接收端和发送端预先约定,发送端也可以通过RRC信令或者DCI通知接收端,发送端还可以携带在第一数据包的第一头信息中通知接收端。
如图14(a)至14(f)依次对应了实现方式一至六的第一数据包的结构。其中,为了简洁,将第一数据包起始位置的列号表示为R1、第一数据包结束位置的列号表示为R2、第一数据包结束位置的列号与第一数据包起始位置的列号之间的差值表示为D1、第一数据包起始位置的行号L1、第一数据包结束位置的行号L2、第一数据包结束位置的行号与第一数据包起始位置的行号之间的差值D2,以及第一数据包的长度表示为L。需要说明的是,图中字段之间的位置顺序只是一种举例,实际上第一头信息中的字段之间的顺序可以任意互换的,只需发送端和接收端提前约定好,保证理解的一致性即可。
可选地,在以上各种实现方式中,可以对相关的字段的比特数做出规定,例如:
第一数据包起始位置的列号:8比特;
第一数据包结束位置的列号:8比特;
第一数据包结束位置的列号与第一数据包起始位置的列号之间的差值:8比特;
第一数据包起始位置的行号:7比特,如此可以表示128字节范围的行号;
第一数据包结束位置的行号:7比特,如此可以表示128字节范围的行号;
第一数据包结束位置的行号与第一数据包起始位置的行号之间的差值:8比特,其中第一个比特表示该差值为正数还是负数,剩下的7比特可以表示128字节范围的行号;
第一数据包的长度:11比特,对应最大长度为2048字节。
再以一维缓存为例,来介绍具体的实现方式。
对于一维缓存,一种比较简单的指示第一数据包在缓存中位置的信息的方式是:通过给缓存存储方向(长度方向)设置缓存位置索引,并通过位置索引标记第一数据包的起始位置、第一数据包的结束位置,或者结合第一数据包的长度与第一数据包的起始位置、第一数据包的结束位置中的一个,来唯一确定第一数据包在缓存中的位置。这种操作方式比较简单,当缓存空间较大,对应位置索引所需要的比特数也会增加,可以使用一种新的指示方式来降低第一头信息的开销。
现结合图15定义如下几个字段:
第一数据包起始位置所在的段号V1_num;
第一数据包结束位置所在的段号V2_num;
第一数据包起始位置偏移V1_mod,为第一数据包起始位置与第一数据包起始位置所在段的起始位置之间的距离;
第一数据包结束位置偏移V2_mod,为第一数据包结束位置与第一数据包结束位置所在段的起始位置之间的距离;
第一数据包结束位置相对于起始位置所偏移的段数num_OS;
第一数据包结束位置偏移相较于起始位置偏移所偏移的差值mod_OS,即mod_OS=V2_mod-V1_mod。
因此,可以通过如下公式分别计算出第一数据包在缓存中起始位置的索引和结束位置的索引,这些公式只是部分示例:
第一数据包在缓存中起始位置的索引为V1_mod+V1_num*S、V1_mod+(V2_num-num_OS)*S、或者V2_mod-mod_OS+(V2_num-num_OS)*S;
第一数据包在缓存中结束位置的索引为V2_mod+V2_num*S、V2_mod+(V1_num+num_OS)*S、或者V1_mod+mod_OS+(V1_num+num_OS)*S。
基于以上,第一头信息中所包括的内容,还可以有如下几种实现方式:
实现方式六:
第一数据包的第一头信息包括:V1_mod、V1_num、第一数据包的长度L。此时,起始位置的索引为V1_mod+V1_num*S;结束位置的索引为V1_mod+V1_num*S+L。实现方式七:
第一数据包的第一头信息包括:V2_mod、V2_num、L。此时,起始位置的索引为V2_mod+V2_num*S-L,结束位置的索引为V2_mod+V2_num*S。
在另一些可能的实施方式中,第一头信息可以包括V1_mod,V2_mod和mod_OS三项中的至少两项,以及V1_num,V2_num和num_OS中的至少两项。以下为几种可能的具体实现方式。
实现方式八:
第一数据包的第一头信息包括:V1_mod、V1_num、V2_mod、num_OS。
实现方式九:
第一数据包的第一头信息包括:V1_mod、V1_num、num_OS、mod_OS。
实现方式十:
第一数据包的第一头信息包括:V2_mod、V2_num、V1_mod、num_OS。
实现方式十一:
第一数据包的第一头信息包括:V2_mod、V2_num、num_OS、mod_OS。
如上实现方式六至十一对应的对应的第一数据包的结构,本领域技术人员参见图14(a)至14(e)中任意一种均可以得到,因此不再重复作图。
如下继续介绍第二头信息的具体结构。第二数据包包括第二头信息,第二头信息包括在缓存中,编码的起始列号Win_R1,编码的编码窗长度Win_S(例如,缓存中参与本次编码的列数,若对应实施例一中的举例一的场景,则也可以理解为数据段的个数M),以及编码的结束列号Win_R2中的任意两个。也即通过如上任意两个字段,即可确定出本次编码的数据段是哪些,或者说,本次编码的编码窗范围。因为发送端的编码的数据段(编码窗)和接收端的译码的数据段(译码窗)是对应的,因此,接收端通过解析以上信息,便可获知第二数据包用于译码的数据段是哪些。需要说明的是Win_S也可以通过半静态配置的方式通知接收端,此时在第二头信息中可以不包括Win_S。
可选的,第二头信息还可以包括如下至少一种字段:
包标识packet ID:用于表示第二数据包的序列SN号,其取值范围为0至2N-1,N为packet ID的比特数;
类型type:用于表示第二数据包SN号的不同取值范围,例如,若type=0,可以表示packet ID的比特数N为8。若type=1,可以表示packet ID的比特数N为16。type的比特数为一位时,第二数据包SN号可以有两种不同的取值范围,type的比特数为两位时,第二数据包SN号可以有四种不同的取值范围,依次类推;
系数码本的行索引coeff ID:8比特开销可以表示255行码本系数,用于对编码窗中的数据段进行编码,常用的码本有范德蒙码本、柯西码本、随机码本等
同样的,第二头信息中的各个字段之间顺序可以是任意的,图16中示出的一种第二数据包的结构只是一种举例。
在一种实现方式中,可以对相关字段的比特数做出规定,例如:
Win_R1:8比特,对应可以指示到256列中的一列;
Win_S:8比特,对应可以指示到256种编码窗的长度;
Win_R2:8比特,对应可以指示到256列中的一列;
packet ID:为8比特或者16比特等取值范围,可以结合type唯一确定;
type:1比特或者2比特;
coeff ID:8比特。
在一种实现方式中,无论是第一头信息还是第二头信息,都还可以包括通用字段原始/编码(original/code,O/C)字段,用以指示当前发送的数据包为第一数据包还是第二数据包,用于接收端快速区别数据包的类型。例如O/C字段=0则当前发送的数据包为第一数据包,O/C字段=1则当前发送的数据包为第二数据包。
在一种实现方式中,还可以对第一数据包和/或第二数据包添加循环冗余码校验(cyclic redundancy check,CRC)信息。例如,如图17(a)至17(d)所示,可以在第一头信息的末尾、第一头信息的末尾和第一数据包的末尾、第二头信息的末尾、第二头信息的末尾和第二数据包的末尾中添加上CRC信息,图中的省略号代表省去的第一头信息或者第二头信息中的其它字段。可选的,可以在第一头信息中额外增加一比特,该一比特指示对应的第一数据包的第一头信息末尾和/或第一数据包末尾是否添加了CRC信息。还可以在第二头信息中额外增加一比特,该一比特指示对应的第二数据包的第二头信息末尾和/或第二数据包末尾是否添加了CRC信息。对第一头信息、第二头信息、第一数据包和第二数据包中的至少一个添加CRC信息,可以对应地分别保证第一头信息、第二头信息、第一数据包和第二数据包的完整性和准确性。
通过如上第一头信息和/或第二头信息的结构的开销相对较小。举例来说,若采用如上对相关的字段的比特数的设计,则不管是何种实现方式,第一头信息的总开销约在4字节、第二头信息的总开销约为2字节。如此设计,不仅有效保证了编码和译码流程操作的准确性,相比于传统地分割级联方式至少需要8字节的指示开销,也大大节约了系统的开销。同时本申请实施例的技术方案也考虑到了现有协议的兼容性。
实施例三:
本实施例介绍了一种反馈信息的设计方案。本实施例可以基于实施例一或者实施例二。
如前述实施例一中所述的,当接收端接收到的第二数据包不足以恢复出本次数据传输所丢失的第一数据包时,接收端可以向发送端进行指示以获取足够的第二数据包来完成整个译码流程。同时,对于成熟的数据传输机制来说,发送端也会知悉本次数据传输的所有数据是否已经被接收端正确接收。基于此,可以引入本实施例的技术方案。
本实施例的技术方案,接收端向发送端发送反馈信息,用于指示本次数据传输的数据包是否接收成功。
在一种实现方式中,若接收端正确接收了发送端发送的K个第一数据包,那么可以直接向发送端发送反馈信息,该反馈信息为确认应答ACK。若接收端存在译码错误的情况,也即未正确接收这个K个第一数据包,接收端向发送端发送反馈信息,反馈信息中包括接收端已经正确接收的M个数据段中的数据段的个数,也即对应为秩rank数。或者反馈信息中包括还需要发送端发送的第二数据包的个数,也即对应为需要的rank数。
关于接收端如何确定rank数,可以使用如下的方式:若在译码后,接收端缓存中无法完整映射出译码窗内的数据段,则判定该数据段丢失,M减去丢失的数据段个数,即为rank数。若在译码前,接收端缓存中无法完整映射出译码窗内的数据段,则判定该数据段丢失,丢失的数据段个数减去收到的编码包个数,即为需要的rank数。
在一种实现方式中,反馈信息还包括指示需要发送端发送的第二数据包所对应的数据段的信息,或者说包括指示本次编码的编码窗的范围的信息。此时,反馈信息中包括Win_R1、Win_S和Win_R2中的任意两个,它们的定义和举例与实施例二中的相关部分相同,不在赘述。
本实施例采用的反馈信息,使得整个数据传输流程更加完整,便于接收端更快速地正确接收发送端发送的所有数据,提高系统的传输性能。
实施例四
本实施例提供了另一种数据处理方法,其可以基于在实施例一所述的数据处理方法的技术方案,并且其同样可以与实施例二和三中的至少一种结合。
以二维、先行后列的缓存存储结构,即逐列映射的缓存存储结构为例,可以使K个第一数据包中的每一个都从该第一数据包起始位置所在列首行开始映射。若第一数据包的结束位置不是结束位置所在列最后一行,对于第一数据包P的结束位置所在的列,则可以采用padding的方式将第一数据包结束位置的行至该列最后一行之间的区域填充满。这样保证了下一个第一数据包是从下一列首行开始映射,且相当于缓存中的每一列只包含了一个第一数据包的数据。具体如图18所示。在一种实现方式中,padding填充的数据可以是全0。
相对于实施例一,除了第K个数据包在缓存中的起始位置做了进一步的限定,其余在发送端的数据处理方式,和/或,在接收端的数据处理方式是与实施例一中的表述一致的,因此不予赘述。
在本实施例中,第一头信息将不需要再指示与起始位置所在行有关的信息。例如第一头信息包括如下几种实现方式:
实现方式一:
第一数据包的第一头信息包括:在缓存中,第一数据包起始位置的列号、第一数据包的结束位置的列号与第一数据包起始位置的列号之间的差值、第一数据包结束位置的行号。
实现方式二:
第一数据包的第一头信息包括:在缓存中,第一数据包起始位置的列号、第一数据包的结束位置的列号和第一数据包结束位置的行号。
实现方式三:
第一数据包的第一头信息包括:在缓存中,第一数据包起始位置的列号、第一数据包的结束位置的列号与第一数据包起始位置的列号之间的差值、第一数据包结束位置行号和第一数据包起始位置的行号的差值。
实现方式四:
第一数据包的第一头信息包括:在缓存中,第一数据包起始位置的列号和第一数据包的长度。
关于以上各个字段的比特数举例,可以参见实施例二。
对于一维缓存,也可以使得K个第一数据包中的每一个数据包从缓存中由计量长度定义的每段的段首开始映射,如图19所示,本实施例对于一维缓存的其余现方式与上述二维缓存的实现方式是类似,本领域技术人员参照上述对二维缓存的实现方式实现,此处不予赘述。
因为第一头信息所包含的字段相比于实施例二进一步减少,故可以进一步减少第一头信息的开销。
实施例五
本实施例提供了又一种数据处理方法,其可以基于在实施例一所述的数据处理方法的技术方案,并且其同样可以与实施例二和三中的至少一种结合。
本实施例可以认为是实施例四的进一步改进,在实施例四中,只要第一数据包的结束位置并非落在某一列最后一行,即对第一数据包进行padding的操作。相比于实施例四,实施例五引入了一个判决门限,该判决门限具体可以是预设行号,该预设行号可以以信令的方式通知给终端。仍以二维缓存、先行后列比如逐列的存储结构为例,如图20所示,在一种实现方式中,在列X+1,第一数据包P的结束位置的行号大于判决门限,则对于列X+1,第一数据包P的结束位置的行至该列最后一行采用padding的方式进行填充,保证下一个第一数据包P+1可以从第X+2列首行开始映射。在第X+4列第一数据包P+1的结束位置的行号小于判决门限,则第X+4列中,第一数据包P+2将紧跟着第一数据包P+1映射。即第一数据包P+2和第一数据包P+1之间无需进行padding。需要说明的是,若某一数据包的结束位置所在的行好正好等于判决门限,那么可以采用如上所述的padding操作,也可以不进行padding操作,只要预先确定好并保持发送端和接收端对此的认识一致即可。
对于每一个映射至缓存的第一数据包,在本实施例中都会存在一个结束位置与判决门限的判断,来确定是否在该第一数据包后进行padding。因此,还可以在第一头信息中添加一个type字段,其可以为1比特,用于指示该第一数据包后是否额外进行了padding。若是,该第一数据包的下一个第一数据包的起始位置为该第一数据包结束位置所在列后一列首行;若否,该第一数据包的下一个第一数据包的起始位置为该第一数据包结束位置所在的行的下一行。或者说,1比特type字段可表示第一数据包映射采用的方式是连着上一个数据包末尾映射,即起始位置位于某一列的中间行,还是从上一个第一数据包结束位置所在列的下一列首行开始映射;第一头信息中包含的其它信息可以参照实施例二和实施例四。
相对于实施例一,除了第K个数据包在缓存中的起始位置做了进一步的限定,其余在发送端的数据处理方式,和/或,在接收端的数据处理方式是与实施例一中的表述一致的,因此不予赘述。
基于类似的构思,对于一维缓存,同样也可以规定在每段中的一个位置作为上述表述中的判决门限,如图21所示,该判决门限在每段的中的位置是固定的。本实施例对于一维缓存其余的实现方式与上述二维缓存的实现方式是类似的,本领域技术人员可以参照上述对二维缓存的实现方式实现,此处不予赘述。
本实施例的技术方案,通过设置判决门限灵活地对每个第一数据包后是否进行padding进行区分,既可以通过padding的操作节约第一头信息的开销,又可以尽量减少padding导致的冗余信息过多而降低编码效率,很好地实现了第一头信息开销和编码效率的折中。
实施例六
本实施例提供了一种新的译码技术方案,可以称为一种增强译码方案,应用于接收端,可以与实施例一结合,进一步还可以与实施例二至五中的一个或者多个相结合,若前述实施例提到了其它译码技术方案,只要将该部分进行替代即可。
前述提及的其它译码方案的实质是,在接收端的缓存中,映射的数据段只要是不完整的(例如数据段完全丢失或者部分丢失),就认为该数据段丢失,在联合译码中就对应需要一个第二数据包对其进行恢复。而在本实施例中,若第一数据包的丢失只是导致了一个数据段的部分丢失,而非全部丢失,那么可以将接收到的该数据段的部分,即子数据段,用于接收端的联合译码,这样可以降低译码所需的第二数据包个数,有效提高译码效率。
在一种实现方式中,实施例一中所述的F个丢失的第一数据包中的第一数据包Q的长度为L,E个数据段中每个数据段的长度为S,个所述第二数据包可以恢复所述第一数据包Q,其中,表示向上取整,L和S大于0,且特别的,当L>S时,本实施例中的译码方案对应需要的用于译码的第二数据包个数可能比前述提及的其它译码方案要少。
下面以图22为例对以上表述进行详细说明:
如图22,仍是二维、先行后列的缓存存储结构为例,接收端已经完成了根据接收到的第一数据包中的第一头信息,在接收端的缓存中映射接收到的第一数据包1和第一数据包3。第一数据包2在传输中丢失。此时,数据段的存在形式为实施例中的举例一中的形式,也即可以认为译码窗中的每一列的数据为一个数据段,现以每列的列号标识这些数据段。在图22中,可以认为第一数据包1对应到数据段X和X+1,第一数据包2对应到数据段X+1、X+2、X+3和X+4,第一数据包3在译码窗中部分对应到数据段X+4、X+5。对于丢失的第一数据包2,虽然对应有四个数据段,但是数据段X+1和X+4有部分数据并未丢失,第一数据包的长度L与数据段的长度S之比为L/S,2<L/S<3,因此用三个第二数据包与数据段X、X+5、数据段X+1对应的子数据段(即为数据段X+1已正确接收的部分数据)和数据段子X+4对应的子数据段(即为数据段X+4已正确接收的部分数据)进行联合译码即可恢复出丢失的第一数据包2。具体地,可以将三个第二数据包中的两个分别用于恢复数据段X+2和X+3,将剩下的一个第二数据包按照第列X+1中丢失数据的区域A和列X+4中丢失区域B的位置进行对应划分获得第二数据包的2_1、2_2和2_3部分,如图22所示,第二数据包的2_1部分用于辅助译码第列X+4中丢失区域B、第二数据包的2_3部分用于辅助译码第列X+1中丢失区域A。而前述的译码算法,因为丢失的第一数据包2涉及到4个数据段,四个第二数据包参与译码才能恢复丢失的第一数据包2。可见采用本实施例的译码方案,此时可以降低译码所需的第二数据包的个数。译码的具体操作与现有技术中的相同,例如,若第编码窗内的数据段时按照伽罗华域(galois field,GF)域配置的,且为GF(2k),则可以进行逐k比特的译码。
类似的,对于一维缓存,同样也可以运用如上本实施例中提供的译码方案,其实现方式与二维缓存是类似的,请参见图23,具体的实现方式与如上本实施例介绍的二维缓存的实现方式是类似的,本领域技术人员可以参照上述对二维缓存的实现方式实现,此处不予赘述。
本实施例提供的译码算法,通过将第二数据包进行划分后用于缓存中对应位置的译码,相对于其它的译码方案,需要的第二数据包的个数更少,提升了译码效率,也降低了第二数据包的发送频次。
实施例七
在本申请具体实施方式的开始部分,提到本申请的技术方案可以在新引入的一个协议层,如网络编码功能层实现,也可以嵌入现有的协议层中实现。本实施例将以实施例一至六中的一个或者多个技术方案嵌入PDCP层为例进行表述。需要理解的是,本实施例的技术方案,可以进一步与上各个实施例中的一个或者多个结合。
在发送端,PDCP层的功能基于处理的先后顺序主要依次包括头压缩、完整性保护、加密和包头添加。相应的,在接收端,PDCP层的功能基于处理的先后顺序主要依次包括解密,完整性保护验证、重排序和重复丢弃、以及头解压缩。假设本申请实施例的功能可以统称为网络编码功能,则在一种实现方式中,如图24所示,在发送端,网络编码功能位于头压缩和完整性保护功能之间,即发送端在PDCP层对头压缩后的SDU进行网络编码功能操作,再进行完整性保护、加密和包头添加,形成PDCP层的PDU向下层RLC层进行传递。相应地,在接收端,网络编码功能位于重排序和重复丢弃、头解压缩之间,即接收端在PDCP层对接收到的PDU进行重排序和重复丢弃操作之后进行网络编码功能操作。
对于第二数据包,如前述实施例二中已经提到的,第二数据包的第二头信息中可以包括packet ID,用于表示第二数据包的SN号。具体地,对于该packet ID计数方式的设计,可以采用独立的计数方式:与PDCP层的PDU,也即前述实施例中所述的第一数据包,分开独立计数。后将PDCP层的PDU称为第一数据包。packet ID还可以与第一数据包一起计数:在一种实现方式中,如图25所示,对于第二数据包的SN号(Q+2和Q+4),第二数据包和第一数据包一起计数,也即第二数据包与第一数据包按照发送的先后顺序按序递增计数;但是对于第一数据包的SN号(Q,Q+1,Q+2,Q+3,Q+4),第一数据包独立于第二数据包计数,也即第二数据包不会影响第一数据包计数的连续性,此种方式会出现第二数据包与第一数据包SN相同的情况,可以通过例如O/C字段区分该数据包是第一数据包还是第二数据包。
将网络编码功能嵌入PDCP层中实现,在进行网络编码的同时,无需对PDCP层的SDU进行实际地分割级联等操作,很好地兼容了现有的协议。另外,由于DC场景下的复制(duplication)和分离(split)操作在PDCP层实现,将网络编码功能嵌入PDCP层中实现也能更好的适配DC场景,即PDCP的PDU没有被实际分割和级联,依旧保持原有的完整性,并且对应SN号也没有发生变化。
上述本申请提供的实施例中,从发送端和接收端作为执行主体的角度对本申请实施例提供的数据处理方法进行了介绍。为了实现上述本申请实施例提供的数据处理中的各功能,发送端和接收端可以包括硬件结构和/或软件模块,以硬件结构、软件模块、或硬件结构加软件模块的形式来实现上述各功能。上述各功能中的某个功能以硬件结构、软件模块、还是硬件结构加软件模块的方式来执行,取决于技术方案的特定应用和设计约束条件。
实施例八与上述实施例的构思相同,如图26所示,本申请实施例还提供一种装置1100,该装置1100包括映射模块1101、编码模块1102和收发模块1103。
一示例中,装置1100用于实现上述方法中发送端的功能。该装置可以是发送端本身,也可以是应用于发送端中的装置。其中,该装置可以为芯片系统。本申请实施例中,芯片系统可以由芯片构成,也可以包含芯片和其他分立器件。
其中,映射模块1101,用于在缓存中映射K个第一数据包,所述第一数据包包括第一头信息,所述第一头信息包括指示所述第一数据包在所述缓存中位置的信息。编码模块1102,用于对所述缓存中的M个数据段进行编码生成N个第二数据包,所述M个数据段中的数据包括所述K个第一数据包中的部分或者全部数据,且所述M个数据段的长度相等。收发模块1103,用于发送K个第一数据包和发送所述N个第二数据包中的至少一个。其中,M、N、K为正整数。
关于映射模块1101、编码模块1102和收发模块1103的具体执行过程,可参见上实施例一至七中关于发送端执行的方法的记载。本领域技术人员结合上述装置实施例的描述和实施例一至七中的过程描述,可以得到用于实现实施例一至七中的发送端的装置实施例,在此不加赘述。
本申请实施例中对模块的划分是示意性的,仅仅为一种逻辑功能划分,实际实现时可以有另外的划分方式。例如,在一种可能的实现方式中映射模块1101集成在处理器中,编码模块1102集成在编码器中,以及收发模块1103集成在收发器中。在另外一种可能的实现方式中,映射模块1101和编码模块1102均集成在编码器中,收发模块1103集成在收发器中。上述模块既可以采用硬件的形式实现,也可以采用软件功能模块的形式实现。
实施例九与上述实施例的构思相同,如图27所示,本申请实施例还提供一种装置1200,该装置1200包括映射模块1201、译码模块1202和收发模块1203。
一示例中,装置1200用于实现上述方法中接收端的功能。该装置可以是接收端本身,也可以是应用于接收端中的装置。其中,该装置可以为芯片系统。本申请实施例中,芯片系统可以由芯片构成,也可以包含芯片和其他分立器件。
其中,收发模块1203,用于接收A个第一数据包和B个第二数据包,所述第一数据包包括第一头信息,所述第一头信息包括指示所述第一数据包在缓存中的位置的信息。映射模块1202,用于在所述缓存中根据所述第一头信息指示的所述位置,映射所述A个第一数据包。译码模块1202,用于将C个数据段和/或D个子数据段与所述B个第二数据包中的至少一个进行联合译码恢复E个数据段,所述E个数据段包括F个丢失的第一数据包的数据,所述D个子数据段中的子数据段是所述E个数据段中的数据段的部分,所述C个数据段和所述D个子数据段的数据包括所述A个第一数据包中的部分或者全部数据,所述C个数据段和所述E个数据段的长度相等;其中,A、B、C、D为大于或等于0的整数,E、F为大于0的整数,且A与B不同时为0。
关于映射模块1201、译码模块1202和收发模块1203的具体执行过程,可参见上实施例一至七中关于发送端执行的方法的记载。本领域技术人员结合上述装置实施例的描述和实施例一至七中的过程描述,可以得到用于实现实施例一至七中的接收端的装置实施例,在此不加赘述。
本申请实施例中对模块的划分是示意性的,仅仅为一种逻辑功能划分,实际实现时可以有另外的划分方式。例如,在一种可能的实现方式中映射模块1201集成在处理器中,译码模块1202集成在编码器中,以及收发模块1203集成在收发器中。在另外一种可能的实现方式中,映射模块1201和译码模块1202均集成在编码器中,收发模块1203集成在收发器中。上述模块既可以采用硬件的形式实现,也可以采用软件功能模块的形式实现。
实施例十
与上述构思相同,如图28所示,本申请实施例还提供一种装置1300。装置1300包括至少一个处理器1301。
一示例中,该装置1300用于实现上述方法中发送端的功能,该装置可以是发送端本身,也可以是应用于发送端中的装置,如芯片。处理器1301用于实现上述实施例一至七中发送端的功能。具体参见上述实施例一至七中的详细描述,此处不再说明。
在另一示例中,该装置1300用于实现上述方法中接收端的功能,该装置可以是接收端本身,也可以是应用于接收端中的装置,如芯片。处理器1301用于实现上述实施例一至七中接收的功能。具体参见上述实施例一至七中的详细描述,此处不再说明。
在一些实现方式中,装置1300还可以包括至少一个存储器1302,用于存储程序指令和/或数据。存储器1302和处理器1301耦合。本申请实施例中的耦合是装置、单元或模块之间的间隔耦合或通信连接,可以是电性,机械或其它的形式,用于装置、单元或模块之间的信息交互。作为另一种实现,存储器1302还可以位于装置1300之外。处理器1301可以和存储器1302协同操作。处理器1301可能执行存储器1302中存储的程序指令。所述至少一个存储器中的至少一个可以包括于处理器中。
在一些实施例中,装置1300还可以包括通信接口1303,用于通过传输介质和其它设备进行通信,从而使得装置1300可以和其它设备进行通信。示例性地,通信接口1303可以是收发器、电路、总线或其它类型的通信接口,该其它设备可以是接收端或者发送端。处理器1301利用通信接口1303收发信息,并用于实现上述实施例一至七中的方法。
本申请实施例中不限定上述通信接口1303、处理器1301以及存储器1302之间的连接介质,例如,可以通过总线连接,所述总线可以包括为地址总线、数据总线和控制总线中的至少一种。
在本申请的各个实施例中,如果没有特殊说明以及逻辑冲突,不同的实施例之间的术语和/或描述具有一致性、且可以相互引用,不同的实施例中的技术特征根据其内在的逻辑关系可以组合形成新的实施例。
在本申请实施例中,处理器可以是通用处理器、数字信号处理器、专用集成电路、现场可编程门阵列或者其他可编程逻辑器件、分立门或者晶体管逻辑器件、分立硬件组件,可以实现或者执行本申请实施例中公开的各方法、步骤及逻辑框图。通用处理器可以是微处理器或者任何常规的处理器等。结合本申请实施例所公开的方法的步骤,可以直接体现为处理器中的硬件执行完成这些方法的步骤,或者用处理器中的硬件及软件模块组合执行完成这些方法的步骤。
在本申请实施例中,存储器可以是非易失性存储器,比如硬盘(hard disk,HD)或固态硬盘(solid-state drive,SSD)等,还可以是易失性存储器(volatile memory),例如随机存取存储器(random-access memory,RAM)。存储器是能够用于携带或存储具有指令或数据结构形式的程序代码并能够由计算机存取的任何介质,但不限于此。本申请实施例中的存储器还可以是电路或者其它任意能够实现存储功能的装置,用于存储程序指令和/或数据。
本申请实施例提供的方法,可以全部或部分地通过软件、硬件、固件或者其任意组合来实现。当使用软件实现时,可以全部或部分地以计算机程序产品的形式实现。所述计算机程序产品包括一个或多个计算机指令。在计算机上加载和执行所述计算机程序指令时,全部或部分地产生按照本申请实施例所述的流程或功能。所述计算机可以是通用计算机、专用计算机、计算机网络、网络设备、用户设备或者其他可编程装置。所述计算机指令可以存储在计算机可读存储介质中,或者从一个计算机可读存储介质向另一个计算机可读存储介质传输,例如,所述计算机指令可以从一个网站站点、计算机、服务器或数据中心通过有线(例如同轴电缆、光纤、数字用户线(digital subscriber line,简称DSL))或无线(例如红外、无线、微波等)方式向另一个网站站点、计算机、服务器或数据中心进行传输。所述计算机可读存储介质可以是计算机可以存取的任何可用介质或者是包含一个或多个可用介质集成的服务器、数据中心等数据存储设备。所述可用介质可以是磁性介质,例如,软盘、硬盘、磁带;也可以是光介质,例如,数字视频光盘(digital video disc,DVD);还可以是半导体介质,例如,SSD等。
显然,本领域的技术人员可以对本申请进行各种改动和变型而不脱离本申请的范围。这样,倘若本申请的这些修改和变型属于本申请权利要求及其等同技术的范围之内,则本申请也意图包含这些改动和变型在内。
Claims (30)
1.一种数据处理方法,其特征在于,包括:
在缓存中映射K个第一数据包,所述第一数据包包括第一头信息,所述第一头信息包括指示所述第一数据包在所述缓存中位置的信息;
对所述缓存中的M个数据段进行编码生成N个第二数据包,所述M个数据段中的数据包括所述K个第一数据包中的部分或者全部数据,且所述M个数据段的长度相等;
发送所述K个第一数据包;以及,
发送所述N个第二数据包中的至少一个;其中,M、N、K为正整数。
2.如权利要求1所述的方法,其特征在于,所述M个数据段的长度为S,S大于或等于0;
所述第一头信息还包括用于指示所述S的值的信息;或者,
所述方法还包括:发送用于指示所述S的值的信息。
3.如权利要求1或者2所述的方法,其特征在于,所述M个数据段的长度为所述缓存的列的长度,所述M为编码窗所包括的列数,其中,所述列的长度方向与所述K个第一数据包在所述缓存中的长度方向一致。
4.如权利要求1至3任一所述的方法,其特征在于,在所述缓存中,所述K个第一数据包中的每个第一数据包从所述第一数据包起始位置所在列首行开始映射。
5.如权利要求1至4任一所述的方法,其特征在于,在所述缓存中,当所述K个第一数据包中的第一数据包P结束位置的行号大于或等于预设行号时,所述第一数据包P的下一个第一数据包从所述第一数据包P结束位置所在列的后一列首行开始映射,P为大于或等于0的整数。
6.如权利要求5所述的方法,其特征在于,所述第一头信息还包括指示所述第一数据包P结束位置的行号与所述预设行号大小关系的信息。
7.如权利要求1至6任一所述的方法,其特征在于,所述指示所述第一数据包在所述缓存中位置的信息包括:所述缓存中,
所述第一数据包起始位置的列号、所述第一数据包结束位置的列号、所述第一数据包结束位置的列号与所述第一数据包起始位置的列号之间的差值中的任意两个;以及,
所述第一数据包起始位置的行号、所述第一数据包结束位置的行号、所述第一数据包起始位置的行号与所述第一数据包结束位置的行号之间的差值中的任意两个。
8.如权利要求1至6任一所述的方法,其特征在于,所述缓存的列的长度是预定义的,或者所述方法还包括:发送指示所述缓存的列的长度的信息;
所述指示所述第一数据包在所述缓存中位置的信息包括:所述缓存中,
所述第一数据包起始位置的列号、所述第一数据包起始位置的行号、和所述第一数据包的长度。
9.如权利要求1至6任一所述的方法,其特征在于,所述缓存的列的长度是预定义的,或者所述方法还包括:发送指示所述缓存的列的长度的信息;
所述指示所述第一数据包在所述缓存中位置的信息包括:所述缓存中,
所述第一数据包结束位置的列号、所述第一数据包结束位置的行号和所述第一数据包的长度。
10.如权利要求4至6任一所述的方法,其特征在于,所述指示所述第一数据包在所述第一缓存中位置的信息包括:在所述缓存中,
所述第一数据包起始位置的列号、所述第一数据包结束位置的列号、所述第一数据包结束位置的列号与所述第一数据包起始位置的列号之间的差值中的任意两个;以及,
所述第一数据包结束位置的行号。
11.如权利要求1至10任一所述的方法,其特征在于,所述第二数据包包括第二头信息,所述第二头信息包括指示与所述第二数据包对应的所述M个数据段的信息。
12.如权利要求1至3、7至9、和11任一所述的方法,其特征在于,还包括:
发送指示偏移的信息,所述偏移为编码起始位置所在列首行与所述编码起始位置所在的行之间的偏移。
13.一种数据处理方法,其特征在于,包括:
接收A个第一数据包和B个第二数据包,所述第一数据包包括第一头信息,所述第一头信息包括指示所述第一数据包在缓存中的位置的信息;
在所述缓存中根据所述第一头信息指示的所述位置,映射所述A个第一数据包;
将C个数据段和/或D个子数据段与所述B个第二数据包中的至少一个进行联合译码恢复E个数据段,所述E个数据段包括F个丢失的第一数据包的数据,所述D个子数据段中的子数据段是所述E个数据段中的数据段的部分,所述C个数据段和所述D个子数据段的数据包括所述A个第一数据包中的部分或者全部数据,所述C个数据段和所述E个数据段的长度相等;
其中,A、B、C、D为大于或等于0的整数,E、F为大于0的整数,且A与B不同时为0。
14.如权利要求13所述的方法,其特征在于,所述B个第二数据包包括第二头信息,所述第二头信息包括指示所述第二数据包所用于译码的数据段的信息,所述所用于译码的数据段包括所述C个数据段和所述E个数据段。
15.如权利要求13或者14所述的方法,其特征在于,在所述缓存中,所述A个第一数据包中的每个第一数据包起始位置为所述第一数据包起始位置所在列首行。
16.如权利要求13至15任一所述的方法,其特征在于,在所述缓存中,若所述A个第一数据包中的第一数据包P结束位置的行号大于或等于预设行号时,所述第一数据包P的下一个第一数据包的起始位置为所述第一数据包P结束位置所在列的后一列首行,P为大于或等于0的整数,其中,所述A个第一数据包包括所述第一数据包P的下一个第一数据包;或者,所述F个丢失的第一数据包包括所述第一数据包P的下一个第一数据包。
17.如权利要求16所述的方法,其特征在于,所述第一头信息还包括指示所述第一数据包P结束位置的行号与所述预设行号大小关系的信息。
19.如权利要求13至18任一所述的方法,其特征在于,所述C个数据段和所述E个数据段的长度为S,S大于或等于0;
所述第一头信息还包括用于指示所述S的值的信息;或者,
所述方法还包括:接收用于指示所述S的值的信息。
20.如权利要求13至19任一所述的方法,其特征在于,所述指示所述第一数据包在所述缓存中位置的信息包括:所述缓存中,
所述第一数据包起始位置的列号、所述第一数据包结束位置的列号、所述第一数据包结束位置的列号与所述第一数据包起始位置的列号之间的差值中的任意两个;以及,
所述第一数据包起始位置的行号、所述第一数据包结束位置的行号、所述第一数据包起始位置的行号与所述第一数据包结束位置的行号之间的差值中的任意两个。
21.如权利要求13至19任一所述的方法,其特征在于,所述缓存的列的长度是预定义的,或者是由接收的配置所指示的;
所述指示所述第一数据包在所述缓存中位置的信息包括:所述缓存中,
所述第一数据包起始位置的列号、所述第一数据包起始位置的行号、和所述第一数据包的长度。
22.如权利要求13至19任一所述的方法,其特征在于,所述缓存的列的长度是预定义的,或者是由接收的配置所指示的;
所述指示所述第一数据包在所述缓存中位置的信息包括:所述缓存中,
所述第一数据包结束位置的列号、所述第一数据包结束位置的行号和所述第一数据包的长度。
23.如权利要求15至17任一所述的方法,其特征在于,所述指示所述第一数据包在所述第一缓存中位置的信息包括:在所述缓存中,
所述第一数据包起始位置的列号、所述第一数据包结束位置的列号、所述第一数据包结束位置的列号与所述第一数据包起始位置的列号之间的差值中的任意两个;以及,
所述第一数据包结束位置的行号。
24.如权利要求13至22任一所述的方法,其特征在于,还包括:
接收指示偏移的信息,所述偏移为译码起始位置所在列首行与所述译码起始位置所在的行之间的偏移。
25.一种通信装置,其特征在于,包括用于实现如权利要求1至12任一方法的单元或者模块。
26.一种通信装置,其特征在于,包括用于实现如权利要求13至24任一方法的单元或者模块。
27.一种通信装置,其特征在于,包括处理器和存储器,所述存储器中存储有指令,所述处理器执行所述指令时,使得所述装置执行权利要求1至12任一项所述的方法。
28.一种通信装置,其特征在于,包括处理器和存储器,所述存储器中存储有指令,所述处理器执行所述指令时,使得所述装置执行权利要求13至24任一项所述的方法。
29.一种计算机可读存储介质,其特征在于,所述计算机可读存储介质存储有指令,当所述指令在计算机上运行时,使得计算机执行权利要求1至12、13至24任一项所述的方法。
30.一种通信系统,其特征在于,包括如权利要求27和权利要求28所述的通信装置。
Priority Applications (2)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202110486482.6A CN115276896A (zh) | 2021-04-30 | 2021-04-30 | 一种数据处理方法、装置和系统 |
PCT/CN2022/078757 WO2022227845A1 (zh) | 2021-04-30 | 2022-03-02 | 一种数据处理方法、装置和系统 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202110486482.6A CN115276896A (zh) | 2021-04-30 | 2021-04-30 | 一种数据处理方法、装置和系统 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN115276896A true CN115276896A (zh) | 2022-11-01 |
Family
ID=83745592
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202110486482.6A Pending CN115276896A (zh) | 2021-04-30 | 2021-04-30 | 一种数据处理方法、装置和系统 |
Country Status (2)
Country | Link |
---|---|
CN (1) | CN115276896A (zh) |
WO (1) | WO2022227845A1 (zh) |
Family Cites Families (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
WO2017193261A1 (zh) * | 2016-05-09 | 2017-11-16 | 华为技术有限公司 | 信息传输的方法、接收设备、发送设备和系统 |
CN110463094B (zh) * | 2017-05-12 | 2022-07-08 | 上海朗帛通信技术有限公司 | 一种支持混合自动重传请求的用户设备、基站中的方法和装置 |
CN110266448B (zh) * | 2017-06-19 | 2020-11-10 | 华为技术有限公司 | 信息处理的方法、通信装置和存储介质 |
CN113950800B (zh) * | 2019-04-12 | 2024-09-27 | 苹果公司 | 分组数据汇聚协议(pdcp)层处的网络编码以提高通信可靠性 |
-
2021
- 2021-04-30 CN CN202110486482.6A patent/CN115276896A/zh active Pending
-
2022
- 2022-03-02 WO PCT/CN2022/078757 patent/WO2022227845A1/zh active Application Filing
Also Published As
Publication number | Publication date |
---|---|
WO2022227845A1 (zh) | 2022-11-03 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
JP7017627B2 (ja) | 通信システムにおける冗長バージョン設計ソリューション | |
JP2020527297A (ja) | インタリーブを伴う連接ポーラ符号 | |
US20220368494A1 (en) | Uplink re-transmission with compact memory usage | |
US12003322B2 (en) | Data transmission method and communication apparatus | |
KR20230065227A (ko) | 무선통신 시스템에서 데이터 매핑 방법 및 장치 | |
WO2022001367A1 (zh) | 一种编码方法及装置 | |
CN112636879B (zh) | 基于混合自动重传请求的码块处理的方法和装置 | |
WO2022228467A1 (zh) | 数据传输方法、装置及可读存储介质 | |
WO2020147527A1 (zh) | 一种极化编译码方法及装置 | |
CN115336202A (zh) | 一种极化码的编译码方法及装置 | |
WO2022268064A1 (zh) | 数据传输方法及相关装置 | |
WO2023005909A1 (zh) | 网络编码场景下的超时丢包方法、装置及可读存储介质 | |
CN115276896A (zh) | 一种数据处理方法、装置和系统 | |
CN108400832A (zh) | 数据处理方法和通信设备 | |
WO2019144787A1 (zh) | 一种交织方法及交织设备 | |
US20240235762A1 (en) | Data transmission method and apparatus, and readable storage medium | |
WO2024119379A1 (zh) | 一种信息比特的确定方法及装置 | |
WO2024077486A1 (zh) | 一种确定循环冗余校验比特的方法、通信方法及装置 | |
WO2023273973A1 (zh) | 一种通信方法及通信装置 | |
WO2023226691A1 (zh) | 一种通信方法及通信装置 | |
WO2022236719A1 (zh) | 无线通信方法、终端设备和网络设备 | |
WO2022236752A1 (zh) | 无线通信方法、第一设备和第二设备 | |
WO2023016506A1 (zh) | 传输数据的方法及通信装置 | |
WO2024192762A1 (en) | Methods, systems, and apparatus for bit value placement in polar coding | |
WO2022171019A1 (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 |