Deprecated: The each() function is deprecated. This message will be suppressed on further calls in /home/zhenxiangba/zhenxiangba.com/public_html/phproxy-improved-master/index.php on line 456
JP4595574B2 - 復号装置および方法、並びにプログラム - Google Patents
[go: Go Back, main page]

JP4595574B2 - 復号装置および方法、並びにプログラム - Google Patents

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

Info

Publication number
JP4595574B2
JP4595574B2 JP2005029996A JP2005029996A JP4595574B2 JP 4595574 B2 JP4595574 B2 JP 4595574B2 JP 2005029996 A JP2005029996 A JP 2005029996A JP 2005029996 A JP2005029996 A JP 2005029996A JP 4595574 B2 JP4595574 B2 JP 4595574B2
Authority
JP
Japan
Prior art keywords
decoding
likelihood ratio
log likelihood
reliability
unit
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
JP2005029996A
Other languages
English (en)
Other versions
JP2006217442A (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 JP2005029996A priority Critical patent/JP4595574B2/ja
Priority to US11/344,048 priority patent/US7689888B2/en
Priority to EP06002499A priority patent/EP1689085A3/en
Priority to CNB200610079362XA priority patent/CN100517980C/zh
Priority to KR1020060011697A priority patent/KR101176433B1/ko
Publication of JP2006217442A publication Critical patent/JP2006217442A/ja
Application granted granted Critical
Publication of JP4595574B2 publication Critical patent/JP4595574B2/ja
Anticipated expiration legal-status Critical
Expired - Fee Related legal-status Critical Current

Links

Images

Classifications

    • BPERFORMING OPERATIONS; TRANSPORTING
    • B23MACHINE TOOLS; METAL-WORKING NOT OTHERWISE PROVIDED FOR
    • B23BTURNING; BORING
    • B23B51/00Tools for drilling machines
    • B23B51/02Twist drills
    • 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/1191Codes on graphs other than LDPC 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/37Decoding methods or techniques, not specific to the particular type of coding provided for in groups H03M13/03 - H03M13/35
    • H03M13/3746Decoding methods or techniques, not specific to the particular type of coding provided for in groups H03M13/03 - H03M13/35 with iterative decoding
    • 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/37Decoding methods or techniques, not specific to the particular type of coding provided for in groups H03M13/03 - H03M13/35
    • H03M13/45Soft decoding, i.e. using symbol reliability information
    • H03M13/451Soft decoding, i.e. using symbol reliability information using a set of candidate code words, e.g. ordered statistics decoding [OSD]
    • H03M13/453Soft decoding, i.e. using symbol reliability information using a set of candidate code words, e.g. ordered statistics decoding [OSD] wherein the candidate code words are obtained by an algebraic decoder, e.g. Chase decoding
    • BPERFORMING OPERATIONS; TRANSPORTING
    • B23MACHINE TOOLS; METAL-WORKING NOT OTHERWISE PROVIDED FOR
    • B23BTURNING; BORING
    • B23B2251/00Details of tools for drilling machines
    • B23B2251/04Angles, e.g. cutting angles
    • BPERFORMING OPERATIONS; TRANSPORTING
    • B23MACHINE TOOLS; METAL-WORKING NOT OTHERWISE PROVIDED FOR
    • B23BTURNING; BORING
    • B23B2251/00Details of tools for drilling machines
    • B23B2251/04Angles, e.g. cutting angles
    • B23B2251/043Helix angles
    • BPERFORMING OPERATIONS; TRANSPORTING
    • B23MACHINE TOOLS; METAL-WORKING NOT OTHERWISE PROVIDED FOR
    • B23BTURNING; BORING
    • B23B2251/00Details of tools for drilling machines
    • B23B2251/08Side or plan views of cutting edges
    • BPERFORMING OPERATIONS; TRANSPORTING
    • B23MACHINE TOOLS; METAL-WORKING NOT OTHERWISE PROVIDED FOR
    • B23BTURNING; BORING
    • B23B2251/00Details of tools for drilling machines
    • B23B2251/20Number of cutting edges
    • B23B2251/202Three cutting edges
    • BPERFORMING OPERATIONS; TRANSPORTING
    • B23MACHINE TOOLS; METAL-WORKING NOT OTHERWISE PROVIDED FOR
    • B23BTURNING; BORING
    • B23B2251/00Details of tools for drilling machines
    • B23B2251/40Flutes, i.e. chip conveying grooves
    • B23B2251/408Spiral grooves
    • 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/132Algebraic geometric codes, e.g. Goppa 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/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
    • H03M13/151Cyclic codes, i.e. cyclic shifts of codewords produce other codewords, e.g. codes defined by a generator polynomial, Bose-Chaudhuri-Hocquenghem [BCH] codes using error location or error correction polynomials
    • H03M13/1515Reed-Solomon 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/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
    • H03M13/151Cyclic codes, i.e. cyclic shifts of codewords produce other codewords, e.g. codes defined by a generator polynomial, Bose-Chaudhuri-Hocquenghem [BCH] codes using error location or error correction polynomials
    • H03M13/152Bose-Chaudhuri-Hocquenghem [BCH] codes

Landscapes

  • Physics & Mathematics (AREA)
  • Engineering & Computer Science (AREA)
  • Probability & Statistics with Applications (AREA)
  • Theoretical Computer Science (AREA)
  • Mathematical Physics (AREA)
  • Mechanical Engineering (AREA)
  • Error Detection And Correction (AREA)
  • Detection And Correction Of Errors (AREA)
  • Detection And Prevention Of Errors In Transmission (AREA)

Description

本発明は、復号装置および方法、並びにプログラムに関し、特に、代数的手法を用いた誤り訂正符号技術において復号性能を向上させることができるようにする復号装置および方法、並びにプログラムに関する。
従来、代数幾何符号、例えばリードソロモン(Reed-Solomon)符号やその部分体部分符号としてのBCH(Bose-Chaudhuri-Hocquenghem)符号に対する復号方法として、その代数的性質を利用した、性能コストおよび計算コストが共に良い方法が知られている。
例えば、符号長n、情報長k、定義体GF(q)(q=pm,p:素数)、最小距離d=n-kのリードソロモン符号をRS(n,k)とすると、硬判定受信語をハミング(Hamming)距離が最小の符号語に復号する限界距離復号方法は、t<d/2を満たすt個の誤りシンボルの訂正を保証するものとして良く知られている方法である。また、Guruswami-Sudanによるリスト復号(以下、G-Sリスト復号と称する)方法は、T<√nkを満たすt個の誤りシンボルの訂正を保証している(例えば、非特許文献1参照)。
このG-Sリスト復号の拡張版として軟判定受信語を用いたKoetter-Vardyによるリスト復号(以下、K-Vリスト復号と称する)方法は、G-Sリスト復号の場合と同様に、受信情報から各シンボルの信頼性の算出、信頼性から2変数多項式補間条件の抽出、2変数多項式の補間、並びに、補間多項式の因数分解による復号語リスト作成の4つの手順により構成され、硬判定復号時に比べてより高い性能を持つことが知られている(非特許文献2参照)。また、再符号化(Re-encode)により、その計算コストも現実的な範囲まで削減する方法も知られている(非特許文献3参照)。
一方、線形符号としては、確率伝播(belief propagation)を用いた繰り返し復号により限界性能に近い高性能を得られる低密度パリティ検査符号(LDPC(Low Density Parity-check Code)が昨今注目されている(非特許文献4参照)。
このLDPC符号に用いられる確率伝播は、一般に低密度なパリティ検査行列を持つ線形符号にしか有効でないことが理論的に知られており、また、リードソロモン符号やBCH符号のパリティ検査行列を低密度化することはNP-hard問題として知られている(非特許文献5)。
以上のようなことから、リードソロモン符号やBCH符号に確率伝播を用いた復号方法を適用することは困難であるとされてきた。
しかしながら、2004年、ナラヤナン(Narayanan)等により、受信語の信頼性に応じて対角化を行ったパリティ検査行列を用いることにより、確率伝播を用いた復号方法を、リードソロモン符号、BCH符号、および、その他の低密度でないパリティ検査行列を持つ線形符号に対して効果的に適用することができることが示された(非特許文献6)。以下、そのABP(Adaptive Belief Propagation)復号方法について説明する。
例えば、符号長nを6とし、情報長kを3とし、符号化率rを1/2とする符号で、以下の式(1)に示される3×6行列Hをパリティ検査行列として持つような線形符号Cを考える。
Figure 0004595574
このとき、符号空間Cは、以下の式(2)により示される。
Figure 0004595574
ある符号語があるチャネル、例えばBPSK(Binary Phase Shift Keying)変調後に、AWGN(Adaptive White Gaussian Noise)チャネルを通った後、以下の式(3)に示されるような受信語として受信器に受け取られたとする。
Figure 0004595574
このような場合に受信器の復号装置により実行される復号処理の流れを図1のフローチャートを参照して説明する。
最初に、ステップS1において、復号装置は受信語の信頼性順を探索する。復号装置は、受信された受信語より、各受信シンボル(式(3)の右辺の各項)の絶対値の大きさを各受信シンボルの信頼性の高さとし、各受信シンボルについて順位付けを行う。つまり、復号装置は、例えば以下の式(4)の丸で囲まれた数字の様に、各受信シンボルに対して、信頼性の低い順に番号をつける。
Figure 0004595574
次に、復号装置は、ステップS2において、この順位付けされた各受信シンボルを所定の規則に従って並び替え、シンボルの優先順位の順序を変換する。この規則は、後述するように、互いに異なる規則が外側繰り返し回数分予め用意されており、その外側繰り返しの度に異なる方法が選択される。
順序を変換すると復号装置は、次にステップS3において、その順序に応じてパリティ検査行列Hの対角化を行う。例えば、順序の変換により、各受信シンボルに対してその信頼性の低い順に優先順位を付した場合、復号装置は、パリティ検査行列Hに対して、その信頼性の低いシンボルに対応する列より順に対角化を行う。
例えば、各受信シンボルの信頼性順が上述した式(4)に示されるような場合、パリティ検査行列Hの、信頼性の最も低いシンボルに対応する列は第3列であり、次に信頼性の低いシンボルに対応する列は第5列であり、その次に信頼性の低いシンボルに対応する列は第1列であり、さらにその次に信頼性の低いシンボルに対応する列は第4列または第6列であり、最も信頼性の高いシンボルに対応する列は第2列となる。復号装置は、その優先順位に従ってパリティ検査行列Hの対角化を行う。
すなわち、復号装置は、まず、パリティ検査行列Hに対して第3列を要に基本変形を行う。具体的には、復号装置は、第3列を「100」とするように、第1行と第3行の排他的論理和を第3行とし、パリティ検査行列Hを以下の式(5)のように変換する。
Figure 0004595574
次に、復号装置は、パリティ検査行列Hに対して第5列を要に基本変形を行う。具体的には、復号装置は、第5列を「010」とするように、第2行と第3行を入れ替え、パリティ検査行列Hを以下の式(6)のように変換する。
Figure 0004595574
次に、復号装置は、パリティ検査行列Hに対して第1列を要に基本変形を行う。具体的には、復号装置は、第1列を「001」とするように、第1行と第3行の排他的論理和を第1行に代入し、第2行と第3行の排他的論理和を第2行に代入し、パリティ検査行列Hを以下の式(7)に示されるようなパリティ検査行列Hnewに変換する。
Figure 0004595574
なお、対角化を試みた列がそれ以前に対角化した列と線形従属であった場合、復号装置は、その列をそのまま残し次の順位の列で対角化を試みる。この様にして、復号装置は、パリティ検査行列Hのランク分対角化を行い、新たなパリティ検査行列Hnewを得る。そして、復号装置は、ステップS4において、その得られたパリティ検査行列Hnewを用いて確率伝播による信頼性の更新を行う。
図2は式(7)に示されるパリティ検査行列Hnewに対応するタナーグラフである。確率伝播(belief propagation)はタナーグラフのエッジに沿ってメッセージを行き来させることによって実現される。図2において、バリアブルノード(variable node)11乃至バリアブルノード16は、行列(図2の場合パリティ検査行列Hnew)の各列に対応するノードである。チェックノード(check node)21乃至チェックノード23は、行列(図2の場合パリティ検査行列Hnew)の各行に対応するノードである。
以下において、iおよびjを自然数とし、第i番目のバリアブルノードから第j番目のチェックノードへのメッセージをRi,jと称し、第j番目のチェックノードから第i番目のバリアブルノードへのメッセージをQi,jと称し、第i番目のバリアブルノードに連接するチェックノードのインデックス集合をJ(i)と称し、第j番目のチェックノードに連接するバリアブルノードのインデックス集合をI(j)と称する。
このとき、メッセージRi,jおよびメッセージQi,jの更新式はそれぞれ以下の式(8)および式(9)の様になる。
Figure 0004595574
式(9)において、係数θはVertical Step Damping Factorと呼ばれる収束係数であり、その値は0<θ≦1である。メッセージQi,jの初期値としては受信シンボルyjが設定され、外部情報(Extrinsic Information)
Figure 0004595574
の更新は、以下の式(10)により行われる。
Figure 0004595574
つまり、復号装置は、図1のステップS5において、各符号シンボルの対数尤度比(LLR:LogLikelihood Ratio)Λqを以下の式(11)のように算出する。
Figure 0004595574
式(11)において、係数α1はAdaptive Belief Propagation Damping Factorと呼ばれる収束係数であり、その値は0<α≦1である。
LLRを算出した復号装置は、ステップS6に処理を進め、算出したLLRの信頼性順を探索する。すなわち、復号装置は、算出したLLRの絶対値の大きさを信頼性とし、その順序を探索する。後述するようにLLRの更新は、所定の条件を満たすまで繰り返し行われる。この信頼性順の探索は、次回の更新(パリティ検査行列Hの対角化)のために行われる。
復号装置は、次にステップS7において、以上のように算出(更新)されたLLRを復号し、復号語を得る。この復号方法としては、例えば、硬判定復号、限界距離復号、または、K-Vリスト復号等がある。そして、復号装置は、ステップS8において、予め定められた所定の条件である、内側繰り返し復号停止条件SC1を満たすか否かを判定する。
この確率伝播(belief propagation)によるLLRの更新は事前に用意された繰り返し停止条件SCを満たすまで繰り返される。復号装置は、確率伝播によって更新されたLLRの信頼性を用いて、再度LLRの更新を行う。つまり、復号装置は、得られたLLRの絶対値の大きさを信頼性とし、その信頼性の低いシンボルに対応する列順にパリティ検査行列の対角化を再度行うことにより、新たな確率伝播によるLLRの更新を行うことができる。そして復号装置はLLRを更新する度に、その得られたLLRを用いて復号を行う(繰り返し復号を行う)。これを内側繰り返し復号と称する。復号装置は、この内側繰り返し復号を、事前に用意された内側繰り返し復号停止条件SC1を満たすまで繰り返す。
すなわち、復号装置は、図1のステップS8において、内側繰り返し復号停止条件SC1を満たしていないと判定した場合、処理をステップS3に戻し、それ以降の処理を繰り返す。また、復号装置は、ステップS8において、内側繰り返し復号停止条件SC1を満たしたと判定した場合、処理をステップS9に進める。
ステップS9において、復号装置は、外側繰り返し復号停止条件SC2を満たすか否かを判定し、満たさないと判定した場合、処理をステップS2に戻し、それ以降の処理を繰り返す。
つまり、復号装置は、パリティ検査行列Hの列の対角化優先順位の初期値として、受信値の信頼性順以外の順位付け方法(互いに異なる方法)を予め複数用意する。そして復号装置は、その複数の方法を用いて、シリアルもしくはパラレルに、上述した内側繰り返し復号を複数回行う(内側繰り返し復号を繰り返し行う)。これを外側繰り返し復号と称する。復号装置は、この外側繰り返し復号を、事前に用意された外側繰り返し復号停止条件SC2を満たすまで繰り返す。
例えば、対象となる線形符号がリードソロモン符号である場合の繰り返し復号停止条件SCの例について説明する。
例えば、予め定められた最大繰り返し回数をN回とし、Λqの硬判定結果をd=(d1,d2,・・・,d6)とする。ここで、硬判定結果diは、以下の式(12)のように表される。
Figure 0004595574
このとき、復号装置は、例えば、パリティ検査行列Hと硬判定結果dの積の値が0(H・d==0)であるか、または、繰り返し数tが最大繰り返し回数N以上(t≧N)であること(少なくともいずれか一方を満たすこと)を繰り返し復号停止条件SC(内側繰り返し復号停止条件SC1または外側繰り返し復号停止条件SC2)とすることができる。
また、復号装置は、これ以外にも、例えば、限界距離復号が成功したか、または、繰り返し数tが最大繰り返し回数N以上(t≧N)であること(少なくともいずれか一方を満たすこと)を繰り返し復号停止条件SC(内側繰り返し復号停止条件SC1または外側繰り返し復号停止条件SC2)とすることもできるし、K-Vリスト復号が成功したか、または、繰り返し数tが最大繰り返し回数N以上(t≧N)であること(少なくともいずれか一方を満たすこと)を繰り返し復号停止条件SC(内側繰り返し復号停止条件SC1または外側繰り返し復号停止条件SC2)とすることもできるし、さらに、単に、繰り返し数tが最大繰り返し回数N以上(t≧N)であることのみを繰り返し復号停止条件SC(内側繰り返し復号停止条件SC1または外側繰り返し復号停止条件SC2)とすることもできる。
以上のような外側繰り返し復号が行われた後、ステップS9において、外側繰り返し復号停止条件SC2を満たしたと判定した場合、復号装置は、復号処理を終了する。
V.Guruswami,M.Sudan, Improved decoding of Reed-Solomon and Algebraic-Geometry codes, IEEE Transactions on Information Theory,vol.45,pp1757-1767,1999 R.Koetter,A.Vardy, Algebraic soft-decision decoding of Reed-Solomon codes, IEEE Transactions on Information Theory,2001 R.Koetter,J.Ma,A.Vardy,A.Ahmed, Efficient Interpolation and Factorization in Algebraic Soft-Decision Decoding of Reed-Solomon codes, Proceedings of ISIT2003 D.MacKay, Good Error-Correcting Codes Based on Very Sparse Matrices, IEEE Transactions on Information Theory,1999 Berlekamp,R.McEliece,H.van Tilborg, On the inherent intractability of certain coding problems, IEEE Transactions on Information Theory,vol.24,pp.384-386,May,1978 Jing Jiang,K.R.Narayanan, Soft Decision Decoding of RS Codes Using Adaptibe Parity Check Matrices. Proceedings of IEEE Internationnal Symposium on Information Theory 2004
しかしながら、以上のような、従来のAdaptive Belief Propagationを用いた手法で復号が行われる場合、無視できない確率でデコーダエラー、つまり、復号装置側でエラーと認識できないエラーが生起してしまい、復号装置において良い復号性能が得られない恐れがあった。
本発明はこのような状況に鑑みてなされたものであり、Adaptive Belief Propagationによって更新された信頼性を用いて繰り返し復号を行う際に、復号装置が、途中得られた復号語候補のリストを保持し、最後にリストより最も復号語らしいものを選出するようにすることにより、デコーダエラー生起確率が抑制され、より高い復号性能を得ることができるようにするものである。
本発明の復号装置は、供給された符号語および符号語の各シンボルの値の信頼性の順序である信頼性順に関する情報を保持する保持手段と、保持手段に保持されている信頼性順に関する情報に基づいて、パリティ検査行列の対角化を行う対角化手段と、対角化手段により対角化されたパリティ検査行列を用いて確率伝播を行いメッセージを更新する確率伝播手段と、符号語の各シンボルとして、確率伝播手段により行われた確率伝播によって更新されたメッセージを用いて対数尤度比を算出する対数尤度比算出手段と、対数尤度比算出手段により算出された対数尤度比の信頼性順を探索し、対数尤度比および対数尤度比の信頼性順に関する情報を用いて、保持手段に保持されている符号語および信頼性順に関する情報を更新する信頼性順探索手段と、対数尤度比算出手段により算出された対数尤度比を用いて復号を行う復号手段と、対角化手段によるパリティ検査行列の対角化、確率伝播手段による確率伝播、対数尤度比算出手段による対数尤度比の算出、信頼性順探索手段による信頼性順の探索、および復号手段による復号を所定の回数繰り返させるように制御する復号制御手段と、復号制御手段により制御されて行われる繰り返し復号により得られる復号語のリストを作成して保持する復号語リスト作成手段と、復号語リスト作成手段により作成された復号語リストより復号語を1つ選択する復号語選択手段とを備えることを特徴とする。
前記所定の回数は予め定められた値であるようにすることができる。
前記対角化手段は、パリティ検査行列の、信頼性順の最も低い受信シンボルに対応する列から順に優先的に対角化を行うようにすることができる。
前記対角化手段は、パリティ検査行列の各列を、各列が対応する受信シンボルの信頼性順の低い順に並べ、さらにその順番の一部を所定の方法で並び替え、その並び替えられた順番にパリティ検査行列の各列の対角化を行うようにすることができる。
前記対角化手段は、パリティ検査行列の対角化を行う列の優先順位の初期値の決定方法を複数種類予め用意しており、優先順位を初期化する度に決定方法を変更するようにすることができる。
前記復号手段は、対数尤度比算出手段により算出された対数尤度比を用いて硬判定復号を行うようにすることができる。
前記復号手段は、線形符号として有限体Fq(q=pm,p;素数)上代数幾何符号もしくはその同型を用い、複数回の更新により得られた信頼性を入力として復号を行うようにすることができる。
前記代数幾何符号としてのリードソロモン符号、BCH符号、若しくはそれらの同型に対して、復号手段は、複数回の更新により得られた信頼性を入力としてSudan,Grusuwami-Sudan,若しくは、その他のアルゴリズムによる硬判定リスト復号を行うようにすることができる。
前記代数幾何符号としてのリードソロモン符号、BCH符号、若しくはそれらの同型に対して、復号手段は、複数回の更新により得られた信頼性を入力としてKoetter-Vardy,若しくは、その他のアルゴリズムによる重複度設定および軟判定リスト復号を行うようにすることができる。
前記復号語選択手段は、復号語リストに登録されている復号語に対して最大事後確率復号を行い、復号語を1つ選択するようにすることができる。
本発明の復号方法は、供給された符号語および符号語の各シンボルの値の信頼性の順序である信頼性順に関する情報を保持する第1の保持部に保持されている信頼性順に関する情報に基づいて、パリティ検査行列の対角化を行う対角化ステップと、対角化ステップの処理により対角化されたパリティ検査行列を用いて確率伝播を行いメッセージを更新する確率伝播ステップと、符号語の各シンボルとして、確率伝播ステップの処理により行われた確率伝播によって更新されたメッセージを用いて対数尤度比を算出する対数尤度比算出ステップと、対数尤度比算出ステップの処理により算出された対数尤度比の信頼性順を探索し、対数尤度比および対数尤度比の信頼性順に関する情報を用いて、第1の保持部に保持されている符号語および信頼性順に関する情報を更新する信頼性順探索ステップと、対数尤度比算出ステップの処理により算出された対数尤度比を用いて復号を行う復号ステップと、対角化ステップの処理によるパリティ検査行列の対角化、確率伝播ステップの処理による確率伝播、対数尤度比算出ステップの処理による対数尤度比の算出、信頼性順探索ステップの処理による信頼性順の探索、および復号ステップの処理による復号を所定の回数繰り返させるように制御する復号制御ステップと、復号制御ステップの処理により制御されて行われる繰り返し復号により得られる復号語のリストを作成して第2の保持部に保持させる復号語リスト作成ステップと、復号語リスト作成ステップの処理により作成された復号語リストより復号語を1つ選択する復号語選択ステップとを含むことを特徴とする。
本発明のプログラムは、供給された符号語および符号語の各シンボルの値の信頼性の順序である信頼性順に関する情報を保持する第1の保持部に保持されている信頼性順に関する情報に基づいて、パリティ検査行列の対角化を行う対角化ステップと、対角化ステップの処理により対角化されたパリティ検査行列を用いて確率伝播を行いメッセージを更新する確率伝播ステップと、符号語の各シンボルとして、確率伝播ステップの処理により行われた確率伝播によって更新されたメッセージを用いて対数尤度比を算出する対数尤度比算出ステップと、対数尤度比算出ステップの処理により算出された対数尤度比の信頼性順を探索し、対数尤度比および対数尤度比の信頼性順に関する情報を用いて、第1の保持部に保持されている符号語および信頼性順に関する情報を更新する信頼性順探索ステップと、対数尤度比算出ステップの処理により算出された対数尤度比を用いて復号を行う復号ステップと、対角化ステップの処理によるパリティ検査行列の対角化、確率伝播ステップの処理による確率伝播、対数尤度比算出ステップの処理による対数尤度比の算出、信頼性順探索ステップの処理による信頼性順の探索、および復号ステップの処理による復号を所定の回数繰り返させるように制御する復号制御ステップと、復号制御ステップの処理により制御されて行われる繰り返し復号により得られる復号語のリストを作成して第2の保持部に保持させる復号語リスト作成ステップと、復号語リスト作成ステップの処理により作成された復号語リストより復号語を1つ選択する復号語選択ステップとを含むことを特徴とする。
本発明の復号装置および方法、並びにプログラムにおいては、供給された符号語および符号語の各シンボルの値の信頼性の順序である信頼性順に関する情報が保持され、その保持されている信頼性順に関する情報に基づいて、パリティ検査行列の対角化が行われ、対角化されたパリティ検査行列を用いて確率伝播が行われてメッセージが更新され、符号語の各シンボルとして、その確率伝播によって更新されたメッセージを用いて対数尤度比が算出され、算出された対数尤度比の信頼性順が探索され、対数尤度比および対数尤度比の信頼性順に関する情報を用いて、保持されている符号語および信頼性順に関する情報が更新され、算出された対数尤度比を用いて復号が行われ、パリティ検査行列の対角化、確率伝播、対数尤度比の算出、信頼性順の探索、および復号が所定の回数繰り返されるように制御され、その復号により得られる復号語のリストが作成されて保持され、またその作成された復号語リストより復号語が1つ選択される。
本発明によれば、代数的手法を用いた誤り訂正符号技術を実現することができる。特に、デコーダエラー生起確率が抑制されるようにすることができ、より高い復号性能を得ることができる。
以下、本発明の実施の形態について図を参照して説明する。
図3は、本発明を適用した復号装置の構成例を示すブロック図である。
図3に示されるABP(Adaptive Belief Propagation)復号装置31は、供給された受信語をAdaptive Belief Propagationを用いた手法で復号する装置であり、受信語を入力として受け付け、その受信語を復号した復号語を出力する装置である。ABP復号装置31は、復号制御部41、受信語保持部42、信頼性順探索部43、順序変換部44、パリティ検査行列対角化部45、確率伝播部46、LLR算出部47、LLR信頼性順探索部48、復号部49、復号語追加部50、内側繰り返し回数カウント部51、外側繰り返し回数カウント部52、および復号語選択部53を有している。
復号制御部41は、ABP復号装置31の各部を制御し、ABP復号装置31が行う復号処理の制御に関する処理を行う。受信語保持部42は、ABP復号装置31の外部より供給される受信語(符号語)を取得し、一時的に保持する。また、受信語保持部42は、信頼性順探索部43によりその受信語の各受信シンボルに対して信頼性の高さに応じた優先順位付けが行われると、各受信シンボルに対応させてその優先順位の情報を保持する。さらに、受信語保持部42は、LLR信頼性順探索部48より供給される更新されたLLRやその信頼性順(優先順位)の情報を取得し、それらの情報を各受信シンボルに対応させて保持する(保持する情報を更新する)。受信語保持部42は、そのように保持されている各受信シンボルの優先順位の情報を順序変換部44に供給する。
信頼性順探索部43は、受信語保持部42に保持されている受信語(符号語)の各受信シンボルに対して、その絶対値の大きさに応じて信頼性の順位付けを行う。例えば、信頼性順探索部43は、受信シンボルの絶対値が大きいほどより信頼性が高いものとし、信頼性の低い方から順に(絶対値が小さい方から順に)受信シンボルに優先順位を付ける。
順序変換部44は、復号制御部41に制御され、受信語保持部42より供給される受信語(各受信シンボル)の優先順位の情報を、所定のアルゴリズムで変換し、並び替えを行う。つまり、順序変換部44は、予め複数用意された所定の方法の内、復号制御部41により選択された方法で、受信語(各受信シンボル)の優先順位を変換し、その変換した情報をパリティ検査行列対角化部45に供給する。
パリティ検査行列対角化部45は、復号制御部41に制御され、順序変換部44より供給された変換後の受信語(各受信シンボル)の優先順位の情報、または、受信語保持部42より供給される受信語(各受信シンボル)の優先順位の情報のいずれか一方に基づいて、パリティ検査行列Hの列の対角化を行う。パリティ検査行列対角化部45は、その対角化後のパリティ検査行列Hnewを確率伝播部46に供給する。
確率伝播部46は、パリティ検査行列対角化部45より供給されるパリティ検査行列Hnewを用いて確率伝播を行い、メッセージを更新し、それをLLR算出部47に供給する。LLR算出部47は、供給されたメッセージに基づいてLLRを算出し、LLRの更新を行う。LLR算出部47は、その更新されたLLRをLLR信頼性順探索部48に供給する。
LLR信頼性順探索部48は、LLR算出部47において更新されたLLRの信頼性順を探索し、その情報(更新済みのLLRやその信頼性順に関する情報)を受信語保持部42および復号部49に供給する。復号部49は、供給されたLLRを復号し、得られた復号語を復号語追加部50に供給する。なお、復号部49による復号方法は、例えば、限界距離復号、硬判定復号、またはK-Vリスト復号等であってもよく、それ以外のどのような方法であってもよい。
復号語追加部50は、復号部49より復号結果として供給される復号語をリスト化し、復号語リスト50Aとして保持する(復号語リストを作成し、保持する)。つまり、復号語追加部50は、内部に半導体メモリやハードディスク等の記憶媒体よりなる記憶領域を有しており、その記憶領域内に得られた復号語をリスト化した復号語のリスト(復号語リスト50A)を保持している。復号語追加部50は、復号部49より新たな復号語が供給されると、その復号語を復号語リスト50Aに追加して記憶する。そして復号語追加部50は、その処理が終了したことを示す処理終了通知を内側繰り返し回数カウント部51に供給する。
内側繰り返し回数カウント部51は、その内部にカウンタを有しており、内側繰り返し復号の回数をカウントし、そのカウント値を保持する。つまり、内側繰り返し回数カウント部51は、復号語追加部50より処理終了通知が供給される度に、その通知の取得回数をカウントし、そのカウント値(これまでに行われた内側繰り返し復号の回数に関する情報)を復号制御部41に供給する。復号制御部41は、そのカウント値に基づいて、内側繰り返し復号を終了させるか否かを判定する。内側繰り返し復号を終了させる場合、復号制御部41は、順序変換部44を制御して受信シンボルの優先順位の変換処理を実行させるとともに、内側繰り返し回数カウント部51に対して、そのカウント値をリセットさせ、さらに、外側繰り返し回数カウント部52を制御し、そのカウント値をインクリメントさせる。内側繰り返し復号を終了させない場合、復号制御部41は、パリティ検査行列対角化部45を制御してパリティ検査行列Hの対角化を実行させる。
外側繰り返し回数カウント部52は、その内部にカウンタを有しており、外側繰り返し復号の回数をカウントし、そのカウント値を保持する。つまり、外側繰り返し回数カウント部52は、復号制御部41に制御されてカウント値をインクリメントすることで外側繰り返し復号の回数をカウントする。そしてカウントを行うと、外側繰り返し回数カウント部52は、その度に、復号語選択部53を制御し、復号語の選択を実行させる。
復号語選択部53は、外側繰り返し回数カウント部52に制御され、復号語追加部50より復号語リスト50Aを取得し、そこに登録されている復号語の中から、最適な復号語(最も復号語らしいもの)を選択する。このとき復号語選択部53は、復号語リスト50Aの復号語に対して例えばMAP(Maximum APosteriori probability:最大事後確率)復号を行い、最適な復号語を1つ選択する。復号語選択部53は、その選択された復号語を、ABP復号装置31の外部に出力する。
以上のような復号処理の流れを、図4のフローチャートを参照して説明する。なお、ここでは具体的な例を適宜適用して説明する。つまり、有限体として
Figure 0004595574
、線形符号cとして符号長7、情報長3のリードソロモン符号であるRS(7,3)に対する復号処理の場合を具体例として説明する。
復号処理の流れを説明する前に、まず、パリティ検査行列Hについて説明する。なお、ここでは、
Figure 0004595574
の原始根をαとし、原始多項式を以下の式(13)で表す。
Figure 0004595574
また、符号の生成多項式を以下の式(14)で表す。
Figure 0004595574
このとき符号空間Cのパリティ検査行列Hは以下の式(15)で与えられる。
Figure 0004595574
式(15)に示されるように、このときのパリティ検査行列Hは4行×7列の行列により構成される。
ところで、有限体
Figure 0004595574
はF2の3次拡大体であるので、その行列をすべて4次元に展開することが可能である。つまり、式(15)で示されるパリティ検査行列Hを3次元展開すると、以下の式(16)に示されるように、F2上に12行×21列のパリティ検査行列Hexpが得られる。
Figure 0004595574
このとき、対応する符号語もパリティ検査行列Hの場合と同様に、以下の式(17)に示されるように、F2上に21ビットに展開される。
Figure 0004595574
この符号語をBPSK変調し、それを、AWGNチャネル上を伝送させた結果、LLRとして、例えば、以下の式(18)で示されるような受信語yが得られたとする。
Figure 0004595574
このような受信語yがABP復号装置31に供給され、受信語保持部42がその受信語yを保持すると、復号処理が開始される。復号処理が開始されると、最初に、信頼性順探索部43は、ステップS21において、受信語保持部42に保持されている受信語y(すなわちLLR)に対して各受信シンボルの信頼性順を探索する。
例えば、信頼性順探索部43が、式(18)で示される受信語yに対して、信頼性順の探索を行い、各受信シンボルに信頼性の低い順に順序をつけると以下の式(19)の様になる。
Figure 0004595574
つまり、この場合、対角化するパリティ検査行列Hexp(式(16))の列のインデックスの順は、その優先順位の低い順に左から整列させると以下の通りとなる。
4,6,3,14,2,12,15,7,10,20,1,13,19,8,9,18,5,11,17,21,16
順序変換部44は、ステップS22において、必要に応じて、このように受信シンボルの優先順の順序(すなわち、パリティ検査行列Hexpにおける対角化する列の優先順序)を変換する。例えば、受信シンボルの信頼性の低い順に優先順位を付ける場合は、順序変換部44は、上述した順序で各受信シンボルの優先順を設定(または変更)する。
パリティ検査行列対角化部45は、ステップS23において、ステップS22において設定(変更)された順序に応じてパリティ検査行列Hexpの対角化を行う。

例えば、式(16)に示されるパリティ検査行列Hexpについて、パリティ検査行列対角化部45が上述した受信シンボルの優先順に従って、その各受信シンボルに対応した列から順に対角化を行うと、以下の式(20)で示されるパリティ検査行列Hnewが得られる。
Figure 0004595574
式(20)において、パリティ検査行列のHnew四角で囲まれている要素を含む列が、対角化が行われた列である。ステップS24において、確率伝播部46は、この式(20)で示されるパリティ検査行列Hnewを用いて確率伝播を行い、メッセージを更新する。そして、ステップS25において、LLR算出部47は、その更新されたメッセージを用いて外部情報を更新し、さらにLLRを算出する(LLRを更新する)。LLR信頼性順探索部48は、ステップS26において、そのLLRの信頼性順を探索する。このように、確率伝播部46、LLR算出部47、およびLLR信頼性順探索部48が、上述した式(20)に示されるパリティ検査行列Hnewを用いてLLRの更新に関する処理を行うことにより、例えば、以下の式(21)に示されるような、新たなLLRとその信頼性順が得られる。
Figure 0004595574
LLR信頼性順探索部48は、この情報を受信語保持部42に保持させるとともに、それを復号部49にも供給する。復号部49は、ステップS27において、その更新された新たなLLR(式(21))に対して、例えば、硬判定復号、限界距離復号、またはK-Vリスト復号等の復号を行い、復号語を得る。なお、復号部49は、この復号方法として、どのような方法を用いるようにしてもよい。
このように復号語が得られると、復号語追加部50は、ステップS28において、その新たに得られた復号語を復号語リスト50Aに追加する。内側繰り返し回数カウント部51は、ステップS29において、その内側繰り返し復号の回数である内側繰り返し数Tinをカウントする(カウント値をインクリメントする)。
ステップS30において、復号制御部41は、その内側繰り返し数Tin(すなわち、内側繰り返し回数カウント部51によりカウントされたカウント値)が、内側繰り返し復号停止条件SC1として予め定められた所定の閾値である最大内側繰り返し回数N1以上であるか(N1に達したか)否かを判定する。
内側繰り返し数Tinが最大内側繰り返し回数N1より小さい(内側繰り返し数Tinが最大内側繰り返し回数N1に達していない)と判定した場合、復号制御部41は、処理をステップS23に戻し、それ以降の処理を実行させる。つまり、この場合、復号制御部41は、パリティ検査行列対角化部45を制御する。パリティ検査行列対角化部45は、受信語保持部42より最新のLLRを取得し、パリティ検査行列Hの対角化を行う。
以上のように、ステップS23乃至ステップS30の処理が繰り返され、内側繰り返し復号が行われる。そして、ステップS30において、内側繰り返し数Tinが最大内側繰り返し回数N1以上である(内側繰り返し数Tinが最大内側繰り返し回数N1に達した)と判定した場合、復号制御部41は、処理をステップS31に進める。
ステップS31において、内側繰り返し回数カウント部51は、復号制御部41に制御されて、内側繰り返し数Tinをリセットし、初期値に戻す。ステップS32において、外側繰り返し回数カウント部52は、復号制御部41に制御されて、外側繰り返し復号の回数である外側繰り返し数Toutをカウントする(カウント値をインクリメントする)。
そして、ステップS33において、復号制御部41は、その外側繰り返し数TOUT(すなわち、外側繰り返し回数カウント部52によりカウントされたカウント値)が、外側繰り返し復号停止条件SC2として予め定められた所定の閾値である最大外側繰り返し回数N2以上であるか(N2に達したか)否かを判定する。
外側繰り返し数TOUTが最大外側繰り返し回数N2より小さい(外側繰り返し数TOUTが最大外側繰り返し回数N2に達していない)と判定した場合、復号制御部41は、処理をステップS22に戻し、それ以降の処理を実行させる。つまり、この場合、復号制御部41は、順序変換部44を制御する。順序変換部44は、受信語保持部42より最新のLLRを取得し、各受信シンボルの優先順を所定の方法で変換する。
つまり、順序変換部44は、パリティ検査行列の対角化優先順位の設定方法(内側繰り返し復号における優先順位の初期値)として、互いに異なる複数の方法(順位の設定の仕方)を予め用意している。復号制御部41は、その複数の方法の中から未使用の方法を1つ選択し、その実行を指示する。順序変換部44は、その制御に基づいて(選択された方法を用いて)パリティ検査行列の対角化優先順位の設定を行う(順序を変換する)。
例えば、順序変換部44が、第1回目の内側繰り返し復号における優先順位の初期値(第1回目の外側繰り返しにおいて順序変換部44が設定した優先順位)として、受信値のLLRの信頼性の低い順を採用としたとする。このとき、式(19)に示される受信語yにおいて、パリティ検査行列の対角化優先順位のインデックスは、左から順に以下のように整列される。
Figure 0004595574
これに対して、第2回目の内側繰り返し復号における優先順位の初期値の設定時(第2回目の外側繰り返しにおいて順序変換部44が優先順位を設定する時)においては、順序変換部44は、上述した方法と異なる方法を採用する。例えば、順序変換部44は、上述したインデックスの順序に対し、以下に示されるように、21/N2=21/3=7列分の入れ換えを行う。
Figure 0004595574
つまり、この場合、第1回目の内側繰り返し復号における優先順位の初期値の順序に対して、優先順位第1位乃至第7位の受信シンボルと、第8位乃至第14位の受信シンボルとでその優先順位を入れ替えている。さらに、順序変換部44は、第2回目の内側繰り返し復号における優先順位の初期値として、以下に示されるように、別の7ビット入れ替える方法を採用する。
Figure 0004595574
つまり、この場合、第2回目の内側繰り返し復号における優先順位の初期値の順序に対して、優先順位第1位乃至第7位の受信シンボルと、第15位乃至第21位の受信シンボルとでその優先順位を入れ替えている。
このようにすることにより、順序変換部44は、各回の内側繰り返し復号における優先順位の初期値を、互いに異なるものにすることができる。第1回目の内側繰り返しにおいては、パリティ検査行列対角化部45は、順序変換部44がこのように設定した初期値を取得し、その順序に従ってパリティ検査行列の対角化を行う。
以上のように、ステップS22乃至ステップS33の処理が繰り返され、外側繰り返し復号が行われる。そして、ステップS33において、外側繰り返し数TOUTが最大外側繰り返し回数N2以上である(外側繰り返し数TOUTが最大外側繰り返し回数N2に達した)と判定した場合、復号制御部41は、処理をステップS34に進める。
ステップS34において、外側繰り返し回数カウント部52は、復号制御部41に制御されて外側繰り返し数TOUTをリセットし、初期値に戻す。そして、ステップS35において、復号語選択部53は、例えば、MAP復号等を実行することによって、復号語追加部50において生成された復号語リストより、最適と思われる復号語(最も復号語らしいもの)を1つ選択し、それを復号語としてABP復号装置31の外部に出力する。
ステップS35の処理が終了すると、復号語選択部53は、復号処理を終了する。ABP復号装置31は、以上のような復号処理を受信した各受信語に対して行う。
図5は、以上のように短縮リードソロモン符号RS(7,3)を従来のABP復号方法で復号する場合の復号性能と、上述した本発明を適用したABP復号方法により復号する場合の復号性能の比較を示すグラフである。
図5において、曲線61で示されるグラフが、従来のABP復号方法を用いた場合の復号性能を示しており、曲線62で示されるグラフが、本発明を適用したABP復号方法を用いた場合の復号性能を示している。なお、従来のABP復号方法においては、繰り返し停止条件SC1,SC2として限界距離復号成功を用い、更新されたLLRを元に限界距離復号を行うようになされている。また、本発明を適用したABP復号方法においては、最大内側繰り返し回数N1を5回とし、最大外側繰り返し回数N2を1回とし、その繰り返しの度に復号された復号語をリストとして確保し、最後にMAP復号を行うようになされている。図5に示されるように、本発明を適用したABP復号方法の場合(曲線62)、従来のABP復号方法の場合(曲線61)に対して縦軸で示されるフレームエラー率(FER)が低下しており、エラー訂正能力が向上していることがわかる。
以上のように、ABP復号装置31は、繰り返し復号において得られた復号語をリスト化し(復号語リストに追加し)、内側繰り返し復号回数と外側繰り返し復号回数を予め定められた所定の回数とし、それらの回数が繰り返された後に、得られた復号語リストの中から、所定の方法で最適な復号語を1つ選択するようにしたので、復号時にエラーと認識できないデコーダエラー生起確率が抑制されるようにすることができ、より高い復号性能を得ることができる。
また、付言すると、ABP復号装置31は、受信語に対して最初からMAP復号を行うのではなく、繰り返し復号を行うことにより、復号語の候補を絞り込んでからMAP復号を行うようにしたので、復号処理の負荷を軽減し、より高速に復号処理を行うことができるだけでなく、その製造コストや運用コストを低減させることができる。
なお、以上において、Adaptive Belief Propagationを行ってLLRの更新を行う際、全ての繰り返しの過程において復号を行ったり、復号語リストに候補を加えたりする必要はなく、それらの処理を部分的に実行するようにしてもよい。例えば、各内側繰り返し復号の最後の1回分だけが復号されて、復号語リストに加えられるようにしてもよい。
また、得られた復号語リストから最適と思われる復号語をひとつ選定する際に、MAP復号でなくても、任意の選定方法を適用することができる。例えば、ビット(受信シンボル)ごとの信頼性を比較して、所定の閾値(threshold)以下の信頼性を所定のビット数以上持つ様な符号語はリストから省く、といった手順により選択するようにしてもよい。
さらに、以上においては、復号装置31がリードソロモン符号を復号するように説明したが、これに限らず、例えば、BCH符号を復号するようにしてもよいし、それ以外の符号化方法に対して復号を行うようにしてもよい。
次に、以上のようなABP復号の誤り訂正システムへの適用方法の具体的な例について説明する。図6は、本発明のABP復号を誤り訂正システムに適用する場合の例について説明する図である。図6において、誤り訂正システム100は、符号化装置101、チャネル102、および復号装置103により構成されるテレビジョン放送等に利用されるデジタル信号送受信システムである。
符号化装置101は、例えば放送局等のような、デジタル信号であるテレビジョン信号を送信する送信装置として構成される。符号化装置101は、リードソロモン符号化部(RS符号化部)111、インタリーバ112、および畳み込み符号化部113を有している。
RS符号化部111は、入力された情報を、リードソロモン符号を用いて符号化し、それを出力する。インタリーバ112は、入力されたデジタル情報の並べ替えを行い、それを出力する。畳み込み符号化部113は、入力されたデジタル情報に対して畳み込み符号を行って出力する。
符号化装置101の外部より供給された送信用のデジタル情報は、符号化装置101のRS符号化部111において、リードソロモン符号化された後、インタリーバ112に供給される。インタリーバ112は、主に通信路であるチャネル102において発生するバースト的誤りを拡散させるために、情報の並べ替え(インタリービング)を行う。リードソロモン符号は、複数ビットを1シンボルとする誤り訂正を行うので、インタリーバ112は、シンボル単位でバースト的誤りを拡散するシンボルインタリービングを行う。
並べ替えが行われた送信用のデジタル情報は、さらに、畳み込み符号化部113において、複数の情報ブロックに基づいて逐次的に符号系列が定まる畳み込み符号が行われる。例えば、拘束長Kの畳み込み符号化部113は、インタリーバ112よりデジタル情報がkビットの情報ブロック毎に供給されると、今回供給された情報ブロックだけでなく、過去に供給された情報ブロックも含めたK個の情報ブロックに基づいて、nビットの符号ブロックに符号化する。
そして、畳み込み符号化されたデジタル情報は、図示せぬ通信部を介して、送信可能なデータ形式に変換され、送信語として、チャネル102上に送出される。つまり、符号化装置101は、供給されたテレビジョン信号を符号化して送信(放送)する。その送信された送信語は、チャネル102を介して復号装置103に供給される。すなわち、チャネル102は、このテレビジョン信号が伝送される有線または無線の伝送路である。
復号装置103は、例えば、放送局(符号化装置101)より送信(放送)されるテレビジョン信号を受信する受信装置(デジタルテレビジョン受像機等)として構成される。復号装置103は、畳み込み復号部121、デインタリーバ122、およびABP復号部131を有している。
畳み込み復号部121は、入力に対して、例えばBCJR(Bahl, Cocke, Jelinek, and Raviv)アルゴリズムやSOVA(Soft Output Viterbi Algorithm)による復号等に代表される、畳み込み符号の軟判定復号を行い、得られた復号語を出力する。デインタリーバ122は、並べ替えられた情報を元の順序に戻す。ABP復号部131は、図3に示されるABP復号装置31を誤り訂正システム100に適応させたものであり、基本的にABP復号装置31と同様の構成を有しており、同様の処理を行う。従って、ABP復号部131の構成および処理内容は、上述したABP復号装置31の説明を適用することができるので、その詳細な説明を省略するが、ABP復号部131は、デインタリーバ122より供給された情報(並べ替えられた軟判定復号結果)に対してABP繰り返し復号処理を行い、生成された復号語リストからMAP復号等により最適な復号語を選択し、それを出力する。
復号装置103は、受信したテレビジョン信号を復号する。すなわち、復号装置103は、図示せぬ通信部を介して、チャネル102上を伝送された送信語を受信する。受信された送信語(すなわち、受信語)は、畳み込み復号部121に供給され、畳み込み符号の軟判定復号が行われる。デインタリーバ122は、その畳み込み復号された受信語を取得すると、符号化装置101のインタリーバ112において行われたインタリービングに対応した方法で情報の並び替えを行い、並び替えられた情報を元の順序に戻す処理(デインタリービング)を行う。ABP復号部131は、上述した方法で、元の順序に戻されたデジタル情報に対して、ABP繰り返し復号を行い、ABPによる信頼性の更新後、硬判定後限界距離復号、リスト復号、もしくは、軟値をそのまま入力として軟判定リスト復号を行う。そして、ABP復号部131は、得られた復号語(符号化装置101において符号化される前のデジタル情報を再現したもの)を、復号装置103の外部に出力する。
以上のようにして、図6の誤り訂正システム100において、復号装置103は、容易に、性能の良い復号処理を行うことができ、より正確な通信を行うことができる。また、復号装置103は、ABP復号部131が、MAP復号を行う前に、繰り返し復号を行うことにより復号語の候補を絞り込むので、復号処理の負荷を軽減し、復号装置103の製造コストおよび運用コストを抑制させることができる。
なお、誤り訂正システム100において、リードソロモン符号を用いるように説明したが、これに限らず、例えば、BCH符号を適用するようにしてもよいし、それ以外の符号化方法を適用するようにしてもよい。
図7は、本発明のABP復号を誤り訂正システムに適用する場合の他の例について説明する図である。図7において、誤り訂正システム150は、符号化装置151、チャネル152、および復号装置153により構成されるシステムであり、例えば、ディジタルテレビ等のデジタル通信システムに用いられるシステムである。
符号化装置151は、図6の符号化装置101と同様の装置であり、符号化装置101と基本的に同様の構成を有し、同様の処理を行う。すなわち、符号化装置151は、RS符号化部111、インタリーバ112、および畳み込み符号化部113を有する。それらについての説明は符号化装置101の場合と同様であるので省略する。
チャネル152は、図6のチャネル102と同様であり、テレビジョン信号が伝送される有線または無線の伝送路である。
復号装置153は、畳み込み復号部161、デインタリーバ122、ABP復号部131、およびインタリーバ112を有している。畳み込み復号部161は、図示せぬ通信部を介して受信した受信語(符号化装置151より送信され、チャネル152を介して伝送された送信語)を取得すると、その受信語に対して、例えば、BCJRアルゴリズムやSOVA等を用いて、軟判定復号を行う。そして、畳み込み復号部161は、この軟判定復号された受信語をデインタリーバ122に供給する。また、畳み込み復号部161には、インタリーバ112より、ABP復号部131においてABP繰り返し復号が行われた受信語が再度並び替えられて供給される。畳み込み復号部131は、この受信語に対しても、図示せぬ通信部より供給された受信語の場合と同様に、例えば、BCJRアルゴリズムやSOVA等を用いて、軟判定復号を行い、デインタリーバ122に供給する。
デインタリーバ122は、図6の復号装置103の場合と同様に動作し、畳み込み復号部161より供給される軟判定復号結果の並べ替えを行い、その並べ替え結果をABP復号部131に供給する。
ABP復号部131は、図6の復号装置103の場合と同様に動作し、デインタリーバ122より供給される情報(並べ替えられた軟判定復号結果)に対してABP繰り返し復号処理を行い、生成された復号語リストからMAP復号等により最適な復号語を選択し、それを出力する。また、ABP復号部131は、その得られた復号語をインタリーバ112に供給する。
インタリーバ112は、符号化装置151の場合と同様に動作し、ABP復号部131より供給される情報(復号語)を所定の順番に並び替える。このインタリーバ112による並べ替えのパターンは、符号化装置151の場合と同様である。このようにして並べ替えられたデジタル情報は、再び畳み込み復号部161に供給される。
以上のように、復号装置153は、図示せぬ通信部において取得した受信語に対して、デインタリーバ122とインタリーバ112を介しながら、畳み込み復号部161による軟判定復号と、ABP復号部131による繰り返し復号とを繰り返し行い、復号処理における復号誤り確率を小さくしていく。なお、この復号装置153全体の復号の繰り返し回数は、予め定められていてもよいし、例えば、誤り訂正する箇所の数等のような所定の条件に基づいて、繰り返しを中止するか否かが判定されるようにしてもよい。
このように図7の誤り訂正システム150において、復号装置153は、容易に、性能の良い復号処理を行うことができ、より正確な通信を行うことができる。また、復号装置103は、ABP復号部131が、MAP復号を行う前に、繰り返し復号を行うことにより復号語の候補を絞り込むので、復号処理の負荷を軽減し、復号装置103の製造コストおよび運用コストを抑制させることができる。
なお、誤り訂正システム150において、リードソロモン符号を用いるように説明したが、これに限らず、例えば、BCH符号を適用するようにしてもよいし、それ以外の符号化方法を適用するようにしてもよい。
図8は、本発明のABP復号を誤り訂正システムに適用する場合の、さらに他の例について説明する図である。図8において、誤り訂正システム200は、符号化装置201、チャネル202、および復号装置203により構成されるシステムであり、例えば、DVD(Digital Versatile Disc)レコードプレーヤ等のデジタル記録媒体記録再生装置に用いられるシステムである。
すなわち、記録再生装置(誤り訂正システム200)は、外部より供給されたデジタル情報を、符号化処理部(符号化装置201)において符号化し、図示せぬ記録再生処理部において記録媒体(チャネル202)に記録する。また、記録再生装置(誤り訂正システム200)は、記録媒体(チャネル202)に記録されているデジタル情報を、記録再生処理部において再生し、復号処理部(復号装置203)において復号処理を行って元のデジタル情報を取得し、その情報を外部に出力する。
符号化装置201は、デジタル情報に互いに異なる次元に関するリードソロモン符号を行うリードソロモン符号化部(RS符号化部)211−1乃至リードソロモン符号化部(RS符号化部)211−n(nは自然数)からなる。
例えば、符号化装置201の外部より供給されたデジタル情報は、RS符号化部211−1において1次元目に関するリードソロモン符号化が行われる。続いて、デジタル情報は、RS符号化部211−2乃至RS符号化部211−nの各部において、2次元目乃至n次元目までの各次元目に関するリードソロモン符号が順に行われる。RS符号化部211−nによる符号化が終了すると、符号化装置201は、符号化されたデジタル情報を記録再生処理部(図示せず)に供給する。
記録再生処理部は、符号化装置201より供給された情報をNRZI(Non Return to Zero Invert)変換(NRZI符号化)するなどして記録媒体(チャネル202)に記録する。また、記録再生処理部は、記録媒体(チャネル202)に記録されているデジタル情報(リードソロモン符号化されたデジタル情報)を再生し、そのデジタル情報に施されたNRZI変換を元に戻し(復号し)、そのデジタル情報を復号装置203に供給する。
復号装置203は、符号化装置201に対応する復号器であり、デジタル情報に互いに異なる次元に関して、ABP繰り返し復号処理を行うn個のABP復号部(ABP復号部231−1乃至ABP復号部231−n)を有している。
ABP復号部231−1乃至ABP復号部231−nは、それぞれ、符号化装置201のRS符号化部211−1乃至RS符号化部211−nに対応し、各次元に関するリードソロモン符号に対して、ABPを用いた繰り返し復号処理、並びに、得られた復号語リストからの最適な復号語の選択処理を行う。ABP復号部231−1乃至ABP復号部231−nは、それぞれ、図3に示される復号装置31と基本的に同様の構成であり、基本的に同様の動作を行う。従って、復号装置203の各ABP復号部は、それぞれ、図6や図7のABP復号部131の場合と同様に、図3のブロック図、および図4に示されるフローチャートを適用することができる。
すなわち、復号装置203は、各ABP復号部(ABP復号部231−1乃至ABP復号部231−nの各部)において、上述したように繰り返し復号処理等を行う。その際、復号装置203は、図8に示されるように、符号化装置201の場合と逆に、まず、ABP復号部231−nにおいて第n次元目に関する復号処理から行い、続いて、直列に接続される各ABP復号部において、それぞれ、n−1次元目、n−2次元目と順に次元数を下げるように復号処理を行い、最後にABP復号部231−1において第1次元目に関する復号処理を行う。復号装置203は、このようにして復元した元のデジタル情報を記録再生装置(誤り訂正システム200)の外部に出力する。
このようにすることにより、誤り訂正システム200の復号装置203は、容易に性能の良い復号処理を行うことができる。つまり、記録再生装置としての誤り訂正システム200は、より正確にデジタル情報の記録および再生を行うことができる。また、復号装置203は、ABP復号部231−1乃至ABP復号部231−nのそれぞれが、MAP復号(復号語の選択)を行う前に、繰り返し復号を行うことにより復号語の候補を絞り込むので、復号処理の負荷を軽減し、復号装置203の製造コストおよび運用コストを抑制させることができる。
なお、誤り訂正システム200において、リードソロモン符号を用いるように説明したが、これに限らず、例えば、BCH符号を適用するようにしてもよいし、それ以外の符号化方法を適用するようにしてもよい。
図9は、本発明のABP復号を誤り訂正システムに適用する場合の、さらに他の例について説明する図である。図9において、誤り訂正システム250は、符号化装置251、チャネル252、および復号装置253により構成されるシステムであり、例えば、DVDレコードプレーヤ等のデジタル記録媒体記録再生装置に用いられるシステムである。
すなわち、図8の場合と同様に、記録再生装置(誤り訂正システム250)は、外部より供給されたデジタル情報を、符号化処理部(符号化装置251)において符号化し、図示せぬ記録再生処理部において記録媒体(チャネル252)に記録する。また、記録再生装置(誤り訂正システム250)は、記録媒体(チャネル252)に記録されているデジタル情報を、記録再生処理部において再生し、復号処理部(復号装置253)において復号処理を行って元のデジタル情報を取得し、その情報を外部に出力する。
符号化装置251は、図8の符号化装置201と同様の符号化装置であり、符号化装置201と同様の構成を有し、同様の処理を行う。すなわち、例えば、符号化装置251の外部より供給されたデジタル情報は、RS符号化部211−1において1次元目に関するリードソロモン符号化が行われる。続いて、デジタル情報は、RS符号化部211−2乃至RS符号化部211−nの各部において、2次元目乃至n次元目までの各次元目に関するリードソロモン符号が順に行われる。RS符号化部211−nによる符号化が終了すると、符号化装置251は、符号化されたデジタル情報を記録再生処理部(図示せず)に供給する。
記録再生処理部は、符号化装置251より供給された情報をNRZI(Non Return to Zero Invert)変換(NRZI符号化)するなどして記録媒体(チャネル252)に記録する。また、記録再生処理部は、記録媒体(チャネル252)に記録されているデジタル情報(リードソロモン符号化されたデジタル情報)を再生し、そのデジタル情報に施されたNRZI変換を元に戻し(復号し)、そのデジタル情報を復号装置253に供給する。
復号装置253は、符号化装置251に対応する復号器であり、それぞれが、図8に示される復号装置203と同様の構成であり、同様の復号処理を行う、直列に接続されたm個の復号部である復号部261−1乃至復号部261−mを有している。
復号部261−1乃至復号部261−mは、それぞれ、図8の復号装置203と同様に、符号化装置251のRS符号化部211−1乃至RS符号化部211−nに対応し、各次元に関するリードソロモン符号に対してABPを用いた繰り返し復号を行う、直列に接続されたn個の復号部であるABP復号部231−1乃至ABP復号部231−nを有している。
復号装置253は、まず、記録再生処理部(図示せず)より供給されたデジタル情報(チャネル252を介して供給されたデジタル情報)に対して、復号部261−1のABP復号部231−1乃至ABP復号部231−nの各部において、ABPを用いた繰り返し復号処理や得られた復号語リストからの復号語の選択処理を行う。
その際、復号部261−1は、符号化装置251の場合と逆に、まず、ABP復号部231−nにおいて第n次元目に関する復号処理から行い、続いて、直列に接続される各ABP復号部において、それぞれ、n−1次元目、n−2次元目と順に次元数を下げるように復号処理を行い、最後にABP復号部231−1において第1次元目に関する復号処理を行う。
復号処理が終了すると、復号部261−1は、復号されたデジタル情報を復号部261−2に供給する。復号部261−2は、復号部261−1の場合と同様に、ABP復号部231−1乃至ABP復号部231−nを用いて、次元数を1つずつ下げるような順番で各次元に関してABPを用いた繰り返し復号処理を行い、復号されたデジタル情報を次の復号部に供給する。このようにして、順にm番目の復号部261−mまで復号処理が続けられる。復号部261−mにおける復号処理が完了すると、復号装置253は、その復号されたデジタル情報を記録再生装置(誤り訂正システム250)の外部に出力する。
このようにすることにより、復号装置253は、容易に性能の良い復号処理を行うことができ、記録再生装置としての誤り訂正システム250は、より正確にディジタル情報の記録および再生を行うことができる。また、復号装置253は、ABP復号部231−1乃至ABP復号部231−nのそれぞれが、MAP復号(復号語の選択)を行う前に、繰り返し復号を行うことにより復号語の候補を絞り込むので、復号処理の負荷を軽減し、復号装置253の製造コストおよび運用コストを抑制させることができる。
なお、誤り訂正システム250において、リードソロモン符号を用いるように説明したが、これに限らず、例えば、BCH符号を適用するようにしてもよいし、それ以外の符号化方法を適用するようにしてもよい。
上述した一連の処理は、ハードウェアにより実行させることもできるし、ソフトウエアにより実行させることもできる。この場合、例えば、上述した復号装置や誤り訂正システムは、それぞれ、図10に示されるようなパーソナルコンピュータとして構成されるようにしてもよい。
図10において、パーソナルコンピュータ300のCPU(Central Processing Unit)301は、ROM(Read Only Memory)302に記憶されているプログラム、または記憶部313からRAM(Random Access Memory)303にロードされたプログラムに従って各種の処理を実行する。RAM303にはまた、CPU301が各種の処理を実行する上において必要なデータなども適宜記憶される。
CPU301、ROM302、およびRAM303は、バス304を介して相互に接続されている。このバス304にはまた、入出力インタフェース310も接続されている。
入出力インタフェース310には、キーボード、マウスなどよりなる入力部311、CRT(Cathode Ray Tube)、LCD(Liquid Crystal Display)などよりなるディスプレイ、並びにスピーカなどよりなる出力部312、ハードディスクなどより構成される記憶部313、モデムなどより構成される通信部314が接続されている。通信部314は、インターネットを含むネットワークを介しての通信処理を行う。
入出力インタフェース310にはまた、必要に応じてドライブ315が接続され、磁気ディスク、光ディスク、光磁気ディスク、或いは半導体メモリなどのリムーバブルメディア321が適宜装着され、それらから読み出されたコンピュータプログラムが、必要に応じて記憶部313にインストールされる。
上述した一連の処理をソフトウエアにより実行させる場合には、そのソフトウエアを構成するプログラムが、ネットワークや記録媒体からインストールされる。
この記録媒体は、例えば、図10に示されるように、装置本体とは別に、ユーザにプログラムを配信するために配布される、プログラムが記録されている磁気ディスク(フレキシブルディスクを含む)、光ディスク(CD-ROM(Compact Disk-Read Only Memory),DVD(Digital Versatile Disk)を含む)、光磁気ディスク(MD(Mini-Disk)(登録商標)を含む)、もしくは半導体メモリなどよりなるリムーバブルメディア321により構成されるだけでなく、装置本体に予め組み込まれた状態でユーザに配信される、プログラムが記録されているROM302や、記憶部313に含まれるハードディスクなどで構成される。
なお、本明細書において、記録媒体に記録されるプログラムを記述するステップは、記載された順序に沿って時系列的に行われる処理はもちろん、必ずしも時系列的に処理されなくとも、並列的あるいは個別に実行される処理をも含むものである。
また、本明細書において、システムとは、複数のデバイス(装置)により構成される装置全体を表すものである。なお、以上において、1つの装置として説明した構成を分割し、複数の装置として構成するようにしてもよい。逆に、以上において複数の装置として説明した構成をまとめて1つの装置として構成されるようにしてもよい。また、各装置の構成に上述した以外の構成を付加するようにしてももちろんよい。さらに、システム全体としての構成や動作が実質的に同じであれば、ある装置の構成の一部を他の装置の構成に含めるようにしてもよい。
従来の復号処理の流れを説明するフローチャートである。 従来の復号処理に対応するタナーグラフの例を示す図である。 本発明を適用した復号装置の構成例を示すブロック図である。 図3の復号装置により実行される復号処理の流れを説明するフローチャートである。 従来の復号処理と本発明を適用した復号処理とでフレームエラー率を比較するための図である。 本発明を適用した誤り訂正システムの構成例を示すブロック図である。 本発明を適用した誤り訂正システムの他の構成例を示すブロック図である。 本発明を適用した誤り訂正システムの、さらに他の構成例を示すブロック図である。 本発明を適用した誤り訂正システムの、さらに他の構成例を示すブロック図である。 本発明を適用したパーソナルコンピュータの構成例を示す図である。
符号の説明
31 ABP復号装置, 41 復号制御部, 42 受信語保持部, 43 信頼性順探索部, 44 順序変換部, 45 パリティ検査行列対角化部, 46 確率伝播部, 47 LLR算出部, 48 LLR信頼性順探索部, 49 復号部, 50 復号語追加部, 50A 復号語リスト, 51 内側繰り返し回数カウント部, 52 外側繰り返し回数カウント部, 53 復号語選択部, 100 誤り訂正システム, 101 符号化装置, 102 チャネル, 103 復号装置, 111 RS符号化部, 112 インタリーバ, 113 畳み込み符号化部, 121 畳み込み復号部, 122 デインタリーバ, 131 ABP復号部, 150 誤り訂正システム, 151 符号化装置, 152 チャネル, 153 復号装置, 161 畳み込み復号部, 200 誤り訂正システム, 201 符号化装置, 202 チャネル, 203 復号装置, 211−1乃至211−n RS符号化部, 231−1乃至231−n ABP復号部, 250 誤り訂正システム, 251 符号化装置, 252 チャネル, 253 復号装置, 261−1乃至261−m 復号部, 300 パーソナルコンピュータ

Claims (12)

  1. 環R上線形符号に対する復号処理を行う復号装置であって、
    供給された符号語および前記符号語の各シンボルの値の信頼性の順序である信頼性順に関する情報を保持する保持手段と、
    前記保持手段に保持されている前記信頼性順に関する情報に基づいて、パリティ検査行列の対角化を行う対角化手段と、
    前記対角化手段により対角化された前記パリティ検査行列を用いて確率伝播を行いメッセージを更新する確率伝播手段と、
    前記符号語の各シンボルとして、前記確率伝播手段により行われた確率伝播によって更新された前記メッセージを用いて対数尤度比を算出する対数尤度比算出手段と、
    前記対数尤度比算出手段により算出された前記対数尤度比の信頼性順を探索し、前記対数尤度比および前記対数尤度比の信頼性順に関する情報を用いて、前記保持手段に保持されている前記符号語および前記信頼性順に関する情報を更新する信頼性順探索手段と、
    前記対数尤度比算出手段により算出された前記対数尤度比を用いて復号を行う復号手段と、
    前記対角化手段によるパリティ検査行列の対角化、前記確率伝播手段による確率伝播、前記対数尤度比算出手段による前記対数尤度比の算出、前記信頼性順探索手段による前記信頼性順の探索、および前記復号手段による復号を所定の回数繰り返させるように制御する復号制御手段と、
    前記復号制御手段により制御されて行われる繰り返し復号により得られる復号語のリストを作成して保持する復号語リスト作成手段と、
    前記復号語リスト作成手段により作成された前記復号語リストより復号語を1つ選択する復号語選択手段と
    を備えることを特徴とする復号装置。
  2. 前記所定の回数は予め定められた値である
    ことを特徴とする請求項1に記載の復号装置。
  3. 前記対角化手段は、前記パリティ検査行列の、前記信頼性順の最も低い受信シンボルに対応する列から順に優先的に対角化を行う
    ことを特徴とする請求項1に記載の復号装置。
  4. 前記対角化手段は、前記パリティ検査行列の各列を、各列が対応する受信シンボルの信頼性順の低い順に並べ、さらにその順番の一部を所定の方法で並び替え、その並び替えられた順番に前記パリティ検査行列の各列の対角化を行う
    ことを特徴とする請求項1に記載の復号装置。
  5. 前記対角化手段は、前記パリティ検査行列の対角化を行う列の優先順位の初期値の決定方法を複数種類予め用意しており、前記優先順位を初期化する度に前記決定方法を変更する
    ことを特徴とする請求項1に記載の復号装置。
  6. 前記復号手段は、前記対数尤度比算出手段により算出された前記対数尤度比を用いて硬判定復号を行う
    ことを特徴とする請求項1に記載の復号装置。
  7. 前記復号手段は、線形符号として有限体Fq(q=pm,p;素数)上代数幾何符号もしくはその同型を用い、複数回の更新により得られた前記信頼性を入力として復号を行う
    ことを特徴とする請求項1に記載の復号装置。
  8. 前記代数幾何符号としてのリードソロモン符号、BCH符号、若しくはそれらの同型に対して、前記復号手段は、複数回の更新により得られた前記信頼性を入力としてSudan,Grusuwami-Sudan,若しくは、その他のアルゴリズムによる硬判定リスト復号を行う
    ことを特徴とする請求項7に記載の復号装置。
  9. 前記代数幾何符号としてのリードソロモン符号、BCH符号、若しくはそれらの同型に対して、前記復号手段は、複数回の更新により得られた前記信頼性を入力としてKoetter-Vardy,若しくは、その他のアルゴリズムによる重複度設定および軟判定リスト復号を行う
    ことを特徴とする請求項7に記載の復号装置。
  10. 前記復号語選択手段は、前記復号語リストに登録されている復号語に対して最大事後確率復号を行い、復号語を1つ選択する
    ことを特徴とする請求項1に記載の復号装置。
  11. 環R上線形符号に対する復号処理を行う復号装置の復号方法であって、
    供給された符号語および前記符号語の各シンボルの値の信頼性の順序である信頼性順に関する情報を保持する第1の保持部に保持されている前記信頼性順に関する情報に基づいて、パリティ検査行列の対角化を行う対角化ステップと、
    前記対角化ステップの処理により対角化された前記パリティ検査行列を用いて確率伝播を行いメッセージを更新する確率伝播ステップと、
    前記符号語の各シンボルとして、前記確率伝播ステップの処理により行われた確率伝播によって更新された前記メッセージを用いて対数尤度比を算出する対数尤度比算出ステップと、
    前記対数尤度比算出ステップの処理により算出された前記対数尤度比の信頼性順を探索し、前記対数尤度比および前記対数尤度比の信頼性順に関する情報を用いて、前記第1の保持部に保持されている前記符号語および前記信頼性順に関する情報を更新する信頼性順探索ステップと、
    前記対数尤度比算出ステップの処理により算出された前記対数尤度比を用いて復号を行う復号ステップと、
    前記対角化ステップの処理によるパリティ検査行列の対角化、前記確率伝播ステップの処理による確率伝播、前記対数尤度比算出ステップの処理による前記対数尤度比の算出、前記信頼性順探索ステップの処理による前記信頼性順の探索、および前記復号ステップの処理による復号を所定の回数繰り返させるように制御する復号制御ステップと、
    前記復号制御ステップの処理により制御されて行われる繰り返し復号により得られる復号語のリストを作成して第2の保持部に保持させる復号語リスト作成ステップと、
    前記復号語リスト作成ステップの処理により作成された前記復号語リストより復号語を1つ選択する復号語選択ステップと
    を含むことを特徴とする復号方法。
  12. 環R上線形符号に対する復号処理をコンピュータに行わせるプログラムであって、
    供給された符号語および前記符号語の各シンボルの値の信頼性の順序である信頼性順に関する情報を保持する第1の保持部に保持されている前記信頼性順に関する情報に基づいて、パリティ検査行列の対角化を行う対角化ステップと、
    前記対角化ステップの処理により対角化された前記パリティ検査行列を用いて確率伝播を行いメッセージを更新する確率伝播ステップと、
    前記符号語の各シンボルとして、前記確率伝播ステップの処理により行われた確率伝播によって更新された前記メッセージを用いて対数尤度比を算出する対数尤度比算出ステップと、
    前記対数尤度比算出ステップの処理により算出された前記対数尤度比の信頼性順を探索し、前記対数尤度比および前記対数尤度比の信頼性順に関する情報を用いて、前記第1の保持部に保持されている前記符号語および前記信頼性順に関する情報を更新する信頼性順探索ステップと、
    前記対数尤度比算出ステップの処理により算出された前記対数尤度比を用いて復号を行う復号ステップと、
    前記対角化ステップの処理によるパリティ検査行列の対角化、前記確率伝播ステップの処理による確率伝播、前記対数尤度比算出ステップの処理による前記対数尤度比の算出、前記信頼性順探索ステップの処理による前記信頼性順の探索、および前記復号ステップの処理による復号を所定の回数繰り返させるように制御する復号制御ステップと、
    前記復号制御ステップの処理により制御されて行われる繰り返し復号により得られる復号語のリストを作成して第2の保持部に保持させる復号語リスト作成ステップと、
    前記復号語リスト作成ステップの処理により作成された前記復号語リストより復号語を1つ選択する復号語選択ステップと
    を含むことを特徴とするプログラム。
JP2005029996A 2005-02-07 2005-02-07 復号装置および方法、並びにプログラム Expired - Fee Related JP4595574B2 (ja)

Priority Applications (5)

Application Number Priority Date Filing Date Title
JP2005029996A JP4595574B2 (ja) 2005-02-07 2005-02-07 復号装置および方法、並びにプログラム
US11/344,048 US7689888B2 (en) 2005-02-07 2006-02-01 Decoding apparatus and method and program
EP06002499A EP1689085A3 (en) 2005-02-07 2006-02-07 Error correction with iterations of belief propagation decoding and algebraic decoding
CNB200610079362XA CN100517980C (zh) 2005-02-07 2006-02-07 解码设备和方法
KR1020060011697A KR101176433B1 (ko) 2005-02-07 2006-02-07 복호 장치 및 방법, 및 프로그램

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2005029996A JP4595574B2 (ja) 2005-02-07 2005-02-07 復号装置および方法、並びにプログラム

Publications (2)

Publication Number Publication Date
JP2006217442A JP2006217442A (ja) 2006-08-17
JP4595574B2 true JP4595574B2 (ja) 2010-12-08

Family

ID=36293655

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2005029996A Expired - Fee Related JP4595574B2 (ja) 2005-02-07 2005-02-07 復号装置および方法、並びにプログラム

Country Status (5)

Country Link
US (1) US7689888B2 (ja)
EP (1) EP1689085A3 (ja)
JP (1) JP4595574B2 (ja)
KR (1) KR101176433B1 (ja)
CN (1) CN100517980C (ja)

Families Citing this family (50)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR20070055128A (ko) * 2005-11-25 2007-05-30 삼성전자주식회사 반복 복호화 장치
TWI305087B (en) * 2006-05-25 2009-01-01 Ind Tech Res Inst Power adjusting device for a viterbi decoder
US8069397B2 (en) * 2006-07-10 2011-11-29 Broadcom Corporation Use of ECC with iterative decoding for iterative and non-iterative decoding in a read channel for a disk drive
US8028214B2 (en) * 2006-08-17 2011-09-27 Mobile Techno Corp. Low density parity check codes decoder and method thereof
JP4862657B2 (ja) * 2007-01-05 2012-01-25 ソニー株式会社 復号方法および復号装置、並びにプログラム
JP4862658B2 (ja) * 2007-01-05 2012-01-25 ソニー株式会社 復号方法および復号装置、並びにプログラム
JP4910708B2 (ja) * 2007-01-05 2012-04-04 ソニー株式会社 復号装置および復号方法
US8103945B2 (en) 2007-01-05 2012-01-24 Sony Corporation Decoding method and decoding apparatus as well as program
US7904793B2 (en) * 2007-03-29 2011-03-08 Sandisk Corporation Method for decoding data in non-volatile storage using reliability metrics based on multiple reads
US7797480B2 (en) * 2007-03-29 2010-09-14 Sandisk Corporation Method for reading non-volatile storage using pre-conditioning waveforms and modified reliability metrics
WO2008125300A2 (en) * 2007-04-13 2008-10-23 University College Dublin, National University Of Ireland, Dublin An encoding scheme, and a decoding scheme using a series of ldpc codes based on finite inversive spaces
JP5219699B2 (ja) * 2007-08-30 2013-06-26 パナソニック株式会社 符号化装置及び復号装置
JP5057925B2 (ja) * 2007-10-18 2012-10-24 株式会社日立製作所 デジタル情報再生方法
WO2009078653A2 (en) * 2007-12-17 2009-06-25 Electronics And Telecommunications Research Institute Preprocessing apparatus and method for group-based decoding
JP4412401B2 (ja) * 2007-12-18 2010-02-10 ソニー株式会社 復号装置、復号方法、受信装置、および記憶媒体再生装置
US20090177943A1 (en) * 2008-01-09 2009-07-09 Broadcom Corporation Error correction coding using soft information and interleaving
WO2010019169A1 (en) * 2008-08-15 2010-02-18 Lsi Corporation Rom list-decoding of near codewords
KR101535225B1 (ko) * 2009-01-06 2015-07-09 삼성전자주식회사 디코딩 방법 및 그 방법을 이용하는 메모리 시스템 장치
US8621312B2 (en) * 2009-01-16 2013-12-31 Intel Corporation Transceiver that serves LDPC codewords for decoding including clock cycle budgeting based on block transmission length
CN102077173B (zh) 2009-04-21 2015-06-24 艾格瑞系统有限责任公司 利用写入验证减轻代码的误码平层
US8660261B2 (en) * 2009-06-04 2014-02-25 Mediatek Singapore Pte. Ltd. System and apparatus for integrated video/image encoding/decoding and encryption/decryption
US8464142B2 (en) 2010-04-23 2013-06-11 Lsi Corporation Error-correction decoder employing extrinsic message averaging
US8499226B2 (en) 2010-06-29 2013-07-30 Lsi Corporation Multi-mode layered decoding
US8458555B2 (en) 2010-06-30 2013-06-04 Lsi Corporation Breaking trapping sets using targeted bit adjustment
US8504900B2 (en) 2010-07-02 2013-08-06 Lsi Corporation On-line discovery and filtering of trapping sets
US8245116B2 (en) * 2011-01-14 2012-08-14 Mitsubishi Electric Research Laboratories, Inc. Method for performing soft decision decoding of Euclidean space Reed-Muller codes
JP2012151676A (ja) * 2011-01-19 2012-08-09 Jvc Kenwood Corp 復号装置および復号方法
US8397146B1 (en) * 2011-03-25 2013-03-12 The United States Of America As Represented By The Director Of The National Security Agency Device for and method of identifying minimum candidate codewords for list decoder
US8768990B2 (en) 2011-11-11 2014-07-01 Lsi Corporation Reconfigurable cyclic shifter arrangement
CN102436834A (zh) * 2011-11-14 2012-05-02 中兴通讯股份有限公司 一种读取磁盘信息的方法及装置
RU2012146685A (ru) 2012-11-01 2014-05-10 ЭлЭсАй Корпорейшн База данных наборов-ловушек для декодера на основе разреженного контроля четности
US9191256B2 (en) 2012-12-03 2015-11-17 Digital PowerRadio, LLC Systems and methods for advanced iterative decoding and channel estimation of concatenated coding systems
US9100052B2 (en) * 2013-02-01 2015-08-04 Samsung Electronics Co., Ltd. QC-LDPC convolutional codes enabling low power trellis-based decoders
CN103259545B (zh) * 2013-04-26 2017-02-15 西安理工大学 基于振荡的准循环低密度奇偶校验码置信传播译码方法
US9432056B2 (en) * 2013-11-04 2016-08-30 Microsoft Technology Licensing, Llc Fast decoding based on ZigZag deconvolution for random projection code
US20150124893A1 (en) * 2013-11-04 2015-05-07 Uvic Industry Partnerships, Inc. Modulation-assisted preprocessing for non-binary ldpc decoding
EP2922209A1 (en) 2014-03-20 2015-09-23 Technische Universität Kaiserslautern Soft decision decoding of linear block codes
US9673840B2 (en) * 2014-12-08 2017-06-06 SK Hynix Inc. Turbo product codes for NAND flash
US9564921B1 (en) * 2015-02-04 2017-02-07 Microsemi Storage Solutions (U.S.), Inc. Method and system for forward error correction decoding based on a revised error channel estimate
JP6265938B2 (ja) * 2015-03-31 2018-01-24 三菱電機株式会社 誤り訂正装置、光受信器および光伝送装置
US10511328B2 (en) * 2016-11-04 2019-12-17 Qualcomm Incorporated Efficient list decoding of LDPC codes
KR102800874B1 (ko) * 2016-12-06 2025-04-28 삼성전자주식회사 무선 통신 시스템 및 이의 동작 방법
US10304550B1 (en) 2017-11-29 2019-05-28 Sandisk Technologies Llc Sense amplifier with negative threshold sensing for non-volatile memory
US10715182B2 (en) * 2018-07-27 2020-07-14 Innogrit Technologies Co., Ltd. Systems and methods for decoding error correcting codes with self-generated LLR
KR102707030B1 (ko) * 2018-08-22 2024-09-20 에스케이하이닉스 주식회사 에러 정정 장치 및 그것을 포함하는 전자 장치
US11165443B2 (en) * 2018-10-01 2021-11-02 Microchip Technology Incorporated Burst error tolerant decoder and related systems, methods, and devices
US10643695B1 (en) 2019-01-10 2020-05-05 Sandisk Technologies Llc Concurrent multi-state program verify for non-volatile memory
US11024392B1 (en) 2019-12-23 2021-06-01 Sandisk Technologies Llc Sense amplifier for bidirectional sensing of memory cells of a non-volatile memory
CN111628787B (zh) * 2020-05-25 2022-03-22 武汉高德红外股份有限公司 一种无冗余数据的卷积交织与解交织fpga实现方法和系统
EP4208947B1 (en) * 2020-09-03 2025-05-21 Telefonaktiebolaget LM Ericsson (publ) Method and apparatus for improved belief propagation based decoding

Family Cites Families (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP3910777B2 (ja) 2000-01-14 2007-04-25 株式会社エヌ・ティ・ティ・ドコモ 復号装置
US7103818B2 (en) 2002-09-30 2006-09-05 Mitsubishi Electric Research Laboratories, Inc Transforming generalized parity check matrices for error-correcting codes
JP4534128B2 (ja) * 2004-03-05 2010-09-01 ソニー株式会社 符号化方法および装置
US7246297B2 (en) 2004-05-14 2007-07-17 Pirouz Zarrinkhat Time-invariant hybrid iterative decoders
JP3871063B2 (ja) * 2004-05-21 2007-01-24 株式会社エヌ・ティ・ティ・ドコモ 復号方法

Also Published As

Publication number Publication date
EP1689085A2 (en) 2006-08-09
KR101176433B1 (ko) 2012-08-30
KR20060090192A (ko) 2006-08-10
US7689888B2 (en) 2010-03-30
CN1838542A (zh) 2006-09-27
EP1689085A3 (en) 2007-05-09
JP2006217442A (ja) 2006-08-17
CN100517980C (zh) 2009-07-22
US20060190799A1 (en) 2006-08-24

Similar Documents

Publication Publication Date Title
JP4595574B2 (ja) 復号装置および方法、並びにプログラム
CN100546204C (zh) 解码方法、解码装置、记录/再现装置与方法、和再现装置与方法
US8078936B2 (en) Encoding method, encoding apparatus, and program
US9015547B2 (en) Multi-level LDPC layered decoder with out-of-order processing
US7519898B2 (en) Iterative decoding of linear block codes by adapting the parity check matrix
JP2006238127A (ja) 復号装置および方法、並びにプログラム
JP4412401B2 (ja) 復号装置、復号方法、受信装置、および記憶媒体再生装置
US20150295593A1 (en) Apparatus and method for encoding and decoding data in twisted polar code
JP2010528522A (ja) 可変符号化率を有するldpc符号生成方法、装置及びその情報記録媒体
US8103945B2 (en) Decoding method and decoding apparatus as well as program
JP2009225325A (ja) 復号方法および復号装置、並びにプログラム
KR101447751B1 (ko) 블록 저밀도 패리티 검사 부호를 사용하는 통신 시스템에서패리티 검사 행렬 생성 장치 및 방법
JP4862657B2 (ja) 復号方法および復号装置、並びにプログラム
JP2008199149A (ja) 復号装置および復号方法
JP4862658B2 (ja) 復号方法および復号装置、並びにプログラム
JP2008199148A (ja) 復号装置、復号方法、およびプログラム
JP2008205547A (ja) 復号方法および復号装置
JP5130715B2 (ja) データソート装置およびデータソート方法
JP4910708B2 (ja) 復号装置および復号方法
JP2008167378A (ja) 復号装置および復号方法
JP2008199308A (ja) 復号装置および復号方法
CODES et al. Engineering and Bioscience
JP2008205546A (ja) 復号方法および復号装置、並びにプログラム

Legal Events

Date Code Title Description
A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20080204

A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20100112

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20100420

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20100614

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

A01 Written decision to grant a patent or to grant a registration (utility model)

Free format text: JAPANESE INTERMEDIATE CODE: A01

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20100906

R151 Written notification of patent or utility model registration

Ref document number: 4595574

Country of ref document: JP

Free format text: JAPANESE INTERMEDIATE CODE: R151

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20131001

Year of fee payment: 3

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

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