WO2021120729A1 - 译码方法、设备、可读存储介质、芯片及计算机程序产品 - Google Patents

译码方法、设备、可读存储介质、芯片及计算机程序产品 Download PDF

Info

Publication number
WO2021120729A1
WO2021120729A1 PCT/CN2020/115399 CN2020115399W WO2021120729A1 WO 2021120729 A1 WO2021120729 A1 WO 2021120729A1 CN 2020115399 W CN2020115399 W CN 2020115399W WO 2021120729 A1 WO2021120729 A1 WO 2021120729A1
Authority
WO
WIPO (PCT)
Prior art keywords
decoding
soft
code
sub
decision
Prior art date
Application number
PCT/CN2020/115399
Other languages
English (en)
French (fr)
Inventor
李沫
Original Assignee
华为技术有限公司
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by 华为技术有限公司 filed Critical 华为技术有限公司
Publication of WO2021120729A1 publication Critical patent/WO2021120729A1/zh

Links

Images

Classifications

    • HELECTRICITY
    • H03ELECTRONIC CIRCUITRY
    • H03MCODING; DECODING; CODE CONVERSION IN GENERAL
    • H03M13/00Coding, decoding or code conversion, for error detection or error correction; Coding theory basic assumptions; Coding bounds; Error probability evaluation methods; Channel models; Simulation or testing of codes
    • H03M13/03Error detection or forward error correction by redundancy in data representation, i.e. code words containing more digits than the source words
    • H03M13/05Error detection or forward error correction by redundancy in data representation, i.e. code words containing more digits than the source words using block codes, i.e. a predetermined number of check bits joined to a predetermined number of information bits
    • H03M13/11Error detection or forward error correction by redundancy in data representation, i.e. code words containing more digits than the source words using block codes, i.e. a predetermined number of check bits joined to a predetermined number of information bits using multiple parity bits
    • H03M13/1102Codes on graphs and decoding on graphs, e.g. low-density parity check [LDPC] codes
    • H03M13/1105Decoding
    • H03M13/1111Soft-decision decoding, e.g. by means of message passing or belief propagation algorithms
    • HELECTRICITY
    • H03ELECTRONIC CIRCUITRY
    • H03MCODING; DECODING; CODE CONVERSION IN GENERAL
    • H03M13/00Coding, decoding or code conversion, for error detection or error correction; Coding theory basic assumptions; Coding bounds; Error probability evaluation methods; Channel models; Simulation or testing of codes
    • H03M13/03Error detection or forward error correction by redundancy in data representation, i.e. code words containing more digits than the source words
    • H03M13/05Error detection or forward error correction by redundancy in data representation, i.e. code words containing more digits than the source words using block codes, i.e. a predetermined number of check bits joined to a predetermined number of information bits
    • H03M13/11Error detection or forward error correction by redundancy in data representation, i.e. code words containing more digits than the source words using block codes, i.e. a predetermined number of check bits joined to a predetermined number of information bits using multiple parity bits
    • HELECTRICITY
    • H03ELECTRONIC CIRCUITRY
    • H03MCODING; DECODING; CODE CONVERSION IN GENERAL
    • H03M13/00Coding, decoding or code conversion, for error detection or error correction; Coding theory basic assumptions; Coding bounds; Error probability evaluation methods; Channel models; Simulation or testing of codes
    • H03M13/29Coding, decoding or code conversion, for error detection or error correction; Coding theory basic assumptions; Coding bounds; Error probability evaluation methods; Channel models; Simulation or testing of codes combining two or more codes or code structures, e.g. product codes, generalised product codes, concatenated codes, inner and outer codes

Definitions

  • This application relates to the field of communication technology, and in particular to a decoding method, device, readable storage medium, chip, and computer program product.
  • the encoding end encodes the data block to obtain the error correction code, and adds the error correction code to the data block to obtain the code word, and sends the code word to the decoding device, which can be used by software Decision and hard decision decode the received codeword.
  • FEC forward error correction coding
  • the decoding process of the decoding device can be as follows: the decoding device performs soft-decision decoding on multiple codewords. When the number of soft-decision decoding this time has not reached the maximum number of iterations, and the decoding result of this time is When there are more errors in the decoding device, the decoding device performs soft-decision decoding again on the decoding result of this time; when the number of soft-decision decoding at any one time has not reached the maximum number of iterations, and the error in any decoding result is relatively small, Jump out of soft decision decoding. The decoding device performs multiple iterations of hard decision decoding on any one of the decoding results until the maximum number of iterations is reached. The decoding device treats the decoding result of the last hard decision decoding as multiple The final decoding result of the codeword.
  • the embodiments of the present application provide a decoding method, device, readable storage medium, chip, and computer program product, which can reduce the power consumption when codewords are decoded for soft decision.
  • the technical scheme is as follows:
  • a decoding method includes:
  • the first decoding result of the subcode in the previous soft decision decoding is obtained, and the code The word includes multiple subcodes;
  • the state information of the sub-code is generated, and the state information is used to indicate the translation of the sub-code in the previous soft-decision decoding. Whether the code result is valid;
  • the first decoding result of the sub-code in the last soft-decision decoding is used as the sub-code. The first decoding result in this soft decision decoding.
  • This method judges the first decoding result of the sub-code in the last soft-decision decoding through the generation status information of the sub-code, if the first decoding result of the sub-code in the last soft-decision decoding is valid , There is no need to perform another soft-decision decoding of the sub-code, and the decoding result of the sub-code in the previous soft-decision decoding can be directly used as the decoding result of the sub-code in this soft-decision decoding. Therefore, there is no need to perform soft-decision decoding on each subcode in the codeword, and the power consumption for soft-decision decoding on the codeword can be reduced.
  • the generating the state information of the subcode according to the first decoding result of the subcode in the last soft decision decoding includes:
  • the state information is determined.
  • the determining the state information based on the value of the product includes:
  • the status information indicates that the decoding result of the subcode in the last soft decision decoding is valid; otherwise, the status information indicates that the subcode was decoded in the last soft decision decoding. The decoding result in is invalid.
  • the method further includes:
  • the status information indicates that the decoding result of the sub-code in the last soft-decision decoding is valid, and the current soft-decision decoding of the sub-code is not the last soft-decision decoding in an iterative decoding process
  • the second decoding result of the sub-code in this soft-decision decoding is generated, and the one iterative decoding process includes Multiple soft decision decoding.
  • the second decoding result of the sub-code in this soft-decision decoding is generated according to the first decoding result of the sub-code in the previous soft-decision decoding include:
  • the method further includes:
  • the first decoding result of the sub-code in this soft-decision decoding includes the hard output result of each bit of the sub-code in this soft-decision decoding;
  • the second decoding result of the sub-code in this soft-decision decoding includes the soft output result of each bit of the sub-code in this soft-decision decoding.
  • the method further includes:
  • the first buffer uses To store the first decoding result generated during soft-decision decoding for each subcode in at least one codeword;
  • the buffer is used to store the second decoding result generated during soft decision decoding for each subcode in at least one codeword.
  • the method further includes:
  • the current soft decision decoding of the subcode is the last iterative decoding in an iterative decoding process
  • the first decoding result of the subcode in this soft decision decoding is output.
  • the method further includes:
  • the soft-decision decoding of the subcode is the last iterative decoding in an iterative decoding process
  • the subcode is The first decoding result of this soft decision decoding is used as the final decoding result of the sub-code, and the first decoding result of the sub-code in this soft decision is output.
  • the codeword to be processed is an iteration
  • the decoding process performs iterative decoding of codewords.
  • a decoding device in a second aspect, includes:
  • the input interface is used to obtain the first decoding of the sub-code in the previous soft-decision decoding for any sub-code in the code word when this soft-decision decoding is performed on any code word
  • the codeword includes multiple subcodes
  • the processor is configured to generate state information of the sub-code according to the first decoding result of the sub-code in the last soft-decision decoding, and the state information is used to indicate that the sub-code was in the last soft-decision Whether the decoding result in decoding is valid;
  • the processor is further configured to: when the status information indicates that the decoding result of the sub-code in the previous soft-decision decoding is valid, translate the first translation of the sub-code in the previous soft-decision decoding.
  • the code result is used as the first decoding result of the sub-code in this soft decision decoding.
  • the processor is configured to:
  • the state information is determined.
  • the processor is configured to:
  • the status information indicates that the decoding result of the subcode in the last soft decision decoding is valid; otherwise, the status information indicates that the subcode is in the last soft decision The decoding result in the decoding is invalid.
  • the processor is further configured to: when the status information indicates that the decoding result of the sub-code in the previous soft-decision decoding is valid, and the current soft-decision decoding of the sub-code is valid
  • the decision decoding is not the last soft decision decoding in an iterative decoding process, according to the first decoding result of the sub-code in the previous soft-decision decoding, the sub-code is generated in this soft-decision decoding.
  • the one iterative decoding process includes multiple soft-decision decoding.
  • the processor is configured to perform according to the symbol value corresponding to the first decoding result of the sub-code in the last soft-decision decoding and the sub-code in the last soft-decision decoding.
  • the bit width value of the second decoding result in the decoding is used to generate the second decoding result of the sub-code in this soft-decision decoding.
  • the input interface is also used to obtain the sub-code in the previous soft-decision decoding when the state information indicates that the decoding result of the sub-code in the last soft-decision decoding is invalid.
  • the second decoding result in soft decision decoding is also used to obtain the sub-code in the previous soft-decision decoding when the state information indicates that the decoding result of the sub-code in the last soft-decision decoding is invalid.
  • the processor is further configured to perform soft-decision decoding on the sub-code based on the second decoding result of the sub-code in the previous soft-decision decoding to obtain the sub-code in the current soft-decision decoding.
  • the first decoding result in the code and the second decoding result of the sub-code in this soft decision decoding is further configured to perform soft-decision decoding on the sub-code based on the second decoding result of the sub-code in the previous soft-decision decoding to obtain the sub-code in the current soft-decision decoding.
  • the first decoding result of the sub-code in this soft-decision decoding includes the hard output result of each bit of the sub-code in this soft-decision decoding;
  • the second decoding result of the sub-code in this soft-decision decoding includes the soft output result of each bit of the sub-code in this soft-decision decoding.
  • the device further includes a first buffer and a second buffer, and the first buffer is used to store the first decoding generated during soft decision decoding for each subcode in the at least one codeword.
  • the second buffer is used to store the second decoding result generated during soft decision decoding for each subcode in at least one codeword;
  • the processor is also used for:
  • the second decoding result of the sub-code in the previous soft-decision decoding in the second buffer is updated to the second decoding result of the sub-code in the current soft-decision decoding.
  • the device further includes:
  • the output interface is used to output the first decoding of the sub-code in this soft-decision decoding when the current soft-decision decoding of the sub-code is the last iterative decoding in an iterative decoding process result.
  • a decoding device for executing the above decoding method.
  • the decoding device includes a functional module for executing the decoding method provided in the foregoing first aspect or any optional manner of the foregoing first aspect.
  • a readable storage medium is provided, and at least one instruction is stored in the storage medium, and the instruction is loaded and executed by a processor to implement the operations performed by the foregoing decoding method.
  • a chip in a fifth aspect, includes a processor, and the processor is configured to implement the operations performed by the decoding method provided in the foregoing first aspect or any optional manner of the foregoing first aspect.
  • a computer program product includes one or more instructions, and the one or more instructions can be executed by a processor of a decoding device to implement the first aspect or the first aspect described above.
  • the operation performed by the decoding method provided by any of the optional methods.
  • FIG. 1 is a schematic diagram of an encoding and decoding system provided by an embodiment of the present application
  • FIG. 2 is a schematic diagram of a codeword provided by an embodiment of the present application.
  • Fig. 3 is a schematic diagram of an iterative decoding process provided by an embodiment of the present application.
  • Figure 4 is a schematic structural diagram of a decoding device provided by an embodiment of the present application.
  • Figure 5 is a schematic structural diagram of a decoding device provided by an embodiment of the present application.
  • FIG. 6 is a schematic diagram of an iterative decoding process provided by an embodiment of the present application.
  • FIG. 7 is a flowchart of a first iterative decoding provided by an embodiment of the present application.
  • FIG. 8 is a flowchart of a decoding method provided by an embodiment of the present application.
  • FIG. 9 is a flowchart of decoding codewords provided by an embodiment of the present application.
  • FIG. 10 is a schematic structural diagram of a decoding device provided by an embodiment of the present application.
  • FIG. 1 is a schematic diagram of an encoding and decoding system provided by an embodiment of the present application.
  • the encoding and decoding system 100 may include an encoding device 101 and a decoding device 102.
  • the encoding device 101 is used to encode each data block in the data stream to obtain the codeword corresponding to each data block, and send the codeword into a code stream to the decoding device 102.
  • the data stream can be any data stream such as a video stream, an audio stream, and a text stream.
  • a codeword is also a result of encoding a data block by the encoding device 101, each codeword can be regarded as a frame, and the data in a codeword is also a frame of data.
  • a codeword is the basic data unit for decoding by a decoding device.
  • a codeword can include multiple rows and multiple columns of bits.
  • the bits in a codeword can form multiple subcodes.
  • One subcode can include multiple subcodes.
  • a bit and multiple bits can form a subcode of any shape.
  • a column of bits in a codeword can form a bar code, for example, the subcode in codeword 1 in Figure 2 1.
  • Fig. 2 is a schematic diagram of a codeword provided by an embodiment of the present application.
  • a row of bits can form a flat sub-code, such as sub-code 2 in code word 2 in FIG. 2.
  • multiple bits in different rows and columns in a codeword form a diagonal subcode, such as subcode 3 and subcode 4 in codeword 3 in FIG. 2.
  • multiple bits in different rows and columns in a codeword form a broken line-shaped subcode, such as subcode 5 of codeword 4 in FIG. 2.
  • the shape of each subcode in a codeword can be the same or different.
  • the bits of a codeword can be in multiple subcodes, and the bits in multiple subcodes can be regarded as crossed bits. , That is, there may be at least one cross bit between multiple subcodes. For example, there is one cross bit between subcode 3 and subcode 4 in FIG. 2.
  • the embodiment of the present application does not specifically limit the shape of the sub-code in the codeword.
  • a codeword includes 128*128 bits, where each 128 bits is a row, and each 128 bits is a column, that is, the codeword may include 128 rows of subcodes or 128 columns of subcodes.
  • the encoding device 101 may use a turbo product (turbo product code, TPC) code encoding scheme for encoding, and the bits of the codeword obtained by the encoding scheme are divided by a horizontal BCH (bose ray hocquenghem) sub-code and a Vertical BCH subcode protection.
  • TPC turbo product code
  • the decoding device 101 encodes one frame of data (for example, 128bit*128bit) as the basic unit, and the data in two adjacent frames meets the coding relationship of BCH(n,k), where n is the code of a BCH subcode Long, k is the information bit of a BCH subcode.
  • the decoding device 101 performs horizontal BCH (256, 239) codeword encoding on the 0th frame and the 1st frame in a data stream, that is, according to the row, the bit position of each row in the 0th frame and the 1st frame is Encode the encoded data to obtain the encoded 0th frame and the encoded first frame; then, the decoding device 101 performs longitudinal BCH (256, 239) codeword encoding on the encoded first and second frames, and also That is, according to the column, the data on each column bit position of the encoded first frame and the second frame are encoded, and the first frame after the second encoding and the second frame after the first encoding are obtained, thereby encoding twice Each bit in the subsequent first frame is protected by a sub-code in the horizontal direction and a sub-code in the vertical direction.
  • the decoding device 102 is used to decode the code words in the received code stream. Each time the decoding device 102 receives a codeword, it can perform an iterative decoding process on the target number of codewords. The target number of codewords can include the newly received codeword and the previously decoded codeword. Each time the decoding device 102 receives a new codeword, it performs an iterative decoding process on the target number of codewords. When a new codeword is received again, it performs an iterative decoding process on the target number of codewords. The word undergoes an iterative decoding process.
  • the target number is the preset number of codewords to be decoded in an iterative decoding process.
  • Each sub-code in an iterative decoding process can be selected by a sliding window, and the target number is also a sliding window.
  • the dimension of the window can also be said that each codeword in a sliding window undergoes an iterative decoding process.
  • An iterative decoding process can include M iterations of decoding, where M is an integer greater than 0, and M is the maximum number of iterations of an iterative decoding process. In an iterative decoding process, if M iterations are performed Decoding, the iterative decoding process ends, and the decoding result of the last iterative decoding is the final decoding result of the iterative decoding process.
  • FIG. 3 shows a schematic diagram of an iterative decoding process provided by an embodiment of the present application.
  • the dimension of the sliding window in FIG. 3 is 6, and it is assumed that the codewords in the sliding window include the P-6th codeword to the Pth codeword.
  • the decoding device starts to iterate from the P-5th codeword to the Pth codeword
  • the decoding device When iterative decoding 5 is completed, the decoding device will The decoded result is output, that is, the P-5th codeword after decoding is output.
  • the horizontal soft-decision decoding is to perform soft-decision decoding on each sub-code in the codeword according to the row. For example, for a codeword, the decoding device first performs soft-decision decoding on the first row of sub-codes in the codeword. Code, and then perform soft-decision decoding on the second row of sub-codes in the codeword. Of course, the decoding device can also perform soft-decision decoding on multiple rows of sub-codes in parallel.
  • Vertical soft-decision decoding is to perform soft-decision decoding on each sub-code in a codeword according to columns.
  • the decoding device first performs soft-decision decoding on the first column of sub-codes in the codeword, and then Perform soft decision decoding on the second column of subcodes in the codeword.
  • the decoding device can perform soft decision decoding on multiple columns of subcodes in parallel.
  • the decoding device 400 includes:
  • the input interface 401 is used to obtain the first translation of the sub-code in the previous soft-decision decoding for any sub-code in the code word when this soft-decision decoding is performed on any code word.
  • Code result the code word includes a plurality of sub-codes;
  • the processor 402 is configured to generate state information of the sub-code according to the first decoding result of the sub-code in the last soft-decision decoding, and the state information is used to indicate the sub-code in the last soft-decision decoding. Determine whether the decoding result in the decoding is valid;
  • the processor 402 is further configured to: when the status information indicates that the decoding result of the sub-code in the previous soft-decision decoding is valid, determine the first sub-code in the previous soft-decision decoding. The decoding result is used as the first decoding result of the sub-code in this soft decision decoding.
  • the processor 402 is configured to:
  • the state information is determined.
  • the processor 402 is configured to:
  • the status information indicates that the decoding result of the subcode in the last soft decision decoding is valid; otherwise, the status information indicates that the subcode was decoded in the last soft decision decoding. The decoding result in is invalid.
  • the processor 402 is further configured to: when the status information indicates that the decoding result of the sub-code in the previous soft-decision decoding is valid, and the current soft-decision decoding of the sub-code is not In the last soft-decision decoding in an iterative decoding process, the first decoding result of the sub-code in the previous soft-decision decoding is generated according to the first decoding result of the sub-code in this soft-decision decoding.
  • Two decoding results, the one iterative decoding process includes multiple soft-decision decoding.
  • the processor 402 is configured to, according to the symbol value corresponding to the first decoding result of the sub-code in the previous soft-decision decoding and the value of the sub-code in the previous soft-decision decoding, The bit width value of the second decoding result generates the second decoding result of the sub-code in this soft decision decoding.
  • the input interface 401 is further configured to obtain the sub-code in the previous soft-decision decoding when the state information indicates that the decoding result of the sub-code in the last soft-decision decoding is invalid.
  • the processor 402 is further configured to perform soft-decision decoding on the sub-code based on the second decoding result of the sub-code in the previous soft-decision decoding, to obtain that the sub-code is in the current soft-decision decoding.
  • the first decoding result in the decoding and the second decoding result of the sub-code in this soft-decision decoding is further configured to perform soft-decision decoding on the sub-code based on the second decoding result of the sub-code in the previous soft-decision decoding, to obtain that the sub-code is in the current soft-decision decoding.
  • the first decoding result of the sub-code in this soft-decision decoding includes the hard output result of each bit of the sub-code in this soft-decision decoding; the sub-code is in this
  • the second decoding result in the second soft-decision decoding includes the soft output result of each bit of the sub-code in this soft-decision decoding.
  • the device 400 further includes a first buffer and a second buffer.
  • the first buffer is used to store the first decoding result generated during soft decision decoding for each subcode in the at least one codeword.
  • the second buffer is used to store the second decoding result generated during soft decision decoding for each subcode in at least one codeword;
  • the processor 402 is further configured to:
  • the second decoding result of the sub-code in the previous soft-decision decoding in the second buffer is updated to the second decoding result of the sub-code in the current soft-decision decoding.
  • the first cache or the second cache mentioned in this application may be a memory object cache system or a memory
  • the memory may include registers, volatile memory, such as random access memory (random memory). -access memory, RAM); memory can also include non-volatile memory, such as flash memory (flash memory), hard disk drive (HDD) or solid-state drive (SSD) ), cloud storage (cloud storage), network attached storage (NAS), network drive (network drive), etc.; the storage may also include a combination of the above-mentioned types of storage or any other media or media with storage functions. product.
  • the first cache and the second cache may also belong to the same memory, that is, the first cache and the second cache may respectively be different storage spaces in the same memory.
  • the device 400 further includes:
  • the output interface is used to output the first decoding of the sub-code in this soft-decision decoding when the current soft-decision decoding of the sub-code is the last iterative decoding in an iterative decoding process result.
  • the decoding device judges the first decoding result of the sub-code in the last soft-decision decoding through the generation status information of the sub-code, if the decoding result of the sub-code in the last soft-decision decoding is valid , There is no need to perform another soft-decision decoding of the sub-code, and the first decoding result of the sub-code in the last soft-decision decoding can be directly used as the first decoding result of the sub-code in this soft-decision decoding. As a result of the decoding, there is no need to perform soft-decision decoding on each subcode in the codeword, and the power consumption for soft-decision decoding on the codeword can be reduced.
  • the structure of the decoding device may also be as shown in FIG. 5, where FIG. 5 is a schematic structural diagram of a decoding device provided by an embodiment of the present application, and the decoding device 500 includes a variable configuration Or there is a big difference due to different performances, which may include one or more processors (central processing units, CPU) 501 and one or more memories 502, where at least one instruction is stored in the memory 502, and the at least one Instructions are loaded and executed by the processor 501 to implement the methods provided in the following method embodiments.
  • the decoding device 500 may also have components such as a wired or wireless network interface, a keyboard, and an input and output interface for input and output.
  • the decoding device 500 may also include other components for implementing device functions, which are not described here. Go into details.
  • a readable storage medium such as a memory including instructions, which may be executed by a processor in a terminal to implement the methods in the following embodiments.
  • the readable storage medium may be read-only memory (ROM), RAM, compact disc read-only memory (CD-ROM), magnetic tape, floppy disk, optical data storage device, etc.
  • the decoding device receives The soft information of the first codeword in the sliding window, and the soft information of the first codeword is stored in the second buffer.
  • the soft information of a codeword includes the soft information of each bit of a codeword.
  • Each bit of the codeword is represented by a numerical value in the target form.
  • the numerical value in the target form can be a floating-point value or a fixed-point numerical quantized to multiple values, and the sign value of the numerical value in the target form can represent a bit.
  • the value of a target form is also a bit of soft information.
  • the soft information of the codewords other than the first codeword has been stored in the previous iterative decoding process, so when the first codeword is After the soft information is stored in the second buffer, the soft information of each codeword in the sliding window is stored in the second buffer.
  • the processor reads the soft information of the codeword from the second buffer, and based on the codeword of each codeword Soft information, each codeword is decoded by soft decision, and the soft output result and hard output result of the codeword are obtained.
  • the soft output result of the codeword includes the soft output result of each subcode in the codeword, and the soft information can be used.
  • the hard output result of the codeword includes the hard output result of each subcode in the codeword, which can be expressed in the form of hard information, which means that the value of the bit of the codeword is represented by 0 or 1; processing The processor updates the soft information of the codeword in the second buffer to the soft output result of the codeword in this soft decision decoding; the processor stores the hard output result of the codeword in the first buffer. At this time, the iteration The first iterative decoding in the decoding process ends.
  • the decoding device For any iterative decoding other than the first iterative decoding in this iterative decoding process, the decoding device performs any sub-code of the codeword in the iterative decoding when performing any iterative decoding. , The controller obtains the hard output result of the subcode in the last soft decision decoding from the first buffer, and judges whether the decoding result of the subcode in the last soft decision decoding is valid.
  • the decoding result generator sends a notification message, which is used to indicate that based on the hard output result of the subcode in the last soft decision decoding, generate the soft output result of the subcode in this iterative decoding; received After the notification message, the decoding result generator generates the soft output result of the sub-code in this soft-decision decoding according to the hard output result of the sub-code in the previous soft-decision decoding, and stores it in the second buffer
  • the soft output result of the sub-code in the last soft-decision decoding is updated to the soft output result of the sub-code in this soft-decision decoding, so that when the sub-code is decoded in the next iteration, the processor can The soft output result of the subcode in this soft decision decoding is obtained from the second buffer.
  • the controller judges whether the decoding result of the subcode in the last soft decision decoding is valid, if it is invalid, the controller notifies the processor to obtain the soft decision of the subcode in the last soft decision decoding from the second buffer.
  • Output result when the processor obtains the soft output result of the sub-code in the last soft-decision decoding from the second buffer, the processor performs soft-decision on the soft output result of the sub-code in the last soft-decision decoding Decoding, get the soft output result of the sub-code in this soft decision and the hard output result of the sub-code in this soft decision; the processor will decode the sub-code in the first buffer in the last soft decision.
  • the hard output result in the code is updated to the hard output result of the sub-code in this soft-decision decoding, so that when the sub-code is decoded the next iteration, the controller can obtain the sub-code from the first buffer
  • the hard output result in this soft decision decoding ; the processor can also update the soft output result of the subcode in the second buffer in the last soft decision decoding to the subcode in this soft decision decoding
  • the soft output result of the sub-code so that when the sub-code is decoded in the next iteration, the processor can obtain the soft output result of the sub-code in this soft-decision decoding from the second buffer.
  • the processor When decoding in the last iteration, the processor outputs the hard output result of the last codeword in the iteration window in the last iteration decoding as the final decoding result of the last codeword.
  • the processor can perform soft-decision decoding on multiple sub-codes in parallel.
  • the processor can include multiple sub-processors, and each sub-processor can perform parallel decoding on at least one sub-code. The code is decoded with soft decision.
  • the decoding device can perform the first soft-decision decoding on a newly received codeword and at least one codeword decoded in the previous iterative decoding process; then, the decoding The device may perform subsequent iterative decoding on codewords other than the newly received codeword based on the decoding result of the first soft decision decoding.
  • the specific process of the first iterative decoding performed by the decoding device in the current iterative decoding process refer to the flowchart of the first iterative decoding provided by the embodiment of the present application shown in FIG. 7. The process may include the following steps 701-705.
  • the decoding device After receiving the soft information of a codeword, the decoding device stores the soft information of the codeword in the second buffer of the decoding device.
  • the code word is any code word in a code stream received by the decoding device. Since a code word includes multiple rows and multiple columns of bits, the soft information of the code word may include the information of each bit in the code word. Soft information.
  • the second buffer is used to store the second decoding result generated during soft decision decoding for each subcode in at least one codeword, where the second decoding result can be expressed in the form of soft information, and the second buffer stores The data of may include data in the form of soft information. Therefore, the decoding device can store the soft information of the codeword in association with each bit of the codeword.
  • the decoding device may store the soft information of each bit of the codeword in a storage space of the second buffer, and one storage space corresponds to a storage address; when each bit of the codeword is After each bit of soft information is stored, the decoding device generates the first stored information of the codeword.
  • the first stored information of the codeword may include the bit identifier of each bit and the soft information of each bit.
  • the storage address and the codeword identifier of the codeword after the decoding device generates the first storage information of the codeword, the first storage information of the codeword can be stored in the target storage space in the second buffer.
  • the target storage space in the second buffer is used to store the first storage information of each codeword, so that each bit in the codeword can be searched from the second buffer according to the first storage information of the codeword in the target storage space.
  • the bit identifier of a bit is used to uniquely indicate a bit
  • the bit identifier of a bit may be the number of a bit in the codeword, for example, when the bit is the i-th bit in the codeword Bit, the bit identifier of the bit is i, and i is a positive integer.
  • the bit identifier of a bit can also be the position information of a bit in the codeword. For example, if a bit is located in the xth row and yth column of the codeword, the bit identifier of the bit is (x, y ), x and y are both positive integers.
  • the embodiment of the present application takes the position information with the bit identifier as the bit position as an example for description.
  • the codeword identifier of the codeword is used to uniquely indicate the codeword.
  • the codeword identifier of the codeword may be the number of the codeword in the codestream. For example, the codeword is the i-th codeword in a codestream, Then the codeword identifier of the codeword is i.
  • the codeword identifier of the codeword may also be the frame number corresponding to the codeword. For example, if the data in the codeword is data of the i-th frame, the codeword identifier of the codeword is the i-th frame.
  • the embodiment of the present application takes the codeword identification as the frame number as an example for description.
  • the decoding device After receiving the soft information of a codeword, the decoding device determines a codeword to be processed in the iterative decoding process, and the codeword to be processed includes the codeword and multiple decoded codewords.
  • the codeword to be processed is a codeword for iterative decoding in an iterative decoding process.
  • the decoding device can determine multiple codewords to be processed by moving the sliding window. When the sliding window moves forward by one codeword, the newly received codeword by the decoding device is the first codeword in the sliding window. , The codewords in the sliding window are determined multiple codewords to be processed. Still taking the sliding window in FIG. 3 as an example, the P-th codeword in FIG. 3 is also the codeword newly received by the decoding device , The P-6th codeword to the P-1th codeword is the at least one codeword.
  • the decoding device Since the decoding device receives a new codeword, it can determine multiple to-be-processed codewords, and perform an iterative decoding process on the multiple to-be-processed codewords. Therefore, the newly received code Any code word other than the word is a decoded code word.
  • the decoding device obtains the soft information of each target codeword from the second buffer, and the target codeword It includes the codeword and at least one codeword among the multiple codewords that have been decoded.
  • the decoding device can obtain the soft information of each target codeword from the second buffer according to the storage address recorded in the first storage information of each target codeword.
  • the soft information of the codeword is the soft information of the codeword in the code stream received by the decoding device, and the soft information of the decoded codeword is the soft output result of the decoded codeword in the last soft decision decoding.
  • the difference between the codeword identifier of the at least one codeword and the codeword identifier of the codeword is less than or equal to the target difference value, where the target difference value may be 1, for example, the target code of the first iterative decoding in FIG. 3
  • the words are the P-th codeword and the P-1th codeword.
  • the difference between the codeword identifiers of the P-th codeword and the P-1th codeword is 1.
  • the target difference can also be other values.
  • the application embodiment does not specifically limit the value of the target difference.
  • the decoding device performs soft-decision decoding on each target codeword based on the soft information of each target codeword, and obtains the decoding result of each target codeword in this soft-decision decoding, a target codeword
  • the decoding result in this soft-decision decoding includes the first decoding result of a target codeword in this soft-decision decoding and the second decoding result of a target codeword in this soft-decision decoding .
  • the decoding device Based on the soft information of each target codeword, the decoding device performs a soft decision decoding process on each target codeword, that is, the decoding device performs soft decision decoding on the soft information of each target codeword.
  • the decoding device can perform horizontal soft-decision decoding on the soft information of each target codeword, that is, perform soft-decision decoding on each sub-code in each target codeword according to the line.
  • the embodiment of the present application does not limit the specific process of soft-decision decoding of the soft information of any codeword.
  • any codeword is subjected to soft-decision decoding, and any codeword can be decoded in this soft-decision decoding.
  • any codeword is decoded in this soft-decision decoding.
  • the decoding result includes the first decoding result of any codeword in this soft decision decoding and the second decoding result of any codeword in this soft decision decoding.
  • the first decoding result of any codeword in this soft-decision decoding includes the first decoding result of each sub-code in any codeword in this soft-decision decoding, and each sub-code is in this soft-decision decoding.
  • the first decoding result in soft-decision decoding includes the hard output result of each bit of a subcode in this soft-decision decoding, and the second decoding result of any codeword in this soft-decision decoding.
  • Including the second decoding result of each sub-code in this soft-decision decoding of any codeword, and the first decoding result of each sub-code in this soft-decision decoding includes each sub-code including one sub-code The soft output result of each bit in this soft decision decoding.
  • the decoding device stores the first decoding result of each target codeword in this soft decision decoding in the first buffer, and stores the second decoding of each target codeword in this soft decision decoding.
  • the result is stored in the second buffer, and the first buffer is used to store the first decoding result generated during soft-decision decoding for each subcode in the at least one codeword.
  • the decoding device can store the first decoding result of the target codeword in this soft decision decoding in association with each bit of the target codeword. In a possible manner, the decoding device can store the hard output result of each bit of the target codeword in this soft decision decoding in a storage space of the first buffer, and one storage space corresponds to one storage space.
  • the decoding device After each bit of the target codeword has been stored in the hard output result of this soft decision decoding, the decoding device generates the second storage information of the target codeword, and the second storage information of the codeword 2.
  • the storage information may include the bit identifier of each bit, the storage address of the hard output result of each bit in this soft decision decoding, and the codeword identifier of the target codeword; when the decoding device generates the target
  • the second storage information of the target codeword can be stored in the target storage space in the first cache.
  • the target storage space in the first cache is used to store the second storage of each codeword. Information, so that the subsequent hard output result of each bit in the target codeword in this soft decision decoding can be searched from the first buffer according to the second storage information of the target codeword in the target storage space.
  • the decoding device can query the second storage information of the target codeword from the target storage space of the first buffer, and obtain the second storage information from the target codeword. Determine the first decoding result of the target codeword in the first buffer in the last soft-decision decoding; the decoding device decodes the target codeword in the first buffer in the first soft-decision decoding The result is updated as the first decoding result of the target codeword in this soft decision decoding. Wherein, the decoding device updates the first decoding result of the target codeword in the last soft decision decoding in the first buffer to the first decoding result of the target codeword in this soft decision decoding.
  • the decoding device updates the first decoding result of each subcode of the target subcode in the first buffer in the last soft decision decoding to the first decoding result of each subcode of the target subcode in this soft decision decoding.
  • One decoding result In a possible implementation, the decoding device updates the hard output result of each bit of the target codeword in the first buffer in the last soft decision decoding to that each bit of the target codeword is in the current time. Hard output result in soft decision decoding.
  • the decoding device can query the first storage information of the target codeword from the target storage space of the second cache, and determine the target code in the second cache from the first storage information of the target codeword The second decoding result of the last soft-decision decoding of the word; the decoding device updates the second decoding result of the target codeword in the second buffer in the last soft-decision decoding to that the target codeword is in the local The second decoding result in the second soft decision decoding.
  • the process in which the decoding device updates the second decoding result of the target codeword in the last soft-decision decoding in the second buffer to the second decoding result of the target codeword in this soft-decision decoding It can be: the decoding device updates the second decoding result of each sub-code of the target codeword in the second buffer in the previous soft-decision decoding to the sub-code of the target codeword in this soft-decision decoding The second decoding result in.
  • the decoding device updates the hard output result of each bit of the target codeword in the second buffer in the last soft decision decoding to that each bit of the target codeword is in the current time. Hard output result in soft decision decoding.
  • the decoding device After the decoding device has stored the decoding result of each target codeword in this soft decision decoding, the first iterative decoding of multiple to-be-processed codewords by the decoding device ends, and the decoding device can Perform subsequent iterative decoding on codewords other than the newly received codeword among the multiple to-be-processed codewords. For any iterative decoding other than the first iterative decoding in an iterative decoding process and any codeword in any one of the iterative decoding processes, the decoding device can complete the task in units of one subcode.
  • the decoding device performs this soft-decision decoding on any codeword, for any subcode in the codeword, obtain the first decoding result of the subcode in the previous soft-decision decoding.
  • the codeword includes multiple subcodes.
  • This soft-decision decoding is any iterative decoding except the first iterative decoding in the current iterative decoding process.
  • the decoding device can perform this soft-decision decoding on multiple codewords. Among them, these multiple The codeword includes the codeword during the last iterative decoding process in the current iterative decoding process, and also includes the codeword during the iterative decoding process performed in the previous iterative decoding process. Still taking Fig.
  • this soft-decision decoding is the second iterative decoding in an iterative decoding process
  • the multiple codewords that the decoding device performs this soft-decision decoding are the P-1th The codeword and the P-2th codeword, where the P-1th codeword is the codeword in the first iterative decoding process in the current iterative decoding process, and the P-2th codeword is the previous iterative decoding process.
  • the code word for iterative decoding in the coding process is the P-1th The codeword and the P-2th codeword
  • the decoding device Since the decoding device will update the first decoding result of the codeword in the second buffer to the latest first decoding result of the codeword after each soft-decision decoding of a codeword, the decoding device can The latest decoding result of the codeword stored in the second buffer is regarded as the first decoding result of the codeword in the last soft-decision decoding. Therefore, the last soft-decision decoding may be in the current iteration. In the decoding process, the last iterative decoding of this iterative decoding may also be an iterative decoding in the previous iterative decoding process.
  • this iterative decoding when the decoding device performs this soft-decision decoding on any codeword, it can either perform horizontal soft-decision decoding on the codeword, or perform vertical soft-decision decoding on the codeword.
  • Decision decoding if the last iterative decoding in the current iterative decoding process is horizontal soft-decision decoding, then this soft-decision decoding is vertical soft-decision decoding, otherwise, this soft-decision decoding is horizontal soft-decision decoding For the code, still taking the example of Fig. 3, the current iterative decoding is the second iterative decoding. Since the first iterative decoding is the horizontal soft-decision decoding, the second iterative decoding is the vertical soft-decision decoding.
  • the codeword includes multiple sub-codes. If this soft-decision decoding is vertical soft-decision decoding, any sub-code in the multiple sub-codes is composed of bits in any column of the code word.
  • the decision decoding is horizontal soft decision decoding, and any one of the multiple subcodes is composed of bits in any row of the codeword.
  • the decoding device can determine multiple groups of bits with the same ordinate from the second storage information of the codeword, and each group of bits forms a subcode.
  • Code when any subcode is composed of bits in any row of the codeword, the decoding device can determine multiple groups of bits with the same abscissa from the second storage information of the codeword, and each group of bits is composed of A subcode.
  • the decoding device obtains from the first buffer the previous soft decision decoding of each bit in the group according to the storage address of each bit in the group of bits. In this way, the first decoding result of the last soft-decision decoding of the sub-code can be obtained.
  • the decoding device generates the status information of the subcode according to the first decoding result of the subcode in the last soft decision decoding, and the status information is used to indicate the status of the subcode in the last soft decision decoding. Whether the decoding result is valid.
  • the decoding device can use the first decoding result of the subcode in the last soft decision decoding and the check matrix to determine whether the decoding result of the subcode in the last soft decision decoding is valid.
  • the decoding device calculates the product of the check matrix and the first decoding result of the subcode in the last soft decision decoding. When the product is 0, the status information indicates that the subcode is in The decoding result of the last soft-decision decoding is valid, otherwise, the status information indicates that the decoding result of the sub-code in the last soft-decision decoding is invalid.
  • the decoding device may also determine whether the first decoding result of the sub-code in the previous soft-decision decoding is valid according to the values of multiple syndromes of the sub-code. In a possible implementation, when the value of multiple syndromes of the subcode is 0, the status information indicates that the decoding result of the subcode in the last soft decision decoding is valid; otherwise, the status information Indicates that the decoding result of the sub-code in the last soft-decision decoding is invalid. For example, for BCH subcode, if the error correction capability of a soft decision decoding is t, then t bits can be corrected based on the first decoding result of the BCH subcode in the last soft decision decoding.
  • the status information may include a valid identifier or an invalid identifier. If the status information indicates that the decoding result of the subcode in the last soft decision decoding is valid, the status information includes a valid identifier; otherwise, the status information includes an invalid identifier, The embodiment of the present application does not specifically limit the manner in which the valid identifier and the invalid identifier are expressed.
  • the state information is not only related to the value of the product of the corresponding check matrix of the sub-code and the first decoding result of the sub-code in the previous soft-decision decoding, but can also be related to the cyclic redundancy check of the sub-code.
  • the results of cyclic redundancy check (CRC) are related.
  • the decoding device performs CRC on the first decoding result of the sub-code in the previous soft-decision decoding to obtain the CRC of the sub-code.
  • the status information indicates that the decoding result of the CRC subcode in the last soft decision decoding is valid; otherwise, the status information indicates that the decoding result of the CRC subcode in the last soft decision decoding is invalid.
  • the decoding device uses the first decoding result of the subcode in the last soft decision decoding as the subcode The first decoding result in this soft decision decoding.
  • the decoding device may not modify the first decoding result of the subcode in the first buffer, that is, the decoding device uses the first decoding result of the subcode in the last soft decision decoding as the subcode.
  • the first decoding result of the code in this soft decision decoding is the latest first decoding result of the subcode, when the status information indicates that the decoding result of the subcode in the last soft decision decoding is valid .
  • the power consumption caused by soft-decision decoding is higher than that caused by hard-decision decoding
  • the decoding result of the sub-code in the previous soft-decision decoding can be directly used as the decoding result of the sub-code in this soft-decision decoding, so there is no need for each sub-code in the codeword Perform soft-decision decoding, thereby reducing the power consumption of soft-decision decoding of the codeword.
  • the decoding device When the status information indicates that the decoding result of the sub-code in the last soft-decision decoding is valid, and the current soft-decision decoding of the sub-code is not the last soft-decision decoding in an iterative decoding process, The decoding device generates the second decoding result of the sub-code in this soft-decision decoding according to the first decoding result of the sub-code in the previous soft-decision decoding.
  • This iterative decoding process includes multiple times. Soft decision decoding.
  • Each iterative decoding in an iterative decoding process is a soft-decision decoding of the codeword, and a soft-decision decoding of the codeword is a soft decision for each subcode of the codeword.
  • Decoding When the status information indicates that the decoding result of the sub-code in the last soft-decision decoding is valid, and the current soft-decision decoding of the sub-code is not the last soft-decision decoding in an iterative decoding process, it is indicated
  • the decoding device needs to perform the next iterative decoding of the codeword, and the decoding device can generate the second decoding result of the sub-code in this soft-decision decoding through this step 804, so that the code can be decoded in the next iteration.
  • soft decision decoding can be performed based on the second decoding result of each bit of the previous time.
  • the decoding device can be based on the symbol value corresponding to the first decoding result of the subcode in the last soft decision decoding and the bit width value of the second decoding result of the subcode in the last soft decision decoding , Generate the second decoding result of the sub-code in this soft-decision decoding.
  • the decoding device corresponds to the symbol value corresponding to the first decoding result of the sub-code in the previous soft-decision decoding and the first decoding result of the sub-code in the previous soft-decision decoding.
  • the bit width value of the second decoding result is multiplied, and the obtained product is used as the second decoding result of the sub-code in this soft decision decoding.
  • the bit width value of the second decoding result may be the maximum bit width value allowed by the bit width of the second decoding result or a relatively larger bit width value.
  • the codeword is When the status information indicates that the decoding result of the subcode in the last soft-decision decoding is valid, if this soft-decision decoding is the last soft-decision decoding in an iterative decoding process, and the codeword is When the last codeword in the codeword to be processed, it means that there is no need to iteratively decode the codeword, that is, there is no need to perform soft-decision decoding again on the subcodes in the codeword, and the decoding device does not need to perform this step 804. Still taking Fig. 3 as an example, the first decoding result of any subcode in the P-5th codeword in Fig. 3 in iterative decoding 5 is the final decoding result of any subcode without Perform this step 805 for the P-5th codeword.
  • the codeword is not the last codeword among the codewords to be processed, it means that iterative decoding needs to be performed in the next iterative decoding process, and this step 804 needs to be executed for this subcode.
  • the P-4th codeword in Figure 3 the P-4th codeword is the last codeword in the next decoding iteration process, and the P-4th codeword is also subjected to soft decision decoding, then The decoding device executes this step 804 on the sub-codes among the P-4 code sub-codes.
  • the decoding device can update the second decoding result of the sub-code in the last soft-decision decoding in the second buffer to the sub-code in the current soft-decision decoding.
  • the second decoding result In a possible implementation, the decoding device can obtain the storage address of each bit of the subcode from the first storage information of the codeword, and store the storage address of each bit in the second buffer. The second decoding result in the corresponding storage space is updated to the hard output result of each bit in this soft decision decoding.
  • the process of updating the second decoding result of the subcode is the same as the process of updating the second decoding result of the target subcode in step 705.
  • the process of updating the second decoding result of the subcode is described in the embodiment of the present application. Do not repeat it.
  • the decoding device executes the next subcode of the subcode in the codeword Step 801. If the sub-code is a sub-code composed of a row of bits, the next sub-code is the sub-code of the next row of the sub-code in the code word; if the sub-code is a sub-code composed of a column of bits, the next sub-code is The subcode is the next column of the subcode in the codeword. If the subcode is the last subcode in the codeword, the decoding device performs the process shown in FIG. 8 on the next codeword of the codeword.
  • the decoding device reads the second translation of the subcode in the last soft decision decoding from the second buffer.
  • Code result the second buffer is used to store the second decoding result generated during soft decision decoding for each subcode in at least one codeword.
  • the decoding device can read the second decoding result of the sub-code in the last soft-decision decoding from the second buffer, so that the decoding device can read the second decoding result of the sub-code in the previous soft-decision decoding from the second buffer. As a result of the code, perform soft decision decoding on the sub-code.
  • the decoding device can obtain the storage address of each bit of the subcode from the first storage information of the codeword, and obtain the storage address of each bit of the subcode from the second buffer.
  • the second decoding result of the sub-code in the previous soft-decision decoding can obtain the storage address of each bit of the subcode from the first storage information of the codeword, and obtain the storage address of each bit of the subcode from the second buffer.
  • the process shown in this step 805 is that when the status information indicates that the decoding result of the sub-code in the last soft-decision decoding is invalid, the decoding device obtains the first soft-decision decoding of the sub-code. 2. The process of decoding the result.
  • the decoding device performs soft-decision decoding on the sub-code based on the second decoding result of the sub-code in the previous soft-decision decoding to obtain the first translation of the sub-code in this soft-decision decoding.
  • the code result and the second decoding result of the sub-code in this soft decision decoding are the same soft-decision decodings.
  • step 806 is to perform soft-decision decoding on the second decoding result of the sub-code in the previous soft-decision decoding.
  • the sub-code is decoded in the previous soft-decision decoding.
  • the process of soft-decision decoding of the second decoding result is not specifically limited.
  • the decoding device converts the subcode in the first buffer to the first decoding in the previous soft-decision decoding.
  • the code result is updated as the first decoding result of the sub-code in this soft decision decoding.
  • this soft-decision decoding is not the last iterative decoding in an iterative decoding process, it means that the sub-code needs to be soft-decided again, and the sub-code needs to be decoded in this soft-decision decoding.
  • the first decoding result in the process is stored.
  • the decoding device stores the first decoding result of each sub-code in the codeword in this soft decision decoding in the first buffer, that is, the code
  • the first decoding result of the word in this soft decision decoding is stored in the first buffer. Therefore, when the code word is decoded the next iteratively, the decoding device performs soft-decision decoding on the horizontal sub-code of the code word.
  • the first decoding result of any subcode of the codeword in this soft-decision decoding can be obtained from the first buffer.
  • the decoding device can obtain the storage address of each bit of the subcode from the second storage information of the codeword, and store the first storage address in the storage space corresponding to the storage address of each bit in the second buffer.
  • the decoding result is updated to the hard output result of each bit in this soft decision decoding.
  • the decoding device uses the second buffer of the sub-code in the second buffer in the previous soft-decision decoding.
  • the decoding result is updated as the second decoding result of the subcode in this soft decision decoding.
  • this soft-decision decoding is not the last iterative decoding in an iterative decoding process, it means that the codeword needs to be soft-decided again, and the sub-code needs to be decoded in this soft-decision decoding.
  • the second decoding result in the process is stored.
  • the codeword can be downloaded In an iterative decoding, a decision is made on the first decoding result of any subcode of the codeword in this soft decision decoding.
  • the process for the decoding device to update the second decoding result of the subcode is introduced in the above step 804, and this step 808 in the embodiment of the present application is not repeated here.
  • the decoding device executes step 801 on the next subcode of the subcode.
  • the subcode is the last subcode in the codeword
  • the codeword is not the last codeword in the current decoding iteration process
  • the next codeword of the codeword executes the process shown in FIG. 8.
  • the decoding device When this soft decision decoding of the subcode is the last iterative decoding in an iterative decoding process, the decoding device outputs the first decoding result of the subcode in this soft decision decoding.
  • this soft-decision decoding is the last iterative decoding in an iterative decoding process
  • the decoding device will use this sub-code in this soft-decision decoding process.
  • the first decoding result of the decision decoding is used as the final decoding result of the sub-code, and the first decoding result of the sub-code in this soft decision is output.
  • the codeword to be processed is a codeword for iterative decoding in an iterative decoding process
  • this soft-decision decoding is the last iterative decoding in an iterative decoding process
  • the codeword is the code to be processed
  • the last codeword in the word indicates that there is no need to perform soft-decision decoding on the codeword again
  • the first decoding result of the sub-code in this soft-decision decoding is also the final decoding of the sub-code
  • the decoding device can directly output the first decoding result of the subcode in this soft decision decoding.
  • the first decoding result of each subcode of the last codeword output by the decoding device is also the final decoding result of the last codeword.
  • the first decoding result of the sub-code in the last soft decision decoding is judged through the generation status information of the sub-code. If the decoding result is valid, there is no need to perform another soft-decision decoding of the sub-code. You can directly use the first decoding result of the sub-code in the previous soft-decision decoding as the sub-code in this soft-decision decoding. Therefore, there is no need to perform soft-decision decoding on each sub-code in the codeword, thereby reducing the power consumption of soft-decision decoding on the codeword.
  • the process may include steps 901-911.
  • the decoding device obtains the first decoding result of the subcode in the last soft decision decoding from the first buffer.
  • the decoding device generates state information of the subcode according to the first decoding result of the subcode in the last soft decision decoding.
  • the decoding device judges whether the status information indicates that the decoding result of the subcode in the last soft decision decoding is valid.
  • the decoding device determines whether the soft-decision decoding of any codeword is the last time in an iterative decoding process. Iterative decoding.
  • the decoding device If the soft-decision decoding of any codeword is the last iterative decoding in an iterative decoding process, the decoding device outputs the first decoding result of the subcode in the previous soft-decision decoding.
  • the decoding device If the soft-decision decoding of any codeword is not the last iterative decoding in an iterative decoding process, the decoding device generates the sub-code according to the first decoding result of the sub-code in the previous soft-decision decoding. The second decoding result of the sub-code in this soft-decision decoding, and the second decoding result of the sub-code in this soft-decision decoding is written into the second buffer.
  • the process of writing the second decoding result of the sub-code in this soft-decision decoding into the second buffer is to store the second decoding result of the sub-code in this soft-decision decoding into the second buffer.
  • the decoding device reads the second decoding result of the subcode in the last soft decision decoding from the second buffer. .
  • the decoding device performs soft-decision decoding on the sub-code based on the second decoding result of the sub-code in the previous soft-decision decoding to obtain the first translation of the sub-code in this soft-decision decoding.
  • the code result and the second decoding result of the sub-code in this soft decision decoding are the same soft-decision decodings.
  • the decoding device judges whether the soft decision decoding of any codeword is the last iterative decoding in an iterative decoding process.
  • the decoding device If the soft-decision decoding of any codeword is the last iterative decoding in an iterative decoding process, the decoding device outputs the first decoding result of the sub-code in this soft-decision decoding.
  • the decoding device writes the first decoding result of the sub-code in this soft-decision decoding process into the first decoding result.
  • a buffer, the second decoding result of the subcode in this soft decision decoding is written into the second buffer.
  • step 911 is also the process shown in steps 807-808. If the subcode is not the last subcode in the codeword, then for the next subcode that jumps to the subcode, perform this step 901 on the next subcode.
  • the decoding device can first determine whether this soft-decision decoding is the last iteration in an iterative decoding process before starting to perform soft-decision decoding on a codeword. Decoding, if it is, when the decoding device performs soft-decision decoding on a codeword, if it obtains the first decoding result of any subcode in the codeword in this soft-decision decoding, it can directly Output the first decoding result of any sub-code in this soft-decision decoding, without the need to judge this soft-decision after obtaining the first decoding result of any sub-code in this soft-decision decoding Whether the decoding is the last iterative decoding in an iterative decoding process.
  • FIG. 10 is a schematic structural diagram of a decoding device provided by an embodiment of the present application.
  • the device 1000 includes:
  • the obtaining module 1001 is configured to perform the above step 801;
  • the first generating module 1002 is configured to execute the above step 802;
  • the determining module 1003 is configured to execute the above step 802.
  • the first generating module 1002 includes:
  • a calculation unit configured to calculate the product of the offset matrix of the check matrix and the first decoding result of the subcode in the last soft decision decoding
  • the determining unit is configured to determine the state information based on the value of the product.
  • the determining unit is configured to, when the product is 0, the status information indicates that the decoding result of the subcode in the last soft decision decoding is valid; otherwise, the status information indicates The decoding result of the sub-code in the last soft decision decoding is invalid.
  • the device 1000 further includes:
  • the second generation module is used to execute the above step 804.
  • the second generation module is configured to decode the symbol value corresponding to the first decoding result of the sub-code in the last soft-decision decoding and the sub-code in the last soft-decision decoding The bit width value of the second decoding result in, generates the second decoding result of the sub-code in this soft-decision decoding.
  • the device 1000 further includes a decoding module:
  • the acquiring module is further configured to acquire the second translation of the sub-code in the previous soft-decision decoding when the status information indicates that the decoding result of the sub-code in the previous soft-decision decoding is invalid.
  • the decoding module is configured to perform step 806 described above.
  • the first decoding result of the sub-code in this soft-decision decoding includes the hard output result of each bit of the sub-code in this soft-decision decoding; the sub-code is in this
  • the second decoding result in the second soft-decision decoding includes the soft output result of each bit of the sub-code in this soft-decision decoding.
  • the device 1000 further includes:
  • the first update module is used to update the first decoding result of the sub-code in the last soft-decision decoding in the first buffer to the first decoding result of the sub-code in the current soft-decision decoding ,
  • the first buffer is used to store the first decoding result generated during soft-decision decoding of each subcode in the at least one codeword;
  • the second update module is used to update the second decoding result of the subcode in the last soft decision decoding in the second buffer to the second decoding result of the subcode in this soft decision decoding
  • the second buffer is used to store the second decoding result generated during soft decision decoding for each subcode in the at least one codeword.
  • being used for the device 1000 further includes:
  • the output module is used to perform step 810.
  • the output module is used for when the soft-decision decoding is the last iterative decoding in an iterative decoding process, if the codeword is the last codeword among the to-be-processed codewords , Taking the first decoding result of the sub-code in this soft decision decoding as the final decoding result of the sub-code, and outputting the first decoding result of the sub-code in this soft decision.
  • the codeword to be processed is a codeword that is iteratively decoded in an iterative decoding process.
  • the decoding device judges the first decoding result of the sub-code in the last soft-decision decoding through the generation status information of the sub-code, if the decoding result of the sub-code in the last soft-decision decoding is valid , There is no need to perform another soft-decision decoding of the sub-code, and the first decoding result of the sub-code in the last soft-decision decoding can be directly used as the first decoding result of the sub-code in this soft-decision decoding. As a result of the decoding, there is no need to perform soft-decision decoding on each subcode in the codeword, and the power consumption for soft-decision decoding on the codeword can be reduced.
  • the embodiments provided in this application provide a chip, the chip includes a processor, and the processor is configured to implement the operations performed by the foregoing decoding method.
  • the embodiments provided in the present application provide a computer program product.
  • the computer program product includes one or more instructions, and the one or more instructions can be executed by a processor of a decoding device. The operation performed.
  • the program can be stored in a readable storage medium.
  • the storage medium can be read-only memory, magnetic disk or optical disk, etc.

Landscapes

  • Physics & Mathematics (AREA)
  • Probability & Statistics with Applications (AREA)
  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Error Detection And Correction (AREA)

Abstract

一种译码方法、设备、可读存储介质、芯片及计算机程序产品,属于通信技术领域。本方法通过子码的生成状态信息,对该子码在上一次软判决译码中的译码结果进行判断,若该子码在上一次软判决译码中的译码结果有效,则无需对该子码再进行一次软判决译码,可以直接将该子码在上一次软判决译码中的第一译码结果作为该子码在本次软判决译码中的第一译码结果,从而无需对该码字中的每个子码进行软判决译码,进而可以降低对码字进行软判决译码的功耗。

Description

译码方法、设备、可读存储介质、芯片及计算机程序产品
本申请要求于2019年12月18日提交中国国家知识产权局、申请号为201911312200.X、发明名称为“译码方法、设备、可读存储介质、芯片及计算机程序产品”的中国专利申请的优先权,其全部内容通过引用结合在本申请中。
技术领域
本申请涉及通信技术领域,特别涉及一种译码方法、设备、可读存储介质、芯片及计算机程序产品。
背景技术
在目前的数字通信系统中,前向纠错编码(forward error coding,FEC)技术得到了广泛的应用。在应用时,编码端对数据块进行编码,得到纠错码,并在数据块上添加得到的纠错码,得到码字,并将码字发送至译码设备,该译码设备可以通过软判决和硬判决对接收的码字进行译码。
目前,译码设备进行译码的过程可以是:译码设备对多个码字进行软判决译码,当本次软判决译码的次数未到达最大迭代次数,且本次的译码结果中的错误比较多时,译码设备对本次的译码结果再次进行软判决译码;当任一次软判决译码的次数未到达最大迭代次数,且任一次的译码结果中的错误比较少时,跳出软判决译码,译码设备对该任一次的译码结果进行多次迭代硬判决译码,直至到达最大迭代次数,译码设备将最后一次硬判决译码的译码结果,作为多个码字的最终译码结果。
在上述译码过程中,译码设备每对多个码字进行一次软判决译码时,都会对每个码字中的每个子码均进行一次软判决译码,由于每个码字包括子码个数较多,且软判决译码造成的功耗比硬判决译码造成的功耗要高,因此,译码设备在对每个码字进行软判决译码时,就会造成大量功耗。
发明内容
本申请实施例提供了一种译码方法、设备、可读存储介质、芯片及计算机程序产品,能够降低码字进行软判决译码时的功耗。该技术方案如下:
第一方面,提供了一种译码方法,该方法包括:
在对任一码字进行本次软判决译码时,对于所述码字中的任一子码,获取所述子码在上一次软判决译码中的第一译码结果,所述码字包括多个子码;
根据所述子码在上一次软判决译码中的第一译码结果,生成所述子码的状态信息,所述状态信息用于指示所述子码在上一次软判决译码中的译码结果是否有效;
当所述状态信息指示所述子码在上一次软判决译码中的译码结果有效时,将所述子码在 上一次软判决译码中的第一译码结果作为所述子码在本次软判决译码中的第一译码结果。
本方法通过子码的生成状态信息,对该子码在上一次软判决译码中的第一译码结果进行判断,若该子码在上一次软判决译码中的第一译码结果有效,则无需对该子码再进行一次软判决译码,可以直接将该子码在上一次软判决译码中的译码结果作为该子码在本次软判决译码中的译码结果,从而无需对该码字中的每个子码进行软判决译码,进而可以降低对码字进行软判决译码的功耗。
在一种可能的实现方式中,所述根据所述子码在上一次软判决译码中的第一译码结果,生成所述子码的状态信息包括:
计算校验矩阵的偏置矩阵与所述子码在上一次软判决译码中的第一译码结果的积;
基于所述积的取值,确定所述状态信息。
在一种可能的实现方式中,所述基于所述积的取值,确定所述状态信息包括:
当所述积为0时,则所述状态信息指示所述子码在上一次软判决译码中的译码结果有效,否则,所述状态信息指示所述子码在上一次软判决译码中的译码结果无效。
在一种可能的实现方式中,所述方法还包括:
当所述状态信息指示所述子码在上一次软判决译码中的译码结果有效,且所述子码的本次软判决译码不是一个迭代译码过程中的最后一次软判决译码时,根据所述子码在上一次软判决译码中的第一译码结果,生成所述子码在本次软判决译码中的第二译码结果,所述一个迭代译码过程包括多次软判决译码。
在一种可能的实现方式中,所述根据所述子码在上一次软判决译码中的第一译码结果,生成所述子码在本次软判决译码中的第二译码结果包括:
根据所述子码在上一次软判决译码中的第一译码结果所对应的符号值以及所述子码在上一次软判决译码中的第二译码结果的位宽值,生成所述子码在本次软判决译码中的第二译码结果。
在一种可能的实现方式中,所述获取所述子码在上一次软判决译码中的第一译码结果之后,所述方法还包括:
当所述状态信息指示所述子码在上一次软判决译码中的译码结果无效时,获取所述子码在上一次软判决译码中的第二译码结果;
基于所述子码在上一次软判决译码中的第二译码结果,对所述子码进行软判决译码,得到所述子码在本次软判决译码中的第一译码结果和所述子码在本次软判决译码中的第二译码结果。
在一种可能的实现方式中,所述子码在本次软判决译码中的第一译码结果包括所述子码的各个比特位在本次软判决译码中的硬输出结果;所述子码在本次软判决译码中的第二译码结果包括所述子码的各个比特位在本次软判决译码中的软输出结果。
在一种可能的实现方式中,所述方法还包括:
将第一缓存中所述子码在上一次软判决译码中的第一译码结果更新为所述子码在本次软判决译码中的第一译码结果,所述第一缓存用于存储至少一个码字中每个子码在软判决译码时生成的第一译码结果;
将所述第二缓存中所述子码在上一次软判决译码中的第二译码结果更新为所述子码在本次软判决译码中的第二译码结果,所述第二缓存用于存储至少一个码字中每个子码在软判决译码时生成的第二译码结果。
在一种可能的实现方式中,所述方法还包括:
当所述子码的本次软判决译码为一个迭代译码过程中最后一次迭代译码时,则输出所述子码在本次软判决译码中的第一译码结果。
在一种可能的实现方式中,所述方法还包括:
当所述子码的本次软判决译码为一个迭代译码过程中最后一次迭代译码时,若所述码字为待处理码字中的最后一个码字时,将所述子码在本次软判决译码的第一译码结果作为所述子码的最终译码结果,输出所述子码在本次软判决中的第一译码结果,所述待处理码字为一个迭代译码过程进行迭代译码的码字。
第二方面,提供了一种译码设备,所述设备包括:
输入接口,用于在对任一码字进行本次软判决译码时,对于所述码字中的任一子码,获取所述子码在上一次软判决译码中的第一译码结果,所述码字包括多个子码;
处理器,用于根据所述子码在上一次软判决译码中的第一译码结果,生成所述子码的状态信息,所述状态信息用于指示所述子码在上一次软判决译码中的译码结果是否有效;
所述处理器,还用于当所述状态信息指示所述子码在上一次软判决译码中的译码结果有效时,将所述子码在上一次软判决译码中的第一译码结果作为所述子码在本次软判决译码中的第一译码结果。
在一种可能的实现方式中,所述处理器用于:
计算校验矩阵的偏置矩阵与所述子码在上一次软判决译码中的第一译码结果的积;
基于所述积的取值,确定所述状态信息。
在一种可能的实现方式中,所述处理器用于:
当所述积的值为0时,则所述状态信息指示所述子码在上一次软判决译码中的译码结果有效,否则,所述状态信息指示所述子码在上一次软判决译码中的译码结果无效。
在一种可能的实现方式中,所述处理器,还用于当所述状态信息指示所述子码在上一次软判决译码中的译码结果有效,且所述子码的本次软判决译码不是一个迭代译码过程中的最后一次软判决译码时,根据所述子码在上一次软判决译码中的第一译码结果,生成所述子码在本次软判决译码中的第二译码结果,所述一个迭代译码过程包括多次软判决译码。
在一种可能的实现方式中,所述处理器,用于根据所述子码在上一次软判决译码中的第一译码结果所对应的符号值以及所述子码在上一次软判决译码中的第二译码结果的位宽值,生成所述子码在本次软判决译码中的第二译码结果。
在一种可能的实现方式中,所述输入接口,还用于当所述状态信息指示所述子码在上一次软判决译码中的译码结果无效时,获取所述子码在上一次软判决译码中的第二译码结果;
所述处理器,还用于基于所述子码在上一次软判决译码中的第二译码结果,对所述子码进行软判决译码,得到所述子码在本次软判决译码中的第一译码结果和所述子码在本次软判决译码中的第二译码结果。
在一种可能的实现方式中,所述子码在本次软判决译码中的第一译码结果包括所述子码的各个比特位在本次软判决译码中的硬输出结果;所述子码在本次软判决译码中的第二译码结果包括所述子码的各个比特位在本次软判决译码中的软输出结果。
在一种可能的实现方式中,所述设备还包括第一缓存和第二缓存,所述第一缓存用于存储至少一个码字中每个子码在软判决译码时生成的第一译码结果,所述第二缓存用于存储至少一个码字中每个子码在软判决译码时生成的第二译码结果;
所述处理器还用于:
将所述第一缓存中所述子码在上一次软判决译码中的第一译码结果更新为所述子码在本次软判决译码中的第一译码结果;
将所述第二缓存中所述子码在上一次软判决译码中的第二译码结果更新为所述子码在本次软判决译码中的第二译码结果。
在一种可能的实现方式中,所述设备还包括:
输出接口,用于当所述子码的本次软判决译码为一个迭代译码过程中最后一次迭代译码时,则输出所述子码在本次软判决译码中的第一译码结果。
第三方面,提供了一种译码设备,用于执行上述译码方法。具体地,该译码设备包括用于执行上述第一方面或上述第一方面的任一种可选方式提供的译码方法的功能模块。
第四方面,提供一种可读存储介质,该存储介质中存储有至少一条指令,该指令由处理器加载并执行以实现如上述译码方法所执行的操作。
第五方面,提供一种芯片,该芯片包括处理器,该处理器用于实现上述第一方面或上述第一方面的任一种可选方式提供的译码方法所执行的操作。
第六方面,提供一种计算机程序产品,该计算机程序产品包括一条或多条指令,所述一条或多条指令可以由译码设备的处理器执行,以实现上述第一方面或上述第一方面的任一种可选方式提供的译码方法所执行的操作。
附图说明
为了更清楚地说明本申请实施例中的技术方案,下面将对实施例描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本申请的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。
图1是本申请实施例提供的一种编译码系统的示意图;
图2是本申请实施例提供的一种码字的示意图;
图3是本申请实施例提供的一种迭代译码过程的示意图;
图4是本申请实施例提供的一种译码设备的结构示意图;
图5是本申请实施例提供的一种译码设备的结构示意图;
图6是本申请实施例提供的一种迭代译码过程的示意图;
图7是本申请实施例提供的一种第一次迭代译码的流程图;
图8是本申请实施例提供的一种译码方法的流程图;
图9是本申请实施例提供的一种对码字进行译码的流程图;
图10是本申请实施例提供的一种译码设备的结构示意图。
具体实施方式
为使本申请的目的、技术方案和优点更加清楚,下面将结合附图对本申请实施方式作进一步地详细描述。
图1是本申请实施例提供的一种编译码系统的示意图,参见图1,该编译码系统100可以包括编码设备101以及译码设备102。其中,编码设备101用于对数据流中各个数据块,进行编码,得到每个数据块所对应的码字,并将码字组成码流发送给译码设备102。该数据流可以是视频流、音频流以及文本流等任一个数据流。一个码字也即是编码设备101对一个数据块进行编码的结果,每个码字可以视为一个帧,一个码字中的数据也即是一帧数据。
一个码字为一个译码设备译码时的基本数据单元,一个码字可以包括多行多列的比特位,一个码字中的比特位可以组成多个子码,其中,一个子码可以包括多个比特位,多个比特位可以组成任一形状的子码,在一种可能方式中,一个码字中一列比特位可以组成一个条子码,例如,例如图2中码字1内的子码1,其中,图2是本申请实施例提供的一种码字的示意图。在一种可能方式中,一行比特位可以组成一个平形子码,例如图2中码字2内的子码2。在一种可能的实现方式中,一个码字中不同行不同列的多个比特位组成一个斜线形子码,例如图2中码字3内的子码3和子码4。在一种可能的实现方式中,一个码字中不同行不同列的多个比特位组成一个折线形子码,例如图2中的码字4的子码5。需要说明的是,一个码字中各个子码的形状可以相同,也可以不同,一个码字的比特位可以处于多个子码中,处于多个子码中的比特位,就可以视为交叉比特位,也即是多个子码之间可以存在至少一个交叉比特位,例如图2中的子码3和子码4存在一个交叉比特位。本申请实施例对码字中子码的形状不做具体限定。
本申请实施例以条形子码和平行子码为例进行说明。例如,一个码字包括128*128个比特位,其中,每128个比特位为一行,每128个比特位为一列,也即是该码字可以包括128行子码或128列子码。该编码设备101可以采用阶梯(staircase)乘积(turbo product code,TPC)码的编码方案进行编码,该编码方案所得到的码字的比特位被一个横向的BCH(bose ray hocquenghem)子码和一个纵向的BCH子码保护。译码设备101以一帧数据(例如128bit*128bit)为基本单位进行编码,相邻的两个帧中的数据满足BCH(n,k)的编码关系,其中,n为一个BCH子码的码长,k为一个BCH子码的信息位。例如,译码设备101对一个数据流中第0帧和第1帧进行横向BCH(256,239)码字编码,也即是按照行,对第0帧和第1帧中每一行比特位上的数据进行编码,得到编码后的第0帧和编码后的第1帧;然后,译码设备101对编码后的第1帧以及第2帧进行纵向BCH(256,239)码字编码,也即是按照列,对编码后的第1帧以及第2帧的每一列比特位上的数据进行编码,得到2次编码后的第一帧和1次编码后的第2帧,从而2次编码后的第1帧中每个比特位被一个横向上的子码和一个纵向上的子码保护。
译码设备102,用于对接收到的码流中的码字进行译码。译码设备102每接收到一个码字时,均可以对目标个数的码字进行一个迭代译码过程,该目标个数的码字可以包括新接收 的码字以及之前译码后的码字,该译码设备102每接收到一个新的码字时,对目标个数的码字进行一个迭代译码过程,当再一次接收到一个新的码字时,再对另外目标个数的码字进行一次迭代译码过程。
该目标个数为预设的一个迭代译码过程中进行译码的码字的个数,一次迭代译码过程中的各个子码可以由一个滑动窗口来选定,目标个数也即是滑动窗口的维度,也可以说,一个滑动窗口内的各个码字进行一个迭代译码过程。一个迭代译码过程可以包括M次迭代译码,其中,M为大于0的整数,M也即是一个迭代译码过程的最大迭代次数,在一个迭代译码过程中,若进行了M次迭代译码,则该迭代译码过程结束,最后一次迭代译码的译码结果,也即是该迭代译码过程最终的译码结果。例如图3所示的本申请实施例提供的一种迭代译码过程的示意图,图3中的滑动窗口的维度为6,设滑动窗口内的码字包括第P-6个码字至第P-1个码字,其中,第P-1个码字为滑动窗口中的第1个码字,第P-6个码字为滑动窗口中的最后一个码字,第P-1个码字也即是第P-1帧数据;当译码设备接收到第P个码字时,滑动窗口向前滑动一个码字,使得第P个码字为该滑动窗口内的第1个码字,第P-6个码字从该滑动窗口滑出,第P-5个码字为滑动窗口的最后一个码字;译码设备开始对第P-5个码字至第P个码字进行迭代译码过程,该迭代译码过程包括迭代译码1-5;译码设备对第P-5个码字至第P个码字进行的迭代译码过程可以是:首先,译码设备102对第P个码字和第P-1个码字进行一次横向软判决译码,得到译码后的第P个码字以及译码后的第P-1个码字,记为迭代译码1;然后,译码设备对译码后的第P-1个码字以及第P-2个码字进行一次纵向软判决译码,得到再次译码后的第P-1个码字以及译码后的第P-2个码字,记为迭代译码2,依次类推译码设备进行迭代译码3-5,当迭代译码5完成后,译码设备将第P-5个码字的译码结果输出,也即是输出译码后的第P-5个码字。其中,横向软判决译码为按照行对码字中的各个子码进行软判决译码,例如,对于一个码字,译码设备先对该码字中的第一行子码进行软判决译码,再对该码字中的第二行子码进行软判决译码,当然,译码设备也可以并行对多行子码进行软判决译码。纵向软判决译码为按照列对码字中的各个子码进行软判决译码,例如,对于一个码字,译码设备先对该码字中的第一列子码进行软判决译码,再对该码字中的第二列子码进行软判决译码,当然,译码设备可以并行对多列子码进行软判决译码。
为了进一步说明译码设备的功能,参见图4所示的本申请实施例提供的一种译码设备的结构示意图,译码设备400包括:
输入接口401,用于在对任一码字进行本次软判决译码时,对于所述码字中的任一子码,获取所述子码在上一次软判决译码中的第一译码结果,所述码字包括多个子码;
处理器402,用于根据所述子码在上一次软判决译码中的第一译码结果,生成所述子码的状态信息,所述状态信息用于指示所述子码在上一次软判决译码中的译码结果是否有效;
所述处理器402,还用于当所述状态信息指示所述子码在上一次软判决译码中的译码结果有效时,将所述子码在上一次软判决译码中的第一译码结果作为所述子码在本次软判决译码中的第一译码结果。
可选地,所述处理器402用于:
计算校验矩阵的偏置矩阵与所述子码在上一次软判决译码中的第一译码结果的积;
基于所述积的取值,确定所述状态信息。
可选地,所述处理器402用于:
当所述积为0时,则所述状态信息指示所述子码在上一次软判决译码中的译码结果有效,否则,所述状态信息指示所述子码在上一次软判决译码中的译码结果无效。
可选地,所述处理器402,还用于当所述状态信息指示所述子码在上一次软判决译码中的译码结果有效,且所述子码的本次软判决译码不是一个迭代译码过程中的最后一次软判决译码时,根据所述子码在上一次软判决译码中的第一译码结果,生成所述子码在本次软判决译码中的第二译码结果,所述一个迭代译码过程包括多次软判决译码。
可选地,所述处理器402,用于根据所述子码在上一次软判决译码中的第一译码结果所对应的符号值以及所述子码在上一次软判决译码中的第二译码结果的位宽值,生成所述子码在本次软判决译码中的第二译码结果。
可选地,所述输入接口401,还用于当所述状态信息指示所述子码在上一次软判决译码中的译码结果无效时,获取所述子码在上一次软判决译码中的第二译码结果;
所述处理器402,还用于基于所述子码在上一次软判决译码中的第二译码结果,对所述子码进行软判决译码,得到所述子码在本次软判决译码中的第一译码结果和所述子码在本次软判决译码中的第二译码结果。
可选地,所述子码在本次软判决译码中的第一译码结果包括所述子码的各个比特位在本次软判决译码中的硬输出结果;所述子码在本次软判决译码中的第二译码结果包括所述子码的各个比特位在本次软判决译码中的软输出结果。
可选地,所述设备400还包括第一缓存和第二缓存,所述第一缓存用于存储至少一个码字中每个子码在软判决译码时生成的第一译码结果,所述第二缓存用于存储至少一个码字中每个子码在软判决译码时生成的第二译码结果;
所述处理器402还用于:
将所述第一缓存中所述子码在上一次软判决译码中的第一译码结果更新为所述子码在本次软判决译码中的第一译码结果;
将所述第二缓存中所述子码在上一次软判决译码中的第二译码结果更新为所述子码在本次软判决译码中的第二译码结果。
需要说明的是,在本申请中所提到的第一缓存或第二缓存可以是内存对象缓存系统或存储器,存储器可以包括寄存器、易失性存储器(volatile memory),例如随机存取存储器(random-access memory,RAM);存储器也可以包括非易失性存储器(non-volatile memory),例如快闪存储器(flash memory),硬盘(hard disk drive,HDD)或固态硬盘(solid-state drive,SSD)、云存储(cloud storage)、网络附接存储(Network Attached Storage,NAS)、网盘(network drive)等;存储器还可以包括上述种类的存储器的组合或者其他具有存储功能的任意形态的介质或产品。当然,第一缓存和第二缓存也可以属于同一存储器,也即是第一缓存和第二缓存可以分别为一个存储器中不同的存储空间。
可选地,所述设备400还包括:
输出接口,用于当所述子码的本次软判决译码为一个迭代译码过程中最后一次迭代译码 时,则输出所述子码在本次软判决译码中的第一译码结果。
该译码设备通过子码的生成状态信息,对该子码在上一次软判决译码中的第一译码结果进行判断,若该子码在上一次软判决译码中的译码结果有效,则无需对该子码再进行一次软判决译码,可以直接将该子码在上一次软判决译码中的第一译码结果作为该子码在本次软判决译码中的第一译码结果,从而无需对该码字中的每个子码进行软判决译码,进而可以降低对码字进行软判决译码的功耗。
在一种可能的实现方式中,译码设备的结构还可以如图5所示,其中,图5是本申请实施例提供的一种译码设备的结构示意图,译码设备500包括可因配置或性能不同而产生比较大的差异,可以包括一个或一个以上处理器(central processing units,CPU)501和一个或一个以上的存储器502,其中,该存储器502中存储有至少一条指令,该至少一条指令由该处理器501加载并执行以实现下述各个方法实施例提供的方法。当然,该译码设备500还可以具有有线或无线网络接口、键盘以及输入输出接口等部件,以便进行输入输出,该译码设备500还可以包括其他用于实现设备功能的部件,在此不做赘述。
在示例性实施例中,还提供了一种可读存储介质,例如包括指令的存储器,上述指令可由终端中的处理器执行以完成下述实施例中的方法。例如,该可读存储介质可以是只读存储器(read-only memory,ROM)、RAM、只读光盘(compact disc read-only memory,CD-ROM)、磁带、软盘和光数据存储设备等。
为了进步说明译码设备的进行迭代译码的具体过程,参见图6所示的本申请实施例提供的一种迭代译码过程的示意图,对于一个迭代译码过程,初始时,译码设备接收滑动窗口内的第1个码字的软信息,并将第1个码字的软信息存储在第二缓存中,一个码字的软信息包括一个码字每个比特位的软信息,当一个码字的每个比特位均用目标形式的数值来表示,目标形式的数值可以为浮点数值或量化为多种取值的定点数值,且该目标形式的数值的符号值可以表示一个比特位0或1的取值,目标形式的数值的绝对值用于表示一个比特位的取值的可信度时,则一个目标形式的数值也即是一个比特位的软信息。对于该滑动窗口内除第1个码字以外的码字,之前的迭代译码过程中均已经存储了除第1个码字以外的码字的软信息,因此当将第1个码字的软信息存储在第二缓存后,该第二缓存中存储有该滑动窗口内各个码字的软信息。
该译码设备在进行第一次译码迭代时,对于进行第一次译码迭代中的码字,处理器从第二缓存中读取该码字的软信息,并基于每个码字的软信息,对每个码字进行软判决译码,得到码字的软输出结果和硬输出结果,码字的软输出结果包括该码字中各个子码的软输出结果,可以用软信息的形式表示,码字的硬输出结果包括该码字中各个子码的硬输出结果,可以用硬信息的形式表示,硬信息也即是用0或1表示码字的比特位的取值;处理器将第二缓存内该码字的软信息更新为该码字在本次软判决译码的软输出结果;处理器将该码字的硬输出结果存储在第一缓存中,此时该迭代译码过程中的第一次迭代译码结束。
对于该一个迭代译码过程中除第一次迭代译码以外的任一次迭代译码,译码设备在进行该任一次迭代译码时,对于该迭代译码中的码字的任一子码,控制器从第一缓存获取该子码在上一次软判决译码中的硬输出结果,并判断该子码在上一次软判决译码中的译码结果是否 有效,若有效,控制器向译码结果生成器发送通知消息,该通知消息用于指示基于该子码在上一次软判决译码中的硬输出结果,生成该子码在本次迭代译码中的软输出结果;接收到该通知消息后,译码结果生成器根据该子码在上一次软判决译码中的硬输出结果,生成该子码在本次软判决译码中的软输出结果,并将第二缓存中该子码在上一次软判决译码中的软输出结果更新为该子码在本次软判决译码中的软输出结果,以便当对该子码进行下次迭代译码时,处理器可以从第二缓存中获取该子码在本次软判决译码中的软输出结果。当控制器判断该子码在上一次软判决译码中的译码结果是否有效时,若无效,控制器通知处理器从第二缓存中获取该子码在上一次软判决译码中的软输出结果;当处理器从第二缓存中获取该子码在上一次软判决译码中的软输出结果后,处理器对该子码在上一次软判决译码中的软输出结果进行软判决译码,得到该子码的在本次软判决中的软输出结果和该子码的在本次软判决中的硬输出结果;处理器将第一缓存中该子码在上一次软判决译码中的硬输出结果更新成该子码在本次软判决译码中的硬输出结果,以便在对该子码进行下次迭代译码时,控制器可以从第一缓存中获取该子码在本次软判决译码中的硬输出结果;处理器还可以将第二缓存中该子码在上一次软判决译码中的软输出结果更新成该子码在本次软判决译码中的软输出结果,以便在对该子码进行下次迭代译码时,处理器可以从第二缓存中获取该子码在本次软判决译码中的软输出结果。当在最后一次迭代译码时,处理器将该迭代窗口内最后一个码字在最后一次迭代译码中的硬输出结果作为该最后一个码字的最终译码结果输出。
在每一次迭代译码中,处理器可以并行对多个子码进行软判决译码,在一种可能的实现方式中,处理器可以包括多个子处理器,每个子处理器可以并行对至少一个子码进行软判决译码。
在当前迭代译码过程中,译码设备可以对新接收的一个码字以及在上一个迭代译码过程中译码后的至少一个码字,进行第一次软判决译码;然后,译码设备可以基于第一软判决译码的译码结果,对除新接收的码字以外的其他码字进行后续的迭代译码。为了进一步说明在当前迭代译码过程中译码设备进行的第一次迭代译码的具体过程,参见图7所示的本申请实施例提供的一种第一次迭代译码的流程图,该流程可以包括下述步骤701-705。
701、译码设备每接收到一个码字的软信息后,将该码字的软信息存储在该译码设备的第二缓存中。
该码字为译码设备接收到的一个码流中的任一码字,由于一个码字包括多行多列的比特位,该码字的软信息可以包括该码字中每个比特位的软信息。所述第二缓存用于存储至少一个码字中每个子码在软判决译码时生成的第二译码结果,其中,第二译码结果可以用软信息的形式表示,第二缓存中存储的数据可以包括软信息形式的数据,因此,该译码设备可以将码字的软信息与该码字的每个比特位进行关联存储。在一种可能的方式中,译码设备可以将该码字的每个比特位的软信息存储在第二缓存的一个存储空间中,一个存储空间对应一个存储地址;当将该码字的每个比特位的软信息均存储完成后,译码设备生成该码字的第一存储信息,该码字的第一存储信息可以包括每个比特位的位标识、每个比特位的软信息的存储地址以及该码字的码字标识;当该译码设备生成该码字的第一存储信息后,可以将该码字的第一存储信息存储在第二缓存中的目标存储空间,该第二缓存中的目标存储空间用于存储各个 码字的第一存储信息,以便后续可以根据目标存储空间中该码字的第一存储信息,从第二缓存中查找该码字中每个比特位的软信息。
其中,一个比特位的位标识用于唯一指示一个比特位,一个比特位的位标识可以是一个比特位在该码字中的编号,例如,当该比特位为该码字中第i个比特位,则该比特位的位标识为i,i为正整数。一个比特位的位标识还可以是一个比特位在该码字中的位置信息,例如,一个比特位位于该码字的第x行第y列,则该比特位的位标识为(x,y),x和y均为正整数。本申请实施例以位标识为比特位的位置信息为例进行说明。该码字的码字标识用于唯一指示该码字,该码字的码字标识可以是该码字在码流中的编号,例如,该码字为一个码流中第i个码字,则该码字的码字标识为i。该码字的码字标识还可以是该码字对应的帧号,例如,该码字中的数据为第i帧的数据,则该码字的码字标识为第i帧。本申请实施例以码字标识为帧号为例进行说明。
702、译码设备每接收到一个码字的软信息后,确定一个迭代译码过程中的待处理码字,该待处理码字包括该码字以及译码过的多个码字。
该待处理码字为一个迭代译码过程进行迭代译码的码字。译码设备可以通过移动滑动窗口确定多个待处理码字,当滑动窗口向前移动一个码字后,使得译码设备新接收的码字为该滑动窗口中的第1个码字,此时,该滑动窗口内的码字也即是确定的多个待处理码字,仍以图3中的滑动窗口为例,图3中第P个码字也即是译码设备新接收的码字,第P-6个码字至第P-1个码字也即是该至少一个码字。
由于译码设备每新接收一个码字,就可以确定多个待处理码字,并对多个待处理码字进行一个迭代译码过程,因此,多个待处理码字中除新接收的码字以外的任一码字均是译码过的码字。
703、在一个迭代译码过程中,对于进行第一次迭代译码的待处理码字中的目标码字,译码设备从第二缓存中获取每个目标码字的软信息,目标码字包括该码字以及译码过的多个码字中的至少一个码字。
译码设备可以根据每个目标码字的第一存储信息中记录的存储地址,从第二缓存中获取每个目标码字的软信息。该码字的软信息为译码设备接收码流中的码字的软信息,译码过的码字的软信息为译码过的码字在上一次软判决译码中的软输出结果。该至少一个码字的码字标识与该码字的码字标识之间的差值小于等于目标差值,其中,目标差值可以是1,例如,图3中第一迭代译码的目标码字为第P个码字和第P-1个码字,第P个码字和第P-1个码字的码字标识之差为1,当然该目标差值也可以是其他数值,本申请实施例对该目标差值的取值不做具体限定。
704、译码设备基于每个目标码字的软信息,对每个目标码字进行软判决译码,得到每个目标码字在本次软判决译码中的译码结果,一个目标码字在本次软判决译码中的译码结果包括一个目标码字在本次软判决译码中的第一译码结果和一个目标码字在本次软判决译码中的第二译码结果。
译码设备基于每个目标码字的软信息,对每个目标码字进行软判决译码的过程,也即是译码设备对每个目标码字的软信息进行软判决译码的过程。译码设备可以对每个目标码字的 软信息进横向软判决译码,也即是按照行对每个目标码字中的各个子码进行软判决译码。本申请实施例对任一码字的软信息进行软判决译码的具体过程不做限定。
在本申请实施例中,对任一个码字进行软判决译码,可以得到任一码字在本次软判决译码中译码结果,其中,任一码字在本次软判决译码中译码结果包括任一码字在本次软判决译码中的第一译码结果和任一码字在本次软判决译码中的第二译码结果。其中,任一码字在本次软判决译码中的第一译码结果包括任一码字中每个子码在本次软判决译码中的第一译码结果,每个子码在本次软判决译码中的第一译码结果包括一个子码的各个比特位在本次软判决译码中的硬输出结果,任一码字在本次软判决译码中的第二译码结果包括任一码字中每个子码在本次软判决译码中的第二译码结果,每个子码在本次软判决译码中的第一译码结果包括每个子码包括一个子码的各个比特位在本次软判决译码中的软输出结果。
需要说明的是,当对每个目标码字进行软判决译码时,若任一目标码字译码失败,则重新对该任一目标码字进行软判决译码,直至该任一目标码字译码成功为止。
705、译码设备将每个目标码字在本次软判决译码中的第一译码结果存储在第一缓存,将每个目标码字在本次软判决译码中的第二译码结果存储在第二缓存,该第一缓存用于存储至少一个码字中每个子码在软判决译码时生成的第一译码结果。
对于任一目标码字,由于该目标码字在本次软判决译码中的第一译码结果包括该目标码字中每个子码在本次软判决译码中的第一译码结果,且每个子码在本次软判决译码中的第一码结果包括一个子码的各个比特位在本次软判决译码中的硬输出结果,若该目标码字为译码设备新接收的码字,则译码设备可以将该目标码字在本次软判决译码中的第一译码结果与该目标码字的每个比特位进行关联存储。在一种可能的方式中,译码设备可以将该目标码字的每个比特位在本次软判决译码中的硬输出结果存储在第一缓存的一个存储空间中,一个存储空间对应一个存储地址;当将该目标码字的每个比特位在本次软判决译码中的硬输出结果均存储完成后,译码设备生成该目标码字的第二存储信息,该码字的第二存储信息可以包括每个比特位的位标识、每个比特位在本次软判决译码中的硬输出结果的存储地址以及该目标码字的码字标识;当该译码设备生成该目标码字的第二存储信息后,可以将该目标码字的第二存储信息存储在第一缓存中的目标存储空间,该第一缓存中的目标存储空间用于存储各个码字的第二存储信息,以便后续可以根据目标存储空间中该目标码字的第二储信息,从第一缓存中查找该目标码字中每个比特位在本次软判决译码中的硬输出结果。
若该目标码字为译码设备译码过的码字,译码设备可以从第一缓存的目标存储空间中查询该目标码字的第二存储信息,从该目标码字的第二存储信息中确定第一缓存中该目标码字在上一次软判决译码中的第一译码结果;译码设备将第一缓存中该目标码字在上一次软判决译码中的第一译码结果更新为该目标码字在本次软判决译码中的第一译码结果。其中,译码设备将第一缓存中该目标码字在上一次软判决译码中的第一译码结果更新为该目标码字在本次软判决译码中的第一译码结果可以是:译码设备将第一缓存中该目标子码的各个子码在上一次软判决译码中的第一译码结果更新为目标子码的各个子码在本次软判决译码中的第一译码结果。在一种可能的实现方式中,译码设备将第一缓存中该目标码字的各个比特位在上一次软判决译码中的硬输出结果更新为该目标码字的各个比特位在本次软判决译码中的硬输出 结果。
对于任一目标码字,译码设备可以从第二缓存的目标存储空间中查询该目标码字的第一存储信息,从该目标码字的第一存储信息中确定第二缓存中该目标码字在上一次软判决译码中的第二译码结果;译码设备将第二缓存中该目标码字在上一次软判决译码中的第二译码结果更新为该目标码字在本次软判决译码中的第二译码结果。其中,译码设备将第二缓存中该目标码字在上一次软判决译码中的第二译码结果更新为该目标码字在本次软判决译码中的第二译码结果的过程可以是:译码设备将第二缓存中该目标码字的各个子码在上一次软判决译码中的第二译码结果更新为该目标码字的各个子码在本次软判决译码中的第二译码结果。在一种可能的实现方式中,译码设备将第二缓存中该目标码字的各个比特位在上一次软判决译码中的硬输出结果更新为该目标码字的各个比特位在本次软判决译码中的硬输出结果。
当译码设备将每个目标码字在本次软判决译码中的译码结果存储完成后,译码设备对多个待处理码字进行的第一次迭代译码结束,译码设备可以对多个待处理码字中除新接收的码字以外的码字进行后续的迭代译码。对于一个迭代译码过程中除第一次迭代译码以外的任一次迭代译码以及进行该任一次迭代译码中的任一码字,译码设备可以以一个子码为单位完成对该任一码字的软判决译码,为了进一步说明以子码为单位对码字进行软判决译码的译码过程,参见图8所示的本申请实施例提供的一种译码方法的流程图,该方法的流程可以包括801-810。
801、译码设备在对任一码字进行本次软判决译码时,对于该码字中的任一子码,获取该子码在上一次软判决译码中的第一译码结果,该码字包括多个子码。
本次软判决译码为当前迭代译码过程中除第一次迭代译码以外的任一次迭代译码,译码设备可以对多个码字进行本次软判决译码,其中,这多个码字包括当前迭代译码过程中上一次迭代译码时的码字,还包括上一个迭代译码过程中所进行的迭代译码时的码字。仍以图3为例,若本次软判决译码为一个迭代译码过程中第2次迭代译码,则译码设备进行本次软判决译码的多个码字为第P-1个码字和第P-2个码字,其中,第P-1个码字为当前迭代译码过程中第一次迭代译码中的码字,第P-2个码字为上一迭代译码过程中进行迭代译码的码字。
由于译码设备每对一个码字进行一次软判决译码后,均会将第二缓存中该码字的第一译码结果更新为该码字最新的第一译码结果,译码设备可以将第二缓存中存储的该码字的最新的译码结果视为该码字在上一次软判决译码中的第一译码结果,因此,该上一次软判决译码可以是在当前迭代译码过程中本次迭代译码的上一次迭代译码,也可以是上一个迭代译码过程中的一次迭代译码。
在本次迭代译码中,当译码设备在对该任一码字进行本次软判决译码时,既可以对该码字进行横向软判决译码,也可以对该码字进行纵向软判决译码,若当前迭代译码过程中上一次迭代译码为横向软判决译码,则本次软判决译码为纵向软判决译码,否则,本次软判决译码为横向软判决译码,仍以图3例,当前一次迭代译码为第2迭代译码,由于第1次迭代译码为横向软判决译码,则第2迭代译码为纵向软判决译码。
该码字包括多个子码,若本次软判决译码为纵向软判决译码,则该多个子码中的任一子码为由该码字中任一列的比特位组成,若本次软判决译码为横向软判决译码,则该多个子码 中的任一子码为由该码字中任一行的比特位组成。
当任一子码由该码字中任一列的比特位组成时,译码设备可以从该码字的第二存储信息中,确定纵坐标相同的多组比特位,每组比特位组成一个子码;当任一子码由该码字中任一行的比特位组成时,译码设备可以从该码字的第二存储信息中,确定横坐标相同的多组比特位,每组比特位组成一个子码。对于任一组比特位组成的任一子码,译码设备根据该组比特位中各个比特位的存储地址,从第一缓存中获取该组比特位中各个比特位在上一次软判决译码中的硬输出结果,从而该可以得到该子码的在上一次软判决译码中的第一译码结果。
802、译码设备根据该子码在上一次软判决译码中的第一译码结果,生成该子码的状态信息,该状态信息用于指示该子码在上一次软判决译码中的译码结果是否有效。
该译码设备可以通过该子码在上一次软判决译码中的第一译码结果以及校验矩阵,来确定该子码上一次软判决译码中的译码结果是否有效,在一种可能的实现方式中,译码设备计算校验矩阵与该子码在上一次软判决译码中的第一译码结果的积,当该积为0时,则该状态信息指示该子码在上一次软判决译码中的译码结果有效,否则,该状态信息指示所述子码在上一次软判决译码中的译码结果无效。
该译码设备也可以根据子码的多个伴随式的取值,来确定该子码在上一次软判决译码中的第一译码结果是否有效。在一种可能实现方式中,当该子码的多个伴随式的值为0时,则该状态信息指示该子码在上一次软判决译码中的译码结果有效,否则,该状态信息指示该子码在上一次软判决译码中的译码结果无效。例如BCH子码,若一次软判决译码的纠错能力为t,也即是可以对t个比特位进行纠错,基于BCH子码在上次一软判决译码中的第一译码结果,计算2t个伴随式,若2t个伴随式的值全为0,该状态信息指示该BCH子码在上一次软判决译码中的译码结果有效,若2t个伴随式的值出现非0值,则该状态信息指示该BCH子码在上一次软判决译码中的译码结果无效。
该状态信息可以包括有效标识或无效标识,若该状态信息指示该子码在上一次软判决译码中的译码结果有效,则该状态信息包括有效标识,否则,该状态信息包括无效标识,本申请实施例对该有效标识和无效标识的表示方式不做具体限定。
该状态信息除了与该子码的对应的校验矩阵与该子码在上一次软判决译码中的第一译码结果的积的取值相关,还可以与该子码的循环冗余校验(cyclic redundancy check,CRC)结果相关,在一种可能的实现方式中,译码设备对该子码在上一次软判决译码中的第一译码结果进行CRC,得到该子码的CRC结果;当校验矩阵与该子码在上一次软判决译码中的第一译码结果的积为0,且该子码的CRC结果指示该子码的校验位正确时,该状态信息指示CRC该子码在上一次软判决译码中的译码结果有效,否则,该状态信息指示CRC该子码在上一次软判决译码中的译码结果无效。
803、当该状态信息指示该子码在上一次软判决译码中的译码结果有效时,译码设备将该子码在上一次软判决译码中的第一译码结果作为该子码在本次软判决译码中的第一译码结果。
由于第一缓存中存储的该子码的第一译码结果为该子码最新的第一译码结果,当该状态信息指示该子码在上一次软判决译码中的译码结果有效时,译码设备可以不对第一缓存中的该子码的第一译码结果进行修改,也即是译码设备将该子码在上一次软判决译码中的第一译 码结果作为该子码在本次软判决译码中的第一译码结果。
考虑到软判决译码造成的功耗比硬判决译码造成的功耗要高,若子码在上一次软判决译码中的第一译码结果有效,则无需对该子码再进行一次软判决译码,可以直接将该子码在上一次软判决译码中的译码结果作为该子码在本次软判决译码中的译码结果,从而无需对该码字中的每个子码进行软判决译码,进而可以降低对该码字的进行软判决译码的功耗。
804、当该状态信息指示该子码在上一次软判决译码中的译码结果有效,且该子码的本次软判决译码不是一个迭代译码过程中最后一次软判决译码时,译码设备根据该子码在上一次软判决译码中的第一译码结果,生成该子码在本次软判决译码中的第二译码结果,该一个迭代译码过程包括多次软判决译码。
一个迭代译码过程中的每次迭代译码为对码字进行的一次软判决译码,对码字进行的一次软判决译码也即是对该码字的各个子码分别进行一次软判决译码。当该状态信息指示该子码在上一次软判决译码中的译码结果有效,且该子码的本次软判决译码不是一个迭代译码过程中的最后一次软判决译码时,说明译码设备还要对该码字进行下一次迭代译码,则该译码设备可以通过本步骤804生成该子码在本次软判决译码中的第二译码结果,以便在对该码字进行下一迭代译码时,可以基于上一次各个比特位的第二译码结果进行软判决译码。
该译码设备可以根据该子码在上一次软判决译码中的第一译码结果所对应的符号值以及该子码在上一次软判决译码中的第二译码结果的位宽值,生成该子码在本次软判决译码中的第二译码结果。在一种可能的实现方式中,该译码设备对该子码在上一次软判决译码中的第一译码结果所对应的符号值以及该子码在上一次软判决译码中的第二译码结果的位宽值进行乘法计算,所得的积作为该子码在本次软判决译码中的第二译码结果。其中,第二译码结果的位宽值可以是第二译码结果的位宽允许下的最大位宽值或相对较大的位宽值。
当该状态信息指示该子码在上一次软判决译码中的译码结果有效时,若本次软判决译码是一个迭代译码过程中的最后一次软判决译码,且该码字为待处理码字中最后一个码字时,说明无需再对该码字进行迭代译码,也即是无需对该码字中的子码再次进行软判决译码,则译码设备无需执行本步骤804。仍以图3为例,图3中第P-5个码字中的任一子码在迭代译码5中的第一译码结果为该任一子码的最终的译码结果,而无需对第P-5个码字执行本步骤805。若该码字不是待处理码字中最后一个码字时,说明还需在下一个迭代译码过程中进行迭代译码,则需要执行对该子码执行本步骤804。例如图3中的第P-4个码字,第P-4个码字为一下个译码迭代过程中的最后一个码子,还要对第P-4个码字进行软判决译码,则译码设备对P-4个码子中的子码执行本步骤804。
当本步骤804执行完成后,该译码设备可以将该第二缓存中该子码在上一次软判决译码中的第二译码结果更新为该子码在本次软判决译码中的第二译码结果。在一种可能的实现方式中,该译码设备可以从该码字的第一存储信息中,获取该子码的各个比特位的存储地址,并将第二缓存中每个比特位的存储地址所对应的存储空间中的第二译码结果,更新为每个比特位在本次软判决译码中的硬输出结果。
更新该子码的第二译码结果的过程与步骤705中更新目标子码的第二译码结果的过程同理,在此,本申请实施例对更新该子码第二译码结果的过程不做赘述。
当该译码设备更新完该子码的第二译码结果,若该子码不是该码字中的最后一个子码,则译码设备对该码字中该子码的下一个子码执行步骤801。若该子码为一行比特位组成的子码,则该下一子码为该码字中该子码的下一行子码,若该子码为一列比特位组成的子码,则该下一子码为该码字中该子码的下一列子码。若该子码为该码字中的最后一个子码,则译码设备对该码字的下一个码字执行图8所示的过程。
805、当该状态信息指示该子码在上一次软判决译码中的译码结果无效时,译码设备从第二缓存中读取该子码在上一次软判决译码中的第二译码结果,该第二缓存用于存储至少一个码字中每个子码在软判决译码时生成的第二译码结果。
当该状态信息指示该子码在上一次软判决译码中的译码结果无效时,说明该子码中的至少一个比特位存在错误,则还需对子码进行软判决译码,因此,译码设备可以从第二缓存中读取该子码在上一次软判决译码中的第二译码结果,以便译码设备可以基于该子码在上一次软判决译码中的第二译码结果,对该子码进行软判决译码。
该译码设备可以从该码字的第一存储信息中,获取该子码的每个比特位的存储地址,并根据该子码的每个比特位的存储地址,从第二缓存中获取该子码的在上一次软判决译码中的第二译码结果。
本步骤805所示的过程也即是当该状态信息指示该子码在上一次软判决译码中的译码结果无效时,译码设备获取该子码在上一次软判决译码中的第二译码结果的过程。
806、译码设备基于该子码在上一次软判决译码中的第二译码结果,对该子码进行软判决译码,得到该子码在本次软判决译码中的第一译码结果和该子码在本次软判决译码中的第二译码结果。
步骤806所示的过程也即是对该子码在上一次软判决译码中的第二译码结果进行软判决译码,本申请实施例对该子码在上一次软判决译码中的第二译码结果进行软判决译码的过程不做具体限定。
807、当该子码的本次软判决译码不是一个迭代译码过程中最后一次迭代译码时,译码设备将第一缓存中该子码在上一次软判决译码中的第一译码结果更新为该子码在本次软判决译码中的第一译码结果。
当该本次软判决译码不是一个迭代译码过程中最后一次迭代译码时,说明还需要对该子码再次进行软判决译码,则需要将该子码在本次的软判决译码过程中的第一译码结果进行存储,当译码设备将该码字中各个子码在本次软判决译码的第一译码结果均存储在第一缓存后,也即是将该码字在本次软判决译码的第一译码结果存储在第一缓存,因此,在对该码字进行下一次迭代译码时,该译码设备无论是该码字的横向子码进行软判决译码,还是对该码字的纵向子码进行软判决译码,均可以从第一缓存中获取该码字的任一个子码在本次软判决译码中的第一译码结果,以便在下一次迭代译码中对该任一个子码在本次的软判决译码的第一译码结果进行判断。该译码设备可以从该码字的第二存储信息中,获取该子码的各个比特位的存储地址,并将第二缓存中每个比特位的存储地址所对应的存储空间中的第一译码结果,更新为每个比特位在本次软判决译码中的硬输出结果。
808、当该子码的本次软判决译码不是一个迭代译码过程中最后一次迭代译码时,译码设 备将该第二缓存中该子码在上一次软判决译码中的第二译码结果更新为该子码在本次软判决译码中的第二译码结果。
当该本次软判决译码不是一个迭代译码过程中最后一次迭代译码时,说明还需要对该码字再次进行软判决译码,则需要将该子码在本次的软判决译码过程中的第二译码结果进行存储,当将该码字中每个子码在本次软判决译码中的第二译码结果均存储在第二缓存后,以便在对该码字进行下一次迭代译码时,对该码字的任一子码在本次的软判决译码的第一译码结果进行判决。译码设备更新该子码的第二译码结果的过程在上述步骤804中有介绍,在此本申请实施例该本步骤808不做赘述。
809、当该子码不是该码字中最后一个子码时,译码设备对该子码的下一个子码执行步骤801。
当该子码为该码字中最后一个子码时,若该码字不是当前译码迭代过程中的最后一个码字时,则该码字的下一个码字执行图8所示的过程。
810、当该子码的本次软判决译码为一个迭代译码过程中最后一次迭代译码时,则译码设备输出该子码在本次软判决译码中的第一译码结果。
当该本次软判决译码为一个迭代译码过程中最后一次迭代译码时,若该码字为待处理码字中的最后一个码字时,译码设备将该子码在本次软判决译码的第一译码结果作为该子码的最终译码结果,输出该子码在本次软判决中的第一译码结果。由于该待处理码字为一个迭代译码过程进行迭代译码的码字,当该本次软判决译码为一个迭代译码过程中最后一次迭代译码时,若该码字为待处理码字中的最后一个码字,说明无需对该码字再次进行软判决译码,则该子码的在本次软判决译码中的第一译码结果也即是该子码最终的译码结果,译码设备可以直接输出该子码在本次软判决译码中的第一译码结果。该译码设备输出的最后一个码字的各个子码的第一译码结果也即是最后一个码字的最终译码结果。
本申请实施例提供的方法,通过子码的生成状态信息,对该子码在上一次软判决译码中的第一译码结果进行判断,若该子码在上一次软判决译码中的译码结果有效,则无需对该子码再进行一次软判决译码,可以直接将该子码在上一次软判决译码中的第一译码结果作为该子码在本次软判决译码中的第一译码结果,从而无需对该码字中的每个子码进行软判决译码,进而可以降低对码字进行软判决译码的功耗。
为了形象说明图8所示的过程,参见图9所示的本申请实施例提供的一种对码字进行译码的流程图,该流程可以包括步骤901-911。
901、对于任一码字中的任一子码,译码设备从第一缓存中获取该子码在上一次软判决译码中的第一译码结果。
902、译码设备根据该子码在上一次软判决译码中的第一译码结果,生成该子码的状态信息。
903、译码设备判断该状态信息是否指示该子码在上一次软判决译码中的译码结果有效。
904、当状态信息指示该子码在上一次软判决译码中的译码结果有效时,则译码设备判断对该任一码字的软判决译码是否为一个迭代译码过程中最后一次迭代译码。
905、若任一码字的软判决译码为一个迭代译码过程中最后一次迭代译码,则译码设备输 出该子码在上一次软判决译码中的第一译码结果。
若该子码不是该码字中最后一个子码,则对跳转至该子码的一下子码,对下一个子码执行本步骤901。
906、若任一码字的软判决译码不是一个迭代译码过程中最后一次迭代译码,则译码设备根据该子码在上一次软判决译码中的第一译码结果,生成该子码在本次软判决译码中的第二译码结果,并将该子码在本次软判决译码中的第二译码结果写入第二缓存。
其中,该子码在本次软判决译码中的第二译码结果写入第二缓存的过程也即是将该子码在本次软判决译码中的第二译码结果存储至第二缓存的过程。若该子码不是该码字中最后一个子码,则对跳转至该子码的一下子码,对下一个子码执行本步骤901.
907、当状态信息指示该子码在上一次软判决译码中的译码结果无效,译码设备从第二缓存中读取该子码在上一次软判决译码中的第二译码结果。
908、译码设备基于该子码在上一次软判决译码中的第二译码结果,对该子码进行软判决译码,得到该子码在本次软判决译码中的第一译码结果和该子码在本次软判决译码中的第二译码结果。
909、译码设备判断对该任一码字的软判决译码是否为一个迭代译码过程中最后一次迭代译码。
910、若任一码字的软判决译码为一个迭代译码过程中最后一次迭代译码,则译码设备输出该子码在本次软判决译码中的第一译码结果。
911、若任一码字的软判决译码不是一个迭代译码过程中最后一次迭代译码,则译码设备将该子码在本次软判决译码中的第一译码结果写入第一缓存,将该子码在本次软判决译码中的第二译码结果写入第二缓存。
本步骤911所示的过程也即是步骤807-808所示的过程。若该子码不是该码字中最后一个子码,则对跳转至该子码的一下子码,对下一个子码执行本步骤901。
需要说明的是,在一种可能的实现方式中,译码设备每开始对一个码字进行软判决译码之前,可以先判断本次软判决译码是否为一个迭代译码过程中最后一次迭代译码,如果是,译码设备在对一个码字进行软判决译码时,若获取到该码字中任一子码在本次软判决译码中的第一译码结果,则可以直接输出任一子码在本次软判决译码中的第一译码结果,而无需在获取任一子码在本次软判决译码中的第一译码结果后,再判断本次软判决译码是否为一个迭代译码过程中最后一次迭代译码。
图10是本申请实施例提供的一种译码设备的结构示意图,该设备1000包括:
获取模块1001,用于执行上述步骤801;
第一生成模块1002,用于执行上述步骤802;
确定模块1003,用于执行上述步骤802。
可选地,第一生成模块1002包括:
计算单元,用于计算校验矩阵的偏置矩阵与所述子码在上一次软判决译码中的第一译码结果的积;
确定单元,用于基于所述积的取值,确定所述状态信息。
可选地,所述确定单元,用于当所述积为0时,则所述状态信息指示所述子码在上一次软判决译码中的译码结果有效,否则,所述状态信息指示所述子码在上一次软判决译码中的译码结果无效。
可选地,所述设备1000还包括:
第二生成模块,用于执行上述步骤804。
可选地,所述第二生成模块,用于将根据所述子码在上一次软判决译码中的第一译码结果所对应的符号值以及所述子码在上一次软判决译码中的第二译码结果的位宽值,生成所述子码在本次软判决译码中的第二译码结果。
可选地,所述设备1000还包括译码模块:
所述获取模块,还用于当所述状态信息指示所述子码在上一次软判决译码中的译码结果无效时,获取所述子码在上一次软判决译码中的第二译码结果;
所述译码模块,用于执行上述步骤806。
可选地,所述子码在本次软判决译码中的第一译码结果包括所述子码的各个比特位在本次软判决译码中的硬输出结果;所述子码在本次软判决译码中的第二译码结果包括所述子码的各个比特位在本次软判决译码中的软输出结果。
可选地,所述设备1000还包括:
第一更新模块,用于将第一缓存中所述子码在上一次软判决译码中的第一译码结果更新为所述子码在本次软判决译码中的第一译码结果,所述第一缓存用于存储至少一个码字中每个子码在软判决译码时生成的第一译码结果;
第二更新模块,用于将第二缓存中所述子码在上一次软判决译码中的第二译码结果更新为所述子码在本次软判决译码中的第二译码结果,所述第二缓存用于存储至少一个码字中每个子码在软判决译码时生成的第二译码结果。
可选地,用于所述设备1000还包括:
输出模块,用于执行步骤810。
可选地,所述输出模块,用于当所述本次软判决译码为一个迭代译码过程中最后一次迭代译码时,若所述码字为待处理码字中的最后一个码字,将所述子码在本次软判决译码的第一译码结果作为所述子码的最终译码结果,输出所述子码在本次软判决中的第一译码结果,所述待处理码字为一个迭代译码过程进行迭代译码的码字。
该译码设备通过子码的生成状态信息,对该子码在上一次软判决译码中的第一译码结果进行判断,若该子码在上一次软判决译码中的译码结果有效,则无需对该子码再进行一次软判决译码,可以直接将该子码在上一次软判决译码中的第一译码结果作为该子码在本次软判决译码中的第一译码结果,从而无需对该码字中的每个子码进行软判决译码,进而可以降低对码字进行软判决译码的功耗。
需要说明的是:上述实施例提供的译码设备在对码字进行译码时,仅以上述各功能模块的划分进行举例说明,实际应用中,可以根据需要而将上述功能分配由不同的功能模块完成,即将设备的内部结构划分成不同的功能模块,以完成以上描述的全部或者部分功能。另外,上述实施例提供的译码方法实施例属于同一构思,其具体实现过程详见方法实施例,这里不 再赘述。
可选地,本申请提供实施例提供一种芯片,所述芯片包括处理器,所述处理器用于实现上述译码方法所执行的操作。
可选地,本申请提供实施例提供一种计算机程序产品,所述计算机程序产品包括一条或多条指令,所述一条或多条指令可以由译码设备的处理器执行,以上述译码方法所执行的操作。
上述所有可选技术方案,可以采用任意结合形成本公开的可选实施例,在此不再一一赘述。
本领域普通技术人员可以理解实现上述实施例的全部或部分步骤可以通过硬件来完成,也可以通过程序来指令相关的硬件完成,所述的程序可以存储于一种可读存储介质中,上述提到的存储介质可以是只读存储器,磁盘或光盘等。
以上所述仅为本申请的可选实施例,并不用以限制本申请,凡在本申请的精神和原则之内,所作的任何修改、等同替换、改进等,均应包含在本申请的保护范围之内。

Claims (19)

  1. 一种译码方法,其特征在于,所述方法包括:
    在对任一码字进行本次软判决译码时,对于所述码字中的任一子码,获取所述子码在上一次软判决译码中的第一译码结果,所述码字包括多个子码;
    根据所述子码在上一次软判决译码中的第一译码结果,生成所述子码的状态信息,所述状态信息用于指示所述子码在上一次软判决译码中的译码结果是否有效;
    当所述状态信息指示所述子码在上一次软判决译码中的译码结果有效时,将所述子码在上一次软判决译码中的第一译码结果作为所述子码在本次软判决译码中的第一译码结果。
  2. 根据权利要求1所述的方法,其特征在于,所述根据所述子码在上一次软判决译码中的第一译码结果,生成所述子码的状态信息包括:
    计算校验矩阵的偏置矩阵与所述子码在上一次软判决译码中的第一译码结果的积;
    基于所述积的取值,确定所述状态信息。
  3. 根据权利要求1-2任一所述的方法,其特征在于,所述方法还包括:
    当所述状态信息指示所述子码在上一次软判决译码中的译码结果有效,且所述子码的本次软判决译码不是一个迭代译码过程中的最后一次软判决译码时,根据所述子码在上一次软判决译码中的第一译码结果,生成所述子码在本次软判决译码中的第二译码结果,所述一个迭代译码过程包括多次软判决译码。
  4. 根据权利要求3所述的方法,其特征在于,所述根据所述子码在上一次软判决译码中的第一译码结果,生成所述子码在本次软判决译码中的第二译码结果包括:
    根据所述子码在上一次软判决译码中的第一译码结果所对应的符号值以及所述子码在上一次软判决译码中的第二译码结果的位宽值,生成所述子码在本次软判决译码中的第二译码结果。
  5. 根据权利要求1所述的方法,其特征在于,所述获取所述子码在上一次软判决译码中的第一译码结果之后,所述方法还包括:
    当所述状态信息指示所述子码在上一次软判决译码中的译码结果无效时,获取所述子码在上一次软判决译码中的第二译码结果;
    基于所述子码在上一次软判决译码中的第二译码结果,对所述子码进行软判决译码,得到所述子码在本次软判决译码中的第一译码结果和所述子码在本次软判决译码中的第二译码结果。
  6. 根据权利要求5所述的方法,其特征在于,所述子码在本次软判决译码中的第一译码结果包括所述子码的各个比特位在本次软判决译码中的硬输出结果;所述子码在本次软判决译码中的第二译码结果包括所述子码的各个比特位在本次软判决译码中的软输出结果。
  7. 根据权利要求5所述的方法,其特征在于,所述方法还包括:
    将第一缓存中所述子码在上一次软判决译码中的第一译码结果更新为所述子码在本次软判决译码中的第一译码结果,所述第一缓存用于存储至少一个码字中每个子码在软判决译码时生成的第一译码结果;
    将第二缓存中所述子码在上一次软判决译码中的第二译码结果更新为所述子码在本次软判决译码中的第二译码结果,所述第二缓存用于存储至少一个码字中每个子码在软判决译码 时生成的第二译码结果。
  8. 根据权利要求1所述的方法,其特征在于,所述方法还包括:
    当所述子码的本次软判决译码为一个迭代译码过程中最后一次迭代译码时,则输出所述子码在本次软判决译码中的第一译码结果。
  9. 一种译码设备,其特征在于,所述设备包括:
    输入接口,用于在对任一码字进行本次软判决译码时,对于所述码字中的任一子码,获取所述子码在上一次软判决译码中的第一译码结果,所述码字包括多个子码;
    处理器,用于根据所述子码在上一次软判决译码中的第一译码结果,生成所述子码的状态信息,所述状态信息用于指示所述子码在上一次软判决译码中的译码结果是否有效;
    所述处理器,还用于当所述状态信息指示所述子码在上一次软判决译码中的译码结果有效时,将所述子码在上一次软判决译码中的第一译码结果作为所述子码在本次软判决译码中的第一译码结果。
  10. 根据权利要求9所述的设备,其特征在于,所述处理器用于:
    计算校验矩阵的偏置矩阵与所述子码在上一次软判决译码中的第一译码结果的积;
    基于所述积的取值,确定所述状态信息。
  11. 根据权利要求9-10任一所述的设备,其特征在于,所述处理器,还用于当所述状态信息指示所述子码在上一次软判决译码中的译码结果有效,且所述子码的本次软判决译码不是一个迭代译码过程中的最后一次软判决译码时,根据所述子码在上一次软判决译码中的第一译码结果,生成所述子码在本次软判决译码中的第二译码结果,所述一个迭代译码过程包括多次软判决译码。
  12. 根据权利要求11所述的设备,其特征在于,所述处理器,用于根据所述子码在上一次软判决译码中的第一译码结果所对应的符号值以及所述子码在上一次软判决译码中的第二译码结果的位宽值,生成所述子码在本次软判决译码中的第二译码结果。
  13. 根据权利要求9所述的设备,其特征在于,所述输入接口,还用于当所述状态信息指示所述子码在上一次软判决译码中的译码结果无效时,获取所述子码在上一次软判决译码中的第二译码结果;
    所述处理器,还用于基于所述子码在上一次软判决译码中的第二译码结果,对所述子码进行软判决译码,得到所述子码在本次软判决译码中的第一译码结果和所述子码在本次软判决译码中的第二译码结果。
  14. 根据权利要求13所述的设备,其特征在于,所述子码在本次软判决译码中的第一译码结果包括所述子码的各个比特位在本次软判决译码中的硬输出结果;所述子码在本次软判决译码中的第二译码结果包括所述子码的各个比特位在本次软判决译码中的软输出结果。
  15. 根据权利要求13所述的设备,其特征在于,所述设备还包括第一缓存和第二缓存,所述第一缓存用于存储至少一个码字中每个子码在软判决译码时生成的第一译码结果,所述第二缓存用于存储至少一个码字中每个子码在软判决译码时生成的第二译码结果;
    所述处理器还用于:
    将所述第一缓存中所述子码在上一次软判决译码中的第一译码结果更新为所述子码在本次软判决译码中的第一译码结果;
    将所述第二缓存中所述子码在上一次软判决译码中的第二译码结果更新为所述子码在本次软判决译码中的第二译码结果。
  16. 根据权利要求9所述的设备,其特征在于,所述设备还包括:
    输出接口,用于当所述子码的本次软判决译码为一个迭代译码过程中最后一次迭代译码时,则输出所述子码在本次软判决译码中的第一译码结果。
  17. 一种可读存储介质,其特征在于,所述存储介质中存储有至少一条指令,所述指令由处理器加载并执行以实现如权利要求1至权利要求8任一项所述的译码方法所执行的操作。
  18. 一种芯片,其特征在于,所述芯片包括处理器,所述处理器用于实现如权利要求1-8任一项所述的译码方法所执行的操作。
  19. 一种计算机程序产品,其特征在于,所述计算机程序产品包括一条或多条指令,所述一条或多条指令可以由译码设备的处理器执行,以实现如权利要求1-8任一项所述的译码方法所执行的操作。
PCT/CN2020/115399 2019-12-18 2020-09-15 译码方法、设备、可读存储介质、芯片及计算机程序产品 WO2021120729A1 (zh)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
CN201911312200.X 2019-12-18
CN201911312200.XA CN113014267B (zh) 2019-12-18 2019-12-18 译码方法、设备、可读存储介质、芯片及计算机程序产品

Publications (1)

Publication Number Publication Date
WO2021120729A1 true WO2021120729A1 (zh) 2021-06-24

Family

ID=76382403

Family Applications (1)

Application Number Title Priority Date Filing Date
PCT/CN2020/115399 WO2021120729A1 (zh) 2019-12-18 2020-09-15 译码方法、设备、可读存储介质、芯片及计算机程序产品

Country Status (2)

Country Link
CN (1) CN113014267B (zh)
WO (1) WO2021120729A1 (zh)

Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US6543021B1 (en) * 1998-07-16 2003-04-01 Canon Kabushiki Kaisha Method and device for coding and transmission using a sub-code of a product code
CN101309086A (zh) * 2008-06-27 2008-11-19 东南大学 里德-所罗门码级联反馈系统卷积码的系统的译码方法
CN103475380A (zh) * 2013-09-06 2013-12-25 清华大学 用于图像处理器的并行Turbo 译码方法
CN106537787A (zh) * 2014-07-31 2017-03-22 华为技术有限公司 译码方法和译码器
CN109379088A (zh) * 2018-12-13 2019-02-22 浙江天则通信技术有限公司 一种并行Turbo码迭代译码的方法及系统

Family Cites Families (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2015027785A1 (en) * 2013-08-29 2015-03-05 Harman International Industries, Incorporated Soft decision decoding method and system thereof
CN108494412A (zh) * 2018-04-17 2018-09-04 国家新闻出版广电总局广播科学研究院 一种基于参数估计的多因子修正ldpc码译码方法及装置

Patent Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US6543021B1 (en) * 1998-07-16 2003-04-01 Canon Kabushiki Kaisha Method and device for coding and transmission using a sub-code of a product code
CN101309086A (zh) * 2008-06-27 2008-11-19 东南大学 里德-所罗门码级联反馈系统卷积码的系统的译码方法
CN103475380A (zh) * 2013-09-06 2013-12-25 清华大学 用于图像处理器的并行Turbo 译码方法
CN106537787A (zh) * 2014-07-31 2017-03-22 华为技术有限公司 译码方法和译码器
CN109379088A (zh) * 2018-12-13 2019-02-22 浙江天则通信技术有限公司 一种并行Turbo码迭代译码的方法及系统

Also Published As

Publication number Publication date
CN113014267A (zh) 2021-06-22
CN113014267B (zh) 2024-04-23

Similar Documents

Publication Publication Date Title
US8448050B2 (en) Memory system and control method for the same
US8042030B2 (en) Encoding apparatus, decoding apparatus, encoding method, decoding method, and storage device
JP5794240B2 (ja) 誤り検出訂正装置、誤り検出訂正方法、情報処理装置、および、プログラム
KR20100081551A (ko) 디코딩 방법 및 그 방법을 이용하는 메모리 시스템 장치
US9391641B2 (en) Syndrome tables for decoding turbo-product codes
JP2004147318A (ja) Ldpc復号化装置及びその方法
US8806295B2 (en) Mis-correction and no-correction rates for error control
KR20090041224A (ko) 연접 디코더 및 연접 디코딩 방법
JP2006238127A (ja) 復号装置および方法、並びにプログラム
CN107370488A (zh) 纠错编码方法及装置
JP2007166605A (ja) パリティ検査行列、パリティ検査行列の生成方法、エンコーディング方法及びエラー訂正装置
JP6046403B2 (ja) 誤り訂正符号の符号化方法及び復号方法
WO2019096184A1 (zh) 阶梯码的解码方法、装置及存储介质
WO2019246527A1 (en) Method and apparatus for improved data recovery in data storage systems
JP7429223B2 (ja) ターボ積符号の復号方法、装置、デコーダー及びコンピュータ記憶媒体
CN106537787B (zh) 译码方法和译码器
CN109935263B (zh) 非易失性存储器的编译码方法及存储系统
US11750219B2 (en) Decoding method, decoder, and decoding apparatus
JP2020524930A (ja) 短縮レイテンシ誤り訂正復号
US10193574B1 (en) Efficient syndrome calculation in processing a GLDPC code
CN110113058B (zh) 编译码方法、装置、设备及计算机可读存储介质
WO2021120729A1 (zh) 译码方法、设备、可读存储介质、芯片及计算机程序产品
CN109245775B (zh) 一种译码器及其实现译码的方法
KR20230132697A (ko) 일반 연결 코드 코드워드를 디코딩하는 장치, 저장 시스템 및 그 제어 방법
US10516418B2 (en) Hybrid type iterative decoding method and apparatus

Legal Events

Date Code Title Description
121 Ep: the epo has been informed by wipo that ep was designated in this application

Ref document number: 20903431

Country of ref document: EP

Kind code of ref document: A1

NENP Non-entry into the national phase

Ref country code: DE

122 Ep: pct application non-entry in european phase

Ref document number: 20903431

Country of ref document: EP

Kind code of ref document: A1