Methods, systems, and apparatus for adaptive transport block size determination and code block segmentation
By segmenting information bits into code blocks based on maximum code length and size, the method addresses the inflexibility of existing code segmentation schemes, reducing encoding complexity and improving performance for advanced communication systems.
Patent Information
- Application Number
- PCT/CN2024/084955
- Authority / Receiving Office
- WO · WO
- Patent Type
- Applications
- Current Assignee / Owner
- Priority Date
- 2023-11-14
- Filing Date
- 2024-03-29
- Publication Date
- 2025-05-22
AI Technical Summary
Existing code segmentation schemes are not adaptable to scenarios requiring flexible code lengths or multiple code lengths, which limits their applicability in advanced communication systems like 6G.
A method for segmenting a plurality of information bits into code blocks based on maximum code length and maximum information block size, allowing for flexible segmentation and encoding strategies.
This approach reduces the complexity of encoding and decoding, enhances performance by encoding code blocks instead of information bits, and supports various types of codes.
Smart Images

Figure CN2024084955_22052025_PF_FP_ABST
Abstract
Description
Methods, Systems, and Apparatus for Adaptive Transport Block Size Determination and Code Block Segmentation
[0001] CROSS-REFERENCE TO RELATED APPLICATIONS
[0002] The present application is related to, and claims priority to: United States provisional patent application Serial No. 63 / 598,601, entitled "Adaptive Transport Block Size Determination and Code Block Segmentation " , filed on November 14th, 2023, the entirety of which is hereby incorporated by reference.TECHNICAL FIELD
[0003] The present application relates to coding, and in particular to methods, systems, and apparatus for adaptive transport block size determination and code block segmentation.BACKGROUND
[0004] In the field of communication systems, channel coding is usually used to improve the reliability of signal transmission and ensure communication quality. With the rapid evolution of wireless communication systems, some new wireless communication systems, such as so-called sixth-generation (6G) systems will aim to support some new scenarios, including immersive communication, massive communication, hyper reliable and low-latency communication, and so on. A plurality of long codes corresponded to a plurality of long input bit sequence to be encoded are usually needed to support the new scenarios and / or to improve the coding gain.
[0005] Because the complexity of the encoding and decoding may increase as a length of codes increase, code segmentation will be performed before encoding if the input bit sequence to be encoded is long.
[0006] However, the existing code segmentation schemes are not applicable in the scenarios required for a flexible length of codes or a plurality of codes.SUMMARY
[0007] The following examples pertain to embodiments described throughout this disclosure.
[0008] One or more embodiments are related to a method. The method comprising: segmenting a plurality of information bits to a plurality of code blocks based on at least one of the followings: a maximum code length, and a maximum information block size; encoding the plurality of code blocks to a plurality of code words.
[0009] In some embodiments, the plurality of information bits may be segmented based on the maximum code length and / or the maximum information block size. Therefore, the complexity of encoding may be decreased and the performance may be increased by encoding the plurality of code blocks instead of the plurality of information bits. The method may provide a flexible strategy on segmentation and encoding of the plurality of information bits, and may decrease the complexity of encoding and increase the performance. And the method may be used for a plurality of types of codes.
[0010] In some implements of the method, segmenting a plurality of information bits to a plurality of code blocks comprises: determining a quantity of the plurality of code blocks.
[0011] In some embodiments, the quantity of the plurality of code blocks may be determined in segmentation, then the plurality of information bits may be assigned to each of the plurality of code blocks.
[0012] In some implements of the method, segmenting a plurality of information bits to a plurality of code blocks, further comprising: determining a size of each code block in the plurality of code blocks.
[0013] In some embodiments, after determination of the size of each code block in the plurality of code blocks, the plurality of information bits may be better assigned to each of the plurality of code blocks.
[0014] In some implements of the method, a reduced buffer is enabled, determining the quantity of the plurality of code blocks based on the maximum information block size.
[0015] In some embodiments, the limited buffer rate matching indicator ILBRM=1 if the reduced buffer is enabled. Then, the quantity of the plurality of code blocks may be determined based on the maximum information block size.
[0016] In some implements of the method, determining the quantity of the plurality of code blocks based on at least one of the followings: a transport block size, and a length of cyclic redundancy check (CRC) sequence.
[0017] In some embodiments, the quantity of the plurality of code blocks may be determined based on not only the maximum information block size, but also other parameters, such as the transport block size, the length of CRC sequence, etc. In the embodiments of the present disclosure, no specific limitation is imposed on the other parameters.
[0018] In some implements of the method, a reduced buffer is disabled, determining the quantity of the plurality of code blocks based on the maximum code length.
[0019] In some embodiments, the limited buffer rate matching indicator ILBRM=0 if the reduced buffer is disabled. Then, the quantity of the plurality of code blocks may be determined based on the maximum code length.
[0020] In some implements of the method, determining the quantity of the plurality of code blocks based on one or more of the followings: the total number of coded bits available for transmission, the transport block size, a minimum code rate for segmentation, and the length of CRC sequence.
[0021] In some embodiments, the quantity of the plurality of code blocks may be determined based on not only the maximum code length, but also other parameters, such as the total number of coded bits available for transmission, the transport block size, the minimum code rate for segmentation, and the length of CRC sequence, etc. In the embodiments of the present disclosure, no specific limitation is imposed on the other parameters.
[0022] In some implements of the method, the total number of coded bits available for transmission is related to one or more of the followings: a quantity of available resource elements, a modulation order, and a quantity of transmission layers.
[0023] In some embodiments, the total number of coded bits available for transmission may also be related to a coefficient α. The coefficient α may be a multiplexing fact, a preemption portion, a resource distribution factor, and so on, and a value of the coefficient α may vary accordingly. In the embodiments of the present disclosure, no specific limitation is imposed on the coefficient α.
[0024] In some implements of the method, the transport block size is related to one or more of the followings: a total number of coded bits available for transmission, the length of CRC sequence and a code rate.
[0025] In some implements of the method, the code rate is obtained from a MCS table and MCS index.
[0026] In some embodiments, the transport block size may be related to several parameters, and a value of the transport block size may vary accordingly. The flexible determination of the transport block size may provide a flexible strategy on segmentation of the plurality of information bits. Then, different strategy on segmentation of the plurality of information bits may be used due to different requirement.
[0027] In some implements of the method, the maximum code length is related to one or more of the followings: a full buffer size, sizes of a set of reduced buffers, the maximum information block size, and a type of code.
[0028] In some embodiments, the maximum code length may be related to several parameters, and a value of the maximum code length may vary accordingly. The flexible determination of the maximum code length may also provide a flexible strategy on segmentation of the plurality of information bits.
[0029] In some implements of the method, the minimum code rate for segmentation is greater than a minimum code rate for coding, and the minimum code rate for coding is related to the type of channel.
[0030] In some embodiments, the minimum code rate for segmentation and the minimum code rate for coding may vary in different cases, which may provide flexible strategy on segmentation of the plurality of information bits. The minimum code rate for coding refers to a minimum code rate for channel coding.
[0031] In some implements of the method, determining a size of each code block in the plurality of code blocks comprises: the size of each block in the plurality of code blocks is a mother code length, and the mother code length is a power-of-2 integer for polar codes.
[0032] In some embodiments, in the field of polar codes, the size of each code block in the plurality of code blocks may be the mother code length and the mother code length is a power-of-2 integer. In the embodiments of the present disclosure, no specific limitation is imposed on a value of the mother code length.
[0033] In some implements of the method, determining a size of each code block in the plurality of code blocks comprises: if each code block has a same size, determining the size of each code block based on at least of one of the followings: a transport block size, the quantity of the plurality of code blocks, and a length of CRC sequence.
[0034] In some implements of the method, determining a size of each code block in the plurality of code blocks comprises: if the size of any of two code blocks in the plurality of code blocks is different, determining a size of the code block of an index r of the plurality of code blocks based on at least of one of the followings: a transport block size, a quantity of the plurality of code blocks, and r is an integer.
[0035] In some implements of the method, determining a size of each code block in the plurality of code blocks, further comprises: if the size of any of two code blocks in the plurality of code blocks is different, determining a size of the code block of an index r of the plurality of code blocks based on at least of one of the followings: a transport block size, a quantity of the plurality of code blocks, and a length of CRC sequence of the code block of an index r, and r is an integer.
[0036] In some implements of the method, the first code block or the last block has a different size from other code blocks in the plurality of code blocks.
[0037] In some embodiments, determination of the size of each code block in the plurality of code blocks may vary due to different situations. When the size of each code block is the same, the method for determining the size of each code block is different from when the size of every two code blocks is different. The flexible strategy of determination of the size of each code block may provide flexible strategy on segmentation of the plurality of information bits.
[0038] In some implements of the method, segmenting a plurality of information bits to a plurality of code blocks, further comprising: padding a same quantity of zero bits to each clock block.
[0039] In some implements of the method, segmenting a plurality of information bits to a plurality of code blocks, further comprising: padding a plurality of zero bits to the first clock block.
[0040] In some implements of the method, segmenting a plurality of information bits to a plurality of code blocks, further comprising: padding a plurality of zero bits to the last clock block.
[0041] In some embodiments, a same / different quantity of zero bits may be padded to each clock block when assigning the plurality of information bits to the plurality of code blocks. The flexible strategy of padding zero-bits may provide flexible strategy on segmentation of the plurality of information bits.
[0042] One or more embodiments are related to a method. The method comprising: obtaining a plurality of code words; decoding the plurality of code words to obtain a plurality of sequences, the plurality of sequences correspond to a plurality of information bits that segmented to a plurality of code blocks based on at least one of the followings: a maximum code length, and a maximum information block size.
[0043] In some implements of the method, segmenting a plurality of information bits to a plurality of code blocks comprises: determining a quantity of the plurality of code blocks.
[0044] In some implements of the method, segmenting a plurality of information bits to a plurality of code blocks, further comprising: determining a size of each code block in the plurality of code blocks.
[0045] In some implements of the method, a reduced buffer is enabled, determining the quantity of the plurality of code blocks based on the maximum information block size.
[0046] In some implements of the method, determining the quantity of the plurality of code blocks based on at least one of the followings: a transport block size, and a length of CRC sequence.
[0047] In some implements of the method, a reduced buffer is disabled, determining the quantity of the plurality of code blocks based on the maximum code length.
[0048] In some implements of the method, determining the quantity of the plurality of code blocks based on one or more of the followings: a total number of coded bits available for transmission, a transport block size, a minimum code rate for segmentation, and a length of CRC sequence.
[0049] In some implements of the method, the total number of coded bits available for transmission is related to one or more of the followings: a quantity of available resource elements, a modulation order, and a quantity of transmission layers.
[0050] In some implements of the method, the transport block size is related to one or more of the followings: a total number of coded bits available for transmission, the length of CRC sequence and a code rate.
[0051] In some implements of the method, the code rate is obtained from a MCS table and MCS index.
[0052] In some implements of the method, the maximum code length is related to one or more of the followings: a full buffer size, sizes of a set of reduced buffers, the maximum information block size, and a type of code.
[0053] In some implements of the method, the minimum code rate for segmentation is greater than a minimum code rate for coding, and the minimum code rate for coding is related to the type of channel.
[0054] In some implements of the method, determining a size of each code block in the plurality of code blocks comprises: the size of each block in the plurality of code blocks is a mother code length, and the mother code length is a power-of-2 integer for polar codes.
[0055] In some implements of the method, determining a size of each code block in the plurality of code blocks comprises: if each code block has a same size, determining the size of each code block based on at least of one of the followings: a transport block size, the quantity of the plurality of code blocks, and a length of CRC sequence.
[0056] In some implements of the method, determining a size of each code block in the plurality of code blocks comprises: if the size of any of two code blocks in the plurality of code blocks is different determining a size of the code block of an index r of the plurality of code blocks based on at least of one of the followings: a transport block size, a quantity of the plurality of code blocks, and r is an integer.
[0057] In some implements of the method, determining a size of each code block in the plurality of code blocks, further comprises: if the size of any of two code blocks in the plurality of code blocks is different, determining a size of the code block of an index r of the plurality of code blocks based on at least of one of the followings: a transport block size, a quantity of the plurality of code blocks, and a length of CRC sequence of the code block of an index r, and r is an integer.
[0058] In some implements of the method, the first code block or the last block has a different size from other code blocks in the plurality of code blocks.
[0059] In some implements of the method, segmenting a plurality of information bits to a plurality of code blocks, further comprising: padding a same quantity of zero bits to each clock block.
[0060] In some implements of the method, segmenting a plurality of information bits to a plurality of code blocks, further comprising: padding a plurality of zero bits to the first clock block.
[0061] In some implements of the method, segmenting a plurality of information bits to a plurality of code blocks, further comprising: padding a plurality of zero bits to the last clock block.
[0062] One or more embodiments can include an apparatus, the apparatus comprises a function or unit configured to cause the apparatus to perform the methods of the present disclosure.
[0063] One or more embodiments can include an apparatus, and the apparatus comprising a processor configured to cause the apparatus to perform the methods of the present disclosure.
[0064] One or more embodiments can include an apparatus, the apparatus comprising: at least one processor executing instructions stored in a memory to implement the methods of the present disclosure. The apparatus may be a user equipment, a base station, a communication module in the user equipment, or the base station, or a chip / chipset system in the user equipment or a base station.
[0065] One or more embodiments can include a computer program comprising instructions, the instructions, when executed by a processor, may cause the processor to implement the methods of the present disclosure.
[0066] One or more embodiments can include a non-transitory computer-readable medium storing programming, the programming, when executed by a processor, may cause the processor to implement the methods of the present disclosure.
[0067] The present disclosure encompasses these and other aspects or embodiments.BRIEF DESCRIPTION OF THE DRAWINGS
[0068] For a more complete understanding of the present embodiments, and the advantages thereof, reference is now made, by way of example, to the following descriptions taken in conjunction with the accompanying drawings.
[0069] Fig. 1 is a simplified schematic illustration of a communication system.
[0070] Fig. 2 is a block diagram illustration of the example communication system in Fig. 1.
[0071] Fig. 3 illustrates an example electronic device and examples of base stations.
[0072] Fig. 4 illustrates units or modules in a device.
[0073] Fig. 5 is a trellis graph illustrating an example of a polar code.
[0074] Fig. 6 is a table of sub-block interleaver pattern.
[0075] Fig. 7 is a diagram illustrating puncturing and shortening with a cyclic buffer.
[0076] Fig. 8 is a diagram illustration of an example of the encoding process for 4 transmissions.
[0077] Fig. 9 is a diagram illustration of an example of the encoding process of the initial transmission.
[0078] Fig. 10 is a diagram illustration of an example of the encoding process of the first retransmission.
[0079] Fig. 11 is a block diagram illustration of an example of a polar transform matrix of three transmissions.
[0080] Fig. 12 is a flow schematic illustration of an example of an encoding method.
[0081] Fig. 13 is a flow schematic illustration of an example of a decoding method.
[0082] Fig. 14 is a block diagram illustration of an example of the process of adaptive transport block size determination and code block segmentation.DETAILED DESCRIPTION
[0083] For illustrative purposes, specific example embodiments will now be explained in greater detail in conjunction with the figures.
[0084] The embodiments set forth herein represent information sufficient to practice the claimed subject matter and illustrate ways of practicing such subject matter. Upon reading the following description in light of the accompanying figures, those of skill in the art will understand the concepts of the claimed subject matter and will recognize applications of these concepts not particularly addressed herein. In some embodiments these concepts and applications fall within the scope of the disclosure and the accompanying claims.
[0085] Reference may be made, above and / or elsewhere herein, to particular examples (such as “the method” ) that have or provide certain features. It should be appreciated that these are example only, and such features need not necessarily be provided in all examples or embodiments, or may be provided in other examples or embodiments.
[0086] Although some embodiments of methods of adaptive transport block size determination and code block segmentation in the present disclosure may illustrate by taking polar codes as examples, these methods may be applicable for other codes. For example, these methods of adaptive transport block size determination and code block segmentation in the present disclosure may be applicable for low density parity check (LDPC) codes, turbo codes, reed muller (RM) codes, convolutional codes, product codes, etc. In some embodiments of the disclosure, no specific limitation is imposed on the type of codes.
[0087] For example, methods of adaptive transport block size determination and code block segmentation for polar codes may reduce complexity of encoding and decoding, especially in high-throughput communications scenarios, and improve performance in cases with multiple transmissions, such as incremental-redundancy hybrid automatic repeat request (IR-HARQ) .
[0088] And Methods of adaptive transport block size determination and code block segmentation for LDPC codes may reduce buffer size for terminals with limited buffer size and lower device capability.
[0089] In methods of adaptive transport block size determination and code block segmentation for Turbo codes, flexible transport block sizes may be determined for different communication scenarios, such as internet of things (IoT) devices.
[0090] And methods of adaptive transport block size determination and code block segmentation for Convolutional codes may provide flexible transport block sizes, which may result in a good tradeoff between performance and complexity of encoding and decoding.
[0091] In methods of adaptive transport block size determination and code block segmentation for RM codes, flexible transport block sizes are provided, which may further enhance the coding gain.
[0092] In methods of adaptive transport block size determination and code block segmentation for Product codes, flexible transport block sizes may enable a flexible tradeoff between encoding / decoding parallelism and coding gain.
[0093] The background of methods of the determination of mother code length provided in some embodiments of the present disclosure is explained below.
[0094] In wireless communications, channel quality is constantly changing due to the fading effects at both fast and slow scale. Accordingly, channel coding has always been designed to adapt to the channel states. Modulation coding scheme (MCS) adaptation is a powerful method to combat varying channel states, in which the modulation order and code length and coding rate can be changed in real time. Therefore, it requires that a channel coding scheme can flexibly change the code length and code rate in a fine-grained way, and at the same time achieve good error correction performance in all possible configurations. This fine-grained flexibility of channel codes is one of the most challenging problems for engineers in this domain.
[0095] At the same time, the complexity of both encoding and decoding algorithms needs to be sufficiently low. In hardware, complexity can be evaluated through measuring chip area and energy efficiency. They are related to algorithmic complexity, but are more closely related to hardware cost and battery life. Therefore, there exists a desire to reduce implementation complexity when designing coding schemes.
[0096] Future communication systems, such as 6G systems, may aim to support several challenging scenarios, including for example immersive communication, massive communication, and hyper reliable and low-latency communication. The key performance indicators (KPIs) that are related to channel coding include coding gain, reliability, throughput, latency and their tradeoffs. For example, the throughput target of 6G may reach above 1 Tbps, and the energy efficiency target may decrease to 1 pJ / bit. Meanwhile, a coding scheme supporting flexible rate matching and IR-HARQ schemes is also beneficial. Accordingly, it is desirable yet challenging to design a code ensemble to fulfill all these KPIs and capabilities.
[0097] Referring to Fig. 1, as an illustrative example without limitation, a simplified schematic illustration of a communication system is provided. The communication system 100 comprises a radio access network 120. The radio access network 120 may be a next generation (e.g. sixth generation (6G) or later) radio access network, or a legacy (e.g. 5G, 4G, 3G or 2G) radio access network. 5G refers to 5th generation, 4G refers to 4th generation, 3G refers to 3rd generation, 2G refers to 2nd generation. Legacy wireless technology may also include 2nd generation (2G) . One or more communication electronic devices (ED) 110a, 110b, 110c, 110d, 110e, 110f, 110g, 110h, 110i, 110j (generically referred to as 110) may be interconnected to one another or connected to one or more network nodes (170a, 170b, generically referred to as 170) in the radio access network 120. A core network 130 may be a part of the communication system and may be dependent or independent of the radio access technology used in the communication system 100. Also, the communication system 100 comprises a public switched telephone network (PSTN) 140, the internet 150, and other networks 160.
[0098] Fig. 2 illustrates an example communication system 100. In general, the communication system 100 enables multiple wireless or wired elements to communicate data and other content. The purpose of the communication system 100 may be to provide content, such as voice, data, video, and / or text, via broadcast, multicast, groupcast, unicast, etc. The communication system 100 may operate by sharing resources, such as carrier spectrum bandwidth, between its constituent elements. The communication system 100 may include a terrestrial communication system and / or a non-terrestrial communication system. The communication system 100 may provide a wide range of communication services and applications, such as earth monitoring, remote sensing, passive sensing and positioning, navigation and tracking, autonomous delivery and mobility, etc. The communication system 100 may provide a high degree of availability and robustness through a joint operation of a terrestrial communication system and a non-terrestrial communication system. For example, integrating a non-terrestrial communication system, or components thereof into a terrestrial communication system can result in what may be considered a heterogeneous network comprising multiple layers. Compared to conventional communication networks, the heterogeneous network may achieve better overall performance through efficient multi-link joint operation, more flexible functionality sharing, and faster physical layer link switching between terrestrial networks and non-terrestrial networks.
[0099] The terrestrial communication system and the non-terrestrial communication system could be considered sub-systems of the communication system. In the example shown in Fig. 2, the communication system 100 includes electronic devices (ED) 110a, 110b, 110c, 110d (generically referred to as ED 110) , radio access networks (RANs) 120a, 120b, a non-terrestrial communication network 120c, a core network 130, a PSTN 140, the Internet 150, and other networks 160. The RANs 120a, 120b include respective base stations (BSs) 170a, 170b, which may be generically referred to as terrestrial transmit and receive points (T-TRPs) 170a, 170b. The non-terrestrial communication network 120c includes an access node 172, which may be generically referred to as a non-terrestrial transmit and receive point (NT-TRP) 172.
[0100] Any ED 110 may be alternatively or additionally configured to interface, access, or communicate with any T-TRP 170a, 170b and NT-TRP 172, the Internet 150, the core network 130, the PSTN 140, the other networks 160, or any combination of the preceding. In some examples, ED 110a may communicate an uplink and / or downlink transmission over a terrestrial air interface 190a with T-TRP 170a. In some examples, the EDs 110a, 110b, 110c, and 110d may also communicate directly with one another via one or more sidelink air interfaces 190b. In some examples, ED 110d may communicate an uplink and / or downlink transmission over a non-terrestrial air interface 190c with NT-TRP 172.
[0101] The air interfaces 190a and 190b may use similar communication technology, such as any suitable radio access technology. For example, the communication system 100 may implement one or more channel access methods, such as code division multiple access (CDMA) , space division multiple access (SDMA) , time division multiple access (TDMA) , frequency division multiple access (FDMA) , orthogonal FDMA (OFDMA) , or single-carrier FDMA (SC-FDMA, also known as discrete Fourier transform spread OFDMA, DFT-s-OFDMA) in the air interfaces 190a and 190b. The air interfaces 190a and 190b may utilize other higher dimension signal spaces, which may involve a combination of orthogonal and / or non-orthogonal dimensions.
[0102] The non-terrestrial air interface 190c can enable communication between the ED 110d and one or multiple NT-TRPs 172 via a wireless link or simply a link. For some examples, the link is a dedicated connection for unicast transmission, a connection for broadcast transmission, or a connection between a group of EDs 110 and one or multiple NT-TRPs 172 for multicast transmission.
[0103] The RANs 120a and 120b are in communication with the core network 130 to provide the EDs 110a 110b, and 110c with various services such as voice, data, and other services. The RANs 120a and 120b and / or the core network 130 may be in direct or indirect communication with one or more other RANs (not shown) , which may or may not be directly served by core network 130, and may or may not employ the same radio access technology as RAN 120a, RAN 120b or both. The core network 130 may also serve as a gateway access between (i) the RANs 120a and 120b or EDs 110a 110b, and 110c or both, and (ii) other networks (such as the PSTN 140, the Internet 150, and the other networks 160) . In addition, some or all of the EDs 110a 110b, and 110c may include functionality for communicating with different wireless networks over different wireless links using different wireless technologies and / or protocols. Instead of wireless communication (or in addition thereto) , the EDs 110a 110b, and 110c may communicate via wired communication channels to a service provider or switch (not shown) , and to the Internet 150. PSTN 140 may include circuit switched telephone networks for providing plain old telephone service (POTS) . 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 incorporate multiple transceivers necessary to support such.
[0104] Fig. 3 illustrates another example of an ED 110 and a base station 170a, 170b and / or 170c. The ED 110 is used to connect persons, objects, machines, etc. The ED 110 may be widely used in various scenarios including, for example, cellular communications, device-to-device (D2D) , vehicle to everything (V2X) , peer-to-peer (P2P) , machine-to-machine (M2M) , machine- type communications (MTC) , internet of things (IoT) , virtual reality (VR) , augmented reality (AR) , mixed reality (MR) , metaverse, digital twin, industrial control, self-driving, remote medical, smart grid, smart furniture, smart office, smart wearable, smart transportation, smart city, drones, robots, remote sensing, passive sensing, positioning, navigation and tracking, autonomous delivery and mobility, etc.
[0105] Each ED 110 represents any suitable end user device for wireless operation and may include such devices (or may be referred to) as a user equipment / device (UE) , a wireless transmit / receive unit (WTRU) , a mobile station, a fixed or mobile subscriber unit, a cellular telephone, a station (STA) , a machine type communication (MTC) device, a personal digital assistant (PDA) , a smartphone, a laptop, a computer, a tablet, a wireless sensor, a consumer electronics device, a smart book, a vehicle, a car, a truck, a bus, a train, or an IoT device, wearable devices (such as a watch, a pair of glasses, head mounted equipment, etc. ) , an industrial device, or an apparatus in (e.g. communication module, modem, or chip) or comprising the forgoing devices, among other possibilities. Future generation EDs 110 may be referred to using other terms. The base station 170a and 170b is a T-TRP and will hereafter be referred to as T-TRP 170. Also shown in Fig. 3, a NT-TRP will hereafter be referred to as NT-TRP 172. Each ED 110 connected to T-TRP 170 and / or NT-TRP 172 can be dynamically or semi-statically turned-on (i.e., established, activated, or enabled) , turned-off (i.e., released, deactivated, or disabled) and / or configured in response to one of more of: connection availability and connection necessity.
[0106] The ED 110 includes a transmitter 201 and a receiver 203 coupled to one or more antennas 204. Only one antenna 204 is illustrated to avoid congestion in the drawing. One, some, or all of the antennas 204 may alternatively be panels. The transmitter 201 and the receiver 203 may be integrated, e.g. as a transceiver. The transceiver is configured to modulate data or other content for transmission by at least one antenna 204 or network interface controller (NIC) . The transceiver is also configured to demodulate data or other content received by the at least one antenna 204. Each transceiver includes any suitable structure for generating signals for wireless or wired transmission and / or processing signals received wirelessly or by wire. Each antenna 204 includes any suitable structure for transmitting and / or receiving wireless or wired signals.
[0107] The ED 110 includes at least one memory 208. The memory 208 stores instructions and data used, generated, or collected by the ED 110. For example, the memory 208 could store software instructions or modules configured to implement some or all of the functionality and / or embodiments described herein and that are executed by one or more processing unit (s) (e.g., a processor 210) . Each memory 208 includes any suitable volatile and / or non-volatile storage and retrieval device (s) . Any suitable type of memory may be used, such as random-access memory (RAM) , read only memory (ROM) , hard disk, optical disc, subscriber identity module (SIM) card, memory stick, secure digital (SD) memory card, on-processor cache, and the like.
[0108] The ED 110 may further include one or more input / output devices (not shown) or interfaces (such as a wired interface to the Internet 150 in Fig. 1) . The input / output devices or interfaces permit interaction with a user or other devices in the network. Each input / output device or interface includes any suitable structure for providing information to or receiving information from a user, and / or for network interface communications. Suitable structures include, for example, a speaker, a microphone, a keypad, a keyboard, a display, a touch screen, etc.
[0109] The ED 110 includes the processor 210 for performing operations including those operations relate to preparing a transmission for uplink transmission to the NT-TRP 172 and / or the T-TRP 170; those operations relate to processing downlink transmissions received from the NT-TRP 172 and / or the T-TRP 170; and those operations relate to processing sidelink transmission to and from another ED 110. Processing operations relate to preparing a transmission for uplink transmission may include operations such as encoding, modulating, transmit beamforming, and generating symbols for transmission. Processing operations relate to processing downlink transmissions may include operations such as receive beamforming, demodulating and decoding received symbols. Depending upon the embodiment, a downlink transmission may be received by the receiver 203, possibly using receive beamforming, and the processor 210 may extract signaling from the downlink transmission (e.g. by detecting and / or decoding the signaling) . An example of signaling may be a reference signal transmitted by the NT-TRP 172 and / or by the T-TRP 170. In some embodiments, the processor 210 implements the transmit beamforming and / or the receive beamforming based on the indication of beam direction, e.g. beam angle information (BAI) , received from the T-TRP 170. In some embodiments, the processor 210 may perform operations relating to network access (e.g. initial access) and / or downlink synchronization, such as operations relating to detecting a synchronization sequence, decoding and obtaining the system information, etc. In some embodiments, the processor 210 may perform channel estimation, e.g. using a reference signal received from the NT-TRP 172 and / or from the T-TRP 170.
[0110] Although not illustrated, the processor 210 may form part of the transmitter 201 and / or part of the receiver 203. Although not illustrated, the memory 208 may form part of the processor 210.
[0111] The processor 210, the processing components of the transmitter 201, and the processing components of the receiver 203 may each be implemented by the same or different one or more processors that are configured to execute instructions stored in a memory (e.g. in the memory 208) . Alternatively, some or all of the processor 210, the processing components of the transmitter 201, and the processing components of the receiver 203 may each be implemented using dedicated circuitry, such as a programmed field-programmable gate array (FPGA) , an application-specific integrated circuit (ASIC) , or a hardware accelerator such as a graphics processing unit (GPU) or an artificial intelligence (AI) accelerator.
[0112] In some embodiments, the ED110 could be replaced with an apparatus in the ED110 (The apparatus, for example, is a communication module, a modem, a chip, or a chipset in the ED110) . It includes at least one processor, and an interface or at least one pin. In this scenario, the transmitter 201 and receiver 203 may be replaced by the interface or at least one pin, wherein the interface or at least one pin is to connect the apparatus (e.g., chip) and other apparatus (e.g., chip, memory, or bus) . Accordingly, the transmitting information to T-TRP170 or NT-TRP 172 may be referred as transmitting information to the interface or at least one pin, and receiving information from T-TRP170 or NT-TRP 172 may be referred as receiving information from the interface or at least one pin. The information may include control signaling and / or data.
[0113] The T-TRP 170 may be known by other names in some implementations, such as a base station, a base transceiver station (BTS) , a radio base station, a network node, a network device, a device on the network side, a transmit / receive node, a node B, an evolved node B (eNodeB or eNB) , a home eNodeB, a next generation nodeB (gNB) , a transmission point (TP) , a site controller, an access point (AP) , a wireless router, a relay station, a terrestrial node, a terrestrial network device, a terrestrial base station, a base band unit (BBU) , a remote radio unit (RRU) , an active antenna unit (AAU) , a remote radio head (RRH) , a central unit (CU) , a distributed unit (DU) , a positioning node, among other possibilities. The T-TRP 170 may be a macro-BS, a pico BS, a relay node, a donor node, or the like, or combinations thereof. The T-TRP 170 may refer to the forgoing devices or refer to apparatus in the forgoing devices.
[0114] In some embodiments, the parts of the T-TRP 170 may be distributed. For example, some of the modules of the T-TRP 170 may be located remote from the equipment that houses the antennas 256 for the T-TRP 170, and may be coupled to the equipment that houses the antennas 256 over a communication link (not shown) sometimes known as front haul, such as common public radio interface (CPRI) . Therefore, in some embodiments, the term T-TRP 170 may also refer to modules on the network side that perform processing operations, such as determining the location of the ED 110, resource allocation (scheduling) , message generation, and encoding / decoding, and that are not necessarily part of the equipment that houses the antennas 256 of the T-TRP 170. The modules may also be coupled to other T-TRPs. In some embodiments, the T-TRP 170 may actually be a plurality of T-TRPs that are operating together to serve the ED 110, e.g. through the use of coordinated multipoint transmissions.
[0115] The T-TRP 170 includes at least one transmitter 252 and at least one receiver 254 coupled to one or more antennas 256. Only one antenna 256 is illustrated to avoid congestion in the drawing. One, some, or all of the antennas 256 may alternatively be panels. The transmitter 252 and the receiver 254 may be integrated as a transceiver. The T-TRP 170 further includes a processor 260 for performing operations including those related to: preparing a transmission for downlink transmission to the ED 110, processing an uplink transmission received from the ED 110, preparing a transmission for backhaul transmission to the NT-TRP 172, and processing a transmission received over backhaul from the NT-TRP 172. Processing operations relate to preparing a transmission for downlink or backhaul transmission may include operations such as encoding, modulating, precoding (e.g. multiple input multiple output (MIMO) precoding) , transmit beamforming, and generating symbols for transmission. Processing operations relate to processing received transmissions in the uplink or over backhaul may include operations such as receive beamforming, demodulating received symbols, and decoding received symbols. The processor 260 may also perform operations relating to network access (e.g. initial access) and / or downlink synchronization, such as generating the content of synchronization signal blocks (SSBs) , generating the system information, etc. In some embodiments, the processor 260 also generates an indication of beam direction, e.g. BAI, which may be scheduled for transmission by a scheduler 253. The processor 260 performs other network-side processing operations described herein, such as determining the location of the ED 110, determining where to deploy the NT-TRP 172, etc.
[0116] In some embodiments, the processor 260 may generate signaling, e.g. to configure one or more parameters of the ED 110 and / or one or more parameters of the NT-TRP 172. Any signaling generated by the processor 260 is sent by the transmitter 252. Note that “signaling” , as used herein, may alternatively be called control signaling. Signaling may be transmitted in a physical layer control channel, e.g. a physical downlink control channel (PDCCH) , in which case the signaling may be known as dynamic signaling. Signaling transmitted in a downlink physical layer control channel may be known as downlink control information (DCI) . Signaling transmitted in an uplink physical layer control channel may be known as uplink control information (UCI) . Signaling transmitted in a sidelink physical layer control channel may be known as sidelink control information (SCI) . Signaling may be included in a higher-layer (e.g., higher than physical layer) packet transmitted in a physical layer data channel, e.g. in a physical downlink shared channel (PDSCH) , in which case the signaling may be known as higher-layer signaling, static signaling, or semi-static signaling. Higher-layer signaling may also refer to radio resource control (RRC) protocol signaling or media access control –control element (MAC-CE) signaling.
[0117] The scheduler 253 may be coupled to the processor 260. The scheduler 253 may be included within or operated separately from the T-TRP 170. The scheduler 253 may schedule uplink, downlink, sidelink, and / or backhaul transmissions, including issuing scheduling grants and / or configuring scheduling-free (e.g., “configured grant” ) resources. The T-TRP 170 further includes a memory 258 for storing information and data. The memory 258 stores instructions and data used, generated, or collected by the T-TRP 170. For example, the memory 258 could store software instructions or modules configured to implement some or all of the functionality and / or embodiments described herein and that are executed by the processor 260.
[0118] Although not illustrated, the processor 260 may form part of the transmitter 252 and / or part of the receiver 254. Also, although not illustrated, the processor 260 may implement the scheduler 253. Although not illustrated, the memory 258 may form part of the processor 260.
[0119] The processor 260, the scheduler 253, the processing components of the transmitter 252, and the processing components of the receiver 254 may each be implemented by the same or different one or more processors that are configured to execute instructions stored in a memory, e.g. in the memory 258. Alternatively, some or all of the processor 260, the scheduler 253, the processing components of the transmitter 252, and the processing components of the receiver 254 may be implemented using dedicated circuitry, such as a programmed FPGA, a hardware accelerator (e.g., a GPU or AI accelerator) , or an ASIC.
[0120] In some embodiments, the T-TRP 170 could be replaced with an apparatus in the T-TRP (The apparatus, for example, is a communication module, a modem, a chip, or a chipset inside the T-TRP) . It includes at least one processor, and an interface or at least one pin. In this scenario, the transmitter 252 and receiver 254 may be replaced by the interface or at least one pin, wherein the interface or at least one pin is to connect the apparatus (e.g., chip) and other apparatus (e.g., chip, memory, or bus) . Accordingly, the transmitting information to ED 110 may be referred as transmitting information to the interface or at least one pin, and receiving information from the ED 110 may be referred as receiving information from the interface or at least one pin. The information may include control signaling and / or data.
[0121] Although the NT-TRP 172 is illustrated as a drone only as an example, the NT-TRP 172 may be implemented in any suitable non-terrestrial form, such as satellites and high-altitude platforms, including international mobile telecommunication base stations and unmanned aerial vehicles, for example. Also, the NT-TRP 172 may be known by other names in some implementations, such as a non-terrestrial node, a non-terrestrial network device, or a non-terrestrial base station. The NT-TRP 172 includes a transmitter 272 and a receiver 274 coupled to one or more antennas 280. Only one antenna 280 is illustrated to avoid congestion in the drawing. One, some, or all of the antennas may alternatively be panels. The transmitter 272 and the receiver 274 may be integrated as a transceiver. The NT-TRP 172 further includes a processor 276 for performing operations including those relate to: preparing a transmission for downlink transmission to the ED 110s, processing an uplink transmission received from the ED 110s, preparing a transmission for backhaul transmission to T-TRP 170, and processing a transmission received over backhaul from the T-TRP 170. Processing operations relate to preparing a transmission for downlink or backhaul transmission may include operations such as encoding, modulating, precoding (e.g. MIMO precoding) , transmit beamforming, and generating symbols for transmission. Processing operations relate to processing received transmissions in the uplink or over backhaul may include operations such as receive beamforming, demodulating received symbols, and decoding received symbols. In some embodiments, the processor 276 implements the transmit beamforming and / or receive beamforming based on beam direction information (e.g. BAI) received from the T-TRP 170. In some embodiments, the processor 276 may generate signaling, e.g. to configure one or more parameters of the ED 110. In some embodiments, the NT-TRP 172 implements physical layer processing, but does not implement higher layer functions such as functions at the medium access control (MAC) or radio link control (RLC) layer. As this is only an example, more generally, the NT-TRP 172 may implement higher layer functions in addition to physical layer processing.
[0122] The NT-TRP 172 further includes a memory 278 for storing information and data. Although not illustrated, the processor 276 may form part of the transmitter 272 and / or part of the receiver 274. Although not illustrated, the memory 278 may form part of the processor 276.
[0123] The processor 276, the processing components of the transmitter 272, and the processing components of the receiver 274 may each be implemented by the same or different one or more processors that are configured to execute instructions stored in a memory, e.g. in the memory 278. Alternatively, some or all of the processor 276, the processing components of the transmitter 272, and the processing components of the receiver 274 may be implemented using dedicated circuitry, such as a programmed FPGA, a hardware accelerator (e.g., a GPU or AI accelerator) , or an ASIC. In some embodiments, the NT-TRP 172 may actually be a plurality of NT-TRPs that are operating together to serve the ED 110, e.g. through coordinated multipoint transmissions.
[0124] The T-TRP 170, the NT-TRP 172, and / or the ED 110 may include other components, but these have been omitted for the sake of clarity.
[0125] One or more steps of the embodiment methods provided herein may be performed by corresponding units or modules, according to Fig. 4. Fig. 4 illustrates units or modules in a device, such as in the ED 110, in the T-TRP 170, or in the NT-TRP 172. For example, a signal may be transmitted or output by a transmitting unit or by a transmitting module. A signal may be received or input by a receiving unit or by a receiving module. A signal may be processed by a processing unit or a processing module. Other steps may be performed by an AI or machine learning (ML) module. The respective units or modules may be implemented using hardware, one or more components or devices that execute software, or a combination thereof. For instance, one or more of the units or modules may be a circuit such as an integrated circuit. Examples of an integrated circuit include a programmed FPGA, a GPU, or an ASIC.
[0126] For instance, one or more of the units or modules may be logical such as a logical function performed by a circuit, by a portion of an integrated circuit, or by software instructions executed by a processor. It will be appreciated that where the modules are implemented using software for execution by a processor for example, the modules may be retrieved by a processor, in whole or part as needed, individually or together for processing, in single or multiple instances, and that the modules themselves may include instructions for further deployment and instantiation.
[0127] While not shown, the transmitting module and the receiving module may be part of, or combined into, a transceiver module. A transceiver module may also be known as an interface module, or simply an interface, for inputting and outputting operations.
[0128] Additional details regarding the EDs 110, the T-TRP 170, and the NT-TRP 172 are known to those of skill in the art. As such, these details are omitted here.
[0129] The channel coding module in communications systems encode K source bits into N code bits to provide error correction capability against adversary channel condition such as noise and interference. The code rate is R=K / N. In practice, the code rate R is selected according to channel quality.
[0130] Polar codes are capacity-achieving codes and thus a great breakthrough in coding theory. As code length approaches infinity, the synthesized channels become either noiseless or pure noise. The synthesized channels that are also known as subchannels are created by or associated with the polar code. The noiseless subchannels are utilized to transport information, and their proportion is proven to achieve the channel capacity defined by Shannon. The above-mentioned channel polarization phenomenon occurs under successive cancellation (SC) or SC-based decoding, which has a relatively low complexity.
[0131] Rate matching is performed after channel encoding, by either puncturing / shortening or repeating some code bits. The purpose of this operation is to obtain a code bit sequence of desired length for transmission over limited channel resources.
[0132] Channel interleaving is applied after channel encoding and rate matching by permuting the code bits. The purpose is to provide stable or superior performance under high-order modulation or in a fading channel.
[0133] HARQ is a mechanism to provide reliable wireless transmission. It combines forward error correction (FEC) and automatic repeat request (ARQ) . In HARQ, the initial transmission is a FEC code word with means (such as CRC bits) to support error detection at the receiver. If a decoding error is detected, the receiver will send back a negative acknowledgment (NACK) signaling to inform the transmitter of the error, and request a retransmission. The retransmitted bits can be directly selected from the initially transmitted bits, or incrementally generated code bits which form a longer code word with the initially transmitted bits. The former approach is called chase-combining HARQ (CC-HARQ) and the latter approach is called IR-HARQ. Typically, IR-HARQ outperforms CC-HARQ with the additional coding gain from incremental redundancy.
[0134] Polar codes belong to the class of linear block codes. For a polar code of length N, its generator matrix is GN, and its encoding process is wherein is a binary information vector, is the binary code vector. The N×N binary matrix wherein is the polarization kernel matrix, n=log2 N, and is Kronecker product.
[0135] Typically, there are K information bits to be encoded into N code bits. In some embodiments of the present disclosure, K information bits refer to K source bits. Accordingly, the inequality K<N is given to obtain a code rate R=K / N<1. That implies only part of is used to carry information bits, and the rest are typically called frozen bits. The information bit set or called information set may be denoted by I, and the frozen bit set, or called frozen set may be denoted by F respectively. In some cases, there is an additional parity-check bit set or called PC bit set that is denoted by P. The frozen bits are known (usually all zeros, but may also be other known values or sequences) before decoding, so they do not carry any payload information. The PC bits are parity-check bits generated from a subset of information bits. Therefore, the PC bits are known once the associated information bits are decoded. The decoding of polar codes attempts to recover all information bits.
[0136] The transmitted code length M may not always be the power of 2, i.e., M<N. In practice, puncturing and shortening are used to reduce transmitted code bits from N to M. For convenience, the present disclosure hereinafter refers to N as the mother code length, and M as the code length. In particular, punctured bits are non-transmitted bits unknown to the decoder, but shortened bits are non-transmitted bits known to the decoder, and shortened bits are usually all zeros.
[0137] An example of a polar code with N=8, K=4 is shown in the Fig. 5. Each “butterfly” in Fig. 5 represents a polarization, i.e., In this example, the information set is I= {u4, u6, u7, u8} , and the frozen set is F= {u1, u2, u3, u5} .
[0138] Successive cancellation (SC) is the basic decoding algorithm for polar codes, where all the frozen bits and information bits are decoded sequentially, i.e., bit by bit. The preceding bits are typically always decoded first.
[0139] Successive cancellation list (SCL) is an enhanced decoding algorithm for polar codes, where multiple (e.g., a number L) SC decoding instances are executed. Each instance is called a “decoding path” . When decoding each binary bit, both “0” and “1” branches are extended to each path, creating 2L paths. Then, all 2L paths are compared, where the most likely L paths are kept, and the least likely L paths are discarded or pruned. These path extension and pruning operations are performed during decoding of every information bit, until all information bits are decoded. At last, the most likely path is selected as the decoding output.
[0140] CRC-aided successive cancellation list (CA-SCL) works almost the same as SCL, except that in the last step, the most likely path that passes CRC check is selected as the decoding output.
[0141] Parity-check successive cancellation list (PC-SCL) works almost the same as SCL, except that when decoding parity-check (PC) bits, the parity check value of associated preceding bits is used as the bit decision result. PC bits may be considered a type of bit in addition to frozen bits and information bits.
[0142] Rate-compatible polar coding is a desirable technology for wireless applications. In one example of polar code rate matching, a combination of puncturing, shortening and repetition is used together with a fixed reliability sequence to balance performance and complexity. In particular, subblock-wise interlacing and interleaving is used for both puncturing and shortening. The puncturing and shortening patterns are symmetric.
[0143] With mother code length N, and the transmitted code length M, the specific rate matching scheme used is repetition, when M>N; puncturing, when K / M≤7 / 16; shortening, when K / M>7 / 16.
[0144] A subblock-wise interleaving is performed before puncturing and shortening. The interleaver partitions the length-N mother code into 32 subblocks of size N / 32 and interlaces them. An example interleaver scheme is shown in Fig. 6, which is reproduced from a 3GPP standard specification.
[0145] Since puncturing is performed from the 1st code bit of a code word, and shortening is performed from the last code bit, the rate matching module is efficiently implemented through a cyclic buffer. And a code word also refers to a code bit, a coded bit, or an encoded bit. All mother code bits are placed in the cyclic buffer, and puncturing is done by selecting the bits in clockwise order, and shortening is done by selecting bits in counter-clockwise order.
[0146] Fig. 7 is a diagram illustrating puncturing and shortening with a cyclic buffer. At 602 in Fig. 7, code bits of a code word are illustrated in a vertical column, with punctured and shortened bits as shown. At 604, Fig. 7 illustrates a cyclic buffer, represented by a circle shape, and reading of code bits with no puncturing or shortening. The next two circles illustrate, respectively, cyclic buffers with dashed lines representing puncturing from the beginning of the buffer at 606 and shortening from the end of the buffer at 608.
[0147] Another polar code rate matching example involves an incremental freezing HARQ method, wherein transmissions of multiple short code words are supported. As more short codes are transmitted, the overall code length increases, and the overall code rate decreases.
[0148] In the first transmission, an (M1, K) polar code is constructed, encoded and transmitted. M1 is the first transmitted code length, K is the number of the first transmitted information bits. The first code rate is R1=K / M1. Usually, the code rate is determined such that R1<C1, wherein C1 is the channel capacity of the first transmission. But in the case of faded channel or inaccurate channel estimation, there may be the inequality R1>C1, and decoding will fail and a second transmission is required.
[0149] In the second transmission, K2 least reliable information bits are selected from the K information bits in the first transmission. In practice, K2 is chosen according to the estimated channel capacity of the second transmission. An (M2, K2) polar code is constructed accordingly and encoded and transmitted. M2 is the second transmitted code length, K2 is the number of the second transmitted information bits. However, if R2>C2, and decoding will fail again and a third transmission is required. The third and fourth transmissions are constructed similarly, and so on.
[0150] At the receiver side, the decoder should always decode the last received code word, because it has the lowest code rate and thus the best chance of successful decoding. After the last transmission is correctly decoded, the corresponding information bits in all previous transmissions become known, and can be decoded as frozen bits with known values. This process is repeated as more code words are decoded, until all K bits in the first transmission is decoded. The term “incremental freezing” refers to the operations to additionally freeze some information bits in the previous transmissions once a later transmitted code word is decoded. Fig. 8 shows an example of the encoding process for 4 transmissions, wherein M1=M2=M3=M4=16, and K1=12, K2=6, K3=4, K4=3. M3 is the third transmitted code length, M4 is the fourth transmitted code length, K3 is the number of the third transmitted information bits, and K4 is the number of the fourth transmitted information bits.
[0151] Parity-check (PC) polar codes may be used to improve the minimum code distance of the original polar codes. Values of PC bits are determined by their preceding information bits, and specifically, binary linear combinations of a subset of preceding information bits. In one proposal of PC polar codes to support IR-HARQ, the PC bits are used to coupling multiple retransmissions into a longer polar code with extra coding gain.
[0152] The PC functions currently used for IR-HARQ are also a special case, wherein some information bits are copied from the initial transmitted code block to a retransmitted code block. This one-to-one parity checking between the two shorter code blocks effectively couples the two code blocks into a longer code block.
[0153] For example, the initial transmission is a (M1=8, K=5) polar code, wherein {u0, u1, u2, u3, u4} is the information set, and {u5, u6, u7} is the frozen set. Its encoding process is shown in Fig. 9. In this example, bit indices are in decreasing order of reliability.
[0154] In the first retransmission, four additional code bits are transmitted. These four bits are coupled with the initially transmitted 8 bits to form a (M2=12, K=5) polar code. The coupling is achieved by copying the value of u4 to u8 during encoding, thus generating a PC function u4 + u8 = 0, or equivalently a PC function u8 = u4. As said, the largest index in this PC function corresponds to the PC bit (here u8) . During decoding, u4 decoded as an information bit, while u8 is decoded as a PC bit using u8 =u4. With {u0, u1, u2, u3, u8} as the information set, {u4} as the PC set, and {u5, u6, u7, u9, u10, u11} as the frozen set, the encoding process is shown in Fig. 10.
[0155] In the second retransmission, the remaining four bits c12, c13, c14, c15 are transmitted to form a (M3=16, K=5) polar code. But no new PC bits are generated.
[0156] From the polar transform matrix point of view, the three transmissions with effective code lengths M1=8, M2=12, M3=16, are showed in Fig. 11.
[0157] According to information theory, coding gain improves as code length increases, and as long as the code is properly constructed, encoded, and decoded. However, encoding and decoding long codes are usually more complex than encoding and decoding shorter codes. Therefore, the use of a longer code should be balanced against the desire to avoid excessive implementation complexity. Thus, there is a tradeoff between longer code and lower complexity. One example solution to this issue is the application of code segmentation when the input bit sequence to be encoded is excessively long.
[0158] An example segmentation of LDPC codes involves selection of a base graph (BG) based on maximum information bit sequence length Kcb, which is 8448 for BG1 and 3840 for BG2. The number of code blocks is calculated by:
[0159] where B is a length of the input bit sequence to be segmented and encoded, and L is CRC sequence length. In some embodiments, a length of the input bit sequence refers to the input bit sequence length. And CRC sequence length refers to a length of CRC sequence, or a length of CRC bits.
[0160] As seen, the segmentation does not depend on the maximum length of coded bit sequence (or code length) that can be generated for an LDPC code block.
[0161] In a different example segmentation of polar codes, no segmentation is performed for downlink control information (DCI) . For uplink control information (UCI) , the payload bits will be segmented into at most two code blocks, depending on A (the length of the input bit sequence to be segmented and encoded) , and E (arate matching output sequence length) , as follows.
[0162] Again, the segmentation does not explicitly depend on the maximum length of coded bit sequence (or code length) that can be generated for a polar code block.
[0163] Some scenarios or applications would benefit from a more flexible code length or multiple code lengths, which would also necessitate different segmentations methods. However, the existing code segmentation schemes may not be applicable in these scenarios or applications. In the embodiments of the present disclosure, code length may refer to mother code length or rate matched code length.
[0164] Furthermore, the existing code segmentation methods may also include the following disadvantages.
[0165] For example, for polar code, the segmentation scheme only supports a limited number of code blocks, and cannot be straightforwardly extended to arbitrary number of code blocks. It lacks the flexibility to adapt to different information block length and code length.
[0166] And for LDPC code, the segmentation scheme is solely based on information block length. However, a more optimal segmentation that achieves better error correction performance on the transport block level would depend on many other factors. Thus, a segmentation scheme based on limited inputs is unlikely to achieve near optimal performance.
[0167] Therefore, a method for obtaining codes correspond to different scenarios with a flexible code length or multiple code lengths is necessary for the communication system. In the method, a plurality of codes are obtained with an input bit sequence (or called an information bit sequence) . Before encoding, the input bit sequence is segmented and a transport block size is determined. The segmentation strategy may vary based on several parameter, such as a maximum code length and / or a maximum information block size. So, after segmentation, the complexity of encoding and decoding decrease and the performance increase. And different strategy on segmentation of the plurality of information bits may be used due to different requirement, such as the requirement for the flexible code length or multiple code lengths.
[0168] According to the above descriptions, it is reasonable that encoding processes and decoding processes of a plurality of codes are required in the scenarios with a flexible code length or multiple code lengths.
[0169] As an illustrative example without limitation, a simplified flow illustration of the encoding method is provided in Fig. 12.
[0170] In Fig. 12, the encoding method includes the following steps s1210 and s1220. The executing entity of the encoding method may be a device or an apparatus in the device, wherein the device or the apparatus may include an encoder of polar codes. In some embodiments the apparatus may be a communication module, a modem, or a chip in the device.
[0171] S1210, segmenting a plurality of information bits to a plurality of code blocks based on at least one of the followings: a maximum code length, and a maximum information block size.
[0172] In some embodiments, if a length of the plurality of information bits is long, segmentation may be performed before encoding. The plurality of information bits may be segmented to the plurality of code blocks, each of which may include an equal or unequal number of information bits. The plurality of code blocks may correspond to the maximum code length, and / or the maximum information block size, which provide flexible configuration for the communication system to support scenarios with flexible code length or multiple code lengths. In some embodiments, the maximum code length related to the maximum information block size, which may also provide flexible configurations for the plurality of code blocks.
[0173] The implementation steps of methods of segmenting the plurality of information bits to the plurality of code blocks will be described in detail in the following embodiments.
[0174] S1220, encoding the plurality of code blocks to a plurality of code words.
[0175] In some embodiments, after segmentation of the plurality of information bits, the plurality of code blocks are encoded to the plurality of code words. Each of the plurality of code blocks may include a plurality of information bits and / or zero padding bits, and the quantity of the plurality of information bits and zero padding bits in each code block may vary with requirements, which provide flexible configurations of the plurality of code blocks.
[0176] In some embodiments of the encoding method, after segmentation of the plurality of information bits, each of the plurality of code blocks may be encoded separately, which may further reduce the complexity of encoding and increase the performance. Then, the decoding process may be performed after the encoding process.
[0177] Referring to Fig. 13, as an illustrative example without limitation, a simplified flow illustration of the decoding method is provided. As shown in Fig. 13, the decoding method includes the following steps s1310 and s1320. The executing entity of the decoding method may be a device or an apparatus in the device, wherein the device or the apparatus may include a decoder of polar codes. In some embodiments the apparatus may be a communication module, a modem, or a chip in the device.
[0178] S1310, obtaining a plurality of code words.
[0179] In some embodiments, demodulation may be performed in decoding, and the plurality of code words may be converted to a plurality of first sequences. Then decoding may be performed on the plurality of first sequences. In some embodiments of the disclosure, no specific limitation is imposed on the the process before decoding.
[0180] S1320, decoding the plurality of code words to obtain a plurality of sequences, and the plurality of sequences correspond to a plurality of information bits that segmented to a plurality of code blocks based on at least one of the followings: a maximum code length, and a maximum information block size.
[0181] In some embodiments, after decoding, the plurality of information bits may be obtained, and the complexity of decoding may decrease due to the decoding operation on the plurality of code blocks including the plurality information bits. In some embodiments, SCL algorithm may be operated during the decoding process. In some embodiments, another algorithm or technique may be used in decoding. In some embodiments of the disclosure, no specific limitation is imposed on the algorithm and technique in decoding.
[0182] In some embodiments, each of the plurality of code blocks may be decoded separately, which may further reduce the complexity of decoding and increase the performance.
[0183] As described in Fig. 12, the plurality of information bits are segmented to the plurality of code blocks based on the maximum code length and / or the maximum information block size. The following are some embodiments of methods of adaptive transport block size determination and code block segmentation.
[0184] Accordingly, it is generally desirable to optimize performance with code block segmentation. There are two strategies in code block segmentation. One is to reduce the code rate, thus having more code blocks in the case of bounded maximum mother code length. The other is to increase the information block size, though with a higher code rate in the case of bounded maximum mother code length, and use repetition to achieve the overall target code rate. The first one expects to obtain higher coding gain with the lower code rate, and the second one expects to obtain higher coding gain with the larger block size. Finally, the optimal choice between the two strategies depends on several parameters, including the target code rate and code length.
[0185] Furthermore, it is also generally desirable to perform code block segmentation based on multiple parameters. In order to determine the optimal code block segmentation, a rule-based method may be used to consider the multiple parameters. They are a total information block length, a total rate matching output sequence length (or a total number of coded bits for transmission) , a target code rate, a maximum code length, a minimum code rate, and so on. In the embodiments of the present disclosure, a maximum code length refers to a maximum mother code length, and a minimum code length refers to a minimum mother code length.
[0186] Some embodiments of the present disclosure relate to methods of transport block size (TBS) determination and code block (CB) segmentation, and include one or more of the following features:
[0187] The first feature is that the methods may provide an adaptive method for TBS determination and CB segmentation in channel coding based on multiple resource and coding related parameters, where the adaptiveness is embodied through the different formula or rules applied to TBS determination and CB segmentation according to the different aforementioned parameters.
[0188] The parameters may include a number of resource elements, modulation order, coding rate, modulation and coding scheme (MCS) index, a quantity of transmission layers that the transport block is mapped onto, a total number of coded bits available for transmission, a total number of information bits available for encoding or the transport block size, the maximum code length, a maximum circular buffer size for a CB, a maximum information block size for a CB (or CB size) , a minimum code rate for channel coding, a minimum code rate for segmentation, and the length of CRC bits. In the embodiments of the present disclosure, the number of resource elements refers to a quantity of resource elements, a total number of coded bits available for transmission refers to a total quantity of coded bits available for transmission, a total number of information bits available for encoding refers to a total quantity of information bits available for encoding. In the embodiments of the present disclosure, the quantity of transmission layers refers to a number of transmission layers.
[0189] The parameters can be a subset of the above parameters.
[0190] The parameters at least include two or more parameters from the above parameters.
[0191] For CB segmentation, the parameters may include at least both “the total number of coded bits available for transmission” and “the total number of information bits available for encoding or the transport block size” .
[0192] For CB segmentation, the parameters may include at least “the total number of coded bits available for transmission” , “the total number of information bits available for encoding or the transport block size” , “the maximum code length” , and “the minimum code rate for segmentation” .
[0193] The second feature is that the methods may provide a method to determine the total number of coded bits available for transmission. The method may be used to support for non-orthogonal multiplexing, mixed-traffic multiplexing and preempted transmissions.
[0194] The third feature is that the methods may provide a method to determine the total number of information bits available for encoding or the transport block size. The method may be used to support of different traffics and simplification to be independent of a number of CBs. In the embodiments of the present disclosure, the number of CBs refers to a quantity of CBs.
[0195] The fourth feature is that the methods may provide a method to determine the maximum code length. The method may be used to provide native support of various configurable reduced buffers.
[0196] The fifth feature is that the methods may provide a method to calculate the number of CBs for CB segmentation. The method includes consideration of multiple parameters in the determination of number of CBs, such that the performance is better. The parameters include the maximum code length and the maximum information block length. In some embodiments, the maximum information block length refers to the maximum information block size for a CB.
[0197] The sixth feature is that the methods may provide a method to calculate CB size (CBS) , given the number of CBs. The method may be used to support for different CB sizes in a TB, and more flexible configuration.
[0198] The seventh feature is that the methods may provide a method to segment the input bit sequence and assign them to each CB. The method includes more flexible zero padding positions.
[0199] Referred to Fig. 14, the followings are the detailed description of methods of transport block size determination and code block (CB) segmentation.
[0200] Some embodiments of the present disclosure involve determining the total number of coded bits available for transmission.
[0201] The followings are some embodiments of the method to determine the total number of coded bits available for transmission. As shown in Fig. 14, the total number of coded bits available for transmission, denoted by G, may be calculated from the quantity of available resource elements NRE, the modulation order Qm, the quantity of transmission layers NL, and a coefficient α. In some embodiments, the quantity of available resource elements refers to a number of available resource elements.
[0202] In some embodiments, the quantity of available resource elements NRE has excluded the overhead of demodulation reference signal (DMRS) or other already configured (or scheduled) resource.
[0203] In some embodiments, the total number of coded bits available for transmission may be calculated by G=NRE·Qm·NL·α.
[0204] In some embodiments, the coefficient α can be a multiplexing factor, which is used when non-orthogonal multiplexing is applied to improve spectral efficiency. The multiplexing factor α is used to reflect the degree of multiplexing, therefore typically α ≥ 1.
[0205] In some embodiments, the coefficient α can be a preemption portion, which is used when preempted transmission is applied, e.g., to allow arrive-and-go transmission for high-priority traffic. The preemption portion α is used to reflect the percentage of preempted resource, therefore typically α ≤ 1.
[0206] In some embodiments, the coefficient α can be a resource distribution factor related to multi-traffic or mixed-traffic multiplexing. The resource distribution factor α is used to reflect the percentage of resource used for this traffic type, therefore typically α ≤ 1. Typically, a vector of coefficients (α1, α2, …αY) is used to specify the resource distribution among Y traffic types, where α1, α2, …αY correspond to each traffic type in Y traffic types. Correspondingly, a vector of modulation order (Qm, 1, Qm, 2, …Qm, Y) is used to specify the modulation orders of the Y traffic types, where Qm, 1, Qm, 2, …Qm, Y correspond to each traffic type in Y traffic types, and a vector of the quantity of transmission layers (NL, 1, NL, 2, …NL, Y) is used to specify the quantity of transmission layers of the Y traffic types. where NL, 1, NL, 2, …NL, Y correspond to each traffic type in Y traffic types. So, the total number of coded bits for the Y traffic types are (G1, G2, …GY) = (NRE·Qm, 1·NL, 1·α1, NRE·Qm, 2·NL, 2·α2, …NRE·Qm, Y·NL, Y·αY) .
[0207] In the embodiments of the present disclosure, no specific limitation is imposed on the coefficient α.
[0208] The followings are some embodiments of the present disclosure involve the method to determine the total number of information bits available for encoding.
[0209] As shown in Fig. 14, the TBS may be related to the total number of coded bits available for transmission G, the target code rate R, and CRC sequence length L.
[0210] The method to determine the total number of information bits available for encoding or the transport block size may include the following details.
[0211] In some embodiments, the TBS may be calculated according to the total number of coded bits available for transmission G that mentioned in the above method, and a target code rate R obtained from a MCS table and MCS index. In some embodiments, the target rate R may be pre-defined. In some embodiments of the disclosure, no specific limitation is imposed on the ways of obtaining the target code rate R.
[0212] In some embodiments, the TBS does not depend on the number of CBs after segmentation that denoted by C.
[0213] In some embodiments, the TBS does not depend on the maximum information block size for a CB that denoted by Kcb.
[0214] In some embodiments, the TBS does not depend on some channel coding related parameters, such as the base graph (BG) used for LDPC encoding, the maximum code length, and the minimum code rate (s) .
[0215] In some embodiments, the TBS may be calculated by where L is the length of CRC bits (e.g., for this TB or CB group) , and c1 and c2 are non-negative constant integers (e.g., c1=5, c2=3) . In some embodiments of the disclosure, no specific limitation is imposed on values of c1 and c2.
[0216] In the case of multi-traffic or mixed-traffic multiplexing, the total number of coded bits available for transmission G may be replaced by Gy, and the code rate R may be replaced by Ry, the CRC length L may be replaced by Ly for the y-th traffic type. In some embodiments, the traffic type may include data, control, and so on. In some embodiments of the disclosure, no specific limitation is imposed on the type of traffic.
[0217] The followings are some embodiments of the present disclosure involve the method to determine the maximum code length.
[0218] The method to determine the maximum code length may include the following details.
[0219] In some embodiments, the maximum code length may be determined based on fixed full buffer size, e.g., Nmax=8192, 16384, 19200, 24576, 25344, 32768. In the embodiments of the present disclosure, buffer refers to a rate matching circular buffer.
[0220] In some embodiments, the maximum code length Nmax may be determined by a set of reduced buffer size, instead of a single buffer size, and may be pre-defined to be used for limited buffer rate matching.
[0221] For example, a set of absolute values of the maximum code length can be pre-defined, e.g., Nmax ∈ (1024, 2048, 4096, 8192, 16384, 32768) and any of its subsets, or Nmax ∈ (4800, 7200, 9600, 12000, 14400, 16800, 19200) and any of its subsets, or Nmax∈ (6336, 9504, 12672, 15840, 19008, 22176, 25344) and any of its subsets.
[0222] For example, a set of values of the maximum code length may be defined with respect to the full buffer size, i.e., N’ max = β·Nmax, N’ max is the maximum code length adjusted by β, β can be chosen from a pre-defined vector. For example, β ∈ (1 / 8, 1 / 4, 3 / 8, 1 / 2, 5 / 8, 3 / 4, 7 / 8) and any of its subsets.
[0223] In some embodiments, the maximum code length Nmax may be determined by the maximum information block size Kcb, and a reduced code rate RLBRM from a set of minimum code rates for reduced buffer, can be pre-defined for limited buffer rate matching. In the embodiments of the present disclosure, the reduced code rate RLBRM refers to a minimum code rate for reduced buffer.
[0224] For example, a set of value defined with respect to the Kcb and RLBRM, i.e., Nmax = Kcb / RLBRM, and RLBRM can be chosen from a pre-defined vector. For example, RLBRM ∈ (1 / 3, 1 / 2, 2 / 3, 5 / 8, 3 / 4, 7 / 8) and any of its subsets.
[0225] In some embodiments, the maximum code length may be determined based on code type.
[0226] For example, if polar code is selected, the maximum code length may be determined based on fixed value, e.g., Nmax=512, 1024, 2048, 4096, 8192, 16384, 32768.
[0227] For example, if LDPC is selected, the maximum code length may further depend on which base graph is selected.
[0228] If a first base graph (BG1) is selected, then Nmax ∈ (6336, 9504, 12672, 15840, 19008, 22176, 25344, 33792, 67584) .
[0229] If a second base graph (BG2) is selected, then Nmax ∈ (4800, 7200, 9600, 12000, 14400, 16800, 19200, 25600, 51200) .
[0230] In some embodiments the maximum code length may be determined based on which base graph is used for LDPC codes.
[0231] In some embodiments the maximum code length may be determined based on which scenario is used for LDPC codes or polar codes, e.g., ultra-reliable low latency communications (URLLC) , massive machine type communications (mMTC) , enhanced mobile broadband (eMBB) , immersive communications, extended reality (XR) , control channel.
[0232] The followings are some embodiments of the present disclosure involve methods of calculating the number of CBs for CB segmentation. As described in s1210 of Fig. 12, the plurality of code blocks are related to the maximum code length and / or the maximum information block size. A quantity of the plurality of code blocks may be obtained in the following methods.
[0233] The method of calculating the number of CBs for CB segmentation may include the following details.
[0234] As shown in Fig. 14, the number of CBs for CB segmentation C may be related to at least one of the following: the length of CRC bits L, the total number of coded bits available for transmission G, the maximum code length Nmax, the minimum code rate for segmentation Rmin, and the transport block size.
[0235] In some embodiments, if reduced buffer is enabled, e.g., the limited buffer rate matching indicator ILBRM=1, the number of CB may be given by where Kcb is the maximum information block size, and L is the length of CRC bits (e.g., in this TB or CB group) .
[0236] In some embodiments, if reduced buffer is disabled, i.e., ILBRM=0, then any of the following CB segmentation method can be used.
[0237] For example, the number of CB may be given by where G is the total number of coded bits available for transmission, and Nmax is the maximum code length.
[0238] For example, the number of CB is given by where Nmax is the maximum mother code length, and R′min is the minimum code rate for segmentation, and L is the length of CRC bits (e.g., in this TB or CB group) .
[0239] In some embodiments, in the CB segmentation, the number of CB may be given by where G is the total number of coded bits available for transmission, Nmax is the maximum mother code length, and R′min is the minimum code rate for segmentation, and L is the length of CRC bits (e.g., in this TB or CB group) . In some embodiments, the minimum code rate for segmentation R′min may be pre-defined, or may be flexible configuration with requirements. In the embodiments of the present disclosure, no specific limitation is imposed on methods of obtaining the minimum code rate for segmentation R′min.
[0240] In some embodiments, in the CB segmentation, the value of R′min is higher than the minimum code rate for channel coding Rmin.
[0241] The followings are some embodiments of the present disclosure involve methods of calculating CB size, given the number of CBs. As described in s1210 of Fig. 12, the plurality of code blocks are related to the maximum code length and / or the maximum information block size. A size of each of the plurality of code blocks may be obtained in the following methods.
[0242] In some embodiments, the following are the details of the method of calculating CB size with the quantity of CBs.
[0243] In the case of same CBS for all CBs in a TB or CB group, the CBS calculation methods have the following options, where the CBS is denoted by K (K is a number of bits in each CB) , and B refers to the TBS.
[0244] For example, In these embodiments, the CBS does not include CRC bits for the CB.
[0245] For example, where L is the number of CRC bits for each CB. Here the CBS includes CRC bits for the CB.
[0246] For example, where m is a non-negative constant integer. For example, m=3. Here the CBS does not include CRC bits for the CB.
[0247] For example, where m is a non-negative constant integer. For example, m=3. In these embodiments, the CBS includes CRC bits for the CB.
[0248] In the case that the size of any 2 code blocks is different for all CBs in a TB or CB group, the CBS calculation methods have the following options, where the CBS of the CB of index r (number of bits Kr in the CB of index r) is denoted by Kr and TBS is denoted by B.
[0249] For example,
[0250] For example, where L is the number of CRC bits for each CB.
[0251] For example,
[0252] For example, where L is the number of CRC bits for each CB.
[0253] Note that in all the above formulas, the last CB has a different CBS while the first C-1 CBs have the same CBS. In some embodiments, the first CB (or any CB) may have a different CBS from other CBs.
[0254] It is reasonable that after the segmentation of the information bit sequence, the information bits may be assigned to each code block. The following are some embodiments of the present disclosure of segmenting the input bit sequence and assigning them to each CB.
[0255] The followings are some embodiments of the present disclosure involve a method to segment the input bit sequence, denoted by b0, b1, b2, b3, ..., bB-1, and assign them to each CB. The k-th bit in the CB of index r is denoted by brk.
[0256] In some embodiments, in the case of same CBS for all CBs in a TB or CB group, different zero-padding methods can be used to pad the additional number of bits when B>K·C, and B′ may be denoted by B′=K·C. In the case that the size of any 2 code blocks is different for all CBs in a TB or CB group, different zero-padding methods can be used to pad the additional number of bits when and B′ may be denoted by Methods of zero padding may further reduce the complexity of encoding and decoding.
[0257] In some embodiments, the same number of zero-padding bits may be added to each CB.
[0258] In some embodiments, all zero-padding bits may be added to one CB, which can be the first CB or the last CB in the TB (or CB group) .
[0259] In the embodiments of insertion of zero filler bits to the first code block, the pseudocodes may be illustrated as follows:
[0260] for i=0 to B′-B-1
[0261] b′i=0;
[0262] end for
[0263] for i=B′-B′to B′-1
[0264] b′i=bi- (B′-B) ;
[0265] end for
[0266] In the embodiments of insertion of zero filler bits to the last code block, the pseudocodes may be illustrated as follows:
[0267] for i=0 to B-1
[0268] b′i=bi;
[0269] end for
[0270] for i=B to B′-1
[0271] b′i=0;
[0272] end for
[0273] In one example, methods of code block segmentation and bit assigning can be written in the following pseudocodes.
[0274] s=0;
[0275] for r=0 to C-1
[0276] for k=0 to K-1
[0277] brk=b′s;
[0278] s=s+1;
[0279] end for
[0280] The sequence cr0, cr1, cr2, cr3, ..., cr (B′ / C-1) is used to calculate the CRC parity bits pr0, pr1, pr2, ..., pr (L-1) according to the CB-level CRC’s generator polynomial of length L. The pseudocodes may be illustrated as follows:
[0281] for k=K to K+L-1
[0282] crk=pr (k-K) ;
[0283] end for
[0284] end for
[0285] In another example, methods of code block segmentation and bit assigning can be written in the following pseudocodes.
[0286] s=0;
[0287] for r=0 to C-1
[0288] for k=0 to Kr-1
[0289] brk=b′s;
[0290] s=s+1;
[0291] end for
[0292] The sequence is used to calculate the CRC parity bits pr0, pr1, pr2, ..., pr (L-1) according to the CB-level CRC’s generator polynomial of length L. The pseudocodes may be illustrated as follows:
[0293] for k=Kr to Kr+L-1
[0294] crk=pr (k-K) ;
[0295] end for
[0296] end for
[0297] Some embodiments of the present disclosure may enable advantageous effects such as:
[0298] Better error correction performance.
[0299] Flexibility in performing transport block size determination and code block segmentation.
[0300] Simple standard description and low complexity.
[0301] Determining the total number of coded bits available for transmission to support multi-traffic and preempted transmission
[0302] Determining the total number of information bits available for encoding to support multi-traffic, and simplified to be independent from the number of CBs
[0303] Determining the maximum code length to natively support reduced buffer
[0304] Calculating the number of CBs for CB segmentation to achieve a simpler standard description
[0305] Calculating CB size, given the number of CBs to achieve a more flexible configuration
[0306] Segmenting the input bit sequence and assigning them to each CB to achieve a more flexible configuration
[0307] The present disclosure encompasses various embodiments, including not only method embodiments, but also other embodiments such as apparatus embodiments and embodiments related to non-transitory computer readable storage media. Embodiments may incorporate, individually or in combinations, the features disclosed herein.
[0308] Although this disclosure refers to illustrative embodiments, this is not intended to be construed in a limiting sense. Various modifications and combinations of the illustrative embodiments, as well as other embodiments of the disclosure, will be apparent to persons skilled in the art upon reference to the description.
[0309] Features disclosed herein in the context of any particular embodiments may also or instead be implemented in other embodiments. Method embodiments, for example, may also or instead be implemented in apparatus, system, and / or computer program product embodiments. In addition, although embodiments are described primarily in the context of methods and apparatus, other implementations are also contemplated, as instructions stored on one or more non-transitory computer-readable media, for example. Such media could store programming or instructions to perform any of various methods consistent with the present disclosure.
[0310] Although aspects of the present invention have been described with reference to specific features and embodiments thereof, various modifications and combinations can be made thereto without departing from the invention. The description and drawings are, accordingly, to be regarded simply as an illustration of some embodiments of the invention as defined by the appended claims, and are contemplated to cover any and all modifications, variations, combinations or equivalents that fall within the scope of the present invention. Therefore, although embodiments and potential advantages have been described in detail, various changes, substitutions and alterations can be made herein without departing from the invention as defined by the appended claims. Moreover, the scope of the present application is not intended to be limited to the particular embodiments of the process, machine, manufacture, composition of matter, means, methods and steps described in the specification. As one of ordinary skill in the art will readily appreciate from the disclosure of the present invention, processes, machines, manufacture, compositions of matter, means, methods, or steps, presently existing or later to be developed, that perform substantially the same function or achieve substantially the same result as the corresponding embodiments described herein may be utilized according to the present invention. Accordingly, the appended claims are intended to include within their scope such processes, machines, manufacture, compositions of matter, means, methods, or steps.
[0311] Moreover, any module, component, or device exemplified herein that executes instructions may include or otherwise have access to a non-transitory computer readable or processor readable storage medium or media for storage of information, such as computer readable or processor readable instructions, data structures, program modules, and / or other data. A non-exhaustive list of examples of non-transitory computer readable or processor readable storage media includes magnetic cassettes, magnetic tape, magnetic disk storage or other magnetic storage devices, optical disks such as compact disc read-only memory (CD-ROM) , digital video discs or digital versatile disc (DVDs) , Blu-ray DiscTM, or other optical storage, volatile and non-volatile, removable and non-removable media implemented in any method or technology, random-access memory (RAM) , read-only memory (ROM) , electrically erasable programmable read-only memory (EEPROM) , flash memory or other memory technology. Any such non-transitory computer readable or processor readable storage media may be part of a device or accessible or connectable thereto. Any application or module herein described may be implemented using instructions that are readable and executable by a computer or processor may be stored or otherwise held by such non-transitory computer readable or processor readable storage media.
[0312] Simple standard description and low complexity.
[0313] The present disclosure encompasses various embodiments, including not only method embodiments, but also other embodiments such as apparatus embodiments and embodiments related to non-transitory computer readable storage media. Embodiments may incorporate, individually or in combinations, the features disclosed herein.
[0314] Although this disclosure refers to illustrative embodiments, this is not intended to be construed in a limiting sense. Various modifications and combinations of the illustrative embodiments, as well as other embodiments of the disclosure, will be apparent to persons skilled in the art upon reference to the description.
[0315] Features disclosed herein in the context of any particular embodiments may also or instead be implemented in other embodiments. Method embodiments, for example, may also or instead be implemented in apparatus, system, and / or computer program product embodiments. In addition, although embodiments are described primarily in the context of methods and apparatus, other implementations are also contemplated, as instructions stored on one or more non-transitory computer-readable media, for example. Such media could store programming or instructions to perform any of various methods consistent with the present disclosure.
[0316] Acronyms, Abbreviations, and Initialisms
Claims
1.A method comprising:segmenting a plurality of information bits to a plurality of code blocks based on at least one of the followings:a maximum code length, and a maximum information block size;encoding the plurality of code blocks to a plurality of code words.2.The method claim 1,wherein segmenting a plurality of information bits to a plurality of code blocks comprises:determining a quantity of the plurality of code blocks.3.The method of claim 2,wherein segmenting a plurality of information bits to a plurality of code blocks, further comprising:determining a size of each code block in the plurality of code blocks.4.The method of claim 2 or 3,wherein a reduced buffer is enabled, determining the quantity of the plurality of code blocks based on the maximum information block size.5.The method of claim 4,wherein determining the quantity of the plurality of code blocks based on at least one of the followings:a transport block size, and a length of CRC sequence.6.The method of claim 2 or 3,wherein a reduced buffer is disabled, determining the quantity of the plurality of code blocks based on the maximum code length.7.The method of claim 6,wherein determining the quantity of the plurality of code blocks based on one or more of the followings:a total number of coded bits available for transmission, a transport block size, a minimum code rate for segmentation, and a length of CRC sequence.8.The method of claims 7,wherein the total number of coded bits available for transmission is related to one or more of the followings:a quantity of available resource elements, a modulation order, and a quantity of transmission layers.9.The method of claims 5,wherein the transport block size is related to one or more of the followings:a total number of coded bits available for transmission, the length of CRC sequence and a code rate obtained from a MCS table and MCS index.10.The method of anyone of claims 1 to 9,wherein the maximum code length is related to one or more of the followings:a full buffer size, sizes of a set of reduced buffers, the maximum information block size, and a type of code.11.The method of claim 7 or 8,wherein the minimum code rate for segmentation is greater than a minimum code rate for coding, and the minimum code rate for coding is related to the type of channel.12.The method of anyone of claims 3 to 11,wherein determining a size of each code block in the plurality of code blocks comprises:the size of each block in the plurality of code blocks is a mother code length, wherein the mother code length is a power-of-2 integer for polar codes.13.The method of anyone of claims 3 to 12,wherein determining a size of each code block in the plurality of code blocks comprises:if each code block has a same size, determining the size of each code block based on at least of one of the followings:a transport block size, the quantity of the plurality of code blocks, and a length of CRC sequence.14.The method of anyone of claims 3 to 12,wherein determining a size of each code block in the plurality of code blocks comprises:if the size of any of two code blocks in the plurality of code blocks is different, determining a size of each code block with an index r of the plurality of code blocks based on at least of one of the followings:a transport block size, a quantity of the plurality of code blocks, wherein r is an integer.15.The method of anyone of claims 3 to 12,wherein determining a size of each code block in the plurality of code blocks, further comprises:if the size of any of two code blocks in the plurality of code blocks is different, determining a size of the code block with an index r of the plurality of code blocks based on at least of one of the followings:a transport block size, a quantity of the plurality of code blocks, and a length of CRC sequence of the code block of the index r, wherein r is an integer.16.The method of claims 14 or 15,wherein the first code block or the last block has a different size from other code blocks in the plurality of code blocks.17.The method of anyone of claims 1 to 16,wherein segmenting a plurality of information bits to a plurality of code blocks, further comprising:padding a same quantity of zero bits to each clock block.18.The method of anyone of claims 1 to 16,wherein segmenting a plurality of information bits to a plurality of code blocks, further comprising:padding a plurality of zero bits to the first clock block.19.The method of anyone of claims 1 to 16,wherein segmenting a plurality of information bits to a plurality of code blocks, further comprising:padding a plurality of zero bits to the last clock block.20.A method comprising:obtaining a plurality of code words;decoding the plurality of code words to obtain a plurality of sequences, wherein the plurality of sequences correspond to a plurality of information bits that segmented to a plurality of code blocks based on at least one of the followings:a maximum code length, and a maximum information block size.21.The method claim 20,wherein segmenting a plurality of information bits to a plurality of code blocks comprises:determining a quantity of the plurality of code blocks.22.The method of claim 21,wherein segmenting a plurality of information bits to a plurality of code blocks, further comprising:determining a size of each code block in the plurality of code blocks.23.The method of claim 21 or 22,wherein a reduced buffer is enabled, determining the quantity of the plurality of code blocks based on the maximum information block size.24.The method of claim 23,wherein determining the quantity of the plurality of code blocks based on at least one of the followings:a transport block size, and a length of CRC sequence.25.The method of claim 21 or 22,wherein a reduced buffer is disabled, determining the quantity of the plurality of code blocks based on the maximum code length.26.The method of claim 25,wherein determining the quantity of the plurality of code blocks based on one or more of the followings:a total number of coded bits available for transmission, a transport block size, a minimum code rate for segmentation, and a length of CRC sequence.27.The method of claims 26,wherein the total number of coded bits available for transmission is related to one or more of the followings:a quantity of available resource elements, a modulation order, and a quantity of transmission layers.28.The method of claims 24,wherein the transport block size is related to one or more of the followings:a total number of coded bits available for transmission, the length of CRC sequence and a code rate obtained from a MCS table and MCS index.29.The method of anyone of claims 20-28,wherein the maximum code length is related to one or more of the followings:a full buffer size, sizes of a set of reduced buffers, the maximum information block size, and a type of code.30.The method of claim 26 or 27,wherein the minimum code rate for segmentation is greater than a minimum code rate for coding, and the minimum code rate for coding is related to the type of channel.31.The method of anyone of claims 21 to 30,wherein determining a size of each code block in the plurality of code blocks comprises:the size of each block in the plurality of code blocks is a mother code length, wherein the mother code length is a power-of-2 integer for polar codes.32.The method of anyone of claims 22 to 31,wherein determining a size of each code block in the plurality of code blocks comprises:if each code block has a same size, determining the size of each code block based on at least of one of the followings:a transport block size, the quantity of the plurality of code blocks, and a length of CRC sequence.33.The method of anyone of claims 22 to 31,wherein determining a size of each code block in the plurality of code blocks comprises:if the size of any of two code blocks in the plurality of code blocks is different determining a size of the code block of an index r of the plurality of code blocks based on at least of one of the followings:a transport block size, a quantity of the plurality of code blocks, wherein r is an integer.34.The method of anyone of claims 22 to 31,wherein determining a size of each code block in the plurality of code blocks, further comprises:if the size of any of two code blocks in the plurality of code blocks is different, determining a size of the code block of an index r of the plurality of code blocks based on at least of one of the followings:a transport block size, a quantity of the plurality of code blocks, and a length of CRC sequence of the code block of the index r, wherein r is an integer.35.The method of claims 33 or 34,wherein the first code block or the last block has a different size from other code blocks in the plurality of code blocks.36.The method of anyone of claims 20 to 35,wherein segmenting a plurality of information bits to a plurality of code blocks, further comprising:padding a same quantity of zero bits to each clock block.37.The method of anyone of claims 20 to 35,wherein segmenting a plurality of information bits to a plurality of code blocks, further comprising:padding a plurality of zero bits to the first clock block.38.The method of anyone of claims 20 to 35,wherein segmenting a plurality of information bits to a plurality of code blocks, further comprising:padding a plurality of zero bits to the last clock block.39.An apparatus, wherein the apparatus comprises a processor, wherein the processor is configured to execute one or more instructions stored in a memory, to enable the apparatus to implement the method according to any one of claims 1 to 19 or claims 20 to 38.40.An apparatus, wherein the apparatus comprises a function or unit to perform the method according to any one of claims 1 to 19 or perform the method according to any one of claims 20 to 38.41.A computer readable storage medium, comprising one or more instructions, wherein when the instructions are run on a computer, the computer performs the method according to any one of claims 1 to 19, or the method according to any one of claims 20 to 3842.A computer program product, comprising a non-transitory computer readable medium storing programming for execution by a processor, the programming including instructions to perform the method of any one of claims 1 to 19 or claims 20 to 38.
Citation Information
Patent Citations
Method and device for coding channel and method and device for decoding channel
CN101667884A
Efficient encoding / decoding for multiple-input multiple-output operating with two codewords
US20180175888A1
LDPC Code Block Segmentation
US20200235752A1
Code block segmentation method for apparatus in wireless communication system, and apparatus
WO2023058793A1