Methods, system, and apparatus for joint error correction coding of a self-decodable payload and a combined payload
Patent Information
- Authority / Receiving Office
- EP · EP
- Patent Type
- Applications
- Current Assignee / Owner
- HUAWEI TECH CO LTD
- Filing Date
- 2023-08-23
- Publication Date
- 2026-05-13
AI Technical Summary
Current error correction coding methods for wireless communications face a tradeoff between ultra-reliable communication and low latency communication, where achieving ultra-reliability through hybrid automatic repeat request (HARQ) increases round-trip delay, and reducing code rate and modulation order compromises spectrum efficiency.
The proposed solution involves joint error correction coding of self-decodable payloads and combined payloads, where codewords are generated by error correction encoding individual payloads, allowing for independent and joint decoding, thereby mitigating retransmission latency and enhancing performance for soft-output decoding applications.
This approach enables unequal error protection for different payloads, supports self-decodability for each individual service, and enhances joint decoding performance, thereby addressing the challenges of achieving both ultra-reliability and low latency in wireless communications.
Smart Images

Figure CN2023114410_27022025_PF_FP_ABST
Abstract
Description
Methods, System, and Apparatus for Joint Error Correction Coding of a Self-decodable Payload and a Combined PayloadTECHNICAL FIELD
[0001] The present application relates to error correction coding for wireless communications.BACKGROUND
[0002] Resilience is a fundamental feature that needs to be addressed for so-called sixth generation (6G) communications. According to some technology visions of future factories and industries, for example, ultra-reliable and low latency wireless communications are a pivotal enabler for automated manufacturing on a massive scale.
[0003] Two trends are also observed in recent developments toward 6G. From a technological perspective, millimeter-wavelength (mmWave) communications and massive multiple input multiple output (MIMO) may become more prevalent because they can significantly expand current bandwidth resources. From a service perspective, a single communication device will likely need to support multiple services with different latency and reliability requirements.
[0004] A potential scenario emerges as multiple services converge into one physical wireless link. The purpose is to deliver multiple quality of service (QoS) levels to multiple services within only one wireless link. Given high carrier frequency and massive number of antennas in some communication systems, beamforming can be done more aggressively, enabling the convergence of multiple services into one wireless link. Meanwhile, these services may have very diverse key performance indicators (KPIs) . For example, ultra-reliable low latency communications (URLLC) , massive machine type communications (mMTC) , enhanced mobile broadband (eMBB) and terabit per second (Tbps) communications may all be integrated in one link. This is challenging because different KPIs, for example for signal to noise ratio (SNR) , fading, etc., must be supported under the same wireless channel.SUMMARY
[0005] The present disclosure encompasses embodiments that may be useful in addressing various technical shortcomings of current coding methods. With current technologies, there is a tradeoff between ultra-reliable communication and low latency communication. To achieve ultra-reliability, hybrid automatic repeat request (HARQ) has been employed in current systems to reduce the block error rate (BLER) level by several orders of magnitude. However, round-trip delay incurred by negative acknowledgement (NACK) signaling, re-scheduling and retransmission may not meet low-latency requirements in 6G. A simple workaround is to reduce code rate and modulation order, but this comes at a cost of spectrum efficiency, and is generally discouraged in system design.
[0006] A previous disclosure, International Patent Application No. PCT / CN2022 / 122852, filed September 29, 2022, proposes a coding approach to enhance reliability without requesting a retransmission after a decoding failure. A second, joint decoding attempt is made after a decoding failure, to decode using received symbols of multiple coupled codewords, instead of newly retransmitted symbols received in response to a HARQ NACK. This type of approach may be referred to as a HARQ-less approach, in that a retransmission is not automatically requested immediately after a decoding failure.
[0007] Some types of soft-output (also known as soft-decision) decoders perform iterative decoding. Examples include convolutional codes, turbo codes, low-density parity check (LDPC) codes, product codes and woven codes. In a parallel and soft cancellation decoding scheme, all parts of a code block are decoded simultaneously, and then the soft decisions (e.g., likelihood, probability, or log-likelihood ratio (LLR) ) of all bits are exchanged across the whole code block, before entering the next iteration. Such codes can also be jointly decoded. For example, after decoding two codes independently, soft information about shared or coupled bits (called inter-code iteration) may be exchanged between two codes before further decoding. There may, however, still be a challenge in designing specific codes to support self-decodable joint coding features according to the HARQ-less coding approach referenced above, such that each individual payload (corresponding to a respective different service, for example) can be self-decoded, and at the same time support joint decoding to further enhance performance.
[0008] The present disclosure includes detailed encoding and decoding embodiments that are particularly suited to joint forward error correction (FEC) coding that involves multiple coupled codewords. Self-decoding of a single codeword and enhanced joint decoding of multiple codewords may be enabled by coupling codewords with shared payload bits, which may be or include information bits, systematic bits, or code bits.
[0009] In some embodiments of the present disclosure, retransmission latency may be mitigated or avoided in conjunction by supporting further decoding operations after a decoding failure of a delay-sensitive payload. Requesting a retransmission may not be feasible in some applications because a resulting round-trip delay may exceed a maximum tolerable delay, and further decoding operations after decoding failure may avoid a retransmission request. For example, extra decoding latency incurred during a second decoding attempt without requesting a retransmission is likely to be much smaller than the extra latency of round-trip delay for a retransmission.
[0010] Joint coding according to some embodiments may help enhance performance for soft-output decoding implementations, in that multiple services may in effect augment each other in joint coding.
[0011] Unequal error protection may be provided for different payloads, such as payloads related to different services. For example, target BLER of a URLLC payload may be at least one order of magnitude lower than that of an eMBB payload. Embodiments disclosed herein may enable such unequal error protection, even for soft-output decoding applications.
[0012] Self-decodability, for each individual service for example, may also or instead be provided. To support different latency requirements of multiple services, each service may be self-decodable based on its own proportion of code bits in a codeword, or in other words based on its own corresponding part of a longer codeword. For example, it may be possible to decode a shorter URLLC payload once some, but not necessarily all, code bits (such as log-likelihood ratios or LLRs) of a longer codeword are received. Payloads may thus be self-decodable, without having to wait for the reception of an entire, longer, joint codeword. Embodiments disclosed herein may provide such self-decodability and / or joint-decodability for soft-output decoding.
[0013] According to an aspect of the present disclosure, a method involves error correction encoding individual payloads to generate a plurality of codewords. The plurality of codewords includes a first codeword generated by error correction encoding a first individual payload, and a second codeword generated based on bits that are associated with a second individual payload and are interleaved with bits associated with the first individual payload. The first codeword is decodable independently of the second codeword, and is further decodable jointly with the second codeword. Such a method may also involve outputting the first codeword and the second codeword.
[0014] Another method involves encoding individual payloads to generate a plurality of encoded bits. The plurality of encoded bits includes first encoded bits generated by encoding a first individual payload, and second encoded bits generated by encoding a second individual payload with which bits that are associated with the first individual payload are combined. Such a method may also involve outputting a first codeword and a second codeword comprising the encoded bits. Each of the first codeword and the second codeword includes encoded bits based on the bits that are associated with the first individual payload. As in other embodiments, the first codeword is decodable independently of the second codeword and is further decodable jointly with the second codeword.
[0015] According to yet another aspect of the present disclosure, a method involves receiving, from a first communication device by a second communication device in a wireless communication network, a plurality of codewords. The plurality of codewords includes a first codeword and a second codeword. The first codeword is decodable independently of the second codeword and is further decodable jointly with the second codeword.
[0016] In some embodiments, the codewords are generated by error correction encoding individual payloads. The first codeword is generated by error correction encoding a first individual payload, and the second codeword is generated based on bits that are associated with a second individual payload and are interleaved with bits associated with the first individual payload.
[0017] Other embodiments may involve receiving, from a first communication device by a second communication device in a wireless communication network, a first codeword and a second codeword comprising a plurality of encoded bits generated by encoding individual payloads. The encoded bits are generated by encoding individual payloads, and include first encoded bits generated by encoding a first individual payload, and second encoded bits generated by encoding a second individual payload with which bits that are associated with the first individual payload are combined. Each of the first codeword and the second codeword comprising encoded bits based on the bits that are associated with the first individual payload. The first codeword is decodable independently of the second codeword, and is further decodable jointly with the second codeword.
[0018] An apparatus according to an embodiment includes an encoder and an interface coupled to the encoder. The encoder is for encoding individual payloads to generate a plurality of codewords including a first codeword and a second codeword, and the interface is for outputting the first codeword and the second codeword.
[0019] According to another embodiment, an apparatus includes an interface for receiving a plurality of codewords including a first codeword and a second codeword, and the interface is for outputting the first codeword and the second codeword.
[0020] In apparatus embodiments, and others, the codewords may be generated by error correction encoding individual payloads, with the first codeword generated by error correction encoding a first individual payload and the second codeword generated based on bits that are associated with a second individual payload and are interleaved with bits associated with the first individual payload. The first codeword is decodable independently of the second codeword and is further decodable jointly with the second codeword.
[0021] In another apparatus embodiment, an apparatus includes an encoder for encoding individual payloads to generate a plurality of encoded bits, and an interface for outputting a first codeword and a second codeword comprising the encoded bits.
[0022] An apparatus according to yet another embodiment includes an interface for receiving, from a first communication device by a second communication device in a wireless communication network, a first codeword and a second codeword comprising a plurality of encoded bits generated by encoding individual payloads.
[0023] The encoded bits may include first encoded bits generated by encoding a first individual payload and second encoded bits generated by encoding a second individual payload with which bits that are associated with the first individual payload are combined. Each of the first codeword and the second codeword includes encoded bits based on the bits that are associated with the first individual payload, the first codeword is decodable independently of the second codeword, and the first codeword is further decodable jointly with the second codeword.
[0024] In other apparatus embodiments, an apparatus may include a processor configured to cause the apparatus to perform any of the methods as disclosed herein.
[0025] An apparatus may include a processor and a non-transitory computer readable storage medium that is coupled to the processor and stores programming for execution by the processor.
[0026] A storage medium need not necessarily or only be implemented in or in conjunction with such an apparatus. A computer program product, for example, may be or include a non-transitory computer readable medium storing programming for execution by a processor.
[0027] Programming stored by a computer readable storage medium may include instructions to, or to cause a processor to, perform, implement, support, or enable any of the methods disclosed herein.
[0028] A system is also disclosed, and may include a first communication device and a second communication device. The first communication device is configured to transmit a plurality of codewords generated by encoding individual payloads, and the plurality of codewords includes a first codeword and a second codeword. As in other embodiments, the codewords may be generated by error correction encoding individual payloads, with the first codeword generated by error correction encoding a first individual payload and the second codeword generated based on bits that are associated with a second individual payload and are interleaved with bits associated with the first individual payload. The first codeword is decodable independently of the second codeword and is further decodable jointly with the second codeword. The second communication device is configured to receive the first codeword and the second codeword from the first communication device, and to decode the first individual payload and the second individual payload from the first codeword and the second codeword.
[0029] According to another system embodiment, a system includes a first communication device configured to transmit a first codeword and a second codeword comprising a plurality of encoded bits generated by encoding individual payloads. The plurality of encoded bits include first encoded bits generated by encoding a first individual payload, and second encoded bits generated by encoding a second individual payload with which bits that are associated with the first individual payload are combined. Each of the first codeword and the second codeword includes encoded bits based on the bits that are associated with the first individual payload. The first codeword is decodable independently of the second codeword, and is further being decodable jointly with the second codeword. Such a system may also include a second communication device configured to receive the first codeword and the second codeword from the first communication device, and to decode the first individual payload and the second individual payload from the first codeword and the second codeword.
[0030] The present disclosure encompasses these and other aspects or embodiments.BRIEF DESCRIPTION OF THE DRAWINGS
[0031] For a more complete understanding of the present embodiments, and the advantages thereof, reference is now made, by way of example, to the following descriptions taken in conjunction with the accompanying drawings.
[0032] Fig. 1 is a simplified schematic illustration of a communication system.
[0033] Fig. 2 is a block diagram illustration of the example communication system in Fig. 1.
[0034] Fig. 3 illustrates an example electronic device and examples of base stations.
[0035] Fig. 4 illustrates units or modules in a device.
[0036] Fig. 5 is a block diagram illustrating an example multi-service scenario.
[0037] Fig. 6 is a block diagram illustrating encoding and decoding according to an embodiment.
[0038] Fig. 7 is a block diagram illustrating an example of an encoder according to an embodiment.
[0039] Fig. 8 is a block diagram illustrating an example of an encoder according to another embodiment.
[0040] Fig. 9 is a block diagram illustrating an example decoder according to another embodiment.
[0041] Fig. 10 illustrates encoding according to yet another embodiment.
[0042] Fig. 10A is a block diagram of an example encoding chain according to an embodiment.
[0043] Fig. 11 is a flow diagram illustrating example methods according to embodiments.
[0044] Fig. 12 includes block diagrams illustrating apparatus according to embodiments.DETAILED DESCRIPTION
[0045] For illustrative purposes, specific example embodiments will now be explained in greater detail in conjunction with the figures.
[0046] The embodiments set forth herein represent information sufficient to practice the claimed subject matter and illustrate ways of practicing such subject matter. Upon reading the following description in light of the accompanying figures, those of skill in the art will understand the concepts of the claimed subject matter and will recognize applications of these concepts not particularly addressed herein. It should be understood that these concepts and applications fall within the scope of the disclosure and the accompanying claims.
[0047] Referring to Fig. 1, as an illustrative example without limitation, a simplified schematic illustration of a communication system is provided. The communication system 100 comprises a radio access network 120. The radio access network 120 may be a next generation (e.g., sixth generation, “6G, ” or later) radio access network, or a legacy (e.g., 5G, 4G, 3G or 2G) radio access network. One or more communication electric 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. Also the communication system 100 comprises a public switched telephone network (PSTN) 140, the internet 150, and other networks 160.
[0048] Fig. 2 illustrates an example communication system 100. In general, the communication system 100 enables multiple wireless or wired elements to communicate data and other content. The purpose of the communication system 100 may be to provide content, such as voice, data, video, signaling, and / or text, via broadcast, multicast and unicast, etc. 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 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 system 100 may provide a high degree of availability and robustness through a joint operation of a terrestrial communication system and a 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 comprising 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.
[0049] The terrestrial communication system and the non-terrestrial communication system could be considered sub-systems of the communication system. In the example shown in Fig. 2, the communication system 100 includes electronic devices (ED) 110a, 110b, 110c, 110d (generically referred to as ED 110) , radio access networks (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 base stations (BSs) 170a, 170b, which may be generically referred to as terrestrial transmit and receive points (T-TRPs) 170a, 170b. The non-terrestrial communication network 120c includes an access node 172, which may be generically referred to as a non-terrestrial transmit and receive point (NT-TRP) 172.
[0050] 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 and / or downlink transmission over a terrestrial air interface 190a with 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 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 NT-TRP 172.
[0051] 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) , Discrete Fourier Transform spread OFDMA (DFT-OFDMA) or single-carrier FDMA (SC-FDMA) 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.
[0052] The non-terrestrial air interface 190c can enable communication between the ED 110d and one or multiple 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 multiple NT-TRPs 172 for multicast transmission.
[0053] The RANs 120a and 120b are in communication with the core network 130 to provide the EDs 110a, 110b, 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 core network 130 and may, or may not, employ the same radio access technology as RAN 120a, RAN 120b or both. The core network 130 may also serve as a gateway access between (i) the RANs 120a and 120b or the EDs 110a, 110b, 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, 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, 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, 110c may be multimode devices capable of operation according to multiple radio access technologies and may incorporate multiple transceivers necessary to support such.
[0054] 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, for example, cellular communications, device-to-device (D2D) , vehicle to everything (V2X) , peer-to-peer (P2P) , machine-to-machine (M2M) , machine-type communications (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.
[0055] Each ED 110 represents any suitable end user device for wireless operation and may include such devices (or may be referred 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 machine type communication (MTC) device, a personal digital assistant (PDA) , a smartphone, a laptop, a computer, a tablet, a wireless sensor, a consumer electronics device, a smart book, a vehicle, a car, a truck, a bus, a train, or an IoT device, wearable devices such as a watch, head mounted equipment, a pair of glasses, an industrial device, or apparatus (e.g., communication module, modem, or chip) in the forgoing devices, among other possibilities. Future generation EDs 110 may be referred to using other terms. Each base station 170a and 170b is a T-TRP and will, hereafter, be referred to as T-TRP 170. Also shown in Fig. 3, a NT-TRP 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 of more of: connection availability; and connection necessity.
[0056] The ED 110 includes a transmitter 201 and a receiver 203 coupled to one or more antennas 204. Only one antenna 204 is illustrated. 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 the at least one antenna 204 or by a network interface controller (NIC) . The transceiver may also be 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.
[0057] The ED 110 includes at least one memory 208. The memory 208 stores instructions and 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 unit (s) (e.g., a processor 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.
[0058] 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 permit interaction with a user or other devices in the network. Each input / output device includes any suitable structure for providing information to, or receiving information from, a user, such as through operation as a speaker, a microphone, a keypad, a keyboard, a display or a touch screen, including network interface communications.
[0059] The ED 110 includes the processor 210 for performing 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. 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.
[0060] 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.
[0061] 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) , a graphical processing unit (GPU) , a Central Processing Unit (CPU) or an application-specific integrated circuit (ASIC) .
[0062] 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 a chip) in the forgoing devices.
[0063] 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 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.
[0064] 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. 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. The T-TRP 170 further includes a processor 260 for performing 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. Dynamic signaling may be transmitted in a control channel, e.g., a physical downlink control channel (PDCCH) and static, or semi-static, higher layer signaling may be included in a packet transmitted in a data channel, e.g., in a physical downlink shared channel (PDSCH) .
[0065] The scheduler 253 may be coupled to 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 and / or backhaul transmissions, including issuing scheduling grants and / or configuring scheduling-free ( “configured grant” ) resources. The T-TRP 170 further includes a memory 258 for storing information and data. 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.
[0066] 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.
[0067] 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 of, 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 FPGA, a GPU or an ASIC.
[0068] Notably, 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 high altitude platforms, satellite, high altitude platform as international mobile telecommunication base stations and unmanned aerial vehicles, which forms will be discussed hereinafter. 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. The NT-TRP 172 includes a transmitter 272 and a receiver 274 coupled to one or more antennas 280. Only one antenna 280 is illustrated. One, some, or all of the antennas may alternatively be panels. The transmitter 272 and the receiver 274 may be integrated as a transceiver. The NT-TRP 172 further includes a processor 276 for performing 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 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 signals 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.
[0069] The NT-TRP 172 further includes a memory 278 for storing information and data. 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.
[0070] 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 GPU, a CPU 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.
[0071] 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.
[0072] One or more steps of the embodiment methods provided herein may be performed by corresponding units or modules, according to Fig. 4. Fig. 4 illustrates units or modules in a device, such as in the ED 110, in the T-TRP 170 or in the NT-TRP 172. For example, a signal may be transmitted by a transmitting unit or by a transmitting module. A signal may be received by a receiving unit or by a receiving module. A signal may be processed by a processing unit or by 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 an integrated circuit, such as a programmed FPGA, a GPU, a CPU or an ASIC. 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.
[0073] 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.
[0074] Having considered communications more generally above, attention will now turn to particular example embodiments.
[0075] As referenced above, multiple services may converge or be integrated into one physical wireless link, and these services may have diverse key performance indicators (KPIs) . Fig. 5 is a block diagram illustrating an example multi-service scenario, in which services integrated into one link may include any of URLLC, mMTC, eMBB, and Tbps services. In Fig. 5, communication devices include a network device 502, a vehicle-based device represented at 504, a home-based or other premises-based device represented at 506, a user device represented at 508, and an industrial or machine-based device represented at 510, each with example services as shown.
[0076] The present disclosure is not limited to these or any other types of devices or services. Fig. 5 is intended to provide one example scenario in which embodiments disclosed herein may be particularly useful. More generally, disclosed embodiments may be implemented, for example, in next-generation mobile and wireless network services, cloud and edge computing services, and sensing services. Some embodiments may be particularly useful for automated manufacturing systems in smart factories, and / or other intelligent vertical scenarios such as ports, delivery systems, and medical systems. These possible applications of embodiments are also illustrative and non-limiting examples.
[0077] A multi-service scenario, such as the scenario shown by way of example in Fig. 5, may be considered a form of intra-user equipment (UE) multiple access (MA) . Intra-UE MA refers to concurrent transmissions of multiple services from one terminal device.
[0078] There are two primary types of channel coding corresponding to soft-output and hard-output decoder types.
[0079] Soft-output iteratively decoded codes, for example, include convolutional codes, turbo codes, LDPC codes, product codes, and woven codes. These codes typically take a parallel and soft cancellation decoding approach, in which all parts of a code block are decoded simultaneously, and then soft decision information such as likelihood, probability, or LLR of all bits is exchanged across the whole code block before entering a next iteration. Such codes can also be jointly decoded. For example, after decoding two codes independently, soft information about shared bits (also referred to herein as coupled bits) can be exchanged (in an inter-code iteration) between two codes before their further decoding.
[0080] Hard-output successively decoded codes include polar codes, polarization-adjusted convolutional (PAC) codes, Reed-Muller (RM) codes, Bose-Chaudhuri-Hocquenghem (BCH) codes, and Reed-Solomon (RS) codes. These codes can implement a successive hard cancellation decoding approach, in which part of a code block in a received signal is decoded first, and then the hard decision of the decoded part is removed from the received signal before decoding a next part of the code block. These codes can also be decoded through joint successive cancellation. For example, after decoding one codeword, shared bits can be cancelled from another codeword, and then that other codeword can be decoded. Because codes belonging to any one type have more compatible decoders, they are more conveniently decoded together. Therefore, it may be preferable to use codes of the same type (i.e., soft or hard) for embodiments that are to enable or support joint decoding. However, it is also possible to use codes of different types in other embodiments.
[0081] Decoding type has a direct effect on design of a HARQ-less coding approach, and the present disclosure focuses primarily on embodiments that involve soft-output decoding.
[0082] In some soft-output decoding examples, a soft-output belief propagation (BP) decoder for LDPC codes or a log-MAP (maximum a posteriori) decoder for turbo codes and woven codes performs iterative soft decisions on code bits or information bits. The iterative decoding methods allow refinement of the belief about certain bits as the number of iterations increases. This may support a second decoding attempt by adding more iterations with more received symbols. However, there may still be a need to design specific codes to support self-decodable joint coding, such that each of multiple individual payloads (corresponding to respective different services, for example) can be self-decoded, and also support joint decoding to further enhance performance.
[0083] A joint FEC code includes multiple coupled codewords. Either bit-by-bit (bitwise) soft decision decoding or block-by-block (blockwise) soft decision decoding of each codeword may be supported. Both self-decoding of a codeword and enhanced joint decoding of multiple codewords is enabled in some embodiments by coupling the codewords with shared payload bits, which may be or include information bits, systematic bits, code bits, or possibly a combination of different types of bits. Such shared payload bits may be referred to, herein or elsewhere, as shared bits, common bits, coupled bits, coupling bits, or by some other name.
[0084] For iterative codes, internal interleavers or interleaving may play an important role in code performance. Accordingly, an interleaving operation may need to be particularly designed for a joint FEC code. Interleavers or interleaving can be "explicit" as in turbo codes and woven codes, or be "implicit" or inherent in coding as in LDPC codes (in the form of one or more parity-check matrices) .
[0085] As an example and without loss of generality, suppose that there are two codewords, including a Codeword 1 (for URLLC data, for example) that is to be decoded with higher priority, and a Codeword 2 (for eMBB data, for example) that is to be decoded with lower priority. In this example, based on its higher priority, joint decoding should be supported for Codeword 1, to perform a second decoding attempt with the help of the lower-priority Codeword 2. No HARQ or other retransmission need be involved in the second decoding attempt.
[0086] For completeness, with coupled codewords as in this example, joint decoding could be used in a second decoding attempt for Codeword 2, but this likely would not be a common application of joint decoding for a second decoding attempt. It is expected that a joint decoding attempt would be made for a codeword with a higher decoding priority, which is Codeword 1 in this example, rather than for a codeword with a lower decoding priority, which is Codeword 2 in this example.
[0087] Fig. 6 is a block diagram illustrating encoding and decoding according to an embodiment. Payload bits are shown at 602, 604, and may be associated with different services such as URLLC and eMBB in the illustrated example. Each payload is encoded as shown below 602 and 604, to generate or obtain coded bits, which are shown as component code 1 bits 610 and component code 2 bits 620. The component code 1 bits 610, with a higher decoding priority in this example, include shared bits 612 that are also copied or otherwise provided for encoding with the component code 2 bits 620. The component code 1 bits 610 (including the shared bits 612) are provided as input to a first interleaver 1 (624) and the component code 2 bits with the shared bits 622 are provided as input to a second interleaver 2 (626) and interleaved. Codeword 1 and Codeword 2 are shown at 630, 640, respectively, and are generated or obtained by encoding the interleaved bits from the interleavers. Joint decoding is also shown, at 650.
[0088] The example shown in Fig. 6 is illustrative of an interleaver-based (explicit) design, in which encoding involves copying a portion or subset 612 of the component code 1 bits 610 for Codeword 1 and adding or attaching them to the component code 2 bits 620 for Codeword 2. The bit copying direction in Fig. 6, from 612 to 622, is intended to represent that the shared bits 612, which are a subset of the component code 1 bits 610, are copied and added or attached to the component code 2 bits 620. Although the shared bits 612 are shown as being added or attached at the beginning of the component code 2 bits 620 at 622 in this example, the shared bits may be added at any position (s) in the component code 2 bits. As a result of adding the shared bits to the component code 2 bits 620, the number of component code bits for interleaving and subsequent encoding to generate Codeword 2 in the example shown is increased.
[0089] The component code 1 bits 610 for Codeword 1 are provided to Interleaver 1 624 and interleaved, and the interleaved component code 1 bits are encoded. The increased component code 2 bits (including code bits 620 and shared bits 622) for Codeword 2 are provided to Interleaver 2 626 and interleaved, and the interleaved bits are encoded. A joint codeword, consisting of both Codeword 1 630 and Codeword 2 640 in this example, may be transmitted or otherwise output.
[0090] Regarding decoding, in an embodiment self-decoding to decode Codeword 1 630 is first attempted using only received symbols of Codeword 1. If the self-decoding fails, then decoding proceeds to joint-decoding of Codeword 1 630 and Codeword 2 640 using symbols from both codewords. For example, joint decoding may involve performing a joint iteration by exchanging soft information such as LLRs between the codewords.
[0091] In addition to this type of explicit interleaver or interleaving design in which shared bits are explicitly defined and processed (copied) , there can be implicit designs in which a joint generator or parity check matrix is directly defined. A joint generator or parity check matrix may itself achieve the same or similar features or functions as in an explicit design. A detailed example using LDPC codes is provided elsewhere herein.
[0092] Fig. 7 is a block diagram illustrating an example of an encoder according to an embodiment, in which payloads associated with three services (e.g., URLLC, eMBB and mMTC) are coupled into a joint FEC codeword. Encoder features or functions, and similarly decoder features or functions and others herein, may be implemented in any of various ways, such as in hardware, firmware, or one or more components that execute software. The present disclosure is not limited to any specific type of implementation, and implementation details may vary between different devices, for example.
[0093] The example encoder 700 in Fig. 7 is consistent with a woven code. Outer coding, which may also or instead be referred to as outer component coding, is shown at 702, with a rate 0.2 code for a URLLC individual payload, a rate 0.7 code for an eMBB individual payload, and a rate 0.6 code for an mMTC individual payload. In Fig. 7, the separate blocks for each outer code (for URLLC, eMBB, and mMTC) at 702 are simply for easier illustration of row-wise writing of bits into interleavers as described below. These separate blocks are not intended to indicate that there is a respective separate encoder to generate outer coded bits for each row of an interleaver. For example, there may be an encoder to encode the URLLC individual payload by a rate 0.2 code, an encoder to encode the eMBB individual payload by a rate 0.7 code, and an encoder to encode the mMTC by a rate 0.6 code. Outer encoding may instead be implemented in a single encoder or encoding system to encode the individual payloads by respective outer codes (three in the example shown in Fig. 7) at 702.
[0094] Interleavers 712, 714 are coupled to the encoder (s) at 702, and interleave encoded bits. The interleavers 712, 714 are block interleavers in the example shown, with encoded bits being written row by row and read column by column. Other types of interleaving are also possible, and embodiments are not in any way restricted to block interleaving with row-wise writing and block-wise reading of encoded bits generated by the encoding at 702. Inner coding, which may also or instead be referred to as inner component coding, for interleaved encoded bits is implemented by rate 0.5 encoding by an encoder at 722 (shown as separate blocks for easier illustration of column-wise reading of bits from the interleaver 712) and by rate 0.8 encoding by an encoder at 724 (shown as separate blocks for easier illustration of column-wise reading of bits from the interleaver 714) . In Fig. 7, 716 is intended to represent that there is no interleaving and no inner coding for the mMTC individual payload. This illustrates that not all individual payloads need necessarily be handled in exactly the same way. Interleaving and / or encoding, for example, may be different for different individual payloads. The example rates shown in the individual outer and inner encoders are merely illustrative of the different possibilities for the various outer and inner encoders associated with different services. The particular combination of example rates shown is in no way limiting or intended to be representative of a distinct encoder implementation.
[0095] Shared or common bits that couple the codewords 732, 736 with the codeword 734 are encoded bits that have been encoded at 702. For woven codes, the payload bits are first encoded using a set of outer component codes at 702, and in the example shown there are different services (URLLC, eMBB and mMTC are shown here, but any or all of these may be different in other embodiments) , for which encoding is by using separate outer component codes. Encoded bits encoded by these outer component codes are fed into the separate interleavers 712, 714 and further encoded at 722, 724, or might not be separately interleaved or further encoded as shown at 716. The separation of an individual payload, as shown by way of example for the URLLC and mMTC individual payloads, provides self-decodability for each of these services. At least some outer component code bits are fed to interleavers (or for output) for multiple services. The URLLC outer component code bits are fed to both the URLLC service interleaver 712 and the combined interleaver 714 for all three services, and similarly the mMTC component code bits are fed to both the combined interleaver 714 and for output as the mMTC codeword 736. The combined interleaver 714 and interleaving bits associated with multiple individual payloads create coupling among the codewords 732, 734 and 736, 734.
[0096] Variations to the example in Fig. 7 are possible, for coupling fewer or more than the three services, and / or different services, and / or different code rates, for example. Also, woven codes are one illustrative example as well, but embodiments herein are not limited to woven codes.
[0097] Fig. 7 is intended to illustrate various encoding features that may be provided or supported. Such features may be specified in a communication specification or standard, for example.
[0098] Regarding codes, the outer component code for an individual payload, such as those for the URLLC and mMTC individual payloads in Fig. 7, may have a code rate that is lower than that of the outer component code for an individual payload that is used in combined encoding to create codeword coupling, such as the eMBB individual payload in Fig. 7.
[0099] Regarding interleaver design, outputs from outer component codes may be provided as inputs to separate interleavers (as in the case of the URLLC component code bits in Fig. 7) or otherwise be separated for output (as in the case of the mMTC outer component code bits in Fig. 7) .
[0100] Some shared outer component code bits (generated from URLLC / mMTC individual payloads for example) are sent to or otherwise provided as inputs to multiple interleavers. At least some outer component code bits are shared or common bits between URLLC / mMTC and eMBB in the example shown, and can be provided as inputs to multiple interleavers or as outputs for different services.
[0101] Regarding inner component codes, similar to outer component codes the inner component codes may have different code rates. In the example shown in Fig. 7, the code rate of the inner component code for the URLLC individual payload is lower than that of the inner component code for the combined services, including bits associated with the eMBB individual payload and the other individual payloads. Some applications (such as mMTC, for example) might not have very high reliability requirements, and thus the inner code rate can be higher than that of eMBB code, and even a rate of 1 as in the example shown, where there is no inner coding for the mMTC individual payload.
[0102] Examples of encoding features or parameters that may be specified or supported in some embodiments are provided at least above. Decoding features or parameters may also or instead be specified or supported, and illustrative examples of such decoding features or parameters are provided at least below. Any of these examples may be implemented, individually or in any combinations.
[0103] Regarding a first decoding attempt, higher priority payloads may be decoded first, and then lower priority payloads may be decoded afterward. Considering the example in Fig. 7, URLLC "local" decoding (of the URLLC "local" codeword 732 generated by encoding the URLLC individual payload) may be higher priority or otherwise selected for decoding first. This is one example of a decoding order that may be specified or supported. If the URLLC local decoding succeeds in this example, then the corresponding outer component code bits in the combined "global" codeword 734 can be shortened or otherwise treated as known code bits. The eMBB coding performance can thereby be enhanced, in that the eMBB individual payload is encoded only in the combined codeword 734 and shortening that codeword by the correctly decoded and now-known URLLC inner component coded bits reduces the number of unknown bits in that codeword. Otherwise, if the URLLC local decoding fails, then there is still a possibility that the shared outer component code bits (from the URLLC individual payload) in the combined codeword 734 will be correctly decoded. This will in turn enhance the belief (soft LLRs) for the corresponding bits in the URLLC codeword 732 and thus help URLLC decoding (for example, by helping a second attempt at URLLC local decoding, subsequent to the first failed decoding attempt) .
[0104] The combined codeword 734 is also coupled with the codeword for the mMTC codeword 736, and decoding of either one of these codewords may help in decoding the other.
[0105] These features, described by way of example with reference to Fig. 7 and woven codes, may help provide individual payloads, from multiple services for example, with both unequal error protection capability and local "self" -decodability.
[0106] Fig. 7 and the examples provided with reference to Fig. 7 focus primarily on encoding features. Other features, such as rate matching (by puncturing and / or shortening for example) may also or instead be provided in some embodiments.
[0107] Fig. 8 is a block diagram illustrating an example of an encoder according to another embodiment (which may be referred to as "woven + X" ) , in which two (e.g., dissimilar) types of codes are jointly encoded. In the example encoder 800, a woven code is used for a URLLC individual payload and a turbo code (with X = turbo in the "woven + X" notation above) is used for an eMBB individual payload combined with shared or common bits from the URLLC individual payload.
[0108] For the woven code, the encoder includes an encoder 802 for a rate 1 / 2 outer component code, a parallel-to-serial converter 804 coupled to receive the URLLC individual payload and to the outer component code encoder to receive encoded bits encoded by the outer component code, an interleaver 806 shown by way of example as a block interleaver coupled to the parallel-to-serial converter, another encoder 812 for a rate 1 / 2 inner component code, another parallel-to-serial converter 814 coupled to the interleaver 806 and to the encoder 812, and a puncturer or puncturing module or element 818 coupled to the parallel-to-serial converter 814. Puncturing is also shown as an option in Fig. 8 before interleaving at 806.
[0109] For a URLLC individual payload in this example, the payload bits are encoded using block woven codes. In this example, there is only one rate-1 / 2 component convolutional code (CC) as an outer code. After outer encoding at 802 and parallel-to-serial (P→S) conversion at 804, and optional puncturing, the resultant bit stream (possibly with padding) is provided to the block interleaver 806 in this example. The input data stream (outer encoded bits) may be written into an H (rows) × W (columns) matrix, row by row, and then read out column by column. The read-out stream (outer encoded and interleaved bits) is further encoded by an inner CC code, which is also a rate-1 / 2 CC code in the example shown. The inner CC coded bits are punctured at 818 in the example shown, to achieve the target code rate of URLLC.
[0110] Codeword coupling for joint FEC coding is provided in the encoder 800 by combining URLLC payload bits with eMBB payload bits. A combiner is shown at 820 in Fig. 8, and payload bit combining for eMBB coding (which is combined coding in this example) may involve combining by copying part of the URLLC payload bits and attaching to the eMBB payload bits, before sending to a turbo subblock interleaver 822 (coupled to the combiner) for systematic bits 842. The turbo encoder may have an otherwise conventional structure, with an interleaver 832, encoders 824, 834 for rate 1 / 2 outer CC codes, subblock interleavers 826, 836, and optionally a puncturer 846. Combined bits (eMBB payload bits and at least some of the URLLC payload bits in the example shown) from the combiner 820 may also be provided to other encoder components as well, such as the encoder 824 and the interleaver 832 in Fig. 8. A codeword generated by the turbo encoder includes systematic bits 842 and parity bits 844.
[0111] Decoding features may be similar to those described for the example encoder in Fig. 7. For joint decoding, soft information (LLR) about the shared bits may be exchanged between the woven and turbo codes after each iteration of their respective decoding, so that successful decoding of one of the codewords (woven or turbo in Fig. 8) may help decoding of the other codeword.
[0112] Fig. 9 is a block diagram illustrating an example decoder according to another embodiment, suitable for implementation as a counterpart to the example encoder 800 in Fig. 8. As in other embodiments, decoder features or functions in the example decoder 900 may be implemented in any of various ways, including the implementation examples provided elsewhere herein. The example decoder 900 includes a de-rate matching module 904 to reverse or invert rate matching that may have been applied at an encoder or encoding device (such as at 818 in Fig. 8) , a Bahl–Cocke–Jelinek–Raviv (BCJR) decoder 906 for decoding an inner code, a parallel-to-serial (P / S) converter 908, a block de-interleaver 910, a serial-to-parallel (S / P) converter 914, a BCJR decoder 916 for decoding an outer code, a P / Sconverter 920, an interleaver 924, and an S / P converter 926, interconnected as shown. Other features may also or instead be provided, such as de-rate matching between the de-interleaver 910 and the S / P converter 914 and optional puncturing between the P / Sconverter 920 and the interleaver 924 as reverse or inverse features or corresponding features for the optional puncturing shown in Fig. 8.
[0113] These elements or components at the top in Fig. 9 implement a woven code decoder, and is an example of a decoder to sequentially decode inner and outer codes at 906, 916, respectively, and iteratively decode a woven code.
[0114] Turbo decoding is implemented in the example decoder 900 by an S / P converter 952, subblock de-interleavers 954, 956, 958, BCJR decoders 962, 964, a de-interleaver 960, and an interleaver 966, interconnected as shown.
[0115] For the encoding example shown in Fig. 8, a first decoding attempt may be made to decode the higher priority URLLC payload first, and then the lower priority payload eMBB payload may be decoded. At least the woven code decoder at the top of Fig. 9 may operate independently of the turbo decoder at the bottom of Fig. 9 in attempting to decode the URLLC individual payload. If the separate decoding of the URLLC individual payload is successful, then shared or common bits may be used in turbo decoding to decode the eMBB individual payload. Otherwise, if the URLLC decoding fails, then there is still a possibility that the shared or common bits (from the URLLC individual payload) in the combined turbo codeword will be correctly decoded, which will enhance the belief (soft LLRs) for the corresponding bits in the URLLC codeword and thus help URLLC decoding.
[0116] Soft information exchange for joint decoding is illustrated in Fig. 9. Soft information (such as LLRs) about the shared or common bits may be exchanged between the woven and turbo codes after each iteration of their respective decoding, so that successful decoding of one of the codewords (woven or turbo in Fig. 8) may help decoding the other codeword. For woven codes, the soft information is exchanged after the BCJR decoding (soft-output decoding algorithm for convolutional codes) of an outer convolutional code at 916. For turbo codes, the soft information is exchanged after the BCJR decoding of the second component convolutional code at 964 (and de-interleaving at 960) .
[0117] Features disclosed herein may also or instead be implemented with other types of codes. LDPC codes, for example, may be jointly encoded and decoded. In an embodiment, a shorter LDPC code is used for one individual payload (aURLLC individual payload, for example) and a longer LDPC code is used for another individual payload (an eMBB individual payload, for example) with which shared or common bits from the URLLC individual payload is combined.
[0118] The shared or common bits in an LDPC coding embodiment correspond to non-zero columns in one or more parity check matrices. LDPC codes may use separate parity check matrices that each include non-zero columns that are applied to the shared or common bits, or in the case of a joint LDPC parity check matrix there are shared or common columns that are applied to the shared or common bits. The non-zero columns in separate parity check matrices or the shared or common columns in a joint parity check matrix are used in encoding the shared or common bits, and ensure that the corresponding payload bits that are shared between individual payloads engage in the encoding of both LDPC codes, and thereby effectively couple the codes and the resultant codewords.
[0119] In either of these LDPC implementations (separate parity check matrices or a joint parity check matrix) for two individual payloads and two codewords as an example, a portion or subset of payload bits for a Codeword 1 are attached to or otherwise combined with payload bits of another individual payload (anywhere, at any positions) for Codeword 2. The common or shared bits may be copied or otherwise be included in both the payload bits for Codeword 1 and, with the bits of the other individual payload, the bits to be encoded to generate Codeword 2 In such a way, the number of payload bits of Codeword 2 is increased relative to the number of bits in the other individual payload.
[0120] An LDPC parity check matrix may be interpreted as having two parts, including a first subset of columns (which may be referred to as core systematic columns for example) with values of 1 indicating input bits that are included in a parity check, and a second subset of columns (which may be referred to as parity columns) for to-be-generated parity bits, with values of 1 similarly indicating parity bits that are included in a parity check. For separate parity check matrices, the core systematic columns of each parity check matrix are aligned with the input bits for each code, and the parity columns are aligned to the parity bits that are to be generated for each code. In the case of two codes and two individual payloads for joint encoding, this involves:
[0121] aligning the core systematic columns of a first parity check matrix to first payload bits of a first individual payload;
[0122] aligning the parity columns of the first parity check matrix to the parity bits to be generated for a first codeword; and
[0123] performing encoding using the entire first parity check matrix, and
[0124] aligning the core systematic columns of a second parity check matrix to input bits that include payload bits from a second individual payload and shared or common bits from the first individual payload bits;
[0125] aligning the parity columns of the second parity check matrix to the parity bits to be generated for a second codeword; and
[0126] performing encoding using the entire second parity check matrix.
[0127] The systematic part and parity part of multiple parity check matrices may be assembled or combined into a single, joint parity check matrix, by aligning columns of the parity check matrix to corresponding payload bits and parity bits and then performing joint encoding. Fig. 10 illustrates encoding according to such an embodiment, with a joint parity check matrix 1000 for joint encoding of two individual payloads that are shown at the top. The joint parity check matrix 1000 includes shared columns (below the shared bits 1004) and independent columns (below the payload bits 1002 and 1006, to the right in Fig. 10 aligned with the non-zero parts of the columns below the payload bits 1002, and to the right in Fig. 10 aligned with the non-zero parts of the columns below the payload bits 1006) . The systematic part has both shared columns (below the shared bits 1004) and independent columns (below the payload bits 1002 and below the payload bits 1006, and the remaining parity check part (on the right) has only independent columns.
[0128] In the example shown, the payload bits 1 at 1002 and the shared bits 1004 are from one individual payload (URLLC payload bits, for example) , and are placed on or aligned with both the independent columns for the first packet (Codeword 1) and the shared columns. The payload bits 2 are from another individual payload (eMBB payload bits, for example) and are placed only on or aligned only with the independent columns for the second packet (Codeword 2) . In Fig. 10, the shared bits 1004 are payload bits of a URLLC individual payload, and are not part of an eMBB individual payload in the example shown. However, the shared bits 1004 occupy systematic bit positions for LDPC encoding of the combined eMBB payload bits 1006 and the shared bits 1004. This may be useful to provide higher reliability or performance for the URLLC individual payload at the cost of a code rate increase for eMBB as a result of a higher number of input bits (1004 combined with 1006) for encoding.
[0129] For a joint parity check matrix implementation as shown by way of example in Fig. 10, encoding may involve (or be followed by) interleaving a resultant joint codeword, which includes systematic bits and parity bits for all of the payload bits 1002, 1004, 1006. This interleaving is shown by way of example by the arrows below the joint parity check matrix 1000. Such interleaving of a joint codeword before transmission may enable the Codeword 1 and Codeword 2 within the joint codeword to be transmitted, with different priority for example, for decoding.
[0130] Codeword 1 and Codeword 2 are transmitted, possibly separately as in the example shown in Fig. 10, or possibly as a joint codeword. Decoding procedures may be substantially the same as those for interleaver-based (e.g., explicit) designs, with a first attempt to decode one codeword or individual payload on its own, and a second joint decoding attempt. In the case of transmitting a joint codeword, interleaving may be provided or supported at a receiver or decoding device, to extract Codeword 1 and Codeword 2 from a received joint codeword for at least a first decoding attempt.
[0131] Any of various encoding features or parameters may be relevant to embodiments disclosed herein. Illustrative examples are provided at least below, and any of those examples may be implemented, individually or in any combinations.
[0132] As a first example, selection of code rates and lengths for different types of payloads may be specified or supported. In a multi-service scenario, selection of code rates and lengths may be based on the services that are associated with payload types. Selection of code rates and lengths, by modulation and coding scheme (MCS) index or other identifier for example, may be made for URLLC and / or mMTC payloads after selection of code rate (s) and length (s) for eMBB code (s) for coding eMBB data. MCS index selection for the URLLC / mMTC code (s) in this example may take a selected eMBB MCS index as an input, or otherwise take the selected eMBB MCS index into account, so that MCS index selection for the URLLC / mMTC code (s) in this example is based on the selected eMBB MCS index selection. More generally, selection of code rate and length for coding of one type of payload may be based, at least in part, on a code rate and length that is selected for coding another type of payload.
[0133] According to another example, relative code length of codes for different types of payloads may be specified or supported. Considering again a URLLC / mMTC and eMBB scenario, URLLC / mMTC code (s) shorter than eMBB code (s) , and / or equivalently eMBB code (s) longer than URLLC / mMTC code (s) , may be specified or supported. Therefore, when a URLLC / mMTC payload or codeword is to be coupled to an eMBB payload or codeword, an eMBB code that is longer, with more code bits, is to be selected for eMBB coding. More generally, in some embodiments a code selected for encoding a payload from which shared bits are copied is shorter than, or in other words has a shorter code length or fewer code bits than, a code selected for encoding a payload into which shared bits are copied. Stated another way, in some embodiments a code selected for encoding a payload into which shared bits are copied is longer than, or in other words has a longer code length or more code bits than, a code selected for encoding a payload from which shared bits are copied.
[0134] Another example of an encoding feature that may be specified or supported in some embodiments is relative code rates of codes for different types of payloads. In a URLLC / mMTC and eMBB scenario, URLLC / mMTC code rate (s) lower than the code rate (s) of the eMBB code (s) may be preferred. For example, when a URLLC / mMTC payload or codeword is to be coupled to an eMBB payload or codeword, an eMBB code that has a higher code rate is to be selected for eMBB coding. More generally, in some embodiments a code selected for encoding a payload from which shared bits are copied may have a lower code rate than a code selected for encoding a payload into which shared bits are copied, or equivalently a code selected for encoding a payload into which shared bits are copied may have a higher code rate than a code selected for encoding a payload from which shared bits are copied.
[0135] URLLC is merely intended to be illustrative of a service having a higher decoding priority. mMTC is another example of a service that may have higher decoding priority than eMBB. Embodiments may be implemented, for example, in any of various multi-service scenarios, such as a URLLC-eMBB scenario, an mMTC-eMBB scenario, or a three-service scenario for URLLC, mMTC, and eMBB. In the latter example, an mMTC codeword can be treated as part of a joint codeword together with URLLC and eMBB codewords.
[0136] Fig. 10A is a block diagram of an example encoding chain according to an embodiment. The example encoding chain 1010 is for a URLLC-eMBB scenario, but as noted elsewhere herein other embodiments are possible.
[0137] The features or functions shown in Fig. 10A include transport block (TB) cyclic redundancy check (CRC) attachment for eMBB data from an eMBB individual payload at 1012, code block (CB) segmentation for the eMBB data at 1014, CB or CB group (CBG) CRC attachment for the eMBB data at 1016, CB CRC attachment for URLLC data from a URLLC individual payload at 1036, encoding at 1018, 1038 for each of the eMBB data and the URLLC data, rate matching for each of the eMBB data and the URLLC data at 1020, 1040, bit interleaving for each of the eMBB data and the URLLC data at 1022, 1042, CB concatenation for the eMBB data at 1024, modulation with scrambling for each of the eMBB data and the URLLC data at 1026, 1046, and priority-aware resource mapping at 1050. Other embodiments may include additional, fewer, or different elements interconnected in a similar or different way.
[0138] Encoding chain features or functions may be implemented in any of various ways, such as in hardware, firmware, or one or more components that execute software. The present disclosure is not limited to any specific type of implementation, and implementation details may vary between different devices, for example.
[0139] Many of the component features in Fig. 10A may be provided or supported according to conventional coding techniques. The example encoding chain 1010, however, embodies several distinctions. For example, in some embodiments URLLC data is limited to be within one CB, and therefore TB CRC attachment, CB segmentation, and CB concatenation are shown at 1012, 1014, 1024, respectively, only for eMBB data. Shared bit copying to couple the eMBB and URLLC data and codewords together at 1018, 1038 is a further distinction. Shared bits may be bits from the URLLC data as shown at 1017, or bits that are otherwise associated with the URLLC data (such as outer coded bits or parity bits, for example) , which is represented at 1019. The priority-aware resource mapping at 1050 preferably helps to ensure reliable and low-latency reception of URLLC symbols, for example by mapping URLLC data to frequency (subcarrier) and / or spatial (layer) resources that have better channel quality, and / or to time slots that are transmitted earlier.
[0140] As an example, bits of the eMBB data in a CB after CB segmentation and CRC attachment are denoted by e0, e1, …, eK-1, where K is the number of payload bits. For the sake of simplicity, CB number is omitted in this notation. For URLLC, bits after CRC attachment are denoted by u0, u1, …, uK’-1, where K’ is the number of payload bits. In an embodiment, a subset of the K’ bits associated with the URLLC payload bits, including K” bits so that the subset is of size K”, are copied and attached to the beginning of bits associated with the eMBB payload, at 1017 or 1019. This subset is also referred to herein as shared bits, common bits, or coupled bits.
[0141] As an example, consider an embodiment in which the shared bits are bits before encoding, as shown at 1017. The new eMBB bits for encoding become u0, u1, …, uK”-1, e0, e1, …, eK-1, which may be denoted as c0, c1, …, cK”+K-1.
[0142] The new eMBB bits c0, c1, …, cK”+K-1 are encoded by an eMBB code at 1018. The URLLC bits u0, u1, …, uK’-1 are encoded by a URLLC code at 1038.
[0143] Fig. 10A is one illustrative example of an encoding chain. Embodiments may include additional, fewer, or different features than shown.
[0144] Regarding individual payloads, in vertical scenarios such as in industrial applications, for example, there are likely to be services with different traffic that have different payload sizes and different QoS requirements. Control instructions and data generated by different types of sensors or monitors of a single device are examples of different traffic that may involve different services. A robot arm, for example, may communicate with a network device such as a base station, and support URLLC, eMBB and mMTC services. In one possible implementation to illustrate how these services might be used, video stream data transmissions from a camera on the robot art may belong to an eMBB service, signaling for controlling each of one or more joints of the robot arm may belong to a URLLC service, and delay-insensitive sensing or monitoring data reporting may belong to an mMTC service. Such differences may be addressed by proper signaling in accordance with embodiments herein.
[0145] With joint coding as proposed herein, it may be possible to boost coding gain of smaller payload data, and help support fast decoding of such smaller payload data, which may have tighter QoS requirements or otherwise have higher decoding priority than other data. Signaling to indicate one or more joint coding parameters may be or include, for example, downlink control information (DCI) with an indication of the joint coding parameter (s) . Examples of joint coding parameters include coding structure, data partition, and priority order for individual payloads. Any one or more of these joint coding parameters, and / or others, may be indicated in signaling.
[0146] Without loss of generality, suppose that there are three services, including S1=URLLC, S2=eMBB. and S3=mMTC. Signaling examples for such an embodiment are provided below. It should be appreciated, however, that these examples are intended solely for illustrative purposes, and the present disclosure is not in any way limited to three-service scenarios or to these particular signaling examples.
[0147] In an embodiment, signaling indicates a coding mode. Coding mode may specify whether only separate coding or joint coding is to be used. If joint coding is to be used, then coding mode may further specify how many services, and which services, are to be jointly encoded to support joint decoding. In the three-service scenario referenced above, the maximum supported joint coding is for three services, and a coding mode indication or specification may be summarized as shown below in Table 1.
[0148] Table 1: Specifying Coding Modes
[0149] Table 1 is an example, and variations are possible. For instance, if the Number indicator indicates the total number of services, then the Combination indicator need not necessarily be included in signaling because the Number indicator provides an implicit indicator that data for all services is to be jointly encoded. The Number indicator might not be used in all embodiments, because the Combination indicator may provide an implicit indicator of the number of services for which data is to be jointly encoded. Other embodiments may be implemented these and / or other variations in specifying coding modes or coding parameters.
[0150] Signaling may also or instead be used to indicate MCS, by MCS index for example, for all services. There are several options.
[0151] One MCS option for joint coding is to use the same MCS for all services. For example, an MCS table for one service, such as URLLC or another service that has high decoding priority for example, may be used for joint coding. Another embodiment involves defining a new MCS table for joint coding that uses a different (smaller for example) modulation order and different (lower for example) target code rate than specified in an MCS table for one of the services. For example, an MCS table for joint coding that uses a smaller modulation order and lower target code rate than specified in an eMBB MCS table sacrifices some eMBB spectral efficiency to help improve URLLC performance.
[0152] For joint coding, the same modulation order may be used for all services, but different code rates may be used for each service. For example, it is possible to define a new MCS table, where each MCS index is associated with one modulation order and multiple code rates. Multiple MCS tables may be used to cover cases with different numbers of jointly encoded services, with each MCS table corresponding to a respective number of jointly encoded services. Depending on the Number indicator in Table 1 above, for example, one of the following tables, Table 2 and Table 3, may be selected.
[0153] Table 2: MCS Table for Two Jointly Encoded Services
[0154] Table 3: MCS Table for Three Jointly Encoded Services
[0155] Priority order for each service Si is another example of a joint coding parameter that may be indicated in signaling. Such priority may be indicated by a priority metric or a priority order index for each service, for example. Priority order may affect priority-aware resource mapping in some embodiments, and / or the services or payloads from and to which shared data bits are copied. In an embodiment, priority is denoted by a positive number {1, 2, 3 …} , with the smaller (or larger) number indicating higher priority.
[0156] Another joint coding parameter that may be used or supported in some embodiments is coding structure. One aspect of coding structure is the type of code that is to be used for the data associated with each service, which may be denoted in any of various ways, such as by {S1=RM, S2=PAC, S3=Polar …} . Bit selection is another possible aspect of coding structure, and one or more parameters may specify or indicate, for example, a criterion or criteria based on which shared bits are to be selected for copying from or otherwise combining with payload bits for a different service. Bit placement for combining (beginning, end, interleaved, for example) may also or instead be specified or indicated by a joint coding parameter. A further aspect of coding structure is the "target" service to which shared bits are copied or otherwise combined to couple one service or payload to another. The target service may be indicated by an index or other identifier, as in the above example of S1, S2, S3, and a zero value may indicate that no bits are to be copied as shared bits from a particular service to another service. A service for which no target service is indicated may be a target service for another service. In other words, a service that does not itself have a target service may act as a target service and in effect attach bits from one or more other services for joint coding.
[0157] Partition is another possible joint coding parameter, and relates to how to partition payload bits in each service, or in other words how many bits or how much of a payload is to be shared. An integer number of bits, or a fraction or other relative proportion may be used to indicate partition.
[0158] Table 4 below summarizes joint coding parameters that may be used and indicated in signaling in some embodiments, based on the examples above.
[0159] Table 4: Joint Coding Parameters
[0160] Table 4, like other examples herein, is intended to be non-limiting. Other embodiments may support any one or more of these joint coding parameters, and / or different joint coding parameters. The above examples of parameters are not exhaustive, and others include: number of available resource elements (REs) for each service; number of layers (MIMO group) for each service; and mapping method from service to corresponding layer (s) , such as frequency-time or time- frequency. These additional examples are also illustrative, and general embodiments may use, and / or indicate in signaling, any one or more of various joint coding parameters, which may include but are not limited to the particular examples provided herein.
[0161] Various aspects of the present disclosure are described above and shown in the drawings by way of example. Fig. 11 is a flow diagram illustrating more general example methods according to embodiments. At the left, 1100 in Fig. 11 illustrates operations or features that may be provided or supported at an encoder or transmitter-side device, and at the right, 1150 illustrates operations or features that may be provided or supported at a decoder or receiver-side device. For ease of reference, in the following description of Fig. 11, a device at which encoding and / or transmitting features may be implemented or supported is called a first communication device, and a device at which decoding and / or receiving features may be implemented or supported is called a second communication device. Embodiments may involve either or both of such devices.
[0162] With reference first to 1100, from a transmitting device perspective the transmitting at 1108 is intended to represent transmitting codewords by a first communication device to a second communication device in a wireless communication network. The codewords need not necessarily be transmitted in some embodiments. Encoding of individual payloads to generate codewords, or encoded bits for such codewords, is shown at 1104. Outputting the codewords is shown at 1106. The codewords may also be transmitted, but the outputting at 1106 need not necessarily involve transmitting the codewords. In some embodiments, the codewords are generated by error correction encoding the individual payloads at 1104. The codewords include a first codeword that is generated by error correction encoding a first individual payload, and a second codeword that is generated based on bits that are associated with a second individual payload and are interleaved with bits associated with the first individual payload. The first codeword is decodable independently of the second codeword, and is also decodable jointly with the second codeword.
[0163] The present disclosure encompasses several examples of bits "associated" with individual payloads. The bits associated with the first individual payload, for example, may be or include bits of the first individual payload, which may also or instead be referred to as payload bits. Such bits associated with the first individual payload may be encoded bits generated by encoding the bits of the first individual payload. The encoded bits in this example are associated with the first individual payload in the sense that they are a result of encoding the bits of the first individual payload.
[0164] Similarly, the bits that are associated with the second individual payload may be or include payload bits of the second individual payload, or encoded bits generated by encoding the bits of the second individual payload.
[0165] For joint encoding, any of various combinations of such bits, associated with different individual payloads, are possible.
[0166] Fig. 6 illustrates an example in which error correction encoding involves encoding bits of a first individual payload (URLLC is shown as an example at 602) by a first code to generate first encoded bits 610. At least some of those first encoded bits (612) are interleaved (at 626) with second encoded bits 620 of a second payload (eMBB is shown as an example at 604) . In this example, the URLLC encoded bits 612 that are interleaved with the eMBB encoded bits 620 are a form of bits associated with a first individual payload. The eMBB encoded bits 620 represent an example of bits associated with a second individual payload, in that they are generated by encoding bits of a second individual payload. The embodiment in Fig. 6 also involves a second codeword 640 being generated by further encoding the second encoded bits interleaved with the bits from the first encoded bits.
[0167] Fig. 7 illustrates another example in which error correction encoding involves encoding bits of a first individual payload (the URLLC individual payload or the mMTC individual payload) by a first code to generate first encoded bits. At least some of those first encoded bits, and all of them in the example shown in Fig. 7, are interleaved with eMBB encoded bits. In this example, the URLLC encoded bits or mMTC encoded bits that are interleaved with the eMBB encoded bits are a form of bits associated with a first individual payload. More generally, the bits associated with a first individual payload that are to be interleaved with bits that are associated with another individual payload may be or include bits (some bits or all bits) of first encoded bits generated by error correction encoding the first individual payload. The eMBB outer encoded bits in Fig. 7 represent an example of bits associated with a second individual payload, in which those bits are or include second encoded bits generated by encoding bits of a second individual payload. Fig. 7 is further illustrative of an embodiment in which a second codeword 734 is generated by further encoding the second encoded bits interleaved with the bits from the first encoded bits.
[0168] Error correction encoding may also involve encoding the first encoded bits by a second code to generate a first codeword. Generation of a first codeword in this manner is shown by way of example in Fig. 6 by the encoding (after interleaving at 624) to generate Codeword 1 at 630, and in Fig. 7 by the encoding at 722 (after interleaving at 712 in the example shown) to generate the URLLC "local" codeword 732.
[0169] In some embodiments, as in the case of the mMTC encoded bits in Fig. 7, there is no further encoding of first encoded bits, and a first codeword (736, for example) includes the first encoded bits.
[0170] Encoding to generate the second codeword (based on interleaved bits associated with different individual payloads) may involve interleaving. In this case, the interleaving, in which case the interleaving that is involved in the encoding interleaves the bits associated the different payloads, such as bits associated with a first individual payload and bits associated with a second individual payload. This type of interleaving is shown by way of example in Fig. 8. The subblock interleaver 822, for example, is part of a turbo encoder for encoding combined URLLC individual payload bits and eMBB individual payload bits, and interleaves the combined bits from the combiner 820. The other subblock interleavers 826, 836 are also part of the turbo encoder, and may interleave encoded combined bits generated by encoding by the encoders 824, 834. At 820, 822, Fig. 8 illustrates combining and interleaving of payload bits as bits associated with different individual payloads, and interleaving at 826, 836 interleaves encoded bits that are associated with different individual payloads.
[0171] The examples in Figs. 6 and 7 are illustrative of embodiments in which outer coded bits associated with different individual payloads are interleaved, and the example in Fig. 8 is illustrative of an embodiment in which payload bits associated with different individual payloads are interleaved. Other combinations of bits associated with different individual payloads are also possible.
[0172] Consider an example in which encoding generates systematic bits and parity bits. Encoded bits generated by encoding a first individual payload 1 may be denoted [Systematic1, Parity1] , and some or all of the systematic bits, for example, may be common or shared bits that are combined with bits associated with a second individual payload 2, to generate jointly encoded bits [ (Systematic1, Systematic2) , Parity2] . According to another embodiment, some or all of the parity bits may be common or shared bits that are combined with bits associated with the second individual payload 2, to generate jointly encoded bits [ (Parity1, Systematic2) , Parity2] .
[0173] More generally, in some embodiments any of systematic bits or parity bits (or potentially both systematic bits and parity bits) from a first codeword may be copied to or otherwise combined with bits associated with a different individual payload. Turbo codes and LDPC codes are examples of codes that include systematic bits and parity bits, and this type of joint encoding may be especially useful. Copying or otherwise combining parity bits may be particularly beneficial for LDPC codes, for example.
[0174] Consider an example in which not all encoded bits of a codeword are transmitted. Copying or otherwise combining untransmitted (or punctured) bits from a first one codeword with bits associated with a second individual payload may be preferred. For example, with the mother code for a first code denoted [systematic1, parity1t, parity1p] , where [systematic1, parity1t] are transmitted but [parity1p] is not transmitted (or punctured) , all or a part of [parity1p] may be copied to or otherwise combined with the systematic bits of the second code, denoted systematic2. The resultant combined bits [parity1p, systematic2] can then be jointly encoded to generate a second codeword [ (parity1p, systematic2) , parity2] .
[0175] For soft-output, encoding often involves systematic codes. Copying or otherwise combining untransmitted or punctured parity bits instead of systematic bits or transmitted parity bits may be particularly beneficial. Expressed another way, with a first codeword [sp, st, pt, pp] , where sp denotes punctured systematic bits, st denotes transmitted systematic bits, pt denotes transmitted parity bits, and pp denotes punctured parity bits, respectively, a preferred order in respect of preference for copying or combining bits with bits that are associated with a different individual payload may be indicated as {pp → sp → st → pt} . This illustrates a general preference for parity bits over systematic bits, and a further preference for punctured or otherwise untransmitted bits over transmitted bits.
[0176] The examples illustrated in Figs. 6 to 8 involve explicit interleavers or interleaving, in which bits associated with different individual payloads are combined by interleaving. In other embodiments, bits may be combined but need not necessarily be explicitly interleaved for encoding. Fig 10 provides an example in the context of LDPC encoding. The shared bits 1004 are combined with the Payload bits 2 1006 for encoding, but no explicit interleaving of the combined bits is shown in Fig. 10.
[0177] More generally, in some embodiments, the encoding at 1104 involves encoding individual payloads (by LDPC encoding for example) to generate encoded bits. The encoded bits may include first encoded bits generated by encoding a first individual payload (Payload bits 1 1002 including the shared bits 1004 in Fig. 10, for example) , and second encoded bits generated by encoding a second individual payload with which bits that are associated with the first individual payload are combined (the shared bits 1004 combined with Payload bits 2 1006 in Fig. 10, for example) . A first codeword and a second codeword include the encoded bits, and as in other embodiments, the first codeword is decodable independently of the second codeword, and is further decodable jointly with the second codeword. LDPC embodiments disclosed herein are illustrative of embodiments in which each of the first codeword and the second codeword includes the same encoded bits based on the bits that are associated with the first individual payload (the shared bits 1004 in Fig. 10, for example) .
[0178] Regarding the second codeword and encoding of combined bits (by LDPC encoding for example) , in Fig. 10 the bits that are associated with the first individual payload and are combined with the second individual payload are bits of the first individual payload, are shown in Fig. 10 as the shared bits 1004. In other LDPC embodiments, the bits associated with the first individual payload may be or include parity bits generated by LDPC encoding the first individual payload. Such parity bits are a specific example of first encoded bits generated by encoding the first individual payload.
[0179] The bottom of Fig. 10 illustrates an example of a first codeword (Codeword 1) and a second codeword (Codeword 2) both including encoded bits based on the bits (shared bits 1004) that are associated with a first individual payload and combined with a second individual payload. Both of the codewords in the example shown include the same encoded bits, below the shared columns in the matrix 1000. These encoded bits that are based on the bits combined with the second individual payload may include, for example, the combined bits themselves. In the example shown in Fig. 10, the same shared bits 1004 are systematic bits included in both the first codeword (Codeword 1) and the second codeword (Codeword 2) . In this example, the codewords include the same encoded bits based on the bits that are combined with the second individual payload. In other embodiments, these encoded bits may be or include other encoded bits that are generated based at least in part on encoding the bits that are associated with the first individual payload and are combined with the second individual payload.
[0180] Two options for LDPC encoding are disclosed herein as examples, and involve separate parity check matrices or a joint parity check matrix as shown by way of example at 1000 in Fig. 10.
[0181] In a separate parity check matrix embodiment, encoding a first individual payload involves LDPC encoding the first individual payload based on a first parity check matrix to generate the first encoded bits referenced above, and encoding the second individual payload combined with the bits that are associated with the first individual payload involves LDPC encoding the second individual payload combined with the bits that are associated with the first individual payload based on a second parity check matrix to generate the second encoded bits referenced above. In such an embodiment, the first codeword may include the first encoded bits and the second codeword may include the second encoded bits. In this example, the first and second codewords both include encoded bits based on the combined bits that are combined with the second individual payload. These encoded bits are generated separately in this example.
[0182] For a joint parity check matrix embodiment, encoding the first individual payload and encoding the second individual payload combined with the bits that are associated with the first individual payload involve LDPC encoding the first individual payload and the second individual payload combined with the bits that are associated with the first individual payload based on a joint parity check matrix.
[0183] The example in Fig. 10 illustrates a joint parity check matrix embodiment, and the arrows below the joint parity check matrix 1000 represent optional interleaving of a joint codeword generated by the encoding based on the joint parity check matrix, to generate the first codeword and the second codeword. Codeword 1 and Codeword 2 in Fig. 10 are examples of a first codeword and a second codeword. As noted above, these codewords include some of the same encoded bits. This is shown by way of example at the bottom of Fig. 10, below the shared columns, by overlapping blocks or subsets of the encoded bits that are selected for Codeword 1 and Codeword 2.
[0184] Fig. 11 also illustrates operations that may be involved in generating codewords or encoded bits. At 1102, Fig. 11 illustrates obtaining individual payloads, including at least a first individual payload and a second individual payload. These individual payloads may be or include data from different devices and / or data associated with different services, for example. Obtaining the payloads at 1102 may involve, for example, collecting or otherwise receiving data outputs from one or more devices and / or services, or accessing payload data in a memory.
[0185] Some embodiments may involve either or both of obtaining at least a first individual payload and a second individual payload at 1102 or generating at least a first codeword and a second codeword at 1104.
[0186] As shown at 1106, a method may also involve outputting at least a first codeword and a second codeword. The codewords may be output for storage to memory, and / or transmission at 1108 for example.
[0187] In some embodiments, a method may involve obtaining as shown at 1102, encoding as shown at 1104, and outputting as shown at 1106. Other embodiments may involve transmitting codewords as shown at 1108. These embodiments are not mutually exclusive, and methods may involve obtaining and encoding individual payloads as shown at 1102, 1104, and also transmitting codewords as shown at 1106.
[0188] A self-decodable codeword is decodable independently of one or more other codewords, and is also decodable jointly with another codeword. In the context of the above examples of a self-decodable first codeword and a second codeword and encoding first and second individual payloads, the first codeword is decodable independently of the second codeword and is also decodable jointly with the second codeword. Combined bits that are combined with the second individual payload may be, for example, bits that are associated with a second individual payload and are interleaved with bits associated with the first individual payload (as shown by way of example in Figs. 6 to 8) , or a second individual payload with which bits that are associated with the first individual payload are combined.
[0189] Common or shared bits as disclosed herein link or couple individual payloads and codewords together, to provide or support joint decodability. Joint decodability of a self-decodable codeword may provide or enable any of various other features disclosed herein. For example, the fact that a self-decodable codeword is further decodable jointly with another codeword may enable joint decoding of the other codeword based on successful decoding of the self-decodable codeword independently of the other encoded blocks. The self-decodable codeword further being decodable jointly with the other codeword may enable joint decoding of the self-decodable codeword after a decoding failure in decoding the self-decodable codeword independently of the other codeword. In the context of the above example of first and second codewords, the first codeword being decodable jointly with the second codeword may enable either or both of: joint decoding of the second codeword based on successful decoding of the first codeword independently of the second codeword; or joint decoding of the first codeword after a decoding failure in decoding the first codeword independently of the second codeword.
[0190] Some embodiments may involve, from an encoder or transmitter perspective, receiving a retransmission request, which may be or include negative acknowledgement signaling or another form of retransmission request, and retransmitting incremental redundancy (IR) information, which may be or include a redundancy version (RV) for example. In an embodiment, a method may involve receiving at 1110, by a first communication device from a second communication device, a first request for retransmission after decoding failures in both decoding a self-decodable codeword (such as the first codeword referenced in examples herein) independently and in joint decoding of the self-decodable codeword. Of particular note is that the received request in this example is a first request for retransmission after multiple decoding failures. As illustrated at 1112, a method may also involve retransmitting, by the first communication device to the second communication device in response to the first request for retransmission, IR information for the self-decodable codeword. Other IR information, for further codewords for example, may also be transmitted at 1112.
[0191] Although Fig. 11 illustrates only transmitting IR information at 1112, it should be noted that some embodiments may involve generating and outputting IR information for a self-decodable codeword in response to receiving a first request for retransmission after decoding failures in self-decoding and joint-decoding of a self-decodable codeword. The generating and outputting are not separately shown in Fig. 11 to avoid further congestion in the drawing.
[0192] Embodiments may involve other features or operations that are not explicitly shown in Fig. 11. For example, selection of code rate and length for coding of one type of individual payload may be based, at least in part, on a code rate and length that is selected for coding another type of individual payload. In the above example of first and second individual payloads, an MCS for encoding to generate the second codeword based on combined bits may be selected before selecting an MCS for encoding to generate the first individual payload.
[0193] It should also be appreciated that embodiments are not limited to only two individual payloads. With reference to the first and second individual payloads above, these individual payloads may be among a number of individual payloads that includes these individual payloads and one or more others as well. Bits that are associated with multiple individual payloads may be combined with an individual payload (such as the second individual payload in this example) for encoding to generate the second codeword or encoded bits. An MCS feature that may be implemented in such an embodiment involves selection of an MCS, for encoding to generate the second codeword or encoded bits based on combined bits that are associated with multiple individual payloads, from one of multiple MCS tables. The MCS tables respectively correspond to different numbers of individual payloads from which associated bits are combined with the second individual payload for encoding to generate the second codeword or encoded bits. This is illustrative of an embodiment in which there are multiple MCS tables, with each corresponding to a given number of individual payloads, and potentially a number of services if the individual payloads are related to respective services, that are coupled together for potential joint decoding as disclosed herein.
[0194] Another example of features that may be provided in some embodiments but are not explicitly shown in Fig. 11 relates to signaling. Some embodiments may involve communicating, in a wireless communication network, signaling indicative of a joint coding parameter related to one or both of encoding to generate the first codeword or encoded bits, or encoding to generate the second codeword or encoded bits.
[0195] Such communicating of signaling may involve transmitting the signaling by an encoder / encoding device or a transmitter / transmitting device that is to transmit codewords, to a decoder / decoding device or a receiver / receiving device. The communicating may also or instead involve receiving the signaling by a decoder / decoding device or a receiver / receiving device from an encoder / encoding device or a transmitter / transmitting device. Signaling need not necessarily be between, or only between, communication devices by which encoded blocks are to be transmitted or received. For example, a network device such as a gNB or a base station may transmit signaling to configure joint coding parameters at one or more communication devices. Therefore, a method may involve a network device transmitting signaling, and an encoder / encoding device or a transmitter / transmitting device receiving the signaling from the network device, and / or a decoder / decoding device or a receiver / receiving device receiving the signaling from the network device.
[0196] Examples of joint coding parameters are provided elsewhere herein. In general, joint coding parameters may include any one or more of the following, and other joint coding parameters may also or instead be used in other embodiments: coding mode; MCS (which may include a respective MCS for each individual payload and / or each service in a multi-service scenario) ; respective priority orders for services with which the first individual payload and the second individual payload are associated; coding structure of the encoding to generate the first codeword or encoded bits; coding structure of the encoding to generate the second codeword or encoded bits; partitioning to determine the bits that are to be combined, and based upon which the second codeword is generated; respective numbers of resource elements available for services with which individual payloads (the first individual payload and the second individual payload above) are associated; respective numbers of data layers for services with which individual payloads (the first individual payload and the second individual payload above) are associated; and respective mapping methods for mapping services, with which individual payloads (the first individual payload and the second individual payload above) are associated, to data layers.
[0197] At 1150, Fig. 11 illustrates various decoding and / or receiving counterparts of the features shown at 1100. From a receiving device perspective, the receiving at 1152 is intended to represent receiving codewords from a first communication device by a second communication device in a wireless communication network. As in other embodiments, the codewords may include codewords generated by error correction encoding individual payloads, such as a first codeword generated by error correction encoding a first individual payload, and a second codeword generated based on bits that are associated with a second individual payload and are interleaved with bits associated with the first individual payload. In some embodiments, the codewords include first encoded bits generated by encoding (by LDPC encoding for example) a first individual payload, and second encoded bits generated by encoding (by LDPC encoding for example) a second individual payload with which bits that are associated with the first individual payload are combined, and in this example each of the first codeword and the second codeword includes encoded bits based on the bits that are associated with the first individual payload. The first codeword in these examples is decodable independently of the second codeword, and is further decodable jointly with the second codeword.
[0198] Fig. 11 also illustrates operations that may be involved in decoding a codeword. At 1154, Fig. 11 illustrates decoding individual payloads, and in the context of examples above this involves decoding the first codeword and the second codeword to obtain the first individual payload and the second individual payload.
[0199] After successful decoding (the "YES" branch at 1156) , the individual payloads are output as shown at 1158, for storage to memory and / or further processing for example. The decoding at 1154 may involve decoding a self-decodable codeword (such as the first codeword referenced above) independently of another codeword (such as the second codeword referenced above) to obtain the first individual payload, and in some embodiments the decoding may involve jointly decoding (the "NO (first attempt) " branch from 1156) the other codeword based on successful decoding of the self-decodable codeword independently of the other codeword. Joint decoding at 1154 may instead involve jointly decoding the self-decodable codeword after a decoding failure (the "NO (first attempt) " branch from 1156) in decoding the self-decodable codeword independently of the other codeword.
[0200] The receiving and decoding at 1152, 1154 may involve different receiving device components or features, but need not be mutually exclusive. Methods may involve receiving codewords at 1152 and decoding individual payloads from the codewords at 1154.
[0201] The "NO (first attempt) " label and return arrow from 1156 to 1154 are intended to represent a second attempt, and there may also be one or more subsequent attempts, to jointly decode a self-decodable codeword after a decoding failure, rather than requesting a retransmission after the decoding failure. This is referred to herein as a HARQ-less approach. If the decoding is successful after the subsequent attempt (s) , then the individual payloads are output at 1158.
[0202] A method may involve transmitting at 1160, to a first communication device from a second communication device in the above example, a first request for retransmission after decoding failures in decoding the self-decodable codeword independently of the other codeword and in joint decoding of the self-decodable codeword. This is represented in Fig. 11 by the "NO (final attempt) " label and arrow from 1156. The transmitted request is a first request for retransmission after multiple decoding failures, and is described by way of example at least above. IR information may be transmitted in response to the first request as shown at 1112, and from a receiving device perspective a method may involve receiving, by a second communication device from a first communication device, IR information for the self-decodable codeword in response to the first request for retransmission that was transmitted at 1160. IR information is also described by way of example at least above. Other IR information, for further codewords for example, may also be received in response to the request.
[0203] The dashed-line arrow from 1112 to 1152 in Fig. 11 is intended to represent transmission and receipt of IR information, and the return of processing to 1152 is intended to illustrate performing incremental redundancy decoding based on IR information that is obtained for the self-decodable codeword in response to a first request for retransmission after decoding failures in decoding the self-decodable codeword independently of the other codeword and in joint decoding of the self-decodable codeword. 1152 refers to receiving codewords, but in the case of a retransmission the same codeword (s) may or may not again be received. Decoding after a retransmission may also be different, and may involve joint decoding by using a previously received codeword in combination with newly received IR information, for example.
[0204] Other features not explicitly shown in Fig. 11 may be provided or supported, or may at least affect decoding-side or receiving-side operations. Features that are disclosed herein with reference to encoding or transmitting may have counterpart decoding or receiving features, for example.
[0205] Any of the following features, or others, may be provided or supported alone or in any of various combinations as decoding-side or receiving-side features:
[0206] bits associated with the first individual payload may be or include bits of the first individual payload or encoded bits generated by encoding the bits of the first individual payload;
[0207] bits that are associated with the second individual payload may be or include bits of the second individual payload or encoded bits generated by encoding the bits of the second individual payload;
[0208] the error correction encoding may involve encoding bits of the first individual payload by a first code to generate first encoded bits (in which case the bits associated with the first individual payload are or include bits of the first encoded bits) , and where the bits associated with the second individual payload are or include second encoded bits generated by encoding bits of the second individual payload, the second codeword may be generated by further encoding the second encoded bits interleaved with the bits from the first encoded bits;
[0209] the error correction encoding may further involve encoding the first encoded bits by a second code to generate the first codeword;
[0210] there may or may not be such encoding of the first encoded bits, and without such encoding the first codeword may be or include the first encoded bits;
[0211] in embodiments that involve interleaving of bits based upon which the second codeword is generating, encoding to generate the second codeword may involve interleaving and such interleaving may interleave the bits associated with the first individual payload and the bits associated with the second individual payload;
[0212] in LDPC embodiments, bits that are associated with the first individual payload and combined with the second individual payload may be or include bits of the first individual payload or parity bits generated by LDPC encoding the first individual payload;
[0213] encoding the first individual payload may involve LDPC encoding the first individual payload based on a first parity check matrix;
[0214] encoding the second individual payload combined with the bits that are associated with the first individual payload may involve LDPC encoding the second individual payload combined with the bits that are associated with the first individual payload based on a second parity check matrix;
[0215] encoding the first individual payload and encoding the second individual payload combined with the bits that are associated with the first individual payload may involve LDPC encoding the first individual payload and the second individual payload combined with the bits that are associated with the first individual payload based on a joint parity check matrix;
[0216] a joint codeword generated by such encoding based on the joint parity check matrix may be interleaved to generate the first codeword and the second codeword, and accordingly a decoding-side or receiving-side method may include interleaving a joint codeword to generate the first codeword and the second codeword (or the first and second codewords may have been interleaved from a joint codeword before the first and second codewords are transmitted and received) ;
[0217] selection of code rate and length for coding of one type of individual payload may be based, at least in part, on a code rate and length that is selected for coding another type of individual payload -in the above example of first and second individual payloads, an MCS for encoding to generate the second codeword or encoded bits based on combined bits may have been selected before selecting an MCS for encoding to generate the first codeword or encoded bits;
[0218] embodiments are not limited to only two individual payloads, and for example the first and second individual payloads above may be among a number of individual payloads that includes these individual payloads and one or more others as well;
[0219] bits that are associated with such multiple individual payloads may be combined with an individual payload (such as the second individual payload in the above example) for encoding to generate the second codeword or encoded bits;
[0220] an MCS for encoding to generate the second codeword or encoded bits may have been selected based on combined bits that are associated with multiple individual payloads, from one of multiple MCS tables as described at least above;
[0221] signaling features may also or instead be provided in some embodiments, and may involve communicating, in a wireless communication network, signaling indicative of a joint coding parameter related to one or both of encoding to generate the first codeword or encoded bits or encoding to generate the second codeword or encoded bits -examples of such communicating, and examples of joint coding parameters of which such signaling may be indicative, are provided at least above.
[0222] 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.
[0223] An apparatus may include a processor that is configured, by executing programming for example, to cause the apparatus to perform a method or operations, or to provide or support features, disclosed herein. An apparatus may also include a non-transitory computer readable storage medium, coupled to the processor, storing programming for execution by the processor. In Fig. 3, for example, the processors 210, 260, 276 may each be or include one or more processors, and each memory 208, 258, 278 is an example of a non-transitory computer readable storage medium, in an ED 110 and a TRP 170, 172. A non-transitory computer readable storage medium need not necessarily be provided only in combination with a processor, and may be provided separately in a computer program product, for example.
[0224] As an illustrative example, programming stored in or on a non-transitory computer readable storage medium may include instructions to or to cause a processor to, or a processor, device, or other component may otherwise be configured to, encode individual payloads to obtain or generate codewords or encoded bits, and output the codewords. Instructions may also or instead transmit or cause a processor to transmit, or a processor, device, or other component may otherwise be configured to, transmit codewords generated by encoding individual payloads. The codewords include at least a first codeword and a second codeword, and the first codeword is decodable independently of the second codeword and is further decodable jointly with the second codeword. In some embodiments, the first codeword is generated by error correction encoding a first individual payload, and the second codeword generated based on bits that are associated with a second individual payload and are interleaved with bits associated with the first individual payload. In another embodiment, the codewords include encoded bits generated by encoding (by LDPC encoding for example) individual payloads, and in particular the encoded bits include first encoded bits generated by encoding the first individual payload and second encoded bits generated by encoding a second individual payload with which bits that are associated with the first individual payload are combined. Each of the first codeword and the second codeword in such an embodiment may include encoded bits based on the bits that are associated with the first individual payload.
[0225] Apparatus embodiments are not limited to the foregoing examples, or to processor-based or programming-based embodiments. An apparatus may also or instead include, for example, an encoder for encoding individual payloads to generate codewords including at least first and second codewords or first and second encoded bits as referenced in various examples herein. In some embodiments an apparatus includes a transmitter or an interface, coupled to an encoder in a device that also includes an encoder, for transmitting or otherwise outputting codewords.
[0226] Fig. 12 includes block diagrams illustrating apparatus according to embodiments. At 1200, Fig. 12 illustrates an example apparatus in which or in conjunction with which transmitting and / or encoding features may be implemented, and an example apparatus in which or in conjunction with which receiving and / or decoding features may be implemented is illustrated at 1250. In some embodiments, a device or equipment may support both transmitting / encoding features and receiving / decoding features.
[0227] The example apparatus 1200 includes an input interface 1202, an encoder 1204 coupled to the input interface, and an output interface 1206 coupled to the encoder. Individual payloads are shown as inputs to the input interface 1202, and codewords are shown as outputs from the output interface 1206. Although shown as a separate output interface 1206 in Fig. 12, an interface for transmitting or otherwise outputting codewords may be provided by, incorporated into, or coupled to the encoder 1204. Similarly, although shown as a separate input interface 1202 in Fig. 12, an interface through which individual payloads for encoding are obtained by the encoder 1204 may be provided by, incorporated into, or coupled to the encoder.
[0228] Encode-side or transmit-side features or functions, and other features or functions herein, may be implemented in any of various ways, such as in hardware, firmware, or one or more components that execute software. The present disclosure is not limited to any specific type of implementation, and implementation details may vary between different devices, for example. Figs. 6 to 8 and 10 provide examples of features that may be implemented or supported by the encoder 1204.
[0229] Individual payloads may be obtained, and codewords may be output, via any of various types of interface, including a communication interface in the case of transmitting codewords or receiving individual payloads. Embodiments are not in any way restricted to any particular type of interface, the implementation of which may be based at least in part on how individual payloads are to be obtained and how codewords are to be output.
[0230] In an embodiment, an apparatus includes an encoder such as the encoder 1204 for encoding individual payloads to generate codewords or encoded bits. An interface such as the output interface 1206 may be provided, and coupled to an encoder in some embodiments, for transmitting or otherwise outputting codewords. An apparatus may also include an interface such as the interface 1202 in some embodiments, for receiving the individual payloads. More generally, an apparatus or a component thereof such as an encoder 1204 or a processor may be configured to encode (or for encoding) individual payloads, or programming may include instructions to encode (or for encoding) individual payloads or to cause a processor to encode individual payloads, to obtain or generate codewords or encoded bits. An apparatus or a component thereof such as an interface 1206, which may be coupled to the encoder 1204, may be configured to transmit (or for transmitting) or to otherwise output (or for outputting) , or programming may include instructions to transmit (or for transmitting) or to otherwise output (or for outputting) or to cause a processor to transmit or otherwise output, codewords. Outputting may involve transmitting the codewords by a first communication device to a second communication device in a wireless communication network for example.
[0231] Embodiments related to such apparatus or non-transitory computer readable storage media may include any one or more of the following features, for example, which are also discussed elsewhere herein:
[0232] an encoder such as the encoder 1204 may be provided for error correction encoding individual payloads to generate a plurality of codewords, including a first codeword generated by error correction encoding a first individual payload and a second codeword generated based on bits that are associated with a second individual payload and are interleaved with bits associated with the first individual payload;
[0233] the bits associated with the first individual payload may be or bits of the first individual payload or encoded bits generated by encoding the bits of the first individual payload;
[0234] the bits that are associated with the second individual payload comprise bits of the second individual payload or encoded bits generated by encoding the bits of the second individual payload;
[0235] the error correction encoding may involve encoding bits of the first individual payload by a first code to generate first encoded bits (in which case the bits associated with the first individual payload may be or include bits of the first encoded bits) ;
[0236] the bits associated with the second individual payload may be or include second encoded bits generated by encoding bits of the second individual payload, and the second codeword may be generated by further encoding the second encoded bits interleaved with the bits from the first encoded bits;
[0237] the error correction encoding may involve encoding the first encoded bits by a second code to generate the first codeword;
[0238] the first codeword may instead include the first encoded bits, without further encoding;
[0239] encoding to generate the second codeword may involve interleaving, in which case the interleaving may interleave the bits associated with the first individual payload and the bits associated with the second individual payload;
[0240] in other embodiments, an encoder may be provided for encoding (by LDPC encoding for example) individual payloads to generate encoded bits including first encoded bits generated by encoding a first individual payload, and second encoded bits generated by encoding a second individual payload with which bits that are associated with the first individual payload are combined, with each of the first codeword and the second codeword comprising encoded bits based on the bits that are associated with the first individual payload;
[0241] the bits that are associated with the first individual payload may be or include bits of the first individual payload or parity bits generated by LDPC encoding the first individual payload;
[0242] encoding the first individual payload may involve LDPC encoding the first individual payload based on a first parity check matrix, and encoding the second individual payload combined with the bits that are associated with the first individual payload may involve LDPC encoding the second individual payload combined with the bits that are associated with the first individual payload based on a second parity check matrix;
[0243] encoding the first individual payload and encoding the second individual payload combined with the bits that are associated with the first individual payload may involve LDPC encoding the first individual payload and the second individual payload combined with the bits that are associated with the first individual payload based on a joint parity check matrix;
[0244] the apparatus or a component thereof such as an encoder 1204 or an interleaver may be configured to interleave (or for interleaving) , or programming may include instructions to interleave (or for interleaving) , or to cause a processor to interleave a joint codeword generated by the encoding based on the joint parity check matrix, to generate the first codeword and the second codeword;
[0245] the apparatus or a component thereof such as an encoder 1204 or an interface such as the input interface 1202 coupled to the encoder may be configured to obtain (or for obtaining) , or programming may include instructions to obtain (or for obtaining) , or to cause a processor to obtain the first individual payload and the second individual payload;
[0246] the first codeword being decodable jointly with the second codeword may enable joint decoding of the second codeword based on successful decoding of the first codeword independently of the second codeword;
[0247] the first codeword being decodable jointly with the second codeword may also or instead enable joint decoding of the first codeword after a decoding failure in decoding the first codeword independently of the second codeword.
[0248] With reference again to Fig. 12, the example apparatus 1250 includes an input interface 1256, a decoder 1254 coupled to the input interface, and an output interface 1252 coupled to the decoder. Recovered individual payloads are shown as outputs from the output interface 1252, and codewords are shown as inputs received by the input interface 1256. An interface for receiving or otherwise obtaining codewords may be provided by, incorporated into, or coupled to the decoder 1254, and similarly an interface through which individual payloads recovered by the decoder 1254 may be provided by, incorporated into, or coupled to the decoder.
[0249] Decode-side or receive-side features or functions, and other features or functions herein, may be implemented in any of various ways, such as in hardware, firmware, or one or more components that execute software. The present disclosure is not limited to any specific type of implementation, and implementation details may vary between different devices, for example. Fig. 9 provides an example of features that may be implemented or supported by the decoder 1254.
[0250] Codewords may be received or otherwise obtained, and recovered individual payloads may be output, via any of various types of interface, including a communication interface in the case of receiving codewords or transmitting recovered individual payloads. Embodiments are not in any way restricted to any particular type of interface, the implementation of which may be based at least in part on how codewords for decoding are to be obtained and how recovered individual payloads are to be output. Encoder and decoder interfaces are shown separately in Fig. 12 to illustrate that encoding and decoding features may be implemented independently. However, it should be appreciated that a single device or equipment may support both encoding and decoding, in which case an encoder and a decoder may be coupled to the same interfaces. For example, the encoder 1204 and the decoder 1254 may be coupled to the same interface (s) to obtain individual payloads for encoding by the encoder and output individual payloads recovered by the decoder. The encoder 1204 and the decoder 1254 may also or instead be coupled to the same interface (s) to output codewords that are generated by the encoder and receive codewords for decoding by the decoder.
[0251] In an embodiment, an apparatus includes a decoder such as the decoder 1254 for decoding received codewords. An interface such as the input interface 1256 may be provided, and coupled to a decoder in some embodiments, for receiving codewords. An apparatus may also include an interface such as the output interface 1252 in some embodiments, for outputting recovered individual payloads. More generally, an apparatus or a component thereof such as a decoder 1254 or a processor may be configured to decode (or for decoding) codewords to recover individual payloads, or programming may include instructions to decode (or for decoding) codewords to recover individual payloads or to cause a processor to decode codewords to recover individual payloads. An apparatus or a component thereof such as an interface 1256, which may be coupled to the decoder 1254, may be configured to receive (or for receiving) or to otherwise obtain (or for obtaining) , or programming may include instructions to receive (or for receiving) or to otherwise obtain (or for obtaining) or to cause a processor to receive or otherwise obtain, the codewords. Receiving, for example, may involve receiving the codewords from a first communication device by a second communication device in a wireless communication network for example.
[0252] Embodiments related to apparatus or non-transitory computer readable storage media may include any one or more of the following features, for example, which are also discussed elsewhere herein:
[0253] an interface such as the input interface 1256 may be provided for receiving, from a first communication device by a second communication device in a wireless communication network, a plurality of codewords generated by encoding individual payloads;
[0254] the codewords may be generated by error correction encoding the individual payloads, and may include a first codeword generated by error correction encoding a first individual payload and a second codeword generated based on bits that are associated with a second individual payload and are interleaved with bits associated with the first individual payload;
[0255] the codewords may include a first codeword and a second codeword comprising encoded bits generated by encoding (by LDPC encoding, for example) individual payloads -the encoded bits may include first encoded bits generated by encoding a first individual payload, and second encoded bits generated by encoding a second individual payload with which bits that are associated with the first individual payload are combined, with each of the first codeword and the second codeword comprising encoded bits based on the bits that are associated with the first individual payload;
[0256] the apparatus or a component thereof such as a decoder 1254 coupled to an interface may be configured to decode (or for decoding) , or programming may include instructions to decode (or for decoding) , or to cause a processor to decode the first codeword and the second codeword to obtain the first individual payload and the second individual payload;
[0257] the apparatus or a component thereof such as a decoder 1254 coupled to an interface may be configured to decode (or for decoding) , or programming may include instructions to decode (or for decoding) , or to cause a processor to decode the first codeword independently of the second codeword, and jointly decode the second codeword based on successful decoding of the first codeword independently of the second codeword;
[0258] the apparatus or a component thereof such as a decoder 1254 coupled to an interface may be configured to decode (or for decoding) , or programming may include instructions to decode (or for decoding) , or to cause a processor to jointly decode the first codeword after a decoding failure in decoding the first codeword independently of the second codeword;
[0259] in an error correction encoding embodiment, the bits associated with the first individual payload may be or bits of the first individual payload or encoded bits generated by encoding the bits of the first individual payload;
[0260] in an error correction encoding embodiment, the bits that are associated with the second individual payload comprise bits of the second individual payload or encoded bits generated by encoding the bits of the second individual payload;
[0261] in an error correction encoding embodiment, the error correction encoding may involve encoding bits of the first individual payload by a first code to generate first encoded bits (in which case the bits associated with the first individual payload may be or include bits of the first encoded bits) ;
[0262] in an error correction encoding embodiment, the bits associated with the second individual payload may be or include second encoded bits generated by encoding bits of the second individual payload, and the second codeword may be generated by further encoding the second encoded bits interleaved with the bits from the first encoded bits;
[0263] in an error correction encoding embodiment, the error correction encoding may involve encoding the first encoded bits by a second code to generate the first codeword;
[0264] in an error correction encoding embodiment, the first codeword may instead include the first encoded bits, without further encoding;
[0265] in an error correction encoding embodiment, encoding to generate the second codeword may involve interleaving, in which case the interleaving may interleave the bits associated with the first individual payload and the bits associated with the second individual payload;
[0266] in other embodiments, the bits that are associated with the first individual payload may be or include bits of the first individual payload or parity bits generated by LDPC encoding the first individual payload;
[0267] encoding the first individual payload may involve LDPC encoding the first individual payload based on a first parity check matrix, and encoding the second individual payload combined with the bits that are associated with the first individual payload may involve LDPC encoding the second individual payload combined with the bits that are associated with the first individual payload based on a second parity check matrix;
[0268] encoding the first individual payload and encoding the second individual payload combined with the bits that are associated with the first individual payload may involve LDPC encoding the first individual payload and the second individual payload combined with the bits that are associated with the first individual payload based on a joint parity check matrix;
[0269] the apparatus or a component thereof such as a decoder 1254 or an interleaver may be configured to interleave (or for interleaving) , or programming may include instructions to interleave (or for interleaving) , or to cause a processor to interleave a joint codeword generated by the encoding based on the joint parity check matrix, to generate the first codeword and the second codeword, or such interleaving may have been performed before the joint codeword was transmitted.
[0270] Other features disclosed herein may also or instead be provided or supported in apparatus embodiments. Examples of such features include features related to selection of code rate and length, MCS selection, more than two individual payloads, and signaling.
[0271] Apparatus embodiments are not in any way restricted to single devices. A system, for example, may include a first communication device and a second communication device. The first communication device may be configured to transmit (or for transmitting) a plurality of codewords generated by error correction encoding individual payloads. The codewords include at least a first codeword generated by error correction encoding a first individual payload and a second codeword generated based on bits that are associated with a second individual payload and are interleaved with bits associated with the first individual payload. The first codeword is decodable independently of the second codeword, and is further decodable jointly with the second codeword. The second communication device is configured to receive (or for receiving) the first codeword and the second codeword from the first communication device, and to decode (or for decoding) the first individual payload and the second individual payload from the first codeword and the second codeword.
[0272] In another system embodiment, the first communication device is configured to transmit (or for transmitting) a plurality of codewords including at least a first codeword and a second codeword that include encoded bits generated by encoding (by LDPC encoding for example) individual payloads. The encoded bits include first encoded bits generated by encoding a first individual payload, and second encoded bits generated by encoding a second individual payload with which bits that are associated with the first individual payload are combined. Each of the first codeword and the second codeword comprising encoded bits based on the bits that are associated with the first individual payload. As in other system embodiments, such a system may also include a second communication device that is configured to receive (or for receiving) the first codeword and the second codeword from the first communication device, and to decode (or for decoding) the first individual payload and the second individual payload from the first codeword and the second codeword.
[0273] More generally, other features disclosed herein may also or instead be provided in method, apparatus, and / or system embodiments.
[0274] Embodiments disclosed herein encompass various aspects of what may be referred to as HARQ-less intra-UE MA coding that may be especially suited to soft-output codes. Embodiments may be applied to a wide range of communication networks, such as 5G+, 6G, WiFi, non-terrestrial networks (NTNs) , and distributed or self-organized networks.
[0275] Self-decodability may be provided, for different types of payloads such as URLLC data and eMBB data for example.
[0276] High reliability may also or instead be provided for certain types of payloads. For example, URLLC performance may be enhanced even when eMBB decoding fails.
[0277] Some embodiments may provide lower latency. Shared bits may be copied from a URLLC payload and combined with bits of another payload such as an eMBB payload, for example, to support an earlier start of decoding of the URLLC payload before all eMBB symbols are received.
[0278] Performance improvement may be realized in significant slope gain of payloads with higher decoding priority, such as URLLC payloads, especially at low BLER.
[0279] A coding approach that supports a second (joint) decoding attempt without HARQ as disclosed herein may provide improved resilience or reliability, lower latency, and better performance relative to conventional HARQ approaches.
[0280] With multiple payloads being coupled and encoded into a long codeword to enable self-decodability and joint-decodability, diverse KPI requirements can be supported, for multiple payloads or services for example. Embodiments may also or instead support increased flexibility for multi-service scenarios or other applications that involve different types of payloads.
[0281] Joint decoding performance after a second decoding attempt is expected to be significantly better than after a first decoding attempt. For example, slope of a BLER versus noise curve is expected to be steeper and thus improved, making embodiments that support a second decoding attempt suitable to operate in a high SNR and low BLER conditions. This is exactly the target operation region of URLLC, for example.
[0282] However, as the number of coupling bits increases and second-attempt decoding performance for one individual payload improves, performance for another individual payload with combined bits may be slightly worse than performance without coupling. This is because additional payload bits are attached to original payload bits, making the effective code rate higher than in the case without coupling. This performance cost may be considered negligible, or at least a worthwhile trade-off, relative to the benefits in enhanced URLLC reliability.
[0283] Although this disclosure has been described with reference to illustrative embodiments, this description 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. It is therefore intended that the appended claims encompass any such modifications or embodiments.
[0284] Features disclosed herein in the context of method embodiments, for example, may also or instead be implemented in apparatus 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.
[0285] Although aspects of the present invention have been described with reference to specific features and embodiments thereof, various modifications and combinations can be made thereto without departing from the invention. The description and drawings are, accordingly, to be regarded simply as an illustration of some embodiments of the invention as defined by the appended claims, and are contemplated to cover any and all modifications, variations, combinations or equivalents that fall within the scope of the present invention. Therefore, although embodiments and potential advantages have been described in detail, various changes, substitutions and alterations can be made herein without departing from the invention as defined by the appended claims. Moreover, the scope of the present application is not intended to be limited to the particular embodiments of the process, machine, manufacture, composition of matter, means, methods and steps described in the specification. As one of ordinary skill in the art will readily appreciate from the disclosure of the present invention, processes, machines, manufacture, compositions of matter, means, methods, or steps, presently existing or later to be developed, that perform substantially the same function or achieve substantially the same result as the corresponding embodiments described herein may be utilized according to the present invention. Accordingly, the appended claims are intended to include within their scope such processes, machines, manufacture, compositions of matter, means, methods, or steps.
[0286] Moreover, any module, component, or device exemplified herein that executes instructions may include or otherwise have access to a non-transitory computer readable or processor readable storage medium or media for storage of information, such as computer readable or processor readable instructions, data structures, program modules, and / or other data. A non-exhaustive list of examples of non-transitory computer readable or processor readable storage media includes magnetic cassettes, magnetic tape, magnetic disk storage or other magnetic storage devices, optical disks such as compact disc read-only memory (CD-ROM) , digital video discs or digital versatile disc (DVDs) , Blu-ray DiscTM, or other optical storage, volatile and non-volatile, removable and nonremovable media implemented in any method or technology, random-access memory (RAM) , read-only memory (ROM) , electrically erasable programmable read-only memory (EEPROM) , flash memory or other memory technology. Any such non-transitory computer readable or processor readable storage media may be part of a device or accessible or connectable thereto. Any application or module herein described may be implemented using instructions that are readable and executable by a computer or processor may be stored or otherwise held by such non-transitory computer readable or processor readable storage media.
Claims
1.A method comprising:error correction encoding individual payloads to generate a plurality of codewords,the plurality of codewords comprising a first codeword generated by error correction encoding a first individual payload, and a second codeword generated based on bits that are associated with a second individual payload and are interleaved with bits associated with the first individual payload,the first codeword being decodable independently of the second codeword, and further being decodable jointly with the second codeword,the method further comprising:outputting the first codeword and the second codeword.2.A method comprising:encoding individual payloads to generate a plurality of encoded bits,the plurality of encoded bits comprising first encoded bits generated by encoding a first individual payload, and second encoded bits generated by encoding a second individual payload with which bits that are associated with the first individual payload are combined,the method further comprising:outputting a first codeword and a second codeword comprising the encoded bits,each of the first codeword and the second codeword comprising encoded bits based on the bits that are associated with the first individual payload,the first codeword being decodable independently of the second codeword, and further being decodable jointly with the second codeword.3.The method of claim 1,wherein the bits associated with the first individual payload comprise bits of the first individual payload or encoded bits generated by encoding the bits of the first individual payload,wherein the bits that are associated with the second individual payload comprise bits of the second individual payload or encoded bits generated by encoding the bits of the second individual payload.4.The method of claim 1,wherein the error correction encoding comprises encoding bits of the first individual payload by a first code to generate first encoded bits,wherein the bits associated with the first individual payload comprise bits of the first encoded bits,wherein the bits associated with the second individual payload comprise second encoded bits generated by encoding bits of the second individual payload,wherein the second codeword is generated by further encoding the second encoded bits interleaved with the bits from the first encoded bits.5.The method of claim 4, wherein the error correction encoding further comprises encoding the first encoded bits by a second code to generate the first codeword.6.The method of claim 4, wherein the first codeword comprises the first encoded bits.7.The method of claim 1,wherein encoding to generate the second codeword comprises interleaving,wherein the interleaving interleaves the bits associated with the first individual payload and the bits associated with the second individual payload.8.The method of claim 2, wherein the bits that are associated with the first individual payload comprise bits of the first individual payload or parity bits generated by low density parity check (LDPC) encoding the first individual payload.9.The method of claim 2 or claim 8,wherein encoding the first individual payload comprises low density parity check (LDPC) encoding the first individual payload based on a first parity check matrix; andwherein encoding the second individual payload combined with the bits that are associated with the first individual payload comprises low density parity check (LDPC) encoding the second individual payload combined with the bits that are associated with the first individual payload based on a second parity check matrix.10.The method of claim 2 or claim 8, wherein encoding the first individual payload and encoding the second individual payload combined with the bits that are associated with the first individual payload comprise:low density parity check (LDPC) encoding the first individual payload and the second individual payload combined with the bits that are associated with the first individual payload based on a joint parity check matrix.11.The method of claim 10, further comprising:interleaving a joint codeword generated by the encoding based on the joint parity check matrix, to generate the first codeword and the second codeword.12.The method of any one of claims 1 to 11, further comprising:obtaining the first individual payload and the second individual payload.13.The method of any one of claims 1 to 12, wherein the first codeword further being decodable jointly with the second codeword enables joint decoding of the second codeword based on successful decoding of the first codeword independently of the second codeword.14.The method of any one of claims 1 to 13, wherein the first codeword further being decodable jointly with the second codeword enables joint decoding of the first codeword after a decoding failure in decoding the first codeword independently of the second codeword.15.The method of any one of claims 1 to 14, further comprising:transmitting the first codeword and the second codeword from a first communication device to a second communication device in a wireless communication network.16.A method comprising:receiving, from a first communication device by a second communication device in a wireless communication network, a plurality of codewords generated by error correction encoding individual payloads,the plurality of codewords comprising a first codeword generated by error correction encoding a first individual payload, and a second codeword generated based on bits that are associated with a second individual payload and are interleaved with bits associated with the first individual payload,the first codeword being decodable independently of the second codeword, and further being decodable jointly with the second codeword.17.A method comprising:receiving, from a first communication device by a second communication device in a wireless communication network, a first codeword and a second codeword comprising a plurality of encoded bits generated by encoding individual payloads,the plurality of encoded bits comprising first encoded bits generated by encoding a first individual payload, and second encoded bits generated by encoding a second individual payload with which bits that are associated with the first individual payload are combined,each of the first codeword and the second codeword comprising encoded bits based on the bits that are associated with the first individual payload,the first codeword being decodable independently of the second codeword, and further being decodable jointly with the second codeword.18.The method of claim 16 or claim 17, further comprising:decoding the first codeword and the second codeword to obtain the first individual payload and the second individual payload.19.The method of claim 16 or claim 17, further comprising:decoding the first codeword independently of the second codeword; andjointly decoding the second codeword based on successful decoding of the first codeword independently of the second codeword.20.The method of claim 16 or claim 17, further comprising:jointly decoding the first codeword after a decoding failure in decoding the first codeword independently of the second codeword.21.The method of claim 16,wherein the bits associated with the first individual payload comprise bits of the first individual payload or encoded bits generated by encoding the bits of the first individual payload,wherein the bits that are associated with the second individual payload comprise bits of the second individual payload or encoded bits generated by encoding the bits of the second individual payload.22.The method of claim 16,wherein the error correction encoding comprises encoding bits of the first individual payload by a first code to generate first encoded bits,wherein the bits associated with the first individual payload comprise bits of the first encoded bits,wherein the bits associated with the second individual payload comprise second encoded bits generated by encoding bits of the second individual payload,wherein the second codeword is generated by further encoding the second encoded bits interleaved with the bits from the first encoded bits.23.The method of claim 22, wherein the error correction encoding further comprises encoding the first encoded bits by a second code to generate the first codeword.24.The method of claim 22, wherein the first codeword comprises the first encoded bits.25.The method of claim 16,wherein encoding to generate the second codeword comprises interleaving,wherein the interleaving interleaves the bits associated with the first individual payload and the bits associated with the second individual payload.26.The method of claim 17, wherein the bits that are associated with the first individual payload comprise bits of the first individual payload or parity bits generated by low density parity check (LDPC) encoding the first individual payload.27.The method of claim 17 or claim 26,wherein encoding the first individual payload comprises low density parity check (LDPC) encoding the first individual payload based on a first parity check matrix; andwherein encoding the second individual payload combined with the bits that are associated with the first individual payload comprises low density parity check (LDPC) encoding the second individual payload combined with the bits that are associated with the first individual payload based on a second parity check matrix.28.The method of claim 17 or claim 26, wherein encoding the first individual payload and encoding the second individual payload combined with the bits that are associated with the first individual payload comprise:low density parity check (LDPC) encoding the first individual payload and the second individual payload combined with the bits that are associated with the first individual payload based on a joint parity check matrix.29.The method of claim 28, wherein a joint codeword generated by the encoding based on the joint parity check matrix is interleaved to generate the first codeword and the second codeword.30.An apparatus comprising a processor configured to cause the apparatus to perform the method of any one of claims 1 to 15.31.An apparatus comprising:an encoder for error correction encoding individual payloads to generate a plurality of codewords,the plurality of codewords comprising a first codeword generated by error correction encoding a first individual payload, and a second codeword generated based on bits that are associated with a second individual payload and are interleaved with bits associated with the first individual payload,the first codeword being decodable independently of the second codeword, and further being decodable jointly with the second codeword,the apparatus further comprising:an interface, coupled to the encoder, for outputting the first codeword and the second codeword.32.An apparatus comprising:an encoder for encoding individual payloads to generate a plurality of encoded bits,the plurality of encoded bits comprising first encoded bits generated by encoding a first individual payload, and second encoded bits generated by encoding a second individual payload with which bits that are associated with the first individual payload are combined,the apparatus further comprising:an interface, coupled to the encoder, for outputting a first codeword and a second codeword comprising the encoded bits,each of the first codeword and the second codeword comprising encoded bits based on the bits that are associated with the first individual payload,the first codeword being decodable independently of the second codeword, and further being decodable jointly with the second codeword.33.The apparatus of claim 31,wherein the bits associated with the first individual payload comprise bits of the first individual payload or encoded bits generated by encoding the bits of the first individual payload,wherein the bits that are associated with the second individual payload comprise bits of the second individual payload or encoded bits generated by encoding the bits of the second individual payload.34.The apparatus of claim 31,wherein the error correction encoding comprises encoding bits of the first individual payload by a first code to generate first encoded bits,wherein the bits associated with the first individual payload comprise bits of the first encoded bits,wherein the bits associated with the second individual payload comprise second encoded bits generated by encoding bits of the second individual payload,wherein the second codeword is generated by further encoding the second encoded bits interleaved with the bits from the first encoded bits.35.The apparatus of claim 34, wherein the error correction encoding further comprises encoding the first encoded bits by a second code to generate the first codeword.36.The apparatus of claim 34, wherein the first codeword comprises the first encoded bits.37.The apparatus of claim 31,wherein encoding to generate the second codeword comprises interleaving,wherein the interleaving interleaves the bits associated with the first individual payload and the bits associated with the second individual payload.38.The apparatus of claim 32, wherein the bits that are associated with the first individual payload comprise bits of the first individual payload or parity bits generated by low density parity check (LDPC) encoding the first individual payload.39.The apparatus of claim 32 or claim 38,wherein encoding the first individual payload comprises low density parity check (LDPC) encoding the first individual payload based on a first parity check matrix; andwherein encoding the second individual payload combined with the bits that are associated with the first individual payload comprises low density parity check (LDPC) encoding the second individual payload combined with the bits that are associated with the first individual payload based on a second parity check matrix.40.The apparatus of claim 32 or claim 38, wherein encoding the first individual payload and encoding the second individual payload combined with the bits that are associated with the first individual payload comprise:low density parity check (LDPC) encoding the first individual payload and the second individual payload combined with the bits that are associated with the first individual payload based on a joint parity check matrix.41.The apparatus of claim 40, wherein the encoder is further configured to interleave a joint codeword generated by the encoding based on the joint parity check matrix, to generate the first codeword and the second codeword.42.The apparatus of any one of claims 31 to 41, wherein the encoder is further configured to obtain the first individual payload and the second individual payload.43.The apparatus of any one of claims 31 to 42, wherein the first codeword further being decodable jointly with the second codeword enables joint decoding of the second codeword based on successful decoding of the first codeword independently of the second codeword.44.The apparatus of any one of claims 31 to 43, wherein the first codeword further being decodable jointly with the second codeword enables joint decoding of the first codeword after a decoding failure in decoding the first codeword independently of the second codeword.45.The apparatus of any one of claims 31 to 44, further comprising:an interface, coupled to the encoder, for transmitting the first codeword and the second codeword from a first communication device to a second communication device in a wireless communication network.46.An apparatus comprising a processor configured to cause the apparatus to perform the method of any one of claims 16 to 29.47.An apparatus comprising:an interface for receiving, from a first communication device by a second communication device in a wireless communication network, a plurality of codewords generated by error correction encoding individual payloads,the plurality of codewords comprising a first codeword generated by error correction encoding a first individual payload, and a second codeword generated based on bits that are associated with a second individual payload and are interleaved with bits associated with the first individual payload,the first codeword being decodable independently of the second codeword, and further being decodable jointly with the second codeword.48.An apparatus comprising:an interface for receiving, from a first communication device by a second communication device in a wireless communication network, a first codeword and a second codeword comprising a plurality of encoded bits generated by encoding individual payloads,the plurality of encoded bits comprising first encoded bits generated by encoding a first individual payload, and second encoded bits generated by encoding a second individual payload with which bits that are associated with the first individual payload are combined,each of the first codeword and the second codeword comprising encoded bits based on the bits that are associated with the first individual payload,the first codeword being decodable independently of the second codeword, and further being decodable jointly with the second codeword.49.The apparatus of claim 47 or claim 48, further comprising:a decoder, coupled to the interface, for decoding the first codeword and the second codeword to obtain the first individual payload and the second individual payload.50.The apparatus of claim 47 or claim 48, further comprising:a decoder, coupled to the interface, for decoding the first codeword independently of the second codeword, and jointly decoding the second codeword based on successful decoding of the first codeword independently of the second codeword.51.The apparatus of claim 47 or claim 48, further comprising:a decoder, coupled to the interface, for jointly decoding the first codeword after a decoding failure in decoding the first codeword independently of the second codeword.52.The apparatus of claim 47,wherein the bits associated with the first individual payload comprise bits of the first individual payload or encoded bits generated by encoding the bits of the first individual payload,wherein the bits that are associated with the second individual payload comprise bits of the second individual payload or encoded bits generated by encoding the bits of the second individual payload.53.The apparatus of claim 47,wherein the error correction encoding comprises encoding bits of the first individual payload by a first code to generate first encoded bits,wherein the bits associated with the first individual payload comprise bits of the first encoded bits,wherein the bits associated with the second individual payload comprise second encoded bits generated by encoding bits of the second individual payload,wherein the second codeword is generated by further encoding the second encoded bits interleaved with the bits from the first encoded bits.54.The apparatus of claim 53, wherein the error correction encoding further comprises encoding the first encoded bits by a second code to generate the first codeword.55.The apparatus of claim 53, wherein the first codeword comprises the first encoded bits.56.The apparatus of claim 47,wherein encoding to generate the second codeword comprises interleaving,wherein the interleaving interleaves the bits associated with the first individual payload and the bits associated with the second individual payload.57.The apparatus of claim 48, wherein the bits that are associated with the first individual payload comprise bits of the first individual payload or parity bits generated by low density parity check (LDPC) encoding the first individual payload.58.The apparatus of claim 48 or claim 57,wherein encoding the first individual payload comprises low density parity check (LDPC) encoding the first individual payload based on a first parity check matrix; andwherein encoding the second individual payload combined with the bits that are associated with the first individual payload comprises low density parity check (LDPC) encoding the second individual payload combined with the bits that are associated with the first individual payload based on a second parity check matrix.59.The apparatus of claim 48 or claim 57, wherein encoding the first individual payload and encoding the second individual payload combined with the bits that are associated with the first individual payload comprise:low density parity check (LDPC) encoding the first individual payload and the second individual payload combined with the bits that are associated with the first individual payload based on a joint parity check matrix.60.The apparatus of claim 59, wherein a joint codeword generated by the encoding based on the joint parity check matrix is interleaved to generate the first codeword and the second codeword.61.A computer program comprising programming for execution by a processor, the programming including instructions to perform the method of any one of claims 1 to 29.62.A non-transitory computer readable medium storing programming for execution by a processor, the programming including instructions to perform the method of any one of claims 1 to 29.63.A system comprising:a first communication device configured to transmit a plurality of codewords generated by error correction encoding individual payloads, the plurality of codewords comprising a first codeword generated by error correction encoding a first individual payload and a second codeword generated based on bits that are associated with a second individual payload and are interleaved with bits associated with the first individual payload, the first codeword being decodable independently of the second codeword, and further being decodable jointly with the second codeword; anda second communication device configured to receive the first codeword and the second codeword from the first communication device, and to decode the first individual payload and the second individual payload from the first codeword and the second codeword.64.A system comprising:a first communication device configured to transmit a first codeword and a second codeword comprising a plurality of encoded bits generated by encoding individual payloads, the plurality of encoded bits comprising first encoded bits generated by encoding a first individual payload, and second encoded bits generated by encoding a second individual payload with which bits that are associated with the first individual payload are combined, each of the first codeword and the second codeword comprising encoded bits based on the bits that are associated with the first individual payload, the first codeword being decodable independently of the second codeword, and further being decodable jointly with the second codeword; anda second communication device configured to receive the first codeword and the second codeword from the first communication device, and to decode the first individual payload and the second individual payload from the first codeword and the second codeword.