Data coding method and apparatus, and computer storage medium

By splitting Polar code data into independent decoding subtrees and processing them in parallel, the problems of long decoding time and high resource overhead in the Polar decoding scheme are solved, and an efficient decoding process is achieved.

CN112583422BActive Publication Date: 2026-02-27SANECHIPS TECH CO LTD
View PDF 1 Cites 0 Cited by

Patent Information

Application Number
CN201910945166.3
Authority / Receiving Office
CN · China
Patent Type
Patents(China)
Current Assignee / Owner
Filing Date
2019-09-30
Publication Date
2026-02-27
Estimated Expiration
2039-09-30

AI Technical Summary

Technical Problem

Existing Polar decoding schemes suffer from problems such as extended decoding time and high resource overhead, especially during segmented operations, leading to wasted computational resources and low efficiency.

Method used

The Polar code data is split into independent decoding subtrees and distributed to multiple U-value calculation modules for parallel processing, achieving independent calculation and fast decoding.

Benefits of technology

Parallel processing improves decoding efficiency, reduces decoding latency and resource overhead, and enables a low-complexity decoding process.

✦ Generated by Eureka AI based on patent content.

Smart Images

  • Figure CN112583422B_ABST
    Figure CN112583422B_ABST
Patent Text Reader

Abstract

The embodiment of the application discloses a data decoding method and device. The method comprises the following steps: after obtaining Polar code data to be decoded, the Polar code data is sent to at least two independent U value calculation modules which are set in advance, wherein the U value calculation module is used for calculating the required U value when the next iteration G node; the at least two independent U value calculation modules are controlled to process the Polar code data to be decoded, and at least two groups of new decoding data are obtained; the at least two groups of new decoding data are processed, and new Polar code data to be decoded is obtained.
Need to check novelty before this filing date? Find Prior Art

Description

TECHNICAL FIELD

[0001] Embodiments of the present application relate to the field of information processing, and in particular to a data decoding method and device and computer storage medium. BACKGROUND

[0002] Channel coding is an important part of a wireless communication system. Through channel coding, the receiving end can correct errors that occur in the transmission process, thereby ensuring the communication quality of both parties. Polar code, proposed by Arikan, is a type of channel coding, and is currently the only channel coding method that can theoretically achieve the Shannon limit. Polar code, with its low complexity and high performance, is well suited to the requirements of control channel coding in 5G communication systems. The serial cancellation decoding algorithm has become the mainstream polar decoding algorithm. Most polar decoding schemes are evolved from the serial cancellation algorithm.

[0003] In related technologies, in order to save computing resources, polar decoding is usually performed on the segmented data. The segmentation of data results in a large decoding delay, and therefore, the polar decoding serial cancellation algorithm has the problems of long delay and large process data storage overhead. SUMMARY

[0004] To solve any of the above technical problems, embodiments of the present application provide a data decoding method and device and computer storage medium.

[0005] To achieve the purpose of the embodiments of the present application, the embodiments of the present application provide a data decoding method, comprising:

[0006] After obtaining the polar code data to be decoded, the polar code data is sent to at least two independent U value calculation modules set in advance, wherein the U value calculation module is used to calculate the U value required for the next iteration G node;

[0007] The at least two independent U value calculation modules process the polar code data to be decoded to obtain at least two groups of new decoding data;

[0008] The at least two groups of new decoding data are processed to obtain new polar code data to be decoded.

[0009] In one exemplary embodiment, before the polar code data is sent to the at least two independent U value calculation modules set in advance, the method further comprises:

[0010] Obtaining a polar code tree corresponding to the data to be decoded;

[0011] The Polar code tree is split into s independent decoding subtrees, where s is an integer greater than or equal to 2; and the s independent decoding subtrees are sent to s pre-set independent U-value calculation modules.

[0012] In one exemplary embodiment, splitting the Polar code tree into s independent decoding subtrees includes:

[0013] Obtain the data extraction interval s for the Polar tree;

[0014] The Polar tree is processed by extracting data at intervals of s bits and in a Z-shaped order to obtain s independent decoding subtrees.

[0015] In one exemplary embodiment, s = 2 k , where k = 1, 2, 3...

[0016] In one exemplary embodiment, splitting the Polar code tree into s independent decoding subtrees includes:

[0017] Obtain the data extraction interval s of the Polar tree i ;

[0018] The data extraction order follows a Z-shape, with a data extraction interval of s. i 1 bit, extract data from the Polar tree to obtain s i A separate decoding subtree;

[0019] Determine whether the number of independent decoding subtrees obtained reaches s, and obtain the judgment result;

[0020] If the judgment result is that less than s have been reached, then for s i Split each independent decoding subtree and update the value of i to i+1, repeating this process until the total number of decoding subtrees reaches s; where i is a positive integer.

[0021] In one exemplary embodiment, the control of the at least two independent U-value calculation modules processes the Polar code data to be decoded to obtain at least two sets of new decoded data, including:

[0022] The s independent decoding subtrees are respectively sent to s independent U-value calculation modules;

[0023] The s independent U-value calculation modules are controlled to process the s independent decoding subtrees one by one to obtain s sets of new decoding data.

[0024] In an example embodiment, the control of the s independent U value calculation modules processes the s independent decoding sub-trees respectively to obtain at least s groups of new decoding data, including:

[0025] According to the splitting strategy of the pre-acquired decoding data, the pre-acquired decoding data is split into s groups of decoding data, wherein the splitting strategy of the decoding data is the same as the splitting strategy of splitting the Polar code tree into s independent decoding sub-trees;

[0026] The s groups of decoding data are used to process the s independent decoding sub-trees to obtain s groups of newly generated decoding data corresponding to the s independent decoding sub-trees.

[0027] In an example embodiment, the processing of the at least two groups of new decoding data to obtain new Polar code data to be decoded includes:

[0028] The reverse operation of the operation of splitting the decoding data into s groups of decoding data is performed to restore the s groups of newly generated decoding data into complete new decoding data.

[0029] Embodiments of the present application provide a data decoding device, including a processor and a memory, the memory stores a computer program, and the processor invokes the computer program in the processor to implement the method described in any of the above.

[0030] Embodiments of the present application provide a computer storage medium, the computer readable storage medium stores one or more programs, and the one or more programs can be executed by one or more processors to implement the method described in any of the above.

[0031] Embodiments of the present application provide that after obtaining the Polar code data to be decoded, the Polar code data is sent to at least two independent U value calculation modules set in advance, the at least two independent U value calculation modules are controlled to process the Polar code data to be decoded to obtain at least two groups of new decoding data, the at least two groups of new decoding data are processed to obtain new Polar code data to be decoded, parallel processing of decoding data is realized, and decoding efficiency is improved.

[0032] Other features and advantages of the embodiments of the present application will be described in the following description and, in part, will become apparent from the description or be learned by practice of the embodiments of the present application. The objects and other advantages of the embodiments of the present application will be achieved and obtained by means indicated in the description, the claims and the drawings. BRIEF DESCRIPTION OF DRAWINGS

[0033] The accompanying drawings are used to provide a further understanding of the technical solutions of the embodiments of the present application, and constitute a part of the specification, and are used to explain the technical solutions of the embodiments of the present application together with the embodiments of the embodiments of the present application, and do not constitute a limitation to the technical solutions of the embodiments of the present application.

[0034] Figure 1 A flowchart of a data decoding method provided by the embodiments of the present application is shown in FIG. 1.

[0035] Figure 2 A splitting schematic diagram of a Polar code tree with a code length of 32 bits provided by the embodiments of the present application is shown in FIG. 2.

[0036] Figure 3 A decoding structure diagram with a code length N of 4 provided by the embodiments of the present application is shown in FIG. 3.

[0037] Figure 4 A flowchart of a decoding method provided by the embodiments of the present application is shown in FIG. 4.

[0038] Figure 5 A schematic diagram of a processing flow of a U value calculation module provided by the embodiments of the present application is shown in FIG. 5.

[0039] Figure 6 A schematic diagram of a data decoding apparatus provided by the embodiments of the present application is shown in FIG. 6. DETAILED DESCRIPTION

[0040] To make the objectives, technical solutions and advantages of the embodiments of the present application clearer, the embodiments of the present application will be described in detail below with reference to the drawings. It should be explained that, in the case of no conflict, the embodiments in the embodiments of the present application and the features in the embodiments can be combined with each other at will.

[0041] Figure 1 A flowchart of a data decoding method provided by the embodiments of the present application is shown in FIG. 1. Figure 1 The method shown comprises:

[0042] Step 101, after obtaining Polar code data to be decoded, the Polar code data is sent to at least two independent U value calculation modules which are set in advance, wherein the U value calculation module is used to calculate the U value required when the next iteration G node is calculated.

[0043] In one exemplary embodiment, the U value calculation is distributed in at least two independent U value calculation modules, and how many bits of decoding u value calculation are contained in each U_CALC module is divided according to the hardware resources and layout to realize the compromise between performance and resources.

[0044] Step 102, the at least two independent U value calculation modules are controlled to process the Polar code data to be decoded, and at least two groups of new decoding data are obtained.

[0045] In an example embodiment, the at least two independent U value calculation modules are utilized to process the Polar code data to be decoded to obtain at least two groups of new decoding data, parallel processing of the decoding data is realized, and decoding efficiency is improved.

[0046] Step 103, processing the at least two groups of new decoding data to obtain new Polar code data to be decoded.

[0047] The method provided in the embodiments of the present application, after obtaining the Polar code data to be decoded, sends the Polar code data to at least two independent U value calculation modules set in advance, controls the at least two independent U value calculation modules to process the Polar code data to be decoded, obtains at least two groups of new decoding data, processes the at least two groups of new decoding data to obtain new Polar code data to be decoded, realizes parallel processing of the decoding data, and improves decoding efficiency.

[0048] In an example embodiment, before the Polar code data is sent to the at least two independent U value calculation modules set in advance, the method further includes:

[0049] Obtaining a Polar code tree corresponding to the data to be decoded;

[0050] Splitting the Polar code tree into s independent decoding sub-trees, where s is an integer greater than or equal to 2; wherein the s independent decoding sub-trees are sent to s independent U value calculation modules set in advance.

[0051] After obtaining the data to be decoded, obtaining a Polar code tree corresponding to the data to be decoded, splitting the Polar code tree into s independent decoding sub-trees, utilizing the s independent decoding sub-trees to calculate the U value required when the next iteration G node is calculated, and providing processing efficiency by independent calculation and non-dependence in the decoding process.

[0052] In an example embodiment, the data to be decoded is split by a Polar code tree to ensure that the data of the decoding sub-trees obtained by splitting can be independently processed subsequently.

[0053] In an example embodiment, the splitting of the Polar code tree into s independent decoding sub-trees includes:

[0054] Obtaining a data extraction interval s of the Polar tree;

[0055] According to the data extraction interval of s bits and the Z-shaped data extraction order, data of the Polar tree is extracted to obtain s independent decoding sub-trees.

[0056] In an example embodiment, s = 2 k , wherein k = 1, 2, 3,...

[0057] Figure 2 A splitting diagram of a Polar code tree with a code length of 32 bits provided by an embodiment of the present application is shown in FIG. 4. As shown in FIG. 4, the process of constructing an independent decoding sub-tree is as follows: Figure 2

[0058] Four encoding and decoding sub-trees are constructed by extracting data at intervals of 4 bits. Among them:

[0059] The dashed Z-shaped line between layer 2 and layer 3 represents the first level of extraction at intervals of 4 bits. The 2-dot 3-dashed Z-shaped line between layer 3 and layer 4 represents the second level of extraction at intervals of 4 bits. The dash line Z-shaped line between layer 4 and layer 5 represents the third level of extraction at intervals of 4 bits. Then, the solid black line part is removed, and the dashed line is a complete sub-encoding and decoding binary tree, and the encoding and decoding result and its calculation process are only related to the data extracted at intervals of 4 bits. Similarly, the other three groups of encoding and decoding trees extracted at intervals of 4 bits are also complete sub-encoding and decoding binary trees that can be independently calculated. Therefore, the Polar code with a code length of 32 bits described above can be divided into four independent Polar codes with a code length of 8, and a Polar encoder with a code length of 8 is used to complete the calculation.

[0060] In an example embodiment, the s independent decoding sub-trees are used to calculate the U value required when calculating the next iteration G node.

[0061] In an example embodiment, a 4-bit SCL decoding algorithm is used to divide the decoding tree into four decoding sub-trees. Figure 2 The serial Polar code decoding is performed on the encoding and decoding array with a code length of 32 bits. The fifth column is the input data, and the decoding result of the first 4 bits is calculated in a Z-shaped manner. Then, the u value required in the next 4-bit decoding process is calculated based on the obtained 4-bit decoding result, which is used to complete the decoding of the next 4 bits.

[0062] The method provided by an embodiment of the present application is described as follows:

[0063] In an example embodiment, the Polar code tree is split into s independent decoding sub-trees, including:

[0064] Step 1, obtaining the data extraction interval s of the Polar tree i ;

[0065] Step 2, extracting data from the Polar tree in a Z-shaped manner according to the data extraction order, and the data extraction interval is s i bits.​i independent decoding sub-trees;

[0066] Step 3, judging whether the number of the obtained independent decoding sub-trees reaches s, and obtaining a judgment result;

[0067] Step 4, if the judgment result is that s is not reached, splitting the s i independent decoding sub-trees, updating the value of i to i+1, and repeating the steps 1 to 4 until the total number of the decoding sub-trees reaches s; wherein i is a positive integer.

[0068] In an exemplary embodiment, when the code length is 1024, 2048 or 4096, etc. large code length, the extraction of every 8 bits or every 4 bits can also be continued after the extraction of every 4 bits, until the resource design requirements of F node calculation and G node calculation are met, to achieve the compromise between operation speed and resource consumption.

[0069] In an exemplary embodiment, the control of the at least two independent U value calculation modules to process the Polar code data to be decoded to obtain at least two groups of new decoding data comprises:

[0070] The s independent decoding sub-trees are sent to s independent U value calculation modules respectively;

[0071] The s independent U value calculation modules are controlled to process the s independent decoding sub-trees one by one to obtain s groups of new decoding data.

[0072] To realize completely independent sub-decoding, the U value calculation module is also divided into multiple sub-modules for calculation in the manner described in the present patent. As described in the present patent, the input data is divided into 4 independent sub-decoders by extracting data every 4, and 4 U_CALC sub-modules are used accordingly.

[0073] In an exemplary embodiment, the calculation of the U value required for the next iteration G node by using the s independent decoding sub-trees comprises:

[0074] According to the splitting strategy of the pre-obtained decoding data, the pre-obtained decoding data is split into s groups of decoding data, wherein the splitting strategy of the decoding data is the same as the splitting strategy of splitting the Polar code tree into s independent decoding sub-trees;

[0075] The s groups of decoding data are used to process the s independent decoding sub-trees to obtain s groups of newly generated decoding data corresponding to the s independent decoding sub-trees;

[0076] The s groups of newly generated decoding data are processed to obtain complete new decoding data.

[0077] Each u value calculation module U_CALC interval 4 extraction of each iteration decoding value. For example, the 4bit-SCL decoding algorithm described in this patent each iteration output 4bit decoding value dec[3:0], then dec[0] to U_CALC_0, dec[1] to U_CALC_1, dec[2] to U_CALC_2, dec[3] to U_CALC_3.

[0078] In one example embodiment, the processing of the at least two groups of new decoding data to obtain new to-be-decoded polar code data comprises:

[0079] Performing an inverse operation of the operation of splitting the decoding data into s groups of decoding data, and restoring the s groups of newly generated decoding data into complete new decoding data.

[0080] When all bit decoding is completed, the decoding data is read, and the decoding sequence is reversely generated according to the sub-encoding tree construction rule.

[0081] The method provided by the embodiments of the present application is described below:

[0082] To overcome the problems and defects of large resource consumption and long decoding delay in the polar decoding process in the related art, a low-complexity and independent segmented polar code decoding scheme is provided, which can obtain the u value required for G node calculation and can be independently and quickly calculated.

[0083] Embodiments of the present application provide an independent segmented polar decoding method and device, so that each segment is independently calculated in the decoding process and does not depend on each other.

[0084] Figure 3 A decoding structure diagram of code length N=4 is provided for the embodiments of the present application. As shown in Figure 3 The decoding array shown in Figure 3 is an N-point encoding tree. i(0), i(1), i(2), i(3) are input values before encoding, and enc(0'), enc(1'), enc(2'), enc(3') are results after encoding. It is assumed that one point is added each time, and idx represents the calculation order, i.e. idx=0 calculates point 0, idx=1 adds point 1, idx=2 adds point 2, idx=3 adds point 3, and then the encoding enable of each point can be obtained:

[0085] en(0')=1

[0086] en(1')=idx[0]

[0087] en(2')=idx[1]

[0088] en(3') = idx[l] & idx[0]

[0089] where idx[i] (i = 0,..., log2(idx) - 1) is the i-th bit of the binary representation of idx.

[0090] According to the above formula, the encoding formula of each point can be obtained:

[0091] enc(j') = en(j') & i(j) + enc(j'), j = 0,..., log2(N) - 1

[0092] Extending the above method, assuming that the encoding array input vector A = [i(0), i(1),..., i(N)] T , the output u value after encoding is the column vector B = [enc(0), enc(1),..., enc(N)] T , and N is the Polar code length N = 2n - 1; then there is a calculation expression (1), as follows:

[0093] B T = MA T (1)

[0094] where M is the encoding enable matrix, the value of which is determined by calculation expression (2);

[0095]

[0096] enc(x, idx) = idx[k-1] x[k-1] & idx[k-2] x[k-2] &... & idx[1] x[1] & idx[0] x[0] ......(2)

[0097] where,

[0098] idx = idx[k-1] * 2 k-1 + idx[k-2] * 2 k-2 +... + idx[1] * 2 + idx[0];

[0099] x = x[k-1] * 2 k-1 + x[k-2] * 2 k-2 +... + x[1] * 2 + x[0];

[0100] K = log2(N);

[0101] For each fixed point, idx can be used as the only input variable, and only one point is added each time, and the u value calculation can be completed by modulo 2 addition.

[0102] Based on the above analysis, it can be determined that for any Polar decoding, the u value calculation can also be segmented and independently calculated by the method provided in the application. For example, the Polar decoding is divided into 4 sub-decoders, and the u value calculation can be divided into 4 u value calculation sub-modules in the same way, and the calculation formula of each sub-module is respectively: B[4i], B[4i-1], B[4i-2], B[4i-3], i = 1, 2... N / 4.

[0103] The method provided in the embodiment of the application can be implemented through the following modules, including:

[0104] F_CALC and G_CALC modules: used to complete LLR calculation, F node calculation and G node calculation in the decoding process;

[0105] MCU: complete the decoding path expansion function;

[0106] Decode decision: complete the decoding path screening and decoding decision output function;

[0107] U_CALC: calculate the u value required for G node calculation according to the output value of Decode decision, and send it to F_CALC and G_CALC modules for the next iteration;

[0108] Decode ouput: read the decoding data from the U_CALC module after all bit decoding is completed, and generate an N bit decoding sequence according to the sub-coding tree construction rule. For example,

[0109] Based on the above modules, the implementation steps of the method provided in the embodiment of the application include:

[0110] Step 01, the polar decoding tree performs LLR (Log-Likelihood Ratio) calculation, path expansion, decoding decision, and outputs the decoding value of the current iteration.

[0111] Step 02, construct a sub-coding tree. Assuming that the Polar code length is N, according to the characteristics of the Polar code tree, the to-be-coded data can be divided into s independent sub-trees in the way of extracting s data intervals, where s = 2 k ,k = 0, 1, 2...

[0112] Step 03, after m bits have been decoded and output, m bit decoding values are divided into s groups according to the extraction method of step 02, and are respectively input into s independent u value calculation modules;

[0113] Step 04, the s independent u value calculation modules calculate the u value required for G node calculation in the next iteration according to the input decoding value.

[0114] Step 05: Repeat steps 01 to 04 until all bits are decoded;

[0115] Step 06: Perform the reverse operation according to the extraction method in Step 2, and interpolate to generate an N-bit decoding sequence.

[0116] Figure 4 A flowchart illustrating the decoding method provided in this application embodiment. Figure 4 As shown in the diagram, the F_CALC and G_CALC modules, the MCU module, the Decode decision module, and the U_CALC module perform iterative decoding as indicated by the arrows in the diagram until all bits are decoded. Assuming m bits are decoded in each iteration, the total number of iterations is N / m, where m is a positive integer.

[0117] Figure 5 This is a schematic diagram of the processing flow of the U-value calculation module provided in an embodiment of this application. Figure 5 As shown, the calculation expression (1) above is used to complete the u-value calculation process. At the beginning of each iteration of decoding, the calculation expression (2) above is updated to calculate the decoding enable signal for each bit. After the Decode decision outputs the decoded value, for the bit with the decoding enable signal of 1, the Adder module is used to add the decoded value of this iteration and the previously decoded value modulo 2, and the result is used as the u-value required for the next decoding G node calculation; for the bit with the decoding enable signal of 0, the Adder module directly outputs the previously decoded value as the u-value required for the next decoding G node calculation. The u_calc_ctrl module selects and outputs the u-value required for the G_CALC module to operate, and controls the start and stop of the G_CALC module. The u_calc_ctrl module is also responsible for storing the calculated u-value back into memory for use in the next u-value calculation. The u_calc_ctrl module also implements a prefetch function to retrieve the u-value required for the next iteration calculation in advance. When the Decode decision outputs the decoded value in the next iteration, the Adder module can immediately perform the calculation.

[0118] After all bits have been decoded, the Decode Output module is started. It reads the decoded data from the U_CALC module and generates an N-bit decoded sequence in reverse according to the sub-decoding tree construction rules. For example, assuming the decoding is divided into 4 sub-decoders, and the bits decoded by each sub-decoder are: A[4i], A[4i-1], A[4i-2], A[4i-3], i = 1, 2...N / 4, the output data after interpolation processing by this module is A[i], i = 1, 2...N.

[0119] The u value calculation method described in the patent does not limit any Polar code segmentation decoding method, but must ensure that each segment extraction data rule and the u value calculation extraction data rule are consistent. If the Polar code coding and decoding process is not segmented, the u value calculation method described in the patent can be used to distribute the u value calculation in multiple independent U_CALC modules, and each U_CALC module contains how many bits of decoding u value calculation, which is divided according to the hardware resources and layout to achieve the compromise between performance and resources.

[0120] The method provided by the embodiment of the application can independently calculate each decoding sub-tree, and the u value required by the G node calculation can be independently and quickly calculated, and the resource consumption is very small.

[0121] Figure 6 A schematic diagram of the data decoding device provided by the embodiment of the application is shown in FIG. 1. As shown in FIG. 1, the data decoding device includes a processor and a memory, and the memory stores a computer program, and the processor invokes the computer program in the processor to implement the method described in any of the above embodiments. Figure 6

[0122] The device provided by the embodiment of the application can obtain the Polar code tree corresponding to the data to be decoded after obtaining the data to be decoded, split the Polar code tree into s independent decoding sub-trees, calculate the U value required by the next iteration G node by using the s independent decoding sub-trees, and independently calculate each decoding sub-tree in the decoding process, thereby improving the processing efficiency.

[0123] The computer storage medium provided by the embodiment of the application stores one or more programs, and the one or more programs can be executed by one or more processors to implement the method described in any of the above embodiments.

[0124] The computer storage medium provided by the embodiment of the application can obtain the Polar code tree corresponding to the data to be decoded after obtaining the data to be decoded, split the Polar code tree into s independent decoding sub-trees, calculate the U value required by the next iteration G node by using the s independent decoding sub-trees, and independently calculate each decoding sub-tree in the decoding process, thereby improving the processing efficiency.

[0125] ​Those of ordinary skill in the art will realize and understand that all or some of the steps in the methods disclosed above and the functional modules / units in the systems and devices can be implemented as software, firmware, hardware, and appropriate combinations thereof. In hardware implementation, the division between the functional modules / units mentioned in the above description does not necessarily correspond to the division of physical components; for example, one physical component can have multiple functions, or one function or step can be performed by several physical components in cooperation. Some or all of the components can be implemented as software executed by a processor, such as a digital signal processor or a microprocessor, or as hardware, or as an integrated circuit, such as an application-specific integrated circuit. Such software can be distributed on computer-readable media, which can include computer storage media (or non-transitory media) and communication media (or transitory media). As is well known to those of ordinary skill in the art, the term computer storage media includes volatile and non-volatile, removable and non-removable media implemented in any method or technology for storage of information such as computer readable instructions, data structures, program modules or other data. Computer storage media includes, but is not limited to, RAM, ROM, EEPROM, flash memory or other memory technology, CD-ROM, digital versatile disks (DVD) or other optical disk storage, magnetic cassettes, magnetic tapes, magnetic disk storage or other magnetic storage devices, or any other medium which can be used to store the desired information and which can be accessed by a computer. Furthermore, it is common and well understood by those of ordinary skill in the art that communication media typically embodies computer readable instructions, data structures, program modules or other data in a modulated data signal such as a carrier wave or other transport mechanism and can include any information delivery media.

Claims

1. A data decoding method, comprising: Obtain the Polar code tree corresponding to the data to be decoded; Obtaining a data extraction interval of the Polar code tree, and performing data extraction on the Polar code tree in a data extraction order of Z shape according to the data extraction interval, to obtain s independent decoding sub-trees, where s is an integer greater than or equal to 2, s = 2 k wherein k = 1, 2, 3, … The s independent decoding subtrees are sent to s pre-set independent U-value calculation modules, wherein the U-value calculation modules are used to calculate the U-value required for the next iteration of node G; The s independent U-value calculation modules are controlled to process the s independent decoding subtrees one by one to obtain s sets of new decoding data; Perform the reverse operation of splitting the decoded data into s sets of decoded data, and restore the s sets of new decoded data into complete new decoded data.

2. The method of claim 1, wherein, If the data extraction interval is s bits, then the Polar code tree is extracted according to the data extraction interval and in a Z-shaped data extraction order to obtain s independent decoding subtrees, including: The Polar code tree is processed by extracting data at intervals of s bits and in a Z-shaped order to obtain s independent decoding subtrees.

3. The method of claim 1, wherein, The process involves obtaining the data extraction interval for the Polar code tree, and then extracting data from the Polar code tree according to the data extraction interval in a Z-shaped order to obtain s independent decoding subtrees, including: obtaining a data puncturing interval s of the Polar code tree i bits, where s i represents the number of bits of the data puncturing interval at the i-th execution According to the data extraction sequence, the data extraction interval is s i bits, data extraction is performed on the Polar code tree to obtain s i independent decoding sub-trees; Determine whether the number of independent decoding subtrees obtained reaches s, and obtain the judgment result; If the result of the judgment is not s, then split s i independent coding sub-trees, and update the value of i to i+1, and repeat until the total number of the obtained coding sub-trees reaches s; wherein i is a positive integer.

4. The method of claim 1, wherein, The control module processes each of the s independent U-value calculation modules in a one-to-one correspondence with the s independent decoding subtrees to obtain s sets of new decoding data, including: According to the pre-acquired decoding data splitting strategy, the pre-acquired decoding data is split into s groups of decoding data, wherein the splitting strategy of the decoding data is the same as the splitting strategy of splitting the Polar code tree into s independent decoding subtrees. Using the s sets of decoded data, the s independent decoded subtrees are processed to obtain s sets of new decoded data corresponding to the s independent decoded subtrees.

5. A data decoding apparatus, comprising a processor and a memory, the memory storing a computer program, the processor calling the computer program in the memory to implement the method as claimed in any one of claims 1 to 4.

6. A computer-readable storage medium storing one or more programs that can be executed by one or more processors to implement the method as claimed in any one of claims 1 to 4.

Citation Information

Patent Citations

  • Parallel decoding method and device for polarization codes

    CN106788453A