Encoding method, decoding method, and communication apparatus

By performing multi-step transformations on the information bit sequence, the transmission performance problem caused by the multiplicative distribution matcher is solved, achieving more efficient transmission performance and a simplified encoding process.

WO2026124469A1PCT designated stage Publication Date: 2026-06-18HUAWEI TECH CO LTD

Patent Information

Authority / Receiving Office
WO · WO
Patent Type
Applications
Current Assignee / Owner
HUAWEI TECH CO LTD
Filing Date
2025-12-09
Publication Date
2026-06-18

Smart Images

  • Figure CN2025141124_18062026_PF_FP_ABST
    Figure CN2025141124_18062026_PF_FP_ABST
Patent Text Reader

Abstract

An encoding method, a decoding method, and a communication apparatus, relating to the technical field of communications, and enabling a transformed sequence to conform to a specific distribution, thereby improving transmission performance. The method comprises: a transmitting end apparatus acquires X first sequences, respectively performs first transformation on the X first sequences to obtain X second sequences, respectively performs second transformation on some or all of the X second sequences on the basis of at least one of the X second sequences to obtain X third sequences, encodes the X third sequences to obtain a fourth sequence, and outputs the fourth sequence. The X first sequences comprise K1 bits in an information bit sequence having a length of K, the first sequences comprise one or more bits, K1 is a positive integer less than or equal to K, and X is a positive integer greater than 1 and less than or equal to K1.
Need to check novelty before this filing date? Find Prior Art

Description

Encoding methods, decoding methods and communication devices

[0001] This application claims priority to Chinese Patent Application No. 202411844650.4, filed on December 12, 2024, entitled "Encoding Method, Decoding Method and Communication Device", 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 method, a decoding method, and a communication device. Background Technology

[0003] In a communication system, before encoding the information bit sequence, the transmitting device can transform the information bits to map them into a sequence that follows a specific distribution, thereby improving transmission performance.

[0004] For example, the transmitting device can use a product distribution matcher (product DM) to transform the information bits. However, this method may result in the transformed sequence not perfectly conforming to a specific distribution, affecting the transformation-based transmission performance. Summary of the Invention

[0005] This application provides an encoding method, a decoding method, and a communication device that enable the transformed sequence to conform to a specific distribution, thereby improving transmission performance.

[0006] Firstly, this application provides an encoding method that can be executed by a transmitting device. Unless otherwise specified, "transmitting device" in this application can refer to a transmitting equipment, a component within the transmitting equipment (e.g., a processor, chip, or chip system), or a logic module or software capable of implementing all or part of the functions of the transmitting device. The method includes: acquiring X first sequences; performing a first transformation on each of the X first sequences to obtain X second sequences; performing a second transformation on some or all of the X second sequences based on at least one of the X second sequences to obtain X third sequences; encoding the X third sequences to obtain a fourth sequence; and outputting the fourth sequence. The X first sequences include K1 bits from an information bit sequence of length K, and each first sequence includes one or more bits. K1 is a positive integer less than or equal to K; and X is a positive integer greater than 1 and less than or equal to K1.

[0007] Based on the first aspect, the transmitting device can perform a first transformation on each of the X first sequences to obtain X second sequences, thereby achieving independent shaping of each first sequence and realizing finer-grained shaping. Compared with directly performing a first transformation on K1 bits in the information bit sequence, this reduces implementation complexity and, in particular, improves transmission performance at higher modulation orders. Furthermore, before encoding, the transmitting device can perform a second transformation on some or all of the X second sequences to obtain X third sequences, ensuring that the distribution of the symbol sequences mapped from each third sequence conforms to a specific distribution, thus improving transmission performance. Moreover, compared to remapping, the second transformation introduced in this application does not require remapping or table lookups, resulting in lower implementation complexity. Furthermore, when the above-mentioned second transformation is introduced into the communication standard, there is no need to introduce the relational tables involved in remapping into the communication standard, resulting in lower descriptive complexity.

[0008] In one possible design, based on at least one of the X second sequences, a second transformation is performed on some or all of the X second sequences to obtain X third sequences, including: determining the first third sequence based on the first second sequence; determining the i-th third sequence based on the i-th second sequence and the (i-1)-th second sequence; where i is a positive integer greater than 1 and less than or equal to X.

[0009] Based on this possible design, the transmitting device can determine X third sequences in the manner described above, so that the coded and modulated symbols conform to a specific distribution, thereby improving transmission performance.

[0010] In one possible design, the first second sequence is the same as the first third sequence.

[0011] Based on this possible design, the transmitting device can directly determine the first second sequence as the first third sequence without performing a second transformation on the first second sequence. The first third sequence can also be described as a third sequence obtained without undergoing a second transformation.

[0012] In one possible design, based on at least one of the X second sequences, a second transformation is performed on some or all of the X second sequences to obtain X third sequences, including: obtaining a first result based on the (i-1)th second sequence; obtaining the i-th third sequence based on the first result and the i-th second sequence; where i is a positive integer greater than 1 and less than or equal to X.

[0013] Based on this possible design, for example, the transmitting device can XOR the (i-1)th second sequence with 1 to obtain a first result, and XOR the first result with the ith second sequence to obtain the ith third sequence, so that the coded and modulated symbols can conform to a specific distribution, thereby improving transmission performance.

[0014] In one possible design, the X third sequences are encoded to obtain a fourth sequence, which includes: concatenating the X third sequences and the fifth sequence to obtain a sixth sequence, and encoding the sixth sequence to obtain the fourth sequence. The fifth sequence includes K-K1 bits from the information bit sequence, excluding the X first sequences.

[0015] Based on this possible design, the transmitting device can encode in the manner described above when a fifth sequence exists. Alternatively, it can be described as the transmitting device encoding in the manner described above when K1 is less than K. Or, it can be described as the transmitting device encoding in the manner described above when performing a first transformation and a second transformation on a portion of the information bit sequence.

[0016] In one possible design, encoding X third sequences to obtain a fourth sequence includes: concatenating the X third sequences to obtain a sixth sequence; and encoding the sixth sequence to obtain the fourth sequence.

[0017] Based on this possible design, the transmitting device can encode in the above manner when K1 equals K. Alternatively, it can be described as the transmitting device encoding in the above manner after performing a first transformation and a second transformation on all bits of the information bit sequence.

[0018] Secondly, this application provides a decoding method that can be executed by a receiving device. Unless otherwise specified, "receiving device" in this application can refer to a receiving end equipment, a component within the receiving end equipment (e.g., a processor, chip, or chip system), or a logic module or software capable of implementing all or part of the functions of the receiving end equipment. The method includes: acquiring information to be decoded; determining X seventh sequences based on the information to be decoded; performing a second inverse transformation on some or all of the X seventh sequences based on at least one of the X seventh sequences to obtain X eighth sequences; performing a first inverse transformation on each of the X eighth sequences to obtain X ninth sequences, each ninth sequence comprising one or more bits; and obtaining a decoding result based on the X ninth sequences. Wherein, the information to be decoded corresponds to an information bit sequence of length K, X is a positive integer greater than 1 and less than or equal to K1, and K1 is a positive integer less than or equal to K.

[0019] Based on the second aspect, corresponding to the encoding performed by the transmitting device based on the first and second transforms, the receiving device can decode the received information to be decoded based on the second inverse transform and the first inverse transform, thereby improving decoding performance. Furthermore, compared to the aforementioned remapping, the second inverse transform introduced in this embodiment does not require remapping or table lookups, resulting in lower implementation complexity. Moreover, when the second inverse transform is introduced into the communication standard, there is no need to introduce the relational tables involved in remapping into the communication standard, thus reducing descriptive complexity.

[0020] In one possible design, based on at least one of the X seventh sequences, a second inverse transformation is performed on some or all of the X seventh sequences to obtain X eighth sequences, including: determining the first eighth sequence based on the first seventh sequence; determining the i-th eighth sequence based on the i-th seventh sequence and the (i-1)-th eighth sequence; where i is a positive integer greater than 1 and less than or equal to X.

[0021] Based on this possible design, the receiving device can perform a second inverse transformation in the manner described above to improve decoding performance.

[0022] In one possible design, the first eighth sequence is the same as the first seventh sequence.

[0023] Based on this possible design, the receiving device can directly determine the first seventh sequence as the first eighth sequence without performing a second inverse transformation on the first seventh sequence. This first eighth sequence can also be described as an eighth sequence obtained without undergoing a second inverse transformation.

[0024] In one possible design, a second inverse transformation is performed on X seventh sequences to obtain X eighth sequences, including: obtaining a second result based on the (i-1)th eighth sequence; obtaining the i-th eighth sequence based on the second result and the i-th seventh sequence; where i is a positive integer greater than 1 and less than or equal to X.

[0025] Based on this possible design, for example, the receiving device can XOR the (i-1)th eighth sequence with 1 to obtain a second result, and XOR the second result with the i-th seventh sequence to obtain the i-th eighth sequence, so as to realize the second inverse transformation and improve the decoding performance.

[0026] Thirdly, this application provides a communication device that can be applied to the transmitting end device described in the first aspect to realize the functions performed by the transmitting end device. The communication device can be a transmitting end device, a chip or chip system of the transmitting end device, or a system-on-a-chip, etc. The communication device can execute the functions performed by the transmitting end device through hardware or through corresponding software. The hardware or software includes one or more modules corresponding to the above functions. For example, a transceiver module and a processing module. The transceiver module can independently complete the following transceiver operations or cooperate with the processing module to complete the following transceiver operations; correspondingly, the processing module can independently complete the following processing operations or cooperate with the transceiver module to complete the following processing operations, without limitation.

[0027] For example, the processing module is configured to acquire X first sequences, perform a first transformation on each of the X first sequences to obtain X second sequences, perform a second transformation on some or all of the X second sequences based on at least one of the X second sequences to obtain X third sequences, encode the X third sequences to obtain a fourth sequence, and output the fourth sequence. Here, the X first sequences include K1 bits from an information bit sequence of length K, each first sequence comprising one or more bits, where K1 is a positive integer less than or equal to K; and X is a positive integer greater than 1 and less than or equal to K1.

[0028] Optionally, the transceiver module and processing module of the communication device in the third aspect may also perform the corresponding functions in the first aspect or any possible design of the first aspect, as detailed in the method examples, and the beneficial effects that can be achieved can also be found in the foregoing related content.

[0029] Fourthly, this application provides a communication device that can be applied to the receiving device described in the second aspect to realize the functions performed by the receiving device. The communication device can be a receiving device, a chip or chip system or system-on-a-chip of the receiving device, etc. The communication device can execute the functions performed by the receiving device through hardware or through corresponding software. The hardware or software includes one or more modules corresponding to the above functions. For example, a transceiver module and a processing module. The transceiver module can independently complete the following transceiver operations or cooperate with the processing module to complete the following transceiver operations; correspondingly, the processing module can independently complete the following processing operations or cooperate with the transceiver module to complete the following processing operations, without limitation.

[0030] For example, the transceiver module is used to acquire the information to be decoded, and the processing module is used to determine X seventh sequences based on the information to be decoded, and to perform a second inverse transformation on some or all of the X seventh sequences based on at least one of the X seventh sequences to obtain X eighth sequences, and to perform a first inverse transformation on each of the X eighth sequences to obtain X ninth sequences, each of the ninth sequences comprising one or more bits, and to obtain the decoding result based on the X ninth sequences. Here, the information to be decoded corresponds to an information bit sequence of length K, where X is a positive integer greater than 1 and less than or equal to K1, and K1 is a positive integer less than or equal to K.

[0031] Optionally, the transceiver module and processing module of the communication device in the fourth aspect may also perform the corresponding functions in the second aspect or any possible design of the second aspect, as detailed in the method examples, and the beneficial effects that can be achieved can also be found in the foregoing related content.

[0032] Fifthly, this application provides a communication device comprising one or more processors; the one or more processors being configured to run computer programs or instructions, such that when the one or more processors execute the computer instructions or instructions, the encoding or decoding method described in any one of the first to second aspects is executed.

[0033] In one possible design, the communication device further includes one or more memories coupled to one or more processors, the memories used to store the aforementioned computer programs or instructions. In one possible implementation, the memories are located outside the communication device. In another possible implementation, the memories are located inside the communication device. In embodiments of this application, the processor and memory may also be integrated into a single device, i.e., the processor and memory may be integrated together. In one possible implementation, the communication device further includes a transceiver for receiving and / or transmitting information.

[0034] In one possible design, the communication device further includes one or more communication interfaces coupled to one or more processors, and the communication interfaces are used to communicate with other modules outside the communication device.

[0035] In a sixth aspect, this application provides a communication device, which includes an interface circuit and a logic circuit; the interface circuit is used for inputting and / or outputting information; the logic circuit is used for executing the encoding or decoding method as described in any one of the first to second aspects, processing and / or generating information based on the information.

[0036] In a seventh aspect, this application provides a computer-readable storage medium storing computer instructions or programs that, when executed on a computer, cause the encoding or decoding methods described in any one of the first to second aspects to be performed.

[0037] Eighthly, this application provides a computer program product containing computer instructions that, when run on a computer, causes the encoding or decoding method as described in any one of the first to second aspects to be executed.

[0038] Ninthly, this application provides a computer program that, when run on a computer, causes the encoding or decoding method as described in any one of the first to second aspects to be executed.

[0039] In a tenth aspect, this application provides a chip comprising: a processor coupled to a memory for storing programs or instructions, wherein when the program or instructions are executed by the processor, an encoding method or decoding method as described in any one of the first to second aspects is executed.

[0040] The technical effects of any of the design methods in aspects five through ten are similar to those in aspects one through two, and will not be elaborated upon further.

[0041] In one aspect, this application provides a communication system that may include communication means for performing the communication as described in the first aspect or any possible design of the first aspect, and communication means for performing the communication as described in the second aspect or any possible design of the second aspect. Attached Figure Description

[0042] Figure 1 is a schematic diagram of a probabilistic shaping process provided in an embodiment of this application;

[0043] Figure 2 is a schematic diagram of a constellation distribution provided in an embodiment of this application;

[0044] Figure 3 is a schematic diagram of an embodiment of this application that uses a two-bit-level distributed matcher BL-DM to independently shape b1 and b2 respectively;

[0045] Figure 4 is a schematic diagram of a constellation distribution provided in an embodiment of this application;

[0046] Figure 5 is a schematic diagram of a remapping method provided in an embodiment of this application;

[0047] Figure 6 is a schematic diagram of a remapping lookup table provided in an embodiment of this application;

[0048] Figure 7 is a schematic diagram of a communication system provided in an embodiment of this application;

[0049] Figure 8 is a flowchart of an encoding and decoding process provided in an embodiment of this application;

[0050] Figure 9 is a schematic diagram of the composition of a communication device provided in an embodiment of this application;

[0051] Figure 10 is a flowchart of an encoding method provided in an embodiment of this application;

[0052] Figure 11 is a schematic diagram of a first transformation provided in an embodiment of this application;

[0053] Figure 12 is a schematic diagram of a second transformation provided in an embodiment of this application;

[0054] Figure 13 is an example diagram of a second transformation provided in an embodiment of this application;

[0055] Figure 14 is a schematic diagram of a transformation-based encoding provided in an embodiment of this application;

[0056] Figure 15 is a flowchart of a decoding method provided in an embodiment of this application;

[0057] Figure 16 is a schematic diagram of a second inverse transformation provided in an embodiment of this application;

[0058] Figure 17 is a schematic diagram of a transmitting device provided in an embodiment of this application;

[0059] Figure 18 is a schematic diagram of a receiving device provided in an embodiment of this application;

[0060] Figure 19 is a schematic diagram of a communication device provided in an embodiment of this application;

[0061] Figure 20 is a structural diagram of a communication device provided in an embodiment of this application. Detailed Implementation

[0062] Before describing the embodiments of this application, the technical terms involved in the embodiments of this application will be described.

[0063] In communication systems, higher-order modulation can improve spectral efficiency. Higher-order modulation refers to mapping multiple bits to the same channel symbol, thereby further enhancing spectral efficiency. Common higher-order modulation schemes include quadrature amplitude modulation (QAM), 64QAM, and 256QAM.

[0064] For example, taking 256QAM as an example, during the mapping process, 8 = log2(256) bits can be mapped to the same modulation symbol. Since the real and imaginary parts are independent of each other, the real and imaginary parts of 256QAM each correspond to a 16-ASK modulation, that is, 4 bits can be mapped to a 16ASK symbol. As shown in Table 1, the Gray mapping relationship of 16ASK is given. During the modulation process, the modulation symbol x can be determined according to bits b0, b1, b2, and b3 as the modulation symbol to be transmitted. Among them, b0 is the symbol bit, and b1, b2, and b3 are all amplitude bits. b0, b1, b2, and b3 are sorted from high to low reliability as: b0, b1, b2, b3.

[0065] Table 1. Mapping relationship between bit values ​​and modulation symbols

[0066] In high-order modulation transmission, transmission performance can be further improved through probabilistic shaping. Since different modulation symbols in high-order modulation may have different energies, average energy can be saved by transmitting more low-energy modulation symbols and fewer high-energy ones. Theoretical analysis shows that for a Gaussian white noise channel, the greatest energy saving occurs when the distribution of transmitted modulation symbols follows a Gaussian distribution. Compared to a uniform distribution, up to 1.53 dB of transmission power can be saved.

[0067] Probabilistic shaping is a common "shaping" technique. One flowchart of this technique is shown in Figure 1. It involves cascading a precoder before the encoder to transform the information bit sequence (u1, u2, ..., u... in Figure 1) into... K Some or all of the bits in ) (as shown in u in Figure 1) k1+1 ,u k1+2 ,…,u K This maps to a sequence that follows a specific distribution (p1, p2, ..., p in Figure 1). S During the encoding process, a systematic code is used to represent the remaining bits (u1, u2, ..., u1) in the sequence and information bit sequence that follow a specific distribution (as shown in Figure 1). k1 The precoder performs systematic coding, so that the bit sequence that meets a specific distribution ultimately appears directly in the coded sequence, thereby shaping the final modulation symbol, saving average energy, and reducing transmission power. The precoder can also be called a distribution matcher (DM), and this precoding or distribution matching can also be called transform, shaping, or probabilistic shaping, etc.

[0068] For example, the constellation distribution after "shaping" can be shown in Figure 2, where the horizontal axis represents the modulation symbol and the vertical axis represents the probability. The square of the modulation symbol reflects the energy level. The smaller the square of the modulation symbol, the lower the energy, and the larger the square of the modulation symbol, the higher the energy. As can be seen from Figure 2, the probability of low-energy modulation symbols appearing is higher than that of high-energy modulation symbols, which can save average energy and reduce transmission power.

[0069] As can be seen from the mapping relationship in Table 1, when only one modulation bit is shaped, the final modulation symbol has at most two probabilities, which affects transmission performance. To achieve the above shaping effect, it is usually necessary to perform joint shaping on multiple bits (also known as symbol shaping, symbol distribution matching (symbol DM), symbol transformation, etc.). However, directly performing joint shaping on multiple bits is quite complex, and the more bits to be jointly shaped, the higher the complexity.

[0070] In one possible implementation, joint shaping can be achieved using multiple independent DMs (e.g., bit-level DMs, BL-DMs) based on a product DM approach. This reduces implementation complexity compared to directly shaping multiple bits. Specifically, the BL-DM is used to shape a single bit; that is, both the input and output of the BL-DM are binary bit sequences.

[0071] For example, taking 8ASK as an example, this 8ASK can correspond to one symbol bit b0 and two amplitude bits b1 and b2, as shown in Figure 3. Two BL-DMs can be used to independently shape the two amplitude bits b1 and b2 respectively. For example, BL-DM1 can be used to independently shape b1, and BL-DM2 can be used to independently shape b2, resulting in a shaped bit sequence. The shaped bit sequence is concatenated with the remaining unshaped bits in the information bit sequence as the input bit sequence for encoding. Then, through encoding, rate matching, channel interleaving (channel IL), scrambling, and modulation processes, a modulated symbol sequence is obtained.

[0072] The output of BL-DM1 can be determined based on P(b1=0)>P(b1=1), and the output of BL-DM2 can be determined based on P(b2=0)>P(b2=1), where P represents probability. Based on this, as shown in Table 2, the Gray mapping relationship of 8ASK is given. During the modulation process, the modulation symbol can be determined based on the bits b0, b1, and b2 according to Table 2.

[0073] Table 2. Mapping relationship between bit values ​​and modulation symbols

[0074] Optionally, before shaping some or all of the bits in the information bit sequence, as shown in Figure 3, transport block cyclic redundancy check (TB CRC) bits can be added to the information bit sequence. The information bit sequence after adding TB CRC can also be segmented into code blocks (CB). Amplitude bits b1 and b2 are determined based on the segmented sequence, thereby achieving the shaping process.

[0075] However, when using multiple independent DMs for shaping based on the product DM, the shaping effect may not conform to Gaussian-like properties, affecting transmission performance.

[0076] For example, taking the example shown in Figure 3 above, where two BL-DMs are used to independently shape the two amplitude bits b1 and b2 corresponding to 8ASK, the corresponding constellation distribution can be shown in Figure 4 below. It does not conform to the Gaussian distribution, which affects the transmission performance.

[0077] In one possible implementation, re-mapping can be introduced after reshaping to improve transmission performance.

[0078] In this process, when remapping the shaped bit sequence, a natural mapping can be used to map the shaped bit sequence into a symbol sequence, and a Gray mapping can be used to demap the symbol sequence back into a bit sequence. The resulting bit sequence is then used as the input for encoding. This method couples independent DMs into symbol-wise DMs, improving the shaped bit sequence performance.

[0079] Specifically, when mapping a bit sequence to a symbol sequence based on natural mapping, the mapping can be performed according to the natural mapping table. When demapping a symbol sequence to a bit sequence based on Gray mapping, the demapping can be performed according to the Gray mapping table (e.g., Table 1, Table 2, etc.).

[0080] For example, taking the independent shaping of the two amplitude bits b1 and b2 corresponding to 8ASK using BL-DM1 and BL-DM2 respectively as shown in Figure 5, a remapping can be introduced based on Figure 3. That is, the shaped bit sequence can be concatenated with the remaining unshaped bit sequences in the information bit sequence. The shaped bit sequence in the concatenated bit sequence can be remapped. That is, referring to Figure 6, the shaped bit sequence can be mapped to a symbol sequence based on the natural mapping, and the symbol sequence can be demapped to a bit sequence based on the Gray mapping. For example, taking the shaped bit sequence as 11 as an example, 11 can be mapped to symbol 7 based on the natural mapping table, and symbol 7 can be demapped to bit sequence 10 based on the Gray mapping table.

[0081] Since the above remapping scheme involves table lookup operations (such as querying the natural mapping relation table and the Gray mapping relation table), its implementation complexity is relatively high. Furthermore, there is no corresponding relation table in the communication standard. When introducing the above remapping into the communication standard, a corresponding relation table needs to be introduced into the communication standard, which will also result in high description complexity.

[0082] Based on this, embodiments of this application provide an encoding method, which includes: a transmitting device performing a first transformation on X first sequences to obtain X second sequences; performing a second transformation on some or all of the X second sequences based on at least one of the X second sequences to obtain X third sequences; encoding the X third sequences to obtain a fourth sequence; and outputting the fourth sequence. The X first sequences include K1 bits from an information bit sequence of length K, and each first sequence includes one or more bits; K1 is a positive integer less than or equal to K; and X is a positive integer greater than 1 and less than or equal to K1.

[0083] In this embodiment, the transmitting device can perform a first transformation on each of the X first sequences to obtain X second sequences, thereby achieving independent shaping of each first sequence. Compared with directly performing a first transformation on K1 bits of the information bit sequence, this reduces implementation complexity. Furthermore, the transmitting device can also perform a second transformation on some or all of the X second sequences to obtain X third sequences, ensuring that the distribution of the symbol sequences mapped from each third sequence conforms to a specific distribution, thus improving transmission performance. Additionally, compared to the aforementioned remapping, the second transformation introduced in this embodiment does not require remapping or table lookups, resulting in lower implementation complexity. Moreover, when the second transformation is introduced into the communication standard, there is no need to introduce the relational tables involved in remapping into the communication standard, further reducing descriptive complexity.

[0084] The embodiments of this application will now be described in detail with reference to the accompanying drawings.

[0085] The encoding and decoding methods provided in this application can be used in any communication system. This communication system can be a third-generation partnership project (3GPP) communication system, such as a long-term evolution (LTE) system; it can also be a fifth-generation (5G) mobile communication system, a hybrid LTE and 5G network system, a new radio (NR) system, an NR vehicle-to-everything (V2X) system, a device-to-device (D2D) communication system, a machine-to-machine (M2M) communication system, an internet of things (IoT) system, a narrow band internet of things (NB-IoT) system, enhanced mobile broadband (eMBB), ultra-reliable and low-latency communication (URLLC), enhanced machine-type communication (eMTC), and various types of future communication systems. It can also be a non-terrestrial communication network. Network (NTN) systems (such as satellite communication systems) and non-3GPP communication systems are not restricted.

[0086] The encoding and decoding methods provided in this application can be applied to various communication scenarios. For example, they can be applied to one or more of the following communication scenarios: encoding and decoding of control channels, encoding and decoding of data channels, etc., without limitation.

[0087] The communication system provided in the embodiments of this application will be described below with reference to Figure 7.

[0088] Figure 7 is a schematic diagram of a communication system provided in an embodiment of this application. As shown in Figure 7, the communication system may include at least one terminal device and at least one network device.

[0089] In Figure 7, the terminal device can be located within the beam / cell coverage area of ​​the network device, and the network device can provide communication services to the terminal device. For example, the network device can use channel coding to encode downlink data and then transmit it to the terminal device via air interface after constellation modulation (i.e., the network device is the transmitting end device, and the terminal device is the receiving end device); the terminal device can also use channel coding to encode uplink data and then transmit it to the network device via air interface after constellation modulation (i.e., the terminal device is the transmitting end device, and the network device is the receiving end device). It is understood that when network devices communicate with each other, or when terminal devices communicate with each other, communication can also be based on channel coding; that is, the transmitting end device and the receiving end device can both be network devices or both be terminal devices, without restriction.

[0090] The terminal device in Figure 7 can be a device with wireless transceiver capabilities or a chip or chip system that can be installed on the device. It allows users to access the network and is used to provide voice and / or data connectivity to users. The terminal device can also be called user equipment (UE), subscriber unit, terminal, mobile station (MS), or mobile terminal (MT), etc.

[0091] For example, the terminal device in Figure 7 can be a mobile phone, a tablet computer, or a computer with wireless transceiver capabilities. Terminal equipment can also be user stations, mobile stations, remote stations, remote terminal equipment, mobile terminal equipment, user terminal equipment, wireless communication equipment, user agents, user devices, cellular phones, cordless phones, session initiation protocol (SIP) phones, wireless local loop (WLL) stations, personal digital assistants (PDAs), handheld devices with wireless communication capabilities, computing devices, processing devices connected to wireless modems, in-vehicle equipment, wearable devices, terminal equipment in the Internet of Things (IoT), home appliances, virtual reality (VR) terminals, augmented reality (AR) terminals, point-of-sale (POS) machines, customer-premises equipment (CPE), light user equipment (UE), reduced capability user equipment (REDCAP UE), wireless terminals in industrial control, wireless terminals in autonomous driving, wireless terminals in telemedicine, wireless terminals in smart grids, wireless terminals in smart cities, and wireless terminals in smart homes. Wireless terminals in the home, vehicle devices with vehicle-to-everything (V2X) communication capabilities (such as vehicle devices, vehicle modules, vehicle chips, on-board units (OBUs) or telematics boxes (T-BOXs)), intelligent connected vehicles, drones with UAV-to-UAV (U2U) communication capabilities, terminal devices in future networks, or terminal devices in future evolved public land mobile networks (PLMNs) are not restricted.

[0092] In Figure 7, the network device can be any device deployed in the access network capable of wireless communication with terminal devices. It can also be a chip or chip system that can be configured within such a device, a logical node or module, or a function implemented in software. Its main responsibilities include air interface-side wireless physical control, resource scheduling, wireless resource management, quality of service management, data compression and encryption, wireless access control, and mobility management. Specifically, the network device can be either a wired access device or a wireless access device.

[0093] For example, a network device can consist of one or more access network (AN) / radio access network (RAN) nodes. AN / RAN nodes can be various types of base stations, such as: satellite base stations, evolved Node Bs (gNBs), transmission reception points (TRPs), evolved Node Bs (eNBs), radio network controllers (RNCs), Node Bs (NBs), base station controllers (BSCs), base transceiver stations (BTSs), home base stations (e.g., home evolved Node Bs, or home Node Bs (HNBs), macro base stations, micro base stations, pico base stations, small cells, relay stations, balloon stations, drone stations, wireless backhaul nodes, base band units (BBUs), or wireless fidelity (Wi-Fi) access points (APs), etc. It is understood that network devices can be terrestrial devices or non-terrestrial devices (such as satellites, drones, high-altitude communication equipment, etc.). Furthermore, in communication systems employing different wireless access technologies, the names of network devices with base station functions may differ, and this application does not impose any restrictions on this.

[0094] In another example, the network equipment may include a BBU and a remote radio unit (RRU). The BBU and RRU can be located in different places; for example, the RRU can be moved remotely to a high-traffic area, while the BBU is located in the central equipment room. The BBU and RRU can also be located in the same equipment room. The BBU and RRU can also be different components under the same rack.

[0095] In another example, the network device can be a device that includes centralized unit (CU) nodes, distributed unit (DU) nodes, or both CU and DU nodes. For instance, the network device can be logically divided into CUs and DUs, with some protocol layer functions centrally controlled by the CU, and the remaining partial or complete protocol layer functions distributed in the DU, which is centrally controlled by the CU. The CU and DU can be separate entities or included in the same network element, such as a BBU. Furthermore, the centralized unit (CU) can be further divided into a control plane (CU-CP) and a user plane (CU-UP).

[0096] In another example, the network device may also be a device that includes a radio unit (RU), or a device that includes a CU, a DU, and a RU. The RU may be included in a radio frequency device or radio frequency unit, such as an RRU, an active antenna unit (AAU), or a remote radio head (RRH).

[0097] It is understood that CU (or CU-CP and CU-UP), DU, or RU may have different names in different systems, but those skilled in the art will understand their meaning. For example, in an open radio access network (O-RAN) system, CU can also be called O-CU (open CU), DU can also be called O-DU, CU-CP can also be called O-CU-CP, CU-UP can also be called O-CU-UP, and RU can also be called O-RU. For ease of description, this application uses CU, CU-CP, CU-UP, DU, and RU as examples. Any of the units among CU (or CU-CP, CU-UP), DU, and RU in this application can be implemented through software modules, hardware modules, or a combination of software modules and hardware modules.

[0098] Based on the above description of the terminal device and network device, optionally, the encoding method or decoding method provided in the embodiments of this application can be implemented by the aforementioned terminal device or network device, or by components of the terminal device or network device, such as chips, chip systems, application-specific integrated circuits (ASICs), field-programmable gate arrays (FPGAs), or software (such as program code in memory) deployed in the terminal device or network device, without limitation.

[0099] Optionally, in this embodiment, the transmitting device (or source) and the receiving device (or sink) can encode and decode using the process shown in Figure 8. The transmitting device can be any terminal device or network device in the communication system shown in Figure 7, and the receiving device can also be any terminal device or network device in the communication system shown in Figure 7.

[0100] The transmitting device can perform source encoding on its own generated bits to obtain a source bit stream, perform channel encoding on the source bit stream, and then modulate it before transmitting the modulated symbols to the receiving device through a noisy channel. When the receiving device receives the modulated symbols through the noisy channel, it can demodulate them, then perform channel decoding to recover the source bit stream, and finally perform source decoding to obtain the decoding result.

[0101] In specific implementation, as shown in Figure 7, each terminal device and network device can adopt the composition structure shown in Figure 9, or include the components shown in Figure 9. Figure 9 is a schematic diagram of the composition of a communication device 900 provided in an embodiment of this application. The communication device 900 can be a terminal device or a chip or system-on-a-chip in a terminal device; it can also be a network device or a chip or system-on-a-chip in a network device. As shown in Figure 9, the communication device 900 includes a processor 901, a communication interface 902, and a communication line 903.

[0102] Furthermore, the communication device 900 may also include a memory 904. The processor 901, memory 904, and communication interface 902 can be connected via a communication line 903.

[0103] The processor 901 can be a central processing unit (CPU), a network processor (NP), a digital signal processor (DSP), a microprocessor, a microcontroller, a programmable logic device (PLD), or any combination thereof. The processor 901 can also be other devices with processing capabilities, such as circuits, devices, or software modules, without limitation.

[0104] Communication interface 902 is used for communicating with other communication devices or other communication networks. These other communication networks can be Ethernet, radio access network (RAN), wireless local area network (WLAN), etc. Communication interface 902 can be a module, circuit, transceiver, or any device capable of enabling communication.

[0105] Communication line 903 is used to transmit information between the components included in communication device 900.

[0106] Memory 904 is used to store instructions. These instructions can be computer programs.

[0107] The memory 904 can be a read-only memory (ROM) or other type of static storage device that can store static information and / or instructions; it can also be a random access memory (RAM) or other type of dynamic storage device that can store information and / or instructions; it can also be an electrically erasable programmable read-only memory (EEPROM), a compact disc read-only memory (CD-ROM) or other optical disc storage, optical disc storage (including compressed optical discs, laser discs, optical discs, digital universal optical discs, Blu-ray discs, etc.), magnetic disk storage media or other magnetic storage devices, etc., without limitation.

[0108] It should be noted that the memory 904 can exist independently of the processor 901 or can be integrated with the processor 901. The memory 904 can be used to store instructions, program code, or some data, etc. The memory 904 can be located inside or outside the communication device 900, without limitation. The processor 901 is used to execute the instructions stored in the memory 904 to implement the encoding or decoding methods provided in the following embodiments of this application.

[0109] In one example, processor 901 may include one or more CPUs, such as CPU0 and CPU1 in Figure 9.

[0110] As an optional implementation, the communication device 900 may include multiple processors, for example, in addition to the processor 901 in FIG9, it may also include a processor 907.

[0111] As an optional implementation, the communication device 900 also includes an output device 905 and an input device 906. For example, the input device 906 is a device such as a keyboard, mouse, microphone, or joystick, and the output device 905 is a device such as a display screen or speaker.

[0112] It should be noted that the communication device 900 can be a desktop computer, a portable computer, a web server, a mobile phone, a tablet computer, a wireless terminal, an embedded device, a chip system, or a device with a similar structure to that shown in Figure 9. Furthermore, the composition shown in Figure 9 does not constitute a limitation on the communication device. In addition to the components shown in Figure 9, the communication device may include more or fewer components than shown, or combine certain components, or have different component arrangements.

[0113] In this embodiment of the application, the chip system may be composed of chips or may include chips and other discrete devices.

[0114] Furthermore, the actions, terms, etc., involved in the various embodiments of this application can be referenced interchangeably without limitation. The message names or parameter names in the messages exchanged between the various devices in the embodiments of this application are merely examples, and other names may be used in specific implementations without limitation.

[0115] The encoding method provided in this application embodiment will be described below with reference to the communication system shown in Figure 7 and Figure 10. The transmitting end device can refer to a transmitting device, a component within the transmitting device (e.g., a processor, chip, or chip system), or a logic module or software capable of implementing all or part of the transmitting device's functions. The transmitting end device can be any terminal device or network device in the communication system shown in Figure 7. The receiving end device can refer to a receiving device, a component within the receiving device (e.g., a processor, chip, or chip system), or a logic module or software capable of implementing all or part of the transmitting end device's functions. The receiving end device can also be any terminal device or network device in the communication system shown in Figure 7. The transmitting end device or receiving end device described in the following embodiments may include the components shown in Figure 9.

[0116] Figure 10 is a flowchart of an encoding method provided in an embodiment of this application. As shown in Figure 10, the method may include:

[0117] Step 1001: The sending device acquires X first sequences.

[0118] The X first sequences may include K1 bits from an information bit sequence of length K, or can be described as having a total length of K1 for the X first sequences, where K is a positive integer, K1 is a positive integer less than or equal to K, and X is a positive integer greater than 1 and less than or equal to K1. Alternatively, it can be described as: the X first sequences include K1 bits, or the X first sequences include K1 information bits.

[0119] Among the X first sequences, the length of the first first sequence is L1, the length of the second first sequence is L2, ..., and the length of the Xth first sequence is L... XThe total length of the X first sequences is K1. Each first sequence consists of one or more bits.

[0120] The information bit sequence may include the information bits themselves, and K may be the number of information bits included in the information bit sequence. Alternatively, the information bit sequence may include information bits and CRC bits, that is, the information bit sequence may be a CRC-encoded information bit sequence, and K may be the sum of the number of information bits and the number of CRC bits included in the information bit sequence.

[0121] The X first sequences may include bits from an information bit sequence that undergo a first transformation (or be described as shaping, forming, probability shaping, or distribution matching, etc.). Specifically, the transmitting device may perform a first transformation on each first sequence according to step 1002 below. The first sequence may also be described as the input sequence for the first transformation, or as the sequence to be transformed.

[0122] Where X is related to L1, L2, ..., L X The transmission resources can be determined based on one or more of Y, signal-to-noise ratio, and modulation and coding scheme (MCS), where Y is the number of modulation symbols corresponding to the transmission resources. Optionally, if the transmitting device is a network device, the transmission resources of the transmitting device can be determined by the network device itself. If the transmitting device is a terminal device, the transmission resources of the transmitting device can be configured by the network device.

[0123] For example, for each MCS index, the corresponding X and L1, L2, ..., L can be predefined. X When encoding, the transmitting device can determine the corresponding X and L1, L2, ..., L based on the MCS index. X Then, X first sequences are determined based on the information bit sequence.

[0124] For example, with K=12 and the information bit sequence [0 1 1 0 1 0 1 1 1 0 1 1], if X=2, L1 is 4, and L2 is 6, then the first first sequence is 0 1 1 0, and the second first sequence is 1 0 1 1 1 0.

[0125] Alternatively, unlike the method described above which determines X first sequences based on the information bit sequence, a tenth sequence of length K1 can be determined based on the information bit sequence, and then the tenth sequence can be divided into X first sequences. A description of K1 will be provided later and will not be repeated here.

[0126] Step 1002: The transmitting device performs a first transformation on each of the X first sequences to obtain X second sequences.

[0127] The transmitting device performs a first transformation on each of the X first sequences. This can also be described as the transmitting device performing (independent) shaping, (independent) transformation, (independent) forming, (independent) distribution matching, or (independent) probability shaping on each of the X first sequences. For example, the X first sequences can be independently shaped based on the product DM.

[0128] Optionally, the transmitting device may perform a first transformation on each of the X first sequences based on the first encoding method.

[0129] Optionally, the transmitting device may perform a first transformation on each of the X first sequences according to the decoding method corresponding to the first encoding method.

[0130] For example, the first encoding method can be polar code, low density parity check code (LDPC) encoding, RM code, convolutional code, RS code, arithmetic encoding, etc., without limitation.

[0131] For example, taking polar code as the first encoding method, the transmitting device can construct a polar code of length N, as shown in Figure 11. The M positions with the lowest reliability are selected as information bits (bits filled with pattern 1 in Figure 11), and the remaining NM positions are used as auxiliary bits (bits filled with pattern 2 in Figure 11). During distribution matching, the M bits to be transformed (such as the first sequence) are placed in the information bit positions. The decoder uses the log-likelihood ratio (LLR) value corresponding to the target distribution as the sequence of symbols to be decoded (as the LLR input on the right side of the fence diagram in Figure 11), and obtains the auxiliary bits through decoding. Further, based on the bits to be transformed and the decoded auxiliary bits, an encoded bit sequence (bits filled with pattern 3 in Figure 11) is obtained, which serves as the bit sequence after the first transformation (such as the second sequence).

[0132] For example, taking arithmetic coding as the first coding method, distribution matching can be performed using approximate enumerative sphere shaping (AESS). This AESS can be understood as a type of distribution matching based on arithmetic coding.

[0133] Among them, symbolic AESS can directly generate a length of n max The alphabetical sequence. For example, in the alphabet A = {1 3 5 7}, the normalized energy corresponding to the letter 'a' is E(a) = (a... 2-1) / 8, that is, the energies corresponding to {1 3 5 7} are {0 1 3 6}, which can be stored with a length of n. max Energy less than or equal to E max A trellis structure composed of approximately the number of letter sequences can achieve a distribution matching effect.

[0134] For example, if the first encoding method is arithmetic encoding, and the first sequence is 0 1 1 0, the first transformation is performed on the first sequence using arithmetic encoding, and the resulting second sequence can be 0 0 0 0 0 0 0 0 0 0 0 1 1 0 1 0 0 1 0 1 0 0 0 0 0 0 0.

[0135] It is understandable that when the transmitting device performs a first transformation on X first sequences, it can use X first transformation modules (or shaping modules, forming modules, transformation modules, distribution matching modules, precoding modules, etc.) to perform the first transformation on the X first sequences respectively. That is, each first transformation module performs the first transformation on one first sequence, thereby shortening the processing latency required for the first transformation. Optionally, all the first transformation modules can be the same.

[0136] Alternatively, the transmitting device can use a first transformation module to perform a first transformation on each of the X first sequences, thereby reducing the number of first transformation modules and lowering hardware overhead.

[0137] Alternatively, the transmitting device can use fewer than X first transformation modules to perform the first transformation on each of the X first sequences. That is, each first transformation module can perform the first transformation on one or more first sequences. On the one hand, this reduces the number of first transformation modules and lowers hardware overhead; on the other hand, it also reduces the processing latency required for the first transformation. Optionally, all the first transformation modules can be identical.

[0138] For example, the first sequence may include a bit, and the first transformation module may be a BL-DM.

[0139] Optionally, the X second sequences have the same length.

[0140] When the transmitting device performs the second transformation in accordance with step 1003 below, it determines the third sequence based on multiple second sequences among the X second sequences. Since the X second sequences have the same length, it is convenient for the transmitting device to determine the X third sequences based on the X second sequences.

[0141] It is understandable that the symbol sequence obtained by mapping the second sequence obtained through the first transformation may not necessarily follow a specific distribution (such as a Gaussian distribution). Based on this, we can refer to step 1003 below to determine X third sequences based on X second sequences, so that the symbol sequence obtained by mapping the X third sequences follows a specific distribution (such as a Gaussian distribution).

[0142] Step 1003: The transmitting device performs a second transformation on some or all of the X second sequences according to at least one of the X second sequences to obtain X third sequences.

[0143] The second transformation can also be described as processing, operation, masking processing, or masking operation, etc., without limitation. It is understood that this masking processing (or masking operation) is different from scrambling processing (or scrambling operation).

[0144] In the first possible design, the transmitting device can determine the first third sequence based on the first second sequence; and determine the i-th third sequence based on the i-th second sequence and the (i-1)-th second sequence; where i is a positive integer greater than 1 and less than or equal to X.

[0145] The first second sequence can be any of the X second sequences.

[0146] For example, as shown in Figure 12, the first second sequence can be the same as the first third sequence. That is, the transmitting device can directly determine the first second sequence as the first third sequence without performing a second transformation on the first second sequence. The first third sequence can also be described as a third sequence obtained without undergoing a second transformation.

[0147] For example, as shown in Figure 13, taking the first second sequence as 0 0 0 0 0 0 0 0 0 0 1 1 0 1 0 0 1 0 1 0 0 0 0 0 0, the first third sequence is 0 0 0 0 0 0 0 0 0 0 1 1 0 1 0 0 1 0 1 0 0 0 0 0 0.

[0148] For example, for the i-th second sequence, the process of the transmitting device performing the second transformation can be as follows: the transmitting device can obtain the first result based on the (i-1)-th second sequence, and obtain the i-th third sequence based on the first result and the i-th second sequence; where i = 2, 3, 4, ..., X.

[0149] For example, the transmitting device can XOR the (i-1)th second sequence with 1 to obtain the first result, and XOR the first result with the ith second sequence to obtain the ith third sequence, as shown in Figure 12, where the ith third sequence = the ith second sequence ⊕ (the (i-1)th second sequence ⊕ 1), and i = 2, 3, 4, ..., X.

[0150] For example, as shown in Figure 13, taking the second second sequence as 1 1 1 1 1 0 0 0 1 0 1 0 1 0 0 0 0 0 1 0 0 1 0 0 0, the second third sequence can be 0 0 0 0 0 1 1 1 0 1 1 0 0 0 1 1 0 1 1 1 1 0 1 1 1 1 0 1 1 1.

[0151] Based on the above description, it can be understood that the X third sequences include the third sequences obtained without the second transformation (such as the first third sequence) and the third sequences obtained after the second transformation (such as the second to the Xth third sequences).

[0152] Optionally, the X third sequences have the same length.

[0153] Furthermore, based on the above description, the symbol sequence obtained by mapping the X third sequences determined by the X second sequences can be a sequence that follows a specific distribution (such as a Gaussian distribution), and the symbol sequence obtained by mapping the concatenated X third sequences is also a sequence that follows a specific distribution.

[0154] It is understandable that, taking the second transformation of X-1 second sequences (such as the 2nd to Xth second sequences) by the transmitting device as an example, the transmitting device can use X second transformation modules (or mask processing modules, mask modules, mask operation modules, etc.) to perform the second transformation on the X-1 second sequences respectively. That is, each second transformation module performs the second transformation on one second sequence, thus shortening the processing latency required for the second transformation. Optionally, all the second transformation modules can be the same.

[0155] Alternatively, the transmitting device can use a second transformation module to perform a second transformation on each of the X-1 second sequences, thereby reducing the number of second transformation modules and lowering hardware overhead.

[0156] Alternatively, the transmitting device can use fewer than X-1 second transformation modules to perform second transformations on X-1 second sequences respectively. That is, each second transformation module can perform second transformations on one or more second sequences. On the one hand, this reduces the number of second transformation modules and lowers hardware overhead; on the other hand, it also reduces the processing latency required for the second transformation. Optionally, all the second transformation modules can be identical.

[0157] Step 1004: The transmitting device encodes the X third sequences to obtain the fourth sequence and outputs the fourth sequence.

[0158] The transmitting device may use any encoding method for encoding. For example, the transmitting device may use any of the following encoding methods for encoding: polar code, LDPC encoding, RM code, convolutional code, RS code, or arithmetic encoding, etc., without limitation.

[0159] In the first possible design, the transmitting device can determine X third sequences based on the first and second transformations, concatenate the X third sequences and the fifth sequence to obtain a sixth sequence, and encode the sixth sequence to obtain a fourth sequence.

[0160] The fifth sequence may include K-K1 bits from the information bit sequence, excluding the X bits of the first sequence.

[0161] Specifically, the transmitting device can use the first possible design for encoding when a fifth sequence exists. Alternatively, it can be described as the transmitting device using the first possible design for encoding when K1 is less than K. Or, it can be described as the transmitting device using the first possible design for encoding when performing a first transformation and a second transformation on a portion of the information bit sequence.

[0162] For example, as shown in Figure 14(a), the information bit sequence can be an information bit sequence with TB CRC added. Optionally, the information bit sequence can also be a sequence after CB segmentation. Optionally, the transmitting device can also perform rate matching, channel interleaving (channel IL), scrambling, modulation, and other processing on the fourth sequence to obtain a modulated symbol sequence.

[0163] In the second possible design, the transmitting device can concatenate X second sequences and a fifth sequence to obtain an eleventh sequence; perform a second transformation on the X second sequences in the eleventh sequence to obtain a twelfth sequence; and encode the twelfth sequence to obtain a fourth sequence.

[0164] The fifth sequence includes K-K1 bits from the information bit sequence, excluding the X first sequences, and the twelfth sequence includes the X third sequences and the fifth sequence.

[0165] Specifically, the transmitting device can employ the second possible design for encoding when a fifth sequence exists. Alternatively, it can be described as the transmitting device employing the second possible design for encoding when K1 is less than K. Or, it can be described as the transmitting device employing the second possible design for encoding when performing a first transformation and a second transformation on a portion of the information bit sequence.

[0166] For example, as shown in Figure 14(b), the information bit sequence can be an information bit sequence with TB CRC added. Optionally, the information bit sequence can also be a sequence after CB segmentation. Optionally, the transmitting device can also perform rate matching, channel interleaving, scrambling, modulation, and other processing on the fourth sequence to obtain a modulated symbol sequence.

[0167] Based on the two possible designs above, it can be seen that the first possible design is to perform the second transformation first, and then perform concatenation. That is, first perform the second transformation on the X second sequences to obtain X third sequences, and then concatenate the X third sequences with the fifth sequence. The second possible design is to perform concatenation first, and then perform the second transformation. That is, first concatenate the X second sequences with the fifth sequence, and then perform the second transformation on the X second sequences in the concatenation result.

[0168] In the third possible design, the transmitting device concatenates X third sequences to obtain a sixth sequence, and encodes the sixth sequence to obtain a fourth sequence.

[0169] In this scenario, the transmitting device can employ the second possible design for encoding when K1 equals K. Alternatively, it can be described as the transmitting device performing the second possible design for encoding after applying the first and second transformations to all bits of the information bit sequence.

[0170] For example, as shown in Figure 14(c), the information bit sequence can be an information bit sequence with TB CRC added. Optionally, the information bit sequence can also be a sequence after CB segmentation. Optionally, the transmitting device can also perform rate matching, channel interleaving, scrambling, modulation, and other processing on the fourth sequence to obtain a modulated symbol sequence.

[0171] Based on the method shown in Figure 10, the transmitting device can perform a first transformation on each of the X first sequences to obtain X second sequences, thereby achieving independent shaping of each first sequence and realizing finer-grained shaping. Compared with directly performing a first transformation on K1 bits in the information bit sequence, this reduces implementation complexity and improves transmission performance, especially at higher modulation orders. Furthermore, before encoding, the transmitting device can perform a second transformation on some or all of the X second sequences to obtain X third sequences, ensuring that the distribution of the symbol sequences mapped from each third sequence conforms to a specific distribution, thus improving transmission performance. Additionally, compared to the remapping described above, the second transformation introduced in this embodiment does not require remapping or table lookups, resulting in lower implementation complexity. Moreover, when the second transformation is introduced into the communication standard, there is no need to introduce the relational tables involved in remapping into the communication standard, leading to lower descriptive complexity.

[0172] For example, the second transformation introduced in this application embodiment can be processed by the formula shown in Figure 12 without remapping or table lookup, resulting in low implementation complexity. Furthermore, when the second transformation is introduced into the communication standard, the formula shown in Figure 12 can be used without introducing the relational table involved in remapping into the communication standard, resulting in low description complexity.

[0173] Based on the above description, the transmitting device can send a modulation symbol sequence to the receiving device, and correspondingly, the receiving device can receive the decoding information from the transmitting device and perform decoding in accordance with the method shown in Figure 15 below.

[0174] Figure 15 is a flowchart of a decoding method provided in an embodiment of this application. As shown in Figure 15, the method includes:

[0175] Step 1501: The receiving device acquires the information to be decoded.

[0176] The modulation symbol sequence sent from the transmitting device to the receiving device may be affected by noise and other interference during transmission through the channel. The information to be decoded received by the receiving device is the modulation symbol sequence affected by noise and other interference. The information to be decoded corresponds to an information bit sequence of length K.

[0177] Step 1502: The receiving device determines X seventh sequences based on the information to be decoded.

[0178] Where X is a positive integer greater than 1 and less than or equal to K1; K1 is a positive integer less than or equal to K.

[0179] In this process, the transmitting device determines the modulation symbol sequence based on X third sequences through encoding, rate matching, channel interleaving, scrambling, and modulation. The receiving device can then demodulate, descramble, deinterleave, de-rate match, and decode the information to be decoded to obtain X seventh sequences. These X seventh sequences can also be understood as the decoding results of the aforementioned X third sequences.

[0180] Optionally, the X seventh sequences have the same length.

[0181] Optionally, the length of the seventh sequence is the same as the length of the third sequence.

[0182] Step 1503: The receiving device performs a second inverse transformation on some or all of the X seventh sequences based on at least one of the X seventh sequences to obtain X eighth sequences.

[0183] The second inverse transform can also be described as inverse processing, inverse operation, inverse masking, or inverse masking operation, etc., without limitation. It is understood that this inverse masking processing (or inverse masking operation) is different from descrambling processing (or descrambling operation).

[0184] In the first possible design, the receiving device can determine the first eighth sequence based on the first seventh sequence; and determine the i-th eighth sequence based on the i-th seventh sequence and the (i-1)-th eighth sequence; where i is a positive integer greater than 1 and less than or equal to X.

[0185] For example, as shown in Figure 16, the first eighth sequence is the same as the first seventh sequence. That is, the receiving device can directly determine the first seventh sequence as the first eighth sequence without performing the second inverse transformation on the first seventh sequence. The first eighth sequence can also be described as the eighth sequence obtained without the second inverse transformation.

[0186] For example, taking the first seventh sequence as 0 0 0 0 0 0 0 0 0 0 1 1 0 1 0 0 1 0 1 0 0 0 0 0 0, the first eighth sequence is 00 0 0 0 0 0 0 0 0 1 1 0 1 0 0 1 0 1 0 0 0 0 0 0.

[0187] For example, for the i-th seventh sequence, the receiving device can perform the second inverse transformation as follows: the receiving device can obtain the second result based on the (i-1)-th eighth sequence, and obtain the i-th eighth sequence based on the second result and the i-th seventh sequence; where i = 2, 3, 4, ..., X.

[0188] For example, the receiving device can XOR the (i-1)th eighth sequence with 1 to obtain a second result, and XOR the second result with the i-th seventh sequence to obtain the i-th eighth sequence, as shown in Figure 16, where the i-th eighth sequence = the i-th seventh sequence ⊕ (the (i-1)th eighth sequence ⊕ 1), and i = 2, 3, 4, ..., X.

[0189] For example, taking the seventh sequence as 0 0 0 0 0 1 1 1 0 1 1 0 0 0 1 1 0 1 1 1 1 0 1 1 1, the eighth sequence could be 1 1 1 1 1 0 0 0 1 0 1 0 1 0 0 0 0 0 1 0 0 1 0 0 0.

[0190] Based on the above description, it can be understood that the X eighth sequences include the eighth sequences obtained without the second inverse transformation (such as the first eighth sequence) and the eighth sequences obtained after the second inverse transformation (such as the second to the Xth eighth sequences).

[0191] Optionally, the X eighth sequences have the same length.

[0192] It is understandable that, taking the receiving device performing the second inverse transformation on X-1 seventh sequences (such as the 2nd to the Xth seventh sequences) as an example, since the second inverse transformation result of the (i-1)th seventh sequence (i.e., the (i-1)th eighth sequence) is needed when performing the second inverse transformation on the i-th seventh sequence, the process of performing the second inverse transformation on X seventh sequences is a serial processing process. The receiving device can use a second inverse transformation module to perform the second transformation on X-1 seventh sequences separately, resulting in a small hardware overhead.

[0193] Step 1504: The receiving device performs a first inverse transformation on each of the X eighth sequences to obtain X ninth sequences.

[0194] The ninth sequence includes one or more bits.

[0195] The receiving device performs a first inverse transformation on each of the X eighth sequences. This can also be described as the receiving device performing (independent) inverse shaping, (independent) inverse transformation, (independent) inverse shaping, (independent) inverse distribution matching, or (independent) inverse probability shaping on each of the X eighth sequences. Alternatively, it can be described as performing independent inverse shaping on each of the X eighth sequences based on product DM.

[0196] Optionally, the receiving device may perform a first inverse transformation on each of the X eighth sequences based on the first encoding method.

[0197] Optionally, the receiving device may perform a first inverse transformation on each of the X eighth sequences according to the decoding method corresponding to the first encoding method.

[0198] For example, the first encoding method can be polar code, low density parity check code (LDPC) encoding, RM code, convolutional code, RS code, arithmetic encoding, etc., without limitation.

[0199] For example, taking the eighth sequence as 0 0 0 0 0 0 0 0 0 0 0 1 1 0 1 0 0 1 0 1 0 0 0 0 0 0, assuming that the arithmetic coding method is used to perform the first inverse transformation on the eighth sequence, the resulting ninth sequence can be 0 1 1 0.

[0200] It is understandable that when the receiving device performs the first inverse transform on X eighth sequences, it can use X first inverse transform modules (or inverse shaping modules, inverse forming modules, inverse transform modules, inverse distribution matching modules, inverse precoding modules, etc.) to perform the first inverse transform on each of the X eighth sequences. That is, each first inverse transform module performs the first inverse transform on one eighth sequence, thereby shortening the processing latency required for the first inverse transform. Optionally, all the first inverse transform modules can be the same.

[0201] Alternatively, the receiving device can use a first inverse transformation module to perform the first inverse transformation on each of the X eighth sequences, thereby reducing the number of first inverse transformation modules and lowering hardware overhead.

[0202] Alternatively, the receiving device can use fewer than X first inverse transform modules to perform the first inverse transform on each of the X eighth sequences. That is, each first inverse transform module can perform the first inverse transform on one or more eighth sequences. On the one hand, this reduces the number of first inverse transform modules and lowers hardware overhead; on the other hand, it also reduces the processing latency required for the first inverse transform. Optionally, all the first inverse transform modules can be the same.

[0203] For example, the ninth sequence may include a bit, and the first inverse transformation module may be a BL-DM.

[0204] Step 1505: The receiving device obtains the decoding result based on X ninth sequences.

[0205] The receiving device can determine the decoding result based on the concatenation of X ninth sequences.

[0206] Based on the method shown in Figure 15 above, corresponding to the encoding performed by the transmitting device based on the first and second transforms, the receiving device can decode the received information to be decoded based on the second inverse transform and the first inverse transform, thereby improving decoding performance. Furthermore, compared to the remapping described above, the second inverse transform introduced in this embodiment does not require remapping or table lookup, resulting in lower implementation complexity. Moreover, when the second inverse transform is introduced into the communication standard, there is no need to introduce the relational tables involved in remapping into the communication standard, thus reducing descriptive complexity.

[0207] For example, the second inverse transformation introduced in this application embodiment can be processed by the formula shown in Figure 16 without remapping or table lookup, resulting in low implementation complexity. Furthermore, when the second inverse transformation is introduced into the communication standard, the formula shown in Figure 16 can be introduced without introducing the relational table involved in remapping in the communication standard, resulting in low description complexity.

[0208] Based on the embodiments shown in Figures 10 to 16 above, the length K1 will be described in detail below:

[0209] The length K1 can be determined based on Y, where Y is the number of modulation symbols corresponding to the transmission resource.

[0210] For example, K1 is equal to the product of r and Y, where r is a positive number.

[0211] In the first possible design, r is related to the modulation order.

[0212] Where r is greater than 0 and less than or equal to the difference between the modulation order and 4, and the modulation order is greater than 4.

[0213] In the phrase "difference between modulation order and 4," "4" represents one symbol bit corresponding to the real part of the modulation symbol, the last amplitude bit corresponding to the real part of the modulation symbol, one symbol bit corresponding to the imaginary part of the modulation symbol, and the last amplitude bit corresponding to the imaginary part of the modulation symbol. Transforming the last amplitude bit in either the real or imaginary part would require carrying the encoded check bit in the symbol bit, thus impacting performance. Therefore, the last amplitude bit can be left untransformed, and the check bit can be mapped to it later, avoiding mapping information bits to the least reliable subchannel (i.e., the last amplitude bit) and improving transmission performance. Based on this, the value of r can be set to be greater than 0 and less than or equal to the difference between the modulation order and 4 to improve transmission performance.

[0214] For example, taking a modulation order of 10 as an example, the amplitude bits corresponding to the real and imaginary parts of the modulation symbol can be transformed respectively. In this case, the value of r can be in the range of (0,2]. For example, the value of r can be 1.5 (equivalent to an shaping cost of 1.25) or 1.4 (equivalent to an shaping cost of 0.3), etc., without limitation.

[0215] In the second possible design, r is related to the modulation order and MCS.

[0216] Where r is greater than 0 and less than or equal to the difference between the modulation order and 4; the modulation order is greater than 4. When the modulation orders are the same, r corresponding to the first MCS is less than or equal to r corresponding to the second MCS; the index of the first MCS is less than the index of the second MCS.

[0217] Optionally, a corresponding r can be configured for each MCS. Based on this, r can be added to the MCS table, and the transmitting device can determine the corresponding r from the MCS table based on the MCS index, reducing implementation complexity.

[0218] For example, taking a modulation order of 10 as an example, the amplitude bits corresponding to the real and imaginary parts of the modulation symbol can be transformed respectively. In this case, the value range of r can be (0,2]. Within this value range, a corresponding r can be configured for each MCS. The r corresponding to the MCS with a smaller sequence number (such as the first MCS) is less than or equal to the r corresponding to the MCS with a larger sequence number (such as the second MCS). For example, the value of r configured for the MCS with sequence number 20 can be 1.1, and the value of r configured for the MCS with sequence number 23 can be 1.5.

[0219] In the third possible design, r is predefined.

[0220] One approach is to predefine the specific value of r after it has been determined in advance, using a predefined communication protocol. This allows the sending device to determine the specific value of r according to the communication protocol, reducing implementation complexity. The description of the specific value of r can be found in the relevant descriptions in the first to second possible designs mentioned above, and will not be repeated here.

[0221] It should be noted that the various embodiments of this application can be implemented independently or in combination, without limitation. Unless otherwise specified or in conflict, the terminology and / or descriptions between the different embodiments provided in this application are consistent and can be referenced mutually. Technical features in different embodiments can be combined to form new embodiments based on their inherent logical relationships.

[0222] It is understood that in the embodiments of this application, the executing entity may perform some or all of the steps in the embodiments of this application. These steps or operations are merely examples, and the embodiments of this application may also perform other operations or variations thereof. Furthermore, the various steps may be executed in different orders as presented in the embodiments of this application, and it is not necessarily necessary to execute all the operations in the embodiments of this application.

[0223] The foregoing primarily describes the solutions provided in this application from the perspective of device-to-device interaction. It is understood that each device, in order to achieve the aforementioned functions, includes corresponding hardware structures and / or software modules for executing each function. Those skilled in the art should readily recognize that, based on the algorithm steps of the examples described in conjunction with the embodiments disclosed herein, this application can be implemented in hardware or a combination of hardware and computer software. Whether a function is executed in hardware or by computer software driving hardware depends on the specific application and design constraints of the technical solution. Those skilled in the art can use different methods to implement the described functions for each specific application, but such implementation should not be considered beyond the scope of this application.

[0224] This application embodiment can divide each device into functional modules according to the above method example. For example, each function can be divided into a separate functional module, or two or more functions can be integrated into one processing module. The integrated module can be implemented in hardware or as a software functional module. It should be noted that the module division in this application embodiment is illustrative and only represents one logical functional division. In actual implementation, there may be other division methods.

[0225] With each function divided into a functional module, Figure 17 shows a transmitting device 170. The transmitting device 170 can perform the actions performed by the transmitting device in the methods shown in Figures 10 to 16. All relevant content of each step involved in the above method embodiments can be referred to the functional description of the corresponding functional module. The technical effects that can be obtained can be referred to the above method embodiments, and will not be repeated here.

[0226] The transmitting device 170 may include a transceiver module 1701 and a processing module 1702. Exemplarily, the transmitting device 170 may be a communication device, or a chip or other combination device or component having the aforementioned transmitting device functions applied in a communication device. When the transmitting device 170 is a communication device, the transceiver module 1701 may be a transceiver, which may include an antenna and radio frequency circuits, etc.; the processing module 1702 may be a processor (or processing circuit), such as a baseband processor, which may include one or more CPUs. When the transmitting device 170 is a component having the aforementioned transmitting device functions, the transceiver module 1701 may be a radio frequency unit; the processing module 1702 may be a processor (or processing circuit), such as a baseband processor. When the transmitting device 170 is a chip system, the transceiver module 1701 may be an input / output interface of a chip (e.g., a baseband chip); the processing module 1702 may be a processor (or processing circuit) of the chip system, and may include one or more central processing units. It should be understood that the transceiver module 1701 in the embodiments of this application can be implemented by a transceiver or transceiver-related circuit components; the processing module 1702 can be implemented by a processor or processor-related circuit components (or, referred to as processing circuit).

[0227] For example, the transceiver module 1701 can be used to perform all the transceiver operations performed by the transmitting device in the embodiments shown in Figures 10 to 16, and / or to support other processes of the technology described herein; the processing module 1702 can be used to perform all operations other than the transceiver operations performed by the transmitting device in the embodiments shown in Figures 10 to 16, and / or to support other processes of the technology described herein.

[0228] Figure 18 shows a receiving device 180, which can perform the actions performed by the receiving device in the methods shown in Figures 10 to 16. All relevant content of each step involved in the above method embodiments can be referred to the functional description of the corresponding functional module, and the technical effects that can be obtained can be referred to the above method embodiments, which will not be repeated here.

[0229] The receiving device 180 may include a transceiver module 1801 and a processing module 1802. Exemplarily, the receiving device 180 may be a communication device, or a chip or other combination device or component having the aforementioned receiving device functions applied in a communication device. When the receiving device 180 is a communication device, the transceiver module 1801 may be a transceiver, which may include an antenna and radio frequency circuits, etc.; the processing module 1802 may be a processor (or processing circuit), such as a baseband processor, which may include one or more CPUs. When the receiving device 180 is a component having the aforementioned receiving device functions, the transceiver module 1801 may be a radio frequency unit; the processing module 1802 may be a processor (or processing circuit), such as a baseband processor. When the receiving device 180 is a chip system, the transceiver module 1801 may be an input / output interface of a chip (e.g., a baseband chip); the processing module 1802 may be a processor (or processing circuit) of the chip system, and may include one or more central processing units. It should be understood that the transceiver module 1801 in the embodiments of this application can be implemented by a transceiver or transceiver-related circuit components; the processing module 1802 can be implemented by a processor or processor-related circuit components (or, referred to as processing circuit).

[0230] For example, the transceiver module 1801 can be used to perform all the transceiver operations performed by the receiving device in the embodiments shown in Figures 10 to 16, and / or to support other processes of the technology described herein; the processing module 1802 can be used to perform all operations other than the transceiver operations performed by the receiving device in the embodiments shown in Figures 10 to 16, and / or to support other processes of the technology described herein.

[0231] As another possible implementation, the transceiver module 1701 in FIG. 17 can be replaced by a transceiver that integrates the functions of the transceiver module 1701; the processing module 1702 can be replaced by a processor that integrates the functions of the processing module 1702. Furthermore, the transmitting end device 170 shown in FIG. 17 may also include a memory. Alternatively, the transceiver module 1801 in FIG. 18 can be replaced by a transceiver that integrates the functions of the transceiver module 1801; the processing module 1802 can be replaced by a processor that integrates the functions of the processing module 1802. Furthermore, the receiving end device 180 shown in FIG. 18 may also include a memory.

[0232] Alternatively, when the processing module 1702 is replaced by a processor and the transceiver module 1701 is replaced by a transceiver, the transmitting end device 170 involved in the embodiments of this application can also be the communication device 190 shown in FIG19. Or, when the processing module 1802 is replaced by a processor and the transceiver module 1801 is replaced by a transceiver, the receiving end device 180 involved in the embodiments of this application can also be the communication device 190 shown in FIG19.

[0233] The processor can be logic circuit 1901, and the transceiver can be interface circuit 1902. Furthermore, the communication device 190 shown in FIG19 may also include a memory 1903.

[0234] This application also provides a communication device, as shown in FIG20. This communication device can be applied to the methods shown in FIGS. 10 to 16 above. As shown in FIG20, the communication device includes a processing module and a transceiver module. The processing module may be one or more processors, and the transceiver module may be a transceiver or a communication interface. This communication device can be used to implement the sending or receiving device involved in any of the above method embodiments, or to implement the functions of the device involved in any of the above method embodiments. The device or device function may be a network component in a hardware device, a software function running on dedicated hardware, or a virtualization function instantiated on a platform (e.g., a cloud platform). Optionally, the communication device may further include a storage module for storing the program code and data of the communication device.

[0235] In one example, the communication device functions as a transmitting device or is a chip applied within a transmitting device, and performs the steps executed by the transmitting device in the above method embodiments. The transceiver module is used to specifically perform the transmitting and / or receiving actions performed by the transmitting device in any of the embodiments of Figures 10 to 16, for example, supporting the transmitting device in performing other processes of the technology described herein. The processing module can be used to support the communication device in performing the processing actions in the above method embodiments, for example, supporting the transmitting device in performing other processes of the technology described herein.

[0236] To achieve the above functions, the chip of this application may include hardware structures and / or software modules corresponding to the execution of each function. Those skilled in the art will readily recognize that, based on the units and algorithm steps of the various examples described in conjunction with the embodiments disclosed herein, this application can be implemented in hardware or a combination of hardware and computer software. Whether a function is executed in hardware or by computer software driving hardware depends on the specific application and design constraints of the technical solution. Those skilled in the art can use different methods to implement the described functions for each specific application, but such implementation should not be considered beyond the scope of this application.

[0237] In one possible implementation, when the transmitting or receiving device is a chip, the transceiver module can be a communication interface, pins, or circuits. The communication interface can be used to input data to be processed to the processor and can output the processor's processing results. Specifically, the communication interface can be a general purpose input / output (GPIO) interface, which can connect to multiple peripheral devices (such as LCD displays, cameras, radio frequency (RF) modules, antennas, etc.). The communication interface is connected to the processor via a bus.

[0238] The processing module can be a processor, which can execute computer execution instructions stored in the storage module to cause the chip to execute the methods involved in any of the embodiments shown in Figures 10 to 16. Further, the processor may include a controller, an arithmetic logic unit (ALU), and registers. For example, the controller is mainly responsible for instruction decoding and issuing control signals for the operations corresponding to the instructions. The ALU is mainly responsible for performing fixed-point or floating-point arithmetic operations, shift operations, and logical operations, and can also perform address operations and conversions. The registers are mainly responsible for storing register operands and intermediate operation results temporarily stored during instruction execution. In specific implementations, the processor's hardware architecture can be an ASIC architecture, a microprocessor without interlocked piped stages architecture (MIPS), an advanced reduced instruction set machine (RISC) machine (ARM) architecture, or a network processor (NP) architecture, etc. The processor can be single-core or multi-core. The storage module can be an in-chip storage module, such as registers or caches. Storage modules can also be external to the chip, such as ROM or other types of static storage devices that can store static information and instructions, RAM, etc.

[0239] It should be noted that the functions of the processor and interface can be implemented through hardware design, software design, or a combination of both; no restrictions are imposed here.

[0240] This application also provides a computer program product that, when executed by a computer, can implement the functions of any of the above method embodiments.

[0241] This application also provides a computer program that, when executed by a computer, can implement the functions of any of the above method embodiments.

[0242] This application also provides a computer-readable storage medium. All or part of the processes in the above method embodiments can be implemented by a computer program instructing related hardware. This program can be stored in the computer-readable storage medium, and when executed, it can include the processes of the above method embodiments. The computer-readable storage medium can be an internal storage unit of the terminal (including a data sending end and / or a data receiving end) of any of the foregoing embodiments, such as the terminal's hard disk or memory. The computer-readable storage medium can also be an external storage device of the terminal, such as a plug-in hard disk, smart media card (SMC), secure digital (SD) card, flash card, etc., equipped on the terminal. Further, the computer-readable storage medium can include both the terminal's internal storage unit and external storage devices. The computer-readable storage medium is used to store the computer program and other programs and data required by the terminal. The computer-readable storage medium can also be used to temporarily store data that has been output or will be output.

[0243] It should be noted that the terms "first" and "second," etc., in the specification, claims, and drawings of this application are used to distinguish different objects, not to describe a specific order. "First" and "second" are used for descriptive purposes only and should not be construed as indicating or implying relative importance or implicitly specifying the number of indicated technical features. Therefore, a feature defined with "first" and "second" may explicitly or implicitly include one or more of that feature. In the description of this embodiment, unless otherwise stated, "a plurality of" means two or more.

[0244] 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 steps or units listed, but may optionally include steps or units not listed, or may optionally include other steps or units inherent to such process, method, product, or apparatus.

[0245] It should be understood that in this application, "at least one (item)" means one or more. "More than one" means two or more. "At least two (items)" means two or three or more. "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 A and B exist simultaneously, where A and B can be singular or plural. The character " / " generally indicates that the related objects before and after are in an "or" relationship. "At least one (item) of the following" or similar expressions refer to any combination of these items, including any combination of single or plural items. For example, at least one (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", where a, b, and c can be single or multiple. Both "...when" and "if" indicate that a corresponding action will be taken under certain objective circumstances. They are not time limits, nor do they require a judgment action to be taken when the action is taken, nor do they imply any other limitations.

[0246] In the embodiments of this application, the terms "exemplary" or "for example" are used to indicate that something is an example, illustration, or description. Any embodiment or design that is described as "exemplary" or "for example" in the embodiments of this application should not be construed as being more preferred or advantageous than other embodiments or design. Specifically, the use of terms such as "exemplary" or "for example" is intended to present the relevant concepts in a specific manner to facilitate understanding.

[0247] In this application, "sending information to...(terminal device)" can be understood as the destination of the information being the terminal device. This can include sending information directly or indirectly to the terminal device. "Receiving information from...(terminal device)" can be understood as the source of the information being the terminal device, and can include receiving information directly or indirectly from the terminal device. Information may undergo necessary processing between the source and destination, such as format changes, but the destination can understand the valid information from the source.

[0248] Through the above description of the embodiments, those skilled in the art can clearly understand that, for the sake of convenience and brevity, only the division of the above functional modules is used as an example. In actual applications, the above functions can be assigned to different functional modules as needed, that is, the internal structure of the device can be divided into different functional modules to complete all or part of the functions described above.

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

[0250] The units described as separate components may or may not be physically separate. A component shown as a unit can be one or more physical units; that is, it can be located in one place or distributed in multiple different locations. Some or all of the units can be selected to achieve the purpose of this embodiment according to actual needs.

[0251] Furthermore, the functional units in the various embodiments of this application can be integrated into one processing unit, or each unit can exist physically separately, or two or more units can be integrated into one unit. The integrated unit can be implemented in hardware or as a software functional unit.

[0252] If the integrated unit is implemented as a software functional unit and sold or used as an independent product, it can be stored in a readable storage medium. Based on this understanding, the technical solution of this application embodiment, or all or part of the technical solution, can be embodied in the form of a software product. This software product is stored in a storage medium and includes several instructions to cause a device (which may be a microcontroller, chip, etc.) or processor to execute all or part of the steps of the methods described in the various embodiments of this application. The aforementioned storage medium includes various media capable of storing program code, such as USB flash drives, portable hard drives, ROM, RAM, magnetic disks, or optical disks.

Claims

An encoding method, characterized in that, include: Get X first sequences; The X first sequences include K1 bits from an information bit sequence of length K, each first sequence comprising one or more bits, wherein K1 is a positive integer less than or equal to K; and X is a positive integer greater than 1 and less than or equal to K1. Perform a first transformation on each of the X first sequences to obtain X second sequences; Based on at least one of the X second sequences, perform a second transformation on some or all of the X second sequences to obtain X third sequences; The X third sequences are encoded to obtain a fourth sequence, and the fourth sequence is output. The method according to claim 1, characterized in that, The step of performing a second transformation on some or all of the X second sequences based on at least one of the X second sequences to obtain X third sequences includes: Based on the first second sequence, determine the first third sequence; Determine the i-th third sequence based on the i-th second sequence and the (i-1)-th second sequence; where i is a positive integer greater than 1 and less than or equal to X. The method according to claim 1 or 2, characterized in that, The first second sequence is the same as the first third sequence. The method according to any one of claims 1-3, characterized in that, The step of performing a second transformation on some or all of the X second sequences based on at least one of the X second sequences to obtain X third sequences includes: Based on the (i-1)th second sequence, the first result is obtained; Based on the first result and the i-th second sequence, the i-th third sequence is obtained; where i is a positive integer greater than 1 and less than or equal to X. The method according to any one of claims 1-4, characterized in that, The process of encoding the X third sequences to obtain the fourth sequence includes: The X third sequences and the fifth sequence are concatenated to obtain a sixth sequence; the fifth sequence includes K-K1 bits of the information bit sequence other than the X first sequences. The sixth sequence is encoded to obtain the fourth sequence. The method according to any one of claims 1-4, characterized in that, The process of encoding the X third sequences to obtain the fourth sequence includes: The X third sequences are concatenated to obtain the sixth sequence; The sixth sequence is encoded to obtain the fourth sequence. A decoding method, characterized in that, include: Obtain the information to be decoded; the information to be decoded corresponds to an information bit sequence of length K. Based on the information to be decoded, X seventh sequences are determined; X is a positive integer greater than 1 and less than or equal to K1; K1 is a positive integer less than or equal to K; Based on at least one of the X seventh sequences, perform a second inverse transformation on some or all of the X seventh sequences to obtain X eighth sequences; Perform a first inverse transformation on each of the X eighth sequences to obtain X ninth sequences; each ninth sequence includes one or more bits. The decoding result is obtained based on the X ninth sequences. The method according to claim 7, characterized in that, The step of performing a second inverse transformation on some or all of the X seventh sequences based on at least one of the X seventh sequences to obtain X eighth sequences includes: Based on the first seventh sequence, determine the first eighth sequence; Determine the i-th eighth sequence based on the i-th seventh sequence and the (i-1)-th eighth sequence; where i is a positive integer greater than 1 and less than or equal to X. The method according to claim 7 or 8, characterized in that, The first eighth sequence is the same as the first seventh sequence. The method according to any one of claims 7-9, characterized in that, The second inverse transformation of the X seventh sequences to obtain X eighth sequences includes: The second result is obtained based on the (i-1)th eighth sequence; Based on the second result and the i-th seventh sequence, the i-th eighth sequence is obtained; where i is a positive integer greater than 1 and less than or equal to X. A communication device, characterized in that, Includes a module for performing the method according to any one of claims 1-6. A communication device, characterized in that, Includes a module for performing the method according to any one of claims 7-10. A communication device, characterized in that, The communication device includes a processor; the processor is configured to run a computer program or instructions that cause the encoding method as described in any one of claims 1-6 to be executed, or cause the decoding method as described in any one of claims 7-10 to be executed. The communication device according to claim 13 is characterized in that, Includes a memory coupled to a processor, the memory being used to store the computer program or instructions. A communication device, characterized in that, The communication device includes an interface circuit and a logic circuit; the interface circuit is used to input and / or output information; the logic circuit is used to execute the encoding method as described in any one of claims 1-6, or to execute the decoding method as described in any one of claims 7-10, to process and / or generate the information based on the information. A computer-readable storage medium, characterized in that, The computer-readable storage medium stores computer instructions or programs that, when executed on a computer, cause the encoding method as described in any one of claims 1-6 to be executed, or cause the decoding method as described in any one of claims 7-10 to be executed. A computer program product, characterized in that, The computer program product includes computer instructions; when some or all of the computer instructions are executed on a computer, they cause the encoding method as described in any one of claims 1-6 to be executed, or the decoding method as described in any one of claims 7-10 to be executed. A computer program, characterized in that, When it is run on a computer, it causes the encoding method as described in any one of claims 1-6 to be executed, or causes the decoding method as described in any one of claims 7-10 to be executed. A chip characterized in that, The system includes a processor coupled to a memory for storing programs or instructions, wherein when the program or instructions are executed by the processor, the encoding method as described in any one of claims 1-6 is executed, or the decoding method as described in any one of claims 7-10 is executed. A communication system, characterized in that, It includes a communication device for performing the encoding method according to any one of claims 1-6, and a communication device for performing the decoding method according to any one of claims 7-10.