Channel coding design for machine-learning data
Polar and LDPC codes are used to map critical machine-learning data bits to more reliable channels, addressing the protection of critical data portions in AI-driven applications by enhancing decoding reliability and system throughput.
Patent Information
- Authority / Receiving Office
- WO · WO
- Patent Type
- Applications
- Current Assignee / Owner
- HUAWEI TECH CO LTD
- Filing Date
- 2025-03-28
- Publication Date
- 2026-07-30
AI Technical Summary
Conventional channel coding methods for machine-learning data do not adequately protect critical portions of data, such as sign and exponent bits in floating-point tensors, and lack mechanisms to adaptively protect data components based on changing reliability requirements in AI-driven applications like autonomous driving and robotics.
Implementing polar codes with predefined reliability sequences and LDPC codes to map critical bits to more reliable channels, using encoder-decoder coordination to dynamically adjust error protection based on task-specific error tolerance and reliability requirements.
Enhances the robustness of critical data portions during transmission by ensuring higher decoding reliability, reducing errors in AI-driven applications, and improving system throughput and adaptability.
Smart Images

Figure CN2025085667_30072026_PF_FP_ABST
Abstract
Description
CHANNEL CODING DESIGN FOR MACHINE-LEARNING DATACROSS-REFERENCE TO RELATED APPLICATION
[0001] The present application claims priority to U.S. Provisional Patent Application No. 63 / 749,829, filed on January 27, 2025, and incorporated herein by reference.TECHNICAL FIELD
[0002] The present application relates to machine-learning data, such as inference data, and in particular to the application of channel coding to such data.BACKGROUND
[0003] Recent advances in distributed inference for artificial intelligence (AI) models, including large language model (LLM) -based services, applications of AI in robotics, and real-time spatial AI for autonomous systems, have introduced new challenges for wireless communication systems. Distributed inference tasks often involve transmitting tensor objects as intermediate results between computing entities, such as computing user equipment (UEs) , edge devices, and base stations, over wireless channels.
[0004] Channel coding may be applied to a transmission between computing entities. For example, a forward error correction (FEC) code may be applied to try to detect and correct errors that may occur during the transmission.SUMMARY
[0005] Channel coding may be adapted for the transmission of machine-learning (ML) data. ML data may be inference data, e.g. intermediate inference data transmitted between computing entities performing a distributed inference task. More generally, ML data may be any data associated with machine-learning, e.g. training data, inference data, intermediate inference data, tensor objects, prompts and / or tokens associated with a generative ML model, input to a ML model, output of a ML model (including input to / output of a generative ML model) , etc.
[0006] ML data may tolerate some errors introduced during transmission. However, the ML data may include portions that are more critical than other portions. It may be desired or necessary to protect the more critical portions better than (or even at the expense of) other portions that perhaps are not as critical. Channel coding may be applied in a way that the more critical portions have a higher decoding reliability. The critical portions may be bits of ML data referred to herein as critical bits. The critical bits may alternatively be called important bits, or significant bits, etc. They refer to one or more bits of the ML data that are of higher importance, e.g. of critical or significant importance. An example might be the sign and exponent bits of a floating point (FP) tensor value, or a scaling factor, or simply, one or more most significant bits (MSBs) of an ordinary integer variable, etc. These bits may be associated with enhanced error correction code protection. They may be associated with a higher decoding reliability requirement. A decoding reliability requirement may interchangeably be called a reliability requirement, and it may refer to a required or target reliability. It may be expressed in different ways depending upon the implementation, e.g. it may be expressed in terms of a particular bit error rate or some other metric. Additionally, or alternatively, a reliability requirement may express, in a relative sense, how reliably some bits should be decoded compared to other bits. For example, one subset of ML data may have a higher reliability requirement than another subset of ML data, meaning that the subset of ML data having the higher reliability requirement should, all else being equal, be more reliably decoded than the other subset of ML data. The subset of data having the higher reliability requirement may be associated with enhanced error correction code protection. The bits having the higher reliability requirement may, for example, be mapped to bit positions of input bits that, when channel encoded, are associated with higher probability of correct decoding. These bit positions may be referred to as the bit positions having a higher decoding reliability. In some implementations, a bit position may be referred to as a virtual channel, interchangeably called a channel. A reliability sequence may indicate the decoding reliability of different bit positions of input bits that are channel-encoded by a channel encoder. A reliability sequence may interchangeably be referred to herein as a reliability profile.
[0007] An example is distributed inference tasks. These tasks may require efficient, low-latency data transmissions. The transmission of distributed inference data between computing entities may tolerate a controlled level of error-an approach referred to as “Noisy Inference. ” Noisy Inference permits tolerable errors that do not significantly affect task-specific metrics like inference accuracy. This tolerance of minor errors reduces retransmission overhead and increases system throughput and can enhance adaptability for AI-driven applications. Some bits of the distributed inference data may have a higher reliability requirement and may be associated with enhanced error correction code protection. Those bits may, for example, be mapped to bit positions of input bits that, when channel encoded, are associated with higher probability of correct decoding. In this disclosure, “Noisy Inference” is also called “Error-Tolerant Inference” .
[0008] In 5th generation (5G) new radio (NR) standards, advanced forward error correction (FEC) codes such as Polar Codes and low-density parity-check (LDPC) codes serve as baseline channel coding schemes. Polar codes are known for their inherent reliability sequence derived from channel polarization, enabling straightforward mapping of critical bits onto more reliable channels. They also support simplified successive cancellation (SC) decoding, which achieves low complexity and energy savings-features desirable in distributed inference systems. In scenarios where small block lengths and low-latency decoding are required, Polar codes have proven effective, and their predefined reliability sequences facilitate efficient implementation.
[0009] LDPC codes, widely used for data channels, provide robust error correction capabilities and are suited for high-throughput scenarios. However, they do not naturally include a predefined reliability sequence. Instead, LDPC decoding relies on iterative message passing (e.g., Belief Propagation) , and reliability may be implicitly determined during the decoding process. Estimating a reliability sequence for LDPC codes depends on the chosen decoding algorithm, iteration count, and parity-check matrix structure. This absence of a fixed reliability order may complicate direct mapping of critical inference bits to highly reliable positions, but it is possible. Moreover, current methods have not leveraged task-specific error tolerance or prioritization for certain data fields-such as the “sign” and “exponent” bits in floating-point or “scaling factor” bits in quantized fixed-point representations or simply any difference between MSB to LSB positions in each data part-according to their importance to the inference task. The above data-aware considerations also require the physical layer to be aware of the tensor objects’ information such as data format type, size and other parameters, and schedule transmission of the tensor objects as an integrated data structure.
[0010] In future communication systems, the concept of Noisy Inference becomes highly relevant. AI-driven applications in autonomous driving, industrial IoT, and robotics may gain considerable benefits from controlled error tolerance. Unfortunately, conventional coding methods do not fully exploit this tolerance and lack mechanisms to adaptively protect critical data components. Furthermore, prior art has not addressed how to reconfigure code construction or perform adaptive rate-matching strategies dynamically in alignment with inference tasks’ changing reliability requirements. Polar codes, with their standardized reliability sequences, SC (successive cancellation) decoders and easily adaptable coding rates, offer a promising foundation for implementing such tailored error-protection strategies. LDPC codes can complement these approaches through reliability estimation and dynamic code design, provided that encoder-decoder coordination is established to infer a reliability ranking.
[0011] In some aspects of the present disclosure, there is provided a method including obtaining N groups of machine-learning (ML) data, where N is a positive integer. The ML data in each of the N groups may include a first subset of ML data and a second subset of ML data. The method may further include, for each group: mapping the first subset to first bit positions of input bits, and mapping the second subset to second bit positions of the input bits, based on a respective reliability requirement of the first subset and the second subset. The reliability requirement of the first subset may be higher than the reliability requirement of the second subset. The method may further include channel encoding the input bits using an error correction code.
[0012] The following technical benefit may be achieved: bits of the ML data that are of higher importance may be mapped to bit positions of the input bits that are associated with a higher decoding reliability. For example, the first subset of ML data referred to above may be mapped to virtual channels that have a higher decoding reliability. In this way, more important or critical portions of the ML data may be more robustly protected during transmission over the channel.
[0013] In some implementations, for each group, the first subset of ML data may include at least one of: sign of floating-point data; exponent of the floating point data; scaling factor for quantized data; or one or more most significant bits (MSB) .
[0014] In some implementations, the error correction code may be a polar code, in which case the channel encoding is polar encoding. In some implementations, for each group, each bit of the input bits corresponds to a respective virtual channel of the polar code. In some implementations, polar encoding the input bits for each of the N groups may involve polar encoding the input bits for each of the N groups in parallel, with each group encoded by a respective polar encoder. In some implementations, prior to polar encoding, the method may include channel encoding one or more bits of the ML data using an outer code to obtain encoded bits. In some implementations, each encoded bit may be included in a respective different group so that different encoded bits are encoded by different polar encoders. In some implementations, each encoded bit may be at a bit position corresponding to a same virtual channel.
[0015] In some implementations the one or more bits of the ML data that are channel encoded using the outer code are a first set of one or more bits, the outer code is a first outer code, the encoded bits are first encoded bits, the same virtual channel is a same first virtual channel, and the method may further include: prior to polar encoding, also channel encoding a second set of one or more bits of the ML data using a second outer code to obtain second encoded bits. In some implementations, each encoded bit of the second encoded bits may be included in a respective different group so that different second encoded bits are encoded by different polar encoders. In some implementations, each encoded bit of the second encoded bits may be at a bit position corresponding to a same second virtual channel. In some implementations, the second outer code may be different from the first outer code. In some implementations, no outer coding is applied to another set of bits that are mapped to another virtual channel. In some implementations, the method may further include modifying the outer coding in response to changing conditions of a communication channel through which the ML data is transmitted.
[0016] In some implementations, the error correction code may be a low-density parity-check (LDPC) code, in which case the channel encoding is LDPC encoding. In some implementations, the method may further include obtaining an indication of the mapping of the first subset of the ML data to the first bit positions. In some implementations, the groups may be LDPC encoded in parallel, with each group encoded by a respective LDPC encoder. In some implementations, the method may further include: prior to the LDPC encoding, channel encoding one or more bits of the ML data using an outer code to obtain encoded bits. In some implementations, each encoded bit may be included in a respective different group so that different encoded bits are encoded by different LDPC encoders. In some implementations, each encoded bit may be at a same bit position.
[0017] In some implementations, obtaining the indication of the mapping may include receiving an indication of decoding reliability of bit positions of the input bits. The decoding reliability may be based on results of LDPC decoding of previous data. The mapping may be obtained from the indication of decoding reliability.
[0018] In some implementations, prior to the channel encoding, the method may include obtaining information configuring the channel encoding.
[0019] In some implementations, N=1. That is, there is only one group of ML data.
[0020] In some aspects of the present disclosure, an apparatus is provided to perform or cause / control performance of any of the methods. For example, the apparatus may include at least one processor and a memory storing processor-executable instructions that, when executed by the at least one processor, cause the apparatus to perform any of the methods. For example, the processor-executable instructions, when executed by the at least one processor, may cause the apparatus to: obtain the N groups of ML data; for each group, map the first subset to the first bit positions of the input bits, and map the second subset to the second bit positions of the input bits, based on the respective reliability requirement of the first subset and the second subset; and channel encode the input bits using an error correction code. In some implementations, the apparatus is a chip or chipset, e.g. an integrated circuit (IC) chip. In some implementations, the apparatus does not execute instructions by a processor to perform the methods. In some implementations, the apparatus may comprise specialized or dedicated circuitry such as a field-programmable gate array (FPGA) , a graphical processing unit (GPU) , or an application-specific integrated circuit (ASIC) , that performs the methods. More generally, the apparatus may comprise modules or units to perform the methods, e.g. a unit or module to obtain the N groups of ML data, a unit or module to, for each group, map the first subset and the second subset, a unit or module to perform the channel encoding, etc. In some implementations, the apparatus may include means for performing the method steps, e.g. the apparatus may comprise a means to obtain the N groups of ML data, a means to, for each group, map the first subset and the second subset, a means to perform the channel encoding, etc.
[0021] In some aspects of the present disclosure, there is provided a method that may include decoding N groups of channel-encoded ML data to obtain N groups of output bits, where N is a positive integer. The method may further include, for each group: de-mapping first bit positions of the output bits back to a first subset of the ML data having a first reliability requirement, and de-mapping second bit positions of the output bits back to a second subset of the ML data having a second reliability requirement. The first bit positions may have a higher decoding reliability than the second bit positions.
[0022] In some implementations, for each group, the first subset may include at least one of: sign of floating-point data; exponent of the floating point data; scaling factor for quantized data; or one or more most significant bits (MSB) .
[0023] In some implementations, each of the N groups may have been channel encoded using a polar code, and the decoding may be polar decoding. In some implementations, the first bit positions may correspond to virtual channels of the polar code that have higher decoding reliability. In some implementations, the polar decoding may be successive cancellation (SC) decoding or successive cancellation list (SCL) decoding.
[0024] In some implementations, the N groups may be polar decoded in parallel, each of the N groups polar decoded using a respective polar decoder.
[0025] In some implementations, for at least two of the groups of polar-encoded ML data: each group may polar-encode a respective bit of a same codeword, where the codeword is associated with a same virtual channel. In some implementations, the codeword may belong to an outer code that was applied prior to polar encoding. In some implementations, the parallel polar decoding may include: identifying a set of values during the parallel polar decoding that correspond to the codeword of the outer code, each value in the set of values from a respective different polar decoder; decoding the outer code using the set of values to obtain an updated set of values; and using the updated set of values in place of the set of values in a next stage of the parallel polar decoding.
[0026] In some implementations: the polar decoding may use SC decoding; the set of values may comprise a plurality of belief values in leaf nodes that correspond to the codeword of the outer code, each belief value from a respective different polar decoder, and each belief value corresponding to the same virtual channel; decoding the outer code using the set of values may comprise decoding the plurality of belief values to obtain the codeword, where the updated set of values comprise codeword bits of the codeword, and each codeword bit corresponds to a respective one of the belief values; and using the updated set of values may comprise: for each polar decoder for which a respective belief value was identified corresponding to the codeword, using the codeword bit corresponding to the respective belief value as a bit decision of the polar decoder for the virtual channel.
[0027] In some implementations: the polar decoding may use SCL decoding; the set of values may comprise a plurality of belief values in leaf nodes that correspond to the codeword of the outer code, each belief value from a respective different polar decoder, and each belief value corresponding to the same virtual channel; decoding the outer code using the set of values may comprise decoding the plurality of belief values to obtain a soft decision for each codeword bit of the codeword, where the updated values comprise the soft decision for each codeword bit, and each soft decision corresponds to a respective one of the belief values; and using the updated set of values may comprise: for each polar decoder for which a respective belief value was identified corresponding to the codeword, using the soft decision corresponding to the respective belief value in the polar decoding in place of the respective belief value. In some implementations, the soft decision may be used to compute a decision metric for a leaf node of the polar decoder corresponding to the virtual channel.
[0028] In some implementations: the polar decoding may use SCL decoding; the set of values may comprise a plurality of bits that correspond to the codeword of the outer code, each bit on a decoding path of a respective different polar decoder, and each bit corresponding to the same virtual channel; decoding the outer code using the set of values may comprise decoding the plurality of bits to obtain the codeword, where the updated values comprise codeword bits of the codeword, and each codeword bit corresponds to a respective bit of the plurality of bits; and using the updated set of values may comprise: for at least one polar decoder having the decoding path on which there is the respective bit of the plurality of bits, using the codeword bit corresponding to the respective bit in place of the respective bit on the decoding path to update the decoding path of the polar decoder.
[0029] In some implementations, the decoding may be LDPC decoding. In some implementations, the method may further include obtaining an indication of the de-mapping to the first subset of the ML data. In some implementations, prior to decoding the channel-encoded ML data, the method may include LDPC decoding of previous data to obtain information related to decoding reliability for use in determining the de-mapping. In some implementations, prior to the decoding, the method may include obtaining information configuring the decoding.
[0030] In some implementations, N=1. That is, there is only one group of output bits obtained from one group of channel-encoded ML data.
[0031] In some aspects of the present disclosure, an apparatus is provided to perform or cause / control performance of any of the methods. For example, the apparatus may include at least one processor and a memory storing processor-executable instructions that, when executed by the at least one processor, cause the apparatus to perform any of the methods. For example, the processor-executable instructions, when executed by the at least one processor, may cause the apparatus to: decode the N groups of channel-encoded ML data to obtain N groups of output bits, and for each group, perform the de-mapping the first bit positions and the de-mapping the second bit positions. In some implementations, the apparatus is a chip or chipset, e.g. an integrated circuit (IC) chip. In some implementations, the apparatus does not execute instructions by a processor to perform the methods. In some implementations, the apparatus may comprise specialized or dedicated circuitry such as a field-programmable gate array (FPGA) , a graphical processing unit (GPU) , or an application-specific integrated circuit (ASIC) , that performs the methods. More generally, the apparatus may comprise modules or units to perform the methods, e.g. a unit or module to decode the N groups, and a unit or module to, for each group, perform the de-mapping the first bit positions and the de-mapping the second bit positions, etc. In some implementations, the apparatus may include means for performing the method steps, e.g. the apparatus may comprise a means to decode the N groups, and a means to perform the de-mapping the first bit positions and the de-mapping the second bit positions, etc. In another aspect, there is provided a computer-readable medium having stored thereon computer-executable instructions that, when executed, cause any of the methods described herein to be performed. The computer readable medium may be non-transitory. For example, there may be a non-transitory computer-readable storage medium having instructions stored thereon that, when executed by at least one processor of an apparatus, cause the apparatus to perform any of the methods described herein.
[0032] In another aspect, there is provided a computer program product having the instructions stored thereon for performing any of the methods described herein. For example, there may be a computer program product storing instructions that, when executed by at least one processor of an apparatus, cause the apparatus to perform any of the methods described herein.BRIEF DESCRIPTION OF THE DRAWINGS
[0033] Implementations of the present disclosure will be described, by way of example only, with reference to the accompanying figures wherein:
[0034] FIG. 1 is a schematic illustration of an example communication system according to an implementation of the present disclosure;
[0035] FIG. 2 illustrates another example communication system according to an implementation of the present disclosure;
[0036] FIG. 3 is a schematic illustration showing an apparatus wirelessly communicating with another apparatus within a communication system, according to an implementation of the present disclosure;
[0037] FIGs. 4 and 5 illustrate example apparatuses according to some implementations of the present disclosure;
[0038] FIG. 6 illustrates signaling and negotiation for tensor object transmission and coding configuration, according to one implementation;
[0039] FIG. 7 provides a data-structure-aware bit mapping overview, according to some implementations;
[0040] FIG. 8 shows an example polarization binary tree in an example Polar Decoder;
[0041] FIG. 9 shows an example of parallel sub-block encoding and decoding;
[0042] FIG. 10 illustrates a method of integration with I-QoS and HARQ Ignorance rates, according to one implementation;
[0043] FIG. 11 illustrates an example of floating-point bit allocation;
[0044] FIGs. 12 and 13 each provide an example of a group quantized set of 6 values that are mapped to the channels based on their criticality;
[0045] FIG. 14 illustrates an example of mapping different ML data to transport blocks (TBs) of different reliability, according to one implementation;
[0046] FIG. 15 illustrates transmission of a reliability profile for an LDPC coding scheme, according to one implementation;
[0047] FIG. 16 illustrates a method of dynamic LDPC reliability adjustment based on decoding feedback, according to one implementation;
[0048] FIGs. 17 and 18 illustrate examples of signaling and negotiation for outer combined coding of cold polar channels;
[0049] FIG. 19 illustrates an example implementation of how outer coding may be applied to only certain virtual channels;
[0050] FIG. 20 illustrates an example of using adaptive outer-coding schemes based on real-time channel reliability;
[0051] FIG. 21 illustrates a combined decoding approach for SC-based decoders, according to one implementation;
[0052] FIGs. 22 and 23 are example graphs that illustrate the bit error rate (BER) per virtual channel, for both the situation of parallel polar decoding without outer code and the situation of parallel polar decoding with outer coding;
[0053] FIG. 24 illustrates an example of a decoding method for an outer combined code for a SCL decoder, where the outer decoder is soft-input soft-output (SISO) -based, according to one implementation;
[0054] FIG. 25 illustrates an example of a decoding method for an outer combined code for a SCL decoder, where the outer decoder is hard-decision-based, according to one implementation;
[0055] FIG. 26 illustrates two apparatuses, according to some implementations; and
[0056] FIG. 27 illustrates a method performed by the two apparatuses, according to some implementations.DETAILED DESCRIPTION
[0057] Specific example implementations of the present disclosure will now be explained.
[0058] The implementations may be applied to sixth generation (6G) or other future generation communication systems. An example communication system (that may be a 4G or 5G or future generation (e.g., 6G) communication system) is first discussed below.
[0059] FIG. 1 is a schematic illustration of an example communication system according to an implementation of the present disclosure. There is shown a communication system 100 that includes a radio access network (RAN) 120, one or more communication electronic devices (EDs) 10a, 110b, 110c, 110d, 110e, 110f, 110g, 110h, 110i, 110j (collectively referred to as 110) , a core network 130, a Public Switched Telephone Network (PSTN) 140, the Internet 150, and other networks 160. The RAN 120 may include, but is not limited to, a future generation RAN, or a legacy RAN such as, but not limited to, 5th generation (5G) , 4th generation (4G) , 3rd generation (3G) or 2nd generation (2G) radio access network. The RAN 120 may be, for example, an Evolved Universal Mobile Telecommunications System (UMTS) Terrestrial Radio Access Network (E-UTRAN) , a NextGen RAN (NG RAN) , or some other type of RAN. Examples of RAN 120 based on the evolution of telecommunications standards include, but is not limited to, GSM (Global System for Mobile Communications) and CDMA (Code Division Multiple Access) for 2G, UMTS (Universal Mobile Telecommunications System) based on WCDMA (Wideband Code Division Multiple Access) and CDMA2000 for 3G, LTE (Long-Term Evolution) and WiMAX (Worldwide Interoperability for Microwave Access) for 4G, and NR (New Radio) for 5G. In some implementations, the RAN 120 may use any radio access technology (RAT) in the wireless interface between the one or more EDs 110 and the RAN 120. In some implementations, the term “radio access” may refer to the future generation air interface standards which may include both terrestrial networks (TNs) and non-terrestrial networks (NTNs) . These networks will be described in greater detail below in conjunction with various implementations. The one or more communication EDs 110 (also referred to as “user equipment” ) are configured to connect (e.g., communicatively couple) with each other or to one or more network nodes 170a, 170b (collectively referred to as 170) in the RAN 120. The core network (CN) 130 is a part of the communication system 100 and consists of network nodes (e.g., 170a, 170b) which provide support for the network features and telecommunication services. In some implementations, the CN 130 may be dependent on the RAT used in the communication system 100. In other implementations, the CN 130 may be access-agnostic, i.e., the CN 130 may be independent of the RAT used in the communication system 100. There are different types of CN 130, for different 3GPP system generations. For example, the CN 130 is the Evolved Packet Core (EPC) in 4G, also known as the Evolved Packet System (EPS) . In another example, the CN 130 is the 5G Core (5GC) which was developed as part of the 5G System (5GS) . The CN 130 also enables integration of different 3GPP and non-3GPP access types. In some implementations and referring to FIG. 1, the CN 130 also provides the interface towards external networks that may include the PSTN 140, the Internet 150, and other networks 160 in the communication system 100.
[0060] In general, the communication system 100 facilitates interaction between multiple wireless or wired elements. The communication system 100 may transmit different types of content, such as voice, data, video, and / or text, through different transmission methods such as, but not limited to, broadcast, multicast, groupcast, and unicast. Additionally, the communication system 100 operates by allocating and / or sharing resources, such as carrier spectrum bandwidth, among its constituent elements.
[0061] The communication system 100 may provide a wide range of communication services and applications including, but not limited to, Enhanced Mobile Broadband (eMBB) services, Ultra-Reliable Low-Latency Communication (URLLC) services, Massive Machine Type Communication (mMTC) services, Integrated Sensing And Communication (ISAC) , immersive communication, Ultra-massive Machine-Type Communication (uMTC) , hyper reliable and low-latency communication, ubiquitous connectivity, integrated AI and communication, and other services that can be provided by a future generation communication system. The communication system 100 may provide other services and applications such as, but not limited to, earth monitoring, remote sensing, passive sensing and positioning, navigation and tracking, autonomous delivery and mobility and the like.
[0062] The communication system 100 may include a terrestrial communication system (or network) and / or a non-terrestrial communication system (or network) . The communication system 100 may provide a high degree of availability and robustness through a joint operation of the terrestrial communication system and the non-terrestrial communication system. For example, integrating a non-terrestrial communication system (or components thereof) into a terrestrial communication system can result in a heterogeneous network comprising multiple layers. 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. The terrestrial communication system and the non-terrestrial communication system could be considered as sub-systems of the communication system 100.
[0063] FIG. 2 illustrates another example communication system 100 according to an implementation of the present disclosure. There is shown the communication system 100 which includes EDs 110a, 110b, 110c, 110d (collectively referred to as ED 110) , RANs 120a, 120b, one or more CNs 130, a PSTN 140, the Internet 150, and other networks 160. Additionally, the communication system 100 may also include a non-terrestrial network (NTN) 120c. The RANs 120a and120b may include network nodes 170a and 170b respectively. Examples of network nodes 170a, 170b include base stations, which can be generally referred to as terrestrial network (TN) devices or terrestrial transmit and receive points (T-TRPs) 170a and 170b (collectively referred to as 170) . In this context, the terms "TRP" and "base station" are used interchangeably unless otherwise specified. For simplicity, this disclosure primarily refers to network nodes as base stations; however, unless explicitly stated otherwise, references to TRP are considered non-limiting and interchangeable. The T-TRPs 170a, 170b may be base stations mounted on a building or tower. In one implementation, the NTN 120c includes a RAN node such as a base station 172, which may be generally referred to as an NTN device, a non-terrestrial node, a non-terrestrial network device, a non-terrestrial base station, or a non-terrestrial transmit and receive point (NT-TRP) 172.
[0064] In some implementations, the NT-TRP 172 is not attached to the ground, for example, as in the case of an airborne base station. An airborne base station may be implemented using communication equipment supported or carried by a flying device. For example, a flying device may include, but is not limited to, an airborne platform (such as a blimp or an airship) , balloon, drone (such as quadcopter) , and other types of aerial vehicles. In some implementations, an airborne base station may be supported or carried by an unmanned aerial system (UAS) or an unmanned aerial vehicle (UAV) , such as a drone. An airborne base station may be a moveable or mobile base station that can be flexibly deployed in different locations to meet network demand. A satellite base station is another example of a non-terrestrial base station. A satellite base station may be implemented using communication equipment supported or carried by a satellite. A satellite base station may also be referred to as an orbiting base station. High altitude platforms are yet another example of non-terrestrial base stations, including international mobile telecommunication base stations.
[0065] As referred to herein, and unless specified otherwise, a “TRP” may also refer to a T-TRP or an NT-TRP, a “T-TRP” may also refer to a “TN TRP” , and an “NT-TRP” may also refer to an “NTN TRP” . The NTN 120c may be considered a RAN, sharing operational aspects with RANs 120a, 120b. The NTN 120c may include at least one NTN device and at least one corresponding terrestrial network device. The at least one NTN device may function as a transport layer device and the at least one corresponding terrestrial network device may function as a RAN node, communicating with the ED 110 via the NTN device. Additionally, there may be an NTN gateway on the ground (referred to as a terrestrial network device) that also functions as a transport layer device facilitating communication with both the NTN device and the RAN node. The RAN node may communicate with the ED 110 via the NTN device and the NTN gateway. In some implementations, the NTN gateway and the RAN node may be located within the same device.
[0066] A base station 170 (also referred to as a TRP as stated above) is a network element within a radio access network responsible for radio transmission and reception in one or more cells to or from the ED (such as a user equipment) . In different implementations, the base station 170 may also be known as 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 non-terrestrial node, a non-terrestrial network device, a non-terrestrial base station, and a positioning node, among other possibilities. The base station 170 may be a macro base station (BS) , a pico BS, a relay node, a donor node, or combinations thereof. When the base station 170 performs (or is configured to perform) a method described herein, it may be interpreted as the base station itself, one or more modules (or units) in the base station, a circuit or chip, or a combination thereof, performing the method. For example, the circuit or chip may include a modem chip, also referred to as a baseband chip, a system on chip (SoC) including a modem core, system in package (SIP) , and the like, and may be responsible for one or more communication functions within the base station.
[0067] The EDs 110a-110d and TRPs 170a-170b, 172 are examples of communication equipment configured to implement some or all of the operations and / or implementations described herein. The T-TRP 170a forms part of the RAN 120a, which may include other TRPs, and / or other devices. Also, the TRP 170b forms part of the RAN 120b, which may include other TRPs, and / or devices. Each TRP 170a, 170b may transmit and / or receive wireless signals within a particular geographic region or area, sometimes referred to as a “cell” or a “coverage area” . The TRPs 170a-170b may be responsible for allocating and / or configuring resources and transmission and / or reception in a set of cell (s) . A cell is a radio network object that can be uniquely identified by a cell identification that is broadcasted over a geographical region or area from base stations associated with the cell. A cell can work in either FDD or TDD mode. A cell may be further divided into cell sectors, and a base station 170a-170b may, for example, employ one or more transceivers to provide services to one or more sectors. Some implementations may include pico or femto cells if supported by the radio access technology. In some implementations, one or more transceivers could be used for each cell, such as with Multiple-Input Multiple-Output (MIMO) technology. The number of RANs 120a-120b shown is merely an example. Any number of RANs may be contemplated when designing the communication system 100.
[0068] A base station may be a single element, as shown in the figures, or multiple elements distributed throughout the corresponding RAN, or otherwise configured. In some implementations, a plurality of RAN nodes coordinate to assist the ED 110 in implementing radio access, and different RAN nodes separately implement and handle different functions of the base station. For example, the RAN node may be a central unit (CU) , a distributed unit (DU) , a CU-control plane (CP) , a CU-user plane (UP) , or a radio unit (RU) etc. The CU and the DU may be separately deployed, or included within the same element (i.e., a baseband unit (BBU) ) . The RU may be included in a radio frequency device or a radio frequency unit (i.e., a remote radio unit (RRU) , an active antenna unit (AAU) , or a remote radio head (RRH) ) . In different systems, the CU (or the CU-CP and the CU-UP) , the DU, or the RU may be known by different names, but their functions are understood by person skilled in the art. For example, in an open radio access network (ORAN) system, a CU may be referred to as an open CU (O-CU) , a DU may be referred to as an open DU (O-DU) , and a CU-CP may be referred to as an open CU-CP (O-CU-CP) . The CU-UP may also be referred to as an open CU-UP (O-CU-UP) , and the RU may also be referred to as an open RU (O-RU) . Any one of the CU (or the CU-CP, the CU-UP) , the DU, and the RU may be implemented using a software module, a hardware module, or a combination of a software module and a hardware module.
[0069] Furthermore, communication between different devices / apparatuses in various implementations of this disclosure may refer to direct communication (that is, without the need of forwarding by another device / apparatus) , or may refer to communication (s) between different devices / apparatuses via another device / apparatus (that is, requiring forwarding by another device / apparatus) . Alternatively, such communication (s) may involve one functional unit inside a device / apparatus using another functional unit within the device / apparatus to communicate with another device / apparatus. In other words, phrases such as "sending (or transmitting) information to.. . (an ED or a base station) " in this disclosure may be understood as a destination endpoint of the information being an ED or a base station, including, sending / transmitting information directly or indirectly to an ED or a base station. Similarly, phrases like "receiving information from. . . (an ED or a base station) " may be understood as a source endpoint of the information being an ED or a base station, including directly or indirectly receiving information from an ED or a base station. Between the source endpoint that sends the information and the destination endpoint, necessary processing such as, but not limited to, format conversion, digital-to-analog conversion, amplification, and filtering may be performed on the information. However, the destination endpoint may understand valid information from the source endpoint. A similar understanding applies to other descriptions in this disclosure without reiterating details already described. In the present disclosure, the terms "send" and "transmit" may be used interchangeably in different implementations of this disclosure.
[0070] The ED 110 is used to connect people, objects, machines, and other entities. The ED 110 may be widely used in various scenarios including, but not limited to, cellular communications, device-to-device (D2D) , vehicle to everything (V2X) , peer-to-peer (P2P) , machine-to-machine (M2M) , MTC, internet of things (IoT) , virtual reality (VR) , augmented reality (AR) , mixed reality (MR) , metaverse, digital twin, industrial control, self-driving, remote medical, smart grid, smart furniture, smart office, smart wearable, smart transportation, smart city, drones, robots, remote sensing, passive sensing, positioning, navigation and tracking, and autonomous delivery and mobility.
[0071] Each ED 110 represents any suitable end user device for wireless operation and may include such devices (or may be referred to as, but not limited to) a user equipment (UE) or a user device or a terminal device, a wireless transmit / receive unit (WTRU) , a mobile station, a fixed or mobile subscriber unit, a cellular telephone, a station (STA) , an 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, a pair of glasses, head mounted equipment, etc. ) , an industrial device, or an apparatus (such as a module, modem, or chip) in the forgoing devices, among other possibilities. Future generation EDs 110 may be referred to by other terms. When an ED 110 performs (or is configured to perform) a method described herein, it may be interpreted as the ED itself, one or more modules (or units) in the ED, a circuit or chip, or a combination thereof, performing the method. For example, the circuit or chip may include a modem chip, also referred to as a baseband chip, a system on chip (SoC) including a modem core, or system in package (SIP) ) , and the like, and may be responsible for one or more communication functions in the ED.
[0072] Each ED 110 connected to TRPs 170a-170b, and / or TRPs 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.
[0073] Any ED 110 may be alternatively or additionally configured to interface, access, or communicate with any of the TRPs 170a, 170b and 172, the Internet 150, the CN 130, the PSTN 140, the other networks 160, or any combination thereof. In some examples, the ED 110a may communicate an uplink (UL) and / or downlink (DL) transmission over a terrestrial air interface 190a with station-TRP 170a. In some examples, the EDs 110a, 110b, 110c, and 110d may also communicate directly with one another via one or more sidelink (SL) air interfaces 190b. In some examples, the EDs 110a, 110d may communicate using an UL and / or DL transmission over a non-terrestrial air interface 190c with NT-TRP 172.
[0074] An air interface (such as, for example, 190a, 190b, 190c) generally includes a number of components and associated parameters that collectively specify how a transmission is to be sent and / or received over a wireless communications link between two or more communicating devices such as EDs and base station (s) . For example, an air interface may include one or more components defining the waveform (s) , frame structure (s) , multiple access scheme (s) , protocol (s) , coding scheme (s) and / or modulation scheme (s) for conveying information (such as, data) over a wireless communications link. The air interfaces 190a and 190b may use similar communication technology, that may include any suitable radio access technology.
[0075] The non-terrestrial air interface 190c can enable communication between the EDs 110a, 110d and one or more NT-TRPs 172 via a wireless link or simply a link. For some examples, the link is a dedicated connection for unicast transmission, a connection for broadcast transmission, or a connection between a group of EDs 110 and one or more NT-TRPs 172 for multicast transmission.
[0076] The TRPs 170a-170b, 172 may communicate with one another over one or more air interfaces 190e, 190f using wireless communication links (such as radio frequency (RF) , microwave, infrared (IR) , etc. ) or wired communication links. The air interfaces 190e, 190f may utilize any suitable radio access technology, and may be substantially similar to the air interfaces 190a, 190c over which the EDs 110a-110d communicate with one or more of the TRP 170a-170b, 172 or they may be substantially different. For example, the communication system 100 may implement one or more channel access methods, such as Time Division Multiple Access (TDMA) , Frequency Division Multiple Access (FDMA) , Code Division Multiple Access (CDMA) , Single Carrier Frequency Division Multiple Access (SC-FDMA) , Low Density Signature Multicarrier Code Division Multiple Access (LDS-MC-CDMA) , Non-Orthogonal Multiple Access (NOMA) , Pattern Division Multiple Access (PDMA) , Lattice Partition Multiple Access (LPMA) , Resource Spread Multiple Access (RSMA) , and Sparse Code Multiple Access (SCMA) .
[0077] The RANs 120a and 120b are in communication with the CN 130 to provide the EDs 110a 110b, and 110c with various services such as voice, data, multimedia, and other services. The RANs 120a and 120b and / or the CN 130 may be in direct or indirect communication with one or more other RANs (not shown) , which may or may not be directly served by the CN 130, and may employ different radio access technologies from RAN 120a and / or RAN 120b. The CN 130 may also serve as a gateway access between (i) the RANs 120a and 120b and / or the EDs 110a 110b, and 110c, and (ii) other networks (such as the PSTN 140, the Internet 150, and the other networks 160) . In addition, some or all of the EDs 110a 110b, and 110c may include functionality for communicating with different wireless networks over different wireless links using different wireless technologies and / or protocols. For example, the EDs 110a 110b, and 110c communicate using different cellular communications protocols, such as, but not limited to, a Global System for Mobile Communications (GSM) protocol, a code-division multiple access (CDMA) network protocol, a Push-to-Talk (PTT) protocol, a PTT over Cellular (POC) protocol, a Universal Mobile Telecommunications System (UMTS) protocol, a 3GPP Long Term Evolution (LTE) protocol, a fifth generation (5G) protocol, a New Radio (NR) protocol, and the like. Instead of wireless communication (or in addition thereto) , the EDs 110a 110b, and 110c may communicate using wired communication channels to a service provider or switch (not shown) , and / or 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) . EDs 110a 110b, and 110c may be multimode devices capable of operation according to multiple radio access technologies, and may incorporate one or multiple transceivers necessary to support such.
[0078] In addition, the communication system 100 may comprise a sensing agent (not shown) to manage the sensed data from ED 110 and / or any one of TRPs 170a, 170b, 172. In one implementation, the sensing agent may be part of any one of TRPs 170a, 170b, 172. In another implementation, the sensing agent is a separate node that can communicate with the CN 130 and / or the RAN 120 (such as any one of TRPs 170a, 170b, 172) .
[0079] FIG. 3 is a schematic illustration showing an apparatus 310 wirelessly communicating with another apparatus 320 within a communication system (e.g., the communication system 100) according to an implementation of the present disclosure. The apparatus 310 may be an electronic device (such as ED 110) . The apparatus 320 may be a network node (e, g., the network node 170) such as T-TRP 170 or an NT-TRP 172. Although only one apparatus 310, and one apparatus 320 are shown in the figure, the number of apparatus 310 and / or number of apparatus 320 can vary, potentially including one or more of each. For example, a single ED 110 may be served by a single T-TRP 170 (or a single NT-TRP 172) , or by multiple T-TRPs 170 (or multiple NT-TRPs 172) . Similarly, a single ED 110 may be served by one or more T-TRPs 170 and one or more NT-TRPs 172. Similarly, a single T-TRP 170 (or a single NT-TRP 172) may serve one or more EDs 110.
[0080] The apparatus 310 may include one or more processors 210. For clarity and to avoid overcrowding the illustration, only a single processor 210 is illustrated. The apparatus 310 may further include a transmitter 201 and a receiver 203 coupled to one or more antennas 204. For clarity, only a single antenna 204 is illustrated. One, some, or all of the antennas 204 may alternatively be panels. In some implementations, the transmitter 201 and the receiver 203 are separate from each other. In other implementations, the transmitter 201 and the receiver 203 may be integrated into a single unit, for example, as a transceiver. The transceiver is configured to modulate data or other content for transmission by the one or more antennas 204 or a network interface controller (NIC) . The transceiver may also be configured to demodulate data or other content received by the one or more antennas 204. A transceiver may include any suitable structure for generating signals for wireless or wired transmission and / or for processing signals received through wireless or wired communication. Each antenna 204 includes any suitable structure for transmitting and / or receiving wireless or wired signals. The apparatus 310 may include a memory 208. In some implementations, the apparatus 310 may include multiple memories 208. Only a single transmitter 201, receiver 203, processor 210, memory 208, and antenna 204 is illustrated for simplicity, but the apparatus 310 may include one or more other components. In some implementations of the present disclosure, the transceiver (or transmitter 201 and / or receiver 203) may be viewed as an interface circuit.
[0081] The memory 208 is configured to store instructions used to perform operations described herein. The memory 208 may also be configured to store data that is used, generated, or collected by the apparatus 310. For example, the memory 208 can store software instructions or modules configured to implement some or all of the functionalities and / or operations described herein and that which are executed by the one or more processors 210.
[0082] The apparatus 310 may further include one or more input / output devices (not shown) or interfaces. The input / output devices or interfaces facilitate interaction with a user or other devices in the network. Each input / output device or interface includes suitable components for facilitating transmission of information to a user and reception of information from a user, and for various network interface communications. Such components may include, but are not limited to, a speaker, microphone, keypad, keyboard, display, touch screen, and the like.
[0083] The processor 210 may be configured to perform (or control the apparatus 310 to perform) operations (or methods) described herein as being performed by the apparatus 310. For example, the processor 210 performs or controls the apparatus 310 to perform the operations of: a) receiving one or more transport blocks (TBs) , b) using a resource for decoding at least one of the received TBs, c) releasing the resource for decoding another of the received TBs, and / or d) receiving configuration information configuring a resource. Specifically, the operations may include tasks related to: preparing a transmission for UL transmission to the apparatus 320, processing DL transmissions received from the apparatus 320, and handling SL transmission to and from another apparatus 310. Processing operations related to preparing a transmission for UL transmission may include operations such as, but not limited to, encoding, modulating, transmit beamforming, and generating symbols for transmission. Processing operations related to processing DL transmissions may include operations such as, but not limited to, receive beamforming, demodulating and decoding received symbols. Processing operations related to processing SL transmissions may include operations such as, but not limited to, transmit / receive beamforming, modulating / demodulating and encoding / decoding symbols. Depending upon the implementation, a DL transmission may be received by the receiver 203, possibly using receive beamforming, and the processor 210 may extract signaling from the DL transmission (such as by detecting and / or decoding the signaling) . An example of signaling may be a reference signal transmitted by the apparatus 320. In some implementations, the processor 210 implements the transmit beamforming and / or the receive beamforming based on the indication of beam direction, such as beam angle information (BAI) , received from the apparatus 320. In some implementations, the processor 210 may be configured to perform operations relating to network access (such as initial access) and / or downlink synchronization, which includes operations for detecting a synchronization sequence, decoding and obtaining the system information, and the like. In some implementations, the processor 210 may perform channel estimation, such as using a reference signal received from the apparatus 320.
[0084] Although not illustrated, in some implementations, the processor 210 may either be a part of the transmitter 201 or a part of the receiver 203 or a part of both the transmitter 201 and the receiver 203. Although not illustrated, in some implementations, the memory 208 may be a part of the processor 210.
[0085] The processor 210, along with the processing components of the transmitter 201 and the receiver 203 may each be implemented by one or more processors that may the same or different. These processors are configured to execute instructions stored in a memory (such as in the memory 208) .
[0086] The apparatus 320 includes one or more processors 260 (only one processor 260 is illustrated) . The apparatus 320 may further include one or more transmitters 252 and one or more receivers 254 coupled to one or more antennas 256. Only a single antenna 256 is illustrated to avoid clutter in the illustration. One, some, or all of the antennas 256 may alternatively be panels. In some implementations, the transmitter 252 and the receiver 254 are separate from each other. In other implementations, the transmitter 252 and the receiver 254 may be integrated into a single unit such as, for example, as a transceiver. The apparatus 320 may further include a memory 258. In some implementations, the apparatus 320 may include multiple memories 258. The apparatus 320 may further include a scheduler 253. Only a single transmitter 252, receiver 254, processor 260, memory 258, antenna 256 and scheduler 253 are illustrated for simplicity, however the apparatus 320 may include one or more other components. In the present disclosure, in some implementations, the transceiver (or transmitter 252 and / or receiver254) may be viewed as an interface circuit.
[0087] In some implementations, various components of the apparatus 320 may be distributed. For example, some of the modules of the apparatus 320 may be located remotely from the equipment housing the antennas 256 for the apparatus 320 (and therefore also can be viewed as one or more nodes) . These modules, which can be considered as one or more nodes, may be coupled to the equipment that houses the antennas 256 over a communication link (not shown) , sometimes referred to as front haul, such as the Common Public Radio Interface (CPRI) . Therefore, in some implementations, the term apparatus 320 may also refer to network-side nodes that perform processing operations such as, but not limited to, determining the location of the apparatus 310, resource allocation (scheduling) , message generation, and encoding / decoding, and that which are not necessarily part of the equipment that houses the antennas 256 of the apparatus 320. The nodes may also be coupled to other apparatuses 320. In some implementations, the apparatus 320 may actually be a plurality of nodes that are operating together to serve the apparatus 310, such as through the use of coordinated multipoint transmissions, or through the use of ORAN system as described above in the disclosure.
[0088] The processor 260 is configured to perform operations including those related to: preparing a transmission for DL transmission to the apparatus 310, processing an UL transmission received from the apparatus 310, preparing a transmission for backhaul transmission to another apparatus 320, and processing a transmission received over backhaul from another apparatus 320. Processing operations related to preparing a transmission for DL or backhaul transmission may include operations such as, but not limited to, encoding, modulating, precoding (such as MIMO precoding) , transmit beamforming, and generating symbols for transmission. Processing operations related to processing received transmissions in the UL or over backhaul may include operations such as, but not limited to, receive beamforming, demodulating received symbols, and decoding received symbols. The processor 260 may also be configured to perform operations relating to network access (such as initial access) and / or DL synchronization, such as generating the content of synchronization signal blocks (SSBs) , generating the system information, and the like. In some implementations, the processor 260 is further configured to generate an indication of beam direction, such as BAI, which may be scheduled for transmission by the scheduler 253 which will be described below. In some implementations, the processor 260 implements the transmit beamforming and / or receive beamforming based on beam direction information (such as BAI) received from another apparatus 320. The processor 260 is configured to perform other network side processing operations described herein, such as, but not limited to, determining the location of the apparatus 310, determining where to deploy another apparatus 320, and the like. In some implementations, the processor 260 may generate signaling data, to configure one or more parameters of the apparatus 310 and / or one or more parameters of another apparatus 320. Any signaling data generated by the processor 260 is sent by the transmitter 252. In some implementations, the apparatus 320 implements physical layer processing. In some implementations, the apparatus 320 may perform higher layer functions such as those at the Medium Access Control (MAC) or Radio Link Control (RLC) layers in addition to physical layer processing. In the apparatus 320, the scheduler 253 may be coupled to the processor 260 or integrated within the processor 260. In some implementations, the scheduler 253 may be integrated within the apparatus 320 or may be operated separately from the apparatus 320. The scheduler 253 may schedule UL, DL, SL, and / or backhaul transmissions, including issuing scheduling grants and / or configuring scheduling-free (such as “configured grant” ) resources.
[0089] The apparatus 320 may further include a memory 258 that is configured to store instructions for performing the operations described herein. The memory 258 may also store data that is used, generated, or collected by the apparatus 320. For example, the memory 258 can store software instructions or modules configured to implement some or all of the functionalities and / or implementations described herein and that which are executed by the processor 260.
[0090] Although not illustrated, the processor 260 may be implemented as part of the transmitter 252 and / or a part of the receiver 254. Although not illustrated, in some implementations, the processor 260 may implement the scheduler 253 and the memory 258 may be implemented as part of the processor 260.
[0091] 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 processors that are configured to execute instructions stored in a memory, such as in the memory 258.
[0092] The apparatus 320 and / or the apparatus 310 may include other components, not shown or described herein for the sake of clarity.
[0093] Note that the term “signaling” , as used herein, may alternatively be referred to as control signaling, control message, control information, or message for simplicity. Signaling between a base station (such as the TRP 170a, 170b, 172) and a UE or sensing device (such as ED 110) , or signaling between a different UE or sensing device (such as between ED 110a and ED 110b) may be carried in physical layer signaling (also called as dynamic signaling) , which is transmitted in a physical layer control channel. For DL, the physical layer signaling may be known as downlink control information (DCI) which is transmitted in a physical downlink control channel (PDCCH) . For UL, the physical layer signaling may be known as uplink control information (UCI) which is transmitted in a physical uplink control channel (PUCCH) . For SL, signaling between different UEs or sensing devices (such as between ED 110a and ED 110b) may be known as SL control information (SCI) which is transmitted in a physical sidelink control channel (PSCCH) . Signaling may be carried in a higher layer (such as higher than physical layer) signaling, which is transmitted in a physical layer data channel, such as in a physical downlink shared channel (PDSCH) for downlink signaling, in a physical uplink shared channel (PUSCH) for uplink signaling, and in a physical sidelink shared channel (PSSCH) for SL signaling. Higher layer signaling may also be called static signaling, or semi-static signaling. The higher layer signaling may include radio resource control (RRC) protocol signaling or media access control -control element (MAC-CE) signaling. Signaling may be included in a combination of physical layer signaling and higher layer signaling.
[0094] It should be noted that in the present disclosure, “information” , when different from “message” , may be carried within a single message, or may be carried in multiple separate messages.
[0095] FIG. 4 illustrates an example apparatus 410 according to an implementation of the present disclosure. The apparatus 410 may be a communication device or an apparatus implemented in a communication device such as the ED 110 or the TRPs 170a, 170b, 172. For example, the apparatus 410 implemented in an ED may be an integrated circuit, which in some instances may be referred to as a chip, a modem, a modem chip, a baseband chip, or a baseband processor. In some implementations, one or more integrated circuits can be packaged into a system-on-chip, a system-in-package, or a multi-chip module. The apparatus 410 can include one or more integrated circuits and other discrete components. In some implementations, the apparatus 410 may be a module within the ED 110, or within the apparatus 310. In some implementations, the apparatus 410 may be a module within one of the TRPs 170a, 170b, 172, or the apparatus 320.
[0096] In an example, the apparatus 410 may include one or more processors 411, and an interface circuit 412. The apparatus 410 may further include a memory 413. The one or more processors 411 are configured to process signals and execute one or more communication protocols. The memory 413 is configured to store at least a part of corresponding computer program instructions and / or data. In an example, the one or more processors 411 execute the computer program instructions stored in the memory 413 to implement related operations (for example, inputting, outputting, receiving, and transmitting) in the method embodiments disclosed herein. In some implementations, the memory 413 being configured to store the corresponding computer program instructions and / or data may mean that the memory 413 is configured to store all of the corresponding computer program instructions and / or data for execution by the one or more processors 411. In some implementations, the memory 413 being configured to store the corresponding computer program instructions and / or data may mean that the memory 413 is configured to store a part of the corresponding computer program instructions and / or data. For example, the part of the corresponding computer program instructions and / or data may include computer program instructions and / or data that need to be currently executed by the one or more processors 411. Thus, the memory 413 may store different parts of computer program instructions and / or data for a plurality of times for the one or more processors 411 to perform related operations in the method embodiments disclosed herein. As a communication interface, the interface circuit 412 is configured to implement communication with another component. For example, the interface circuit 412 may communicate a signal with another apparatus or system, such as a radio frequency processing apparatus or another processor. The signal may include or carry information intended as a payload, such as user data, control information, etc. The signal may also include or carry information useful to a receiver, but not necessarily as a payload, such as a pilot signal or reference signal. Communicating the signal may include transmitting the signal to another component or device. Communicating the signal may additionally or alternatively include receiving the signal from another component or device. Transmitting the signal may include outputting the signal to a component or device that is directly or indirectly coupled to the interface circuit 412. Receiving the signal may include inputting or obtaining the signal from a component or device that is directly or indirectly couped to the interface circuit 412. Optionally, to reduce a load of the one or more processors, a baseband signal processing circuit 414 may be also disposed to implement processing of at least a part of baseband signals, including signal demodulation, modulation, encoding, decoding, or the like.
[0097] The apparatus 410 may be the processor 210 (or 260) within the apparatus 310 (or 320) , in some scenarios, or may be included within the processor 210 (or 260) within the apparatus 310 (or 320) in some scenarios. The apparatus 410 may be a baseband chip or may include a baseband chip. In some implementations, the apparatus 410 may be independently packaged into a chip. In some implementations, the apparatus 310 (or 320) includes different types of chips. The apparatus 410 may be packaged into a processor chip (for example, an SoC chip or an SIP chip) with the different types of chips. In some implementations, the apparatus 410 may be packaged into a chip with some or all of circuits of a radio frequency processing system that may further be included in the apparatus 310 (or 320) .
[0098] FIG. 5 illustrates example apparatus 510 according to an implementation of the present disclosure. The apparatus 510 may include corresponding modules or units configured to implement methods and / or implementations described herein. In some implementations, the apparatus 510 includes a processing unit 512 and a communication unit 513. Optionally, the apparatus 510 may further include a storage unit 511 configured to store apparatus program code (or instructions) and / or data.
[0099] The apparatus 510 may be an ED side apparatus, for example, an ED or a module in an ED, or a circuit or a chip responsible for a communication function in an ED. In some implementations, apparatus 510 may be the apparatus 310. The processing unit 512 may be the processor 210. The communication unit 513 may comprise a receiving unit and / or a transmitting unit. The receiving unit and / or the transmitting unit may be the transmitter 201 and / or the receiver 203 respectively. The storage unit 511 may be the memory 208.
[0100] The apparatus 510 may be a base station side apparatus, for example, a base station or a module in a base station, or a circuit or a chip responsible for a communication function in a base station. In some implementations, apparatus 510 may be apparatus 320. The processing unit 512 may be the processor 260 (the scheduler 253 may also be included) . The communication unit 513 may comprise a receiving unit and / or a transmitting unit. The receiving unit and / or the transmitting unit may be the transmitter 252 and / or the receiver 254 respectively. The storage unit 511 may be the memory 258.
[0101] In some implementations, when the apparatus 510 is an ED 110 or a module in an ED 110, a function of the apparatus 510 may be implemented by one or more processors. Specifically, the processor may include a modem chip, or a system on chip (SoC) chip or an SIP chip that includes a modem core. A function of the communication unit 513 may be implemented by a transceiver circuit.
[0102] In some implementations, when the apparatus 510 is a circuit or a chip that is responsible for a communication function in an ED 110-such as a modem chip, a system on chip (SoC) chip or an SIP chip that includes a modem core -a function of the processing unit 512 may be implemented by a circuit system within the chip which includes one or more processors. A function of the communication unit 513 may be implemented by an interface circuit or a data transceiver circuit on the chip.
[0103] It may be understood that the units in the apparatus 510 may be logical or functional. Each function may correspond to one functional unit, or two or more functions may be integrated into a single functional unit. In actual implementation, all or some of the units may be integrated into a single physical entity, or may be distributed across different physical entities. In addition, the functional units may be implemented in the form of hardware, software, or a combination of hardware and software. Whether a function is implemented in the form of hardware or software depends on particular applications and design constraint conditions of the technical solutions. A person skilled in the art may use different methods to implement the described functions for specific applications, but it should not be considered that the implementation goes beyond the scope of this disclosure.
[0104] In an example, a functional unit in any one of the apparatuses may be configured as one or more integrated circuits for implementing the methods disclosed herein, for example, as one or more application-specific integrated circuits (application-specific integrated circuits, ASICs) , one or more central processing units (CPUs) , one or more microprocessors or microprocessor units (MPUs) , one or more microcontrollers or microcontroller units (MCUs) , one or more digital signal processors (DSPs) , one or more field programmable gate arrays (FPGAs) , or a combination of these.
[0105] In an example, the storage unit 511 may include a random access memory, a flash memory, a read-only memory, a programmable read-only memory, an electrically erasable programmable memory, and / or a register.
[0106] A processor may be referred to as a processor system, an application processor, a baseband processor, a processor circuit, or a processor core. The processor may include one or a combination of one or more central processing units (CPUs) , one or more digital signal processors (DSPs) , one or more microprocessors (microprocessor units, MPUs) , one or more microcontrollers (microcontroller units, MCUs) , one or more graphics processing units (GPUs) , one or more field programmable gate arrays (FPGAs) , one or more artificial intelligence processors (AI processors) , or one or more neural network processing units (NPUs) .
[0107] Memory or a storage unit may include one or more of the following storage media: a random access memory (RAM) , a static random access memory (static RAM, SRAM) , a dynamic random access memory (dynamic RAM, DRAM) , a phase-change memory (PCM) , a resistive random access memory (resistive RAM, ReRAM) , a magnetoresistive random access memory (magnetoresistive RAM, MRAM) , a ferroelectric random access memory (ferroelectric RAM, FRAM) , a cache, a register, a read-only memory (ROM) , a flash memory (flash memory) , an erasable programmable read-only memory (erasable programmable ROM, EPROM) , a hard disk, and the like. In an example, computer program instructions used to execute embodiments may be stored in a non-volatile memory, for example, at least a part of a memory or storage unit (for example, one or more of a ROM, a flash memory, an EPROM, or a hard disk) . When a terminal runs, a part or all of corresponding computer program instructions may be loaded to a memory that has a higher transmission speed with the processor, for example, at least a part of a memory or a storage unit (for example, one or more of a RAM, an SRAM, a DRAM, a PCM, a RERAM, an MRAM, a FRAM, a cache, or a register) , so that the processor executes the computer program instructions to perform the steps in the method embodiments disclosed herein.
[0108] Having considered communications more generally above, concepts of polar coding and reference to LDPC coding will now be described, starting with an introduction to polar codes.
[0109] A polar code is an error-correcting coding scheme marking a significant advancement in the field of channel coding. Polar codes are the first family of codes to achieve the capacity of a binary-input, discrete, memoryless channel (B-DMC) under a low-complexity successive cancellation (SC) decoding algorithm. Their unique structure and notion of channel polarization have made them an interesting coding scheme in modern communication systems. Specifically, due to their flexible structure and low-complexity fast decoding, they became part of the 5G standard for coding of control plane data which contains short message lengths with variable sizes.
[0110] The fundamental concept of polar codes is the channel polarization. Under the specific butterfly multistage encoding structure of the polar codes, the input channels are mapped through multiple stages to the coded output physical channels. Through this encoding procedure, it was proved that the input channels polarize to either highly reliable or highly unreliable channels. Thus, a group of the most reliable channels are selected for transmitting the information while the rest of the unreliable channels are set to known values, such as fixed frozen bits, to aid in decoding. A key aspect of polar code design is selecting which channels to designate as reliable, typically guided by methods such as Bhattacharyya bounds or density evolution. For better efficiency and avoiding real-time computations, an intensive amount of simulations were carried out when developing the 5G standard which resulted in a universal channel-reliability sequence to be used universally as part of the 5G standard for the polar codes.
[0111] Decoding methods of polar codes will now be described. The most common decoding methods include: · Successive Cancellation (SC) Decoding: The original low-complexity algorithm proposed for polar codes, which processes bits sequentially. While efficient, SC decoding can exhibit suboptimal performance at finite block lengths. · Successive Cancellation List (SCL) Decoding: An enhancement over SC, this algorithm maintains multiple decoding paths to improve reliability, particularly when combined with cyclic redundancy check (CRC) codes. However, the use of list decoding and tracking of multiple paths makes up a higher-complexity and higher memory usage in the decoding process. Additionally, the CRC bits further reduce the coding rate due to their redundancy.
[0112] Despite their promise, the performance of polar codes, particularly at finite block lengths, is still subject to optimization challenges. Enhancing decoding methods to improve error correction performance while maintaining computational efficiency remains an active area of research and development.
[0113] Applications of polar codes will now be described. Due to their capacity-achieving properties and efficient implementation, polar codes have been adopted in numerous applications. Notably, they are a mandatory coding scheme for the control channels in 5G New Radio (NR) standards, underscoring their practical relevance in advanced communication systems. Furthermore, polar codes are explored in applications such as ultra-reliable low-latency communication (URLLC) .
[0114] Polar codes have been employed for control channels due to their excellent performance at short block lengths, low-complexity SC decoding, and explicitly documented reliability sequences. The 3GPP specified sequences enable seamless identification of bit-channel reliability, which as explained below can directly facilitate mapping critical inference-related bits-such as sign, exponent, in floating-point or group scaling factor in quantized fixed-point representations or most significant bit (MSB) sin integer data-onto highly reliable bit-channels. Specific implementations are explained below. This capability is directly aligned with the controlled error tolerance allowed in Error-Tolerant Inference scenarios.
[0115] LDPC codes, on the other hand, are widely used for data channels due to their high throughput and strong error correction under iterative decoding. Nevertheless, they lack a standardized, predefined reliability sequence. Although reliability sequences can be estimated for LDPC codes given a specific decoder type and number of decoding iterations (iterative count) , no widely adopted mechanism currently exists to leverage such estimates for inference-specific priority mapping. Prior approaches generally assume uniform error protection or do not incorporate inference-driven priorities.
[0116] However, despite their inherent reliability-based nature, the universal reliability sequences provided in the standard do not provide the actual reliability values (they only provide ranking indices) which would be necessary if a guaranteed error rate is required for specific channels. Obtaining of such reliability values require extensive computations such as Bhattacharyya bounds or density evolution which are high-complexity processes. But even with presence of such values, the reliabilities might not be enough for some critical bits especially in short-length codewords which are used in low-latency tasks.
[0117] Methods may be needed to specifically provide guaranteed higher reliability for specific channels or to aim at rectifying the outlier very low reliability of certain outlier channels in polar codes.
[0118] Attention will now turn to particular example implementations, including implementations that include mapping a subset of machine-learning (ML) data that is associated with enhanced error correction code protection (e.g. the sign and exponent of floating point inference values) to more reliable bit positions of an input to a channel encoder, as well as implementations in which an outer code is also utilized. In many of the examples herein, the term “UE” or “computing UE” is used to refer to the electronic device (ED) communicating with the network. However, “UE” or “computing UE” can be substituted by ED (e.g. ED 110) or apparatus (e.g. apparatus 310) . Similarly, the network device referred to below is often referred to as a TRP. However, “TRP” can be substituted by base station, network device, apparatus, or the like. Also, in many examples below the TRP is described and illustrated as being a terrestrial TRP ( “T-TRP” ) . However, the T-TRP could instead be a non-terrestrial TRP ( “NT-TRP” ) .
[0119] Recent advances in distributed inference for AI models, including LLM-based services, applications of AI in robotics, and real-time spatial AI for autonomous systems, have introduced new challenges for wireless communication systems. Distributed inference tasks often involve transmitting tensor objects as intermediate results between computing entities, such as computing UEs, edge devices, and base stations, over wireless channels. These tasks may require efficient, low-latency data transmissions and may tolerate a controlled level of error-an approach referred to as “Error-Tolerant Inference. ” Unlike conventional systems that demand near-perfect transmission fidelity, Error-Tolerant Inference permits tolerable errors that do not significantly affect task-specific metrics like inference accuracy. This tolerance of minor errors reduces retransmission overhead and increases system throughput and can enhance adaptability for AI-driven applications.
[0120] Polar codes provide straightforward mapping of critical bits onto more reliable channels due to their inherent channel reliability. They also support simplified Successive Cancellation (SC) decoding, which achieves low complexity and energy savings-features desirable in distributed inference systems. In scenarios where small block lengths and low-latency decoding are required, Polar codes have proven effective, and their predefined reliability sequences facilitate efficient implementation. Furthermore, the low-complexity and energy efficiency of SC decoders allows for deployment of multiple parallel polar code modules that can split and encode / decode the data blocks simultaneously which multiplies the encode / decoding speed.
[0121] Although the data-aware approach of critical-bit to channel mapping allows for using the higher reliability channels to be assigned for critical data, it may be the case that the reliability of the channels might not be enough for the transmission of such critical data, especially for short-length codewords which have lower decoding capabilities. Even so, the same reliability might also not be guaranteed as the channel reliabilities depend on the channel conditions as well. In addition, the channel reliabilities are more accurate in the Gaussian approximation procedures before adding the frozen bits. But after addition of the frozen bits, the channel reliabilities form a different pattern. Some channel reliabilities might also be outliers imposing much more error to their data compared to the other virtual channels.
[0122] Therefore, it is beneficial to have a mechanism that aims to improve or possibly guarantee the reliability of particular channels, allowing better preservation of the critical bits. In addition, such mechanisms may also be applied on the outlier channels with very high error rates to try to equalize the error rate among the different channels of polar codes causing a smoother error distribution.
[0123] The prior art solutions for Polar codes and LDPC codes in 3GPP 5G NR do not address dynamic adaptation. They do not incorporate mechanisms to adjust coding strategies in real time based on evolving task requirements, channel conditions, HARQ ignorance rates, or Inference QoS (I-QoS) profiles. For instance, when certain bits (e.g., mantissa bits in floating point (FP) or 4-LSB bits in INT8) can tolerate more errors, there is no known standardized method to increase code rate or adjust bit-to-channel mapping without puncturing or complex ad hoc solutions. Similarly, when critical bits (e.g., sign or exponent, or quantization scaling factor) need stronger protection, the prior art solutions do not offer a straightforward approach to reorder reliability or fine-tune LDPC parity-check node assignments dynamically.
[0124] In summary, while polar codes and LDPC codes have been thoroughly studied and applied for data streams such as audio and video in wireless systems, the solutions in new radio (NR) do not fully leverage their potential for distributed AI inference tasks. Accordingly, methods are provided in this disclosure. One method may include adding physical layer means for transmitting tensor objects which can be intermediate inference data. The transmitter and receiver (one of which is the T-TRP) first negotiate transmission of a tensor object. Then there is a mapping of inference-critical bits onto reliable channels of a Polar or LDPC code according to a known reliability sequence. In some implementations, segmenting intermediate inference outputs into sub-blocks encoded with puncture-free codes allows for parallel SC decoding and low-latency operation at the receiver side. Some implementations may integrate with I-QoS profiles and network signaling to dynamically adjust criticality mappings and coding rates, which may ensure optimal performance under varying conditions. Furthermore, some implementations may include the implementation of applying an outer-coding on a set of specific channels from the virtual channels of the polar codes. A new combined inner and outer decoding method is also described, which may help ensure the coding efficiency.
[0125] In some implementations, after the critical bits have been selected among a code block (CB) , the T-TRP may use the critical-bit to channel mapping techniques to find the most reliable channels. In some implementations, multiple parallel polar codes may be used for parallel encode / decoding of the input data, which may enhance the throughput. In some implementations, the outer coding may also be applied to the specific channels among these parallel polar codes to try to ensure a guaranteed high reliability for those specific channels.
[0126] Some implementations may have at least one of the following benefits:
[0127] The method of some implementations may provide a physical (PHY) layer platform specifically tailored for transmission of tensor objects (or data blocks) which are extensively transmitted in distributed inference systems as intermediate inference data.
[0128] The method of some implementations may enhance the reliability of critical inference bits (e.g. sign, exponent, and / or scaling factor) by placing them in the most reliable positions of a channel code.
[0129] The method of some implementations may ensure reduced complexity and energy consumption by employing puncturing-free Polar or LDPC codes that support parallel decoding.
[0130] The method of some implementations may support flexible adaptation to different data formats (floating-point or fixed-point) and I-QoS profiles, potentially enabling HARQ-ignorance rate adaptations.
[0131] The method of some implementations may dynamically adapt coding strategies based on T-TRP-provided reliability guidelines and local UE computations.
[0132] The method of some implementations may provide specific means to handle transmission of tensor objects as a data format. It may also integrate controlled error tolerance (Error-Tolerant Inference) into channel code design. It may also dynamically map inference-critical bits to higher reliability bit-channels. It may also incorporate adaptive mechanisms for LDPC code reliability estimation. It may also adjust code construction or rate-matching strategies in response to I-QoS signals and task-specific performance requirements.
[0133] In some implementations, the method may provide an Outer-coding scheme for parallel Polar Codes that specifically enhances the reliability of specific channels.
[0134] In some implementations, the method may provide the PHY layer platform and signaling to assign proper outer-coding to try to ensure or guarantee very high reliability for channels mapped to critical-bits.
[0135] In some implementations, the method may provides methods to equalize the error rates for outlier very low reliability channels.
[0136] In some implementations, the method may provide a combined decoding scheme which decodes the outer and polar codes together, enhancing the overall decoding performance for SC decoders.
[0137] In some implementations, the method may extend the combined decoding scheme to SCL decoder to handle the combined decoding for list based polar decoders.
[0138] The methods described in this disclosure may be applied to a communication system where EDs (e.g. UEs) exchange intermediate inference results with base stations (for example, T-TRPs) in a RAN scenario. The transmitted data may be a set of tensor objects (e.g. matrix, tensor, data block) required for data transfer applications such as intermediate inference data. The transmitted data may have a data type such as floating-point, fixed-point or quantized. The T-TRP may provide reliability guidelines, e.g. through RRC negotiations. In some implementations, the transmitter initiates transmission of a tensor object by sending information about the data type and size. Then based on T-TRP guidelines the transmitter and receiver perform encoding / decoding of the data. Note that the T-TRP can take the role of the transmitter or receiver in this case, and provides the guidelines for coding regardless of its role. At the receiver, parallel SC decoders (for Polar) or efficient LDPC decoders handle each sub-block. This architecture is suitable for applications like autonomous driving, industrial IoT, and remote sensing, where distributed inference quality depends on reliable transmission of critical bits.
[0139] In some implementations, the T-TRP may detect the critical portion of data and assign them to the more reliable channels. The T-TRP may also assess the reliability of the channels and decide on a set of outer-coding schemes with their corresponding required coding rates according to the initial channel reliability and error rate. The T-TRP then transmits the information about outer coding to the other side so that both sides prepare their encoder / decoder modules. Note that the T-TRP can take the role of the transmitter or receiver in this disclosure, and may provide the guidelines for coding regardless of its role. At the receiver, parallel SC / SCL decoders (for Polar) handle each sub-block and may use combined outer and polar decoding for a possibly more efficient decoding. This architecture is suitable for applications like autonomous driving, industrial IoT, and remote sensing, where distributed inference quality depends on reliable transmission of critical bits and helps ensure low-latency which requires fast low-complexity encoder / decoders.
[0140] The method described in this disclosure may be implemented by communication modules, chipsets, AI-enabled wireless modems, or IP cores implementing reliability-based bit mapping in Polar / LDPC codes or Outer Coded Parallel codes.
[0141] The following implementations of the disclosure describe details of example methods in a wireless-based distributed inference system.
[0142] In one implementation, signaling and negotiation for tensor object transmission and coding configuration are described and shown in FIG. 6.
[0143] In this implementation, a general initial mechanism to negotiate transmission of a tensor object (or similar data block) is described, which may be used as intermediate data in distributed inference or other data-aware application. In distributed inference as described in this example, a tensor object containing intermediate inference data is transmitted between a computing UE and the T-TRP based on its specific QoS requirements (which may be described using an Inference QoS (I-QoS) profile) . The T-TRP and UE can each take either the role of “transmitter” or “receiver” , as the inference data from one computing UE to the next goes through the T-TRP. However, the scheduling and general guidelines are defined by the T-TRP. Considering this, we will use terms “transmitter” and “receiver” in the following description and explanation.
[0144] The Inference-QoS (I-QoS) profile is a set of parameters and rules for dynamically optimizing transmission parameters (e.g. HARQ, MCS, resource allocation) to support inference-quality of service. I-QoS extends beyond 5G QoS classes by introducing fields and logic that reflect the unique requirements and quality metrics of AI inference tasks. While Perplexity is a prime example metric for linguistic AI tasks, I-QoS can flexibly incorporate various metrics depending on task types and domains. The I-QoS profile (also called I-QoS profile set) may include at least one of the following: Inference_Quality_Metric_Type, Metric_Interval, Metric_Thresholds, HARQ ignorance rate, Targeted BER, Adjustment_Policies, Task_Type, and / or Resource_Priority_Level.
[0145] The transmitter first initiates a “tensor (data block) object transmission” , sending a set of “Tensor Transmission Parameters” of the tensor, including Tensor Shape and / or Data type. FIG. 6 illustrates, at 612, an example of possible Tensor Transmission Parameters. In the example, the Tensor Transmission Parameters include parameters specifying: shape of the data (avector of 1024 values in the example) , type of the data (floating point 16 bits in the example) , and which bits are critical (the exponent and sign bits in the example) . If the data type is floating-point, the sign and exponent bits may be critical for each value, while the mantissa may be less critical. If the data type is quantized, at least one of the following additional parameters may be required: · Quantization Method (e.g. Q4_K_M, Q8_0, AWQ8, GPTQ4) to specify scaling, bias, etc. · Group sizes: number of values per group (may also possibly be hierarchical in some methods) . · Number of Quantization Bits: number of bits per value.
[0146] FIG. 6 also illustrates, at 614, an I-QoS profile, which specifies QoS requirements related to the inference data. For example, the example I-QoS profile of 614 specifies that HARQ ignorance is 100% (off) . HARQ ignorance indicates the amount by which HARQ need not be utilized. A HARQ ignorance of 100%indicates that HARQ is not needed. The I-QoS profile of 614 also specifies that the targeted bit error rate (BER) is 1e-5. Etc. In the example, the T-TRP knows the I-QoS profile in advance. Although not illustrated, there may be other QoS parameters in the I-QoS profile that may be specified and checked, e.g. perplexity may be measured and may have an I-QoS parameters that is to be met.
[0147] The Tensor Transmission Parameters information provided by the transmitter, along with the QoS requirements (e.g. may be I-QoS profiles set) at the start of the inference task, enables the T-TRP to understand the tensor data structure and create a “Tensor Coding Scheme Profile” and inform the other side via RRC signaling. This Tensor Coding Scheme Profile provides the guidelines for optimal coding configurations for the specified tensor object and may include one or more of the “Critical-bit mappings” , “targeted BER per channels” , and / or “Coding Schemes” . The T-TRP specifies the reliability requirements, critical bit indices, and acceptable error thresholds for the communication of the tensor from transmitter to receiver. The transmitter and receiver integrate these parameters to fine-tune its coding approach. An example of a Tensor Coding Scheme Profile is illustrated at 616 in FIG. 6. In the example, the Tensor Coding Scheme Profile 616 indicates that: 16 parallel polar encoders are to be used for the encoding and 16 corresponding polar decoders are to be used for the decoding; groups of 512 information bits (k=512) are to be coded to 1024 coded bits (n=1024) , hence a coding rate of 0.5 and each parallel encoder generates 64 coded bits; and the exponent and sign bit positions (indices) are to be mapped to the most reliable channels of the polar code.
[0148] In FIG. 6, the UE is assumed to be the transmitter and the T-TRP the receiver, but more generally this does not need to be the case. The T-TRP could instead be the transmitter and the UE the receiver, or the communication may be between two other entities (e.g. two UEs) and the T-TRP controls the process but is not the transmitter or the receiver.
[0149] The procedure described with reference to FIG. 6 may include at least one of the following steps: · Step 4.1 Tensor Transmission Negotiation: The transmitter (e.g., UE_B in FIG. 6) informs the T-TRP of its intent to transmit a tensor by sending, for example, an RRC signaling including the Tensor Parameters. Then based on this Tensor Parameters information and the QoS requirements (e.g. may be I-QoS) , T-TRP finds the best coding configurations and reliability mappings and creates the “Tensor Coding Scheme Profile” . · Step 4.2 RRC Signaling Reception: The T-TRP then informs the other side e.g., UE_B (either transmitter or receiver based on its role) by sending an RRC signal containing the Tensor Coding Scheme Profile. Using this profile both transmitter and receiver set up their coding parameters which may include critical bit indices, targeted bit error rate (or block error rate) thresholds, and / or reliability targets. · Step 4.3 Local Computation at Tx / Rx: The transmitter and receiver combine these guidelines with local information (e.g., previously measured error rates) to define a final criticality ranking. · Step 4.4 Renegotiation and Confirmation: If needed, the UE_B (regardless of its role as transmitter or receiver) may signal back to the T-TRP (e.g., via uplink control messages) requesting adjustments, achieving a negotiated optimal configuration. · Step 4.5 Execution: The transmitter and receiver encode subsequent tensor object data with the updated coding configuration.
[0150] In another implementation, a method for reliability-based bit mapping is described.
[0151] In the implementation, a UE transmits a tensor object containing intermediate inference data to a T-TRP under an Inference QoS (I-QoS) profile, or a T-TRP transmits a tensor object containing intermediate inference data to another UE under the Inference QoS (I-QoS) profile. The computing UE finishes its inference computing work and transmits the tensor of intermediate inference results back to the T-TRP that will in turn transmit it to the next UE. The data may be floating-point (FP) , fixed-point or quantized fixed-point. Sign and exponent (floating-point) or sign and scaling factor (fixed-point) are critical bits, while mantissa or quantization bits are less critical. The T-TRP provides guidelines via signaling (for example, RRC signaling) . In the scenario of the distributed inference, the T-TRP can be a transmitter and the UE can be a receiver when the T-TRP transmits intermediate inference data to the UE for computing; or the UE can be a transmitter and the T-TRP can be a receiver when the UE transmits computed intermediate inference data to the T-TRP. In the following, we will use “transmitter” and “receiver” . But the scheduling and general guidelines are made by T-TRP.
[0152] The Procedure may include at least one of the following steps: · Step-1.1 Reliability Sequence Acquisition: The transmitter and the receiver retrieve a known reliability sequence for a Polar Code of length N=2m from a standardized or locally stored table. This sequence ranks bit-channel reliability from highest to lowest. · Step-1.2 Bit Criticality Determination: The transmitter and receiver identify critical bits based on the I-QoS profile, the tensor’s parameters and information, and / or T-TRP-provided guidelines. For example, sign, scaling factor or bias factor (quantized fixed-point) or sign and exponent (floating-point) or a portion of MSB bits (Integer data) can be deemed critical. · Step-1.3 Bit-to-Channel Assignment: The most critical bits are placed into the top reliable channels. Less critical bits (mantissa or lower significance quantization bits) occupy lower-reliability channels. · Step-1.4 Encoding and Transmission: The transmitter encodes the data using a Polar encoder. Due to the mapping, critical information is strongly protected. The encoded data is transmitted over the air interface. · Step-1.5 Reception and Decoding: The receiver decodes the received codewords, e.g. using an SC-based decoder (list SC decoder is also another possibility) . Critical bits enjoy low error rates, ensuring robust inference quality.
[0153] FIG. 7 provides a data-structure-aware bit mapping overview according to some implementations. It is an example of finding the critical bits of a data value and applying a bit-to-channel mapping according to the importance of the bits. FIG. 7 top shows the mapping of a 16-bit floating-point ( “FP16” ) value to the virtual channels of a polar code where the exponent bits and sign bits are mapped to the most reliable channels while the mantissa bits are assigned to least reliable channels. FIG. 7 bottom shows the same mapping for a group quantized set of 6 values. The Group Scaling value is the most important part which is assigned to the most reliable bits, while the integer values are assigned to the least reliable bits. Note that in FIG. 7 the 16-bit floating point (FP16) number follows the form of IEEE 754 style and hence the FP16 value illustrated in the top half of the figure represents the value -27.15625, and the FP16 value illustrated in the bottom half of the figure represents the value 0.6841. Other representations different from IEEE 754 may be utilized. The illustrated representation is just an example. Also, note that in the example in FIG. 7 the exponent is mapped to more reliable virtual channels than the sign, e.g. as shown at 712. It was discovered through simulations that errors in the exponent result in worse performance than errors in the sign, and so the exponent is mapped to the most reliable bit positions. However, this is only an example. In other scenarios it might result in better performance to instead map the sign to the most reliable bit positions.
[0154] FIG. 8 shows an example polarization binary tree in an example Polar Decoder. The structure of the polar code inherently results in some channels to be more reliable than the others, which can be efficiently used for mapping of critical bits. The illustrated example shows an (8, 4) polar code binary tree representation of how to apply polar transform G to message bits to obtain a codeword, where the top node is the 8-bit codeword that is output. The leaf nodes show the four most reliable bits (in black) where the information bits may be placed, with the most critical bit (s) in the most reliable position (s) .
[0155] In another implementation, a method of Puncturing-Free Polar Codes for Parallel SC-based Decoding is described.
[0156] To try to achieve higher throughput and lower-latency decoding, the transmitter and receiver divide the inference output into multiple sub-blocks, each encoded with a puncture-free Polar Code of length n=2m. This uniform length and no puncturing enable multiple parallel SC decoders at the receiver. This n=2m codeword length allows a deterministic error rate including both error rates on each information bit channel and total block error rate.
[0157] The Procedure may include at least one of the following steps: · Step 2.1 Sub-Block Segmentation: The inference output is split into N groups. Each group is referred to in this example as a “sub-block” . Each sub-block fits a Polar code length (e.g., n=1024) . Every sub-block undergoes the reliability-based bit assignment in a similar fashion to that described above, e.g. in relation to FIG. 7. · Step 2.2 Parallel Encoding and Transmission: Each sub-block is Polar-encoded separately. The transmitter sends them over the air sequentially or concurrently (if resource allocation permits) . · Step 2.3 Parallel Decoding at Receiver: The receiver employs N SC decoders in parallel, for example. This parallelization reduces total decoding time significantly, because SC decoders are low-complexity and energy-efficient. By running them in parallel, the receiver minimizes inference latency and operational power.
[0158] FIG. 9 shows an example of parallel sub-block encoding and decoding. In the example, there are three parallel encoders and three parallel decoders. Each encoder encodes a group of three inference values, e.g. as shown at 912. Each group of three inference values may be, for example, three tensor values originating from the outputs of nodes of a neural network. The three inference values span k bits. For example, if each inference value is a FP16 value, then k=3×16=48 bits. The k bits are mapped to the reliable positions in the polar code, with frozen values placed in the other positions to form an input vector of n>k bits. The exponent and sign values of each FP16 value may be mapped to the most reliable bit positions. Each polar encoded input vector from each of the three polar encoders is transmitted over the channel and decoded in parallel using the three parallel polar decoders. FIG. 9 has the technical benefit that it may allow for faster transmission of intermediate inference data, due to the breaking of the data into smaller code blocks and transmission in parallel. Fast transmission of intermediate inference data may be important in some distributed inference applications.
[0159] In another implementation, a method of integration with I-QoS and HARQ Ignorance Rates is described, which is shown in FIG. 10. As shown in FIG. 10, there is a T-TRP, transmitter, and receiver. Although not illustrated, the T-TRP could possibly be the transmitter or the receiver, depending upon the implementation. The T-TRP has an I-QoS profile, an example of which is shown at 1012. In the example I-QoS profile, a metric “BLEU” is used to determine how well machine-translated text matches one or more human reference translations, and the I-QoS profile indicates that the BLEU metric threshold must be greater than 45%. The I-QoS profile 1012 also indicates an initial test interval (100 frames) , HARQ ignorance rate (100%, i.e. “off” ) , and initial target BER (1e-5) . An RRC message is used to send the I-QoS guidelines to the transmitter and receiver, as shown at 1014. N frames of the inference task are then communicated and an inference quality test process is performed. The T-TRP then updates the required BER using the results of the quality test and quality mapping tables, as shown at 1018. The T-TRP then finds updated or best adjustments for bit mapping, coding rate, and / or other MCS parameters, as shown at 1020. The T-TRP then uses DCI to transmit the updated bit mapping, coding rate, and / or other MCS parameters to the transmitter and receiver, as shown at 1022.
[0160] Note that in FIG. 10 the I-QoS guidelines are transmitted to the transmitter and receiver. However, this is not necessary. In another implementation, instead the Tensor Coding Scheme Profile (discussed above in relation to FIG. 6) may be transmitted to the transmitter and receiver.
[0161] Also, in FIG. 10 if the T-TRP is one of the transmitter or the receiver, then the T-TRP does not have to transmit anything to that entity because the T-TRP is that entity.
[0162] In some implementations, a hybrid scheme is implemented where the coding strategy is informed by I-QoS profiles and may allow for minimal or no HARQ. The T-TRP dynamically adjusts critical parameters based on channel conditions and service requirements.
[0163] The procedure may include at least one of the following steps: · Step 3.1 I-QoS and Criticality Notification: The T-TRP sends parameters (I-QoS guidelines in the figure, e.g., acceptable error rates for critical bits) via RRC signaling. This may indicate that a certain virtual channel (e.g. mapped to sign bits) must maintain a BER below a certain threshold. · Step 3.2 UE Adaptive Mapping: The transmitter and receiver adapt their bit-to-channel mapping and coding rate. For instance, if the channel worsens, more critical bits are protected by reducing the code rate or adjusting mapping. · Step 3.3 HARQ-Free or Reduced HARQ Operation: Because critical bits are well protected, the system may dispense with frequent retransmissions, reducing overhead and latency. · Step 3.4 Dynamic Updates: The T-TRP monitors network conditions and updates parameters as needed, ensuring continuous optimization.
[0164] In some implementations, instead of fully HARQ-free operation, the coding rate and HARQ ignorance rate can cooperatively deliver better latency and quality. Gradual changes in channel conditions are addressed by adjusting the coding rate and Polar coding parameters.
[0165] FIG. 10 shows the sequence diagram of an example adjustment of Coding Schemes based on the changes in QoS requirements. The T-TRP performs periodic quality check and adjusts the bit mapping and coding rates. The T-TRP then informs the transmitter and receiver (e.g. the UE_B) of its new adjustments. FIG. 10 may be referred to as I-QoS Driven Encoding because the encoding (e.g. coding rate) is driven by the I-QoS.
[0166] In another implementation, a Practical Floating-Point Data Handling method is described.
[0167] For floating-point data, sign and exponent bits are critical, while mantissa bits are less sensitive. Additionally, within each data part, the MSBs are more important than the LSBs. The mapping ensures that more important bits enjoy the most reliable channels.
[0168] The procedure may include at least one of the following steps: · Step 5.1 Floating-Point Field Extraction: The transmitter and receiver split each floating-point value into its sign, exponent, and mantissa fields. · Step 5.2 Criticality Mapping: Sign and exponent bits go to the top of the reliability sequence. Mantissa bits fill the lower reliability channels. · Step 5.3 Encoding and Decoding: Polar encoding (or LDPC) ensures robust protection of critical bits. The receiver’s SC decoders deliver minimal errors in sign / exponent bits, maintaining inference quality. · Step 5.4 Adaptation to Channel Conditions: If conditions degrade, the system can further reduce the coding rate for the critical portion, ensuring that inference accuracy remains stable.
[0169] FIG. 11 illustrates an example of floating-point bit allocation for a FP16 value. It shows an example of locating the critical bits of the floating point data and providing mapping guidelines based on the criticality of data and reliability of the channels. In the example floating point data, the exponent and sign are more critical than the mantissa bits, and therefore they are mapped to more reliable channels.
[0170] In another implementation, quantized fixed-point data handling is described.
[0171] For a group quantized fixed-point representation of intermediate inference data, the scaling factor is a critical component. The scaling factor determines the numerical range of the inference output, and its corruption would severely degrade inference quality. Integer quantization bits, on the other hand, represent finer detail and can tolerate some errors.
[0172] The procedure may include at least one of following steps: · Step 6.1 Fixed-Point Field Identification: The transmitter and receiver identify the scaling factor bits and sign bits (which may represent shift or scale applied to the raw fixed-point number) , and the integer quantization bits (least significant bits contributing to precision) . · Step 6.2 Criticality Ranking for Fixed-Point: Sign and scaling factor bits are considered highly critical. The scaling factor determines the correctness of the group’s range. Integer bits, though important, can tolerate some bit errors (specially in LSBs) without drastically harming inference accuracy. · Step 6.3 Reliability-Based Mapping: Similar to implementation of signaling and Negotiations for Tensor Object Transmission and Coding Configuration described above, the transmitter obtains the reliability sequence and places the scaling factor bits into the most reliable positions. For the quantization bits, there can be two alternative designs: (1) Integer values are sequentially mapped into channels with lower reliability indices; or (2) Integer values are combined, where each digit of all values come together in tandem and then the next digits. This makes sure that MSB of all values are assigned to more reliable bits, but requires shuffling of integer values. · Step 6.4 Encoding and Decoding: The transmitter encodes each segment of fixed-point data. At the receiver, SC decoding ensures critical bits are received reliably. Any minor errors in quantization bits lead only to marginal inference degradation, acceptable within the I-QoS constraints. · Step 6.5 Dynamic Adjustment: The T-TRP can update scaling factor criticality or acceptable quantization error based on real-time inference QoS feedback. The UE recalibrates its mapping as required.
[0173] FIG. 12 provides an example of a group quantized set of 6 values that are mapped to the channels based on their criticality. The Group Scaling factor which is a floating point value of 16 bits ( “FP16” ) is the most important part of this data sequence and hence is mapped to the most reliable channels. The 6 integer values of the quantized sequence are then mapped to the subsequent least reliable channels.
[0174] FIG. 13 Shows a slightly different mapping strategy, where the 6 integer bits are shuffled and all the digits with same digit place are mapped together.
[0175] In FIG. 12, the group quantized bit allocation is value sorted (i.e. the 6 integer values are mapped one after the other in tandem) , whereas in FIG. 13 the group quantized bit allocation is digit sorted (i.e. the sign of each of the 6 integer values are grouped together, followed by the MSB of the value of each of the 6 integers, etc. ) .
[0176] In some implementations, groups of quantized intermediate data (tensors) can alternatively be transmitted using two or more separate transport blocks (TBs) with different reliabilities. For example, as shown in FIG. 14, a tensor of length 1024 values with 32 quantized groups each containing 32 values can have the encoder pack 32 group scaling factors into one highly reliable TB with a low code rate and possibly a HARQ ignorance rate of 0%to ensure near-perfect transmission. Multiple average-reliability TBs can then be used to pack and transmit the 1024 integers. In FIG. 14, each group is a group of quantized values having a same scaling factor. The scaling factor of each group is mapped to a same higher-reliability TB, e.g. a TB having a low coding rate (e.g. 0.25) and HARQ (e.g. HARQ ignorance = 0%) as shown at 1412. The integers are mapped to TBs having a reliability that is not as high (e.g. a TB that is channel-encoded with a higher coding rate) , as shown at 1414. In the approach of FIG. 14, instead of mapping critical bits (scale) to higher-reliability bits in a same coded TB as integers, the critical bits (scale) are put together in a same TB and that TB is coded with high reliability.
[0177] In another implementation, Pre-Negotiation of a Reliability Profile for an LDPC Coding scheme is described with reference to FIG. 15.
[0178] Unlike Polar Codes, LDPC codes do not inherently define a straightforward bit-channel reliability sequence. However, depending on the LDPC parity-check matrix structure (e.g., base graphs in 5G NR) and the decoding algorithm (Belief Propagation, Min-Sum, or variants) , certain variable node positions exhibit more robust error correction capabilities. The transmitter and receiver pre-negotiate or precompute a “reliability profile” that ranks variable node positions according to their expected decoding success probability.
[0179] The procedure may include at least one of the following steps: · Step 7.1 LDPC Parity-Check Structure Analysis (Offline or Pre-Deployment) : Before operation, the T-TRP’s central controller analyzes the standardized LDPC base graph and decoding algorithm parameters (e.g., number of iterations, damping factors) to produce a reliability ranking of variable nodes. · Step 7.2 Pre-Deployment Storage of Reliability Profile: This reliability profile (amapping from variable node indices to reliability ranks) is stored at both transmitter and receiver. The profile can be standardized or vendor-specific. · Step 7.3 RRC Signaling for Profile Confirmation: Upon session initiation or periodically, the T-TRP signals the UE to confirm or update the currently used LDPC reliability profile. This is shown at 1512 in FIG. 15. · Step 7.4 Bit-to-Node Mapping: The transmitter assigns inference-critical bits (sign, exponent, scaling factor) to variable nodes identified as high-reliability, while less critical mantissa or quantization bits go to lower-ranked nodes. · Step 7.5 Transmission and Decoding: The transmitter encodes inference data using the LDPC encoder. The receiver runs iterative decoding. Because the mapping aligns with the reliability profile, critical bits have higher probability of being correctly decoded early and stabilized across iterations.
[0180] FIG. 15 shows the parity matrix 1514 and Tanner graph 1516 of an example LDPC code. The LDPC code does not have an inherent reliability procedure, unlike a polar code. However, the T-TRP can create a statistical reliability table based on the error rates on each bit node and use that for critical bit-to-channel mapping. LDPC reliability profile negotiation may be performed.
[0181] In the example of FIG. 15, “bit nodes” v1 to v8 represent the message bits before coding, while "check nodes" represent the parity check equations that must be satisfied by the codeword. The message bits are mapped to certain positions, with critical bits (e.g. representing exponent and sign of a floating point number) mapped to more reliable bit positions. In some implementations, initially the bit-to-position mapping may be performed in a default or predetermined way, and then communication may commence, and the error rate and / or convergence speed computed to determine which bit positions have higher decoding reliability. The indication of which bit positions have higher and lower decoding reliability may be captured in a reliability sequence, which will be referred to in this example as reliability profile. The reliability profile may be used to update the bit-to-position mapping to ensure the critical message bits are being mapped to the bit positions having a higher decoding reliability. A mapping sequence may be used to indicate which bits are to be mapped to which bit positions. The mapping sequence may be obtained based on the reliability profile and the bit importance information. In some implementations, the receiver performing the decoding may determine the reliability profile and transmit the reliability profile to the T-TRP (assuming the T-TRP is not also the receiver) . The T-TRP may then use the reliability profile to determine the mapping sequence and transmit the mapping sequence to the transmitter (assuming the T-TRP is not also the transmitter) . Therefore, at 1512, the reliability profile that is transmitted may instead be a mapping sequence. However, in other implementations, the reliability profile itself may be transmitted at 1512 to the transmitter. The transmitter may use the reliability profile and known bit importance information to then generate the mapping sequence and map message bits to bit positions based on that mapping sequence.
[0182] The method of determining a reliability profile based on the results of decoding in order to determine which bit positions are more reliably decoded, and then using that information to map critical bits to those bit positions, can apply to other codes as well besides LDPC codes. For example, it may also apply to turbo codes.
[0183] In another implementation, a dynamic LDPC reliability adjustment based on decoding feedback is described with reference to FIG. 16. The method described in relation to FIG. 16 is one implementation of the procedure described above in which a reliability profile is updated and used.
[0184] At the receiver side, LDPC decoding involves iterative message passing. Over multiple transmissions or sessions, the receiver may gather statistics on which variable node positions consistently decode reliably and which do not, refining the reliability profile dynamically. The receiver then signals updated reliability orders to the transmitter (e.g. through T-TRP regular RRC update requests) to try to improve subsequent mappings. Note that the T-TRP itself can be either one of the Transmitter or Receiver in this case. In either case the updated profiles may happen under its scheduled update signaling.
[0185] The procedure may include at least one of the following steps: · Step 8.1 Decoding Statistics Collection: The receiver records which variable nodes tend to converge quickly and with fewer errors over numerous decoding iterations. · Step 8.2 Refinement of Reliability Profile: Based on statistical data, the T-TRP reorders the reliability ranking, promoting nodes that consistently achieve stable messages early in decoding to “high reliability” status. · Step 8.3 RRC Signaling for Profile Update: The T-TRP sends updated reliability profiles to the UE via RRC signaling, assuming in this example that the UE is the transmitting entity performing the encoding of the inference data. · Step 8.4 Adaptive Mapping: The UE adapts its bit assignment for the next inference data transmission. Critical bits are placed into newly identified high-reliability nodes. · Step 8.5 Improved Performance: Over time, iterative refinement may ensure that critical bits are more often or always placed in positions that LDPC decoding recovers most reliably, possibly reducing error rates and potentially enabling HARQ-free operation for critical data segments.
[0186] FIG. 16 illustrates dynamic reliability update for LDPC consistent with the explanation above. The T-TRP may be the transmitter or the receiver or neither. As shown at 1612, decoding of LDPC data blocks of inference data is performed. At 1614, the receiver calculates convergence speed and / or error rate to determine error statistics indicative of which bit position (bit nodes) of message bits are more reliably decoded. Based on this information, at 1616 the receiver updates the reliability profile as needed. Alternatively, the error statistics may be sent to the T-TRP and the T-TRP updates the reliability profile. At 1618, the receiver sends a RRC “update reliability” request to the TRP, which in response sends the updated reliability information and / or mapping sequence to the transmitter at 1620.
[0187] In a variation of the method of FIG. 16, the reliability profile may be updated at the T-TRP based on decoding information transmitted to the T-TRP by the receiver. In a variation of the method of FIG. 16, the mapping sequence may be transmitted to the transmitter at step 1620. The mapping sequence may be determined at the receiver and sent to the T-TRP at step 1618, or the mapping sequence may be determined at the T-TRP.
[0188] The method of FIG. 16 is not specific to LDPC codes and may apply to other codes also or instead, e.g. turbo codes.
[0189] Further implementations will now be described that are specific to polar coding and that apply an outer code. In the implementations below, the underlying data does not necessarily have to be machine-learning data, such as inference data, but could be any underlying data, including data having nothing to do with machine-learning.
[0190] In some implementations, a protocol and signaling method for Outer Combined Coding of Cold Polar Channels is described as shown in FIG. 17 and FIG. 18.
[0191] This implementation provides the top-level approach for establishing an outer coding scheme for some specific virtual channels among the information bits of the polar codes. The bits that are intentionally set to zero are called the frozen bits. Then among the information bits, the ones that are not outer coded will be the normal bits, and we refer to the outer-coded bits as “cold bits” as the rate of those channels will be between zero and one.
[0192] The system model in this disclosure involves a transmitter and a receiver –of which one side may be the T-TRP, and the T-TRP is responsible for managing the communication and initiating the methods described herein. The channel encoder / decoder modules of the transmitter and receiver use smaller parallel polar code encoder / decoders that encode and decode the data simultaneously.
[0193] The T-TRP will assess the currently used Polar Code and determine which virtual channels must be outer-coded with what coding scheme. The T-TRP then calculates the overall (n, k) of the combined coding scheme. The T-TRP uses the RRC Configuration signaling to provide the outer coding and inner coding parameters to the other side.
[0194] After the coding parameters are negotiated, the receiver and transmitter set the corresponding architecture and begin transmitting and encoding / decoding of the TB data accordingly.
[0195] FIG. 17 illustrates an example of signaling and negotiation of outer coding. In FIG. 17, the T-TRP is assumed to be the receiver and a UE is assumed to be the transmitter. N groups of bits are to be polar encoded in parallel using N polar encoders. N=7 in FIG. 17. That is, there are seven parallel polar codes, as indicated at 1712. Each group of the N=7 groups comprises a plurality of bits, with each bit of the plurality of bits at a respective different bit position. Each bit position corresponds to a respective different virtual channel. The T-TRP determines what outer code, if any, should be applied to a same virtual channel across two or more groups. This may be done for multiple virtual channels. For example, in FIG. 17 it is determined that an outer code that is a Hamming (7, 4) code should be applied to each of virtual channels 2, 4, 5, and 6, as shown at 1714. This determination of which outer codes to apply where may be made based on the “Tensor Transmission Parameters” information and / or the I-QoS profile, examples of which were described in relation to FIG. 6. The indication of number of parallel encoders and outer codes to use may be transmitted as “Outer Combined Coding Parameters” , as shown at 1716 of FIG. 17. In some implementations, the “Outer Combined Coding Parameters” may be part of the “Tensor Coding Scheme Profile” described in relation to FIG. 6. RRC signaling may be used by the transmitter to transmit, to the T-TRP, the Tensor Transmission Parameters, which may include the critical bit information (such as which bits are critical) , as shown at 1718. RRC signaling may be used by the T-TRP to transmit the “Outer Combined Coding Parameters” , as shown at 1720.
[0196] FIG. 18 illustrates an example RRC information element (IE) for outer combined coding. There may be several RRC IE’s , examples of which are shown at 1812. One of the IEs may be an “Outer Combined Coding Configuration” IE, as shown at 1814. An example of the parameters that may be configured by the IE are shown in box 1816. In the example, the configuration indicates that: outer coding is enabled ( “Outer Coding enabled = True” ) ; there are seven parallel polar codes to be encoded at the transmitter in parallel using seven polar encoders and to be decoded at the receiver in parallel using seven polar decoders ( “Num Parallel Polar Codes = 7” ) ; and an indication of which virtual channel (called “Info Bit Channel” ) are to be outer encoded and with which outer codes. Note that virtual channel 6 has a repetition (3, 1) code indicated, which is different from FIG. 17 to demonstrate the fact that other outer codes besides Hamming codes are possible. Example fields of the RRC combined outer coding configuration frame are also illustrated in FIG. 18 at 1818. These fields may include: an identification that the field relates to outer coding configuration, an identifier of a UE for which the configuration applied, a flag indicating that outer coding is enabled, an indication of the number of parallel codes, an ordered list of which virtual channels (bit channels) have an outer code applied, and / or an ordered list of which outer coding schemes are applied, etc. Fields that are not indicated but that are required may be predetermined or preconfigured via another message.
[0197] In another implementation, the approach of using different outer coding rates on different info bits is described, as shown in FIG. 19. FIG. 19 illustrates one example implementation of how outer coding may be applied to only certain virtual channels. In the example of FIG. 19, there are 9 parallel polar encoders, each one encoding a respective group of bits. Each column represents a respective different group of bits that is encoded by a respective one of the 9 parallel polar encoders. For example, 1912 represents one group encoded by one polar encoder, and 1914 represents another group encoded in parallel by another polar encoder. Each row in FIG. 19 is a respective different virtual channel, alternatively referred to as a bit channel. There are 16 bits in each column, i.e. 16 rows, each row (bit position) belonging to a respective different virtual channel.
[0198] Information bits that are not outer-encoded are referred to as “normal” information bits, and each normal information bit is shown as a black dot. Information bits that are outer-encoded are referred to as “cold” information bits, and each cold information bit is shown using hatching. A group of cold information bits forms a codeword of the outer code. Each codeword is shown in a box. For example, box 1916 shows a 3-bit codeword resulting from the coding of a single information bit via repetition code (3, 1) . Frozen bits are shown as white dots. Cold information bits are mapped to bit positions in groups such that, for each codeword of an outer code, each bit of that codeword is present in a respective different group but at the same virtual channel, i.e. at the same bit position. An example is shown at 1918 in which a two-bit codeword of an outer code, resulting from coding an information bit via a (2, 1) repetition code, has one bit of the codeword in group 1912 and another bit of the codeword in adjacent group 1914, but both at the same virtual channel, i.e., both at the same bit position. The result is that each bit of the codeword of the outer code is polar-encoded by a respective different polar encoder.
[0199] In the implementation in FIG. 19, an outer code does not have to be applied to all virtual channels, and some virtual channels may have no outer coding, e.g. the five virtual channel (rows) having the normal information bits do not have outer coding. Also, as shown in FIG. 19, it may be that different outer codes can be applied to different virtual channels.
[0200] The outer codings for different channels can be different than that illustrated. Another example (not illustrated) may be having a Repetition (3, 1) Code for the info-bit channels number 2, 3, 5 and having a Hamming (15, 11) Code for info-bit channels 1, 4, 8. Note that each info-bit channel is separately outer-encode / decoded so it is feasible to have different coding schemes.
[0201] In some implementations, it may be necessary to map one or more frozen bits to a particular channel if the codeword length of the outer code does not allow for one or a multiple of codewords to fill up all bit positions on a same virtual channel. This may occur if the codeword length is not a factor of the number of parallel encoders. An example is shown at 1920 in which two frozen bits are mapped to the virtual channel because the (7, 4) Hamming code codeword length (7 bits) is not a factor of the number of parallel encoders (9 parallel encoders) . In an alternative example (not illustrated) , as the data are fed to parallel Polar Coding Modules, the final outer length of all info-bit channels must be the LCM (Least Common Divisor) of codeword length of all outer coding schemes. For example, the repetition coded channels may need 5 Rep (3, 1) codes to make the total length equal to 15 similar to Hamming (15, 11) , if there are 15 parallel encoders.
[0202] In some implementations, other than using a LCM to match the length of different outer codes, it is also possible to use rate-matching methods or adding few zero bits to align the outer lengths, like illustrated at 1920 of FIG. 19. For example, having a set of outer Hamming (7, 4) codes and a set of outer Rep (4, 1) codes, the two channel group lengths can be aligned by using 2 codewords of Rep(4, 1) for one group, making total 8 outer-coded bits for them, and using an extra uncoded frozen bit for Hamming (7, 4) group making total 8 outer-coded bits again. In another implementation, the procedure of using adaptive outer-coding schemes based on real-time channel reliability is described as shown in FIG. 20.
[0203] Based on the real-time channel qualities and the Polar codes channel reliability values, the T-TRP can have a real-time estimate of the per channel error rates. The T-TRP can then manipulate the Outer-Coding schemes and their coding rates based on these channel conditions. This will aim to both ensure a high or guaranteed channel reliability for the critical bits despite the fluctuations of the channel quality, and help try to ensure the efficiency and proper code rate for the outer-codes.
[0204] For example, the T-TRP may start with a Hamming (15, 11) outer-code on virtual channels 2, 3, 4 at the beginning. In an event of a large degradation of the channel quality, the T-TRP may decide to switch to the following coding schemes: Hamming (7, 4) for channel 2 and Repetition (3, 1) for channels 3, 4 to try to guarantee the quality of these critical channels. A standard may define a new DCI format to signal the UE to apply these outer coding scheme changes.
[0205] FIG. 20 is an example of providing an adaptive outer-coding update via a DCI format. In the example of FIG. 20, the T-TRP is assumed to be the receiver and the UE is assumed to be the transmitter. The T-TRP may initially configure outer coding of channels 2, 3, and 4 with a (15, 11) Hamming code, as shown at 2012. Subsequently, there may be a signal-to-noise ratio (SNR) drop that causes the T-TRP to recalculate the polar bit reliabilities, as shown at 2014. The SNR drop may be discovered via a periodic channel quality check, as shown at 2016. As a result of the recalculation, the T-TRP may update the outer coding to a (7, 4) Hamming code for channel 2 and a (3, 1) repetition code for each of channels 3 and 4, as shown at 2018. The reconfiguration may be sent to the UE via DCI signaling, as shown at 2020. The DCI may have a particular format (not shown) that can signal the reconfiguration, e.g. certain bits of the DCI may be allocated for indicating the reconfiguration. Alternatively, higher-layer signaling (e.g. RRC signaling) may be used instead of DCI, depending upon the implementation.
[0206] Decoding will now be described. The example decoding methods described below assume an outer code was applied to one or more virtual channels like in the manner described with reference to FIG. 19.
[0207] In some implementations, the combined decoding approach for SC-based Decoders is described as shown in FIG. 21. In a SC decoder for a polar code, a binary tree with nodes may be implemented, with belief values computed at the nodes and sent between nodes in the tree in the way known in SC decoding. The leaf nodes of the binary tree are the nodes of the tree with no children. Each leaf node represents a respective different bit of the input vector to the polar encoder, with some leaf nodes corresponding to frozen bits and other leaf nodes corresponding to information bits. Therefore, each leaf node represents a respective different virtual channel. For the leaf nodes corresponding to information bits, each leaf node obtains a belief value and decides from that belief value whether the information bit corresponding to the leaf node is a “1” or a “0” , e.g. based on the sign and / or magnitude of the belief value.
[0208] FIG. 21 shows a plurality of binary trees 2112, each one corresponding to a respective different polar decoder. For simplicity, only five binary trees are illustrated, and each binary tree only has four leaf nodes, which means in this example that: there are five polar decoders, the input vector to each polar encoder has four bits, and for each polar decoder there are four virtual channels, each virtual channel corresponding to a respective different leaf node of the polar decoder. The polar decoding occurs in parallel. For a same leaf node (same virtual channel) across the decoders, an example of which is shown at 2114, a belief value is obtained at the leaf node. Therefore, at that leaf node across the five decoders there are five belief values, each one belonging to a respective different decoder binary tree. In this example, the five belief values correspond to a codeword on a same virtual channel. Outer decoding is performed on the five belief values to obtain a hard decision on the codeword of the outer code. Each codeword bit of the codeword corresponds to a respective belief value. Then, the codeword bits are returned to the polar decoders and used in place of the belief values. Specifically, each codeword bit is returned to the leaf node of the tree from which the belief value corresponding to that codeword bit came. The codeword bit is then used instead of the belief value to obtain the bit decision for that leaf node. In this way, the outer code can be used to try to improve the decoding on those leaf nodes, by outer decoding the belief values of those leaf nodes using the outer code, and using the decoded bits as the bit decisions of those leaf nodes. The method may be repeated for any leaf nodes for which there is an outer code.
[0209] An important part of the Combined Outer Channel Coding in this parallel Polar Coding Scheme is the use of the combined decoding method described above, in which there is polar decoding combined with the decoding of the outer code. In the combined decoding method, all the inner Polar decoders perform decoding steps synchronously, and when they arrive at a leaf which they want to perform hard decision, instead of making the hard decision separately, they pass the soft decisions (belief values) to the outer decoders. Then the outer decoder of each info-bit channel decodes the whole info-bit channel codeword together and obtains the hard decisions. These hard decisions are then passed to the inner Polar decoders to continue the next stages of decoding. FIG. 21 is one example of the combined decoding approach in a SC-based Decoder. The method explained in relation to FIG. 21 applies more broadly in any situation where there is an outer code applied to a same virtual channel with parallel decoding by inner polar decoders, regardless of the size of the binary tree, number of virtual channels, specific outer code used, etc.
[0210] In some implementations, the outer decoders can either use the soft decision values of the leaves to do a soft-in decoding or can use the hard decisions of the leaves to perform hard-in decodings. The hard-in outer decoding would be much faster as it can be hardware implemented, but the soft decoding may have better coding efficiency. In the example explained above in relation to FIG. 21, the outer decoding is hard decoding. However, in a variation it could instead be soft decoding, where the belief values that are outer decoded are replaced in the polar decoders with soft values rather than hard bit values.
[0211] In another implementation, the use-case of outer coding to mitigate outlier channel’s error is discussed, as shown in FIG. 22. FIG. 22 illustrates the bit error rate (BER) for each of 128 virtual channels, for both the situation of parallel polar decoding without outer coding and the situation of parallel polar decoding with outer coding. In the example of FIG. 22, the white bars correspond to the BER when there is no outer code. The black bars correspond to the BER when an outer code is applied just to virtual channels 0, 1, 2, 50, 62, 96, and 112.
[0212] The outer coding can be selected for a specific set of info-bit channels for different reasons, where an info-bit channel is a virtual channel at which an information bit is present. The T-TRP can decide on which approach to use depending on the current channel conditions and its bit-to-channel mapping strategies. One approach is to apply the outer decoding on a set of outlier channels with very low reliability among the polar channels. Applying a mild outer coding on outlier high error channels will lower their error rate to the same level as the other channels, while the effect of having slightly lower rate will only slightly decrease the energy efficiency, which will have small error increase in the other uncoded channels. This method is useful to maintain a fair channel quality among different virtual channels, which becomes particularly important in an error-tolerant inference approach where the error can enter the application level.
[0213] In another implementation, the use-case of outer coding to make extra protected channels is discussed, as shown in FIG. 23. FIG. 23 illustrates the BER for each of 36 virtual channels, for both the situation of parallel polar decoding without outer coding and the situation of parallel polar decoding with outer coding. In the example of FIG. 23, the black bars correspond to the BER (for an example normalized SNR Eb / N0) when there is no outer code. The white bars correspond to the BER (with the same normalized SNR Eb / N0) when an outer code is applied just to the first six virtual channels.
[0214] As mentioned in previous implementations, the outer coding can be selected for a set of info-bit channels for different reasons. The T-TRP can decide on which approach to use depending on the current channel conditions and its bit-to-channel mappings. For example, the T-TRP may specify a set of critical bits, e.g. 4-bit exponent bits of a floating-point data. The scheduler will set a strict outer Coding scheme for the bottom 4 info-bits which highly reduces the error rate of these specific channels, and will map these critical data bits to these very reliable channels.
[0215] Note that assigning these outer codings to the bottom info-bit channels (the ones that are decoded first) is important because of the successive cancellation method of decoding. Meaning that as these bits are decoded first, the correctness of the later decoded bits heavily relies on the correctness of these bits. Therefore, assigning outer coding to the first few info-bits not only makes sure those channels are highly reliable to transmit critical data, but also improve the decoding of the later info-bits.
[0216] Although the outer coding will slightly reduce the coding rate, the combined decoding of the early bits will compensate for the energy efficiency which will in some cases improve the overall energy efficiency of the coding. Therefore, this implementation may possibly achieve two objectives with one action: Preparing a set of much more reliable channels for critical bits, and also increasing the overall energy efficiency of the SC-based Parallel polar code.
[0217] In another implementation, the extension of the decoding method for outer combined code is provided for the Successive-Cancellation List (SCL) decoders when the outer decoder is soft-input soft-output (SISO) -based, as shown in FIG. 24.
[0218] FIG. 24 show a plurality of binary trees 2412, each one corresponding to a respective different polar decoder. For simplicity, and like in FIG. 21, only five binary trees are illustrated in FIG. 24. Also, each binary tree only has four leaf nodes, which means in this example that: there are five polar decoders, the input vector to each polar encoder has four bits, and for each polar decoder there are four virtual channels, each virtual channel corresponding to a respective different leaf node of the polar decoder. The polar decoding occurs in parallel. For a same leaf node (same virtual channel) across the decoders, an example of which is shown at 2414, a belief value is obtained at the leaf node. Therefore, at that leaf node across the five decoders there are five belief values, each one belonging to a respective different decoder binary tree. In the example, the five belief values correspond to a codeword on a same virtual channel. Outer decoding is performed on the five belief values to obtain a soft decision on the codeword of the outer code. Each soft decision corresponds to one codeword bit of the codeword and also corresponds to a respective belief value. Then, the soft decisions are returned to the polar decoders and used in place of the belief values. Specifically, each soft decision is returned to the leaf node of the tree from which the belief value corresponding to that soft decision came. The soft decision is then used instead of the belief value in the next stage of the decoding. In this way, the outer code can be used to try to improve the decoding on those leaf nodes, by outer decoding the belief values of those leaf nodes using the outer code, and using the decoded soft values instead of the belief values in the polar decoding. In the example, the SCL decoder operates in the known way to compute decision metrics and path metrics. The computation of a decision metric (DM) in a SCL decoder is conventionally: If has and has If has and has
[0219] where is the belief value of polar decoder Pj for bit ui on node i, is the bit decision of that node (which may be 0 or 1 with different decision metrics) , is the magnitude of the belief value, and is the decision metric for node i of polar decoder Pj.
[0220] However, for the virtual channel (i.e. leaf nodes 2414) where the soft decisions are used instead of the belief values, the belief values are replaced by the soft decisions in the DM computation. The two equations above instead become: If has and has If has and has
[0221] where is the soft decision value obtained by the soft decoding of the outer code that corresponds to and is used instead of This is illustrated in FIG. 24 in which the conventional DM computation at 2416 is replaced with the modified DM computation at 2418 in which the soft decision value is used instead of the belief value.
[0222] The method may be repeated for any leaf nodes for which there is a corresponding outer code.
[0223] As explained above, the outer combined coding can be extended to the parallel polar codes with SCL decoding. In that case, the approach depends on the outer decoding’s outputs to be soft decisions or hard decisions. In the example explained above in relation to FIG. 24, the outer decoding’s outputs are soft decisions. An example in which the outer decoding’s outputs are instead hard decisions is explained later in relation to FIG. 25.
[0224] If the outer decoding outputs soft-decisions, like in FIG. 24, then the SCL decoding and path splitting is performed normally at each stage. The only difference is that the Decision Metrics (DM) will use the soft-decoding outputs of the combined outer decoder instead of using the belief of that leaf in polar code. For example, suppose there are n parallel polar decoders and we are computing the DM for the i-th bit of each polar module which are outer-coded and use a SISO decoder. The outer decoder will receive the beliefs and generate the output soft-decisions The polar SCL decoder then fetches these soft-decisions and uses them for the computing DM instead of the an example of which is shown in FIG. 24. The path pruning and rest of the procedure is performed normally.
[0225] In another implementation, the combined SCL decoding approach is provided for when the Outer Decoder is Hard-Decision-based as shown in FIG. 25. FIG. 25 illustrates pruning in a SCL decoder, with the path decisions modified using the outer coding in the way explained herein. For simplicity, the possible paths and corresponding path metric computations are only illustrated for three bits u1, u2, and u3, and it is assumed that there are only four parallel decoders. Eight paths are illustrated labelled 1a, 1b, 2a, 2b, 3a, 3b, 4a, and 4b. The four SCL decoders are assumed to each have a list size of four. That is, for each decoder the eight paths are pruned down to four paths by picking the paths with the four best path metrics (PMs) . Table 2512 illustrates the paths having the four best path metrics for each of the four polar decoders. For example, for polar decoder 1, and as shown at row 2514, the path metric (PM) is best for the path labelled 2b (i.e. the path u1 u2 u3=011) , the path metric is second-best for the path labelled 1b (i.e. the path u1 u2 u3=001) , the path metric is third-best for the path labelled 1a (i.e. the path u1 u2 u3=000) , and the path metric is fourth-best for the path labelled 4a (i.e. the path u1 u2 u3=110) . For a set of bits corresponding to a codeword of the outer code, each of those bits corresponds to a respective different polar decoder such that each bit is on a decoding path of a respective different polar decoder, and each belong to the same virtual channel. Outer decoding may be performed to obtain the codeword. An example is shown at 2516 in which there is a set of four bits corresponding to a codeword (of length n=4) of an outer code. Each of these bits belong to a same virtual channel corresponding to the bit position of bit u1. Each of these bits is on a decoding path of a respective different polar decoder. The outer decoding is applied to decode to codeword 1110. That is, the value 0110 is input to the outer decoder, and the decision of the outer decoder is the codeword 1110. This codeword 1110 is then used to replace the value 0110, as shown at 2518. The same step of outer decoding and replacing the bits that were outer decoded with the codeword is performed on the other channels in which there was an outer code, and the result is table 2520. The paths are updated in table 2520 based on the codeword resulting from the outer decoding. For example, for Polar decoder 1, the best path metric was originally path 2b, as shown at 2522. However, the replacement of “0” with “1” after the outer decoding caused the path to be updated to path 3b, as shown at 2524.
[0226] In the example of FIG. 25, because the outer decoding generates hard-decisions, then the outer decoder cannot update the beliefs, as it can only generate hard outputs. In this case, the path splitting and path metric calculation is performed similar to normal SCL using However, when performing the path pruning, the selected paths are determined based on both the beliefs and the decoding results of the outer decoder.
[0227] One possible pruning method is that for each polar code module, it sorts the paths based on their path metric (PM) and then selects the best L paths according to the PM similar to the regular SCL decoding, wherein the example of FIG. 25 L=4. However, before moving on, hard-decision outer decoding is performed between the surviving paths of the same rank. Then after performing the error correction with the outer decoder, the paths are replaced with the error corrected paths. The decoder then proceeds decoding as usual. This is one possible approach to pruning; however, the decoder can choose any general approach to select the candid paths using the PMs and the outer decoder:
[0228] where is the path metric for path k of parallel decoder j, and OuterDecoderFunc (~) is the outer decoding function applied to obtain the codword.
[0229] This method has the advantage of using the outer decoders for “error correction” as well and also uses a smaller number of redundant bits compared to the CRC check bits.
[0230] FIG. 26 illustrates two apparatuses 2602 and 2604, according to some implementations of the present disclosure. The apparatuses 2602 and 2604 may be used to perform one or more of the operations described herein.
[0231] Stippled box 2606 illustrates example structures for the apparatus 2602. In some implementations, the apparatus 2602 may be a UE 2620 or other device that communicates with a network, e.g. the apparatus 2602 may be apparatus 310 described earlier. In some implementations, the apparatus 2602 may be a network device, such as a TRP 2622, e.g. the apparatus 2602 may be apparatus 320 described earlier. In some implementations, the apparatus 2602 may be (or may be referred to) as a transmitter 2624 because it performs the transmission of the ML data to apparatus 2604. In some implementations, the apparatus 2602 may be or include a combination of processor and memory 2626, e.g. a chip that comprises one or more processors and memory storing instructions that, when executed by the one or more processors, cause the apparatus 2602 to perform its operations. In some implementations, the apparatus 2602 may be circuitry (e.g. specialized or dedicated circuitry) such as an ASIC 2628, or perhaps instead an FPGA or GPU or the like. In some implementations, the apparatus 2602 may comprise units or modules 2630 for performing the methods of the apparatus 2602. In some implementations, the apparatus 2602 may include means for performing the methods of the apparatus 2602.
[0232] Stippled box 2608 illustrates example structures for the apparatus 2604. In some implementations, the apparatus 2604 may be a UE 2640 or other device that communicates with a network, e.g. the apparatus 2604 may be apparatus 310 described earlier. In some implementations, the apparatus 2604 may be a network device, such as a TRP 2642, e.g. the apparatus 2604 may be apparatus 320 described earlier. In some implementations, the apparatus 2604 may be (or may be referred to) as a receiver 2644 because it receives the ML data. In some implementations, the apparatus 2604 may be or include a combination of processor and memory 2646, e.g. a chip that comprises one or more processors and memory storing instructions that, when executed by the one or more processors, cause the apparatus 2604 to perform its operations. In some implementations, the apparatus 2604 may be circuitry (e.g. specialized or dedicated circuitry) such as an ASIC 2648, or perhaps instead an FPGA or GPU or the like. In some implementations, the apparatus 2604 may comprise units or modules 2650 for performing the methods of the apparatus 2604. In some implementations, the apparatus 2604 may include means for performing the methods of the apparatus 2604.
[0233] FIG. 27 illustrates a method performed by the apparatus 2602 and the apparatus 2604, according to some implementations.
[0234] At step 2702, the apparatus 2602 obtains N groups of ML data. The ML data in each of the N groups includes a first subset of ML data and a second subset of ML data. N is a positive integer. In some cases, N may be equal to one, in which case there is only one group. The ML data may be any data associated with machine-learning, e.g. training data, and / or inference data, and / or intermediate inference data, and / or one or more tensor objects, and / or one or more prompts and / or tokens associated with a generative ML model, and / or input to a ML model, and / or output of a ML model (including input to / output of a generative ML model) , etc.
[0235] Examples of groups of ML data are described earlier. For example, FIG. 11 illustrates an example of a group of ML data. In FIG. 11, the group of ML data consists of a FP16 inference value. The first subset of the ML data may be, for example, the sign and exponent bits of the FP16 inference value. The second subset of the ML data may be, for example, the mantissa of the FP16 inference value. FIGs. 12 and 13 each illustrate another possible example of a group of ML data. The group of ML data consists of a FP16 scaling factor and a series of bits representing integers. The first subset of the ML data may be, for example, all or some of the FP16 scaling factor. The second subset of the ML data may be, for example, the remaining bits that are not part of the first subset, e.g. including the bits representing the integers. Reference character 912 in FIG. 9 indicates another example of a group of ML data. The example group consists of three values. The first subset of ML data may be, for example, the critical bits of each of the three values (e.g. the sign and exponent of each of the three values) . The second subset of ML data may be, for example, the remaining bits used to represent the three values. In the example in FIG. 9, three different groups of ML data are illustrated. Other examples are possible. In another example, each bit of a scaling factor could be a subset of ML data in a respective different group. For example, there may be N=16 groups, where for each group there is one bit of a FP16 scaling factor in the most reliable position followed by integer values. In this example, the first subset of ML data may be, for example, the scaling factor bit in the group. The second subset of ML data may be, for example, the integer values in the group.
[0236] The apparatus 2602 may obtain the N groups of ML data at 2702 by receiving the N groups or generating the N groups, depending upon the implementation.
[0237] For each group of the N groups, the apparatus 2602 may perform the following steps 2704 and 2706. At step 2704, the apparatus 2602 maps the first subset of ML data to first bit positions of input bits, and the apparatus maps the second subset of ML data to second bit positions of the input bits. The mapping is based on a respective reliability requirement of the first subset and the second subset. The reliability requirement of the first subset is higher than the reliability requirement of the second subset. For example, the first subset of ML data may include one or more critical bits in the group of ML data, e.g. bits that represent a sign, exponent, scaling factor, and / or most significant bit. These bits may be associated with a higher reliability requirement, e.g. they may be bits that should be more reliably correctly decoded. The second subset of ML data may include other bits of the ML data that perhaps can tolerate some level of error and / or that need not be as reliably decoded, e.g. mantissa bits, integer bits, and / or least significant bits.
[0238] At step 2706, the apparatus 2602 channel encodes the input bits using an error correction code.
[0239] The N groups of channel-encoded ML data is then transmitted over a channel by apparatus 2602 and received by apparatus 2604.
[0240] At step 2708, the apparatus 2604 decodes each of the N groups of channel-encoded ML data to obtain N groups of output bits. Example decoding methods are described earlier, including in relation to FIGs. 9, 15, 21, 24, and 25.
[0241] For each group of the N groups, the apparatus 2604 may perform the following steps 2710 and 2712. At step 2710, the apparatus 2604 may de-map first bit positions of the output bits back to a first subset of the ML data having a first reliability requirement. At step 2712, the apparatus 2602 may also de-map second bit positions of the output bits back to a second subset of the ML data having a second reliability requirement.
[0242] For example, if the first subset of the ML data included critical bits, those bits would be de-mapped (also interchangeably called “mapped” ) back to the critical ML data bits. For example, if the first subset included a sign bit and exponent bits of a FP16 ML data value, the decoded sign bit would be mapped back to the sign bit position of the FP16 ML data value, and the exponent bits would be mapped back to the exponent bit positions of the FP16 ML data value. Similarly, the decoded bits of the second subset of ML data would be mapped back to their respective ML positions in the ML data value.
[0243] The first bit positions of the decoded output bits have a higher decoding reliability than the second bit positions of the decoded output bits. For example, the first bit positions may be associated with more reliable virtual channels, in the case of polar coding. This ensures that the first bit positions, which correspond to the first subset of ML data, are more reliably decoded.
[0244] In some implementations of the method of FIG. 27, for each group, the first subset of ML data may include at least one of: sign of floating-point data (e.g. like in the example of FIG. 11) ; exponent of the floating point data (e.g. like in the example of FIG. 11) ; scaling factor for quantized data (e.g. like in the example of FIG. 12) ; or one or more most significant bits (MSB) .
[0245] In some implementations of the method of FIG. 27, the error correction code is a polar code, which means that the channel encoding is polar encoding and the channel decoding is polar decoding. In some implementations, for each group of ML data obtained at step 2702 and mapped at step 2704, each bit of the input bits may correspond to a respective virtual channel of the polar code. The bits in the first subset of ML data may be mapped to the more reliable virtual channels of the polar code.
[0246] In some implementations of the method of FIG. 27, the channel encoding at step 2706 may involve channel encoding each of the N groups in parallel. For example, if the coding applied is polar coding, then step 2706 may involve polar encoding the input bits for each of the N groups by: polar encoding the input bits for each of the N groups in parallel. Each group may be encoded by a respective polar encoder. An example is illustrated in FIG. 9 in which each group of ML data is polar encoded in parallel using three polar encoders.
[0247] In some implementations of the method of FIG. 27, outer coding may be applied. For example, assuming that the channel encoding at step 2706 is polar encoding, the method performed by apparatus 2602 may include the following. Prior to the polar encoding at step 2706, the apparatus 2602 may channel encode one or more bits of the ML data using an outer code to obtain encoded bits. Each encoded bit may be included in a respective different group so that different encoded bits are encoded by different polar encoders, where each encoded bit is at a bit position corresponding to a same virtual channel. An example of such an outer coding is described in relation to FIG. 19. For example, the outer encoding may be repetition code (2, 1) resulting in a codeword of two bits, as shown at 1918 of FIG. 19. Each bit is included in a respective different group (group 1912 and 1914) such that each encoded bit is encoded by a different polar encoder. Each encoded bit is at the same bit position corresponding to the same virtual channel.
[0248] There may be more than one outer code applied. For example, in some implementations the one or more bits of the ML data that are channel encoded using the outer code may be referred to as “afirst set” of one or more bits, the outer code may be referred to as “afirst outer code” , the outer coded encoded bits may “first encoded bits” , and the same virtual channel may be referred to as “asame first virtual channel” . The method of apparatus 2602 may further include, prior to polar encoding, also channel encoding a second set of one or more bits of the ML data using a second outer code to obtain second encoded bits, and including each encoded bit of the second encoded bits in a respective different group so that different second encoded bits are encoded by different polar encoders, where each encoded bit of the second encoded bits is at a bit position corresponding to a same second virtual channel. The use of “first” and “second” are simply labels used to make clear what bits and virtual channels are being referred to. For example, “first” same virtual channel does not mean it has to be literally the first virtual channel in the indices of virtual channels, and similarly “second” same virtual channel does not mean it has to be literally the second virtual channel in the indices of virtual channels. In some implementations, the second outer code is different from the first outer code. For example, in FIG. 19, the repetition code (2, 1) having the codeword shown at 1918 is a different outer code from the repetition code (3, 1) having the codeword shown at 1916. However, the second outer code does not have to be different from the first outer code. For example, the repetition code (2, 1) is used twice on two different virtual channels in the example of FIG. 19. In some implementations, no outer coding is applied to another set of bits that are mapped to another virtual channel. For example, in the example of FIG. 19 there is no outer coding applied to the five virtual channels carrying the normal information bits shown in black dots in FIG. 19. In some implementations, the outer code may be modified. For example, the method of FIG. 27 may include the following step performed by apparatus 2602: modifying the outer coding in response to changing conditions of a communication channel through which the ML data is transmitted. An example of this is discussed earlier in relation to FIG. 20.
[0249] The channel encoding at step 2706 of FIG. 27 does not have to be polar encoding. For example, in one implementation the error correction code may be a low-density parity-check (LDPC) code, in which case the channel encoding in step 2706 is LDPC encoding. In some implementations, in step 2706, the N groups of ML data may be LDPC encoded in parallel. Each group may be encoded by a respective LDPC encoder. In some implementations, outer coding may be applied prior to the LDPC encoding at step 2706. For example, prior to the LDPC encoding, the apparatus 2602 may channel encode one or more bits of the ML data using an outer code to obtain encoded bits. Each encoded bit may be included in a respective different group so that different encoded bits are encoded by different LDPC encoders, where each encoded bit is at a same bit position. An example would be the approach shown in the example of FIG. 19 but adapted for parallel LDPC encoders instead of parallel polar encoders.
[0250] In some implementations of the method of FIG. 27, the method may include the apparatus 2602 obtaining an indication of the mapping of the first subset of the ML data to the first bit positions. Assuming LDPC encoding, and depending upon the implementation, the obtaining the indication of the mapping may include the apparatus 2602 receiving an indication of decoding reliability of bit positions of the input bits. The decoding reliability may be based on results of LDPC decoding of previous data, e.g. LDPC decoding performed by apparatus 2604. The apparatus 2602 may obtain the mapping from the indication of decoding reliability.
[0251] In some implementations of the method of FIG. 27, prior to the channel encoding at step 2706, the method may include the apparatus 2602 obtaining information configuring the channel encoding. An example of such information is the tensor coding scheme profile, e.g. the example at 616 of FIG. 6.
[0252] In some implementations of the method of FIG. 27, where polar coding is implemented, each of the N groups of channel-encoded ML data at step 2708 may have been channel encoded (at step 2706) using a polar code. The decoding at step 2708 may therefore be polar decoding. In some such implementations, the first bit positions referred to at step 2710 may correspond to virtual channels of the polar code that have higher decoding reliability, e.g. compared to the virtual channels corresponding to the second bit positions.
[0253] In some implementations, the decoding in step 2708 may be successive cancellation (SC) decoding or successive cancellation list (SCL) decoding.
[0254] In implementations in which parallel encoding of groups is implemented at step 2706, then parallel decoding of groups is implemented at step 2708. If polar coding is implemented, then at step 2708 the N groups of polar-encoded ML data may be polar decoded in parallel, with each of the N groups polar decoded using a respective polar decoder.
[0255] In implementations in which an outer code was applied by apparatus 2602, the decoding at step 2708 may include decoding the outer decoding. For example, in some implementations, for at least two groups of polar-encoded ML data: each group may polar-encode a respective bit of a same codeword, where the codeword is associated with a same virtual channel, and where the codeword belongs to an outer code that was applied prior to polar encoding. The parallel polar decoding in step 2708 may include: (1) identifying a set of values during the parallel polar decoding that correspond to the codeword of the outer code, each value in the set of values from a respective different polar decoder; (2) decoding the outer code using the set of values to obtain an updated set of values; and (3) using the updated set of values in place of the set of values in a next stage of the parallel polar decoding. Three examples are discussed herein.
[0256] In a first example, the polar decoding uses SC decoding, and the set of values comprise a plurality of belief values in leaf nodes that correspond to the codeword of the outer code, where each belief value is from a respective different polar decoder, and each belief value corresponds to the same virtual channel. The decoding the outer code using the set of values comprises: decoding the plurality of belief values to obtain the codeword, where the updated set of values comprise codeword bits of the codeword, and each codeword bit corresponds to a respective one of the belief values. Using the updated set of values comprises: for each polar decoder for which a respective belief value was identified corresponding to the codeword, using the codeword bit corresponding to the respective belief value as a bit decision of the polar decoder for the virtual channel. An example of this subject matter is described earlier in relation to FIG. 21. In FIG. 21, a plurality of belief values in leaf nodes 2114 correspond to the codeword of the outer code. Each belief value is from a respective different polar decoder, and each belief value corresponds to the same virtual channel. The plurality of belief values are decoded to obtain codeword bits of the codeword. For each polar decoder for which a respective belief value was identified corresponding to the codeword, the codeword bit corresponding to the respective belief value is used a bit decision of the polar decoder for the virtual channel.
[0257] In a second example, the polar decoding uses SCL decoding, and the set of values comprise a plurality of belief values in leaf nodes that correspond to the codeword of the outer code, where each belief value is from a respective different polar decoder, and each belief value corresponds to the same virtual channel. Decoding the outer code using the set of values comprises: decoding the plurality of belief values to obtain a soft decision for each codeword bit of the codeword, where the updated values comprise the soft decision for each codeword bit, and each soft decision corresponds to a respective one of the belief values. Using the updated set of values comprises: for each polar decoder for which a respective belief value was identified corresponding to the codeword, using the soft decision corresponding to the respective belief value in the polar decoding in place of the respective belief value. An example of this subject matter is described earlier in relation to FIG. 24. In FIG. 24, a plurality of belief values in leaf nodes 2414 correspond to the codeword of the outer code. Each belief value is from a respective different polar decoder, and each belief value corresponds to the same virtual channel. The plurality of belief values are decoded to obtain a soft decision for each codeword bit of the codeword, where each soft decision corresponds to a respective one of the belief values. For each polar decoder for which a respective belief value was identified corresponding to the codeword, the soft decision corresponding to the respective belief value is used in the polar decoding in place of the respective belief value. Specifically, the soft decision is used in computation of the decision metric, as shown at 2418, instead of the belief value. Therefore, in some implementations, the soft decision may be used to compute a decision metric for a leaf node of the polar decoder corresponding to the virtual channel.
[0258] In a third example, the polar decoding uses SCL decoding, and the set of values comprise a plurality of bits that correspond to the codeword of the outer code. Each bit is on a decoding path of a respective different polar decoder, and each bit corresponds to the same virtual channel. Decoding the outer code using the set of values comprises: decoding the plurality of bits to obtain the codeword, where the updated values comprise codeword bits of the codeword, and each codeword bit corresponds to a respective bit of the plurality of bits. Using the updated set of values comprises: for at least one polar decoder having the decoding path on which there is the respective bit of the plurality of bits, using the codeword bit corresponding to the respective bit in place of the respective bit on the decoding path to update the decoding path of the polar decoder. An example of this subject matter is described earlier in relation to FIG. 25. In FIG. 25, a plurality of bits 2516 correspond to the codeword of the outer code. Each bit of the plurality of bits 2516 is on a decoding path of a respective different polar decoder, and each bit of the plurality of bits 2516 corresponds to the same virtual channel. The plurality of bits 2516 are decoded to obtain the codeword 2518. Each codeword bit of the codeword 2518 corresponds to a respective bit of the plurality of bits 2516. For at least one polar decoder having the decoding path on which there is the respective bit of the plurality of bits 2516, the codeword bit corresponding to the respective bit is used in place of the respective bit on the decoding path to update the decoding path of the polar decoder. This is the case at 2524 where the decoding path has been updated compared to 2522. In some implementations, the method may further include the apparatus 2704 pruning one or decoding paths, e.g. to reduce the number of paths to equal the list size, as is done in SCL decoding. The pruning may be done either before the update to the decoding paths or after the update to the decoding paths.
[0259] Polar coding is not necessary in all implementations. In some implementations of the method of FIG. 27, LDPC encoding may be implemented at step 2706, in which case the decoding at step 2708 is LDPC decoding.
[0260] In some implementations, the method of FIG. 27 may include the apparatus 2706 obtaining an indication of the de-mapping to the first subset of the ML data. In some such implementations, and assuming LDPC coding is implemented, the method of FIG. 27 may include: prior to the decoding the channel-encoded ML data in step 2708, the apparatus 2604 may perform LDPC decoding of previous data to obtain information related to decoding reliability. This information related to decoding reliability may then be used to determine the de-mapping of the first bit positions in step 2710. For example, the LDPC decoding of previous data may indicate that certain bit positions are more reliably decoded, referred to as the “more reliable bit positions” . The first bit positions of the input bits in step 2704 may be mapped to the more reliable bit positions. The de-mapping in step 2710 can then indicate the mapping of the first bit positions back to their corresponding positions in the ML data.
[0261] In some implementations of the method of FIG. 27, prior to the decoding in step 2708, the apparatus 2604 may obtain information configuring the decoding. An example of such information is the tensor coding scheme profile, e.g. the example at 616 of FIG. 6.
[0262] In summary, some possible implementations provided in this disclosure and corresponding benefits are shown the following Table:
[0263] Please note that the methods described in this disclosure can also be applied to Non-3GPP Systems. For example, these protocol designs can be adapted to Wi-Fi or satellite-based systems, extending data-aware code design strategies and tensor object transmission protocols beyond cellular networks. Furthermore, some of these coding scheme (e.g. Outer Combined Coding or Priority Bit Mapping) can be applied not only to distributed inference, but also to any other tasks for low latency Coding with guaranteed reliability.
[0264] In some implementations, the methods described in this disclosure can be applied to Fixed / Wired Networks. Although Noisy inference is less common in fixed networks, analogous “controlled error” concepts may be applied for certain delay-sensitive wired AI inference links.
[0265] In the present disclosure, the terms “a” or “an” are defined to mean “at least one” , that is, these terms do not exclude a plural number of items, unless stated otherwise.
[0266] In the present disclosure, terms such as “substantially” , “generally” and “about” , which modify a value, condition or characteristic of a feature of an example embodiment, should be understood to mean that the value, condition or characteristic is defined within tolerances that are acceptable for the proper operation of the example embodiment for its intended application.
[0267] In the present disclosure, unless stated otherwise, the terms “connected” and “coupled” , and derivatives and variants thereof, refer herein to any structural or functional connection or coupling, either direct or indirect, between two or more elements. For example, the connection or coupling between the elements can be acoustical, mechanical, optical, electrical, thermal, logical, or any combinations thereof.
[0268] In the present disclosure, expressions such as “match” , “matching” and “matched” , including variants and derivatives thereof, are intended to refer herein to a condition in which two or more elements are either the same or within some predetermined tolerance of each other. That is, these terms are meant to encompass not only “exactly” or “identically” matching the two elements but also “substantially” , “approximately” or “subjectively” matching the two or more elements, as well as providing a higher or best match among a plurality of matching possibilities.
[0269] In the present disclosure, the expression “based on” is intended to mean “based at least partly on” , that is, this expression can mean “based solely on” or “based partially on” , and so should not be interpreted in a limited manner. More particularly, the expression “based on” could also be understood as meaning “depending on” , “representative of” , “indicative of” , “associated with” or similar expressions.
[0270] In the present disclosure, the terms "system" and "network" may be used interchangeably in different embodiments of this application. "At least one" means one or more, and "a plurality of" means two or more. The term "and / or" describes an association relationship of associated objects, and indicates that three relationships may exist. For example, A and / or B may indicate the following three cases: Only A exists, both A and B exist, and only B exists, where A and B may be singular or plural. The character " / " indicates an "or" relationship between associated objects. "At least one of the following items (pieces) " or a similar expression thereof indicates any combination of these items, including a single item (piece) or any combination of a plurality of items (pieces) . For example, "at least one of A, B, or C" includes: only A; only B; only C; A and B; A and C; B and C; or A, B, and C, and "at least one of A, B, and C" may also be understood as including: only A; only B; only C; A and B; A and C; B and C; or A, B, and C. In addition, unless otherwise specified, ordinal numbers such as "first" and "second" in embodiments of this application are used to distinguish between a plurality of objects, and are not used to limit a sequence, a time sequence, priorities, or importance of the plurality of objects.
[0271] A person skilled in the art should understand that embodiments of this application may be provided as a method, an apparatus (or system) , computer-readable storage medium, or a computer program product. Therefore, this application may use a form of a hardware-only embodiment, a software-only embodiment, or an embodiment with a combination of software and hardware. Moreover, this application may use a form of a computer program product that is implemented on one or more computer-usable storage media (including but not limited to a disk memory, an optical memory, and the like) that include computer-usable program code.
[0272] This application is described with reference to the flowcharts and / or block diagrams of the method, the device (system) , and the computer program product according to this application. It should be understood that computer program instructions may be used to implement each process and / or each block in the flowcharts and / or the block diagrams and a combination of a process and / or a block in the flowcharts and / or the block diagrams. The computer program instructions may be provided for a general-purpose computer, a dedicated computer, an embedded processor, or a processor of another programmable data processing device and enable a machine to execute the instructions. When executed by any computer or the processor of a programmable data processing device, the instructions cause the apparatus to implement specific functions as described in one or more procedures in the flowcharts and / or one or more blocks in the block diagrams. The computer program instructions may alternatively be stored in a computer-readable memory that can indicate a computer or another programmable data processing device to work in a specific manner, so that the instructions stored in the computer-readable memory generate an artifact that includes an instruction apparatus. The instruction apparatus implements a specific function in one or more procedures in the flowcharts and / or one or more blocks in the block diagrams.
[0273] The computer program instructions may alternatively be loaded onto a computer or another programmable data processing device, so that a series of operations and steps are performed on the computer or the another programmable device, so that computer-implemented processing is generated. Therefore, the instructions executed on the computer or on another programmable device provide steps for implementing specific functions as described in one or more procedures in the flowcharts and / or one or more blocks in the block diagrams.
[0274] It is clear that a person skilled in the art can make various modifications and variations to this application without departing from the scope of this disclosure. This disclosure is intended to cover these modifications and variations of this application provided that they fall within the scope of protection defined by the following claims and their equivalent technologies.
Claims
1.A method comprising:obtaining N groups of machine-learning (ML) data, wherein the ML data in each of the N groups includes a first subset of ML data and a second subset of ML data, wherein N is a positive integer; andfor each group:mapping the first subset to first bit positions of input bits, and mapping the second subset to second bit positions of the input bits, based on a respective reliability requirement of the first subset and the second subset, wherein the reliability requirement of the first subset is higher than the reliability requirement of the second subset; andchannel encoding the input bits using an error correction code.2.The method of claim 1, wherein for each group:the first subset includes at least one of: sign of floating-point data; exponent of the floating point data; scaling factor for quantized data; or one or more most significant bits (MSB) .3.The method of claim 1 or claim 2, wherein the error correction code is a polar code, the channel encoding is polar encoding, and for each group, each bit of the input bits corresponds to a respective virtual channel of the polar code.4.The method of claim 3, wherein the polar encoding the input bits for each of the N groups comprises polar encoding the input bits for each of the N groups in parallel, each group encoded by a respective polar encoder.5.The method of claim 4, further comprising:prior to polar encoding, channel encoding one or more bits of the ML data using an outer code to obtain encoded bits; andincluding each encoded bit in a respective different group so that different encoded bits are encoded by different polar encoders, wherein each encoded bit is at a bit position corresponding to a same virtual channel.6.The method of claim 5, wherein the one or more bits of the ML data that are channel encoded using the outer code are a first set of one or more bits, wherein the outer code is a first outer code, wherein the encoded bits are first encoded bits, wherein the same virtual channel is a same first virtual channel, and wherein the method further comprises:prior to polar encoding, also channel encoding a second set of one or more bits of the ML data using a second outer code to obtain second encoded bits; andincluding each encoded bit of the second encoded bits in a respective different group so that different second encoded bits are encoded by different polar encoders, wherein each encoded bit of the second encoded bits is at a bit position corresponding to a same second virtual channel.7.The method of claim 6, wherein the second outer code is different from the first outer code.8.The method of any one of claims 5 to 7, wherein no outer coding is applied to another set of bits that are mapped to another virtual channel.9.The method of any one of claims 5 to 8, further comprising modifying the outer coding in response to changing conditions of a communication channel through which the ML data is transmitted.10.The method of claim 1 or claim 2, wherein the error correction code is a low-density parity-check (LDPC) code, the channel encoding is LDPC encoding, and the method further comprises obtaining an indication of the mapping of the first subset of the ML data to the first bit positions.11.The method of claim 10, wherein the groups are LDPC encoded in parallel, each group encoded by a respective LDPC encoder.12.The method of claim 11, further comprising:prior to the LDPC encoding, channel encoding one or more bits of the ML data using an outer code to obtain encoded bits; andincluding each encoded bit in a respective different group so that different encoded bits are encoded by different LDPC encoders, wherein each encoded bit is at a same bit position.13.The method of any one of claims 10 to 12, wherein obtaining the indication of the mapping comprises:receiving an indication of decoding reliability of bit positions of the input bits, the decoding reliability based on results of LDPC decoding of previous data; andobtaining the mapping from the indication of decoding reliability.14.The method of any one of claims 1 to 13, wherein prior to the channel encoding, the method comprises obtaining information configuring the channel encoding.15.An apparatus comprising:at least one processor; anda memory storing processor-executable instructions that, when executed by the at least one processor, cause the apparatus to:obtain N groups of machine-learning (ML) data, wherein the ML data in each of the N groups includes a first subset of ML data and a second subset of ML data, wherein N is a positive integer; andfor each group:map the first subset to first bit positions of input bits, and map the second subset to second bit positions of the input bits, based on a respective reliability requirement of the first subset and the second subset, wherein the reliability requirement of the first subset is higher than the reliability requirement of the second subset; andchannel encode the input bits using an error correction code.16.The apparatus of claim 15, wherein for each group:the first subset includes at least one of: sign of floating-point data; exponent of the floating point data; scaling factor for quantized data; or one or more most significant bits (MSB) .17.The apparatus of claim 15 or claim 16, wherein the error correction code is a polar code, the channel encoding is polar encoding, and for each group, each bit of the input bits corresponds to a respective virtual channel of the polar code.18.The apparatus of claim 17, wherein polar encoding the input bits for each of the N groups comprises polar encoding the input bits for each of the N groups in parallel, each group encoded by a respective polar encoder.19.The apparatus of claim 18, wherein the instructions, when executed by the at least one processor, further cause the apparatus to:prior to polar encoding, channel encode one or more bits of the ML data using an outer code to obtain encoded bits; andinclude each encoded bit in a respective different group so that different encoded bits are encoded by different polar encoders, wherein each encoded bit is at a bit position corresponding to a same virtual channel.20.The apparatus of claim 19, wherein the one or more bits of the ML data that are channel encoded using the outer code are a first set of one or more bits, wherein the outer code is a first outer code, wherein the encoded bits are first encoded bits, wherein the same virtual channel is a same first virtual channel, and wherein the instructions, when executed by the at least one processor, further cause the apparatus to:prior to polar encoding, also channel encode a second set of one or more bits of the ML data using a second outer code to obtain second encoded bits; andinclude each encoded bit of the second encoded bits in a respective different group so that different second encoded bits are encoded by different polar encoders, wherein each encoded bit of the second encoded bits is at a bit position corresponding to a same second virtual channel.21.The apparatus of claim 20, wherein the second outer code is different from the first outer code.22.The apparatus of any one of claims 19 to 21, wherein no outer coding is applied to another set of bits that are mapped to another virtual channel.23.The apparatus of any one of claims 19 to 22, wherein the instructions, when executed by the at least one processor, further cause the apparatus to modify the outer coding in response to changing conditions of a communication channel through which the ML data is transmitted.24.The apparatus of claim 15 or claim 16, wherein the error correction code is a low-density parity-check (LDPC) code, the channel encoding is LDPC encoding, and the instructions, when executed by the at least one processor, further cause the apparatus to obtain an indication of the mapping of the first subset of the ML data to the first bit positions.25.The apparatus of claim 24, wherein the groups are LDPC encoded in parallel, each group encoded by a respective LDPC encoder.26.The apparatus of claim 25, wherein the instructions, when executed by the at least one processor, further cause the apparatus to:prior to the LDPC encoding, channel encode one or more bits of the ML data using an outer code to obtain encoded bits; andinclude each encoded bit in a respective different group so that different encoded bits are encoded by different LDPC encoders, wherein each encoded bit is at a same bit position.27.The apparatus of any one of claims 24 to 26, wherein obtaining the indication of the mapping comprises:receiving an indication of decoding reliability of bit positions of the input bits, the decoding reliability based on results of LDPC decoding of previous data; andobtaining the mapping from the indication of decoding reliability.28.The apparatus of any one of claims 15 to 27, wherein the instructions, when executed by the at least one processor, further cause the apparatus to: prior to channel encoding, obtain information configuring the channel encoding.29.A method comprising:decoding N groups of channel-encoded machine-learning (ML) data to obtain N groups of output bits, wherein N is a positive integer; andfor each group:de-mapping first bit positions of the output bits back to a first subset of the ML data having a first reliability requirement; andde-mapping second bit positions of the output bits back to a second subset of the ML data having a second reliability requirement;wherein the first bit positions have a higher decoding reliability than the second bit positions.30.The method of claim 29, wherein for each group:the first subset includes at least one of: sign of floating-point data; exponent of the floating point data; scaling factor for quantized data; or one or more most significant bits (MSB) .31.The method of claim 29 or claim 30, wherein each of the N groups was channel encoded using a polar code, wherein the decoding is polar decoding, and wherein the first bit positions correspond to virtual channels of the polar code that have higher decoding reliability.32.The method of claim 31, wherein the polar decoding is successive cancellation (SC) decoding or successive cancellation list (SCL) decoding.33.The method of claim 31 or claim 32, wherein the N groups are polar decoded in parallel, each of the N groups polar decoded using a respective polar decoder.34.The method of claim 33, wherein for at least two of the groups of polar-encoded ML data: each group polar-encodes a respective bit of a same codeword, wherein the codeword is associated with a same virtual channel, wherein the codeword belongs to an outer code that was applied prior to polar encoding, and wherein the parallel polar decoding includes:identifying a set of values during the parallel polar decoding that correspond to the codeword of the outer code, each value in the set of values from a respective different polar decoder;decoding the outer code using the set of values to obtain an updated set of values; andusing the updated set of values in place of the set of values in a next stage of the parallel polar decoding.35.The method of claim 34, wherein:the polar decoding uses SC decoding;the set of values comprise a plurality of belief values in leaf nodes that correspond to the codeword of the outer code, each belief value from a respective different polar decoder, and each belief value corresponding to the same virtual channel;decoding the outer code using the set of values comprises: decoding the plurality of belief values to obtain the codeword, wherein the updated set of values comprise codeword bits of the codeword, and each codeword bit corresponds to a respective one of the belief values; andusing the updated set of values comprises: for each polar decoder for which a respective belief value was identified corresponding to the codeword, using the codeword bit corresponding to the respective belief value as a bit decision of the polar decoder for the virtual channel.36.The method of claim 34, wherein:the polar decoding uses SCL decoding;the set of values comprise a plurality of belief values in leaf nodes that correspond to the codeword of the outer code, each belief value from a respective different polar decoder, and each belief value corresponding to the same virtual channel;decoding the outer code using the set of values comprises: decoding the plurality of belief values to obtain a soft decision for each codeword bit of the codeword, wherein the updated values comprise the soft decision for each codeword bit, and each soft decision corresponds to a respective one of the belief values; andusing the updated set of values comprises: for each polar decoder for which a respective belief value was identified corresponding to the codeword, using the soft decision corresponding to the respective belief value in the polar decoding in place of the respective belief value.37.The method of claim 36, wherein the soft decision is used to compute a decision metric for a leaf node of the polar decoder corresponding to the virtual channel.38.The method of claim 34, wherein:the polar decoding uses SCL decoding;the set of values comprise a plurality of bits that correspond to the codeword of the outer code, each bit on a decoding path of a respective different polar decoder, and each bit corresponding to the same virtual channel;decoding the outer code using the set of values comprises: decoding the plurality of bits to obtain the codeword, wherein the updated values comprise codeword bits of the codeword, and each codeword bit corresponds to a respective bit of the plurality of bits; andusing the updated set of values comprises: for at least one polar decoder having the decoding path on which there is the respective bit of the plurality of bits, using the codeword bit corresponding to the respective bit in place of the respective bit on the decoding path to update the decoding path of the polar decoder.39.The method of claim 29 or claim 30, wherein the decoding is a low-density parity-check (LDPC) decoding, and the method further comprises obtaining an indication of the de-mapping to the first subset of the ML data.40.The method of claim 39, wherein prior to the decoding the channel-encoded ML data, the method comprises LDPC decoding of previous data to obtain information related to decoding reliability for use in determining the de-mapping.41.The method of any one of claims 29 to 40, wherein prior to the decoding, the method comprises obtaining information configuring the decoding.42.An apparatus comprising:at least one processor; anda memory storing processor-executable instructions that, when executed by the at least one processor, cause the apparatus to:decode N groups of channel-encoded machine-learning (ML) data to obtain N groups of output bits, wherein N is a positive integer; andfor each group:de-map first bit positions of the output bits back to a first subset of the ML data having a first reliability requirement; andde-map second bit positions of the output bits back to a second subset of the ML data having a second reliability requirement;wherein the first bit positions have a higher decoding reliability than the second bit positions.43.The apparatus of claim 42, wherein for each group:the first subset includes at least one of: sign of floating-point data; exponent of the floating point data; scaling factor for quantized data; or one or more most significant bits (MSB) .44.The apparatus of claim 42 or claim 43, wherein each of the N groups was channel encoded using a polar code, wherein the decoding is polar decoding, and wherein the first bit positions correspond to virtual channels of the polar code that have higher decoding reliability.45.The apparatus of claim 44, wherein the polar decoding is successive cancellation (SC) decoding or successive cancellation list (SCL) decoding.46.The apparatus of claim 44 or claim 45, wherein the N groups are polar decoded in parallel, each of the N groups polar decoded using a respective polar decoder.47.The apparatus of claim 46, wherein for at least two of the groups of polar-encoded ML data: each group polar-encodes a respective bit of a same codeword, wherein the codeword is associated with a same virtual channel, wherein the codeword belongs to an outer code that was applied prior to polar encoding, and wherein the parallel polar decoding includes:identifying a set of values during the parallel polar decoding that correspond to the codeword of the outer code, each value in the set of values from a respective different polar decoder;decoding the outer code using the set of values to obtain an updated set of values; andusing the updated set of values in place of the set of values in a next stage of the parallel polar decoding.48.The apparatus of claim 47, wherein:the polar decoding uses SC decoding;the set of values comprise a plurality of belief values in leaf nodes that correspond to the codeword of the outer code, each belief value from a respective different polar decoder, and each belief value corresponding to the same virtual channel;decoding the outer code using the set of values comprises: decoding the plurality of belief values to obtain the codeword, wherein the updated set of values comprise codeword bits of the codeword, and each codeword bit corresponds to a respective one of the belief values; andusing the updated set of values comprises: for each polar decoder for which a respective belief value was identified corresponding to the codeword, using the codeword bit corresponding to the respective belief value as a bit decision of the polar decoder for the virtual channel.49.The apparatus of claim 47, wherein:the polar decoding uses SCL decoding;the set of values comprise a plurality of belief values in leaf nodes that correspond to the codeword of the outer code, each belief value from a respective different polar decoder, and each belief value corresponding to the same virtual channel;decoding the outer code using the set of values comprises: decoding the plurality of belief values to obtain a soft decision for each codeword bit of the codeword, wherein the updated values comprise the soft decision for each codeword bit, and each soft decision corresponds to a respective one of the belief values; andusing the updated set of values comprises: for each polar decoder for which a respective belief value was identified corresponding to the codeword, using the soft decision corresponding to the respective belief value in the polar decoding in place of the respective belief value.50.The apparatus of claim 49, wherein the soft decision is used to compute a decision metric for a leaf node of the polar decoder corresponding to the virtual channel.51.The apparatus of claim 47, wherein:the polar decoding uses SCL decoding;the set of values comprise a plurality of bits that correspond to the codeword of the outer code, each bit on a decoding path of a respective different polar decoder, and each bit corresponding to the same virtual channel;decoding the outer code using the set of values comprises: decoding the plurality of bits to obtain the codeword, wherein the updated values comprise codeword bits of the codeword, and each codeword bit corresponds to a respective bit of the plurality of bits; andusing the updated set of values comprises: for at least one polar decoder having the decoding path on which there is the respective bit of the plurality of bits, using the codeword bit corresponding to the respective bit in place of the respective bit on the decoding path to update the decoding path of the polar decoder.52.The apparatus of claim 42 or claim 43, wherein the decoding is a low-density parity-check (LDPC) decoding, and wherein the instructions, when executed by the at least one processor, further cause the apparatus to obtain an indication of the de-mapping to the first subset of the ML data.53.The apparatus of claim 52, wherein the instructions, when executed by the at least one processor, further cause the apparatus to:prior to decoding the channel-encoded ML data, perform LDPC decoding of previous data to obtain information related to decoding reliability for use in determining the de-mapping.54.The apparatus of any one of claims 42 to 53, wherein the instructions, when executed by the at least one processor, further cause the apparatus to: prior to decoding, obtain information configuring the decoding.55.An apparatus comprising:at least one processor; anda memory storing processor-executable instructions that, when executed by the at least one processor, cause the apparatus to perform the method of any one of claims 1 to 14 or any one of claims 29 to 41.56.A non-transitory computer-readable storage medium having instructions stored thereon that, when executed by at least one processor of an apparatus, cause the apparatus to perform the method of any one of claims 1 to 14 or any one of claims 29 to 41.57.A computer program product storing instructions that, when executed by at least one processor of an apparatus, cause the apparatus to perform the method of any one of claims 1 to 14 or any one of claims 29 to 41.