BACKGROUND

Technical Field

Embodiments of the present disclosure relate to the communications field, and more specifically, to a data processing method, a terminal device, and a network device.

Related Art

In a Long Term Evolution (Long Term Evolution, LTE) system, data is generally encoded based on a turbo code. In a turbo code-based encoding process, limited by a structure of an encoder, a maximum quantity of bits of each code block is 6144. When a quantity of bits of to-be-encoded data is greater than 6144, code block segmentation needs to be performed on the to-be-encoded data, to obtain ┌L/6144┐ code blocks, where L is the quantity of bits of the to-be-encoded data, and the to-be-encoded data generally includes 24-bit cyclic redundancy check (Cyclic Redundancy Check, CRC) information.

Future communications systems have higher requirements on data demodulation and feedback. Using a 5G system (or referred to as a 5G NR (new radio) system) as an example, the system supports ultra-reliable and low latency communications (Ultra-Reliable and Low Latency Communications, URLLC), and the URLLC generally requires a receive end to implement rapid data demodulation and feedback. In an extreme case, the URLLC requires that data transmitted within a time unit (a time unit may be, for example, a subframe) needs to be fed back within the time unit, that is, the receive end needs to send ACK/NACK information of the data that is transmitted in the same time unit in the time unit.

To support the higher requirements of the future communications systems on data demodulation and feedback, terminal device manufactures improve encoding and decoding performance inside the terminal device by using various measures. For example, the terminal device manufactures set parallel encoders (or parallel decoders) inside the terminal device, to perform parallel processing on to-be-encoded (or to-be-decoded) data, thereby reducing an encoding (decoding) delay.

A single code block segmentation manner is used in the existing LTE system, and by means of the code block segmentation manner, the encoding and decoding performance of the terminal device cannot be fully played, reducing flexibility of encoding and decoding processes.

SUMMARY

Embodiments of the present disclosure provide a data processing method, a terminal device, and a network device, to improve flexibility of encoding and decoding processes.

According to a first aspect, a data processing method is provided. The method includes: receiving, by a terminal device, first indication information used for performing code block segmentation from a network device; performing, by the terminal device, code block segmentation on data based on the first indication information, to obtain at least one code block, where the data is received by the terminal device from the network device, or the data is prepared by the terminal device so as to send to the network device; and encoding or decoding, by the terminal device, the at least one code block.

With reference to the first aspect, in some implementations of the first aspect, the first indication information is used to instruct the terminal device to divide the data into a target quantity of code blocks in at least one preset quantity of code blocks.

With reference to the first aspect, in some implementations of the first aspect, the performing, by the terminal device, code block segmentation on data based on the first indication information includes: determining, by the terminal device, a value of a field used to carry the first indication information; selecting, by the terminal device, a quantity of code blocks that corresponds to the value of the field from the preset quantities of code blocks as the target quantity of code blocks; and performing, by the terminal device, code block segmentation on the data based on the target quantity of code blocks.

With reference to the first aspect, in some implementations of the first aspect, the first indication information is used to instruct the terminal device to perform code block segmentation on the data by using a target code block segmentation manner in at least one preset code block segmentation manner.

With reference to the first aspect, in some implementations of the first aspect, the performing, by the terminal device, code block segmentation on data based on the first indication information includes: determining, by the terminal device, the value of the field used to carry the first indication information; selecting, by the terminal device, a code block segmentation manner corresponding to the value of the field from the preset code block segmentation manners as the target code block segmentation manner; and performing, by the terminal device, code block segmentation on the data based on the target code block segmentation manner.

With reference to the first aspect, in some implementations of the first aspect, the field used to carry the first indication information includes a first value set and a second value set, and when the value of the field belongs to the first value set, the first indication information is used to instruct the terminal device to divide the data into the target quantity of code blocks in the preset quantities of code blocks, or when the value of the field belongs to the second value set, the first indication information is used to instruct the terminal device to perform code block segmentation on the data by using the target code block segmentation manner in the preset code block segmentation manners.

With reference to the first aspect, in some implementations of the first aspect, the first indication information is used to indicate a value of a parameter of the target code block segmentation manner used by the terminal device when the terminal device performs code block segmentation on the data.

With reference to the first aspect, in some implementations of the first aspect, the performing, by the terminal device, code block segmentation on data based on the first indication information includes: determining, by the terminal device, the value of the field used to carry the first indication information; selecting, by the terminal device, a value corresponding to the value of the field from a plurality of values of the parameter of the target code block segmentation manner as the value of the parameter of the target code block segmentation manner; and performing, by the terminal device, code block segmentation on the data by using the target code block segmentation manner based on the value of the parameter of the target code block segmentation manner.

With reference to the first aspect, in some implementations of the first aspect, the first indication information instructs the terminal device to perform code block segmentation on the data by using the target code block segmentation manner in the preset code block segmentation manners, and the first indication information indicates the value of the parameter of the target code block segmentation manner.

With reference to the first aspect, in some implementations of the first aspect, the performing, by the terminal device, code block segmentation on data based on the first indication information includes: determining, by the terminal device, the value of the field used to carry the first indication information; selecting, by the terminal device, a code block segmentation manner corresponding to the value of the field from the preset code block segmentation manners as the target code block segmentation manner; selecting, by the terminal device, a value corresponding to the value of the field from the plurality of values of the parameter of the target code block segmentation manner as the value of the parameter of the target code block segmentation manner; and performing, by the terminal device, code block segmentation on the data by using the target code block segmentation manner based on the value of the parameter of the target code block segmentation manner.

With reference to the first aspect, in some implementations of the first aspect, the code block segmentation manner used by the terminal device to perform code block segmentation on the data includes at least one of the following code block segmentation manners: NCB=┌L/Lmax┐, where NCBindicates a quantity of code blocks into which the data needs to be segmented, L indicates a length of the data, Lmaxindicates a maximum code length of the code blocks segmented from the data, and NCB, L, and Lmaxare all integers greater than or equal to 1;

NC⁢B={1,L<Lmin⌊L/Lmin⌋,L≥Lmin,
where NCBindicates the quantity of code blocks into which the data needs to be segmented, L indicates the length of the data, Lminindicates a minimum code length of the code blocks segmented from the data, and NCB, L, and Lminare all integers greater than or equal to 1;

NCB={1,L≤Lminmax⁡(⌈L/Lmax⌉,min⁡(⌊L/Lmin⌋,K)),Lmin<L≤K·Lmax⌈L/Lmax⌉,L>K·Lmax,
where NCBindicates the quantity of code blocks into which the data needs to be segmented, L indicates the length of the data, Lmaxindicates the maximum code length of the code blocks segmented from the data, Lminindicates the minimum code length of the code blocks segmented from the data, K is an integer greater than or equal to 1, K is less than or equal to a quantity of parallel encoders or parallel decoders supported by the terminal device, NCB, L, Lmax, and Lminare all integers greater than or equal to 1, and Lmaxis greater than Lmin; and

NCB={⌈L/Lmax′⌉,0<L≤K·Lmax′⌈L/Lmax⌉,L>K·Lmax′,
where NCBindicates the quantity of code blocks into which the data needs to be segmented, L indicates the length of the data, L′maxindicates a first value of the maximum code length of the code blocks segmented from the data, Lmaxindicates a second value of the maximum code length of the code blocks segmented from the data, NCB, L, L′max, and Lmaxare all integers greater than or equal to 1, L′maxis less than Lmax, K is an integer greater than or equal to 1, and K is less than or equal to the quantity of parallel encoders or parallel decoders supported by the terminal device.

With reference to the first aspect, in some implementations of the first aspect, the method further includes: sending, by the terminal device, capability information to the network device, where the capability information is used to indicate the quantity of parallel encoders and/or parallel decoders supported by the terminal device.

With reference to the first aspect, in some implementations of the first aspect, the first indication information is determined by the network device based on the quantity of parallel encoders and/or parallel decoders.

With reference to the first aspect, in some implementations of the first aspect, the receiving, by a terminal device, first indication information used for performing code block segmentation from a network device includes: receiving, by the terminal device, downlink control signaling sent by the network device, where the downlink control signaling includes the first indication information.

With reference to the first aspect, in some implementations of the first aspect, the receiving, by a terminal device, first indication information used for performing code block segmentation from a network device includes: receiving, by the terminal device, higher layer signaling sent by the network device, where the higher layer signaling includes the first indication information.

With reference to the first aspect, in some implementations of the first aspect, the method further includes: receiving, by the terminal device, second indication information sent by the network device, where the second indication information is used to indicate a coding scheme of the code blocks segmented from the data; and the encoding or decoding, by the terminal device, the at least one code block includes: encoding or decoding, by the terminal device, the at least one code block based on the coding scheme indicated in the second indication information.

With reference to the first aspect, in some implementations of the first aspect, the coding scheme of the code blocks segmented from the data includes at least one of the following coding schemes: an LDPC code; a polar code; a turbo code; a TBCC; and a RM code.

According to a second aspect, a data processing method is provided. The method includes: generating, by a network device, first indication information used for performing code block segmentation; and sending, by the network device, the first indication information to a terminal device, so that the terminal device performs code block segmentation on data based on the first indication information, where the data is received by the terminal device from the network device, or the data is prepared by the terminal device so as to send to the network device.

With reference to the second aspect, in some implementations of the second aspect, the first indication information is used to instruct the terminal device to divide the data into a target quantity of code blocks in at least one preset quantity of code blocks.

With reference to the second aspect, in some implementations of the second aspect, the generating, by a network device, first indication information used for performing code block segmentation includes: selecting, by the network device, the target quantity of code blocks from the preset quantities of code blocks; selecting, by the network device, a value corresponding to the target quantity of code blocks from values of a field used to carry the first indication information as a value of the field; and generating, by the network device, the first indication information based on the value of the field.

With reference to the second aspect, in some implementations of the second aspect, the first indication information is used to instruct the terminal device to perform code block segmentation on the data by using a target code block segmentation manner in at least one preset code block segmentation manner.

With reference to the second aspect, in some implementations of the second aspect, the generating, by a network device, first indication information used for performing code block segmentation includes: selecting, by the network device, the target code block segmentation manner from the preset code block segmentation manners; selecting, by the network device, a value corresponding to the target code block segmentation manner from the values of the field used to carry the first indication information as the value of the field; and generating, by the network device, the first indication information based on the value of the field.

With reference to the second aspect, in some implementations of the second aspect, the field used to carry the first indication information includes a first value set and a second value set, and when the value of the field belongs to the first value set, the first indication information is used to instruct the terminal device to divide the data into the target quantity of code blocks in at least one preset quantity of code blocks, or when the value of the field belongs to the second value set, the first indication information is used to instruct the terminal device to perform code block segmentation on the data by using the target code block segmentation manner in at least one preset code block segmentation manner.

With reference to the second aspect, in some implementations of the second aspect, the first indication information is used to indicate a value of a parameter of the target code block segmentation manner used by the terminal device when the terminal device performs code block segmentation on the data.

With reference to the second aspect, in some implementations of the second aspect, the generating, by a network device, first indication information used for performing code block segmentation includes: selecting, by the network device, the value of the parameter of the target code block segmentation manner from values of the parameter of the target code block segmentation manner; selecting, by the network device, a value corresponding to the value of the parameter of the target code block segmentation manner from the values of the field used to carry the first indication information as the value of the field; and generating, by the network device, the first indication information based on the value of the field.

With reference to the second aspect, in some implementations of the second aspect, the first indication information instructs the terminal device to perform code block segmentation on the data by using the target code block segmentation manner in the preset code block segmentation manners, and the first indication information indicates the value of the parameter of the target code block segmentation manner.

With reference to the second aspect, in some implementations of the second aspect, the generating, by a network device, first indication information used for performing code block segmentation includes: selecting, by the network device, the target code block segmentation manner from the preset code block segmentation manners; selecting, by the network device, the value of the parameter of the target code block segmentation manner from the values of the parameter of the target code block segmentation manner; selecting, by the network device, a value corresponding to the target code block segmentation manner and the value of the parameter of the target code block segmentation manner from the values of the field used to carry the first indication information as the value of the field; and generating, by the network device, the first indication information based on the value of the field.

With reference to the second aspect, in some implementations of the second aspect, the code block segmentation manner used by the terminal device to perform code block segmentation on the data includes at least one of the following code block segmentation manners: NCB=┌L/Lmax┐, where NCBindicates a quantity of code blocks into which the data needs to be segmented, L indicates a length of the data, Lmaxindicates a maximum code length of the code blocks segmented from the data, and NCB, L, and Lmaxare all integers greater than or equal to 1;

NC⁢B={1,L<Lmin⌊L⁢/⁢Lmin⌋,L≥Lmin,
where NCBindicates the quantity of code blocks into which the data needs to be segmented, L indicates the length of the data, Lminindicates a minimum code length of the code blocks segmented from the data, and NCB, L, and Lminare all integers greater than or equal to 1;

NC⁢B={1,L≤Lminmax⁢(⌈L⁢/⁢Lmax⌉,⁢min⁡(⌊L⁢/⁢Lmin⌋,K))⁢,Lmin<L≤K·Lmax⌈L⁢/⁢Lmax⌉,L>K·Lmax,
where NCBindicates CB the quantity of code blocks into which the data needs to be segmented, L indicates the length of the data, Lmaxindicates the maximum code length of the code blocks segmented from the data, Lminindicates the minimum code length of the code blocks segmented from the data, K is an integer greater than or equal to 1, K is less than or equal to a quantity of parallel encoders or parallel decoders supported by the terminal device, NCB, L, Lmax, and Lminare all integers greater than or equal to 1, and Lmaxis greater than Lmin; and

NCB={⌈L⁢/⁢Lmax′⌉,⁢0<L≤K·Lmax′⌈L⁢/⁢Lmax⌉,⁢L>K·Lmax′,
where NCBindicates the quantity of code blocks into which the data needs to be segmented, L indicates the length of the data, L′maxindicates a first value of the maximum code length of the code blocks segmented from the data, Lmaxindicates a second value of the maximum code length of the code blocks segmented from the data, NCB, L, L′max, and Lmaxare all integers greater than or equal L to 1, L′maxis less than Lmax, K is an integer greater than or equal to 1, and K is less than or equal to the quantity of parallel encoders or parallel decoders supported by the terminal device.

With reference to the second aspect, in some implementations of the second aspect, the method further includes: receiving, by the network device, capability information sent by the terminal device, where the capability information is used to indicate the quantity of parallel encoders and/or parallel decoders supported by the terminal device.

With reference to the second aspect, in some implementations of the second aspect, the first indication information is determined by the network device based on the quantity of parallel encoders and/or parallel decoders.

With reference to the second aspect, in some implementations of the second aspect, the sending, by the network device, the first indication information to a terminal device includes: sending, by the network device, downlink control signaling to the terminal device, where the downlink control signaling includes the first indication information.

With reference to the second aspect, in some implementations of the second aspect, the sending, by the network device, the first indication information to a terminal device includes: sending, by the network device, higher layer signaling to the terminal device, where the higher layer signaling includes the first indication information.

With reference to the second aspect, in some implementations of the second aspect, the method further includes: sending, by the network device, second indication information to the terminal device, where the second indication information is used to indicate a coding scheme of the code blocks segmented from the data.

With reference to the second aspect, in some implementations of the second aspect, the coding scheme of the code blocks segmented from the data includes at least one of the following coding schemes: an LDPC code; a polar code; a turbo code; a TBCC; and a RM code.

According to a third aspect, a terminal device is provided. The terminal device includes modules configured to perform the method according to the first aspect.

According to a fourth aspect, a network device is provided. The network device includes modules configured to perform the method according to the second aspect.

According to a fifth aspect, a terminal device is provided. The terminal device includes a transceiver and an encoder, and the encoder performs the method according to the first aspect based on the transceiver.

According to a sixth aspect, a network device is provided. The network device includes a processor and a transceiver, and the processor performs the method according to the second aspect based on the transceiver.

According to a seventh aspect, a computer-readable medium is provided. The computer-readable medium stores program code executed by a terminal device, and the program code includes an instruction used to perform the method according to the first aspect.

According to an eighth aspect, a computer-readable medium is provided. The computer-readable medium stores program code executed by a network device, and the program code includes an instruction used to perform the method according to the second aspect.

In the embodiments of the present disclosure, instead of performing code block segmentation on the data by using a fixed code block segmentation manner in the prior art, the network device sends the first indication information used for performing code block segmentation to the terminal device, so that the terminal device may perform code block segmentation on the data as indicated in the first indication information, thereby improving flexibility of encoding and decoding processes.

