Patent Description:
In a communications system, control information or data information is usually transmitted between communications devices (for example, base stations or terminals) as an information sequence. Because a wireless propagation environment is complex and variable, a transmitted information sequence is susceptible to interference, and errors may occur. To reliably send the information sequence, a device at a transmitting end performs processing such as CRC, segmentation and check, channel coding, rate matching, and interleaving on the information sequence, and maps interleaved coded bits into modulation symbols and sends the modulation symbols to a device at a receiving end. After receiving the modulation symbols, the communications device at the receiving end correspondingly restores the modulation symbols to the information sequence through de-interleaving, de-rate matching, decoding, concatenation, and CRC. These processes can reduce a transmission error, and improve data transmission reliability.

New channel coding schemes have been considered to be introduced into the 5th generation mobile communications system to improve performance, such as low-density parity-check (low density parity check, LDPC) code, polar (Polar) code, etc. The LDPC code is a type of linear block code with a sparse check matrix, and is characterized by a flexible structure and low decoding complexity. Because decoding the LDPC code uses partially parallel iterative decoding algorithms, the LDPC code has a higher throughput than a conventional turbo code. An LDPC code frequently used in the communications system has a special structural feature, and a base matrix of the LDPC code has m*n elements. If z is used as a lifting factor for lifting, a parity check matrix H with (m*z)*(n*z) elements may be obtained. In other words, the parity check matrix H includes m*n block matrices. Each block matrix is a z*z all-zero matrix or each block matrix is obtained by performing cyclic shift on an identity matrix. The lifting factor z is usually determined based on a code block size supported by the system and an information data size.

As different channel coding schemes are used, the communications system has different coding capabilities and decoding capabilities. How to process an information sequence to meet a channel coding requirement, so as to better improve system coding performance and decoding performance becomes a problem to be resolved. R1-<NUM> discloses code block segmentation that is usually determined by the maximum code block size and transport block size. Further, it discloses that a CRC is attached to each code block.

In view of this, embodiments of the present invention provide information processing methods and devices in a communications system, so that a code block that is output by performing process on an input sequence can meet a channel coding requirement. Further, embodiments are defined by the dependent claims.

According to a first aspect, an information processing method in a communications system is provided, including:.

Because the maximum code block length in the code block length set is considered for the code blocks obtained by performing process on the input sequence, a code block length requirement for channel coding input can be met, and a quantity of code blocks can also be reduced.

In a possible implementation of the foregoing aspect, if B > Z, and each of the code blocks includes a CRC bit segment whose length is L, then <MAT>, where <MAT> represents rounding a number to upper integer; and at least one of the C code blocks includes a segment whose length is K<NUM>, where the segment includes an input bit segment and a CRC bit segment, and <MAT>.

Optionally, the code block including the segment whose length is K<NUM> further includes a filler bit segment whose length is F<NUM>, F<NUM> = I<NUM> - K<NUM>, and I<NUM> is a minimum code block length greater than or equal to K<NUM> in the code block length set.

In another possible implementation based on the foregoing implementation, at least one of the C code blocks includes a segment whose length is K<NUM>, <MAT>, a quantity of code blocks including the segment whose length is K<NUM> is C<NUM> = C·K<NUM> - (B+C·L), , and a quantity of code blocks including the segment whose length is K<NUM> is C<NUM> = C-C<NUM>.

Optionally, the code block including the segment whose length is K<NUM> further includes a filler bit segment whose length is F<NUM>, F<NUM> = I<NUM> - K<NUM>, and I<NUM> is a minimum code block length in code block lengths greater than or equal to K<NUM> in the code block length set.

In the foregoing manner, in the code blocks obtained by performing process on the input sequence, code block lengths of any two code blocks are equal or are two adjacent code block lengths in the code block length set, and quantities of valid information bits in the any two code blocks differ by up to one bit, so that code rates of the code blocks are balanced. These code blocks are used as input for coding or decoding, so that system performance fluctuation can be avoided.

In another possible implementation of the foregoing aspect, if B ≤ Z, C=<NUM>. A length of a CRC bit segment in the code block is L=<NUM>; in other words, the code block includes no CRC bit segment. If a code block length I<NUM> is a minimum code block length in code block lengths greater than or equal to B in the code block length set, a length of a filler bit segment in the code block is I<NUM> - B.

In another possible implementation of the foregoing aspect, if a self-check capability is provided in a channel coding scheme, no CRC bit segment may be added; in other words, L=<NUM>. In this case, <MAT>, the C code blocks include at least one code block in which an input bit segment has a length of K<NUM>, and <MAT>.

Optionally, the code block in which the input bit segment has the length of K<NUM> further includes a filler bit segment whose length is F<NUM>, F<NUM> = I<NUM> - K<NUM>, and I<NUM> is a minimum code block length in code block lengths greater than or equal to K<NUM> in the code block length set.

In another possible implementation based on the foregoing implementation, the C code blocks further include at least one code block in which an input bit segment has a length of K<NUM>, <MAT>, and in the C code blocks, a quantity of code blocks in which the input bit segment has the length of K<NUM> is C<NUM> = C·K<NUM> - B, and a quantity of code blocks in which the input bit segment has the length of K<NUM> is C<NUM> = C-C<NUM>.

In the foregoing implementation, the code blocks obtained by performing process on the input sequence do not include the CRC bit segment, so that system CRC overheads can be reduced.

In another possible implementation based on the foregoing aspect, if L><NUM>, each of the code blocks includes a CRC bit segment. The CRC bit segment is a parity bit segment generated for an input bit segment in each of the code blocks, or the CRC bit segment is a parity bit segment generated for an input bit segment and a filler bit segment in each of the code blocks.

According to a second aspect, an information processing method in a communications system is provided, including:.

In a possible implementation of the first aspect or the second aspect, the C code blocks include G code blocks including a CRC bit segment, where G is an integer greater than <NUM> and less than or equal to C.

In another possible implementation of the first aspect or the second aspect, the C code blocks belong to G code block groups, each of the code block groups has one code block including a CRC bit segment, and each CRC bit segment is a parity bit segment generated for an input bit segment in at least one code block in one code block group, or each CRC bit segment is a parity bit segment generated for an input bit segment and a filler bit segment in at least one code block in one code block group.

System CRC overheads can be reduced because CRC bit segments are added, by code block group, to a plurality of code blocks obtained by performing process on the input sequence. In addition, when an ACK feedback is performed by code block group, performance is better, and system efficiency is improved.

In another possible implementation based on the foregoing implementation, <MAT> or G = <MAT>, where Mis an integer greater than <NUM>, <MAT>, Gmax > <NUM>, Gmax is a maximum supported quantity of code block groups, and <MAT>.

In another possible implementation based on the foregoing implementation, the G code block groups include at least one code block group including C<NUM> code blocks, and <MAT>.

Optionally, the G code block groups include at least one code block group including C<NUM> code blocks, <MAT>, a quantity of code block groups including C<NUM> code blocks is G<NUM> = G· C<NUM>-C, and a quantity of code block groups including C<NUM> code blocks is G<NUM> = G- G<NUM>.

In the foregoing implementation, any two code block groups differ by up to one code block, so that the code block groups tend to have consistent block error rates (block error rate, BLER) and consistent missed detection performance.

According to a third aspect, an information processing method in a communications system is provided, including:.

According to a fourth aspect, a communications device is provided, including:.

The communications device may be configured to perform a method performed by a device at a transmitting end described in the foregoing aspects. For details, refer to the description in the foregoing aspects.

In a possible design, the communications device provided in this application may include a corresponding module or unit configured to perform a process of the device at the transmitting end in the foregoing method design. The module or unit may be software, hardware, or software and hardware.

According to a fifth aspect, a communications device is provided, including:.

The communications device may be configured to perform a method performed by a device at a receiving end described in the foregoing aspects. For details, refer to the description in the foregoing aspects.

In a possible design, the communications device provided in this application may include a corresponding module or unit configured to perform a behavior of the device at the receiving end in the foregoing method design. The module or unit may be software, hardware, or software and hardware.

According to a sixth aspect, an embodiment of the present invention provides a communications system, and the system includes the communications device described in the foregoing aspects.

In addition, an embodiment of the present invention provides a computer storage medium, and the computer storage medium includes a program designed to perform the foregoing aspects.

According to the method, the device, and the communications system in the embodiments of the present invention, code blocks that are obtained by performing process on the input sequence can meet code block length set requirements in different channel coding schemes, so that differences between code rates of the code blocks are balanced. These code blocks are used for coding or decoding, so that processing performance of the communications system can be improved.

The following clearly and completely describes the technical solutions in the embodiments of the present invention with reference to the accompanying drawings in the embodiments of the present invention. It may be understood that the described embodiments are merely some rather than all of the embodiments of the present invention. All other embodiments obtained by a person of ordinary skill in the art based on the embodiments of the present invention without creative efforts shall fall within the protection scope of the present invention.

As shown in <FIG>, a communications system <NUM> includes a communications device <NUM> and a communications device <NUM>. Control information or data information is received and sent between the communications device <NUM> and the communications device <NUM> as an information sequence. The communications device <NUM> serves as a device at a transmitting end, and sends the information sequence based on a transport block (transmission block, TB), and transport block CRC bits are attached to each transport block. A transport block to which transport block CRC bits are attached is used as an input sequence. If a length of the input sequence is less than a maximum code block length Z, the input sequence with filler bits inserted based on a code block length in a code block length set are input into an encoder, to perform channel coding. If a length of the input sequence exceeds a maximum code block length Z, the input sequence is divided into a plurality of input bit segments, each code block (code block, CB) that is input into the encoder includes one of the input bit segments. Further, CRC bit segments may be attached to some or all code blocks to improve error detection performance of the code blocks, or filler bits may be inserted to some or all code blocks so that a block length of each code block equals an allowable code block length defined in a block length set. The communications device <NUM> performs channel coding such as LDPC code-based coding on each code block to obtain a corresponding coded block. Each coded block includes a plurality of information bits existing before coding and a plurality of parity bits generated through coding, which are collectively referred to as coded bits.

The coded block is stored in a circular buffer of the communications device <NUM> after sub-block interleaving, and the communications device <NUM> selects a segment of coded bits from the circular buffer, also referred as a coded bit segment. The coded bit segment is interleaved and mapped into modulation symbols for sending. During retransmission, the communications device <NUM> selects another coded bit segment from the circular buffer for sending. If all data in the circular buffer has been transmitted, coded bits are selected again from a front end of the circular buffer.

The communications device <NUM> is used as a device at a receiving end, demodulates the received modulation symbols, and stores soft values of the received coded bit segment in a corresponding position in a soft buffer (soft buffer) after de-interleaving. If retransmission occurs, the communications device <NUM> combines soft values of retransmitted coded bit segments and stores the combined soft values in the soft buffer. The combination herein means that if coded bits received in different times are in a same position, soft values of the coded bits received in the different times are combined. The communications device <NUM> decodes all soft values in the soft buffer to obtain a code block in the information sequence. Because the communications device <NUM> may obtain a transport block size, the communications device <NUM> may determine a quantity of code blocks into which a transport block is segmented and a length of each code block. The communications device <NUM> may obtain an output bit segment in each code block. If the code block includes a CRC bit segment, the communications device <NUM> may further check the output bit segment in the code block or the output bit segment and a filler bit segment in the code block by using the CRC bit segment. The communications device <NUM> concatenates output bit segments into an output sequence, namely, a transport block, and further checks and concatenates transport blocks to finally obtain an information sequence. It can be learned that the communications device <NUM> performs an inverse process of an information processing method of the communications device <NUM>.

It should be noted that, in the embodiments of the present invention, for example, the communications device <NUM> may be a network device in a communications system, such as a base station, and correspondingly, the communications device <NUM> may be a terminal. Alternatively, the communications device <NUM> may be a terminal in a communications system, and correspondingly, the communications device <NUM> may be a network device in the communications system, such as a base station.

For ease of understanding, some nouns involved in this application are described below.

In this application, nouns "network" and "system" are often interchangeably used, but meanings of the nouns can be understood by a person skilled in the art. A terminal is a device having a communication function, and may include a handheld device, an in-vehicle device, a wearable device, a computing device, another processing device connected to a wireless modem, or the like that has a wireless communication function. The terminal may have different names in different networks, for example, user equipment, a mobile station, a subscriber unit, a station, a cellular phone, a personal digital assistant, a wireless modem, a wireless communications device, a handheld device, a laptop computer, a cordless phone, and a wireless local loop station. For ease of description, these devices are simply referred to as the terminal in this application. A base station (base station, BS) may also be referred to as a base station device, and is a device deployed in a radio access network to provide a wireless communication function. The base station may have different names in different wireless access systems. For example, a base station in a Universal Mobile Telecommunications System (Universal Mobile Telecommunications System, UMTS) network is referred to as a NodeB (NodeB), a base station in an LTE network is referred to as an evolved NodeB (evolved NodeB, eNB or eNodeB), or a base station in a 5th generation network may have another name. This is not limited in the present invention.

<FIG> is a flowchart of an information processing method in a communications system according to an embodiment of the present invention. The method may be applied to a device at a transmitting end, and includes the following steps.

In the embodiments of the present invention, the input sequence may be a transport block or a transport block to which transport block CRC bits are attached. The transport block herein is used to transmit control information or data information. The transport block or the transport block to which the transport block CRC bits are attached that is obtained by the device at the transmitting end may be used as the input sequence for code block segmentation.

A length of the input sequence is B; in other words, the input sequence includes B bits. The B bits may be usually represented as b<NUM>, b<NUM>,. , bB-<NUM>, and B is an integer greater than <NUM>.

Obtain C code blocks based on the input sequence obtained in step <NUM> and a maximum code block length Z in a code block length set, wherein each of the code blocks includes an input bit segment in the input sequence, and at least one of the code blocks includes a code block cyclic redundancy check CRC bit segment whose length is L, or includes a filler bit segment.

Both Z and C are integers greater than <NUM>, and L is an integer greater than or equal to <NUM> and less than Z.

The code block length set is usually defined in the system, and includes one or more allowable code block lengths, and the maximum code block length is Z. Code block length sets may be different in different channel coding schemes. For example, LDPC coding is used in channel coding. If a size of an LDPC base matrix is <NUM>*<NUM>, a quantity of columns corresponding to information bits is <NUM>, and a value of a lifting factor z is taken from {<NUM>, <NUM>, <NUM>, <NUM>, <NUM>, <NUM>, <NUM>, <NUM>, <NUM>, <NUM>, <NUM>, <NUM>, <NUM>, <NUM>, <NUM>, <NUM>, <NUM>, <NUM>, <NUM>, <NUM>, <NUM>, <NUM>, <NUM>}, then a code block length in the code block length set is <NUM>*z, namely, a product of the lifting factor z and a quantity of columns corresponding to the information bits, and the maximum code block length Z is <NUM>*<NUM>=<NUM> bits. It should be noted that only examples are described herein, and the examples do not constitute a limitation.

Each code block obtained by performing code block segmentation on the input sequence by the device at the transmitting end is an output sequence of the code block segmentation, and each code block may be represented as cr0, cr1, cr2, cr3,. , cr(Kr-<NUM>), where r is a code block number, <NUM> ≤ r < C, and Kr is a code block length of a code block r, namely, that is, a quantity of bits in the code block r.

In a possible implementation, the input sequence is divided into C input bit segments based on the maximum code block length Z. In this case, in the C code blocks, a code block i includes an input bit segment i, a code block j includes an input bit segment j, and so on, where <NUM> ≤ i, j < C.

In addition to an input bit segment, a code block may optionally include at least one of a CRC bit segment and a filler bit segment, where a length of the CRC bit segment is L.

A new channel coding scheme used, such as LDPC coding, provides a better self-check capability and the manner of CRC bit segment attachment is flexible. A CRC bit segment whose length is L may be attached to each input bit segment; one CRC bit segment whose length is L may be attached to a plurality of input bit segments as a whole; or the input bit segment is not attached with a CRC bit segment, thus in this case, L=<NUM>. Correspondingly, in C code blocks, a quantity of code blocks including a CRC bit segment may also be C, in other words, each code block includes a CRC bit segment; a quantity of code blocks including a CRC bit segment may also be G, where G is an integer greater than <NUM> and less than or equal to C, in other words, one of a plurality of code blocks includes a CRC bit segment; or a quantity of code blocks including a CRC bit segment may also be <NUM> , in other words, none of the code blocks includes a CRC bit segment, or L=<NUM>.

For ease of description, in the embodiments of the present invention, a bit segment including an input bit segment and a CRC bit segment in a code block is sometimes referred to as a segment, in other words, the segment includes the input bit segment and the CRC bit segment. If a difference between a block length K in the code block length set and a length of a segment in a code block is not <NUM>, and K is a minimum code block length greater than or equal to the length of the segment, the code block further includes a filler bit segment, and a length of the filler bit segment is a difference between the allowable block length K and the length of the segment. The filler bit segment includes one or more bits whose values are <NULL>, and the bit whose value is <NULL> may also be set to "<NUM>" in some systems.

If the code block includes the filler bit segment, the CRC bit segment may be a parity bit segment generated for the segment, or may be a parity bit segment generated for the input bit segment. For example, the input bit segment in the code block may be first checked to generate the CRC bit segment, and then the filler bit segment is inserted. For another example, the filler bit segment may be first inserted into the code block, then the input bit segment and the filler bit segment in the code block are checked to generate the CRC bit segment, and the CRC bit segment is attached to the code block. Positions of the input bit segment, the filler bit segment, and the CRC bit segment in the code block are not limited herein. The CRC bit segment may be placed in the last segment of the code block, such as a code block <NUM> shown in <FIG>, or the filler bit segment may be placed in front of the input bit segment in the code block, such as a code block <NUM> shown in <FIG>. It should be noted that only examples are described herein, and the examples do not constitute a limitation in the present invention.

According to the information processing method provided in this embodiment of the present invention, because the maximum code block length in the code block length set is considered for the code blocks obtained after the input sequence is processed, a code block length requirement for channel coding input can be met, and a quantity of code blocks can also be reduced.

Due to the C code blocks generated based on the input sequence, each code block length needs to be a code block length in the code block length set. Code block lengths in the code block length set are arranged in ascending order or descending order of the lengths. Lengths of any two of the C generated code blocks are either equal or two adjacent code block lengths in the code block length set, so that code rates of the code blocks are balanced. Code block segmentation may be implemented in a plurality of manners.

Referring to <FIG> is a schematic diagram of an information processing method according to another embodiment of the present invention. In this manner, only one code block includes a filler bit segment. This is applicable to a case in which two adjacent code block lengths in the code block length set have a relatively small difference. As shown in <FIG>, the method includes the following content.

If B > Z, and each of the code blocks includes the CRC bit segment whose length is L, then C meets C <MAT>, where <MAT> represents rounding a number to upper integer. In other words, a value of C is equal to a value of <MAT>. It may be understood that if B/(Z-L) is an integer, a value of B/(Z-L) is equal to <MAT>, and is also equal to a value of <MAT>. It may be considered that C meets <MAT>. In the C code blocks, C<NUM> code blocks whose code block lengths are K<NUM> and C<NUM> code blocks whose code block lengths are K<NUM>, where K<NUM> is a minimum code block length in code block lengths that meet C·K<NUM> ≥ (B+C·L) in the code block length set, K<NUM> is a maximum code block length in code block lengths less than K<NUM> in the code block length set, <MAT>, C<NUM> = C-C<NUM>, and <MAT> represents rounding a number to lower integer. One of the code blocks whose code block lengths are K<NUM> includes a filler bit segment, and a length of the filler bit segment is F=C<NUM>·K<NUM>+C<NUM>·K<NUM>-(B+C·L). It may be understood that for rounding up <MAT> or rounding down <MAT> in this application, if a to-be-rounded parameter is an integer, the parameter may be not rounded to upper integer or rounded to lower integer, or the integer parameter may be rounded up, or the integer parameter may be rounded down, and the results are the same.

It can be learned from <FIG> that the input sequence whose length is B is divided into C input bit segments based on a determined quantity of code blocks and determined code block lengths. One of the input bit segments has a length of K<NUM>-L-F, C<NUM>-<NUM> input bit segments have a length of K<NUM>-L, and C<NUM> input bit segments have a length of K<NUM>-L. There are C<NUM> code blocks whose length is K<NUM> and there are C<NUM> code blocks whose length is K<NUM>. A length of an input bit segment in a code block whose code block length is K<NUM> and that includes the filler bit segment is K<NUM>-L-F, a length of an input bit segment in a code block whose code block length is K<NUM> and that includes no filler bit segment is K<NUM>-L, and a length of an input bit segment in the code block whose code block length is K<NUM> is K<NUM>-L. It should be noted that a position of the filler bit segment shown in the figure is merely an example, and is not limited to a first code block, or is not limited to the beginning of the code block. The filler bit segment may be after the CRC bit segment in the code block.

Taking B=<NUM> bits, Z=<NUM> bits, L=<NUM> bits, and the LDPC code block length set used in the foregoing embodiment as an example, a quantity of code blocks is <MAT>, a length of each code block to which the CRC bit segment is attached is B+C·L =<NUM> bits, the minimum code block length K<NUM> in code block lengths that meet C·K<NUM>≥(B+C·L) in the code block length set is <NUM> bits, and the maximum code block length K<NUM> in code block lengths less than K<NUM> in the code block length set is <NUM> bits. In this case, six code blocks include two code blocks whose code block lengths are K<NUM>=<NUM> bits, and include four code blocks whose code block lengths are K<NUM>=<NUM> bits. One of the code blocks whose code block lengths are K<NUM> further includes a filler bit segment whose length is <NUM> bits, for example, a first code block whose code block length is K<NUM> may include the filler bit segment whose length is <NUM> bits. It should be noted that only examples are described herein, and the examples do not constitute a limitation.

Optionally, in this manner, if the length of the input sequence meets B ≤ Z, C=<NUM>. A length of a CRC bit segment in the code block is L=<NUM>; in other words, the code block includes no CRC bit segment. If a code block length I<NUM> in the code block length set is a minimum code block length in code block lengths greater than or equal to B, a length of a filler bit segment in the code block is I<NUM> - B.

Referring to <FIG> is a schematic diagram of an information processing method according to another embodiment of the present invention. As shown in <FIG>, the method includes the following content.

If B > Z, and each of the code blocks includes the CRC bit segment whose length is L, then <MAT>, where <MAT> represents rounding a number to upper integer. A total length of the input sequence and CRC bit segments is (B+C·L). As described in the foregoing embodiment, a segment includes an input bit segment and a CRC bit segment. In this case, after balanced segmentation is performed, a length of a segment in at least one of the code blocks is K<NUM>; in other words, at least one of the C code blocks includes a segment whose length is K<NUM>. K<NUM> meets <MAT>; in other words, a value of K<NUM> is equal to a value of <MAT>. It can be learned that K<NUM> is an integer. It may be understood that when (B+C·L) is divisible by C, (B+C·L)/C is an integer, and K<NUM> = <MAT>. In other words, when (B+C·L)/C is divisible by C, the value of K<NUM> is equal to a value of (B+C·L)/C. A rounding operation may be not performed on (B+C·L)/C, or (B+C·L)/C may be rounded to upper integer or rounded to lower integer, and this does not affect a result of the value of K<NUM>.

The code block in which the segment has the length of K<NUM> further includes a filler bit segment whose length is F<NUM>, F<NUM> = I<NUM> - K<NUM>, and I<NUM> is a minimum code block length in code block lengths greater than or equal to K<NUM> in the code block length set. If F<NUM> is <NUM>, the code block in which the segment has the length of K<NUM> includes no filler bit segment.

Further, at least one of the C code blocks includes a segment whose length is K<NUM>, and K<NUM> meets K<NUM> <MAT>; in other words, a value of K<NUM> is equal to a value of <MAT>. It can be learned that K<NUM> is an integer. In the C code blocks, a quantity of code blocks including the segment whose length is K<NUM> is C<NUM> = C·K<NUM> - (B+C·L), and a quantity of code blocks including the segment whose length is K<NUM> is C<NUM> = C-C<NUM>. It may be understood that when (B+C·L) is divisible by C, (B+C·L)/C is an integer, and <MAT>. In other words, when (B+C·L) is divisible by C, the value of K<NUM> is equal to a value of (B+C·L)/C. A rounding operation may be not performed on (B+C·L)/C, or (B+C·L)/C may be rounded to upper integer or rounded to lower integer, and this affects a result of K<NUM>.

If (B+C·L)%C=<NUM>, and % represents a modulo operation, in other words, when (B+C·L) is divisible by C, K<NUM>= K<NUM>, and <MAT> is equal to <MAT>. In other words, K<NUM> or K<NUM> is equal to (B+C·L)/C. Each of the C code blocks includes the segment whose length is K<NUM> or K<NUM>; in other words, there are C code blocks in which the segment has the length of K<NUM> or K<NUM>.

It can be learned from <FIG> that the input sequence whose length is B is divided into C input bit segments based on a determined quantity of code blocks and determined code block lengths. C<NUM> input bit segments have a length of K<NUM>-L, and C<NUM> input bit segments have a length of K<NUM>-L. There are C<NUM> code blocks in which the segment has the length of K<NUM> and whose code block lengths are I<NUM> and there are C<NUM> code blocks in which the segment has the length of K<NUM> and whose code block lengths are I<NUM>. A length of an input bit segment in the code block in which the segment has the length of K<NUM> is K<NUM>-L, and a length of an input bit segment in the code block in which the segment has the length of K<NUM> is K<NUM>-L. The filler bit segments are well distributed in all the code blocks. It should be noted that a location of the filler bit segment shown in the figure is merely an example, and is not limited to a middle position of the code block. The filler bit segment may be before the input bit segment in the code block, or may be after the CRC bit segment in the code block.

B=<NUM> bits, L=<NUM> bits, and the foregoing LDPC code block length set are still used as examples. A quantity of columns corresponding to information bits in an LDPC base matrix is <NUM>, a maximum code block length in the code block length set is Z=<NUM>*<NUM>=<NUM> bits, a quantity of blocks is <MAT>, and a length of each code block to which the CRC bit segment is attached is B+C·L =<NUM> bits. After balanced segmentation is performed, K<NUM> is <NUM> bits, and K<NUM> is <NUM> bits. After the segmentation, two code blocks in which a segment has a length of <NUM> bits and four code blocks in which a segment has a length of <NUM> bits are obtained. A minimum code block length I<NUM> in code block lengths greater than or equal to K<NUM> is <NUM> bits, and an lifting factor z of an LDPC matrix used for channel encoding the code blocks in which the segment has the length of K<NUM> is a minimum value <NUM> in lifting factors greater than or equal to <MAT>. A minimum code block length I<NUM> in code block lengths greater than or equal to K<NUM> is <NUM> bits, and a lifting factor z of an LDPC matrix used for channel encoding the code blocks in which the segment has the length of K<NUM> is a minimum value <NUM> in lifting factors greater than or equal to <MAT>. Correspondingly, a length of a filler bit segment in the code blocks in which the segment has the length of <NUM> bits is <NUM> bits, and a length of a filler bit segment in the code blocks in which the segment has the length of <NUM> bits is <NUM> bits.

B=<NUM> bits, L=<NUM> bits, and the foregoing LDPC code block length set are used as another examples. Z=<NUM>*<NUM>=<NUM> bits, a quantity of blocks is <MAT>, and a length of each code block to which the CRC bit segment is attached is B+C·L =<NUM> bits. After balanced segmentation is performed, K<NUM> is <NUM> bits, and K<NUM> is <NUM> bits. After the segmentation, four code blocks in which a segment has a length of <NUM> bits and four code blocks in which a segment has a length of <NUM> bits are obtained. A minimum code block length I<NUM> in code block lengths greater than or equal to K<NUM> is <NUM> bits, and a lifting factor z in an LDPC matrix used for channel encoding the code blocks in which the segment has the length of K<NUM> is a minimum value <NUM> in lifting factors greater than or equal to <MAT>. A minimum code block length I<NUM> in code block lengths greater than or equal to K<NUM> is <NUM> bits, and a lifting factor z in an LDPC matrix used for channel encoding the code blocks in which the segment has the length of K<NUM> is a minimum lifting factor <NUM> in lifting factors greater than or equal to <MAT>. Correspondingly, a length of a filler bit segment in the code blocks in which the segment has the length of <NUM> bits is <NUM> bits, and a length of a filler bit segment in the code blocks in which the segment has the length of <NUM> bits is <NUM> bits.

It should be noted that only examples are described above, and the examples do not constitute a limitation.

Optionally, in this manner, if the length of the input sequence meets B≤Z, then C=<NUM>. A length of a CRC bit segment in the code block is L=<NUM>; in other words, the code block includes no CRC bit segment. If a code block length I<NUM> in the code block length set is a minimum code block length in code block lengths greater than or equal to B, a length of a filler bit segment in the code block is I<NUM> - B.

An input bit and a CRC bit included in a code block are also usually referred to as valid information bits, and a quantity of valid information bits is a numerator for calculating a code rate of the code block. When adjacent code block lengths in the code block length set have a relatively large difference, if one code block includes a large quantity of filler bits, and the other code block includes no filler bit, there is a relatively large difference between quantities of valid information bits in the two different code blocks. Further, lengths of sequences output after coding and rate matching are performed on code blocks are usually the same or balanced; in other words, denominators for calculating code rates of the code blocks are basically the same. Consequently, there is a relatively large difference between the code rates of the code blocks, thus overall performance deteriorates during system coding or decoding. In the foregoing manner, in the code blocks obtained after the input sequence is processed, code block lengths of any two code blocks are either equal or two adjacent code block lengths in the code block length set, quantities of valid information bits in the any two code blocks differ by up to one bit, and filler bit segments are well distributed in the code blocks, so that the code rates of the code blocks are balanced. These code blocks are used as input for coding or decoding, so that system performance fluctuation can be avoided.

Referring to <FIG> is a schematic diagram of an information processing method according to another embodiment of the present invention. In this manner, no CRC bit segment is added to each code block; in other words, L=<NUM>. As shown in <FIG>, the method includes the following content.

A quantity of code blocks is <MAT>, the C code blocks include at least one code block in which an input bit segment has a length of K<NUM>, and <MAT>.

The code block in which the input bit segment has the length of K<NUM> further includes a filler bit segment whose length is F<NUM>, F<NUM> = I<NUM> - K<NUM>, and I<NUM> is a minimum code block length in code block lengths greater than or equal to K<NUM> in the code block length set.

The C code blocks further include at least one code block in which an input bit segment has a length of K<NUM>, <MAT>, and the C code blocks include C<NUM> code blocks in which the input bit segment has the length of K<NUM>, where C<NUM> = C·K<NUM> - B, and C<NUM> code blocks in which the input bit segment has the length of K<NUM>, where C<NUM> = C-C<NUM>.

If B%C=<NUM>, and % represents a modulo operation, K<NUM>= K<NUM>, and each of the C code blocks includes the input bit segment whose length is K<NUM>; in other words, there are C code blocks in which the input bit segment has the length of K<NUM>.

It can be learned from <FIG> that the input sequence whose length is B is divided into C input bit segments based on a determined quantity of code blocks and determined code block lengths. C<NUM> input bit segments have a length of K<NUM>, and C<NUM> input bit segments have a length of K<NUM>. There are C<NUM> code blocks in which the input bit segment has the length of K<NUM> and whose code block lengths are I<NUM>, and there are C<NUM> code blocks in which the input bit segment has the length of K<NUM> and whose code block lengths are I<NUM>. The filler bit segments are well distributed in all the code blocks. It should be noted that a location of the filler bit segment shown in the figure is merely an example, and is not limited to the end of the code block. The filler bit segment may be before the input bit segment in the code block, or may be after the input bit segment in the code block.

B=<NUM> bits and the foregoing LDPC code block length set are still used as examples. Z=<NUM>*<NUM>=<NUM> bits, and a quantity of blocks is <MAT>. After balanced segmentation is performed, K<NUM> is <NUM> bits, K<NUM> is <NUM> bits, there are four code blocks in which an input bit segment has a length of K<NUM>, there are two code blocks in which an input bit segment has a length of K<NUM>, and I<NUM>= I<NUM>=<NUM> bits. Correspondingly, a length of a filler bit segment in the code block in which the input bit segment has the length of K<NUM> is <NUM> bits, and a length of a filler bit segment in the code block in which the input bit segment has the length of K<NUM> is <NUM> bits. It should be noted that only examples are described herein, and the examples do not constitute a limitation.

If a better self-check capability is provided in information coding, the code blocks obtained after the input sequence is processed do not include the CRC bit segment, so that system CRC overheads can be reduced.

Referring to <FIG> is a schematic diagram of an information processing method according to another embodiment of the present invention. The method may be applied to a scenario in which one CRC bit segment is added to a plurality of input bit segments. In this case, the C code blocks include G code blocks including the CRC bit segment, where G is an integer greater than <NUM> and less than or equal to C. As shown in <FIG>, the method includes the following content.

The C code blocks belong to G code block groups, and a quantity of code block including the CRC bit segment in each code block group is one. The CRC bit segment in any code block group may be a parity bit segment generated for an input bit segment in at least one code block in the code block group, or may be a parity bit segment generated for an input bit segment and a filler bit segment in at least one code block in the code block group. For example, the CRC bit segment may be a parity bit segment generated only for an input bit segment in the code block to include the CRC bit segment, or may be a parity bit segment generated for input bit segments in all code blocks in a code block group, may be a parity bit segment generated only for an input bit segment and a filler bit segment in the code block including the CRC bit segment, or may be a parity bit segment generated for input bit segments and filler bit segments in all code blocks in a code block group. It should be noted that this is not limited in this embodiment of the present invention.

System CRC overheads can be reduced because CRC bit segments are attached, by code block group, to a plurality of code blocks obtained after the input sequence is processed. In addition, when ACK feedback is performed by code block group, performance is better, and system efficiency is improved.

In a possible implementation, the input sequence is segmented into C input bit segments, and the C input bit segments are divided into G groups. In this case, code blocks including a corresponding input bit segment in one group are in one code block group. In other words, the C code blocks belong to the G code block groups.

In another possible implementation, the input sequence is divided into G bit groups, and each bit group is further segmented to obtain a total of C input bit segments. Code blocks including input bit segments in a same bit group are in one code block group, so that the C code blocks belong to the G code block groups.

In an embodiment of the present invention, a quantity G of code block groups may be determined based on a maximum quantity M of code blocks included in one code block group, for example, <MAT>, C = <MAT>, G is an integer greater than <NUM> and less than or equal to C, M is an integer greater than <NUM>, and <MAT>.

For example, B=<NUM>, Z=<NUM>, L=<NUM>, and M is <NUM>. A first grouping result may be obtained: G=<NUM> and C=<NUM>; in other words, four code block groups and <NUM> code blocks may be obtained based on the input sequence.

In another embodiment of the present invention, a quantity G of code block groups may be determined based on a maximum quantity Gmax of code block groups, for example, <MAT>, and Gmax><NUM>; and if G < Gmax, C=G; or if G = Gmax, <MAT>.

For example, B=<NUM>, Z=<NUM>, L=<NUM>, and Gmax is <NUM>. A second grouping result may be obtained: G=<NUM> and C=<NUM>; in other words, four code block groups and <NUM> code blocks may be obtained based on the input sequence.

According to the foregoing embodiment, the G code block groups include at least one code block group including C<NUM> code blocks, where <MAT>; and the G code block groups further include at least one code block group including C<NUM> code blocks, where <MAT>, a quantity of code block groups including C<NUM> code blocks is G<NUM>= G· C<NUM>-C, and a quantity of code block groups including C<NUM> code blocks is G<NUM> = G- G<NUM>, so that code block quantities of the code block groups are balanced.

The first grouping result or the second grouping result in the foregoing example is used as an example. Therefore, C<NUM>=<NUM>, C<NUM>=<NUM>, there are three code block groups, each including four code blocks, and there is one code block group including three code blocks. The <NUM> code blocks are divided into four code block groups that separately include three code blocks, four code blocks, four code blocks, and four code blocks.

In the method in the foregoing embodiment, code block counts of any two of the code block groups obtained by grouping can differ by up to one, so that the code block groups tend to have consistent block error rates (block error rate, BLER) and consistent leakage detection performance.

In another embodiment of the present invention, to enable all code block groups to have balanced input bit segment length and balanced CRC bit segment lengths, the G code block groups include at least one code block group including C<NUM> code blocks, where <MAT>, and <MAT>; and the G code block groups further include at least one code block group including C<NUM> code blocks, where <MAT>, a quantity of code block groups including C<NUM> code blocks is G<NUM>=G· P<NUM>-(B+G·L), and a quantity of code block groups including C<NUM> code blocks is G<NUM> = G- G<NUM>. A quantity G of code block groups may be determined based on a maximum quantity M of code blocks included in one code block group, for example, <MAT>, or a quantity G of code block groups may be determined based on a maximum quantity Gmax of code block groups, for example, <MAT>, Gmax).

For example, B=<NUM>, Z=<NUM>, L=<NUM>, and M is <NUM>. G=<NUM>, P<NUM>=P<NUM>=<NUM>, C<NUM>=C<NUM>=<NUM>, each code block group includes four code blocks, and there are <NUM> code blocks in total.

In the method in the foregoing embodiment, quantities of valid information bits included in all the block groups obtained by grouping differ by up to one bit.

It can be learned from <FIG> that the input sequence whose length is B is segmented into C input bit segments based on a determined quantity of code blocks, a determined quantity of code block groups, and determined code block lengths, the C code blocks belong to the G code block groups, and a CRC bit segment whose length is L is attached to one code block in each code block group. Each of G<NUM> code block groups includes C<NUM> code blocks, and each of G<NUM> code block groups includes C<NUM> code blocks.

It should be noted that the foregoing descriptions are examples, and the examples do not constitute a limitation in the present invention.

Optionally, in this manner, if the length of the input sequence meets B ≤M·Z, G=<NUM>. A length of a CRC bit segment in the C code blocks is L=<NUM>; in other words, none of the code blocks includes the CRC bit segment. For code block segmentation, refer to <FIG>, and details are not described herein again.

<FIG> is a flowchart of an information processing method in a communications system according to another embodiment of the present invention. The method may be applied to a device at a transmitting end, and includes the following steps.

Obtain an input sequence, where a length of the input sequence is B.

Determine a quantity G of code block groups and a quantity of code blocks in each code block group based on one of a maximum quantity Gmax of code block groups and a maximum quantity M of code blocks in each code block group, the input sequence, and a maximum code block length Z in a code block length set.

For an implementation of obtaining G code block groups based on the maximum quantity Gmax of code block groups, the input sequence, and the maximum code block length Z, or obtaining G code block groups based on a largest code block group M in each code block group, the input sequence, and the maximum code block length Z, and determining the quantity of code blocks in each code block group, the foregoing segmentation implementations described in <FIG> may be referred to, and details are not described herein again.

Obtain C code blocks based on the input sequence, the quantity G of code block groups, and the quantity of code blocks in each code block group.

A quantity C of code blocks may be obtained based on the quantity G of code block groups and the quantity of code blocks in each code block group. The input sequence is segmented to C input bit segments, and each code block includes one of the input bit segments. Each code block group includes one code block to which a CRC bit segment is attached. A CRC bit segment in any code block group may be a parity bit segment generated for an input bit segment in at least one code block in the code block group, or may be a parity bit segment generated for an input bit segment and a filler bit segment in at least one code block in the code block group.

To ensure that the code blocks are balanced, lengths of the code blocks may be determined based on a length (B+G·L) of the input sequence to which G CRC bit segments are attached, and code block segmentation is performed based on the lengths of the code blocks.

For ease of description, in this embodiment of the present invention, bits other than a filler bit segment included in each code block are referred to as a mixed segment. It can be learned that the mixed segment includes either an input bit segment, or, an input bit segment and a CRC bit segment. In one code block group, a mixed segment in only one code block includes the input bit segment and the CRC bit segment, and a mixed segment in another code block includes only the input bit segment.

At least one of the C code blocks includes a mixed segment whose length is K<NUM>, and <MAT>.

The code block in which the mixed segment has the length of K<NUM> further includes a filler bit segment whose length is F<NUM>, F<NUM>= I<NUM>-K<NUM>, and I<NUM> is a minimum code block length in code block lengths greater than or equal to K<NUM> in the code block length set.

Further, at least one of the C code blocks includes a mixed segment whose length is K<NUM>, <MAT>, and in the C code blocks, a quantity of code blocks including the mixed segment whose length is K<NUM> is C<NUM> = C·K<NUM>-(B+G·L), and a quantity of code blocks including the mixed segment whose length is K<NUM> is C<NUM> = C-C<NUM>.

If (B+G·L)%C=<NUM>, and % represents a modulo operation, K<NUM>= K<NUM>, and each of the C code blocks includes an input bit segment whose length is K<NUM> or the mixed segment whose length is K<NUM>; in other words, there are C code blocks in which the mixed segment has the length of K<NUM>.

The code block in which the mixed segment has the length of K<NUM> further includes a filler bit segment whose length is F<NUM>, F<NUM> = I<NUM>- K<NUM>, and I<NUM> is a minimum code block length in code block lengths greater than or equal to K<NUM> in the code block length set.

For example, B=<NUM>, M=<NUM>, Z= <NUM>, and L=<NUM>. In this case, a quantity of code block groups is G = <MAT>, G=<NUM>, a quantity of code blocks is <MAT>, and C=<NUM>. The <NUM> code blocks are divided into four code block groups that separately include three code blocks, four code blocks, four code blocks, and four code blocks. After balanced segmentation is performed, K<NUM> is <NUM> bits, K<NUM> is <NUM> bits, there are <NUM> code blocks in which the mixed segment has the length of K<NUM>, and there are four code blocks in which the mixed segment has the length of K<NUM>. A length of a filler bit segment in the code block in which the mixed segment has the length of K<NUM> is four bits, and a length of a filler bit segment in the code block in which the mixed segment has the length of K<NUM> is five bits. For example, a length of mixed segments in the <NUM> code blocks in groups <NUM> to <NUM> may be <NUM> bits, and a length of mixed segments in the four code blocks in group <NUM> may be <NUM> bits. Table <NUM> shows an example of a length of an input bit segment, a length of a CRC bit segment, and a length of a filler bit segment in each code block in this block segmentation manner. Certainly, a length of mixed segments in code blocks <NUM> to <NUM> may be <NUM>, and a length of mixed segments in code blocks <NUM> to <NUM> may be <NUM>.

It should be noted that the foregoing descriptions are examples, and the examples do not constitute a limitation.

CRC bits are attached by code block group, so that CRC check overheads can be reduced, and system performance can be further improved. If a hybrid automatic repeat request (hybrid automatic repeat request, HARQ) is used in a system to feed back acknowledgement/negative acknowledgement (ACK/NACK) information by group, CRC attachement based on the code block group can reduce feedback signaling overheads and improve system transmission efficiency.

According to the information processing methods in the foregoing embodiments, a communications device <NUM> may further encode each of the C code blocks to obtain coded blocks. The communications device <NUM> may encode each code block in a channel coding scheme used in the system, to be specific, perform encoding by using each output sequence cr0, cr1, cr2, cr3,. , cr(Kr-<NUM>) in step <NUM> as an input sequence for an encoder, for example, perform LDPC coding or polar coding. This is not limited thereto. After encoding the code block, the communications device <NUM> sends the coded block to a device at a receiving end.

<FIG> shows an information processing method in a communications system according to another embodiment of the present invention. The method may be applied to a receiving end device.

Obtain C code blocks based on a length of an output sequence and a maximum code block length Z in a code block length set.

In the embodiments of the present invention, the output sequence may be a transport block or a transport block to which transport block CRC is attached. The transport block herein may be obtained by performing block segmentation on an information sequence based on a transport block size, and is configured to transmit control information or data information. The transport block or the transport block to which the transport block CRC is attached that is obtained by the device at the receiving end based on the received code blocks may be used as the output sequence for code block segmentation. Because a process performed by a device at a transmitting end and a process performed by the device at the receiving end are inverse to each other, the output sequence on which the device at the receiving end performs code block segmentation is equivalent to an input sequence on which the transmitting end device performs code block segmentation.

A communications device <NUM> may obtain a received transport block size (TB size), namely, the length of the output sequence, and obtain the maximum code block length Z in the code block length set, to determine a quantity C of code blocks in the output sequence.

The communications device <NUM> receives C coded blocks sent by a communications device <NUM>, and obtains the C code blocks after a decoder decodes the C coded blocks.

Obtain the output sequence based on the C code blocks obtained in step <NUM>.

Each code block includes an output bit segment in the output sequence, and at least one code block includes a cyclic redundancy check CRC bit segment whose length is L, or includes a filler bit segment. B, Z, and C are integers greater than <NUM>, and L is an integer greater than or equal to <NUM> and less than Z.

In step <NUM>, in addition to determining the quantity of code blocks, the communications device <NUM> may determine lengths of the code blocks, a length of the output bit segment in the code block, the length L of the CRC bit segment, and a length of the filler bit segment. For details, refer to examples of code block segmentation in the embodiments shown in <FIG>, and the examples describe how to determine the quantity of code blocks, a length of a code block, a length L of a CRC bit segment, and a length of a filler bit segment. The communications device <NUM> obtains output bit segments from the code blocks, and then concatenates the output bit segments to obtain the output sequence.

In addition to the output bit segment, the code block includes the CRC bit segment whose length is L. If the CRC bit segment is a parity bit segment generated for the output bit segment in the code block, the communications device <NUM> checks the output bit segment in the code block based on the CRC bit segment, and if the check succeeds, the communications device <NUM> determines that the output bit segment in the code block is correct and may be further concatenated to another output bit segment that passes the check. If the CRC bit segment is a parity bit segment generated for the output bit segment and the filler bit segment in the code block, the communications device <NUM> checks the output bit segment and the filler bit segment in the code block based on the CRC bit segment, and if the check succeeds, the communications device <NUM> determines that the output bit segment and the filler bit segment in the code block are correct, and further concatenates the output bit segment in the code block to another output bit segment that passes the check. If the CRC bit segment is a parity bit segment generated for output bit segments in a plurality of code blocks, the communications device <NUM> checks the output bit segments in these code blocks based on the CRC bit segment, and if the check succeeds, the communications device <NUM> concatenates these output bit segments to another output bit segment that passes the check. If the CRC bit segment is a parity bit segment generated for output bit segments and filler bit segments in a plurality of code blocks, the communications device <NUM> checks the output bit segments and the filler bit segments in these code blocks based on the CRC bit segment, and if the check succeeds, the communications device <NUM> concatenates these output bit segments to another output bit segment that passes the check.

The method performed by the communications device <NUM> is an inverse process performed by the communications device <NUM>. For a quantity of code blocks, a length of the code block, a length of the filler bit segment, and attachment of the CRC bit segment, refer to examples of code block segmentation described in <FIG>. The only difference is that the output sequence and the output bit segment for the communications device <NUM> are corresponding to the input sequence and the input bit segment for the communications device <NUM>. Because information processing methods and effects have been described in the foregoing embodiments, details are not described herein again.

<FIG> is a schematic structural diagram of a communications device according to another embodiment of the present invention. The communications device may be applied to the communications system shown in <FIG>. The communications device <NUM> may include an obtaining unit <NUM> and a processing unit <NUM>.

The obtaining unit <NUM> is configured to obtain an input sequence. The processing unit <NUM> is configured to obtain C code blocks based on the input sequence and a maximum code block length Z in a code block length set, where each of the code blocks includes an input bit segment in the input sequence, at least one of the code blocks includes a cyclic redundancy check CRC bit segment whose length is L, or includes a filler bit segment, B, Z, and C are integers greater than <NUM>, and L is an integer greater than or equal to <NUM> and less than Z. The communications device may be configured to implement the foregoing method embodiments. Refer to the description in the foregoing method embodiments, and details are not described herein again.

The communications device <NUM> may further include a encoding unit <NUM>. The encoding unit <NUM> may also be referred to as an encoder, an encoding circuit, or the like, and is mainly configured to encode the code blocks output by the processing unit <NUM>, for example, perform LDPC coding on each of the C code blocks in the foregoing embodiment.

The communications device <NUM> may further include a transceiver unit <NUM>, and the transceiver unit <NUM> may also be referred to as a transceiver, a transceiver, a transceiver circuit, or the like. The transceiver unit <NUM> is mainly configured to transmit and receive a radio frequency signal, for example, is configured to send, to the communications device <NUM>, a coded block that is coded by the encoding unit <NUM>.

The communications device <NUM> may further include another unit, for example, a unit configured to generate transport block CRC, a rate matching unit, an interleaving unit, and a modulation unit, which may be separately configured to implement corresponding functions of the communications device <NUM> in <FIG>.

It should be noted that the communications device <NUM> may include one or more memories and processors to implement functions of the communications device <NUM> in <FIG>. The memory and the processor may be disposed on each unit. Alternatively, a plurality of units may share a same memory and a same processor.

<FIG> is a schematic structural diagram of a communications device. The communications device may be applied to the communications system shown in <FIG>. A communications device <NUM> may include an obtaining unit <NUM> and a processing unit <NUM>.

The obtaining unit <NUM> is configured to obtain C code blocks based on a length of an output sequence and a maximum code block length Z in a code block length set.

The processing unit <NUM> is configured to obtain the output sequence based on the C code blocks obtained by the obtaining unit <NUM>, where each of the code blocks includes an output bit segment in the output sequence, at least one of the code blocks includes a cyclic redundancy check CRC bit segment whose length is L, or includes a filler bit segment, B, Z, and C are integers greater than <NUM>, and L is an integer greater than or equal to <NUM> and less than Z.

The obtaining unit <NUM> and the processing unit <NUM> may be configured to implement the method in the foregoing method embodiments. For details, refer to the description in the foregoing method embodiments, and details are not described herein again.

The communications device <NUM> may further include a decoding unit <NUM>. The decoding unit <NUM> may also be referred to as a decoder, a decoding circuit, or the like, and is mainly configured to decode coded blocks received by a transceiver unit <NUM>.

The communications device <NUM> may further include the transceiver unit <NUM>, and the transceiver unit <NUM> may also be referred to as a transceiver, a transceiver, a transceiver circuit, or the like. The transceiver unit <NUM> is mainly configured to transmit and receive a radio frequency signal, for example, is configured to receive a coded block that is sent by the communications device <NUM> and that is in the foregoing method embodiments.

The communications device <NUM> may further include another unit, for example, a unit configured to perform transport block CRC, a de-rate matching unit, a de-interleaving unit, and a demodulation unit, which may be separately configured to implement corresponding functions of the communications device <NUM> in <FIG>.

A person skilled in the art may further understand that various illustrative logical blocks (illustrative logic block) and steps (step) that are listed in the embodiments of the present invention may be implemented by using electronic hardware, computer software, or a combination thereof. Whether the functions are implemented by using hardware or software depends on particular applications and a design requirement of an entire system. A person of ordinary skill in the art may use various methods to implement the described functions for each particular application, but it should not be considered that the implementation goes beyond the scope of the embodiments of the present invention, which is provided by the appended claims.

The various illustrative logical units and circuits described in the embodiments of the present invention may implement or operate the described functions by using a general purpose processor, a digital signal processor, an application-specific integrated circuit (ASIC), a field programmable gate array (FPGA) or another programmable logical apparatus, a discrete gate or transistor logic, a discrete hardware component, or a design of any combination thereof. The general purpose processor may be a microprocessor. Optionally, the general purpose processor may also be any conventional processor, controller, microcontroller, or state machine. The processor may alternatively be implemented by a combination of computing apparatuses, such as a digital signal processor and a microprocessor, a plurality of microprocessors, one or more microprocessors together with a digital signal processor core, or any other similar configuration.

Steps of the methods or algorithms described in the embodiments of the present invention may be directly embedded into hardware, a software unit executed by the processor, or a combination thereof. The software unit may be stored in a RAM memory, a flash memory, a ROM memory, an EPROM memory, an EEPROM memory, a register, a hard disk, a removable magnetic disk, a CD-ROM, or a storage medium of any other form in the art. For example, the storage medium may connect to the processor, so that the processor may read information from the storage medium and write information to the storage medium. Alternatively, the storage medium may be integrated into the processor. The processor and the storage medium may be arranged in an ASIC, and the ASIC may be arranged in UE. Optionally, the processor and the storage medium may be arranged in different components of the UE.

With descriptions of the foregoing embodiments, a person skilled in the art may clearly understand that the present invention may be implemented by hardware, firmware, or a combination thereof. When the present invention is implemented by software, the foregoing functions may be stored in a computer-readable medium or transmitted as one or more instructions or code in the computer-readable medium. The computer-readable medium includes a computer storage medium and a communications medium, and the communications medium includes any medium that enables a computer program to be transmitted from one place to another. The storage medium may be any valid medium accessible to a computer. The following provides an example but does not impose a limitation: The computer-readable medium may include a RAM, a ROM, an EEPROM, a CD-ROM, or another optical disc storage or disk storage medium, or another magnetic storage device, or any other medium that can carry or store expected program code in a form of an instruction or a data structure and can be accessed by a computer. In addition, any connection may be appropriately defined as a computer-readable medium. For example, if software is transmitted from a website, a server, or another remote source by using a coaxial cable, an optical fiber/cable, a twisted pair, a digital subscriber line (DSL), or wireless technologies such as infrared ray, radio and microwave, the coaxial cable, optical fiber/cable, twisted pair, DSL or wireless technologies such as infrared ray, radio and microwave are included in fixation of a medium to which they belong. For example, a disk (Disk) and a disc (disc) used in the present invention include a compact disc (CD), a laser disc, an optical disc, a digital versatile disc (DVD), a floppy disk and a Blu-ray disc, where the disk generally copies data by a magnetic means, and the disc copies data optically by using a laser. The foregoing combination should also be included in the protection scope of the computer-readable medium.

Claim 1:
An information processing method in a communications system, comprising:
obtaining (<NUM>), by a communication device (<NUM>) based on a length B of an output sequence and a maximum code block length Z, C code blocks after decoding the C code blocks with a low-density parity-check, LDPC, base matrix, wherein B, Z, and C are integers greater than <NUM>, and B>Z; and
obtaining (<NUM>), by the communication device (<NUM>), the output sequence based on the C code blocks, wherein each of the C code blocks comprises an output bit segment in the output sequence, a cyclic redundancy check, CRC, bit segment whose length is L and a filler bit segment, L is an integer greater than <NUM> and less than Z, wherein B, Z, C, and L meet <MAT>, where <MAT> represents rounding to an upper integer;
wherein at least one of the C code blocks comprises a segment of length K<NUM>, wherein the segment of length K<NUM> comprises an output bit segment and a CRC bit segment, and K<NUM> meets <MAT>;
wherein, in the code block comprising the segment of length K<NUM>, the filler bit segment comprises F<NUM> filler bits, where F<NUM> is an integer greater than <NUM> and F<NUM> = I<NUM> - K<NUM>, wherein I<NUM> is a product of a lifting factor z and a value X, wherein the value X is a quantity of columns corresponding to information bits in the LDPC base matrix for decoding each of the C code blocks, and
wherein the lifting factor z is a minimum value in lifting factors that makes I<NUM> meet I<NUM> ≥K<NUM>, or the lifting factor z is a minimum value in a lifting factor being greater than or equal to an integer A and the integer A satisfies <MAT>.