A communication method and apparatus
Patent Information
- Application Number
- CN202510530675.5
- Authority / Receiving Office
- CN · China
- Patent Type
- Applications(China)
- Current Assignee / Owner
- Filing Date
- 2025-04-24
- Publication Date
- 2026-10-27
AI Technical Summary
[0081]以上第三方面至第十一方面所带来的技术效果可参见上述第一方面至第二方面中相应方案有益效果的描述,此处不再赘述。
Smart Images

Figure CN122993877A_ABST
Abstract
Description
Technical Field
[0001] This application relates to the field of mobile communication technology, and in particular to a communication method and apparatus. Background Technology
[0002] In mobile communication technology, a transport block (TB) is the smallest unit of data transmitted at the physical layer, and the transport block size (TBS) represents the number of valid data bits contained in each transport block. A TB can be divided into multiple code blocks (CBs). A CB is the smallest unit of encoding; the information bits of each CB before encoding are encoded by an encoder to obtain the codeword sequence of the encoded CB. Regardless of how many CBs a TB is divided into, the code rate configured for each CB is the same; that is, by default, a TB will only carry data at one code rate.
[0003] However, with the continuous development of mobile communication scenarios, how to carry data of multiple bit rates within a TB is a technical problem that urgently needs to be solved. Summary of the Invention
[0004] This application provides a communication method and apparatus for carrying data of multiple bit rates within one TB, supporting more flexible communication scenarios.
[0005] In a first aspect, embodiments of this application provide an encoding method, which can be executed by a first device. Unless otherwise specified, the "first device" in this application can refer to the first device itself (e.g., a terminal, terminal device, or network device), a component used in the first device (e.g., a functional module, communication module, processor, circuit, chip, or chip system), or a logic module or software capable of implementing all or part of the functions of the first device. The component used in the first device can be within the first device or independent of it. The first device can be a transmitting device, and correspondingly, the receiving device is a second device. For example, if the first device is a terminal, the method shown in the first aspect can be applied to the terminal side, such as the terminal or its communication module, or the circuit or chip responsible for communication functions in the terminal (e.g., a modem chip, also known as a baseband chip, or a system-on-a-chip (SoC) chip containing a modem core, or a system-in-package (SIP) chip).
[0006] Taking a first device as the executing entity as an example, the method includes: the first device acquiring first data and second data, the first data corresponding to a first code rate and the second data corresponding to a second code rate; the first device outputting a first codeword and a second codeword, the first codeword being obtained based on the first data and the first code rate, and the second codeword being obtained based on the second data and the second code rate; wherein the first data and the second data belong to the same transport block, the first codeword and the second codeword correspond to the transport block, and the size of the transport block is determined based on the first code rate and / or the second code rate.
[0007] Based on the method described in the first aspect, the first device can carry at least first data and second data in the same transport block, and output a first codeword encoded according to the first data and a second codeword encoded according to the second data. Alternatively, the transport block can be divided into two or more parts, each part containing one or more CBs or code block groups (CBGs). Each part can contain or carry data at a certain code rate; that is, different parts can contain or carry data at different code rates, or different parts can be configured with different code rates. In the first aspect, the size of the transport block is determined based on the first code rate and / or the second code rate, thus supporting accurate determination of the transport block size to improve decoding accuracy.
[0008] In the first aspect, outputting the first codeword set and the second codeword set can also be replaced by: outputting encoding information, which includes the first codeword set and the second codeword set.
[0009] Secondly, embodiments of this application provide a decoding method, which can be executed by a second device. Unless otherwise specified, the "second device" in this application can refer to the second device itself (e.g., a terminal, terminal device, or network device), a component within the second device (e.g., a functional module, communication module, processor, circuit, chip, or chip system), or a logic module or software capable of implementing all or part of the functions of the second device. The components used in the second device can be within the second device or independent of it. The second device can be a receiving device. For example, if the second device is a network device, the method shown in the second aspect can be applied to the network device side, such as the network device or its communication module, or a circuit or chip responsible for communication functions within the network device (e.g., a modem chip, or a SoC chip or SIP chip containing a modem core).
[0010] Taking a second device as the executing entity as an example, the method includes: the second device acquiring information to be decoded, the information to be decoded including a first codeword and a second codeword; the second device decoding the information to be decoded to obtain first data and second data, the first data corresponding to a first code rate, the second data corresponding to a second code rate, the first codeword corresponding to the first data and the first code rate, and the second codeword corresponding to the second data and the second code rate; wherein the first data and the second data belong to the same transport block, the first codeword and the second codeword correspond to the transport block, and the size of the transport block is determined according to the first code rate and / or the second code rate.
[0011] Based on the method shown in the second aspect, the size of the transport block is determined according to the first code rate and / or the second code rate. Therefore, the second device can accurately determine the size of the transport block before decoding, so as to improve the decoding accuracy when the same transport block carries data with multiple code rates.
[0012] In the second aspect, obtaining the information to be decoded can also be replaced by obtaining the first codeword set and the second codeword set.
[0013] In one possible implementation of the first and / or second aspect, the size of the transport block is determined based on the first code rate and the second code rate, including: the size of the transport block is determined based on a third code rate, which is determined based on the first code rate and the second code rate. Since the third code rate is determined based on the first and second code rates, it can also be said that the number of information bits carried by the first code block set is determined based on the size of the transport block, the first code rate, and the second code rate, and the number of information bits carried by the second code block set is determined based on the size of the transport block, the first code rate, and the second code rate.
[0014] Based on this implementation, the third bitrate can be determined according to the first and second bitrates, and then the transport block size can be determined according to the third bitrate. Therefore, the transport block size can be accurately determined given the first and second bitrates. As one possible implementation, the third bitrate can be a weighted sum of the first and second bitrates. In other implementations, the third bitrate can also be considered to have a correspondence with the first and / or second bitrates; for example, the third bitrate corresponding to the first and / or second bitrates can be defined in a table.
[0015] For example, the transport block size TBS satisfies: Where C satisfies: k max This represents the maximum number of information bits that a single CB can carry. N′ info satisfy: Ninfo Satisfy: N info =N RE ·R Total ·Q m ·v,R Total Indicates the third bit rate. R Total It is determined based on the first bit rate and the second bit rate. N RE Satisfy: N RE =N′ RE *n PRB n PRB This indicates the number of allocated physical resource blocks (PRBs). This represents the number of subcarriers on a PRB. This represents the number of orthogonal frequency division multiplexing (OFDM) symbols used for data transmission in a time slot. This indicates the number of resource elements (REs) occupied by the demodulation reference signal (DMRS) on each PRB within the scheduling period. This represents the header overhead. R represents the bitrate, and Q represents the bitrate. m represents the modulation order, and v represents the transmission layer. round() indicates rounding.
[0016] In one possible implementation of the first aspect and / or the second aspect, the first codeword may refer to a set of codewords, for example, referred to as the first codeword set. The first codeword may also be replaced by the first codeword set, wherein the first codeword set includes one or more codewords, any codeword being obtained by encoding a code block from the first code block set. The second codeword may refer to a set of codewords, for example, referred to as the second codeword set. That is, the second codeword may also be replaced by the second codeword set, wherein the second codeword set includes one or more codewords, any codeword being obtained by encoding a code block from the second code block set.
[0017] In one possible implementation of the first aspect and / or the second aspect, the transport block includes a first code block set and a second code block set, the first codeword corresponds to the first code block set, and the number of information bits carried by the first code block set is determined according to the size of the transport block, the first code rate, and the third code rate; the second codeword corresponds to the second code block set, and the number of information bits carried by the second code block set is determined according to the size of the transport block, the second code rate, and the third code rate.
[0018] Based on this implementation, the number of information bits carried by the first code block set corresponding to the first codeword can be accurately determined according to the transport block size, the first code rate, and the third code rate. The first device encodes and transmits the first data according to this number of information bits, and the second device decodes the first data according to this number of information bits, thereby improving the decoding accuracy of the first data. Similarly, the number of information bits carried by the second code block set corresponding to the second codeword can be accurately determined according to the transport block size, the second code rate, and the third code rate, so as to transmit and receive the second data and improve the decoding accuracy of the first data.
[0019] In one possible implementation of the first aspect and / or the second aspect, the first codeword occupies L1 resource units, and the second codeword occupies L2 resource units, where L1 and L2 are both positive integers; the first codeword corresponds to a first code block set in the transport block, and the number of information bits carried by the first code block set is further determined according to L1 and / or L2; the second codeword corresponds to a second code block set in the transport block, and the number of information bits carried by the second code block set is further determined according to L1 and / or L2.
[0020] Based on this implementation, the number of information bits carried by the first code block set and the number of information bits carried by the second code block set can also be determined according to the size of the resource unit corresponding to the first code word and / or the second code word, further improving the accuracy of the determined number of information bits carried by the first code block set and the number of information bits carried by the second code block set.
[0021] For example, TBS i satisfy: Where i = 1, 2, TBS1 represents the number of information bits carried by the first code block set, and TBS2 represents the number of information bits carried by the second code block set. R i Let α represent the i-th bit rate; for example, R1 represents the first bit rate, and R2 represents the second bit rate. i This represents the weighting coefficient corresponding to the i-th code rate. The weighting coefficient is determined based on L1 and / or L2. For example, α i satisfy:
[0022] In one possible implementation of the first aspect and / or the second aspect, the L1 resource units and the L2 resource units satisfy one or more of time division multiplexing, frequency division multiplexing, or space division multiplexing.
[0023] Based on this implementation, the first codeword and the second codeword can be transmitted through one or more of the following methods: time division multiplexing, frequency division multiplexing, or space division multiplexing, in order to reduce interference between the first codeword and the second codeword.
[0024] In one possible implementation of the first aspect and / or the second aspect, the first device may send or receive at least one of the following information: indication information of the first bit rate; indication information of the second bit rate. That is, based on the above implementation, the first device and / or the second device may send or receive indication information of the first bit rate, and / or send indication information of the second bit rate.
[0025] In one possible implementation of the first aspect and / or the second aspect, the transport block includes a first code block set and a second code block set, the first codeword corresponds to the first code block set, and the second codeword corresponds to the second code block set; the size of the transport block is determined according to the first code rate and the second code rate, including: the size of the transport block is determined according to the number of information bits carried by the first code block set and the number of information bits carried by the second code block set, the number of information bits carried by the first code block set is determined according to the number of available resource elements on the time-frequency resources occupied by the first code block set and the first code rate, and the number of information bits carried by the second code block set is determined according to the number of available resource elements on the time-frequency resources occupied by the second code block set and the second code rate.
[0026] The number of available resource elements on the time-frequency resources occupied by the first code block set and / or the number of available resource elements on the time-frequency resources occupied by the second code block set can be configured parameters.
[0027] Based on this implementation, the size of the transport block can be determined according to the number of information bits carried by the first code block set and the number of information bits carried by the second code block set. Therefore, the transport block size can be accurately determined given the first code rate and the second code rate. As one possible implementation, the number of information bits carried by the first code block set is determined based on the number of available resource elements on the time-frequency resources occupied by the first code block set and the first code rate, and the number of information bits carried by the second code block set is determined based on the number of available resource elements on the time-frequency resources occupied by the second code block set and the second code rate.
[0028] For example, TBS i satisfy: Where i = 1, 2, TBS1 represents the number of information bits carried by the first code block set, and TBS2 represents the number of information bits carried by the second code block set. satisfy: satisfy: R represents the number of available REs on the time-frequency resources occupied by the i-th CB. i Let C represent the i-th code rate. C satisfies: k maxThis indicates the maximum number of information bits that a CB can carry.
[0029] In one possible implementation of the first aspect and / or the second aspect, the first code block set includes X code blocks, wherein X is determined based on the maximum value of the number of information bits carried by the first code block set and the number of information bits carried by a code block in the first code block set; the second code block set includes Y code blocks, wherein Y is determined based on the maximum value of the number of information bits carried by the second code block set and the number of information bits carried by a code block in the second code block set.
[0030] Based on this implementation method, it is possible to use TBS i and k max Determine the number of code blocks contained in the i-th code block to accurately determine the number of code blocks contained in the first code block set and / or the second code block set, thereby improving decoding accuracy. Where k... max This represents the maximum number of information bits that a single CB can carry. Optionally, k corresponds to the first data. max k corresponding to the second data max They can be different; that is, "the maximum number of information bits carried by a code block in the first code block set" and "the maximum number of information bits carried by a code block in the second code block set" can be different.
[0031] In one possible implementation of the first aspect and / or the second aspect, at least one of the following information may be sent by the first device and received by the second device: indication information of the first bit rate; indication information of the second bit rate. Alternatively, at least one of the following information may be sent by the second device and received by the first device: indication information of the first bit rate; indication information of the second bit rate. That is, based on the above implementation, the first device and the second device can indicate the first bit rate and / or the second bit rate to achieve flexible indication of the first bit rate and / or the second bit rate.
[0032] In one possible implementation of the first and / or second aspects, the indication information of the third code rate can be sent by the first device and received by the second device. Alternatively, the indication information of the third code rate can be sent by the second device and received by the first device. That is, based on the above implementation, the first device and the second device can indicate the third code rate to achieve flexible indication of the third code rate.
[0033] In one possible implementation of the first and / or second aspect, the transport block includes a first code block set and a second code block set. The size of the transport block is determined according to the first code rate or the second code rate. The transport block includes N code blocks, where N is a positive integer. The first codeword corresponds to the first code block set, which includes X code blocks. The number of information bits carried by the first code block set is determined according to the size of the transport block, X, and N, where X is a positive integer and N is greater than X. The second codeword corresponds to the second code block set, and the number of information bits carried by the second code block set is determined according to the size of the transport block and the number of information bits carried by the first code block set. That is, the number of information bits carried by the second code block set is equal to the size of the transport block minus the number of information bits carried by the first code block set.
[0034] Based on this implementation method, the transport block size can be accurately determined when the first code rate or the second code rate is known, and the number of information bits carried by X or the first code block set is known.
[0035] For example, the transport block size TBS satisfies: Where C satisfies: k max This represents the maximum number of information bits that a single CB can carry. N′ info satisfy: N info Satisfy: N info =N RE ·R1·Q m ·v, or, N info =N RE ·R2·Q m ·v. Where R1 represents the first bit rate, and R2 represents the second bit rate. N RE Satisfy: N RE =N′ RE *n PRB n PRB This indicates the number of PRBs that have been allocated. This represents the number of subcarriers on a physical resource module. This represents the number of orthogonal frequency division multiplexing symbols used for data transmission in a time slot. This indicates the number of REs occupied by DMRS on each PRB within the scheduling period. This represents the header overhead. R represents the bitrate, and Q represents the bitrate. m This indicates the modulation order, and v indicates the number of transmission layers. round() indicates rounding.
[0036] in addition, Here, TBS1 can represent the number of information bits that the first CB set can (or may) carry, that is, the maximum number of information bits that the first CB set can carry. TBS1 is greater than or equal to the number of information bits of the first data. The actual number of information bits carried by TBS1 can be the number of information bits of the first data.
[0037] In one possible implementation of the first aspect and / or the second aspect, the number of information bits carried by the first code block set is equal to the number of information bits of the first data.
[0038] Based on this implementation, the number of information bits in the first data can represent the minimum amount of data that needs to be transmitted. X (or the number of information bits carried by the first code block set) can be determined based on the number of information bits in the first data; that is, X (or the number of information bits carried by the first code block set) should ensure that the number of information bits carried by the first code block set is greater than or equal to the number of information bits in the first data to meet the transmission requirements of the first data. For example, when the first data is uplink control information, the number of information bits in the first data can be the uplink control information payload size.
[0039] In one possible implementation of the first aspect and / or the second aspect, the resource units occupied by the first codeword and the resource units occupied by the second codeword satisfy one or more of time division multiplexing, frequency division multiplexing, or space division multiplexing.
[0040] Based on this implementation, the first codeword and the second codeword can be transmitted through one or more of the following methods: time division multiplexing, frequency division multiplexing, or space division multiplexing, in order to reduce interference between the first codeword and the second codeword.
[0041] In one possible implementation of the first aspect and / or the second aspect, at least one of the following information may be sent by the first device and received by the second device: indication information of the first bit rate; indication information of the second bit rate. Alternatively, at least one of the following information may be sent by the second device and received by the first device: indication information of the first bit rate; indication information of the second bit rate. That is, based on the above implementation, the first device and the second device can indicate the first bit rate and / or the second bit rate to achieve flexible indication of the first bit rate and / or the second bit rate.
[0042] In one possible implementation of the first aspect and / or the second aspect, at least one of the following information may be sent by the first device and received by the second device: an indication of the number of information bits of the first data; or, an indication of X. Alternatively, at least one of the following information may be sent by the second device and received by the first device: an indication of the number of information bits of the first data; or, an indication of X. That is, based on the above implementation, the first device and the second device can indicate the number of information bits and / or X of the first data to achieve flexible indication of the number of information bits and / or X of the first data.
[0043] In one possible implementation of the first and / or second aspect, the transport block includes a first code block set and a second code block set, a first codeword corresponds to the first code block set, the first code block set includes X code blocks, the second codeword corresponds to the second code block set, and the size of the transport block is equal to the sum of the number of information bits carried by the first code block set and the number of information bits carried by the second code block set, where X is a positive integer; wherein, the number of information bits carried by the first code block set is determined based on the size of the third transport block and X, and the size of the third transport block is determined based on the second code rate. Alternatively, the number of information bits carried by the second code block set is determined based on the size of the third transport block and N, or in other words, the number of information bits carried by the second code block set is determined based on the size of the third transport block and X and N, where N is a variable. It can also be said that the number of information bits carried by the first code block set is determined based on the second code rate and X, specifically by determining the size of the third transport block based on the second code rate, and then determining the number of information bits carried by the first code block set based on the size of the third transport block and X.
[0044] Based on this implementation, the transport block size can be accurately determined when the second code rate is known and the number of information bits or X carried by the first code block set is known, thereby improving decoding accuracy.
[0045] For example, the size of the third transport block can be denoted as TBS′, and TBS′ satisfies: Where, N′ info satisfy: N info Satisfy: N info =N RE ·R2·Q m v. C satisfies: k max This indicates the maximum number of information bits that a CB can carry.
[0046] The transport block size (TBS) satisfies: For example, when the data in the transport block consists of first data and second data, the first device can determine the size of the transport block by summing the information bits carried by the first CB set and the second CB set.
[0047] The number of information bits TBS1 carried by the first code block set satisfies: The number of information bits carried by the second code block set, TBS2, satisfies: TBS2 = (NX) * K. Here, K represents the number of information bits carried by a CB in the transport block. K can be determined based on TBS′.
[0048] In one possible implementation of the first aspect and / or the second aspect, the number of information bits carried by the first code block set is determined based on the number of information bits carried by a code block in the first code block set and X, wherein the number of information bits carried by a code block in the first code block set is determined based on the first code rate, the second code rate, and the first number of information bits, and the first number of information bits is determined based on the size of the third transport block. Alternatively, the number of information bits carried by a code block in the first code block set is determined based on the first code rate and the second code rate. One implementation involves determining the size of the third transport block based on the second code rate, then determining the first number of information bits based on the size of the third transport block, and finally determining the number of information bits carried by a code block in the first code block set based on the first code rate, the second code rate, and the first number of information bits.
[0049] Based on this implementation, the number of information bits carried by the first code block set can be determined according to the first code rate, the second code rate, and X, thereby improving decoding accuracy. The number of information bits K1 carried by a code block in the first code block differs from the number of information bits K carried by a code block in the second code block. For example,
[0050] In one possible implementation of the first aspect and / or the second aspect, at least one of the following information may be sent by the first device and received by the second device: indication information of the first bit rate; indication information of the second bit rate. Alternatively, at least one of the following information may be sent by the second device and received by the first device: indication information of the first bit rate; indication information of the second bit rate. That is, based on the above implementation, the first device and the second device can indicate the first bit rate and / or the second bit rate to achieve flexible indication of the first bit rate and / or the second bit rate.
[0051] In one possible implementation of the first aspect and / or the second aspect, at least one of the following information may be sent by the first device and received by the second device: an indication of the number of information bits of the first data; or, an indication of X. Alternatively, at least one of the following information may be sent by the second device and received by the first device: an indication of the number of information bits of the first data; or, an indication of X. That is, based on the above implementation, the first device and the second device can indicate the number of information bits and / or X of the first data to achieve flexible indication of the number of information bits and / or X of the first data.
[0052] In one possible implementation of the first aspect and / or the second aspect, the transport block includes a first code block set and a second code block set; the first codeword corresponds to the first code block set, the second codeword corresponds to the second code block set, and the size of the transport block is equal to the sum of the number of information bits carried by the first code block set and the number of information bits carried by the second code block set; wherein, the number of information bits carried by the first code block set is determined based on the size of the third transport block, a first value of the number of code blocks in the first code block set, and an adjustment value of the number of code blocks in the first code block set; or, the number of information bits carried by the first code block set is determined based on the size of the third transport block, a second value of the number of code blocks in the first code block set, and the second value of the number of code blocks in the first code block set is determined based on the first value of the number of code blocks in the first code block set and an adjustment value of the number of code blocks in the first code block set; and the size of the third transport block is determined based on the first code rate or the second code rate.
[0053] Alternatively, the number of information bits carried by the first code block set can be determined based on a first value for the number of code blocks in the first code block set, an adjustment value for the number of code blocks in the first code block set, and the first code rate or the second code rate. One possible implementation is to determine the size of the third transport block based on the first code rate or the second code rate, and then determine the number of information bits carried by the first code block set based on the size of the third transport block, the first value for the number of code blocks in the first code block set, and the adjustment value for the number of code blocks in the first code block set. Alternatively, the number of information bits carried by the first code block set can be determined based on a second value for the number of code blocks in the first code block set, and the first code rate or the second code rate. One possible implementation is to determine the size of the third transport block based on the first code rate or the second code rate, and then determine the number of information bits carried by the first code block set based on the size of the third transport block and the second value for the number of code blocks in the first code block set.
[0054] In addition, the number of information bits carried by the second code block set is determined based on a first value of the number of code blocks in the first code block set, and the first code rate or the second code rate.
[0055] Based on this implementation, the transport block size can be accurately determined when the second code rate is known, and the second value of the number of information bits carried by the first code block set or the number of code blocks in the first code block set is known, thereby improving decoding accuracy.
[0056] For example, the transport block size TBS satisfies: i = 0, 1, ..., m-1, where m is a positive integer greater than 1.
[0057] The number of information bits carried by the first code block set, TBS1, satisfies: K*X. When each code block in the second code block set carries the same number of information bits (K), TBS2 = (N-X')*K. X, K, and X' are all positive integers.
[0058] In one possible implementation of the first aspect and / or the second aspect, the number of information bits carried by a code block in the first code block set is determined according to the size of the third transport block.
[0059] Based on this implementation, the number of information bits K carried by a code block in the first code block set can be accurately determined according to the size of the third transport block, thereby improving decoding accuracy.
[0060] In one possible implementation of the first aspect and / or the second aspect, at least one of the following information may be sent by the first device and received by the second device: indication information of the first bit rate; indication information of the second bit rate. Alternatively, at least one of the following information may be sent by the second device and received by the first device: indication information of the first bit rate; indication information of the second bit rate. That is, based on the above implementation, the first device and the second device can indicate the first bit rate and / or the second bit rate to achieve flexible indication of the first bit rate and / or the second bit rate.
[0061] In one possible implementation of the first aspect and / or the second aspect, at least one of the following information may be sent by the first device and received by the second device: indication information of a first value of the number of code blocks in the first code block set, indication information of an adjustment value of the number of code blocks in the first code block set, or indication information of a second value of the number of code blocks in the first code block set. Alternatively, at least one of the following information may be sent by the second device and received by the first device: indication information of a first value of the number of code blocks in the first code block set, indication information of an adjustment value of the number of code blocks in the first code block set, or indication information of a second value of the number of code blocks in the first code block set. That is, based on the above implementation, the first device and the second device can indicate the second value of the number of code blocks in the first code block set to achieve flexible determination of the second value of the number of code blocks in the first code block set.
[0062] Thirdly, a communication device is provided. The device can implement the methods described in any one of the first to second aspects and any possible implementation thereof. The device possesses the functions of the first or second device described above. The device is, for example, a terminal device, a functional module within a terminal device, or a network device or a functional module or component within a network device (e.g., a functional module, communication module, processor, circuit, chip, or chip system, etc.).
[0063] In one optional implementation, the device may include modules corresponding one-to-one with the methods / operations / steps / actions described in any of the first to second aspects and any possible implementations thereof. These modules may be hardware circuits, software, or a combination of hardware circuits and software. In another optional implementation, the device includes a processing unit (sometimes also called a processing module) and a communication unit (sometimes also called a transceiver module, communication module, etc.). The transceiver unit is capable of both sending and receiving functions. When the transceiver unit performs the sending function, it may be called a sending unit (sometimes also called a sending module); when it performs the receiving function, it may be called a receiving unit (sometimes also called a receiving module). The sending unit and the receiving unit may be the same functional module, referred to as the transceiver unit, which performs both sending and receiving functions; or, the sending unit and the receiving unit may be different functional modules, with the transceiver unit being a collective term for these functional modules.
[0064] For example, when the apparatus is used to perform the method described in any one of the first to second aspects, the apparatus may include a communication unit and a processing unit.
[0065] The aforementioned communication device may be a terminal, a communication module in a terminal, or a chip in a terminal that is responsible for communication functions, such as a modem chip (also known as a baseband chip) or a SoC or SIP chip containing a modem module.
[0066] Fourthly, embodiments of this application also provide a communication device, including a processor for executing a computer program (or computer-executable instructions) stored in a memory, which, when executed, causes the device to perform the method as described in any one of the first to second aspects and any possible implementation thereof.
[0067] In one possible implementation, the processor and memory are integrated together;
[0068] In another possible implementation, the memory is located outside the communication device.
[0069] The communication device also includes a communication interface for communicating with other devices, such as sending or receiving data and / or signals. Exemplarily, the communication interface may be a transceiver, circuit, bus, module, or other type of communication interface.
[0070] The aforementioned communication device may be a terminal, a communication module in a terminal, or a chip in a terminal that is responsible for communication functions, such as a modem chip (also known as a baseband chip) or a SoC or SIP chip containing a modem module.
[0071] Fifthly, this application provides a communication device comprising a memory and one or more processors. The memory stores part or all of the necessary computer programs or instructions for implementing the functions described in the first aspect above. The one or more processors are capable of executing the computer programs or instructions, which, when executed, cause the communication device to implement the methods in any possible design or implementation of the first aspect above.
[0072] In one possible design, the communication device may further include an interface circuit, wherein the processor is used to communicate with other devices or components through the interface circuit.
[0073] The aforementioned communication device may be a terminal, a communication module in a terminal, or a chip in a terminal that is responsible for communication functions, such as a modem chip (also known as a baseband chip) or a SoC or SIP chip containing a modem module.
[0074] A sixth aspect provides a computer-readable storage medium for storing a computer program or instructions that, when executed, cause the methods described in any of the first to second aspects and any possible implementations thereof, and the methods shown in any possible implementations thereof, to be implemented.
[0075] In a seventh aspect, a computer program product containing instructions is provided, which, when run on a computer, enables the method described in any one of the first to second aspects and any possible implementation thereof to be implemented.
[0076] Eighthly, embodiments of this application also provide a communication device for performing the method described in any one of the first to second aspects and any possible implementation thereof.
[0077] Ninthly, a chip system is provided, comprising logic circuitry (or, as understood, a processor, which may include logic circuitry, etc.), and further comprising input / output interfaces. The input / output interfaces can be used to input messages or to output messages. The input / output interfaces can be the same interface, i.e., the same interface can implement both sending and receiving functions; or, the input / output interface includes an input interface and an output interface, the input interface being used to implement the receiving function, i.e., to receive messages; and the output interface being used to implement the sending function, i.e., to send messages. The logic circuitry can be used to perform operations other than the sending and receiving functions in the methods described in any of the first to second aspects and any possible implementations thereof; the logic circuitry can also be used to transmit messages to the input / output interfaces or to receive messages from other communication devices from the input / output interfaces. The chip system can be used to implement the methods described in any of the first to second aspects and any possible implementations thereof. The chip system can be composed of chips or can include chips and other discrete devices.
[0078] Optionally, the chip system may also include a memory, which can be used to store instructions, and the logic circuits can call the instructions stored in the memory to implement the corresponding functions.
[0079] In a tenth aspect, a communication method is provided, which may include the method implemented by a first device as shown in the first aspect and any possible implementation thereof, and the method implemented by a second device as shown in the second aspect and any possible implementation thereof.
[0080] Eleventhly, a communication system is provided, which may include a first device and a second device. The first device may be used to implement the method shown in the first aspect and any possible implementation thereof, and the second device may be used to implement the method shown in the second aspect and any possible implementation thereof.
[0081] The technical effects brought about by the third to eleventh aspects above can be found in the descriptions of the beneficial effects of the corresponding solutions in the first and second aspects above, and will not be repeated here. Attached Figure Description
[0082] Figure 1 This application provides a schematic diagram of the architecture of a wireless communication system.
[0083] Figure 2 A schematic diagram illustrating an encoding and decoding process provided for an embodiment of this application;
[0084] Figure 3 This is a schematic diagram of the structure of an encoding module provided in an embodiment of this application;
[0085] Figure 4 This is a schematic diagram of the structure of a decoding module provided in an embodiment of this application;
[0086] Figure 5 and Figure 6 These are schematic diagrams illustrating one method for determining the transport block size;
[0087] Figure 7 and Figure 8 These are schematic diagrams illustrating how a transport block is divided into code blocks;
[0088] Figure 9 and Figure 16 These are schematic flowcharts illustrating a communication method provided in an embodiment of this application;
[0089] Figure 10 , Figure 14 and Figure 15 These are schematic diagrams illustrating the correspondence between code blocks and data rates within a transport block, as provided in embodiments of this application.
[0090] Figure 11 , Figure 12 and Figure 13 These are schematic diagrams showing the resource units occupied by the first code block set and the resource units occupied by the second code block set, respectively, according to embodiments of this application.
[0091] Figure 17 and Figure 18 These are schematic diagrams of a communication device provided in an embodiment of this application;
[0092] Figure 19 This is a schematic diagram of a chip system provided in an embodiment of this application. Detailed Implementation
[0093] In the embodiments of this application, words such as "exemplarily" and "for example" are used to indicate examples, illustrations, or descriptions. Any embodiment or design scheme described as an "example" in this application should not be construed as being more preferred or advantageous than other embodiments or design schemes. Specifically, the use of the term "example" is intended to present concepts in a concrete manner. In the embodiments of this application, "of," "relevant," and "corresponding" may sometimes be used interchangeably, and it should be noted that their intended meanings are consistent unless their distinction is emphasized.
[0094] The technical solutions of this application can be applied to various wireless communication systems, such as Universal Mobile Telecommunications System (UMTS), Wireless Local Area Network (WLAN), short-range wireless communication systems (such as sidelink, Wireless Fidelity (Wi-Fi), Bluetooth, etc.), wired networks, vehicle-to-everything (V2X) communication systems, device-to-device (D2D) communication systems, vehicle-to-everything (V2X) communication systems, 4th generation (4G) mobile communication systems (such as Long Term Evolution (LTE) systems), LTE Frequency Division Duplex (FDD) systems, LTE Time Division Duplex (TDD) systems, 5G mobile communication systems (such as New Radio (NR) systems), Future Communications systems, or other similar communication systems, and are not limited thereto. The embodiments of this application use... Figure 1 The communication system shown is used as an example for description. When the technical solutions of the embodiments of this application are applied to other communication systems, the devices, components, modules, etc. in the embodiments can be replaced with corresponding devices, components, modules in other communication systems without limitation.
[0095] Figure 1 This is a schematic diagram of the architecture of the communication system used in the embodiments of this application. Figure 1 As shown, the communication system includes an access network 100. Optionally, the communication system may also include a core network 200 and an Internet 300. The access network 100 may include at least one network device, such as... Figure 1 110a and 110b may also include at least one terminal device, such as Figure 1The series consists of 120a-120j. Specifically, 110a is a base station, 110b is a micro-station, 120a, 120e, 120f, and 120j are mobile phones, 120b is a car, 120c is a fuel dispenser, 120d is a home access point (HAP) deployed indoors or outdoors, 120g is a laptop, 120h is a printer, and 120i is a drone. The same terminal device or network device can provide different functions in different application scenarios. For example... Figure 1 The mobile phones included are 120a, 120e, 120f, and 120j. Mobile phone 120a can access base station 110a, connect to car 120b, communicate directly with mobile phone 120e, and access HAP. Car 120b can access HAP and communicate directly with mobile phone 120a. Mobile phone 120f can access micro-station 110b, connect to laptop 120g, and connect to printer 120h. Mobile phone 120j can control drone 120i.
[0096] The communication system provided in this application may also include artificial intelligence (AI) network elements to implement some or all AI-related operations. AI network elements can also be referred to as AI nodes, AI devices, AI entities, AI modules, AI models, or AI units, etc. The AI network elements may be built into the network elements of the communication system. For example, an AI network element may be an AI module built into: access network equipment, core network equipment, cloud servers, or operation, administration, and maintenance (OAM) systems to implement AI-related functions. The OAM system may act as the network management system for core network equipment and / or access network equipment. Alternatively, the AI network element may be an independently configured network element within the communication system. Optionally, the terminal or its built-in chip may also include an AI entity to implement AI-related functions.
[0097] (1) Network equipment
[0098] A network device is a network-side device with wireless transceiver capabilities. A network device can be a device in a radio access network (RAN) that provides wireless communication capabilities to terminal devices; this is called RAN equipment. The RAN can be an access network within the 3rd Generation Partnership Project (3GPP), such as 4G, 5G, or future networks. The RAN can also be an open RAN (O-RAN / ORAN), a cloud radio access network (CRAN), or a communication network combining two or more of these.
[0099] RAN equipment can also be a base station, an evolved NodeB (eNodeB), a transmission reception point (TRP), a next-generation NodeB (gNB) in a 5G mobile communication system, a base station in a future mobile communication system, or an access node in a WiFi system, etc.
[0100] RAN equipment can also be modules or units that perform some of the functions of a base station. For example, it can be a central unit (CU), a distributed unit (DU), or a radio unit (RU). The CU performs the functions of the radio resource control (RRC) and packet data convergence protocol (PDCP) of the base station, and can also perform the functions of the service data adaptation protocol (SDAP). The CU can be further divided into a CU control plane (CP) (i.e., CU-CP) and a CU user plane (UP) (i.e., CU-UP). The DU performs the functions of the radio link control (RLC) layer and medium access control (MAC) layer of the base station, and can also perform some or all of the physical layer functions. For specific descriptions of the above protocol layers, please refer to the relevant 3GPP technical specifications. The CU and DU can be set up separately, or they can be included in the same network element, such as in the baseband unit (BBU). The RU can be included in radio frequency equipment or radio frequency units, such as in a remote radio unit (RRU), an active antenna unit (AAU), or a remote radio head (RRH). In different systems, CU, DU, or RU may have different names, but those skilled in the art will understand their meaning. For example, in an ORAN system, CU can also be called O-CU (open CU), DU can also be called O-DU, and RU can also be called O-RU. Any of the units among CU (or CU-CP, CU-UP), DU, and RU in this application can be implemented through software modules, hardware modules, or a combination of software and hardware modules. RAN equipment can be a macro base station (such as...) Figure 1 110a in the text), can also be a micro base station or an indoor station (such as... Figure 1 110b) in the above can also be a relay node or a donor node, etc. The embodiments of this application do not limit the specific technology or device form used in the network equipment. RAN equipment typically contains communication modules, circuits, or chips that perform corresponding communication functions. RAN equipment may also be configured with program instructions for performing corresponding communication functions and corresponding program instructions.
[0101] In the embodiments of this application, the functions of the network device can be executed by modules (such as chips) within the network device, or by a control subsystem that includes the functions of the network device. This control subsystem, which includes the functions of the network device, can be a control center in the aforementioned application scenarios such as smart grids, industrial control, intelligent transportation, and smart cities.
[0102] (2) Terminal equipment
[0103] A terminal device is a user-side device with wireless transceiver capabilities. A terminal device can be a device or module that connects to the aforementioned communication system and possesses corresponding communication functions. Terminal devices can also be called terminals, user equipment (UE), mobile stations, mobile terminals, etc. Terminal devices can be widely used in various scenarios, such as D2D communication, V2X communication, machine-type communication (MTC), the Internet of Things (IoT), virtual reality, augmented reality, industrial control, autonomous driving, telemedicine, smart grids, smart furniture, smart offices, smart wearables, intelligent transportation, and smart cities. Terminal devices can be mobile phones, tablets, computers with wireless transceiver capabilities, wearable devices, vehicle devices (such as vehicle units, in-vehicle modules, in-vehicle chips, on-board units (OBUs) or telematics boxes (T-BOXs), etc.), drones, helicopters, airplanes, ships, robots, robotic arms, smart home devices, satellite terminals, Internet of Things (IoT) terminals, virtual reality (VR) devices, augmented reality (AR) devices, smart point-of-sale (POS) machines, customer-premises equipment (CPE), light user equipment (UE), reduced capability UE (REDCAP UE), etc. In the embodiments of this application, the device used to implement the functions of the terminal device can be the terminal device itself, or a device capable of supporting the terminal device in implementing that function, such as a chip system or a combination of devices or components capable of implementing the functions of the terminal device. This device can be installed in the terminal device. The embodiments of this application do not limit the specific technology or specific device form used in the terminal device. Terminal devices typically contain communication modules, circuits, or chips that perform corresponding communication functions. They may also contain program instructions configured to perform these functions.
[0104] In this embodiment of the application, the functions of the terminal device can also be performed by modules (such as chips or modems) in the terminal device, or by a device containing the functions of the terminal device.
[0105] Network devices and terminal devices can be fixed in location or mobile. They can be deployed on land, including indoors or outdoors, handheld or vehicle-mounted; they can also be deployed on water; and they can also be deployed in the air on airplanes, balloons, and artificial satellites. The embodiments of this application do not limit the application scenarios of the network devices and terminal devices.
[0106] The roles of network devices and terminal devices can be relative, for example, Figure 1 The helicopter or drone 120i can be configured as a mobile network device. For terminal devices 120j that access the wireless access network 100 via 120i, terminal device 120i is a network device; however, for network device 110a, 120i is a terminal device, meaning that 110a and 120i communicate via a wireless air interface protocol. Of course, 110a and 120i can also communicate via a network device-to-network device interface protocol; in this case, 120i is also a network device relative to 110a. Therefore, both network devices and terminal devices can be collectively referred to as communication devices. Figure 1 110a and 110b can be referred to as communication devices with network equipment functions. Figure 1 The 120a-120j in the text can be referred to as communication devices with terminal equipment functions.
[0107] Network devices and terminal devices, network devices and network devices, and terminal devices can communicate through licensed spectrum, unlicensed spectrum, or both simultaneously, without limitation.
[0108] The network architecture and business scenarios described in this application are intended to more clearly illustrate the technical solutions of the embodiments of this application, and do not constitute a limitation on the technical solutions provided in the embodiments of this application. As those skilled in the art will know, with the evolution of network architecture and the emergence of new business scenarios, the technical solutions provided in the embodiments of this application are also applicable to similar technical problems.
[0109] The following is an explanation of the relevant terms used in the embodiments of this application. Unless otherwise specified, these explanations are provided to support the meaning of the relevant terms and to make the embodiments of this application easier to understand, and should not be regarded as a strict limitation of the relevant terms within the scope of protection claimed by this application.
[0110] (1) Channel coding and channel decoding
[0111] The technical solutions provided in this application can be applied to channel coding / decoding between communication devices. Channel coding / decoding between communication devices can include: channel coding / decoding between network devices and terminals, channel coding / decoding between network devices, and channel coding / decoding between terminals. In this application, the term "channel coding / decoding" can also be simply referred to as "coding," and the term "coding" can also be described as "channel encoding / decoding," "network coding," "external code," or "source-channel joint encoding / decoding." The term "coding structure" can also be simply referred to as "coding," "code type," or "code design," and the term "coding structure" can also be described as "concatenated code," "layered code," "coupled code," "external code," "sliding window code," "product code," or "ladder code."
[0112] Optionally, this application relates to a mobile communication chip system, wherein the mobile communication chip system is divided into two parts: downlink processing and uplink processing. For example, such as... Figure 2 As shown, in downlink processing, layer 2 (L2) data can be encoded, modulated, layer mapped, precoded, framed, and subjected to inverse fast Fourier transform (IFFT). Finally, it is processed into an over-the-air signal by the intermediate frequency / radio frequency (IF / RF) module. The IF / RF module... Figure 2 The received signal can be represented by an IRF (Integrated Radio Frequency). In uplink processing, the received signal can be processed by the IRF to obtain baseband data, and then physical layer signal processing is completed through Fast Fourier Transform (FFT), deframe, equalization, de-mapping, demodulation, and decoding. This application can be applied to the encoding and decoding modules in mobile communication chip system architectures and is an important component of the baseband processing system. For example, in downlink transmission, embodiments of this application can be applied to the encoding module of network equipment and the decoding module of terminal equipment. In uplink transmission, embodiments of this application can be applied to the encoding module of terminal equipment and the decoding module of network equipment.
[0113] Optionally, the encoding module can be an encoding processing unit chip. For example, such as... Figure 3As shown, the encoding processing unit chip may include a computing unit, a control unit, and a storage unit. The computing unit can complete the encoding process through the following workflow: transport block (TB) cyclic redundancy check (CRC) calculation, code block segmentation, code block (CB) CRC calculation, encoding, and code block concatenation. Optionally, after the TB CRC check calculation, base graph (BG) selection can be performed.
[0114] Optionally, the decoding module can be a decoding processing unit chip. For example, such as... Figure 4 As shown, the decoding processing unit chip may include a computing unit, a control unit, and a storage unit. The computing unit can complete the decoding process through the following workflow: rate matching, hybrid automatic repeat request (HARQ) merging, decoding, and CB / TB CRC check.
[0115] For example, the above encoding can be low-density parity check (LDPC) encoding, Polar encoding, etc., and the decoding can be LDPC decoding, Polar decoding, etc. Optionally, since LDPC encoding and decoding have high throughput requirements, they can be implemented using a hardware accelerator (HAC) in a system-on-chip (SOC).
[0116] (2) TB and TBS
[0117] TB is the smallest unit of data transmitted at the physical layer.
[0118] TBS represents the number of valid information bits contained in a transport block. For example, TBS does not include CRC bits. The sender needs to determine the TBS before encoding the data, and the receiver needs to determine the TBS before decoding the data.
[0119] For example, the parameters for calculating TBS may include, but are not limited to, the following parameters: the number of layers transmitting data (e.g., denoted as v), the modulation order (e.g., denoted as Q). m The target bitrate (denoted as R) and the number of available REs (denoted as N′) RE ),like Figure 5As shown. The above parameters are used to measure the number of bits of information received by the receiver. The receiver uses a quantizer to process these key parameters to obtain the TBS of the received information. The number of REs can be obtained based on the number of resource blocks (RBs) and the transmission duration. For example, the modulation order and target code rate can be determined based on the modulation and coding scheme (MCS) index (e.g., denoted as I). MCS Obtained from the MCS table.
[0120] like Figure 6 As shown, an exemplary TBS calculation process can be performed according to the following steps:
[0121] (1) Calculate the number of REs available for data transmission within the bandwidth of a resource block, denoted as N′. RE :
[0122]
[0123] in, This represents the number of subcarriers on a PRB, for example... This represents the number of OFDM symbols used for data transmission in a time slot, after deducting the overhead of OFDM symbols such as DMRS. Determined by pre-configured parameters. For example... It is 12 or 14. This indicates the number of REs used by DMRS on each PRB during the scheduling period. This indicates head expenses.
[0124] (2) Optional, if N′ RE If N' is greater than or equal to 156, then round down to the nearest integer such that N' RE =156. That is, N′ RE =min(156, N) ′ RE ).
[0125] (3)N′ RE Multiplying this by the number of allocated PRBs yields the total number of REs available for data transmission, denoted as N. RE For example, N RE satisfy:
[0126] N RE =N′ RE *n PRB ;
[0127] Where, n PRB This indicates the number of PRBs that have been allocated.
[0128] (4) Based on NRE Calculate N info And further calculate N′ info .
[0129] N info =N RE ·R·Q m • Formula (1);
[0130]
[0131] Where R represents the bit rate, Q m This indicates the modulation order, and v indicates the number of layers. round() indicates rounding.
[0132] (5) Based on the calculation of TBS. TBS satisfies:
[0133]
[0134] Where C represents the number of CBs into which a TB is divided, and "-24" is used to deduct the number of bits for the TB CRC. It can be assumed that the size of the CBs in each TB is the same.
[0135] For example, C satisfies:
[0136]
[0137] Where, k max This indicates the maximum number of information bits that a CB can carry. For example, k max =8424.
[0138] (3) CB and CBG
[0139] A CB is a coding unit, or the smallest unit of coding. A CB is determined as follows: It is segmented by comparing the TBS (Block Size Subtraction Standard) with a specified maximum block size. If the TBS exceeds the maximum block size, multiple CBs are determined from the TB according to the maximum block size. All CBs except the last one are equal to the maximum block size, while the last CB is less than or equal to the maximum block size. If the TBS is less than or equal to the maximum block size, the TB is not segmented.
[0140] A CBG consists of one or more CBs. A TB contains C CBs. For a TB containing C CBs, the actual number of CBGs transmitted is M = min(N, C), where N is the preset number of CBGs. The CBs contained in each CBG can satisfy the following: When the number of CBs C is less than or equal to the preset number of CBGs N, then the actual number of CBGs contained in a TB is equal to C, and each CBG contains only one code block. When the number of CBs C is greater than the preset number of CBGs N, then the actual number of CBGs contained in a TB is equal to M, where if C is an integer multiple of M, then each CBG contains C / M CBs. If C is not an integer multiple of M, then each CBG in the first M1 CBGs contains one more code block than each CBG in the remaining M-M1 CBGs, where M1 = C mod M.
[0141] When transmitting data to the receiver, the sender can perform CRC checks on the TB (Block Byte), then divide the CRC-checked TB into multiple CBs (Block Bytes), and perform CRC checks on each CB. During data transmission, the sender divides these multiple CBs into several CBGs for scheduling and transmission, such as... Figure 7 As shown. For example Figure 7 As shown, TB CRC represents the CRC bits added after CRC check. Figure 7 As shown in CB0, CB1, ..., CB13, CBG is as follows Figure 7 The diagram shows CB0, CBG1, CBG2, and CBG3. After receiving multiple CBGs from a TB, the receiving end performs CRC checks on each received CB. The receiving end can then send back an acknowledgment (ACK) or negative acknowledgment (NACK) message for each CBG. That is, if all CBs in a CBG are decoded correctly, the CBG sends an ACK; otherwise, it sends a NACK. ACK indicates that the received data has been received without error and does not need to be retransmitted. NACK indicates that the data has been received but contains an error, and the sending end needs to retransmit the CBG. The sending end receives ACK / NACK messages and retransmits CBGs that return NACK, but does not retransmit CBGs that return ACK.
[0142] according to Figure 8 As shown:
[0143] If C = 14 and N = 4, then M1 = mod(C, N) = 2, K1 = ceil(C / N) = 4, and K2 = floor(C / N) = 3; that is, divide the 14 CBs into 4 groups, with the first 2 CBG groups each containing 4 CBs, and the last 2 CBG groups each containing 3 CBs. `mod()` represents modulo. `ceil()` represents rounding up. `floor()` represents rounding down.
[0144] If C = 14 and N = 8, then M1 = mod(C, N) = 6, K1 = ceil(C / N) = 2, K2 = floor(C / N) = 1; that is, divide the 14 CBs into 8 groups, the first 6 CBGs each contain 2 CBs, and the last 2 CBGs each contain 1 CB.
[0145] (4) Bitrate
[0146] The code rate is the ratio of the length of the information bit sequence before encoding to the length of the code length sequence after encoding. In this application, R represents the code rate, and R = K / N. Here, K represents the length of the information bit sequence, and N represents the length of the code length sequence. The code length sequence is also known as the codeword sequence, or codeword.
[0147] The length, code length, and code rate of the information bit sequence can be pre-configured by higher-layer signaling, MAC layer signaling, or downlink physical layer signals, and can also be obtained or calculated by the transmitting and receiving devices. For example, the transmitting and receiving devices can determine the code length based on the coding method, the frame structure used to transmit the information bits, the number of layers, and the modulation scheme. For example, the transmitting and receiving devices can obtain the code rate based on higher-layer signaling, MAC layer signaling, or downlink physical layer signals, or determine the code rate based on the modulation and coding scheme (MCS).
[0148] In current data transmission, by default, only one bitrate is carried within a TB. Therefore, regardless of how many CBs a TB is divided into, the bitrate configured for each CB is the same by default. Based on formula (1), the bitrate R needs to be considered in the calculation of TBS, and this bitrate is designed to carry data with the same bitrate within a TB. However, with the continuous enrichment and expansion of mobile communication scenarios, there is a need to carry data with multiple reliability levels within a TB. The bitrates for data with different reliability levels are different, thus requiring the carrying of data with multiple bitrates within a TB. Currently, how to carry data with multiple bitrates within a TB is a pressing technical problem that needs to be solved.
[0149] For example, the following scenario involves data transmission requirements at multiple bitrates within a TB of memory:
[0150] Scenario 1: Uplink control information (UCI) and uplink shared channel (UL-SCH) data can be carried in a single TB. Typically, UCI requires higher reliability and coverage compared to UL-SCH data, therefore the UCI bit rate is lower than that of UL-SCH data.
[0151] Scenario 2: Downlink control information (DCI) and downlink shared channel (DL-SCH) data can be carried in a single terabyte (TB). Typically, compared to DL-SCH data, DCI requires higher reliability and coverage, therefore the DCI bit rate is lower than that of DL-SCH data.
[0152] Scenario 3: Ultra-reliable low latency communication (URLLC) can carry both high-reliability low-latency services and enhanced mobile broadband (eMBB) data services within one terabyte (TB). Typically, compared to eMBB data services, URLLC data services require higher reliability, therefore the bit rate of URLLC data services is lower than that of eMBB data services.
[0153] Scenario 4: The time-frequency stream of service data, such as extended reality (XR) and immersive services, can be divided into base layer data and enhancement layer data, which can be stored in one TB. Typically, base layer data has higher reliability requirements; therefore, its bitrate is lower than that of enhancement layer data. Alternatively, the time-frequency stream of service data can be divided into I-frames (keyframes) and P-frames (forward prediction frames), which can also be stored in one TB. Typically, I-frames have higher reliability requirements; therefore, their bitrate is lower than that of P-frames.
[0154] To address the aforementioned issues, this application provides corresponding solutions.
[0155] The methods provided in the embodiments of this application will be described in detail below. Figure 9This is a flowchart illustrating a communication method provided in an embodiment of this application. The method can be executed by a first device. Unless otherwise specified, the "first device" in this application can refer to a first equipment (e.g., a terminal or access network node), a component (e.g., a communication module, processor, circuit, chip, or chip system), or a logic module or software capable of implementing all or part of the functions of the first equipment. A component can also be replaced by a device or function. The component can be located within the first equipment. Similarly, the "second device" in this embodiment can refer to a second equipment (e.g., a terminal or access network node), a component (e.g., a communication module, processor, circuit, chip, or chip system), or a logic module or software capable of implementing all or part of the functions of the second equipment. A component can also be replaced by a device or function. The component can be located within the second equipment.
[0156] In this application, the first device can act as a transmitting side or an encoding side, and the second device can act as a receiving side or a decoding side. For example, the first device or the first equipment can send information or data to the second device or the second equipment. Specifically, in uplink communication, the first equipment can be a terminal, and the second equipment can be an access network device; in downlink communication, the first equipment can be an access network device, and the second equipment can be a terminal. Furthermore, this application does not exclude applications in terminal-to-terminal communication scenarios, where the transmitting device and the receiving device can both be terminals. For example, if the first device is a network device... Figure 9 The method shown can be applied to the terminal side, such as a terminal device or a communication module in a terminal device, or a circuit or chip in a terminal device that is responsible for communication functions (such as a modem chip, or a SoC chip or SIP chip containing a modem core).
[0157] like Figure 9 As shown, with the first device as the executing entity, the method may include the following steps:
[0158] S101: The first device acquires first data and second data, where the first data corresponds to a first code rate and the second data corresponds to a second code rate. The first code rate and the second code rate are different.
[0159] In this application, the first data and the second data are data to be transmitted, such as information bits to be transmitted. The sequence numbers "first," "second," etc., do not indicate different services. In other words, the first data and the second data can be data from the same service or of the same type, or they can be data from different services or of different types. Alternatively, the first data and the second data can each be different parts of a certain set of data; for example, the first data and the second data can be replaced by the first part of the first data and the second part of the first data, respectively.
[0160] The first data and the second data correspond to different bit rates; that is, the first bit rate and the second bit rate are different. In other words, the reliability requirements for the first data and the second data are different.
[0161] Optionally, the first data and the second data can be data from scenarios 1 to 4 above. For example, in scenario 1, the first data may include UCI, and the second data may include UL-SCH data, or the first data may include UL-SCH data, and the second data may include UCI. Similarly, in scenario 2, the first data may include DCI, and the second data may include DL-SCH data, or the first data may include DL-SCH data, and the second data may include DCI. In scenario 3, the first data may include URLLC service data, and the second data may include eMBB service data, or the first data may include eMBB service data, and the second data may include URLLC service data. In scenario 4, the first data may include base layer data or I-frames, and the second data may include enhancement layer data or P-frames, or the first data may include enhancement layer data or P-frames, and the second data may include base layer data or I-frames. The examples of the first and second data above are exemplary and should not be construed as representing all possible first and second data.
[0162] It is understood that this application does not limit the order of the first data and the second data in the transmission block; the first data may come first and the second data may come later, or the second data may come first and the first data may come later.
[0163] S102: The first device outputs a first codeword and a second codeword. The first codeword is obtained based on the first data and the first code rate, and the second codeword is obtained based on the second data and the second code rate.
[0164] S102 can also be replaced by: the first device outputs encoded information, which includes a first codeword and a second codeword. The encoded information can be a collection of encoded codeword information.
[0165] In one or more embodiments, the first data and the second data belong to the same transport block, and the first codeword and the second codeword correspond to the transport block. The size of the transport block is determined based on a first code rate and / or a second code rate. Unless otherwise specified, a transport block or TB refers to a transport block containing the first data and the second data, and the size of the transport block or TBS refers to the size of the transport block containing the first data and the second data.
[0166] Optionally, the transport block may also include one or more data other than the first and second data. The bit rate of the one or more data may be different from both the first and second bit rates. For example, the one or more data may include third data, the bit rate of which may be different from both the first and second bit rates.
[0167] In S102, "output" can refer to transmitting over the air interface or outputting to other devices or modules through the device's internal interface. For example, "transmitting" can also be understood as the "output" of a chip interface, and "receiving" can be understood as the "input" of a chip interface. For example, a modem or system-on-a-chip (such as a SoC chip or a SIP chip) transmits or receives signals. "Transmitting" or "receiving" can also be done through device components, for example, by using buses, traces, or interfaces to transmit or receive signals through several parts, modules, or chips of the device.
[0168] based on Figure 9 The illustrated process allows at least the first and second data to be carried within the same transport block. This can also be understood as dividing the transport block into two or more parts, each containing one or more CBs or CBGs. Each part can contain or carry data at a specific bitrate; that is, different parts can contain or carry data at different bitrates, or in other words, different parts can be configured with different bitrates.
[0169] The first data and the second data correspond to different code rates. The size of the transport block is determined based on the first code rate and / or the second code rate. Therefore, the size of the transport block can be accurately determined to support the transmission and / or reception of the transport block according to the size of the transport block.
[0170] After determining the size of the transport block, the first device can divide the transport block into multiple CBs or CBGs according to the transport block size, and determine the number of CBs corresponding to the first data and / or the number of information bits carried by the CBs, and determine the number of CBs corresponding to the second data and / or the number of information bits carried by the CBs. In one possible embodiment, the transport block includes a first set of CBs and a second set of CBs. The first set of CBs includes one or more CBs, or one or more CBGs. The second set of CBs includes one or more CBs, or one or more CBGs.
[0171] The first data corresponds to the first CB set in the transport block, meaning that the information bits of the first data are carried in the CBs of the first CB set. For example, the first CB set includes one or more CBs, which are used to carry the information bits of the first data. Alternatively, the first CB set includes one or more CBGs, which include multiple CBs, which are used to carry the information bits of the first data.
[0172] Furthermore, the second data corresponds to the second set of CBs in the transport block; that is, the information bits of the second data are carried in the CBs of the second set of CBs. The second set of CBs includes one or more CBs, which are used to carry the information bits of the second data. Alternatively, the second set of CBs can be described as including one or more CBGs, which in turn include multiple CBs, which are used to carry the information bits of the second data.
[0173] The first device can also, based on the number of information bits carried by the first CB set, carry the first data on the CB corresponding to the first data, and encode the first data using the CB as an encoding unit to obtain a first codeword. Additionally, the first device can, based on the number of information bits carried by the second CB set, carry the second data on the CB corresponding to the second data, and encode the second data using the CB as an encoding unit to obtain a second codeword.
[0174] In the following description, the number of CBs contained in the first CB set can be denoted as X, and the number of CBs contained in the second CB set can be denoted as Y, where X and Y are positive integers. Additionally, the number of CBs in a transport block can be denoted as N, where N is an integer greater than or equal to X + Y. For example, if the data in the transport block consists of first data and second data, then N = X + Y. Furthermore, if the data in the transport block also includes data other than the first and second data, then N > X + Y.
[0175] like Figure 10 As shown, the first data of the first code rate occupies or is carried in CB 0 to CB M-1, for a total of X = M CBs, where M is a positive integer. The second data of the second code rate occupies or is carried in CB M to CB N-1, for a total of Y = NM CBs, where N is a positive integer greater than M. Wherein, when the data in the transport block is both the first and second data, N can represent the number of CBs in that transport block.
[0176] In S102, the first codeword can refer to a set of codewords, such as the first codeword set. The first codeword can also be replaced by the first codeword set. The first codeword or the first codeword set includes one or more codewords. The first codeword is obtained based on the first data and the first code rate, and can mean that any codeword in the first codeword set is obtained by encoding a code block from the first CB set. The second codeword can refer to a set of codewords, such as the second codeword set. The second codeword can also be replaced by the second codeword set. The second codeword or the second codeword set includes one or more codewords, and any codeword is obtained by encoding a code block from the second CB set.
[0177] The following describes the method for determining the size of the transport block in this application.
[0178] The size of the transport block can be determined by any of the following methods 1 to 4.
[0179] In Method 1, the size of the transport block is determined based on a first code rate and a second code rate. Alternatively, it can be said that the first device determines the size of the transport block based on the first code rate and the second code rate.
[0180] Optionally, one possible implementation of method 1 is that the resource units occupied by the first codeword and the resource units occupied by the second codeword satisfy one or more of time division multiplexing, frequency division multiplexing, or space division multiplexing.
[0181] like Figure 11 As shown, in time-division multiplexing, the resource units occupied by the first codeword and the second codeword can be different time-domain resource units. For example, the time-domain resource unit is an OFDM symbol. In frequency-division multiplexing, the resource units occupied by the first codeword and the second codeword can be different frequency-domain resource units. For example, the frequency-domain resource unit is an RB. In space-division multiplexing, the resource units occupied by the first codeword and the second codeword can be different spatial-domain resource units. For example, the spatial-domain resource unit is the transport layer.
[0182] For example Figure 12 As shown, taking time-division multiplexing as an example, the mapping order of CBs is frequency domain mapping first, then time domain mapping. Therefore, starting from OFDM symbol 0 and from the starting point of the frequency domain resource allocation, CB0 is mapped first, and then sequentially mapped to CB M-1. These M CBs are configured with a code rate of 1. These M CBs can carry or include the first data, occupying multiple complete OFDM symbols, that is, this part of the OFDM symbols can be used to carry the first data. In addition, these M CBs can be further divided into Y CBGs. Furthermore, the remaining multiple complete OFDM symbols are sequentially mapped to the subsequent NM CBs with a code rate of 2. These CBs can carry or include the second data, and these CBs can also be further divided into XY CBGs, with the data in these CBs being the second data. The remaining multiple complete OFDM symbols include, for example, Figure 12 The OFDM symbols corresponding to CB M…CB N-1 and CB N-2 in the figure. Figure 12 In this paper, taking the top-down frequency domain mapping as an example, it can also be replaced by the bottom-up frequency domain mapping. This application does not specifically limit it.
[0183] Specifically, the method of determining the size of the transport block based on the first code rate and the second code rate can include method 1-1 and method 1-2, that is, the size of the transport block can be determined by method 1-1 or method 1-2.
[0184] In method 1-1, the size of the transport block is determined based on the third code rate, which is determined based on the first and second code rates.
[0185] In mode 1-1, the first device can determine the third code rate based on the first code rate and the second code rate, and then determine the size of the transmission block based on the third code rate.
[0186] As one possible implementation, the third bitrate can be a weighted sum of the first bitrate and the second bitrate.
[0187] Assuming the first bitrate is R1 and the second bitrate is R2, the third bitrate can be understood as the combined bitrate of the first and second bitrates. For example, the third bitrate can be expressed as...
[0188] Where, α i This represents the weighting coefficient corresponding to the i-th bit rate. 0 ≤ α i ≤1. Optionally, the weighting coefficient can be related to the number of resource units L1 occupied by the first codeword and the number of resource units L2 occupied by the second codeword. The number of resource units occupied by the i-th codeword can be denoted as L. i L i It is a positive integer.
[0189] For example, α i satisfy:
[0190]
[0191] Where m is the number of data in the transport block.
[0192] Taking i = 1 and 2 as examples, α1 represents the weighting coefficient of the first bit rate, and α2 represents the weighting coefficient of the second bit rate, where α1 and α2 satisfy:
[0193]
[0194] In addition, α i It can also be a set value. For example, α i It can be predefined by the standard, preconfigured by the network, or determined by signaling between the first and second devices. The signaling can be RRC messages, MAC control elements (CE), or downlink control information (DCI) sent between the first and second devices.
[0195] As another possible implementation, the third code rate can be considered to have a correspondence with the first and second code rates. For example, the third code rate corresponding to the first and second code rates can be defined in a table. This correspondence can be predefined by the standard, pre-configured by the network, or determined by signaling between the first and second devices.
[0196] It is understandable that, given that the first transport block contains m data points, and the bit rates of any two data points are not equal, the total bit rate is... m is a positive integer greater than 2. R i This represents the bitrate of each of the m data points.
[0197] In method 1-1, the size of the transport block can be denoted as TBS, and TBS satisfies:
[0198]
[0199] Where, N′ info satisfy:
[0200]
[0201] N info satisfy:
[0202] N info =N RE ·R Total ·Q m • Formula (2);
[0203] C satisfies:
[0204]
[0205] In the above formula, N RE N represents the total number of REs available for data transmission. RE The method for determining this can be found in [reference]. Figure 5 The process. Q m Indicates the modulation order, v represents the number of layers, and k represents the modulation order. max This indicates the maximum number of information bits that a CB can carry.
[0206] Formula (2) can be seen as a... Figure 6 The transformation of formula (1) in the relevant process is that R in formula (1) is replaced with R. Total The meanings of the symbols in the above formula (2) and related formulas can be found in the explanation of the meanings of the symbols in formula (1), and will not be repeated here.
[0207] In one possible implementation, after determining the size of the transport block based on method 1-1, the first device may further determine the number of information bits carried by the first CB set, that is, determine the number of information bits of the first data that the first CB set in the transport block can carry, which is the maximum number of information bits that all CBs in the first CB set can carry. Similarly, the first device may further determine the number of information bits carried by the second CB set, which is the maximum number of information bits that all CBs in the second CB set can carry.
[0208] Optionally, the number of information bits carried by the first CB set can also be referred to as the size of the first transport block. The size of the first transport block can be understood as the portion of the transport block size corresponding to the first data. The number of information bits carried by the second CB set can also be referred to as the size of the second transport block. The size of the second transport block can be understood as the portion of the transport block size corresponding to the second data. Accordingly, a transport block can be considered to include a first transport block and a second transport block, and the size of the transport block is greater than or equal to the size of the first transport block and the size of the second transport block. For example, if the data in the transport block is the first data and the second data, the transport block can be considered to be composed of the first transport block and the second transport block, and the size of the transport block is equal to the sum of the sizes of the first transport block and the second transport block.
[0209] In one possible implementation, the number of information bits carried by the i-th CB data can be represented as TBS. i ,in, In the case of i=1, TBS1 can represent the number of information bits carried by the first CB set data; in the case of i=2, TBS2 can represent the number of information bits carried by the second CB set data, and so on.
[0210] In one possible implementation, the number of information bits carried by the i-th CB can be denoted as TBS1. TBS1 can be determined based on the transport block size and code rate R. i and total bitrate R Total It's confirmed.
[0211] Optionally, the number of information bits carried by the first CB set can also be determined according to the weighting coefficient, or in other words, the number of information bits carried by the first CB set can also be determined according to the number of resource units occupied by the first codeword and the number of resource units occupied by the second codeword.
[0212] For example, TBS i satisfy:
[0213]
[0214] In some cases, TBS can also be considered iIt is determined based on TBS, the first code rate, and the third code rate, meaning the impact of weighting coefficients on the transport block size is not considered. For example, in α... i When the values are set or known, the weighting coefficients can be considered constants, meaning that α in the above formula can be... i If replaced with a constant, then TBS can be considered as... i It is determined based on constants, TBS, the first code rate, and the third code rate. For example, if the number of resource units occupied by the first CB set is the same as the number of resource units occupied by the second CB set, α can be considered... i =1 / 2, meaning that the value in the above formula can be replaced with 1 / 2.
[0215] In determining TBS i Then, the first device can be based on TBS i The number of CBs contained in the i-th CB is determined by comparing the TBS1 with the specified maximum block size. For example, for a first set of CBs, the first device can segment the data by comparing the TBS1 with the specified maximum block size to determine the number X of CBs in the first set of CBs. Similarly, the first device can also determine the number Y of CBs in the second set of CBs. The maximum block size can be the maximum number of information bits carried in a CB. Therefore, it can also be said that the first device can determine the number of CBs X in the first set of CBs by comparing the TBS1 with the specified maximum block size. i The number of CBs contained in the i-th CB is determined by the maximum number of information bits carried in a CB.
[0216] Among them, if TBS i If the maximum block size is exceeded, the TB is divided into multiple CBs according to the maximum block size. For example, among the multiple CBs, except for the last CB, each CB carries an information bit count equal to the maximum block size, while the last CB carries an information bit count less than or equal to the maximum block size. If TBS i If the size is less than or equal to the maximum code block size, the TB will not be segmented.
[0217] It is understandable that for different i, the maximum block size, i.e., the maximum number of information bits carried in a CB, can be the same or different. For example, the maximum block size of CBs in the first CB set can be the same or different from the maximum block size of CBs in the second CB set.
[0218] Based on method 1-1, the first device can determine the size of the transport block based on the total code rate, and determine the number of information bits carried by the first CB set based on the transport block size, the first code rate, and the total code rate. It can also determine the number of CBs (X) in the first CB set based on the number of information bits carried by the first CB set. Therefore, the first data can be carried in X CBs of the transport block, and the X CBs can be encoded according to the first code rate to obtain the first codeword. Similarly, the first device can determine the number of information bits carried by the second CB set based on the transport block size, the second code rate, and the total code rate, and determine the number of CBs (Y) in the second CB set based on the number of information bits carried by the second CB set. Therefore, the second data can be carried in Y CBs of the transport block, and the Y CBs can be encoded according to the second code rate to obtain the second codeword.
[0219] In methods 1-2, the size of the transport block is determined based on the number of information bits carried by the first CB set and the second CB set. The number of information bits carried by the first CB set is determined based on a first code rate, and the number of information bits carried by the second CB set is determined based on a second code rate.
[0220] In methods 1-2, the size of the transport block can be denoted as TBS, and TBS satisfies:
[0221]
[0222] TBS i This represents the number of information bits carried by the i-th CB data.
[0223] Among them, TBS i satisfy:
[0224]
[0225] N′ info satisfy:
[0226]
[0227] N info satisfy:
[0228] in, This represents the number of available REs on the time-frequency resources occupied by the i-th CB. Wherein, satisfy:
[0229] N′ RE This indicates the number of REs available for data transmission within the bandwidth of a resource block.
[0230] C satisfies:
[0231]
[0232] In the above formula, Q m Indicates the modulation order, v represents the number of layers, and k represents the modulation order. max This indicates the maximum number of information bits that a CB can carry.
[0233] It can be seen that the number of information bits carried by the i-th CB data is based on and R i It's confirmed. It can also be replaced with
[0234] For example, the number of information bits carried by the first CB set data is based on This is determined by the first code rate R1. Similarly, the number of information bits carried by the second CB set data is based on... And determined by the second code rate R2. Among them, It can also be replaced with It can also be replaced with
[0235] Therefore, in methods 1-2, TBS can be determined for each i. i And sum them to determine TBS.
[0236] Furthermore, in methods 1-2, the number of CBs contained in the i-th CB can be determined based on the number of information bits carried by the data and the maximum code block size. For example, after determining TBS1, the first device can determine the number of CBs contained in the i-th CB based on TBS1 and the maximum code block size of the CBs in the first CB set. Specifically, the first device can segment the data by comparing the size relationship between the maximum code block sizes of TBS1 and the CBs in the first CB set to determine the number of CBs X in the first CB set.
[0237] Similarly, after determining TBS2, the first device can determine the number of CBs Y contained in the i-th CB based on TBS2 and the maximum block size of the CBs in the second CB set. The maximum block size of the CBs in the first CB set may be the same as or different from the maximum block size of the CBs in the second CB set; this is not specifically limited.
[0238] Based on methods 1-2, the first device can determine the number of information bits carried by the first CB set according to the first code rate, and determine the number of CBs in the first CB set according to the number of information bits carried by the first CB set. Therefore, the first data can be carried in X codewords of the transport block according to the number of information bits carried by the first CB set, and the X CBs can be encoded according to the first code rate to obtain the first codeword. Similarly, the first device can determine the number of information bits carried by the second CB set according to the second code rate, and determine the number of CBs in the second CB set according to the number of information bits carried by the second CB set. Therefore, the second data can be carried in Y codewords of the transport block according to the number of information bits carried by the second CB set, and the Y CBs can be encoded according to the second code rate to obtain the second codeword.
[0239] Method 1 above can be applied to situations where the code rate R of all data in a known transport block is known. i In this scenario, taking i=0 and 1 as an example, the first device can obtain the first code rate and the second code rate.
[0240] One possible example is that the first device obtains a first code rate and / or a second code rate by receiving signaling. For example, the signaling may contain configuration or indication information for the first code rate, and / or, configuration or indication information for the second code rate. The signaling may be an RRC message, a MAC CE, or control signaling such as DCI or UCI. For instance, the first code rate and / or the second code rate may be indicated via an MCS.
[0241] Before executing S102, the first device may receive signaling to obtain a first code rate and / or a second code rate. This signaling may originate from a network device or the second device.
[0242] Another possible example is that the first device can determine the bitrate based on service information. For instance, the first device is configured with a correspondence between service information and bitrate. Upon learning the service to which the first data belongs, the first device can determine the first bitrate corresponding to the first data based on this correspondence. Similarly, the first device can determine the first bitrate corresponding to the first data based on this correspondence. This correspondence can be predefined by a standard, preconfigured by the network, or determined by signaling between the first and second devices. This signaling can be an RRC message, MAC CE, or control signaling such as DCI or UCI. Yet another possible example is that after determining the service information, the first device requests the bitrate corresponding to the service from the network to obtain a first bitrate and a second bitrate.
[0243] Optionally, the first device may also send signaling to the second device after determining the first code rate and / or the second code rate to indicate the first code rate and / or the second code rate. For example, the signaling may include configuration or indication information for the first code rate, and / or configuration or indication information for the second code rate.
[0244] Another possible example is that the first code rate and / or the second code rate can be determined based on measurements such as channel quality. Channel quality can be indicated by a channel quality indicator (CQI), etc. That is, the first device can determine the code rate through channel measurements.
[0245] Optionally, in mode 1-1, the first device may also obtain the number of resource units L1 occupied by the first codeword and the number of resource units L2 occupied by the second codeword, in order to determine the weighting coefficient.
[0246] One possible example is that the first device obtains L1 and / or L2 by receiving signaling. For example, the signaling contains the configuration of L1 and / or L2. The signaling can be an RRC message, a MAC CE, or control signaling such as DCI or UCI.
[0247] Understandably, in methods 1-2, determining the size of the transport block is not a necessary step in the process of outputting the first codeword and sending the second codeword. Taking the first codeword as an example, the first device can execute the output of the first codeword based on the number of information bits carried by the first CB set and / or the number of information bits carried by a CB in the first CB set. Therefore, the process of outputting the first codeword and the second codeword can be independent of determining the size of the transport block.
[0248] In Method 2, the size of the transport block is determined based on either the first bit rate or the second bit rate.
[0249] Optionally, one possible implementation of method 2 is that the resource units occupied by the first codeword and the resource units occupied by the second codeword are not boundary aligned in the time domain, frequency domain, and / or spatial domain.
[0250] like Figure 13 As shown, taking the time domain as an example, the OFDM symbols occupied by the first codeword and the second codeword are not strictly aligned. Specifically, the CB M-1 corresponding to the first codeword and the CB M corresponding to the second codeword share the same OFDM symbol in the time domain.
[0251] In method 2, the size of the transport block can be denoted as TBS, and TBS satisfies:
[0252]
[0253] Where, N′ info satisfy:
[0254]
[0255] N info satisfy:
[0256] N info =N RE ·R1·Q m ·v, or, N info =N RE ·R2·Q m • Formula (3);
[0257] C satisfies:
[0258]
[0259] In the above formula, N RE N represents the total number of REs available for data transmission. RE The method for determining this can be found in [reference]. Figure 5 The process. Q m Indicates the modulation order, v represents the number of layers, and k represents the modulation order. max This indicates the maximum number of information bits that a CB can carry.
[0260] Formula (3) can be seen as a... Figure 6 The transformation of formula (1) in the relevant process is to replace R in formula (1) with R1 or R2. The meaning of the symbols in formula (3) and related formulas can be found in the explanation of the meaning of the symbols in formula (1), which will not be repeated here.
[0261] As can be seen, in Method 2, either the first code rate or the second code rate is used as the code rate corresponding to the transport block to determine the size of the transport block. This method of determining the TBS in Method 2 can be applied to scenarios where the first device knows one of the first and second code rates.
[0262] After determining the transport block size based on method 2, the first device can further determine TBS1. In method 2, TBS1 represents the number of information bits that the first CB set in the transport block can carry, which is the maximum number of information bits that all CBs in the first CB set can carry. Alternatively, TBS1 represents the number of bits carried by the first CB set, which can be the sum of information bits and non-information bits. Non-information bits can be redundant bits. For example, if TBS1 is greater than the number of information bits in the first data, the first CB set can carry TBS1 bits, including the number of information bits in the first data and one or more redundant bits. Or, the first device can further determine the number X of CBs in the first CB set.
[0263] Here, TBS1 is determined by the size of the transport block, the number of CBs X in the first CB set, and the number of CBs N in the transport block. N can be the number of CBs determined based on TBS. For example, the first device determines that the transport block contains N CBs based on TBS and the maximum code block size.
[0264] For example, TBS1 satisfies:
[0265]
[0266] Optionally, TBS1 also needs to satisfy the following: TBS1 is greater than or equal to the number of information bits of the first data, where the number of information bits of the first data represents the number of information bits carried by the first CB set. The number of information bits of the first data can be considered as a known configuration of the first device. One possible implementation is that the first device is configured to send Z bits of first data in the transport block. Based on formula (4), the first device can reasonably determine the value of X such that TBS1 is greater than or equal to Z, that is, TBS1 can be determined according to X and N, where Z is the number of information bits of the first data. It can also be said that the number of information bits carried by the first CB set and / or the number of CBs X in the first CB set is determined according to the number of information bits of the first data.
[0267] For example, the first device obtains the number of information bits of the first data by receiving signaling. The signaling may include a configuration of the number of information bits of the first data. The signaling may be an RRC message, a MAC CE, or control signaling such as DCI or UCI.
[0268] As an example, the number of information bits in the first data can be the UCI payload size.
[0269] Similarly, the first device can also determine the number of information bits carried by the second CB set, which is the maximum number of information bits that all CBs in the second CB set can carry. For example, in mode 2, the number of information bits TBS2 carried by the second CB set can be determined based on the size of the transport block, the number of CBs Y in the first CB set, and the number of CBs N in the transport block.
[0270] For example, the number of information bits carried by the second CB set, TBS2, satisfies:
[0271]
[0272] In the case where the data in the transport block is the first data and the second data, Y = NX, that is, BS2 satisfies: TBS. Alternatively, BS2 can be considered to satisfy:
[0273] Method 2 described above is applicable to scenarios where the first device knows the first code rate, is known to be using the first code rate, and knows the number of information bits or X of the first data. For example, the first device is configured to transmit Z bits of first data in a transport block using the first code rate, wherein the code rate of the first data is configured as the first code rate. Accordingly, the first device can determine the size of the transport block based on Method 2, and determine the number of information bits carried by the first CB set and the number X of CBs in the first CB set according to the number of information bits of the first data.
[0274] Alternatively, in method 2, the number X of CBs in the first CB set can be configured to the first device without configuring the number of information bits of the first data. For example, the minimum value or minimum proportion of X can be configured via signaling. Therefore, the first device can determine TBS1 based on X and TBS.
[0275] Optionally, the method by which the first device obtains the first bit rate in Method 2 can be found in the description of the method by which the first device obtains the first bit rate in Method 1, and will not be repeated here.
[0276] Before executing S102, the first device may receive signaling to obtain a first code rate and the number of information bits or X of the first data. For example, the signaling may include indication information of the first code rate, indication information of the number of information bits of the first data, and / or indication information of X. The signaling may originate from a network device or a second device.
[0277] In this embodiment, the indication information for the number of information bits of the first data can be the UCI payload size or other indication information. The indication information for X can include the numerical value of X or the index of X. The index of X can be used to indicate X from multiple alternative values, and each alternative value can correspond to an index.
[0278] Alternatively, after obtaining the first code rate and the number of information bits or X of the first data, the first device may send signaling to the second device to indicate the first code rate and the number of information bits or X of the first data. For example, the signaling may include indication information of the first code rate, indication information of the number of information bits of the first data, and / or indication information of X.
[0279] Furthermore, in Method 2, when the data in the transport block is first data and second data, the first device can also determine the number of CBs Y in the second CB set based on the number of CBs N in the transport block and the number of CBs X in the first CB set, where Y = NX.
[0280] Optionally, in method 2, the first device may also determine R2 based on TBS2 and the remaining number of mappable REs. For example, in the case where the first code rate R1 is known but the second code rate R2 is uncertain, and / or, in formula (3) N infoSatisfying N info =N RE ·R1·Q m In the case of ·v, R2 can be determined based on TBS2 and the number of remaining mappable REs.
[0281] The remaining number of mappable REs is determined, for example, by first calculating the number of RE resources actually occupied by the codewords corresponding to the first CB set based on the first code rate R1 and TBS1. Then based on the total number of REs N RE ,minus The remaining number of mappable REs can be obtained. Therefore, the number of information bits of the second data that can be carried can be determined based on the remaining number of mappable REs, thus determining the code rate R2 of the second data.
[0282] Method 3: The size of the transport block is determined based on the number of information bits carried by the first CB set and the second CB set. For example, the size of the transport block is greater than or equal to the sum of the number of information bits carried by the first CB set and the second CB set.
[0283] As an example, the size of a transport block can be denoted as TBS, and TBS satisfies:
[0284]
[0285] Wherein, TBS1 represents the number of information bits that the first CB set in the transport block can carry, which is also the maximum number of information bits that the first CB set can carry. TBS2 represents the number of information bits that the second CB set in the transport block can carry, which is also the maximum number of information bits that the first CB set can carry.
[0286] In method 3, TBS1 is greater than or equal to the number of information bits in the first data, which represents the number of information bits carried by the first CB set. This number of information bits in the first data can be considered a known configuration of the first device. Alternatively, TBS1 can represent the number of bits carried by the first CB set, which can be the sum of information bits and non-information bits. Non-information bits can be redundant bits. For example, when TBS1 is greater than the number of information bits in the first data, the first CB set can carry TBS1 bits, including the number of information bits in the first data and one or more redundant bits.
[0287] TBS1 is determined based on the size of the third transport block and the number of CBs (Blocks) X in the first CB set. The size of the third transport block is determined based on either the first code rate or the second code rate. Alternatively, TBS1 can be determined based on the second code rate and the number of CBs X in the first CB set. One implementation could be to first determine the size of the third transport block based on the second code rate, and then determine the number of information bits carried by the first CB set based on the size of the third transport block and the number of CBs X in the first CB set.
[0288] In Method 3, the size of the third transport block can be considered as the assumed size of the transport block. Subsequently, the number of information bits carried by the first CB set and the number of information bits carried by the second CB set are determined based on the size of the third transport block. Then, the size of the transport block is determined based on the number of information bits carried by the first CB set and the number of information bits carried by the second CB set.
[0289] The size of the third transport block can be denoted as TBS′, and TBS′ satisfies:
[0290]
[0291] Where, N′ info satisfy:
[0292]
[0293] N info satisfy:
[0294] N info =N RE ·R1·Q m ·v, or, N info =N RE ·R2·Q m ·v Formula (5);
[0295] C satisfies:
[0296]
[0297] In the above formula, N RE N represents the total number of REs available for data transmission. RE The method for determining this can be found in [reference]. Figure 5 The process. Q m Indicates the modulation order, v represents the number of layers, and k represents the modulation order. max This indicates the maximum number of information bits that a CB can carry.
[0298] Formula (5) can be seen as a... Figure 6The transformation of formula (1) in the relevant process is to replace R in formula (1) with R1 or R2. The meanings of the symbols in formula (5) and its related formulas can be found in the explanation of the meanings of the symbols in formula (1), and will not be repeated here. According to formula (5), N info The size of the third transport block can be determined based on either the first code rate R1 or the second code rate R2.
[0299] In method 3, the first device may further determine the number of information bits K1 carried by a CB in the first CB set. Specifically, each CB in the first CB set carries K1 information bits, or each CB in the first CB set except the last CB carries K1 information bits, and the last CB carries less than K1 information bits.
[0300] As one possible implementation for determining K1, the first device can determine the number N of CBs in the transport block and the number of information bits K carried by one CB in the transport block based on TBS′. For example, the first device determines that the transport block contains N CBs based on TBS′ and the maximum code block size, and determines the number of information bits K carried by one CB in the transport block, such that if each (or each except the last CB) CB carries K information bits, then the N CBs carry TBS′ bits.
[0301] Optionally, the first device may further determine the number of information bits K1 carried by a CB in the first CB set based on the first code rate, the second code rate, and the number of information bits K carried by a CB in the transport block. Wherein, K1 satisfies: or,
[0302] In formula (5), N info Satisfying N info =N RE ·R1·Q m In the case of v, K1 satisfies: In formula (5) N info Satisfying N info =N RE ·R2·Q m In the case of v, K1 satisfies:
[0303] In this implementation, the number of information bits carried by the first CB set is determined based on the number of information bits carried by one CB in the first CB set and X, wherein the number of information bits carried by one CB in the first CB set is determined based on a first code rate and a second code rate. One example is that the first device can determine the number X of CBs in the first CB set based on the number of information bits of the first data, such that TBS1 is greater than or equal to the number of information bits of the first data. Further, the first device can also determine the number of information bits TBS1 carried by the first CB set based on the number X of CBs in the first CB set and the number of information bits K1 carried by one CB in the first CB set. For example, if X CBs each carry K1 information bits, the number of information bits carried by the first CB set is X*K1.
[0304] As another possible implementation for determining K1, the number of information bits of the first data can be known to the first device. Therefore, the first device can also determine the number of information bits TBS1 carried by the first CB set based on the size TBS′ of the third transport block and the number of CBs X in the first CB set, such that TBS1 is greater than or equal to the number of information bits of the first data. Here, TBS1 can represent the number of information bits that the first CB set can (or may) carry, that is, the maximum number of information bits carried by the first CB set. The number of information bits carried in TBS1 can be the number of information bits of the first data.
[0305] Among them, TBS1 satisfies:
[0306]
[0307] That is, by adjusting X, TBS1 can be made to be greater than or equal to the number of information bits in the first data.
[0308] Referring to the description of Method 2, the number of information bits in the first data can be predefined by the standard, preconfigured by the network, or determined by signaling between the first device and the second device. The signaling can be RRC messages, MAC CE, or control signaling such as DCI or UCI sent between the first device and the second device.
[0309] Furthermore, the number of information bits carried by the second CB set, TBS2, can be determined based on the number of code blocks (NX) contained in the second CB set and the number of information bits K carried by one CB in the transport block. For example, if each code block in the second CB set carries K information bits, then TBS2 = (NX) * K.
[0310] Furthermore, in method 3, the number X of CBs in the first CB set can be configured to the first device without configuring the number of information bits of the first data. For example, the minimum value or minimum proportion of X can be configured via signaling. Therefore, the first device can determine TBS1 based on X and TBS′.
[0311] The first device can also determine the number of information bits K1 carried by a CB in the first CB set according to X and TBS1, such that X CBs in the first CB set carry TBS1 information bits, wherein each CB in the first CB set carries K1 information bits, or each CB in the first CB set except the last CB carries K1 information bits.
[0312] Method 3 above applies to scenarios where the first device knows the first code rate, the second code rate, and the number of information bits in the first data or the number X of CBs in the first CB set. The methods by which the first device obtains the first code rate, the second code rate, the number of information bits in the first data, and / or the number X of CBs in the first CB set can be found in the descriptions of Method 1 or Method 2, and will not be repeated here.
[0313] Before executing S102, the first device may receive signaling to obtain a first code rate, a second code rate, and the number of information bits or X of the first data. For example, the signaling may include indication information of the first code rate, indication information of the second code rate, indication information of the number of information bits of the first data, and / or indication information of X. The signaling may originate from a network device or the second device.
[0314] Alternatively, after obtaining the first code rate, the second code rate, and the number of information bits or X of the first data, the first device may send signaling to the second device to indicate the first code rate and the number of information bits or X of the first data. For example, the signaling may include indication information of the first code rate, indication information of the number of information bits of the first data, and / or indication information of X.
[0315] In addition, in method 3, the number of information bits carried by a CB in the second CB set can be K, the number of CBs in the second CB set can be NX, and the number of information bits carried by a CB in the second CB set, TBS2, can be determined based on the number of CBs in the second CB set, NX, and the number of information bits carried by a CB in the second CB set, K. Here, K is greater than K1, meaning the number of information bits carried by a CB in the second CB set is greater than the number of information bits carried by a CB in the first CB set, to support carrying data with different code rates or reliability levels within a single transport block.
[0316] In method 3, the transport block size TBS satisfies: For example, when the data in the transport block consists of first data and second data, the first device can determine the size of the transport block by summing the information bits carried by the first CB set and the second CB set.
[0317] Understandably, in Method 3, determining the size of the transport block is not a necessary step in the process of outputting the first codeword and sending the second codeword. Taking the first codeword as an example, the first device can output the first codeword based on the number of information bits carried by the first CB set and / or the number of information bits carried by a CB in the first CB set. Therefore, the process of outputting the first codeword and the second codeword can be independent of determining the size of the transport block.
[0318] like Figure 14 As shown, the first set of CBs consists of CB 0 to CB M-1, and the second set of CBs consists of CB M to CB N-1. The dashed line indicates that the number of information bits K1 carried by a CB in the first set of CBs is less than the number of information bits K carried by a CB in the second set of CBs.
[0319] Method 4: The size of the transport block is determined based on the number of information bits carried by the first CB set and the number of information bits carried by the second CB set. The number of information bits carried by the first CB set is determined based on the size of the third transport block, a first value X' of the number of CBs in the first CB set, and an adjustment value x of the number of CBs in the first CB set.
[0320] The second value X can be determined based on the number of information bits in the first data, such that the number of bits TBS1 that X CBs in the first CB set can carry is greater than or equal to the number of information bits in the first data. Referring to the description of method 2 or method 3, the number of information bits in the first data can be predefined by the standard, pre-configured by the network, or determined by signaling between the first device and the second device. The signaling can be RRC messages, MAC CE, or control signaling such as DCI or UCI sent between the first device and the second device. Furthermore, in method 4, the second value X of the number of CBs in the first CB set can be configured to the first device without configuring the number of information bits in the first data. For example, the minimum value or minimum proportion of the second value X can be configured by signaling, or the first value of the number of CBs in the first CB set and the corresponding adjustment value can be configured.
[0321] The adjustment value for the number of CBs in the first CB set is used to adjust the first value X' of the number of CBs in the first CB set to determine the second value X of the number of CBs in the first CB set. This second value X can be considered as the actual or final number of CBs in the first CB set, that is, the first data is carried in the second value of CBs.
[0322] For example, the adjustment value can be a proportionality coefficient between the first value and the second value, or it can be the difference between the first value and the second value; this application does not specifically limit it.
[0323] Alternatively, the number of information bits carried by the first CB set can be determined based on a second value of the size of the third transport block and the number of CBs in the first CB set. The second value of the number of CBs in the first CB set can be determined based on a first value and an adjustment value.
[0324] In addition, in method 4, the number of information bits K carried by a CB in the first CB set can remain unchanged by default before and after adjustment. The number of information bits K carried by a CB in the first CB set can be determined based on the size of the third transport block. The method for determining the size of the third transport block and the number of information bits K carried by a CB in the first CB set can refer to the explanation in method 3, and will not be repeated here. For example, referring to formula (5), the size of the third transport block can be determined based on the first code rate or the second code rate, that is, the number of information bits K carried by a CB in the first CB set can be determined based on the first code rate or the second code rate.
[0325] The following describes how to adjust the number of CBs in the first CB set in Method 4.
[0326] like Figure 15 As shown, in method 4, the number of CBs in the first CB set can be adjusted to reduce the number of CBs in the first CB set, that is, the resource size occupied by each CB after it is mapped to the transmission resource increases. Figure 15 In this context, CB1 and CBM-1 represent the reduced CB after adjustment.
[0327] One possible adjustment is to merge x adjacent CBs from the X' CBs in the first CB set, where x is an integer greater than 1. This means the first value of the number of CBs in the first CB set is X', and the second value is X = X' / x. With the number of information bits K carried by a CB in the first CB set remaining unchanged before and after the merge, this is equivalent to the number of information bits carried by the merged first CB set being reduced by a factor of x compared to before the merge. In other words, only the information bits from X' / x CBs out of the original X' CBs are retained. Correspondingly, the resource size occupied by each CB in the merged first CB set increases by a factor of x compared to before the merge. For example, if the original first CB set contained X' = 8 CBs, and x = 2, then the adjusted first CB set will contain only X = 4 CBs.
[0328] Another possible adjustment method is to determine the CBs to be merged according to a pattern. The pattern can include the sequence numbers of the CBs to be merged. For example, with M=8, the CBs in the first CB set are CB0 to CB7. The pattern [0,1,4,5] represents merging CB0 with CB1, and merging CB4 with CB5. That is, the first value of the number of CBs in the first CB set is 8, the adjustment value of the number of CBs in the first CB set is 4, and the second value of the number of CBs in the first CB set is 4.
[0329] Specifically, in method 4, the number of information bits carried by the first CB set can be determined based on the second value X of the number of CBs in the first CB set and the number of information bits K carried by one CB in the first CB set. The second value X of the number of CBs in the first CB set can be determined based on the first value X' of the number of CBs in the first CB set and an adjustment value x for the number of CBs in the first CB set. For example, when each CB in the first CB set carries K information bits, the number of information bits TBS1 carried by the first CB set can satisfy: TBS1 = K * X.
[0330] Method 4 above applies to scenarios where the first device knows the first code rate, the second code rate, and the second value X of the number of information bits of the first data or the number of CBs in the first CB set. The methods by which the first device obtains the first code rate, the second code rate, the number of information bits of the first data, and / or the number of CBs X in the first CB set can be found in the descriptions of Method 1 or Method 2, and will not be repeated here.
[0331] The first device obtains an adjustment value and / or a second value for the number of CBs in the first CB set by receiving signaling. For example, the signaling includes configuration or indication information for the adjustment value and / or the second value for the number of CBs in the first CB set. The signaling can be an RRC message, MAC CE, or control signaling such as DCI or UCI.
[0332] As an example, the configuration or indication information of this second value may include the value of X and the index of X. As another example,
[0333] Alternatively, the configuration or indication information of the second value may include the indication information of the first value and / or the indication information of the adjustment value.
[0334] Before executing S102, the first device may receive signaling to obtain a first code rate, a second code rate, and the number of information bits of the first data or a second value X. For example, the signaling may include at least one of the following: indication information of the first code rate, indication information of the second code rate, indication information of the number of information bits of the first data, indication information of the first value of the number of CBs in the first CB set, indication information of the adjustment value, or indication information of the second value. The signaling may originate from a network device or the second device.
[0335] Alternatively, after obtaining the first code rate, the second code rate, and the number of information bits or the second value X of the first data, the first device may send signaling to the second device to indicate the first code rate, the second code rate, and the number of information bits or the second value X of the first data. For example, the signaling may include at least one of the following: indication information of the first code rate, indication information of the second code rate, indication information of the number of information bits of the first data, indication information of the first value of the number of CBs in the first CB set, indication information of the adjustment value, or indication information of the second value.
[0336] In addition, in method 4, the number of information bits carried by a CB in the second CB set can be K, the number of CBs in the second CB set can be N-X', and the number of information bits carried by a CB in the second CB set, TBS2, can be determined based on the number of CBs in the second CB set, N-X', and the number of information bits carried by a CB in the second CB set, K. For example, when the number of information bits carried by each code block in the transport block is K, TBS2 = (N-X')*K.
[0337] In method 4, the transport block size (TBS) satisfies: For example, when the data in the transport block consists of first data and second data, the first device can determine the size of the transport block by summing the information bits carried by the first CB set and the second CB set.
[0338] Understandably, in Method 4, determining the size of the transport block is not a necessary step in the process of outputting the first codeword and sending the second codeword. Taking the first codeword as an example, the first device can output the first codeword based on the number of information bits carried by the first CB set and / or the number of information bits carried by a CB in the first CB set. Therefore, the process of outputting the first and second codewords can be independent of determining the size of the transport block.
[0339] It is understood that the formulas described in this application should not be construed as limitations on the calculation method. On the one hand, the calculation method described by the formulas in this application can also be implemented by looking up tables or other methods. On the other hand, the formulas shown in this application can also be modified by adding or removing parameters, replacing calculation symbols with equivalent calculation symbols, etc., to achieve the same or similar calculation effects.
[0340] This application also provides a communication method to support the second device in decoding. Specifically, the second device can perform... Figure 16 The following steps are shown to achieve decoding. For example, if the second device is a network device, Figure 16 The method shown can be applied to the network device side, such as the network device or the communication module in the network device, or the circuit or chip in the network device that is responsible for communication functions (such as a modem chip, or a SoC chip or SIP chip containing a modem core).
[0341] like Figure 16 As shown, the method may include the following steps:
[0342] S201: The second device acquires the information to be decoded, which includes the first codeword and the second codeword.
[0343] The information to be decoded can also be called a sequence of symbols to be decoded, etc. It is understood that the information to be decoded in S201 corresponds to the first codeword and the second codeword in S102. For example, the second device can determine that the length of the corresponding polar-coded bit sequence is N0 based on the length of the information to be decoded.
[0344] In this context, the first codeword of S201 corresponds to the first codeword in S102, and the second codeword of S201 corresponds to the second codeword in S102.
[0345] In one implementation method, the second device acquires the information to be decoded by receiving physical signals over an air interface and obtaining the information by parsing the physical signals. Alternatively, the second device can acquire the information to be decoded locally through an internal interface. This information can be obtained by parsing physical signals from other local devices, apparatuses, or modules. The physical signals can carry a first codeword and a second codeword sent by the first device, or a signal carrying both the first and second codewords.
[0346] In other words, as an example, the first device can send a physical signal to the second device, which carries the first codeword and the second codeword in execution step S102. The second device receives the physical signal, parses it, and obtains the information to be decoded. That is, the information to be decoded corresponds to the first codeword and the second codeword sent by the first device.
[0347] S201 can also be replaced with: The second device acquires the first codeword and the second codeword.
[0348] S202: The second device decodes the information to be decoded to obtain first data and second data. The first data corresponds to a first code rate, the second data corresponds to a second code rate, a first codeword corresponds to the first data and the first code rate, and a second codeword corresponds to the second data and the second code rate. The first data and the second data belong to the same transport block, the first codeword and the second codeword correspond to the transport block, and the size of the transport block is determined based on the first code rate and / or the second code rate.
[0349] Figure 16 In the process shown, the second device can determine the size of the transport block and decode it according to the size of the transport block.
[0350] In this application, the second device can determine the number of CBs included in the first CB set and / or the number of information bits carried by the CBs, and decode each CB corresponding to the first codeword accordingly to obtain the information bits carried by each CB in the first CB set. First data can be obtained based on the information bits carried by each CB in the first CB set. Similarly, the second device can determine the number of CBs included in the second CB set and / or the number of information bits carried by the CBs, and decode each CB corresponding to the second codeword according to the number of information bits to obtain the information bits carried by each CB in the second CB set. Second data can be obtained based on the information bits carried by each CB in the second CB set.
[0351] The method by which the second device determines the number of CBs in the first CB set and / or the number of information bits carried by the CBs can be the same as the method by which the first device determines the number of CBs in the first CB set and / or the number of information bits carried by the CBs, and will not be repeated here. Specifically, the second device can refer to the methods shown in methods 1 to 4 of this application to determine the number of CBs in the first CB set and / or the number of information bits carried by the CBs. Similarly, the second device can refer to the methods shown in methods 1 to 4 of this application to determine the number of CBs in the second CB set and / or the number of information bits carried by the CBs.
[0352] Optionally, if method 1 is adopted, the second device may determine the first code rate and the second code rate before executing S202. For example, the second device may receive signaling to obtain the first code rate and / or the second code rate before executing S202. The signaling may contain configuration or indication information of the first code rate, and / or configuration or indication information of the second code rate. The signaling may come from the network device or from the first device, without specific limitation.
[0353] Alternatively, the first code rate and / or the second code rate can be determined by the second device. For example, referring to the description of how the first device determines the code rate based on service information, the second device can also determine the first code rate and / or the second code rate based on service information. Furthermore, after determining the first code rate and / or the second code rate, the second device can send signaling to the first device, which may include configuration or indication information for the first code rate, and / or configuration or indication information for the second code rate.
[0354] If method 2 is adopted, the second device can determine the first code rate and the number of information bits or X of the first data before executing S202. For example, the second device can receive signaling that may include indication information of the first code rate, indication information of the number of information bits of the first data, and / or indication information of X. This signaling may come from a network device or the first device.
[0355] Alternatively, the second device may determine at least one of the first code rate, the number of information bits of the first data, or X. For example, referring to the description of the first device determining the first code rate, the number of information bits of the first data, or X, the second device may also determine at least one of the first code rate, the number of information bits of the first data, or X. Furthermore, after determining at least one of the first code rate, the second code rate, the number of information bits of the first data, or X, the second device may send signaling to the first device, which may include at least one of the following: configuration or indication information for the first code rate, configuration or indication information for the number of information bits of the first data, or indication information for X.
[0356] If method 3 is adopted, the second device can determine the first code rate, the second code rate, and the number of information bits or X of the first data before executing S202. For example, the second device can receive signaling that may include indication information of the first code rate, indication information of the number of information bits of the first data, and / or indication information of X. This signaling may originate from a network device or the first device.
[0357] Alternatively, the second device may determine at least one of the first code rate, the second code rate, the number of information bits of the first data, or X. For example, referring to the description of the first device determining the first code rate, the second code rate, the number of information bits of the first data, or X, the second device may also determine at least one of the first code rate, the second code rate, the number of information bits of the first data, or X. Furthermore, the second device may send signaling to the first device after determining at least one of the first code rate, the second code rate, the number of information bits of the first data, or X. This signaling may include at least one of the following: configuration or indication information for the first code rate, configuration or indication information for the second code rate, configuration or indication information for the number of information bits of the first data, or indication information for X.
[0358] If method 4 is adopted, the second device can determine the first code rate, the second code rate, and the number of information bits of the first data or the second value X before executing S202. For example, the second device can receive signaling that may include at least one of the following: indication information of the first code rate, indication information of the second code rate, indication information of the number of information bits of the first data, indication information of the first value of the number of CBs in the first CB set, indication information of the adjustment value, or indication information of the second value. This signaling may originate from a network device or the first device.
[0359] Alternatively, the second device may determine at least one of the following: a first code rate, a second code rate, the number of information bits in the first data, or the number of CBs in the first CB set; or a second value X. For example, referring to the description of the first device determining the first code rate, the second code rate, the number of information bits in the first data, or the second value X, the second device may also determine at least one of the following: a first code rate, a second code rate, the number of information bits in the first data, or the second value X. Furthermore, the second device may send signaling to the first device after determining at least one of the following: a first code rate indication, a second code rate indication, a number of information bits in the first data indication, a first value indication of the number of CBs in the first CB set, an adjustment value indication, or a second value indication.
[0360] Figure 16 In the process shown, descriptions of the same technical terms can be found in [reference needed]. Figure 9 The process described in the diagram will not be repeated here.
[0361] The channel estimation method provided in this application can also be applied to chip architecture. The implementation process of the above method under chip architecture is as follows: Figure 9 and or Figure 16 The processes shown are the same, only the executing entities are different. For example, [the process is described in the original text]. Figure 9 In the method shown, the first device is replaced with a chip from a terminal device (or a chip from a network device). Figure 16 The second device in the method shown is replaced with a chip of a network device (or a chip of a terminal device).
[0362] It is understood that, in order to achieve the functions in the above embodiments, the terminal device or network device includes hardware structures and / or software modules corresponding to perform each function. Those skilled in the art should readily recognize that, based on the units and method steps of the various examples described in conjunction with the embodiments disclosed in this application, this application can be implemented in the form of hardware, computer software, or a combination of hardware and computer software. Whether a function is executed by hardware or by computer software driving hardware depends on the specific application scenario and design constraints of the technical solution.
[0363] Figure 17 and Figure 18 The diagram illustrates the possible structures of communication devices provided in the embodiments of this application. These communication devices can be used to implement the functions of the first or second device in the above-described method embodiments, and thus also achieve the beneficial effects of the above-described method embodiments. In the embodiments of this application, the communication device can be a terminal device or a network device, or it can be a module or component applied to a terminal device or a network device. For example, when implementing the function of a terminal device in the embodiments of this application, the communication device can be the terminal device or a communication module in the terminal device, or a circuit or chip in the terminal device responsible for communication functions. Similarly, when implementing the function of a network device in the embodiments of this application, the communication device can be the network device or a communication module in the network device, or a circuit or chip in the network device responsible for communication functions.
[0364] Figure 17 The communication device 1700 shown includes a processing unit 1710 and a transceiver unit 1720. The processing unit can be used to perform processing and other actions. The transceiver unit 1720 may include a sending unit and a receiving unit. The sending unit is used to perform the sending action of the communication device, and the receiving unit is used to perform the receiving action of the communication device. For ease of description, the sending unit and the receiving unit in this embodiment are combined into a single transceiver unit. This will be explained uniformly here and will not be repeated later. The communication device 1700 is used to implement the functions of the first or second device in the above method embodiments. For example, the function of the first device can be found in... Figure 9 For a description of the relevant content, please refer to the description of the function of the second device. Figure 16 Description of related content. Optionally, the communication device 1700 may also include a storage unit 1730 for storing device program code and / or data.
[0365] When the communication device 1700 is used to implement the function of the first device in the above method embodiment, the processing unit 1710 and / or the transceiver unit 1720 can be used to acquire first data and second data, and the transceiver unit 1720 can also be used to output a first codeword and a second codeword. For example, the transceiver unit 1720 can be used to encode according to at least one of the size of the transport block, the number of information bits carried by the first CB set, or the number of information bits carried by the second CB set to obtain the first codeword and the second codeword.
[0366] In one possible design, when the communication device 1700 is a terminal device or a communication module within a terminal device, the functionality of the processing unit 1710 can be implemented by one or more processors. Specifically, the processor may include a modem chip, or a system-on-a-chip (SoC) chip or a SIP chip containing a modem core. The functionality of the transceiver unit 1720 can be implemented by transceiver circuitry.
[0367] In one possible design, when the communication device 1700 is a circuit or chip in a terminal responsible for communication functions, such as a modem chip or a system-on-a-chip (SoC) or SIP chip containing a modem core, the function of the processing unit 1710 can be implemented by a circuit system in the aforementioned chip that includes one or more processors or processor cores. The function of the transceiver unit 1720 can be implemented by the interface circuitry or data transceiver circuitry on the aforementioned chip.
[0368] When the communication device 1700 is used to implement the function of the second device in the above method embodiment, the processing unit 1710 and / or the transceiver unit 1720 can be used to acquire the information to be decoded. The transceiver unit 1720 can also be used to decode the information to be decoded, for example, by decoding according to at least one of the size of the transport block, the number of information bits carried by the first CB set, or the number of information bits carried by the second CB set.
[0369] For a more detailed description of the processing unit 1710 and the transceiver unit 1720, please refer directly to the relevant descriptions in the above method embodiments, which will not be repeated here.
[0370] Figure 18 The communication device 1800 shown includes a processor 1810 and an interface circuit 1820. The processor 1810 and the interface circuit 1820 are coupled to each other. It is understood that the interface circuit 1820 can be a transceiver or an input / output interface. The interface circuit may include a transmitting interface circuit and / or a receiving interface circuit. Optionally, the communication device 1800 may also include a memory 1830 for storing instructions executed by the processor 1810, or storing input data required by the processor 1810 to execute instructions, or storing data generated after the processor 1810 executes instructions.
[0371] In one example, a transceiver is used for receiving and / or transmitting signals. For instance, a processor controls the transceiver to receive and / or transmit signals. The transceiver may include a receiver for receiving signals and a transmitter for transmitting signals; if the processor is a chip, the transceiver may be the chip's input / output interface, where the output corresponds to transmitting and the input corresponds to receiving.
[0372] When the communication device 1800 is used to implement the above method embodiment, the processor 1810 is used to implement the function of the processing unit 1710, and the interface circuit 1820 is used to implement the function of the transceiver unit 1720.
[0373] It is understood that the processing unit or processor in the embodiments of this application can be a central processing unit (CPU), or other general-purpose processors, digital signal processors (DSPs), chips, application-specific integrated circuits (ASICs), microprocessors without interlocked piped stages architecture (MIPS), advanced machines (ARMs) with reduced instruction set computers (RISCs), network processors (NPs), field-programmable gate arrays (FPGAs), or other programmable logic devices, transistor logic devices, hardware components, or any combination thereof. A general-purpose processor can be a microprocessor or any conventional processor.
[0374] In one example, storage unit 1730 may include random access memory, flash memory, read-only memory, programmable read-only memory or electrically erasable programmable memory and / or registers, etc.
[0375] The method steps in the embodiments of this application can be implemented in hardware, by a processor executing software instructions, or by a combination of hardware and software. The software instructions can consist of corresponding software modules, which can be stored in random access memory, flash memory, read-only memory, programmable read-only memory, erasable programmable read-only memory, electrically erasable programmable read-only memory, registers, hard disks, portable hard disks, compact disc read-only memory (CD-ROM), or any other form of storage medium known in the art. An exemplary storage medium is coupled to a processor, enabling the processor to read information from and write information to the storage medium. Of course, the storage medium can also be a component of the processor. The processor and storage medium can reside in an ASIC. Furthermore, the ASIC can reside in a first device or a second device. Alternatively, the processor and storage medium can exist as discrete components in the first device or the second device.
[0376] In the above embodiments, implementation can be achieved entirely or partially through software, hardware, firmware, or any combination thereof. When implemented using software, it can be implemented entirely or partially in the form of a computer program product. The computer program product includes one or more computer programs or instructions. A computer program is a set of instructions that instruct an electronic computer or other device having a first or second device to perform any step of its operation. It is typically written in a programming language and runs on a target architecture. When the computer program or instructions are loaded and executed on a computer, the processes or functions described in the embodiments of this application are performed, in whole or in part. The computer can be a general-purpose computer, a special-purpose computer, a computer network, or other programmable device. The computer program or instructions can be stored in a computer-readable storage medium or transferred from one computer-readable storage medium to another. For example, the computer program or instructions can be transferred from one website, computer, server, or data center to another website, computer, server, or data center via wired or wireless means. The computer-readable storage medium can be any available medium that a computer can access or a data storage device such as a server or data center that integrates one or more available media. The usable medium can be a magnetic medium, such as a floppy disk, hard disk, or magnetic tape; it can also be an optical medium, such as a digital video optical disc; or it can be a semiconductor medium, such as a solid-state drive. The computer-readable storage medium can be volatile or non-volatile, or it can include both types. Whether a function is implemented in hardware or software depends on the specific application and design constraints of the technical solution. Those skilled in the art can use different methods to implement the described function for each specific application, but such implementation should not be considered beyond the scope of this application.
[0377] Based on the same technical concept, embodiments of this application also provide a computer-readable storage medium, including a program or instructions, which, when run on a computer, cause the methods in the above method embodiments to be executed.
[0378] Based on the same technical concept, embodiments of this application also provide a computer program product, including instructions that, when run on a computer, cause the methods in the above method embodiments to be executed.
[0379] Based on the same technical concept, embodiments of this application also provide a communication system, which may include a first device and a second device. In this communication system, the first device and the second device may be respectively used to implement… Figure 9 and Figure 16The method flow is described in the text. As an example, the first device can be a terminal, and the second device can be a network device (such as a base station). As another example, the first device can be a network device, and the second device can be a terminal.
[0380] Based on the same technical concept, this application also provides a chip, including a processor, for calling and executing instructions stored in a memory, causing a communication device equipped with the chip to perform the methods in the examples above.
[0381] Based on the same technical concept, this application also provides another chip, including: an input interface, an output interface, and a processor. The input interface, the output interface, and the processor are connected via an internal connection path. The processor is used to execute code in a memory. When the code is executed, the processor is used to perform the methods in the examples described above. Optionally, the chip also includes a memory for storing computer programs or code.
[0382] Figure 19 This is a schematic diagram of a chip system 1900 provided in an embodiment of this application. The chip system 1900 includes logic circuitry 1910 and an input / output interface 1920. This chip system can also be referred to as a processing system.
[0383] The logic circuit 1910 can be a processing circuit in the chip system 1900. The logic circuit 1910 can be coupled to a memory unit, calling instructions from the memory unit, enabling the chip system 1900 to implement the methods and functions of the embodiments of this application. The input / output interface 1920 can be an input / output circuit in the chip system 1900, outputting processed information from the chip system 1900, or inputting data or signaling information to be processed into the chip system 1900 for processing.
[0384] As one option, the chip system 1900 is used to implement the operations performed by the first or second device in the various method embodiments described above.
[0385] For example, logic circuit 1910 is used to implement the processing-related operations performed by the first device in the above method embodiment; input / output interface 1920 is used to implement the sending and / or receiving-related operations performed by the first device in the above method embodiment. As another example, logic circuit 1910 is used to implement the processing-related operations performed by the second device in the above method embodiment; input / output interface 1920 is used to implement the sending and / or receiving-related operations performed by the second device in the above method embodiment.
[0386] Those skilled in the art will understand that embodiments of this application can be provided as methods, systems, or computer program products. Therefore, this application can take the form of a completely hardware embodiment, a completely software embodiment, or an embodiment combining software and hardware aspects. Furthermore, this application can take the form of a computer program product embodied on one or more computer-usable storage media (including but not limited to disk storage, CD-ROM, optical storage, etc.) containing computer-usable program code.
[0387] In the various embodiments of this application, unless otherwise specified or in case of logical conflict, the terminology and / or descriptions of different embodiments are consistent and can be referenced by each other. The technical features of different embodiments can be combined to form new embodiments according to their inherent logical relationship.
[0388] In this application, "at least one" means one or more, and "more than one" means two or more. "And / or" describes the relationship between related objects, indicating that three relationships can exist. For example, A and / or B can represent: A alone, A and B simultaneously, or B alone, where A and B can be singular or plural. In the textual description of this application, the character " / " generally indicates an "or" relationship between the preceding and following related objects; in the formulas of this application, the character " / " indicates a "division" relationship between the preceding and following related objects.
[0389] It is understood that the various numerical designations used in the embodiments of this application are merely for descriptive convenience and are not intended to limit the scope of the embodiments of this application. The order of the process numbers described above does not imply the order of execution; the execution order of each process should be determined by its function and internal logic.
Claims
1. A communication method, characterized in that, include: Acquire first data and second data, where the first data corresponds to a first bitrate and the second data corresponds to a second bitrate; Output a first codeword set and a second codeword set, wherein the first codeword is obtained based on the first data and the first code rate, and the second codeword is obtained based on the second data and the second code rate; Wherein, the first data and the second data belong to the same transport block, the first codeword and the second codeword correspond to the transport block, and the size of the transport block is determined according to the first code rate and / or the second code rate.
2. A communication method, characterized in that, include: Obtain the first and second codewords; The information to be decoded is decoded to obtain first data and second data, wherein the first data corresponds to a first code rate, the second data corresponds to a second code rate, the first codeword corresponds to the first data and the first code rate, and the second codeword corresponds to the second data and the second code rate; Wherein, the first data and the second data belong to the same transport block, the first codeword and the second codeword correspond to the transport block, and the size of the transport block is determined according to the first code rate and / or the second code rate.
3. The method as described in claim 1 or 2, characterized in that, The size of the transport block is determined based on the first code rate and the second code rate, including: The size of the transport block is determined based on a third code rate, which is determined based on the first code rate and the second code rate.
4. The method as described in claim 3, characterized in that, The transport block includes a first set of code blocks and a second set of code blocks; The first codeword corresponds to the first code block set, and the number of information bits carried by the first code block set is determined according to the size of the transport block, the first code rate, and the third code rate; The second codeword corresponds to the second code block set, and the number of information bits carried by the second code block set is determined according to the size of the transport block, the second code rate, and the third code rate.
5. The method as described in claim 3 or 4, characterized in that, The first codeword occupies L1 resource units, and the second codeword occupies L2 resource units, where L1 and L2 are both positive integers; The first codeword corresponds to the first code block set in the transport block, and the number of information bits carried by the first code block set is also determined according to L1 and / or L2; The second codeword corresponds to the second code block set in the transport block, and the number of information bits carried by the second code block set is also determined according to L1 and / or L2.
6. The method as described in claim 5, characterized in that, The L1 resource units and the L2 resource units satisfy one or more of time division multiplexing, frequency division multiplexing, or space division multiplexing.
7. The method as described in claim 1 or 2, characterized in that, The transport block includes a first set of code blocks and a second set of code blocks; The first codeword corresponds to the first code block set, and the second codeword corresponds to the second code block set; The size of the transport block is determined based on the first code rate and the second code rate, including: The size of the transport block is determined based on the number of information bits carried by the first code block set and the number of information bits carried by the second code block set. The number of information bits carried by the first code block set is determined based on the number of available resource elements on the time-frequency resources occupied by the first code block set and the first code rate. The number of information bits carried by the second code block set is determined based on the number of available resource elements on the time-frequency resources occupied by the second code block set and the second code rate.
8. The method as described in claim 7, characterized in that, The first code block set includes X code blocks, where X is determined based on the maximum value of the number of information bits carried by the first code block set and the number of information bits carried by a code block in the first code block set, and X is a positive integer; The second code block set includes Y code blocks, where Y is determined based on the maximum value of the number of information bits carried by the second code block set and the number of information bits carried by one code block in the second code block set, and Y is a positive integer.
9. The method as described in claim 1 or 2, characterized in that, The size of the transport block is determined according to the first code rate or the second code rate. The transport block includes a first code block set and a second code block set. The sum of the number of code blocks in the first code block set and the number of code blocks in the second code block set is N, where N is a positive integer. The first codeword corresponds to the first code block set, which includes X code blocks. The number of information bits carried by the first code block set is determined based on the size of the transport block, X, and N, where X is a positive integer and N is greater than X. The second codeword corresponds to the second code block set, and the number of information bits carried by the second code block set is equal to the size of the transport block minus the number of information bits carried by the first code block set.
10. The method as described in claim 9, characterized in that, The number of information bits carried by the first code block set is equal to the number of information bits of the first data.
11. The method as described in claim 1 or 2, characterized in that, The transport block includes a first set of code blocks and a second set of code blocks; The first codeword corresponds to the first code block set, the first code block set includes X code blocks, the second codeword corresponds to the second code block set, and the size of the transport block is equal to the sum of the number of information bits carried by the first code block set and the number of information bits carried by the second code block set, where X is a positive integer; The number of information bits carried by the first code block set is determined based on the second code rate and X, and the number of information bits carried by the second code block set is determined based on the second code rate and NX.
12. The method as described in claim 11, characterized in that, The number of information bits carried by the first code block set is determined based on the number of information bits carried by a code block in the first code block set and X, wherein the number of information bits carried by a code block in the first code block set is determined based on the first code rate and the second code rate.
13. The method as described in claim 1 or 2, characterized in that, The transport block includes a first set of code blocks and a second set of code blocks; The first codeword corresponds to the first code block set, the second codeword corresponds to the second code block set, and the size of the transport block is equal to the sum of the number of information bits carried by the first code block set and the number of information bits carried by the second code block set; Wherein, the number of information bits carried by the first code block set is determined based on a first value of the number of code blocks in the first code block set and an adjustment value of the number of code blocks in the first code block set, as well as the first code rate or the second code rate; or, the number of information bits carried by the first code block set is determined based on a second value of the number of code blocks in the first code block set and the first code rate or the second code rate, wherein the second value of the number of code blocks in the first code block set is determined based on the first value of the number of code blocks in the first code block set and an adjustment value of the number of code blocks in the first code block set; The number of information bits carried by the second code block set is determined based on a first value of the number of code blocks in the first code block set, and the first code rate or the second code rate.
14. The method as described in claim 13, characterized in that, The method further includes: The number of information bits carried by a code block in the first code block set is determined according to the first code rate or the second code rate.
15. The method according to any one of claims 1-14, characterized in that, Send or receive at least one of the following: The indication information of the first bit rate; The second bit rate indication information; The third code rate indication information; The information bit count indication information of the first data; The indication information of X; Indication information of the first value of the number of code blocks in the first code block set; Indication information regarding the adjustment value of the number of code blocks in the first code block set; or... The second value of the number of code blocks in the first code block set is indicated.
16. A communication device, characterized in that, Includes units or modules for performing the method as described in any one of claims 1-15.
17. A communication device, characterized in that, Includes a processor for executing computer programs or instructions to implement the method as described in any one of claims 1-15.
18. A computer-readable storage medium, characterized in that, The storage medium stores a computer program or instructions, and when the computer program or instructions are executed by a communication device, the method as described in any one of claims 1-15 is implemented.
19. A computer program product, characterized in that, When the computer program product is executed by a computer, the computer executes the method as described in any one of claims 1-15.