JP4702632B2 - 符号化方法および符号化装置、並びにプログラム - Google Patents

符号化方法および符号化装置、並びにプログラム Download PDF

Info

Publication number
JP4702632B2
JP4702632B2 JP2007100883A JP2007100883A JP4702632B2 JP 4702632 B2 JP4702632 B2 JP 4702632B2 JP 2007100883 A JP2007100883 A JP 2007100883A JP 2007100883 A JP2007100883 A JP 2007100883A JP 4702632 B2 JP4702632 B2 JP 4702632B2
Authority
JP
Japan
Prior art keywords
matrix
parity
code
units
encoding
Prior art date
Legal status (The legal status 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 status listed.)
Expired - Fee Related
Application number
JP2007100883A
Other languages
English (en)
Other versions
JP2008259051A (ja
Inventor
弘幸 山岸
誠 野田
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Sony Corp
Original Assignee
Sony Corp
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 Sony Corp filed Critical Sony Corp
Priority to JP2007100883A priority Critical patent/JP4702632B2/ja
Priority to EP08006514.7A priority patent/EP1978644B1/en
Priority to US12/061,423 priority patent/US8078936B2/en
Publication of JP2008259051A publication Critical patent/JP2008259051A/ja
Application granted granted Critical
Publication of JP4702632B2 publication Critical patent/JP4702632B2/ja
Expired - Fee Related legal-status Critical Current
Anticipated expiration legal-status Critical

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/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/118Parity check matrix structured for simplifying encoding, e.g. by having a triangular or an approximate triangular structure
    • 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/13Linear codes
    • H03M13/15Cyclic codes, i.e. cyclic shifts of codewords produce other codewords, e.g. codes defined by a generator polynomial, Bose-Chaudhuri-Hocquenghem [BCH] codes
    • 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/61Aspects and characteristics of methods and arrangements for error correction or error detection, not provided for otherwise
    • H03M13/615Use of computational or mathematical techniques
    • H03M13/616Matrix operations, especially for generator matrices or check matrices, e.g. column or row permutations
    • 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/65Purpose and implementation aspects
    • H03M13/6502Reduction of hardware complexity or efficient processing

Landscapes

  • Physics & Mathematics (AREA)
  • Mathematical Physics (AREA)
  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Probability & Statistics with Applications (AREA)
  • General Physics & Mathematics (AREA)
  • Pure & Applied Mathematics (AREA)
  • Mathematical Analysis (AREA)
  • Algebra (AREA)
  • Mathematical Optimization (AREA)
  • Computational Mathematics (AREA)
  • Computing Systems (AREA)
  • Error Detection And Correction (AREA)

Description

本発明は符号化方法および符号化装置、並びにプログラムに関し、特に、符号化に関わる回路の規模を小さくし、かつ演算量を少なくするようにした符号化方法および符号化装置、並びにプログラムに関する。
近年、例えば、移動体通信などの通信分野、及び地上波又は衛星デジタル放送といった放送分野の研究が著しく進められているが、それに伴い、誤り訂正符号化及び復号の効率化を目的として符号理論に関する研究も盛んに行われている。
符号性能の理論的限界としては、いわゆるシャノン(C. E. Shannon)の通信路符号化定理によって与えられるシャノン限界が知られている。符号理論に関する研究は、このシャノン限界に近い性能を示す符号を開発することを目的として行われている。近年では、シャノン限界に近い性能を示す符号化方法として、例えば、並列連接畳み込み符号(PCCC(Parallel Concatenated Convolutional Codes))や、縦列連接畳み込み符号(SCCC(Serially Concatenated Convolutional Codes))といった、いわゆるターボ符号化(Turbo coding)と呼ばれる手法が開発されている。また、これらのターボ符号が開発される一方で、古くから知られる符号化方法である低密度パリティ検査符号(Low Density Parity Check codes)(以下、LDPC符号という)が脚光を浴びつつある。
LDPC符号は、R. G. Gallagerによる「R. G. Gallager, "Low Density Parity Check Codes", Cambridge, Massachusetts: M. I. T. Press, 1963」において最初に提案されたものであり、その後、「D. J. C. MacKay, "Good error correcting codes based on very sparse matrices", Submitted to IEEE Trans. Inf. Theory, IT-45, pp. 399-431, 1999」や、「M. G. Luby, M. Mitzenmacher, M. A. Shokrollahi and D. A. Spielman, "Analysis of low density codes and improved designs using irregular graphs", in Proceedings of ACM Symposium on Theory of Computing, pp. 249-258, 1998」等において再注目されるに至ったものである。
LDPC符号は、近年の研究により、ターボ符号等と同様に、符号長を長くしていくに従って、シャノン限界に近い性能が得られることがわかりつつある。また、LDPC符号は、最小距離が符号長に比例するという性質があることから、その特徴として、ブロック誤り確率特性がよく、さらに、ターボ符号等の復号特性において観測される、いわゆるエラーフロア現象が殆ど生じないことも利点として挙げられる。
Y. Kou, S. Lin, M. P. C. Fossorier, "Low-Density Parity-Check Codes Based on Finite Geometries: A Rediscovery and New Results," IEEE Transactions on Information Theory, vol. 47, no. 7, pp. 2711-2736, Nov. 2001. R. L. Townsend, E. J. Weldon, "Self-Orthogonal Quasi-Cyclic Codes," IEEE Transactions on Information Theory, vol. IT-13, no. 2, Apr. 1967. Dieter Roth et al, “SYSTEM FOR BINARY DATA TRANSMISSION,” US Patent, No. 4,453,249, Jun. 1984. Shin et al, “METHOD OF CONSTRUCTING QC-LDPC CODES USING QTH-ORDER POWER RESIDUE,” US Patent Application Publication, Pub. No. US2005/0149845 A1, Jul. 2005.
線形符号は生成行列が与えられれば、情報語から符号語への変換が一意に求められる。LDPC符号の誤り復号性能は、パリティ検査行列の構造により決定付けられるが、パリティ検査行列が与えられただけでは、情報語から符号語への変換には自由度がある。準巡回符号をLDPC符号として用いる場合において、n0ビット単位でみた特定の位置のビットをパリティとする組織符号の符号化を行うとき、k段シフトレジスタによる符号化が行えるため、行列の演算に比べると回路は簡略化される。しかしながら、n0ビット単位でみた、どの特定の位置のビットをパリティとするかという自由度に対しては、さらに検討がなされる必要性がある。
本発明は、このような状況に鑑みてなされたものであり、符号化に関わる回路の規模を小さくすることができるようにするものである。
本発明の一側面の第1の符号化方法は、符号長n=m n0、情報語長k=m k0の準巡回符号を用いる符号化方法において、情報語k0単位に(n0―k0)個のパリティが挿入された形の組織符号として符号化する場合、n0単位でみたときに取り得るパリティ位置(n0―k0)箇所の全組み合わせのうち、パリティ検査行列の列の順を並び替えて複数のm×m巡回行列で記述し、パリティの位置に対応する列からなる(n-k)×(n-k)行列を単位行列とするように行の基本変形を施し、その基本変形を施した第1の行列から単位行列を除いた残りを第2の行列とするとき、前記第2の行列に含まれる非零の要素数が最小となるように(n-k)箇所をパリティに割り当てる。
本発明の一側面の第1の符号化装置は、符号長n=m n0、情報語長k=m k0の準巡回符号を用いる符号化を行う符号化装置において、情報語k0単位に(n0―k0)個のパリティが挿入された形の組織符号として符号化する場合、n0単位でみたときに取り得るパリティ位置(n0―k0)箇所の全組み合わせのうち、パリティ検査行列の列の順を並び替えて複数のm×m巡回行列で記述し、パリティの位置に対応する列からなる(n-k)×(n-k)行列を単位行列とするように行の基本変形を施し、その基本変形を施した第1の行列から単位行列を除いた残りを第2の行列とするとき、前記第2の行列に含まれる非零の要素数が最小となるように(n-k)箇所をパリティに割り当てる。
前記割り当てられるパリティをk段シフトレジスタで求めるようにすることができる。
前記割り当てられるパリティをk0個のm段シフトレジスタで求めるようにすることができる。
前記割り当てられるパリティを(n0―k0)個のm段シフトレジスタで求めるようにすることができる。
本発明の一側面の第1のプログラムは、符号長n=m n0、情報語長k=m k0の準巡回符号を用いる符号化を制御するコンピュータが読み取り可能なプログラムであって、情報語k0単位に(n0―k0)個のパリティが挿入された形の組織符号として符号化する場合、n0単位でみたときに取り得るパリティ位置(n0―k0)箇所の全組み合わせのうち、パリティ検査行列の列の順を並び替えて複数のm×m巡回行列で記述し、パリティの位置に対応する列からなる(n-k)×(n-k)行列を単位行列とするように行の基本変形を施し、その基本変形を施した第1の行列から単位行列を除いた残りを第2の行列とするとき、前記第2の行列に含まれる非零の要素数が最小となるように(n-k)箇所をパリティに割り当てる。
本発明の一側面の第1の符号化方法および装置、並びにプログラムにおいては、符号長n=m n0、情報語長k=m k0の準巡回符号を用いる符号化が行われ、情報語k0単位に(n0―k0)個のパリティが挿入された形の組織符号として符号化する場合、n0単位でみたときに取り得るパリティ位置(n0―k0)箇所の全組み合わせのうち、パリティ検査行列の列の順を並び替えて複数のm×m巡回行列で記述され、パリティの位置に対応する列からなる(n-k)×(n-k)行列を単位行列とするように行の基本変形が施され、その基本変形を施した第1の行列から単位行列を除いた残りを第2の行列とするとき、第2の行列に含まれる非零の要素数が最小となるように(n-k)箇所がパリティに割り当てられる。
本発明の一側面の第2の符号化方法は、符号長n=m n0、情報語長k=m k0の準巡回符号を用いる符号化方法において、情報語k0単位に(n0―k0)個のパリティが挿入された形の組織符号として符号化する場合、n0単位でみたときに取り得るパリティ位置(n0―k0)箇所の全組み合わせのうち、パリティ検査行列の列の順を並び替えて複数のm×m巡回行列で記述し、パリティの位置に対応する列からなる(n-k)×(n-k)行列を単位行列とするように行の基本変形を施し、その基本変形を施した第1の行列から単位行列を除いた残りを第2の行列とするとき、前記第2の行列の各行に含まれる非零の要素数の最大値が最小となるように(n-k)箇所をパリティに割り当てる。
本発明の一側面の第2の符号化装置は、符号長n=m n0、情報語長k=m k0の準巡回符号を用いる符号化を行う符号化装置において、情報語k0単位に(n0―k0)個のパリティが挿入された形の組織符号として符号化する場合、n0単位でみたときに取り得るパリティ位置(n0―k0)箇所の全組み合わせのうち、パリティ検査行列の列の順を並び替えて複数のm×m巡回行列で記述し、パリティの位置に対応する列からなる(n-k)×(n-k)行列を単位行列とするように行の基本変形を施し、その基本変形を施した第1の行列から単位行列を除いた残りを第2の行列とするとき、前記第2の行列の各行に含まれる非零の要素数の最大値が最小となるように(n-k)箇所をパリティに割り当てる。
前記割り当てられるパリティをk段シフトレジスタで求めるようにすることができる。
前記割り当てられるパリティをk0個のm段シフトレジスタで求めるようにすることができる。
本発明の一側面の第2のプログラムは、符号長n=m n0、情報語長k=m k0の準巡回符号を用いる符号化を制御するコンピュータが読み取り可能なプログラムであって、情報語k0単位に(n0―k0)個のパリティが挿入された形の組織符号として符号化する場合、n0単位でみたときに取り得るパリティ位置(n0―k0)箇所の全組み合わせのうち、パリティ検査行列の列の順を並び替えて複数のm×m巡回行列で記述し、パリティの位置に対応する列からなる(n-k)×(n-k)行列を単位行列とするように行の基本変形を施し、その基本変形を施した第1の行列から単位行列を除いた残りを第2の行列とするとき、前記第2の行列の各行に含まれる非零の要素数の最大値が最小となるように(n-k)箇所をパリティに割り当てる。
本発明の一側面の第2の符号化方法および装置、並びにプログラムにおいては、符号長n=m n0、情報語長k=m k0の準巡回符号を用いる符号化が行われ、情報語k0単位に(n0―k0)個のパリティが挿入された形の組織符号として符号化される場合、n0単位でみたときに取り得るパリティ位置(n0―k0)箇所の全組み合わせのうち、パリティ検査行列の列の順を並び替えて複数のm×m巡回行列で記述され、パリティの位置に対応する列からなる(n-k)×(n-k)行列を単位行列とするように行の基本変形が施され、その基本変形を施した第1の行列から単位行列を除いた残りを第2の行列とするとき、第2の行列の各行に含まれる非零の要素数の最大値が最小となるように(n-k)箇所がパリティに割り当てられる。
本発明の一側面の第3の符号化方法は、符号長n=m n0、情報語長k=m k0の準巡回符号を用いる符号化方法において、情報語k0単位に(n0―k0)個のパリティが挿入された形の組織符号として符号化する場合、n0単位でみたときに取り得るパリティ位置(n0―k0)箇所の全組み合わせのうち、パリティ検査行列の列の順を並び替えて複数のm×m巡回行列で記述し、パリティの位置に対応する列からなる(n-k)×(n-k)行列を単位行列とするように行の基本変形を施し、その基本変形を施した第1の行列から単位行列を除いた残りを第2の行列とするとき、前記第2の行列の各行におけるm列単位でみたk0個の要素のうちの非零要素数の最大値が最小となるように(n-k)箇所をパリティに割り当てる。
本発明の一側面の第3の符号化装置は、符号長n=m n0、情報語長k=m k0の準巡回符号を用いる符号化を行う符号化装置において、情報語k0単位に(n0―k0)個のパリティが挿入された形の組織符号として符号化する場合、n0単位でみたときに取り得るパリティ位置(n0―k0)箇所の全組み合わせのうち、パリティ検査行列の列の順を並び替えて複数のm×m巡回行列で記述し、パリティの位置に対応する列からなる(n-k)×(n-k)行列を単位行列とするように行の基本変形を施し、その基本変形を施した第1の行列から単位行列を除いた残りを第2の行列とするとき、前記第2の行列の各行におけるm列単位でみたk0個の要素のうちの非零要素数の最大値が最小となるように(n-k)箇所をパリティに割り当てる。
前記割り当てられるパリティを(n0-k0)個のm段シフトレジスタで求めるようにすることができる。
本発明の一側面の第3のプログラムは、符号長n=m n0、情報語長k=m k0の準巡回符号を用いる符号化を制御するコンピュータが読み取り可能なプログラムであって、情報語k0単位に(n0―k0)個のパリティが挿入された形の組織符号として符号化する場合、n0単位でみたときに取り得るパリティ位置(n0―k0)箇所の全組み合わせのうち、パリティ検査行列の列の順を並び替えて複数のm×m巡回行列で記述し、パリティの位置に対応する列からなる(n-k)×(n-k)行列を単位行列とするように行の基本変形を施し、その基本変形を施した第1の行列から単位行列を除いた残りを第2の行列とするとき、前記第2の行列の各行におけるm列単位でみたk0個の要素のうちの非零要素数の最大値が最小となるように(n-k)箇所をパリティに割り当てる。
本発明の一側面の第3の符号化方法および装置、並びにプログラムにおいては、符号長n=m n0、情報語長k=m k0の準巡回符号を用いる符号化が行われ、情報語k0単位に(n0―k0)個のパリティが挿入された形の組織符号として符号化される場合、n0単位でみたときに取り得るパリティ位置(n0―k0)箇所の全組み合わせのうち、パリティ検査行列の列の順を並び替えて複数のm×m巡回行列で記述され、パリティの位置に対応する列からなる(n-k)×(n-k)行列を単位行列とするように行の基本変形が施され、その基本変形を施した第1の行列から単位行列を除いた残りを第2の行列とするとき、第2の行列の各行におけるm列単位でみたk0個の要素のうちの非零要素数の最大値が最小となるように(n-k)箇所がパリティに割り当てられる。
本発明の一側面によれば、パリティ演算回路における演算量を低減させることができる。
本発明の一側面によれば、パリティ演算回路の回路規模を縮小させることができる。
以下に、本発明の実施の形態について図面を参照して説明する。図1は、本発明を適用した記録再生システム一実施の形態の構成を示す図である。チャネル符号化部11は、入力されたデータを、チャネルの周波数特性や再生時の等化方式、タイミング検出などに適した制約の符号に変換する。チャネル符号は、例えば、ランレングス制約 (run-length-limited) 符号などである。
誤り訂正符号化部12は、チャネルにおける雑音や歪みなどの影響により起こる誤りを再生時に訂正するために冗長度を持たせ、チャネル符号化された情報語dを符号語cに変換する。誤り訂正符号化部12は、例えば、リード・ソロモン (Reed-Solomon) 符号やLDPC (low-density parity-check) 符号などの符号化方式に基づいて符号化を行う。
記録再生チャネル部13は、例えば、記録ヘッド、磁気メディア、再生ヘッド、あるいは光ピックアップ、光ディスクなどにより構成される。記録再生チャネル部13は、テレビジョン放送に適用された場合、その放送の通信方式にあった送信や受信を行う。また、記録再生チャネル部13は、記録媒体にデータを記録し、その記録媒体に記録されたデータを再生するような場合、その記録媒体に適した構成とされる。
等化・タイミング検出・チャネル復号部14は、再生信号から記録データを復元するのに適した等化やタイミング検出を行い、記録データの推定値やその確率を計算する。誤り訂正・復号部15は、記録時に付加した冗長性を用いて再生信号に生じた誤りを訂正し、情報語の推定値を出力する。チャネル復号部16は、誤り訂正された情報語の推定値からチャネル符号化の逆の操作によりデータを復元する。
誤り訂正符号化部12における誤り訂正符号化は、チャネル符号化部11によりチャネル符号化された情報語dにおけるチャネル符号の制約の性質をなるべく損なわないようにする必要がある。誤り訂正符号を符号長nの線形ブロック符号とすれば、符号語をk個の情報部とn-k個のパリティ部とで構成する組織符号とすることにより、符号化の際には情報部はそのまま符号語の一部となり、パリティ部を追加するだけでよい。また、復号時においてはパリティ部を除去するだけでよい。
図2Aと図2Bは、それぞれ組織符号における情報部とパリティ部の割り当ての例を示している。図2Aおよび図2Bにおいて、白四角は情報ビット、黒四角はパリティビットをそれぞれ表している。図2Aは、符号語の前半に情報部、後半にパリティ部がまとまって割り当てられている例を示し、図2Bは、符号語中にパリティビットが周期的に挿入されて割り当てられている例を示している。
図2Aに示したように、情報部とパリティ部をそれぞれまとめて割り当てると、情報部はチャネル符号の制約を満たすが、パリティ部はチャネル符号の制約を満たさないという問題がある。一方、図2Bのように、周期的にパリティ部を割り当てると、チャネル符号制約を満たさないパリティ部が局所的に集中することがないため、チャネル符号制約の乱れを少なくすることができる。従って、図1に示したシステムのように誤り訂正符号化部12の前段にチャネル符号化部11が設けられ、誤り訂正符号化の前にチャネル符号化が行われるようにした場合、図2Bに示したようにパリティ部が周期的に情報部に挿入された組織符号の割り当てが好ましい。
誤り訂正符号化方式として、LDPC(Low Density Parity Check codes)符号化方式を適用した場合を例に挙げて説明を続ける。LDPC符号化は、非零の要素が疎なパリティ検査行列で表される誤り訂正符号化方式であり、パリティ検査行列に対応したタナーグラフ (Tanner graph) を用いて軟判定繰り返し復号を行うことでシャノン(Shannon)の理論限界に近い符号化利得を与えることが知られている。
パリティ検査行列Hは、任意の符号語を符号語c = [c0 c1 c2 … cn-1]Tとしたとき、常に
Hc=0
を満たす。図3に示した行列Hは、符号長n=26、情報ビット数k=13の2元LDPC符号のパリティ検査行列の一例である。
パリティ検査行列Hに対応するタナーグラフを図4に示す。図4に示したタナーグラフの例においては、黒丸で表したのがバリアブルノード (variable node) であり、四角で表したのがチェックノード (check node) である。バリアブルノードは、パリティ検査行列Hの列に対応し、チェックノードはパリティ検査行列Hの行に対応する。チェックノードとバリアブルノードの間の結線は、枝 (edge) であり、パリティ検査行列の非零元に相当する。
確率伝播アルゴリズムによるLDPC符号の復号では、タナーグラフ上におけるバリアブルノードとチェックノード間で信頼度を表す数値のやりとりを繰り返すことで各バリアブルノードに対応するビットの事後確率を更新する。そのため、各ノードは複数の枝と接続されていることが望ましい。すなわち、LDPC符号の復号に用いるパリティ検査行列の列重みは2以上が望ましい。
例えば、文献1には、LDPC符号のパリティ検査行列に規則的な構造をもたせた場合の例が示されている。文献1で提案されたLDPC符号は、パリティ検査行列の規則的な構造により、準巡回 (quasi-cyclic) 符号の性質を持つものである。
文献1:Y. Kou, S. Lin, M. P. C. Fossorier, “Low-Density Parity-Check Codes Based on Finite Geometries: A Rediscovery and New Results,” IEEE Transactions on Information Theory, vol. 47, no. 7, pp. 2711-2736, Nov. 2001.
準巡回符号とは、任意の符号語をn0回巡回シフトさせたものが、また符号語となる線形符号である。準巡回符号の符号長nはmを整数としてn = m n0で表せる。
図3に示したパリティ検査行列で表される符号は、n0=2の準巡回符号となっている。図5は、図3に示したパリティ検査行列の列を、n0=2列ごとに取って並べ替えて記述したものである。図5のように、準巡回符号のパリティ検査行列は、n0列ごとに取って並べ替えることによって複数のm×m巡回正方行列からなる行列とすることができる。図6は準巡回符号のパリティ検査行列をn0列ごとに取って並べ替えた場合の一般的な表現を表している。ここでHi,jはそれぞれm×m巡回正方行列である。
図7は、文献2で例として示されている、符号長n=39、n0=3の準巡回符号のパリティ検査行列を示している。
文献2:R. L. Townsend, E. J. Weldon, “Self-Orthogonal Quasi-Cyclic Codes,” IEEE Transactions on Information Theory, vol. IT-13, no. 2, Apr. 1967.
図8は、図7に示したパリティ検査行列を3列おきに取って並べ替えることにより3個の巡回正方行列で表現した行列である。図8に示した行列H’は、最も右側の正方行列(図8中、点線で囲んだ部分)が、13×13の単位行列となっている。この13列に対応する符号語の位置をパリティビットとする生成行列G’は、パリティ検査行列の残りの列を転置することにより求めることができる。
すなわち、
H’=[P I]
としたとき、
G’=[I PT
とすることができる。
生成行列G’の列の並び順を、行列Hと同じように戻した生成行列を行列Gとすると、
情報語d=[d0 d1 d2 … dk-1]T
から符号語cへの符号化は、次式に基づいて演算される。
c=GT
図9は、このような演算により求められた生成行列Gにより情報語dが符号語cに符号化される様子を模式的に示した図である。符号語中に情報語k0=2ビットに対してパリティがn0-k0=1ビットずつ挿入された形となっている。このような形は、図1のようにチャネル符号化がなされた情報語を、符号化する際に適した情報語とパリティの配置となっている。
準巡回符号において、図7に示したようなパリティ検査行列のn0列単位でみた特定の位置の列からなる行列が、単位行列となる場合、対応するビットの位置をパリティとする符号化を行うk=m k0段シフトレジスタによる符号化回路が文献2により提案されている。
組織符号の場合、誤り訂正符号化部12は、図10に示すような構成とすることができる。即ち、図10に示した誤り訂正符号化部12は、情報語dを入力としてパリティを演算するパリティ演算部31、情報語dを遅延させるバッファメモリ32、情報語とパリティを適切な順に並べ替えるセレクタ33を含む構成とされる。なお、図10には図示していないが、誤り訂正符号化部12の各部を制御する制御部も含まれる。
図11は、図7のパリティ検査行列による準巡回符号のk段シフトレジスタによるパリティ演算回路31のブロック図である。パリティ演算回路31は、スイッチ51、レジスタ52-1乃至52-26、および、排他的論理和(EXOR)回路53を含む構成とされている。
図11に示したパリティ演算回路31のスイッチ51が、データを入力する位置にセットされ、情報語d0,d1,d2,…,d25が順にレジスタ52-1乃至52-26にそれぞれ保持される。入力が終わるとスイッチ51が、パリティ側に切り換えられ、レジスタ52-1乃至52-26の中身が巡回シフトするようにされる。最初の出力としてパリティc2が出力される。その後、2サイクルおきにパリティが順次出力される。
排他的論理和演算回路53の入力側と接続されるレジスタ52-1乃至52-26の数と位置は、例えば、行列Pの最初の行における“1”の場所と関連付けられる。行列Pとは、ここでは、例えば図8に示した行列のうち、単位行例を除いた部分の行列のことである。
図12は、パリティ演算回路31のブロック図であり、図7のパリティ検査行列による準巡回符号のk/2段シフトレジスタによるパリティ演算回路31のブロック図である。図12に示したパリティ演算回路31は、スイッチ71-1,71-2、レジスタ72-1乃至72-13、および排他的論理和演算回路73-1乃至73-6を含む構成とされている。
図12に示したパリティ演算回路31は、符号化を開始する前の時点で、レジスタ72-1乃至72-13の値を全て0(ゼロ)にセットする。次に、スイッチ71-1とスイッチ71-2をそれぞれ、Data0とData1を入力する位置にし、情報語d0,d1,d2,…,d25を2ビットずつ順に入力する。入力が終了されると、レジスタ72-1乃至72-13のそれぞれでパリティc2,c5,c8,…,c35が求められる。
スイッチ71-1とスイッチ71-2を、それぞれパリティの位置にし、レジスタ72-1乃至72-13の中身を巡回させることにより、左端から1ビットずつパリティが出力される。排他的論理和演算回路73-1乃至73-6のそれぞれの入力と接続されるレジスタ72-1乃至72-13の数と位置は、例えば、行列Pに含まれる各巡回行列の最初の列における“1”の場所と関連付けられる。
ところで、図3に示したパリティ検査行列で示されるLDPC符号は、準巡回符号ではあるが、図4に示したタナーグラフにおける各ノードは、複数の枝と接続されているという条件から、図7の行列とは異なり、列を抜き出しても単位行列とはならない。パリティ検査行列Hの中から選んだ(n-k)列で構成される行列の階数 (rank) が、パリティ検査行列Hの階数に一致すれば、例えば、ガウス消去法によって生成行列を求めることができるが、このような行列の変形は、元々のパリティ検査行列Hにおける非零の要素が疎であるという性質が保てなくなるため、符号化が複雑になってしまう可能性があった。
また線形符号は、生成行列が与えられれば情報語から符号語への変換が一意に求められる。LDPC符号の誤り復号性能は、パリティ検査行列の構造により決定付けられるが、パリティ検査行列が与えられただけでは、情報語から符号語への変換には自由度がある。準巡回符号を、LDPC符号として用いる場合において、n0ビット単位でみた特定の位置のビットをパリティとする組織符号の符号化を行うときには、k段シフトレジスタによる符号化が行えるため、行列の演算に比べると回路は簡略化される。
しかしながら、n0ビット単位でみた、どの位置のビットをパリティとするかという自由度に対しても、さらに検討を加えることで、より符号化に関わる回路規模を小さくしたり、演算量を少なくしたりすることができる。そこで、以下の説明においては、n0ビット単位でみた、どの位置のビットをパリティとするかという自由度に対して検討を加え、より符号化に関わる回路規模を小さくし、演算量を少なくする実施の形態について説明を加える。
図3に示したパリティ検査行列を用いるLDPC符号を例としてあげ、以下の説明を続ける。また、情報語の1ビット単位にパリティを1ビットずつ挿入された形の組織符号として符号化する場合を例に挙げて説明する。
図3に示したパリティ検査行列の列の順を並び替え、2個の13×13巡回行列で記述すると、図5に示したような行列となる。図5に示したように、また、上記したように、図3に示したパリティ検査行列で示されるLDPC符号は、準巡回符号ではあるが、列を抜き出しても単位行列とはならない。よってこのような場合、元々のパリティ検査行列Hにおける非零の要素が疎であるという性質が保てなくなるため、以下に説明することを考慮せずに符号化を行うと、符号化が複雑になってしまう可能性がある。
図5に示したパリティ検査行列に含まれる2個の巡回行列は、いずれも階数が13であるので、符号語26ビットにおける情報ビットとパリティビットは、図13Aまたは図13Bに示した、いずれの割り当てでも可能である。図13A、図13B中、白四角は情報ビットを表し、黒四角はパリティビットを表している。
図13Aに示したような割り当て、すなわち、パリティビットのあとに情報ビットが割り当てられるような行の基本変形を施すと、図14に示したような行列H”となる。図13Bに示したような割り当て、すなわち、情報ビットのあとにパリティビットが割り当てられるような行の基本変形を施すと、図15に示したような行列H”となる。
図14に示した行列H”の左側の13×13行例は、単位行列となり、図15に示した行列H”の右側の13×13行列は、単位行列となっている。すなわちこの場合、図5(または図3)に示したパリティ検査行列が、単位行列を含む行列に基本変形される。
図14に示した行列H”を元に、k段シフトレジスタによるパリティ演算回路を構成すると、図16に示した構成となる。図15に示した行列H”を元に、k段シフトレジスタによるパリティ演算回路を構成すると、図17に示した構成となる。
図16に示したパリティ演算回路は、スイッチ111、レジスタ112-1乃至112―13、および、排他的論理和演算回路113を含む構成とされている。排他的論理和演算回路113には、レジスタ112-1、レジスタ112-5、レジスタ112-6、レジスタ112-7、レジスタ112-9、レジスタ112-11、およびレジスタ112-12からのそれぞれの出力が入力されるように構成されている。
図17に示したパリティ演算回路は、スイッチ131、レジスタ132-1乃至132―13、および、排他的論理和演算回路133を含む構成とされている。排他的論理和演算回路133には、レジスタ132-1、レジスタ132―3、およびレジスタ132-8からのそれぞれの出力が入力されるように構成されている。
図16に示したパリティ演算回路と図17に示したパリティ演算回路を比較するに、図16に示したパリティ演算回路の排他的論理和演算回路113へのレジスタ112からの入力は、7入力であるのに対し、図17に示したパリティ演算回路の排他的論理和演算回路133へのレジスタ132からの入力は、3入力である点が異なる。
排他的論理和演算回路113(133)に入力されるデータ数が少ない方が、排他的論理和演算回路113(133)の演算量を少なくすることができることを意味している。また、排他的論理和演算回路113(133)に入力されるデータ数が少ない方が、パリティ演算回路の回路規模をより小さくできることを意味している。
よって、図16に示したパリティ演算回路と図17に示したパリティ演算回路を比較したとき、図17に示したパリティ演算回路の排他的論理和演算回路133の方が、図16に示したパリティ演算回路の排他的論理和演算回路113よりも入力数が少ないため、図17に示したパリティ演算回路の方が、回路規模を小さくすることができ、早い符号化動作をすることができる。
従って、図3に示したパリティ検査行列を用いるLDPC符号を、情報語1ビット単位にパリティ1ビットが挿入された形の組織符号として符号化する場合、情報ビットとパリティビットの割り当てとして図13Bで示した方を適用した方が、図13Aで示した方を適用する場合と比べて、より高速に動作し且つ回路規模の小さな符号化回路が実現できる。
ところで、排他的論理和演算回路113(133)に接続されるレジスタ112(132)の数と位置は、例えば、行列の最初の行における“1”の場所と関連付けられる。このことについて、再度、図14乃至図17を参照して説明する。
図14に示したパリティ検査行列H”のうちの点線を付した部分の行が、図16の排他的論理和演算回路113の入力の数と位置に関わっている。すなわち、図14に示したパリティ検査行列H”のうちの点線を付した部分の行は、
1000111010110
であるが、この“1”の位置(非零の要素)の位置が、排他的論理和演算回路113の入力の数と位置に関わっている。
この行には非零の要素が、7個含まれている。よって、排他的論理和演算回路113への入力は、7個となる。また、この行の非零の要素の位置は、排他的論理和演算回路113への入力の位置、すなわち、どのレジスタ112からの入力を受けるかに関係している。この場合、非零の要素は、左側から数えると、1番目、5番目、6番目、7番目、9番目、11番目、および12番目に存在している。よって、この非零の要素の位置に対応する位置に設けられているレジスタ112-1、レジスタ112-5、レジスタ112-6、レジスタ112-7、レジスタ112-9、レジスタ112-11、およびレジスタ112-12からの出力が、排他的論理和演算回路113に入力されるように接続される。
図15に示したパリティ検査行列H”と図17に示したパリティ演算回路との間にも、同様な関係が成り立っている。すなわち、図15に示したパリティ検査行列H”のうちの点線を付した部分の行が、図17の排他的論理和演算回路133の入力の数と位置に関わっている。すなわち、図15に示したパリティ検査行列H”のうちの点線を付した部分の行は、
1010000100000
であるが、この“1”の位置(非零の要素)の位置が、排他的論理和演算回路133の入力の数と位置に関わっている。
この行には非零の要素が、3個含まれている。よって、排他的論理和演算回路133への入力は、3個となる。また、この行の非零の要素の位置は、排他的論理和演算回路133への入力の位置、すなわち、どのレジスタ132からの入力を受けるかに関係している。この場合、非零の要素は、左側から数えると、1番目、2番目、および8番目に存在している。よって、この非零の要素の位置に対応する位置に設けられているレジスタ132-1、レジスタ132-2、およびレジスタ132-8からの出力が、排他的論理和演算回路133に入力されるように接続される。
このように、排他的論理和演算回路に接続されるレジスタの数と位置は、基本変換された行列の最初の行における“1”の場所(非零の要素の場所)と関連付けられる。よって、この非零の要素が少なければ、排他的論理和演算回路への入力数が少なくなり、演算量の低減や回路規模の縮小をはかることが可能となる。
同様なことが、k段シフトレジスタによるパリティ演算回路でも言える。次に、k段シフトレジスタによるパリティ演算回路について説明を加える。
k段シフトレジスタによるパリティ演算回路では、n0-k0個の排他的論理和演算回路を必要とする。例えば、i番目の排他的論理和演算回路への入力数は、パリティ検査行列を図18に示したような形で記述したときの巡回行列Pi,jを要素とする行列Pのi行目からなる行列 (Pi,0 Pi,1 … Pi,k0-1) における1行あたりの非零要素数wとなる。
排他的論理和演算回路への入力数が多いほど演算時間がかかるため、非零要素数wの最大値が最小となるようにパリティの位置を選ぶことで、速い符号化動作が可能となる。
非零要素数wの入力の排他的論理和演算回路は、w-1個の2入力排他的論理和演算回路でも記述できる。従って、非零要素数wの和を最小とすれば、符号化回路全体の回路規模を小さくすることが可能となる。
0が2以上の場合、k個のレジスタを使う別のパリティ演算回路として、k段シフトレジスタによるパリティ演算回路のシフト動作をk0クロックサイクル分一度に行うようにすることができる。このように構成した場合の回路構成は、k0個のm段シフトレジスタとなるが、排他的論理和演算回路の数や各排他的論理和演算回路への入力数は、k段シフトレジスタによる構成と同じである。従って、非零要素数wの最大値が最小となるようにパリティの位置を選べば、速い符号化動作が可能となる。また、非零要素数wの和を最小とすれば、符号化回路全体の回路規模を小さくすることが可能である。
ここで再度、図3のパリティ検査行列Hで表される、符号長n=24、情報ビット数k=12、パリティビット数n-k=12のLDPC符号に対応する符号化回路について説明する。
図14Aに対応するn0―k0個のm段シフトレジスタによるパリティ演算回路を構成すると、図19に示すような構成となる。また、図14Bに対応するn0―k0個のm段シフトレジスタによるパリティ演算回路を構成すると、図20に示すような構成となる。
図19に示したパリティ演算回路は、スイッチ211、レジスタ212-1乃至212-13、および、排他的論理和演算回路213-1乃至213-7を含む構成とされている。図20に示したパリティ演算回路は、スイッチ231、レジスタ232-1乃至232-13、および、排他的論理和演算回路233-1乃至233-3を含む構成とされている。
図19に示したパリティ演算回路と図20に示したパリティ演算回路を比較するに、パリティを計算する2入力の排他的論理和演算回路の数が、図19に示した構成では、排他的論理和演算回路213-1乃至213-7の7個であるのに対し、図20に示した構成では、排他的論理和演算回路233-1乃至233-3の3個である。よって、図20に示したパリティ演算回路の方が、排他的論理和演算回路が少ない構成とすることができ、回路規模を小さくすることが可能となる。
従って、図3に示したパリティ検査行列Hを用いるLDPC符号を、情報語1ビット単位にパリティ1ビットが挿入された形の組織符号として符号化するn0-k0個のm段シフトレジスタによる符号化回路を構成する場合、情報ビットとパリティビットの割り当てとして図14Bに示した割り当て方法を適用した方が、図14Aに示した割り当て方法を適用するよりも、回路規模の小さな符号化回路が実現できる。
上述してきたように、n0―k0個のm段シフトレジスタによるパリティ演算回路で必要な排他的論理和演算回路の数は、パリティ検査行列を図18の形で記述したときの行列Pによって求めることができる。排他的論理和演算回路が挿入されるパリティ演算回路内の候補となる位置は、各レジスタの出力であり、それぞれのレジスタは、行列Pの各行と対応する位置とすることができる。
行列Pのmi+r行目に対応するレジスタの出力は、各巡回行列Pi,0 ,Pi,1 ,… ,Pi,k0-1のそれぞれr行目0列目成分(Pi,j)r,0が全て0の場合、排他的論理和演算回路を介さず行列Pのmi+{(r+1) mod m}に対応するレジスタに接続される。
また、w>0個の非零要素があれば非零要素の箇所それぞれに対応したw個の入力との排他的論理和が演算され、行列Pのmi+{(r+1) mod m}に対応するレジスタに接続される。w>0の場合、排他的論理和演算回路にw+1個の入力がなされる。よって、入力数が多いほど演算時間がかかるため、wの最大値が最小となるようにパリティの位置を選べば、よりwの最大値が大きい割り当てに比べて速い符号化動作が可能となる。
w+1個の入力の排他的論理和演算回路は、w個の2入力の排他的論理和演算回路でも記述できる。従って、wの和を最小とすれば、符号化回路全体の回路規模が小さくできる。
上述した実施の形態においては、符号語が26ビットなどの比較的小さなビット数のときを例に挙げて説明したため、例えば、図16や図17に示したパリティ演算回路における排他的論理和演算回路113や排他的論理和演算回路133に入力されるデータ数が、3や7といった比較的小さな差となるが、扱うビット数が増すことで、排他的論理和演算回路に入力される数や、排他的論理和演算回路の数に大きな違いが生じる。そこで、さらに、比較的大きなビット数を扱う場合を例に挙げて説明を続ける。
次に、パリティ検査行列をn0列おきに取って並べ替えたものが、
H’=[H0,00,1 … H0,17]
で表されるn0=18、k0=17、m=148の準巡回符号によるLDPC符号の例を示す。このような表記だが、例えば、図5に示したパリティ検査行列H’を、このような表記で行うと、
H’=[H0,00,1]
となる。すなわち、図5において、左側の行列が、H0,0であり、右側の行列が、H0,1である。
ここで、H’=[H0,00,1 … H0,17]における、各H0,jは148×148巡回正方行列である。よって、148×148の巡回正方行列が18個並ぶような行列を図示するのは困難であるので、図21に示したような形で図示する。
図21に示したのは、各巡回正方行列のうちの0列目に注目し、その0列目に含まれる非零要素が存在する行番号である。例えば、巡回正方行列H0,0の0列目の111行目、136行目、147行目は“1”であり、その他の行番号の要素は“0”である。
参考とし、図5に示したパリティ検査行列H’を、図21に示したような形で図示すると、図22に示したようになる。図5と図22を参照するに、図5に示したパリティ検査行列H’のうちの左側の巡回行列H0,0の0列目には、図22に示すように、0行目、9行目、12行目に“1”がある。同様に、図5に示したパリティ検査行列H’のうちの右側の巡回行列H0,1の0列目には、図22に示すように、0行目、6行目、11行目に“1”がある。
図21に示した行列の説明に戻り、上記したように、各H0,jの0列目の要素は図21に示した行番号を除き“0”である。また、各H0,jの0列目以外の各列は、ひとつ左の列を下方向に1段巡回シフトしたものである。
各巡回行列の階数は、全て148であるため、18ビットおきにパリティを1ビット挿入するような割り当ては、18通り可能である。
パリティ演算回路は、k=2516段シフトレジスタ、あるいはk0=17個のm=148段シフトレジスタによる構成が可能である。ここではレジスタ数の少ないn0―k0=1個のm=148段シフトレジスタによる構成で実現する場合を例に挙げて説明する。レジスタ数が少ない方が、小さな回路規模を実現できるため、ここでは、レジスタ数が少ない方を例に挙げて説明する。
k段シフトレジスタによるパリティ演算回路を設計するか、または、n0-k0個のm段シフトレジスタによるパリティ演算回路を設計するかを決定する1つの判断要因としては、最終的なパリティ演算回路に含まれるレジスタの個数が少なくなる方を選択することが考えられる。そして、レジスタの個数が少なくなる方はどちらであるかを判断する1つの判断要因としては、符号化率が1/2以下である場合には、k段シフトレジスタによるパリティ演算回路を設計し、符号化率が1/2以上である場合には、n0-k0個のm段シフトレジスタによるパリティ演算回路を設計することが考えられる。
取り扱うビット数が多いときなど、上記したことを考慮し、予めどのようなパリティ演算回路を設計するかを決定した後に、その決定したパリティ演算回路に関わる、図23に示したような表を生成する。
図23に示した表は、パリティの候補となる18通りのビット位置の組を選び、各候補に対して、対応する巡回行列を単位行列とするように、パリティ検査行列H’に行の基本変形を施して、パリティ位置に対応する列を除いた残りを行列Pとするときに、その行列Pに含まれる非零要素の数wの和と最大値を示した表である。
図5を参照して説明した行列を再度例に挙げて説明するならば、図3に示したような行列を、図5に示したような行列に変換し、さらにパリティを割り当てる位置に対応し、図15又は図16に示した単位行列を含む行列に変換する。このように、パリティの割り当てる位置毎に、異なる行列が作成されるので、その作成された行列、この場合図21に示した行列の特徴を示したのが、図23である。
即ちこの場合、パリティの割り当てる位置は、18通りあるので、図15や図16に示したような単位行列を含む行列が、18個作成される。ここでは、パリティの位置に対応する巡回行列をそれぞれH0,0,H0,1,・・・,H0,17とし、行の基本変形によって得られた行列から単位行列を除いた部分の行列Pに含まれるwの和と最大値を表したのが図23である。
参考とし、図5に示したパリティ検査行列H’から生成された図14に示した行列H”と図15に示した行列H”を、図23に示したような形で図示すると、図24に示したようになる。図14と図24を参照するに、図14の行列H”の右側の行列(単位行列でない側)の1行に含まれる非零要素の数は、“7”であるため、wの和は、“7”となり、wの最大値は1となる。同様に、図15と図24を参照するに、図15の行列H”の左側の行列(単位行列でない側)の1行に含まれる非零要素の数は、“3”であるため、wの和は、“3”となり、wの最大値は1となる。
図24は、n0-k0個のm段シフトレジスタによるパリティ演算回路を生成するときの表である。図14または図15に示した行列H”は、k0=1のときの行列であるので、wの最大値として取り得る範囲は1である。よって、図24に示したように、wの最大値は、それぞれ“1”となっている。
これに対して、図23に示した表を再度参照するに、図23に示した表は、n0-k0個のm段シフトレジスタによるパリティ演算回路を生成するときの表であり、k0=17のときの表である。よって、wの最大値として取り得る範囲は、1乃至17となる。図23に示したように、wの最大値としては、最小値が“6”であり、最大値が“16”であるので、この1乃至17という範囲内であることがわかる。
wの和は、上記してきたように、各排他的論理和演算回路に入力されるデータ数の総和に関わる数値であり、wの最大値は、1つの排他的論理和演算回路に入力されるデータ数の最大値に関わる数値である。wの和の値も、wの最大値も、共に、小さい値を選択することで、回路規模の縮小と演算処理の低減をはかることが可能となる。
すなわち、図23に示した例によれば、wの和とwの最大値のいずれも行列H0,4に対応する位置を、パリティとしたときに最小となることがわかる。従って、H0,4に対応するビットの位置をパリティに割り当てる符号化方法とすることで、n0=18、k0=17、m=148の準巡回符号によるLDPC符号のときには、最も小さな回路規模、速い動作速度が達成できる符号化回路を構成することが可能となる。
図23に示した例を参照するに、例えば、巡回行列H0,0のwの和と巡回行列H0,4のwの和は、それぞれ、“1263”と“427”である。この数値から、巡回行列H0,0のwの和は、巡回行列H0,4のwの和の約3倍であることがわかる。すなわちこの場合、巡回行列H0,0を適用してパリティ演算回路を作成すると、各排他的論理和演算回路に入力されるデータ数の総和が、巡回行列H0,4を適用してパリティ演算回路を作成した場合に比べて約3倍であることを意味する。
このように、扱うビット数が大きくなると、どの巡回行列を適用するかにより、排他的論理和演算回路に入力されるデータ数が大きく異なってくるので、演算量や回路規模に大きな差が生じてくると考えられる。よって、扱うビット数が大きい場合、本発明を適用することで、回路規模を縮小したり、演算量を少なくしたりするといった効果を、より期待することが可能である。また、上記してきたように、適切な巡回行列を選択するまでの処理、換言すれば、図23に示したような表を作成するまでの処理は、比較的簡便であるので、表を作成するまでの処理で、従来の処理よりも負担が増加するといったようなことはない。
なお、図23を参照して説明した例の場合、行列H0,4がwの和とwの最大値ともに、最小となったが、wの和の最小値をとる行列と、wの最大値が最小値となる行列が別々の場合、どちらを優先するか、換言すれば、各排他的論理和演算回路に入力されるデータ数の総和を少なくする方を優先するか、1つの排他的論理和演算回路に入力されるデータ数の最大値を少なくする方を優先するかは、適宜、設計の段階などで検討されればよい。
また、上記してきたように、wの和が最小となる行列や、wの最大値が最小となる行列を選択し、その選択した行列にあったパリティ演算回路を設計することで、回路規模を小さくでき、演算処理の低減をはかることができるが、例えば、図23に示したような表を作成することで、パリティの候補とした位置に対応する巡回行列のうち、どの巡回行列を用いると、どのような回路規模になるかなどを予測することが可能となる。よって、必ずしも、wの和が最小となる行列や、wの最大値が最小となる行列を選択しなくても、目的にあった回路を設計するための1つの資料としても、図23に示したような表を作成することは意義がある。
上述してきた処理であるが、図23に示したような表を作成するまでの処理について、再度、図25のフローチャートを参照し、簡便な説明を加える。
ステップS21において、処理対象となるパリティ検査行列が決定される。ステップS21において、例えば、図3に示したようなパリティ検査行列が処理対象の行列として決定される。
ステップS22において、処理対象とされたパリティ検査行列に対して、基本変形が施される。基本変形とは、処理対象とされているパリティ検査行列を、単位行列を含む行列に変形することを意味する。ステップS22の処理が実行されることにより、例えば、図3に示したようなパリティ検査行列が処理対象の行列とされているときには、例えば、図14や図15に示した行列に変形される。なお、基本変形を行う前の段階として、例えば、図5に示したような行列に変形するなどの処理が、適宜行われるようにしても勿論良い。
ステップS22における処理対象とされた行列に対して基本変形を行う処理は、人により行われても良いし、プログラムを組み、そのプログラムを実行することで行われるようにしても良い。また、ステップS22の処理も含め、図25に示したフローチャートの各処理は、人により行われても良いし、プログラムが実行されることにより行われるようにしても良い。
ステップS23において、設計したいパリティ演算回路を適用する符号化の符号化率は、1/2以上であるか否かが判断される。この判断は、上記したように、パリティ演算回路に含まれるレジスタの数が少なくなる回路を判断するための処理である。ステップS23において、符号化率が1/2以上であると判断された場合、ステップS24に処理が進められる。
ステップS24において、n0―k0個のm段シフトレジスタによるパリティ演算回路のための表が作成される。例えば、図3に示したパリティ検査行列が処理対象の行列とされていた場合には、図19または図20に示したパリティ演算回路が作成されるような、図24に示したような表が作成される。また例えば、図21に示したようなパリティ検査行列が処理対象の行列とされていた場合には、図23に示したような表が作成される。
一方、ステップS23において、符号化率が1/2以上ではないと判断された場合、ステップS25に処理が進められる。
ステップS25において、k段シフトレジスタによるパリティ演算回路のための表が作成される。例えば、図3に示したパリティ検査行列が処理対象の行列とされていた場合には、図16または図17に示したパリティ演算回路が作成されるような、図26に示したような表が作成される。
図26に示した表は、図3に示したパリティ検査行列が処理対象の行列とされていた場合であり、k段シフトレジスタによるパリティ演算回路を設計するときの表であるため、wの和に関する値は、図24に示した場合と同じ値となるが、wの最大値に関する値は、図24に示した場合とは異なる値となる。すなわちこの場合、n0-k0=1であるので、設計されるk段シフトレジスタによるパリティ演算回路に設けられる排他的論理和演算回路の数は、1つとなる。
よって、wの最大値は、1つの排他的論理和演算回路に入力されるデータ数の最大値に関わる数値であるので、その排他的論理和演算回路が1つの場合、その排他的論理和演算回路に入力されるデータ数の最大値は、各排他的論理和演算回路に入力されるデータ数の総和に関わる数値である、wの和と同一の値となる。よって、図26に示したような表が作成される。
このようにして作成された表から、wの和が最小となる巡回行列を判断し、その判断結果に基づくパリティ演算回路が設計されたり、wの最大値が最小となる巡回行列を判断し、その判断結果に基づくパリティ演算回路が設計されたりする。
このように、符号長n=m n0、情報語長k=m k0の準巡回符号をLDPC符号として用いる通信システムや記録再生システムにおいて、情報語k0単位に(n0―k0)個のパリティが挿入された形の組織符号として符号化する場合、n0単位でみたときに取り得るパリティ位置(n0―k0)箇所の全組み合わせのうち、パリティ検査行列の列の順を並び替えて複数のm×m巡回行列で記述し、パリティの位置に対応する列からなる(n-k)×(n-k)行列を単位行列とするようにパリティ検査行列に行の基本変形を施し、そこから単位行列を除いた残りを行列Pとするとき、
1、行列Pの中に含まれる非零の要素数が最小となるように(n-k)箇所をパリティに割り当てる
または/および
2、行列Pの各行における非零の要素数の最大値が最小となるように(n-k)箇所をパリティに割り当てる
または/および
3、行列Pの各行におけるm列単位でみたk0個の要素のうちの非零要素数の最大値が最小となるように(n-k)箇所をパリティに割り当てる
ようにすることで、以下のような効果がある。
k段シフトレジスタによるパリティ演算回路において、排他的論理和演算回路への入力数が少なくなり、速い動作速度を得られる回路が実現可能となる。また、(n0―k0)個からなる排他的論理和演算回路の回路規模を小さくすることが可能となる。
また、k0個のm段シフトレジスタを用いても、同じ効果を得ることが可能となる。
さらに、(n0―k0)個のm段シフトレジスタによるパリティ演算回路において、排他的論理和演算回路への入力数が少なくなり、速い動作速度を得られる回路が実現可能となる。また、排他的論理和演算回路の回路規模を小さくことが可能となる。
なお、上述した実施の形態においては、LDPC符号を例に挙げて説明したが、LDPC符号以外の符号化についても、本発明を適用できる。
[記録媒体について]
上述した一連の処理は、ハードウェアにより実行させることもできるし、ソフトウエアにより実行させることもできる。一連の処理をソフトウエアにより実行させる場合には、そのソフトウエアを構成するプログラムが、専用のハードウェアに組み込まれているコンピュータ、または、各種のプログラムをインストールすることで、各種の機能を実行することが可能な、例えば汎用のパーソナルコンピュータなどに、プログラム記録媒体からインストールされる。
図27は、上述した一連の処理をプログラムにより実行するパーソナルコンピュータのハードウェアの構成の例を示すブロック図である。
コンピュータにおいて、CPU(Central Processing Unit)401、ROM(Read Only Memory)402、RAM(Random Access Memory)403は、バス404により相互に接続されている。
バス404には、さらに、入出力インターフェース405が接続されている。入出力インターフェース405には、キーボード、マウス、マイクロホンなどよりなる入力部406、ディスプレイ、スピーカなどよりなる出力部407、ハードディスクや不揮発性のメモリなどよりなる記憶部408、ネットワークインタフェースなどよりなる通信部409、磁気ディスク、光ディスク、光磁気ディスク、或いは半導体メモリなどのリムーバブルメディア411を駆動するドライブ410が接続されている。
以上のように構成されるコンピュータでは、CPU401が、例えば、記憶部408に記憶されているプログラムを、入出力インターフェース405及びバス404を介して、RAM403にロードして実行することにより、上述した一連の処理が行われる。
コンピュータ(CPU401)が実行するプログラムは、例えば、磁気ディスク(フレキシブルディスクを含む)、光ディスク(CD-ROM(Compact Disc-Read Only Memory),DVD(Digital Versatile Disc)等)、光磁気ディスク、もしくは半導体メモリなどよりなるパッケージメディアであるリムーバブルメディア411に記録して、あるいは、ローカルエリアネットワーク、インターネット、デジタル衛星放送といった、有線または無線の伝送媒体を介して提供される。
そして、プログラムは、リムーバブルメディア411をドライブ410に装着することにより、入出力インターフェース405を介して、記憶部408にインストールすることができる。また、プログラムは、有線または無線の伝送媒体を介して、通信部409で受信し、記憶部408にインストールすることができる。その他、プログラムは、ROM402や記憶部408に、あらかじめインストールしておくことができる。
なお、コンピュータが実行するプログラムは、本明細書で説明する順序に沿って時系列に処理が行われるプログラムであっても良いし、並列に、あるいは呼び出しが行われたとき等の必要なタイミングで処理が行われるプログラムであっても良い。
また、本明細書において、システムとは、複数の装置により構成される装置全体を表すものである。
なお、本発明の実施の形態は、上述した実施の形態に限定されるものではなく、本発明の要旨を逸脱しない範囲において種々の変更が可能である。
本発明を適用したシステムの一実施の形態の構成を示す図である。 パリティの割り当てについて説明する図である。 パリティ検査行列を示す図である。 タナーグラフについて説明する図である。 パリティ検査行列を示す図である。 パリティ検査行列を一般的に表現した図である。 パリティ検査行列を示す図である。 パリティ検査行列を示す図である。 パリティが挿入される様子を示す図である。 符号化回路の構成例を示す図である。 パリティ演算回路の構成例を示す図である。 パリティ演算回路の構成例を示す図である。 パリティの割り当てについて説明する図である。 変形されたパリティ検査行列を示す図である。 変形されたパリティ検査行列を示す図である。 パリティ演算回路の構成例を示す図である。 パリティ演算回路の構成例を示す図である。 変形されたパリティ検査行列の一般的に表現した図である。 パリティ演算回路の構成例を示す図である。 パリティ演算回路の構成例を示す図である。 パリティ検査行列を示す図である。 パリティ検査行列を示す図である。 パリティ検査行列の特徴を示す数値が記載された表である。 パリティ検査行列の特徴を示す数値が記載された表である。 表の作成処理について説明するフローチャートである。 パリティ検査行列の特徴を示す数値が記載された表である。 記録媒体を説明する図である。
符号の説明
11 チャネル符号化部, 12 誤り訂正符号化部, 13 記録再生チャネル部, 14 等化タイミング検出チャネル部, 15 誤り訂正復号部, 16 チャネル復号部, 31 パリティ演算部, 32 バッファメモリ, 33 セレクタ

Claims (15)

  1. 符号長n=m n0、情報語長k=m k0の準巡回符号を用いる符号化方法において、
    情報語k0単位に(n0―k0)個のパリティが挿入された形の組織符号として符号化する場合、n0単位でみたときに取り得るパリティ位置(n0―k0)箇所の全組み合わせのうち、パリティ検査行列の列の順を並び替えて複数のm×m巡回行列で記述し、パリティの位置に対応する列からなる(n-k)×(n-k)行列を単位行列とするように行の基本変形を施し、その基本変形を施した第1の行列から単位行列を除いた残りを第2の行列とするとき、
    前記第2の行列に含まれる非零の要素数が最小となるように(n-k)箇所をパリティに割り当てる
    符号化方法。
  2. 符号長n=m n0、情報語長k=m k0の準巡回符号を用いる符号化を行う符号化装置において、
    情報語k0単位に(n0―k0)個のパリティが挿入された形の組織符号として符号化する場合、n0単位でみたときに取り得るパリティ位置(n0―k0)箇所の全組み合わせのうち、パリティ検査行列の列の順を並び替えて複数のm×m巡回行列で記述し、パリティの位置に対応する列からなる(n-k)×(n-k)行列を単位行列とするように行の基本変形を施し、その基本変形を施した第1の行列から単位行列を除いた残りを第2の行列とするとき、
    前記第2の行列に含まれる非零の要素数が最小となるように(n-k)箇所をパリティに割り当てる
    符号化装置。
  3. 前記割り当てられるパリティをk段シフトレジスタで求める
    請求項2に記載の符号化装置。
  4. 前記割り当てられるパリティをk0個のm段シフトレジスタで求める
    請求項2に記載の符号化装置。
  5. 前記割り当てられるパリティを(n0―k0)個のm段シフトレジスタで求める
    請求項2に記載の符号化装置。
  6. 符号長n=m n0、情報語長k=m k0の準巡回符号を用いる符号化を制御するコンピュータが読み取り可能なプログラムであって、
    情報語k0単位に(n0―k0)個のパリティが挿入された形の組織符号として符号化する場合、n0単位でみたときに取り得るパリティ位置(n0―k0)箇所の全組み合わせのうち、パリティ検査行列の列の順を並び替えて複数のm×m巡回行列で記述し、パリティの位置に対応する列からなる(n-k)×(n-k)行列を単位行列とするように行の基本変形を施し、その基本変形を施した第1の行列から単位行列を除いた残りを第2の行列とするとき、
    前記第2の行列に含まれる非零の要素数が最小となるように(n-k)箇所をパリティに割り当てる
    プログラム。
  7. 符号長n=m n0、情報語長k=m k0の準巡回符号を用いる符号化方法において、
    情報語k0単位に(n0―k0)個のパリティが挿入された形の組織符号として符号化する場合、n0単位でみたときに取り得るパリティ位置(n0―k0)箇所の全組み合わせのうち、パリティ検査行列の列の順を並び替えて複数のm×m巡回行列で記述し、パリティの位置に対応する列からなる(n-k)×(n-k)行列を単位行列とするように行の基本変形を施し、その基本変形を施した第1の行列から単位行列を除いた残りを第2の行列とするとき、
    前記第2の行列の各行に含まれる非零の要素数の最大値が最小となるように(n-k)箇所をパリティに割り当てる
    符号化方法。
  8. 符号長n=m n0、情報語長k=m k0の準巡回符号を用いる符号化を行う符号化装置において、
    情報語k0単位に(n0―k0)個のパリティが挿入された形の組織符号として符号化する場合、n0単位でみたときに取り得るパリティ位置(n0―k0)箇所の全組み合わせのうち、パリティ検査行列の列の順を並び替えて複数のm×m巡回行列で記述し、パリティの位置に対応する列からなる(n-k)×(n-k)行列を単位行列とするように行の基本変形を施し、その基本変形を施した第1の行列から単位行列を除いた残りを第2の行列とするとき、
    前記第2の行列の各行に含まれる非零の要素数の最大値が最小となるように(n-k)箇所をパリティに割り当てる
    符号化装置。
  9. 前記割り当てられるパリティをk段シフトレジスタで求める
    請求項8に記載の符号化装置。
  10. 前記割り当てられるパリティをk0個のm段シフトレジスタで求める
    請求項8に記載の符号化装置。
  11. 符号長n=m n0、情報語長k=m k0の準巡回符号を用いる符号化を制御するコンピュータが読み取り可能なプログラムであって、
    情報語k0単位に(n0―k0)個のパリティが挿入された形の組織符号として符号化する場合、n0単位でみたときに取り得るパリティ位置(n0―k0)箇所の全組み合わせのうち、パリティ検査行列の列の順を並び替えて複数のm×m巡回行列で記述し、パリティの位置に対応する列からなる(n-k)×(n-k)行列を単位行列とするように行の基本変形を施し、その基本変形を施した第1の行列から単位行列を除いた残りを第2の行列とするとき、
    前記第2の行列の各行に含まれる非零の要素数の最大値が最小となるように(n-k)箇所をパリティに割り当てる
    プログラム。
  12. 符号長n=m n0、情報語長k=m k0の準巡回符号を用いる符号化方法において、
    情報語k0単位に(n0―k0)個のパリティが挿入された形の組織符号として符号化する場合、n0単位でみたときに取り得るパリティ位置(n0―k0)箇所の全組み合わせのうち、パリティ検査行列の列の順を並び替えて複数のm×m巡回行列で記述し、パリティの位置に対応する列からなる(n-k)×(n-k)行列を単位行列とするように行の基本変形を施し、その基本変形を施した第1の行列から単位行列を除いた残りを第2の行列とするとき、
    前記第2の行列の各行におけるm列単位でみたk0個の要素のうちの非零要素数の最大値が最小となるように(n-k)箇所をパリティに割り当てる
    符号化方法。
  13. 符号長n=m n0、情報語長k=m k0の準巡回符号を用いる符号化を行う符号化装置において、
    情報語k0単位に(n0―k0)個のパリティが挿入された形の組織符号として符号化する場合、n0単位でみたときに取り得るパリティ位置(n0―k0)箇所の全組み合わせのうち、パリティ検査行列の列の順を並び替えて複数のm×m巡回行列で記述し、パリティの位置に対応する列からなる(n-k)×(n-k)行列を単位行列とするように行の基本変形を施し、その基本変形を施した第1の行列から単位行列を除いた残りを第2の行列とするとき、
    前記第2の行列の各行におけるm列単位でみたk0個の要素のうちの非零要素数の最大値が最小となるように(n-k)箇所をパリティに割り当てる
    符号化装置。
  14. 前記割り当てられるパリティを(n0−k0)個のm段シフトレジスタで求める
    請求項13に記載の符号化装置。
  15. 符号長n=m n0、情報語長k=m k0の準巡回符号を用いる符号化を制御するコンピュータが読み取り可能なプログラムであって、
    情報語k0単位に(n0―k0)個のパリティが挿入された形の組織符号として符号化する場合、n0単位でみたときに取り得るパリティ位置(n0―k0)箇所の全組み合わせのうち、パリティ検査行列の列の順を並び替えて複数のm×m巡回行列で記述し、パリティの位置に対応する列からなる(n-k)×(n-k)行列を単位行列とするように行の基本変形を施し、その基本変形を施した第1の行列から単位行列を除いた残りを第2の行列とするとき、
    前記第2の行列の各行におけるm列単位でみたk0個の要素のうちの非零要素数の最大値が最小となるように(n-k)箇所をパリティに割り当てる
    プログラム。
JP2007100883A 2007-04-06 2007-04-06 符号化方法および符号化装置、並びにプログラム Expired - Fee Related JP4702632B2 (ja)

Priority Applications (3)

Application Number Priority Date Filing Date Title
JP2007100883A JP4702632B2 (ja) 2007-04-06 2007-04-06 符号化方法および符号化装置、並びにプログラム
EP08006514.7A EP1978644B1 (en) 2007-04-06 2008-03-31 Efficient encoding of quasi-cyclic codes using shift registers
US12/061,423 US8078936B2 (en) 2007-04-06 2008-04-02 Encoding method, encoding apparatus, and program

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2007100883A JP4702632B2 (ja) 2007-04-06 2007-04-06 符号化方法および符号化装置、並びにプログラム

Publications (2)

Publication Number Publication Date
JP2008259051A JP2008259051A (ja) 2008-10-23
JP4702632B2 true JP4702632B2 (ja) 2011-06-15

Family

ID=39627395

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2007100883A Expired - Fee Related JP4702632B2 (ja) 2007-04-06 2007-04-06 符号化方法および符号化装置、並びにプログラム

Country Status (3)

Country Link
US (1) US8078936B2 (ja)
EP (1) EP1978644B1 (ja)
JP (1) JP4702632B2 (ja)

Families Citing this family (18)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP4702632B2 (ja) * 2007-04-06 2011-06-15 ソニー株式会社 符号化方法および符号化装置、並びにプログラム
JP4487213B2 (ja) * 2007-10-19 2010-06-23 ソニー株式会社 復号装置および方法、並びにプログラム
JP4487212B2 (ja) * 2007-10-19 2010-06-23 ソニー株式会社 復号装置および方法、送受信システム、受信装置および方法、並びにプログラム
JP5307137B2 (ja) * 2008-07-04 2013-10-02 三菱電機株式会社 検査行列生成装置、検査行列生成方法、検査行列生成プログラム、送信装置、受信装置及び通信システム
JP5051109B2 (ja) * 2008-12-01 2012-10-17 富士通株式会社 行列変換方法、行列変換装置および送受信システム
US8352837B1 (en) * 2009-03-20 2013-01-08 Marvell International Ltd. System and methods for storing data encoded with error information in a storage medium
US8677226B2 (en) * 2009-05-04 2014-03-18 Ikanos Communications, Inc. Systems and methods for retransmission return channel error detection
GB2471513B (en) * 2009-07-02 2013-09-25 Samsung Electronics Uk Ltd Encoding/decoding apparatus and method
US20110154168A1 (en) * 2009-12-18 2011-06-23 Electronics And Telecommunications Research Institute Effective high-speed ldpc encoding method and apparatus using the same
US8508391B1 (en) 2011-01-19 2013-08-13 Marvell International Ltd Code word formatter of shortened non-binary linear error correction code
US8713398B2 (en) * 2011-03-22 2014-04-29 Nec Corporation Error correct coding device, error correct coding method, and error correct coding program
TWI463477B (zh) * 2012-12-26 2014-12-01 Univ Nat Cheng Kung 用以組成光源組之點光源的料碼配量方法與其電腦程式產品
US20150055405A1 (en) * 2013-08-23 2015-02-26 Kabushiki Kaisha Toshiba Memory device and memory system with sensor
RU2014104573A (ru) * 2014-02-10 2015-08-20 ЭлЭсАй Корпорейшн Системы и способы для кодирования неполного ранга
US20150363263A1 (en) * 2014-06-12 2015-12-17 HGST Netherlands B.V. ECC Encoder Using Partial-Parity Feedback
US10396826B2 (en) * 2016-10-26 2019-08-27 Huawei Technologies Co., Ltd. Software defined network with selectable low latency or high throughput mode
CN111457947B (zh) * 2020-05-13 2021-11-19 新里程医用加速器(无锡)有限公司 位置编码系统及编码方法和装置、电子设备和存储介质
CN114257250A (zh) * 2020-09-25 2022-03-29 中兴通讯股份有限公司 Ldpc码编码方法、装置、网络设备和存储介质

Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPS52142453A (en) * 1976-05-21 1977-11-28 Fujitsu Ltd Block error correction processing system
JP2005045735A (ja) * 2003-07-25 2005-02-17 Sony Corp 符号検出装置及び方法、復号装置及び方法、並びに情報処理装置及び方法
WO2005069492A1 (ja) * 2004-01-20 2005-07-28 Nec Corporation 検査行列生成方法、データ伝送システム、符号化装置、復号装置および検査行列生成プログラム

Family Cites Families (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
DE3104762A1 (de) * 1981-02-11 1982-08-19 Standard Elektrik Lorenz Ag, 7000 Stuttgart System zur binaeren datenuebertragung
KR20050044963A (ko) 2003-11-08 2005-05-16 삼성전자주식회사 q차 제곱 잉여류를 이용한 준순환 저밀도 패러티 검사부호 생성 방법
JP4534128B2 (ja) * 2004-03-05 2010-09-01 ソニー株式会社 符号化方法および装置
JP4702632B2 (ja) * 2007-04-06 2011-06-15 ソニー株式会社 符号化方法および符号化装置、並びにプログラム
US8397125B2 (en) * 2008-12-31 2013-03-12 Stmicroelectronics, Inc. Encoding apparatus, system, and method using low density parity check (LDPC) codes
US20110154168A1 (en) * 2009-12-18 2011-06-23 Electronics And Telecommunications Research Institute Effective high-speed ldpc encoding method and apparatus using the same

Patent Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPS52142453A (en) * 1976-05-21 1977-11-28 Fujitsu Ltd Block error correction processing system
JP2005045735A (ja) * 2003-07-25 2005-02-17 Sony Corp 符号検出装置及び方法、復号装置及び方法、並びに情報処理装置及び方法
WO2005069492A1 (ja) * 2004-01-20 2005-07-28 Nec Corporation 検査行列生成方法、データ伝送システム、符号化装置、復号装置および検査行列生成プログラム

Also Published As

Publication number Publication date
US20080250295A1 (en) 2008-10-09
JP2008259051A (ja) 2008-10-23
EP1978644A1 (en) 2008-10-08
EP1978644B1 (en) 2014-12-31
US8078936B2 (en) 2011-12-13

Similar Documents

Publication Publication Date Title
JP4702632B2 (ja) 符号化方法および符号化装置、並びにプログラム
JP4595574B2 (ja) 復号装置および方法、並びにプログラム
US8656250B2 (en) Low density parity check decoder for regular LDPC codes
CN107370490B (zh) 结构化ldpc的编码、译码方法及装置
US9544090B2 (en) Hard input low density parity check decoder
JP4168055B2 (ja) 低密度パリティ検査符号の生成方法及び装置
US8578256B2 (en) Low-latency decoder
JP4743156B2 (ja) 復号装置
US8869003B2 (en) Method, apparatus, computer program product and device providing semi-parallel low density parity check decoding using a block structured parity check matrix
JP4622654B2 (ja) 復号装置および復号方法
US20110191653A1 (en) Quasi-cyclic ldpc encoding and decoding for non-integer multiples of circulant size
JP2006238127A (ja) 復号装置および方法、並びにプログラム
JP4412401B2 (ja) 復号装置、復号方法、受信装置、および記憶媒体再生装置
JP2008035527A (ja) ハードウェア共用および直列和積アーキテクチャを用いる低密度パリティ検査復号の方法および装置
JP4572937B2 (ja) 復号装置および方法、プログラム、並びに記録媒体
JP2008526086A (ja) チャネルコードを用いた復号化装置及び方法
WO2017193614A1 (zh) 结构化ldpc的编码、译码方法及装置
JP2005065066A (ja) 復号装置および復号方法、並びにプログラム
Zeineddine et al. Construction and hardware-efficient decoding of raptor codes
TWI583141B (zh) 低密度奇偶檢查碼的解碼方法與解碼器
Varnica Ldpc decoding: Vlsi architectures and implementations
JP4284600B2 (ja) 復号装置
JP2010028408A (ja) 情報処理装置、情報処理方法、およびプログラム

Legal Events

Date Code Title Description
A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20100218

A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20110128

TRDD Decision of grant or rejection written
A01 Written decision to grant a patent or to grant a registration (utility model)

Free format text: JAPANESE INTERMEDIATE CODE: A01

Effective date: 20110210

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20110223

R151 Written notification of patent or utility model registration

Ref document number: 4702632

Country of ref document: JP

Free format text: JAPANESE INTERMEDIATE CODE: R151

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

LAPS Cancellation because of no payment of annual fees