WO2009150707A1 - 検査行列の生成方法及び検査行列、並びに復号装置及び復号方法 - Google Patents

検査行列の生成方法及び検査行列、並びに復号装置及び復号方法 Download PDF

Info

Publication number
WO2009150707A1
WO2009150707A1 PCT/JP2008/060546 JP2008060546W WO2009150707A1 WO 2009150707 A1 WO2009150707 A1 WO 2009150707A1 JP 2008060546 W JP2008060546 W JP 2008060546W WO 2009150707 A1 WO2009150707 A1 WO 2009150707A1
Authority
WO
WIPO (PCT)
Prior art keywords
check matrix
parity check
matrix
data
decoding
Prior art date
Application number
PCT/JP2008/060546
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 パイオニア株式会社
Priority to JP2010516669A priority Critical patent/JP5009418B2/ja
Priority to PCT/JP2008/060546 priority patent/WO2009150707A1/ja
Priority to US12/996,682 priority patent/US20110113312A1/en
Publication of WO2009150707A1 publication Critical patent/WO2009150707A1/ja

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/1148Structural properties of the code parity-check or generator matrix
    • H03M13/116Quasi-cyclic LDPC [QC-LDPC] codes, i.e. the parity-check matrix being composed of permutation or circulant sub-matrices
    • 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/25Error detection or forward error correction by signal space coding, i.e. adding redundancy in the signal constellation, e.g. Trellis Coded Modulation [TCM]
    • H03M13/255Error detection or forward error correction by signal space coding, i.e. adding redundancy in the signal constellation, e.g. Trellis Coded Modulation [TCM] with Low Density Parity Check [LDPC] codes

Definitions

  • the present invention relates to a method for generating a check matrix for decoding data encoded by a Low Density Parity Check (LDPC) code, a check matrix generated by the method for generating the check matrix, and the check matrix.
  • LDPC Low Density Parity Check
  • the present invention relates to a technical field of a decoding device and a decoding method to be used.
  • the LDPC code is an error correction code defined by a sparse check matrix in which the number of elements “1” is very small with respect to the number of elements “0”, and element “1” in each column of the check matrix. It has a property that there is a difference in error correction capability for each codeword bit after encoding depending on the number of (ie, column weights).
  • the above-described check matrix is used for decoding data encoded by the LDPC code (see, for example, Patent Document 1).
  • Various techniques for calculating likelihood values have been proposed in order to increase error correction capability in decoding (see, for example, Patent Documents 2 and 3).
  • the technique of performing decoding based on the above-described modulation scheme is intended for modulation schemes in communication (so-called multi-level modulation).
  • multi-level modulation For example, when decoding data modulated by a modulation method other than multi-level modulation often used for recording on a recording medium, the relationship between the modulation method and the influence of noise in the technique described above does not hold. Therefore, when decoding data demodulated by a modulation method other than multi-level modulation, there is a technical problem that the error correction capability may not be improved appropriately.
  • the present invention has been made in view of the above-described problems, for example, a parity check matrix generation method and a parity check matrix, and a decoding apparatus and decoding method capable of improving error correction capability in decoding accompanied by demodulation. It is an issue to provide.
  • the parity check matrix generation method of the present invention encodes data of a (where a is a natural number) bits b (provided that the data is encoded by a low-density parity check code).
  • B is a natural number
  • a method of generating a parity check matrix for decoding encoded modulation data modulated by converting to bit data, and corresponding to the same modulation symbol data in each row constituting the parity check matrix A parity check matrix generating step of generating the parity check matrix by determining each of the a elements to be 1 so that the number of elements to be 1 is 1 or less.
  • a parity check matrix is generated for decoding encoded coded modulation data that has been encoded by the LDPC code.
  • the modulation is performed by converting a (where a is a natural number) bit data, which is a modulation symbol unit, into b (where b is a natural number) bit data.
  • the “modulation symbol” refers to the number of bits serving as a reference when performing modulation, and takes a different value depending on the modulation method.
  • the maximum number of bits in a variable length RLL (Run-Length Limited) code that is, the maximum number of bits in a conversion table indicating a modulation rule) is included (see, for example, Patent Document 5).
  • JP, 7-240691 A The coded modulation data is recorded on a recording medium etc. after encoding and modulation, for example, and is decoded when reproduced. Typically, the coded modulated data is demodulated before being decoded. At the time of demodulation, contrary to the above-described modulation, b-bit data is converted to a-bit data.
  • information called a message is exchanged in a Tanner graph which is a bipartite graph including a plurality of check nodes and a plurality of variable nodes based on a check matrix. The message is sent along a branch (edge) connecting the check node and the variable node.
  • the parity check matrix used in the above-described decoding is not more than one element that is “1” among a elements corresponding to the data of the same modulation symbol in each row constituting the parity check matrix. Has been generated to be.
  • the element corresponding to the data of the same modulation symbol does not include two or more “1” s.
  • the element “1” here means the presence of a branch in the Tanner graph.
  • noise generated when encoded modulation data is recorded or reproduced has a very high probability of occurring in modulation symbol units. That is, there is a high possibility that an error will occur in the data every a bits.
  • the parity check matrix is generated as described above, even if an error occurs in a data of the same modulation symbol and a erroneous likelihood value is generated, the a data Each of the a variable nodes corresponding to the likelihood values is not connected to the same check node. Therefore, a plurality of likelihood values among a number of erroneous likelihood values are not sent to one check node. Therefore, the specific gravity of an erroneous message at one check node can be reduced, and the error probability in decoding can be reduced.
  • a parity check matrix can be suitably generated based on the modulation scheme. Therefore, it is possible to improve the error correction capability at the time of decoding.
  • the method further includes a basic matrix generation step of generating a basic matrix, wherein the parity check matrix generation step is an integer whose elements and sizes are the modulation symbol unit a.
  • the parity check matrix is generated by replacing the doubled zero matrix and the cyclic permutation matrix so that the value of each element of the basic matrix corresponds to the cyclic shift amount of the cyclic permutation matrix.
  • the basic matrix that is the basis of the parity check matrix is generated before generating the parity check matrix.
  • the parity check matrix is generated by replacing each element of the basic matrix with a zero matrix and a cyclic permutation matrix.
  • the “cyclic permutation matrix” is a square matrix in which there is only one “1” in each row and each column of a unit matrix, for example, and the “zero matrix” is the same size as the cyclic permutation matrix (ie, , The number of rows and the number of columns) is a square matrix whose elements are “0”.
  • the parity check matrix here is a parity check matrix corresponding to a so-called QC (Quasi Cyclic) -LDPC code.
  • the “cyclic shift amount” is a value indicating how many times the cyclic permutation matrix is cyclically shifted. For example, when the element in the basic matrix is “1”, the cyclic permutation matrix is once in the right direction. Replaced with a cyclically shifted matrix. For example, when the element is a negative value or the like and cannot correspond to the cyclic shift amount, the zero matrix is replaced.
  • the size of the zero matrix to be replaced and the cyclic permutation matrix are integer multiples of the modulation symbol unit a. Therefore, among the a elements corresponding to the data of the same modulation symbol in each row constituting the check matrix, the number of elements that are “1” is 1 or less. Therefore, it is possible to improve the error correction capability at the time of decoding.
  • the method further includes a base matrix generation step of generating a base matrix having the same number of rows and columns as the check matrix, and the check matrix generation step includes the base matrix generation step.
  • the inspection is performed by exchanging the columns constituting each of the columns so that the number of elements that become 1 is 1 or less among the a elements corresponding to the data of the same modulation symbol in each row constituting the basic matrix. Generate a matrix.
  • the basic matrix that is the basis of the parity check matrix is generated.
  • the basic matrix has the same number of rows and columns as the parity check matrix, and includes elements “0” and “1”. Then, in this basic matrix, the columns are interchanged with each other so that the number of elements that become 1 among the a elements corresponding to the same modulation symbol data in each row constituting the basic matrix is 1 or less. Therefore, among the a elements corresponding to the data of the same modulation symbol in each row constituting the parity check matrix, the element that is “1” is surely set to one or less. Therefore, it is possible to improve the error correction capability at the time of decoding.
  • the parity check matrix generation method of this aspect can be applied to, for example, a parity check matrix generation method proposed by Gallager (so-called a parity check matrix generation method corresponding to a Gallager code).
  • the parity check matrix generation step includes: arrayLDPC by arranging a cyclic permutation matrix whose size is an integer multiple of the modulation symbol unit a based on a predetermined rule. A check matrix corresponding to the code is generated.
  • a check matrix corresponding to the ArrayLDPC code is generated by arranging a plurality of cyclic permutation matrices based on a predetermined rule. Specifically, for example, if the size of the cyclic permutation matrix is p, a cyclic permutation matrix that is not cyclically shifted is arranged in p rows from the top of the check matrix.
  • a cyclic permutation matrix that is not cyclically shifted is arranged on the leftmost side, and then a cyclic permutation matrix that is cyclically shifted once, a cyclic permutation matrix that is shifted twice, and a cyclic shift matrix that is shifted three times They are arranged in the order of the permutation matrix.
  • a cyclic permutation matrix that is not cyclically shifted is arranged on the leftmost side, and then a cyclic permutation matrix that is cyclically shifted twice, a cyclic permutation matrix that is shifted three times, and a cyclic shift matrix that is shifted four times They are arranged in the order of the permutation matrix.
  • the size of the cyclic permutation matrix to be replaced (that is, the number of rows and columns) is an integral multiple of the modulation symbol unit a. Therefore, among the a elements corresponding to the data of the same modulation symbol in each row constituting the check matrix, the number of elements that are “1” is 1 or less. Therefore, it is possible to improve the error correction capability at the time of decoding.
  • the coded modulated data is interleaved (ie, rearranged) by the function f (x). Since the encoded modulation data is interleaved, for example, even when errors occur intensively at a specific portion of the data, it is possible to suitably correct the errors.
  • a parity check matrix is generated so that one of the a elements corresponding to the data of the same modulation symbol in each row is 1 or less, and then the parity check matrix is configured.
  • the columns are interchanged with each other based on the function f ⁇ 1 (x).
  • the modulation symbol is the maximum number of bits in modulation using a variable length RLL code.
  • variable length RLL code is generated so that the number of elements that are “1” among the a elements that are the maximum number of bits when the variable length RLL code is used as a modulation rule is 1 or less. For this reason, it is possible to improve error correction capability when a variable length RLL code is used as a modulation rule. That is, it is possible to effectively improve the error correction capability by utilizing the high possibility that an error will occur in the data for every a bits that is the maximum number of bits.
  • the parity check matrix of the present invention is encoded by a low-density parity check code and a (where a is a natural number) bits of data b (where b is a natural number).
  • the parity check matrix of the present invention is generated by determining each element so that the number of elements that become 1 is 1 or less among a elements corresponding to the same modulation symbol data in each row constituting the parity check matrix. Has been. Therefore, in the same way as the check matrix generation method of the present invention described above, the ease of occurrence of errors depending on the modulation method is considered. Therefore, it is possible to improve the error correction capability at the time of decoding.
  • check matrix of the present invention can take the same various aspects as the check matrix generation method of the present invention described above.
  • the decoding apparatus of the present invention is encoded by a low-density parity check code based on the above-described check matrix of the present invention (including various aspects thereof), And a decoding means for decoding the coded modulated data modulated by converting the data of a (where a is a natural number) bits into data of b (where b is a natural number) bits.
  • the above-described parity check matrix of the present invention is used when decoding the encoded modulation data. Therefore, it is possible to improve the error correction capability at the time of decoding.
  • a which is a modulation symbol unit may be the maximum number of bits.
  • the decoding device of the present invention may be configured to include demodulation means for demodulating the modulated data.
  • the decoding method of the present invention is encoded by a low-density parity check code based on the above-described check matrix of the present invention (including various aspects thereof),
  • the above-described parity check matrix of the present invention is used when decoding encoded modulation data. Therefore, it is possible to improve the error correction capability at the time of decoding.
  • a which is a modulation symbol unit may be the maximum number of bits.
  • FIG. 4 is a conceptual diagram of input data before modulation and data after modulation. It is a flowchart which shows the flow of the production
  • FIG. 7 is a Tanner graph corresponding to the parity check matrix shown in FIG. 6. It is FIG.
  • (1) which shows an example of the check matrix produced
  • FIG. 1 is a block diagram showing the flow of data encoding and decoding together with the device configuration
  • FIG. 2 is a conceptual diagram showing input data before modulation and data after modulation.
  • data decoded by the decoding apparatus is first encoded by the LDPC encoder 110. That is, an LDPC code to which the parity of the LDPC code is added is generated. Subsequently, the encoded data is modulated in the modulator 120. During modulation, a-bit data, which is a unit of a modulation symbol, is converted into b-bit data.
  • the modulated data is provided with a marker for position correction at the time of detection, a sync pattern for synchronization detection, and the like in the marker adding unit 130. Thereafter, the data is recorded in the holographic memory 200.
  • a reproduction signal reproduced from the holographic memory 200 is converted into a reproduction sample value series by an A / D (Analog-to-Digital) converter (not shown), for example.
  • the reproduction sample value series is subjected to a geometric correction process by detecting a marker in the marker detection unit 140, or a process for obtaining synchronization by detecting a sync pattern. Is extracted.
  • the modulated sample value series is demodulated by a demodulator 150 made up of a SISO (Soft-In-Soft-Out) demodulator, for example, and output as a demodulated sample value series.
  • the SISO demodulator performs maximum likelihood decoding by, for example, Viterbi decoding, but the output is not binary data as in normal Viterbi decoding, but multilevel data.
  • the SISO demodulator can be realized by a decoder using, for example, the BCJR algorithm.
  • the LDPC decoder 160 is an example of the “decoding unit” of the present invention, and decodes the input demodulated sample value series (that is, likelihood information) based on the check matrix H that defines the LDPC code. Specifically, iterative decoding is performed by exchanging messages such as a priori value ratio and an external value on a Tanner graph that is a bipartite graph corresponding to a parity check matrix. Messages are exchanged between variable nodes and check nodes in the Tanner graph through branches provided corresponding to the element “1” in the check matrix H.
  • the maximum posterior probability is obtained by, for example, Sum-Product decoding.
  • the syndrome calculation of the temporary estimated word generated from the code bits obtained by the Sum-Product decoding becomes “0”
  • LDPC correction data binary value
  • iterative decoding is performed up to a predetermined maximum number of times, and the syndrome calculation is performed each time. When the number of iterations reaches the maximum predetermined number, error processing is performed and the process proceeds to the subsequent stage.
  • FIG. 3 is a flowchart showing the flow of the check matrix generation method according to the first embodiment.
  • FIG. 4 is a diagram illustrating a basic matrix that is a base of a parity check matrix
  • FIG. 5 is a diagram illustrating an example of a parity check matrix configured by a cyclic permutation matrix. In the following, a case where a parity check matrix corresponding to a QC-LDPC code is generated will be described.
  • the coding rate R, the code length N, and the number M of check bits are determined (step S11).
  • the size of the base matrix H base number of rows m and columns n, and cyclic permutation matrix to be substituted for each element of the base matrix H base i.e., the number of rows and number of columns
  • p the number of rows and number of columns
  • the number of elements that are “1” is surely one or less.
  • “a” may be the maximum number of bits in the variable length RLL code.
  • step S13 elements of the basic matrix H base satisfying the column weight (that is, the number of “1” in each column constituting the parity check matrix) and the row weight (ie, the number of “1” in each row constituting the parity check matrix).
  • step S14 cyclic shift amounts from "0" to "p-1" assigned to each of the selected elements are selected based on random numbers.
  • the cyclic shift amount is selected so that the loop does not become “4” (that is, the branch is not moved back to the original node by moving four branches on the Tanner graph).
  • check matrix H is generated by replacing the elements of the basic matrix H base with the zero matrix and the cyclic permutation matrix (step S15).
  • the H base shown in FIG. 4 is replaced by a zero matrix and a cyclic permutation matrix in which each element has 4 rows and 4 columns (that is, the size p is 4).
  • the zero matrix is indicated by “0”, and in other cyclic permutation matrices, the element “0” is omitted and only the element “1” is indicated.
  • the modulation in the modulator 120 is (2, 4) modulation
  • a plurality of “1” s are not included in the elements corresponding to the data of the same modulation symbol in each row (that is, two elements adjacent to each other).
  • FIG. 6 is a diagram illustrating an example of the parity check matrix generated by the generation method according to the present embodiment
  • FIG. 7 is a Tanner graph corresponding to the parity check matrix illustrated in FIG.
  • FIG. 8 is a diagram illustrating an example of a parity check matrix generated by the generation method according to the comparative example
  • FIG. 9 is a Tanner graph corresponding to the parity check matrix illustrated in FIG.
  • FIG. 10 is a graph showing the relationship between the bit error rate and the signal-to-noise ratio in decoding.
  • the modulator 120 see FIG. 1 performs (2, 4) modulation will be described as an example.
  • a check matrix Ha as shown in FIG. 6 is generated by the check matrix generation method according to the present embodiment described above, for example. Then, the Tanner graph corresponding to the check matrix Ha is as shown in FIG. A check node in the Tanner graph corresponds to each row of the check matrix Ha, and a variable node corresponds to each column of the check matrix Ha. A branch exists only in a portion where the element is set to “1”.
  • the check matrix Ha shown in FIG. 6 does not include a plurality of “1” s in elements corresponding to the data of the same modulation symbol in each row. Specifically, a plurality of “1” s are not included in the same row among elements surrounded by a broken line in the figure. Therefore, in the Tanner graph shown in FIG. 7, no edge is connected to the same check node from the variable node corresponding to the data of the same modulation symbol.
  • a check matrix Hb as shown in FIG. 8 is generated by a generation method other than the check matrix according to the present embodiment described above, for example.
  • the Tanner graph corresponding to the check matrix Hb is as shown in FIG.
  • the check matrix Hb includes a plurality of “1” s in elements corresponding to data of the same modulation symbol in each row. Therefore, in the Tanner graph shown in FIG. 9, unlike the Tanner graph shown in FIG. 7, an edge may be connected from the variable node corresponding to the data of the same modulation symbol to the same check node.
  • the weight of an erroneous message can be reduced.
  • the bit error rate when the signal-to-noise ratio is the same is higher when decoding with the check matrix Ha than when decoding with the check matrix Hb. Things are always smaller.
  • FIG. 11 is a diagram illustrating an example of the parity check matrix generated by the generation method according to the present embodiment
  • FIG. 12 is a Tanner graph corresponding to the parity check matrix illustrated in FIG.
  • FIG. 13 is a diagram illustrating an example of a parity check matrix generated by the generation method according to the comparative example
  • FIG. 14 is a Tanner graph corresponding to the parity check matrix illustrated in FIG.
  • FIG. 15 is a graph showing the relationship between the bit error rate and the signal-to-noise ratio in decoding.
  • a check matrix Ha as shown in FIG. 11 is generated by the check matrix generation method according to the present embodiment described above, for example. Then, the Tanner graph corresponding to the check matrix Ha is as shown in FIG.
  • Check matrix Ha shown in FIG. 11 does not include a plurality of “1” s in elements corresponding to data of the same modulation symbol in each row. Specifically, a plurality of “1” s are not included in the same row among elements surrounded by a broken line in the figure. Therefore, in the Tanner graph shown in FIG. 12, the edge is not connected to the same check node from the variable node corresponding to the data of the same modulation symbol.
  • a check matrix Hb as shown in FIG. 13 is generated by a generation method other than the check matrix according to the present embodiment described above, for example.
  • the Tanner graph corresponding to the check matrix Hb is as shown in FIG.
  • the check matrix Hb includes a plurality of “1” s in elements corresponding to data of the same modulation symbol in each row. Therefore, in the Tanner graph shown in FIG. 14, unlike the Tanner graph shown in FIG. 12, an edge may be connected from the variable node corresponding to the data of the same modulation symbol to the same check node.
  • an error has occurred in one modulation symbol in the data to be decoded, and six likelihood values ( ⁇ Er1 to ⁇ 1) generated from the erroneous modulation symbol are generated for the variable node.
  • Er6 is input.
  • an edge may be connected from the variable node corresponding to the data of the same modulation symbol to the same check node. Therefore, a plurality of six likelihood values ( ⁇ Er1 to ⁇ Er6 ) generated from an erroneous modulation symbol may be sent to the same check node.
  • all the likelihood values ( ⁇ Er1 to ⁇ Er6 ) are included in messages exchanged at the edges indicated by arrows in FIG.
  • two or more erroneous likelihood values may be included.
  • the parity check matrix is suitably generated based on the modulation scheme, so that the error correction capability can be improved.
  • FIG. 16 is a flowchart showing a flow of a parity check matrix generation method according to the second embodiment
  • FIG. 17 is a diagram showing one block in the basic matrix H ′. Note that the second embodiment differs from the first embodiment described above in the generation method of the check matrix used for decoding, and the apparatus configuration and decoding method are generally the same. Therefore, a different part from 1st Embodiment is demonstrated in detail here, and description is abbreviate
  • a check matrix corresponding to the Gallager code is used.
  • the column weight W col the row weight W row , the coding rate R, the code length N, and the number of check bits M are first determined (step S21).
  • the basic matrix H ′ having the same size as the parity check matrix H is divided into W col blocks (step S22).
  • each block is "1" W row number sequence sequentially, a row are all the rest “0", the line W A row that is cyclically shifted by row, a row that is cyclically shifted by Wrow, and so on are configured (step S23).
  • the basic matrix H ′ is column-replaced so that a plurality of “1” s are not included in the elements corresponding to the data of the same modulation symbol in each row (step S 24).
  • the error rate can be reduced.
  • the parity check matrix is suitably generated based on the modulation scheme as in the first embodiment described above, so that the error correction capability is improved. It is possible.
  • FIG. 18 is a diagram illustrating an example of a parity check matrix generated by the parity check matrix generation method according to the third embodiment
  • FIG. 19 is a diagram illustrating a cyclic permutation matrix constituting the parity check matrix.
  • the third embodiment differs from the first and second embodiments described above in the method of generating a check matrix used for decoding, and the apparatus configuration and decoding method are generally the same. Therefore, a different part from embodiment mentioned above is demonstrated in detail here, and description is abbreviate
  • the decoding apparatus uses a check matrix corresponding to the ArrayLDPC code.
  • the parity check matrix H corresponding to the ArrayLDPC code is a matrix in which a unit matrix I and ⁇ x that is a cyclic permutation matrix of the unit matrix I are arranged as shown in FIG.
  • the subscript x of the cyclic permutation matrix ⁇ x represents the cyclic shift amount. For example, ⁇ 1 is obtained by cyclically shifting the unit matrix to the right once as shown in FIG.
  • the subscript j in FIG. 18 represents the column weight
  • k represents the row weight.
  • the size of the unit matrix I and the cyclic permutation matrix ⁇ x described above is an integral multiple of a which is a unit of the modulation symbol. Therefore, as in the first embodiment described above, it is possible to prevent a plurality of “1” s from being included in the elements corresponding to the data of the same modulation symbol in each row. Therefore, in decoding using the parity check matrix H generated by the parity check matrix generation method according to the present embodiment, the error rate can be reduced.
  • the parity check matrix is suitably generated based on the modulation scheme, as in the first and second embodiments described above, and thus the error correction capability. It is possible to improve.
  • FIG. 20 is a block diagram showing the flow of data encoding and decoding together with the device configuration
  • FIG. 21 is a flowchart showing the flow of the check matrix generation method according to the fourth embodiment.
  • the fourth embodiment differs from the above-described embodiments in the generation method of the check matrix used for decoding, and the decoding method and the like are substantially the same. Therefore, here, a different part from embodiment mentioned above is demonstrated in detail, and description is abbreviate
  • data decoded by the decoding device is encoded by the LDPC encoder 110 at the time of recording and then interleaved by the interleaver 170.
  • the interleaver 170 rearranges the arrangement of the input data based on the arrangement position function f (x).
  • the data is demodulated by the demodulator 150 and then deinterleaved by the deinterleaver 180.
  • the deinterleaver 180 rearranges the arrangement of the input data based on the arrangement position function f ⁇ 1 (x).
  • step S11 to step S15 the processing from step S11 to step S15 is performed to generate the parity check matrix H as in the first embodiment, and then the arrangement in the deinterleaver 180 is performed. Based on the position function f ⁇ 1 (x), the columns are exchanged with each other (step S16). As a result, even when data is interleaved and recorded, the error rate can be suitably reduced during decoding. That is, even when data is rearranged, an appropriate parity check matrix H can be generated if the data is rearranged.
  • the parity check matrix is suitably generated based on the modulation scheme as in the first to third embodiments described above. It is possible to improve.
  • the present invention is not limited to the above-described embodiment, and can be appropriately changed without departing from the gist or concept of the invention that can be read from the claims and the entire specification, and generation of a check matrix with such a change
  • a method and a check matrix, and a decoding apparatus and method are also included in the technical scope of the present invention.
  • parity check matrix generation method and parity check matrix, decoding apparatus, and decoding method according to the present invention are used for recording and reproduction on recording media such as next-generation optical discs, holographic memories, ferroelectric probe memories, and HDDs (Hard Disc Drives) Is available. It can also be used in fields where LDPC and BCH are standardized in communications, broadcasting, and the like.

Landscapes

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

Abstract

検査行列の生成方法は、低密度パリティ検査符号によって符号化されると共に、変調シンボル単位とされたa(但し、aは自然数)ビットのデータをb(但し、bは自然数)ビットのデータへと変換することで変調された符号化変調データを復号する検査行列(H)の生成方法であって、検査行列を構成する各行における同一の変調シンボルのデータに対応するa個の要素のうち、1となる要素が1個以下となるように各要素を決定することで検査行列を生成する検査行列生成工程を含む。

Description

検査行列の生成方法及び検査行列、並びに復号装置及び復号方法
 本発明は、低密度パリティ検査(LDPC:Low Density Parity Check)符号によって符号化されたデータを復号する検査行列の生成方法及び該検査行列の生成方法によって生成された検査行列、並びに前記検査行列を用いる復号装置及び復号方法の技術分野に関する。
 LDPC符号は、要素“0”の数に対して要素“1”の数が非常に少ないような疎な検査行列によって定義される誤り訂正符号であり、検査行列の各列中の要素“1”の数(即ち、列重み)によって符号化後の符号語ビット毎に誤り訂正能力に差があるという性質を持っている。
 LDPC符号によって符号化されたデータの復号には、上述した検査行列が用いられる(例えば、特許文献1参照)。また、復号における誤り訂正能力を高めるために、尤度値の算出についての様々な技術が提案されている(例えば、特許文献2及び3参照)。
 更に、通信分野に適用しているLDPC符号によって符号化されたデータは多値変調を伴うことが多く、ノイズの発生し易いビット位置等は変調方式等によって異なる場合がある。このため、変調方式に基づいて、より好適にデータを復号するという技術が提案されている(例えば、特許文献4参照)。
特開2003-198383号公報 特開2005-302079号公報 特開2007-272973号公報 特開2004-64756号公報
 しかしながら、上述した変調方式に基づいて復号を行うという技術は、通信における変調方式(所謂、多値変調)を対象としている。ここで、例えば記録媒体に記録する際に多く用いられる多値変調以外の変調方式によって変調されたデータを復号する際には、上述した技術における変調方式とノイズの影響との関係は成り立たなくなる。よって、多値変調以外の変調方式によって復調されたデータを復号する際には、適切に誤り訂正能力を向上させることができないおそれがあるという技術的問題点がある。
 本発明は、例えば上述した問題点に鑑みなされたものであり、復調を伴う復号の際に、誤り訂正能力を向上させることが可能な検査行列の生成方法及び検査行列、並びに復号装置及び復号方法を提供することを課題とする。
 本発明の検査行列の生成方法は上記課題を解決するために、低密度パリティ検査符号によって符号化されると共に、変調シンボル単位とされたa(但し、aは自然数)ビットのデータをb(但し、bは自然数)ビットのデータへと変換することで変調された符号化変調データを復号する検査行列の生成方法であって、前記検査行列を構成する各行における同一の前記変調シンボルのデータに対応するa個の要素のうち、1となる要素が1個以下となるように各要素を決定することで前記検査行列を生成する検査行列生成工程を含む。
 本発明の検査行列の生成方法によれば、LDPC符号によって符号化されると共に、変調された符号化変調データを復号するための検査行列が生成される。ここでの変調は、変調シンボル単位とされたa(但し、aは自然数)ビットのデータをb(但し、bは自然数)ビットのデータへと変換することで行われる。尚、「変調シンボル」とは、変調を行う際に基準となるビット数を指しており、変調方式によって異なる値をとる。また、例えば可変長RLL(Run-Length Limited)符号における最大ビット数(即ち、変調則を示す変換テーブルにおける最大語調となるビット数)を含むものとする(例えば、特許文献5参照)。
特開平7-240691号公報 符号化変調データは、例えば符号化及び変調された後に記録媒体等に記録され、再生される際に復号される。また典型的には、符号化変調データは、復号される前に復調される。復調の際には、上述した変調の際とは逆に、bビットのデータがaビットのデータに変換される。復号の際には、検査行列に基づく複数のチェックノード及び複数の変数ノードを含む二部グラフであるタナーグラフにおいて、メッセージと呼ばれる情報がやり取りされる。メッセージは、チェックノード及び変数ノード間を結ぶ枝(エッジ)に沿って送られる。
 本発明では特に、上述した復号の際に用いられる検査行列は、検査行列を構成する各行における同一の変調シンボルのデータに対応するa個の要素のうち、“1”となる要素が1個以下であるように生成されている。言い換えれば、同一の変調シンボルのデータに対応する要素には“1”が2つ以上含まれない。尚、ここでの要素“1”は、タナーグラフにおける枝の存在を意味する。
 ここで、例えばSNR(Signal to Noise Ratio)が低下することに起因して、符号化変調データが記録されたり再生されたりする際に発生するノイズは、変調シンボル単位で発生する確率が極めて高い。即ち、a個のビット毎にデータに誤りが発生してしまう可能性が高い。
 これに対し、検査行列が上述したように生成されていれば、仮に同一の変調シンボルのa個のデータに誤りが生じ、a個の誤った尤度値が生成されたとしても、このa個の尤度値に対応するa個の変数ノードの各々は、互いに同一のチェックノードとは繋がらない。よって、一のチェックノードに対して、誤りであるa個の尤度値のうち、複数の尤度値が送られてしまうことはない。従って、一のチェックノードにおける誤ったメッセージの比重を小さくすることができ、復号におけるエラー確率を低くすることが可能である。
 以上説明したように、本発明の検査行列の生成方法によれば、変調方式に基づいて好適に検査行列を生成することができる。従って、復号の際の誤り訂正能力を向上させることが可能である。
 本発明の検査行列の生成方法の一態様では、基本行列を生成する基本行列生成工程を更に含み、前記検査行列生成工程は、前記基本行列の各要素と大きさが前記変調シンボル単位aの整数倍であるゼロ行列及び巡回置換行列とを、前記基本行列の各要素の値と前記巡回置換行列の巡回シフト量とが対応するように置換することで前記検査行列を生成する。
 この態様によれば、先ず検査行列を生成する前に、検査行列の元となる基本行列が生成される。そして、検査行列は、基本行列の各要素をゼロ行列及び巡回置換行列で置換することで生成される。尚、「巡回置換行列」は、例えば単位行列等の各行及び各列に“1”が夫々1つしか存在しないような正方行列であり、「ゼロ行列」は、巡回置換行列と大きさ(即ち、行数及び列数)が同じである要素が“0”の正方行列である。基本行列の各要素及び巡回置換行列は、基本行列の各要素の値が、巡回置換行列の巡回シフト量と対応するように置換される。即ち、ここでの検査行列は、所謂QC(Quasi Cyclic)-LDPC符号に対応する検査行列である。尚、「巡回シフト量」とは、巡回置換行列を何回巡回シフトさせるかを示す値であり、例えば基本行列における要素が“1”である場合には、巡回置換行列が右方向に1回巡回シフトされた行列と置換される。また、例えば要素が負の値などであり、巡回シフト量と対応させることができない場合には、ゼロ行列と置換される。
 本態様では特に、置換されるゼロ行列及び巡回置換行列の大きさが変調シンボル単位aの整数倍とされている。よって、検査行列を構成する各行における同一の変調シンボルのデータに対応するa個の要素のうち、“1”となる要素は1個以下とされる。従って、復号の際の誤り訂正能力を向上させることが可能できる。
 本発明の検査行列の生成方法の他の態様では、前記検査行列と行数及び列数が同じである基礎行列を生成する基礎行列生成工程を更に含み、前記検査行列生成工程は、前記基礎行列を構成する各列を、前記基礎行列を構成する各行における同一の前記変調シンボルのデータに対応するa個の要素のうち、1となる要素が1個以下となるように互いに入れ替えることにより前記検査行列を生成する。
 この態様によれば、先ず検査行列を生成する前に、検査行列の元となる基礎行列が生成される。尚、基礎行列は、検査行列と行数及び列数が同じであり、“0”及び“1”の要素を含んで構成されている。そして、この基礎行列において、基礎行列を構成する各行における同一の変調シンボルのデータに対応するa個の要素のうち、1となる要素が1個以下となるように、各列が互いに入れ替えられる。よって、検査行列を構成する各行における同一の変調シンボルのデータに対応するa個の要素のうち、“1”となる要素は確実に1個以下とされる。従って、復号の際の誤り訂正能力を向上させることが可能である。
 本態様の検査行列生成方法は、例えばGallagerの提唱した検査行列の生成方法(所謂、Gallager符号に対応する検査行列の生成方法)に応用可能である。
 本発明の検査行列の生成方法の他の態様では、前記検査行列生成工程は、大きさが前記変調シンボル単位aの整数倍である巡回置換行列を所定の法則に基づいて配列することによって、ArrayLDPC符号に対応する検査行列を生成する。
 この態様によれば、複数の巡回置換行列が所定の法則に基づいて配列されることで、ArrayLDPC符号に対応する検査行列が生成される。具体的には、例えば巡回置換行列の大きさをpとすると、検査行列の上からp行には、巡回シフトされない巡回置換行列が配列される。そして、続くp行には、先ず一番左側に巡回シフトされない巡回置換行列が配列され、その後に1回巡回シフトされた巡回置換行列、2回シフトされた巡回置換行列、3回シフトされた巡回置換行列、・・・の順で配列される。更に、続くp行には、先ず一番左側に巡回シフトされない巡回置換行列が配列され、その後に2回巡回シフトされた巡回置換行列、3回シフトされた巡回置換行列、4回シフトされた巡回置換行列、・・・の順で配列される。
 本態様では特に、置換される巡回置換行列の大きさ(即ち、行数及び列数)が変調シンボル単位aの整数倍とされている。よって、検査行列を構成する各行における同一の変調シンボルのデータに対応するa個の要素のうち、“1”となる要素は1個以下とされる。従って、復号の際の誤り訂正能力を向上させることが可能である。
 本発明の検査行列の生成方法の他の態様では、前記符号化変調データは、関数f(x)によってインターリーブされており、前記検査行列生成工程の後に、前記検査行列を構成する各要素を、下記の式、x=f{f-1(x)}=f-1{f(x)}を満足するような関数f-1(x)に基づいて互いに入れ替える入替工程を更に含む。
 この態様によれば、符号化変調データは、関数f(x)によってインターリーブ(即ち、配置換え)されている。符号化変調データがインターリーブされていることにより、例えばデータの特定の箇所において集中的に誤りが発生した場合であっても、好適に誤りを訂正することが可能となる。
 本態様では特に、先ず検査行列が各行における同一の変調シンボルのデータに対応するa個の要素のうち、1となる要素が1個以下であるように生成され、その後に、検査行列を構成する各列が、関数f-1(x)に基づいて互いに入れ替えられる。関数f-1(x)は、x=f{f-1(x)}=f-1{f(x)}を満足するような関数である。即ち、関数f-1(x)は、インターリーブされたデータをデインターリーブ(配置戻し)する際に用いられる関数である。
 よって、上述したインターリーブによってデータの配置が換えられた場合であっても、検査行列を構成する各行における同一の前記変調シンボルのデータに対応するa個の要素のうち、1となる要素が1個以下とされる。従って、復号の際の誤り訂正能力を向上させることが可能である。
 本発明の検査行列の生成方法の他の態様では、前記変調シンボルは、可変長RLL符号を用いる変調における最大ビット数である。
 この態様によれば、可変長RLL符号を変調則として用いた場合の最大ビット数であるa個の要素のうち、“1”となる要素が1個以下であるように生成される。このため、可変長RLL符号を変調則として用いた場合の誤り訂正能力を向上させることができる。即ち、最大ビット数であるa個のビット毎にデータに誤りが発生してしまう可能性が高いことを利用して、効果的に誤り訂正能力を向上させることが可能である。
 本発明の検査行列は上記課題を解決するために、低密度パリティ検査符号によって符号化されると共に、変調シンボル単位とされたa(但し、aは自然数)ビットのデータをb(但し、bは自然数)ビットのデータへと変換することで変調された符号化変調データを復号する検査行列であって、当該検査行列を構成する各行における同一の前記変調シンボルのデータに対応するa個の要素のうち、1となる要素が1個以下となるように各要素を決定することで生成されている。
 本発明の検査行列は、検査行列を構成する各行における同一の変調シンボルのデータに対応するa個の要素のうち、1となる要素が1個以下となるように各要素を決定することで生成されている。よって、上述した本発明の検査行列の生成方法と同様に、変調方式によって異なる誤りの発生し易さを考慮したものとされている。従って、復号の際の誤り訂正能力を向上させることが可能である。
 尚、本発明の検査行列においても、上述した本発明の検査行列の生成方法と同様の各種態様をとることが可能である。
 本発明の復号装置は上記課題を解決するために、上述した本発明の検査行列(但し、その各種態様も含む)に基づいて、低密度パリティ検査符号によって符号化されると共に、変調シンボル単位とされたa(但し、aは自然数)ビットのデータをb(但し、bは自然数)ビットのデータへと変換することで変調された符号化変調データを復号する復号手段を備える。
 本発明の復号装置によれば、符号化変調データを復号する際に、上述した本発明の検査行列が用いられる。従って、復号の際の誤り訂正能力を向上させることが可能である。尚、可変長RLL符号を用いる変調が行われている場合には、変調シンボル単位であるaは、最大ビット数とされてもよい。また、本発明の復号装置は、変調されたデータを復調する復調手段等を備えて構成されてもよい。
 本発明の復号方法は上記課題を解決するために、上述した本発明の検査行列(但し、その各種態様も含む)に基づいて、低密度パリティ検査符号によって符号化されると共に、変調シンボル単位とされたa(但し、aは自然数)ビットのデータをb(但し、bは自然数)ビットのデータへと変換することで変調された符号化変調データを復号する復号工程を含む。
 本発明の復号方法によれば、符号化変調データを復号する際に、上述した本発明の検査行列が用いられる。従って、復号の際の誤り訂正能力を向上させることが可能である。尚、可変長RLL符号を用いる変調が行われている場合には、変調シンボル単位であるaは、最大ビット数とされてもよい。
 本発明の作用及び他の利得は、次に説明する実施するための最良の形態から明らかにされる。
データの符号化及び復号の流れを装置構成と共に示すブロック図(その1)である。 変調前の入力データ及び変調後のデータを概念図である。 第1実施形態に係る検査行列の生成方法の流れを示すフローチャートである。 検査行列の元となる基本行列を示す図である。 巡回置換行列によって構成される検査行列の一例を示す図である。 第1実施形態に係る生成方法により生成した検査行列の一例を示す図(その1)である。 図6に示す検査行列に対応するタナーグラフである。 比較例に係る生成方法により生成した検査行列の一例を示す図(その1)である。 図8に示す検査行列に対応するタナーグラフである。 復号におけるビット誤り率及び信号対雑音比の関係を示すグラフ(その1)である。 第1実施形態に係る生成方法により生成した検査行列の一例を示す図(その2)である。 図11に示す検査行列に対応するタナーグラフである。 比較例に係る生成方法により生成した検査行列の一例を示す図(その2)である。 図13に示す検査行列に対応するタナーグラフである。 復号におけるビット誤り率及び信号対雑音比の関係を示すグラフ(その2)である。 第2実施形態に係る検査行列の生成方法の流れを示すフローチャートである。 基礎行列H’における一のブロックを示す図である。 第3実施形態に係る検査行列の生成方法によって生成される検査行列の一例を示す図である。 検査行列を構成する巡回置換行列を示す図である。 データの符号化及び復号の流れを装置構成と共に示すブロック図(その2)である。 第4実施形態に係る検査行列の生成方法の流れを示すフローチャートである。
符号の説明
 110 LDPCエンコーダ
 120 モジュレータ
 130 マーカ付与部
 140 マーカ検出部
 150 デモジュレータ
 160 LDPCデコーダ
 170 インターリーバ
 180 デインターリーバ
 200 ホログラフィックメモリ
 以下では、本発明の実施形態について図を参照しつつ説明する。以下では、符号化及び変調された符号化変調データがホログラフィックメモリに記憶される場合を例にとり説明する。
 <第1実施形態>
 先ず、第1実施形態に係る復号装置の構成及びデータの符号化から復号までの流れについて、図1及び図2を参照して説明する。ここに図1は、データの符号化及び復号の流れを装置構成と共に示すブロック図であり、図2は、変調前の入力データ及び変調後のデータを概念図である。
 図1において、本実施形態に係る復号装置によって復号されるデータは、先ずLDPCエンコーダ110によって符号化される。即ち、LDPC符号のパリティを付加したLDPCコードが生成される。続いて、符号化されたデータは、モジュレータ120において変調される。変調の際には、変調シンボルの単位とされるaビットのデータがbビットのデータへと変換される。
 図2において、例えば2ビットのデータを4ビットのデータへと変換する(2,4)変調を行う場合には、図に示すようにデータが変換される。即ち、2ビットのデータが、4つの画素によって示される4ビットのデータへと変換される。
 図1に戻り、変調されたデータは、マーカ付与部130において、検出する際の位置補正用のマーカや同期検出用のシンクパターン等が付与される。その後、データは、ホログラフィックメモリ200に記録される。
 ホログラフィックメモリ200から再生される再生信号は、例えばA/D(Analog to Digital)コンバータ(図示せず)によって、再生サンプル値系列に変換される。再生サンプル値系列は、マーカ検出部140において、マーカが検出されることにより幾何補正する処理が施される、或いは、シンクパターンが検出されることで同期を取る処理が施され、変調サンプル値系列が抽出される。
 変調サンプル値系列は、例えばSISO(Soft-In-Soft-Out)復調器等からなるデモジュレータ150において復調され、復調サンプル値系列として出力される。SISO復調器は、例えばビタビ復号によって最尤復号を行うが、出力は通常のビタビ復号のような二値データでなく、多値データである。尚、SISO復調器は、例えばBCJRアルゴリズムを使用した復号器により実現できる。
 LDPCデコーダ160は、本発明の「復号手段」の一例であり、入力された復調サンプル値系列(即ち、尤度情報)を、LDPC符号を規定する検査行列Hに基づいて復号する。具体的には、検査行列に対応する二部グラフであるタナーグラフ上で、事前値比や外部値といったメッセージがやり取りされることにより反復復号が行われる。メッセージは、タナーグラフにおける変数ノード及びチェックノード間を、検査行列Hにおける要素“1”に対応して設けられた枝を通してやり取りされる。
 この際、例えばSum-Product復号によって最大事後確率が求められる。ここで、Sum-Product復号によって得た符号ビットから生成された一時推定語のシンドローム計算が“0”となれば、誤り無しとしてLDPCパリティを取り除いたLDPC訂正データ(2値)が出力される。一方、シンドローム計算が“1”の場合、予め定めた最大所定回数までは反復復号が行われ、その都度シンドローム計算が行われる。反復回数が最大所定回数に達すると、エラー処理を施し後段の処理へ移行する。
 次に、本実施形態に係る復号装置で用いられる検査行列の生成方法について、図3から図5を参照して説明する。ここに図3は、第1実施形態に係る検査行列の生成方法の流れを示すフローチャートである。また図4は、検査行列の元となる基本行列を示す図であり、図5は、巡回置換行列によって構成される検査行列の一例を示す図である。尚、以下では、QC-LDPC符号に対応する検査行列を生成する場合について説明する。
 図3において、本実施形態に係る検査行列を生成する際には、先ず符号化率R、符号長N及び検査ビット(即ち、パリティビット)の数Mを決める(ステップS11)。続いて、基本行列Hbaseの行数m及び列数n、並びに基本行列Hbaseの各要素と置換される巡回置換行列の大きさ(即ち、行数及び列数)pを決める(ステップS12)。ここで特に、モジュレータ120における変調を(a,b)変調とした場合、M/m=N/n=pがaの整数倍となるように決定される。これにより、生成される検査行列Hを構成する各行における同一の変調シンボルのデータに対応するa個の要素のうち、“1”となる要素は確実に1個以下とされる。尚、ここでの「a」は、可変長RLL符号における最大ビット数であっても構わない。
 続いて、列重み(即ち、検査行列を構成する各列における“1”の数)及び行重み(即ち、検査行列を構成する各行における“1”の数)を満足する基本行列Hbaseの要素から巡回置換行列に置き換えるものを、乱数を元に選び(ステップS13)、選んだ要素の各々に割り当てる“0”から“p-1”の巡回シフト量を、乱数を元に選ぶ(ステップS14)。この際、巡回シフト量は、ループが“4”とならないように(即ち、タナーグラフ上で4回枝を移動して、元のノードに戻ってくることがないように)選択される。
 最後に、基本行列Hbaseの要素が、ゼロ行列及び巡回置換行列によって置き換えられることで、検査行列Hが生成される(ステップS15)。
 図4に示すように、例えば3行5列の基本行列Hbaseが生成された場合、基本行列Hbaseにおける要素“0”は単位行列と置き換えられ、要素“1”は単位行列を右側に1回巡回シフトした行列と置き換えられる。また要素“2”は単位行列を右側に2回巡回シフトした行列と置き換えられ、要素“3”は単位行列を右側に3回巡回シフトした行列と置き換えられる。要素“-1”はゼロ行列と置き換えられる。
 図5に示すように、図4に示したHbaseは、各要素が4行4列(即ち、大きさpが4)のゼロ行列及び巡回置換行列によって置き換えられる。尚、図5では、ゼロ行列を“0”で示しており、他の巡回置換行列では、要素“0”を省略し、要素“1”のみを示している。モジュレータ120における変調を(2,4)変調とした場合、ゼロ行列及び巡回置換行列の大きさp=4は、変調シンボル単位である2の整数倍である。この場合、図5で示す検査行列Hを見ても分かるように、各行における同一変調シンボルのデータに対応する要素(即ち、互いに隣り合う2つの要素)において、“1”は複数含まれない。
 次に、上述した検査行列を用いることによる効果について、図6から図10を参照して説明する。ここに、図6は、本実施形態に係る生成方法により生成した検査行列の一例を示す図であり、図7は、図6に示す検査行列に対応するタナーグラフである。また図8は、比較例に係る生成方法により生成した検査行列の一例を示す図であり、図9は、図8に示す検査行列に対応するタナーグラフである。図10は、復号におけるビット誤り率及び信号対雑音比の関係を示すグラフである。尚、以下では、モジュレータ120(図1参照)が(2,4)変調を行う場合を例にとり説明する。
 図6及び図7において、例えば上述した本実施形態に係る検査行列の生成方法によって、図6に示すような検査行列Haが生成されているとする。すると、検査行列Haに対応するタナーグラフは図7示すようなものとなる。尚、タナーグラフにおけるチェックノードは、検査行列Haの各行に対応しており、変数ノードは、検査行列Haの各列に対応している。また、要素が“1”とされた部分にのみ枝が存在している。
 図6に示す検査行列Haは、各行における同一変調シンボルのデータに対応する要素において、“1”は複数含まれない。具体的には、図中において破線で囲まれる要素のうち、同一行のものには、“1”が複数含まれない。よって、図7に示すタナーグラフでは、同一変調シンボルのデータに対応する変数ノードからは、同一のチェックノードに対してエッジは接続されない。
 例えば、復号するデータにおける一の変調シンボルに誤りが生じており、変数ノードに対して、誤った変調シンボルからの生成された2つの尤度値(λEr1,λEr2)が入力されたとする。これに対し、本実施形態では上述したように、同一変調シンボルのデータに対応する変数ノードからは、同一のチェックノードに対してエッジは接続されない。よって、誤った変調シンボルからの生成された2つの尤度値(λEr1,λEr2)が、同一のチェックノードに対して送られることはない。具体的には、図7において矢印で示すエッジでやり取りされるメッセージには、尤度値(λ、λ、λEr2)が含まれ、誤った尤度値は1つのみとなる。他のエッジにおいても、同様に、誤った尤度値は多くとも一方しか含まれない。
 図8及び図9において、例えば上述した本実施形態に係る検査行列の以外の生成方法によって、図8に示すような検査行列Hbが生成されているとする。すると、検査行列Hbに対応するタナーグラフは図9示すようなものとなる。検査行列Hbには、各行における同一変調シンボルのデータに対応する要素において、“1”が複数含まれている。よって、図9に示すタナーグラフでは、図7で示したタナーグラフと異なり、同一変調シンボルのデータに対応する変数ノードから、同一のチェックノードに対してエッジが接続される場合がある。
 ここで、上述した場合と同様に、復号するデータにおける一の変調シンボルに誤りが生じており、変数ノードに対して、誤った変調シンボルからの生成された2つの尤度値(λEr1,λEr2)が入力されたとする。ここで、比較例に係るタナーグラフでは上述したように、同一変調シンボルのデータに対応する変数ノードから、同一のチェックノードに対してエッジが接続される場合がある。よって、誤った変調シンボルからの生成された2つの尤度値(λEr1,λEr2)が、同一のチェックノードに対して送られてしまう場合がある。具体的には、図9において矢印で示すエッジでやり取りされるメッセージには、尤度値(λn-3、λEr1,λEr2)が含まれ、誤った尤度値が2つとも含まれる。他のエッジにおいても、同様に、誤った尤度値が2つとも含まれてしまう場合がある。
 図10において、本実施形態に係る検査行列の生成方法によって生成された検査行列を用いて復号する場合には、誤ったメッセージの重みを小さくすることができる。本願発明者の研究によれば、グラフで示されるように、信号対雑音比が同一である場合のビット誤り率は、検査行列Hbで復号した際のものより、検査行列Haで復号した際のものの方が常に小さくなる。
 続いて、(6,9)変調を行う場合についても、図11から図15を参照して同様に説明する。ここに図11は、本実施形態に係る生成方法により生成した検査行列の一例を示す図であり、図12は、図11に示す検査行列に対応するタナーグラフである。また図13は、比較例に係る生成方法により生成した検査行列の一例を示す図であり、図14は、図13に示す検査行列に対応するタナーグラフである。図15は、復号におけるビット誤り率及び信号対雑音比の関係を示すグラフである。
 図11及び図12において、例えば上述した本実施形態に係る検査行列の生成方法によって、図11に示すような検査行列Haが生成されているとする。すると、検査行列Haに対応するタナーグラフは図12示すようなものとなる。図11に示す検査行列Haは、各行における同一変調シンボルのデータに対応する要素において、“1”は複数含まれない。具体的には、図中において破線で囲まれる要素のうち、同一行のものには、“1”が複数含まれない。よって、図12に示すタナーグラフでは、同一変調シンボルのデータに対応する変数ノードからは、同一のチェックノードに対してエッジは接続されない。
 例えば、復号するデータにおける一の変調シンボルに誤りが生じており、変数ノードに対して、誤った変調シンボルからの生成された6つの尤度値(λEr1~λEr6)が入力されたとする。これに対し、本実施形態では上述したように、同一変調シンボルのデータに対応する変数ノードからは、同一のチェックノードに対してエッジは接続されない。よって、誤った変調シンボルからの生成された6つの尤度値(λEr1~λEr6)が、同一のチェックノードに対して複数送られることはない。具体的には、図12において矢印で示すエッジでやり取りされるメッセージには、尤度値(λ、λEr1)が含まれ、誤った尤度値は1つのみとなる。他のエッジにおいても、同様に、誤った尤度値は多くとも1つしか含まれない。
 図13及び図14において、例えば上述した本実施形態に係る検査行列の以外の生成方法によって、図13に示すような検査行列Hbが生成されているとする。すると、検査行列Hbに対応するタナーグラフは図14示すようなものとなる。検査行列Hbには、各行における同一変調シンボルのデータに対応する要素において、“1”が複数含まれている。よって、図14に示すタナーグラフでは、図12で示したタナーグラフと異なり、同一変調シンボルのデータに対応する変数ノードから、同一のチェックノードに対してエッジが接続される場合がある。
 ここで、上述した場合と同様に、復号するデータにおける一の変調シンボルに誤りが生じており、変数ノードに対して、誤った変調シンボルからの生成された6つの尤度値(λEr1~λEr6)が入力されたとする。ここで、比較例に係るタナーグラフでは上述したように、同一変調シンボルのデータに対応する変数ノードから、同一のチェックノードに対してエッジが接続される場合がある。よって、誤った変調シンボルからの生成された6つの尤度値(λEr1~λEr6)が、同一のチェックノードに対して複数送られてしまう場合がある。具体的には、図14において矢印で示すエッジでやり取りされるメッセージには、尤度値(λEr1~λEr6)の全てが含まれることとなる。他のエッジにおいても、同様に、誤った尤度値が2つ以上含まれてしまう場合がある。
 図15において、(6,9)変調を行う場合においても、上述した(2,4)変調の場合と同様に、本実施形態に係る検査行列の生成方法によって生成された検査行列を用いて復号する場合には、誤ったメッセージの重みを小さくすることができる。本願発明者の研究によれば、グラフで示されるように、信号対雑音比が同一である場合のビット誤り率は、検査行列Hbで復号した際のものより、検査行列Haで復号した際のものの方が常に小さくなる。
 以上説明したように、第1実施形態に係る復号装置によれば、変調方式に基づいて好適に検査行列が生成されているため、誤り訂正能力を向上させることが可能である。
 <第2実施形態>
 次に、第2実施形態に係る復号装置について、図16及び図17を参照して説明する。ここに図16は、第2実施形態に係る検査行列の生成方法の流れを示すフローチャートであり、図17は、基礎行列H’における一のブロックを示す図である。尚、第2実施形態は、上述した第1実施形態と比べて、復号の際に用いる検査行列の生成方法が異なり、装置構成や復号方法等は概ね同じである。よって、ここでは第1実施形態と異なる部分について詳細に説明し、他の重複する部分については適宜説明を省略する。
 図16において、第2実施形態に係る復号装置では、Gallager符号に対応する検査行列が用いられる。検査行列Hを生成する際には、先ず列重みWcol、行重みWrow、符号化率R、符号長N、検査ビット数Mを決める(ステップS21)。但し、N×Wcol=M×Wrowであり、R=1-(M/N)である。続いて、検査行列Hと同じ大きさの基礎行列H’をWcol個のブロックに分割する(ステップS22)。
 図17に示すように、基礎行列H’をブロックに分割した後は、各ブロックが、“1”がWrow個連続して並び、残りは全て“0”である行と、その行をWrowだけ巡回シフトした行と、更にその行をWrowだけ巡回シフトした行と・・・から構成されるようにする(ステップS23)。
 図16に戻り、最後に基礎行列H’を、各行における同一変調シンボルのデータに対応する要素において、“1”が複数含まれないように列置換する(ステップS24)。これによって、上述した第1実施形態と同様に、各行における同一変調シンボルのデータに対応する要素において、“1”が複数含まれない検査行列Hを生成することができる。よって、本実施形態に係る検査行列の生成方法によって生成された検査行列Hを用いる復号では、エラー率を低下させることができる。
 以上説明したように、第2実施形態に係る復号装置によれば、上述した第1実施形態と同様に、変調方式に基づいて好適に検査行列が生成されているため、誤り訂正能力を向上させることが可能である。
 <第3実施形態>
 次に、第3実施形態に係る復号装置について、図18及び図19を参照して説明する。ここに図18は、第3実施形態に係る検査行列の生成方法によって生成される検査行列の一例を示す図であり、図19は、検査行列を構成する巡回置換行列を示す図である。尚、第3実施形態は、上述した第1及び第2実施形態と比べて、復号の際に用いる検査行列の生成方法が異なり、装置構成や復号方法等は概ね同じである。よって、ここでは上述した実施形態と異なる部分について詳細に説明し、他の重複する部分については適宜説明を省略する。
 図18及び図19において、第2実施形態に係る復号装置では、ArrayLDPC符号に対応する検査行列が用いられる。ArrayLDPC符号に対応する検査行列Hは、単位行列Iと単位行列Iの巡回置換行列であるαが、図18に示すように配列された行列である。尚、巡回置換行列αの添え字xは巡回シフト量を表しており、例えばαは、図19に示すように、単位行列を右側に1回巡回シフトさせたものとなる。また、図18における添え字jは列重み、kは行重みを夫々表している。
 ここで、上述した単位行列I及び巡回置換行列αの大きさは、変調シンボルの単位であるaの整数倍とされている。よって、上述した第1実施形態と同様に、各行における同一変調シンボルのデータに対応する要素において、“1”が複数含まれないようにすることができる。よって、本実施形態に係る検査行列の生成方法によって生成された検査行列Hを用いる復号では、エラー率を低下させることができる。
 以上説明したように、第3実施形態に係る復号装置によれば、上述した第1及び第2実施形態と同様に、変調方式に基づいて好適に検査行列が生成されているため、誤り訂正能力を向上させることが可能である。
 <第4実施形態>
 次に、第4実施形態に係る復号装置について、図20及び図21を参照して説明する。ここに図20は、データの符号化及び復号の流れを装置構成と共に示すブロック図であり、図21は、第4実施形態に係る検査行列の生成方法の流れを示すフローチャートである。尚、第4実施形態は、上述した実施形態と比べて、復号の際に用いる検査行列の生成方法が異なり、復号方法等は概ね同じである。よって、ここでは上述した実施形態と異なる部分について詳細に説明し、他の重複する部分については適宜説明を省略する。また、図20及び図21では、図1及び図3で示した第1実施形態と同様の構成要素に同一の符号を付している。
 図20において、第4実施形態に係る復号装置によって復号されるデータは、記録の際にLDPCエンコーダ110によって符号化された後、インターリーバ170によってインターリーブされる。具体的には、インターリーバ170は、配置位置関数f(x)に基づいて、入力されたデータの配置を並び替える。そして、再生する際には、デモジュレータ150によって復調された後、デインターリーバ180によってデインターリーブされる。具体的には、デインターリーバ180は、配置位置関数f-1(x)に基づいて、入力されたデータの配置を並び替える。尚、関数f(x)及び関数f-1(x)は、x=f{f-1(x)}=f-1{f(x)}の関係を満足する。
 図21において、第4実施形態に係る検査行列の生成方法では、第1実施形態と同様に、ステップS11からステップS15までの処理を行い、検査行列Hを生成した後に、デインターリーバ180における配置位置関数f-1(x)に基づいて、各列を互いに入れ替える(ステップS16)。これによって、データがインターリーブされて記録される場合であっても、復号の際に好適にエラー率を低下させることができる。即ち、データが並び替えられるような場合であっても、どのように並び替えたかが分かれば、適切な検査行列Hを生成することができる。
 以上説明したように、第4実施形態に係る復号装置によれば、上述した第1から第3実施形態と同様に、変調方式に基づいて好適に検査行列が生成されているため、誤り訂正能力を向上させることが可能である。
 本発明は、上述した実施形態に限られるものではなく、請求の範囲及び明細書全体から読み取れる発明の要旨或いは思想に反しない範囲で適宜変更可能であり、そのような変更を伴う検査行列の生成方法及び検査行列、並びに復号装置及び方法もまた本発明の技術的範囲に含まれるものである。
 本発明の検査行列の生成方法及び検査行列、並びに復号装置及び復号方法は、例えば次世代光ディスク、ホログラフィックメモリ、強誘電プローブメモリ、HDD(Hard Disc Drive)等の記録媒体への記録及び再生に利用可能である。また、通信、放送等におけるLDPCやBCHが規格化された分野においても利用可能である。

Claims (9)

  1.  低密度パリティ検査符号によって符号化されると共に、変調シンボル単位とされたa(但し、aは自然数)ビットのデータをb(但し、bは自然数)ビットのデータへと変換することで変調された符号化変調データを復号する検査行列の生成方法であって、
     前記検査行列を構成する各行における同一の前記変調シンボルのデータに対応するa個の要素のうち、1となる要素が1個以下となるように各要素を決定することで前記検査行列を生成する検査行列生成工程
     を含むことを特徴とする検査行列の生成方法。
  2.  基本行列を生成する基本行列生成工程を更に含み、
     前記検査行列生成工程は、前記基本行列の各要素と大きさが前記変調シンボル単位aの整数倍であるゼロ行列及び巡回置換行列とを、前記基本行列の各要素の値と前記巡回置換行列の巡回シフト量とが対応するように置換することで前記検査行列を生成する
     ことを特徴とする請求の範囲第1項に記載の検査行列の生成方法。
  3.  前記検査行列と行数及び列数が同じである基礎行列を生成する基礎行列生成工程を更に含み、
     前記検査行列生成工程は、前記基礎行列を構成する各列を、前記基礎行列を構成する各行における同一の前記変調シンボルのデータに対応するa個の要素のうち、1となる要素が1個以下となるように互いに入れ替えることにより前記検査行列を生成する
     ことを特徴とする請求の範囲第1項に記載の検査行列の生成方法。
  4.  前記検査行列生成工程は、大きさが前記変調シンボル単位aの整数倍である巡回置換行列を所定の法則に基づいて配列することによって、ArrayLDPC符号に対応する検査行列を生成することを特徴とする請求の範囲第1項に記載の検査行列の生成方法。
  5.  前記符号化変調データは、関数f(x)によってインターリーブされており、
     前記検査行列生成工程の後に、前記検査行列を構成する各要素を、下記の式、
     x=f{f-1(x)}=f-1{f(x)}
     を満足するような関数f-1(x)に基づいて互いに入れ替える入替工程
     を更に含むことを特徴とする請求の範囲第1項に記載の検査行列の生成方法。
  6.  前記変調シンボルは、可変長RLL符号を用いる変調における最大ビット数であることを特徴とする請求の範囲第1項に記載の検査行列の生成方法。
  7.  低密度パリティ検査符号によって符号化されると共に、変調シンボル単位とされたa(但し、aは自然数)ビットのデータをb(但し、bは自然数)ビットのデータへと変換することで変調された符号化変調データを復号する検査行列であって、
     当該検査行列を構成する各行における同一の前記変調シンボルのデータに対応するa個の要素のうち、1となる要素が1個以下となるように各要素を決定することで生成されていることを特徴とする検査行列。
  8.  請求の範囲第6項に記載の検査行列に基づいて、低密度パリティ検査符号によって符号化されると共に、変調シンボル単位とされたa(但し、aは自然数)ビットのデータをb(但し、bは自然数)ビットのデータへと変換することで変調された符号化変調データを復号する復号手段を備えることを特徴とする復号装置。
  9.  請求の範囲第6項に記載の検査行列に基づいて、低密度パリティ検査符号によって符号化されると共に、変調シンボル単位とされたa(但し、aは自然数)ビットのデータをb(但し、bは自然数)ビットのデータへと変換することで変調された符号化変調データを復号する復号工程を含むことを特徴とする復号方法。
PCT/JP2008/060546 2008-06-09 2008-06-09 検査行列の生成方法及び検査行列、並びに復号装置及び復号方法 WO2009150707A1 (ja)

Priority Applications (3)

Application Number Priority Date Filing Date Title
JP2010516669A JP5009418B2 (ja) 2008-06-09 2008-06-09 検査行列の生成方法及び検査行列、並びに復号装置及び復号方法
PCT/JP2008/060546 WO2009150707A1 (ja) 2008-06-09 2008-06-09 検査行列の生成方法及び検査行列、並びに復号装置及び復号方法
US12/996,682 US20110113312A1 (en) 2008-06-09 2008-06-09 Check matrix generating method, check matrix, decoding apparatus, and decoding method

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
PCT/JP2008/060546 WO2009150707A1 (ja) 2008-06-09 2008-06-09 検査行列の生成方法及び検査行列、並びに復号装置及び復号方法

Publications (1)

Publication Number Publication Date
WO2009150707A1 true WO2009150707A1 (ja) 2009-12-17

Family

ID=41416432

Family Applications (1)

Application Number Title Priority Date Filing Date
PCT/JP2008/060546 WO2009150707A1 (ja) 2008-06-09 2008-06-09 検査行列の生成方法及び検査行列、並びに復号装置及び復号方法

Country Status (3)

Country Link
US (1) US20110113312A1 (ja)
JP (1) JP5009418B2 (ja)
WO (1) WO2009150707A1 (ja)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2015513866A (ja) * 2012-03-08 2015-05-14 マイクロン テクノロジー, インク. エラーコード化スキームと変調スキームを組合せるための装置及び方法

Families Citing this family (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR101948952B1 (ko) * 2014-01-09 2019-02-15 에스케이하이닉스 주식회사 인코딩 장치 및 메시지 매트릭스 생성 방법
CN114244374B (zh) * 2021-11-22 2022-08-05 成都博尔微晶科技有限公司 一种校验矩阵生成方法、装置、电子设备及存储介质

Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2003115768A (ja) * 2001-07-11 2003-04-18 Internatl Business Mach Corp <Ibm> データの低密度パリティ検査符号化方法および装置
JP2005302079A (ja) * 2004-04-06 2005-10-27 Samsung Electronics Co Ltd ホログラム媒体記録再生装置およびホログラム媒体再生装置
JP2007166425A (ja) * 2005-12-15 2007-06-28 Fujitsu Ltd 符号器および復号器
WO2007088870A1 (ja) * 2006-02-02 2007-08-09 Mitsubishi Electric Corporation 検査行列生成方法、符号化方法、復号方法、通信装置、符号化器および復号器

Family Cites Families (29)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5969649A (en) * 1998-02-17 1999-10-19 International Business Machines Corporation Run length limited encoding/decoding with robust resync
US6662331B1 (en) * 2000-10-27 2003-12-09 Qualcomm Inc. Space-efficient turbo decoder
US6633856B2 (en) * 2001-06-15 2003-10-14 Flarion Technologies, Inc. Methods and apparatus for decoding LDPC codes
US6829308B2 (en) * 2002-07-03 2004-12-07 Hughes Electronics Corporation Satellite communication system utilizing low density parity check codes
US6961888B2 (en) * 2002-08-20 2005-11-01 Flarion Technologies, Inc. Methods and apparatus for encoding LDPC codes
US6957375B2 (en) * 2003-02-26 2005-10-18 Flarion Technologies, Inc. Method and apparatus for performing low-density parity-check (LDPC) code operations using a multi-level permutation
KR100955952B1 (ko) * 2003-10-13 2010-05-19 삼성전자주식회사 무선 통신 시스템에서 리프팅 저밀도 패러티 검사 부호를이용한 시공간 부호화 방법 및 장치
KR100922956B1 (ko) * 2003-10-14 2009-10-22 삼성전자주식회사 저밀도 패리티 검사 코드의 부호화 방법
KR101009785B1 (ko) * 2003-12-10 2011-01-19 삼성전자주식회사 불균일 반복 축적 부호 부호화/복호화 장치 및 방법
KR100630177B1 (ko) * 2004-02-06 2006-09-29 삼성전자주식회사 최대 다이버시티 이득을 가지는 시공간 저밀도 패리티검사 부호 부호화/복호화 장치 및 방법
CA2559818C (en) * 2004-04-28 2011-11-29 Samsung Electronics Co., Ltd. Apparatus and method for coding/decoding block low density parity check code with variable block length
KR20050118056A (ko) * 2004-05-12 2005-12-15 삼성전자주식회사 다양한 부호율을 갖는 Block LDPC 부호를 이용한이동 통신 시스템에서의 채널부호화 복호화 방법 및 장치
US7526717B2 (en) * 2004-06-16 2009-04-28 Samsung Electronics Co., Ltd. Apparatus and method for coding and decoding semi-systematic block low density parity check codes
US7581157B2 (en) * 2004-06-24 2009-08-25 Lg Electronics Inc. Method and apparatus of encoding and decoding data using low density parity check code in a wireless communication system
RU2348103C2 (ru) * 2004-08-10 2009-02-27 Самсунг Электроникс Ко., Лтд. Устройство и способ кодирования и декодирования блочного кода разреженного контроля четности
FI121431B (fi) * 2004-09-13 2010-11-15 Tamfelt Pmc Oy Paperikoneessa käytettävä kudosrakenne ja menetelmä sen valmistamiseksi
US7996746B2 (en) * 2004-10-12 2011-08-09 Nortel Networks Limited Structured low-density parity-check (LDPC) code
US7752521B2 (en) * 2004-10-12 2010-07-06 Nortel Networks Limited Low density parity check (LDPC) code
KR100913876B1 (ko) * 2004-12-01 2009-08-26 삼성전자주식회사 저밀도 패리티 검사 부호의 생성 방법 및 장치
US7617439B2 (en) * 2005-01-10 2009-11-10 Broadcom Corporation Algebraic construction of LDPC (Low Density Parity Check) codes with corresponding parity check matrix having CSI (Cyclic Shifted Identity) sub-matrices
US7441178B2 (en) * 2005-02-24 2008-10-21 Keyeye Communications Low complexity decoding of low density parity check codes
JP2007087530A (ja) * 2005-09-22 2007-04-05 Rohm Co Ltd 信号復号方法、信号復号装置および信号記憶システム
US7668248B2 (en) * 2005-10-19 2010-02-23 Texas Instruments Incorporated High-performance LDPC coding for digital communications in a multiple-input, multiple-output environment
US8151161B2 (en) * 2005-12-27 2012-04-03 Lg Electronics Inc. Apparatus and method for decoding using channel code
US7530002B2 (en) * 2006-01-03 2009-05-05 Broadcom Corporation Sub-matrix-based implementation of LDPC (Low Density Parity Check) decoder
KR101191196B1 (ko) * 2006-06-07 2012-10-15 엘지전자 주식회사 패리티 검사 행렬을 이용하여 부호화 및 복호화하는 방법
KR100834650B1 (ko) * 2006-09-04 2008-06-02 삼성전자주식회사 통신 시스템에서 신호 송수신 장치 및 방법
KR100808664B1 (ko) * 2006-12-08 2008-03-07 한국전자통신연구원 패리티 검사행렬 저장 방법 및 이를 이용한 블록 저밀도패리티 검사 부호화 방법 및 장치
US8065598B1 (en) * 2007-02-08 2011-11-22 Marvell International Ltd. Low latency programmable encoder with outer systematic code and low-density parity-check code

Patent Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2003115768A (ja) * 2001-07-11 2003-04-18 Internatl Business Mach Corp <Ibm> データの低密度パリティ検査符号化方法および装置
JP2005302079A (ja) * 2004-04-06 2005-10-27 Samsung Electronics Co Ltd ホログラム媒体記録再生装置およびホログラム媒体再生装置
JP2007166425A (ja) * 2005-12-15 2007-06-28 Fujitsu Ltd 符号器および復号器
WO2007088870A1 (ja) * 2006-02-02 2007-08-09 Mitsubishi Electric Corporation 検査行列生成方法、符号化方法、復号方法、通信装置、符号化器および復号器

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2015513866A (ja) * 2012-03-08 2015-05-14 マイクロン テクノロジー, インク. エラーコード化スキームと変調スキームを組合せるための装置及び方法
US9251000B2 (en) 2012-03-08 2016-02-02 Micron Technology, Inc. Apparatuses and methods for combining error coding and modulation schemes

Also Published As

Publication number Publication date
US20110113312A1 (en) 2011-05-12
JP5009418B2 (ja) 2012-08-22
JPWO2009150707A1 (ja) 2011-11-04

Similar Documents

Publication Publication Date Title
JP4879323B2 (ja) 誤り訂正復号装置および再生装置
TWI604698B (zh) 具有錯誤校正處置之低密度同位檢查解碼器
US8929009B2 (en) Irregular low density parity check decoder with low syndrome error handling
US7849388B2 (en) Signal decoding method and device, and signal storage system
US20070011565A1 (en) Method and apparatus for low-density parity check encoding
WO2014017102A1 (ja) 送信方法、受信方法、送信機、及び受信機
EP2343705B1 (en) Data processing device, method, and program
KR20080048988A (ko) 무-충돌 불규칙-반복-누산 코드
US20110083058A1 (en) Trapping set based ldpc code design and related circuits, systems, and methods
KR102567916B1 (ko) 송신 장치 및 그의 신호 처리 방법
JP5031100B2 (ja) ビット・ストリームの変調コーディング及びデコーディング方法、装置、及びシステム(変調コーディング及びデコーディング)
JP5009418B2 (ja) 検査行列の生成方法及び検査行列、並びに復号装置及び復号方法
US20110080669A1 (en) Constrained on-the-fly interleaver address generator circuits, systems, and methods
KR20150134505A (ko) 송신 장치 및 그의 신호 처리 방법
JP4645645B2 (ja) 復号装置及び検査行列生成方法
US9419653B1 (en) Systems and methods for combining constrained codes and error correcting codes
Han et al. Concatenating a structured LDPC code and a constrained code to preserve soft-decoding, structure, and burst correction
WO2010043569A2 (en) Method for generating a code and method for encoding
JP4618293B2 (ja) 復号装置及び検査行列生成方法
JP2016149703A (ja) 符号化装置、復号化装置、符号化方法、及び復号化方法
KR101234373B1 (ko) 다차원 격자-rs 연접 부호의 다계층 복호 회로 및 방법, 이를 이용한 플래쉬 메모리 장치를 위한 오류 정정 회로, 및 플래쉬 메모리 장치
JP2004040701A (ja) トレリス構造を有する符号化方式とパリティ検査符号による連接符号化方式の復号方法

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: 08765337

Country of ref document: EP

Kind code of ref document: A1

WWE Wipo information: entry into national phase

Ref document number: 2010516669

Country of ref document: JP

NENP Non-entry into the national phase

Ref country code: DE

WWE Wipo information: entry into national phase

Ref document number: 12996682

Country of ref document: US

122 Ep: pct application non-entry in european phase

Ref document number: 08765337

Country of ref document: EP

Kind code of ref document: A1