Coding method, decoding method and device

By determining the number of information columns in the LDPC encoding and decoding scheme based on the receiver's capability information, the requirements for reliability, throughput, and power consumption under different business scenarios are addressed, thereby improving encoding and decoding performance.

CN121643776APending Publication Date: 2026-03-10HUAWEI TECH CO LTD
View PDF 0 Cites 0 Cited by

Patent Information

Authority / Receiving Office
CN · China
Patent Type
Applications(China)
Current Assignee / Owner
Filing Date
2024-09-04
Publication Date
2026-03-10

AI Technical Summary

Technical Problem

In LDPC encoding and decoding schemes, existing technologies have failed to effectively solve the problem of determining the appropriate number of information columns to meet the requirements of reliability, throughput, and power consumption in different business scenarios.

Method used

The number of information columns in the parity check matrix is ​​determined based on the receiver's capability information, including the maximum number of information columns, the supported basemap index set, the maximum clock frequency, etc. Combined with information such as the MCS index and spectral efficiency, a suitable number of information columns can be flexibly determined to meet the needs of high throughput or low power consumption scenarios.

Benefits of technology

It enables flexible adjustment of reliability, throughput and power consumption under different business scenarios, improves encoding and decoding performance, and meets the requirements of high throughput or low power consumption.

✦ Generated by Eureka AI based on patent content.

Smart Images

  • Figure CN121643776A_ABST
    Figure CN121643776A_ABST
Patent Text Reader

Abstract

The invention discloses a coding method, a decoding method and a device, which are used for determining a proper information column number in an LDPC (Low Density Parity Check) channel coding scheme. The method may comprise: determining an information column number of a check matrix according to first information, the first information comprising capability information of a receiving end; and determining the check matrix according to the information column number, and coding to-be-coded information according to the check matrix. Based on the method, the sending end can flexibly determine the proper information column number based on the capability information of the receiving end to realize coding, so that the requirements on reliability, throughput and power consumption under different service scenes (such as a high throughput scene and a low power consumption scene) can be met.
Need to check novelty before this filing date? Find Prior Art

Description

TECHNICAL FIELD

[0001] The present application relates to the field of communication technology, and in particular to an encoding method, a decoding method and apparatuses. BACKGROUND

[0002] Low density parity check (LDPC) code is a channel coding scheme very close to the Shannon limit, and has the characteristics of good performance and low complexity. At present, the LDPC code has been determined by the 3rd generation partnership project (3GPP) to be the encoding and decoding scheme of a data channel of the 5th generation (5G) communication.

[0003] In the LDPC encoding and decoding scheme, the number of information columns of the LDPC code is closely related to the encoding performance and the decoding performance. Therefore, how to determine a suitable number of information columns is the most important. SUMMARY

[0004] Embodiments of the present application provide an encoding method, a decoding method and apparatuses for determining a suitable number of information columns in an LDPC channel coding scheme.

[0005] In a first aspect, the present application provides an encoding method. The method can be applied to a communication apparatus. The communication apparatus can be a signal (or information, etc.) sending end, or can be a component (such as a processor, a chip, a chip system, a circuit, an assembly, a module or a functional module, etc.) in the sending end. The method can include: determining a number of information columns of a check matrix according to first information, wherein the first information includes capability information of a receiving end; and then determining the check matrix according to the number of information columns, and encoding to-be-encoded information according to the check matrix.

[0006] Based on the above method, the sending end can flexibly determine a suitable number of information columns based on the capability information of the receiving end to implement encoding, so as to meet the requirements for reliability, throughput and power consumption in different service scenarios (such as high-throughput scenarios and low-power consumption scenarios).

[0007] In one possible design, the first information can include one or more of the following: maximum number of information columns, supported set of base graph indices, maximum clock frequency, number of antennas, receiver complexity, peak data rate, maximum modulation and coding scheme (MCS) index, maximum number of iterations, maximum rank indication, minimum processing timeline, maximum number of blind decodes, maximum code length, minimum code rate, maximum number of code blocks, maximum lifting value, maximum number of resource blocks, or maximum set of precoding matrix indications (PMIs). The capability information of the receiving end can be capability information specified in a standard protocol, capability information determined based on UE reported information and adapted to the capability of the UE, or capability information determined based on at least one of the following: current traffic type, channel fading condition, connection density, service period, or other factors. In this way, the number of information columns of the check matrix can be flexibly determined based on the various capabilities of the receiving end to meet the requirements on reliability, throughput, and power consumption in different traffic scenarios (e.g., high throughput scenario, low power consumption scenario).

[0008] In one possible design, the number of information columns of the check matrix is determined based on the first information, and the method can include determining the number of information columns of the check matrix based on the first information and second information, where the second information includes one or more of the following: MCS index, spectral efficiency, base graph index, base graph indication sent to the receiving end, indication of the number of information columns sent to the receiving end, number of segments of a transport block, lifting value, or transport block size (TBS). Based on this method, the number of information columns can be flexibly determined based on the capability information of the receiving end and the current information of the receiving end to meet the requirements on reliability, throughput, and power consumption in different traffic scenarios (e.g., high throughput scenario, low power consumption scenario).

[0009] In one possible design, when the second information is the MCS index, the number of information columns is a first value when the MCS index is greater than a first threshold, and the number of information columns is a second value when the MCS index is less than or equal to the first threshold, where the first value is related to the first information. Based on the current MCS index and the first information, the number of information columns can be accurately determined to meet the requirements on reliability, throughput, and power consumption in different traffic scenarios (e.g., high throughput scenario, low power consumption scenario).

[0010] In a possible design, when the second information is the spectral efficiency, the spectral efficiency is greater than a second threshold, the information column number is a first value, the spectral efficiency is less than or equal to the second threshold, the information column number is a second value, and the first value is related to the first information. Based on the current spectral efficiency and the first information, the appropriate information column number can be accurately determined to meet the requirements for reliability, throughput and power consumption in different service scenarios (such as a high-throughput scenario or a low-power consumption scenario).

[0011] In a possible design, when the information column number is the first value, the puncturing column included in the check matrix is the first column of the check matrix, or the check matrix does not include a puncturing column; or when the information column number is the second value, the puncturing column included in the check matrix is the first two columns of the check matrix. In this way, the number of puncturing columns determined based on different values of the information column number can achieve better decoding performance.

[0012] In a possible design, when the second information is the number of segments of the transport block or the TBS, the information column number is positively related to the number of segments of the transport block or the TBS, and the information column number is less than or equal to a first value, and the first value is related to the first information. Based on the number of segments of the current transport block or the TBS and the first information, the appropriate information column number can be accurately determined to meet the requirements for reliability, throughput and power consumption in different service scenarios (such as a high-throughput scenario or a low-power consumption scenario).

[0013] In a possible design, when the second information is the boosting value, the information column number is determined according to the first information and the second information, and the method can include: determining an initial information column number and the number of information bits included in each code block according to the first information; determining a maximum code block information bit number set according to the initial information column number and the boosting value; and determining the information column number corresponding to a first maximum code block information bit number in the maximum code block information bit number set as the information column number, where the first maximum code block information bit number is a maximum code block information bit number in the maximum code block information bit number set, which is greater than the number of information bits of each code block and has the minimum difference from the number of information bits of each code block. Based on the information column number selected by the above method, the encoding performance can be improved to meet the requirements for reliability, throughput and power consumption in different service scenarios (such as a high-throughput scenario or a low-power consumption scenario).

[0014] In a possible design, the boosting value includes at least one row in the following table:

[0015] Set number of boost value Value of boost value 0 {2,4,8,16,32,64,128,256,512} 1 {3,6,12,24,48,96,192,384,768} 2 {5,10,20,40,80,160,320,640} 3 {7,14,28,56,112,224,448} 4 {9,18,36,72,144,288,576} 5 {11,22,44,88,176,352,704} 6 {13,26,52,104,208,416} 7 {15,30,60,120,240,480} 8 {17,34,68,136,272,544} 8 {17,34,68,136,272} 9 {19,38,76,152,304,608} 9 {19,38,76,152,304} 10 {21,42,84,168,336} 10 {21,42,84,168} 11 {23,46,92,184,368} 11 {23,46,92,184}

[0016] The lifting value can meet the requirements of different device types on parallelism, and reduce the number of shorten bits required by different payload sizes.

[0017] In a possible design, when the second information is the lifting value, the number of information columns is related to the size of the lifting value. The number of information columns corresponding to the lifting value with a larger value can be selected as the number of information columns of the check matrix, which can improve hardware utilization and coding performance, and meet the requirements on reliability, throughput and power consumption in different service scenarios (such as high-throughput scenarios and low-power consumption scenarios).

[0018] In a possible design, the first value is greater than 22 and is an integer multiple of 11. In this way, the determined number of information columns is backward compatible with a new radio (NR) system.

[0019] In a possible design, the first information is received, so that the number of information columns can be determined based on the capability information of the receiving end.

[0020] In a second aspect, the present application provides an encoding method, which can be applied to a communication device. The communication device can be a receiving end of a signal (or information, etc.), or can be a component (for example, a processor, a chip, a chip system, a circuit, an assembly, a module or a functional module, etc.) in the receiving end. The method can include: obtaining to-be-coded information; determining the number of information columns of a check matrix according to first information, wherein the first information includes capability information of the receiving end; determining the check matrix according to the number of information columns, and coding the to-be-coded information according to the check matrix.

[0021] Based on the above method, the receiving end can flexibly determine a suitable number of information columns based on the capability information of the receiving end, and can be aligned with the number of information columns used by the sending end for coding to implement decoding, so as to meet the requirements on reliability, throughput and power consumption in different service scenarios (such as high-throughput scenarios and low-power consumption scenarios).

[0022] In one possible design, the first information includes one or more of: a maximum number of information columns, a supported set of base graph indices, a maximum clock frequency, a number of antennas, a receiver complexity, a peak data rate, a maximum modulation and coding scheme (MCS) index, a maximum number of iterations, a maximum rank indication, a minimum processing timeline, a maximum number of blind decodes, a maximum code length, a minimum code rate, a maximum number of code blocks, a maximum lifting value, a maximum number of resource blocks, or a maximum set of precoding matrix indicators (PMIs). The capability information of the receiving end can be capability information specified in a standard protocol, capability information determined based on UE reporting information and adapted to the capability of the UE, or capability information determined based on at least one of the following: a current traffic type, a channel fading condition, a connection density, a service period, or other factors. This way, the number of information columns can be flexibly determined based on the various capabilities of the receiving end to meet the requirements on reliability, throughput, and power consumption in different traffic scenarios (e.g., a high-throughput scenario or a low-power consumption scenario).

[0023] In one possible design, the number of information columns of the check matrix is determined based on the first information, and the method can include determining the number of information columns of the check matrix based on the first information and second information. The second information includes one or more of: an MCS index, a spectral efficiency, a base graph index, a base graph indication sent to the receiving end, an information column number indication sent to the receiving end, a number of segments of a transport block, a lifting value, or a transport block size (TBS). Based on this method, the number of information columns can be flexibly determined based on the capability information of the receiving end and the current information of the receiving end to meet the requirements on reliability, throughput, and power consumption in different traffic scenarios (e.g., a high-throughput scenario or a low-power consumption scenario).

[0024] In one possible design, when the second information is the MCS index, the number of information columns is a first value when the MCS index is greater than a first threshold, and the number of information columns is a second value when the MCS index is less than or equal to the first threshold. The first value is related to the first information. Based on the current MCS index and the first information, the number of information columns can be accurately determined to meet the requirements on reliability, throughput, and power consumption in different traffic scenarios (e.g., a high-throughput scenario or a low-power consumption scenario).

[0025] In one possible design, when the second information is the spectral efficiency, the number of information columns is a first value when the spectral efficiency is greater than a second threshold, and the number of information columns is a second value when the spectral efficiency is less than or equal to the second threshold. The first value is related to the first information. Based on the current spectral efficiency and the first information, the number of information columns can be accurately determined to meet the requirements on reliability, throughput, and power consumption in different traffic scenarios (e.g., a high-throughput scenario or a low-power consumption scenario).

[0026] In one possible design, when the number of information columns is the first value, the parity check matrix includes the first column of the parity check matrix as a punched column, or the parity check matrix does not include a punched column; or, when the number of information columns is the second value, the parity check matrix includes the first two columns of the parity check matrix as punched columns. This method of determining the number of punched columns based on different values ​​of the number of information columns can achieve better decoding performance.

[0027] In one possible design, when the second information is the number of segments in the transport block or the TBS, the number of information columns is positively correlated with the number of segments in the transport block or the TBS, and the number of information columns is less than or equal to a first value, which is related to the first information. Based on the current number of segments in the transport block or the TBS combined with the first information, a suitable number of information columns can be accurately determined to meet the requirements for reliability, throughput, and power consumption in different service scenarios (such as high-throughput scenarios and low-power scenarios).

[0028] In one possible design, when the second information is the boost value, the number of information columns is determined based on the first information and the second information. This can be achieved by: determining an initial number of information columns and the number of information bits in each code block based on the first information; determining a maximum code block information bit count set based on the initial number of information columns and the boost value; and determining the number of information columns corresponding to the first maximum code block information bit count in the maximum code block information bit count set as the number of information columns. The first maximum code block information bit count is the maximum code block information bit count in the maximum code block information bit count set that is greater than the information bit count of each code block and has the smallest difference between it and the information bit count of each code block. The number of information columns selected based on the above method can improve decoding performance to meet the reliability, throughput, and power consumption requirements of different business scenarios (such as high-throughput scenarios and low-power scenarios).

[0029] In one possible design, the boost value includes at least one row from the following table:

[0030]

[0031]

[0032] By using the above-mentioned boost values, the parallelism requirements of different device types can be met, while reducing the number of shortened bits required for different payload sizes.

[0033] In one possible design, when the second information is a boost value, the number of information columns is related to the magnitude of the boost value. Choosing the number of information columns corresponding to a larger boost value as the number of information columns in the parity check matrix can improve hardware utilization and decoding performance, thus meeting the reliability, throughput, and power consumption requirements of different business scenarios (such as high-throughput scenarios and low-power scenarios).

[0034] In one possible design, the first value is greater than 22 and is an integer multiple of 11. This ensures that the determined number of information columns is backward compatible with the NR system.

[0035] In one possible design, the first information is sent so that the sending end can determine the number of information columns based on the receiving end's capability information.

[0036] Thirdly, this application also provides a communication device, which can be a signal (or information, etc.) transmitter, or a component within the transmitter (e.g., a processor, chip, chip system, circuit, component, module, or functional module, etc.). This communication device has the functionality to implement the methods described in the first aspect or various possible design examples of the first aspect. The functionality can be implemented in hardware or by hardware executing corresponding software. The hardware or software includes one or more modules corresponding to the described functions.

[0037] In one possible design, the communication device may include a processing unit, and optionally a transceiver unit, which may perform the functions of the methods described in the first aspect or various possible design examples of the first aspect, which will not be elaborated here.

[0038] In one possible design, the communication device includes one or more processors, and optionally also includes a memory and / or a transceiver. The transceiver is used to send and receive data, messages, or information, and to communicate with other devices in the system. The processor is configured to support the communication device in performing the corresponding functions in the first aspect or various possible design examples of the first aspect described above. The memory is coupled to the processor and stores the necessary program instructions and data for the communication device.

[0039] Fourthly, this application also provides a communication device, which can be a signal (or information, etc.) receiver or a component within the receiver (e.g., a processor, chip, chip system, circuit, component, module, or functional module, etc.). This communication device has the functionality to implement the methods described in the second aspect or various possible design examples of the second aspect. The functionality can be implemented in hardware or by hardware executing corresponding software. The hardware or software includes one or more modules corresponding to the described functionality.

[0040] In one possible design, the communication device may include a processing unit, and optionally a transceiver unit, which may perform the functions of the methods described in the second aspect or various possible design examples of the second aspect, which will not be elaborated here.

[0041] In one possible design, the communication device includes one or more processors, and optionally also includes memory and / or a transceiver. The transceiver is used to send and receive data, messages, or information, and to communicate with other devices in the system. The processor is configured to support the communication device in performing the corresponding functions in the second aspect or various possible design examples of the second aspect described above. The memory is coupled to the processor and stores the necessary program instructions and data for the communication device.

[0042] Fifthly, embodiments of this application provide a communication system that may include a signal (or information, etc.) transmitter and a signal (or information, etc.) receiver. The signal (or information, etc.) transmitter can be used to implement the methods described in the first aspect or various possible design examples of the first aspect. The signal (or information, etc.) receiver can be used to implement the methods described in the second aspect or various possible design examples of the second aspect.

[0043] Sixthly, embodiments of this application provide a computer-readable storage medium storing program instructions that, when executed on a computer, cause the computer to perform the methods described in the first aspect and any possible design of the embodiments of this application, or in the second aspect and any possible design. Exemplarily, the computer-readable storage medium can be any available medium accessible to a computer. For example, but not limited to, a computer-readable medium can include a non-transient computer-readable medium, random-access memory (RAM), read-only memory (ROM), electrically erasable programmable read-only memory (EEPROM), CD-ROM or other optical disk storage, magnetic disk storage media, or other magnetic storage devices, or any other medium capable of carrying or storing desired program code in the form of instructions or data structures and accessible by a computer.

[0044] In a seventh aspect, embodiments of this application provide a computer program product, including a computer program or instructions, which, when executed on a computer, cause the method described in the first aspect or any possible design of the first aspect, or in the second aspect or any possible design of the second aspect, to be performed.

[0045] Eighthly, this application also provides a chip or chip system including one or more processors, the processors being coupled to at least one memory for reading and executing program instructions stored in the memory to enable the chip or chip system to implement the method described in the first aspect or any possible design of the first aspect, or in the second aspect or any possible design of the second aspect.

[0046] For the various aspects of the third to eighth aspects mentioned above, and the technical effects that each aspect may achieve, please refer to the above description of the technical effects that can be achieved for the first aspect or the various possible solutions in the first aspect, or the second aspect or the various possible solutions in the second aspect, which will not be repeated here. Attached Figure Description

[0047] Figure 1 A schematic diagram of the architecture of a communication system provided in this application;

[0048] Figure 2 A schematic diagram of a coding / decoding process provided for this application;

[0049] Figure 3 A flowchart illustrating an encoding method provided in this application;

[0050] Figure 4 A flowchart illustrating a decoding method provided in this application;

[0051] Figure 5 A schematic diagram of the structure of a communication device provided in this application;

[0052] Figure 6 A structural diagram of a communication device provided in this application. Detailed Implementation

[0053] This application provides an encoding method, a decoding method, and an apparatus for determining the appropriate number of information columns in an LDPC channel coding scheme. The method and apparatus described in this application are based on the same technical concept. Since the principles by which the method and apparatus solve the problem are similar, their implementations can be referred to interchangeably, and repeated details will not be elaborated further.

[0054] In the description of this application, the terms "first," "second," etc., are used only for the purpose of distinguishing descriptions and should not be construed as indicating or implying relative importance or order.

[0055] In the description of this application, "at least one" means one or more, and "more than one" means two or more. "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, or c can mean: a, b, c, a and b, a and c, b and c, or a and b and c, where a, b, and c can be single or multiple.

[0056] In the description of this application, "and / or" describes the relationship between related objects, indicating that there can be three relationships. For example, A and / or B can mean: A exists alone, A and B exist simultaneously, or B exists alone, where A and B can be singular or plural. " / " means "or", for example, a / b means a or b.

[0057] To more clearly describe the technical solutions of the embodiments of this application, the encoding method, decoding method and apparatus provided in the embodiments of this application will be described in detail below with reference to the accompanying drawings.

[0058] The technical solutions in this application embodiment can be applied to various communication systems, such as Global System for Mobile Communications (GSM), Enhanced Data Rate for GSM Evolution (EDGE), Wideband Code Division Multiple Access (WCDMA), Time Division-Synchronization Code Division Multiple Access (TD-SCDMA), Worldwide Interoperability for Microwave Access (WiMAX), Universal Mobile Telecommunications System (UMTS), Wireless Local Area Network (WLAN), Wireless Fidelity (Wi-Fi), Bluetooth, Narrow Band Internet of Things (NB-IoT), 4th Generation (4G) mobile communication systems (such as Long Term Evolution (LTE)), 5th Generation (5G) mobile communication systems (such as New Radio (NR)), and future communication networks. The technical solutions of this application embodiment can also be applied to satellite communication systems, wherein the satellite communication system can be integrated with the above-mentioned communication system.

[0059] For example, Figure 1 A schematic diagram of the architecture of a possible communication system applicable to embodiments of this application is shown. For example... Figure 1 As shown, the communication system 10 may include a radio access network (RAN) 100 and a core network (CN) 200. Optionally, the communication system 10 may also include the Internet 300.

[0060] RAN 100 includes at least one RAN node (such as...) Figure 1 110a and 110b (collectively referred to as 110) and at least one terminal device (such as Figure 1RAN 100, denoted as RAN 120a-120j, is collectively referred to as RAN 120. RAN 100 may also include other RAN nodes, such as wireless relay equipment and / or wireless backhaul equipment. Figure 1 (Not shown in the image). Terminal device 120 is connected to RAN node 110 wirelessly. RAN node 110 is connected to core network 200 wirelessly or via wired connection. The core network equipment in core network 200 and RAN node 110 in RAN 100 can be different physical devices, or they can be the same physical device integrating core network logical functions and radio access network logical functions.

[0061] RAN 100 can be a cellular system related to the 3rd Generation Partnership Project (3GPP), such as 4G, 5G mobile communication systems, or future-oriented evolution systems. RAN 100 can also be an open RAN (O-RAN or ORAN), a cloud radio access network (CRAN), or a WiFi system. RAN 100 can also be a communication system that integrates two or more of the above systems.

[0062] RAN node 110, sometimes referred to as RAN entity or access node, constitutes part of the communication system and assists terminal devices in achieving wireless access. Multiple RAN nodes 110 in communication system 10 can be of the same type or different types. In some scenarios, the roles of RAN node 110 and terminal device 120 are relative, for example... Figure 1 Network element 120i can be a helicopter or a drone, and it can be configured as a mobile base station. For terminals 120j that access RAN 100 through network element 120i, network element 120i is a base station; however, for base station 110a, network element 120i is a terminal device. RAN node 110 and terminal device 120 are sometimes referred to as communication devices, for example... Figure 1 Network elements 110a and 110b can be understood as communication devices with base station functions, while network elements 120a-120j can be understood as communication devices with terminal equipment functions.

[0063] RAN nodes can also be referred to in different ways, such as network devices. Unless otherwise specified in this application, network devices will be used as the term.

[0064] In one possible scenario, network equipment can also be called access network equipment. Access network equipment can be a base station, an evolved NodeB (eNodeB), an access point (AP), a transmission reception point (TRP), a next-generation NodeB (gNB), a base station in a future mobile communication system, or an access node in a WiFi system, etc. Access network equipment can also be a macro base station (such as...). Figure 1 110a), micro base stations or indoor stations (such as Figure 1 The access network device can be a relay node or donor node (as described in 110b), or a wireless controller in a CRAN scenario. Optionally, the access network device can also be a server, wearable device, vehicle, or in-vehicle equipment. For example, the access network device in vehicle-to-everything (V2X) technology can be a roadside unit (RSU). All or part of the functions of the access network device in this application can also be implemented through software functions running on hardware, or through virtualization functions instantiated on a platform (e.g., a cloud platform). The access network device in this application can also be a logical node, logical module, or software capable of implementing all or part of the access network device functions.

[0065] In another possible scenario, multiple access network devices collaborate to assist terminal devices in achieving wireless access, with each access network device performing a portion of the base station's functions. For example, the access network devices can be a central unit (CU), a distributed unit (DU), a CU-control plane (CP), a CU-user plane (UP), or a radio unit (RU), etc. The CU and DU can be configured separately or included in the same network element, such as a baseband unit (BBU). The RU can be included in radio frequency equipment or radio frequency units, such as a remote radio unit (RRU), an active antenna unit (AAU), or a remote radio head (RRH).

[0066] In different systems, CU (or CU-CP and CU-UP), DU, or RU may have different names, but those skilled in the art will understand their meaning. For example, in an ORAN system, CU can also be called an open CU (O-CU), DU can also be called an open DU (O-DU), CU-CP can also be called an open CU-CP (O-CU-CP), CU-UP can also be called an open CU-UP (O-CU-UP), and RU can also be called an open RU (O-RU). Any of the units among CU (or CU-CP, CU-UP), DU, and RU in this application can be implemented through software modules, hardware modules, or a combination of software and hardware modules.

[0067] Terminal devices can also be called user equipment (UE), mobile stations, mobile terminals, etc. Terminal devices can be widely used in various scenarios, such as device-to-device (D2D), vehicle-to-everything (V2X) communication, machine-type communication (MTC), Internet of Things (IoT), virtual reality, augmented reality, industrial control, autonomous driving, telemedicine, smart grids, smart furniture, smart offices, smart wearables, smart transportation, smart cities, etc. For example, terminal devices can be mobile phones, tablets, computers with wireless transceiver capabilities, wearable devices, vehicles, drones, helicopters, airplanes, ships, robots, robotic arms, smart home devices, etc. The embodiments of this application do not limit the device form of the terminal device.

[0068] The communication systems and architectures described in the embodiments of this application are intended to more clearly illustrate the technical solutions of the embodiments of this application, and do not constitute a limitation on the technical solutions provided in the embodiments of this application. As those skilled in the art will know, with the evolution of network architecture and the emergence of new business scenarios, the technical solutions provided in the embodiments of this application are also applicable to similar technical problems.

[0069] by Figure 1 Taking the communication system shown as an example, to ensure the reliability of communication between devices, the sending end can encode the information to be sent, and correspondingly, the receiving end decodes the encoded information after receiving it. See also... Figure 2The encoding and decoding process shown involves the source information at the transmitting end undergoing channel coding, rate matching, and interleaving in sequence. The receiving end then processes the received information through deinterleaving, rate matching dematching, and channel decoding to obtain the destination information. Based on the destination information, the receiving end can acquire useful information.

[0070] The relevant terms and technologies involved in the embodiments of this application will be explained below. It should be noted that these explanations are for the purpose of making the embodiments of this application easier to understand, and should not be regarded as a limitation on the scope of protection claimed by this application.

[0071] 1) Information bit sequence

[0072] An information bit sequence refers to a sequence of multiple bits to be sent. For example, if the bits to be sent are 1, 0, 1, 0, 1, 1, 0, 0, 1, 0, 1, then the information bit sequence is: 10101100101.

[0073] 2) Code length

[0074] Code length refers to the length of the bit sequence to be transmitted obtained by encoding the information bit sequence. The code length is greater than or equal to the length of the information bit sequence.

[0075] 3) Bitrate

[0076] Code rate is the ratio of the length of the information bit sequence to the code length.

[0077] The length, code length, and code rate of the information bit sequence can be pre-configured by higher-layer signaling, MAC layer signaling, or downlink physical layer signals, and can also be obtained or calculated by the transmitting and receiving devices. For example, the transmitting and receiving devices can determine the code length based on the coding method, the frame structure used to transmit the information bits, the number of layers, and the modulation scheme. For example, the transmitting and receiving devices can obtain the code rate based on higher-layer signaling, MAC layer signaling, or downlink physical layer signals, or determine the code rate based on the modulation and coding scheme (MCS).

[0078] 4) LDPC code

[0079] LDPC codes are a channel coding scheme very close to the Shannon limit, characterized by high performance and low complexity. They have been adopted by 3GPP as the coding and decoding scheme for 5G communication data channels. Mainstream LDPC codes have a QC structure, which avoids bad structures such as short loops and improves code distance by setting the shift amount of each block.

[0080] LDPC codes can be represented using a basis matrix, where elements are either 0 or 1. Expanding the basis matrix by adding 1s results in a Zc*Zc cyclic shift matrix, and expanding by adding 0s results in a Zc*Zc zero matrix. This expansion yields a parity-check matrix, which can be used for encoding or decoding. Zc can be referred to as the spread factor, lift factor, spread value, spread coefficient, lifting size, etc. The basis matrix can be represented as H. BG BG is an abbreviation for basegraph. A basis matrix can also be represented by a basegraph, and the two have a corresponding relationship.

[0081] In LDPC encoding and decoding schemes, the number of information columns in the LDPC is closely related to the encoding and decoding performance. Therefore, determining the appropriate number of information columns is of paramount importance. Based on this, embodiments of this application provide an encoding method and a decoding method to flexibly determine the appropriate number of information columns during the encoding and decoding process, so as to meet the requirements of reliability, throughput, and power consumption in different business scenarios (such as high-throughput scenarios and low-power scenarios).

[0082] In the following embodiments of this application, the encoding method provided by the embodiments of this application is described in detail using the sending end as an example, and the decoding method provided by the embodiments of this application is described in detail using the receiving end as an example. It should be understood that the operation performed by the sending end can also be implemented by a processor, chip, chip system, or functional module in the sending end, and the operation performed by the receiving end can also be implemented by a processor, chip, chip system, or functional module in the receiving end, etc., and this application does not limit it in this way.

[0083] The sending end and receiving end in the embodiments of this application can be Figure 1 The communication system shown can accommodate any two devices communicating. For example, the sending end is a terminal device and the receiving end is an access network device. Another example is that the sending end is an access network device and the receiving end is a terminal device. Yet another example is that both the sending and receiving ends are terminal devices. It should be understood that these are merely examples, and the sending and receiving ends can have other combinations, which are not limited in this application.

[0084] Based on the above description, embodiments of this application provide an encoding method, such as... Figure 3 As shown, the process of this method may include:

[0085] Step 301: The sending end determines the number of information columns in the verification matrix based on the first information, wherein the first information includes the capability information of the receiving end.

[0086] The first piece of information may include one or more of the following: maximum number of information columns, supported basemap index set (also known as the size of the supported basemap index set), maximum clock frequency, number of antennas, receiver complexity, peak data rate, maximum modulation and coding scheme (MCS) index, maximum number of iterations, maximum rank indication, minimum processing timeline, maximum number of blind detections, maximum code length, minimum code rate, maximum number of code blocks, maximum boost value, maximum number of resource blocks, or maximum set of precoding matrix indications (PMIs), etc. The receiver's capability information may be the capability information specified in the standard protocol; it may also be capability information determined based on the information reported by the UE and adapted to the UE's capabilities; or it may be capability information determined based on at least one of the following: current service type, channel fading, connection density, service period, or other factors. For example, for downlink transmission, the base station can determine the receiver's (i.e., UE's) capability information based on the capability information reported by the UE, or based on the current communication conditions (including but not limited to channel fading, connection density, service type, service period, etc.), or of course, the downlink receiver's capability information (such as maximum MCS, highest rank, etc.) can be directly specified by the protocol. Similarly, for uplink transmission, the base station can determine the receiver's (i.e., the base station itself) capability information (such as the UE's maximum supported transmission capacity, maximum MCS, etc.) based on the capability information reported by the UE, or based on the current communication conditions (including but not limited to channel fading, connection density, service type, service period, etc.), or of course, the uplink receiver's capability information (such as maximum MCS, highest rank, etc.) can be directly specified by the protocol.

[0087] In some embodiments, the sending end determines the number of information columns of the parity check matrix based on the first information, which can be achieved by the following method: the sending end can determine the number of information columns of the parity check matrix based on the first information and the second information, wherein the second information may include one or more of the following: MCS index, spectral efficiency, basemap index, basemap indication sent to the receiving end, indication of the number of information columns sent to the receiving end, number of segments of transport block, boost value, or TBS.

[0088] In an optional implementation a1, when the second information is an MCS index, the number of information columns can be a first value when the MCS index is greater than a first threshold, and the number of information columns can be a second value when the MCS index is less than or equal to the first threshold. The first value is related to the first information.

[0089] The first value is related to the first information. It can be understood that the first value can be the maximum number of information columns in the first information, or the maximum number of information columns determined based on the first information.

[0090] It should be understood that "equal to" here is not limited to the case in implementation method a1. It can also mean that when the MCS index is greater than or equal to the first threshold, the number of information columns can be the first value, and when the MCS index is less than the first threshold, the number of information columns can be the second value. This application does not limit this.

[0091] Optionally, the first value can be greater than 22 and an integer multiple of 11.

[0092] In some embodiments, to ensure backward compatibility with NR, the first value can be an integer multiple of 11 between 33 and 66, for example, the first value can be 33, 44, 55, or 66. It should be understood that the foregoing is merely an example and is not intended to limit the present application. To improve performance, the first value can also be an integer multiple of 11 larger than 66, which will not be listed here.

[0093] The second value can be 22, meaning that when the MCS index is less than or equal to the first threshold, the number of information columns can use the currently defined value.

[0094] The first threshold can be the maximum MCS index in the first information. The first threshold may differ across different standard protocols. For example, in standard protocol 38.214, in MCS tables 5.1.3.1-1 and 5.1.3.1-3, the first threshold could be 28. As another example, in standard protocol 38.214, in MCS table 5.1.3.1-2, the first threshold could be 27.

[0095] In an optional implementation a2, when the second information is spectral efficiency, the number of information columns can be a first value when the spectral efficiency is greater than a second threshold, and the number of information columns can be a second value when the spectral efficiency is less than or equal to the second threshold. The first value is related to the first information.

[0096] Similarly, the term "equal to" here is not limited to the case in implementation method a2. It can also mean that when the spectral efficiency is greater than or equal to the second threshold, the number of information columns can be the first value, and when the spectral efficiency is less than the second threshold, the number of information columns can be the second value. This application does not limit this.

[0097] The first and second values ​​can be found in the description of implementation method a1, and will not be repeated here.

[0098] For example, the second threshold can be determined based on the maximum MCS index in the first information. The second threshold may differ in different standard protocols. For instance, in MCS table 5.1.3.1-1 of standard protocol 38.214, the second threshold can be any value within the range (5.3320, 5.5547]. As another example, in MCS table 5.1.3.1-3 of standard protocol 38.214, the second threshold can be any value within the range (4.2129, 4.5234). Yet another example, in MCS table 5.1.3.1-2 of standard protocol 38.214, the second threshold can be any value within the range (7.1602, 7.4063).

[0099] Optionally, in implementation a1 and implementation a2, when the number of information columns is a first value, the punched column included in the verification matrix is ​​the first column of the verification matrix, or the verification matrix does not include a punched column; or, when the number of information columns is a second value, the punched column included in the verification matrix is ​​the first two columns of the verification matrix.

[0100] Assuming a first value of 33 and a second value of 22 as an example, some examples of determining the number of information columns based on implementation method a1 or implementation method a2 can be shown below.

[0101] One example:

[0102] if I MCS >W for a PDSCH,where W=28for MCS tables 5.1.3.1-1and 5.1.3.1-3,and W=27for MCS table

[0103] 5.1.3.1-2 (wherein, I) MCS (W represents the MCS index and the first threshold)

[0104] Kb = 33; / / Determine the number of information columns to be 33

[0105] Pb = 1; / / Determine the weight of the first column of the parity check matrix (i.e., the parity check matrix contains the first column of the parity check matrix).

[0106] else

[0107] Kb=22; / / Determine the number of information columns to be 22

[0108] Pb = 2; / / Determine the weight of the two larger columns of the punched columns (i.e., the punched columns in the check matrix are the first two columns of the check matrix).

[0109] end

[0110] In the example above, Kb represents the number of information columns, and Pb represents the number of punched columns.

[0111] Another example:

[0112] if I MCS >W for a PDSCH,where W=28for MCS tables 5.1.3.1-1and 5.1.3.1-3,and W=27for MCS table

[0113] 5.1.3.1-2 (wherein, I) MCS (W represents the MCS index and the first threshold)

[0114] Kb=44; / / Determine the number of information columns to be 44

[0115] Pb = 0; / / Determines that large columns will not be punched (i.e., the parity check matrix does not contain punched columns).

[0116] else

[0117] Kb=22; / / Determine the number of information columns to be 22

[0118] Pb = 2; / / Determine the weight of the two larger columns of the punched columns (i.e., the punched columns in the check matrix are the first two columns of the check matrix).

[0119] end

[0120] In the example above, Kb represents the number of information columns, and Pb represents the number of punched columns.

[0121] Another example:

[0122] If SE > M, for a PDSCH, where M = 5.5547 for MCS table 5.1.3.1-1 and M = 4.5234 for MCS table 5.1.3.1-3 and M = 7.4063 for MCS table 5.1.3.1-2 (where SE represents spectral efficiency and M represents the second threshold).

[0123] Kb = 33; / / Determine the number of information columns to be 33

[0124] Pb = 1; / / Determine the weight of the first column of the parity check matrix (i.e., the parity check matrix contains the first column of the parity check matrix).

[0125] else

[0126] Kb=22; / / Determine the number of information columns to be 22

[0127] Pb = 2; / / Determine the weight of the two larger columns of the punched columns (i.e., the punched columns in the check matrix are the first two columns of the check matrix).

[0128] end

[0129] In the example above, Kb represents the number of information columns, and Pb represents the number of punched columns.

[0130] In an optional implementation a3, when the second information is the number of segments of a transport block or the TBS, the number of information columns is positively correlated with the number of segments of a transport block or the TBS, and the number of information columns is less than or equal to a first value, which is related to the first information.

[0131] The first value can be found in the description of implementation method a1, and will not be repeated here.

[0132] Optionally, the number of information columns can be determined as any value between 22 and a first value, based on different values ​​of the number of segments in the transport block or the TBS. The determined value can include both 22 and the first value. Alternatively, it can be understood that the number of information columns increases from 22 towards the first value as the number of segments in the transport block or the TBS increases. That is, the larger the number of segments in the transport block or the TBS, the larger the number of information columns, but it cannot exceed the first value.

[0133] The final determined number of information columns can be the one that provides the best performance given the number of segments or TBS of the current transport block. For example, this number of information columns corresponds to the number of segments or TBS of the current transport block, where the maximum number of information bits per code block is greater than the number of information bits per code block and the difference between the maximum number of information columns and the number of information bits per code block is minimized.

[0134] For example, taking the number of segments in a transport block as an example, an example of a positive correlation between the number of information columns and the number of segments in a transport block can be as follows:

[0135] if C <C1

[0136] Kb = Kb1

[0137] elseif C <C2

[0138] Kb = Kb2

[0139] elseif C <C3

[0140] Kb = Kb3

[0141] elseif C <C4

[0142] Kb = Kb4

[0143] elseif C <C5

[0144] Kb = Kb5

[0145] else

[0146] Kb = Kb6

[0147] end

[0148] Among them, in this example, C represents the number of segments of the transport block, C1 to C5 represent the values of the number of segments of the transport block, and C1 < C2 < C3 < C4 < C5. C1 to C5 can be predefined. Kb represents the number of information columns, and Kb1 to Kb6 represent the values of the number of information columns, where Kb1 < Kb2 < Kb3 < Kb4 < Kb5 < Kb6.

[0149] It can be understood that the number of values of C is only for illustration. That is to say, the number of C1 to C5 is only for illustration, and it can also be less than the number of C1 to C5, such as C1 to C4 or less, or it can also be more than the number of C1 to C5, such as C1 to C6 or more. This application does not make any limitations in this regard.

[0150] Correspondingly, the number of values of Kb is the same reason.

[0151] Optionally, Kb1 can be 22, and the maximum value of Kb can be the first value. For example, continuing with the above example, Kb6 can be the first value.

[0152] For example, taking the first value as 33 and the values of C including two values 2 and 4 (it can also be understood that C1 = 2, C2 = 4, not including C3 to C6) as an example, an example where the number of information columns is positively correlated with the number of segments of the transport block can be as follows:

[0153] if C < 2

[0154] Kb = 22

[0155] elseif C < 4

[0156] Kb = 25

[0157] else

[0158] Kb = 33

[0159] end

[0160] In this example, when C < 4 and Kb = 25, at this time, 25 is the number of information columns that can make the coding performance the best. For example, when C < 4, the number of information columns corresponding to the case where the maximum number of information bits in the code block is greater than the number of information bits in each code block and the difference from the number of information bits in each code block is the smallest is 25.

[0161] In some embodiments, C can be determined based on the TBS and the payload size B.

[0162] When the second piece of information is TBS, an example where the number of information columns is positively correlated with TBS can be similar to the aforementioned example where the number of information columns is positively correlated with the number of segments in a transport block. They can be referred to each other, and will not be described in detail here.

[0163] In an optional implementation a4, when the second information is a boost value, the transmitting end determines the number of information columns based on the first and second information. The method can be as follows: the transmitting end can determine the initial number of information columns and the number of information bits included in each code block based on the first information; the transmitting end can determine the maximum code block information bit number set based on the initial number of information columns and the boost value; the transmitting end can determine the number of information columns corresponding to the first maximum code block information bit number in the maximum code block information bit number set as the number of information columns, wherein the first maximum code block information bit number is the maximum code block information bit number in the maximum code block information bit number set that is greater than the number of information bits in each code block and has the smallest difference between it and the number of information bits in each code block. The bit difference can also be described as a shortened bit number. The maximum code block information bit number can also be described as the length of the parent code information, etc.

[0164] In some embodiments, the boost value may be a reused boost value from the current NR. For example, the boost value may include at least one row from Table 1 below:

[0165] Table 1

[0166] Set of lift values SL )]]> Value of boost value 0 {2,4,8,16,32,64,128,256} 1 {3,6,12,24,48,96,192,384} 2 {5,10,20,40,80,160,320} 3 {7,14,28,56,112,224} 4 {9,18,36,72,144,288} 5 {11,22,44,88,176,352} 6 {13,26,52,104,208} 7 {15,30,60,120,240}

[0167] Optional, i in Table 1 SL 0~i SL At least one of the 7 values ​​can be further increased by at least one additional value, resulting in an expanded i. SL 0~i SL At least one corresponding value in 7 can be used as the boosting value in the embodiments of this application. For example, i SL The value of 0 increases to 512, 1024, etc.

[0168] Alternatively, you can also find i in Table 1 SL 0~i SL Based on 7, more index values ​​can be added, for example, i can also be included. SL 8 or more, etc. The value corresponding to at least one of the extended indices can be used as the boost value in the embodiments of this application.

[0169] Optionally, the boost value can also be a combination of the two aforementioned extension methods, and this application does not limit this.

[0170] For example, the boost value may include at least one row from Table 2 below:

[0171] Table 2

[0172] Set of lift values SL )]]> Value of boost value 0 {2,4,8,16,32,64,128,256,512} 1 {3,6,12,24,48,96,192,384,768} 2 {5,10,20,40,80,160,320,640} 3 {7,14,28,56,112,224,448} 4 {9,18,36,72,144,288,576} 5 {11,22,44,88,176,352,704} 6 {13,26,52,104,208,416} 7 {15,30,60,120,240,480} 8 {17,34,68,136,272,544} 8 {17,34,68,136,272} 9 {19,38,76,152,304,608} 9 {19,38,76,152,304} 10 {21,42,84,168,336} 10 {21,42,84,168} 11 {23,46,92,184,368} 11 {23,46,92,184}

[0173] It should be understood that Table 2 is merely an example and is not intended to limit this application. For example, the value corresponding to at least one index in Table 2 may be further increased by at least one additional value, such as i SL The value of 0 can be 2, 4, 8, 16, 32, 64, 128, 256, 512, 1024, or 2, 4, 8, 16, 32, 64, 128, 256, 512, 1024, ... For example, in Table 2, i... SL 0~i SL 7 can include at least one as shown in Table 2, and the others can be shown in Table 1.

[0174] It should be understood that only i is shown in Table 2. SL 0~i SL 11. With the development of communication technology, it can also be i SL >11, meaning there may still be i SL 12 or more, for example, i SL 13 can be {25, 50, 100, 200, ...}, which will not be listed here.

[0175] In some embodiments, the values ​​corresponding to each n in Tables 1 and 2 can also take other forms, for example, i in Table 2 SL Taking 0 as an example, it can also be represented as i. SL 0 = {1 2 4 8 16 32 64 128 256} * 2, and so on. They will not be explained one by one here.

[0176] Optionally, the transmitter can select an initial basemap (BG1 as an example) based on the payload size and the set of basemap indices supported by the minimum code rate in the first information. Then, it determines the number of information columns Kb corresponding to BG1, for example, Kb = 22. The aforementioned method of determining BG1 can also be understood as the transmitter selecting BG1 according to the NR criterion. Then, the transmitter can determine the number of segments in the transport block based on the selected BG1, and determine the number of information bits included in each code block based on the number of segments. Further, the transmitter iterates through all combinations of information column numbers and boost values ​​between the initial number of information columns and the maximum number of information columns to determine the set of maximum code block information bit numbers, and then determines the first maximum code block information bit number. The number of information columns in the combination of the information column number and boost value for obtaining the first maximum code block information bit number is then determined as the final number of information columns.

[0177] For example, the boost value includes i in Table 2 SL 0~i SLTaking the value shown in Figure 7 as an example, one way to determine the number of information columns based on the boost value may include the following steps:

[0178] 1) Select BG to determine the initial number of information columns.

[0179] For example, BG1 is selected according to the NR criterion, and the initial number of information columns Kb = 22 is determined. Correspondingly, the maximum number of encoded information bits supported by BG1 can be determined to be Kcb = 8448.

[0180] 2) Determine the number of segments C of the transport block based on the selected base map.

[0181] For example, or L is the length of the cyclic redundancy check (CRC).

[0182] 3) Determine the number of information bits CBS contained in each code block based on the number of segments C of the transport block.

[0183] For example,

[0184] 4) Iterate through all combinations of Kb and Zc values ​​to find the Kb and Zc combination with the fewest shortened bits.

[0185] For example, step 4) can be achieved as follows:

[0186] Assume the boost values ​​include the following i SL 0~i SL 7

[0187] i SL 0 = {1 2 4 8 16 32 64 128 256} * 2;

[0188] i SL 1 = {1 2 4 8 16 32 64 128 256} * 3;

[0189] i SL 2 = {1 2 4 8 16 32 64 128} * 5;

[0190] i SL 3 = {1 2 4 8 16 32 64} * 7;

[0191] i SL 4 = {1 2 4 8 16 32 64} * 9;

[0192] i SL 5 = {1 2 4 8 16 32 64} * 11;

[0193] i SL 6 = {1 2 4 8 16 32} * 13;

[0194] i SL 7 = {1 2 4 8 16 32} * 15;

[0195] list = sort([i SL 0i SL 1i SL 2i SL 3i SL 4i SL 5i SL 6i SL 7]); / / All possible values of Zc

[0196] cur_samllest = inf; / / Initialize the minimum number of shortened bits to infinity

[0197] for kbTemp = 33:-1:22; / / Iterate through all possible number of information columns (where 33 is the maximum number of information columns)

[0198] list_sort = list * kbTemp; / / Set of maximum code block information bits corresponding to the current number of information columns

[0199] if max(list_sort) < CBS / / If the set of maximum code block information bits for the current combination does not support the current CBS, terminate the search

[0200] break;

[0201] end

[0202] Z_this = list_sort - CBS; / / Calculate the number of shortened bits corresponding to the current combination of Kb and Zc

[0203] Z_this = find(Z_this >= 0); / / Keep the number of shortened bits not less than zero

[0204] if list_sort(Z_this(1)) < cur_samllest; / / If the current combination of Kb and Zc can result in fewer shortened bits

[0205] cur_samllest = list_sort(Z_this(1)); / / Update the current minimum value of the number of shortened bits

[0206] kb = kbTemp; / / Update the current number of information columns

[0207] Zc = cur_samllest / kb; / / Update the current boost value

[0208] end

[0209] end

[0210] After determining the final combination of Kb and Zc using the above method, Kb in this combination is used as the final number of information columns.

[0211] In an alternative implementation a5, when the second information is a boost value, the number of information columns is related to the magnitude of the boost value.

[0212] Optionally, the number of information columns is related to the size of the boost value. For example, if the maximum boost value is the same, the number of information columns can be the number of information columns corresponding to the boost value with the largest boost value.

[0213] In some embodiments, the sending end may first determine multiple combinations of boost values ​​and information column numbers based on multiple base maps, and then determine the number of information columns in the combination with the largest boost value among the multiple combinations of boost values ​​and information column numbers as the required number of information columns.

[0214] For example, the sender can determine a base map based on the payload size and bit rate, then determine the combination of information column number and boost value corresponding to the determined base map, and then determine the combination of information column number and boost value corresponding to at least one other base map based on at least one other base map. Finally, the number of information columns in the combination with the largest boost value is determined as the required number of information columns.

[0215] For example, assuming a CBS of 6864 and a bitrate R of 0.926, the transmitter determines BG1 based on the payload size and bitrate, and then determines the combination of message columns and boost values ​​corresponding to BG1 as Kb1 = 22 and Zc1 = 320. Based on other candidate basemaps BG3 corresponding to the payload size and bitrate, the transmitter determines the combination of message columns and boost values ​​corresponding to BG3 as Kb2 = 33 and Zc2 = 208. Further, the transmitter determines the final message column number based on the boost values. If Zc1 > Zc2, the transmitter selects Kb = 22 corresponding to Zc1 as the final message column number. Simultaneously, the transmitter can also select BG1 corresponding to Zc1 as the final basemap to be used.

[0216] In some possible implementations, the sending end may receive the first information before determining the number of information columns. Correspondingly, the receiving end may send the first information. For example, when a terminal device sends information to an access network device, the access network device, as the receiving end, sends the first information to the terminal device; when the access network device sends information to the terminal device, the terminal device, as the receiving end, sends the first information to the terminal device. It should be understood that the above are merely examples and are not intended to limit this application.

[0217] Optionally, in different standard protocols, the first information can be carried in different indication fields or fields, which can also be understood as the first information having different forms of representation in different standard protocols.

[0218] In one example, the first information may be carried in a radio resource control (RRC) information element (IE).

[0219] For example, a new field can be added to the Phy-Parameters section of standard protocol 38.306 4.2.7.10 to carry the first information. For example, taking the receiving end as a terminal device, the first information can be the decoding capability information of the terminal device, as shown in Table 3 below.

[0220] Table 3

[0221]

[0222] In Table 3 above, "Definitions for parameters" indicates parameter definitions; "Per" indicates the level of the associated parameter, for example, "UE" in the corresponding column indicates that the associated parameter is the signaling for each UE; "M" is short for "Mandatory"; "Yes" indicates mandatory, "No" indicates optional; "FDD-TDDDIFF" indicates whether it can change with the change of frequency division duplexing (FDD) to time division duplexing (TDD); "FR1-FR2 DIFF" indicates whether it can change with the change of frequency band 1 (FR1) to frequency band 2 (FR2); "UE-Decoding Capability" indicates the UE's decoding capability, correspondingly, "Ddefines the UE decoding capability, including maximum Kb, supported BG index set, Kb, maximumClockFrequency, antennaNumber, receiverComplexity, peakDataRate, maximumMCSIndex, maximumIterationNu The parameters “mber, maximumRankIndicator, minimumProduceTimeLine, maximumBlindDetectionNumber, maximumCodeLength, minimumCodeRate, maximumCodeBlockNum, liftingSizeSet, maximumRBNumber, and PMISet” define the UE's decoding capabilities, including maximum Kb, supported BG index set, maximum clock frequency, number of antennas, receiver complexity, peak data rate, maximum MCS index, maximum number of iterations, maximum rank indicator, minimum processing timeline, maximum number of blind detections, maximum code length, minimum code rate, maximum number of code blocks, maximum lift value, maximum number of resource blocks, and maximum PMI set.

[0223] For example, a new piece of information can be added to the UE Capability information elements section of standard protocol 38.331 6.3.3. Taking the receiving end as a terminal device as an example, the first information can be the decoding capability information of the terminal device, and the first information can be as follows:

[0224] Phy-ParametersFRX-Diff::=SEQUENCE{

[0225] UE-defined-maximumKb ENUMERATED{supported}OPTIONAL,

[0226] UE-defined-supportedBGSet ENUMERATED{supported}OPTIONAL,

[0227] UE-defined-maximumClockFrequency ENUMERATED{supported}OPTIONAL,

[0228] UE-defined-antennaNumber ENUMERATED{supported}OPTIONAL,

[0229] UE-defined-receiverComplexity ENUMERATED{supported}OPTIONAL,

[0230] UE-defined-peakDataRate ENUMERATED{supported}OPTIONAL,

[0231] UE-defined-maximumMCSIndex ENUMERATED{supported}OPTIONAL,

[0232] UE-defined-maximumIterationNumber ENUMERATED{supported}OPTIONAL,

[0233] UE-defined-maximumRankIndicator ENUMERATED{supported}OPTIONAL,

[0234] UE-defined-minimumProduceTimeLine ENUMERATED{supported}OPTIONAL,

[0235] UE-defined-maximumBlindDetectionNumber ENUMERATED{supported}OPTIONAL,

[0236] UE-defined-maximumCodeLength ENUMERATED{supported}OPTIONAL,

[0237] UE-defined-minimumCodeRate ENUMERATED{supported}OPTIONAL,

[0238] UE-defined-maximumCodeBlockNum ENUMERATED{supported}OPTIONAL,

[0239] UE-defined-liftingSizeSet ​​ENUMERATED{supported}OPTIONAL,

[0240] UE-defined-maximumRBNumber ENUMERATED{supported}OPTIONAL,

[0241] UE-defined-PMISet ENUMERATED{supported}OPTIONAL,

[0242] }

[0243] The interpretation of the first piece of information mentioned above can be as follows:

[0244] Physical parameter difference FRX-Diff (FrequencyX-different) sequence {

[0245] List the maximum number of information columns for the UE (User Equipment). (Kb)

[0246] List the BG sets supported by the UE.

[0247] List the maximum clock frequencies of the UE.

[0248] List the number of antennas for the UE.

[0249] List the receiver complexity of the UE.

[0250] List the peak data rates of the UE.

[0251] List the largest MCS indexes of UE.

[0252] List the maximum number of iterations for the UE.

[0253] List the UE's maximum rank indication,

[0254] List the minimum processing timeline for the UE.

[0255] List the maximum number of blind detections for UEs.

[0256] List the maximum code length of the UE.

[0257] List the minimum bitrates for UEs.

[0258] List the maximum number of code blocks for a UE.

[0259] List the maximum improvement values ​​for UE.

[0260] List the maximum number of resource blocks for a UE.

[0261] List the largest PMI set of UE

[0262] }

[0263] Optionally, in addition to the examples above, the first information can also be included in other physical parameter sequences, such as Phy-ParametersFR1 (physical parameter frequency band 1), Phy-ParametersFR2 (physical parameter frequency band 2), Phy-ParametersFRCommon (physical parameter frequency band common frequency band 1), etc.

[0264] For example, the first information can be added to the Layer-1 UE features section of standard protocol 38.822 6.1.8NR_UE_pow_sav_enh. For instance, the first information can be carried by Components in 38.822 6.1.8NR_UE_pow_sav_enh. Taking the receiving end as the terminal device as an example, the first information can be the decoding capability information of the terminal device, as shown in Table 4 below:

[0265] Table 4

[0266]

[0267]

[0268] In Table 4 above, “Features” represents features; “Index” represents index; “Feature group” represents feature group; “Components” represents components; “Prerequisite feature groups” represents necessary feature groups; “Field name in TS 38.331[2]” represents field name; “Parent IE in TS 38.331[2]” represents the parent information element (IE); “Need of FDD / TDD differentiation” represents FDD / TDD requirement difference; “29.NR_UE_pow_sav_enh” represents new radio UE power saving enhancement; “PDCCH skipping” represents skipping PDCCH; “Support of up to 2-bit indication of PDCCH skipping by scheduling DCI if SSSG is not "configured" indicates that without SSSG configuration, a maximum of 2 bits of scheduling DCI are supported to skip PDCCH; "pdcch-SkippingWithoutSSSG-r17" indicates that the Physical downlink Control channel (PDCCH) is skipped without SSS-r17; "BandNR" indicates the NR band; "Low power decoding" indicates low power decoding; "Support of up to xxx code blocknumber" indicates the maximum number of code blocks supported; "UE-defined-codeBlockNum" indicates the defined number of UE code blocks; "Phy-ParametersFRX-Diff" indicates the physical layer FRX parameter configuration; "Y" is short for "Yes", indicating a difference; "upport of up to Nmax=xxx code length" indicates the maximum code length supported; "UE-defined-maxCodeLength" indicates the defined maximum code length for the UE; "Support the minimum code rate xxx." indicates the minimum code rate supported; "UE-defined-minCodeRate" indicates the defined minimum code rate for the UE; "Support BG Index xxx.""BG index" indicates the supported BG index; "UE-defined-BGIndex" indicates the defined BG index of the UE; "Lifting size is selected from set{xxx}" indicates the maximum lift value; "UE-defined-liftingSizeSet" indicates the defined set of UE lift values; "Support of up to Itermax=xxx Iteration number" indicates the maximum supported iteration number; "UE-defined-maxIterNum" indicates the defined maximum iteration number.

[0269] In some embodiments, the sending end may receive the second information before determining the number of information columns. Accordingly, the receiving end may send the second information. Optionally, the first information and the second information may be carried in the same message or in different messages; this application does not limit this.

[0270] Step 302: The sending end determines the verification matrix based on the number of information columns.

[0271] Specifically, the method by which the sending end determines the verification matrix based on the number of information columns can be found in current relevant methods, and will not be elaborated here.

[0272] Step 303: The sending end encodes the information to be encoded according to the check matrix.

[0273] For example, the sending end can encode the information to be encoded according to the parity check matrix to obtain the encoded bit sequence, and then perform rate matching and interleaving on the encoded bit sequence to obtain the information to be sent to the receiving end, and then send the finally obtained information to the receiving end.

[0274] The information to be encoded can be understood as the sequence of bits that the sending end needs to send out.

[0275] Based on the above method, the sending end can flexibly determine the appropriate number of information columns to implement encoding based on the capability information of the receiving end, thereby meeting the requirements of reliability, throughput and power consumption in different business scenarios (such as high throughput scenarios and low power consumption scenarios).

[0276] Based on the above description, embodiments of this application also provide a decoding method, such as... Figure 4 As shown, the process of this method may include:

[0277] Step 401: The receiving end obtains the information to be decoded.

[0278] The information to be decoded acquired by the receiving end can be a physical signal, or information obtained by the receiving end after noise reduction of the received physical signal, or other types of information. This information to be decoded contains the information bit sequence sent by the sending end.

[0279] The information to be decoded may be the same as or different from the information sent by the sending end to the receiving end in step 303 above, but both correspond to the same information bit sequence.

[0280] Step 402: The receiving end determines the number of information columns in the verification matrix based on the first information, wherein the first information includes the capability information of the receiving end.

[0281] The method by which the receiving end determines the number of information columns of the parity check matrix based on the first information is similar to the method by which the sending end determines the number of information columns of the parity check matrix based on the first information. For details, please refer to the aforementioned method by which the sending end determines the number of information columns of the parity check matrix based on the first information. It will not be repeated here.

[0282] Step 403: The receiving end determines the verification matrix based on the number of information columns.

[0283] The method by which the receiving end determines the parity check matrix based on the number of information columns can be found in current related methods, and will not be elaborated here.

[0284] Step 404: The receiving end decodes the information to be decoded according to the parity check matrix.

[0285] For example, the receiving end can obtain the information bit sequence that the sending end needs to send out after decoding the information to be decoded according to the parity check matrix.

[0286] Based on the above method, the receiver can flexibly determine the appropriate number of information columns based on its capability information, and can align with the number of information columns used by the transmitter for encoding to achieve decoding, thereby meeting the requirements for reliability, throughput and power consumption in different business scenarios (such as high throughput scenarios and low power consumption scenarios).

[0287] Based on the above embodiments, this application also provides a communication device, see below. Figure 5 As shown, the communication device 500 may include a processing unit 502. Optionally, the communication device 500 may further include a transceiver unit 501. The transceiver unit 501 is used for communication by the communication device 500, such as receiving or sending information (signals or data), and the processing unit 502 is used for controlling and managing the operation of the communication device 500. The processing unit 502 may also control the steps performed by the transceiver unit 501.

[0288] For example, the communication device 500 may specifically be a transmitting end, a processor of the transmitting end, a chip, a chip system, a component, a module, a functional module, etc., as described in the above embodiments. Alternatively, the communication device 500 may specifically be a receiving end, a processor of the receiving end, a chip, a chip system, a component, a module, a functional module, etc., as described in the above embodiments.

[0289] In one embodiment, the communication device 500 is used to implement the above. Figure 3 In the embodiment shown, when the transmitting end functions, the processing unit 502 can be used to determine the number of information columns of the verification matrix based on first information, wherein the first information includes the capability information of the receiving end; determine the verification matrix based on the number of information columns; and encode the information to be encoded based on the verification matrix.

[0290] For example, the first information includes one or more of the following: maximum number of information columns, supported basemap index set, maximum clock frequency, number of antennas, receiver complexity, peak data rate, maximum modulation and coding scheme (MCS) index, maximum number of iterations, maximum rank indicator, minimum processing timeline, maximum number of blind detections, maximum code length, minimum code rate, maximum number of code blocks, maximum boost value, maximum number of resource blocks, or maximum precoding matrix indicator (PMI) set. The receiver's capability information can be capability information specified in standard protocols; it can also be capability information determined based on UE-reported information and adapted to the UE's capabilities; or it can be capability information determined based on at least one of the following: current service type, channel fading, connection density, service period, or other factors.

[0291] In one optional implementation, when the processing unit 502 determines the number of information columns of the parity check matrix based on the first information, it may be used to: determine the number of information columns of the parity check matrix based on the first information and the second information, wherein the second information includes one or more of the following: MCS index, spectral efficiency, basemap index, basemap indication sent to the receiving end, indication of the number of information columns sent to the receiving end, number of segments of the transport block, boost value, or transport block size TBS.

[0292] Optionally, when the second information is the MCS index, if the MCS index is greater than the first threshold, the number of information columns is a first value; if the MCS index is less than or equal to the first threshold, the number of information columns is a second value, and the first value is related to the first information.

[0293] Optionally, when the second information is the spectral efficiency, if the spectral efficiency is greater than the second threshold, the number of information columns is a first value; if the spectral efficiency is less than or equal to the second threshold, the number of information columns is a second value, and the first value is related to the first information.

[0294] In some embodiments, when the number of information columns is the first value, the punched column included in the verification matrix is ​​the first column of the verification matrix, or the verification matrix does not include a punched column; or, when the number of information columns is the second value, the punched column included in the verification matrix is ​​the first two columns of the verification matrix.

[0295] For example, when the second information is the number of segments of the transport block or the TBS, the number of information columns is positively correlated with the number of segments of the transport block or the TBS, and the number of information columns is less than or equal to a first value, which is related to the first information.

[0296] In an optional implementation, when the second information is the boost value, the processing unit 502, when determining the number of information columns based on the first information and the second information, may be used to: determine the initial number of information columns and the number of information bits included in each code block based on the first information; determine the maximum code block information bit number set based on the initial number of information columns and the boost value; determine the number of information columns corresponding to the first maximum code block information bit number in the maximum code block information bit number set as the number of information columns, wherein the first maximum code block information bit number is the maximum code block information bit number in the maximum code block information bit number set that is greater than the number of information bits of each code block and has the smallest difference with the number of information bits of each code block.

[0297] In some embodiments, the boost value includes at least one row from the following table:

[0298] Set number of boost value Value of boost value 0 {2,4,8,16,32,64,128,256,512} 1 {3,6,12,24,48,96,192,384,768} 2 {5,10,20,40,80,160,320,640} 3 {7,14,28,56,112,224,448} 4 {9,18,36,72,144,288,576} 5 {11,22,44,88,176,352,704} 6 {13,26,52,104,208,416} 7 {15,30,60,120,240,480} 8 {17,34,68,136,272,544} 8 {17,34,68,136,272} 9 {19,38,76,152,304,608} 9 {19,38,76,152,304} 10 {21,42,84,168,336} 10 {21,42,84,168} 11 {23,46,92,184,368} 11 {23,46,92,184}

[0299] Optionally, when the second information is a boost value, the number of information columns is related to the magnitude of the boost value.

[0300] For example, the first value is greater than 22 and is an integer multiple of 11.

[0301] In one possible approach, the transceiver unit 501 can be used to receive the first information.

[0302] In yet another embodiment, the communication device 500 is used to implement the above. Figure 4 In the embodiment shown, when the receiving end functions, the processing unit 502 can be used to acquire information to be decoded; determine the number of information columns of the verification matrix according to first information, wherein the first information includes the capability information of the receiving end; determine the verification matrix according to the number of information columns; and decode the information to be decoded according to the verification matrix.

[0303] For example, the first information includes one or more of the following: maximum number of information columns, supported basemap index set, maximum clock frequency, number of antennas, receiver complexity, peak data rate, maximum modulation and coding scheme (MCS) index, maximum number of iterations, maximum rank indicator, minimum processing timeline, maximum number of blind detections, maximum code length, minimum code rate, maximum number of code blocks, maximum boost value, maximum number of resource blocks, or maximum precoding matrix indicator (PMI) set. The receiver's capability information can be capability information specified in standard protocols; it can also be capability information determined based on UE-reported information and adapted to the UE's capabilities; or it can be capability information determined based on at least one of the following: current service type, channel fading, connection density, service period, or other factors.

[0304] In one optional implementation, when the processing unit 502 determines the number of information columns of the parity check matrix based on the first information, it may be used to: determine the number of information columns of the parity check matrix based on the first information and the second information, wherein the second information includes one or more of the following: MCS index, spectral efficiency, basemap index, basemap indication sent to the receiving end, indication of the number of information columns sent to the receiving end, number of segments of the transport block, boost value, or transport block size TBS.

[0305] Optionally, when the second information is the MCS index, if the MCS index is greater than the first threshold, the number of information columns is a first value; if the MCS index is less than or equal to the first threshold, the number of information columns is a second value, and the first value is related to the first information.

[0306] Optionally, when the second information is the spectral efficiency, if the spectral efficiency is greater than the second threshold, the number of information columns is a first value; if the spectral efficiency is less than or equal to the second threshold, the number of information columns is a second value, and the first value is related to the first information.

[0307] In some embodiments, when the number of information columns is the first value, the punched column included in the verification matrix is ​​the first column of the verification matrix, or the verification matrix does not include a punched column; or, when the number of information columns is the second value, the punched column included in the verification matrix is ​​the first two columns of the verification matrix.

[0308] For example, when the second information is the number of segments of the transport block or the TBS, the number of information columns is positively correlated with the number of segments of the transport block or the TBS, and the number of information columns is less than or equal to a first value, which is related to the first information.

[0309] In an optional implementation, when the second information is the boost value, the processing unit 502, when determining the number of information columns based on the first information and the second information, may be used to: determine the initial number of information columns and the number of information bits included in each code block based on the first information; determine the maximum code block information bit number set based on the initial number of information columns and the boost value; determine the number of information columns corresponding to the first maximum code block information bit number in the maximum code block information bit number set as the number of information columns, wherein the first maximum code block information bit number is the maximum code block information bit number in the maximum code block information bit number set that is greater than the number of information bits of each code block and has the smallest difference with the number of information bits of each code block.

[0310] For example, the boost value includes at least one row from the following table:

[0311] Set number of boost value Value of boost value 0 {2,4,8,16,32,64,128,256,512} 1 {3,6,12,24,48,96,192,384,768} 2 {5,10,20,40,80,160,320,640} 3 {7,14,28,56,112,224,448} 4 {9,18,36,72,144,288,576} 5 {11,22,44,88,176,352,704} 6 {13,26,52,104,208,416} 7 {15,30,60,120,240,480} 8 {17,34,68,136,272,544} 8 {17,34,68,136,272} 9 {19,38,76,152,304,608} 9 {19,38,76,152,304} 10 {21,42,84,168,336} 10 {21,42,84,168} 11 {23,46,92,184,368} 11 {23,46,92,184}

[0312] In some embodiments, when the second information is a boost value, the number of information columns is related to the magnitude of the boost value.

[0313] Optionally, the first value is greater than 22 and is an integer multiple of 11.

[0314] In some implementations, the transceiver unit 501 can be used to transmit the first information.

[0315] It should be noted that the division of units in the embodiments of this application is illustrative and only represents one logical functional division. In actual implementation, there may be other division methods. The functional units in the 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. The integrated units described above can be implemented in hardware or as software functional units.

[0316] If the integrated unit is implemented as a software functional unit and sold or used as an independent product, it 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 all or part 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.) or processor 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.

[0317] Based on the above embodiments, this application also provides a communication device, see below. Figure 6 As shown, the communication device 600 may include one or more processors 602. Optionally, the communication device 600 may also include one or more transceivers 601. Optionally, the communication device 600 may also include at least one memory 603. The memory 603 may be located inside or outside the communication device 600. The processor 602 may control the transceiver 601 to receive and send information, messages, or data.

[0318] Specifically, the processor 602 may be a central processing unit (CPU), a network processor (NP), or a combination of a CPU and an NP. The processor 602 may further include a hardware chip. The hardware chip may be an application-specific integrated circuit (ASIC), a programmable logic device (PLD), or a combination thereof. The PLD may be a complex programmable logic device (CPLD), a field-programmable gate array (FPGA), a generic array logic (GAL), or any combination thereof.

[0319] The transceiver 601, processor 602, and memory 603 are interconnected. Optionally, the transceiver 601, processor 602, and memory 603 are interconnected via bus 604; bus 604 can be a Peripheral Component Interconnect (PCI) bus or an Extended Industry Standard Architecture (EISA) bus, etc. The bus can be divided into address bus, data bus, control bus, etc. For ease of representation, Figure 6 The bus is represented by a single thick line, but this does not indicate that there is only one bus or one type of bus. Optionally, the processor 602 and the memory 603 can also be integrated together.

[0320] In one optional embodiment, the memory 603 is used to store programs, etc. Specifically, the program may include program code, which includes computer operation instructions. The memory 603 may include RAM, and may also include non-volatile memory, such as one or more disk storage devices. The processor 602 executes the application program stored in the memory 603 to achieve the above-mentioned functions, thereby realizing the functions of the communication device 600.

[0321] For example, the communication device 600 can specifically implement the functions of the sending end or receiving end in the above embodiments.

[0322] In one embodiment, the communication device 600 performs the aforementioned Figure 3 In the method embodiment shown, when the transmitting end functions, the transceiver 601 can implement the aforementioned... Figure 3 The method embodiment shown illustrates the send / receive operations performed by the sending end; the processor 602 can implement other operations besides the send / receive operations performed by the sending end in the aforementioned method embodiment. For detailed descriptions, please refer to the above. Figure 3 The relevant descriptions in the method embodiments shown will not be detailed here.

[0323] In another embodiment, the communication device 600 implements the aforementioned Figure 3 In the method embodiment shown, when the transmitting end performs its function, the processor 602 can implement the aforementioned... Figure 3 The method embodiment shown illustrates operations performed by the sending end. For detailed descriptions, please refer to the above. Figure 3 The relevant descriptions in the method embodiments are not detailed here.

[0324] In yet another embodiment, the communication device 600 implements the aforementionedFigure 4 In the method embodiment shown, when the receiving end functions, the transceiver 601 can implement the transmit / receive operations performed by the receiving end in the aforementioned method embodiment; the processor 602 can implement the aforementioned... Figure 4 The method embodiment shown includes operations performed by the receiving end other than the send / receive operation. For a detailed description, please refer to the above. Figure 4 The relevant descriptions in the method embodiments shown will not be detailed here.

[0325] In yet another embodiment, the communication device 600 implements the aforementioned Figure 4 In the method embodiment shown, when the receiving end functions, the processor 602 can implement the aforementioned... Figure 4 The method embodiment shown illustrates the operations performed by the receiving end. For a detailed description, please refer to the above. Figure 4 The relevant descriptions in the method embodiments shown will not be detailed here.

[0326] Based on the above embodiments, this application provides a communication system that may include the sending end and receiving end involved in the above embodiments.

[0327] This application also provides a computer-readable storage medium for storing computer programs or instructions. When the computer program or instructions are executed by a computer, the computer can implement the encoding or decoding methods provided in the above-described method embodiments.

[0328] This application also provides a computer program product for storing computer programs or instructions. When the computer program or instructions are executed by a computer, the computer can implement the encoding or decoding methods provided in the above method embodiments.

[0329] This application also provides a chip or chip system, including logic circuitry, which is used to execute the encoding or decoding methods provided in the above-described method embodiments.

[0330] This application also provides a chip or chip system, including one or more processors, wherein the one or more processors are coupled to at least one memory, for calling a program in the memory to enable the chip or chip system to implement the encoding or decoding method provided in the above method embodiments.

[0331] This application also provides a chip or chip system coupled to at least one memory, which is used to implement the encoding or decoding method provided in the above method embodiments.

[0332] Those skilled in the art will understand that embodiments of this application can be provided as methods, systems, or computer program products. Therefore, this application can take the form of a completely hardware embodiment, a completely software embodiment, or an embodiment combining software and hardware aspects. Furthermore, this application can take the form of a computer program product embodied on one or more computer-usable storage media (including but not limited to disk storage, CD-ROM, optical storage, etc.) containing computer-usable program code.

[0333] This application is described with reference to flowchart illustrations and / or block diagrams of methods, apparatus (systems), and computer program products according to this application. It should be understood that each block of the flowchart illustrations and / or block diagrams, and combinations of blocks in the flowchart illustrations and / or block diagrams, can be implemented by computer program instructions. These computer program instructions can be provided to a processor of a general-purpose computer, special-purpose computer, embedded processor, or other programmable data processing apparatus to produce a machine, such that the instructions, which execute via the processor of the computer or other programmable data processing apparatus, generate instructions for implementing the flowchart illustrations. Figure 1 One or more processes and / or boxes Figure 1 A device that provides the functions specified in one or more boxes.

[0334] These computer program instructions may also be stored in a computer-readable storage medium that can direct a computer or other programmable data processing device to function in a particular manner, such that the instructions stored in the computer-readable storage medium produce an article of manufacture including instruction means, which are implemented in a process Figure 1 One or more processes and / or boxes Figure 1 The function specified in one or more boxes.

[0335] These computer program instructions may also be loaded onto a computer or other programmable data processing equipment to cause a series of operational steps to be performed on the computer or other programmable equipment to produce a computer-implemented process, thereby providing instructions that execute on the computer or other programmable equipment for implementing the process. Figure 1 One or more processes and / or boxes Figure 1 The steps of the function specified in one or more boxes.

[0336] Obviously, those skilled in the art can make various modifications and variations to this application without departing from the scope of this application. Therefore, if such modifications and variations fall within the scope of the claims of this application and their equivalents, this application also intends to include such modifications and variations.

Claims

1. An encoding method characterized by comprising: The method comprises: determining the number of information columns of the check matrix according to first information, wherein the first information comprises capability information of a receiving end; determining the check matrix according to the number of information columns; and encoding information to be encoded according to the check matrix.

2. The method of claim 1, wherein, The first information comprises one or more of the following: maximum number of information columns, supported set of base graph indices, maximum clock frequency, number of antennas, receiver complexity, peak data rate, maximum modulation and coding scheme (MCS) index, maximum number of iterations, maximum rank indication, minimum processing timeline, maximum number of blind decodes, maximum code length, minimum code rate, maximum number of code blocks, maximum lifting value, maximum number of resource blocks, or maximum set of precoding matrix indicators (PMIs).

3. The method of claim 1 or 2, wherein, The method comprises: determining the number of information columns of the check matrix according to first information and second information, wherein the second information comprises one or more of the following: MCS index, spectral efficiency, base graph index, base graph indication sent to the receiving end, indication of the number of information columns sent to the receiving end, number of segments of a transport block, lifting value, or transport block size (TBS).

4. The method of claim 3, wherein, When the second information is the MCS index, when the MCS index is greater than a first threshold, the number of information columns is a first value, and when the MCS index is less than or equal to the first threshold, the number of information columns is a second value, and the first value is related to the first information.

5. The method of claim 3, wherein, When the second information is the spectral efficiency, when the spectral efficiency is greater than a second threshold, the number of information columns is a first value, and when the spectral efficiency is less than or equal to the second threshold, the number of information columns is a second value, and the first value is related to the first information.

6. The method of claim 4 or 5, wherein, When the number of information columns is the first value, the puncturing columns included in the check matrix are the first columns of the check matrix, or the check matrix does not include puncturing columns; or When the number of information columns is the second value, the puncturing columns included in the check matrix are the first two columns of the check matrix.

7. The method of claim 3, wherein, When the second information is the number of segments of the transport block or the TBS, the number of information columns is positively related to the number of segments of the transport block or the TBS, and the number of information columns is less than or equal to a first value, and the first value is related to the first information.

8. The method of claim 3, wherein, When the second information is the lifting value, determining the number of information columns according to the first information and the second information comprises: determining an initial number of information columns and a number of information bits included in each code block according to the first information; determining a set of maximum code block information bit numbers according to the initial number of information columns and the lifting value; determining the number of information columns corresponding to a first maximum code block information bit number in the set of maximum code block information bit numbers as the number of information columns, wherein the first maximum code block information bit number is the maximum code block information bit number in the set of maximum code block information bit numbers that is greater than the number of information bits of each code block and has the smallest difference from the number of information bits of each code block.

9. The method of claim 8, wherein, The lifting value comprises at least one row in the following table:

10. The method of claim 3, wherein, When the second information is the lifting value, the number of information columns is related to the size of the lifting value.

11. The method of any one of claims 4-7, wherein, The first value is greater than 22 and is an integer multiple of 11.

12. The method of any one of claims 1-11, wherein, The method further comprises: receiving the first information.

13. A decoding method, comprising: comprising: obtaining to-be-decoded information; determining an information column number of a check matrix according to first information, wherein the first information comprises capability information of a receiving end; determining the check matrix according to the information column number; decoding the to-be-decoded information according to the check matrix.

14. The method of claim 13, wherein, The first information comprises one or more of the following: a maximum information column number, a supported base graph index set, a maximum clock frequency, a number of antennas, a receiver complexity, a peak data rate, a maximum modulation and coding scheme (MCS) index, a maximum iteration number, a maximum rank indication, a minimum processing timeline, a maximum blind decoding number, a maximum code length, a minimum code rate, a maximum code block number, a maximum lifting value, a maximum resource block quantity, or a maximum precoding matrix indicator (PMI) set.

15. The method of claim 13 or 14, wherein, Determining an information column number of a check matrix according to first information comprises: determining the information column number of the check matrix according to the first information and second information, wherein the second information comprises one or more of the following: an MCS index, a spectral efficiency, a base graph index, a base graph indication sent to the receiving end, an information column number indication sent to the receiving end, a segment number of a transport block, a lifting value, or a transport block size (TBS).

16. The method of claim 15, wherein, When the second information is the MCS index, when the MCS index is greater than a first threshold, the information column number is a first value, and when the MCS index is less than or equal to the first threshold, the information column number is a second value, and the first value is related to the first information.

17. The method of claim 15, wherein, When the second information is the spectral efficiency, when the spectral efficiency is greater than a second threshold, the information column number is a first value, and when the spectral efficiency is less than or equal to the second threshold, the information column number is a second value, and the first value is related to the first information.

18. The method of claim 16 or 17, wherein, When the information column number is the first value, the puncturing column included in the check matrix is the first column of the check matrix, or the check matrix does not include a puncturing column; or When the information column number is the second value, the puncturing column included in the check matrix is the first two columns of the check matrix.

19. The method of claim 15, wherein, When the second information is the segment number of the transport block or the TBS, the information column number is positively related to the segment number of the transport block or the TBS, and the information column number is less than or equal to a first value, and the first value is related to the first information.

20. The method of claim 15, wherein, When the second information is the lifting value, determining the information column number according to the first information and the second information comprises: determining an initial information column number and an information bit number included in each code block according to the first information; determining a maximum code block information bit number set according to the initial information column number and the lifting value; determining an information column number corresponding to a first maximum code block information bit number in the maximum code block information bit number set as the information column number, wherein the first maximum code block information bit number is the maximum code block information bit number in the maximum code block information bit number set that is greater than the information bit number of each code block and has the smallest difference with the information bit number of each code block.

21. The method of claim 20, wherein, The lifting value comprises at least one row in the following table: 。 22. The method of claim 15, wherein, When the second information is the lifting value, the information column number is related to the size of the lifting value.

23. The method of any one of claims 16-19, wherein, The first value is greater than 22 and is an integer multiple of 11.

24. The method of any one of claims 13-23, wherein, The method further comprises: sending the first information.

25. The method of any of claims 1-24, wherein, The capability information of the receiving end is capability information defined in a standard protocol; or The capability information of the receiving end is capability information determined according to user equipment (UE) reporting information and adapted to the capability of the UE. or The capability information of the receiving end is capability information determined according to at least one of the following: current channel fading condition, current service type, current connection density, and current service period.

26. A communications device, characterized by comprise units or modules for performing the method of any of claims 1-12, 25, or comprise units or modules for performing the method of any of claims 13-25.

27. A communications device, characterized by comprise a processor configured to execute computer programs or instructions to implement the method of any of claims 1-12, 25, or to implement the method of any of claims 13-25.

28. A computer-readable storage medium, characterized in that, The computer readable storage medium stores computer programs or instructions, which, when executed by a communication device, implement the method of any of claims 1-12, 25, or implement the method of any of claims 13-25.

29. A computer program product, characterised in that, The computer program product comprises computer programs or instructions, which, when executed by a computer, cause the method of any of claims 1-12, 25 to be implemented, or the method of any of claims 13-25 to be implemented.

30. A chip, characterized by The chip is coupled with a memory for reading and executing program instructions stored in the memory to implement the method of any of claims 1-12, 25, or to implement the method of any of claims 13-25.