Method apparatus, and system for hybrid automatic repeat request

Combining code sequences across code blocks in HARQ systems enhances coding gain and spectral efficiency, addressing the inefficiencies in existing HARQ mechanisms for immersive and low-latency communications.

WO2025208745A9PCT designated stage Publication Date: 2025-12-18HUAWEI TECH CO LTD
View PDF 0 Cites 0 Cited by

Patent Information

Application Number
PCT/CN2024/108165
Authority / Receiving Office
WO · WO
Patent Type
Applications
Current Assignee / Owner
Priority Date
2024-04-02
Filing Date
2024-07-29
Publication Date
2025-12-18

AI Technical Summary

Technical Problem

Existing hybrid automatic repeat request (HARQ) mechanisms struggle to balance coding gain and spectral efficiency in immersive, massive, and hyper-reliable low-latency communication scenarios.

Method used

Combining multiple code sequences corresponding to different code blocks to generate a cross-CB code sequence for retransmission, enhancing coding gain and spectral efficiency through adaptive HARQ retransmission modes.

Benefits of technology

Improves retransmission efficiency and coding gain by utilizing a cross-CB code sequence, allowing for longer channel resource utilization and reduced encoding and decoding complexity.

✦ Generated by Eureka AI based on patent content.

Smart Images

  • Figure CN2024108165_18122025_PF_FP_ABST
    Figure CN2024108165_18122025_PF_FP_ABST
Patent Text Reader

Abstract

Embodiments of the present application provide a communication method and a communication apparatus. The method includes: receiving a first message, where the first message indicates that decoding of a code set is unsuccessful, and the code set includes N code blocks; obtaining M first code sequences, where the M first code sequences correspond one-to-one with M code blocks from the N code blocks; obtaining a second code sequence based on the M first code sequences, where each first code sequence is enabled to be obtained based on the second code sequence and other M-1 first code sequence (s) among the M first code sequences, and each first code sequence and the second code sequence have the same number of bits; and transmitting the second code sequence. Multiple code sequences corresponding to different CBs are combined to generate a cross-CB code sequence used for retransmission.Thus, coding gain and spectral efficiency of HARQ can be improved.
Need to check novelty before this filing date? Find Prior Art

Description

METHOD APPARATUS, AND SYSTEM FOR HYBRID AUTOMATIC REPEAT REQUEST

[0001] CROSS-REFERENCE TO RELATED APPLICATIONS

[0002] The present application is related to, and claims priority to, United States provisional patent application Serial No. 63 / 573,043, entitled "Method, Apparatus, and System for Incremental Redundancy Hybrid Automatic Repeat Request (IR-HARQ) for Multiple Code Blocks" , filed on April 2, 2024.

[0003] The disclosure of the aforementioned application is hereby incorporated by reference in its entirety.TECHNICAL FIELD

[0004] Embodiments of the present application relate to the field of communications, and more specifically, to a communication method and a communication apparatus.BACKGROUND

[0005] Hybrid automatic repeat request (HARQ) , which combines forward error correction (FEC) and automatic repeat request (ARQ) , is a mechanism to provide reliable wireless transmission. In future communication system, there are several scenarios to be supported, such as immersive communication, massive communication and hyper reliable and low-latency communication. In these scenarios, key performance indications (KPIs) which are related to channel coding include coding gain, reliability, throughput, latency and their tradeoffs. Thus, in order to fulfill all these KPIs, it is necessary to enhance HARQ in the future communication system to improve coding gain and spectral efficiency.

[0006] Therefore, how to improve coding gain and spectral efficiency of HARQ becomes an urgent problem to be solved.SUMMARY

[0007] Embodiments of the present application provide a communication method and a communication apparatus. The technical solutions may allow multiple code sequences corresponding to different code blocks (CBs) to be combined to  generated a cross-CB code sequence used for retransmission, thereby improving coding gain and spectral efficiency of HARQ.

[0008] According to a first aspect, an embodiment of the present application provides a communication method, and the method may be performed by an encoding apparatus. The method includes: receiving a first message, where the first message indicates that decoding of a code set is unsuccessful, the code set includes N code blocks, and N is a positive integer greater than 1; obtaining M first code sequences, where the M first code sequences correspond one-to-one with M code blocks from the N code blocks, each first code sequence among the M first code sequences is obtained based on a corresponding code block, and M is a positive integer greater than 1 and less than or equal to N; obtaining a second code sequence based on the M first code sequences, where each first code sequence is enabled to be obtained based on the second code sequence and other M-1 first code sequence (s) among the M first code sequences, and each first code sequence and the second code sequence have the same number of bits; and transmitting the second code sequence.

[0009] According to a second aspect, an embodiment of the present application provides a communication method, and the method may be performed by a decoding apparatus. The method includes: transmitting a first message, where the first message indicates that decoding of a code set is unsuccessful, the code set includes N code blocks, and N is a positive integer greater than 1; receiving a second code sequence; and obtaining M first code sequences based on the second code sequence, where the M first code sequences correspond one-to-one with M code blocks from the N code blocks, each first code sequence is enabled to be obtained based on the second code sequence and other M-1 first code sequence (s) among the M first code sequences, each first code sequence and the second code sequence have the same number of bits, and M is a positive integer greater than 1 and less than or equal to N.

[0010] In this application, the code set may include bits which are initially transmitted and these initially transmitted bits may be divided into multiple code blocks (CBs) . Optionally, in some possible implementations, bit (s) in the first code sequence may be selected from corresponding CB. Optionally, in some other possible implementations, at least one bit in the first code sequence may be generated by coding bits in corresponding CB.

[0011] According to the above technical solution, multiple first code sequences corresponding to different CBs are combined to generated a second code sequence which have equal length with the first code sequence. The second code sequence is used for retransmission instead of the multiple first code sequences, which may improve spectral efficiency of HARQ. From another viewpoint, given the same amount of channel resource, length of the second code sequence may be longer than traditional code sequence corresponding to a single CB, which may provide more coding gain. Thus, the retransmission efficiency of HARQ can be improved.

[0012] With reference to the first aspect, in some embodiments, each first code sequence includes k bit (s) , the second code sequence includes k bits, the i-th bit of the second code sequence is obtained through reversible calculation based on the  i-th bits of the M first code sequences, k is a positive integer, and i is a positive integer less than or equal to k.

[0013] With reference to the second aspect, in some embodiments, each first code sequence includes k bit (s) , the second code sequence includes k bits, k is a positive integer, and the obtaining M first code sequences based on the second code sequence includes: obtaining the j-th first code sequence among the M first code sequences based on the second code sequence and other M-1 first code sequence (s) , where the i-th bit of the j-th first code sequence is obtained through reversible calculation based on the i-th bit of the second code sequence and the i-th bit (s) of the other M-1 first code sequence (s) , i is a positive integer less than or equal to k, and j is a positive integer less than or equal to M.

[0014] With reference to the first aspect or the second aspect, in some embodiments, a value of the i-th bit of the second code sequence is equal to a result of exclusive-OR (XOR) operation of values of the i-th bits of the M first code sequences.

[0015] Optionally, in some possible implementations, in addition to XOR, other reversible calculations may also be used, such as not-exclusive-OR (XNOR) or other table-based mappings.

[0016] According to the above technical solution, the second code sequence is obtained through bitwise XOR or other reversible calculations. Thus, the complexity of encoding and decoding can be reduced.

[0017] With reference to the first aspect or the second aspect, in some embodiments, the M first code sequences include redundancy versions (RVs) of corresponding code blocks.

[0018] According to the above technical solution, the first code sequences include incrementally generated bits which make the first code sequences longer than initially transmitted bits. Thus, coding gain can be further improved.

[0019] With reference to the first aspect or the second aspect, in some embodiments, the M code blocks have the same spacing in a sequence consisting of the N code blocks.

[0020] According to the above technical solution, CBs used to obtain the second code sequence are paired or bundled with a pre-defined spacing, which make both adjacent CB grouping and interlaced CB grouping supported. Thus, the simplicity and diversity of encoding can be improved.

[0021] With reference to the first aspect or the second aspect, in some embodiments, a value of M is indicated by a radio resource control (RRC) message and / or downlink control information (DCI) .

[0022] According to the above technical solution, the number of CBs used to obtain the second code sequence can be pre-configured in RRC and / or be dynamically indicated in DCI.

[0023] With reference to the first aspect, in some embodiments, before the transmitting the second code sequence, the method further includes: transmitting a second message, where the second message includes a first field, and a value of the first field indicates a mode of the code set being retransmitted; the transmitting the second code sequence includes: in a case that the value of the first field indicates that the mode is a first mode, transmitting the second code sequence.

[0024] With reference to the second aspect, in some embodiments, before the receiving a second code sequence, the method further includes: receiving a second message, where the second message includes a first field, and a value of the first field indicates a mode of the code set being retransmitted; the receiving a second code sequence includes: in a case that the value of the first field indicates that the mode is a first mode, receiving the second code sequence.

[0025] It should be noted that, when the value of the first field does not indicate that the mode is the first mode, the second code sequence will not be transmitted or received, and optionally, the code set may be retransmitted through other schemes.

[0026] According to the above technical solution, the HARQ retransmission mode provided in this application can be adaptively selected. That is, HARQ retransmission mode provided in this application can be conditioned on certain scenarios.

[0027] With reference to the first aspect, in some embodiments, the method further includes: in a case that the value of the first field indicates that the mode is a second mode, transmitting the M first code sequences.

[0028] With reference to the second aspect, in some embodiments, the method further includes: in a case that the value of the first field indicates that the mode is a second mode, receiving the M first code sequences.

[0029] It should be noted that, when the value of the first field does not indicate that the mode is the second mode, the M first code sequences will not be transmitted or received.

[0030] According to the above technical solution, in scenarios where HARQ retransmission mode provided in this application is not appropriated, other retransmission modes can be selected.

[0031] With reference to the first aspect or the second aspect, in some embodiments, the value of the first field is associated with at least one or more of the following: a number of code blocks in the code set that have not been decoded, discrepancy of a channel used to retransmit the code set, whether a channel quality indicator (CQI) of the channel is able to be obtained, and whether acknowledge or negative acknowledge (ACK / NACK) feedback of retransmitting the code set is available.

[0032] According to the above technical solution, the adaptive HARQ retransmission mode selection can be based on diverse factors.

[0033] With reference to the first aspect or the second aspect, in some embodiments, the second message is an RRC message and / or a DCI message.

[0034] According to the above technical solution, the HARQ retransmission mode can be pre-configured in RRC and / or be dynamically indicated in DCI.

[0035] With reference to the first aspect, in some embodiments, the transmitting the second code sequence includes: in a case that a number of the code set being retransmitted is greater than or equal to a first threshold, transmitting the second code sequence.

[0036] With reference to the second aspect, in some embodiments, the receiving a second code sequence includes: in a case that a number of the code set being retransmitted is greater than or equal to a first threshold, receiving the second code sequence.

[0037] According to the above technical solution, retransmission mode of the code set can be switched to the HARQ retransmission mode provided in this application after sufficient number of retransmissions. Thus, the retransmission efficiency of HARQ can be further improved.

[0038] With reference to the first aspect, in some embodiments, before the transmitting the second code sequence, the method further includes: receiving a third message, where the third message is used to request to retransmit the code set by transmitting the second code sequence.

[0039] With reference to the second aspect, in some embodiments, before the receiving a second code sequence, the method further includes: transmitting a third message, where the third message is used to request to retransmit the code set by transmitting the second code sequence.

[0040] According to the above technical solution, when sufficient CBs are decoded, the decoding apparatus can request the encoding apparatus to switch the retransmission mode of the code set to the HARQ retransmission mode provided in this application. Thus, the retransmission efficiency of HARQ can be further improved.

[0041] According to a third aspect, an encoding apparatus is provided. The encoding apparatus includes a function or unit configured to perform the method according to the first aspect or any one of the possible embodiments of the first aspect.

[0042] For example, the decoding apparatus could be a network device or an integrated circuit in the network device. For another example, the decoding apparatus could be a terminal device or an integrated circuit in the terminal device.

[0043] According to a fourth aspect, a decoding apparatus is provided. The decoding apparatus includes a function or unit configured to perform the method according to the second aspect or any one of the possible embodiments of the second aspect.

[0044] For example, the encoding apparatus could be a terminal device or an integrated circuit in the terminal device. For another example, the encoding apparatus could be a network device or an integrated circuit in the network device.

[0045] According to a fifth aspect, a system is provided. The system includes: the encoding apparatus according to the third aspect and the decoding apparatus according to the fourth aspect.

[0046] According to a sixth aspect, a communication apparatus is provided. The communication apparatus includes at least one processor, and the at least one processor is coupled to at least one memory. The at least one memory is configured to store a computer program or one or more instructions. The at least one processor is configured to: invoke the computer program or the one or more instructions from the at least one memory and run the computer program or the one or more instructions, so  that the communication apparatus performs the method in any one of the first aspect or the possible implementations of the first aspect, or the communication apparatus performs the method in any one of the second aspect or the possible implementations of the second aspect.

[0047] With reference to the sixth aspect, in some implementations of the sixth aspect, the communication apparatus may be a decoding apparatus. For example, the communication apparatus may be a network device or a component (for example, a chip or integrated circuit) installed in the network device. For another example, the communication apparatus may be a terminal device or a component (for example, a chip or integrated circuit) installed in the terminal device.

[0048] With reference to the sixth aspect, in some implementations of the sixth aspect, the communication apparatus may be an encoding apparatus. For example, the communication apparatus may be a terminal device or a component (for example, a chip or integrated circuit) installed in the terminal device. For another example, the communication apparatus may be a network device or a component (for example, a chip or integrated circuit) installed in the network device.

[0049] According to a seventh aspect, a communication apparatus is provided. The communication apparatus includes a processor and a communications interface. The processor is connected to the communications interface. The processor is configured to execute one or more instructions, and the communications interface is configured to communicate with other network elements under the control of the processor. The processor is enabled to perform the method according to the first aspect or any one of the possible embodiments of the first aspect, or the second aspect or any one of the possible embodiments of the second aspect.

[0050] According to an eighth aspect, a computer storage medium is provided. The computer storage medium stores program code, and the program code is used to execute one or more instructions for the method according to the first aspect or any one of the possible embodiments of the first aspect, or the second aspect or any one of the possible embodiments of the second aspect.

[0051] According to a ninth aspect, this application provides a computer program product including one or more instructions, where when the computer program product runs on a computer, the computer performs the method according to the first aspect or any one of the possible embodiments of the first aspect, or the second aspect or any one of the possible embodiments of the second aspect.DESCRIPTION OF DRAWINGS

[0052] FIG. 1 is a schematic diagram of an application scenario according to this application;

[0053] FIG. 2 illustrates an example communication system 100;

[0054] FIG. 3 illustrates another example of an ED and a base station;

[0055] FIG. 4 illustrates units or modules in a device or apparatus;

[0056] FIG. 5 illustrates an example of a polar code;

[0057] FIG. 6 illustrates an example of interleaving;

[0058] FIG. 7 illustrates an example of a cyclic buffer;

[0059] FIG. 8 illustrates an example of IF-HARQ;

[0060] FIGs. 9-11 illustrate an example of IR-HARQ;

[0061] FIG. 12 is a flowchart of a communication method 1200 according to an embodiment of this application;

[0062] FIG. 13 illustrates an example of cross-CB IR-HARQ;

[0063] FIG. 14 illustrates an example of procedures of encoding side in cross-CB IR-HARQ;

[0064] FIG. 15 illustrates an example of procedures of decoding side in cross-CB IR-HARQ;

[0065] FIG. 16 illustrates an example of CBs being divided into subgroups;

[0066] FIG. 17 illustrates another example of CBs being divided into subgroups;

[0067] FIG. 18 illustrates an example with two CBs paired for cross-CB IR-HARQ;

[0068] FIG. 19 illustrates an example with three CBs bundled for cross-CB IR-HARQ;

[0069] FIG. 20 illustrates an example of adaptive HARQ mode selection and indication;

[0070] FIG. 21 illustrates another example of adaptive HARQ mode selection and indication;

[0071] FIG. 22 illustrates another example of progressive HARQ mode switching and indication;

[0072] FIGs. 23-27 are schematic block diagrams of possible devices according to embodiments of this application.DESCRIPTION OF EMBODIMENTS

[0073] The following describes technical solutions of the present application with reference to the accompanying drawings.

[0074] The technical solutions in embodiments of this application may be applied to various communication systems, such as a fifth generation (5G) wireless communications system, a new ratio (NR) wireless communications system, a future communication system, integrated access and backhaul (IAB) system, a mesh network, a side link system, or other evolving communication systems. The technical solutions in embodiments of this application may be applied to the communication system that integrates the above two or more systems.

[0075] For ease of understanding the embodiments of this application, a communications system shown in FIGs. 1-3 is  first used as an example to describe in detail a communications system to which the embodiments of this application are applicable.

[0076] FIG. 1 is a schematic diagram of an application scenario according to this application. Referring to FIG. 1, as an illustrative example without limitation, a simplified schematic illustration of a communication system is provided. The communication system 100 (which may be a wireless system) includes a radio access network 120. The radio access network (RAN) 120 may be a future radio access network, or a legacy (e.g. 5G, fourth generation (4G) , 3rd generation (3G) or 2nd generation (2G) ) radio access network. One or more communication electronic device (ED) 110a, 110b, 110c, 110d, 110e, 110f, 110g, 110h, 110i, 110j (generically referred to as 110) may be interconnected to one another or connected to one or more network nodes (170a, 170b, generically referred to as 170) in the radio access network 120. A core network 130 may be a part of the communication system and may be dependent or independent of the radio access technology used in the communication system 100. The communication system 100 further includes a public switched telephone network (PSTN) 140, the Internet 150, and other networks 160.

[0077] FIG. 2 illustrates an example for communication system 100. In general, the communication system 100 enables multiple wireless or wired elements to communicate data and other content. The communication system 100 may provide content, such as voice, data, video, and / or text, via broadcast, multicast, groupcast, and unicast, etc. The communication system 100 may further provide a wide range of communication services and applications (such as earth monitoring, remote sensing, passive sensing and positioning, navigation and tracking, autonomous delivery and mobility, etc. ) The communication services and / or applications may be mobile broadband (MBB) services, ultra-reliable low-latency communication (URLLC) services, or machine type communication (MTC) services. The communication system 100 may operate by sharing resources, such as carrier spectrum bandwidth, between its constituent elements. The communication system 100 may include a terrestrial communication system and / or a non-terrestrial communication system. The communication system 100 may provide a high degree of availability and robustness through a joint operation of the terrestrial communication system and the non-terrestrial communication system. For example, integrating a non-terrestrial communication system (or components thereof) into a terrestrial communication system can result in what may be considered a heterogeneous network including multiple layers. Compared to conventional communication networks, the heterogeneous network may achieve better overall performance through efficient multi-link joint operation, more flexible functionality sharing, and faster physical layer link switching between terrestrial networks and non-terrestrial networks.

[0078] The terrestrial communication system and the non-terrestrial communication system could be considered as sub-systems of the communication system. In the example shown in FIG. 2, the communication system 100 includes EDs 110a, 110b, 110c, 110d (generically referred to as ED 110) , RANs 120a, 120b, a non-terrestrial communication network 120c, a core  network 130, a public switched telephone network (PSTN) 140, the Internet 150, and other networks 160. The RANs 120a, 120b include respective RAN nodes such as base stations (BSs) 170a, 170b, which may be generically referred to as terrestrial transmit and receive points (T-TRPs) 170a, 170b (generically referred to as T-TRP 170) . The non-terrestrial communication network 120c includes a RAN node such as an access node 172, which may be generically referred to as a non-terrestrial transmit and receive point (NT-TRP) 172.

[0079] As may be surmised on the basis of similarity in reference numerals, the non-terrestrial communication network 120c may be considered to be a radio access network, with operational aspects in common with the RANs 120a, 120b. In another implementations, the non-terrestrial communication network 120c may include at least one non-terrestrial network (NTN) device and at least one corresponding terrestrial network device, wherein the at least one NTN device works as a transport layer device and the at least one corresponding terrestrial network device works as a RAN node, which communicates with the ED via the NTN device. In addition, there may be an NTN gateway in the ground (i.e., referred to as a terrestrial network device) also as a transport layer device to communicate with both the NTN device, and the RAN node communicates with the ED via the NTN device and the NTN gateway. In some implementations, the NTN gateway and the RAN node may be located in the same device.

[0080] Any ED 110 may be alternatively or additionally configured to interface, access, or communicate with any T-TRP 170a, 170b and NT-TRP 172, the Internet 150, the core network 130, the PSTN 140, the other networks 160, or any combination of the preceding. In some examples, the ED 110a may communicate an uplink (UL) and / or downlink (DL) transmission over a terrestrial air interface 190a with the T-TRP 170a. In some examples, the EDs 110a, 110b, 110c, and 110d may also communicate directly with one another via one or more sidelink (SL) air interfaces 190b. In some examples, the ED 110d may communicate an uplink and / or downlink transmission over a non-terrestrial air interface 190c with the NT-TRP 172.

[0081] The air interfaces 190a and 190b may use similar communication technology, such as any suitable radio access technology. For example, the communication system 100 may implement one or more channel access methods, such as code division multiple access (CDMA) , space division multiple access (SDMA) , time division multiple access (TDMA) , frequency division multiple access (FDMA) , orthogonal FDMA (OFDMA) , or single-carrier FDMA (SC-FDMA) (also known as discrete Fourier transform spread OFDMA (DFT-s-OFDMA) ) in the air interfaces 190a and 190b. The air interfaces 190a and 190b may utilize other higher dimension signal spaces, which may involve a combination of orthogonal and / or non-orthogonal dimensions.

[0082] The non-terrestrial air interface 190c can enable communication between the ED 110d and one or more NT-TRPs 172 via a wireless link or simply a link. For some examples, the link is a dedicated connection for unicast transmission, a connection for broadcast transmission, or a connection between a group of EDs 110 and one or more NT-TRPs 172 for  multicast transmission.

[0083] The RANs 120a and 120b are in communication with the core network 130 to provide the EDs 110a 110b, and 110c with various services such as voice, data, and other services. The RANs 120a and 120b and / or the core network 130 may be in direct or indirect communication with one or more other RANs (not shown) , which may or may not be directly served by the core network 130, and may or may not employ the same radio access technology as the RAN 120a, the RAN 120b or both. The core network 130 may also serve as a gateway access between (i) the RANs 120a and 120b or EDs 110a 110b, and 110c or both, and (ii) other networks (such as the PSTN 140, the Internet 150, and the other networks 160) . In addition, some or all of the EDs 110a 110b, and 110c may include functionality for communicating with different wireless networks over different wireless links using different wireless technologies and / or protocols. Instead of wireless communication (or in addition thereto) , the EDs 110a 110b, and 110c may communicate via wired communication channels to a service provider or switch (not shown) , and to the Internet 150. The PSTN 140 may include circuit switched telephone networks for providing plain old telephone service (POTS) . The Internet 150 may include a network of computers and subnets (intranets) or both, and incorporate protocols, such as Internet Protocol (IP) , Transmission Control Protocol (TCP) , User Datagram Protocol (UDP) . The EDs 110a, 110b and 110c may be multimode devices capable of operation according to multiple radio access technologies, and incorporate multiple transceivers necessary to support such.

[0084] In addition, the communication system 100 may further comprise a sensing agent (not shown in the figure) to manage the sensed data from ED 110 and / or the T-TRP 170 and / or the NT-TRP 172. In one implementation, the sensing agent is located in the T-TRP 170 and / or the NT-TRP 172. In another implementation, the sensing agent is a separate node which has an interface to communicate with the core network 130 and / or the RAN 120 (e.g., the T-TRP 170 and / or the NT-TRP 172) .

[0085] FIG. 3 illustrates another example of an ED 110 and a base station 170a, 170b and / or 170c. The ED 110 is used to connect persons, objects, machines, etc. The ED 110 may be widely used in various scenarios including, for example, cellular communications, device-to-device (D2D) , vehicle to everything (V2X) , peer-to-peer (P2P) , machine-to-machine (M2M) , MTC, internet of things (IoT) , virtual reality (VR) , augmented reality (AR) , mixed reality (MR) , metaverse, digital twin, industrial control, self-driving, remote medical, smart grid, smart furniture, smart office, smart wearable, smart transportation, smart city, drones, robots, remote sensing, passive sensing, positioning, navigation and tracking, autonomous delivery and mobility, etc.

[0086] Each ED 110 represents any suitable end user device for wireless operation and may include such devices (or may be referred to but not limited to) as a user equipment / device (UE) , a wireless transmit / receive unit (WTRU) , a mobile station, a fixed or mobile subscriber unit, a cellular telephone, a station (STA) , a MTC device, a personal digital assistant (PDA) , a smartphone, a laptop, a computer, a tablet, a wireless sensor, a consumer electronic device, a smart book, a vehicle, a car, a truck, a bus, a train, or an IoT device, wearable devices (such as a watch, a pair of glasses, head mounted equipment, etc. ) , an  industrial device, or an apparatus in (e.g. a communication module, a modem, or an integrated circuit) or comprising the forgoing devices, among other possibilities. Future generation EDs 110 may be referred to using other terms. The base stations 170a and 170b are terrestrial devices and will hereafter be referred to as T-TRP 170. Also shown in FIG. 3, a NT-TRP non-terrestrial (NT) device will hereafter be referred to as NT-TRP 172. Each ED 110 connected to the T-TRP 170 and / or the NT-TRP 172 can be dynamically or semi-statically turned-on (i.e., established, activated, or enabled) , turned-off (i.e., released, deactivated, or disabled) and / or configured in response to one or more of: connection availability and connection necessity.

[0087] As shown in FIG. 3, the ED 110 includes at least one processor 210. Only one processor 210 is illustrated to avoid congestion in the drawing. The ED 110 may further include a transmitter 201 and a receiver 203 coupled to one or more antennas 204. Only one antenna 204 is illustrated to avoid congestion in the drawing. One, some, or all of the antennas 204 may alternatively be panels. The transmitter 201 and the receiver 203 may be integrated, e.g. as a transceiver. The transceiver is configured to modulate data or other content for transmission by at least one antenna 204 or network interface controller (NIC) . The transceiver is further configured to demodulate data or other content received by the at least one antenna 204. Each transceiver includes any suitable structure for generating signals for wireless or wired transmission and / or processing signals received wirelessly or by wire. Each antenna 204 includes any suitable structure for transmitting and / or receiving wireless or wired signals. The transceiver may also be known as an interface, for inputting and outputting operations.

[0088] As shown in FIG. 3, the ED 110 includes at least one memory 208. Only one memory 208 is illustrated to avoid congestion in the drawing. The memory 208 stores instructions. The memory 208 may further stores data used, generated, or collected by the ED 110. For example, the memory 208 could store software instructions or modules configured to implement some or all of the functionality and / or embodiments described herein and that are executed by one or more processing units (e.g., one or more processors 210) . Each memory 208 includes any suitable volatile and / or non-volatile storage and retrieval device (s) . Any suitable type of memory may be used, such as random access memory (RAM) , read only memory (ROM) , hard disk, optical disc, subscriber identity module (SIM) card, memory stick, secure digital (SD) memory card, on-processor cache, and the like.

[0089] The ED 110 may further include one or more input / output devices (not shown) or interfaces (such as a wired interface to the Internet 150 in FIG. 1) . The input / output devices or interfaces permit interaction with a user or other devices in the network. Each input / output device or interface includes any suitable structure for providing information to or receiving information from a user, and / or for network interface communications. Suitable structures include, for example, a speaker, microphone, keypad, keyboard, display, touch screen, etc.

[0090] As shown in FIG. 3, the ED 110 includes at least one processor 210. Only one processor 210 is illustrated to avoid congestion in the drawing. The processor 210 performs (or controls the ED 110 to perform) operations including those  operations related to: preparing a transmission for uplink transmission to the NT-TRP 172 and / or the T-TRP 170, those operations related to processing downlink transmissions received from the NT-TRP 172 and / or the T-TRP 170, and those operations related to processing sidelink transmission to and from another ED 110. Processing operations related to preparing a transmission for uplink transmission may include operations such as encoding, modulating, transmit beamforming, and generating symbols for transmission. Processing operations related to processing downlink transmissions may include operations such as receive beamforming, demodulating and decoding received symbols. Processing operations related to processing sidelink transmissions may include operations such as transmit / receive beamforming, modulating / demodulating and encoding / decoding symbols. Depending upon the embodiment, a downlink transmission may be received by the receiver 203, possibly using receive beamforming, and the processor 210 may extract signaling from the downlink transmission (e.g. by detecting and / or decoding the signaling) . An example of signaling may be a reference signal transmitted by the NT-TRP 172 and / or by the T-TRP 170. In some embodiments, the processor 210 implements the transmit beamforming and / or the receive beamforming based on the indication of beam direction, e.g. beam angle information (BAI) , received from the T-TRP 170. In some embodiments, the processor 210 may perform operations relating to network access (e.g. initial access) and / or downlink synchronization, such as operations relating to detecting a synchronization sequence, decoding and obtaining the system information, etc. In some embodiments, the processor 210 may perform channel estimation, e.g. using a reference signal received from the NT-TRP 172 and / or from the T-TRP 170.

[0091] Although not illustrated, the processor 210 may form part of the transmitter 201 and / or part of the receiver 203. Although not illustrated, the memory 208 may form part of the processor 210.

[0092] The processor 210, the processing components of the transmitter 201, and the processing components of the receiver 203 may each be implemented by the same or different one or more processors that are configured to execute instructions stored in a memory (e.g. in the memory 208) . Alternatively, some or all of the processor 210, the processing components of the transmitter 201, and the processing components of the receiver 203 may each be implemented using dedicated circuitry, such as a programmed field-programmable gate array (FPGA) , an application-specific integrated circuit (ASIC) , or a hardware accelerator such as a graphics processing unit (GPU) or an artificial intelligence (AI) accelerator.

[0093] In some implementations, the ED 110 may an apparatus (also called component) for example, a communication module, modem, an integrated circuit, or chipset, it includes at least one processor 210, and an interface or at least one pin. In this scenario, the transmitter 201 and receiver 203 may be replaced by the interface or at least one pin, wherein the interface or at least one pin is to connect the apparatus (e.g., an integrated circuit) and other apparatus (e.g., another circuit, memory, or bus) . Accordingly, the transmitting information to the NT-TRP 172 and / or the T-TRP 170 and / or another ED 110 may be referred to as transmitting information to the interface or at least one pin, or as transmitting information to the NT-TRP 172  and / or the T-TRP 170 and / or another ED 110 via the interface or at least one pin, and receiving information from the NT-TRP 172 and / or the T-TRP 170 and / or another ED 110 may be referred to as receiving information from the interface or at least one pin, or as receiving information from the NT-TRP 172 and / or the T-TRP 170 and / or another ED 110 via the interface or at least one pin. The information may include control signaling and / or data.

[0094] The T-TRP 170 may be known by other names in some implementations, such as a base station, a base transceiver station (BTS) , a radio base station, a network node, a network device, a device on the network side, a transmit / receive node, a Node B, an evolved NodeB (eNodeB or eNB) , a Home eNodeB, a next Generation NodeB (gNB) , a transmission point (TP) , a site controller, an access point (AP) , a wireless router, a relay station, a terrestrial node, a terrestrial network device, a terrestrial base station, a base band unit (BBU) , a remote radio unit (RRU) , an active antenna unit (AAU) , a remote radio head (RRH) , a central unit (CU) , a distributed unit (DU) , a positioning node, among other possibilities. The T-TRP 170 may be a macro BS, a pico BS, a relay node, a donor node, or the like, or combinations thereof. The T-TRP 170 may refer to the forgoing devices or refer to apparatus (e.g. a communication module, a modem, or an integrated circuit) in the forgoing devices.

[0095] The CU (or CU-control plane (CP) and CU-user plane (UP) ) , DU or RU may be known by other names in some embodiments. For example, in an open RAN (ORAN) system, the CU may also be referred to as open CU (O-CU) , the DU may also be referred to as open DU (O-DU) , the CU-CP may also be referred to open CU-CP (O-CU-CP) , the CU-UP may also be referred to as open CU-UP (O-CU-CP) , and the RU may also be referred to open RU (O-RU) . Any one of the CU (or CU-CP, CU-UP) , DU, or RU could be implemented through a software module, a hardware module, or a combination of software and hardware modules.

[0096] In some embodiments, the parts of the T-TRP 170 may be distributed. For example, some of the modules of the T-TRP 170 may be located remote from the equipment that houses the antennas 256 for the T-TRP 170, and may be coupled to the equipment that houses the antennas 256 over a communication link (not shown) sometimes known as front haul, such as a common public radio interface (CPRI) . Therefore, in some embodiments, the term T-TRP 170 may also refer to modules on the network side that perform processing operations, such as determining the location of the ED 110, resource allocation (scheduling) , message generation, and encoding / decoding, and that are not necessarily part of the equipment that houses the antennas 256 of the T-TRP 170. The modules may also be coupled to other T-TRPs. In some embodiments, the T-TRP 170 may actually be a plurality of T-TRPs that are operating together to serve the ED 110, e.g. through the use of coordinated multipoint transmissions.

[0097] As shown in FIG. 3, the T-TRP 170 includes at least one transmitter 252 and at least one receiver 254 coupled to one or more antennas 256. Only one antenna 256 is illustrated to avoid congestion in the drawing. One, some, or all of the  antennas 256 may alternatively be panels. The transmitter 252 and the receiver 254 may be integrated as a transceiver.

[0098] As shown in FIG. 3, the T-TRP 170 further includes at least one processor 260. Only one processor 260 is illustrated to avoid congestion in the drawing. The processor 260 performs operations including those related to: preparing a transmission for downlink transmission to the ED 110, processing an uplink transmission received from the ED 110, preparing a transmission for backhaul transmission to the NT-TRP 172, and processing a transmission received over backhaul from the NT-TRP 172. Processing operations related to preparing a transmission for downlink or backhaul transmission may include operations such as encoding, modulating, precoding (e.g. multiple input multiple output (MIMO) precoding) , transmit beamforming, and generating symbols for transmission. Processing operations related to processing received transmissions in the uplink or over backhaul may include operations such as receive beamforming, demodulating received symbols, and decoding received symbols. The processor 260 may also perform operations relating to network access (e.g. initial access) and / or downlink synchronization, such as generating the content of synchronization signal blocks (SSBs) , generating the system information, etc. In some embodiments, the processor 260 also generates an indication of beam direction, e.g. BAI, which may be scheduled for transmission by a scheduler 253. The processor 260 performs other network-side processing operations described herein, such as determining the location of the ED 110, determining where to deploy the NT-TRP 172, etc. In some embodiments, the processor 260 may generate signaling, e.g. to configure one or more parameters of the ED 110 and / or one or more parameters of the NT-TRP 172. Any signaling generated by the processor 260 is sent by the transmitter 252. Note that “signaling” , as used herein, may alternatively be called control signaling. Signaling may be transmitted in a physical layer control channel, e.g. a physical downlink control channel (PDCCH) , in which case the signaling may be known as dynamic signaling. Signaling transmitted in a downlink physical layer control channel may be known as Downlink Control Information (DCI) . Signaling transmitted in an uplink physical layer control channel may be known as Uplink Control Information (UCI) . Signaling transmitted in a sidelink physical layer control channel may be known as Sidelink Control Information (SCI) . Signaling may be included in a higher-layer (e.g., higher than physical layer) packet transmitted in a physical layer data channel, e.g. in a physical downlink shared channel (PDSCH) , in which case the signaling may be known as higher-layer signaling, static signaling, or semi-static signaling. Higher-layer signaling may also refer to Radio Resource Control (RRC) protocol signaling or Media Access Control –Control Element (MAC-CE) signaling.

[0099] A scheduler 253 may be coupled to the processor 260 or integrated in the processor 260. The scheduler 253 may be included within or operated separately from the T-TRP 170. The scheduler 253 may schedule uplink, downlink, sidelink, and / or backhaul transmissions, including issuing scheduling grants and / or configuring scheduling-free (e.g., “configured grant” ) resources.

[0100] As shown in FIG. 3, the T-TRP 170 further includes at least one memory 258 for storing information and data.  Only one memory 258 is illustrated to avoid congestion in the drawing. The memory 258 stores instructions and data used, generated, or collected by the T-TRP 170. For example, the memory 258 could store software instructions or modules configured to implement some or all of the functionality and / or embodiments described herein and that are executed by the processor 260.

[0101] Although not illustrated, the processor 260 may form part of the transmitter 252 and / or part of the receiver 254. Also, although not illustrated, the processor 260 may implement the scheduler 253. Although not illustrated, the memory 258 may form part of the processor 260.

[0102] The processor 260, the scheduler 253, the processing components of the transmitter 252, and the processing components of the receiver 254 may each be implemented by the same or different one or more processors that are configured to execute instructions stored in a memory, e.g. in the memory 258. Alternatively, some or all of the processor 260, the scheduler 253, the processing components of the transmitter 252, and the processing components of the receiver 254 may be implemented using dedicated circuitry, such as a programmed FPGA, a hardware accelerator (e.g., a GPU or AI accelerator) , or an ASIC.

[0103] When the T-TRP 170 is an apparatus (also called as a component, for example, a communication module, modem, an integrated circuit, or chipset in a device, it includes at least one processor, and an interface or at least one pin. In this scenario, the transmitter 252 and receiver 254 may be replaced by the interface or at least one pin, wherein the interface or at least one pin is to connect the apparatus (e.g., an integrated circuit) and other apparatus (e.g., another circuit, memory, or bus) . Accordingly, the transmitting information to the NT-TRP 172 and / or the T-TRP 170 and / or ED 110 may be referred to as transmitting information to the interface or at least one pin, and receiving information from the NT-TRP 172 and / or the T-TRP 170 and / or ED 110 may be referred to as receiving information from the interface or at least one pin. The information may include control signaling and / or data.

[0104] Although the NT-TRP 172 is illustrated as a drone only as an example, the NT-TRP 172 may be implemented in any suitable non-terrestrial form, such as satellites and high altitude platforms, including international mobile telecommunication base stations and unmanned aerial vehicles, for example. Also, the NT-TRP 172 may be known by other names in some implementations, such as a non-terrestrial node, a non-terrestrial network device, or a non-terrestrial base station.

[0105] As shown in FIG. 3, the NT-TRP 172 includes at least one transmitter 272 and at least one receiver 274 coupled to one or more antennas 280. Only one antenna 280 is illustrated to avoid congestion in the drawing. One, some, or all of the antennas may alternatively be panels. The transmitter 272 and the receiver 274 may be integrated as a transceiver.

[0106] As shown in FIG. 3, the NT-TRP 172 further includes at least one processor 276. Only one processor 276 is illustrated to avoid congestion in the drawing. The processor 276 performs operations including those related to: preparing a transmission for downlink transmission to the ED 110, processing an uplink transmission received from the ED 110, preparing  a transmission for backhaul transmission to the T-TRP 170, and processing a transmission received over backhaul from the T-TRP 170. Processing operations related to preparing a transmission for downlink or backhaul transmission may include operations such as encoding, modulating, precoding (e.g. MIMO precoding) , transmit beamforming, and generating symbols for transmission. Processing operations related to processing received transmissions in the uplink or over backhaul may include operations such as receive beamforming, demodulating received symbols, and decoding received symbols. In some embodiments, the processor 276 implements the transmit beamforming and / or receive beamforming based on beam direction information (e.g. BAI) received from the T-TRP 170. In some embodiments, the processor 276 may generate signaling, e.g. to configure one or more parameters of the ED 110. In some embodiments, the NT-TRP 172 implements physical layer processing, but does not implement higher layer functions such as functions at the medium access control (MAC) or radio link control (RLC) layer. As this is only an example, more generally, the NT-TRP 172 may implement higher layer functions in addition to physical layer processing.

[0107] As shown in FIG. 3, the NT-TRP 172 further includes at least one memory 278 for storing information and data. Only one memory 278 is illustrated to avoid congestion in the drawing. For example, the memory 278 may store software instructions or modules configured to implement some or all of the functionality and / or embodiments described herein and that are executed by the processor 276.

[0108] Although not illustrated, the processor 276 may form part of the transmitter 272 and / or part of the receiver 274. Although not illustrated, the memory 278 may form part of the processor 276.

[0109] The processor 276, the processing components of the transmitter 272, and the processing components of the receiver 274 may each be implemented by the same or different one or more processors that are configured to execute instructions stored in a memory, e.g. in the memory 278. Alternatively, some or all of the processor 276, the processing components of the transmitter 272, and the processing components of the receiver 274 may be implemented using dedicated circuitry, such as a programmed FPGA, a hardware accelerator (e.g., a GPU or AI accelerator) , or an ASIC. In some embodiments, the NT-TRP 172 may actually be a plurality of NT-TRPs that are operating together to serve the ED 110, e.g. through coordinated multipoint transmissions.

[0110] When the NT-TRP 172 is an apparatus (e.g. a communication module, modem, an integrated circuit, or chipset) in a device, it includes at least one processor, and an interface or at least one pin. In this scenario, the transmitter 272 and receiver 257 may be replaced by the interface or at least one pin, wherein the interface or at least one pin is to connect the apparatus (e.g., an integrated circuit) and other apparatus (e.g., another circuit, memory, or bus) . Accordingly, the transmitting information to the T-TRP 170 and / or another NT-TRP 172 and / or ED 110 may be referred to as transmitting information to the interface or at least one pin, and receiving information from the T-TRP 170 and / or another NT-TRP 172 and / or ED 110 may be  referred to as receiving information from the interface or at least one pin. The information may include control signaling and / or data.

[0111] The T-TRP 170, the NT-TRP 172, and / or the ED 110 may include other components, but these have been omitted for the sake of clarity.

[0112] It should be noted that “transmit / receive point (TRP) ” , as used herein, may refer to a T-TRP or a NT-TRP. A T-TRP may alternatively be called a terrestrial network TRP ( “TN TRP” ) and a NT-TRP may alternatively be called a non-terrestrial network TRP ( “NTN TRP” ) .

[0113] It should be noted that in the present disclosure, “information” , when different from “message” , may be carried in one single message, or be carried in more than one separate message.

[0114] FIG. 4 illustrates units or modules in a device or apparatus, such as in the ED 110, in the T-TRP 170, or in the NT-TRP 172. One or more steps of the embodiment methods provided herein may be performed by corresponding units or modules, according to FIG. 4. For example, a signal may be transmitted or output by a transmitting unit or by a transmitting module. A signal may be received or input by a receiving unit or by a receiving module. A signal may be processed by a processing unit or a processing module. Other steps may be performed by an artificial intelligence (AI) or machine learning (ML) module. The respective units or modules may be implemented using hardware, one or more components or devices that execute software, or a combination thereof. For instance, one or more of the units or modules may be a circuit such as an integrated circuit. Examples of an integrated circuit include a programmed FPGA, a GPU, or an ASIC. For instance, one or more of the units or modules may be logical such as a logical function performed by a circuit, by a portion of an integrated circuit, or by software instructions executed by a processor. It will be appreciated that where the modules are implemented using software for execution by a processor for example, the modules may be retrieved by a processor, in whole or part as needed, individually or together for processing, in single or multiple instances, and that the modules themselves may include instructions for further deployment and instantiation.

[0115] While not shown, the transmitting module and the receiving module may be part of, or combined into, a transceiver module. The transceiver module may also be known as an interface module, or simply an interface, for inputting and outputting operations.

[0116] Additional details regarding the EDs 110, the T-TRP 170, and the NT-TRP 172 are known to those of skill in the art. As such, these details are omitted here.

[0117] For ease of understanding the embodiments of this application, the terms involved in this application are briefly explained below.

[0118] 1. channel coding

[0119] Channel coding is an indispensable module in communications systems that encode K source bits into N code bits to provide error correction capability against adversary channel condition such as noise and interference. A code rate can be expressed as R=K / N, where R is the code rate, K is the number of the source bits, and N is the number of encoded bits. In practice, the code rate R can be selected according to channel quality.

[0120] Polar codes are capacity-achieving codes. As code length approaches infinity, synthesized channels (or subchannels) become either noiseless or pure noise. Noiseless subchannels are utilized to transport information, and proportion of the noiseless subchannels is proven to achieve the channel capacity defined by Shannon. The above-mentioned channel polarization phenomenon occurs under successive cancellation (SC) or SC-based decoding, which has a relatively low complexity.

[0121] Low-density parity-check (LDPC) codes are capacity-approaching codes. LDPC codes are usually defined by a parity-check matrix, which has far more zeros than ones, thus having low density. By properly designing the positions of ones in the matrix, decoding performance can be improved. Although LDPC codes can be viewed as a type of random codes, introducing structures can facilitate its hardware implementations of both encoder and decoder. Quasi-cyclic is such a structure that first defines a smaller base matrix or base graph (BG) and then perform “lifting” by replacing its ones with a cyclic shifted version of identity matrix.

[0122] Rate matching can be performed after the channel encoding, by either puncturing / shortening or repeating some code bits. The purpose of the rate matching is to obtain a code bit sequence of desired length for transmission over limited channel resources.

[0123] Channel interleaver can be applied after the channel encoding and the rate matching, by permuting the code bits. The purpose of the channel interleaver is to provide stable or superior performance under high-order modulation or in fading channel.

[0124] 2. polar coding

[0125] Polar codes are linear block codes. For a polar code of length N, its generator matrix is GN, and its encoding process is where is the binary information vector,  is the binary code vector. The N×N binary matrix where is the polarization kernel matrix, n=log2N, and  is Kronecker product.

[0126] Assuming K information bits are encoded into N code bits, and K<N. Then, the code rate is R=K / N<1, which means only part of is used to carry information bits and the rest are called frozen bits. Denote by I the information bit set (or information set) , and F the frozen bit set (or frozen set) , respectively. The frozen bits are known (usually all zeros) before  decoding, so they do not carry any information. In some implementations,   may further include an additional parity-check (PC) bit set, denoted by P. The PC bits are parity-check bits of a subset of information bits, therefore are known once the associated information bits are decoded. The decoding of polar codes is actually trying to recover all information bits.

[0127] The code length M may not always be the power of 2, i.e., M<N. In some implementations, puncturing and shortening are used to reduce transmitted code bits from N to M. For convenience, we call N the mother code length, and M the code length from now on. In particular, punctured bits are untransmitted bits unknown to the decoder, but shortened bits are untransmitted bits known to the decoder (usually all zeros) .

[0128] FIG. 5 illustrates an example of a polar code with N=8, K=4. Each “butterfly” shown in FIG. 5 is a polarization, i.e.,  In this example, the information set is I= {u4, u6, u7, u8} , and the frozen set is F= {u1, u2, u3, u5} .

[0129] SC is a basic decoding algorithm for polar codes, where all the frozen bits and information bits are decoded sequentially, i.e., bit by bit. The preceding bits are always decoded first.

[0130] Successive cancellation list (SCL) is an enhanced decoding algorithm for polar codes, where multiple (let’s say L) SC decoding instances are executed. Each instance is called a “decoding path” . When decoding each binary bit, both “0” and “1” branches are extended to each path, creating 2L paths. Then, all 2L paths are compared, where the most likely L paths are kept, and the least likely L paths are discarded (or pruned) . This path extension and pruning operations are performed during decoding every information bit, until all information bits are decoded. At last, the most likely path is selected as the decoding output.

[0131] Cyclic redundancy check (CRC) -aided successive cancellation list (CA-SCL) works almost the same as SCL, except that in the last step, the most likely path that passes CRC check is selected as the decoding output.

[0132] 3. LDPC coding

[0133] LDPC code is a channel coding scheme very close to Shannon line, and features good performance and low complexity. LDPC has been adopted as data channel coding schemes by 5G NR systems.

[0134] The LDPC code is encoded by through a parity-check matrix. A widely-adopted LDPC code has a quasi-cyclic (QC) structure, and a shifting value of each block is designed to avoid a bad structure such as a short circle and to improve a code distance. Main decoding algorithms for LDPC codes are min-sum (MS) and belief propagation (BP) . In terms of decoding performance, the BP decoding algorithm is better, but it has a large amount of information storage and a complex computation overhead, which is not convenient to hardware implementation. Therefore, offset-MS and normalized-MS decoding algorithms are used in realistic communication systems. The LDPC codes implemented in practice is to extend the “1” in the BG by a square matrix, which is a cyclic shifted version of an identity matrix. The BG of QC-LDPC code can be defined by BG= (X, Y,  F) , where X corresponds to a variable, Y corresponds to a check equation, and F is its edge connections. The Tanner graph is obtained after QC lifting with an expansion factor Zc. It is a bipartite graph G= (V, C, E) , where V is a variable node, C is a check node, E is a connected edge, and a corresponding parity matrix column quantity is N=|V|=Zc |X|. The quantity of rows of the check matrix is M=|C|=Zc |Y|, and a quantity of non-zero elements of the check matrix is |E|=Z|F|.

[0135] 5G data channels support information block length ranging from 1 to 8448. The standard describes two parity-check matrices denoted by BG1 and BG2. The same base graph, lifted by different lifting sizes, can adapt to a wide set of different code rates and lengths. To achieve this, lifting size and shifting value lists are stored in the look-up tables, then rate matching and IR-HARQ are implemented based on the tables.

[0136] In NR LDPC codes, a codeword before rate matching (referred as a mother codeword) typically includes three disjoint portions or parts, i.e., systematic bits, core parity check bits and extended parity check bits. In NR LDPC code, four different redundancy versions (RVs) including RV0, RV1, RV2 and RV3 are generated after rate matching. In initial transmission, RV0 is normally selected in which most of the systematic bits are included in the set of coded bits. Meanwhile, depending on the effective code rate, part of core parity bits or all core parity check bits and extended parity bits are included in RV0. As a result, RV0 has the highest self-decodable ability among all RVs (i.e., RV0 can be self-decodable at highest code rate) . In retransmission, the transmitter may select RV1, RV2 or RV3. Nevertheless, only RV3 is self-decodable, while RV1 and RV2 are not self-decodable at high code rate. The main reason is that, at some code rates, RV1 and RV2 may only consist of parity check bits, resulting in unsuccessfully decoding at the receiver.

[0137] 4. hybrid automatic repeat request (HARQ)

[0138] HARQ is a mechanism to provide reliable wireless transmission. HARQ combines forward error correction (FEC) and automatic repeat request (ARQ) . In HARQ, the initial transmission is a FEC code word with CRC bits to support error detection at the receiver. If a decoding error is detected, the receiver will send back a negative acknowledge (NACK) signaling to inform the transmitter of the error, and request for a retransmission. In some implementations, the retransmitted bits may be bits directly selected from the initially transmitted bits. In some other implementations, the retransmitted bits may include code bits incrementally generated which form a longer code word with the initially transmitted bits. The former is called chase-combining HARQ (CC-HARQ) and the latter is called incremental-redundancy HARQ (IR-HARQ) . Typically, IR-HARQ outperforms CC-HARQ with the additional coding gain from incremental redundancy.

[0139] In wireless communications, channel quality is constantly changing due to the fading effects at both fast and slow scale. Accordingly, channel coding has always been designed to adapt to the channel states. Modulation coding scheme (MCS) adaptation is a powerful method to combat varying channel states, in which modulation order, code length and coding rate can be changed in real time. Therefore, it requires that a channel coding scheme can flexibly change the code length and  code rate in a fine-grained way, and at the same time achieve good error correction performance in all possible configurations. This fine-grained flexibility of channel codes is one of the most challenging problem in this field.

[0140] In addition, the complexity of both encoding and decoding algorithms need to be sufficiently low. In hardware, complexity can be evaluated through measuring integrated circuit area and energy efficiency. The integrated circuit area and the energy efficiency are related to algorithmic complexity, but are more closely related to cost and battery life of electronic devices. Therefore, implementation complexity needs to be reduced when coding schemes are designed.

[0141] In future communication system, there are several scenarios to be supported, such as immersive communication, massive communication and hyper reliable and low-latency communication. key performance indications (KPIs) that are related to channel coding include coding gain, reliability, throughput, latency and their tradeoffs. For example, the throughput requirement of the future communication system may reach above 1Tbps, and the energy efficiency should decrease to 1pJ / bit. Meanwhile, the coding scheme needs to support flexible rate matching and HARQ schemes. It is required, but a very challenging task, to design a code ensemble to fulfill all these KPIs and capabilities.

[0142] Thus, it is necessary to enhance HARQ in the future communication system. Specifically, coding gain and spectral efficiency of HARQ need to be improved.

[0143] Some HARQ schemes will be briefly explained below. In order to distinguish from HARQ schemes provided in this application, some HARQ schemes explained below will be referred to as “traditional HARQ. ” It should be noted that “traditional HARQ” may include, but is not limited to, the specific HARQ schemes explained below. In other words, “traditional HARQ” schemes may further include other HARQ schemes not specifically explained herein but which would be known to the skilled person.

[0144] Rate-compatible polar coding is a key technology for wireless applications. In 5G NR, a combination of puncturing, shortening and repetition is used together with a fixed reliability sequence to balance performance and complexity. In particular, a subblock-wise interlacing and interleaving is used for both puncturing and shortening. The puncturing and shortening patterns are symmetric.

[0145] In denominating certain terms in the examples below, mother code length is N, transmission code length is M, and the number of information bits is K. When M>N, repetition is used as the rate matching scheme; when K / M≤7 / 16, puncturing is used as the rate matching scheme; and when K / M>7 / 16, shortening is used as the rate matching scheme.

[0146] A subblock-wise interleaving is performed before puncturing and shortening. The interleaver partitions the length-N mother code into 32 subblocks of size N / 32 and interlacing them using a table shown in FIG. 6, which is defined in the NR standard.

[0147] Since puncturing is performed from the first code bit and shortening is performed from the last code bit, the rate  matching module is efficiently implemented through a cyclic buffer. FIG. 7 illustrates an example of the cyclic buffer. As shown in FIG. 7, all mother code bits are placed in the cyclic buffer, puncturing is done by selecting the bits in clockwise order, and shortening is done by selecting bits in counter-clockwise order.

[0148] Incremental freezing HARQ (IF-HARQ) scheme is a special case of IR-HARQ, which supports transmissions of multiple short code words. As more short codes are transmitted, the overall code length increases, and the overall code rate decreases.

[0149] In the first transmission, an (M1, K) polar code is constructed, encoded and transmitted. The code rate is R1=K / M1. Usually, the code rate is determined such that R1<C1, where C1 is the channel capacity of the first transmission. But in the case of faded channel or inaccurate channel estimation, there may be R1>C1, thus decoding will fail and a second transmission is required.

[0150] In the second transmission, K2 least reliable information bits are selected from the K information bits in the first transmission. In practice, K2 is chosen according to the estimated channel capacity of the second transmission. An (M2, K2) polar code is constructed accordingly, then encoded and transmitted. However, if R2>C2, the decoding will fail again and a third transmission is required.

[0151] The third and fourth transmissions are constructed similarly, and so on.

[0152] At the receiver side, the decoder will always decode the last received code word, because it has the lowest code rate and thus the best chance of successful decoding. After the last transmission is correctly decoded, the corresponding information bits in all previous transmissions become known, and can be decoded as frozen bits with known values. This process is repeated as more code words are decoded, until all K bits in the first transmission is decoded. The term “incremental freezing” refers to as operations to additionally freeze some information bits in the previous transmissions once a later transmitted code word is decoded.

[0153] FIG. 8 illustrates an example of IF-HARQ, where M1=M2=M3=M4=16, and K1=12, K2=6, K3=4, K4=3.

[0154] PC polar codes may be used to improve minimum distance of polar codes, and may further be used to support IR-HARQ. Here the PC bits are for coupling multiple retransmissions into a longer polar code with extra coding gain.

[0155] The PC functions used for IR-HARQ may be considered a special case of PC functions, where some information bits are copied from the initial transmitted code block to a retransmitted code block. This one-to-one parity checking between the two shorter code blocks effectively coupled the two code blocks into a longer code block.

[0156] For example, the initial transmission is a (M1=8, K=5) polar code, where {u0, u1, u2, u3, u4} is the information set, and {u5, u6, u7} is the frozen set. Its encoding process is shown as FIG. 9.

[0157] In the first retransmission, four additional code bits are transmitted. These four bits are coupled with the initially  transmitted 8 bits to form a (M2=12, K=5) polar code. The coupling is achieved by copying the value of u4 to u8 during encoding, thus generating a PC function u4 + u8 = 0 (or equivalently u8 = u4) . As said, the largest index in this PC function corresponds to the PC bit (here u8) . During decoding, u4 decoded as an information bit, while u8 is decoded as a PC bit using u8 = u4. With {u0, u1, u2, u3, u8} as the information set, {u4} as the PC set, and {u5, u6, u7, u9, u10, u11} as the frozen set, the encoding process is shown as FIG. 10.

[0158] In the second retransmission, the remaining four bits c12, c13, c14, c15 are transmitted to form a (M3=16, K=5) polar code. But this time no new PC bits are generated.

[0159] From the polar transform matrix point of view, the three transmissions with effective code lengths M1=8, M2=12, M3=16, are shown in FIG. 11.

[0160] Rate-compatible LDPC codes is a key technology for wireless applications. In 5G NR, a combination of puncturing, shortening and repetition is used together with a quasi-cyclic lifting based on a BG and a set of shifting values. In particular, the lifting size Zc is grouped into eight sets according to where aj∈ {2, 3, 5, 7, 9, 11, 13, 15} and max (kj) ∈ {7, 7, 6, 5, 5, 5, 4, 4} . The lifting sizes derived from the same aj belong to the same set, and share the same shifting value. The shifting values for all the non-zero positions in the BG and for all groups of lifting sizes are stored in a single table. During the construction of a parity-check matrix, the lifting size Zc, is determined first, then the set index j of the lifting size is obtained, and finally the shifting value is obtained from the table.

[0161] On the basis of traditional HARQ schemes, HARQ enhancement is particularly desired in future generation communication systems to further improve spectral efficiency, coding gain and reduce processing complexity at the same time.

[0162] In some aspects, this application provides a communication method in which multiple code sequences corresponding to different CBs can be combined to generated a cross-CB code sequence. Accordingly, the cross-CB code sequence can be used for retransmission instead of the multiple code sequences. Coding gain and spectral efficiency can be improved, thereby improving the retransmission efficiency of HARQ. In the following, the communication method provided in this application will be described in combination with FIG. 12.

[0163] FIG. 12 is a flowchart of a communication method 1200 according to an embodiment of this application. The communication method 1200 may be applied to the communications system described above.

[0164] At S1210, the encoding apparatus receives a first message. Correspondingly, the decoding apparatus transmits the first message.

[0165] The first message indicates that the decoding of a code set is unsuccessful. Specifically, before S1210, the encoding apparatus may have tried to transmit the code set to the decoding apparatus at least once. Therefore, the first message is used by the decoding apparatus to provide feedback to the encoding apparatus that the code set has not been successfully  decoded based on the previous transmission. The first transmission among the previous transmission may be referred to as initial transmission.

[0166] It should be noted that term “transmit the code set” and “retransmit the code set” in the following text may include but are not limited to the following two methods. The first method is transmitting bits directly selected from the code set. The second method is transmitting coded bits, which are generated by the encoding apparatus based on the code set and can be used by the decoding apparatus to determine the code set.

[0167] For example, the first message may be a NACK message.

[0168] The code set may include N code blocks (CBs) , where N is a positive integer greater than 1. Specifically, the code set may include bits which were transmitted during the initial transmission, and these initially transmitted bits may be divided into N CBs. In some implementations, the code set may be referred to as a transport block (TB) or a code block group (CBG) .

[0169] During the initial transmission, the N CBs were transmitted respectively. Therefore, the decoding apparatus may transmit the first message when at least one CB was not received by the decoding apparatus, or when at least one CB was not correctly decoded by the decoding apparatus. In some implementations, when the encoding apparatus receives the first message, it may not be informed which specific CBs were not successfully decoded, but only be informed that the code set was not successfully decoded.

[0170] At S1220, the encoding apparatus obtains M first code sequences.

[0171] The M first code sequences correspond one-to-one with M CBs from the N CBs, where M is a positive integer greater than 1 and less than or equal to N. For example, all N CBs in the code set may be divided into N’ subgroups, and the number of the subgroups, N’, can be denoted as N’=ceil (N / M) , where “ceil” is a rounding down function. In this example, each subgroup except the last subgroup has M CBs, and the last subgroup has M’CBs, where the number of CBs in the last subgroup, M’, can be denoted as M’=N- (N’-1) ·M. Therefore, first code sequences corresponding to predefined number (M or M’ in this example) of CBs in the same subgroup can be combined in next step.

[0172] It should be noted that the meaning of a first code sequence corresponding to a CB is that this first code sequence is obtained based on this CB. In other words, each first code sequence among the M first code sequences is obtained based on corresponding CB.

[0173] Optionally, in some possible implementations, bit (s) in the first code sequence may be selected directly from corresponding CB. Such first code sequence may be used for retransmission in CC-HARQ. In other words, method provided in this application can be used to improve retransmission efficiency of CC-HARQ.

[0174] Optionally, in some other possible implementations, at least one bit in the first code sequence may be generated  by coding bits in corresponding CB. Such first code sequence may be used for retransmission in IR-HARQ. In other words, method provided in this application can be used to improve retransmission efficiency of IR-HARQ.

[0175] In some possible implementations, for example in scenarios of enhancing IR-HARQ, the M first code sequences include redundancy versions (RVs) of corresponding CBs. Specifically, initially transmitted bits in a CB and incrementally generated code bits form a longer code word, which may be divided into multiple RVs of this CB. Therefore, the first sequence corresponding to this CB may include one or more RVs of this CB.

[0176] It should be noted that the correspondence between the first coding sequences and the CBs mentioned above are only examples. The M first code sequences may also be obtained based on the M CBs through other algorithms, which are not limited in this application. For example, each first cade sequence may be bit (s) used for retransmission of corresponding CB in traditional HARQ schemes, including but not limited to CC-HARQ, IR-HARQ, and IF-HARQ.

[0177] At S1230, the encoding apparatus obtains a second code sequence based on the M first code sequences.

[0178] The operation of obtaining the second code sequence based on the M first code sequences is reversible. Specifically, each first code sequence is enabled to be obtained based on the second code sequence and other M-1 first code sequence (s) among the M first code sequences.

[0179] For example, it is assumed that the j-th CB among the M CBs has not been successfully yet, while other M-1 CB (s) is successfully decoded by the decoding apparatus, where j is a positive integer less than or equal to M. In this case, the decoding apparatus can obtain M-1 first code sequence (s) corresponding to the other M-1 CB (s) . Therefore, when the decoding apparatus receives the second code sequence, the j-th first code sequence (the first code sequence corresponding to the j-th CB) can be calculated based on the second code sequence and the other M-1 first code sequence (s) . Then, the j-th first code sequence can be used to decode the j-th CB.

[0180] Therefore, due to the reversible operational relationship between the second code sequence and the M first code sequences, the second code sequence can be used for retransmission instead of the M first code sequences in traditional HARQ schemes. Compared to traditional HARQ schemes, the number of code sequences required for retransmission can be reduced, thus the spectral efficiency can be improved.

[0181] The M first code sequences have the same length, and the length of the second code sequence is the same as that of one code sequence. It should be noted that the length of a code sequence refers to the number of bits in this code sequence. In other words, each first code sequence and the second code sequence have the same number of bits.

[0182] In some implementations, the second code sequence may be obtained through a bit-by-bit calculation based on the M first code sequences. The bit-by-bit calculation may be known as a bitwise operation or a reversible calculation. Specifically, each first code sequence may include k bit (s) and the second code sequence may also include k bits. In this case,  the i-th bit of the second code sequence may be obtained through bitwise operation (s) based on the i-th bits of the M first code sequences, where k is a positive integer and i is a positive integer less than or equal to k.

[0183] For example, a value of the i-th bit of the second code sequence is equal to a result of exclusive-OR (XOR) operation of values of the i-th bits of the M first code sequences. Optionally, in addition to XOR, other bitwise operations may also be used, such as not-exclusive-OR (XNOR) or other table-based mappings, which are non-limiting examples in this application.

[0184] At S1240, the encoding apparatus transmits the second code sequence. Correspondingly, the decoding apparatus receives the second code sequence.

[0185] The second code sequence may be modulated and transmitted by the encoding apparatus. Then the decoding apparatus may obtain channel output signals (e.g. log-likelihood ratio (LLR) ) of the second code sequence.

[0186] At S1250, the decoding apparatus obtains M first code sequences based on the second code sequence.

[0187] As explained above, each first code sequence is enabled to be obtained based on the second code sequence and other M-1 first code sequence (s) among the M first code sequences. Therefore, if there are already sufficient correctly decoded CB (s) in the code set (for example M-1 CB (s) in this example) , the decoding apparatus may obtain first code sequence (s) corresponding to not-yet-decoded CB (s) based on the second code sequence. Then, the decoding apparatus may perform decoding for the not-yet-decoded CB (s) based on corresponding first code sequences.

[0188] In some implementations, if there are not sufficient correctly decoded CB (s) in the code set, i.e. the M first code sequence cannot be obtained based on the second code sequence, the decoding apparatus may not attempt to perform decoding. Instead, the decoding apparatus may transmit another feedback message (e.g. NACK) to request for another retransmission of the cade set.

[0189] In this application, multiple first code sequences corresponding to different CBs are combined to generated a second code sequence which have equal length with the first code sequence. The second code sequence is used for retransmission instead of the multiple first code sequences, which may improve spectral efficiency of HARQ. From another viewpoint, given the same amount of channel resource, length of retransmitted code sequence in this application may be longer than retransmitted code sequence corresponding to a single CB in traditional HARQ schemes, which may provide more coding gain. Thus, the retransmission efficiency of HARQ can be improved.

[0190] In addition, the retransmitted code sequence (i.e. the second code sequence) can be obtained via simple operations such as XOR, which may reduce the complexity of both encoding and decoding algorithms. Code sequences (i.e. the first code sequences) used to generate the retransmitted code sequence can be obtained as traditional HARQ schemes, which allows 5G hardware to be reused as much as possible in future communication system.

[0191] A first example implementation illustrates embodiments of IR-HARQ for multiple CBs. In this example, a TB or a CBG includes multiple CBs, denoted by CB1, CB2 …. CB C, where C is the number of CBs in the TB or CBG. Each CB has multiple RVs (such as 4 RVs or 8 RVs) , denoted by RV0, RV1, RV2 …RV K-1, where K is the number of RVs each CB has. In the following, procedures of these embodiments will be described in combination with FIG. 13.

[0192] An encoding side (also known as transmitter side) procedure may include the following operations.

[0193] The encoding apparatus performs channel coding for all CBs, and writes the code bits into their respective circular buffers.

[0194] As shown in FIG. 13, for initial transmission, the code bits corresponding to RV with rv_id=i (denoted by RVi) of all CBs are read out from their respective circular buffers and transmitted.

[0195] As shown in FIG. 13, for retransmissions, if the RV to be transmitted has rv_id=j (denoted by RVj) , the RVs of multiple CBs are first read out from their respective circular buffers. Then, these multiple single-CB RVs (for example CB1 RVj and CB2 RVj shown in FIG. 13) are bit-by-bit XOR-combined to generate a cross-CB RV (CBx RVj shown in FIG. 13) , and transmitted.

[0196] For example, if the first bit of CB1 RVj is 0 and the first bit of CB2 RVj is 0, then the first bit of CBx RVj is 0; if the second bit of CB1 RVj is 1 and the second bit of CB2 RVj is 0, then the second bit of CBx RVj is 1; if the third bit of CB1 RVj is 1 and the third bit of CB2 RVj is 1, then the third bit of CBx RVj is 0, and so on.

[0197] It should be noted that the XOR of RVs from two CBs shown in FIG. 13 is only an example, and the cross-CB RV may be generated by combining RVs from more CBs. Specifically, RVs of a predefined number (X or X’) of CBs are combined, e.g., X=2, 3, 4 CBs. All C CBs in a TB or CBG are divided into C’=ceil (C / X) subgroups, where each subgroup has X CBs, except the last subgroup having X’=C- (C’-1) ·X CBs. The predefined number of RVs of CBs in the same subgroups are combined to generate a cross-CB RV (also can be called XORed-RV) . The XORed-RVs are modulated and transmitted, and the single-CB RVs are not transmitted.

[0198] Decoding side (also known as receiver side) may include the following procedures.

[0199] The decoding apparatus receives channel output signals (e.g., LLRs) of the RVs corresponding to all CBs.

[0200] If the received LLRs correspond to RV with rv_id=i (i.e. RVi) , they are directly fed to decoder and decoded.

[0201] Specifically, if the RV is correctly decoded (passes CRC check) , the code bits of the corresponding CB are re-encoded, and the (hard) code bits corresponding to RVi are temporarily saved. Else if the RV is not correctly decoded (fails to pass CRC check) , the received LLRs of the corresponding RV are temporarily saved.

[0202] Else if the received LLRs correspond to RV with rv_id=j (i.e. RVj) , then the decoding apparatus checks whether there are sufficient correctly decoded CBs in each subgroup, where the subgroup is defined in the transmitter side procedures.

[0203] Specifically, it is assumed that the subgroup has X CBs. If less than X-1 CBs are correctly decoded, then no decoding attempt can be made. Else if X-1 CBs are correctly decoded, then the LLRs corresponding to the RV (non-XORed) of the not-yet-decoded CB can be recovered by flipping the LLRs according to the XORed bit values of the re-encoded code bits of the X-1 correctly decoded CBs. For example, if the XORed bit of the X-1 CBs is 0, then the received LLR is not flipped; else if the XORed bit of the X-1 CBs is 1, then the received LLR is flipped. Then, the decoding apparatus performs decoding for the remaining CB using the temporarily saved received LLRs from rv_id=i and the recovered LLRs from rv_id=j. Else if all X CBs are correctly decoded, then all the temporarily saved code bits and LLRs corresponding to RVs of the X CBs can be deleted.

[0204] Optionally, if not all CBs are correctly decoded, then the decoding apparatus may request for another retransmission.

[0205] A second example implementation illustrates more details of the embodiments of IR-HARQ for multiple CB. In this example, RVs from two CBs in the same subgroup are combined to generate a cross-CB RV used for retransmission.

[0206] In the following, procedures of encoding side (also known as transmitter side) will be described in combination with FIG. 14.

[0207] The encoding apparatus performs channel coding for CB1 and CB2, and writes the code bits into their respective circular buffers.

[0208] As shown in FIG. 14, for initial transmission, the code bits corresponding to RV with rv_id=0 of CB1 and CB2 (CB1 RV0 and CB2 RV0 shown in FIG. 14) are read out from their respective circular buffers and transmitted.

[0209] As shown in FIG. 14, for retransmissions, the RVs to be transmitted has rv_id=1 and rv_id=2, therefore, the RVs of CB1 and CB2 (CB1 RV1, CB2 RV1, CB1 RV2 and CB2 RV2 shown in FIG. 14) are first read out from their respective circular buffers and then XOR-combined. In other words, the cross-CB XOR operation may be only performed on parity-bit RVs or RVs other than RV0. Then, cross-CB RVs (CBx RV1 and CBx RV2 shown in FIG. 14) are generated and transmitted, instead of single-CB RVs (CB1 RV1 and CB2 RV1) in traditional IR-HARQ.

[0210] Specifically, the RVs of 2 CBs are combined, i.e., X=2. All C CBs in a TB or CBG are divided into C’=ceil (C / 2) subgroups, whereas each subgroup has 2 CBs. In this example, CB1 and CB2 are in the same subgroup. The 2 RVs with rv_id=1 of CB1 and CB2 (denoted by CB1 RV1 and CB2 RV1) are combined to generate an XORed-RV, called CBx RV with rv_id=1 (denoted by CBx RV1) . The 2 RVs with rv_id=2 of CB1 and CB2 (denoted by CB1 RV2 and CB2 RV2) are combined to generate an XORed-RV, called CBx RV with rv_id=2 (denoted by CBx RV2) . The CBx RV with rv_id=1 and CBx RV with rv_id=2 are modulated and transmitted.

[0211] In the following, procedures of decoding side (also known as transmitter side) will be described in combination  with FIG. 15.

[0212] The decoding apparatus receives channel output signals (e.g., LLRs) of the RVs corresponding to all CBs.

[0213] As shown in FIG. 15, the received LLRs correspond to RV0 are directly fed to decoder and decoded. In this example, the RV0 of CB1 is correctly decoded, thus the code bits of the corresponding CB1 are re-encoded to obtain RV1 and RV2. The RV0 of CB2 is not correctly decoded, thus the received LLRs of the RV0 are temporarily saved.

[0214] As shown in FIG. 15, the received LLRs correspond to CBx RV1 and CBx RV2 are used to obtain CB2 RV1 and CB2 RV 2 based on CB1 RV1 and CB1 RV2. Specifically, because CB1 is correctly decoded, then the LLRs corresponding to the CB2 RV1 and CB2 RV2 can be recovered by flipping the LLRs according to the re-encoded code bits of CB1. For example, if a code bit of CB1 is 0, then the corresponding received LLR is not flipped; else if a code bit of CB1 is 1, then the corresponding received LLR is flipped. Then, the decoding apparatus can perform decoding for CB2 using the temporarily saved received LLRs from CB2 RV0 and the recovered LLRs from CB2 RV1 and CB2 RV2.

[0215] Note that CB2 is decoded using 3 RVs (CB2 RV0, CBx RV1 and CBx RV2) in this example, instead of 2 RVs (CB2 RV0 and CB2 RV1) in traditional IR-HARQ, thus CB2 has a lower code rate and higher successful decoding probability in this example.

[0216] Optionally, if not all CBs are correctly decoded, then the decoding apparatus may request for another retransmission.

[0217] Optionally, with reference to the above communication method 1200, the M CBs may have the same spacing in a sequence consisting of the N CBs. In other word, CBs may be paired (when M=2) or be bundled (when M>2) in some pre-defined ways. The following two examples illustrate different implementations of CBs being divided into subgroups.

[0218] In one example, adjacent CBs are grouped into a subgroup and XOR-combined, which benefits from relatively simple implementation.

[0219] For example, as shown in FIG. 16, if there are 16 CBs in a TB, the 16 CBs may be divided into 8 groups each having 2 CBs. Specifically, CB0 and CB1 are XOR-combined into CBx01, CB1 and CB2 are XOR-combined into CBx12, and so on.

[0220] In another example, interlaced CBs with equal spacing are grouped into a subgroup and XOR-combined, which can maximally exploit channel diversity.

[0221] For example, as shown in FIG. 17, if there are 8 CBs in a CBG, the 8 CBs may be divided into 4 groups each having 2 CBs and spacing 4. Specifically, CB0 and CB4 are XOR-combined into CBx04, CB1 and CB5 are XOR-combined into CBx15, and so on.

[0222] According to the above technical solution, CBs used to obtain the second code sequence are paired or bundled  with a pre-defined spacing, which make both adjacent CB grouping and interlaced CB grouping supported. Thus, the simplicity and diversity of encoding can be improved.

[0223] It should be noted that the above two grouping methods are only examples for illustration. To meet other requirements, CBs may also be divided into subgroups according to other methods, which are not limited in this application.

[0224] In this application, the subgroup size X (i.e. the number of CBs in the subgroup, denoted by M, mentioned in the above communication method 1200) has an impact on the error correction capability. A too large X may lead to some performance loss when less than X-1 CBs are decoded in a subgroup.

[0225] Thus, the subgroup size X may be pre-determined or configured in some embodiments. Consequently, RV length F (i.e. the number of bits in the RV) should be determined accordingly.

[0226] Example implementations of determining subgroup size and RV length are described below.

[0227] In some implementations, the sub group size X may be a fixed value such as 2, 3, 4.

[0228] In some other implementations, the sub group size X may be pre-configured in RRC, signaled by an RRC message. For example, the sub group size X may be indicated by an RRC field called “CrossCBSubgrougSize” .

[0229] In some other implementations, the sub group size X may be dynamically indicated in DCI. For example, the sub group size X may be indicated by a DCI field called “cross-CB subgroup size” .

[0230] In some implementations, the RV length F may be determined based on the sub group size X.

[0231] Specifically, for a given retransmission, it is assumed that the rate matching output length for each CB is E. For traditional IR-HARQ, to transmit an RV with rv_id, E code bits will be read out from the circular buffer for each CB, starting from the starting position k0 corresponding to rv_id. For cross-CB IR-HARQ provided in this application, to transmit a cross-CB RV with rv_id, a total of F=E×X code bits will be read out from the circular buffer for each CB, starting from the starting position k0 corresponding to rv_id. By XOR-combining the F code bits of each CB, F code bits of the cross-CB RV can be obtained for retransmission. Because the F=E×X code bits for retransmission is for all X CBs, the total number of bits for retransmission remain the same as the traditional IR-HARQ. In other words, each CB only retransmits E=F / X bits on average.

[0232] In this example, given the same amount of channel resource, more code bits can be read out from the circular buffer for each CB. That is, compared to single-CB RV retransmitted in traditional HARQ, cross-CB RV may provide more effective code bits for decoding for a single CB. Thus, more coding gain can be provided.

[0233] FIG. 18 illustrates an example with 2 CBs paired for cross-CB IR-HARQ. In this example, 2 times the traditional RV length is read out from each CB for generating the cross-CB RV.

[0234] FIG. 19 illustrates an example with 3 CBs bundled for cross-CB IR-HARQ. In this example, 3 times the traditional RV length is read out from each CB for generating the cross-CB RV.

[0235] Optionally, the HARQ retransmission mode (i.e. cross-CB HARQ) provided in this application can be adaptively selected. That is, the HARQ retransmission mode provided in this application can be applied in appropriated scenarios.

[0236] For example, the encoding apparatus may transmit a second message to the decoding apparatus, where the second message includes a first field, and a value of the first field indicates a mode of the code set being retransmitted. When the value of the first field indicates that the mode is a first mode (for example a cross-CB HARQ mode) , the encoding apparatus may transmit the second code sequence to the decoding apparatus. That is, the retransmission, including encoding and decoding, is implemented according to cross-CB HARQ scheme provided in this application.

[0237] Optionally, in scenarios where a HARQ retransmission mode provided in this application is not selected, other retransmission modes can be selected.

[0238] For example, when the value of the first field of the second message indicates that the mode is a second mode (for example a traditional HARQ mode) , the encoding apparatus may transmit the M first code sequence to the decoding apparatus. That is, the retransmission, including encoding and decoding, is implemented according to traditional HARQ schemes.

[0239] An example implementation below illustrates embodiments that include the above-mentioned adaptive HARQ mode selection and indication.

[0240] In this example, the first mode is a cross-CB IR-HARQ mode illustrated above, and the second mode is a traditional IR-HARQ mode. An indicator to switch between traditional IR-HARQ and cross-CB IR-HARQ can be defined.

[0241] In some implementations, as shown in FIG. 20, the indicator may be pre-configured in RRC, signaled by an RRC message. For example, the HARQ retransmission mode used may be indicated by an RRC field called “CrossCB-HARQ-Flag” , where CrossCB-HARQ-Flag=0 means that the traditional IR-HARQ mode is used for retransmission, and CrossCB-HARQ-Flag=1 means that the cross-CB IR-HARQ mode is used for retransmission.

[0242] In some other implementations, as shown in FIG. 21, the indicator may be dynamically indicated in DCI. For example, the HARQ retransmission mode used may be indicated by a DCI field called “cross-CB HARQ flag” , where cross-CB HARQ flag=0 means that the traditional IR-HARQ mode is used for retransmission, and cross-CB HARQ flag=1 means that the cross-CB IR-HARQ mode is used for retransmission.

[0243] It should be noted that, in examples shown in FIG. 20 and FIG. 21, the BS may be the encoding apparatus, and the UE may be the decoding apparatus. The NACK may be the first message used to request for a retransmission. The PDSCH may be used to transmit code sequences.

[0244] In some implementations, the indicators illustrated in FIG. 20 and FIG. 21 may both be used in a procedure. For example, the HARQ retransmission mode may be pre-configured by an RRC message, and this pre-configured mode may be  used for retransmission until a new HARQ retransmission mode is indicated by a DCI message, then this new mode may be used in subsequent retransmission.

[0245] Optionally, the value of the first field of the second message may be associated with at least one or more of the following: a number of code blocks in the code set that have not been decoded, a discrepancy of a channel used to retransmit the code set, whether a channel quality indicator (CQI) of the channel is able to be obtained, and whether a acknowledgement or negative acknowledgement (ACK / NACK) feedback for the retransmission is available.

[0246] For example, the indicator may be set based on decoding results of initial transmission. A HARQ feedback content “ratio (or number) of not-decoded CBs” , which can be reported in UCI, can be defined. If the ratio (or number) of not-decoded CBs exceeds a threshold (e.g., 1 / X or 1 / X C) , traditional IR-HARQ mode may be indicated to use for retransmission. If the ratio (or number) of not-decoded CBs is below or equals to a threshold (e.g., 1 / X or 1 / X C) , cross-CB IR-HARQ mode may be indicated to use for retransmission.

[0247] For example, the indicator may be set based on channel discrepancy and / or diversity. If the channel discrepancy is high, for example in the case such as preemption transmission, independent fading or beam blockage, cross-CB IR-HARQ mode may be indicated to use for retransmission; otherwise traditional IR-HARQ mode may be indicated to use for retransmission.

[0248] For example, the indicator may be set based on whether channel CQI can be accurately obtained. If the channel CQI can be accurately obtained, cross-CB IR-HARQ mode may be indicated to use for retransmission; otherwise traditional IR-HARQ mode may be indicated to use for retransmission (for example, in one-shot transmission) .

[0249] For example, the indicator may be set based on whether ACK / NACK feedback is available, or whether ACK / NACK feedback can be obtained with low latency. If ACK / NACK feedback is available, traditional IR-HARQ mode may be indicated to use for retransmission; otherwise cross-CB IR-HARQ mode may be indicated to use for retransmission. In other case, if ACK / NACK feedback can be obtained with low latency (below a threshold) , traditional IR-HARQ mode may be indicated to use for retransmission; otherwise cross-CB IR-HARQ mode may be indicated to use for retransmission.

[0250] We observe that cross-CB IR-HARQ is most effective when most of the CBs have been correctly decoded, such that the correctly decoded CBs in a bundle can help the decoding of the still incorrectly decoded CBs. This is because the correctly decoded CBs can be used to recover the LLRs of additional RVs of incorrectly decoded CBs, such that the de-facto coding rate of the incorrectly decoded CBs are much lower.

[0251] The above-mentioned situation (i.e., where more CBs have been correctly decoded) occurs more frequently when the number of retransmissions increases.

[0252] Therefore, HARQ retransmission mode may be progressively switched from a traditional IR-HARQ mode to a  cross-CB IR-HARQ mode when sufficient CBs are decoded.

[0253] In some implementations, with reference to the above communication method 1200, the encoding apparatus may transmit the second code sequence only in the case where a number of the code set being retransmitted greater than or equal to a first threshold.

[0254] In some other implementations, with reference to the above communication method 1200, the decoding apparatus may transmit a third message to the encoding apparatus to request for a retransmission used the second code sequence.

[0255] An example implementation described below illustrates embodiments that include the above-mentioned progressive HARQ mode switching and indication.

[0256] Specifically, the transmission can switch from a traditional IR-HARQ mode to a cross-CB IR-HARQ mode after a sufficient number of retransmissions, denoted by Tmax, have been reached.

[0257] In some implementations, an explicit configuration may be used for above progressive switching. Specifically, the Tmax can be fixed to 1, 2, 3, 4, and this fixed Tmax can be flexibly configured by RRC or DCI. The number of retransmissions, denoted by T, may be counted and recorded (for example, add 1 to the value of T for each retransmission) . Then, when T becomes equal to Tmax, subsequent transmissions may switch from the traditional IR-HARQ mode to the cross-CB IR-HARQ mode.

[0258] In some other implementations, an implicit configuration via UCI feedback may be used for above progressive switching. For example, a special type of feedback may be defined to request to switch to cross-CB IR-HARQ mode, e.g., a 1-bit cross-CB-flag when UE has most CBs decoded. For another example, soft NACK or decoder state information (DSI) with multiple bits may be used to indicate decoding state, e.g., {00=all-NACK, 01=most-NACK, 10=most-ACK, 11=all-ACK} . The transmitter adopts traditional IR-HARQ if 00 or 01 is received, and switches to cross-CB IR-HARQ if 10 is received.

[0259] As shown in FIG. 22, as more CBs are correctly decoded, it would be a waste of channel resource to send their incremental redundancy RVs. In this case, cross-CB IR-HARQ effectively further increases the redundancy of the CBs that are still incorrectly decoded.

[0260] It should be noted that any of the preceding example implementations may be further adapted to other cross-CB coding schemes such as outer codes and product-code-based two-dimensional coding scheme.

[0261] The communication method according to the embodiments of this application is described in detail above with reference to FIG. 12 to FIG. 22, and the encoding apparatus and the decoding apparatus according to the embodiments of this application will be described in detail below with reference to FIG. 23 to FIG. 27.

[0262] FIG. 23 is a schematic block diagram of an encoding apparatus 10 according to an embodiment of this application. As shown in FIG. 23, the encoding apparatus 10 includes:

[0263] a transceiver module 11, configured to receive a first message, where the first message indicates that the decoding of a code set is unsuccessful, the code set includes N code blocks, and N is a positive integer greater than 1; and

[0264] an encoding module 12, configured to obtain M first code sequences, where the M first code sequences correspond one-to-one with M code blocks from the N code blocks, each first code sequence among the M first code sequences is obtained based on corresponding code block, and M is a positive integer greater than 1 and less than or equal to N.

[0265] The encoding module 12 is further configured to obtain a second code sequence based on the M first code sequences, where each first code sequence is enabled to be obtained based on the second code sequence and other M-1 first code sequence (s) among the M first code sequences, and the each first code sequence and the second code sequence have the same number of bits.

[0266] The transceiver module 11 is further configured transmit the second code sequence.

[0267] Therefore, multiple code sequences corresponding to different CBs are allowed to be combined to generated a cross-CB code sequence used for retransmission. Thus, coding gain and spectral efficiency of HARQ can be improved.

[0268] The encoding apparatus 10 in this embodiment of this application may correspond to the encoding apparatus in the communication method in the embodiments of this application described above, and the management operations and / or functions and other management operations and / or functions of modules of the encoding apparatus 10 are intended to implement corresponding steps of the foregoing methods. For brevity, details are not described herein again.

[0269] The transceiver module 11 in this embodiment of this application may be implemented by a transceiver, and the encoding module 12 may be implemented by an encoder.

[0270] As shown in FIG. 24, an encoding apparatus 20 may include a transceiver 21. Optionally, the encoding apparatus 20 may further include a processor 22 and / or a memory 23. The memory 23 may be configured to store indication information, or may be configured to store code, instructions, and the like that is to be executed by the processor 22.

[0271] FIG. 25 is a schematic block diagram of a decoding apparatus 30 according to an embodiment of this application. As shown in FIG. 25, the decoding apparatus 30 includes:

[0272] a transceiver module 31, configured to transmit the first configuration information, and to receive the second code sequence; and

[0273] a decoding module 32, configured to obtain the M first code sequences based on the second code sequence.

[0274] The decoding apparatus 30 in this embodiment of this application may correspond to the decoding apparatus in the communication method in the embodiments of this application described above, and the foregoing management operations and / or functions and other management operations and / or functions of modules of the decoding apparatus 30 are intended to implement corresponding steps of the foregoing methods. For brevity, details are not described herein again.

[0275] The transceiver module 31 in this embodiment of this application may be implemented by a transceiver, and the decoding module 32 may be implemented by a decoder.

[0276] As shown in FIG. 26, a decoding apparatus 40 may include a transceiver 41. Optionally, the decoding apparatus 40 may further include a processor 42 and / or a memory 43. The memory 43 may be configured to store indication information, or may be configured to store code, instructions, and the like that is to be executed by the processor 42.

[0277] The processor 22 or the processor 42 may be an integrated circuit and have a signal processing capability. In an embodiment process, steps in the foregoing method embodiments can be implemented by using a hardware-integrated logical circuit in the processor, or by using instructions in the form of software. The processor 22 or the processor 42 may be a general-purpose processor, a digital signal processor (DSP) , an application-specific integrated circuit (ASIC) , a field programmable gate array (FPGA) , or another programmable logic device, a discrete gate or a transistor logic device, or a discrete hardware component. All methods, steps, and logical block diagrams disclosed in these embodiments of the present application may be implemented or performed. The general-purpose processor may be a microprocessor, or the processor may be any conventional processor or the like. Steps of the methods disclosed in the embodiments of the present invention may be directly performed and completed by a hardware decoding processor, or may be performed and completed by using a combination of hardware and software modules in the decoding processor. The software module may be located in a storage medium known in the art, such as a random access memory, a flash memory, a read-only memory, a programmable read-only memory, an electrically erasable programmable memory, or a register. The storage medium is located in the memory, and the processor reads the information in the memory and completes the steps in the foregoing methods in combination with the hardware of the processor.

[0278] The memory 23 or the memory 43 in the embodiments of the present invention may be a volatile memory or a non-volatile memory, or may include a volatile memory and a non-volatile memory. The non-volatile memory may be a read-only memory (ROM) , a programmable read-only memory (PROM) , an erasable programmable read-only memory (EPROM) , an electrically erasable programmable read-only memory (EEPROM) , or a flash memory. The volatile memory may be a random access memory (RAM) , and be used as an external cache. Through example but not limitative description, many forms of RAMs may be used, for example, a static random access memory (SRAM) , a dynamic random access memory (DRAM) , a synchronous dynamic random access memory (SDRAM) , a double data rate synchronous dynamic random access memory (DDR SDRAM) , an enhanced synchronous dynamic random access memory (ESDRAM) , a synchronous link dynamic random access memory (SLDRAM) , and a direct rambus dynamic random access memory (DR RAM) . The storage of the system and the method described in this specification aim to include, but are not limited to, these and any other proper storage.

[0279] An embodiment of this application further provides a system. As shown in FIG. 27, a system 50 includes:

[0280] the encoding apparatus 10 according to the embodiments of this application and the decoding apparatus 30  according to the embodiments of this application.

[0281] An embodiment of this application further provides a computer storage medium, and the computer storage medium may store a program instruction for executing any of the foregoing methods.

[0282] Optionally, the storage medium may be specifically the memory 23 or 43.

[0283] A person of ordinary skill in the art will be aware that, in combination with the examples described in the embodiments disclosed in this specification, units and algorithm steps may be implemented by using electronic hardware or a combination of computer software and electronic hardware. Whether the functions are performed by using hardware or software depends on particular applications and design constraint conditions of the technical solutions. A person skilled in the art may use different methods to implement the described functions for each particular application, but it should not be considered that the embodiment goes beyond the scope of this application.

[0284] It would be understood by a person skilled in the art that, for the purpose of convenience and brevity, in a detailed working process of the foregoing system, apparatus, and unit, reference may be made to a corresponding process in the foregoing method embodiments, and details are not described herein again.

[0285] In the several embodiments provided in this application, the disclosed system, apparatus, and method may be implemented in other manners. For example, the described apparatus embodiment is merely an example. For example, the unit division is a logical function division and other methods of division may be used in an actual embodiment. For example, a plurality of units or components may be combined or integrated into another system, or some features may be ignored or not performed. In addition, the displayed or discussed mutual couplings or direct couplings or communication connections may be implemented by using some communication interfaces. The indirect couplings or communication connections between the apparatuses or units may be implemented in electronic, mechanical, or other forms.

[0286] The units described as separate parts may or may not be physically separate, and parts displayed as units may or may not be physical units, that is, the parts may be located in one unit, or may be distributed among a plurality of network units. Some or all of the units may be selected based on actual requirements to achieve the objectives of the embodiments.

[0287] In addition, function units in the embodiments of this application may be integrated into one processing unit, each of the units may exist alone physically, or two or more units may be integrated into one unit.

[0288] When the functions are implemented in the form of a software functional unit and sold or used as an independent product, the functions may be stored in a computer-readable storage medium. The technical solutions of this application may be implemented in the form of a software product. The software product is stored in a storage medium, and includes several instructions for instructing a computer device (which may be a personal computer, a server, a network device, or the like) to perform all or some of the steps of the methods described in the embodiments of this application. The foregoing storage medium  includes any medium that can store program code, such as a USB flash drive, a removable hard disk, a read-only memory (ROM) , a random access memory (RAM) , a magnetic disk, an optical disc or the like.

[0289] The present disclosure encompasses various embodiments, including not only method embodiments, but also other embodiments such as apparatus embodiments and embodiments related to non-transitory computer readable storage media. Embodiments may incorporate, individually or in combinations, the features disclosed herein.

[0290] Although this disclosure refers to illustrative embodiments, this is not intended to be construed in a limiting sense. Various modifications and combinations of the illustrative embodiments, as well as other embodiments of the disclosure, will be apparent to persons skilled in the art upon reference to the description.

[0291] Features disclosed herein in the context of any particular embodiments may also or instead be implemented in other embodiments. Method embodiments, for example, may also or instead be implemented in apparatus, system, and / or computer program product embodiments. In addition, although embodiments are described primarily in the context of methods and apparatus, other implementations are also contemplated, as instructions stored on one or more non-transitory computer-readable media, for example. Such media could store programming or instructions to perform any of various methods consistent with the present disclosure.

[0292] The foregoing descriptions are merely specific embodiments of this application, but are not intended to limit the protection scope of this application. Any variation or replacement readily figured out by a person skilled in the art within the technical scope disclosed in this application shall fall within the protection scope of this application. Therefore, the protection scope of this application shall be subject to the protection scope of the claims.

Claims

A communication method, comprising:receiving a first message, wherein the first message indicates that decoding of a code set is unsuccessful, the code set comprises N code blocks, and N is a positive integer greater than 1;obtaining M first code sequences, wherein the M first code sequences correspond one-to-one with M code blocks from the N code blocks, each first code sequence among the M first code sequences is obtained based on a corresponding code block, and M is a positive integer greater than 1 and less than or equal to N;obtaining a second code sequence based on the M first code sequences, wherein each first code sequence is obtained based on the second code sequence and other M-1 first code sequence (s) among the M first code sequences, and each first code sequence and the second code sequence have the same number of bits; andtransmitting the second code sequence.The method according to claim 1, wherein each first code sequence comprises k bits, the second code sequence comprises k bits, the i-th bit of the second code sequence is obtained through a bitwise operation based on the respective i-th bits of each of the M first code sequences, k is a positive integer, and i is a positive integer less than or equal to k.The method according to claim 2, wherein the bitwise operation is an exclusive-OR (XOR) operation performed on values of the respective i-th bits of each of the M first code sequences.The method according to any one of claims 1 to 3, wherein the M first code sequences comprise redundancy versions (RVs) of corresponding code blocks.The method according to any one of claims 1 to 4, wherein the M code blocks have the same spacing in a sequence comprising the N code blocks.The method according to any one of claims 1 to 5, wherein a value of M is indicated by at least one of a radio resource control (RRC) message or a downlink control information (DCI) message.The method according to any one of claims 1 to 6, wherein the method further comprises:transmitting a second message, wherein the second message comprises a first field, and a value of the first field indicates a mode of the code set being retransmitted; andwherein the transmitting the second code sequence comprises transmitting the second code sequence in a case where the value of the first field indicates that the mode is a first mode.The method according to claim 7, wherein the method further comprises transmitting the M first code sequences in a case where the value of the first field indicates that the mode is a second mode.The method according to claim 7 or 8, wherein the value of the first field is associated with at least one or more of the following: a number of code blocks in the code set that have not been decoded, discrepancy of a channel used to retransmit the code set in a retransmission, whether a channel quality indicator (CQI) of the channel is able to be obtained, or whether an acknowledgement or negative acknowledgement (ACK / NACK) feedback for the retransmission is available.The method according to any one of claims 7 to 9, wherein the second message is an RRC message or a DCI message.The method according to any one of claims 1 to 10, wherein the transmitting the second code sequence comprises transmitting the second code sequence in a case where a number of the code set being retransmitted is greater than or equal to a first threshold.The method according to any one of claims 1 to 11, wherein the method further comprises:receiving a third message, wherein the third message is used to request to retransmit the code set by transmitting the second code sequence.A communication method, comprising:transmitting a first message, wherein the first message indicates that decoding of a code set is unsuccessful, the code set comprises N code blocks, and N is a positive integer greater than 1;receiving a second code sequence; andobtaining M first code sequences based on the second code sequence, wherein the M first code sequences correspond one-to-one with M code blocks from the N code blocks, each first code sequence is obtained based on the second code sequence and other M-1 first code sequence (s) among the M first code sequences, each first code sequence and the second code sequence have the same number of bits, and M is a positive integer greater than 1 and less than or equal to N.The method according to claim 13, wherein each first code sequence comprises k bits, the second code sequence comprises k bits, where k is a positive integer, and the obtaining M first code sequences based on the second code sequence comprises:obtaining the j-th first code sequence among the M first code sequences based on the second code sequence and other M-1 first code sequence (s) , wherein the i-th bit of the j-th first code sequence is obtained through a bitwise operation based on the i-th bit of the second code sequence and the respective i-th bit (s) of the other M-1 first code sequence (s) , where i is a positive integer less than or equal to k, and j is a positive integer less than or equal to M.The method according to claim 14, wherein the bitwise operation is an exclusive-OR (XOR) operation performed on values of the respective i-th bits of each of the M first code sequences.The method according to any one of claims 13 to 15, wherein the M first code sequences comprise redundancy versions (RVs) of corresponding code blocks.The method according to any one of claims 13 to 16, wherein the M code blocks have the same spacing in a sequence comprising the N code blocks.The method according to any one of claims 13 to 17, wherein a value of M is indicated by at least one of a radio resource control (RRC) message or a downlink control information (DCI) message.The method according to any one of claims 13 to 18, wherein the method further comprises:receiving a second message, wherein the second message comprises a first field, and a value of the first field indicates a mode of the code set being retransmitted; andwherein the receiving a second code sequence comprises receiving the second code sequence in a case where the value of the first field indicates that the mode is a first mode.The method according to claim 19, wherein the method further comprises receiving the M first code sequences in a case where the value of the first field indicates that the mode is a second mode.The method according to claim 19 or 20, wherein the value of the first field is associated with at least one or more of the following: a number of code blocks in the code set that have not been decoded, discrepancy of a channel used to retransmit the code set in a retransmission, whether a channel quality indicator (CQI) of the channel is able to be obtained, or whether an acknowledgement or negative acknowledgement (ACK / NACK) feedback for the retransmission is available.The method according to any one of claims 19 to 21, wherein the second message is an RRC message or a DCI message.The method according to any one of claims 13 to 22, wherein the receiving a second code sequence comprises receiving the second code sequence in a case that a number of the code set being retransmitted is greater than or equal to a first threshold.The method according to any one of claims 13 to 23, wherein the method further comprises:transmitting a third message, wherein the third message is used to request to retransmit the code set by transmitting the second code sequence.An apparatus comprising a processor and a memory storing instructions for execution by the processor to cause the apparatus to perform the method of any one of claims 1 to 24.An apparatus comprising a processor configured to cause the apparatus to perform the method of any one of claims 1 to 24.A communications system comprising a transmitting apparatus and a receiving apparatus, wherein the receiving apparatus performs the method according to any one of claims 1 to 12, and the transmitting apparatus performs the method according to any one of claims 13 to 24.A computer readable storage medium comprising one or more instructions, wherein the one or more instructions, when executed on a computer, cause the computer to perform the method according to any one of claims 1 to 24.