Coding method and apparatus, and decoding method and apparatus

WO2026218821A1PCT designated stage Publication Date: 2026-10-22HUAWEI TECH CO LTD
View PDF 0 Cites 0 Cited by

Patent Information

Application Number
PCT/CN2026/080925
Authority / Receiving Office
WO · WO
Patent Type
Applications
Current Assignee / Owner
Priority Date
2025-04-17
Filing Date
2026-03-03
Publication Date
2026-10-22

Smart Images

  • Figure CN2026080925_22102026_PF_FP_ABST
    Figure CN2026080925_22102026_PF_FP_ABST
Patent Text Reader

Abstract

The present application relates to the technical field of communications, and in particular to a coding method and apparatus, and a decoding method and apparatus. The coding method of the present application comprises: acquiring a code block to be coded; and when the number of bits of said code block is less than or equal to a first number of bits threshold, and a code rate corresponding to said code block is less than or equal to a first code rate threshold, coding said code block on the basis of a coding scheme of a Reed-Muller (RM) code. According to the method, more advantageous scenarios for RM codes can be found, and the computational complexity of RM code parameters can be reduced, improving coding and decoding performance.
Need to check novelty before this filing date? Find Prior Art

Description

An encoding / decoding method and apparatus

[0001] This application claims priority to Chinese Patent Application No. 202510492822.4, filed on April 17, 2025, entitled “An Encoding / Decoding Method and Apparatus”, the entire contents of which are incorporated herein by reference. Technical Field

[0002] This application relates to the field of communication technology, and in particular to an encoding / decoding method and apparatus. Background Technology

[0003] Channel coding is one of the core technologies in wireless communication. The channel coding process includes, but is not limited to, adding cyclic redundancy check (CRC) codes, code block segmentation, error correction coding, rate adaptation, code block concatenation, data interleaving, and data scrambling. Among these, error correction coding is the most critical part. The purpose of error correction coding is to ensure that the receiver can automatically correct errors that occur during data transmission with as little redundancy overhead as possible. At the same bit error rate, the smaller the required redundancy overhead, the higher the coding efficiency.

[0004] For future mobile communication networks, commercial applications have seen the emergence of services such as Low Power Wide Area Network (LPWA), Non-Terrestrial Network (NTN), and Ultra-Reliable and Low Latency Communications (URLLC). These emerging services place further demands on the reliability and coverage of data communication. Meanwhile, traditional small-packet services such as voice and control information also require further enhancements in reliability and coverage. Current 5G Low-Density Parity-Check (LDPC) codes and Polar codes cannot adequately meet these requirements; therefore, channel coding and decoding for future mobile communication networks need further performance improvements. Summary of the Invention

[0005] This application provides an encoding / decoding method and apparatus. This method can identify more advantageous scenarios for RM codes, reduce the computational complexity of RM code parameters, and improve encoding / decoding performance.

[0006] In a first aspect, embodiments of this application provide an encoding method, which is applied to an encoding device. The method includes:

[0007] Obtain the code block to be encoded; when the number of bits of the code block to be encoded is less than or equal to a first bit number threshold, and the code rate corresponding to the code block to be encoded is less than or equal to a first code rate threshold, encode the code block to be encoded according to the Reed-Muller RM code encoding method.

[0008] As an example, the encoding device is applied on the terminal side, such as a terminal device or an encoding module within a terminal device, or a circuit or chip within a terminal device responsible for encoding functions. As another example, the encoding device is applied on the network side, such as a network device or an encoding module within a network device, or a circuit or chip within a network device responsible for encoding functions. The aforementioned chips include, but are not limited to, modem chips, baseband chips, system-on-chip (SoC) chips containing modem cores, or system-in-package (SIP) chips, etc., and will not be listed individually here.

[0009] The code rate corresponding to the code block to be encoded can be either the encoding code rate or the target code rate. This code rate refers to the encoding code rate used by the encoding device when encoding information bits. The code rate can be determined according to the modulation and coding scheme (MCS). As one possible implementation, the encoding device is a network device that can send MCS information to a terminal device, which in turn receives the MCS information. As another possible implementation, the encoding device is a terminal device that can receive MCS information from a network device and determine the code rate based on the MCS information. The MCS information is used to indicate the index of the MCS. This MCS index can correspond to at least one of the code rate or modulation order.

[0010] The number of bits in the code block to be encoded can be the transport block size (TBS) (or transport block size). Optionally, TBS is the transport block size excluding CRC check bits.

[0011] It should be understood that the embodiments of this application simultaneously provide an upper bound on the number of bits of the code block to be encoded using RM codes, namely a first bit number threshold, and an upper bound on the code rate of the code block to be encoded, namely a first code rate threshold. The RM code to be used is determined step by step based on these boundaries. In the embodiments of this application, RM codes are suitable as an encoding method for low code rate scenarios. Using RM codes within the constraints of the first bit number threshold and the first code rate threshold can achieve at least one of the following effects in the encoding process: increased throughput, reduced power consumption, and increased reliability. For example, under the constraints of the bit number threshold and code rate threshold, RM codes have better encoding and decoding robustness. After implementing the scheme, the channel's bit error rate decreases, and the throughput per unit time increases. Furthermore, in the short code scenario, the complexity of encoding and decoding using RM codes is reduced, thereby reducing power consumption.

[0012] This application provides several feasible and effective methods for dividing the usage scope of RM codes. Within the defined usage scope, RM codes have certain advantages over LDPC or Polar codes, such as lower encoding / decoding power consumption and more robust encoding during channel transmission. This results in increased throughput, reduced power consumption, and increased reliability for the overall encoding / decoding process within the defined usage scope. Furthermore, this application also provides a method for first using MCS to filter out a portion of RM code parameters, reducing the space for subsequent RM code parameter selection and lowering the computational complexity of RM code parameters.

[0013] In conjunction with the first aspect, in one possible implementation, the number of bits in the code block to be encoded is greater than or equal to a second bit number threshold, and the code rate corresponding to the code block to be encoded is greater than or equal to a second code rate threshold.

[0014] It should be understood that the application scenarios of the RM code are not limited to below an upper bound, but may also be limited to a range. For example, in 1-2 bit scenarios, good performance can be obtained by using repetition codes or single parity check codes, and RM codes may not be chosen in this case. Furthermore, considering that at extremely low bit rates, using complex encoding schemes may increase the complexity of encoding and decoding, and it is more difficult to obtain better encoding gains at even lower bit rates, repetition codes are often more effective and have lower complexity. Therefore, the scheme of this application includes a second bit number threshold as a lower bound constraint on the code length and a second bit rate threshold as a lower bound constraint on the bit rate.

[0015] In conjunction with the first aspect, in one possible implementation, the first bit count threshold is one of N bit count thresholds, the first bit rate threshold is one of N bit rate thresholds, and the N bit count thresholds correspond one-to-one with the N bit rate thresholds; the N bit count thresholds and the N bit rate thresholds satisfy the following: when the third bit count threshold is greater than the fourth bit count threshold, the third bit rate threshold corresponding to the third bit count threshold is less than the fourth bit rate threshold corresponding to the fourth bit count threshold, the third bit count threshold and the fourth bit count threshold are any two of the N bit count thresholds, and the third bit rate threshold and the fourth bit rate threshold are any two of the N bit rate thresholds.

[0016] It should be understood that this application also provides that the use cases of all RM codes can be the union of multiple ranges, where each range corresponds to a first bit count threshold and a second bit count threshold. For example, different bit count thresholds correspond to different code rate thresholds. It should also be understood that this application specifically provides that such a union has the following characteristic: in any two ranges, the range with the larger bit count threshold corresponds to a smaller code rate threshold. Furthermore, it should be understood that this embodiment provides a scenario distribution feature for selecting RM codes, which is beneficial for the overall identification of RM code selection scenarios. Compared to constraints of a range less than a code length threshold, this embodiment not only takes into account the influence of code rate information but also more precisely identifies multiple code rate and code length thresholds, facilitating a more detailed identification of RM code selection scenarios.

[0017] The method provides the characteristics that each range of RM code usage satisfies, which helps to identify the advantageous scenarios of RM codes, and further achieve the effects of increased throughput, reduced power consumption, or increased reliability under the advantageous scenarios of RM.

[0018] In conjunction with the first aspect, in one possible implementation, the code rate corresponding to the code block to be encoded is less than or equal to the code rate threshold corresponding to the first modulation and coding scheme (MCS), and a set of encoding parameters is determined based on the code rate threshold corresponding to the first MCS; the set of encoding parameters includes the parameters of the RM code.

[0019] It should be understood that determining the set of encoding parameters or the set of encoding parameters corresponding to the RM code involves a process where the RM code parameters can be a very large range. To reduce redundant information processing or verification in the subsequent process of determining the final RM code parameters, a smaller range of RM code parameters can be determined at the beginning of or before the step of determining the RM code parameters. Since the RM code parameters are a finite number of discrete parameter values, we call this smaller range the set of RM code parameters or the set of encoding parameters.

[0020] The encoding parameter set is determined based on the code block rate. For example, multiple third rate thresholds are set to divide the RM code parameter set. When the code block rate is less than or equal to one of the third rate thresholds, all RM code parameters whose rates are less than the third rate threshold are determined to belong to the determined RM code parameter set based on the third rate threshold. Alternatively, multiple fourth rate thresholds are set to divide the RM code parameter set. When the code block rate is greater than or equal to the fourth rate threshold, all RM code parameters whose rates are greater than or equal to the fourth rate threshold are determined to belong to the determined RM code parameter set based on the fourth rate threshold. Alternatively, all RM code parameters whose rates are less than or equal to the third rate threshold and greater than or equal to the fourth rate threshold are determined to belong to the determined RM code parameter set based on the third rate threshold and the fourth rate threshold.

[0021] The code rate corresponding to the code block to be encoded is less than or equal to the code rate threshold corresponding to the first modulation and coding scheme (MCS). The encoding parameter set is determined based on the code rate threshold corresponding to the first MCS, and the encoding parameter set includes the parameters of the RM code.

[0022] Based on the above method of determining the set of encoding parameters according to the code block rate, by replacing the third code rate threshold with the code rate threshold corresponding to the first MCS, a method for determining the set of encoding parameters based on the code rate threshold corresponding to the first MCS and / or the code rate threshold corresponding to the second MCS can be realized.

[0023] It can also be understood as finding a first MCS that is greater than or equal to the third MCS based on the third MCS of the code block, and then determining the set of encoding parameters based on the first MCS.

[0024] The method described above provides a way to determine the set of encoding parameters based on the MCS threshold. After implementation, this method can help reduce the computational complexity of RM parameters.

[0025] In conjunction with the first aspect, in one possible implementation, the code rate corresponding to the code block to be encoded is greater than or equal to the code rate threshold corresponding to the second modulation and coding scheme (MCS), and the encoding parameter set is determined based on the code rate threshold corresponding to the first MCS and the code rate threshold corresponding to the second MCS.

[0026] Based on the above understanding of the bitrate threshold corresponding to the first MCS, by replacing the third bitrate threshold with the bitrate threshold corresponding to the first MCS and the fourth bitrate threshold with the bitrate threshold corresponding to the second MCS, we can understand the method of determining the set of encoding parameters based on the bitrate threshold corresponding to the first MCS and / or the bitrate threshold corresponding to the second MCS. This will not be elaborated here.

[0027] Similarly, it can also be understood that the method finds a second MCS that is less than or equal to the third MCS based on the third MCS corresponding to the code block, and then determines the encoding parameter set based on the second MCS and the first MCS described in the previous method.

[0028] The method described above provides a way to determine the set of encoding parameters based on the MCS threshold. After implementation, this method can help reduce the computational complexity of RM parameters.

[0029] In conjunction with the first aspect, in one possible implementation, when the number of bits X1 of the code block to be encoded is greater than the fifth bit number threshold X2, the code block to be encoded is divided into M sub-code blocks; wherein, X2 is the maximum number of information bits that can be encoded by all RM codes corresponding to the encoding parameter set, and M is a positive integer. This indicates rounding up, and the lengths of the M sub-code blocks are all less than or equal to X2; the parameters of the RM code are determined based on the maximum value of the lengths of the M sub-code blocks.

[0030] It should be understood that the embodiments of this application provide a solution for RM code encoding where the code length to be encoded is too long. Implementing this solution can reduce the complexity of RM code parameter calculation.

[0031] In conjunction with the first aspect, in one possible implementation, determining the parameters of the RM code based on the maximum value of the lengths of the M sub-code blocks includes: determining the parameters of the RM code based on X3, where X3 is the minimum value among the number of information bits that can be encoded by one or more RM codes, and the number of information bits that can be encoded by one or more RM codes is the number of information bits among the number of information bits that can be encoded by all RM codes corresponding to the encoding parameter set that is greater than or equal to the maximum value of the lengths of the M sub-code blocks.

[0032] It should be understood that the embodiments of this application further provide a method for determining RM parameters based on the length of the code block to be encoded and the RM parameter set. Implementing this method can completely determine the RM parameters and reduce the complexity of RM code parameter calculation.

[0033] In conjunction with the first aspect, in one possible implementation, determining the parameters of the RM code based on the maximum length of the M sub-code blocks includes: determining the parameters of the RM code based on the maximum length of the M sub-code blocks and the air interface resources corresponding to the code block to be encoded.

[0034] It should be understood that the embodiments of this application further provide another method for determining RM parameters based on the length of the code block to be encoded and the RM parameter set. Implementing this method can completely determine the RM parameters and reduce the complexity of RM code parameter calculation.

[0035] It should be understood that the methods provided in this application can be applied between two entities in a communication system, such as one entity sending information to or receiving information sent by the other entity. Entities can communicate wirelessly using air interface resources. Air interface resources may include at least one of time-domain resources, frequency-domain resources, code resources, and spatial resources, and this application does not limit these resources.

[0036] Secondly, embodiments of this application provide a decoding method, which is applied to a decoding apparatus. The method includes:

[0037] Obtain the data block to be decoded; when the number of bits of the code block corresponding to the data block to be decoded is less than or equal to a first bit number threshold, and the code rate corresponding to the code block is less than or equal to a first code rate threshold, decode the data block to be decoded according to the decoding method of RM code.

[0038] As an example, a decoding device is applied on the network side, such as a network device or an encoding module within a network device, or a circuit or chip within a network device responsible for encoding functions. As another example, a decoding device is applied on the terminal side, such as a terminal device or an encoding module within a terminal device, or a circuit or chip within a terminal device responsible for encoding functions.

[0039] It should be understood that the embodiments of this application provide an upper bound on the number of bits of the code block corresponding to the data block to be decoded using RM code, namely, a first bit number threshold. The embodiments of this application also provide a range for determining the use of RM codes based on a first code rate threshold corresponding to the code block corresponding to the data block to be decoded. In the embodiments of this application, RM codes are suitable as a decoding method for lower code rate scenarios. Using RM codes within the constraints of the first bit number threshold and the first code rate threshold can achieve the effects of increased throughput, reduced power consumption, or increased reliability in the decoding process.

[0040] Optionally, the encoding device is applied on the terminal side, and the decoding device is applied on the network side. Alternatively, the encoding device is applied on the network side, and the decoding device is applied on the terminal side. Alternatively, both the encoding device and the decoding device are applied on the terminal side.

[0041] In conjunction with the second aspect, in one possible implementation, the number of bits of the code block corresponding to the data block to be decoded is greater than or equal to a second bit number threshold, and the code rate corresponding to the code block corresponding to the data block to be decoded is greater than or equal to a second code rate threshold.

[0042] In conjunction with the second aspect, in one possible implementation, the first bit count threshold is one of N bit count thresholds, the first bit rate threshold is one of N bit rate thresholds, and the N bit count thresholds correspond one-to-one with the N bit rate thresholds; the N bit count thresholds and the N bit rate thresholds satisfy the following: when the third bit count threshold is greater than the fourth bit count threshold, the third bit rate threshold corresponding to the third bit count threshold is less than the fourth bit rate threshold corresponding to the fourth bit count threshold, the third bit count threshold and the fourth bit count threshold are any two of the N bit count thresholds, and the third bit rate threshold and the fourth bit rate threshold are any two of the N bit rate thresholds.

[0043] In conjunction with the second aspect, in one possible implementation, the code rate corresponding to the code block corresponding to the data block to be decoded is less than or equal to the code rate threshold corresponding to the first modulation and coding scheme (MCS), and a set of encoding parameters is determined based on the code rate threshold corresponding to the first MCS; the set of encoding parameters includes the parameters of the RM code.

[0044] In conjunction with the second aspect, in one possible implementation, the code rate corresponding to the code block corresponding to the data block to be decoded is greater than or equal to the code rate threshold corresponding to the second modulation and coding scheme (MCS), and the coding parameter set is determined based on the code rate threshold corresponding to the first MCS and the code rate threshold corresponding to the second MCS.

[0045] In conjunction with the second aspect, in one possible implementation, when the number of bits X1 of the code block corresponding to the data block to be decoded is greater than the fifth bit number threshold X2, the code block corresponding to the data block to be decoded is divided into M sub-code blocks; wherein, X2 is the maximum number of information bits that can be encoded by all RM codes corresponding to the encoding parameter set, and M is a positive integer. This indicates rounding up, and the lengths of the M sub-code blocks are all less than or equal to X2; the parameters of the RM code are determined based on the maximum value of the lengths of the M sub-code blocks.

[0046] In conjunction with the second aspect, in one possible implementation, the parameters of the RM code are determined according to X3, where X3 is the minimum value among the number of information bits that can be encoded by one or more RM codes, and the number of information bits that can be encoded by one or more RM codes is the number of information bits that is greater than or equal to the maximum value of the length of the M sub-code blocks among the number of information bits that can be encoded by all RM codes corresponding to the encoding parameter set.

[0047] In conjunction with the second aspect, in one possible implementation, the parameters of the RM code are determined based on the maximum length of the M sub-code blocks and the air interface resources corresponding to the code block corresponding to the data block to be decoded.

[0048] For further explanation of the second aspect, please refer to the first aspect; it will not be repeated here.

[0049] Thirdly, embodiments of this application provide an encoding apparatus for performing the method in the first aspect or any possible implementation. The encoding apparatus includes modules that perform the method in the first aspect or any possible implementation.

[0050] The encoding device includes a processing module and a transceiver module. The transceiver module is used to perform the sending or receiving actions in the first aspect or any possible implementation, and the processing module is used to perform the processing actions (such as encoding) in the first aspect or any possible implementation.

[0051] As an example, the encoding device is a terminal device, or a functional module, circuit, or chip that can be set in a terminal device, or a device that can be used in conjunction with a terminal device. As another example, the encoding device is a network device, or a functional module, circuit, or chip that can be set in a network device, or a device that can be used in conjunction with a network device.

[0052] Fourthly, embodiments of this application provide a decoding apparatus for performing the method in the second aspect or any possible implementation. The decoding apparatus includes modules for performing the method in the second aspect or any possible implementation.

[0053] The decoding device includes a processing module and a transceiver module. The transceiver module is used to perform the sending or receiving actions in the second aspect or any possible implementation, and the processing module is used to perform the processing actions (such as decoding) in the second aspect or any possible implementation.

[0054] As an example, the decoding device is a network device, or a functional module, circuit, or chip that can be set in a network device, or a device that can be used in conjunction with a network device. As another example, the decoding device is a terminal device, or a functional module, circuit, or chip that can be set in a terminal device, or a device that can be used in conjunction with a terminal device.

[0055] The modules in the third or fourth aspect can also be replaced with units or means, etc. The aforementioned modules can be implemented in software, hardware, or a combination of both.

[0056] Fifthly, embodiments of this application provide an encoding apparatus including at least one processor for executing the method in the first aspect or any possible implementation. The processor executes a program stored in a memory, and when the program is executed, the method in the first aspect or any possible implementation is executed.

[0057] In one possible implementation, the memory is located outside the aforementioned encoding device.

[0058] In one possible implementation, the memory is located within the aforementioned encoding device.

[0059] In this embodiment, the processor and memory can also be integrated into a single device, i.e., the processor and memory can be integrated together. Optionally, the encoding device is a chip responsible for encoding functions, such as a baseband chip, a SoC chip, or a SIP chip.

[0060] In one possible implementation, the encoding device further includes a transceiver for receiving (or inputting) information or sending (or outputting) information. Optionally, the encoding device is a terminal device or network device, such as a processor, used to determine whether to use RM encoding or RM parameters based on the TBS and code rate corresponding to the information bits; the processor is also used to encode the code block to be encoded according to the RM code. Optionally, the transceiver is used to transmit the encoded content. The encoded content includes a signal output after further processing of the encoded bits (such as information bits and parity bits).

[0061] Sixthly, embodiments of this application provide a decoding apparatus including at least one processor for executing the method in the second aspect or any possible implementation. The processor executes a program stored in a memory, and when the program is executed, the method in the second aspect or any possible implementation is performed.

[0062] In one possible implementation, the memory is located outside the aforementioned decoding device.

[0063] In one possible implementation, the memory is located within the aforementioned decoding device.

[0064] In this embodiment, the processor and memory can also be integrated into a single device, i.e., the processor and memory can be integrated together. Optionally, the decoding device is a chip responsible for decoding functions, such as a baseband chip, a SoC chip, or a SIP chip.

[0065] In one possible implementation, the decoding device further includes a transceiver for receiving (or inputting) information or sending (or outputting) information. Optionally, the decoding device can be a terminal device or a network device, such as a processor, used to determine whether to use RM code encoding or RM parameters based on the TBS and code rate corresponding to the information bits; the processor is also used to decode the information bits according to the RM code. Optionally, the transceiver is used to receive the information to be decoded.

[0066] In a seventh aspect, embodiments of this application provide a chip including logic circuitry and an interface, the logic circuitry and the interface being coupled to enable the chip to implement the methods as described in the first aspect or any possible implementation. For example, the logic circuitry may include one or more processors, and the interface may be an input / output interface.

[0067] For example, a logic circuit is used to determine whether to use RM code encoding or RM code parameters based on the TBS and code rate corresponding to the information bits; the logic circuit is also used to encode the information bits according to the RM code. Optionally, an interface is used to output information bits and check bits.

[0068] Eighthly, embodiments of this application provide a chip including logic circuitry and an interface, the logic circuitry and the interface being coupled to enable the chip to implement the methods as described in the second aspect or any possible implementation. For example, the logic circuitry may include one or more processors, and the interface may be an input / output interface.

[0069] For example, a logic circuit is used to determine whether to use RM code decoding or RM code parameters based on the TBS and code rate corresponding to the information bits; the logic circuit is also used to decode the information bits according to the RM code. Optionally, an interface is used to input the information to be decoded.

[0070] Ninthly, embodiments of this application provide a computer-readable storage medium for storing a computer program that, when run on a computer, causes the methods shown in any of the first to second aspects or any possible implementation thereof to be executed.

[0071] This computer program can also be called an instruction, or a computer instruction, etc. That is, a computer program can be replaced by an instruction or a computer instruction.

[0072] In a tenth aspect, embodiments of this application provide a computer program product that, when run on a computer, causes the methods in any of the first to second aspects or any possible implementations described above to be executed.

[0073] The computer described in the ninth or tenth aspect includes, but is not limited to, terminal equipment or network equipment.

[0074] Eleventhly, embodiments of this application provide a communication system including an encoding device and a decoding device. The encoding device may be the device provided in the third, fifth, and seventh aspects, and the decoding device may be the device provided in the fourth, sixth, and eighth aspects. The encoding device may be used to perform the method in the first aspect or any possible implementation thereof, and the decoding device may be used to perform the method in the second aspect or any possible implementation thereof. Attached Figure Description

[0075] Figure 1 is a schematic diagram of an architecture of a communication system provided in an embodiment of this application;

[0076] Figure 2 is a schematic diagram of another architecture of the communication system provided in an embodiment of this application;

[0077] Figure 3 is a schematic diagram of the open radio access network (O-RAN) architecture provided in the embodiments of this application;

[0078] Figure 4 is a schematic diagram of the RM code encoding matrix used in the prior art according to the embodiments of this application;

[0079] Figure 5 is a schematic diagram of the method flow provided in an embodiment of this application;

[0080] Figure 6 is a schematic diagram of a possible method for dividing the scope of RM code usage provided in an embodiment of this application;

[0081] Figure 7 is a schematic diagram of another possible method for dividing the scope of RM code usage provided in an embodiment of this application;

[0082] Figure 8 is a schematic diagram of another possible method for dividing the scope of RM code usage provided in an embodiment of this application;

[0083] Figure 9 is a schematic diagram of another possible method for dividing the scope of RM code usage provided in an embodiment of this application;

[0084] Figure 10 is a schematic diagram of the device provided in an embodiment of this application;

[0085] Figure 11a is a schematic diagram of the apparatus provided in an embodiment of this application;

[0086] Figure 11b is a schematic diagram of the RM parameter selection module provided in an embodiment of this application;

[0087] Figure 12 is a schematic diagram of the device provided in an embodiment of this application;

[0088] Figure 13 is a schematic diagram of the chip provided in an embodiment of this application. Detailed Implementation

[0089] To address the diverse application scenarios in future mobile communication networks, it is necessary to further improve the encoding and decoding performance of channel coding. This application starts with Reed Muller (RM) codes to identify more advantageous scenarios for RM codes, thereby improving overall encoding and decoding performance. RM codes exhibit superior performance compared to Low-Density Parity-Check (LDPC) codes and Polar codes at short to medium code lengths. However, in 5G systems, the application scope of RM codes is only determined by the number of bits to be encoded, failing to fully leverage their advantages. This application proposes solutions for identifying feasible advantageous scenarios for RM codes and for efficiently determining RM parameters, thereby fully utilizing the performance advantages of RM codes.

[0090] To facilitate understanding of the technical solution of this application, the application will be further described below with reference to the accompanying drawings.

[0091] The terms "first" and "second," etc., used in the specification, claims, and drawings of this application are used only to distinguish different objects and not to describe a specific order. Furthermore, the terms "comprising" and "having," and any variations thereof, are intended to cover non-exclusive inclusion. For example, a process, method, system, product, or apparatus that includes a series of steps or units is not limited to the listed steps or units, but may optionally include steps or units not listed, or may optionally include other steps or units inherent to these processes, methods, products, or apparatuses.

[0092] The term "embodiment" as used herein means that a particular feature, structure, or characteristic described in connection with an embodiment may be included in at least one embodiment of this application. The appearance of this phrase in various places throughout the specification does not necessarily refer to the same embodiment, nor is it a separate or alternative embodiment mutually exclusive with other embodiments. It will be explicitly and implicitly understood by those skilled in the art that the embodiments described herein can be combined with other embodiments.

[0093] In this application, "at least one (item)" refers to one or more, "more than one" refers to two or more, "at least two (items)" refers to two or three or more, and "and / or" is used to describe the relationship between related objects, indicating that there can be three relationships. For example, "A and / or B" can mean: only A exists, only B exists, and both A and B exist simultaneously, where A and B can be singular or plural. "Or" indicates that there can be two relationships, such as only A exists and only B exists; when A and B are not mutually exclusive, it can also mean that there are three relationships, such as only A exists, only B exists, and both A and B exist simultaneously. The character " / " generally indicates that the preceding and following related objects are in an "or" relationship. "At least one (item) of the following" or similar expressions refer to any combination of these items. For example, at least one (item) 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".

[0094] In this application, "higher" and "lower" are relative terms, and similarly, "longer" and "shorter" are also relative terms.

[0095] The following describes the communication system involved in the embodiments of this application.

[0096] The method provided in this application can be applied to various communication systems, such as Internet of Things (IoT) systems, narrowband Internet of Things (NB-IoT) systems, Long Term Evolution (LTE) systems, new radio (NR) systems, and other new communication systems emerging in future communication development. IoT networks may include, but are not limited to, vehicle-to-everything (V2X) networks. Communication methods in V2X systems can be collectively referred to as vehicle-to-everything (V2X), where X can represent anything. For example, V2X can include vehicle-to-vehicle (V2V) communication, vehicle-to-infrastructure (V2I) communication, vehicle-to-pedestrian (V2P) communication, or vehicle-to-network (V2N) communication. The method provided in this application can also be applied to non-terrestrial network (NTN) communication (also known as non-land network communication). The method provided in this application embodiment can also be applied to wireless local area network (WLAN) systems, such as Wi-Fi.

[0097] The method provided in this application can be applied between two entities in a communication system, such as one entity sending information to or receiving information from the other. The entities can communicate wirelessly using air interface resources. Air interface resources may include at least one of time-domain resources, frequency-domain resources, code resources, and spatial resources, which this application does not limit. For example, the aforementioned two entities include a network device and a terminal device, or may include a chip that can be placed in a network device and a chip that can be placed in a terminal device, etc. Of course, as standards advance, other types of entities may emerge subsequently, which this application does not limit.

[0098] Figure 1 is a schematic diagram of an architecture of a communication system provided in an embodiment of this application. As shown in Figure 1, the communication system may include at least one network device and at least one terminal device, such as terminal device 1 to terminal device 4 in Figure 1. Optionally, terminal devices (such as terminal device 3) and terminal devices (such as terminal device 4) can communicate using device-to-device (D2D), machine-to-machine (M2M), or V2X technologies. For example, terminal device 3 and terminal device 4 can communicate via a sidelink. For example, terminal devices can communicate with network devices via an air interface link (such as a Uu link) or via an NTN link.

[0099] The form of the terminal device shown in Figure 1 is only an example. The terminal device can also be an in-vehicle device or an in-vehicle terminal in the Internet of Vehicles. The embodiments of this application do not limit the specific form of the terminal device when it is applied to the Internet of Vehicles or the Internet.

[0100] Figure 2 is a schematic diagram of another architecture of the communication system provided in an embodiment of this application. As shown in Figure 2, the communication system includes at least one of the following scenarios: point-to-point single connection between a network device and a terminal device (as shown in Figure 2(a)), point-to-point dual connectivity (DC) between a network device and a terminal device (as shown in Figure 2(c)), multi-hop single connection between a network device and a terminal device (as shown in Figure 2(b)), or multi-hop multi-connection between a network device and a terminal device (as shown in Figure 2(d)). Figure 2 also exemplarily illustrates relays, which will not be described in detail here.

[0101] Figure 1 exemplarily illustrates a network device and multiple terminal devices, and Figure 2 exemplarily illustrates single-connection and dual-connection. In specific implementations, the communication system may also include a greater number of network devices, and the coverage area of ​​each network device may include a greater or lesser number of terminal devices; this application embodiment does not limit this.

[0102] The following provides a detailed description of terminal equipment and network equipment.

[0103] A terminal device is a device with wireless transceiver capabilities. It can communicate with access network equipment (or network equipment as described below) in a radio access network (RAN). Terminal devices can also be referred to as user equipment (UE), access terminal, terminal, subscriber unit, user station, mobile station, remote station, remote terminal, mobile device, user terminal, user agent, or user device, etc. In one possible implementation, the terminal device can be deployed on land, including indoors or outdoors, handheld or vehicle-mounted; or on water, including ships; or in the air, such as on airplanes, balloons, or satellites. In another possible implementation, the terminal device can be a handheld device with wireless communication capabilities, a vehicle-mounted device, a wearable device, a sensor, a terminal in the Internet of Things (IoT), a terminal in the Internet of Vehicles (IoV), a drone, or any form of terminal device in future networks. In another possible implementation, the terminal device can also be a virtual reality (VR) terminal device, an augmented reality (AR) terminal device, a wireless terminal in industrial control, a wireless terminal in autonomous driving, a wireless terminal in telemedicine, a wireless terminal in a smart grid, a wireless terminal in a smart city, or a wireless terminal in a smart home, etc.

[0104] In this application embodiment, the device for implementing the functions of the terminal device can be the terminal device itself; it can also be a device capable of supporting the terminal device in implementing the functions, such as a chip system. The device can be installed in the terminal device or used in conjunction with the terminal device. In this application embodiment, the chip system can be composed of chips or can include chips and other discrete devices. For ease of description, when examples are mentioned below, the technical solutions provided in this application embodiment are described using the terminal device as an example.

[0105] A network device is a device deployed in a wireless access network to provide wireless communication services to terminal devices. This network device can also be called an access network device, access equipment, or RAN device, etc. Network devices can take many forms, such as macro base stations, micro base stations, relays, and access points. Optionally, the network device can be a next-generation node B (NGNB), a next-generation evolved node B (ng-eNB) (or simply eNB), or a device used to implement base station functions in future communication systems, etc., which will not be listed here. As an example, the network device can be an access node, wireless relay node, or wireless backhaul node in a wireless local area network (WLAN) system. As another example, the network device can be a wireless controller in a cloud radio access network (CRAN) scenario. As yet another example, the network device can be a wearable device or in-vehicle device capable of providing wireless communication services. As another example, the network device can also be a small cell, a transmission reception point (TRP) (or transmission point), a satellite, or a terminal device that performs base station functions in D2D. The network device can be fixed or mobile. For example, a helicopter or drone can be configured to act as a mobile network device, and one or more cells can move according to the location of the mobile network device. The names of devices with base station functions may differ in different wireless access technologies, and these will not be listed individually in this application. In this application, the device used to implement the functions of the network device can be a network device itself; it can also be a device that supports the network device in implementing these functions, such as a chip system, which can be installed in the network device or used in conjunction with the network device. For ease of description, when specific examples are mentioned below, the technical solutions provided in this application will be described using the example of a network device as the device used to implement the functions of the network device.

[0106] In some network device deployments, network devices include centralized units (CUs) and distributed units (DUs). For example, some protocol layer functions of a network device are centrally controlled by the CU, while the remaining partial or complete protocol layer functions are distributed across the DU. The CU centrally controls the DU. In other network device deployments, the CU can be divided into CU-control plane (CP) and CU-user plane (UP). In still other deployments, the network device can be an open radio access network (ORAN) architecture. When the network device is in an ORAN architecture, it can be a functional entity or module within the ORAN. For example, a network device can be one or more of a CU, DU, or radio unit (RU). In an ORAN system, a CU can also be called an open (O)-CU, a DU can be called an O-DU, a CU-CP can be called an O-CU-CP, and a CU-UP can be called an O-CU-UP, etc. The network device deployment methods listed herein are merely examples. As standard technologies evolve, network devices may have other deployment forms, and this application does not limit them.

[0107] Figure 3 is a schematic diagram of the open radio access network (O-RAN) architecture provided in an embodiment of this application. The RAN consists of a series of modules, including but not limited to at least one of the following: antenna, remote radio unit (RRU), and baseband unit (BBU). Traditional RAN architectures do not concern themselves with the transmission and communication between internal modules, but rather with the overall input and output. Therefore, in a traditional RAN architecture, all modules in the RAN can come from the same vendor. The O-RAN architecture defines the standardized communication and interfaces between the various modules within the RAN. Therefore, in an O-RAN architecture, the RAN can be broken down into multiple modules. Due to interface standardization, the RAN can be composed of modules from different equipment vendors. For example, for O-RAN, antennas from company A, RRUs from company B, and BBUs from company C can be purchased and finally assembled into a single RAN device. The modules involved in Figure 3 are described below:

[0108] Non-real-time RAN intelligent controller (non-RT RIC): Used to implement non-real-time intelligent management of RAN functions. This non-real-time intelligent management includes, but is not limited to: artificial intelligence (AI) or machine learning (ML) workflows for model training, AI or ML workflows for model updates, and applications / functions in a policy-guided near-real-time RAN intelligent controller (near-RT RIC). The non-RT RIC can reside in the service management organization (SMO) module.

[0109] Near-real-time RAN intelligent controller (near-RT RIC): Used to achieve near-real-time intelligent management of the RAN. Through data collection and related operations on the E2 interface, it enables near-real-time control and optimization of O-RAN modules and resources.

[0110] The O-RAN central unit (O-CU) is responsible for implementing the functions of the radio resource control (RRC) layer, the packet data convergence protocol (PDCP) layer, the service data adaptation protocol (SDAP) layer, and other control functions in the 3rd generation partnership project (3GPP) standard.

[0111] O-RAN Central Unit Control Plane (O-CU-CP): Similar to the CU-CP in new radio (NR) systems, it implements the functions of the RRC layer and the control plane functions of the PDCP layer. The O-CU-CP is a part of the O-CU.

[0112] O-RAN Central Unit User Plane (O-CU-UP): Similar to the CU-UP in the NR system, it is used to implement the functions of the SDAP layer and the user plane functions of the PDCP layer. O-CU-UP is a part of O-CU.

[0113] O-RAN Distributed Unit (O-DU): Based on low-layer function partitioning, it is used to implement the functions of the radio link control (RLC) layer, medium access control (MAC) layer (or media access control (MAC) layer), and higher physical layer (PHY) layer in the 3GPP standard. The functions of the higher physical layer include one or more of the following: forward error correction (FEC) encoding / decoding, scrambling / descrambling, or modulation / demodulation.

[0114] The O-RAN radio unit (O-RU) is based on low-layer function partitioning and is used to implement lower physical layer (lower PHY) functions and radio frequency (RF) functions in the 3GPP standard. These lower PHY functions include one or more of the following: Fast Fourier Transform (FFT) / Inverse Fast Fourier Transform (IFFT), digital beamforming, or extraction and filtering of the physical random access channel (PRACH). It is similar to the TRP or remote radio head (RRH) in 3GPP, but includes lower PHY functions such as FFT / IFFT or PRACH extraction.

[0115] O-RAN cloud (O-cloud): As a cloud computing platform, it includes physical infrastructure nodes for hosting O-RAN functions such as RIC and O-DU; supports software components (such as operating systems, virtual machine monitoring, container runtimes); and management and orchestration functions.

[0116] The interfaces involved in Figure 3 are described below:

[0117] A1 Interface: The interface between non-RT RIC and near-RT RIC, used for intelligent and dynamic control of radio resources within the O-RAN. Non-RT RIC provides policies, rich information, and ML model updates to near-RT RIC through the A1 interface, while near-RT RIC provides policy feedback to non-RT RIC through the A1 interface.

[0118] E2 Interface: The E2 interface is an open interface between two endpoints used to connect the near-RT RIC and the RAN node. RAN nodes include, but are not limited to, one or more of the following: CU, DU, gNB-compatible O-RAN, eNB-compatible O-RAN, O-CU (O-CU-CP and / or O-CU-UP), O-DU, etc. within the O-RAN. The RIC can obtain data collection and feedback from the RAN node through the E2 interface, and the RAN node can obtain control feedback from the near-RT RIC through the E2 interface.

[0119] O1 Interface: The interface between the management entity in the SMO and the O-RAN module, used for operation and management. This interface is used for tasks such as software management and file management.

[0120] O2 Interface: The interface between the SMO and the infrastructure management framework that supports O-RAN virtual network functionality.

[0121] E1 interface: The interface between CU-CP and CU-UP.

[0122] F1-C interface: The interface between CU-CP and DU.

[0123] F1-U interface: The interface between CU-UP and DU.

[0124] For example, in the O-RAN architecture, the module with encoding / decoding functions can be an O-DU. In the O-RAN architecture, the network element with encoding / decoding functions can also be other new network elements, etc., and this application embodiment does not limit this.

[0125] The O-RAN architecture shown in Figure 3 is merely an example. In specific implementations, other O-RAN architectures are also possible, and this application embodiment does not limit this. Of course, network elements with encoding / decoding functions can also be base stations with BBUs and RRUs, etc., and this application embodiment does not limit this.

[0126] In the embodiments of this application, the terminal device and the network device can be hardware devices, or software functions running on dedicated hardware, or software functions running on general-purpose hardware, such as virtualization functions instantiated on a platform (e.g., a cloud platform), or entities that include dedicated or general-purpose hardware devices and software functions. This application does not limit the specific form of the terminal device and the network device.

[0127] The technical solutions provided in this application can be applied to channel coding / decoding between communication devices. Channel coding / decoding between communication devices can include: channel coding / decoding between network devices and terminal devices, channel coding / decoding between network devices, or channel coding / decoding between terminal devices.

[0128] The following description uses encoding and decoding devices as examples to illustrate the method provided in this application. Alternatively, the encoding device can also be called a transmitting end, which can be a device for transmitting encoded signals, and the decoding device can also be called a receiving end, which can be a device for receiving the aforementioned signals. The specific names of the encoding and decoding devices are not limited in this application. As an example, the encoding device can be a terminal device or a chip or functional module of a terminal device, and the decoding device can be a network device or a chip or functional module of a network device. As another example, the encoding device can be a network device or a chip or functional module of a network device, and the decoding device can be a terminal device or a chip or functional module of a terminal device. As yet another example, the encoding and decoding devices can be different terminal devices, etc. Specific forms of the encoding and decoding devices will not be listed here.

[0129] Figure 4 is an RM code encoding matrix diagram used in 5G NR according to an embodiment of this application. The use of RM codes in the 5G NR protocol: In the control channel coding of the 5G NR protocol, if the number of control channel information bits is greater than or equal to 3 and less than or equal to 11, RM codes are used to encode the control information. Specifically, when the number of information bits is greater than or equal to 3 and less than or equal to 11, the basis in Figure 4 is used to encode the information bits, and the length of the encoded codeword is 32 bits. Each column M_i in Figure 4 is a basis. The input information bit u_k is multiplied by the basis M_k, and then the product of all information bits and the corresponding basis is XORed bit by bit to obtain the encoded codeword bits. The first 6 columns of the basis in Figure 4 are the 6 basis elements of the RM(5,1) code.

[0130] The fundamental definition of Reed-Muller (RM) codes: RM codes are among the oldest, simplest, and most unique error-correcting codes, proposed by Demuller in 1954, making them over 70 years old. Due to their unique and rich structural characteristics, RM codes have attracted extensive research from scholars in wireless communication, computer science, cryptography, discrete mathematics, and other fields; their modeling and characterization have encompassed various approaches, such as finite geometry, polynomial rings, and Boolean functions. This section introduces the definition of RM codes based on polynomial rings. Binary RM codes encompass multivariate polynomials in a binary field. The evaluation results are as follows. Consider a polynomial ring with m variables. For a polynomial and a binary vector z = Define Eval z (f)=f(z1,z2,…,z m Let f be the value of the polynomial f in the binary vector z. Based on this, the evaluation vector of the polynomial f can be defined. That is, a coordinate of Eval(f) is the evaluation result of the polynomial f at a certain binary vector. Since The CCP has 2 m There are m-dimensional binary vectors, therefore the evaluation vector Eval(f) has a total of 2 m Each dimension. For an RM code with parameters m and r, its codeword set can be defined as the set of evaluation vectors for all polynomials of order no higher than r, i.e.

[0131] Here, deg(f) represents the order of the polynomial f. Without ambiguity, we also refer to the parameter m as the code length parameter (or the first parameter of the RM(m,r) code), and the parameter r as the order of the RM(m,r) code (or the second parameter of the RM code). According to the above definition, the number of information bits in an RM(m,r) code is equal to the number of m-ary binary monomials, i.e. here This represents the number of combinations. Furthermore, we can easily write the generator matrix of the RM(m,r) code based on the evaluation vector of the monomial.

[0132] For example, for m=3 and r=1, the generator matrix of the RM code is

[0133] For m=3 and r=2, the generator matrix of the RM code is:

[0134] From the generator matrix G of the RM code, its inverse matrix G can be written. -1Thus, for any valid RM codeword x∈RM(m,r), using G -1 The corresponding information bit u = xG can be obtained immediately. -1 .

[0135] The following section elaborates on several important characteristics of RM codes. As research progressed, researchers discovered that RM codes possess excellent performance that reaches the Shannon limit in binary memoryless channels. This excellent performance is achieved by utilizing the following important properties of RM codes.

[0136] 1. Automorphic permutation property of RM codes: For a valid codeword x of RM(m,r), its 2 m The bits of a codeword can be represented by an m-dimensional binary vector z = (z1, ..., z2). m Use ) as the index. For any binary full-rank matrix and vectors Define coordinate transformation That is, the bit at position z of codeword x is placed in Position, so that we can get a new length of 2 m The code

[0137] 2. Decomposition property of RM codes: For any valid codeword x of an RM(m,r) (or any of its automorphic permutation codewords) (See the aforementioned properties), this codeword can be divided into a first half and a second half: x = (x1, x2). At this point, x1, x2 ∈ RM(m-1, r) and (for automorphic permutation codewords) ).

[0138] 3. Projective properties of RM codes: Definition Let be an s-dimensional subspace of an m-dimensional binary vector space, denoted as . It is a subspace The set of all cosets, i.e. Special There are 2 in the middle m-s A coset. Define an RM codeword y in a subspace. The projection of the subspace is but

[0139] Figure 5 is a flowchart illustrating method 500 provided in an embodiment of this application. The encoding and decoding devices involved in this method are described above and will not be detailed here. The dashed lines in Figure 5 indicate optional steps. As shown in Figure 5, the method includes:

[0140] 501. Obtain the code block to be encoded. If the number of bits in the code block to be encoded is less than or equal to the first bit number threshold, and the code rate corresponding to the code block to be encoded is less than or equal to the first code rate threshold, determine to use the Reed-Muller RM code encoding method to encode the code block to be encoded.

[0141] The code rate can be either the encoding code rate or the target code rate. The code rate refers to the encoding code rate used by the encoding device when encoding information bits. The code rate can be determined based on the MCS (Modulation Sequence Code). As one possible implementation, the encoding device is a network device that can send MCS information to a terminal device. The terminal device receives the MCS information and decodes it to obtain the corresponding code rate. As another possible implementation, the encoding device is a terminal device that can receive MCS information from a network device and determine the code rate based on the MCS information. The MCS information is used to indicate the index of the MCS. The index of the MCS can correspond to at least one of the following: code rate, spectral efficiency, or modulation order.

[0142] The TBS is used to represent the size (or dimension) of the transport block. Optionally, the TBS is the transport block size excluding CRC check bits. As one possible implementation, the TBS is determined based on a function table of the MCS and physical resource blocks (PRBs). Another possible implementation is that the TBS is determined based on the number of information bits. In other words, the TBS is determined based on the size of the data to be transmitted. For example, the TBS is determined based on parameters including at least one of the following: the number of resource elements (REs) available for data transmission, the code rate, the modulation order, or the number of streams (or transport layers). Yet another example is that the TBS is determined based on the number of resource blocks (RBs). The following examples illustrate methods for determining the TBS.

[0143] The number of REs N′ available for data transfer in a PRB RE satisfy:

[0144] in, This represents the number of subcarriers in a PRB, such as This represents the number of symbols allocated in the physical downlink shared channel (PDSCH) within a time slot. This indicates the number of REs used by the demodulation reference signal (DMRS) on a PRB during the scheduling period. This indicates the header overhead, which is configured by higher-layer parameters (such as xOverhead) in the PDSCH serving cell.

[0145] According to N′ RE Determine the number N of REs available for data transmission. RE , such as N RE =min(156,N′) RE )·n PRB n PRB This indicates the number of PRBs allocated. Here, N represents... RE It can also be referred to as the number of bits corresponding to information bits.

[0146] According to N RE Bit rate (e.g., represented by R), modulation order (e.g., represented by Q) m The TBS is determined by either the number of streams (e.g., represented by v) or the number of streams. For example, N... info =N RE ×R×Q m ×v. Optionally, when v = 1, N info =N RE ×R×Q m .

[0147] According to N info Determine the TBS. For example, N info If it is less than or equal to a certain threshold, TBS can be determined according to the first method. Alternatively, N... info If the value exceeds this threshold, the TBS can be determined using the second method. The first and second methods can be referenced in relevant standards, and will not be detailed here.

[0148] The above methods for determining TBS are merely examples and are not intended to limit the embodiments of this application.

[0149] When the TBS is less than or equal to the first bit number threshold and the code block rate is less than or equal to the first code rate threshold, the code block to be encoded is encoded according to the encoding method of RM code.

[0150] First, we analyze the impact of code length on the choice of encoding method. Based on several sets of simulation data involving multiple typical scenarios, we can provide evaluation results on code length and the optimal encoding method. For example, simulation case one comparing RM codes and LDPC codes shows that in scenarios with code lengths less than 2000 bits, RM codes have lower complexity and better performance than LDPC codes; in scenarios with code lengths greater than 2000 bits, LDPC codes have lower complexity and better performance. Similarly, simulation case two comparing RM codes and Polar codes shows that in scenarios with code lengths less than 100 bits, RM codes have lower complexity and better performance than Polar codes; in scenarios with code lengths between 100 and 1000 bits, Polar codes and RM codes each have considerable performance advantages; and in scenarios with code lengths greater than 1000 bits, Polar codes have lower complexity and better performance. Analysis of the data results shows that, compared to existing technologies where RM codes are only used in 3-11 bit scenarios, RM codes maintain superior performance compared to LDPC or Polar codes in scenarios below 100 bits. RM codes also have advantages in some scenarios between 100-1000 bits. Therefore, this application can use RM codes in scenarios where they have advantages over existing technologies (at least 11-100 bits) to achieve increased throughput, reduced power consumption, or increased reliability in the encoding / decoding process. As shown in Figure 6, the vertical axis represents the bitrate of the code block to be encoded, with values ​​representing the upper or lower bound of the corresponding range or interval, such as R0, R1, etc.; the horizontal axis represents the number of bits A of the code block to be encoded, with values ​​representing the upper or lower bound of the corresponding range or interval, such as T0, T1, etc. Figure 6 indicates that the first bit number threshold is T, and RM codes are used for encoding or decoding within a range of bits less than or equal to T, for example, T is 100 bits. Figure 7 shows that the first bit number threshold is T1 and the second bit number threshold is T0. RM code is used for encoding or decoding within the range where the bit number is less than or equal to T1 and greater than or equal to T0. For example, T1 is 100 bits and T0 is 3 bits. The markings in the figure refer to the description in Figure 6 and will not be repeated.

[0151] This application embodiment also provides a scenario range for determining the use of RM codes based on a code block rate threshold. It should be understood that, based on the analysis of the data results, RM codes are suitable as an encoding or decoding method for lower code rate scenarios. Therefore, this application provides a scenario range for selecting RM codes that simultaneously satisfies both a TBS less than or equal to a first bit count threshold and a code block rate less than or equal to the first code rate threshold. Within this scenario range, using RM codes can achieve the effects of increased throughput, reduced power consumption, or increased reliability in the encoding and decoding process. As shown in Figure 8(a), R0 is the first code rate threshold, and T0 is the first bit count threshold. The labels in the figure refer to the description in Figure 6 and will not be repeated here.

[0152] Optionally, the first bit number threshold is one of N bit number thresholds, the first code rate threshold is one of N code rate thresholds, and the N bit number thresholds are in one-to-one correspondence with the N code rate thresholds; the N bit number thresholds and the N code rate thresholds satisfy that when a third bit number threshold is greater than a fourth bit number threshold, a third code rate threshold corresponding to the third bit number threshold is less than a fourth code rate threshold corresponding to the fourth bit number threshold, where the third bit number threshold and the fourth bit number threshold are any two of the N bit number thresholds, and the third code rate threshold and the fourth code rate threshold are any two of the N code rate thresholds.

[0153] It should be understood that although the foregoing implementation corresponds to that a code length and code rate range determined by the first bit number threshold and the first code rate threshold can be found for any to-be-encoded code block using a Reed-Muller code, the present application further provides that the usage scenario of all Reed-Muller codes may be a union of multiple ranges, for example, different bit number thresholds correspond to different code rate thresholds, and for another example, a special range within the range constrained by the code length and the code rate threshold may use a special encoding manner. As shown in FIG. 9, R0 and T0 are the first code rate threshold and the first bit number threshold corresponding to a first range, R1 and T1 are the first code rate threshold and the first bit number threshold corresponding to a second range, R2 and T2 are the first code rate threshold and the first bit number threshold corresponding to a third range, the shaded part of the union set corresponding to the three ranges corresponds to the usage range of the Reed-Muller code, and the identifiers in FIG. 9 refer to the description of FIG. 6 and are not repeated herein.

[0154] The present application further specifically provides that such a union has the following feature: in any two ranges, the range with a larger bit number threshold corresponds to a smaller code rate threshold. From another perspective, a more specific implementation can be understood as that the usage scenario of the Reed-Muller code includes the following feature: the usage scenario of the Reed-Muller code may be a range where the product of the code rate and the code length is below a certain threshold, or it can be understood that when the amount of information continuously transmitted per unit time is less than a certain threshold, the encoding manner of the Reed-Muller code can be selected. Specifically, as shown in FIG. 9, when encoding or decoding is performed using the Reed-Muller code, the code block length and the code block code rate have the following rule: T2>T1, so R2<R1, and the identifiers in FIG. 9 refer to the description of FIG. 6 and are not repeated herein.

[0155] Optionally, the number of bits of the to-be-encoded code block is greater than or equal to a second bit number threshold, and the code rate corresponding to the to-be-encoded code block is greater than or equal to a second code rate threshold.

[0156] It should be understood that when the code block length is very short, one possible implementation is a 1-2 bit scenario where repetition codes or single parity check codes can achieve good performance, and there exists a code length threshold as a lower bound for the code length supported by the RM code. In another possible implementation, for the sake of uniform description, the RM(m, 0) code degenerates into a repetition code, and the RM(m, m-1) code can be considered a single parity check code, thus there is no lower bound threshold description. In another possible implementation, at extremely low code rates, using complex encoding schemes may increase the encoding and decoding complexity, and it is more difficult to obtain better encoding gain at even lower code rates. Using repetition codes is often more effective and less complex, and there are also implementations with and without a lower bound on the code rate. Based on the above description, this application provides a scenario where the RM code has a lower bound on the code length and / or the code rate. That is, the scheme of this application also includes a second bit number threshold as a lower bound constraint on the code length and / or a second bit rate threshold as a lower bound constraint on the code rate. For example, as shown in Figures 8(b), 8(c), and 8(d), Figure 8(b) includes the first upper bound of the code rate threshold R0, the first upper bound of the bit count threshold T1, and the second lower bound of the bit count threshold T0; Figure 8(c) includes the first upper bound of the code rate threshold R1, the second lower bound of the code rate threshold R0, and the first upper bound of the bit count threshold T0; Figure 8(d) includes the first upper bound of the code rate threshold R1, the second lower bound of the code rate threshold R0, the first upper bound of the bit count threshold T1, and the second lower bound of the bit count threshold T0. The labels in Figures 8 are referenced from the description in Figure 6 and will not be repeated here. Similarly, the scheme can also be the union of multiple code length and code rate intervals using RM codes. For specific methods, refer to the description of multiple ranges in Figure 9, which will not be repeated here.

[0157] In addition to providing a method for determining the RM code to be used based on TBS and block code rate, this application also provides a method for determining RM code parameters based on TBS and block code rate.

[0158] One possible approach is to determine the set of encoding parameters or the set of encoding parameters corresponding to the RM code. It should be understood that the RM code parameters can be a very large range. To reduce redundant information processing or verification in the subsequent process of determining the final RM code parameters, a smaller range of RM code parameters can be determined at the beginning of or before the step of determining the RM code parameters. Since the RM code parameters are a finite number of discrete parameter values, we call this smaller range the set of RM code parameters or the set of encoding parameters.

[0159] One possible approach is to determine the set of encoding parameters based on the code block rate. For example, multiple third rate thresholds can be set to divide the RM code parameter set. If the code block rate is less than or equal to one or more of these third rate thresholds, then the RM code parameters whose rates are less than the minimum value among these one or more third rate thresholds are determined to belong to the determined RM code parameter set. Alternatively, multiple fourth rate thresholds can be set to divide the RM code parameter set. If the code block rate is greater than or equal to one or more of these fourth rate thresholds, then the RM code parameters whose rates are greater than or equal to the maximum value among these one or more fourth rate thresholds are determined to belong to the determined RM code parameter set. Alternatively, the RM code parameters whose rates are less than or equal to the minimum value and greater than or equal to the maximum value among these one or more third rate thresholds and the maximum value among these one or more fourth rate thresholds are determined to belong to the determined RM code parameter set.

[0160] One possible approach is to determine a set of encoding parameters based on the code rate threshold corresponding to the code block to be encoded, where the code rate is less than or equal to the code rate threshold corresponding to the first modulation and coding scheme (MCS), and the set of encoding parameters includes the parameters of the RM code.

[0161] One possible approach is to determine the encoding parameter set based on the code rate threshold corresponding to the code block to be encoded, which is greater than or equal to the code rate threshold corresponding to the second modulation and coding scheme (MCS).

[0162] Based on the above implementation method, by replacing the third and / or fourth bitrate thresholds with the bitrate thresholds corresponding to the first MCS and / or the second MCS, a method for determining the set of encoding parameters based on the bitrate thresholds corresponding to the first MCS and / or the second MCS can be implemented, which will not be elaborated here.

[0163] The method may also involve finding the first MCS and / or the second MCS based on the third MCS corresponding to the code block, and then determining the encoding parameter set based on the first MCS and / or the second MCS, wherein the first MCS is greater than or equal to the third MCS, and the second MCS is less than or equal to the third MCS.

[0164] Specifically, this embodiment provides a method for determining the RM code encoding parameter set based on MCS, and the specific implementation process is shown in Table 1 and the following description:

[0165] In Table 1, the first column is the index of the modulation and coding scheme (MCS) MCS-i, the second column is the modulation order Qm, for example, 2 represents BPSK of order 2, 4 represents QPSK of order 4, the third column is the code rate corresponding to the target code block (i.e. the code block to be encoded) multiplied by 1024, and the fourth column is the set of RM parameters corresponding to MCS-i.

[0166] According to the MCS, the RM encoding parameter set Set = {(m_0, r_0), ..., {m_i, r_i}} is obtained from Table 1. The RM encoding parameter set is shown in Table 1 below. The following table shows the correspondence between MCS Index i and the target code block code rate in the RM parameter set:

[0167] If MCS Index i > 0, the mother code rate in the RM parameter set corresponding to MCS i is less than or equal to the target code rate corresponding to MCS i, and greater than the target code rate corresponding to MCS i-1.

[0168] If MCS Index I = 0, the mother code rate in the RM parameter set corresponding to MCS i is less than or equal to the target code rate corresponding to MCS i.

[0169] According to Table 1, the proposed scheme is to provide only the RM code set corresponding to the low-order MCS, and to use other channel coding methods instead of RM codes for other MCSs.

[0170] Table 1. Correspondence between MCS order and RM set 1

[0171] This embodiment presents another method for determining the RM code encoding parameter set based on the MCS, and the specific implementation process is shown in Table 2 and the following description:

[0172] In Table 2, the first column is the index of MCS, MCS-i; the second column is the modulation order, Qm, for example, 2 represents BPSK of order 2, 4 represents QPSK of order 4, etc.; the third column is the code rate corresponding to the target code block (i.e. the code block to be encoded) of 1024 times; and the fourth column is the set of RM parameters corresponding to MCS-i.

[0173] According to the MCS, the RM encoding parameter set Set = {(m_0, r_0), ..., {m_i, r_i}} is obtained from Table 2. The RM encoding parameter set is shown in Table 2 below. The following table shows the correspondence between MCS Index i and the target code block code rate in the RM parameter set:

[0174] If MCS Index i > 0, the mother code rate in the RM parameter set corresponding to MCS i is less than or equal to the target code rate corresponding to MCS i, and greater than the target code rate corresponding to MCS i-1.

[0175] If MCS Index I = 0, the mother code rate in the RM parameter set corresponding to MCS i is less than or equal to the target code rate corresponding to MCS i.

[0176] According to Table 2, the proposed scheme is that each MCS of each order corresponds to a set of RM codes.

[0177] Table 2. Correspondence between MCS order and RM set 2

[0178] This embodiment presents another method for determining the RM code encoding parameter set based on the MCS, and the specific implementation process is shown in Table 3 and the following description:

[0179] In Table 3, the first column is the index of MCS, MCS-i; the second column is the modulation order, Qm, for example, 2 represents BPSK of order 2, 4 represents QPSK of order 4, etc.; the third column is the code rate corresponding to the target code block (i.e. the code block to be encoded) of 1024 times; and the fourth column is the set of RM parameters corresponding to MCS-i.

[0180] According to the MCS, the RM encoding parameter set Set = {(m_0, r_0), ..., {m_i, r_i}} is obtained from Table 3. The RM encoding parameter set is shown in Table 3. The following table shows the correspondence between MCS Index i and the target code block code rate in the RM parameter set:

[0181] In the RM parameter set corresponding to MCS i, the mother code rate is less than or equal to the target code rate corresponding to MCS i.

[0182] According to Table 3, the scheme is that each MCS of order corresponds to an RM code set, and the set is related to the upper bound of the corresponding MCS.

[0183] Table 3. Correspondence between MCS order and RM set 3

[0184] One possible approach is to determine the encoding parameter set based on the TBS (Total Bit Rate). Similarly, this application also provides a method to determine which RM code parameter set or encoding parameter set the code block to be encoded belongs to based on the TBS threshold. For specific implementation details, please refer to the method of determining the encoding parameter set based on the code block rate, which will not be elaborated here.

[0185] This application also provides a method for determining RM code parameters based on TBS and RM code parameter ranges or RM code parameter sets.

[0186] One possible approach is to directly determine the encoding parameters from the encoding parameter set based on the code length. The parameters of the RM code are determined based on X3, where X3 is the minimum number of information bits that can be encoded from one or more RM codes. The number of information bits that can be encoded from one or more RM codes is the number of information bits that is greater than or equal to the maximum value of the lengths of the M sub-code blocks among the number of information bits that can be encoded from all RM codes corresponding to the encoding parameter set.

[0187] Specifically, the code block length is K′. The minimum information bit length K is found in the encoding parameter set Set, which satisfies the following formula: K≥K′. The m and r corresponding to this K are the encoding parameters that need to be determined in the end.

[0188] One possible approach is to divide the code block to be encoded into M sub-blocks when the TBS is greater than the number of information bits that can be encoded corresponding to any RM code in the encoding parameter set, or when the number of bits X1 of the code block to be encoded is greater than the fifth bit threshold X2; wherein X2 is the maximum number of information bits that can be encoded by all RM codes corresponding to the encoding parameter set, and M is a positive integer. This indicates that the length of each of the M sub-code blocks is less than or equal to X2. At this point, the final RM code parameters are further determined according to the method described above, which directly determines the encoding parameters from the encoding parameter set based on the code length.

[0189] Specifically,

[0190] a) First, based on the length to be encoded A and the maximum supported information bit length K of the RM code in the encoding parameter set Set. max The sequence to be encoded is divided into code blocks, resulting in C code blocks (CBs), each with a length of [length missing].

[0191] b) Find the minimum information bit length K in the set Set that satisfies the following formula: K≥K′, and the m and r corresponding to K are the final encoding parameters that need to be determined.

[0192] One possible approach is to determine the parameters of the RM code after determining the aforementioned M sub-code blocks, based on the maximum length of the M sub-code blocks and the air interface resources corresponding to the code block to be encoded.

[0193] It should be understood that the methods provided in this application can be applied between two entities in a communication system, such as one entity sending information to or receiving information sent by the other entity. Entities can communicate wirelessly using air interface resources. Air interface resources may include at least one of time-domain resources, frequency-domain resources, code resources, and spatial resources, and this application does not limit these resources.

[0194] Specifically,

[0195] a) First, based on the length to be encoded A and the maximum supported information bit length K of the RM code in the encoding parameter set Set. max The sequence to be encoded is divided into code blocks, resulting in C code blocks (CBs), each with a length of [length missing].

[0196] b) Determine the air interface resources corresponding to each CB: To round down, The air interface resources corresponding to the first mod(E, C) CBs are E. + The remaining air interface resources corresponding to CB are E. _ ;

[0197] c) Then find the smallest m in the set such that m ≥ log2 E + Given the m corresponding to the first mod(E, C) CB, find the smallest m such that m ≥ log2 E. _ , which corresponds to m for the rest of CB;

[0198] d) After determining the m for each CB, select the smallest r among the possible r such that At this point, we obtain the final encoding parameters m and r for each CB.

[0199] 502. The encoding device encodes the code block to be encoded according to the RM code parameters.

[0200] The encoding device encodes the code block to be encoded according to the target RM code parameters. The encoded bits include information bits and parity bits.

[0201] Optionally, the encoding device may also perform other processing on the encoded bits, including but not limited to at least one of the following: rate matching, modulation, multiple input multiple output (MIMO) coding, subcarrier mapping, or inverse fast fourier transform (IFFT). The processed signal will not be described in detail in this application.

[0202] 503. The encoding device sends a signal after processing the encoded bits. Correspondingly, the decoding device receives this signal.

[0203] The encoding device transmits the aforementioned signal through the channel, and the decoding device receives the signal transmitted through the channel and processes the aforementioned signal (for example, performing inverse processing corresponding to the other processing mentioned above) to obtain the information to be decoded.

[0204] 504. Obtain the data block to be decoded. If the TBS of the code block corresponding to the data block to be decoded is less than or equal to the first bit number threshold, and the code rate corresponding to the code block corresponding to the data block to be decoded is less than or equal to the first code rate threshold, determine to use the RM code decoding method to decode the data block to be decoded.

[0205] The process of determining the RM code and RM parameters based on the number of bits in the code block corresponding to the data block to be decoded and the code rate of the code block corresponding to the data block to be decoded is the same as that of 501, and will not be repeated here.

[0206] 505. The decoding device decodes the data block to be decoded according to the RM code.

[0207] Similarly, here, based on the RM parameters obtained from 504, the RM code decoding method is used to decode the data block to be decoded. It should be understood that this decoding is the reverse process of encoding. The decoding method used by the decoding device includes, but is not limited to, hard-decision decoding, soft-decision decoding, or hybrid decoding methods. For example, the decoding device can initialize the input information to be decoded and perform iterative processing. After iteration, it performs hard-decision detection and verifies the hard-decision result. If the decoding result conforms to the verification equation, the decoding is successful, the iteration terminates, and the decision result is output. If the decoding result does not conform to the verification equation, iterative processing is performed again within the maximum number of iterations. If the maximum number of iterations is reached and the verification still fails, the decoding fails. The decoding method shown here is only an example; other decoding processes are not limited in this application embodiment. The RM code parameters used by the decoding device during decoding are not detailed here.

[0208] In this embodiment, steps 501 to 502 can be implemented by an encoding device, such as a chip, functional module, or device. Optionally, the sending step in step 503 can be implemented by an encoding device. Steps 504 and 505 can be implemented by a decoding device, such as a chip, functional module, or device. Optionally, the receiving step in step 503 can be implemented by a decoding device.

[0209] This application provides several feasible and effective methods for dividing the usage range of RM codes. Within the defined usage range, RM codes have certain advantages over LDPC or Polar codes, thereby increasing throughput, reducing power consumption, and increasing reliability in the encoding and decoding process. For example, under the constraints of bit number threshold and code rate threshold, RM codes exhibit better encoding and decoding robustness. After implementing the scheme, the channel's bit error rate decreases, and the throughput per unit time increases. Furthermore, in the short code scenario, the complexity of encoding and decoding using RM codes is reduced, thereby lowering power consumption. Additionally, this application also provides a method of first using MCS to filter out a portion of RM code parameters, reducing the space for subsequent RM code parameter selection and lowering the computational complexity of RM code parameters.

[0210] The apparatus provided in the embodiments of this application will be described below.

[0211] This application divides the device into functional modules according to the above method embodiments. For example, each function can be divided into its own functional modules, or two or more functions can be integrated into one processing module. The integrated modules can be implemented in hardware or as software functional modules. It should be noted that the module division in this application is illustrative and only represents one logical functional division; other division methods may be used in actual implementation. The device of the embodiment of this application will be described in detail below with reference to Figures 10 to 13.

[0212] Figure 10 is a schematic diagram of the device provided in an embodiment of this application. As shown in Figure 10, the device includes a processing module 1001 and a transceiver module 1002. The transceiver module 1002 can implement corresponding communication functions, and the processing module 1001 is used to implement corresponding processing functions. For example, the transceiver module 1002 can also be referred to as an interface, a communication interface, or a communication module, etc.

[0213] In some embodiments of this application, the device can be used to perform the actions performed by the encoding device in the above method embodiments. In this case, the device can be the device itself or a chip or functional module configurable in the device. The transceiver module 1002 is used to perform the transceiver-related operations of the encoding device in the above method embodiments, and the processing module 1001 is used to perform the processing-related operations of the encoding device in the above method embodiments.

[0214] Transceiver module 1002 is used to acquire code blocks to be encoded;

[0215] The processing module 1001 is used to encode the code block to be encoded according to the encoding method of Reed-Muller RM code.

[0216] Optionally, the processing module 1001 is further configured to determine the encoding parameter set corresponding to the code block to be encoded based on the code rate threshold corresponding to the first MCS.

[0217] Optionally, the processing module 1001 is further configured to determine the encoding parameter set corresponding to the code block to be encoded based on the code rate threshold corresponding to the first MCS and the code rate threshold corresponding to the second MCS.

[0218] Optionally, the processing module 1001 is further configured to divide the code block to be encoded into M sub-code blocks; and to determine the parameters of the RM code corresponding to the code block to be encoded based on the maximum value of the length of the M sub-code blocks.

[0219] Optionally, the processing module 1001 is further configured to determine the parameters of the RM code corresponding to the code block to be encoded based on X3.

[0220] For details on the conditions for processing module 1001 to determine the RM encoding method and the specific methods for determining RM parameters, please refer to the above text, which will not be elaborated here.

[0221] As shown in Figure 10, in some other embodiments of this application, the device can be used to perform the actions performed by the decoding device in the above method embodiments. In this case, the device can be the device itself or a chip or functional module configurable in the device. The transceiver module 1002 is used to perform the transceiver-related operations of the decoding device in the above method embodiments, and the processing module 1001 is used to perform the processing-related operations of the decoding device in the above method embodiments.

[0222] Transceiver module 1002 is used to acquire data blocks to be decoded;

[0223] Processing module 1001 is used to decode the data block to be decoded according to the decoding method of Reed-Muller RM code.

[0224] Optionally, the processing module 1001 is further configured to determine the code block encoding parameter set corresponding to the data block to be decoded based on the code rate threshold corresponding to the first MCS.

[0225] Optionally, the processing module 1001 is further configured to determine the code block encoding parameter set corresponding to the data block to be decoded based on the code rate threshold corresponding to the first MCS and the code rate threshold corresponding to the second MCS.

[0226] Optionally, the processing module 1001 is further configured to divide the code block corresponding to the data block to be decoded into M sub-code blocks; and to determine the parameters of the RM code corresponding to the code block corresponding to the data block to be decoded based on the maximum value of the length of the M sub-code blocks.

[0227] Optionally, the processing module 1001 is further configured to determine the parameters of the RM code corresponding to the code block corresponding to the data block to be decoded based on X3.

[0228] For details on the conditions for processing module 1001 to determine the RM decoding method and the specific methods for determining RM parameters, please refer to the above text, which will not be elaborated here.

[0229] For example, the transceiver module 1002 described above can be an antenna module. Alternatively, the transceiver module 1002 can be an input / output module. Optionally, in the above embodiments, the device may further include a storage module, which can be used to store instructions and / or data. The processing module 1001 can read the instructions and / or data from the storage module to enable the device to implement the aforementioned method embodiments. For example, the storage module can be used to store RM parameter sets, etc.

[0230] For details regarding the specific explanations of each term, noun, or step in the above embodiments, please refer to the descriptions in the above method embodiments; they will not be detailed here.

[0231] The specific descriptions of the transceiver module and processing module shown in the above embodiments are merely examples. For the specific functions or execution steps of the transceiver module and processing module, please refer to the above method embodiments, which will not be described in detail here.

[0232] Based on the uplink or downlink processing described above, and in combination with different functions, this application embodiment also provides an apparatus. Optionally, the processing module shown above includes a computing module and a control module. Optionally, the apparatus in FIG10 may further include a storage module.

[0233] Figure 11a is a schematic diagram of the apparatus provided in an embodiment of this application. In Figure 11a, (a) and (b) show the encoding apparatus and the decoding apparatus, respectively.

[0234] As shown in Figures 11a(a) and (b), the device includes a computing module, a control module, and a storage module. The computing module is responsible for processing the logical operations of the device, specifically including encoding and / or decoding logical operations. The storage module is responsible for storing data during the computing process, and can also store information related to encoding and decoding, such as basic graphs. The control module is responsible for scheduling and controlling the computing module and storage resources.

[0235] For example, as shown in Figure 11a(a), the calculation module is used to perform operations such as TB CRC calculation, RM parameter selection (as described above in determining RM parameters), code block segmentation, CB CRC calculation, RM encoding, and code block concatenation. For instance, the RM parameter selection can be made from a set of RM parameters stored in the storage module.

[0236] For example, as shown in Figure 11a(b), the calculation module can be used to perform operations such as rate matching, RM parameter selection, RM decoding, CB CRC check, and TB CRC check.

[0237] In one possible implementation, the module in the encoding device used to implement RM encoding is an encoder. In another possible implementation, the encoder can not only implement RM encoding, but also perform RM encoding preprocessing and / or post-processing. RM encoding preprocessing includes one or more of the following: TB CRC calculation, RM parameter selection, code block segmentation, or CB CRC calculation. RM encoding post-processing includes, for example, code block concatenation.

[0238] In one possible implementation, the module in the decoding device used for RM decoding is a decoder. In another possible implementation, the decoder can not only perform RM decoding, but also perform RM decoding preprocessing and / or post-processing. RM decoding preprocessing includes one or more of the following: rate matching or HARQ merging. RM post-processing includes, for example, one or more of the following: CB CRC or TB CRC.

[0239] In one possible implementation, this application embodiment also provides a schematic diagram of an RM parameter selection module. This RM parameter selection module can be used to perform RM parameter selection.

[0240] Figure 11b is a schematic diagram of the RM parameter selection module provided in an embodiment of this application. For example, the RM parameter selection module can select RM parameters based on at least one of TBS or code rate, choosing one RM parameter from the RM parameter set in the storage module as the target RM parameter. Alternatively, the RM parameter selection module can select RM parameters based on at least one of RE number, modulation order, stream number, spectral efficiency, or MCS. Or, the RM parameter selection module can select RM parameters based on indication information or feedback information. For specific methods of RM parameter selection, please refer to the above; they will not be repeated here.

[0241] The module used to implement the encoding function may or may not include an RM parameter selection module. Similarly, the module used to implement the decoding function may or may not include an RM parameter selection module.

[0242] It is understandable that the module division in the above-mentioned device is merely a logical functional division. Each function can correspond to a functional module, or two or more functions can be integrated into one functional module. In actual implementation, all or some modules can be integrated into one physical entity, or they can be distributed across different physical entities. Furthermore, the above-mentioned functional modules can be implemented in hardware, software, or a combination of both.

[0243] In one example, the functional unit in any of the above devices may be one or more integrated circuits configured to implement the above methods, such as: one or more application-specific integrated circuits (ASICs), or one or more central processing units (CPUs), one or more microcontroller units (MCUs), one or more digital signal processors (DSPs), or one or more field-programmable gate arrays (FPGAs), or a combination of at least two of these integrated circuit forms.

[0244] The apparatus of the embodiments of this application has been described above. The possible product forms of the described apparatus are described below. Any product possessing the functions of the apparatus described in FIG10 above falls within the protection scope of the embodiments of this application. The following description is merely illustrative and does not limit the product form of the apparatus of the embodiments of this application to this.

[0245] In one possible implementation, in the device shown in FIG10, the processing module 1001 can be one or more processors, and the transceiver module 1002 can be a transceiver, or the transceiver module 1002 can also be a transmitting module and a receiving module. The transmitting module can be a transmitter, and the receiving module can be a receiver. The transmitting module and the receiving module are integrated into one device, such as a transceiver. In the embodiments of this application, the processor and the transceiver can be coupled, etc., and the connection method of the processor and the transceiver is not limited in the embodiments of this application. In the process of executing the above method, the process of sending information in the above method can be the process of the processor outputting the above information. When outputting the above information, the processor outputs the above information to the transceiver so that the transceiver can transmit it. After the above information is output by the processor, it may need to undergo other processing before reaching the transceiver. Similarly, the process of receiving information in the above method can be the process of the processor receiving the input above information. When the processor receives the input information, the transceiver receives the above information and inputs it into the processor. Furthermore, after the transceiver receives the above information, the above information may need to undergo other processing before being input into the processor.

[0246] Figure 12 is a schematic diagram of an apparatus provided in an embodiment of this application. As shown in Figure 12, the apparatus 120 includes one or more processors 1220 and transceivers 1210.

[0247] In some embodiments of this application, the above-described apparatus can be used to execute the steps, methods, or functions performed by the encoding apparatus. For example, processor 1220 can be used to execute the functions or steps implemented by processing module 1001 as shown in FIG. 10, and transceiver 1210 can be used to execute the functions or steps implemented by transceiver module 1002 as shown in FIG. 10. Alternatively, processor 1220 can be used to execute the functions or steps implemented by the calculation module and control module as shown in FIG. 11a. Furthermore, processor 1220 can be used to execute the functions or steps implemented by the RM parameter selection module as shown in FIG. 11b. Detailed descriptions of processor 1220 and transceiver 1210 can be found in FIG. 10 or the method embodiments shown above, and will not be elaborated further here.

[0248] In other embodiments of this application, the above-described apparatus is used to execute the steps, methods, or functions performed by the decoding apparatus. For example, processor 1220 can be used to execute the functions or steps implemented by processing module 1001 as shown in FIG. 10, and transceiver 1210 can be used to execute the functions or steps implemented by transceiver module 1002 as shown in FIG. 10. Alternatively, processor 1220 can be used to execute the functions or steps implemented by the calculation module and control module as shown in FIG. 11a. Furthermore, processor 1220 can be used to execute the functions or steps implemented by the RM parameter selection module as shown in FIG. 11b. Detailed descriptions of processor 1220 and transceiver 1210 can be found in FIG. 10 or the method embodiments shown above, and will not be elaborated further here.

[0249] Optionally, the above-mentioned device is a chip, and the transceiver can be an input / output interface. Optionally, the above-mentioned device is a complete device such as a network device or a terminal device, and the transceiver can have the function of transmitting and receiving antennas.

[0250] The following explanation uses the device shown in Figure 12 as an example of a communication device.

[0251] In various implementations of the communication device shown in Figure 12, the transceiver may include a receiver for performing a receiving function (or operation) and a transmitter for performing a transmitting function (or operation). The transceiver is also used to communicate with other devices / appliances via a transmission medium.

[0252] Optionally, the communication device 120 may further include one or more memories 1230 for storing program instructions and / or data. The memory 1230 is coupled to the processor 1220. The coupling in this embodiment is an indirect coupling or communication connection between communication devices, units, or modules, and can be electrical, mechanical, or other forms, used for information exchange between the communication devices, units, or modules. The processor 1220 may operate in conjunction with the memory 1230. The processor 1220 can execute program instructions stored in the memory 1230. Optionally, at least one of the above-mentioned memories may be included in the processor.

[0253] This embodiment does not limit the specific connection medium between the transceiver 1210, processor 1220, and memory 1230. In Figure 12, the memory 1230, processor 1220, and transceiver 1210 are connected via a bus 1240, indicated by a thick line. The connection methods between other components are merely illustrative and not intended to be limiting. The bus can be categorized as an address bus, data bus, control bus, etc. For ease of illustration, only one thick line is used in Figure 12, but this does not imply that there is only one bus or one type of bus.

[0254] In the embodiments of this application, the processor may be a general-purpose processor, a digital signal processor, an application-specific integrated circuit (ASIC), a field-programmable gate array (FPGA), or other programmable logic devices, discrete gate or transistor logic devices, discrete hardware components, etc., and can implement or execute the various methods, steps, and logic block diagrams disclosed in the embodiments of this application. The general-purpose processor may be a microprocessor or any conventional processor. The steps of the methods disclosed in the embodiments of this application can be directly manifested as being executed by a hardware processor, or being executed by a combination of hardware and software modules within the processor.

[0255] In this application embodiment, the memory may include, but is not limited to, non-volatile memory such as hard disk drive (HDD) or solid-state drive (SSD), random access memory (RAM), erasable programmable read-only memory (EPROM), read-only memory (ROM), or compact disc read-only memory (CD-ROM), etc. Memory is any storage medium capable of carrying or storing program code in the form of instructions or data structures, and capable of being read and / or written by a computer (such as the communication device shown in this application), but is not limited to this. The memory in this application embodiment may also be a circuit or any other device capable of implementing storage functions, used to store program instructions and / or data.

[0256] The processor 1220 is mainly used to process communication protocols and communication data, control the entire communication device, execute software programs, and process the data of the software programs. The memory 1230 is mainly used to store software programs and data. The transceiver 1210 may include control circuitry and an antenna. The control circuitry is mainly used for converting baseband signals to radio frequency signals and processing radio frequency signals. The antenna is mainly used for transmitting and receiving radio frequency signals in the form of electromagnetic waves. Input / output devices, such as touchscreens, displays, and keyboards, are mainly used to receive user input data and output data to the user.

[0257] When the communication device is powered on, the processor 1220 can read the software program in the memory 1230, interpret and execute the instructions of the software program, and process the data of the software program. When data needs to be transmitted wirelessly, the processor 1220 performs baseband processing on the data to be transmitted and outputs the baseband signal to the radio frequency (RF) circuit. The RF circuit processes the baseband signal and transmits the RF signal outward in the form of electromagnetic waves through the antenna. When data is sent to the communication device, the RF circuit receives the RF signal through the antenna, converts the RF signal into a baseband signal, and outputs the baseband signal to the processor 1220. The processor 1220 converts the baseband signal into data and processes the data.

[0258] In another implementation, the radio frequency circuitry and antenna can be set up independently of the processor performing baseband processing. For example, in a distributed scenario, the radio frequency circuitry and antenna can be arranged remotely, independent of the communication device.

[0259] The communication device shown in this application embodiment may also have more components than those in Figure 12, and this application embodiment does not limit this. The methods executed by the processor and transceiver shown above are only examples, and the specific steps executed by the processor and transceiver can be referred to the methods described above. The dashed lines in Figure 12 indicate optional parts.

[0260] In another possible implementation, in the communication device shown in Figure 10, the processing module 1001 can be one or more logic circuits, and the transceiver module 1002 can be an input / output interface, or a communication interface, or an interface circuit, or an interface, etc. Alternatively, the transceiver module 1002 can also be a transmitting module and a receiving module, where the transmitting module can be an output interface and the receiving module can be an input interface, and the transmitting module and the receiving module are integrated into one module, such as an input / output interface.

[0261] Figure 13 is a schematic diagram of a chip provided in an embodiment of this application. As shown in Figure 13, the chip includes a logic circuit 1301 and an interface 1302. That is, the processing module 1001 can be implemented using the logic circuit 1301, and the transceiver module 1002 can be implemented using the interface 1302. The logic circuit 1301 can be a chip, processing circuit, integrated circuit, or system-on-chip (SoC) chip, etc., and the interface 1302 can be a communication interface, input / output interface, pins, etc. For example, Figure 13 illustrates a chip using the aforementioned device as an example, where the chip includes a logic circuit 1301 and an interface 1302.

[0262] In this embodiment, the logic circuit and the interface can also be coupled to each other. The specific connection method of the logic circuit and the interface is not limited in this embodiment. Optionally, the logic circuit 1301 can be used to execute the functions or steps implemented by the processing module 1001 shown in FIG. 10, and the interface 1302 can be used to execute the functions or steps implemented by the transceiver module 1002 shown in FIG. 10. Optionally, the logic circuit is also used to execute the functions or steps implemented by at least one of the calculation module or control module shown in FIG. 11a. Optionally, the logic circuit is also used to execute the functions or steps implemented by the RM parameter selection module shown in FIG. 11b.

[0263] As one possible implementation, interface 1302 is used to obtain the code block to be encoded;

[0264] A logic circuit is used to encode the code block to be encoded according to the Reed-Muller RM code encoding method.

[0265] Optionally, the logic circuit 1301 is further configured to determine the set of encoding parameters corresponding to the code block to be encoded based on the code rate threshold corresponding to the first MCS.

[0266] Optionally, the logic circuit 1301 is further configured to determine the encoding parameter set corresponding to the code block to be encoded based on the code rate threshold corresponding to the first MCS and the code rate threshold corresponding to the second MCS.

[0267] Optionally, the logic circuit 1301 is further configured to divide the code block to be encoded into M sub-code blocks; and to determine the parameters of the RM code corresponding to the code block to be encoded based on the maximum value of the length of the M sub-code blocks.

[0268] Optionally, the logic circuit 1301 is also used to determine the parameters of the RM code corresponding to the code block to be encoded based on X3.

[0269] For a detailed description of the logic circuit 1301 and the interface 1302, please refer to Figure 10 or the method embodiment shown above, which will not be described in detail here.

[0270] Reusing Figure 13 as another possible implementation, interface 1302 is used to obtain the data block to be decoded;

[0271] The logic circuit 1301 is used to decode the data block to be decoded according to the decoding method of Reed-Muller RM code.

[0272] Optionally, the logic circuit 1301 is further configured to determine the set of code block encoding parameters corresponding to the data block to be decoded based on the code rate threshold corresponding to the first MCS.

[0273] Optionally, the logic circuit 1301 is further configured to determine the set of code block encoding parameters corresponding to the data block to be decoded based on the code rate threshold corresponding to the first MCS and the code rate threshold corresponding to the second MCS.

[0274] Optionally, the logic circuit 1301 is further configured to divide the code block corresponding to the data block to be decoded into M sub-code blocks; and to determine the parameters of the RM code corresponding to the code block corresponding to the data block to be decoded based on the maximum value of the length of the M sub-code blocks.

[0275] Optionally, the logic circuit 1301 is further configured to determine the parameters of the RM code corresponding to the code block corresponding to the data block to be decoded based on X3.

[0276] For a detailed description of the logic circuit 1301 and the interface 1302, please refer to Figure 10 or the method embodiment shown above, which will not be described in detail here.

[0277] The chip shown in Figure 13 can also be seen in Figures 11a and 11b, which will not be described in detail here.

[0278] The communication device shown in the embodiments of this application can implement the method provided in the embodiments of this application in hardware form or in software form, etc., and the embodiments of this application do not limit it in this way.

[0279] Furthermore, embodiments of this application also provide a communication system, which includes an encoding device and a decoding device, and the encoding device and the decoding device can be used to perform the methods in any of the foregoing embodiments.

[0280] This application also provides a computer program for implementing the operations and / or processes performed by various sites in the methods provided in this application.

[0281] This application also provides a computer-readable storage medium storing computer code that, when executed on a computer, causes the computer to perform the operations and / or processes performed by various communication devices in the methods provided in this application.

[0282] This application also provides a computer program product comprising computer code or a computer program that, when run on a computer, causes the operations and / or processes performed by various entities in the method provided in this application to be executed.

[0283] In the embodiments provided in this application, it should be understood that the disclosed systems, communication devices, and methods can be implemented in other ways. For example, the communication device embodiments described above are merely illustrative. For instance, the division of modules is only a logical functional division, and in actual implementation, there may be other division methods. For example, multiple modules or components may be combined or integrated into another system, or some features may be ignored or not executed. In addition, the mutual coupling or direct coupling or communication connection shown or discussed may be indirect coupling or communication connection through some interfaces, communication devices, or modules, or it may be an electrical, mechanical, or other form of connection.

[0284] The modules described as separate components may or may not be physically separate. The components shown as modules may or may not be physical modules; that is, they may be located in one place or distributed across multiple network modules. Some or all of the modules can be selected according to actual needs to achieve the technical effects of the solutions provided in the embodiments of this application.

[0285] Furthermore, the functional modules in the various embodiments of this application can be integrated into one processing module, or each module can exist physically separately, or two or more modules can be integrated into one module. The integrated modules described above can be implemented in hardware or as software functional modules.

[0286] If the integrated module is implemented as a software functional module 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 readable storage medium and includes several instructions to cause a computer device (which may be a personal computer, server, or network device, etc.) to execute all or part of the steps of the methods described in the various embodiments of this application. The aforementioned readable storage medium includes various media capable of storing program code, such as USB flash drives, portable hard drives, read-only memory (ROM), random access memory (RAM), magnetic disks, or optical disks.

Claims

1. An encoding method, characterized in that, The method includes: Obtain the code block to be encoded; When the number of bits in the code block to be encoded is less than or equal to a first bit number threshold, and the code rate corresponding to the code block to be encoded is less than or equal to a first code rate threshold, the code block to be encoded is encoded according to the Reed-Muller RM code encoding method.

2. The method according to claim 1, characterized in that: The number of bits in the code block to be encoded is greater than or equal to the second bit number threshold, and the code rate corresponding to the code block to be encoded is greater than or equal to the second code rate threshold.

3. The method according to claim 1 or 2, characterized in that: The first bit count threshold is one of N bit count thresholds, and the first bit rate threshold is one of N bit rate thresholds. The N bit count thresholds correspond one-to-one with the N bit rate thresholds. The N bit count thresholds and the N bit rate thresholds satisfy the following: When the third bit number threshold is greater than the fourth bit number threshold, the third bit rate threshold corresponding to the third bit number threshold is less than the fourth bit rate threshold corresponding to the fourth bit number threshold. The third bit number threshold and the fourth bit number threshold are any two of the N bit number thresholds, and the third bit rate threshold and the fourth bit rate threshold are any two of the N bit rate thresholds.

4. The method according to any one of claims 1 to 3, characterized in that, The method includes: The code rate corresponding to the code block to be encoded is less than or equal to the code rate threshold corresponding to the first modulation and coding scheme (MCS), and the encoding parameter set is determined according to the code rate threshold corresponding to the first MCS. The set of encoding parameters includes the parameters of the RM code.

5. The method according to claim 4, characterized in that: The code rate corresponding to the code block to be encoded is greater than or equal to the code rate threshold corresponding to the second modulation and coding scheme (MCS). The encoding parameter set is determined based on the bitrate threshold corresponding to the first MCS and the bitrate threshold corresponding to the second MCS.

6. The method according to claim 4 or 5, characterized in that, The method includes: When the number of bits X1 of the code block to be encoded is greater than the fifth bit threshold X2, the code block to be encoded is divided into M sub-code blocks; where X2 is the maximum number of information bits that can be encoded by all RM codes corresponding to the encoding parameter set, and M is a positive integer. This indicates rounding up, and the lengths of the M sub-code blocks are all less than or equal to X2; The parameters of the RM code are determined based on the maximum length of the M sub-code blocks.

7. The method according to claim 6, characterized in that, The parameters for determining the RM code based on the maximum length of the M sub-code blocks include: The parameters of the RM code are determined according to X3, where X3 is the minimum value among the number of information bits that can be encoded by one or more RM codes. The number of information bits that can be encoded by one or more RM codes is the number of information bits that is greater than or equal to the maximum value of the length of the M sub-code blocks among the number of information bits that can be encoded by all RM codes corresponding to the encoding parameter set.

8. The method according to claim 6, characterized in that, The parameters for determining the RM code based on the maximum length of the M sub-code blocks include: The parameters of the RM code are determined based on the maximum length of the M sub-code blocks and the air interface resources corresponding to the code block to be encoded.

9. A decoding method, characterized in that, The method includes: Obtain the data block to be decoded; When the number of bits of the code block corresponding to the data block to be decoded is less than or equal to the first number of bits threshold, and the code rate corresponding to the code block is less than or equal to the first code rate threshold, the data block to be decoded is decoded according to the decoding method of RM code.

10. The method according to claim 9, characterized in that: The number of bits in the code block corresponding to the data block to be decoded is greater than or equal to the second bit number threshold, and the code rate corresponding to the code block corresponding to the data block to be decoded is greater than or equal to the second code rate threshold.

11. The method according to claim 9 or 10, characterized in that: The first bit count threshold is one of N bit count thresholds, and the first bit rate threshold is one of N bit rate thresholds. The N bit count thresholds correspond one-to-one with the N bit rate thresholds. The N bit count thresholds and the N bit rate thresholds satisfy the following: When the third bit number threshold is greater than the fourth bit number threshold, the third bit rate threshold corresponding to the third bit number threshold is less than the fourth bit rate threshold corresponding to the fourth bit number threshold. The third bit number threshold and the fourth bit number threshold are any two of the N bit number thresholds, and the third bit rate threshold and the fourth bit rate threshold are any two of the N bit rate thresholds.

12. The method according to any one of claims 9 to 11, characterized in that, The method includes: The code rate of the code block corresponding to the data block to be decoded is less than or equal to the code rate threshold corresponding to the first modulation and coding scheme (MCS), and the coding parameter set is determined according to the code rate threshold corresponding to the first MCS. The set of encoding parameters includes the parameters of the RM code.

13. The method according to claim 12, characterized in that: The code rate corresponding to the code block of the data block to be decoded is greater than or equal to the code rate threshold corresponding to the second modulation and coding scheme (MCS). The encoding parameter set is determined based on the bitrate threshold corresponding to the first MCS and the bitrate threshold corresponding to the second MCS.

14. The method according to claim 12 or 13, characterized in that, The method includes: When the number of bits X1 of the code block corresponding to the data block to be decoded is greater than the fifth bit number threshold X2, the code block corresponding to the data block to be decoded is divided into M sub-code blocks; where X2 is the maximum number of information bits that can be encoded by all RM codes corresponding to the encoding parameter set, and M is a positive integer. This indicates rounding up, and the lengths of the M sub-code blocks are all less than or equal to X2; The parameters of the RM code are determined based on the maximum length of the M sub-code blocks.

15. The method according to claim 14, characterized in that, The parameters for determining the RM code based on the maximum length of the M sub-code blocks include: The parameters of the RM code are determined according to X3, where X3 is the minimum value among the number of information bits that can be encoded by one or more RM codes. The number of information bits that can be encoded by one or more RM codes is the number of information bits that is greater than or equal to the maximum value of the length of the M sub-code blocks among the number of information bits that can be encoded by all RM codes corresponding to the encoding parameter set.

16. The method according to claim 14, characterized in that, The parameters for determining the RM code based on the maximum length of the M sub-code blocks include: The parameters of the RM code are determined based on the maximum length of the M sub-code blocks and the air interface resources corresponding to the code block to be decoded.

17. An apparatus, characterized in that, Includes a module for performing the method as described in any one of claims 1-16.

18. An apparatus, characterized in that, Includes a processor for running a computer program to cause the apparatus to perform the method as described in any one of claims 1-16.

19. The apparatus according to claim 18, characterized in that, The device also includes a memory for storing the computer program.

20. A chip, characterized in that, The chip includes logic circuitry and an interface, the logic circuitry and the interface being coupled such that the chip implements the method as described in any one of claims 1-16.

21. A computer-readable storage medium, characterized in that, The computer-readable storage medium is used to store a computer program, which, when executed by a computer, performs the method as described in any one of claims 1-16.

22. A computer program product, characterized in that, When the computer program product is executed by a computer, the method described in any one of claims 1-16 is performed.

23. A communication system, characterized in that, The system includes an encoding device and a decoding device, the encoding device being configured to perform the method as described in any one of claims 1-8, and the decoding device being configured to perform the method as described in any one of claims 9-16.