Data processing method, communication device, communication system, and computer program

By matching polar code blocks with integer power lengths, the method simplifies system design and reduces power consumption, addressing complexity and performance issues in polar codes.

JP2026004273APending Publication Date: 2026-01-14HUAWEI TECH CO LTD
View PDF 5 Cites 0 Cited by

Patent Information

Application Number
JP2025135031
Authority / Receiving Office
JP · JP
Patent Type
Applications
Current Assignee / Owner
Priority Date
2021-06-18
Filing Date
2025-08-14
Publication Date
2026-01-14

AI Technical Summary

Technical Problem

Polar codes in wireless communication systems require additional configuration of a rate matching module, leading to increased system design complexity and power consumption, which hinders further performance improvement.

Method used

A data processing method that matches code blocks with code lengths in the form of positive integer powers of 2, eliminating the need for a rate matching module, thereby simplifying system design and reducing power consumption.

Benefits of technology

This approach reduces system power consumption and complexity while maintaining optimal transmission performance by directly transmitting or receiving code words without additional rate matching, enhancing encoding/decoding efficiency.

✦ Generated by Eureka AI based on patent content.

Smart Images

  • Figure 2026004273000001_ABST
    Figure 2026004273000001_ABST
Patent Text Reader

Abstract

A data processing method, apparatus, and system are provided, to reduce system power consumption of polar code encoding / decoding in the field of communications technologies.SOLUTION: The method includes: obtaining a total data length of information bits; and obtaining C code blocks based on the total data length of the information bits and a preset first code rate. A code block of C corresponds to one or more code lengths, and the one or more code lengths meet a form of 2 to the power of a positive integer. A code length of a code word obtained after polar code encoding is matched with a positive integer power of 2, so that a code word obtained after C code blocks are encoded can be directly sent or received by using the first code rate, and a rate matching module does not need to be additionally configured.EFFECT: This effectively simplifies a system design for polar code encoding / decoding, and reduces system power consumption.SELECTED DRAWING: Figure 3
Need to check novelty before this filing date? Find Prior Art

Description

[Technical Field]

[0001] CROSS-REFERENCE TO RELATED APPLICATIONS This application claims priority to PCT Patent Application No. PCT / CN2021 / 101093, entitled "Data Processing Method, Apparatus, and System," filed with the State Intellectual Property Office of China on June 18, 2021, which is incorporated herein by reference in its entirety.

[0002] The present application relates to the field of communication technology, particularly short-range communication, and provides a data processing method, apparatus, and system. [Background technology]

[0003] With the continuous development of global communication technology, wireless communication technology is in the midst of development. Intelligent terminal devices, such as intelligent transportation devices, smart home devices, and robots, which are developed based on wireless communication technology, are gradually entering people's daily lives.

[0004] Currently, in wireless communication systems, turbo codes, low-density parity check (LDPC) codes, and polar codes are commonly used to perform channel encoding and decoding. For medium and short packet transmission, turbo codes and LDPC codes have difficulty in achieving ideal performance in the case of limited code length due to the encoding and decoding characteristics of turbo codes and LDPC codes. In implementation, the encoding and decoding implementation processes of turbo codes and LDPC codes have high complexity. Polar codes are high-performance codes with low encoding / decoding complexity that have been theoretically proven to be able to achieve Shannon capacity, and therefore are being increasingly widely applied.

[0005] Currently, using polar codes usually requires additional configuration of a rate matching module after encoding / decoding a code block, which results in further increased system design complexity, further increased system power consumption, and impacts further improvement of polar channel transmission performance of polar codes in application processes. Summary of the Invention

[0006] The present application provides a data processing method, apparatus, and system for reducing system power consumption for polar code encoding / decoding.

[0007] According to a first aspect, the present application provides a data processing method. The method is applicable to any communication node having a communication function, and may be used for, for example, a transmitting end node or device, or a receiving end node or device. The method includes: obtaining a total data length of information bits; and obtaining C code blocks based on the total data length of the information bits and a first preset code rate. The C code blocks correspond to at least one or more code lengths, where the at least one or more code lengths belong to S predefined or preconfigured code lengths, and the data length of the C code blocks corresponds to the first code rate, and each of the S code lengths satisfies the form of a positive integer power of 2, where S is a positive integer greater than or equal to 2, and C is a positive integer. In this way, the code block of C is matched with the code length in the form of a positive integer power of 2 filled by the code word obtained after polar encoding, so that the code word obtained after encoding the code block of C can be directly transmitted or received by using the first code rate, and no rate matching module needs to be additionally configured, which effectively simplifies the system design for polar code encoding / decoding and can further reduce the system power consumption of polar code encoding / decoding.

[0008] Hereinafter, specific implementations of the data processing method will be described separately from the perspectives of the sending end device and the receiving end device.

[0009] According to a second aspect, the present application provides a data processing method, which is applicable to a transmitting end device, comprising: the transmitting end device obtaining information bits, obtaining C code blocks based on a total data length of the information bits and a preset first code rate, encoding the C code blocks to obtain code words obtained after the C code blocks are encoded, and then transmitting the code words obtained after the C code blocks are encoded. The C code blocks correspond to at least one or more code lengths, where the at least one or more code lengths belong to S predefined or preconfigured code lengths, the data length of the C code blocks corresponds to the first code rate, and each of the S code lengths satisfies the form of a positive integer power of 2, where S is a positive integer greater than or equal to 2, and C is a positive integer. In this design, the code block of C is matched with the code length in the form of a positive integer power of 2, which is filled by the code word obtained after polar encoding, so that the transmitting end device can directly transmit the code word obtained after encoding the code block of C by using the first code rate, and no rate matching module needs to be additionally configured, which can effectively simplify the system design for polar code encoding and further reduce the system power consumption of polar code encoding.

[0010] In a possible design, the transmitting end device may encode the code block of C by using a polar code, thus utilizing the advantages of polar encoding to reduce encoding complexity and effectively improve encoding efficiency.

[0011] In a possible design, for the first code rate, each of the code lengths of S may correspond to a predefined or preconfigured data length, and the corresponding code length and data length may satisfy one or more of the following:

[0012] Content 1: The value of the data length corresponding to the maximum code length in the code length of S is the product of the first code rate and the maximum code length. In this way, the length of the code block corresponding to the maximum code length transmitted by using each code rate can be equal to the data length that the channel can bear, so that the transmitting end device can fully utilize the advantage of the maximum code length on data transmission performance and achieve the optimal transmission performance of the channel corresponding to the maximum code length.

[0013] Content 2: The value of the data length corresponding to the non-maximum code length in the code length of S is the product of the second code rate and the non-maximum code length, and the second code rate is smaller than the first code rate. In this way, the length of the code block corresponding to the non-maximum code length transmitted by using each code rate is smaller than the data length that the channel can withstand, so that the negative impact of the small code length on data transmission performance can be compensated for by reducing the code rate.

[0014] Additionally, there may be multiple second code rates to implement Content 2. An example is provided below.

[0015] In a possible design, when the first code rate is the minimum code rate in a predefined or preconfigured code rate of T, the second code rate may be the difference between the first code rate and a first preset order reduction threshold; or when the first code rate is a non-minimum code rate in a predefined or preconfigured code rate of T, the second code rate may be a higher-order code rate smaller than the first code rate. The first preset order reduction threshold indicates that when a higher-order code rate smaller than the minimum code rate exists, the code rate difference between the higher-order code rate and the minimum code rate may be preset or preconfigured to be a value smaller than the minimum code rate. In this way, a code block corresponding to a non-maximum code length is transmitted by using the higher-order code rate of the current code rate, thereby allowing the length of the code block to be the same as the data length that a channel corresponding to the higher-order code rate can withstand and smaller than the data length that a channel corresponding to the current code rate can withstand. This helps improve the transmission performance of a channel corresponding to a non-maximum code length.

[0016] In the above-described design, the correspondence between the code length of S, the code rate of T, and the data length of S×T is predefined or preconfigured in the transmitting-end device, and this correspondence may be represented in one or more of a table, a stack, a database, a queue, or another format. For example, if a table is used for representation, Table 1.1 below shows a table of correspondence between the code length of S, the code rate of T, and the data length of S×T corresponding to the above design. Table 1.1 shows the correspondence between the code length of S, the code rate of T, and the data length of S×T configured with reference to mother codes m0, m0-1, ..., and m0-S+1.

number

number

number

number

[0017] It should be noted that in the above Table 1.1, only the maximum format that can be filled is provided. However, instead of filling each row and each column, Table 1.1 may actually include one or more rows or one or more columns. Furthermore, the above table is only a possible mounting format of the correspondence. In actual operation, other mounting formats, such as a database, a data stack, or a queue, may be used to represent the correspondence. This is not particularly limited.

[0018] In another possible design, the second code rate may be a difference between the first code rate and a second preset order reduction threshold corresponding to the first code rate. The second preset order reduction thresholds corresponding to different code rates may be the same or different and may be specifically set according to an actual scenario. In this way, in this design, the data length of a data block having a non-maximum code length at each code rate can be flexibly changed by flexibly configuring the second preset order reduction threshold corresponding to each code rate.

[0019] In the above-described design, the correspondence between the code length of S, the code rate of T, and the data length of S×T may be represented in one or more of a table, a stack, a database, a queue, or another format. For example, if a table is used for representation, Table 1.2 below shows a table of correspondence between the code length of S, the code rate of T, and the data length of S×T corresponding to the above design. Table 1.2 shows the correspondence between the code length of S, the code rate of T, and the data length of S×T constructed with reference to mother codes m0, m0-1, ..., and m0-S+1.

number

number

number

number

[0020] Please note that in Table 1.2, only the maximum format that can be filled is provided. However, instead of filling each row and each column, Table 1.2 may actually include one or more rows or one or more columns. Furthermore, the above table is only a possible mounting format of the correspondence. In actual operation, other mounting formats, such as a database, a data stack, or a queue, may be used to represent the correspondence. This is not particularly limited.

[0021] In yet another possible design, the second code rate may be a product of the first code rate and a preset code rate ratio corresponding to the first code rate, where the preset code rate ratio is greater than 0 and less than 1. The preset code rate ratios corresponding to different code rates may be the same or different and may be specifically set according to actual scenarios. In this way, in this design, the data length of a code block having a non-maximum code length at each code rate can be flexibly changed by flexibly configuring the preset code rate ratio corresponding to each code rate.

[0022] In the above-described design, the correspondence between the code length of S, the code rate of T, and the data length of S×T may be represented in one or more of a table, a stack, a database, a queue, or another format. For example, if a table is used for representation, Table 1.3 below shows a table of correspondence between the code length of S, the code rate of T, and the data length of S×T corresponding to the above design. Table 1.3 shows the correspondence between the code length of S, the code rate of T, and the data length of S×T constructed with reference to mother codes m0, m0-1, ..., and m0-S+1.

number

number

number

number

[0023] Please note that in Table 1.3, only the maximum format that can be filled is provided. However, instead of filling each row and each column, Table 1.3 may actually include one or more rows or one or more columns. Furthermore, the above table is only a possible mounting format of the correspondence. In actual operation, other mounting formats, such as a database, a data stack, or a queue, may be used to represent the correspondence. This is not particularly limited.

[0024] In Table 1.1, Table 1.2, and Table 1.3, the code length of S may include one or more of the following code lengths: 1024 bits, 512 bits, 256 bits, 128 bits, or 64 bits, and the code rate of T may include one or more of the following code rates: ¼, ¾, ½, 5 / 8, ¾, or 7 / 8. For example, when the code rate of T includes one or more of ¼, ¾, ½, 5 / 8, ¾, or 7 / 8, the first preset order reduction threshold may be preset or preconfigured to be a value smaller than ¼, for example, configured to be 1 / 8. In this way, regardless of which code rate is used as the minimum code rate in an actual scenario, the data length corresponding to the same code rate and the same code length can be maintained as consistently as possible. Alternatively, the first preset order reduction threshold may be configured to be one of 1 / 16, 1 / 32, or 1 / 64, so that the transmission capacity of the channel corresponding to the minimum code rate is as close as possible to the maximum transmission capacity corresponding to the minimum code rate. When the code rate of T includes one or more of 1 / 4, 3 / 8, 1 / 2, 5 / 8, 3 / 4, or 7 / 8, if the second preset order reduction threshold corresponding to the code rate of T is set to the same value, the second preset order reduction threshold may be set to a value smaller than 1 / 4, for example, 1 / 8, 1 / 16, 1 / 32, or 1 / 64. This is not particularly limited.

[0025] In a possible design, the code block of C is: 10 the first code block of C 10 The code length of each of the first code blocks of S is the maximum code length among the code lengths of S, and each first code block includes a first check code for the information bits included in the first code block; and / or C 20 the second code block of S, where the code length of any second code block is a non-maximum code length among the code lengths of S, and C 20 The second code block of C 20 and a second check code for all information bits included in the second code block of C.10 is a positive integer, and C 20 is an integer greater than or equal to 0; or C 10 is an integer greater than or equal to 0, and C 20 is a positive integer. In this way, a first check code and / or a second check code are added to the code blocks of C, so that if a transmission error occurs, only the part of the code block where the check code error occurred needs to be retransmitted. This helps reduce retransmission delay. Furthermore, a check code is added to each long code block having a maximum code length, and no check code is added to each short code block having a non-maximum code length. Instead, one check code is added to all short code blocks having a non-maximum code length. This helps reduce the total data length of the segmented code blocks as much as possible while adding the necessary check codes, and helps reduce air interface overhead.

[0026] In one possible design, for a first code rate, if each of the code lengths in S corresponds to a predefined or preconfigured data length, then C 10 and C 20 may be obtained based on the total data length of the information bits and the data length of the information bits included in each first code block, where the data length of the information bits included in each first code block is the difference between the data length corresponding to the maximum code length and the data length of the first check code. In this way, the number of first code blocks and the number of second code blocks are determined by using the first code block corresponding to the maximum code length as a reference, so that as many first code blocks as possible with longer data lengths can be used to hold as many information bits as possible, thereby effectively reducing the total number of code blocks.

[0027] In a possible design, when the ratio of the total data length of the information bits to the data length of the information bits included in each first code block is an integer, C 10 The value of may be the above ratio, and C 20The value of is 0, i.e., there is no second code block. In this design, a first code block with a long data length can be used to hold all the information bits, thus effectively reducing the total number of code blocks.

[0028] In a possible design, if the ratio of the total data length of the information bits to the data length of the information bits included in each first code block is not an integer, C 10 The value of C may be the integer part of the above ratio. 20 The second code blocks of S may include L type second code blocks, where the L type second code blocks correspond to a non-maximum code length of L in the code length of S, and the data length of each type of the L type second code blocks is a data length corresponding to the corresponding non-maximum code length, and the number of L type second code blocks is obtained based on the data length of the remaining data to be segmented and the data length of the L type second code blocks, and the data length of the remaining data to be segmented is the sum of the data length of the remaining information bits and the data length of the second check code, and the data length of the remaining information bits is the sum of the data length of the information bits and the data length of the second check code. 10 where L is the difference between the data lengths of the information bits included in the first code blocks of S and S-1. L is a positive integer less than or equal to S-1. In this way, in this design, if there are remaining information bits after the first code block holds the information bits, a second code block with a shorter data length can be used to hold the remaining information bits. Compared with a scheme in which a first code block with a longer data length is used to hold the remaining information bits, this helps reduce the number of unwanted bits included in all code blocks and effectively reduces air interface overhead.

[0029] In a possible design, the number of L-type second code blocks may be determined based on an estimated number of code blocks corresponding to a minimum code length and a relative relationship between the data lengths of the L-type second code blocks and the data lengths corresponding to the minimum code length, where the estimated number of code blocks corresponding to the minimum code length is the smallest integer greater than or equal to the ratio of the data lengths of the remaining data to be segmented to the data lengths corresponding to the minimum code length. In this way, the number of second code blocks corresponding to each non-maximum code length is determined based on the smallest number of minimum code blocks that hold a total data length not smaller than that of the remaining data to be segmented, thereby including all remaining information bits and second check codes in each second code block, thereby reducing the possibility of loss of valid data.

[0030] In a possible design, the transmitting end device may determine the number of L types of second code blocks by using a bit number priority rule. In the bit number priority rule, the number of L types of second code blocks may be determined in descending order of corresponding non-maximum code lengths of L. For each type of L types of second code blocks, the number of second code blocks may be an integer in a ratio of an estimated number of remaining code blocks corresponding to a minimum code length to a first ratio, where the first ratio is the ratio of the data length of the second code block to the data length corresponding to the minimum code length, and the estimated number of remaining code blocks corresponding to the minimum code length is the difference between the product of the estimated number of code blocks corresponding to the minimum code length and the second ratio and the number of second code blocks corresponding to another non-maximum code length greater than the non-maximum code length corresponding to the second code block, and the second ratio is the ratio of the data length of the second code block corresponding to the another non-maximum code length to the data length corresponding to the minimum code length. In this way, the first code block and the second code block of each code length are used to hold information bits in a centralized manner, so that the total data length of each first code block and each second code block can be made equal to the total data length of the information bits as much as possible, which effectively reduces the number of unwanted bits included in the code blocks of C and effectively reduces the air interface overhead.

[0031] In a possible design, the number of L-type second code blocks may be determined based on a non-zero value of L in the binary data of the estimated number of code blocks corresponding to the minimum code length, where the binary data values ​​from the least significant bit to the most significant bit have a one-to-one correspondence with the S-1 non-maximum code lengths in ascending order. In this way, in this design, the relationship of multiples of two between the data lengths corresponding to the two code lengths is utilized, and the binary data values ​​indicate the number of code blocks corresponding to each code length. This allows the number of second code blocks to be determined by using a single operation as much as possible, thereby effectively improving data segmentation efficiency.

[0032] In a possible design, the number of second code blocks of type L may be obtained based on an estimated number of code blocks corresponding to a minimum code length and a preset correspondence relationship between the code length, code rate, data length, number of code blocks, and the estimated number, where the correspondence relationship is preset or preconfigured based on a relative relationship between the preset or preconfigured data length corresponding to a non-maximum code length of S-1 and the data length corresponding to the minimum code length. The correspondence relationship may be expressed in any form, such as a table, a database, a stack, etc. This design allows the transmitting end device to directly query the correspondence relationship to obtain the number of code blocks, which helps to effectively reduce calculation delay and improve data segmentation efficiency.

[0033] In a possible design, the transmitting end device may determine the number of L-type second code blocks by using a segment number priority rule. In the segment number priority rule, before determining the number of L-type second code blocks, the transmitting end device may first determine whether one or more of the following conditions are met: the data length of the remaining data to be segmented is not greater than a preset or preconfigured data length threshold; or the estimated number of code blocks corresponding to the minimum code length is not greater than a preset or preconfigured number threshold, and the estimated number of code blocks corresponding to the minimum code length is the smallest integer greater than or equal to the ratio of the data length of the remaining data to be segmented to the preset or preconfigured data length corresponding to the minimum code length. In this way, only when there are a small number of remaining information bits, short code blocks corresponding to small code lengths are used for segmentation. Therefore, when data transmission delay is low, the number of unwanted bits included in the code blocks can be reduced by performing finer segmentation. This effectively reduces the air interface overhead incurred during data transmission.

[0034] In a possible design, in the segment number priority rule, if the ratio of the total data length of the information bits to the data length of the information bits included in each first code block is not an integer, C10 The value of may be the smallest integer greater than the ratio, and C 20 The value of may be 0, that is, there is no second code block. In this way, if there are remaining information bits, the first code block with the longest code length is used to hold all the remaining information bits. Compared with the scheme in which the second code block with a small code length is used to hold the remaining information bits, this can reduce the total number of code blocks and effectively reduce data transmission delay.

[0035] In the possible design, the segment number priority rule is C 10 is the smallest integer greater than the ratio above, and C 20 Before determining that the value of may be 0, the transmitting end device may further first determine that one or more of the following conditions are met: the data length of the remaining data to be segmented is greater than a preset or pre-configured data length threshold; or the estimated number of code blocks corresponding to the minimum code length is greater than a preset or pre-configured number threshold, and the estimated number of code blocks corresponding to the minimum code length is the smallest integer greater than or equal to the ratio of the data length of the remaining data to be segmented to the preset or pre-configured data length corresponding to the minimum code length. In this way, only when there are many remaining information bits, the first code block with the maximum code length is used to hold all the remaining information bits, and when there are a few remaining information bits, the second code block corresponding to a small code length is still used to hold the remaining information bits, thus reducing unwanted bits and reducing the retransmitted data volume and retransmission delay as much as possible.

[0036] In a possible design, the segment number priority rule has a preset number threshold under the above conditions: 2 S-1 -1, and / or the preset data length threshold under the aforementioned conditions may be preset or preconfigured to be K S-1 ×(2 S-1-1), where K S-1 is the data length corresponding to the first code rate and the minimum code length. In this way, this condition is used to determine whether to perform segmentation, thereby making it possible to ensure as much as possible that the number of code blocks into which the remaining to-be-segmented data corresponding to each non-maximum code length is segmented is not greater than 1.

[0037] It should be noted that the rule used by the transmitting end device may be set in a pre-set or pre-configured manner and may be consistent with that used by the receiving end device. For example, the transmitting end device and the receiving end device are shown to use the same rule in a pre-set or pre-configured manner. Alternatively, the transmitting end device sends an instruction message to the receiving end device indicating the rule to be used, so that the receiving end device performs decoding, etc., by using the same rule based on the instruction message. The instruction message indicating the rule to be used may be held in a message in which the code word obtained after the code block of C is encoded is located, or may be held in an additional message, or may be held in a message in which other information is located. Furthermore, the instruction message may be expressed by one or more of words, letters, numbers, or another format. This is not particularly limited.

[0038] In a possible design, after obtaining the code block of C based on the total data length of the information bits and the preset first code rate, if the transmitting end device determines that the difference between the total data length and the effective data length of the code block of C is not zero, then C 10 and / or C 20 By further adjusting the second code block of C to adjust the unwanted bits in the code block of C, the subsequent transmission delay and air interface overhead of the code block of C can be reduced. The effective data length is the total data length of the information bits, C 10The data length is the sum of the data length of the first check code and the data length of the second check code.

[0039] In a possible design, C 10 The adjusted first code block of 20 The adjusted second code block of C satisfies one or more of the following: 10 One or more first code blocks in the adjusted first code block of C include preset data; 10 The data length of one or more first code blocks in the adjusted first code block is less than a preset or pre-configured data length corresponding to the maximum code length; C 20 one or more second code blocks in the adjusted second code block of C include preset data; or 20 The data length of one or more second code blocks in the adjusted second code block is smaller than a preset or preconfigured data length corresponding to the non-maximum code length corresponding to the second code block. Thus, in this design, the code block is adjusted by padding or subtracting unwanted bits from the data length of the code block, so that the adjusted code block can match the actual channel transmission conditions as much as possible.

[0040] In a possible design, when unwanted bits are adjusted by padding preset data into the first code block, the preset data may be padded before the information bits included in the last first code block. In this way, unwanted bit information is padded in a forward position of the first code block, thereby placing valid information in a possibly more reliable backward position in the first code block, thus effectively improving the reliability of transmitting valid information. Alternatively, the preset data may be padded between the information bits included in the last first code block and the first check code, thereby allowing the first check code to also include check information for the unwanted bit information, thus further improving data check and transmission security. Alternatively, the preset data may be padded after the first check code of the last first code block, thereby causing the first check code to not include check information corresponding to the unwanted bit information, thereby effectively reducing the check operation.

[0041] In a possible design, if the unwanted bits are adjusted by padding the preset data into a second code block, the preset data can be 20 or may be padded before the information bits contained in the second code block of C 20 Alternatively, padding may be added between the information bits included in the second code block of C and the second check code. 20 The second code block may be padded after the second check code.

[0042] According to a third aspect, the present application provides a data processing method, which is applicable to a receiving end device, comprising: receiving, by the receiving end device, a code word obtained after encoding C code blocks, and decoding, based on a total data length of information bits and a first code rate, the code word obtained after encoding C code blocks to obtain information bits included in C code blocks, wherein the C code blocks correspond to one or more code lengths, the one or more code lengths belong to S predefined or preconfigured code lengths, the data length of the C code blocks corresponds to a preset first code rate, and each of the S code lengths satisfies a positive integer power of 2, where S is a positive integer greater than or equal to 2, and C is a positive integer. In this design, the code block of C is matched with the code length in the form of a positive integer power of 2 filled by the code word obtained after polar encoding, so that the receiving end device can directly receive the code word obtained after encoding the code block of C by using the first code rate, and no rate matching module needs to be additionally configured, which can effectively simplify the system design for polar code decoding and further reduce the system power consumption of polar code decoding.

[0043] In a possible design, the receiving end device may decode the code blocks of C by using polar codes, thus reducing the decoding complexity and effectively improving the decoding efficiency by utilizing the advantages of polar decoding.

[0044] In a possible design, for a first code rate, each of the code lengths of S may correspond to a predefined or preconfigured data length, and the corresponding code length and data length may satisfy one or more of the following: a data length value corresponding to a maximum code length in the code lengths of S is a product of the first code rate and the maximum code length; a data length value corresponding to a non-maximum code length in the code lengths of S is a product of a second code rate and the non-maximum code length, and the second code rate is smaller than the first code rate.

[0045] In a possible design, if the first code rate is a minimum code rate among the T predefined or preconfigured code rates, the second code rate may be the difference between the first code rate and a first preset order reduction threshold; or, if the first code rate is a non-minimum code rate among the T predefined or preconfigured code rates, the second code rate may be a higher order code rate that is less than the first code rate.

[0046] In another possible design, the second code rate may be a difference between the first code rate and a second preset order reduction threshold corresponding to the first code rate. The second preset order reduction thresholds corresponding to different code rates may be the same or different and may be specifically set according to an actual scenario.

[0047] In yet another possible design, the second code rate may be a product of the first code rate and a preset code rate percentage corresponding to the first code rate, where the preset code rate percentage is greater than 0 and less than 1. The preset code rate percentages corresponding to different code rates may be the same or different and may be specifically set according to actual scenarios.

[0048] In the above designs, a correspondence between the code length of S, the code rate of T, and the data length of S×T is predefined or preconfigured in the receiving end device. The correspondence may be predefined or preconfigured with reference to any one of the above designs, and the correspondence may be represented in one or more of a table, a stack, a database, a queue, or another format. The code length of S may include one or more of the following code lengths: 1024 bits, 512 bits, 256 bits, 128 bits, or 64 bits, and the code rate of T may include one or more of the following code rates: ¼, ⅜, ½, 5⅛, ¾, or 7⅛.

[0049] It should be noted that the correspondence between the code length of S, the code rate of T, and the data length of S×T is predefined or preconfigured to be consistent in the transmitting end device and the receiving end device.

[0050] In a possible design, when the code rate of T includes one or more of 1 / 4, 3 / 8, 1 / 2, 5 / 8, 3 / 4, or 7 / 8, the first preset order reduction threshold may be preset or preconfigured to be 1 / 8. In this way, regardless of which code rate is used as the minimum code rate in an actual scenario, the data length corresponding to the same code rate and the same code length can be maintained as consistently as possible. Alternatively, the first preset order reduction threshold may be configured to be one of 1 / 16, 1 / 32, or 1 / 64, so that the transmission capacity of the channel corresponding to the minimum code rate is as close as possible to the maximum transmission capacity corresponding to the minimum code rate.

[0051] In a possible design, when the code rate of T includes one or more of 1 / 4, 3 / 8, 1 / 2, 5 / 8, 3 / 4, or 7 / 8, if the second preset order reduction threshold corresponding to the code rate of T is set to the same value, the second preset order reduction threshold may be set to a value smaller than 1 / 4, for example, 1 / 8, 1 / 16, 1 / 32, or 1 / 64. This is not particularly limited.

[0052] In a possible design, the code block of C is: 10 the first code block of C 10 The code length of each of the first code blocks of S is the maximum code length among the code lengths of S, and each first code block includes a first check code for the information bits included in the first code block; and / or C 20 the second code block of S, where the code length of any second code block is a non-maximum code length among the code lengths of S, and C 20 The second code block of C 20 and a second check code for all information bits included in the second code block of C. 10 is a positive integer, and C 20 is an integer greater than or equal to 0; or C 10 is an integer greater than or equal to 0, and C 20 is a positive integer.

[0053] In a possible design, the code block of C is C 10 and / or C 20 When the second code block includes C, the receiving end device determines C based on the total data length of the information bits and the first code rate. 10 Further obtain the information bits and the first check codes included in each of the first code blocks of C, and check the information bits and the first check codes included in each of the first code blocks; and / or 20 The information bits and the second check code included in the first code block of C are obtained. 20 The receiving end device may check the information bits and the second check code included in the first code block of the received data. In this way, the receiving end device performs the check before using the information bits, thereby effectively ensuring the accuracy of the received information bits. Furthermore, if the check fails, it indicates that a transmission error occurs, and the receiving end device may further require the transmitting end device to retransmit the first code block or the second code block that fails the check, thus effectively reducing the retransmission delay.

[0054] In one possible design, for a first code rate, if each of the code lengths in S corresponds to a predefined or preconfigured data length, then C 10 and C 20 may be obtained based on the total data length of the information bits and the data length of the information bits included in each first code block, where the data length of the information bits included in each first code block is the difference between the data length corresponding to the maximum code length and the data length of the first check code.

[0055] In a possible design, when the ratio of the total data length of the information bits to the data length of the information bits included in each first code block is an integer, C 10 The value of may be the above ratio, and C 20 The value of is 0, i.e., the second code block does not exist.

[0056] In a possible design, if the ratio of the total data length of the information bits to the data length of the information bits included in each first code block is not an integer, C 10 The value of C may be the integer part of the above ratio. 20 The second code blocks of S may include L type second code blocks, where the L type second code blocks correspond to a non-maximum code length of L in the code length of S, and the data length of each type of the L type second code blocks is a data length corresponding to the corresponding non-maximum code length, and the number of L type second code blocks is obtained based on the data length of the remaining data to be segmented and the data length of the L type second code blocks, and the data length of the remaining data to be segmented is the sum of the data length of the remaining information bits and the data length of the second check code, and the data length of the remaining information bits is the sum of the data length of the information bits and the data length of the second check code. 10 L is the difference between the data lengths of the information bits contained in the first code blocks of S-1. L is a positive integer less than or equal to S-1.

[0057] In a possible design, the number of second code blocks of type L may be determined based on an estimated number of code blocks corresponding to a minimum code length and a relative relationship between the data lengths of the second code blocks of type L and the data lengths corresponding to the minimum code length, where the estimated number of code blocks corresponding to the minimum code length is the smallest integer greater than or equal to the ratio of the data lengths of the remaining data to be segmented to the data lengths corresponding to the minimum code length.

[0058] In a possible design, the receiving end device may determine the number of L types of second code blocks by using a bit number priority rule. In the bit number priority rule, the number of L types of second code blocks may be determined in descending order of the corresponding non-maximum code lengths of L. For each type of L types of second code blocks, the number of second code blocks may be an integer in a ratio of an estimated number of remaining code blocks corresponding to a minimum code length to a first ratio, where the first ratio is the ratio of the data length of the second code block to the data length corresponding to the minimum code length, and the estimated number of remaining code blocks corresponding to the minimum code length is the difference between the product of the estimated number of code blocks corresponding to the minimum code length and the second ratio and the number of second code blocks corresponding to another non-maximum code length greater than the non-maximum code length corresponding to the second code block, and the second ratio is the ratio of the data length of the second code block corresponding to the another non-maximum code length to the data length corresponding to the minimum code length.

[0059] In a possible design, the number of second code blocks of type L may be determined based on non-zero values ​​of L in binary data of the estimated number of code blocks corresponding to the minimum code length, and the values ​​of the binary data from lower to higher bits have a one-to-one correspondence with the S-1 non-maximum code lengths in ascending order.

[0060] In a possible design, the number of second code blocks of type L may be obtained based on an estimated number of code blocks corresponding to a minimum code length and a preset correspondence between the code length, code rate, data length, number of code blocks, and the estimated number, where the correspondence is preset or preconfigured based on a relative relationship between the preset or preconfigured data length corresponding to a non-maximum code length of S−1 and the data length corresponding to the minimum code length. The correspondence may be represented in any format, such as a table, a database, a stack, etc.

[0061] In a possible design, the receiving end device may determine the number of second code blocks of type L by using a segment number priority rule. In the segment number priority rule, before determining the number of second code blocks of type L, the receiving end device may further first determine whether one or more of the following conditions are met: the data length of the remaining data to be segmented is not greater than a preset or pre-configured data length threshold; or the estimated number of code blocks corresponding to the minimum code length is not greater than a preset or pre-configured number threshold, and the estimated number of code blocks corresponding to the minimum code length is the smallest integer greater than or equal to the ratio of the data length of the remaining data to be segmented to the preset or pre-configured data length corresponding to the minimum code length.

[0062] In a possible design, in the segment number priority rule, if the ratio of the total data length of the information bits to the data length of the information bits included in each first code block is not an integer, C 10 The value of may be the smallest integer greater than the ratio, and C 20 The value of may be 0, i.e., the second code block is not present.

[0063] In the possible design, the segment number priority rule is C 10 is the smallest integer greater than the ratio above, and C 20Before determining that the value of may be 0, the receiving end device may further first determine that one or more of the following conditions are met: the data length of the remaining data to be segmented is greater than a preset or pre-configured data length threshold; or the estimated number of code blocks corresponding to the minimum code length is greater than a preset or pre-configured number threshold, and the estimated number of code blocks corresponding to the minimum code length is the smallest integer greater than or equal to the ratio of the data length of the remaining data to be segmented to the preset or pre-configured data length corresponding to the minimum code length.

[0064] In a possible design, the segment number priority rule has a preset number threshold under the above conditions: 2 S-1 -1, and / or the preset data length threshold under the aforementioned conditions may be preset or preconfigured to be K S-1 ×(2 S-1 -1), where K S-1 is the data length corresponding to the first code rate and the minimum code length.

[0065] It should be noted that the rule used by the receiving end device is consistent with that used by the transmitting end device. For example, the receiving end device and the transmitting end device are shown to use the same rule in a pre-set or pre-configured manner. Alternatively, the receiving end device receives an instruction message sent by the transmitting end device indicating the rule to be used, and the receiving end device performs decoding, etc., by using the same rule based on the instruction message. The instruction message indicating the rule to be used may be held in a message in which the code word obtained after the code block of C is encoded is located, or may be held in an additional message, or may be held in a message in which other information is located. Furthermore, the instruction message may be expressed by one or more of words, letters, numbers, or another format. This is not particularly limited.

[0066] According to a fourth aspect, the present application provides a communication apparatus, which may be a transmitting end device having a communication function. The communication apparatus includes: an acquiring unit configured to acquire information bits; a processing unit configured to acquire C code blocks based on a total data length of the information bits and a predetermined first code rate, and to encode the code blocks of C to obtain code words obtained after the code blocks of C are encoded; and a transmitting unit configured to transmit the code words obtained after the code blocks of C are encoded. The code blocks of C correspond to at least one or more code lengths, the at least one or more code lengths belonging to S predefined or preconfigured code lengths, the data length of the code blocks of C corresponds to the first code rate, and each of the S code lengths satisfies the form of a positive integer power of 2, where S is a positive integer greater than or equal to 2, and C is a positive integer.

[0067] In a possible design, the processing unit is specifically configured to encode the code blocks of C by using a polar code.

[0068] In a possible design, for a first code rate, each of the code lengths of S may correspond to a predefined or preconfigured data length, and the corresponding code length and data length may satisfy one or more of the following: a data length value corresponding to a maximum code length in the code lengths of S is a product of the first code rate and the maximum code length; a data length value corresponding to a non-maximum code length in the code lengths of S is a product of a second code rate and the non-maximum code length, and the second code rate is smaller than the first code rate.

[0069] In a possible design, if the first code rate is a minimum code rate among the T predefined or preconfigured code rates, the second code rate may be the difference between the first code rate and a first preset order reduction threshold; or, if the first code rate is a non-minimum code rate among the T predefined or preconfigured code rates, the second code rate may be a higher order code rate that is less than the first code rate.

[0070] In another possible design, the second code rate may be a difference between the first code rate and a second preset order reduction threshold corresponding to the first code rate. The second preset order reduction thresholds corresponding to different code rates may be the same or different and may be specifically set according to an actual scenario.

[0071] In yet another possible design, the second code rate may be a product of the first code rate and a preset code rate percentage corresponding to the first code rate, where the preset code rate percentage is greater than 0 and less than 1. The preset code rate percentages corresponding to different code rates may be the same or different and may be specifically set according to actual scenarios.

[0072] In a possible design, the processing unit is particularly configured to obtain C code blocks based on a total data length of information bits and a preset first code rate, and by referring to a predefined or preconfigured correspondence between the code length of S, the code rate of T, and the data length of S × T. The correspondence may be preset or preconfigured by referring to any one of the designs mentioned above, and the correspondence may be represented in one or more of a table, a stack, a database, a queue, or another format. The code length of S may include one or more of the following code lengths: 1024 bits, 512 bits, 256 bits, 128 bits, or 64 bits, and the code rate of T may include one or more of the following code rates: ¼, ⅜, ½, ⅝, ¾, or 7 / 8.

[0073] In a possible design, when the code rate of T includes one or more of 1 / 4, 3 / 8, 1 / 2, 5 / 8, 3 / 4, or 7 / 8, the first preset order reduction threshold may be preset or preconfigured to be 1 / 8. In this way, regardless of which code rate is used as the minimum code rate in an actual scenario, the data length corresponding to the same code rate and the same code length can be maintained as consistently as possible. Alternatively, the first preset order reduction threshold may be configured to be one of 1 / 16, 1 / 32, or 1 / 64, so that the transmission capacity of the channel corresponding to the minimum code rate is as close as possible to the maximum transmission capacity corresponding to the minimum code rate.

[0074] In a possible design, when the code rate of T includes one or more of 1 / 4, 3 / 8, 1 / 2, 5 / 8, 3 / 4, or 7 / 8, if the second preset order reduction threshold corresponding to the code rate of T is set to the same value, the second preset order reduction threshold may be set to a value smaller than 1 / 4, for example, 1 / 8, 1 / 16, 1 / 32, or 1 / 64. This is not particularly limited.

[0075] In a possible design, the code block of C is: 10 the first code block of C 10 The code length of each of the first code blocks of S is the maximum code length among the code lengths of S, and each first code block includes a first check code for the information bits included in the first code block; and / or C 20 the second code block of S, where the code length of any second code block is a non-maximum code length among the code lengths of S, and C 20 The second code block of C 20 and a second check code for all information bits included in the second code block of C. 10 is a positive integer, and C 20 is an integer greater than or equal to 0; or C 10 is an integer greater than or equal to 0, and C 20is a positive integer.

[0076] In one possible design, for a first code rate, if each of the code lengths in S corresponds to a predefined or preconfigured data length, then C 10 and C 20 may be obtained by the processing unit based on the total data length of the information bits and the data length of the information bits included in each first code block, where the data length of the information bits included in each first code block is the difference between the data length corresponding to the maximum code length and the data length of the first check code.

[0077] In a possible design, when the ratio of the total data length of the information bits to the data length of the information bits included in each first code block is an integer, C 10 The value of may be the above ratio, and C 20 The value of is 0, i.e., the second code block does not exist.

[0078] In a possible design, if the ratio of the total data length of the information bits to the data length of the information bits included in each first code block is not an integer, C 10 The value of C may be the integer part of the above ratio. 20 The second code blocks of S may include L type second code blocks, where the L type second code blocks correspond to a non-maximum code length of L in the code length of S, and the data length of each type of the L type second code blocks is a data length corresponding to the corresponding non-maximum code length, and the number of L type second code blocks is obtained by the processing unit based on the data length of the remaining data to be segmented and the data length of the L type second code blocks, and the data length of the remaining data to be segmented is the sum of the data length of the remaining information bits and the data length of the second check code, and the data length of the remaining information bits is the sum of the data length of the information bits and the data length of the second check code, and 10 L is the difference between the data lengths of the information bits contained in the first code blocks of S-1. L is a positive integer less than or equal to S-1.

[0079] In a possible design, the number of second code blocks of type L may be determined by the processing unit based on the estimated number of code blocks corresponding to the minimum code length and the relative relationship between the data length of the second code blocks of type L and the data length corresponding to the minimum code length, where the estimated number of code blocks corresponding to the minimum code length is the smallest integer greater than or equal to the ratio of the data length of the remaining data to be segmented to the data length corresponding to the minimum code length.

[0080] In a possible design, the processing unit may determine the number of L types of second code blocks by using a bit number priority rule, in which the number of L types of second code blocks may be determined in descending order of corresponding non-maximum code lengths of L. For each type of L types of second code blocks, the number of second code blocks may be an integer in a ratio of an estimated number of remaining code blocks corresponding to a minimum code length to a first ratio, where the first ratio is the ratio of the data length of the second code block to the data length corresponding to the minimum code length, and the estimated number of remaining code blocks corresponding to the minimum code length is the difference between the product of the estimated number of code blocks corresponding to the minimum code length and the second ratio and the number of second code blocks corresponding to another non-maximum code length greater than the non-maximum code length corresponding to the second code block, and the second ratio is the ratio of the data length of the second code block corresponding to the another non-maximum code length to the data length corresponding to the minimum code length.

[0081] In a possible design, the number of second code blocks of type L may be determined by the processing unit based on non-zero values ​​of L in the binary data of the estimated number of code blocks corresponding to the minimum code length, and the values ​​of the binary data from lower to higher bits have a one-to-one correspondence with the S-1 non-maximum code lengths in ascending order.

[0082] In a possible design, the number of second code blocks of type L may be obtained by the processing unit based on an estimated number of code blocks corresponding to a minimum code length and a preset correspondence between the code length, code rate, data length, number of code blocks, and the estimated number, where the correspondence is preset or preconfigured based on a relative relationship between the preset or preconfigured data length corresponding to a non-maximum code length of S−1 and the data length corresponding to the minimum code length. The correspondence may be represented in any format, such as a table, a database, a stack, etc.

[0083] In a possible design, the processing unit may determine the number of second code blocks of type L by using a segment number priority rule. In the segment number priority rule, before determining the number of second code blocks of type L, the processing unit may further first determine whether one or more of the following conditions are met: the data length of the remaining data to be segmented is not greater than a preset or preconfigured data length threshold; or the estimated number of code blocks corresponding to the minimum code length is not greater than a preset or preconfigured number threshold, and the estimated number of code blocks corresponding to the minimum code length is the smallest integer greater than or equal to the ratio of the data length of the remaining data to be segmented to the preset or preconfigured data length corresponding to the minimum code length.

[0084] In a possible design, in the segment number priority rule, if the ratio of the total data length of the information bits to the data length of the information bits included in each first code block is not an integer, C 10 The value of may be the smallest integer greater than the ratio, and C 20 The value of may be 0, i.e., the second code block is not present.

[0085] In the possible design, the segment number priority rule is C 10 is the smallest integer greater than the ratio above, and C 20Before determining that the value of may be 0, the processing unit may further first determine that one or more of the following conditions are met: the data length of the remaining data to be segmented is greater than a preset or pre-configured data length threshold; or the estimated number of code blocks corresponding to the minimum code length is greater than a preset or pre-configured number threshold and the estimated number of code blocks corresponding to the minimum code length is the smallest integer greater than or equal to the ratio of the data length of the remaining data to be segmented to the preset or pre-configured data length corresponding to the minimum code length.

[0086] In a possible design, the segment number priority rule has a preset number threshold under the above conditions: 2 S-1 -1, and / or the preset data length threshold under the aforementioned conditions may be preset or preconfigured to be K S-1 ×(2 S-1 -1), where K S-1 is the data length corresponding to the first code rate and the minimum code length.

[0087] It should be noted that the rule used by the transmitting end device may be set in a pre-set or pre-configured manner and may be consistent with that used by the receiving end device. For example, the transmitting end device and the receiving end device are shown to use the same rule in a pre-set or pre-configured manner. Alternatively, the transmitting end device sends an instruction message to the receiving end device indicating the rule to be used, so that the receiving end device performs decoding, etc., by using the same rule based on the instruction message. The instruction message indicating the rule to be used may be held in a message in which the code word obtained after the code block of C is encoded is located, or may be held in an additional message, or may be held in a message in which other information is located. Furthermore, the instruction message may be expressed by one or more of words, letters, numbers, or another format. This is not particularly limited.

[0088] In a possible design, after obtaining the code blocks of C based on the total data length of the information bits and the preset first code rate, if the processing unit determines that the difference between the total data length and the effective data length of the code blocks of C is not zero, 10 and / or C 20 The second code block of C may be further adjusted. The effective data length is the total data length of the information bits, C 10 The data length is the sum of the data length of the first check code and the data length of the second check code.

[0089] In a possible design, C 10 The adjusted first code block of 20 The adjusted second code block of C satisfies one or more of the following: 10 One or more first code blocks in the adjusted first code block of C include preset data; 10 The data length of one or more first code blocks in the adjusted first code block is less than a preset or pre-configured data length corresponding to the maximum code length; C 20 one or more second code blocks in the adjusted second code block of C include preset data; or 20 The data length of one or more second code blocks in the adjusted second code block is less than a preset or pre-configured data length corresponding to the non-maximum code length corresponding to the second code block.

[0090] In a possible design, when unwanted bits are adjusted by padding preset data into the first code block, the preset data may be padded before the information bits included in the last first code block, or may be padded between the information bits and the first check code included in the last first code block, or may be padded after the first check code of the last first code block.

[0091] In a possible design, if the unwanted bits are adjusted by padding the preset data into a second code block, the preset data can be 20 or may be padded before the information bits contained in the second code block of C 20 Alternatively, padding may be added between the information bits included in the second code block of C and the second check code. 20 The second code block may be padded after the second check code.

[0092] According to a fifth aspect, the present application provides a communication apparatus, which may be a receiving end device having a communication function. The communication apparatus includes: a receiving unit configured to receive a code word obtained after encoding a code block of C; and a processing unit configured to decode the code word obtained after encoding the code block of C based on a total data length of information bits and a first code rate to obtain information bits included in the code block of C. The code block of C corresponds to one or more code lengths, the one or more code lengths belong to S predefined or preconfigured code lengths, the data length of the code block of C corresponds to a preset first code rate, and each of the S code lengths satisfies a positive integer power of 2, where S is a positive integer greater than or equal to 2, and C is a positive integer.

[0093] In a possible design, the processing unit is specifically configured to decode the code blocks of C by using a polar code.

[0094] In a possible design, for a first code rate, each of the code lengths of S may correspond to a predefined or preconfigured data length, and the corresponding code length and data length may satisfy one or more of the following: a data length value corresponding to a maximum code length in the code lengths of S is a product of the first code rate and the maximum code length; a data length value corresponding to a non-maximum code length in the code lengths of S is a product of a second code rate and the non-maximum code length, and the second code rate is smaller than the first code rate.

[0095] In a possible design, if the first code rate is a minimum code rate among the T predefined or preconfigured code rates, the second code rate may be the difference between the first code rate and a first preset order reduction threshold; or, if the first code rate is a non-minimum code rate among the T predefined or preconfigured code rates, the second code rate may be a higher order code rate that is less than the first code rate.

[0096] In another possible design, the second code rate may be a difference between the first code rate and a second preset order reduction threshold corresponding to the first code rate. The second preset order reduction thresholds corresponding to different code rates may be the same or different and may be specifically set according to an actual scenario.

[0097] In yet another possible design, the second code rate may be a product of the first code rate and a preset code rate percentage corresponding to the first code rate, where the preset code rate percentage is greater than 0 and less than 1. The preset code rate percentages corresponding to different code rates may be the same or different and may be specifically set according to actual scenarios.

[0098] In a possible design, the processing unit may obtain the information bits included in the code blocks of C based on a total data length of the information bits and a first code rate, and by referring to a predefined or preconfigured correspondence between the code length of S, the code rate of T, and the data length of S×T. The correspondence may be pre-set or pre-configured with reference to any one of the designs mentioned above, and the correspondence may be represented in one or more of a table, a stack, a database, a queue, or another format. The code length of S may include one or more of the following code lengths: 1024 bits, 512 bits, 256 bits, 128 bits, or 64 bits, and the code rate of T may include one or more of the following code rates: ¼, ⅜, ½, 5 / 8, ¾, or 7 / 8.

[0099] It should be noted that the correspondence between the code length of S, the code rate of T, and the data length of S×T is predefined or preconfigured to be consistent in the transmitting end device and the receiving end device.

[0100] In a possible design, when the code rate of T includes one or more of 1 / 4, 3 / 8, 1 / 2, 5 / 8, 3 / 4, or 7 / 8, the first preset order reduction threshold may be preset or preconfigured to be 1 / 8. In this way, regardless of which code rate is used as the minimum code rate in an actual scenario, the data length corresponding to the same code rate and the same code length can be maintained as consistently as possible. Alternatively, the first preset order reduction threshold may be configured to be one of 1 / 16, 1 / 32, or 1 / 64, so that the transmission capacity of the channel corresponding to the minimum code rate is as close as possible to the maximum transmission capacity corresponding to the minimum code rate.

[0101] In a possible design, when the code rate of T includes one or more of 1 / 4, 3 / 8, 1 / 2, 5 / 8, 3 / 4, or 7 / 8, if the second preset order reduction threshold corresponding to the code rate of T is set to the same value, the second preset order reduction threshold may be set to a value smaller than 1 / 4, for example, 1 / 8, 1 / 16, 1 / 32, or 1 / 64. This is not particularly limited.

[0102] In a possible design, the code block of C is: 10 the first code block of C 10 The code length of each of the first code blocks of S is the maximum code length among the code lengths of S, and each first code block includes a first check code for the information bits included in the first code block; and / or C 20 the second code block of S, where the code length of any second code block is a non-maximum code length among the code lengths of S, and C 20 The second code block of C 20 and a second check code for all information bits included in the second code block of C. 10 is a positive integer, and C 20 is an integer greater than or equal to 0; or C 10 is an integer greater than or equal to 0, and C 20 is a positive integer.

[0103] In a possible design, the code block of C is C 10 and / or C 20 If the second code block includes C, the processing unit determines C based on the total data length of the information bits and the first code rate. 10 Further obtain the information bits and the first check codes included in each of the first code blocks of C, and check the information bits and the first check codes included in each of the first code blocks; and / or 20 The information bits and the second check code included in the first code block of C are obtained. 20The information bits and the second check code included in the first code block may be checked.

[0104] In one possible design, for a first code rate, if each of the code lengths in S corresponds to a predefined or preconfigured data length, then C 10 and C 20 may be obtained based on the total data length of the information bits and the data length of the information bits included in each first code block, where the data length of the information bits included in each first code block is the difference between the data length corresponding to the maximum code length and the data length of the first check code.

[0105] In a possible design, when the ratio of the total data length of the information bits to the data length of the information bits included in each first code block is an integer, C 10 The value of may be the above ratio, and C 20 The value of is 0, i.e., the second code block does not exist.

[0106] In a possible design, if the ratio of the total data length of the information bits to the data length of the information bits included in each first code block is not an integer, C 10 The value of C may be the integer part of the above ratio. 20 The second code blocks of S may include L type second code blocks, where the L type second code blocks correspond to a non-maximum code length of L in the code length of S, and the data length of each type of the L type second code blocks is a data length corresponding to the corresponding non-maximum code length, and the number of L type second code blocks is obtained based on the data length of the remaining data to be segmented and the data length of the L type second code blocks, and the data length of the remaining data to be segmented is the sum of the data length of the remaining information bits and the data length of the second check code, and the data length of the remaining information bits is the sum of the data length of the information bits and the data length of the second check code. 10 L is the difference between the data lengths of the information bits contained in the first code blocks of S-1. L is a positive integer less than or equal to S-1.

[0107] In a possible design, the number of second code blocks of type L may be determined based on an estimated number of code blocks corresponding to a minimum code length and a relative relationship between the data lengths of the second code blocks of type L and the data lengths corresponding to the minimum code length, where the estimated number of code blocks corresponding to the minimum code length is the smallest integer greater than or equal to the ratio of the data lengths of the remaining data to be segmented to the data lengths corresponding to the minimum code length.

[0108] In a possible design, the processing unit may determine the number of L types of second code blocks by using a bit number priority rule, in which the number of L types of second code blocks may be determined in descending order of corresponding non-maximum code lengths of L. For each type of L types of second code blocks, the number of second code blocks may be an integer in a ratio of an estimated number of remaining code blocks corresponding to a minimum code length to a first ratio, where the first ratio is the ratio of the data length of the second code block to the data length corresponding to the minimum code length, and the estimated number of remaining code blocks corresponding to the minimum code length is the difference between the product of the estimated number of code blocks corresponding to the minimum code length and the second ratio and the number of second code blocks corresponding to another non-maximum code length greater than the non-maximum code length corresponding to the second code block, and the second ratio is the ratio of the data length of the second code block corresponding to the another non-maximum code length to the data length corresponding to the minimum code length.

[0109] In a possible design, the number of second code blocks of type L may be determined by the processing unit based on non-zero values ​​of L in the binary data of the estimated number of code blocks corresponding to the minimum code length, and the values ​​of the binary data from lower to higher bits have a one-to-one correspondence with the S-1 non-maximum code lengths in ascending order.

[0110] In a possible design, the number of second code blocks of type L may be obtained by the processing unit based on an estimated number of code blocks corresponding to a minimum code length and a preset correspondence between the code length, code rate, data length, number of code blocks, and the estimated number, where the correspondence is preset or preconfigured based on a relative relationship between the preset or preconfigured data length corresponding to a non-maximum code length of S−1 and the data length corresponding to the minimum code length. The correspondence may be represented in any format, such as a table, a database, a stack, etc.

[0111] In a possible design, the processing unit may determine the number of second code blocks of type L by using a segment number priority rule. In the segment number priority rule, before determining the number of second code blocks of type L, the processing unit may further first determine whether one or more of the following conditions are met: the data length of the remaining data to be segmented is not greater than a preset or preconfigured data length threshold; or the estimated number of code blocks corresponding to the minimum code length is not greater than a preset or preconfigured number threshold, and the estimated number of code blocks corresponding to the minimum code length is the smallest integer greater than or equal to the ratio of the data length of the remaining data to be segmented to the preset or preconfigured data length corresponding to the minimum code length.

[0112] In a possible design, in the segment number priority rule, if the ratio of the total data length of the information bits to the data length of the information bits included in each first code block is not an integer, C 10 The value of may be the smallest integer greater than the ratio, and C 20 The value of may be 0, i.e., the second code block is not present.

[0113] In the possible design, the segment number priority rule is C 10 is the smallest integer greater than the ratio above, and C 20Before determining that the value of may be 0, the processing unit may further first determine that one or more of the following conditions are met: the data length of the remaining data to be segmented is greater than a preset or pre-configured data length threshold; or the estimated number of code blocks corresponding to the minimum code length is greater than a preset or pre-configured number threshold and the estimated number of code blocks corresponding to the minimum code length is the smallest integer greater than or equal to the ratio of the data length of the remaining data to be segmented to the preset or pre-configured data length corresponding to the minimum code length.

[0114] In a possible design, the segment number priority rule has a preset number threshold under the above conditions: 2 S-1 -1, and / or the preset data length threshold under the aforementioned conditions may be preset or preconfigured to be K S-1 ×(2 S-1 -1), where K S-1 is the data length corresponding to the first code rate and the minimum code length.

[0115] It should be noted that the rule used by the receiving end device is consistent with that used by the transmitting end device. For example, the transmitting end device and the receiving end device are shown to use the same rule in a pre-set or pre-configured manner. Alternatively, the receiving end device receives an instruction message sent by the transmitting end device indicating the rule to be used, and the receiving end device performs decoding, etc., by using the same rule based on the instruction message. The instruction message indicating the rule to be used may be held in a message in which the code word obtained after the code block of C is encoded is located, or may be held in an additional message, or may be held in a message in which other information is located. Furthermore, the instruction message may be expressed by one or more of words, letters, numbers, or another format. This is not particularly limited.

[0116] According to a sixth aspect, the present application provides a communication device, which may be a transmitting end device having a communication function. The communication device includes at least one processor and an interface circuit. The interface circuit is configured to provide data or code instructions to the at least one processor, and the at least one processor is configured to perform the following operations by using a logic circuit or executing the code instructions: obtain information bits; obtain code blocks of C based on a total data length of the information bits and a preset first code rate; encode the code blocks of C to obtain code words obtained after the code blocks of C are encoded; and transmit the code words obtained after the code blocks of C are encoded. The code blocks of C correspond to at least one or more code lengths, the at least one or more code lengths belonging to S predefined or preconfigured code lengths, the data length of the code blocks of C corresponds to the first code rate, and each of the S code lengths satisfies the form of a positive integer power of 2, where S is a positive integer greater than or equal to 2, and C is a positive integer.

[0117] In a possible design, the at least one processor is specifically configured to perform the following operations by using logic circuits or by executing code instructions: encoding a code block of C by using a polar code.

[0118] In a possible design, for a first code rate, each of the code lengths of S may correspond to a predefined or preconfigured data length, and the corresponding code length and data length may satisfy one or more of the following: a data length value corresponding to a maximum code length in the code lengths of S is a product of the first code rate and the maximum code length; a data length value corresponding to a non-maximum code length in the code lengths of S is a product of a second code rate and the non-maximum code length, and the second code rate is smaller than the first code rate.

[0119] In a possible design, if the first code rate is a minimum code rate among the T predefined or preconfigured code rates, the second code rate may be the difference between the first code rate and a first preset order reduction threshold; or, if the first code rate is a non-minimum code rate among the T predefined or preconfigured code rates, the second code rate may be a higher order code rate that is less than the first code rate.

[0120] In another possible design, the second code rate may be a difference between the first code rate and a second preset order reduction threshold corresponding to the first code rate. The second preset order reduction thresholds corresponding to different code rates may be the same or different and may be specifically set according to an actual scenario.

[0121] In yet another possible design, the second code rate may be a product of the first code rate and a preset code rate percentage corresponding to the first code rate, where the preset code rate percentage is greater than 0 and less than 1. The preset code rate percentages corresponding to different code rates may be the same or different and may be specifically set according to actual scenarios.

[0122] In a possible design, the at least one processor is particularly configured, by using logic circuitry or by executing code instructions, to perform the following operation: obtain C code blocks based on a total data length of information bits and a preset first code rate, and by referring to a predefined or preconfigured correspondence between the code length of S, the code rate of T, and the data length of S × T. The correspondence may be preset or preconfigured with reference to any one of the aforementioned designs, and the correspondence may be represented in one or more of a table, a stack, a database, a queue, or another format. The code length of S may include one or more of the following code lengths: 1024 bits, 512 bits, 256 bits, 128 bits, or 64 bits, and the code rate of T may include one or more of the following code rates: ¼, ⅜, ½, ⅛, ¾, or 7 / 8.

[0123] In a possible design, when the code rate of T includes one or more of 1 / 4, 3 / 8, 1 / 2, 5 / 8, 3 / 4, or 7 / 8, the first preset order reduction threshold may be preset or preconfigured to be 1 / 8. In this way, regardless of which code rate is used as the minimum code rate in an actual scenario, the data length corresponding to the same code rate and the same code length can be maintained as consistently as possible. Alternatively, the first preset order reduction threshold may be configured to be one of 1 / 16, 1 / 32, or 1 / 64, so that the transmission capacity of the channel corresponding to the minimum code rate is as close as possible to the maximum transmission capacity corresponding to the minimum code rate.

[0124] In a possible design, when the code rate of T includes one or more of 1 / 4, 3 / 8, 1 / 2, 5 / 8, 3 / 4, or 7 / 8, if the second preset order reduction threshold corresponding to the code rate of T is set to the same value, the second preset order reduction threshold may be set to a value smaller than 1 / 4, for example, 1 / 8, 1 / 16, 1 / 32, or 1 / 64. This is not particularly limited.

[0125] In a possible design, the code block of C is: 10 the first code block of C 10 The code length of each of the first code blocks of S is the maximum code length among the code lengths of S, and each first code block includes a first check code for the information bits included in the first code block; and / or C 20 the second code block of S, where the code length of any second code block is a non-maximum code length among the code lengths of S, and C 20 The second code block of C 20 and a second check code for all information bits included in the second code block of C. 10 is a positive integer, and C 20 is an integer greater than or equal to 0; or C 10is an integer greater than or equal to 0, and C 20 is a positive integer.

[0126] In one possible design, for a first code rate, if each of the code lengths in S corresponds to a predefined or preconfigured data length, then C 10 and C 20 may be obtained based on the total data length of the information bits and the data length of the information bits included in each first code block, where the data length of the information bits included in each first code block is the difference between the data length corresponding to the maximum code length and the data length of the first check code.

[0127] In a possible design, when the ratio of the total data length of the information bits to the data length of the information bits included in each first code block is an integer, C 10 The value of may be the above ratio, and C 20 The value of is 0, i.e., the second code block does not exist.

[0128] In a possible design, if the ratio of the total data length of the information bits to the data length of the information bits included in each first code block is not an integer, C 10 The value of C may be the integer part of the above ratio. 20 The second code blocks of S may include L type second code blocks, where the L type second code blocks correspond to a non-maximum code length of L in the code length of S, and the data length of each type of the L type second code blocks is a data length corresponding to the corresponding non-maximum code length, and the number of L type second code blocks is obtained based on the data length of the remaining data to be segmented and the data length of the L type second code blocks, and the data length of the remaining data to be segmented is the sum of the data length of the remaining information bits and the data length of the second check code, and the data length of the remaining information bits is the sum of the data length of the information bits and the data length of the second check code. 10 L is the difference between the data lengths of the information bits contained in the first code blocks of S-1. L is a positive integer less than or equal to S-1.

[0129] In a possible design, the number of second code blocks of type L may be determined based on an estimated number of code blocks corresponding to a minimum code length and a relative relationship between the data lengths of the second code blocks of type L and the data lengths corresponding to the minimum code length, where the estimated number of code blocks corresponding to the minimum code length is the smallest integer greater than or equal to the ratio of the data lengths of the remaining data to be segmented to the data lengths corresponding to the minimum code length.

[0130] In a possible design, the at least one processor is particularly configured, by using logic circuits or by executing code instructions, to perform the following operation: determine the number of L types of second code blocks by using a bit number priority rule, where the number of L types of second code blocks may be determined in descending order of corresponding non-maximum code lengths of L. For each type of L types of second code blocks, the number of second code blocks may be an integer in a ratio of an estimated number of remaining code blocks corresponding to a minimum code length to a first ratio, where the first ratio is the ratio of the data length of the second code block to the data length corresponding to the minimum code length, and the estimated number of remaining code blocks corresponding to the minimum code length is the difference between the product of the estimated number of code blocks corresponding to the minimum code length and the second ratio and the number of second code blocks corresponding to another non-maximum code length greater than the non-maximum code length corresponding to the second code block, where the second ratio is the ratio of the data length of the second code block corresponding to the another non-maximum code length to the data length corresponding to the minimum code length.

[0131] In a possible design, the number of second code blocks of type L may be determined based on non-zero values ​​of L in binary data of the estimated number of code blocks corresponding to the minimum code length, and the values ​​of the binary data from lower to higher bits have a one-to-one correspondence with the S-1 non-maximum code lengths in ascending order.

[0132] In a possible design, the number of second code blocks of type L may be obtained based on an estimated number of code blocks corresponding to a minimum code length and a preset correspondence between the code length, code rate, data length, number of code blocks, and the estimated number, where the correspondence is preset or preconfigured based on a relative relationship between the preset or preconfigured data length corresponding to a non-maximum code length of S−1 and the data length corresponding to the minimum code length. The correspondence may be represented in any format, such as a table, a database, a stack, etc.

[0133] In a possible design, the at least one processor is particularly configured, by using logic circuits or by executing code instructions, to perform the following operation: determining the number of second code blocks of type L by using a segment number priority rule. Before determining the number of second code blocks of type L in the segment number priority rule, the at least one processor may further first determine whether one or more of the following conditions are met: the data length of the remaining data to be segmented is not greater than a preset or preconfigured data length threshold; or the estimated number of code blocks corresponding to the minimum code length is not greater than a preset or preconfigured number threshold, and the estimated number of code blocks corresponding to the minimum code length is the smallest integer greater than or equal to the ratio of the data length of the remaining data to be segmented to the preset or preconfigured data length corresponding to the minimum code length.

[0134] In a possible design, in the segment number priority rule, if the ratio of the total data length of the information bits to the data length of the information bits included in each first code block is not an integer, C 10 The value of may be the smallest integer greater than the ratio, and C 20 The value of may be 0, i.e., the second code block is not present.

[0135] In the possible design, the segment number priority rule is C 10 is the smallest integer greater than the ratio above, and C 20Before determining that the value of may be 0, the at least one processor may further first determine that one or more of the following conditions are met: the data length of the remaining data to be segmented is greater than a preset or pre-configured data length threshold; or the estimated number of code blocks corresponding to the minimum code length is greater than a preset or pre-configured number threshold and the estimated number of code blocks corresponding to the minimum code length is the smallest integer greater than or equal to the ratio of the data length of the remaining data to be segmented to the preset or pre-configured data length corresponding to the minimum code length.

[0136] In a possible design, the segment number priority rule has a preset number threshold under the above conditions: 2 S-1 -1, and / or the preset data length threshold under the aforementioned conditions may be preset or preconfigured to be K S-1 ×(2 S-1 -1), where K S-1 is the data length corresponding to the first code rate and the minimum code length.

[0137] It should be noted that the rule used by the transmitting end device may be set in a pre-set or pre-configured manner and may be consistent with that used by the receiving end device. For example, the transmitting end device and the receiving end device are shown to use the same rule in a pre-set or pre-configured manner. Alternatively, the transmitting end device sends an instruction message to the receiving end device indicating the rule to be used, so that the receiving end device performs decoding, etc., by using the same rule based on the instruction message. The instruction message indicating the rule to be used may be held in a message in which the code word obtained after the code block of C is encoded is located, or may be held in an additional message, or may be held in a message in which other information is located. Furthermore, the instruction message may be expressed by one or more of words, letters, numbers, or another format. This is not particularly limited.

[0138] In a possible design, when the computer program stored in the memory is executed by the processor, after obtaining the code block of C based on the total data length of the information bits and the preset first code rate, the transmitting end device performs the following operation: if it is determined that the difference between the total data length and the effective data length of the code block of C is not zero, then C 10 and / or C 20 The effective data length is the total data length of the information bits, C 10 The data length is the sum of the data length of the first check code and the data length of the second check code.

[0139] In a possible design, C 10 The adjusted first code block of 20 The adjusted second code block of C satisfies one or more of the following: 10 One or more first code blocks in the adjusted first code block of C include preset data; 10 The data length of one or more first code blocks in the adjusted first code block is less than a preset or pre-configured data length corresponding to the maximum code length; C 20 one or more second code blocks in the adjusted second code block of C include preset data; or 20 The data length of one or more second code blocks in the adjusted second code block is less than a preset or pre-configured data length corresponding to the non-maximum code length corresponding to the second code block.

[0140] In a possible design, when unwanted bits are adjusted by padding preset data into the first code block, the preset data may be padded before the information bits included in the last first code block, or may be padded between the information bits and the first check code included in the last first code block, or may be padded after the first check code of the last first code block.

[0141] In a possible design, if the unwanted bits are adjusted by padding the preset data into a second code block, the preset data can be 20 or may be padded before the information bits contained in the second code block of C 20 Alternatively, padding may be added between the information bits included in the second code block of C and the second check code. 20 The second code block may be padded after the second check code.

[0142] According to a seventh aspect, the present application provides a communication device, which may be a receiving end device having a communication function. The communication device includes at least one processor and an interface circuit. The interface circuit is configured to provide data or code instructions to the at least one processor, and the at least one processor is configured to perform the following operations by using a logic circuit or executing the code instructions: receive a code word obtained after encoding a code block of C, and decode the code word obtained after encoding the code block of C based on a total data length of information bits and a first code rate to obtain information bits included in the code block of C. The code block of C corresponds to one or more code lengths, the one or more code lengths belonging to S predefined or preconfigured code lengths, the data length of the code block of C corresponds to a pre-set first code rate, and each of the S code lengths satisfies a positive integer power of 2, where S is a positive integer greater than or equal to 2, and C is a positive integer.

[0143] In a possible design, the at least one processor is specifically configured to perform the following operations by using logic circuits or by executing code instructions: decoding a code block of C by using a polar code.

[0144] In a possible design, for a first code rate, each of the code lengths of S may correspond to a predefined or preconfigured data length, and the corresponding code length and data length may satisfy one or more of the following: a data length value corresponding to a maximum code length in the code lengths of S is a product of the first code rate and the maximum code length; a data length value corresponding to a non-maximum code length in the code lengths of S is a product of a second code rate and the non-maximum code length, and the second code rate is smaller than the first code rate.

[0145] In a possible design, if the first code rate is a minimum code rate among the T predefined or preconfigured code rates, the second code rate may be the difference between the first code rate and a first preset order reduction threshold; or, if the first code rate is a non-minimum code rate among the T predefined or preconfigured code rates, the second code rate may be a higher order code rate that is less than the first code rate.

[0146] In another possible design, the second code rate may be a difference between the first code rate and a second preset order reduction threshold corresponding to the first code rate. The second preset order reduction thresholds corresponding to different code rates may be the same or different and may be specifically set according to an actual scenario.

[0147] In yet another possible design, the second code rate may be a product of the first code rate and a preset code rate percentage corresponding to the first code rate, where the preset code rate percentage is greater than 0 and less than 1. The preset code rate percentages corresponding to different code rates may be the same or different and may be specifically set according to actual scenarios.

[0148] In a possible design, the at least one processor is particularly configured, by using logic circuitry or by executing code instructions, to perform the following operation: obtain information bits included in the code blocks of C based on a total data length of the information bits and a first code rate, and by referring to a predefined or preconfigured correspondence between the code length of S, the code rate of T, and the data length of S × T. The correspondence may be pre-set or pre-configured with reference to any one of the aforementioned designs, and the correspondence may be represented in one or more of a table, a stack, a database, a queue, or another format. The code length of S may include one or more of the following code lengths: 1024 bits, 512 bits, 256 bits, 128 bits, or 64 bits, and the code rate of T may include one or more of the following code rates: ¼, ⅜, ½, ⅛, ¾, or 7 / 8.

[0149] It should be noted that the correspondence between the code length of S, the code rate of T, and the data length of S×T is predefined or preconfigured to be consistent in the transmitting end device and the receiving end device.

[0150] In a possible design, when the code rate of T includes one or more of 1 / 4, 3 / 8, 1 / 2, 5 / 8, 3 / 4, or 7 / 8, the first preset order reduction threshold may be preset or preconfigured to be 1 / 8. In this way, regardless of which code rate is used as the minimum code rate in an actual scenario, the data length corresponding to the same code rate and the same code length can be maintained as consistently as possible. Alternatively, the first preset order reduction threshold may be configured to be one of 1 / 16, 1 / 32, or 1 / 64, so that the transmission capacity of the channel corresponding to the minimum code rate is as close as possible to the maximum transmission capacity corresponding to the minimum code rate.

[0151] In a possible design, when the code rate of T includes one or more of 1 / 4, 3 / 8, 1 / 2, 5 / 8, 3 / 4, or 7 / 8, if the second preset order reduction threshold corresponding to the code rate of T is set to the same value, the second preset order reduction threshold may be set to a value smaller than 1 / 4, for example, 1 / 8, 1 / 16, 1 / 32, or 1 / 64. This is not particularly limited.

[0152] In a possible design, the code block of C is: 10 the first code block of C 10 The code length of each of the first code blocks of S is the maximum code length among the code lengths of S, and each first code block includes a first check code for the information bits included in the first code block; and / or C 20 the second code block of S, where the code length of any second code block is a non-maximum code length among the code lengths of S, and C 20 The second code block of C 20 and a second check code for all information bits included in the second code block of C. 10 is a positive integer, and C 20 is an integer greater than or equal to 0; or C 10 is an integer greater than or equal to 0, and C 20 is a positive integer.

[0153] In a possible design, at least one processor may perform the following operations by using logic circuits or by executing code instructions: 10 and / or C 20 When the second code block includes the second code block of C, the total data length of the information bits and the first code rate are calculated based on the total data length of the information bits and the first code rate. 10 obtaining information bits and first check codes included in each of the first code blocks of C, and checking the information bits and first check codes included in each of the first code blocks; and / or 20obtaining information bits and a second check code included in the first code block of C; 20 The information bits and the second check code included in the first code block are further configured to perform checking.

[0154] In one possible design, for a first code rate, if each of the code lengths in S corresponds to a predefined or preconfigured data length, then C 10 and C 20 may be obtained based on the total data length of the information bits and the data length of the information bits included in each first code block, where the data length of the information bits included in each first code block is the difference between the data length corresponding to the maximum code length and the data length of the first check code.

[0155] In a possible design, when the ratio of the total data length of the information bits to the data length of the information bits included in each first code block is an integer, C 10 The value of may be the above ratio, and C 20 The value of is 0, i.e., the second code block does not exist.

[0156] In a possible design, if the ratio of the total data length of the information bits to the data length of the information bits included in each first code block is not an integer, C 10 The value of C may be the integer part of the above ratio. 20 The second code blocks of S may include L type second code blocks, where the L type second code blocks correspond to a non-maximum code length of L in the code length of S, and the data length of each type of the L type second code blocks is a data length corresponding to the corresponding non-maximum code length, and the number of L type second code blocks is obtained based on the data length of the remaining data to be segmented and the data length of the L type second code blocks, and the data length of the remaining data to be segmented is the sum of the data length of the remaining information bits and the data length of the second check code, and the data length of the remaining information bits is the sum of the data length of the information bits and the data length of the second check code. 10L is the difference between the data lengths of the information bits contained in the first code blocks of S-1. L is a positive integer less than or equal to S-1.

[0157] In a possible design, the number of second code blocks of type L may be determined based on an estimated number of code blocks corresponding to a minimum code length and a relative relationship between the data lengths of the second code blocks of type L and the data lengths corresponding to the minimum code length, where the estimated number of code blocks corresponding to the minimum code length is the smallest integer greater than or equal to the ratio of the data lengths of the remaining data to be segmented to the data lengths corresponding to the minimum code length.

[0158] In a possible design, the at least one processor is particularly configured, by using logic circuits or by executing code instructions, to perform the following operation: determine the number of L types of second code blocks by using a bit number priority rule, where the number of L types of second code blocks may be determined in descending order of corresponding non-maximum code lengths of L. For each type of L types of second code blocks, the number of second code blocks may be an integer in a ratio of an estimated number of remaining code blocks corresponding to a minimum code length to a first ratio, where the first ratio is the ratio of the data length of the second code block to the data length corresponding to the minimum code length, and the estimated number of remaining code blocks corresponding to the minimum code length is the difference between the product of the estimated number of code blocks corresponding to the minimum code length and the second ratio and the number of second code blocks corresponding to another non-maximum code length greater than the non-maximum code length corresponding to the second code block, where the second ratio is the ratio of the data length of the second code block corresponding to the another non-maximum code length to the data length corresponding to the minimum code length.

[0159] In a possible design, the number of second code blocks of type L may be determined based on non-zero values ​​of L in binary data of the estimated number of code blocks corresponding to the minimum code length, and the values ​​of the binary data from lower to higher bits have a one-to-one correspondence with the S-1 non-maximum code lengths in ascending order.

[0160] In a possible design, the number of second code blocks of type L may be obtained based on an estimated number of code blocks corresponding to a minimum code length and a preset correspondence between the code length, code rate, data length, number of code blocks, and the estimated number, where the correspondence is preset or preconfigured based on a relative relationship between the preset or preconfigured data length corresponding to a non-maximum code length of S−1 and the data length corresponding to the minimum code length. The correspondence may be represented in any format, such as a table, a database, a stack, etc.

[0161] In a possible design, the at least one processor is particularly configured, by using logic circuits or by executing code instructions, to perform the following operation: determining the number of second code blocks of type L by using a segment number priority rule. Before determining the number of second code blocks of type L in the segment number priority rule, the at least one processor may further first determine whether one or more of the following conditions are met: the data length of the remaining data to be segmented is not greater than a preset or preconfigured data length threshold; or the estimated number of code blocks corresponding to the minimum code length is not greater than a preset or preconfigured number threshold, and the estimated number of code blocks corresponding to the minimum code length is the smallest integer greater than or equal to the ratio of the data length of the remaining data to be segmented to the preset or preconfigured data length corresponding to the minimum code length.

[0162] In a possible design, in the segment number priority rule, if the ratio of the total data length of the information bits to the data length of the information bits included in each first code block is not an integer, C 10 The value of may be the smallest integer greater than the ratio, and C 20 The value of may be 0, i.e., the second code block is not present.

[0163] In the possible design, the segment number priority rule is C 10is the smallest integer greater than the ratio above, and C 20 Before determining that the value of may be 0, the at least one processor may further first determine that one or more of the following conditions are met: the data length of the remaining data to be segmented is greater than a preset or pre-configured data length threshold; or the estimated number of code blocks corresponding to the minimum code length is greater than a preset or pre-configured number threshold and the estimated number of code blocks corresponding to the minimum code length is the smallest integer greater than or equal to the ratio of the data length of the remaining data to be segmented to the preset or pre-configured data length corresponding to the minimum code length.

[0164] In a possible design, the segment number priority rule has a preset number threshold under the above conditions: 2 S-1 -1, and / or the preset data length threshold under the aforementioned conditions may be preset or preconfigured to be K S-1 ×(2 S-1 -1), where K S-1 is the data length corresponding to the first code rate and the minimum code length.

[0165] It should be noted that the rule used by the receiving end device is consistent with that used by the transmitting end device. For example, the receiving end device and the transmitting end device are shown to use the same rule in a pre-set or pre-configured manner. Alternatively, the receiving end device receives an instruction message sent by the transmitting end device indicating the rule to be used, and the receiving end device performs decoding, etc., by using the same rule based on the instruction message. The instruction message indicating the rule to be used may be held in a message in which the code word obtained after the code block of C is encoded is located, or may be held in an additional message, or may be held in a message in which other information is located. Furthermore, the instruction message may be expressed by one or more of words, letters, numbers, or another format. This is not particularly limited.

[0166] According to an eighth aspect, the present application provides a communications device comprising a processor, a transceiver, and a memory, the processor coupled to the memory storing a computer program, the computer program stored in the memory enabling the communications device to perform a method according to any design in the second aspect when executed by the processor.

[0167] According to a ninth aspect, the present application provides a communications device comprising a processor, a transceiver, and a memory, the processor coupled to the memory storing a computer program, the computer program stored in the memory enabling the communications device to perform a method according to any design in the third aspect when executed by the processor.

[0168] According to a tenth aspect, the present application provides a communication device comprising a processor and a communication interface, the communication interface being used to transmit signals to another communication device other than the communication device, the processor being configured to implement a method according to any design in the second aspect by using logic circuitry or executing code instructions.

[0169] According to an eleventh aspect, the present application provides a communication device comprising a processor and a communication interface, the communication interface being used to receive signals from another communication device other than the communication device and transmit the signals to the processor, the processor being configured to implement a method according to any design in the third aspect by using logic circuitry or executing code instructions.

[0170] According to a twelfth aspect, the present application provides a communications apparatus comprising a processor, coupled to a memory, the memory configured to store a computer program, the processor configured to execute the computer program stored in the memory, thereby enabling a transmitting end device to perform a method according to any design in the second aspect.

[0171] According to a thirteenth aspect, the present application provides a communications apparatus comprising a processor, coupled to a memory, the memory configured to store a computer program, the processor configured to execute the computer program stored in the memory, thereby enabling a receiving end device to perform a method according to any design in the third aspect.

[0172] According to a fourteenth aspect, the present application provides a communications device comprising a processor and a memory, the memory storing computer program instructions, the processor executing the computer program instructions to perform a method according to any design in the second aspect.

[0173] According to a fifteenth aspect, the present application provides a communications device comprising a processor and a memory, the memory storing computer program instructions, the processor executing the computer program instructions to perform a method according to any design in the third aspect.

[0174] According to a sixteenth aspect, the present application provides a communication system comprising a transmitting end device and a receiving end device, the transmitting end device configured to implement the method according to any design in the second aspect, and the receiving end device configured to implement the method according to any design in the third aspect.

[0175] According to a seventeenth aspect, the present application provides a terminal device. The terminal device is configured to: implement a method according to any design in the second aspect; or implement a method according to any design in the third aspect. Some examples of the terminal device include, but are not limited to, smart home devices (such as televisions, floor cleaning robots, smart desk lamps, speaker systems, intelligent light systems, electrical appliance control systems, home background music, home theater systems, intercom systems, and video surveillance), intelligent transportation devices (such as automobiles, ships, unmanned aerial vehicles, trains, vans, and trucks), intelligent manufacturing devices (such as robots, industrial devices, intelligent logistics, and intelligent factories), and intelligent terminals (such as mobile phones, computers, tablet computers, palmtop computers, desktop computers, headsets, speakers, wearable devices, in-vehicle devices, virtual reality devices, and augmented reality devices).

[0176] According to an eighteenth aspect, the present application provides a chip. The chip may include a processor and an interface. The processor is configured to read instructions through the interface and perform a method according to any design in the second aspect.

[0177] According to a nineteenth aspect, the present application provides a chip. The chip may include a processor and an interface. The processor is configured to read instructions through the interface and to perform a method according to any design in the third aspect.

[0178] According to a twentieth aspect, the present application provides a computer-readable storage medium having stored thereon a computer program that, when executed, performs a method according to any design in the second aspect.

[0179] According to a twenty-first aspect, the present application provides a computer-readable storage medium having stored thereon a computer program that, when executed, performs a method according to any design in the third aspect.

[0180] According to a twenty-second aspect, the present application provides a computer program product, which, when executed on a processor, performs a method according to any design in the second aspect.

[0181] According to a twenty-third aspect, the present application provides a computer program product, which, when executed on a processor, performs a method according to any design in the third aspect.

[0182] For details of the beneficial effects of the fourth to twenty-third aspects, please refer to the technical effects that can be achieved by the corresponding designs in the second and third aspects, and the details will not be described again here. [Brief explanation of the drawings]

[0183] [Figure 1] 1 is an example of a schematic diagram of a communication system architecture to which an embodiment of the present application can be applied;

[0184] [Figure 2]1 is an example of a schematic diagram of an architecture of an in-vehicle communication link according to an embodiment of the present application;

[0185] [Figure 3] 1 is an example of a schematic interaction flowchart of a data processing method according to an embodiment of the present application;

[0186] [Figure 4] 10 is an exemplary diagram of a presentation format of segmented data under different segmentation rules according to an embodiment of the present application;

[0187] [Figure 5A] 1 is an example of a schematic interaction flowchart of another data processing method according to an embodiment of the present application; [Figure 5B] 1 is an example of a schematic interaction flowchart of another data processing method according to an embodiment of the present application;

[0188] [Figure 6] 1 is an example of a schematic diagram of the structure of a data processing device according to an embodiment of the present application;

[0189] [Figure 7] 1 is an example of a schematic diagram of the structure of another data processing device according to an embodiment of the present application;

[0190] [Figure 8] 1 is an example of a schematic diagram of the structure of yet another data processing device according to an embodiment of the present application;

[0191] [Figure 9] 10 is an example of a schematic diagram of the structure of yet another data processing device according to an embodiment of the present application; DETAILED DESCRIPTION OF THE INVENTION

[0192] The present application will now be described in detail with reference to the accompanying drawings.

[0193] 1 is a schematic diagram of an example of a communication system architecture to which an embodiment of the present application can be applied. As shown in FIG. 1, the communication system 100 includes a network device 110 and one or more terminal devices, such as terminal device 121, terminal device 122, terminal device 123, terminal device 124, terminal device 125, and terminal device 126. The terminal devices 121, 122, 123, and 125 may access the network device 110 wirelessly and perform wireless communication with the network device 110. Furthermore, in the communication system 100, the terminal devices 124, 125, and 126 may form a small communication system. The terminal device 125 is equivalent to a network device in the small communication system and may perform operations performed by the network device. The terminal devices 124 and 126 are equivalent to terminal devices in the small communication system and may perform operations performed by the terminal devices. Furthermore, terminal device 124 and terminal device 126 may access terminal device 125 wirelessly and perform wireless communication with terminal device 125 .

[0194] In the communication system 100, the network device 110 is a device deployed in a radio access network (RAN) to provide wireless communication functions and may be referred to as a base station (BS), an access node, or an access network device. The network device 110 may transmit or receive signals and further have specific management functions. For example, the network device 110 may include an evolved Node B (eNB or e-NodeB) in a long term evolution (LTE) system or a long term evolution-advanced (LTE-A) system, or may include a next generation Node B (gNB) in a 5th generation (5G) new radio (NR) system.Currently, some examples of network devices 110 are a base transceiver station (BTS) and a base station controller (BSC) in a 2G network, a NodeB (NodeB) and a radio network controller (RNC) in a 3G network, a NodeB (evolved NodeB (eNB)) in a 4G network, a New Radio NodeB (gNB) in a 5G network, a Central Unit (CU), a Distributed Unit, a New Radio Controller, an access point (AP), a transmission reception point (TRP) in a WLAN, a home NodeB (e.g., a home evolved NodeB, HENB, or home NodeB, HNB), a base band unit (BBU), a wireless fidelity (Wi-Fi®) access point (AP), etc.

[0195] In the communication system 100, a terminal device is a device that provides voice and / or data connectivity to a user. For example, a terminal device may include a handheld device with wireless connectivity, an in-vehicle device, or a processing device connected to a wireless modem. The terminal device may communicate with the core network by using a wireless access network. Currently, some examples of terminal devices are in-vehicle devices having wireless communication capabilities in the Internet of Vehicles, user equipment (UE) used for machine type communication (MTC), 5G mobile communication terminals, mobile phones, computers, tablet computers, notebook computers, palmtop computers, desktop computers, headsets, stereos, mobile internet devices (MIDs), wearable devices (e.g., smart watches, smart bands, or pedometers), virtual reality (VR) devices, augmented reality (AR) devices, wireless terminal devices in industrial control, wireless terminal devices in self driving, wireless terminal devices in remote medical surgery, wireless terminal devices in smart grids, wireless terminal devices in transportation safety, wireless terminal devices in smart cities, wireless terminal devices in smart homes, etc.

[0196] It should be noted that the communication system 100 may be any one of the following communication systems: a 5G (also referred to as new radio (NR)) communication system, a 6G communication system, an LTE system, a code division multiple access (CDMA) system, a wideband code division multiple access (WCDMA for short) system, a general packet radio service (GPRS for short) system, a time division duplexing-long term evolution (TDD LTE) system, a frequency division duplexing-long term evolution (FDD LTE) system, a universal mobile telecommunications system (UMTS for short), a long term evolution-advanced (LTE-advanced) system, an existing short-range communication system or a possible future short-range communication system, or of course another unlicensed frequency band communication system. This is not a limitation.

[0197] It should be understood that neither the number of network devices 110 nor the number of terminal devices in the communication system 100 is limited in this embodiment of the present application. For example, as shown in FIG. 1 , one network device 110 may be simultaneously connected to multiple different types of terminal devices, or may be connected to one type of terminal device but not to another type of terminal device, or may be connected to multiple terminal devices, or may be connected to one terminal device but not to another terminal device. Furthermore, in addition to the network devices 110 and the terminal devices, the communication system 100 may further include other devices, such as a trace collection entity, a core network (CN), a wireless relay device, a wireless backhaul device, and a data relay device such as a router, a repeater, a bridge, or a switch. This is not limited in this embodiment of the present application. Furthermore, the network device 110 in this embodiment of the present application may integrate all functions into one independent physical device, or may distribute these functions across multiple independent physical devices. This is not limited in this embodiment of the present application.

[0198] In a specific application scenario, the data processing solution provided in the present application may be applied to the Internet of Vehicles, such as vehicle-to-everything (V2X), long term evolution-vehicle (LTE-V), or vehicle-to-vehicle (V2V). In the Internet of Vehicles, the terminal device may specifically be a vehicle with wireless communication capability, such as the vehicle 121 shown in FIG. 1 (the terminal device 121 in FIG. 1 is the vehicle 121), or a device with wireless communication capability in a vehicle. The device includes, but is not limited to, an on-board terminal, an on-board controller, an on-board module, an on-board component, an on-board chip, an on-board unit, an on-board radar, or another sensor, such as an on-board camera. The vehicle may implement the data processing method provided herein by using an on-board terminal, an on-board controller, an on-board module, an automobile module, an on-board component, an on-board chip, an on-board unit, an on-board radar, or an on-board camera.

[0199] 2 is an example of a schematic diagram of an architecture of an in-vehicle communication link according to an embodiment of the present application. The architecture comprises one or more communication domains. Any one of the one or more communication domains refers to a system including a group of communication nodes having communication relationships and communication connection relationships (i.e., communication links) between the communication nodes, and is typically used to implement a specific function. A communication domain includes a primary communication node and one or more secondary communication nodes. The primary communication node, which may be referred to as a primary node for short, is configured to manage time-frequency resources in the communication domain in which the primary node is located and has the function of scheduling time-frequency resources for communication links between secondary nodes in the communication domain in which the primary node is located. The primary node may communicate with a secondary node in the communication domain in which the primary node is located, a primary node or a secondary node in another communication domain, and a device outside the vehicle; for example, the primary node may receive encoded control data transmitted by the network device 110 and transmit the encoded control data to a secondary node in the communication domain in which the primary node is located to perform a function of controlling a component in the vehicle, or may encode a control response returned by a secondary node in the communication domain in which the primary node is located and transmit the encoded control response to the network device 110. A secondary communication node may be referred to as a secondary node for short, and is configured to communicate with the primary node in the communication domain in which the secondary node is located, or with another secondary node in the communication domain in which the secondary node is located, based on time-frequency resources scheduled by the primary node in the communication domain in which the secondary node is located. A node that does not belong to the communication domain may be referred to as an external node for short.External nodes include devices that are not participating in the communication domain, and devices that join the communication domain and then exit the communication domain, and may be transformed into secondary nodes in the communication domain by joining the communication domain.

[0200] See Figure 2. In some embodiments, the in-vehicle communication link of the vehicle 121 may include one or more of the following communication domains: an infotainment domain including in-vehicle infotainment, microphones, speakers, etc.; a cockpit domain including a cockpit domain controller, LCD devices, touch screens, etc.; and a switch domain including a passive entry / passive start system, mobile phone keys, vehicle keys, etc. In some other embodiments, the in-vehicle architecture may further include one or more of the following communication domains: a chassis electronics domain including a speed change controller, an anti-lock controller, a brake force distribution device, a driving anti-skid controller, etc.; a power drive domain including a clutch, gearbox, universal drive, final drive, differential and half shaft power drive domain, etc.; a driver assistance domain including various sensors installed in the vehicle (e.g., lidar, millimeter wave radar, monocular camera, binocular camera, or satellite navigation receiver), a navigation map generator, obstacle sensors, a route planner, etc.; etc.

[0201] It should be noted that the network element in this embodiment of the present application includes a transmitting end device having a polar code encoding function and a receiving end device having a polar code decoding function. The transmitting end device and the receiving end device may be any two nodes having a communication function in this embodiment of the present application. For example, the transmitting end device is the network device 110 shown in FIG. 1 or a chip or circuit of the network device 110, and the receiving end device is any terminal device among the terminal devices 121 to 126 shown in FIG. 1 or a chip or circuit in any of the terminal devices. Alternatively, the transmitting end device is any terminal device among the terminal devices 121 to 126 shown in FIG. 1 or a chip or circuit in any of the terminal devices, and the receiving end device is the network device 110 shown in FIG. 1 or a chip or circuit in the network device 110. Alternatively, the transmitting end device may be any terminal device among the terminal devices 121 to 126 shown in Fig. 1, or a chip or circuit in the any terminal device, and the receiving end device may be another terminal device among the terminal devices 121 to 126 shown in Fig. 1, or a chip or circuit in the other terminal device. When the transmitting end device or the receiving end device is the vehicle 121, the transmitting end device or the receiving end device may specifically be a communication node in any communication domain shown in Fig. 2. The communication node may be a primary node or a secondary node. When the communication node is a secondary node, the communication node may transmit encoded data to the primary node or the secondary node in the communication domain in which the communication node is located, or may receive and decode encoded data transmitted by the primary node or the secondary node in the communication domain in which the communication node is located.If the communication node is a primary node, the communication node may transmit the encoded data to a secondary node in the communication domain in which the communication node is located, a primary node in another communication domain, the network device 110, or another terminal device, or may receive and decode encoded data transmitted by a secondary node in the communication domain in which the communication node is located, a primary node in another communication domain, the network device 110, or another terminal device. This is not particularly limited.

[0202] Furthermore, the system architecture described above is intended to more clearly explain the technical solution in the present application and does not constitute a limitation on the technical solution provided in the present application. Those skilled in the art may know that the technical solution provided in the present application can also be applied to similar technical problems as the system architecture evolves and new scenarios emerge. For example, the technical solution provided in the present application may be further applied to another intelligent terminal with wireless communication capabilities other than a vehicle, or may be disposed in another intelligent terminal with wireless communication capabilities other than a vehicle, or may be disposed in a component of an intelligent terminal. The intelligent terminal may be another terminal device such as an intelligent transportation device, a smart home device, or a robot, and may include, for example, but not limited to, an intelligent terminal, a controller in the intelligent terminal, a chip, another sensor such as a radar or a camera, and another component.

[0203] For ease of understanding, some terms or nouns that may be used in the embodiments of the present application will be explained first, and these terms or nouns will also be used as part of the inventive content of the embodiments of the present application.

[0204] (1) Polar code.

[0205] In wireless communication systems, a polar code is a channel coding scheme that can achieve Shannon capacity and has low encoding and decoding complexity. The encoding policy of a polar code is to transmit useful information to users through a noiseless channel, and transmit agreed-upon information or no information through a pure noise channel. A polar code is a linear block code, and the encoding matrix of a polar code is F N and the encoding process is

number

number

number

number

number

[0206] From the encoding principle of polar codes, it can be seen that the characteristic of polar codes is that the code length corresponding to the codeword output after encoding is a positive integer power of 2. If the code length corresponding to the codeword output after encoding does not satisfy the form of a positive integer power of 2, it is further necessary to additionally configure a rate matching module after polar encoding and polar decoding, so that the rate matching module can be used to perform channel retransmission or puncturing on the encoded codeword to match the actual transmission capacity of the channel.

[0207] (2) The mother code of the polar code.

[0208] In polar code encoding, the first operation is to determine the mother code length. The mother code length indicates the length of the codeword output after encoding, also called the code length, and N=2. m where m is determined based on the rate matching length and the input bit length.

[0209] (3) Information bits, code blocks, and code words.

[0210] In the embodiment of the present application, information bits are information to be transmitted by a transmitting end device to a receiving end device, a code block is information before polar encoding, and a code word is information after the code block is encoded. A code block may include information bits but not check codes, or may include both information bits and check codes. When a code block includes both information bits and check codes, the information in the code block other than the check codes is information bits.

[0211] In polar codes, information bits are typically encoded in two ways in the industry. One way is to directly generate a CRC code for the entire information bits, concatenate the CRC code as a code block after the entire information bits, and then encode the code block obtained through concatenation. The other way is to first evenly segment the entire information bits, then generate a CRC code for each data segment obtained through segmentation, concatenate the generated CRC code as a code block after the corresponding data segment, and then encode each code block obtained through concatenation. However, regardless of whether the information bits are not segmented or evenly segmented, the code length of a positive integer power of two that must be satisfied by the codeword after polar encoding cannot be accurately matched. As a result, a rate matching module must be additionally configured after polar encoding or polar decoding to perform code length adjustment. This does not contribute to reducing system design complexity and system power consumption.

[0212] In consideration of this, the present application provides a data processing method for obtaining one or more code blocks based on a total data length of information bits and a preset first code rate, and enabling the one or more code blocks to match a code length of a positive integer power of 2 filled by a code word after polar encoding. In this way, the code word obtained after encoding one or more code blocks can be directly transmitted or received by using a first code rate, without the need for an additional rate matching module. This effectively reduces system design complexity and system power consumption.

[0213] The present application will be described in more detail below with reference to the accompanying drawings. It should be understood that specific operation methods in method embodiments can also be applied to apparatus embodiments or system embodiments. It should be noted that in the description of the present application, "plurality" means two or more. In consideration of this, in the embodiments of the present application, "plurality" may be understood as "two or more." The term "and / or" describes an association relationship between associated objects and indicates that three relationships may exist. For example, A and / or B may represent the following three cases: only A exists, both A and B exist, and only B exists. Furthermore, the symbol " / " generally indicates an "or" relationship between associated objects.

[0214] Furthermore, in the description of this application, it should be understood that terms such as "first" and "second" are used merely for distinction and explanation, and should not be understood as indicating or suggesting relative importance or as indicating or suggesting order. For example, a "first code block" refers to a code block corresponding to the maximum code length, and a "second code block" refers to a code block corresponding to a non-maximum code length. The terms "first code block" and "second code block" only indicate whether the code length of a code block is the maximum code length, and should not be understood as indicating different priorities or importance or as suggesting different orders. Embodiment 1

[0215] 3 is an example of a schematic interaction flowchart of a data processing method according to an embodiment of the present application. The method is applicable to a sending end device and a receiving end device. The sending end device and the receiving end device may be any two devices, nodes, chips, etc. that support communication functions in this embodiment of the present application. As shown in FIG. 3, the procedure includes the following steps:

[0216] Step 301: The transmitting end device obtains information bits.

[0217] In step 301, the information bits are information bits to be transmitted by the transmitting end device to the receiving end device, and the information bits may be data information, control information, or system information, but are not particularly limited thereto.

[0218] Step 302: The transmitting end device obtains C code blocks based on a total data length of information bits and a preset first code rate, where the C code blocks correspond to one or more code lengths, the one or more code lengths belong to S predefined or preconfigured code lengths, the data length of the C code blocks corresponds to a first code rate, and each of the S code lengths satisfies the form of a positive integer power of 2, where S is a positive integer greater than or equal to 2, and C is a positive integer.

[0219] In step 302, the total data length of the information bits is the total number of bits of the information bits to be transmitted by the transmitting end device to the receiving end device. For example, if the information bits to be transmitted are 300 bits in total, the total data length of the information bits is 300 bits. Furthermore, the preset first code rate may be a code rate required by a transmission format, or may be a code rate manually selected based on requirements, or may be a code rate selected from multiple predefined or preconfigured code rates according to a rule. The rule may be, for example, polling selection or random selection. This is not particularly limited.

[0220] In a possible implementation, the correspondence between the code length of S, the code rate of T, and the data length of S×T is predefined or preconfigured in the transmitting end device. Each of the data lengths of S×T may correspond to one of the code lengths of S and one of the code rates of T, and is used to represent the predefined or preconfigured data length of a code block having the corresponding code length when the code block is transmitted by using the corresponding code rate, where both S and T are positive integers greater than or equal to 2. The code length of S may be predefined or preconfigured with reference to a mother code length. For example, the currently commonly used value of m of S is predetermined based on the commonly used rate matching length and input bit length. Then, the mother code length of S corresponding to the currently commonly used value of m of S is N=2. m and used as the code length of S. The code rate of T may be pre-set or pre-configured with reference to currently commonly used code rates. The code rate of T is also collectively referred to as the T-th order code rate. A higher order of the code rate indicates a larger code rate. Furthermore, for the same code rate, the pre-defined or pre-configured data length increases as the code length increases and decreases as the code length decreases. In other words, for the same code rate, the pre-defined or pre-configured data length has a positive correlation with the code length. A large code length corresponds to a large code block, and a small code length corresponds to a small code block.

[0221] Furthermore, for example, the data length that a channel in a communication field can withstand is the product of the code length and the code rate, and the transmission performance of the channel has a positive correlation with the code length and a negative correlation with the code rate. In other words, a smaller code length indicates worse data transmission performance of the channel, and a smaller code rate indicates better data transmission performance of the channel. Based on this, the data length S×T corresponding to the code length S and the code rate T may alternatively be preset or preconfigured according to the following rule: for any code rate, the data length corresponding to the maximum code length in the code length S is the product of the current code rate and the maximum code length, and the data length corresponding to a non-maximum code length in the code length S is the product of a code rate smaller than the current code rate and the non-maximum code length. In this way, the length of the code block corresponding to the maximum code length transmitted by using each code rate is equal to the data length that the channel can withstand, thereby fully utilizing the advantage of the maximum code length on data transmission performance to achieve optimal transmission performance of the channel corresponding to the maximum code length. Furthermore, the length of the code blocks corresponding to the non-maximum code lengths transmitted by using each code rate is smaller than the data length that the channel can tolerate, thereby allowing the negative impact of small code lengths on data transmission performance to be compensated for by reducing the code rate.

[0222] In the above example, a code rate smaller than the current code rate may be set or configured according to the actual scenario, or may be set or configured by those skilled in the art based on experience. This is not particularly limited. In a possible implementation, the following code length of S may be set:

number

number

number

number

[0223] Correspondence 1

[0224] In this embodiment of the present application, the correspondence between the code length of S, the code rate of T, and the data length of S×T may be represented in one or more of a table, a stack, a database, a queue, or another format. For example, if the correspondence is represented as a table, Table 1.1 is a table of the correspondence between the code length of S, the code rate of T, and the data length of S×T, set or configured according to Correspondence 1, and the correspondence table is also referred to as a segment length lookup table, or referred to as a K-table for short. Table 1.1: Segment Length Reference Table (K-Table) [Table 4]

[0225] As shown in Table 1.1, the pre-set or pre-configured data length corresponding to one code length and one code rate may satisfy one or more of the following formats:

[0226] 1. Maximum code length N0 and arbitrary code rate R i Pre-set or pre-configured data length K corresponding to 0,i satisfies the following equation (3.1): K 0,i =N0×R i (3.1)

[0227] where i is an integer greater than or equal to 0 and less than or equal to T-1.

[0228] 2. Any non-maximum code length N j and a preset or preconfigured data length K corresponding to the minimum code rate R0. j,0 satisfies the following equation (3.2): K j,0 =N j ×(R0-D0)(3.2)

[0229] D0 is a first preset order reduction threshold, indicating that if there is a higher-order code rate smaller than the minimum code rate, the code rate difference between the higher-order code rate and the minimum code rate may be preset or preconfigured to be a value smaller than the minimum code rate R0; j is a positive integer smaller than or equal to S-1.

[0230] 3. Any non-maximum code length N j and any non-minimal code rate R z Pre-set or pre-configured data length K corresponding to j,z satisfies the following equation (3.3): K j,z =N j ×R z-1 (3.3)

[0231] R z-1 is R zwhere Z is a positive integer less than or equal to T−1.

[0232] For example, currently commonly used code lengths mainly include one or more of 1024 bits, 512 bits, 256 bits, 128 bits, or 64 bits, and currently commonly used code rates mainly include 1 / 4, 3 / 8, 1 / 2, 5 / 8, 3 / 4, and / or 7 / 8. The interval between any two adjacent code rates among these code rates is considered to be 1 / 8. Therefore, the first preset order reduction threshold D0 may be preset or preconfigured to be 1 / 8. In this way, regardless of which code rate is used as the minimum code rate in an actual scenario, the K table can be maintained as consistent as possible. For example, when the first preset order reduction threshold D0 is 1 / 8, if the code length includes the above-mentioned code length of 5 and the code rate includes the above-mentioned code rate of 6 in a possible scenario, the K table in Table 1.1 may be as specifically shown in Table 2.11(A) below, and the calculation result is shown in Table 2.11(B) below. In another possible scenario, when the preset degree reduction threshold D0 is 1 / 8, if the code length includes the above-mentioned five code lengths and the code rates include 3 / 8, 1 / 2, 5 / 8, 3 / 4, and 7 / 8, the K table in Table 1.1 may be as specifically shown in Table 3.11(A) below, and the calculation results are shown in Table 3.11(B) below. By comparing Table 2.11(B) and Table 3.11(B), it can be seen that the minimum code rate in Table 2.11(B) is 1 / 2, and the minimum code rate in Table 3.11(B) is 3 / 8. Although the two minimum code rates are different, compared with Table 2.11(B), only one row of data corresponding to 1 / 2 is lost in Table 3.11(B), and the data lengths corresponding to other code rates are still consistent with those in Table 2.11(B). Table 2.11(A): Example of K table [Table 5] Table 2.11(B): Example of K table [Table 6] Table 3.11(A): Another example of a K table [Table 7] Table 3.11(B): Another example of a K table [Table 8]

[0233] It should be understood that the first preset order reduction threshold D0 may alternatively be set as another value, for example, 1 / 16, 1 / 32, or 1 / 64. For example, when the first preset order reduction threshold D0 is set as 1 / 16, in a possible scenario, if the code length includes the above-mentioned code length of 5 and the code rate includes the above-mentioned code rate of 6, the K table in Table 1.1 may be as specifically shown in Table 2.12(A) below, and the calculation result is shown in Table 2.12(B) below. When the first preset order reduction threshold D0 is 1 / 16, in another possible scenario, if the code length includes the above-mentioned code length of 5 and the code rate includes the above-mentioned code rate of 6, the K table in Table 1.1 may be as specifically shown in Table 3.12(A) below, and the calculation result is shown in Table 3.12(B) below. Table 2.12(A): Example of K table [Table 9] Table 2.12(B): Example of K table [Table 10] Table 3.12(A): Example of K table [Table 11] Table 3.12(B): Example of K table [Table 12]

[0234] By comparing Table 2.11(B) and Table 2.12(B), it can be seen that a larger value of the first preset order reduction threshold D0 indicates a smaller data length for code blocks having non-maximum code lengths at the minimum code rate, and a smaller value of the first preset reduction threshold D0 indicates a larger data length for code blocks having non-maximum code lengths at the minimum code rate. Furthermore, the first preset order reduction threshold D0 affects the data length corresponding to the minimum code rate but does not affect the data lengths corresponding to other code rates.

[0235] Correspondence 2

[0236] In this embodiment of the present application, the correspondence between the code length of S, the code rate of T, and the data length of S×T may be represented in one or more of a table, a stack, a database, a queue, or another format. For example, if the correspondence is represented as a table, Table 1.2 is a table of the correspondence between the code length of S, the code rate of T, and the data length of S×T, set or configured according to Correspondence 2, and the correspondence table is called a segment length lookup table, or called a K-table for short. Table 1.2: Alternative segment length lookup table (K table) [Table 13]

[0237] As shown in Table 1.2, in Correspondence Relationship 2, the preset or pre-configured data length corresponding to one code length and one code rate may satisfy one or more of the following formats:

[0238] 1. Maximum code length N0 and arbitrary code rate R i Pre-set or pre-configured data length K corresponding to 0,i satisfies the following equation (3.4): K 0,i =N0×R i (3.4)

[0239] where i is an integer greater than or equal to 0 and less than or equal to T-1.

[0240] 2. Any non-maximum code length N j and any code rate R i Pre-set or pre-configured data length K corresponding to j,i satisfies the following equation (3.5): K j,i =N j ×(R i -P i )(3.5)

[0241] P i is the code rate R i is a second preset order reduction threshold corresponding to the current code rate R, which indicates a specific code rate lower than the current code rate used to transmit the code block corresponding to the current code rate; i j may be preset or preconfigured to be a value less than S−1; j is a positive integer less than or equal to S−1.

[0242] It should be noted that in Correspondence Relationship 2, the second preset order reduction thresholds corresponding to different code rates may be the same or different. This is not particularly limited. When code rates correspond to the same second preset order reduction threshold, the second preset order reduction threshold may be set to a value smaller than the minimum code rate of the code rate. For example, it is considered that code lengths in current scenarios include one or more of 1024 bits, 512 bits, 256 bits, 128 bits, and 64 bits, and currently commonly used code rates include 1 / 4, 3 / 8, 1 / 2, 5 / 8, 3 / 4, and / or 7 / 8. Therefore, the second preset order reduction threshold corresponding to the code rate may be set to a value smaller than the minimum code rate of 1 / 4 of these currently commonly used code rates, for example, 1 / 8, 1 / 16, 1 / 32, or 1 / 64. It is assumed that the second preset order reduction threshold corresponding to the code rate is set to 1 / 16. In one scenario, when the code lengths include 1024 bits, 512 bits, 256 bits, 128 bits, and 64 bits, and the code rates include 1 / 4, 3 / 8, 1 / 2, 5 / 8, 3 / 4, and 7 / 8, the K table in Table 1.2 may be as specifically shown in Table 2.21(A) below, with the calculation results shown in Table 2.22(B) below. In another scenario, when the code lengths include 1024 bits, 512 bits, 256 bits, 128 bits, and 64 bits, and the code rates include 3 / 8, 1 / 2, 5 / 8, 3 / 4, and 7 / 8, the K table in Table 1.2 may be as specifically shown in Table 3.21(A) below, with the calculation results shown in Table 3.22(B) below. Table 2.21(A): Example of K table [Table 14] Table 2.22(B): Example of K table [Table 15] Table 3.21(A): Example of K table [Table 16] Table 3.22(B): Example of K table [Table 17]

[0243] It should be understood that the mere example in which the second preset order reduction threshold corresponding to the code rate is 1 / 16 is used to describe possible cases of correspondence relationship 2. Cases in which the second preset order reduction threshold is set to a different value or the second preset order reduction threshold is set to the same value but not 1 / 16 can be implemented with reference to the above content. Details will not be described again here. Furthermore, in correspondence relationship 2, the data length of a data block having a non-maximum code length at each code rate can be flexibly changed by flexibly configuring the second preset order reduction threshold corresponding to each code rate. For example, in a scenario in which a small code block is needed to hold a large amount of data, the second preset order reduction threshold corresponding to each code rate can be set to a small value, thereby increasing the data length of a small data block having a non-maximum code length at each code rate. In a scenario in which a small code block needs to hold a small amount of data, the second preset order reduction threshold corresponding to each code rate can be set to a large value, thereby reducing the data length of a small data block having a non-maximum code length at each code rate. In a scenario where a large amount of data needs to be held at one code rate and a small amount of data needs to be held at another code rate, the second preset order reduction threshold corresponding to the code rate may be set as a small value, and the second preset order reduction threshold corresponding to the other code rate may be set as a large value. It can be seen that Correspondence Relationship 2 is compatible with various transmission scenarios and is helpful in improving versatility in the communication field.

[0244] Correspondence 3

[0245] In this embodiment of the present application, the correspondence between the code length of S, the code rate of T, and the data length of S×T may be represented in one or more of a table, a stack, a database, a queue, or another format. For example, if the correspondence is represented as a table, Table 1.3 is a table of the correspondence between the code length of S, the code rate of T, and the data length of S×T, set or configured according to Correspondence 3, and the correspondence table is called a segment length lookup table, or a K-table for short. Table 1.3: Alternative segment length lookup table (K table) [Table 18]

[0246] As shown in Table 1.3, in Correspondence Relationship 3, the preset or pre-configured data length corresponding to one code length and one code rate may satisfy one or more of the following formats:

[0247] 1. Maximum code length N0 and arbitrary code rate R i Pre-set or pre-configured data length K corresponding to 0,i satisfies the following equation (3.6): K 0,i =N0×R i (3.6)

[0248] where i is an integer greater than or equal to 0 and less than or equal to T-1.

[0249] 2. Any non-maximum code length N j and any code rate R i Pre-set or pre-configured data length K corresponding to j,i satisfies the following equation (3.7): K j,i =N j ×λ i R i (3.7)

[0250] λ i is the code rate R i, which indicates the fraction of the current code rate used to transmit code blocks corresponding to the current code rate, and may be preset or preconfigured to be a value greater than 0 and less than 1; j is a positive integer less than or equal to S−1.

[0251] It should be noted that in Correspondence Relationship 3, the preset code rate ratios corresponding to different code rates may be the same or different. This is not particularly limited. Preferably, the code rates may be set to correspond to the same preset code rate ratio, so that the data length of the code block corresponding to the code rate can change stably with the change in the code rate. It is assumed that the preset code rate ratio corresponding to the code rate is set as 1 / 2. In one scenario, when the code length includes 1024 bits, 512 bits, 256 bits, 128 bits, and 64 bits, and the code rate includes 1 / 4, 3 / 8, 1 / 2, 5 / 8, 3 / 4, and 7 / 8, the K table in Table 1.3 may be specifically shown in Table 2.31(A) below, and the calculation result is shown in Table 2.32(B) below. In another scenario, when the code lengths include 1024 bits, 512 bits, 256 bits, 128 bits, and 64 bits, and the code rates include 3 / 8, 1 / 2, 5 / 8, 3 / 4, and 7 / 8, the K table in Table 1.3 may be as specifically shown in Table 3.31(A) below, and the calculation results are shown in Table 3.32(B) below. Table 2.31(A): Example of K table [Table 19] Table 2.32(B): Example of K table [Table 20] Table 3.31(A): Example of K table [Table 21] Table 3.32(B): Example of K table [Table 22]

[0252] It should be understood that the mere example of the preset code rate ratio corresponding to the code rate being 1 / 2 is used to explain the possible cases of Correspondence 3. Cases in which the preset code rate ratios are set to different values ​​or cases in which the preset code rate ratios are set to the same value but not 1 / 2 can be implemented with reference to the above content. Details will not be described again here. Furthermore, in Correspondence 3, the data length of a data block having a non-maximum code length at each code rate can be flexibly changed by flexibly configuring the preset code rate ratio corresponding to each code rate. For example, in a scenario in which a small code block is needed to hold a large amount of data, the preset code rate ratio corresponding to each code rate can be set to a large value, and thus the data length of a small data block having a non-maximum code length at each code rate can be increased. In a scenario in which a small code block is needed to hold a small amount of data, the preset code rate ratio corresponding to each code rate can be set to a small value, and thus the data length of a small data block having a non-maximum code length at each code rate can be reduced. In a scenario where a large amount of data needs to be held at a certain code rate and a small amount of data needs to be held at another code rate, the preset code rate ratio corresponding to the code rate may be set as a large value, and the preset code rate ratio corresponding to the other code rate may be set as a small value. It can be seen that Correspondence Relationship 3 is compatible with various transmission scenarios and is helpful in improving versatility in the communication field.

[0253] It should be understood that the above description merely illustrates three possible correspondences as an example. In one implementation, the code length of S, the code rate of T, and the data length of S×T may alternatively have another correspondence. Any solution that can be used to determine the data length of a code block having a non-maximum code length at a current code rate based on a code rate smaller than the current code rate falls within the scope of protection of this application. This will not be listed one by one in this application.

[0254] It should be noted that each table provided in this embodiment of the present application, for example, Table 1.1, Table 1.2, and Table 2.11(A) to Table 3.32(B) shown above, and Tables 4(A) to 4(F) and Table 5(A) to 5(F) shown later, only provides the maximum format that can be satisfied in each scenario. However, each table may actually include one or more rows or one or more columns instead of including each row and each column. This is not particularly limited in this application. Furthermore, the above tables are merely possible mounting formats of the correspondence. In actual operation, other mounting formats, such as a database, a data stack, or a queue, may be used to represent the correspondence. This is not particularly limited in this application.

[0255] Based on any one of the above-mentioned K tables, in one implementation, it is assumed that the first code rate is ½. In this case, the transmitting end device may first obtain from the K table the preset or preconfigured data lengths corresponding to each of the five code lengths in the row where the code rate ½ is located, and then obtain a C code block according to the preset or preconfigured segmentation rule and based on the total data length of the information bits and the preset or preconfigured data lengths corresponding to each of the five code lengths. The C code block may correspond to one or more code lengths. For example, all C code blocks may correspond to the same code length, or two or more code blocks in the C code block may correspond to two different code lengths. Here, a code block corresponding to a code length means that the data length of the code block is the same as the preset or preconfigured data length corresponding to the code length. In this way, since the code lengths in the K table are pre-set or pre-configured based on the mother code length used during polar encoding, the information bits are actually segmented based on the mother code length in the segmentation scheme, so that each segmented code block can directly match the mother code length of the polar encoding and no rate matching is required.

[0256] In this embodiment of the present application, different segmentation rules may correspond to different segmentation results. For ease of understanding, Figure 4 is an exemplary diagram of the presentation format of segmented data under different segmentation rules according to this embodiment of the present application. In this example, the data length of the code block corresponding to code length N0 is K0, the data length of the code block corresponding to code length N1 is K1, ..., code length N S-1 The data length of the code block corresponding to S-1 It is assumed that CRC0, CRC1, ..., CRC S-1 , and CRC lsrefers to the length of the check code and does not represent the actual content of the check code. For example, the length of the check code corresponding to the information bits in each code block corresponding to the maximum code length N0 is called CRC0. However, this simply indicates that the lengths of the check codes in the code blocks corresponding to the maximum code length N0 are the same, and does not mean that the content of the check codes in the code blocks corresponding to the maximum code length N0 are the same. See (A) to (C) in Figure 4.

[0257] 4A is a diagram of a presentation format of segmented data in which a check code does not need to be added. As shown in FIG. 4A, the segmentation rule corresponding to this example is to select C corresponding to the code length N0 based on the total data length of the information bits. 0a C corresponding to the code block of code length N1 1a code blocks, ..., and code length N S-1 C corresponding to (S-1)a , where each code block contains information bits but does not contain check codes. According to the above segmentation rule, the data length of each code block is the data length of the information bits contained in the code block. In a possible scenario (for ease of explanation, referred to as scenario 1 for short), it is assumed that the total data length of the information bits is 584 bits and the first code rate is ½. In this case, based on the K table provided in Table 2.11(B), it can be seen that the data lengths of the code blocks for the 1024-bit code length, the 512-bit code length, the 256-bit code length, the 128-bit code length, and the 64-bit code length at the code rate ½ are 512 bits, 192 bits, 96 bits, 48 ​​bits, and 24 bits, respectively. Thus, the segmented code blocks of C may include one code block with a data length of 512 bits, corresponding to a code length of 1024 bits, one code block with a data length of 48 bits, corresponding to a code length of 128 bits, and one code block with a data length of 24 bits, corresponding to a code length of 64 bits.

[0258] 4B is a diagram showing the presentation format of the segmented data to which the check code needs to be added. As shown in FIG. 4B, the segmentation rule corresponding to this example is to determine the C corresponding to the code length N0 based on the total data length of the information bits. 0b C corresponding to the code block of code length N1 1b code blocks, ..., and code length N S-1 C corresponding to (S-1)b where each code block includes information bits and check codes for the included information bits, and the data lengths of the check codes in the code blocks corresponding to the same code length are the same. For example, C 0b The data length of the check code in the code block is all CRC0, and the C corresponding to the code length N1 1b The data lengths of the check codes in the code blocks of C are all CRC1. ...According to the above segmentation rules, the data length of each code block is the sum of the data lengths of the information bits and the check codes included in the code block. Scenario 1 is still used as an example. The preset or preconfigured data length of the check codes is assumed to be 24 bits. In this case, the segmented code blocks of C may include: one code block with a data length of 512 bits, corresponding to a code length of 1024 bits, where the code block includes 488 information bits and a 24-bit check code; one code block with a data length of 96 bits, corresponding to a code length of 256 bits, where the code block includes 72 information bits and a 24-bit check code; and one code block with a data length of 48 bits, corresponding to a code length of 128 bits, where the code block includes 24 information bits and a 24-bit check code.

[0259] 4C is a diagram of another presentation format of segmented data to which check codes need to be added. As shown in FIG. 4C, the segmentation rule corresponding to this example is to determine C corresponding to code length N0 based on the total data length of information bits.10 The first code block and the code lengths N1 to N S-1 C corresponding to L 20 where C 10 Each of the first code blocks includes information bits and a first check code for the included information bits, and the data length of the first check code included in each first code block is CRC0, and C 20 The second code block of C 10 The remaining information bits other than the information bits included in the first code block and a second check code for the remaining information bits, and the data length of the second check code is CRC ls where L is a positive integer greater than or equal to 0, and C 10 is a positive integer, and C 20 is an integer greater than or equal to 0, or C 10 is an integer greater than or equal to 0, and C 20 is a positive integer. According to the above segmentation rule, the data length of each first code block is the sum of the data length of the information bits included in the first code block and the data length of the first check code, and C 20 The data length of the second code block of C 20 The sum of the data length of the information bits included in the second code block and the data length of the second check code. Scenario 1 is still used as an example. The preset or pre-configured data length CRC0 of the first check code and the preset or pre-configured data length CRC of the second check code are lsIt is assumed that both of C and C are 24 bits. In this case, the segmented code blocks of C may include: one first code block corresponding to a 1024-bit code length, with a data length of 512 bits, where the first code block includes 488 information bits and a 24-bit first check code; one second code block corresponding to a 256-bit code length, with a data length of 96 bits, where the second code block includes 96 information bits; and one second code block corresponding to a 64-bit code length, with a data length of 24 bits, where the second code block includes a 24-bit second check code.

[0260] The three segmentation rules mentioned above are compared. According to the segmentation rule used in (A) of FIG. 4, no check code is added, so if a transmission error occurs, all information bits need to be retransmitted. According to the segmentation rules used in (B) of FIG. 4 and (C) of FIG. 4, check codes are added, so if a transmission error occurs, only the part of the code block where the check code error occurred needs to be retransmitted. This helps reduce retransmission delay. Furthermore, according to the segmentation rule used in (B) of FIG. 4, a check code is added to each code block, and the length of the code block is not taken into consideration. However, according to the segmentation rule used in (C) of FIG. 4, a check code is added to each long code block with the maximum code length N0, and no check code is added to each short code block with a non-maximum code length. Instead, one check code is added to all short code blocks with a non-maximum code length. This segmentation rule helps reduce the total data length of the segmented code blocks while adding the necessary check codes, and helps reduce air interface overhead.

[0261] Furthermore, in the above example, it should be noted that in order to reduce the number of code blocks, large code blocks corresponding to large code lengths are used so as to hold as many information bits as possible. Of course, if the number of code blocks is not taken into consideration, multiple segmentation methods may exist under the same segmentation rule. For example, according to the segmentation rule used in (C) in FIG. 4, the segmented code block of C corresponding to Scenario 1 may further include two first code blocks corresponding to a code length of 1024 bits, each having a data length of 512 bits. The total data length of the two first code blocks is 1024 bits. Of the 512 bits of each first code block, 24 bits are used to hold the respective first check codes. Of the remaining 976 bits of the two first code blocks, 584 bits are used to hold information bits, and the remaining 392 bits are unwanted bits. The unwanted bits may be padded or subtracted from the data length later. However, the specific first code block in which the unwanted bits are manipulated is not limited. When there are multiple segmentation results in the same segmentation rule, which segmentation format is finally selected may be determined based on actual requirements. For example, if the number of unwanted bits needs to be reduced as much as possible to reduce air interface overhead, a segmentation result including one first code block corresponding to a 1024-bit code length, one code block corresponding to a 256-bit code length, and one code block corresponding to a 64-bit code length may be selected. If the number of segments needs to be reduced as much as possible to reduce transmission complexity, a segmentation result including two first code blocks corresponding to a 1024-bit code length may be selected.

[0262] Step 303: The transmitting end device encodes the code blocks of C to obtain code words obtained after the code blocks of C are encoded.

[0263] In step 303, after determining the segmentation result (e.g., including a specific number of first code blocks, a specific number of second code blocks, the data length of the information bits included in each first code block, and the data length of the information bits included in each second code block) according to the segmentation rule used, the transmitting end device may segment the entire information bits based on the segmentation result, construct a code block of C based on each segment of the information bits obtained through segmentation (wherein a code block may or may not contain information bits, but is only used to hold a CRC), append a CRC to one or more of the code blocks of C according to the segmentation rule, and perform polar code encoding on the code block with the CRC appended to obtain a code word of each code block.

[0264] For example, after obtaining the code blocks of C, the transmitting end device may further perform one or more of operations such as bit mapping, high-order modulation, or symbol interleaving. The order of operations such as encoding the code blocks of C, bit mapping, high-order modulation, or symbol interleaving is not particularly limited. For example, these operations may be performed at once, sequentially, or in parallel. In a possible implementation, after one or more of the above operations are completed, the code words of the code blocks of C form a complete sequence. The code words of each first code block and each second code block in the sequence may be concatenated in a pre-set or pre-configured order, which may be pre-set or pre-configured for the receiving end device, or may be notified by the transmitting end device to the receiving end device by using a message, so that the receiving end device can later perform segmentation in the same order to obtain the entire information bits. The specific implementation of these operations is not described or limited in this application.

[0265] It should be noted that, with respect to a code block, the data length of the code block refers to the number of bits contained in the code block before the code block is encoded, and the code length refers to the number of bits of a codeword in the code block obtained after the code block is encoded. For example, if the data length corresponding to a code block is 384 bits and the corresponding code length is 1024 bits, it means that the code block includes 384-bit data before encoding and includes a 1024-bit codeword after encoding. In this way, since the transmitting end device obtains code blocks based on a pre-set or pre-configured code length that satisfies a positive integer power of 2, the code length of each encoded code block can match the code length of a positive integer power of 2 that is filled by the codeword after polar encoding. Therefore, the transmitting end device can transmit the codeword obtained after the code block is encoded without encoding the code block and performing rate matching on the code block to which a CRC is added.

[0266] Step 304: The transmitting end device sends the codeword obtained after the code block of C is encoded to the receiving end device.

[0267] For example, a transmitting end device may store the codewords of the code blocks of C in a message and transmit the message over a channel to a receiving end device. The codewords of the code blocks of C may be presented as a complete sequence in the message, and the receiving end device needs to segment each codeword of the code blocks of C from the sequence.

[0268] Step 305: The receiving end device decodes the code word obtained after the code block of C is encoded based on the total data length of the information bits and the preset first code rate to obtain the information bits contained in the code block of C.

[0269] In step 305, the total data length of the information bits may be transmitted by the transmitting end device to the receiving end device using a message, and the receiving end device can obtain the total data length of the information bits by analyzing the message. The message holding the total data length of the information bits may be a message holding a codeword obtained after the code block of C is encoded, or may be another message, for example, an additional message to be transmitted or a message holding other information. This is not particularly limited.

[0270] For example, if the code words of the code blocks of C are presented as a complete sequence, after receiving a message holding the sequence, the receiving end device may determine a segmentation result according to a segmentation rule consistent with that of the transmitting end device based on the total data length of the information bits and the preset first code rate, and segment the sequence held in the message, including the code words obtained after the code blocks of C are encoded, based on the number of various code blocks and the code length of each code block (e.g., the number of first code blocks, the code length of each first code block, the number of second code blocks, and / or the code length of each second code block) indicated in the segmentation result, to obtain the code words obtained after each code block is encoded, and then decode the code words obtained after the code blocks of C are encoded to obtain the code blocks of C. After obtaining the code words obtained after the code blocks of C are encoded, the receiving end device may further perform one or more operations, such as symbol deinterleaving, high-order modulation, or bit mapping. The order of operations such as decoding of codewords obtained after encoding the code blocks of C, symbol deinterleaving, higher-order modulation, or bit mapping is not particularly limited. For example, these operations may be performed at once, sequentially, or in parallel. The specific implementation of these operations is not described or limited in this application.

[0271] Furthermore, for example, if the code word obtained after the code block of C is encoded is obtained by the transmitting end device by encoding the code block of C using a polar code, the receiving end device may decode the code word obtained after the code block of C is encoded using the corresponding polar code to obtain the code block of C. Furthermore, the segmentation result determined by the receiving end device according to a segmentation rule consistent with that of the transmitting end device may further include the data length of the information bits and the data length of the check code included in each code block. In this way, the receiving end device may further obtain the information bits and / or the check code from each code block based on the segmentation result. Furthermore, if a check code is included, the receiving end device may further check the code block. For example, when the check code is a CRC check code, if the transmitting end device obtains the CRC check code by using a generator polynomial, one or more code blocks corresponding to each CRC check code are ensured to be divisible by the generator polynomial. Therefore, the receiving end device may use the same generating polynomial (wherein the generating polynomial is agreed upon in advance by the transmitting end device and the receiving end device, and the entire transmission process of the transmitting end device and the receiving end device remains unchanged) to divide one or more code blocks corresponding to the CRC check code. If the remainder is 0, it means that one or more code blocks corresponding to the CRC check code have no error. The receiving end device may obtain the information bits contained in one or more code blocks. Conversely, if the remainder is not 0, it means that an error has occurred on one or more bits in one or more code blocks corresponding to the CRC check code. The receiving end device may request the transmitting end device to retransmit the code blocks for which the CRC check has failed, and perform concatenation after the retransmission is successful.

[0272] Furthermore, for example, if no error occurs in the code block C, the receiving end device may further concatenate the information bits included in the code block C to obtain a complete information bit. The complete information bit is the information bit to be transmitted by the transmitting end device to the receiving end device. The receiving end device may use the complete information bit to complete subsequent related operations. Note that concatenation is merely an example, and concatenation may not be performed in actual operations. For example, the information bits included in each code block may be used separately to complete operations related to each code block. Alternatively, information bits included in several code blocks may be concatenated to complete operations related to several code blocks, etc. This is not particularly limited.

[0273] In embodiment 1, the code block of C matches the code length of a positive integer power of 2 filled by the code word obtained after polar encoding, so that the code word obtained after encoding the code block of C can be directly transmitted or received after polar encoding / decoding, and no rate matching module needs to be additionally configured, which effectively simplifies the system design for polar encoding / decoding and reduces the system power consumption for polar encoding / decoding.

[0274] Hereinafter, the segmentation rule shown in (C) of FIG. 4 will be used as an example to describe further implementation of the data processing method according to the second embodiment. Embodiment 2

[0275] 5A and 5B are an example of a schematic interaction flowchart of another data processing method according to an embodiment of the present application. The method is applicable to a sending end device and a receiving end device. The sending end device and the receiving end device may be any two devices, nodes, chips, etc. that support communication functions in this embodiment of the present application. As shown in Fig. 5A and 5B, the procedure includes the following steps:

[0276] Step 501: The transmitting end device obtains information bits.

[0277] Step 502: The transmitting end device determines the data length of information bits included in one first code block based on the preset or pre-configured data length of the preset first code rate at the maximum code length and the preset or pre-configured data length of the first check code.

[0278] In step 502, according to the segmentation rule shown in FIG. 4C, it can be seen that each first code block includes information bits and a first check code for the information bits included in the first code block. In other words, the data length of each first code block is equal to the sum of the data length of the information bits included in the first code block and the data length of the first check code. Therefore, the data length of the information bits included in each first code block is equal to the difference between the data length of the first code block and the data length of the first check code included in the first code block. Based on this, it is assumed that the preset or preconfigured data length of the first check code is CRC0, and the preset or preconfigured data length of the preset first code rate at the maximum code length N0 is specified as K0 in the K table (i.e., the data length of the first code block is specified as K0 in the K table). In this case, the data length of the information bits included in the first code block is K0 - CRC0.

[0279] Step 503: The transmitting end device determines whether the ratio of the total data length of the information bits to the data length of the information bits included in one first code block is an integer. If the ratio of the total data length of the information bits to the data length of the information bits included in one first code block is an integer, step 504 is executed; if the ratio of the total data length of the information bits to the data length of the information bits included in one first code block is not an integer, step 505 is executed.

[0280] Step 504: The transmitting end device determines that the number of the first code blocks is the above ratio and the number of the second code blocks is 0 (ie, there is no second code block), and then executes step 507.

[0281] In step 504, if the ratio of the total data length of the information bits to the data length of the information bits included in the first code block is an integer, it means that all the information bits can be retained by the first code block and there are no remaining information bits. In this case, the transmitting end device sets the ratio to the number C of the first code blocks. 10 , and set the number of second code blocks to 0, and then execute step 507. In this case, since the number of second code blocks is 0, i.e., there is no second code block, all segmented code blocks of C are first code blocks, and C 10 is equal to C.

[0282] Step 505: The transmitting end device uses the largest integer not greater than the above ratio as the initial number of first code blocks to determine the data length of the remaining data to be segmented based on the total data length of the information bits, the data length of the information bits included in the initial number of first code blocks, and the preset or pre-configured data length of the second check code.

[0283] In step 505, the total data length of the information bits is K input In this case, the initial number of first code blocks C 0' may satisfy the following equation (5.1): C 0' =floor(K input / (K0-CRC0))(5.1)

[0284] Here, floor() is a round-down function, also called rounding down or rounding to 0, i.e., it takes the largest integer not greater than the value in parentheses. For example, floor(1.5) takes the largest integer not greater than 1.5, and the calculation result is 1; and floor(2) takes the largest integer not greater than 2, and the calculation result is 2. In this way, the initial number of first code blocks calculated by using equation (5.1) may indicate the maximum number of first code blocks that holds a data length not exceeding the total data length of information bits.

[0285] Furthermore, the total data length of the information bits is K input and the initial number C 0' The data length of the information bits included in each first code block in the first code block is K0-CRC0. 0' The data length K of the remaining information bits other than the information bits included in the first code block ls may satisfy the following equation (5.2): K ls =K input -C 0' ×(K0-CRC0)(5.2)

[0286] According to the segmentation rule shown in (C) in Figure 4, a second check code for the entire remaining information bits is further added after the remaining information bits, that is, the remaining data to be segmented includes the remaining information bits and the second check code. The preset or pre-configured data length of the second check code is determined by the CRC ls In this case, the data length D of the remaining data to be segmented is ls may satisfy the following equation (5.3): D ls =K ls +CRC ls (5.3)

[0287] The remaining data to be segmented is C 20The quantized data may be stored in a second code block of the current time, or may be stored in one first code block in the future.

[0288] For ease of understanding, a specific scenario (referred to as scenario 2 for short) will be used as an example to explain the above-mentioned calculation process. Assume that the total data length of the information bits is 1000 bits, the data length of the first check code and the data length of the second check code are preset or preconfigured to be 24 bits, and the first code rate is 3 / 8. In this case, by looking up the K table shown in Table 2.11(B), it can be found that the preset or preconfigured data length of the code rate 3 / 8 with a maximum code length of 1024 bits is 384 bits, that is, the length of the first code block corresponding to the maximum code length of 1024 bits at the code rate 3 / 8 is specified to be 384 bits in the K table. In this way, the data length of the information bits included in the first code block is: 384 bits - 24 bits = 360 bits, and the ratio of the total data length of the information bits (1000 bits) to the data length of the information bits included in the first code block (360 bits) is 1000 / 360, which is approximately 2.78. Because the ratio 2.78 is not an integer, the initial number of first code blocks may be determined to be the largest integer not greater than the ratio 2.78, i.e., 2. Furthermore, because the ratio 2.78 is not an integer, it means that in addition to the information bits included in the two first code blocks, there are some remaining information bits, and the data length of the remaining information bits is: 1000 bits - 2 × 360 bits = 280 bits. Because a second check code is further concatenated after the remaining information bits, the data length of the remaining data to be segmented is: 280 bits + 24 bits = 304 bits.

[0289] Step 506: The transmitting end device determines the number of first code blocks and the number of second code blocks corresponding to each non-maximum code length based on the initial number of first code blocks, the data length of the remaining data to be segmented, and the preset or pre-configured data length of the preset first code rate at each non-maximum code length.

[0290] For example, the transmitting end device may determine the number of first code blocks and the number of second code blocks corresponding to each non-maximum code length according to a segment number priority rule or a bit number priority rule. The rule used by the transmitting end device may be set in a pre-set or pre-configured manner and may be consistent with that used by the receiving end device. For example, the transmitting end device and the receiving end device may be instructed to use the same rule in a pre-set or pre-configured manner. Alternatively, the transmitting end device may send an instruction message to the receiving end device indicating the rule to be used, so that the receiving end device performs decoding, etc., by using the same rule based on the instruction message. The instruction message indicating the rule to be used may be held in a message in which the code word obtained after encoding the code blocks of C is located, or may be held in an additional message, or may be held in a message in which other information is located. Furthermore, the instruction message may be expressed by using one or more of words, letters, numbers, or another format. For example, in a possible example, if the instruction message is 0, it means that the transmitting end device is using the segment number priority rule. If the indication message is 1, it means that the sending end device uses the bit number priority rule. There are many ways to ensure that the sending end device and the receiving end device use the same rule. The details will not be described again here.

[0291] Further, please refer to the K table shown in Table 1.1. In the segment number priority rule, the data length corresponding to the maximum code length is determined based on the current code rate, and the data length corresponding to a non-maximum code length is determined based on the higher-order code rate. Therefore, when there is a large amount of data to be segmented, if the data to be segmented is assigned to a short code block corresponding to a non-maximum code length, the converted code length of the short code block at the current code rate may already exceed the maximum code length, and the transmission delay of the code block will be long. Therefore, to ensure a small transmission delay, the number of code blocks cannot be large. In the bit number priority rule, if the code rate difference between code blocks is not large, a larger number of unwanted bits included in a code block indicates a larger air interface loss required to transmit the code block. Therefore, to ensure a low air interface loss, the total data length of the segmented code blocks of C needs to be controlled as close as possible to the total data length of the useful data. The useful data includes information bits and a first check code and / or a second check code. Possible segmentation schemes under the two rules are described in detail below.

[0292] Segment number priority rule

[0293] In the segment number priority rule, if the data length of the remaining data to be segmented is long, a large number of code blocks may be obtained by segmenting the remaining data to be segmented, which is unfavorable for reducing data transmission delay. In this case, the transmitting end device may no longer segment the remaining data to be segmented, but may additionally use a first code block with the maximum code length to hold the entire remaining data to be segmented. In this case, the code blocks of C include the first code block but do not include the second code block, and the value of C is the number of first code blocks C 10In other words, the initial number of first code blocks is increased by 1. Conversely, when the data length of the remaining data to be segmented is short, even if the remaining data to be segmented is segmented, only a small number of code blocks can be obtained, and segmentation has little impact on data transmission delay. In this case, the transmitting end device may segment the remaining data to be segmented by referring to the preset or preconfigured data length of the preset first code rate with the non-maximum code length of S-1, and segment the remaining data to be segmented into second code blocks corresponding to the non-maximum code length of L. The number of second code blocks corresponding to each non-maximum code length may be 1, 2, or an integer greater than 2. This is not particularly limited. In this way, when segmentation is performed when there is a small amount of remaining data to be segmented, so that the number of segments satisfies the transmission delay, small code blocks with small code lengths can be used as much as possible to hold the remaining data to be segmented, thereby effectively reducing the number of unwanted bits held in the code blocks.

[0294] Below, several possible segmentation schemes under the segment number priority rule are explained by using examples.

[0295] Segmentation Method 1-1

[0296] In the segmentation method 1-1, the criterion for determining whether to perform segmentation is a preset data length threshold. If the data length of the remaining data to be segmented is greater than the preset data length threshold, the transmitting end device may set the number of first code blocks to be the smallest integer greater than the initial number of first code blocks (i.e., the initial number of first code blocks plus 1), and the number of second code blocks to be 0, i.e., there is no second code block. If the data length of the remaining data to be segmented is not greater than the preset data length threshold, the transmitting end device may set the number of first code blocks to be the initial number of first code blocks, refer to the calculation method for determining the initial number of first code blocks corresponding to the maximum code length in steps 502, 503, and 505, sequentially determine the initial number of code blocks corresponding to the S-1 non-maximum code length in descending order of code length, use the initial number of code blocks corresponding to the non-minimum code length as the number of code blocks corresponding to the non-minimum code length, use the smallest integer not smaller than the initial number of code blocks corresponding to the minimum code length as the number of code blocks corresponding to the minimum code length, and then use the number of code blocks whose number is not 0 in the S-1 non-maximum code length corresponding to the L non-maximum code length as the number of L type second code blocks.

[0297] Scenario 2 is still used as an example to explain the specific calculation process of segmentation method 1-1. In scenario 2, the data length of the remaining data to be segmented is 304 bits. The preset data length threshold is assumed to be 246 bits. In this case, the data length of the remaining data to be segmented, 304 bits, is greater than the preset data length threshold of 246 bits. Therefore, the transmitting end device may directly use the first code block, which has a data length of 384 bits and corresponds to the maximum code length of 1024 bits, to hold the entire remaining data to be segmented. In other words, in the first code block of 384 bits, 304 bits are used to hold the remaining data to be segmented, and the remaining 80 bits are unwanted bits.

[0298] In another scenario (referred to as Scenario 3 for short), it is assumed that the remaining data to be segmented is 200 bits and the first code rate is 3 / 8. Referring to the K table shown in Table 2.11(B), it can be seen that for a code rate of 3 / 8, the preset or pre-configured data length corresponding to a 512-bit code length is 128 bits. Therefore, the number of code blocks corresponding to a 512-bit code length is floor(200 / 128) = 1. The data length D of the remaining data to be segmented is ls is updated to be: 200 bits - 128 bits = 72 bits. The preset or pre-configured data length corresponding to a 256-bit code length with a code rate of 3 / 8 is 64 bits. Therefore, the number of code blocks corresponding to a 256-bit code length is floor(72 / 64) = 1. The data length D of the remaining data to be segmented is ls is updated to be 72 bits - 64 bits = 8 bits. The preset or pre-configured data length corresponding to a 128-bit code length with a code rate of 3 / 8 is 32 bits. Therefore, the number of code blocks corresponding to a 128-bit code length is floor(8 / 32) = 0. The data length D of the remaining data to be segmented is lsis still 8 bits. For a code rate of 3 / 8, the preset or preconfigured data length (i.e., the minimum code length) corresponding to a 64-bit code length is 16 bits. Therefore, the number of code blocks corresponding to a 64-bit code length is ceil(8 / 16) = 1. Since the numbers of code blocks corresponding to non-maximum code lengths of 512 bits, 256 bits, 128 bits, and 64 bits are 1, 1, 0, and 1, respectively, there are a total of three types of second code blocks: For a first type of second code block, the code length is 512 bits, the number is 1, and the data length is 128 bits. For a second type of second code block, the code length is 256 bits, the number is 1, and the data length is 64 bits. For a third type of second code block, the code length is 64 bits, the number is 1, and the data length is 16 bits. The total data length of the three second code blocks is 208 bits, where 200 bits are used to hold the remaining data to be segmented, and the remaining 8 bits are unwanted bits that may be padded later or subtracted from the data length.

[0299] Segmentation Method 1-2

[0300] In the segmentation method 1-2, the criterion for determining whether to perform segmentation may be a number threshold corresponding to an arbitrary code length. The minimum code length is used as an example. The transmitting end device may first convert the remaining data to be segmented into code blocks corresponding to the minimum code length to obtain an estimated number of code blocks corresponding to the minimum code length. If the estimated number is greater than the number threshold corresponding to the minimum code length, the transmitting end device sets the number of first code blocks to be the smallest integer greater than the initial number of first code blocks, and the number of second code blocks is 0, i.e., there are no second code blocks. If the estimated number is not greater than the preset number threshold corresponding to the minimum code length, the transmitting end device sets the number of first code blocks to be the initial number of first code blocks, and determines the pre-set or pre-configured data length of the preset first code rate at a non-maximum code length of S-1 versus the minimum code length N. S-1 The estimated number of code blocks corresponding to the minimum code length may be calculated by referring to the ratio of the preset or preconfigured data length of the preset first code rate in order to obtain the number of code blocks corresponding to the non-maximum code length of S-1, and then the number of non-zero code blocks corresponding to the non-maximum code length of L may be used as the number of second code blocks of type L.

[0301] The minimum code length N specified in the K table S-1 The preset or preconfigured data length of the preset first code rate in S-1 (i.e., the data length of the code block corresponding to the minimum code length specified in the K table is K S-1 In this case, the minimum code length N S-1 Estimated number of code blocks corresponding to C S-1' may satisfy the following equation (5.4): C S-1' =ceil(K ls / K S-1 )(5.4)

[0302] Here, ceil() is a round-up function, i.e., it takes the smallest integer not smaller than the value in parentheses. For example, ceil(1.5) takes the smallest integer not smaller than 1.5, which results in 2, and ceil(2) takes the smallest integer not smaller than 2, which results in 2. In this way, the minimum code length N S-1 The estimated number C of code blocks corresponding to S-1' may indicate the minimum number of minimum code blocks that hold a data length that is not smaller than the total data length of the remaining to-be-segmented data. The minimum number can ensure that all remaining to-be-segmented data is included, thus avoiding loss of to-be-segmented data.

[0303] Furthermore, the total non-maximum code length N1 to N S-1 As the data length of the remaining data to be segmented gradually increases, the remaining data to be segmented is divided into non-maximum code lengths N S-1 After the remaining data to be segmented is assigned to the code blocks corresponding to the non-maximum code length N1, the remaining data to be segmented is again assigned to the code blocks corresponding to the non-maximum code length N S-1 In other words, the number of code blocks corresponding to each non-maximum code length may be greater than 1. Based on this, in a possible example, S-1 may be used as a threshold for the number of segments allowed, and the preset number threshold is 2 S-1 -1, a preset or preconfigured number threshold 2 S-1-1 is used as a criterion for determining whether segmentation can be performed. Therefore, it can be ensured as much as possible that the number of code blocks corresponding to each non-maximum code length into which the remaining data to be segmented is segmented is not greater than 1. Accordingly, according to the above rules, when a preset data length threshold is used as the segmentation criterion by using the above-mentioned solution in segmentation method 1-1, the preset data length threshold is accordingly set to K S-1 ×(2 S-1 -1).

[0304] Based on this, the estimated number of code blocks corresponding to the minimum code length, C S-1' is the numerical threshold 2 corresponding to the minimum code length. S-1 -1, the transmitting device 0' +1 first code block. For example, in scenario 2, since the data length of the remaining data to be segmented is 304 bits and the preset or pre-configured data length for the code rate 3 / 8 with the minimum code length of 64 bits is 16, the estimated number of code blocks corresponding to the minimum code length of 64 bits is the smallest integer that is not smaller than the ratio of 304 to 16, which is 19. Therefore, the estimated number of code blocks corresponding to the minimum code length of 64 bits is 19. Still referring to Table 2.11, there are a total of 5 code lengths in the K table, i.e., the value of S is 5. Therefore, if the preset number threshold is 2 S-1 If set as -1, the preset number threshold is 2 4−1=15. However, the estimated number 19 of code blocks corresponding to the minimum code length of 64 bits calculated in Scenario 2 is greater than the preset number threshold of 15. Therefore, the transmitting end device may no longer segment the remaining data to be segmented, but may instead configure another first code block to hold the entire remaining data to be segmented. It is assumed that unwanted bits will be placed in the last first code block. Since the initial number of first code blocks is 2, the segmented code block of C may include three first code blocks with a data length of 384 bits. The first first code block includes 360 information bits and 24 first check codes, the second first code block includes 360 information bits and 24 first check codes, and the third first code block includes 280 information bits and 24 first check codes, and further includes 80 unwanted bits that may be later padded or subtracted from the data length.

[0305] Conversely, the estimated number of code blocks corresponding to the minimum code length, C S-1' is the numerical threshold 2 corresponding to the minimum code length S-1 If it is not greater than -1, the non-maximum code length N1 to N is determined based on the row of data corresponding to the same code rate in the K table shown in Table 1.1. S-1 Any non-maximum code length N in j (where j is a positive integer less than or equal to S-2), for a non-maximum code length N j Pre-set or pre-configured data length vs. minimum code length N S-1 The ratio of the preset or preconfigured data length corresponding to the non-maximum code length N j Minimum code length N S-1 In other words, when data of the same data length is coded using a non-maximum code length N j The number of pairs obtained by segmenting the data of the same data length into code blocks corresponding to the minimum code length N S-1 The ratio of the numbers obtained by segmenting into code blocks corresponding to the minimum code length NS-1 for non-maximum code length N j For example, if the K table is concretely expressed as Table 2.11(B), the non-maximum code lengths N1 to N S-1 are 512 bits, 256 bits, 128 bits, and 64 bits, respectively, and the minimum code length N S-1 is 64 bits. The ratios of the preset or pre-configured data length corresponding to non-maximum code lengths of 512 bits, 256 bits, 128 bits, and 64 bits to the preset or pre-configured data length corresponding to the minimum code length of 64 bits at the same code rate are 8:1, 4:1, 2:1, and 1:1, respectively. Specifically, eight code blocks corresponding to the minimum code length of 64 bits can be converted into one code block corresponding to a non-maximum code length of 512 bits, four code blocks corresponding to the minimum code length of 64 bits can be converted into one code block corresponding to a non-maximum code length of 256 bits, two code blocks corresponding to the minimum code length of 64 bits can be converted into one code block corresponding to a non-maximum code length of 128 bits, and one code block corresponding to the minimum code length of 64 bits can be converted into one code block corresponding to a non-maximum code length of 64 bits.

[0306] Based on this, the minimum code length N S-1 Estimated number of code blocks corresponding to C S-1' is the numerical threshold 2 corresponding to the minimum code length S-1 If it determines that the difference is not greater than −1, the transmitting end device may segment the remaining to-be-segmented data in either segmentation scheme 1-21 or segmentation scheme 1-22.

[0307] Segmentation Method 1-21

[0308] In one implementation, the transmitting end device may select non-maximum code lengths N1 to N S-1 , in turn, may be determined the number of code blocks corresponding to each of the

[0309] In the first step, the non-maximum code length N1 to N S-1The number C1 of code blocks corresponding to the largest non-maximum code length N1 in may satisfy the following equation (5.51): C1=floor(C S-1' / (N1 / N S-1 ))(5.51)

[0310] By equation (5.51), the minimum code length N S-1 The estimated number of code blocks corresponding to N is converted as far as possible to the maximum non-maximum code length N1. For example, S-1 are 512 bits and 64 bits, respectively, as shown in Table 2.11(B), then equation (5.51) becomes C1=floor(C S-1' / 8).

[0311] In the second step, if C1 is not 0, the minimum code length N S-1 Estimated number of code blocks corresponding to C S-1' is converted into a code block corresponding to a non-maximum code length N1, S-1 Estimated number of code blocks corresponding to C S-1' may be updated, and the updated estimated number C S-1' satisfies the following equation (5.52): C S-1' =C S-1' -C1×(N1 / N S-1 )(5.52)

[0312] Maximum non-maximum code length N1 and minimum code length N S-1 are 512 bits and 64 bits, respectively, as shown in Table 2.11(B), then equation (5.52) becomes C S-1' =C S-1' May be abbreviated as -8C1.

[0313] In the third step, the remaining non-maximum code lengths N2 to N S-1 The number C2 of code blocks corresponding to the largest non-maximum code length N2 in may satisfy the following equation (5.53): C2=floor(C S-1' / (N2 / N S-1))(5.53)

[0314] By equation (5.53), the minimum code length N S-1 The estimated remaining number of code blocks corresponding to the remaining S-2 non-maximum code lengths N2 to N S-1 The non-maximum code length N2 and the minimum code length N S-1 are 256 bits and 64 bits, respectively, as shown in Table 2.11(B), then equation (5.53) becomes C2 = floor(C S-1' / 4).

[0315] In the fourth step, if C2 is not 0, the minimum code length N S-1 The estimated remaining number of code blocks corresponding to S-1' is converted into a code block corresponding to a non-maximum code length N2, S-1 Estimated number of code blocks corresponding to C S-1' is further updated, and the updated estimated number C S-1' satisfies the following equation (5.54): C S-1' =C S-1' -C2×(N2 / N S-1 )(5.54)

[0316] Non-maximum code length N2 and minimum code length N S-1 are 256 bits and 64 bits, respectively, as shown in Table 2.11(B), then equation (5.54) becomes C S-1' =C S-1' May be abbreviated as -4C2.

[0317] The above process is performed for the smallest non-maximum code length N S-2 is traversed in order, and the updated minimum code length N S-1 Estimated number of code blocks corresponding to C S-1' satisfies the following equation (5.55): C S-1' =C S-1' -C S-2 ×(N S-2 / N S-1 )(5.55)

[0318] Non-maximum code length N S-2 and minimum code length N S-1 are 128 bits and 64 bits, respectively, as shown in Table 2.11(B), then equation (5.55) becomes C S-1' =C S-1' -2C S-2 It may be simplified as:

[0319] In the last step, the non-maximum code length N S-1 is the minimum code length, so the non-minimum code length N S-1 The number of code blocks corresponding to C S-1 may satisfy the following equation (5.56): C S-1 =C S-1' (5.56)

[0320] Through the above calculation steps, the transmitting end device obtains the non-maximum code length N1 to N S-1 may be finally obtained, and the number of code blocks corresponding to any non-maximum code length may be 0 (i.e., there is no code block corresponding to the non-maximum code length), or may not be 0. The transmitting end device may use the number of non-zero code blocks corresponding to the L non-maximum code lengths as the number of L type second code blocks.

[0321] Scenario 3 is still used as an example. Because the data length of the remaining data to be segmented is 200 bits, the preset or pre-configured data length corresponding to the minimum code length of 64 bits is 16 bits in the K table shown in Table 2.11(B). Therefore, the estimated number of code blocks corresponding to the minimum code length of 64 bits is: ceil(200 bits / 16 bits) = 13. Based on the estimated number 13, the transmitting end device may perform the following analysis in descending order of code length: First, the ratio of the maximum non-maximum code length of 512 bits to the minimum code length of 64 bits is 8:1. This means that 8 code blocks corresponding to the minimum code length of 64 bits can be converted into one code block corresponding to a non-maximum code length of 512 bits, and one code block corresponding to a non-maximum code length of 512 bits can be converted from the estimated number 13 of code blocks corresponding to the minimum code length of 64 bits. Therefore, the number of code blocks corresponding to a non-maximum code length of 512 bits is 1, and the estimated number of remaining code blocks corresponding to the minimum code length of 64 bits after conversion is 13-1×8=5. Then, the ratio of a non-maximum code length of 256 bits to the minimum code length of 64 bits is 4:1. This means that four code blocks corresponding to the minimum code length of 64 bits can be converted to one code block corresponding to a non-maximum code length of 256 bits, and one code block corresponding to a non-maximum code length of 256 bits can be converted from the estimated number of remaining code blocks corresponding to the minimum code length of 64 bits, which is 5. Therefore, the number of code blocks corresponding to a non-maximum code length of 256 bits is 1, and the estimated number of remaining code blocks corresponding to the minimum code length of 64 bits after conversion is 5-1×4=1. Then, the ratio of a non-maximum code length of 128 bits to the minimum code length of 64 bits is 2:1. This means that two code blocks corresponding to the minimum code length of 64 bits can be transformed into one code block corresponding to a non-maximum code length of 128 bits, and one code block corresponding to a non-maximum code length of 128 bits cannot be transformed from the estimated number of remaining code blocks corresponding to the minimum code length of 64 bits, which is 1. Therefore, the number of code blocks corresponding to a non-maximum code length of 128 bits is 0 (i.e., there are no code blocks corresponding to a non-maximum code length of 128 bits).Since no conversion is performed, the estimated number of remaining code blocks corresponding to the minimum code length of 64 bits is still 1. Finally, the number of code blocks corresponding to a non-maximum code length of 64 bits is equal to the estimated number of remaining code blocks corresponding to the minimum code length of 64 bits, which is 1. It is assumed that unwanted bits are placed in the first second code block. Since the numbers of code blocks corresponding to non-maximum code lengths of 512 bits, 256 bits, 128 bits, and 64 bits are 1, 1, 0, and 1, respectively, the code blocks of C include the following three types of second code blocks in total: For the first type of second code block, the code length is 512 bits, the number is 1, and the data length is 128 bits, where 120 bits of the 128 bits are used to store information bits, and the remaining 8 bits are unwanted bits that may be padded or subtracted from the data length later. For the second code block of the second type, the code length is 256 bits, the number is 1, and the data length is 64 bits, where 56 of the 64 bits are used to store information bits and the remaining 8 bits are used to store 8 bits of information of the second check code. For the second code block of the third type, the code length is 64 bits, the number is 1, and the data length is 16 bits, where the 16 bits are used to store the remaining 16 bits of information of the second check code.

[0322] Segmentation Method 1-22

[0323] See the K table in Table 1.1. Non-maximum code lengths N1 to N S-1 Minimum code length N S-1 The ratio of S-2 , 2 S-3 , ..., 2 1 , and 2 0 Therefore, if the number of second code blocks corresponding to each non-maximum code length is not greater than 1, then the minimum code length N S-1 The number of code blocks corresponding to S-1 and the non-maximum code lengths N1 to N S-1The conversion relationship between the number of code blocks corresponding to can be expressed by S-1 bits of binary data. Based on this, the minimum code length N S-1 Estimated number of code blocks corresponding to C S-1' After obtaining the C S-1' The bits of S-1 in the binary data from the most significant bit to the least significant bit are converted into non-maximum code lengths N1 to N S-1 There is a one-to-one correspondence between the L bits and the L types. The transmitting end device may use the value of the L bits that are not zero in the binary data as the number of the L types of second code blocks. The data length of each type of the L types of second code blocks is a preset or pre-configured data length of the non-maximum code length corresponding to the corresponding bit.

[0324] Scenario 3 is still used as an example to explain the specific calculation process of segmentation method 1-22. In the K table shown in Table 2.11(B), there are four non-maximum code lengths in total: 512 bits, 256 bits, 128 bits, and 64 bits. Therefore, after the estimated number 13 of code blocks corresponding to the minimum code length of 64 bits is obtained, the decimal value 13 is converted into 4-bit binary data 1101 (i.e., 13=2 3 +2 2 +2 0) The 4-bit values ​​1, 1, 0, and 1 in the binary data 1101 correspond to the number of code blocks corresponding to a non-maximum code length of 512 bits, the number of code blocks corresponding to a non-maximum code length of 256 bits, the number of code blocks corresponding to a non-maximum code length of 128 bits, and the number of code blocks corresponding to a non-maximum code length of 64 bits, respectively. From the least significant bit to the most significant bit, the bits with a value other than 0 are the first bit, the second bit, and the fourth bit. Therefore, the data to be segmented can be segmented into three types of second code blocks. For the first type of second code block, the code length is 512 bits and the number is 1. For the second type of second code block, the code length is 256 bits and the number is 1. For the third type of second code block, the code length is 64 bits and the number is 1.

[0325] In the segmentation method 1-2, first, the remaining data to be segmented is converted into code blocks corresponding to the minimum code length to obtain an estimated number of code blocks corresponding to the minimum code length, and then, based on the ratio relationship between the preset or pre-configured data lengths corresponding to the non-maximum code lengths, the estimated number of code blocks corresponding to the minimum code length is converted into code blocks corresponding to each non-maximum code length. Because the data length of the code block corresponding to the minimum code length is the smallest, the conversion into the code block corresponding to the minimum code length can ensure as much as possible that the minimum number of unwanted bits is generated during segmentation. This effectively reduces the complexity of subsequent operations such as padding or subtraction from the data length, and helps to reduce air interface overhead.

[0326] Segmentation Methods 1-3

[0327] In the segmentation method 1-1, real-time calculations must be performed based on the data length of the remaining data to be segmented. In the segmentation method 1-2, the minimum code length N S-1 Estimated number of code blocks corresponding to C S-1'In the segmentation methods 1-3, the number of each type of second code block of the L types is calculated based on the data length and / or minimum code length N of the remaining data to be segmented by looking up the pre-established correspondence between the code rate, the code length, the estimated number of code blocks corresponding to the data length and / or minimum code length of the remaining data to be segmented, and the number of code blocks corresponding to each code length. S-1 Estimated number of code blocks corresponding to C S-1' The predetermined correspondence among the code rate, the code length, the data length of the remaining data to be segmented and / or the estimated number of code blocks corresponding to the minimum code length, and the number of code blocks corresponding to each code length may be expressed in any form such as a table, a database, a stack, etc. This is not particularly limited.

[0328] For example, according to this embodiment of the present application, if the preset correspondences among the code rate, code length, estimated number of code blocks corresponding to the data length and / or minimum code length of the remaining data to be segmented, and the number of code blocks corresponding to each code length are expressed in a table, Table 4 is a summary table of the preset correspondences among the code rate, code length, estimated number of code blocks corresponding to the data length and / or minimum code length of the remaining data to be segmented, and the number of code blocks corresponding to each code length. Table 4(A) is a summary table of the number of code blocks corresponding to each code length for a code rate of 1 / 4. Table 4(B) is a summary table of the number of code blocks corresponding to each code length for a code rate of 3 / 8. Table 4(C) is a summary table of the number of code blocks corresponding to each code length for a code rate of 1 / 2. Table 4(D) is a summary table of the number of code blocks corresponding to each code length for a code rate of 5 / 8. Table 4(E) is a summary table of the number of code blocks corresponding to each code length for a code rate of 3 / 4. Table 4(F) is a summary table of the number of code blocks corresponding to each code length for code rate 7 / 8.

[0329] In Table 4(A) to Table 4(F), K lsis the data length of the remaining information bits other than the information bits included in the first code block having the maximum code length, and is expressed in bits. ls is the data length of the remaining data to be segmented, in bits. ls is the data length K of the remaining information bits ls and the data length CRC of the second check code ls The data length CRC of the second check code is the sum of ls is preset or preconfigured to be 24 bits. N is the code length in bits. C S-1' is the estimated number of code blocks corresponding to the minimum code length of 64 bits. In addition to the above information, the correspondence table may further include one or more of the following contents:

[0330] C ls refers to the number of code blocks that hold the remaining to-be-segmented data. The estimated number of code blocks C corresponding to the minimum code length of 64 bits S-1' is greater than the preset threshold (Table 4(A) to Table 4(F) shows that there are a total of 5 code lengths, so the preset threshold is 2 5-1 -1=15), all remaining to-be-segmented data is kept in the first code block corresponding to the maximum code length, so C ls The value of is 1. For example, in Table 4(A), C greater than 15 S-1' Starting from (i.e., number 13 to number 29), C ls The values ​​of are all 1. The estimated number C S-1' If C is not greater than the preset number threshold, the remaining data to be segmented is C 20 are kept in the second code block corresponding to the non-maximum code length of C ls The value of is the estimated number C S-1' For example, in Table 4(A), C S-1' If is 6 (i.e., number 3), then C ls The value of is 2, but C S-1' If is 7 (i.e., number 4), then C lsThe value of is 3.

[0331] K Diff refers to the bit difference, in bits, between the total data length of the code blocks holding the remaining to-be-segmented data and the data length of the remaining to-be-segmented data in the segmentation schemes given in Tables 4(A) to 4(F). These bit differences are used to indicate the number of existing unwanted bits. The estimated number C of code blocks corresponding to the minimum code length of 64 bits S-1' If K is greater than the preset number threshold, all remaining data to be segmented will be kept in the first code block corresponding to the maximum code length, and the data length of the first code block corresponding to the maximum code length is long, so the number of unwanted bits K Diff is generally large. For example, in Table 4(A), C greater than 15 S-1' Starting from (i.e., number 13 to number 29), K Diff The value of reaches hundreds of bits in most cases. The estimated number of code blocks C corresponding to the minimum code length of 64 bits is S-1' If K is not greater than the preset number threshold, the remaining data to be segmented is stored in one or more second code blocks corresponding to non-maximum code lengths. However, the data length of the second code blocks corresponding to non-maximum code lengths is short. Therefore, the number of unwanted bits K Diff is generally small. For example, C S-1' If is not greater than 15, then K in Table 4(A) Diff The values ​​of are all 0 (i.e., there are no unwanted bits), and K in Table 4(B) Diff The value of rotates between 0 and 8 bits, and K in Table 4(C) Diff The value of rotates between 0 bits, 8 bits, and 16 bits, and is Diff The value of rotates between 0 bits, 8 bits, 16 bits, and 24 bits, and is Diff The value of rotates between 0 bits, 8 bits, 16 bits, 24 bits, and 32 bits, and is DiffThe value of K cycles through 0, 8, 16, 24, 32, and 40 bits. For any code rate shown in Table 4(A) through Table 4(F), the maximum K Diff It can be seen that σ does not exceed 40 bits, which is very small compared to the hundreds of bits preserved by using the first code block.

[0332] It should be noted that the correspondence relationship tables shown in Table 4(A) to Table 4(F) may further include some other information, such as the total data length of information bits or the number of first code blocks, which is not particularly limited. Table 4(A): A summary of the number of code blocks corresponding to each code length at code rate 1 / 4 [Table 23] Table 4(B): A summary of the number of code blocks corresponding to each code length at code rate 3 / 8 [Table 24] JPEG2026004273000047.jpg113170Table 4(C): Summary table of the number of code blocks corresponding to each code length at code rate 1 / 2 [Table 25] JPEG2026004273000049.jpg233170Table 4(D): Summary of the number of code blocks corresponding to each code length at code rate 5 / 8 [Table 26] JPEG2026004273000051.jpg255170JPEG2026004273000052.jpg98170Table 4(E): Summary of the number of code blocks corresponding to each code length at code rate 3 / 4 [Table 27] JPEG2026004273000054.jpg255170JPEG2026004273000055.jpg218170Table 4(F): Summary table of the number of code blocks corresponding to each code length at code rate 7 / 8 [Table 28] JPEG2026004273000057.jpg255170JPEG2026004273000058.jpg255170JPEG2026004273000059.jpg83170

[0333] For ease of understanding, scenario 2 and scenario 3 are still used as an example to illustrate the specific calculation process of segmentation methods 1-3.

[0334] In scenario 2, the data length D of the remaining data to be segmented lsis 304 bits, the first code rate is 3 / 8, and the estimated number of code blocks corresponding to the minimum code length of 64 bits is 19. Based on the above information, the transmitting end device may directly query the preset correspondence between the code rate, the code length, the data length of the remaining data to be segmented and / or the estimated number of code blocks corresponding to the minimum code length, and the number of code blocks corresponding to each code length to obtain the following information (for example, if the correspondence is held in the correspondence table shown in Table 4(A) to Table 4(F), it may query the correspondence table shown in Table 4(B) to obtain the row of data numbered 35): the number of code blocks corresponding to the 1024-bit code length is 1, and the numbers of code blocks corresponding to the 512-bit code length, the 256-bit code length, the 128-bit code length, and the 64-bit code length are all 0 (i.e., there are no code blocks corresponding to the 512-bit code length, the 256-bit code length, the 128-bit code length, and the 64-bit code length). Therefore, all remaining to-be-segmented data is held in a first code block having a code length of 1024 bits, where 304 bits are used to hold the remaining to-be-segmented data and the remaining 80 bits are unwanted bits.

[0335] In scenario 3, the data length D of the remaining data to be segmented lsis 200 bits, the first code rate is 3 / 8, and the estimated number of code blocks corresponding to the minimum code length of 64 bits is 13. Based on the above information, the data segmentation device may consult a preset correspondence between the code rate, the code length, the estimated number of code blocks corresponding to the data length and / or the minimum code length of the remaining data to be segmented, and the number of code blocks corresponding to each code length to obtain the following information (for example, if the correspondence is held in the correspondence table shown in Table 4(A) to Table 4(F), the correspondence table shown in Table 4(B) may be consulted to obtain the row of data numbered 22): the number of code blocks corresponding to the 1024-bit code length is 0 (i.e., there is no code block corresponding to the 1024-bit code length), the number of code blocks corresponding to the 512-bit code length is 1, the number of code blocks corresponding to the 256-bit code length is 1, the number of code blocks corresponding to the 128-bit code length is 0 (i.e., there is no code block corresponding to the 128-bit code length), and the number of code blocks corresponding to the 64-bit code length is 1). Therefore, the remaining to-be-segmented data may be stored in one second code block with a code length of 512 bits, one second code block with a code length of 256 bits, and one second code block with a code length of 64 bits. Furthermore, in the three second code blocks, in addition to the remaining to-be-segmented data stored therein, there are also 8 unwanted bits.

[0336] In the predetermined correspondence between the code rate, the code length, the data length of the remaining data to be segmented and / or the estimated number of code blocks corresponding to the minimum code length, and the number of code blocks corresponding to each code length, the number of code blocks corresponding to the maximum code length of 1024 bits is determined based on the number of first code blocks holding information bits, not the number of first code blocks holding information bits, but the number of code blocks corresponding to the remaining data D lsNote that the number of first code blocks used to hold the maximum code length of 1024 bits is 0. For example, Table 4(A) is used as an example. The numbers of code blocks corresponding to the maximum code length of 1024 bits in numbers 1 to 9 are all 0. This is because the remaining data D to be segmented that is not held in the first code blocks is 0. ls However, the remaining data to be segmented D ls The remaining information bits K contained in ls The number of information bits held in the first code block other than the above may be 0, or may be 1, 2, or more than 2. This is not particularly limited.

[0337] In the above-mentioned segment number priority rule, information bits are first stored in a first code block with the maximum code length as much as possible. Then, different segmentation operations are performed based on the number of remaining information bits. If a large number of remaining information bits exist, segmentation is not performed. Instead, the first code block with the maximum code length is additionally used to store all the remaining information bits, thereby avoiding segmenting a large number of short code blocks and maintaining low data transmission delay. If a small number of remaining information bits exist, short code blocks corresponding to small code lengths are used for segmentation. Furthermore, if data transmission delay is low, performing finer segmentation can reduce the number of unwanted bits contained in the code blocks, thereby effectively reducing air interface overhead during data transmission. Furthermore, if a small number of remaining information bits exist, a second code block corresponding to a small code length is used to store the remaining information bits, and the data length of the second code block is smaller than that of the first code block corresponding to the maximum code length. Therefore, even if the remaining information bits need to be retransmitted, the second code block with a smaller data length can be retransmitted without retransmitting the first code block, thus further reducing the retransmitted data volume and retransmission delay.

[0338] Bit-count priority rule

[0339] In the bit number priority rule, the data length of a first code block corresponding to the maximum code length is greater than the data length of a second code block corresponding to a non-maximum code length. It is considered that if the first code block having the maximum code length is used to hold the entire data to be segmented, the first code block may contain a large number of unwanted bits. This will invisibly increase the volume of data to be transmitted, which is unfavorable for reducing air interface loss during data transmission. Based on this, after obtaining the initial number of first code blocks and the data length of the remaining data to be segmented, the transmitting end device may directly use the initial number of first code blocks as the number of first code blocks and segment the remaining data to be segmented by using a non-maximum code length without considering the specific data length of the remaining data to be segmented. According to the above rule, in various scenarios, short code blocks corresponding to small code lengths can be used as much as possible to hold the remaining data to be segmented. This helps reduce the number of unwanted bits included in the segmented code blocks and further reduces air interface loss during data transmission.

[0340] Below, several possible segmentation schemes under the bit number priority rule are explained by using examples.

[0341] Segmentation Method 2-1

[0342] In segmentation method 2-1, segmentation may be performed based on the data length of the remaining data to be segmented. In one implementation, the transmitting end device may set the initial number of first code blocks as the number of first code blocks, and refer to the calculation methods for determining the initial number of first code blocks corresponding to the maximum code length in steps 502, 503, and 505 to sequentially determine the initial numbers of code blocks corresponding to the S-1 non-maximum code lengths in descending order of code lengths, use the initial numbers of code blocks corresponding to the non-minimum code lengths as the number of code blocks corresponding to the non-minimum code lengths, use the smallest integer not smaller than the initial number of code blocks corresponding to the minimum code lengths as the number of code blocks corresponding to the minimum code lengths, and then use the number of code blocks whose number is not 0 in the S-1 non-maximum code lengths corresponding to the L non-maximum code lengths as the number of L type second code blocks.

[0343] Scenario 2 is still used as an example to explain the specific calculation process of segmentation method 2-1. In scenario 2, the data length of the remaining data to be segmented is 304 bits. Referring to the K table shown in Table 2.11(B), it can be seen that for a code rate of 3 / 8, the preset or pre-configured data length corresponding to a 512-bit code length is 128 bits. Therefore, the number of code blocks corresponding to a 512-bit code length is floor(304 / 128)=2. The data length D of the remaining data to be segmented is ls is updated to be: 304 bits - 2 x 128 bits = 48 bits. The preset or pre-configured data length corresponding to a 256-bit code length with a code rate of 3 / 8 is 64 bits. Therefore, the number of code blocks corresponding to a 256-bit code length is floor(48 / 64) = 0. The data length D of the remaining data to be segmented is lsis still 48 bits. The preset or pre-configured data length corresponding to a 128-bit code length with a code rate of 3 / 8 is 32 bits. Therefore, the number of code blocks corresponding to a 128-bit code length is floor(48 / 32) = 1. The data length D of the remaining data to be segmented is ls is updated to be: 48 bits - 32 bits = 16 bits. For a code rate of 3 / 8, the preset or preconfigured data length corresponding to the minimum code length of 64 bits is 16 bits. Therefore, the number of code blocks corresponding to the minimum code length of 64 bits is: ceil(16 / 16) = 1. Since the numbers of code blocks corresponding to non-maximum code lengths of 512 bits, 256 bits, 128 bits, and 64 bits are 2, 0, 1, and 1, respectively, there are a total of three types of second code blocks: For the first type of second code block, the code length is 512 bits, the number is 2, and the data length of each second code block is 128 bits, where the 128 bits of each of the two second code blocks store information bits. For the second code block of the second type, the code length is 128 bits, the number is 1, and the data length is 32 bits, where 24 of the 32 bits store information bits and the remaining 8 bits store 8 bits of information of the second check code. For the second code block of the third type, the code length is 64 bits, the number is 1, and the data length is 16 bits, where the 16 bits store the remaining 16 bits of information of the second check code.

[0344] Segmentation Method 2-2

[0345] In segmentation scheme 2-2, segmentation is performed by estimating the number of code blocks C corresponding to the minimum code length. S-1' In one implementation, the transmitting end device uses the initial number of first code blocks as the number of first code blocks to calculate the non-maximum code lengths N1 to N2 of S-1 according to equations (5.51) to (5.56) in segmentation scheme 1-21. S-1 The number of code blocks corresponding to S-1 is sequentially obtained, and the non-maximum code length N1 to NS-1 , a non-maximum code length of L in which the number of code blocks is not zero may be selected, and the number of code blocks corresponding to the non-maximum code length of L may be used as the number of second code blocks of the L type.

[0346] Scenario 2 is still used as an example to describe the specific calculation process of segmentation method 2-2. In scenario 2, the data length of the remaining data to be segmented is 304 bits, and the data length is converted into code blocks corresponding to the minimum code length of 64 bits at a code rate of 3 / 8 to obtain an estimated number 19 of code blocks corresponding to the minimum code length of 64 bits. According to the estimated number 19, the transmitting end device may perform the following analysis in descending order of code length: first, the ratio of the maximum non-maximum code length of 512 bits to the minimum code length of 64 bits is 8:1, and from the estimated number 19 of code blocks corresponding to the minimum code length of 64 bits, two code blocks corresponding to the non-maximum code length of 512 bits can be converted. Therefore, the number of code blocks corresponding to the non-maximum code length of 512 bits is 2, and the estimated number of remaining code blocks corresponding to the minimum code length of 64 bits after conversion is 19-2×8=3. Next, the ratio of a non-maximum code length of 256 bits to the minimum code length of 64 bits is 4:1, and from the estimated number of remaining code blocks corresponding to the minimum code length of 64 bits, which is 3, it is not possible to convert one code block corresponding to a non-maximum code length of 256 bits. Therefore, the number of code blocks corresponding to a non-maximum code length of 256 bits is 0 (i.e., there are no code blocks corresponding to a non-maximum code length of 256 bits). Because no conversion is performed, the estimated number of remaining code blocks corresponding to the minimum code length of 64 bits remains 3. Next, the ratio of a non-maximum code length of 128 bits to the minimum code length of 64 bits is 2:1, and from the estimated number of remaining code blocks corresponding to the minimum code length of 64 bits, which is 3, one code block corresponding to a non-maximum code length of 128 bits can be converted. Therefore, the number of code blocks corresponding to a non-maximum code length of 128 bits is 1, and the estimated number of remaining code blocks corresponding to the minimum code length of 64 bits after conversion is 3-2×1=1. Finally, the number of code blocks corresponding to a non-maximum code length of 64 bits is equal to the estimated number of remaining code blocks corresponding to the minimum code length of 64 bits: 1. The numbers of code blocks corresponding to non-maximum code lengths of 512 bits, 256 bits, 128 bits, and 64 bits are 2, 0, 1, and 1, respectively, so there are a total of three types of second code blocks:For the second code blocks of the first type, the code length is 512 bits, the number is 2, and the data length of each second code block is 128 bits. For the second code blocks of the second type, the code length is 128 bits, the number is 1, and the data length is 32 bits. For the second code blocks of the third type, the code length is 64 bits, the number is 1, and the data length is 16 bits.

[0347] Segmentation Method 2-3

[0348] In the segmentation method 2-1, real-time calculations must be performed based on the data length of the remaining data to be segmented. In the segmentation method 2-2, the minimum code length N S-1 Estimated number of code blocks corresponding to C S-1' In the segmentation method 2-3, the number of each type of second code block of the L types is calculated based on the data length and / or minimum code length N of the remaining data to be segmented by looking up the pre-established correspondence between the code rate, the code length, the estimated number of code blocks corresponding to the data length and / or minimum code length of the remaining data to be segmented, and the number of code blocks corresponding to each code length. S-1 Estimated number of code blocks corresponding to C S-1' The predetermined correspondence among the code rate, the code length, the data length of the remaining data to be segmented and / or the estimated number of code blocks corresponding to the minimum code length, and the number of code blocks corresponding to each code length may be expressed in any form such as a table, a database, a stack, etc. This is not particularly limited.

[0349] For example, according to this embodiment of the present application, if the preset correspondences among the code rate, code length, the estimated number of code blocks corresponding to the data length and / or minimum code length of the remaining data to be segmented, and the number of code blocks corresponding to each code length are expressed in a correspondence table, Table 5 is a summary table of the preset correspondences among the code rate, code length, the estimated number of code blocks corresponding to the data length and / or minimum code length of the remaining data to be segmented, and the number of code blocks corresponding to each code length. Table 5(A) is a summary table of the number of code blocks corresponding to each code length for a code rate of 1 / 4. Table 5(B) is a summary table of the number of code blocks corresponding to each code length for a code rate of 3 / 8. Table 5(C) is a summary table of the number of code blocks corresponding to each code length for a code rate of 1 / 2. Table 5(D) is a summary table of the number of code blocks corresponding to each code length for a code rate of 5 / 8. Table 5(E) is a summary table of the number of code blocks corresponding to each code length for a code rate of 3 / 4. Table 5(F) is a summary table of the number of code blocks corresponding to each code length at code rate 7 / 8. ls , D ls , N.C. S-1' , C ls , and K Diff ) are consistent with those in Tables 4(A) to 4(F). The details will not be explained again here. Table 5(A): A summary of the number of code blocks corresponding to each code length at code rate 1 / 4 [Table 29] Table 5(B): Summary of the number of code blocks corresponding to each code length at code rate 3 / 8 [Table 30] JPEG2026004273000062.jpg113170Table 5(C): Summary table of the number of code blocks corresponding to each code length at code rate 1 / 2 [Table 31] JPEG2026004273000064.jpg233170 Table 5(D): Summary table of the number of code blocks corresponding to each code length at code rate 5 / 8 [Table 32] JPEG2026004273000066.jpg255170JPEG2026004273000067.jpg98170Table 5(E): Summary of the number of code blocks corresponding to each code length at code rate 3 / 4 [Table 33] JPEG2026004273000069.jpg255170JPEG2026004273000070.jpg218170Table 5(F): Summary table of the number of code blocks corresponding to each code length at code rate 7 / 8 [Table 34] JPEG2026004273000072.jpg255170JPEG2026004273000073.jpg255170JPEG2026004273000074.jpg83170

[0350] Scenario 2 is still used as an example to explain the specific calculation process of segmentation method 2-3. In scenario 2, the data length D of the remaining data to be segmented is lsis 304 bits, the first code rate is 3 / 8, and the estimated number of code blocks corresponding to the minimum code length of 64 bits is 19. Based on the above information, the transmitting end device may consult a preset correspondence between the code rate, the code length, the data length of the remaining data to be segmented and / or the estimated number of code blocks corresponding to the minimum code length, and the number of code blocks corresponding to each code length, to obtain the following information (for example, if the correspondence is held in the correspondence table shown in Table 5(A) to Table 5(F), it may consult the correspondence table shown in Table 5(B) to obtain the row of data numbered 35): the number of code blocks corresponding to the 1024-bit code length is 0 (i.e., there is no code block corresponding to the 1024-bit code length), the number of code blocks corresponding to the 512-bit code length is 2, the number of code blocks corresponding to the 256-bit code length is 0 (i.e., there is no code block corresponding to the 256-bit code length), the number of code blocks corresponding to the 128-bit code length is 1, and the number of code blocks corresponding to the 64-bit code length is 1). Therefore, the remaining to-be-segmented data may be held in two second code blocks with a code length of 512 bits, one second code block with a code length of 128 bits, and one second code block with a code length of 64 bits, and further, there are no unwanted bits.

[0351] From the comparison between the segment number priority rule and the bit number priority rule, it can be seen that for the same Scenario 2, in the segment number priority rule, a long first code block with a large code length is additionally set to hold the entire remaining to-be-segmented data, thereby reducing the number of segments of the short second code block and thereby reducing the transmission delay. In the bit number priority rule, four short second code blocks with small code lengths are set to hold the remaining to-be-segmented data, thereby reducing the number of unwanted bits and thereby reducing the air interface loss. In actual operation, the transmitting end device may fixally set one of the two rules, or may set the two rules simultaneously, allowing the rule applicable to the current scenario to flexibly meet different requirements in different scenarios based on instructions input by the user.

[0352] Step 507: The transmitting end device segments the information bits based on the number of first code blocks and the number of second code blocks, and appends the first check code / second check code to the segmented information bits to obtain C code blocks.

[0353] In one example (referred to as Example 1 for short), it is assumed that three first code blocks, each having a data length of 384 bits and corresponding to a maximum code length of 1024 bits, are used to hold 1000 information bits. In this case, the transmitting end device may first segment the 1000 information bits into 360 bits, 360 bits, and 280 bits in order, generate a 24-bit first check code for the first 360 bits, and append the 24-bit first check code to the first 360 bits to obtain a first first code block, generate a 24-bit first check code for the second 360 bits, and append the 24-bit first check code to the second 360 bits to obtain a second first code block, and generate a 24-bit first check code for 280 bits, and append the 24-bit first check code to the 280 bits to obtain a third first code block.

[0354] In another example (referred to as Example 2 for short), it is assumed that one first code block having a data length of 384 bits, corresponding to a maximum code length of 1024 bits, one second code block having a data length of 128 bits, corresponding to a non-maximum code length of 512 bits, one second code block having a data length of 64 bits, corresponding to a non-maximum code length of 216 bits, and one second code block having a data length of 16 bits, corresponding to a non-maximum code length of 64 bits, are used to jointly hold 536 information bits. In this case, the transmitting end device may first segment the 536 information bits into 360 bits, 128 bits, and 48 bits in order, generate a 24-bit first check code for the 360 ​​bits, append the 24-bit first check code to the first 360 bits to obtain a first code block, use the 128 bits as the first second code block to generate a 24-bit second check code for the 128 bits and 48 bits, append 16 bits of the 24-bit second check code to the 48 bits to obtain a second second code block, and use the remaining 8-bit second check code to form a third second code block.

[0355] Step 508: The transmitting end device encodes the code blocks of C by using the polar code to obtain a code word obtained after the code blocks of C are encoded.

[0356] For example, after obtaining the code block of C, before encoding the code block of C, the transmitting end device may further calculate a data length K of unwanted bits in the code block of C based on the data length of the code block of C, the total data length of the information bits, the data length of the first check code, and / or the data length of the second check code. Diff and determine the data length K of the unwanted bits. Diff The code blocks of C may be adjusted based on the data length K of unwanted bits. Diff is the difference between the data length of the code block of C and the data length of the valid data, where the valid data includes the encoded data, the first check code, and / or the second check code. Based on several possible cases, the data length K of the unwanted bits is hereinafter Diff We will now explain separately how to determine C and how to adjust the code blocks of C.

[0357] Case 1: In the code block of C, C 10 The first code block of exists, but the second code block does not.

[0358] In this case, the data length of the code block of C is 10 The data length of the first code block is the total data length of the information bits and C 10 The data length of one first code block is K0, and the total data length of the information bits is K input The data length of one first check code is CRC0, and the data length of unwanted bits is K Diff It is assumed that the following equation (5.71) can be satisfied: K Diff =C 10 ×K0-K input -C 10×CRC0(5.71)

[0359] During adjustment, in the code block of C, 10 Since the first code block of C exists but the second code block does not exist, the transmitting end device 10 For example, only the first code block of K Diff A preset bit sequence (such as an all-0 bit sequence, an all-1 bit sequence, a character bit sequence, or a bit sequence generated according to a specific rule) containing 10 or padding one or more of the first code blocks of Diff For example, if the second code block does not exist, an additional first code block is added in the above-described procedure only to hold the remaining segmented data having a long data length due to the principle of limited transmission performance, so that the data length K of unwanted bits is subtracted. Diff is definitely smaller than the data length of one first code block. Therefore, for ease of management, the transmitting end device can Diff padding the preset bit sequence of K into the last first code block, or padding K from the last first code block Diff For example, subtract K bits before the last information bit of the first code block. Diff In this way, since the reliability of bits located at later positions in the code block is likely to be higher than the reliability of bits located at earlier positions in the code block, unwanted bit information is padded at earlier positions in the first code block, thereby placing useful information at later positions in the first code block that are likely to have higher reliability, thus effectively improving the reliability of transmitting useful information. Diff is padded between the information bits of the last first code block and the first check code, so that the first check code is Diff, K ... Diff The preset bit sequence of K is padded after the first check code of the last first code block, so that the first check code does not include check information corresponding to unwanted bit information, thereby effectively reducing the check operation. Alternatively, the data length of the last first code block (the data length is a preset or pre-configured data length determined based on the correspondence between the code length of S, the code rate of T, and the data length of S×T) is K Diff may be subtracted by K when encoding the last first code block. Diff The valid data is encoded without encoding the unwanted bits of K. It should be understood that the above-mentioned padding schemes are only some possible examples. In actual operation, padding may be performed at other positions. For example, K Diff may be padded before the information bits of any other first code block, between the information bits and the first check code, or after the first check code, or Diff The preset bit sequence may be padded into multiple first code blocks in a scattered manner, and the padding positions in each first code block are not limited, which are not listed one by one here.

[0360] For example, in Example 1, the sum of the data lengths of the three first code blocks is 3×384 bits=1152 bits, the sum of the data lengths of the internally stored useful information is 1000 bits+3×24 bits=1072 bits, and the data length of the unwanted bits included in the three first code blocks is 1152 bits−1072 bits=80 bits. Based on this, in a possible manner, the transmitting end device may pad an 80-bit all-zero sequence before the information bits of the last first code block, so that the last first code block includes, in sequence, an 80-bit all-zero sequence, 280 information bits, and a 24-bit first check code.

[0361] Case 2: In the code block of C, C 10 and the first code block of C 20 There are second code blocks of

[0362] In this case, the data length of the code block of C is 10 The data length of the first code block of C 20 The data length of the effective data is the sum of the data lengths of the information bits, C 10 The data length of one first code block is K0, and the total data length of information bits is K input The data length of one first check code is CRC0, and the data length of one second check code is CRC ls and code length N1, code length N2, ..., and code length N S-1 The numbers of the second code blocks corresponding to S-1 In this case, the data length of the unwanted bits is K Diff may satisfy the following equation (5.72): K Diff =C 10 ×K0+C1×K1+C2×K2+...+C S-1 ×K S-1 -K input -C 10×CRC0-CRC ls (5.72)

[0363] During adjustment, in the code block of C, 10 and the first code block of C 20 Since there is a second code block of C 10 and / or C 20 For example, one or more of the second code blocks of K Diff The preset bit sequence for C 10 and / or C 20 or padded into one or more of the second code blocks of Diff For example, the transmitting end device may subtract K bits so that the first code block with the maximum code length can hold as many information bits as possible. Diff Preset bit sequence of C 20 padding the second code block of C 20 From the second code block of Diff For example, K Diff The preset bit sequence for C 20 In this case, the undesired information bits are padded in front of the information bits of the second code blocks of the first second code block, whereby the undesired information bits are padded in the front position of the first second code block, which has lower reliability, and the useful information bits are placed in the rear position of the first second code block, which has higher reliability, thereby effectively improving the reliability of transmitting the useful information. Diff The preset bit sequence for C 20 and the second check code of the second code block, so that the second check code is Diff It may also include check information for the preset bit sequence of K, thus further improving management and check. Diff The preset bit sequence for C 20The padding is added after the second check code of the second code block of K, so that the second check code does not include check information corresponding to unwanted bit information, and therefore the check operation is effectively reduced. Diff bits are subtracted from the end of the last second code block (if a second code block exists, the round-up operation is performed only when the remaining to-be-segmented data is converted into a code block corresponding to the minimum code length in the procedure described above to obtain the estimated number, so the data length K of unwanted bits is Diff (Note that K is definitely smaller than the data length of the code block with the smallest code length, i.e., smaller than the data length of the last second code block). It should be understood that the above-mentioned padding schemes are only some possible examples. In actual operation, padding may be performed at other positions. For example, K Diff The preset bit sequence of K may be padded before the information bits of any other second code block, after the information bits of any other second code block, before the second check code, or after the second check code, or Diff The preset bit sequence may be padded into multiple second code blocks in a scattered manner, and the padding positions of each second code block are not limited, which are not listed here one by one.

[0364] For example, in Example 2, the sum of the data lengths of one first code block corresponding to the maximum code length of 1024 bits, one second code block corresponding to a non-maximum code length of 512 bits, one second code block corresponding to a non-maximum code length of 216 bits, and one second code block corresponding to a non-maximum code length of 64 bits is: 384 bits + 128 bits + 64 bits + 16 bits = 592 bits, the sum of the data lengths of the internally stored useful information is 536 bits + 24 bits + 24 bits = 584 bits, and the data length of the unwanted bits included in the first code block and the three second code blocks is 592 bits - 584 bits = 8 bits. Based on this, in a possible manner, the transmitting end device may pad an 8-bit all-zero sequence before the information bits of the first second code block, so that the first second code block includes the 8-bit all-zero sequence and 504 information bits concatenated in sequence.

[0365] Case 3: In the code block of C, C 20 There is a second code block of , but the first code block does not exist.

[0366] In this case, the data length of the code block of C is 20 The data length of the second code block is the sum of the total data length of the information bits and the data length of one second check code. input The data length of one second check code is CRC ls and code length N1, code length N2, ..., and code length N S-1 The numbers of the second code blocks corresponding to S-1 In this case, the data length of the unwanted bits is K Diff may satisfy the following equation (5.73): K Diff =C1×K1+C2×K2+...+C S-1 ×K S-1 -K input -CRC ls (5.73)

[0367] During adjustment, in the code block of C, 20 Since the second code block of C exists but the first code block does not exist, the transmitting end device 20 For example, one or more of the second code blocks of K Diff The preset bit sequence for C 20 or padded before the information bits of the second code block of K Diff The preset bit sequence for C 20 For another example, K Diff The preset bit sequence for C 20 or K Diff The bits are subtracted from the data length of the last second code block. This is not particularly limited.

[0368] Cases 1 to 3 show how the calculation method Diff Note that this is merely an example to explain how to determine K, and this is merely an optional implementation. In another optional implementation, if the number of segments is obtained by querying the correspondence in segmentation scheme 1-3 or segmentation scheme 2-3, the K corresponding to various cases can be obtained. Diff may be further set or configured in advance in a correspondence relationship. Diff is synchronously queried in the process of querying the number of segments, thus reducing the calculation process and effectively improving the data segmentation efficiency. For example, when the correspondence relationship is expressed in the table shown in Table 4(A) to Table 4(F) or Table 5(A) to Table 5(F), the transmitting end device can Diff Query the data column corresponding to K in the corresponding scenario. Diff You can get the value directly.

[0369] Furthermore, in the above, subtracting unwanted bits from the data length of a code block is equivalent to reducing the data length of the code block. For example, see Table 2.11(B). The data length of a code block with a code length of 512 bits at a code rate of 3 / 8 is originally 128 bits, but the actual data length becomes 100 bits after subtracting 28 unwanted bits. In other words, at a code rate of 3 / 8, 128 bits of information can originally be transmitted in one code block, but after the unwanted bits are subtracted, only 100 bits of information can be transmitted in one code block. This is equivalent to reducing the actual code rate of the data. Of course, the actual code rate is simply the actual code rate in the actual transmission process. The originally configured code rate of 3 / 8 remains unchanged, and rate matching still does not need to be performed.

[0370] Step 509: The transmitting end device sends, to the receiving end device, a message carrying the codeword obtained after the code block of C is encoded.

[0371] Step 510: The receiving end device determines the number of first code blocks and the number of second code blocks corresponding to each non-maximum code length according to the total data length of the information bits and the preset first code rate.

[0372] In step 510, the operation performed by the receiving end device corresponds to the operation performed by the transmitting end device, and for the specific implementation process in which the receiving end device determines the number of first code blocks and the number of second code blocks corresponding to each non-maximum code length, please refer to steps 502 to 506 on the transmitting end device side, and the details will not be described again here.

[0373] Step 511: The receiving end device obtains, based on the number of first code blocks and the number of second code blocks corresponding to each non-maximum code length, the code word obtained after the code block of C is encoded from the message holding the code word obtained after the code block of C is encoded.

[0374] In step 511, the receiving end device may segment the sequence in the message holding the code words obtained after the code blocks of C are encoded in the order in which the transmitting end device concatenates the code words obtained after the code blocks of C are encoded, to obtain the code words obtained after each code block is encoded. The order in which the transmitting end device concatenates the code words obtained after the code blocks of C are encoded may be pre-set or pre-configured for the receiving end device, or may be transmitted by the transmitting end device to the receiving end device. In a possible example, it is assumed that the transmitting end device obtains the sequence through concatenation in order of the first code block 1 (having a data length of 384 bits and a code length of 1024 bits), the first code block 2 (having a data length of 384 bits and a code length of 1024 bits), and the second code block 1 (having a data length of 64 bits and a code length of 256 bits). In this case, after determining, according to the same segmentation rule as that of the transmitting end device, that the sequence includes code words corresponding to two first code blocks with a code length of 1024 bits and one second code block with a code length of 256 bits, the receiving end device may first obtain a code word with a code length of 1024 bits from the start position of the sequence according to the above-mentioned concatenation order, and use this code word as the code word corresponding to the first first code block (i.e., first code block 1); then, starting from the next bit at the end position of the code word corresponding to the first first code block, obtain a code word with a code length of 1024 bits, and use this code word as the code word corresponding to the second first code block (i.e., first code block 2); then, starting from the next bit at the end position of the code word corresponding to the second first code block, obtain a code word with a code length of 256 bits, and use this code word as the code word corresponding to the second code block (i.e., second code block 1). Of course, the codewords may alternatively be obtained in reverse.For example, a code word having a code length of 256 bits is obtained from the end of the sequence and used as the code word corresponding to the second code block (i.e., second code block 1). Next, a code word having a code length of 1024 bits is obtained from the previous bit at the start of the code word corresponding to the first second code block and used as the code word corresponding to the second first code block (i.e., first code block 2). Next, a code word having a code length of 1024 bits is obtained from the previous bit at the start of the code word corresponding to the second first code block and used as the code word corresponding to the first first code block (i.e., first code block 1). Of course, code words may alternatively be obtained in another manner. For example, three code blocks may be obtained simultaneously in one operation, or the second first code block may be obtained first, then the first first code block, and finally the first second code block. This is not particularly limited.

[0375] Step 512: The receiving end device decodes the code word obtained after the code block of C is encoded to obtain the information bits and the first check code / second check code contained in the code block of C, and checks the information bits and the first check code / second check code contained in the code block of C.

[0376] In step 512, if the segmentation result is determined according to the same segmentation rule as that of the transmitting device, the receiving device can further synchronously acquire the data length of the information bits, the data length of the check codes, and / or the data length of the unwanted bits included in each code block. In this way, after acquiring each code block through decoding, the receiving device may acquire the information bits and / or the check codes included in each code block based on the above information. When the segmentation rule shown in (C) of FIG. 4 is used, the receiving device may acquire one first check code from each first code block and one second check code from all second code blocks. The receiving device may further check each first code block based on a generator polynomial corresponding to the first check code in each first code block, and may check all second code blocks based on a generator polynomial corresponding to the second check codes included in all second code blocks.

[0377] For example, when a code block includes unwanted bits, in a possible implementation, if the code block is adjusted in a manner of padding preset data before the information bits of the code block, a check code is added after the preset data and information bits included in the code block. In this case, the check code is generated for the preset data and information bits included in the code block. Therefore, after obtaining the code block through decoding, the receiving end device may directly use a generator polynomial corresponding to the check code to divide the preset data, information bits, and check code included in the code block. If the remainder is 0, the information bits included in the code block are stored. If the remainder is not 0, retransmission is performed. In another possible implementation, if the code block is adjusted in a manner of padding preset data at the end of the code block, a check code is added between the information bits and preset data included in the code block. In this case, the check code is generated for the information bits included in the code block, and does not include check information for the preset data. Therefore, after obtaining the code block through decoding, the receiving end device may first remove the preset data padded at the end from the code block (the amount of preset data can be obtained synchronously when the segmentation result is determined according to the segmentation rule), so that only the information bits and check code remain in the code block, and then divide the information bits and check code included in the code block by a generator polynomial corresponding to the check code. If the remainder is 0, the information bits included in the code block are stored. If the remainder is not 0, retransmission is performed. In another possible implementation, when the code block is adjusted in a manner that preset data is padded after the information bits included in the code block, the check code is added after the information bits and preset data padded in the code block. In this case, the check code is generated for the information bits and preset data included in the code block.Therefore, after obtaining the code block through decoding, the receiving end device can directly use the generator polynomial corresponding to the check code to divide the information bits contained in the code block, the preset data, and the check code. If the remainder is 0, the information bits contained in the code block are stored. If the remainder is not 0, retransmission is performed.

[0378] In embodiment 2, a first check code is added to the end of each first code block having the maximum code length without adding a second check code to the end of each second code block, and a second check code is added to the end of all second code blocks having a small code length. This not only reduces the transmitted data volume and encoding complexity, but also determines the specific part of the code block corresponding to the check code to be retransmitted based on the check code inspection result during retransmission. This effectively reduces the retransmitted data volume and retransmission delay, improves retransmission efficiency, and helps reduce power consumption and retransmission delay. Furthermore, by setting a segmentation scheme corresponding to the segment number priority rule and the bit number priority rule, an appropriate segmentation rule can be further selected based on actual requirements. For example, the segment number priority rule is selected in scenarios where more attention is paid to transmission delay, and reducing the number of segments of short code blocks reduces transmission delay. For another example, the bit number priority rule is selected in scenarios where more attention is paid to air interface loss, reducing the number of unwanted bits through fine segmentation of short code blocks, reducing air interface loss, and effectively improving the suitability of the data processing method for various encoding scenarios.

[0379] It should be noted that the examples in embodiment 2 are described by using a scenario in which the first degree reduction threshold in correspondence relationship 1 is set as 1 / 8 as an example. For a scenario in which the first degree reduction threshold in correspondence relationship 1 is set as 1 / 16 or another value, and for a scenario in which the second degree reduction threshold in correspondence relationship 2 is set as an arbitrary value, please refer to the above content for direct implementation. In this embodiment of the present application, details will not be described one by one.

[0380] Please note that the names of the information mentioned above are only examples. With the evolution of communication technology, the names of any of the information mentioned above may be changed. However, regardless of how the names of the information are changed, as long as the meaning of the information is the same as that of the information in this application, the information will fall within the scope of protection of this application.

[0381] The foregoing mainly describes the solution provided in the present application from the perspective of performing steps by a network element. To implement the above-described functions, it can be understood that the network element includes corresponding hardware structures and / or software modules for performing the above functions. In combination with the examples described in the embodiments disclosed herein, those skilled in the art should easily realize that the units and algorithm steps of the present invention can be implemented by hardware or a combination of hardware and computer software. Whether the functions are implemented by hardware or hardware driven by computer software depends on the specific application and design constraints of the technical solution. Those skilled in the art may use different methods to implement the described functions for each specific application, but such implementations should not be considered as going beyond the scope of the present invention.

[0382] According to the above-mentioned method, FIG. 6 is a schematic diagram of the structure of a data processing device according to an embodiment of the present application. As shown in FIG. 6, the data processing device 600 may be a transmitting end device, such as a network device or a terminal device, or a chip or circuit, such as a chip or circuit that can be disposed in a network device or a chip or circuit that can be disposed in a terminal device. Furthermore, for example, the data processing device 600 may be a vehicle or a chip or circuit disposed in a vehicle. As shown in FIG. 6, the data processing device 600 may include a segmentation parameter calculation module 601, a preliminary code block segmentation module 602, a check code encoding pre-processing module 603, a check code encoding module 604, a padding or deletion module 605, a small code block segmentation module 606, and a polar code encoding module 607. The functions of each module are described below.

[0383] The segmentation parameter calculation module 601 is separately connected to the preliminary code block segmentation module 602 and the small code block segmentation module 606, and calculates the number C of first code blocks based on the total data length of the information bits, the preset or pre-configured data length of the preset first code rate at each code length, the preset or pre-configured length of the first check code, and the preset or pre-configured length of the second check code in the manner of either one of embodiment 1 or embodiment 2. 10 and calculate the number corresponding to each of the second code blocks of type L, and then calculate the number of first code blocks C 10 and a number corresponding to each type of L types of second code blocks to preliminary code block segmentation module 602, and a number corresponding to each type of L types of second code blocks to small code block segmentation module 606.

[0384] The preliminary code block segmentation module 602 is connected to a check code encoding pre-processing module 603 and a check code encoding module 604, respectively, and is configured to process the first number of code blocks C 10 to segment the information bits based on the L types of second code blocks, obtain the information bits included in each first code block and the remaining information bits other than the information bits included in the first code block, send each information bit included in each first code block to the check code encoding module 604, and send the remaining information bits and the number corresponding to each type of L types of second code blocks to the check code encoding pre-processing module 603.

[0385] The check code encoding pre-processing module 603 is connected to the check code encoding module 604 and is configured to generate a code block whose data length is the total data length of the L types of second code blocks based on the number corresponding to each type of the L types of second code blocks, concatenate the remaining information bits to append the remaining information bits to the code block, and send the code block to the check code encoding module 604.

[0386] The check code encoding module 604 is separately connected to the padding or erasure module 605, the small code block segmentation module 606, and the polar code encoding module 607. The check code encoding module 604 calculates a first check code for the information bits transmitted by the spare code block segmentation module 602 and included in each first code block, concatenates the first check code to the end of the information bits included in the corresponding first code block, and transmits the first code block containing the undesired bits to the padding or erasure module 605 if any of the first code blocks obtained through the concatenation contains undesired bits. or if there are no unwanted bits in the first code block, sending the first code block to a polar code encoding module 607; calculating a second check code for all information bits included in the appended code block sent by the check code encoding pre-processing module 603, and concatenating the second check code to the end of all information bits; and sending the concatenated code block to a padding or deletion module 605 if the concatenated code block contains unwanted bits, or sending the concatenated code block to a small code block segmentation module 606 if the concatenated code block does not contain unwanted bits.

[0387] The padding or erasing module 605 is connected to the small code block segmentation module 606 and the polar code encoding module 607 separately, and pads a predetermined bit sequence of the data length of the unwanted bits included in the first code block before the information bits included in the first code block based on the data length of the unwanted bits transmitted by the check code encoding module 604, and transmits the padded first code block to the polar code encoding module 607, or subtracts the data length of the unwanted bits from the first code block and the data length of the first code block. and transmits the data length obtained by the check code encoding module 604 to the polar code encoding module 607; and is configured to pad a preset bit sequence of the data length before the information bits included in the code block based on the data length of the unwanted bits included in the concatenated code block transmitted by the check code encoding module 604, and transmit the padded code block to the small code block segmentation module 606, or transmits the code block and the data length obtained by subtracting the data length of the unwanted bits from the data length of the code block to the small code block segmentation module 606.

[0388] The small code block segmentation module 606 is connected to the polar code encoding module 607 and is configured to segment the code blocks obtained after the data length of unwanted bits is padded or subtracted based on the number sent by the segmentation parameter calculation module 601 corresponding to each type of L types of second code blocks, and send each obtained second code block to the polar code encoding module 607.

[0389] The polar code encoding module 607 is configured to perform polar code encoding on each first code block and each second code block, and send the encoded data to the receiving end.

[0390] It should be noted that the location of each module in the data processing device 600 is merely an example for explanation, and that the location of each module in this embodiment of the present application is not limited to the illustrated location. For example, in another example, the padding or erasure module 605 may alternatively be located between the check code encoding pre-processing module 603 and the check code encoding module 604. In this case, the check code encoding pre-processing module 603 may send the concatenated code block to the padding or erasure module 605. The padding or erasure module 605 pads the preset data of the unwanted bits before the remaining information bits, and then sends the code block to the check code encoding module 604. The check code encoding module 604 generates a second check code corresponding to the remaining information bits, and then concatenates the second check code after the remaining information bits. For the concept, description, detailed explanation, and other steps of the data processing device 600 related to the technical solution provided in the embodiment of the present application, please refer to the description of the content in the above-mentioned method or other embodiments. The details will not be described again here.

[0391] Furthermore, the division of modules in the data processing device 600 is merely a logical division of functions. In actual implementation, all or some of the modules may be integrated into one physical entity or physically separated. For example, in this embodiment of the present application, all functions of the segmentation parameter calculation module 601, the preliminary code block segmentation module 602, the check code encoding pre-processing module 603, the check code encoding module 604, the padding or deletion module 605, the small code block segmentation module 606, and the polar code encoding module 607 may alternatively be implemented by one or more processing modules. This is not particularly limited.

[0392] Furthermore, for the decoding operation of the receiving end device, please refer directly to the relevant description of the transmitting end device above. The only difference is that encoding is changed to decoding and a check code comparison process is added. This application will not describe the details again.

[0393] According to the above-mentioned method, Figure 7 is an example of a schematic diagram of the structure of a communication device according to an embodiment of the present application. As shown in Figure 7, the device may be a transmitting end device or a receiving end device, for example, a network device or a terminal device, or a chip or circuit, for example, a chip or circuit that may be disposed in a network device or a chip or circuit that may be disposed in a terminal device. As shown in Figure 7, the communication device 701 may include a processor 702, a memory 704, and a transceiver 703, and may further include a bus system. The processor 702, the memory 704, and the transceiver 703 may be connected by using the bus system.

[0394] It should be understood that the processor 702 may be a chip. For example, the processor 702 may be a field programmable gate array (FPGA), an application-specific integrated circuit (ASIC), a system on a chip (SoC), a central processing unit (CPU), a network processor (NP), a digital signal processor (DSP), a microcontroller unit (MCU), a programmable logic device (PLD), or another integrated chip.

[0395] During implementation, the steps of the aforementioned method can be performed by using a hardware integrated logic circuit in the processor 702 or by using instructions in the form of software. The steps of the above method disclosed with reference to the embodiments of the present application may be performed directly by using a hardware processor, or by using a combination of hardware and software modules in the processor 702. The software modules may be located in a storage medium well-established in the art, such as a random access memory, a flash memory, a read-only memory, a programmable read-only memory, an electrically erasable programmable memory, or a register. The storage medium is located in the memory 704, and the processor 702 reads information in the memory 704 and completes the steps of the above method in combination with the processor's hardware.

[0396] It should be noted that the processor 702 in the embodiments of the present application may be an integrated circuit chip and have signal processing capabilities. During implementation, the steps in the above-described method embodiments can be performed by using hardware integrated logic circuits in the processor or by using instructions in the form of software. The processor may be a general-purpose processor, a digital signal processor (DSP), an application-specific integrated circuit (ASIC), a field-programmable gate array (FPGA) or another programmable logic device, a discrete gate or transistor logic device, or a discrete hardware component. The processor may implement or execute the methods, steps, and logic block diagrams disclosed in the embodiments of the present application. The general-purpose processor may be a microprocessor, or the processor may be any conventional processor, etc. The steps of the above-described methods disclosed with reference to the embodiments of the present application may be performed directly by using a hardware decoding processor, or by using a combination of hardware and software modules in the decoding processor. The software modules may be located in a storage medium well-known in the art, such as a random access memory, a flash memory, a read-only memory, a programmable read-only memory, an electrically erasable programmable memory, or a register. The storage medium is located in the memory, and the processor reads the information in the memory to complete the steps of the above-described method in combination with the processor hardware.

[0397] It will be appreciated that memory 704 in embodiments of the present application may be volatile memory, nonvolatile memory, or may include both volatile and nonvolatile memory. Nonvolatile memory may be read-only memory (ROM), programmable read-only memory (PROM), erasable programmable read-only memory (EPROM), electrically erasable programmable read-only memory (EEPROM), or flash memory. Volatile memory may be random access memory (RAM) used as an external cache. By way of example and not limitation, many types of RAM may be used, such as static random access memory (static RAM, SRAM), dynamic random access memory (dynamic RAM, DRAM), synchronous dynamic random access memory (synchronous DRAM, SDRAM), double data rate synchronous dynamic random access memory (double data rate SDRAM, DDR SDRAM), enhanced synchronous dynamic random access memory (enhanced SDRAM, ESDRAM), synchlink dynamic random access memory (synchlink DRAM, SLDRAM), and direct rambus random access memory (direct rambus RAM, DR RAM). It should be noted that memory in the systems and methods described herein includes, but is not limited to, these and any other suitable types of memory.

[0398] When the communication device 701 is a transmitting end device, the communication device 701 may include a processor 702, a transceiver 703, and a memory 704. The memory 704 is configured to store instructions. The processor 702 is configured to execute the instructions stored in the memory 704 to implement solutions related to the transmitting end device in any one or more corresponding methods illustrated in FIG. 3 or FIG. 5A and FIG. 5B, or to execute a method performed by the transmitting end device in any embodiment illustrated in Embodiment 1 or Embodiment 2. For example, when the communication device 701 is a transmitting end device and Embodiment 1 is executed, the processor 702 may obtain information bits, obtain a code block of C based on a total data length of the information bits and a preset first code rate, encode the code block of C, and obtain a code word obtained after the code block of C is encoded. The transceiver 703 may transmit the code word obtained after the code block of C is encoded. The C code blocks correspond to one or more code lengths, the one or more code lengths belong to S predefined or preconfigured code lengths, the data lengths of the C code blocks correspond to a first code rate, each of the S code lengths satisfies a positive integer power of 2, S is a positive integer greater than or equal to 2, and C is a positive integer.

[0399] When the communication device 701 is a receiving end device, the communication device 701 may include a processor 702, a transceiver 703, and a memory 704. The memory 704 is configured to store instructions. The processor 702 is configured to execute the instructions stored in the memory 704 to implement solutions related to the receiving end device in any one or more corresponding methods illustrated in FIG. 3 or FIG. 5A and FIG. 5B, or to execute a method performed by the receiving end device in any embodiment illustrated in Embodiment 1 or Embodiment 2. For example, when the communication device 701 is a receiving end device and Embodiment 1 is executed, the transceiver 703 may receive a code word obtained after encoding the code block of C, and the processor 702 may decode the code word obtained after encoding the code block of C based on a total data length of the information bits and a preset first code rate to obtain information bits included in the code block of C. The C code blocks correspond to one or more code lengths, the one or more code lengths belong to S predefined or preconfigured code lengths, the data lengths of the C code blocks correspond to a first code rate, each of the S code lengths satisfies a positive integer power of 2, S is a positive integer greater than or equal to 2, and C is a positive integer.

[0400] For the concept, description, detailed description and other steps of the communication device 701 related to the technical solutions provided in the embodiments of the present application, please refer to the content descriptions in the above-mentioned methods or other embodiments, and the details will not be described again here.

[0401] Based on the above-mentioned embodiments and the same concept, Figure 8 is an example of a schematic diagram of the structure of a communication device according to an embodiment of the present application. As shown in Figure 8, the communication device 801 may be a transmitting end device, for example, a network device or a terminal device, or may be a chip or circuit, for example, a chip or circuit that can be disposed in a network device, or a chip or circuit that can be disposed in a terminal device. The communication device may perform steps performed by the transmitting end device in any one or more corresponding methods shown in Figure 3 or Figures 5A and 5B, or perform the method performed by the transmitting end device in any embodiment shown in Embodiment 1 or Embodiment 2.

[0402] As shown in FIG. 8, a communication device 801 may include an obtaining unit 802, a processing unit 803, and a transmitting unit 804. When the communication device 801 is a transmitting end device and embodiment 1 is implemented, the obtaining unit 802 may obtain information bits. The processing unit 803 may obtain code blocks of C based on a total data length of the information bits and a preset first code rate, encode the code blocks of C, and obtain code words obtained after the code blocks of C are encoded. The transmitting unit 804 may transmit the code words obtained after the code blocks of C are encoded to a receiving end device. The code blocks of C correspond to one or more code lengths, where the one or more code lengths belong to S predefined or preconfigured code lengths, the data length of the code blocks of C corresponds to a first code rate, and each of the S code lengths satisfies a positive integer power of 2, where S is a positive integer greater than or equal to 2, and C is a positive integer.

[0403] For example, the communication device 801 may further include a storage unit. The storage unit is configured to store computer instructions. The acquisition unit 802 and the processing unit 803 are separately communicatively connected to the storage unit. The acquisition unit 802 and the processing unit 803 separately execute the computer instructions stored in the storage unit, thereby configuring the communication device 801 to execute the method performed by the transmitting end device in any embodiment shown in embodiment 1 or embodiment 2. The acquisition unit 802 and the processing unit 803 may be a general-purpose central processing unit (CPU), a microprocessor, or an application-specific integrated circuit (ASIC). Optionally, the storage unit may be a storage unit on a chip, such as a register or cache, or the storage unit may be a storage unit within the communication device 801 but external to the chip, such as a read-only memory (ROM) or another type of static storage device capable of storing static information and instructions, or a random access memory (RAM).

[0404] For the concept, description, detailed description and other steps of the communication device 801 related to the technical solutions provided in the embodiments of the pr...

Claims

1. 1. A data processing method comprising: obtaining a total data length of information bits; and obtaining C code blocks based on the total data length of the information bits and a preset first code rate, where the C code blocks correspond to one or more code lengths, the one or more code lengths belong to S predefined or preconfigured code lengths, the data lengths of the C code blocks correspond to the first code rate, and each of the S code lengths satisfies a positive integer power of 2, where S is a positive integer greater than or equal to 2, and C is a positive integer. A method for providing the above.

2. For the first code rate, each of the S code lengths corresponds to a predefined or preconfigured data length, and the code lengths and the data lengths satisfy: A value of a data length corresponding to a non-maximum code length in the code length of S is a product of a second code rate and the non-maximum code length, and the second code rate is smaller than the first code rate. The method of claim 1.

3. The second code rate is the difference between the first code rate and a second preset order reduction threshold corresponding to the first code rate. The method of claim 2.

4. The code block of C is: C 10 first code blocks, where the code length of each first code block is the maximum code length in the S code lengths, and each first code block includes a first check code for information bits included in the first code block; and / or C 20 a second code block of S, where the code length of any second code block is a non-maximum code length among the code lengths of S, 20 The second code block of C 20 and a second check code for all information bits included in the second code block of where: C 10 is a positive integer, and C 20 is an integer greater than or equal to 0, or C 10 is an integer greater than or equal to 0, and C 20 is a positive integer 4. The method according to any one of claims 1 to 3.

5. For the first code rate, each of the S code lengths corresponds to a predefined or preconfigured data length; C 10 and C 20 is obtained based on the total data length of the information bits and the data length of the information bits included in each first code block, and the data length of the information bits included in each first code block is the difference between the data length corresponding to the maximum code length and the data length of the first check code. The method of claim 4.

6. a ratio of the total data length of the information bits to the data length of the information bits included in each first code block is an integer, and C 10 is the ratio, and C 20 is 0 The method of claim 5.

7. the ratio of the total data length of the information bits to the data length of the information bits included in each first code block is not an integer; C 10 is the integer part of the ratio; Said C 20 the second code blocks of S include L type second code blocks, the L type second code blocks correspond to a non-maximum code length of L in the code length of S, where L is a positive integer less than or equal to S−1; a data length of each type of the L type second code blocks is a data length corresponding to a corresponding non-maximum code length; the number of L type second code blocks is obtained based on the data length of the remaining data to be segmented and the data length of the L type second code blocks; the data length of the remaining data to be segmented is the sum of the data length of the remaining information bits and the data length of the second check code; and the data length of the remaining information bits is the sum of the data length of the information bits and the data length of the C 10 is the difference between the data lengths of the information bits contained in the first code block of The method of claim 5.

8. The number of second code blocks of the L type is determined based on an estimated number of code blocks corresponding to a minimum code length and a relative relationship between the data length of the second code blocks of the L type and the data length corresponding to the minimum code length, and the estimated number of code blocks corresponding to the minimum code length is the smallest integer greater than or equal to a ratio of the data length of the remaining data to be segmented to the data length corresponding to the minimum code length. The method of claim 7.

9. The number of second code blocks of the L types is determined according to a descending order of code lengths corresponding to each type of the L types, and for each type of the L types: the number of second code blocks is an integer in a ratio of an estimated remaining number of code blocks corresponding to the minimum code length to a first ratio, the first ratio being the ratio of a data length of the second code block to the data length corresponding to the minimum code length, the estimated remaining number of the code blocks corresponding to the minimum code length being the difference between the product of the estimated number of the code blocks corresponding to the minimum code length and a second ratio and the number of second code blocks corresponding to another non-maximum code length greater than the non-maximum code length corresponding to the second code block, and the second ratio being the ratio of a data length of the second code block corresponding to the other non-maximum code length to the data length corresponding to the minimum code length. The method of claim 8.

10. The number of second code blocks of the L type is determined based on a non-zero value of L in binary data of the estimated number of code blocks corresponding to the minimum code length, and the values ​​of the binary data from the least significant bit to the most significant bit have a one-to-one correspondence with the S-1 non-maximum code lengths in ascending order. The method of claim 8.

11. The number of second code blocks of the L type is obtained based on the estimated number of the code blocks corresponding to the minimum code length and a preset correspondence between code length, code rate, and data length, the correspondence being preset or pre-configured based on a relative relationship between a preset or pre-configured data length corresponding to a non-maximum code length of S-1 and the data length corresponding to the minimum code length. The method of claim 8.

12. the data length of the remaining to-be-segmented data is not greater than a preset or pre-configured data length threshold; or The estimated number of code blocks corresponding to the minimum code length is not greater than a preset or preconfigured number threshold, and the estimated number of code blocks corresponding to the minimum code length is the smallest integer greater than or equal to a ratio of the data length of the remaining data to be segmented to the preset or preconfigured data length corresponding to the minimum code length.

12. The method according to any one of claims 8 to 11.

13. the ratio of the total data length of the information bits to the data length of the information bits included in each first code block is not an integer; C 10 is the smallest integer greater than the ratio, and C 20 is 0 The method of claim 5.

14. The second code blocks of C20 include L type second code blocks, each corresponding to a non-maximum code length of L in the code length of S, where L is a positive integer less than or equal to S-1, and each type of the L type second code blocks has a data length corresponding to the corresponding non-maximum code length; the number of L type second code blocks is determined based on an estimated number of code blocks corresponding to a minimum code length; The data length of the remaining data to be segmented is greater than a preset or pre-configured data length threshold; or The estimated number of code blocks corresponding to the minimum code length is greater than a preset or preconfigured number threshold, and the estimated number of code blocks corresponding to the minimum code length is the smallest integer greater than or equal to a ratio of the data length of the remaining data to be segmented to the preset or preconfigured data length corresponding to the minimum code length. The method of claim 13.

15. After the step of obtaining C code blocks based on the total data length of the information bits and a preset first code rate, the method further comprises: encoding the C code blocks to obtain code words obtained after the C code blocks are encoded; and transmitting the codewords obtained after the C code blocks are encoded; Further equipped 15. The method according to any one of claims 4 to 14.

16. After the step of obtaining a code block of C based on the total data length of the information bits and a preset first code rate, and before the step of encoding the code block of C to obtain a code word obtained after the code block of C is encoded, the method includes: If the difference between the total data length and the effective data length of the code block of C is not zero, 10 and / or the first code block of C 20 adjusting the second code block of C, where the effective data length is the total data length of the information bits, C 10 and the data length of the second check code. Further equipped 16. The method of claim 15.

17. C 10 the adjusted first code block of 20 The adjusted second code block of satisfies one or more of the following: Said C 10 one or more first code blocks in the adjusted first code blocks include preset data; Said C 10 a data length of one or more first code blocks in the adjusted first code block is smaller than a preset or preconfigured data length corresponding to the maximum code length; Said C 20 one or more second code blocks in the adjusted second code blocks include preset data; or Said C 20 a data length of one or more second code blocks in the adjusted second code block is less than a preset or pre-configured data length corresponding to the non-maximum code length corresponding to the second code block; 17. The method of claim 16.

18. The preset data is located before the information bits included in the last adjusted first code block, or 20 18. The method of claim 17, wherein the information bits included in the adjusted second code block of

19. Before the step of obtaining C code blocks based on the total data length of the information bits and a preset first code rate, the method further comprises: receiving codewords obtained after the C code blocks are encoded; further comprising: The step of obtaining C code blocks based on the total data length of the information bits and a preset first code rate includes: and decoding the codeword obtained after encoding the C code block based on the total data length of the information bits and the first code rate to obtain the information bits included in the C code block. have 15. The method according to any one of claims 4 to 14.

20. The method comprises: Based on the total data length of the information bits and the first code rate, 10 obtaining the information bits and the first check code included in each of the first code blocks of C, and checking the information bits and the first check code included in each first code block; and / or 20 obtaining the information bits and the second check code included in the second code block of C; 20 checking the information bits and the second check code included in the second code block of Further equipped 20. The method of claim 19.

21. an acquiring unit configured to acquire a total data length of information bits; and a processing unit configured to obtain C code blocks based on the total data length of the information bits and a preset first code rate, where the C code blocks correspond to one or more code lengths, the one or more code lengths belong to S predefined or preconfigured code lengths, the data lengths of the C code blocks correspond to the first code rate, and each of the S code lengths satisfies a positive integer power of 2, where S is a positive integer greater than or equal to 2, and C is a positive integer. A communication device comprising:

22. For the first code rate, each of the S code lengths corresponds to a predefined or preconfigured data length, and the code lengths and the data lengths satisfy: A value of a data length corresponding to a non-maximum code length in the code length of S is a product of a second code rate and the non-maximum code length, and the second code rate is smaller than the first code rate.

22. The communication device of claim 21.

23. The second code rate is the difference between the first code rate and a second preset order reduction threshold corresponding to the first code rate.

23. The communication device of claim 22.

24. The code block of C is: C 10 first code blocks, where the code length of each first code block is the maximum code length in the S code lengths, and each first code block includes a first check code for information bits included in the first code block; and / or C 20 a second code block of S, where the code length of any second code block is a non-maximum code length among the code lengths of S, 20 The second code block of C 20 and a second check code for all information bits included in the second code block of where: C 10 is a positive integer, and C 20 is an integer greater than or equal to 0; or C 10 is an integer greater than or equal to 0, and C 20 is a positive integer 24. A communication device according to any one of claims 21 to 23.

25. For the first code rate, each of the S code lengths corresponds to a predefined or preconfigured data length; C 10 and C 20 is obtained based on the total data length of the information bits and the data length of the information bits included in each first code block, and the data length of the information bits included in each first code block is the difference between the data length corresponding to the maximum code length and the data length of the first check code.

25. The communication device of claim 24.

26. a ratio of the total data length of the information bits to the data length of the information bits included in each first code block is an integer, and C 10 is the ratio, and C 20 26. The communication device of claim 25, wherein is 0.

27. the ratio of the total data length of the information bits to the data length of the information bits included in each first code block is not an integer; C 10 is the integer part of the ratio; Said C 20 the second code blocks of S include L type second code blocks, the L type second code blocks correspond to a non-maximum code length of L in the code length of S, where L is a positive integer less than or equal to S−1; a data length of each type of the L type second code blocks is a data length corresponding to a corresponding non-maximum code length; the number of L type second code blocks is obtained based on the data length of the remaining data to be segmented and the data length of the L type second code blocks; the data length of the remaining data to be segmented is the sum of the data length of the remaining information bits and the data length of the second check code; and the data length of the remaining information bits is the sum of the data length of the information bits and the data length of the C 10 is the difference between the data lengths of the information bits contained in the first code block of 26. The communication device of claim 25.

28. The number of second code blocks of the L type is determined based on an estimated number of code blocks corresponding to a minimum code length and a relative relationship between the data length of the second code blocks of the L type and the data length corresponding to the minimum code length, and the estimated number of code blocks corresponding to the minimum code length is the smallest integer greater than or equal to a ratio of the data length of the remaining data to be segmented to the data length corresponding to the minimum code length.

28. The communication device of claim 27.

29. The number of second code blocks of the L types is determined according to a descending order of code lengths corresponding to each type of the L types, and for each type of the L types: the number of second code blocks is an integer in a ratio of an estimated remaining number of code blocks corresponding to the minimum code length to a first ratio, the first ratio being the ratio of a data length of the second code block to the data length corresponding to the minimum code length, the estimated remaining number of the code blocks corresponding to the minimum code length being the difference between the product of the estimated number of the code blocks corresponding to the minimum code length and a second ratio and the number of second code blocks corresponding to another non-maximum code length greater than the non-maximum code length corresponding to the second code block, and the second ratio being the ratio of a data length of the second code block corresponding to the other non-maximum code length to the data length corresponding to the minimum code length.

29. The communication device of claim 28.

30. The number of second code blocks of the L type is determined based on a non-zero value of L in binary data of the estimated number of code blocks corresponding to the minimum code length, and the values ​​of the binary data from the least significant bit to the most significant bit have a one-to-one correspondence with the S-1 non-maximum code lengths in ascending order.

29. The communication device of claim 28.

31. The number of second code blocks of the L type is obtained based on the estimated number of the code blocks corresponding to the minimum code length and a preset correspondence between code length, code rate, and data length, the correspondence being preset or pre-configured based on a relative relationship between a preset or pre-configured data length corresponding to a non-maximum code length of S-1 and the data length corresponding to the minimum code length.

29. The communication device of claim 28.

32. the data length of the remaining to-be-segmented data is not greater than a preset or pre-configured data length threshold; or The estimated number of code blocks corresponding to the minimum code length is not greater than a preset or preconfigured number threshold, and the estimated number of code blocks corresponding to the minimum code length is the smallest integer greater than or equal to a ratio of the data length of the remaining data to be segmented to the preset or preconfigured data length corresponding to the minimum code length.

32. A communication device according to any one of claims 28 to 31.

33. the ratio of the total data length of the information bits to the data length of the information bits included in each first code block is not an integer; C 10 is the smallest integer greater than the ratio, and C 20 is 0 26. The communication device of claim 25.

34. The second code blocks of C20 include L type second code blocks, each corresponding to a non-maximum code length of L in the code length of S, where L is a positive integer less than or equal to S-1, and each type of the L type second code blocks has a data length corresponding to the corresponding non-maximum code length; the number of L type second code blocks is determined based on an estimated number of code blocks corresponding to a minimum code length; The data length of the remaining data to be segmented is greater than a preset or pre-configured data length threshold; or The estimated number of code blocks corresponding to the minimum code length is greater than a preset or preconfigured number threshold, and the estimated number of code blocks corresponding to the minimum code length is the smallest integer greater than or equal to a ratio of the data length of the remaining data to be segmented to the preset or preconfigured data length corresponding to the minimum code length.

34. The communication device of claim 33.

35. The communication device further comprises a transmitting unit; After the processing unit obtains the C code blocks based on the total data length of the information bits and the preset first code rate, the processing unit is further configured to encode the code blocks of C to obtain code words obtained after the code blocks of C are encoded; The transmitting unit is configured to transmit the codewords obtained after the C code blocks are encoded.

35. A communication device according to any one of claims 24 to 34.

36. After obtaining the C code blocks based on the total data length of the information bits and the preset first code rate, the processing unit: If the difference between the total data length and the effective data length of the code block of C is not zero, 10 and / or the first code block of C 20 where the effective data length is the total data length of the information bits, C 10 and the data length of the second check code.

36. The communication device of claim 35, further configured to:

37. C 10 the adjusted first code block of 20 The adjusted second code block of satisfies one or more of the following: Said C 10 one or more first code blocks in the adjusted first code blocks include preset data; Said C 10 a data length of one or more first code blocks in the adjusted first code block is smaller than a preset or preconfigured data length corresponding to the maximum code length; Said C 20 one or more second code blocks in the adjusted second code blocks include preset data; or Said C 20 a data length of one or more second code blocks in the adjusted second code block is less than a preset or pre-configured data length corresponding to the non-maximum code length corresponding to the second code block; 37. The communication device of claim 36.

38. The preset data is located before the information bits included in the last adjusted first code block, or 20 38. The communication device of claim 37, wherein the information bits included in the adjusted second code block of

39. the communication device further comprising a receiving unit; The receiving unit is configured to receive a code word obtained after the C code block is encoded, before the processing unit obtains the C code block based on the total data length of the information bits and the preset first code rate; The processing unit is particularly configured to decode the code word obtained after the C code block is encoded based on the total data length of the information bits and the first code rate to obtain the information bits included in the C code block.

35. A communication device according to any one of claims 24 to 34.

40. The processing unit: Based on the total data length of the information bits and the first code rate, 10 and / or obtaining the information bits and the first check codes included in each of the first code blocks of C and checking the information bits and the first check codes included in each of the first code blocks; 20 and obtaining the information bits and the second check code included in the second code block of C 20 and checking the information bits and the second check code included in the second code block.

40. The communication device of claim 39, further configured to:

41. 21. A communication device comprising at least one processor and an interface circuit, wherein the interface circuit is configured to provide data or code instructions to the at least one processor, and wherein the at least one processor is configured to perform a method according to any one of claims 1 to 18 or to perform a method according to any one of claims 1 to 14, 19 and 20 by using logic circuits or by executing the code instructions.

42. 21. A communication system comprising a transmitting end device and a receiving end device, wherein the transmitting end device is configured to perform the method of any one of claims 1 to 18 and the receiving end device is configured to perform the method of any one of claims 1 to 14, 19 and 20.

43. A computer program product causing a processor to carry out the method of any one of claims 1 to 18 or the method of any one of claims 1 to 14, 19 and 20.

Citation Information

Patent Citations

  • Polar code segment coding method and communication equipment

    CN112583522A

  • Method and apparatus for encoding data using polar codes - Patents.com

    JP2019533345A

  • Data processing method, communication device, communication system, and computer program

    JP7729925B2

  • Priority-Based Channel Coding for Control Information

    US20190190655A1

  • Method for performing rate-matching by terminal and terminal for performing same method

    WO2018074873A1