Encoding method and decoding method

By flexibly selecting encoding methods and decoding strategies in LDPC encoding, the problem of diverse throughput and performance requirements under different application scenarios is solved, improving the error correction performance of the system and reducing the number of iterations.

WO2026153349A1PCT designated stage Publication Date: 2026-07-23HUAWEI TECH CO LTD
View PDF 0 Cites 0 Cited by

Patent Information

Authority / Receiving Office
WO · WO
Patent Type
Applications
Current Assignee / Owner
HUAWEI TECH CO LTD
Filing Date
2026-01-14
Publication Date
2026-07-23

AI Technical Summary

Technical Problem

In different application scenarios, using a single LDPC code cannot meet the diverse requirements of throughput and performance.

Method used

This paper provides an encoding method and a decoding method. By flexibly selecting different encoding methods and adjusting the encoding strategy according to the parameters of the application scenario, the paper includes selecting concatenated codes and punching codeword bits, and mapping parity bit sequences to adapt to different throughput and performance requirements.

Benefits of technology

It achieves good encoding and decoding performance in different application scenarios, improves the system's error correction capability, and reduces the number of decoding iterations.

✦ Generated by Eureka AI based on patent content.

Smart Images

  • Figure CN2026072454_23072026_PF_FP_ABST
    Figure CN2026072454_23072026_PF_FP_ABST
Patent Text Reader

Abstract

Provided in the present application are an encoding method and a decoding method. In the method, a sending-end device or a receiving-end device may determine an encoding mode or a decoding mode on the basis of a first parameter, wherein the first parameter comprises at least one of the following: the size level of a buffer area, the number of code block groups supported by each transport block, a transport block size, the number of code blocks included in each transport block, a modulation and encoding scheme index, a modulation order, and a target code rate or a payload code rate for channel encoding. By means of the method in the embodiments of the present application, different encoding modes for encoding may be selected on the basis of a first parameter or different decoding modes for decoding may be selected on the basis of the first parameter, such that encoding and decoding policies can be flexibly adjusted, thereby meeting the throughput requirements or performance requirements of different application scenarios.
Need to check novelty before this filing date? Find Prior Art

Description

Encoding methods and decoding methods

[0001] This application claims priority to Chinese patent application filed on January 15, 2025, with application number 202510068397.6 and entitled "Encoding Method and Decoding Method", the entire contents of which are incorporated herein by reference. Technical Field

[0002] This application relates to the field of channel coding, and more specifically, to an encoding method and a decoding method. Background Technology

[0003] Low-density parity-check (LDPC) codes are linear block codes with sparse parity-check matrices. LDPC codes not only exhibit good performance approaching the Shannon limit, but also have low decoding complexity and flexible structure. Therefore, they have been widely used in some communication systems.

[0004] Currently, a single LDPC code is used for channel coding in different application scenarios. However, the throughput and data transmission performance may vary in different application scenarios. Therefore, using a single LDPC code for encoding and decoding cannot meet the throughput and performance requirements of various scenarios. Summary of the Invention

[0005] This application provides an encoding method and a decoding method, which can flexibly select different encoding methods for encoding in different application scenarios, so that good encoding and decoding performance can be achieved in different application scenarios.

[0006] In a first aspect, an encoding method is provided, which can be executed by a transmitting device or a module applied to the transmitting device (e.g., a processor, chip, circuit, etc., or a logic module, hardware, and / or software capable of implementing all or part of the functions of the transmitting device). The method may include: the transmitting device determining a first encoding scheme from a variety of encoding schemes based on a first parameter, the first parameter including at least one of the following: buffer size level, the number of code block groups supported by each transport block, transport block size, the number of code blocks contained in each transport block, modulation and coding scheme index, modulation order, and target code rate or payload code rate for channel coding; the transmitting device encoding the information bits to be encoded based on the first encoding scheme to obtain a first codeword sequence; and the transmitting device outputting the first codeword sequence.

[0007] Optionally, the first parameter may also include at least one of the following: spectral efficiency, whether probability shaping pre-transformation is enabled, operating frequency band, number of multi-input multi-output (MIMO) streams, whether limited buffer rate matching (LBRM) is enabled, terminal device capability information, measurement information reported by the terminal device, usage scenario, data transmission latency requirements, data transmission error rate requirements, maximum number of decoding iterations or the maximum number of decoding iterations indicated by signaling, etc., which are not limited in this application.

[0008] Based on the above scheme, different encoding methods can be selected according to the first parameter, thereby flexibly adjusting the encoding strategy to meet different throughput or performance requirements.

[0009] In conjunction with the first aspect, in certain implementations of the first aspect, the transmitting device determines a first coding scheme from multiple coding schemes based on a first parameter, including: the transmitting device determines the first coding scheme from the multiple coding schemes based on the first parameter and a first condition, wherein the first condition includes at least one of the following: the size level of the buffer is greater than or equal to a first threshold value; the number of code block groups supported by each transport block is greater than or equal to a second threshold value; the size of the transport block is greater than or equal to a third threshold value; the number of code blocks contained in each transport block is greater than or equal to a fourth threshold value; the modulation and coding scheme index is greater than or equal to a fifth threshold value; the modulation order is greater than or equal to a sixth threshold value; and the code rate or payload code rate of the channel coding is greater than or equal to a seventh threshold value.

[0010] Optionally, the first condition mentioned above may also include at least one of the following: spectral efficiency greater than or equal to the eighth threshold, operating frequency band greater than or equal to the ninth threshold, MIMO stream number greater than or equal to the tenth threshold, data transmission delay requirement less than or equal to the eleventh threshold, data transmission error rate requirement greater than or equal to the twelfth threshold, maximum number of decoding iterations or maximum number of decoding iterations indicated by signaling less than or equal to the thirteenth threshold, etc., which are not limited in this application.

[0011] In conjunction with the first aspect, in certain implementations of the first aspect, the transmitting device determines a first coding scheme from multiple coding schemes based on a first parameter, including: the transmitting device determines the first coding scheme from the multiple coding schemes based on the first parameter and a second condition, wherein the second condition includes at least one of the following: the size level of the buffer is less than or equal to a first threshold value; the number of code block groups supported by each transport block is less than or equal to a second threshold value; the size of the transport block is less than or equal to a third threshold value; the number of code blocks contained in each transport block is less than or equal to a fourth threshold value; the modulation and coding scheme index is less than or equal to a fifth threshold value; the modulation order is less than or equal to a sixth threshold value; and the code rate or payload code rate of the channel coding is less than or equal to a seventh threshold value.

[0012] Optionally, the second condition may also include at least one of the following: spectral efficiency less than or equal to the eighth threshold, operating frequency band less than or equal to the ninth threshold, MIMO stream number less than or equal to the tenth threshold, data transmission delay requirement greater than or equal to the eleventh threshold, data transmission error rate requirement less than or equal to the twelfth threshold, maximum number of decoding iterations or maximum number of decoding iterations indicated by signaling greater than or equal to the thirteenth threshold, etc., which are not limited in this application.

[0013] In conjunction with the first aspect, in some implementations of the first aspect, the aforementioned first encoding method is a concatenated code.

[0014] For example, when throughput is high, concatenated codes can be used for encoding.

[0015] Based on the above scheme, using concatenated code encoding can improve the error correction performance of the system.

[0016] In conjunction with the first aspect, in certain implementations of the first aspect, the transmitting device encodes the information bits to be encoded based on the first encoding method to obtain a first codeword sequence, including: the transmitting device performing LDPC encoding on the information bits to be encoded based on the first parity check matrix to obtain a second codeword sequence, the second codeword sequence including an information bit sequence and a first parity check bit sequence; the transmitting device mapping the first parity check bit sequence to a second parity check bit sequence to obtain the first codeword sequence, the first codeword sequence including the information bit sequence and the second parity check bit sequence.

[0017] Based on the above scheme, the parity bit sequence in the second codeword sequence after LDPC encoding can be further mapped. The mapped parity bit sequence can still contain the parity information of the parity bit sequence before mapping. Furthermore, the length of the parity bit sequence of the output first codeword sequence can be flexibly designed. This method can improve the decoding performance under high code rate and low iteration number.

[0018] In conjunction with the first aspect, in some implementations of the first aspect, the first check bit sequence includes a first core check bit sequence, which is the check bits corresponding to all core rows of the first check matrix.

[0019] Based on the above scheme, the core parity bit sequence in the second codeword sequence after LDPC encoding can be further mapped, which can improve the error correction performance in higher code rate scenarios and reduce the number of decoding iterations in higher code rate scenarios.

[0020] In conjunction with the first aspect, in some implementations of the first aspect, the aforementioned transmitting device encodes the information bits to be encoded based on the first encoding method to obtain a first codeword sequence, including: the aforementioned transmitting device performs LDPC encoding on the information bits to be encoded based on the first parity check matrix to obtain a second codeword sequence; the transmitting device punches X*Zc codeword bits in the second codeword sequence to obtain the aforementioned first codeword sequence; wherein, X is a positive integer, and Zc is the boosting size of the first base matrix to the first parity check matrix.

[0021] Optionally, the aforementioned transmitting device may punch holes in the first X*Zc codeword bits of the second codeword sequence.

[0022] For example, X can be equal to 4.

[0023] For example, in low-throughput scenarios, encoding can be performed by punching holes in the codeword bits.

[0024] Based on the above scheme, punching holes in codeword bits can be used to adapt to low-throughput scenarios.

[0025] Secondly, a decoding method is provided, which can be executed by a receiving device or a module applied to the receiving device (e.g., a processor, chip, circuit, etc., or a logic module, hardware, and / or software capable of implementing all or part of the functions of the receiving device). The method may include: the receiving device determining a first decoding method from a variety of decoding methods based on a first parameter, the first parameter including at least one of the following: buffer size level, the number of code block groups supported by each transport block, transport block size, the number of code blocks contained in each transport block, modulation and coding scheme index, modulation order, and target code rate or payload code rate of the channel coding; the receiving device decoding the sequence to be decoded based on the first decoding method to obtain a decoded sequence; and the receiving device outputting the decoded sequence.

[0026] Optionally, the first parameter may also include at least one of the following: spectral efficiency, whether probability shaping pre-transformation is enabled, operating frequency band, number of MIMO streams, whether LBRM is enabled, terminal device capability information, measurement information reported by the terminal device, usage scenario, data transmission delay requirements, data transmission error rate requirements, maximum number of decoding iterations or the maximum number of decoding iterations indicated by signaling, etc., which are not limited in this application.

[0027] Based on the above scheme, different decoding methods can be selected according to the first parameter, thereby flexibly adjusting the decoding strategy to meet different throughput or performance requirements.

[0028] In conjunction with the second aspect, in some implementations of the second aspect, the receiving device determines a first decoding method from multiple decoding methods based on a first parameter, including: the receiving device determines the first decoding method from the multiple decoding methods based on the first parameter and a first condition, wherein the first condition includes at least one of the following: the size level of the buffer is greater than or equal to a first threshold value; the number of code block groups supported by each transmission block is greater than or equal to a second threshold value; the size of the transmission block is greater than or equal to a third threshold value; the number of code blocks contained in each transmission block is greater than or equal to a fourth threshold value; the modulation and coding scheme index is greater than or equal to a fifth threshold value; the modulation order is greater than or equal to a sixth threshold value; and the code rate or payload code rate of the channel coding is greater than or equal to a seventh threshold value.

[0029] Optionally, the first condition mentioned above may also include at least one of the following: spectral efficiency greater than or equal to the eighth threshold, operating frequency band greater than or equal to the ninth threshold, MIMO stream number greater than or equal to the tenth threshold, data transmission delay requirement less than or equal to the eleventh threshold, data transmission error rate requirement greater than or equal to the twelfth threshold, maximum number of decoding iterations or maximum number of decoding iterations indicated by signaling less than or equal to the thirteenth threshold, etc., which are not limited in this application.

[0030] In conjunction with the second aspect, in some implementations of the second aspect, the receiving device determines a first decoding method from multiple decoding methods based on a first parameter, including: the receiving device determines the first decoding method from the multiple decoding methods based on the first parameter and a second condition, wherein the second condition includes at least one of the following: the size level of the buffer is less than or equal to a first threshold value; the number of code block groups supported by each transmission block is less than or equal to a second threshold value; the size of the transmission block is less than or equal to a third threshold value; the number of code blocks contained in each transmission block is less than or equal to a fourth threshold value; the modulation and coding scheme index is less than or equal to a fifth threshold value; the modulation order is less than or equal to a sixth threshold value; and the code rate or payload code rate of the channel coding is less than or equal to a seventh threshold value.

[0031] Optionally, the second condition may also include at least one of the following: spectral efficiency less than or equal to the eighth threshold, operating frequency band less than or equal to the ninth threshold, MIMO stream number less than or equal to the tenth threshold, data transmission delay requirement greater than or equal to the eleventh threshold, data transmission error rate requirement less than or equal to the twelfth threshold, maximum number of decoding iterations or maximum number of decoding iterations indicated by signaling greater than or equal to the thirteenth threshold, etc., which are not limited in this application.

[0032] In conjunction with the second aspect, in some implementations of the second aspect, the first decoding method mentioned above is the decoding method corresponding to the concatenated code.

[0033] For example, the first encoding method is a concatenated code, and the concatenation method of the first encoding method is to first encode with the first code type and then encode with the second code type. The first decoding method corresponding to the first encoding method is the inverse operation of the first encoding method, that is, the concatenation method of the first decoding method is to first decode with the second code type and then decode with the first code type.

[0034] For example, when throughput is high, concatenated codes can be used for decoding.

[0035] Based on the above scheme, using concatenated code decoding can improve the error correction performance of the system.

[0036] In conjunction with the second aspect, in some implementations of the second aspect, the aforementioned receiving device decodes the sequence to be decoded based on the first decoding method to obtain the decoded sequence, including: the aforementioned receiving device performs LDPC decoding on the sequence to be decoded based on the first decoding matrix to obtain the decoded sequence, wherein the first decoding matrix is ​​obtained by merging the rows of the first base matrix.

[0037] Based on the above scheme, the core rows of the first base matrix can be merged to obtain the first decoding matrix. Using the first decoding matrix can improve the decoding performance in higher code rate scenarios and reduce the number of iteration rounds in higher code rate scenarios.

[0038] In conjunction with the second aspect, in some implementations of the second aspect, the rows of the aforementioned first basis matrix include the core rows of the first basis matrix.

[0039] In conjunction with the second aspect, in some implementations of the second aspect, the aforementioned receiving device decodes the sequence to be decoded based on the first decoding method to obtain the decoded sequence, including: the aforementioned receiving device performs LDPC decoding on the sequence to be decoded based on a first parity check matrix to obtain the decoded sequence, wherein the punched column of the first parity check matrix is ​​an X*Zc column, where X is a positive integer and Zc is the boosting size of the first base matrix to the first parity check matrix.

[0040] Optionally, the punched columns of the first check matrix are the first X*Zc columns.

[0041] For example, X can be equal to 4.

[0042] For example, in low-throughput scenarios, decoding can be performed by punching holes in the parity check matrix.

[0043] Based on the above scheme, punching holes in the parity check matrix can be used to adapt to non-high throughput scenarios.

[0044] Thirdly, a communication device is provided, which has the function of implementing the method in the first aspect or any possible implementation of the first aspect. The function can be implemented by hardware or by hardware executing corresponding software. The hardware or software includes one or more units corresponding to the above-described function.

[0045] Fourthly, a communication device is provided, which has the function of implementing the method in the second aspect or any possible implementation of the second aspect. The function can be implemented by hardware or by hardware executing corresponding software. The hardware or software includes one or more units corresponding to the above-described function.

[0046] Fifthly, a communication device is provided, comprising at least one processor configured to cause the communication device to execute the method of the first aspect or any possible implementation thereof; or to execute the method of the second aspect or any possible implementation thereof. Optionally, the at least one processor is coupled to at least one memory for storing computer programs or instructions, and the at least one processor is configured to call and run the computer program or instructions from the at least one memory, causing the communication device to execute the method of the first aspect or any possible implementation thereof; or to execute the method of the second aspect or any possible implementation thereof. Optionally, the at least one processor may be included in the communication device or may be configured outside the communication device. Optionally, the communication device further includes the at least one memory. Optionally, the communication device further includes at least one communication interface. As an example, the communication interface may include an input interface and / or an output interface, or may be an interface circuit.

[0047] Sixthly, a communication device is provided, comprising a communication interface and a circuit. The communication interface is configured to receive a signal to be processed and transmit the signal to the circuit. The circuit is configured to process the signal to perform a method as described in the first aspect or any possible implementation thereof; or to perform a method as described in the second aspect or any possible implementation thereof. Optionally, the communication interface is further configured to output a signal processed by the circuit. Optionally, the signal may include information and / or data. Optionally, the communication device may be a chip (e.g., a baseband chip) or a chip system.

[0048] A seventh aspect provides a computer-readable storage medium storing computer program code or instructions that, when executed on a computer, cause the method as described in the first aspect or any possible implementation thereof to be implemented; or, the method as described in the second aspect or any possible implementation thereof to be implemented.

[0049] Eighthly, a computer program product is provided, the computer program product comprising computer program code or instructions, which, when executed on a computer, cause the method in the first aspect or any possible implementation thereof to be implemented; or, as in the second aspect or any possible implementation thereof, the method to be implemented.

[0050] A ninth aspect provides a wireless communication system, including a communication device as described in the third aspect and a communication device as described in the fourth aspect. Attached Figure Description

[0051] Figure 1 is a schematic diagram of a network architecture to which embodiments of this application can be applied.

[0052] Figure 2 is a schematic diagram of the parity check matrix H of an LDPC.

[0053] Figure 3 shows the Tanner plot of the parity-check matrix H of an LDPC.

[0054] Figure 4 is a schematic diagram of the structure of the parity check matrix.

[0055] Figure 5 is a schematic diagram of the information transmission process.

[0056] Figure 6 is a schematic flowchart of an encoding method and a decoding method 600 provided in this application.

[0057] Figure 7 is a schematic structural diagram of the communication device 10 provided in this application.

[0058] Figure 8 is a schematic structural diagram of another communication device 20 provided in this application.

[0059] Figure 9 is a schematic structural diagram of the chip 30 provided in this application. Detailed Implementation

[0060] To facilitate understanding of the embodiments of this application, the following points will be explained before introducing the embodiments of this application.

[0061] In the embodiments of this application, "instruction" can include direct instruction, indirect instruction, explicit instruction, and implicit instruction. When describing a certain instruction information for instructing A, it can be understood that the instruction information carries A, which can be a direct instruction of A or an indirect instruction of A. Indirect instruction can refer to directly instructing B through the instruction information, and the correspondence between B and A, to achieve the purpose of instructing A through the instruction information. The correspondence between B and A can be predefined by the protocol, pre-stored, or obtained through configuration between network elements. The various numerical designations such as "first," "second," etc., are only for descriptive convenience and are not used to limit the scope of the embodiments of this application, such as distinguishing different messages, different information, different parameters, different ranges, etc. "Predefined" can be achieved by pre-saving corresponding codes, tables, or other methods that can be used to instruct relevant information in the device; this application does not limit its specific implementation. The "protocol" involved can refer to standard protocols in the field of communication, such as the Long Term Evolution (LTE) protocol, the New Radio (NR) protocol, and related protocols applied to future communication systems; this application does not limit this. The words “exemplary,” “for example,” and “an example” are used to indicate that something is an example, illustration, or description. Any embodiment or design described as an “example” in this application should not be construed as being more preferred or advantageous than other embodiments or designs. The terms “comprising,” “including,” “having,” and variations thereof all mean “including but not limited to,” unless otherwise specifically emphasized. “At least one” means one or more, and “more than one” means two or more. “And / or” describes the relationship between related objects, indicating that three relationships may exist. For example, A and / or B can mean: A alone, A and B simultaneously, or B alone, where A and B can be singular or plural. “At least one of the following” or similar expressions refer to any combination of these items, including any combination of single or plural items. For example, at least one of a, b, and c can mean: a, or, b, or, c, or, a and b, or, a and c, or, b and c, or, a, b, and c. Where a, b, and c can be single or multiple. Descriptions relating to device A sending messages, information, or data to device B, and device B receiving messages, information, or data from device A, aim to specify which device the message, information, or data is intended for, without specifying whether the transmission is direct or indirect via other devices. Descriptions such as "when," "under," "if," and "if" indicate that the device will take appropriate action under certain objective circumstances, not a time limit, nor do they require the device to perform a judgment action during implementation, nor do they imply any other limitations.

[0062] Furthermore, the network architecture and business scenarios described in the embodiments of this application are for the purpose of more clearly illustrating the technical solutions of the embodiments of this application, and do not constitute a limitation on the technical solutions provided in the embodiments of this application. As those skilled in the art will know, with the evolution of network architecture and the emergence of new business scenarios, the technical solutions provided in the embodiments of this application are also applicable to similar technical problems.

[0063] The following describes a communication system to which embodiments of this application can be applied.

[0064] The embodiments of this application can be applied to various communication systems, including but not limited to: 5th generation (5G) systems, LTE systems, Long Term Evolution-Advanced (LTE-A) systems, LTE Frequency Division Duplex (FDD) systems, LTE Time Division Duplex (TDD) systems, etc. They can also be applied to future communication systems, such as 6th generation mobile communication systems. Furthermore, they can be applied to device-to-device (D2D) communication, vehicle-to-everything (V2X) communication, machine-to-machine (M2M) communication, machine-type communication (MTC), Internet of Things (IoT) communication systems, narrowband Internet of Things (NB-IoT) systems, or other communication systems. Furthermore, it can be extended to similar wireless communication systems, such as Wireless-Fidelity (WiFi), Worldwide Interoperability for Microwave Access (WIMAX), and communication systems related to the 3rd Generation Partnership Project (3GPP), without limitation.

[0065] A communication system applicable to embodiments of this application may include one or more transmitting devices and one or more receiving devices. Optionally, one of the transmitting device and the receiving device may be a terminal device, and the other may be a network device. Optionally, both the transmitting device and the receiving device may be terminal devices. Optionally, both the transmitting device and the receiving device may be network devices. Exemplarily, the transmitting device may be an encoding device, and the receiving device may be a decoding device.

[0066] Figure 1 is a schematic diagram of a network architecture applicable to an embodiment of this application. As shown in Figure 1, the embodiments of this application can be applied to both uplink and downlink data transmission. Figure 1 only uses uplink or downlink data transmission between one network device and two terminal devices (such as terminal device 1 and terminal device 2) as an example. In uplink data transmission, the sending device is the terminal device and the receiving device is the network device; conversely, in downlink data transmission, the sending device is the network device and the receiving device is the terminal device. Furthermore, the applicability of the embodiments of this application in other communication scenarios is not limited; for example, they can also be applied to sidelink communication.

[0067] The terminal equipment in this application can also be referred to as user equipment (UE), access terminal, user unit, user station, mobile station, mobile station, mobile terminal (MT), remote station, remote terminal, mobile device, user terminal, terminal, drone, wireless communication equipment, user agent, or user device, etc. The terminal equipment in the embodiments of this application can be a device that provides voice and / or data connectivity to a user, and can be used to connect people, objects, and machines, such as handheld devices with wireless connectivity, vehicle-mounted devices, etc. The terminal devices in the embodiments of this application may be mobile phones, tablets, laptops, handheld computers, mobile internet devices (MIDs), wearable devices, virtual reality (VR) devices, augmented reality (AR) devices, wireless terminals in industrial control, wireless terminals in self-driving, wireless terminals in remote medical surgery, wireless terminals in smart grids, wireless terminals in transportation safety, wireless terminals in smart cities, wireless terminals in smart homes, etc.

[0068] The network equipment in this application can be a device with wireless transceiver capabilities, which can be a device that provides wireless communication services. It is usually located on the network side, including but not limited to next-generation base stations (gNodeB, gNB) in 5G systems, base stations in sixth-generation mobile communication systems, base stations in future mobile communication systems, or access nodes in wireless fidelity (WiFi) systems, evolved node B (eNB), radio network controller (RNC), node B (NB), base station controller (BSC), home base station (e.g., home evolved NodeB or home Node B, HNB), base band unit (BBU), transmission reception point (TRP), transmitting point (TP), base transceiver station (BTS), satellites, drones, etc. in long term evolution (LTE) systems. In a network architecture, network equipment may include centralized unit (CU) nodes, distributed unit (DU) nodes, RAN equipment including CU and DU nodes, RAN equipment including control plane CU nodes, user plane CU nodes, and DU nodes, or, in a cloud radio access network (CRAN) scenario, wireless controllers, relay stations, vehicle-mounted equipment, and wearable devices. Furthermore, a base station may be a macro base station, micro base station, relay node, donor node, or a combination thereof. A base station may also refer to a communication module, modem, or chip installed within the aforementioned equipment or apparatus. A base station may also be a mobile switching center and equipment performing base station functions in D2D, V2X, and M2M communications, or equipment performing base station functions in future communication systems. A base station can support networks using the same or different access technologies, without limitation.

[0069] Unless otherwise specified, the means for implementing the functions of a terminal device or network device in this application can refer to the terminal device or network device itself, or it can refer to a means that enables the terminal device or network device to implement the functions, such as a chip system or chip, specifically a system-on-a-chip (SoC) or a modem. This means can be installed in the terminal device or network device. In the embodiments of this application, the chip system can be composed of chips, or it can include chips and other discrete devices.

[0070] For example, some embodiments in this document use a 5G system as an example to illustrate specific solution details. When this solution is used in other communication systems, such as LTE systems or future communication systems, the messages, channels, or information in the solution can be replaced with messages, channels, or information in other communication systems that can achieve the corresponding functions, and this application does not limit this.

[0071] Furthermore, the embodiments of this application can be applied to various application scenarios, such as high-throughput scenarios, high-reliability scenarios, low-latency scenarios, high-reliability low-latency scenarios, or low-power scenarios. Among them, high-throughput scenarios can be, for example, enhanced mobile broadband (eMBB) scenarios, high-reliability low-latency scenarios can be, for example, URLLC (ultra-reliable low-latency communication) scenarios, and low-power scenarios can be, for example, M2M scenarios, MTC scenarios, or IoT scenarios.

[0072] To facilitate understanding of the embodiments of this application, several concepts or terms involved in the embodiments of this application are briefly described. The concepts or terms described below are based on the concepts or terms specified in the agreement, but do not mean that the embodiments of this application can only be applied to existing systems. The concepts or terms involved in the embodiments of this application can be applied to future systems. Furthermore, the specific names of the concepts or terms (e.g., concepts or terms involving functional descriptions) can be adjusted as the system develops in the future.

[0073] 1. Low-density parity check (LDPC) code

[0074] LDPC codes are a type of linear block code. A linear block code divides the information sequence to be encoded into groups of q bits each. The encoder then performs linear operations on these q information bits to obtain m parity bits. These q information bits are then combined with the m parity bits to obtain a codeword of length n = q + m. The mapping from q information bits to an n-bit codeword is typically represented by a corresponding parity check matrix H. Based on the parity check matrix H, a codeword sequence can be generated to complete the encoding process. After the codeword sequence is transmitted through the channel, a decoding device decodes the received signal to determine the original information bits.

[0075] The parity-check matrix H of an LDPC is a sparse matrix. The number of zero elements in the parity-check matrix H is far greater than the number of non-zero elements; in other words, the row weight (or column weight) of the parity-check matrix is ​​far less than the number of elements in each row (or column) of the LDPC matrix. Specifically, an LDPC code with an information bit length of q and a code length of n can be uniquely determined by its parity-check matrix H.

[0076] In 1981, Tanner represented the parity-check matrix H graphically, and this type of graph is now called a Tanner graph. There is a one-to-one correspondence between the Tanner graph and the parity-check matrix. A Tanner graph consists of two types of vertices: one type represents codeword bits and is called variable nodes, and the other type consists of parity nodes, representing parity constraints. Each parity node represents a parity constraint, which will be explained below with reference to Figures 2 and 3.

[0077] Figure 2 is a schematic diagram of the parity check matrix H of an LDPC.

[0078] In Figure 2, {V i} represents the set of variable nodes (VN), {C i} represents the set of check nodes (CNs). Each row of the check matrix H represents a check equation, and each check equation corresponds to a check node. Each column represents a codeword bit, and each codeword bit corresponds to a variable node. In Figure 2, there are 8 variable nodes and 4 check nodes. If a codeword bit is included in the corresponding check equation, a line is used to connect the involved variable nodes and check nodes to obtain the Tanner graph.

[0079] Figure 3 is a Tanner plot of the parity-check matrix H of an LDPC.

[0080] As shown in Figure 3, the Tanner graph represents the parity-check matrix of the LDPC. For example, for a parity-check matrix H of size m rows and n columns, the Tanner graph contains two types of nodes: n variable nodes and m parity nodes. The n variable nodes correspond to the n columns of the parity-check matrix H, and the m parity nodes correspond to the m rows of the parity-check matrix H. A cycle in the Tanner graph is composed of interconnected vertices, with one vertex serving as both the start and end point of the cycle, and each node is visited only once. The variable nodes in the Tanner graph correspond to each column of the parity-check matrix H, which is equivalent to each codeword bit in the LDPC. The parity nodes in the Tanner graph correspond to each row of the parity-check matrix H, which is equivalent to the parity bit in the LDPC. The connection between the two types of nodes corresponds to the value of an element in the H matrix. If there is a connection between the i-th parity node and the j-th variable node, the element (i, j) in the H matrix has a value of 1; otherwise, the corresponding element is 0. The connection between variable nodes and parity nodes can also be called an edge. The existence of a connection between the validation node and the variable node can also be described as: the validation node and the variable node are connected or have an edge. The connection between the validation node and the variable node can include either the presence of an edge or the absence of an edge.

[0081] 2. Quasi-cyclic low-density parity check (QC-LDPC) code

[0082] QC-LDPC codes are a type of structured LDPC codes. Due to the unique structure of their parity-check matrix, encoding can be implemented using a simple feedback shift register, reducing the encoding complexity of LDPC codes. In practice, QC-LDPC codes are represented using a base grape (BG), where elements are either 0 or 1. Expanding the 1s and 0s in the BG yields a parity-check matrix H, which can be used for encoding or decoding. In the embodiments of this application, the BG can be written in matrix form, referred to as the base matrix H in this application. BG Basis matrix H BG An element of 0 indicates that there are no edges in the base graph, while a value of 1 indicates that there are edges in the base graph (or that the corresponding check is associated with the corresponding variable). NR LDPC codes involve multiple base graph selection; currently, the standard stores two base graphs, BG1 and BG2. BG2 is used when the information length is less than or equal to 292, or when the information length is less than or equal to 3824 and the code rate is less than or equal to 2 / 3, or when the code rate is less than or equal to 0.25; otherwise, BG1 is used. The following section discusses the base matrix H. BG The expansion process is described.

[0083] Based on the basis matrix H BGAnd by increasing the lifting size Zc, the basis matrix H can be... BG The matrix is ​​expanded into a complete parity-check matrix for encoding or decoding. In this application, Zc can also be referred to as the expansion factor, boosting factor, expansion value, expansion coefficient, boosting size, etc. The expansion process involves boosting all elements of the base matrix into a Zc*Zc square matrix. Specifically, 0 is boosted to a Zc*Zc zero matrix, and 1 is boosted to an identity matrix. This identity matrix is ​​then cyclically shifted based on the shifting value (SV) corresponding to 1. This cyclic shift can be left or right, and this application does not limit this. It can be understood that each 1 in the base matrix corresponds to a shifting value. For example, boosting 1 to a 4×4 identity matrix with shifting values ​​of 0, 1, 2, and 3, and a cyclic shift to the right, is illustrated below:

[0084] (1) When the translation value is 0 (i.e., remains unchanged), the matrix after right circular shift is:

[0085] (2) When the translation value is 1, the matrix after the right circular shift is:

[0086] (3) When the translation value is 2, the matrix after the right circular shift is:

[0087] (4) When the translation value is 3, the matrix after the right circular shift is:

[0088] Alternatively, it can be understood that the complete parity check matrix H can be derived from an exponential matrix H. b H indicates b Each element in the matrix corresponds to a Zc*Zc submatrix. Each element indicates the number of times the corresponding submatrix has been cyclically shifted by the identity matrix. Therefore, the storage space required for the complete parity check matrix H is greatly reduced. (Exponential matrix H) b The elements in it can also be called QC blocks.

[0089] For example, the exponent matrix H of the QC-LDPC code b As shown below:

[0090] It can be seen that the exponent matrix H b The size is 4 rows and 24 columns, and the exponent matrix H b Each element i in the matrix represents a square matrix of order Z. Let represent a cyclic shift matrix, where i represents the cyclic shift value of the cyclic shift matrix, and i is an integer. Additionally, the exponent matrix H... b In this context, "-1" represents a zero matrix and "0" represents the identity matrix.

[0091] For example, As shown below:

[0092] Optional, exponent matrix H b In addition to "-1", zero elements in the matrix can also be represented in other ways, such as using "-" or null values ​​to represent a matrix of all zeros.

[0093] It is understandable that the above exponent matrix H b The matrix corresponding to the positions greater than or equal to 0 that are changed to 1 and the positions of -1 that are changed to 0 is the base matrix. The 1s in the base matrix are then expanded into a cyclic shift matrix based on the corresponding elements of the exponent matrix, and the 0s are expanded into a 0 matrix of the corresponding size. After expansion, the parity check matrix is ​​obtained.

[0094] 3. Non-zero elements and zero elements

[0095] In this application, zero elements in the check matrix indicate that there is no connection between the variable node and the check node. Non-zero elements in the check matrix indicate that there is a connection between the variable node and the check node.

[0096] This application does not limit the specific representation of zero and non-zero elements. For example, in the exponential matrix H b In a matrix, "-1" can be used to represent a zero element, and "non-negative value" can be used to represent a non-zero element. Similarly, in a parity check matrix H, "0" can be used to represent a zero element, and "1" can be used to represent a non-zero element.

[0097] For ease of description, the LDPC basis matrix below uses "0" to represent zero elements and "1" to represent non-zero elements.

[0098] 4. Basic Structure of Basis Matrices

[0099] As shown in Figure 4(a), the base matrix can include a high-rate region, an all-zero region, an incremental redundancy region, and a raptor-like region. The high-rate region can include parts A and B as shown in Figure 4(b), where part A corresponds to information bits (or information digits, etc.), and part B is a square matrix corresponding to the core parity bits (or core parity digits). Part B can also be the region corresponding to parity columns with column weights greater than 1 in the high-rate region. The all-zero region can correspond to part C in Figure 4(b) and is an all-zero matrix. The incremental redundancy region can correspond to part D in Figure 4(b). The raptor-like region can correspond to part E in Figure 4(b) and can be an identity matrix or a lower triangular matrix, corresponding to the parity bits of the low-rate extension.

[0100] The LDPC code base matrix shown in Figure 4 adopts a "raptor-like" structure, which can be gradually extended from a high-rate kernel matrix to a low-rate matrix, thus flexibly supporting encoding at various code rates. In practical use, as shown in Figure 4(a), the first X rows and the first Y columns of the base matrix can be extracted. As the code rate decreases, X and Y gradually increase, and the area of ​​the matrix used also gradually expands. The difference between X and Y represents the number of information columns.

[0101] The LDPC basis matrix truncated at any bit rate can be represented by a parity-check matrix H, which can also be represented by an exponent matrix H. b Therefore, the structure of the LDPC basis matrix, the structure of the parity-check matrix H, and the structure of the exponent matrix H are related. b The structure is similar, and will not be elaborated here.

[0102] 5. Core matrix, core rows, core columns

[0103] Core line: This is the line corresponding to the core check bit. In other words, the core line is the line corresponding to the high bitrate region, or the line corresponding to part A, or the line corresponding to part B.

[0104] Core columns: These can include all information columns and all core check columns. In other words, core columns are the columns corresponding to high bitrate areas, or the columns corresponding to part A plus part B.

[0105] The kernel matrix is ​​the portion consisting of all the kernel rows and columns of the LDPC base matrix or LDPC parity-check matrix. In other words, the kernel matrix is ​​the high-bitrate region of the LDPC base matrix or LDPC parity-check matrix, or a matrix composed of part A and part B.

[0106] 6. Extended columns, non-extended columns, extended rows, and non-extended rows

[0107] For LDPC codes, each additional extension node adds one row and one column to the actual matrix used. In this application, these added row and column are referred to as extension column and extension row, respectively. Extension column is the column corresponding to the extension node; in other words, it corresponds to the extended parity bit. Columns other than the extension columns are non-extension columns. Rows other than the extension rows are non-extension rows. Taking Figure 4 as an example, columns C and E are extension columns, and rows D and E are extension rows.

[0108] Furthermore, in this application, the portion consisting of non-extended columns can also be called the core portion, and the portion consisting of extended columns can also be called the extended portion. Taking Figure 4 as an example, the portion consisting of A, B, and D is the core portion, and the portion consisting of C and E is the extended portion.

[0109] 7. Drilling Column

[0110] In LDPC codes, bits corresponding to punctured columns are not transmitted. Punctured columns can be either information columns or parity columns. Furthermore, columns in LDPC codes that are not punctured are also called non-punctured columns. Similarly, non-punctured columns can be either information columns or parity columns.

[0111] Generally, the punched columns for BG1 and BG2 are column 1 and column 2, respectively.

[0112] 8. Message length, code length, and code rate

[0113] The information length is the length of the information bit sequence to be encoded (i.e., the number of bits it contains). This length can be the length of the payload information bits, or the length of the payload information bits after adding cyclic redundancy check (CRC) bits. This application does not impose any specific restrictions.

[0114] Code length refers to the length of the bit sequence to be transmitted, which can be the transmitted bit sequence corresponding to the modulated symbol.

[0115] Bitrate refers to the ratio of information length to bit length.

[0116] Optionally, the above three values ​​can be pre-configured by higher-layer signaling, medium access control (MAC) layer, or downlink physical layer signals, or they can be directly obtained and calculated by the transceiver. For example, the code length can be determined by the frame structure, number of layers, and modulation scheme of the encoded and transmitted information bit sequence; the code rate can be indicated in the above manner or given in the modulation and coding scheme (MCS).

[0117] 9. Information Transmission Process

[0118] Figure 5 is a schematic diagram of the information transmission process applicable to this application. As shown in Figure 5, information is sent from the source, undergoes source coding, channel coding, modulation, air interface transmission, demodulation, channel decoding, and source recovery, and finally reaches the destination, completing the transmission of information from the source to the destination. The processing shown in the upper layer of Figure 5 (including source coding, channel coding, and modulation) is performed at the coding device, while the processing shown in the lower layer (including demodulation, channel decoding, and source recovery) is performed at the decoding device. The embodiments of this application mainly involve the source coding, channel coding, channel decoding, and source recovery shown in Figure 5.

[0119] Currently, a single LDPC code is used for channel coding in different application scenarios. However, the throughput and data transmission performance vary across these scenarios, making it impossible to meet the throughput and performance requirements of all applications. Therefore, this application proposes an encoding and decoding method that allows for flexible selection of different encoding methods for various application scenarios, achieving good encoding and decoding performance across different applications.

[0120] Figure 6 is a schematic flowchart of an encoding and decoding method 600 provided in this application. The method includes the following steps.

[0121] It is understood that method 600 can be executed by both the sending device and the receiving device. Unless otherwise specified, "sending device" or "receiving device" can refer to the sending device or receiving device itself, or it can refer to a device that enables the sending device or receiving device to perform this function. For ease of description, the following text will use "sending device" and "receiving device" to describe it. The sending device can be a terminal device or a network device, and the receiving device can be a terminal device or a network device.

[0122] S610, the transmitting device determines the first encoding method from multiple encoding methods based on the first parameter.

[0123] Specifically, the first parameter mentioned above includes at least one of the following:

[0124] (1a) Buffer size level or buffer size value (BS value);

[0125] (2a) The number of code block groups (CBGs) supported by each transport block (TB);

[0126] (3a) Transport block size (TBS);

[0127] (4a) The number of code blocks (CBs) contained in each TB;

[0128] (5a) Modulation and coding scheme (MCS) index;

[0129] (6a) Modulation order;

[0130] (7a) The target code rate or payload code rate of the channel coding.

[0131] (8a) Spectral efficiency;

[0132] (9a) Whether probabilistic shaping pretransformation is enabled;

[0133] (10a) Operating frequency band;

[0134] (11a) Stream number of multi-input multi-output (MIMO);

[0135] (12a) Whether limited buffer rate matching (LBRM) is enabled;

[0136] (13a) Capability information of the terminal device; wherein, the capability information of the terminal device includes the device type of the terminal device, the decoding complexity of the terminal device, the decoding mode of the terminal device, the receiver complexity of the terminal device, the receiving mode of the terminal device, the power consumption of the terminal device, the power consumption mode of the terminal device, etc.

[0137] (14a) Measurement information reported by the terminal device; wherein, the measurement information reported by the terminal device includes measurement reports, channel quality information (CQI), etc. reported by the terminal device;

[0138] (15a) Use cases;

[0139] (16a) Data transmission delay requirements;

[0140] (17a) Error rate requirements for data transmission;

[0141] (18a) The maximum number of decoding iterations or the maximum number of decoding iterations indicated by the signaling.

[0142] For example, the above-mentioned multiple encoding methods include the following encoding methods:

[0143] (A) Concatenated code;

[0144] (B) LDPC encoding + mapping of the parity bits after LDPC encoding;

[0145] (C) LDPC encoding + punching holes in the codeword bits after LDPC encoding.

[0146] The above-mentioned encoding methods may also include other encoding methods, which are not limited in this application.

[0147] The concatenation codes mentioned above include any of the following concatenation methods:

[0148] LDPC codes can be concatenated with BCH (Bose-Chaudhuri-Hocquenghem) codes, LDPC codes with cyclic redundancy check (CRC) codes, LDPC codes with Reed-Solomon (RS) codes, LDPC codes with Reed Muller (RM) codes, and LDPC codes with polar codes, etc.

[0149] Optionally, the transmitting device can determine the first encoding method from the multiple encoding methods based on the first parameter and a condition, wherein the condition corresponding to the first parameter includes at least one of the following:

[0150] (1b) The buffer size level or the buffer size value (BS value) is greater than or equal to the first threshold value.

[0151] For example, if the buffer status report (BSR) index carried in the medium access control element (MAC CE) is greater than or equal to the threshold value 1, or if the BS value indicated by the BSR index carried in the MCE CE is greater than or equal to the threshold value 2, the current communication scenario can be considered as a high-throughput scenario. An encoding method suitable for the high-throughput scenario can be selected for encoding. For example, (A) or (B) of the above-mentioned multiple encoding methods can be selected as the first encoding method.

[0152] Optionally, if (1b) is less than or equal to the first threshold value, the current communication scenario can be considered as a non-high throughput scenario. An encoding method suitable for the non-high throughput scenario can be selected for encoding. For example, (C) among the above encoding methods can be selected as the first encoding method.

[0153] Specifically, the structures of MAC CEs carrying BSRs include Short BSR MAC CE, Short-Truncated BSR MAC CE, Long BSR MAC CE, and Long-Truncated BSR MAC CE.

[0154] In one example, a Short BSR MAC CE or Short-Truncated BSR MAC CE consists of 8 bits, with 3 bits used for the logical channel group identity (LCG ID) and the remaining 5 bits used for the BSR. These remaining 5 bits can provide 2^5 = 32 BSR indices, ranging from 0 to 31. A BSR index of 0 represents a 0-byte BSR, ..., and a BSR index of 31 represents a 150,000-byte BSR, as shown in Table 1 below.

[0155] Table 1

[0156] For example, based on Table 1 above, the threshold value 1 can be determined as 31. That is, when the BSR index is greater than or equal to 31, the current communication scenario can be considered a high-throughput scenario, and an encoding method suitable for high-throughput scenarios can be selected for encoding; otherwise, the current communication scenario can be considered a low-throughput scenario, and an encoding method suitable for low-throughput scenarios can be selected for encoding. Alternatively, the threshold value 2 can be determined as 150,000 bytes. That is, when the BS value is greater than or equal to 150,000 bytes (1,200,000 bits), the current communication scenario can be considered a high-throughput scenario, and an encoding method suitable for high-throughput scenarios can be selected for encoding; otherwise, the current communication scenario can be considered a low-throughput scenario, and an encoding method suitable for low-throughput scenarios can be selected for encoding.

[0157] Another example is the Long BSR MAC CE or Long-Truncated BSR MAC CE, which uses 8 bits for the BSR. These 8 bits can provide 2^8 = 256 BSR indices, ranging from 0 to 255. A BSR index of 0 represents a BSR of 0 bytes, ..., and a BSR index of 255 represents a BSR greater than 81,338,368 bytes, as shown in Table 2 below.

[0158] Table 2

[0159] For example, based on Table 2 above, the threshold value 1 can be determined as 154. That is, when the BSR index is greater than or equal to 154, the current communication scenario can be considered a high-throughput scenario, and an encoding method suitable for high-throughput scenarios can be selected for encoding; otherwise, the current communication scenario can be considered a low-throughput scenario, and an encoding method suitable for low-throughput scenarios can be selected for encoding. Alternatively, the threshold value 2 can be determined as 150992 bytes. That is, when the BS value is greater than or equal to 150992 bytes (1207936 bits), the current communication scenario can be considered a high-throughput scenario, and an encoding method suitable for high-throughput scenarios can be selected for encoding; otherwise, the current communication scenario can be considered a low-throughput scenario, and an encoding method suitable for low-throughput scenarios can be selected for encoding.

[0160] (2b) The number of CBGs supported by each TB is greater than or equal to the second threshold value.

[0161] For example, if maxCodeBlockGroupPerTransportBlock carried in the high-level parameters PUSCH-CodeBlockGroupTransmission or PDSCH-CodeBlockGroupTransmission is greater than or equal to the second threshold value, the current communication scenario can be considered as a high-throughput scenario. An encoding method suitable for the high-throughput scenario can be selected for encoding. For example, (A) or (B) of the above-mentioned multiple encoding methods can be selected as the first encoding method.

[0162] Optionally, (2b) if the number of CBGs supported by each TB is less than or equal to the second threshold value, the current communication scenario can be considered as a non-high throughput scenario. An encoding method suitable for the non-high throughput scenario can be selected for encoding. For example, (C) of the above multiple encoding methods can be selected as the first encoding method.

[0163] For example, the second threshold value mentioned above is 6.

[0164] (3b) TBS is greater than or equal to the third threshold value.

[0165] For example, if TBS is greater than or equal to the third threshold value, the current communication scenario can be considered as a high-throughput scenario. An encoding method suitable for the high-throughput scenario can be selected for encoding. For example, (A) or (B) of the above multiple encoding methods can be selected as the first encoding method.

[0166] Optionally, (3b) means that TBS is less than or equal to the third threshold value. It can be assumed that the current communication scenario is a non-high throughput scenario. An encoding method suitable for the non-high throughput scenario can be selected for encoding. For example, (C) among the above encoding methods can be selected as the first encoding method.

[0167] For example, the third threshold value is 1,267,200 bytes or 1,689,600 bytes.

[0168] (4b) The number of CBs contained in each TB is greater than or equal to the fourth threshold value.

[0169] For example, if the number of CBs contained in each TB is greater than or equal to the fourth threshold value, the current communication scenario can be considered as a high-throughput scenario. An encoding method suitable for the high-throughput scenario can be selected for encoding. For example, (A) or (B) of the above multiple encoding methods can be selected as the first encoding method.

[0170] Optionally, (4b) if the number of CBs contained in each TB is less than or equal to the fourth threshold value, the current communication scenario can be considered as a non-high throughput scenario. An encoding method suitable for the non-high throughput scenario can be selected for encoding. For example, (C) among the above multiple encoding methods can be selected as the first encoding method.

[0171] For example, the fourth threshold value is 100 or 150, and this application does not limit it.

[0172] (5b) The MCS index is greater than or equal to the fifth threshold value.

[0173] For example, the MCS table of NR includes four items: MCS index, modulation order, channel coding code rate r (called target code rate in the MCS table), and spectral efficiency, where r = R * 1024.

[0174] Table 3

[0175] For example, if the MCS index is greater than or equal to the fifth threshold value, the current communication scenario can be considered as a high-throughput scenario. An encoding method suitable for the high-throughput scenario can be selected for encoding. For example, (A) or (B) of the above multiple encoding methods can be selected as the first encoding method.

[0176] Optionally, (5b) means that if the MCS index is less than or equal to the fifth threshold value, the current communication scenario can be considered as a non-high throughput scenario. The encoding method suitable for the non-high throughput scenario can be selected for encoding. For example, (C) among the above encoding methods can be selected as the first encoding method.

[0177] For example, based on Table 3 above, the fifth threshold value can be determined as 20, 21, 22, 23, 24, 25, 26, 27 or 28, etc.

[0178] (6b) The modulation order is greater than or equal to the sixth threshold.

[0179] For example, if the modulation order is greater than or equal to the sixth threshold, the current communication scenario can be considered as a high-throughput scenario. An encoding method suitable for the high-throughput scenario can be selected for encoding. For example, (A) or (B) of the above multiple encoding methods can be selected as the first encoding method.

[0180] Optionally, (6b) is a modulation order less than or equal to the sixth threshold value. It can be assumed that the current communication scenario is a non-high throughput scenario. An encoding method suitable for the non-high throughput scenario can be selected for encoding. For example, (C) among the above encoding methods can be selected as the first encoding method.

[0181] Specifically, quadrature amplitude modulation (QAM) is a high-order modulation technique where a single QAM symbol can carry multiple bits of information. The higher the modulation order of QAM, the more bits a single QAM symbol can transmit. For example, 64QAM has a modulation order of 6, and a symbol can carry 6 bits of information; 256QAM has a modulation order of 8, and a symbol can carry 8 bits of information; 1024QAM has a modulation order of 10, and a symbol can carry 10 bits of information; and 4096QAM has a modulation order of 12, and a symbol can carry 12 bits of information.

[0182] For example, based on Table 3 above, the sixth threshold value can be determined as 8, 10, or 12, etc.

[0183] (7b) The target code rate or payload code rate of the channel coding is greater than or equal to the seventh threshold.

[0184] Specifically, if the target code rate R of the channel coding is greater than or equal to the seventh threshold, the current communication scenario can be considered as a high-throughput scenario. A coding method suitable for the high-throughput scenario can be selected for coding. For example, (A) or (B) of the above coding methods can be selected as the first coding method.

[0185] Optionally, (7b) means that the target code rate or payload code rate of the channel coding is less than or equal to the seventh threshold value. It can be assumed that the current communication scenario is a non-high throughput scenario. The coding method suitable for the non-high throughput scenario is selected for coding. For example, (C) of the above coding methods can be selected as the first coding method.

[0186] For example, based on Table 3 above, the seventh threshold value can be determined as 22 / 24, 22 / 25, 22 / 26, 948 / 1024, 910 / 1024 or 873 / 1024, etc.

[0187] (8b) Spectral efficiency is greater than or equal to the eighth threshold.

[0188] Specifically, if the spectral efficiency is greater than or equal to the eighth threshold, the current communication scenario can be considered a high-throughput scenario. An encoding method suitable for the high-throughput scenario can be selected for encoding. For example, (A) or (B) of the above-mentioned multiple encoding methods can be selected as the first encoding method.

[0189] Optionally, (8b) means that if the spectral efficiency is less than or equal to the eighth threshold, the current communication scenario can be considered as a non-high throughput scenario. The coding method suitable for the non-high throughput scenario can be selected for coding. For example, (C) among the above coding methods can be selected as the first coding method.

[0190] For example, based on Table 3 above, the eighth threshold value can be 6, 7, 7.5 or 8, etc.

[0191] (9b) Probabilistic shaping pretransformation enabled.

[0192] For example, if probabilistic shaping pre-transformation is enabled, the current communication scenario can be considered as a high-throughput scenario, and an encoding method suitable for the high-throughput scenario can be selected for encoding. For example, (A) or (B) of the above multiple encoding methods can be selected as the first encoding method.

[0193] Optionally, (9b) indicates that probabilistic shaping pre-transformation is not enabled, which means that the current communication scenario is a non-high throughput scenario. In this case, an encoding method suitable for the non-high throughput scenario can be selected for encoding. For example, (C) among the above encoding methods can be selected as the first encoding method.

[0194] (10b) The operating frequency band is greater than or equal to the ninth threshold value.

[0195] For example, if the operating frequency band is greater than or equal to the ninth threshold, the current communication scenario can be considered as a high-throughput scenario. An encoding method suitable for the high-throughput scenario can be selected for encoding. For example, (A) or (B) of the above multiple encoding methods can be selected as the first encoding method.

[0196] Optionally, (10b) is a working frequency band less than or equal to the ninth threshold value. It can be considered that the current communication scenario is a non-high throughput scenario. An encoding method suitable for the non-high throughput scenario can be selected for encoding. For example, (C) among the above multiple encoding methods can be selected as the first encoding method.

[0197] For example, the ninth threshold value mentioned above can be 24 MHz or 24.25 GHz.

[0198] (11b) The number of streams in a MIMO is greater than or equal to the tenth threshold.

[0199] Specifically, if the number of streams in MIMO is greater than or equal to the tenth threshold, the current communication scenario can be considered as a high-throughput scenario. An encoding method suitable for the high-throughput scenario can be selected for encoding. For example, (A) or (B) of the above-mentioned multiple encoding methods can be selected as the first encoding method.

[0200] Optionally, (11b) means that the number of MIMO streams is less than or equal to the tenth threshold value. It can be assumed that the current communication scenario is a non-high throughput scenario. An encoding method suitable for the non-high throughput scenario can be selected for encoding. For example, (C) among the above encoding methods can be selected as the first encoding method.

[0201] For example, the tenth threshold value mentioned above can be 4, 5, 6 or 12.

[0202] (12b) LBRM enabled.

[0203] For example, if LBRM is enabled, the current communication scenario can be considered as a high-throughput scenario, and an encoding method suitable for the high-throughput scenario can be selected for encoding. For example, (A) or (B) of the above multiple encoding methods can be selected as the first encoding method.

[0204] Optionally, (12b) indicates that LBRM is not enabled, which means that the current communication scenario is a non-high throughput scenario. In this case, an encoding method suitable for the non-high throughput scenario can be selected for encoding. For example, (C) among the above encoding methods can be selected as the first encoding method.

[0205] (13b) The capability information of the terminal device meets specific requirements; wherein, the capability information of the terminal device includes the device type of the terminal device, the decoding complexity of the terminal device, the decoding mode of the terminal device, the receiver complexity of the terminal device, the receiving mode of the terminal device, the power consumption of the terminal device, the power consumption mode of the terminal device, etc.

[0206] Optionally, (13b) indicates that the terminal device's capability information does not meet specific requirements.

[0207] (14b) The measurement information reported by the terminal device meets specific requirements; wherein, the measurement information reported by the terminal device includes measurement reports, CQI, etc. reported by the terminal device.

[0208] Optionally, (14b) indicates that the measurement information reported by the terminal device does not meet specific requirements.

[0209] (15b) The scenario to which the application scenario belongs is a high throughput scenario.

[0210] For example, if the usage scenario is an eMBB scenario, the current communication scenario can be considered as a high-throughput scenario. An encoding method suitable for high-throughput scenarios can be selected for encoding. For example, (A) or (B) of the above multiple encoding methods can be selected as the first encoding method.

[0211] For example, if the usage scenario is a URLLC scenario, the current communication scenario can be considered as a high reliability and low latency scenario, and either (A) or (B) of the above multiple encoding methods can be selected as the first encoding method.

[0212] For example, if the usage scenario is an M2M scenario, an MTC scenario, or an IoT scenario, the current communication scenario can be considered as a low-power scenario, and (A) or (B) of the above multiple encoding methods can be selected as the first encoding method.

[0213] Optionally, (15b) refers to a scenario where the usage scenario is a non-high-throughput scenario. An encoding method suitable for non-high-throughput scenarios is selected for encoding. For example, (C) among the various encoding methods mentioned above can be selected as the first encoding method.

[0214] (16b) The data transmission delay must be less than or equal to the eleventh threshold;

[0215] For example, if the data transmission delay requirement is less than or equal to the eleventh threshold, the current communication scenario can be considered a high-throughput scenario. An encoding method suitable for the high-throughput scenario can be selected for encoding. For example, (A) or (B) of the above multiple encoding methods can be selected as the first encoding method.

[0216] Optionally, (16b) means that the data transmission delay requirement is greater than or equal to the eleventh threshold value. It can be assumed that the current communication scenario is a non-high throughput scenario. An encoding method suitable for the non-high throughput scenario can be selected for encoding. For example, (C) among the above multiple encoding methods can be selected as the first encoding method.

[0217] For example, the eleventh threshold value mentioned above can be 1 millisecond (ms) or 0.5 ms.

[0218] (17b) The error rate of data transmission is required to be greater than or equal to the twelfth threshold;

[0219] For example, if the error rate requirement for data transmission is greater than or equal to the twelfth threshold, the current communication scenario can be considered as a high-throughput scenario. An encoding method suitable for the high-throughput scenario can be selected for encoding. For example, (A) or (B) of the above-mentioned multiple encoding methods can be selected as the first encoding method.

[0220] Optionally, (17b) is the error rate requirement for data transmission being less than or equal to the twelfth threshold value. It can be assumed that the current communication scenario is a non-high throughput scenario. An encoding method suitable for the non-high throughput scenario can be selected for encoding. For example, (C) among the above multiple encoding methods can be selected as the first encoding method.

[0221] For example, the twelfth threshold value mentioned above can be 1e-2 or 1e-3.

[0222] (18b) The maximum number of decoding iterations or the maximum number of decoding iterations indicated by the signaling is less than or equal to the thirteenth threshold.

[0223] For example, if the maximum number of decoding iterations is less than or equal to the thirteenth threshold, the current communication scenario can be considered as a high-throughput scenario. An encoding method suitable for the high-throughput scenario can be selected for encoding. For example, (A) or (B) of the above multiple encoding methods can be selected as the first encoding method.

[0224] Optionally, (18b) is the maximum number of iterations in decoding or the maximum number of iterations in decoding indicated by the signaling. If the maximum number of iterations in decoding is greater than or equal to the thirteenth threshold, the current communication scenario can be considered as a non-high throughput scenario. An encoding method suitable for the non-high throughput scenario can be selected for encoding. For example, (C) of the above multiple encoding methods can be selected as the first encoding method.

[0225] For example, the thirteenth threshold value mentioned above can be 5, 6, 7, 8, 9 or 10.

[0226] S620, the transmitting device encodes the information bits to be encoded based on the first encoding method described above to obtain the first codeword sequence.

[0227] As an example, the first encoding method is (A) among the above-mentioned encoding methods.

[0228] For example, the first encoding method is a concatenation of LDPC code and BCH code. The transmitting device first performs LDPC encoding on the information bits to be encoded to obtain a second codeword sequence; then the transmitting device performs BCH encoding on the second codeword sequence to obtain a first codeword sequence.

[0229] Another example is that the first encoding method is (B) among the various encoding methods mentioned above.

[0230] For example, the transmitting device performs LDPC encoding on the information bits to be encoded based on the first parity check matrix to obtain a second codeword sequence, which includes an information bit sequence and a first parity check bit sequence; the transmitting device maps the first parity check bit sequence to a second parity check bit sequence to obtain a first codeword sequence, which includes an information bit sequence and a second parity check bit sequence.

[0231] For example, the first parity bit sequence consists of A parity bit sequences, each of which has a length of Zc; the second parity bit sequence consists of B parity bit sequences, each of which has a length of Zc. Wherein, A and B can be any positive integers, and this application does not impose any limitation on them.

[0232] Example 1: Within parity bit sequence B, there exists a parity bit sequence #1B. This parity bit sequence #1B is obtained by performing an XOR operation on parity bit sequences #1A and #2A. Specifically, parity bit sequence #1A is either a segment of the parity bit sequence within segment A, or it is obtained by cyclically shifting a segment of the parity bit sequence within segment A; parity bit sequence #2A is either another segment of the parity bit sequence within segment A, or it is obtained by cyclically shifting another segment of the parity bit sequence within segment A.

[0233] Example 2: The parity bit sequence B may contain a parity bit sequence #2B, which is obtained by performing an XOR operation on parity bit sequences #3A, #4A, and #5A. Specifically, parity bit sequence #3A is a parity bit sequence within parity bit sequence A, or parity bit sequence #3A is obtained by cyclically shifting a parity bit sequence within parity bit sequence A; and / or, parity bit sequence #4A is another parity bit sequence within parity bit sequence A, or parity bit sequence #4A is obtained by cyclically shifting another parity bit sequence within parity bit sequence A; and / or, parity bit sequence #5A is yet another parity bit sequence within parity bit sequence A, or parity bit sequence #5A is obtained by cyclically shifting yet another parity bit sequence within parity bit sequence A.

[0234] Example 3: In segment B, there may be a parity bit sequence #3B, which is obtained by performing an XOR operation on any number of parity bit sequences in segment A.

[0235] Specifically, the first check bit sequence includes a first core check bit sequence, and the first core check bit sequence and the second core check bit sequence are the check bits corresponding to all core rows of the first check matrix. The transmitting device can map the first core check bit sequence to the second check bit sequence.

[0236] Optionally, the first parity bit sequence may further include a first extended parity bit sequence, which is the parity bit corresponding to the extended row of the first parity matrix.

[0237] Another example is that the first encoding method is (C) among the above-mentioned encoding methods.

[0238] The transmitting device performs LDPC encoding on the information bits to be encoded based on the first parity check matrix to obtain a second codeword sequence; the transmitting device then punches X*Zc codeword bits in the second codeword sequence to obtain a first codeword sequence. Here, X is a positive integer, and Zc is the boosting size of the first base matrix to the aforementioned first parity check matrix.

[0239] For example, the transmitting device may punch holes in the first X*Zc codeword bits of the second codeword sequence.

[0240] For example, X equals 4.

[0241] For example, the length of the first codeword sequence after punching is less than the length of the second codeword sequence before punching.

[0242] S630, the transmitting device outputs the first codeword sequence mentioned above.

[0243] After encoding is complete, the sending device outputs the first codeword sequence.

[0244] Optionally, method 600 may also include a decoding method on the decoding side. This will be explained below with reference to S640 to S660.

[0245] S640, the receiving device acquires the sequence to be decoded.

[0246] The sequence to be decoded can refer to the first codeword sequence output by the encoding side, which is received at the decoding side after transmission through the channel.

[0247] S650, the receiving device determines a first decoding method from multiple decoding methods based on a first parameter.

[0248] How the receiving device determines the first decoding method from multiple decoding methods based on the first parameter mentioned above can be referred to in S610 above, which describes how the transmitting device determines the first encoding method from multiple encoding methods based on the first parameter mentioned above. It will not be repeated here.

[0249] S660, the receiving device decodes the sequence to be decoded based on the first decoding method described above, and obtains the decoded sequence.

[0250] In one example, if the first encoding method is (A) among the above multiple encoding methods, for example, the first encoding method is the concatenation of LDPC code and BCH code, and the first decoding method corresponding to the first encoding method is the concatenation of BCH code and LDPC code, that is, the receiving device first performs BCH decoding on the above sequence to be decoded to obtain the first decoded sequence; the receiving device then performs LDPC decoding on the first decoded sequence to obtain the decoded sequence.

[0251] In another example, if the first encoding method is (B) among the above-mentioned multiple encoding methods, the first decoding method corresponding to the first encoding method is: the receiving device performs LDPC decoding on the above-mentioned sequence to be decoded based on the first decoding matrix to obtain the decoded sequence, wherein the first decoding matrix is ​​obtained by merging the rows of the first base matrix.

[0252] For example, the first base matrix consists of A rows, and the first decoding matrix consists of B rows. A and B can be any positive integers, and this application does not impose any limitations on them.

[0253] Example 1: There is a row #1B in B rows. This row #1B is obtained by performing an XOR operation on two rows in A rows.

[0254] Example 2: Among the B rows, there may be a row #2B, which is obtained by performing an XOR operation on the three rows in the A rows.

[0255] Example 3: Among the B rows, there may be a row #3B, which is obtained by performing an XOR operation on any number of other rows in the A rows.

[0256] Optionally, the first decoding matrix described above can be obtained by merging the rows of the first base matrix.

[0257] Optionally, the first base matrix may also include extended rows.

[0258] In another example, if the first encoding method is (C) among the above-mentioned encoding methods, the corresponding first decoding method is as follows: the receiving device performs LDPC decoding on the sequence to be decoded based on the first decoding matrix to obtain the decoded sequence, wherein the number of punctured columns in the first parity check matrix is ​​X*Zc columns. Here, X is a positive integer, and Zc is the boosting size from the first base matrix to the first parity check matrix.

[0259] For example, the number of punched columns in the first verification matrix can be the first X*Zc columns.

[0260] For example, X equals 4.

[0261] The above-mentioned encoding and decoding methods 600 can select different encoding and decoding methods for different application scenarios, which can meet the throughput and performance requirements of various scenarios, so that good encoding and decoding performance can be achieved in different application scenarios.

[0262] The communication device provided in this application is described below.

[0263] Figure 7 is a schematic structural diagram of the communication device 10 provided in this application. The communication device 10 can be a transmitting device, or a device applied to the transmitting device that can realize the corresponding functions of the transmitting device in the method embodiments of this application, such as a chip, processor, or circuit. Alternatively, the communication device 10 can be a receiving device, or a device applied to the receiving device that can realize the corresponding functions of the receiving device in the method embodiments of this application, such as a chip, processor, or circuit.

[0264] Optionally, the communication device 10 includes a processing module 11, which may be a processor, a processing board, a processing unit, or a processing device, etc. When the communication device 10 is a transmitting device or a device applied to a transmitting device, the processing module 11 is used to determine a first encoding method from multiple encoding methods based on the aforementioned first parameter, and to encode the information bits to be encoded based on the first encoding method to obtain a first codeword sequence. For specific details, please refer to the detailed description of the corresponding steps in the method embodiments; these will not be repeated here. When the communication device 10 is a receiving device or a device applied to a receiving device, the processing module 11 is used to determine a first decoding method from multiple decoding methods based on the aforementioned first parameter, and to decode the sequence to be decoded based on the first decoding method to obtain a decoded sequence, etc. For specific details, please refer to the detailed description of the corresponding steps in the method embodiments; these will not be repeated here.

[0265] Optionally, the communication device 10 further includes a communication module 12, which may also be referred to as a transceiver module, transceiver, transceiver unit, or transceiver device, etc., for performing receiving (or input) and / or sending (or output) operations. For example, when the communication device 10 is a transmitting device or a device applied to a transmitting device, the communication module 12 can be used to output the first codeword sequence obtained by the processing module 11 through encoding. Similarly, when the communication device 10 is a receiving device or a device applied to a receiving device, the communication module 12 can be used to acquire the sequence to be decoded and send the sequence to be decoded to the processing module 11; and output the decoded sequence obtained by the processing module 11 after decoding the sequence to be decoded. In addition, the aforementioned communication module and / or processing module can be implemented by virtual modules. For example, the processing module can be implemented by a software functional unit or a virtual device, and the communication module can be implemented by a software function or a virtual device. Alternatively, the processing module or communication module can also be implemented by a physical device, for example, if the device is implemented using a chip / circuit (e.g., an integrated circuit or logic circuit). The communication module may be an input / output circuit and / or a communication interface, performing input operations (corresponding to the aforementioned receiving operation) and output operations (corresponding to the aforementioned sending operation); the processing module is an integrated processor, microprocessor, or circuit (e.g., integrated circuit, logic circuit, etc.).

[0266] The module division in this application is illustrative and represents only one logical functional division. In actual implementation, other division methods are possible. Furthermore, the functional modules in the various examples of this application can be integrated into a single processor, exist as separate physical entities, or be integrated into a single module. The integrated modules described above can be implemented in hardware, as software functional modules, or a combination of hardware and software.

[0267] Figure 8 is a schematic structural diagram of another communication device 20 provided in this application. The communication device 20 can be used to implement the functions of any communication device (e.g., a terminal device or a network device) in the communication system described in the foregoing examples. The communication device 20 may include at least one processor 21. Optionally, the processor 21 (or processing device) is coupled to a memory, which may be located within the communication device, integrated with the processor, or located outside the communication device. For example, the communication device 20 may also include at least one memory 22. The memory 22 stores computer programs, instructions, or data necessary for implementing any of the above method embodiments; the processor 21 may execute the computer programs, instructions, or data stored in the memory 22 to perform the corresponding functions of the transmitting or receiving device in any of the above embodiments.

[0268] Optionally, the communication device 20 may further include a communication interface 23, through which the communication device 20 can interact with other devices. For example, the communication interface 23 may be a transceiver, circuit, bus, module, pin, or other type of communication interface. When the communication device 20 is a chip-based device or circuit, the communication interface 23 in the device 20 may also be an input / output circuit, capable of inputting information (or receiving information) and / or outputting information (or sending information). The processor may be an integrated circuit or logic circuit, etc., and the processor can determine the output information based on the input information.

[0269] The coupling in this application refers to indirect coupling or communication connection between devices, units, or modules, which can be electrical, mechanical, or other forms, used for information exchange between devices, units, or modules. Processor 21 may operate in conjunction with memory 22 and communication interface 23. This application does not limit the connection medium between the aforementioned processor 21, memory 22, and communication interface 23.

[0270] Figure 9 is a schematic structural diagram of the chip 30 provided in this application. The chip 30 includes a circuit 31 and a communication interface 32. The circuit 31 can be a logic circuit, an integrated circuit, etc., and the communication interface 32 can also be called an input / output circuit, input / output interface, interface circuit, etc., which can input information (or receive information) or output information (or send information). The chip 30 can execute the methods executed by the encoding-side device or the decoding-side device in the various embodiments of this application.

[0271] In addition, this application also provides a computer-readable storage medium storing computer instructions, which, when executed on a computer, cause the operations and / or processes performed by the sending or receiving device in the various method embodiments of this application to be executed.

[0272] This application also provides a computer program product, which includes computer program code or instructions. When the computer program code or instructions are run on a computer, the operations and / or processes performed by the sending end device or the receiving end device in the various method embodiments of this application are executed.

[0273] Furthermore, this application also provides a chip including a processor. A memory for storing a computer program is provided independently of the chip, and the processor is used to execute the computer program stored in the memory, so that operations and / or processes performed by a transmitting or receiving device in any method embodiment are executed. Further, the chip may also include a communication interface. The communication interface may be an input / output interface or an interface circuit, etc. Further, the chip may also include the memory.

[0274] This application provides a communication system, including the transmitting end device and the receiving end device in the above method embodiments.

[0275] Those skilled in the art will understand that, for the sake of convenience and brevity, the specific working processes of the systems, devices, and units described above can be referred to the corresponding processes in the foregoing method embodiments, and will not be repeated here.

[0276] The processor in this application embodiment has signal processing capabilities and can be a central processing unit (CPU), or a general-purpose processor, digital signal processor (DSP), application-specific integrated circuit (ASIC), field-programmable gate array (FPGA), or other programmable logic device, discrete gate or transistor logic device, or discrete hardware component. It can implement or execute the methods, steps, and logic block diagrams disclosed in this application. The general-purpose processor can be a microprocessor or any conventional processor. The steps of the methods disclosed in this application can be directly embodied in the execution of the hardware processor, or executed by a combination of hardware and software modules within the processor. The software modules can reside in random access memory, flash memory, read-only memory, programmable read-only memory, electrically erasable programmable memory, registers, or other mature storage media in the art. This storage medium is located in memory; the processor reads information from the memory and, in conjunction with its hardware, completes the steps of the above methods.

[0277] In the embodiments of this application, the memory can be volatile memory or non-volatile memory, or it can include both volatile and non-volatile memory. The non-volatile memory can be read-only memory (ROM), programmable read-only memory (PROM), erasable programmable read-only memory (EPROM), electrically erasable programmable read-only memory (EEPROM), or flash memory. The volatile memory can be random access memory (RAM), which is used as an external cache. By way of example, but not limitation, many forms of RAM are available, such as static random access memory (SRAM), dynamic random access memory (DRAM), synchronous dynamic random access memory (SDRAM), double data rate synchronous dynamic random access memory (DDR SDRAM), enhanced synchronous dynamic random access memory (ESDRAM), synchronous linked dynamic random access memory (SLDRAM), and direct rambus RAM (DR RAM). It should be noted that the memory used in the systems and methods described herein is intended to include, but is not limited to, these and any other suitable types of memory.

[0278] The technical solutions provided in this application can be implemented in whole or in part through software, hardware, firmware, or any combination thereof. When implemented using software, they can be implemented in whole or in part as a computer program product. The computer program product includes one or more computer instructions. When the computer program instructions are loaded and executed on a computer, all or part of the processes or functions described in this application are generated. The computer can be a general-purpose computer, a special-purpose computer, a computer network, a terminal device, an access network device, or other programmable device. The computer instructions can be stored in a computer-readable storage medium or transmitted from one computer-readable storage medium to another. For example, the computer instructions can be transmitted from one website, computer, server, or data center to another website, computer, server, or data center via wired (e.g., coaxial cable, optical fiber, digital subscriber line (DSL)) or wireless (e.g., infrared, wireless, microwave, etc.) means. The computer-readable storage medium can be any available medium that a computer can access or a data storage device such as a server or data center that integrates one or more available media. The available media may be magnetic media (e.g., floppy disks, hard disks, magnetic tapes), optical media (e.g., digital video discs (DVDs)), or semiconductor media, etc.

[0279] The term "comprising" and any variations thereof used in the embodiments of this application are intended to cover non-exclusive inclusion. For example, a process, method, system, product, or device that includes a series of steps or units is not limited to the steps or units listed, but may optionally include other steps or units not listed, or may optionally include other steps or units inherent to these processes, methods, products, or devices.

[0280] In this application, examples may reference each other without logical contradiction. For example, methods and / or terms between method embodiments may reference each other, functions and / or terms between device embodiments may reference each other, and functions and / or terms between device examples and method examples may reference each other.

[0281] Those skilled in the art will recognize that the units and algorithm steps of the various examples described in conjunction with the embodiments disclosed herein can be implemented in electronic hardware, or a combination of computer software and electronic hardware. Whether these functions are implemented in hardware or software depends on the specific application and design constraints of the technical solution. Those skilled in the art can use different methods to implement the described functions for each specific application, but such implementation should not be considered beyond the scope of this application.

[0282] In the several embodiments provided in this application, it should be understood that the disclosed systems, apparatuses, and methods can be implemented in other ways. For example, the apparatus embodiments described above are merely illustrative; for instance, the division of units is only a logical functional division, and in actual implementation, there may be other division methods. For example, multiple units or components may be combined or integrated into another system, or some features may be ignored or not executed. Furthermore, the coupling or direct coupling or communication connection shown or discussed may be through some interfaces; the indirect coupling or communication connection between apparatuses or units may be electrical, mechanical, or other forms.

[0283] The units described as separate components may or may not be physically separate. The components shown as units may or may not be physical units; that is, they may be located in one place or distributed across multiple network units. Some or all of the units can be selected to achieve the purpose of this embodiment according to actual needs.

[0284] In addition, the functional units in the various embodiments of this application can be integrated into one processing unit, or each unit can exist physically separately, or two or more units can be integrated into one unit.

[0285] If the aforementioned functions are implemented as software functional units and sold or used as independent products, they can be stored in a computer-readable storage medium. Based on this understanding, the technical solution of this application, in essence, or the part that contributes to the prior art, or a portion of the technical solution, can be embodied in the form of a software product. This computer software product is stored in a storage medium and includes several instructions to cause a computer device (which may be a personal computer, server, or network device, etc.) to execute all or part of the steps of the methods described in the various embodiments of this application. The aforementioned storage medium includes various media capable of storing program code, such as USB flash drives, portable hard drives, read-only memory (ROM), random access memory (RAM), magnetic disks, or optical disks.

Claims

1. An encoding method characterized by comprising: include: A first encoding method is determined from multiple encoding methods based on a first parameter, wherein the first parameter includes at least one of the following: The size level of the buffer, the number of code blocks (CBGs) supported by each transport block (TB), the transport block size (TBS), the number of code blocks (CBs) contained in each transport block (TB), the modulation and coding scheme (MCS) index, the modulation order, and the target code rate or payload code rate of the channel coding. Encode the information bits to be encoded based on the first encoding method to obtain the first codeword sequence; Output the first codeword sequence.

2. The method according to claim 1, characterized in that, Determining the first encoding method from multiple encoding methods based on the first parameter includes: determining the first encoding method from the multiple encoding methods based on the first parameter and a first condition, wherein the first condition includes at least one of the following: The size level of the buffer is greater than or equal to the first threshold value; The number of code block groups (CBGs) supported by each transport block (TB) is greater than or equal to the second threshold value; The transport block size TBS is greater than or equal to the third threshold value; The number of code blocks CB contained in each transport block TB is greater than or equal to the fourth threshold value; The modulation and coding scheme MCS index is greater than or equal to the fifth threshold value; The modulation order is greater than or equal to the sixth threshold value; The code rate or payload code rate of the channel coding is greater than or equal to the seventh threshold value.

3. The method according to claim 1, characterized in that, Determining the first encoding method from multiple encoding methods based on the first parameter includes: determining the first encoding method from the multiple encoding methods based on the first parameter and a second condition, wherein the second condition includes at least one of the following: The size level of the buffer is less than or equal to the first threshold value; The number of code block groups (CBGs) supported by each transport block (TB) is less than or equal to the second threshold value; The transport block size TBS is less than or equal to the third threshold value; The number of code blocks CB contained in each transport block TB is less than or equal to the fourth threshold value; The modulation and coding scheme MCS index is less than or equal to the fifth threshold value; The modulation order is less than or equal to the sixth threshold value; The code rate or payload code rate of the channel coding is less than or equal to the seventh threshold value.

4. The method according to claim 1 or 2, characterized in that, The first encoding method is a concatenated code.

5. The method according to claim 1 or 2, characterized in that, The process of encoding the information bits to be encoded based on the first encoding method to obtain the first codeword sequence includes: Based on the first parity check matrix, the information bits to be encoded are subjected to low-density parity check (LDPC) encoding to obtain a second codeword sequence, which includes an information bit sequence and a first parity bit sequence. The first check bit sequence is mapped to the second check bit sequence to obtain the first codeword sequence, which includes the information bit sequence and the second check bit sequence.

6. The method according to claim 5, characterized in that, The first check bit sequence includes a first core check bit sequence, which is the check bits corresponding to all core rows of the first check matrix.

7. The method according to claim 1 or 3, characterized in that, The process of encoding the information bits to be encoded based on the first encoding method to obtain the first codeword sequence includes: Based on the first parity check matrix, the information bits to be encoded are LDPC encoded to obtain the second codeword sequence; Punch holes in the X*Zc codeword bits of the second codeword sequence to obtain the first codeword sequence; Where X is a positive integer, and Zc is the boosting size of the first base matrix to the first parity check matrix.

8. The method according to claim 7, characterized in that, X equals 4.

9. A decoding method, characterized in that, include: A first decoding method is determined from multiple decoding methods based on a first parameter, wherein the first parameter includes at least one of the following: The size level of the buffer, the number of code blocks (CBGs) supported by each transport block (TB), the transport block size (TBS), the number of code blocks (CBs) contained in each transport block (TB), the modulation and coding scheme (MCS) index, the modulation order, and the target code rate or payload code rate of the channel coding. The sequence to be decoded is decoded based on the first decoding method to obtain the decoded sequence; Output the decoded sequence.

10. The method according to claim 9, characterized in that, Determining the first decoding method from multiple decoding methods based on the first parameter includes: determining the first decoding method from the multiple decoding methods based on the first parameter and a first condition, wherein the first condition includes at least one of the following: The size level of the buffer is greater than or equal to the first threshold value; The number of code block groups (CBGs) supported by each transport block (TB) is greater than or equal to the second threshold value; The transport block size TBS is greater than or equal to the third threshold value; The number of code blocks CB contained in each transport block TB is greater than or equal to the fourth threshold value; The modulation and coding scheme MCS index is greater than or equal to the fifth threshold value; The modulation order is greater than or equal to the sixth threshold value; The code rate or payload code rate of the channel coding is greater than or equal to the seventh threshold value.

11. The method according to claim 9, characterized in that, Determining the first decoding method from multiple decoding methods based on the first parameter includes: determining the first decoding method from the multiple decoding methods based on the first parameter and a second condition, wherein the second condition includes at least one of the following: The size level of the buffer is less than or equal to the first threshold value; The number of code block groups (CBGs) supported by each transport block (TB) is less than or equal to the second threshold value; The transport block size TBS is less than or equal to the third threshold value; The number of code blocks CB contained in each transport block TB is less than or equal to the fourth threshold value; The modulation and coding scheme MCS index is less than or equal to the fifth threshold value; The modulation order is less than or equal to the sixth threshold value; The code rate or payload code rate of the channel coding is less than or equal to the seventh threshold value.

12. The method according to claim 9 or 10, characterized in that, The first decoding method is the decoding method corresponding to the concatenated code.

13. The method according to claim 9 or 10, characterized in that, The decoding of the sequence to be decoded based on the first decoding method to obtain the decoded sequence includes: The sequence to be decoded is subjected to LDPC decoding based on the first decoding matrix to obtain the decoded sequence. The first decoding matrix is ​​obtained by merging the rows of the first base matrix.

14. The method according to claim 13, characterized in that, The rows of the first base matrix include the core rows of the first base matrix.

15. The method according to claim 9 or 10, characterized in that, The decoding of the sequence to be decoded based on the first decoding method to obtain the decoded sequence includes: The sequence to be decoded is LDPC decoded based on the first parity check matrix to obtain the decoded sequence. The punched column of the first parity check matrix is ​​an X*Zc column, where X is a positive integer and Zc is the boosting size of the first base matrix to the first parity check matrix.

16. The method according to claim 15, characterized in that, X equals 4.

17. A communication device, characterized in that, The system includes a communication interface and circuitry. The communication interface is used to acquire information required to perform the method as described in any one of claims 1-8, and to send the information to the circuitry, which is used to perform the method as described in any one of claims 1-8 based on the received information; or... The communication interface is used to acquire information required to perform the method as described in any one of claims 9-16, and to send the information to the circuit, which is used to perform the method as described in any one of claims 9-16 based on the received information.

18. A communication device, characterized in that, It includes at least one processor, said at least one processor being configured to execute a computer program or instructions to cause the communication device to perform the method as described in any one of claims 1-16.

19. The communication device according to claim 18, characterized in that, The communication device further includes a memory coupled to the at least one processor, the memory being used to store the computer program or instructions.

20. A computer-readable storage medium, characterized in that, The computer-readable storage medium stores computer instructions that, when executed on a computer, implement the method as described in any one of claims 1-16.