(57)【要約】【課題】非正則ＬＤＰＣ符号に対して誤訂正を抑制した性能の良い復号を行える復号化方法及び復号化装置を提供する。【解決手段】非正則ＬＤＰＣ符号の復号化を行うための方法であって、非正則なパリティ検査行列に基づき、伝送路の尤度情報を用いて行方向に尤度演算を行い、外部値を生成するステップＳ１０１と、前記外部値を、前記パリティ検査行列の行重みに基づいて変化させ、修正外部値を生成するステップＳ１０２と、前記パリティ検査行列に基づき、前記修正外部値を用いて列方向に尤度演算を行い、事前値を生成するステップＳ１０３と、前記尤度情報及び前記修正外部値を用いて、２値の一時推定語を生成するステップＳ１０４と、前記一時推定語を前記パリティ検査行列に基づいてパリティ検査するステップＳ１０５と、復号を繰り返し行うか否かを判定するステップＳ１０６とを有する。【選択図】図３
2009182421.tif 000002
【特許請求の範囲】
【請求項１】
非正則ＬＤＰＣ符号の復号化を行うための方法であって、
非正則なパリティ検査行列に基づき、伝送路の尤度情報を用いて行方向に尤度演算を行い、外部値を生成するステップと、
前記外部値を、前記パリティ検査行列の行重みに基づいて変化させ、修正外部値を生成するステップと、
前記パリティ検査行列に基づき、前記修正外部値を用いて列方向に尤度演算を行い、事前値を生成するステップと、
前記尤度情報及び前記修正外部値を用いて、２値の一時推定語を生成するステップと、
前記一時推定語を前記パリティ検査行列に基づいてパリティ検査するステップと、
復号を繰り返し行うか否かを判定するステップとを有することを特徴とする復号化方法。
【請求項２】
前記パリティ検査行列の行重みに基づく変化は、
各行の前記外部値に所定の正の係数を乗算することにより行い、
前記行重みが小さい行の前記外部値に適用する係数は、
前記行重みが大きい行の前記外部値に適用する係数より大きいことを特徴とする請求項１に記載の復号化方法
【請求項３】
前記パリティ検査行列の行重みに基づく変化は、
各行の前記外部値に所定の正の定数を加減算することにより行い、
前記行重みが小さい行の前記外部値が正の値の場合は、
前記行重みが小さい行の前記外部値に、前記行重みが大きい行の前記外部値に適用する定数より大きい定数を加算し、
前記行重みが小さい行の前記外部値が負の値の場合は、
前記行重みが小さい行の前記外部値から、前記行重みが大きい行の前記外部値に適用する定数より大きい定数を減算することを特徴とする請求項１に記載の復号化方法。
【請求項４】
前記パリティ検査行列の行重みに基づく変化は、
各行の前記外部値に所定の正の定数を加減算することにより行い、
前記行重みが小さい行の前記外部値が正の値の場合は、
前記行重みが小さい行の前記外部値から、前記行重みが大きい行の前記外部値に適用する定数より小さい定数を減算し、
前記行重みが小さい行の前記外部値が負の値の場合は、
前記行重みが小さい行の前記外部値に、前記行重みが大きい行の前記外部値に適用する定数より小さい定数を加算し、
前記加減算によって前記外部値の符号が変化する場合は、
前記修正外部値の値を０とすることを特徴とする請求項１に記載の復号化方法。
【請求項５】
復号化を行う前に、尤度の信頼度と前記所定の正の係数を関係付けた係数テーブルを生成するステップを更に有し、
前記修正外部値を生成するステップが、
前記尤度情報及び過去の修正外部値から現在の尤度の信頼度を求めるステップと、
前記係数テーブルを参照して、前記現在の尤度の信頼度に基づいて行毎に前記所定の正の係数を選択するステップと、
前記所定の正の係数を前記外部値に乗算することで前記修正外部値を生成するステップと、
から構成されることを特徴とする請求項２に記載の復号化方法。
【請求項６】
復号化を行う前に、尤度の信頼度と前記所定の正の定数を関係付けた定数テーブルを生成するステップを更に有し、
前記修正外部値を生成するステップが、
前記尤度情報及び過去の修正外部値から現在の尤度の信頼度を求めるステップと、
前記定数テーブルを参照して、前記現在の尤度の信頼度に基づいて行毎に前記所定の正の定数を選択するステップと、
前記所定の正の定数を前記外部値に加減算することで前記修正外部値を生成するステップと、
から構成されることを特徴とする請求項３及び４に記載の復号化方法。
【請求項７】
前記現在の尤度の信頼度を求めるステップが、
前記尤度情報と前記尤度情報に対応する前記過去の修正外部値を加算し、修正尤度情報を生成するステップと、
前記修正尤度情報の内、絶対値の小さいものから所定の数だけ値を選び出すステップと、
選ばれた値の絶対値の平均値を求め、前記絶対値の平均値を前記現在の尤度の信頼度とするステップと、
から構成されることを特徴とする請求項５及び６に記載の復号化方法。
【請求項８】
前記係数テーブルを生成するステップが、
前記尤度情報から尤度の信頼度を求めるステップと、
前記パリティ検査行列に基づき、前記尤度情報を用いて行方向に尤度演算を行い、前記外部値を生成するステップと、
前記外部値から前記所定の正の係数を求めるステップと、
前記尤度の信頼度と前記所定の正の係数を対応付け、前記係数テーブルを生成するステップと、
から構成されることを特徴とする請求項５に記載の復号化方法。
【請求項９】
前記尤度の信頼度を求めるステップが、
前記尤度情報の内、絶対値の小さいものから所定の数だけ値を選び出すステップと、
選ばれた値の絶対値の平均値を求め、前記絶対値の平均値を前記尤度の信頼度とするステップと、
から構成されることを特徴とする請求項８に記載の復号化方法。
【請求項１０】
前記所定の正の係数を求めるステップが、
前記行重みが同一である行をそれぞれグループとしてまとめ、前記グループ毎に前記外部値の絶対値の平均値を求めるステップと、
前記グループ毎に求めた前記絶対値の平均値の比を計算し、前記平均値の比を前記所定の正の係数とするステップと、
から構成されることを特徴とする請求項８に記載の復号化方法。
【請求項１１】
復号化を行う前に、復号回数と前記所定の正の係数を関係付けた係数テーブルを生成するステップを更に有し、
前記修正外部値を生成するステップが、
前記係数テーブルを参照して、復号を行った回数に基づいて行毎に前記所定の正の係数を選択するステップと、
前記所定の正の係数を前記外部値に乗算することで前記修正外部値を生成するステップと、
から構成されることを特徴とする請求項２に記載の復号化方法。
【請求項１２】
復号化を行う前に、復号回数と前記所定の正の定数を関係付けた定数テーブルを生成するステップを更に有し、
前記修正外部値を生成するステップが、
前記定数テーブルを参照して、復号を行った回数に基づいて行毎に前記所定の正の定数を選択するステップと、
前記所定の正の定数を前記外部値に加減算することで前記修正外部値を生成するステップと、
から構成されることを特徴とする請求項３及び４に記載の復号化方法。
【請求項１３】
非正則ＬＤＰＣ符号の復号化を行うための装置であって、
非正則なパリティ検査行列に基づき、伝送路の尤度情報を用いて行方向に尤度演算を行い、外部値を生成する外部値生成手段と、
前記外部値を、前記パリティ検査行列の行重みに基づいて変化させ、修正外部値を生成する修正外部値生成手段と、
前記パリティ検査行列に基づき、前記修正外部値を用いて列方向に尤度演算を行い、事前値を生成する事前値生成手段と、
前記尤度情報及び前記修正外部値を用いて、２値の一時推定語を生成する一時推定語生成手段と、
前記一時推定語を前記パリティ検査行列に基づいてパリティ検査するパリティ検査手段と、
復号を繰り返し行うか否かを判定する繰り返し判定手段とを有することを特徴とする復号化装置。
【請求項１４】
前記修正外部値生成手段は、
各行の前記外部値に所定の正の係数を乗算することにより前記修正外部値を生成し、
前記行重みが小さい行の前記外部値に適用する係数は、
前記行重みが大きい行の前記外部値に適用する係数より大きいことを特徴とする請求項１３に記載の復号化装置。
【請求項１５】
前記修正外部値生成手段は、
各行の前記外部値に所定の正の定数を加減算することにより前記修正外部値を生成し、
前記行重みが小さい行の前記外部値が正の値の場合は、
前記行重みが小さい行の前記外部値に、前記行重みが大きい行の前記外部値に適用する定数より大きい定数を加算し、
前記行重みが小さい行の前記外部値が負の値の場合は、
前記行重みが小さい行の前記外部値から、前記行重みが大きい行の前記外部値に適用する定数より大きい定数を減算することを特徴とする請求項１３に記載の復号化装置。
【請求項１６】
前記修正外部値生成手段は、
各行の前記外部値に所定の正の定数を加減算することにより前記修正外部値を生成し、
前記行重みが小さい行の前記外部値が正の値の場合は、
前記行重みが小さい行の前記外部値から、前記行重みが大きい行の前記外部値に適用する定数より小さい定数を減算し、
前記行重みが小さい行の前記外部値が負の値の場合は、
前記行重みが小さい行の前記外部値に、前記行重みが大きい行の前記外部値に適用する定数より小さい定数を加算し、
前記加減算によって前記外部値の符号が変化する場合は、
前記修正外部値の値を０とすることを特徴とする請求項１３に記載の復号化装置。
【請求項１７】
尤度の信頼度と前記所定の正の係数を関係付けた係数テーブルを記憶するメモリを更に有し、
前記修正外部値生成手段が、
前記尤度情報及び過去の修正外部値から現在の尤度の信頼度を求める信頼度算出手段と、
前記係数テーブルを参照して、前記現在の尤度の信頼度に基づいて行毎に前記所定の正の係数を選択する係数選択手段と、
前記所定の正の係数を前記外部値に乗算することで前記修正外部値を生成する乗算手段と、
から構成されることを特徴とする請求項１４に記載の復号化装置。
【請求項１８】
尤度の信頼度と前記所定の正の定数を関係付けた定数テーブルを記憶するメモリを更に有し、
前記修正外部値生成手段が、
前記尤度情報及び過去の修正外部値から現在の尤度の信頼度を求める信頼度算出手段と、
前記定数テーブルを参照して、前記現在の尤度の信頼度に基づいて行毎に前記所定の正の定数を選択する定数選択手段と、
前記所定の正の定数を前記外部値に加減算することで前記修正外部値を生成する加減算手段と、
から構成されることを特徴とする請求項１５及び１６に記載の復号化装置。
【請求項１９】
前記信頼度算出手段が、
前記尤度情報と前記過去の修正外部値を加算し、修正尤度情報を生成する修正尤度情報生成手段と、
前記修正尤度情報の内、絶対値の小さいものから所定の数だけ値を選び出す尤度情報選択手段と、
選ばれた値の絶対値の平均値を求め、前記絶対値の平均値を前記現在の尤度の信頼度とする信頼度演算手段と、
から構成されることを特徴とする請求項１７及び１８に記載の復号化装置。
【請求項２０】
復号回数と前記所定の正の係数を関係付けた係数テーブルを記憶するメモリを更に有し、
前記修正外部値生成手段が、
前記係数テーブルを参照して、復号を行った回数に基づいて行毎に前記所定の正の係数を選択する係数選択手段と、
前記所定の正の係数を前記外部値に乗算することで前記修正外部値を生成する乗算手段と、
から構成されることを特徴とする請求項１４に記載の復号化装置。
【請求項２１】
復号回数と前記所定の正の定数を関係付けた定数テーブルを記憶するメモリを更に有し、
前記修正外部値生成手段が、
前記定数テーブルを参照して、復号を行った回数に基づいて行毎に前記所定の正の定数を選択する定数選択手段と、
前記所定の正の定数を前記外部値に加減算することで前記修正外部値を生成する加減算手段と、
から構成されることを特徴とする請求項１５及び１６に記載の復号化装置。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、非正則ＬＤＰＣ符号の復号化方法、及び非正則ＬＤＰＣ符号の復号化を行う復号化装置に関するものである。
【背景技術】
【０００２】
近年、シャノン限界に迫る誤り率特性を達成できる誤り訂正符号としてＬＤＰＣ（Ｌｏｗ  Ｄｅｎｓｉｔｙ  Ｐａｒｉｔｙ  Ｃｈｅｃｋ）符号が注目され、盛んに研究されている。ＬＤＰＣ符号は、非常に疎なパリティ検査行列により定義される線形符号である。疎な行列とは、行列内の非零要素が非常に少ない行列のことを意味する。図１９に１５行２０列からなるＬＤＰＣ符号のパリティ検査行列の例を示す。
【０００３】
図１９のように、行列を構成する要素として１の数が６０個と、０の数２４０個に比べて非常に少ないことから、低密度パリティ検査符号と呼ばれる。ＬＤＰＣ符号の復号性能を決定する重要なパラメータの１つに、行方向の１の数を定めた行重みと列方向の１の数を定めた列重みとがある。行重みは、１つのパリティ検査符号（以下、要素パリティ検査符号と称す）を構成するビットの数、列重みは、１つのビットがパリティ検査符号の構成ビット（以下、要素ビットと称す）として何回利用されているかを表している。
【０００４】
図１９のパリティ検査行列は、各行の１の数が４、各列の１の数が３であるので、行重みが４、列重みが３のＬＤＰＣ符号であることがわかる。ＬＤＰＣ符号の符号化方法としては、一般的に図１９のような疎なパリティ検査行列に対してガウス消去法等を用いて行列変換を行い、図２０に示すような生成行列を生成し、この生成行列を用いて符号化する方法が用いられる場合が多い。しかし、この方法を用いた場合、元のパリティ検査行列は疎な行列であっても、行列変換を行って生成された生成行列は密な行列となるため、符号化回路の構造が複雑になってしまうという問題がある。
【０００５】
この問題を解決する方法として、構造化された行列を用いて生成行列及びパリティ検査行列を構成する方法が提案されている（例えば、特許文献１参照）。特許文献１に記載された方法は、数１に示すような正方行列Ｆを用いて数２に示すような部分行列Ｑを構成し、数３の式に則って生成行列Ｇを構成する。
【０００６】
【数１】
2009182421.tif 000003
【０００７】
【数２】
2009182421.tif 000004
【０００８】
【数３】
2009182421.tif 000005
【０００９】
また、数４の式に則ってパリティ検査行列Ｈを構成する。
【００１０】
【数４】
2009182421.tif 000006
【００１１】
この方法を用いた場合、生成行列Ｇとパリティ検査行列Ｈを同時に定義することができるため、生成行列Ｇを求めるための系列変換を行う必要がなくなり、また、どちらの行列も共に構造化された状態になっているため、符号化回路及び復号化回路の構造が簡単になるといった利点がある。
【特許文献１】特開２００６−１００９４１号公報
【発明の開示】
【発明が解決しようとする課題】
【００１２】
しかしながら、前記従来の符号化方法及び復号化方法においては、生成されるＬＤＰＣ符号が行毎に行重みの異なる非正則なＬＤＰＣ符号となるため、誤訂正が生じる確率が行毎に異なるにも関わらず、いずれの行に対しても同様の復号化処理しか行っていないため、誤訂正が生じやすいという課題を有していた。また、その誤訂正の影響により、繰り返し復号の性能が劣化してしまうという課題を有していた。
【００１３】
本発明は、非正則なＬＤＰＣ符号に対して誤訂正の発生を抑制した復号化方法及び復号化装置を提供するものである。
【課題を解決するための手段】
【００１４】
前記従来の課題を解決するために、本発明の復号化方法は、非正則ＬＤＰＣ符号の復号化を行うための方法であって、非正則なパリティ検査行列に基づき、伝送路の尤度情報を用いて行方向に尤度演算を行い、外部値を生成するステップと、前記外部値を、前記パリティ検査行列の行重みに基づいて変化させ、修正外部値を生成するステップと、前記パリティ検査行列に基づき、前記修正外部値を用いて列方向に尤度演算を行い、前記事前値を生成するステップと、前記尤度情報及び前記修正外部値を用いて、２値の一時推定語を生成するステップと、前記一時推定語を前記パリティ検査行列に基づいてパリティ検査するステップと、復号を繰り返し行うか否かを判定するステップとを有することを特徴とするものである。
【００１５】
また、本発明の復号化装置は、非正則ＬＤＰＣ符号の復号化を行うための装置であって、非正則なパリティ検査行列に基づき、伝送路の尤度情報を用いて行方向に尤度演算を行い、外部値を生成する外部値生成手段と、前記外部値を、前記パリティ検査行列の行重みに基づいて変化させ、修正外部値を生成する修正外部値生成手段と、前記パリティ検査行列に基づき、前記修正外部値を用いて列方向に尤度演算を行い、前記事前値を生成する事前値生成手段と、前記尤度情報及び前記修正外部値を用いて、２値の一時推定語を生成する一時推定語生成手段と、前記一時推定語を前記パリティ検査行列に基づいてパリティ検査するパリティ検査手段と、復号を繰り返し行うか否かを判定する繰り返し判定手段とを有することを特徴とするものである。
【発明の効果】
【００１６】
本発明の復号化方法及び復号化装置によれば、伝送路の尤度情報の信頼性を考慮して繰り返し復号を行うようにしたので、非正則ＬＤＰＣ符号に対して誤訂正を抑制した性能の良い復号を実現することができる。
【発明を実施するための最良の形態】
【００１７】
以下に、本発明の復号化方法及び復号化装置の実施の形態を図面とともに詳細に説明する。
【００１８】
（実施の形態１）
本実施の形態では、本発明の復号化方法について説明する。但し、復号化を行うべき情報を得るために、まず符号化の例について説明する。符号化は、上述したようにパリティ検査行列または生成行列を用いることにより行える。例えば、図１に示すようなパリティ検査行列を用いた場合を考える。まず始めに、図１に示すように、行列の真ん中から左半分をＬＤＰＣ符号の情報部に対応させ、残りの右半分をＬＤＰＣ符号のパリティ部に対応させる。そうすると、１行目から５行目までは、各行がそれぞれ異なるパリティビットを１ビットずつ含んでいるものと見なすことができるため、行毎に要素ビットとされている情報ビットをｍｏｄ２で加算していくことにより、簡単にパリティビットを得ることができる。
【００１９】
例えば、情報ビットが図２（ａ）で表される１５ビットのデータ系列であるとすると、図１のパリティ検査行列の１行目に関しては、１列目、６列目、１１列目、１６列目に１が存在しているため、情報ビットの１番目のビット“０”、６番目のビット“０”、１１番目のビット“０”をｍｏｄ２で加算し、その結果をパリティビット（１６番目のビット）とすることにより、１行目のパリティビット“０”を得ることができる。同様にして、５行目までの各行において、要素ビットをｍｏｄ２で加算していくことにより、各行に対するパリティビットを得ることができる。
【００２０】
そして、６行目以降に関しては、上の行から順に要素ビットとされる情報ビットと生成されたパリティビットをｍｏｄ２で加算していくことにより、各行に対するパリティビットを得ることができる。例えば、６行目に関しては、１列目、７列目、１３列目、１９列目、２１列目に１が存在しているため、情報ビットの１番目のビット“０”、７番目のビット“０”、１３番目のビット“１”とパリティビットの４番目のビット（１９番目のビット）“０”をｍｏｄ２で加算し、その結果をパリティビット（２１番目のビット）とすることにより、６行目のパリティビット“１”を得ることができる。７行目以降に関しても、同様にして要素ビットをｍｏｄ２で加算していくことにより、パリティビットを得ることができる。
【００２１】
この操作により、図２（ａ）の情報ビットから、図２（ｂ）のようなパリティビットが生成され、情報ビットとパリティビットを連結させることにより、図２（ｃ）のようなＬＤＰＣ符号語が得られる。なお、図１に示すパリティ検査行列は、行重み及び列重みが行及び列毎に異なるため、図１のパリティ検査行列によって生成されるＬＤＰＣ符号は非正則なＬＤＰＣ符号となる。
【００２２】
次に、伝送路について説明する。ＬＤＰＣ符号化された情報は、伝送路を通ることにより雑音が付加される。ここでは、付加される雑音として白色ガウス雑音を仮定する。そして、伝送路を通って受信された情報は、通常、振幅値や電力値等で表されるが、ＬＤＰＣ符号の復号化を行う場合、これらの値を尤度情報に変換する必要がある。尤度情報とは、そのビットの値が“０”らしいか、“１”らしいかということを表した値であり、送信されたＬＤＰＣ符号の第ｉ番目の成分について、数５で求めることができる。なお、ｐ（ｙ｜ｘ）は、伝送路の条件付確率分布である。
【００２３】
【数５】
2009182421.tif 000007
【００２４】
次に、復号化方法について説明する。復号化は、パリティ検査行列に基づき、尤度情報を用いて行う。図３は、本発明の実施の形態１における復号化方法の手順を示したフローチャートである。
【００２５】
図３において、まず、外部値生成ステップＳ１０１で、非正則なパリティ検査行列に基づき、入力された尤度情報及び事前値を用いて行方向に尤度演算が行われ、外部値が生成される。次に、修正外部値生成ステップＳ１０２において、外部値がパリティ検査行列の行重みに基づいて変化させられ、修正外部値が生成される。そして、事前値生成ステップＳ１０３において、パリティ検査行列に基づき、修正外部値を用いて列方向に尤度演算が行われ、事前値が生成される。次に、一時推定語生成ステップＳ１０４において、尤度情報及び修正外部値を用いて、２値の一時推定語が生成され、パリティ検査ステップＳ１０５において、一時推定語に対して、パリティ検査行列に基づいたパリティ検査が行われる。そして、繰り返し判定ステップＳ１０６において、復号を繰り返し行うか否かが判定される。
【００２６】
以下、各ステップについて詳細に説明する。但し、ここではｍ行ｎ列からなる非正則なパリティ検査行列Ｈ＝｛Ｈｍｎ｝を用いて復号を行う場合を例とし、ｍ行目に属し、値が“１”である列インデックスの集合をＡ（ｍ）、ｎ列目に属し、値が“１”である行インデックスの集合をＢ（ｎ）として説明する。なお、非正則なパリティ検査行列とは、図１に示すような行重み及び列重みが行及び列毎に異なるパリティ検査行列のことをいう。
【００２７】
まず、外部値生成ステップＳ１０１について説明する。ステップＳ１０１では、非正則なパリティ検査行列Ｈに基づき、入力された尤度情報λｉ及び事前値βｍｎを用いて、数６に則って外部値αｍｎが生成される。但し、事前値βｍｎの値は、１回目の復号に関してのみ、全て０とし、２回目以降の復号に関してはステップＳ１０３において計算された事前値βｍｎの値を用いる。なお、数６中のｓｉｇｎ（ｘ）及びｆ（ｘ）はそれぞれ数７及び数８で示される関数である。
【００２８】
【数６】
2009182421.tif 000008
【００２９】
【数７】
2009182421.tif 000009
【００３０】
【数８】
2009182421.tif 000010
【００３１】
次に、修正外部値生成ステップＳ１０２について説明する。ステップＳ１０２では、外部値αｍｎがパリティ検査行列Ｈの行重みに基づいて変化させられ、修正外部値α´ｍｎが生成される。図１に示すような行毎に行重みが異なるパリティ検査行列を用いて符号化されたＬＤＰＣ符号を復号化する場合、行重みが高い行ほど、誤訂正が生じやすい。これは、行重みが高い行ほど、要素パリティ検査符号を構成するビット数が多いため、要素パリティ検査符号語中に複数の誤りが含まれる可能性が高いためである。
【００３２】
従って、行重みが高い行ほど外部値αｍｎの絶対値を小さくし、復号に与える影響を減少させることにより、ＬＤＰＣ符号全体として見た場合、誤訂正の生起確率を減少させることができる。但し、復号を繰り返していくにつれて、尤度情報の信頼性は向上していく。尤度の信頼性が向上した状態においては、一度に多くのビットの尤度を更新できる行重みの高い行も積極的に利用した方がより効率の良い復号が行える。
【００３３】
従って、尤度情報の信頼性の低い始めの内は行重みの低い行を重視して復号を行い、復号回数が増加し、尤度情報の信頼性が向上していくにつれて、行重みの高い行の利用度合いを向上させていくことが重要であるといえる。以下、効率の良い復号を可能とする修正外部値α´ｍｎの生成方法について説明する。
【００３４】
例として、外部値αｍｎに正の係数を乗算することにより、修正外部値α´ｍｎを生成する方法について説明する。この場合、正の係数は、外部値αｍｎを基に求めることができる。外部値αｍｎは、各行においてパリティ検査条件に基づいて尤度演算することで得られる値であるので、各行の尤度の向上度合いを表している値であると考えることができる。
【００３５】
また、外部値αｍｎは、行重みが同じ行においては、ほぼ同様の向上度合いを示すと考えられるため、行重みが同一である行毎に外部値αｍｎの絶対値の平均値を取れば、それらの値は行重み毎の信頼度を表しているものと考えることができる。ここでは、それらの行重み毎の信頼度を用いて係数を求める方法について説明する。
【００３６】
外部値αｍｎは数６に則って計算される値であるため、行重みの高い行ほど外部値αｍｎの絶対値が小さくなる可能性が高い。なぜなら、行重みの高い行ほど、要素パリティ検査符号を構成するビット数が多いため、外部値の演算に、より絶対値の小さい尤度情報が含まれる可能性が高いからである。従って、行重み毎の外部値αｍｎの絶対値の平均値、すなわち行重み毎の信頼度は、行重みが高いほど小さな値となる。
【００３７】
よって、例えば、絶対値の平均値の内、一番大きな値で全ての平均値を除算した値を各係数とすれば、行重みが高い行ほど小さな係数を持つことになり、これらの係数を行毎に外部値αｍｎに乗算することにより、信頼性の低い部分が弱められた修正外部値α´ｍｎを得ることができる。この修正外部値α´ｍｎを外部値αｍｎの代わりに用いることにより、外部値αｍｎを用いて復号を行う場合よりも誤訂正を引き起こす可能性を減少させることができる。
【００３８】
さらに、復号を繰り返し、尤度の信頼性が向上した場合は、要素パリティ検査符号を構成するビット数が多かったとしても、外部値αｍｎの演算に極端に絶対値の小さい尤度情報が含まれる可能性は低くなる。従って、復号を繰り返す度に、行重みが低い行と高い行の係数の差は小さくなるため、上述した方法によって生成した修正外部値α´ｍｎを用いて復号を行うことにより、誤訂正の影響を抑えたまま、効率良く尤度を向上させることが可能となる。
【００３９】
なお、係数を求める場合、外部値生成ステップＳ１０１において外部値αｍｎが計算される度に上記の方法で係数を求めるようにしても良いが、更に効率を良くするためには、あらかじめ行重み毎の係数テーブルを用意しておき、そこから適切な係数を選び出すようにすれば良い。係数テーブルは、例えば図４に示すステップで生成することができる。まず、第１の信頼度算出ステップＳ２０１において、入力された尤度情報から尤度の信頼度を求める。次に、外部値生成ステップＳ２０２において、パリティ検査行列に基づき、尤度情報を用いて行方向に尤度演算を行い、外部値を生成する。それから、係数生成ステップＳ２０３において、外部値から所定の正の係数を求める。そして、係数テーブル生成ステップＳ２０４において、尤度の信頼度と所定の正の係数を対応付けることにより、係数テーブルを生成する。以下、各ステップについて詳細に説明する。
【００４０】
まず、第１の信頼度算出ステップＳ２０１について説明する。第１の信頼度算出ステップＳ２０１では、入力された尤度情報λｉから尤度の信頼度を求める。入力された尤度情報λｉは、各ビットが０らしいか、１らしいかということを表している値であり、絶対値が小さいものほど信頼性が低いと言える。従って、絶対値が小さい尤度情報をどれだけ多く含んでいるかを調べることにより、尤度の信頼性を知ることができる。例えば、図５に示すステップによって尤度の信頼度を求めることができる。以下、各ステップについて詳細に説明する。
【００４１】
まず、尤度選択ステップＳ３０１において、尤度情報λｉの内、絶対値の小さいものから所定の数だけ値を選び出す。理論的には、最も絶対値が小さい尤度情報が最も信頼性が低いと言えるため、最も絶対値が小さい尤度情報の示す値が尤度の信頼度を表していると言えるが、実際にはある程度バラツキがあるため、まず絶対値の小さいものから所定の数の値を選び出す。ここでは、例としてＬＤＰＣ符号語長の５％の個数を選択するものとする。すなわち、ＬＤＰＣ符号語長が１０００ビットであったとすると、１０００個の尤度情報の内、絶対値の小さいものから５０個を選択することになる。
【００４２】
次に、第１の信頼度演算ステップＳ３０２において、選ばれた値の絶対値の平均値を求め、その平均値を尤度の信頼度とする。このように、絶対値の小さいものから所定数選択した値の平均値を取ることにより、平滑化され、バラツキが削減されるので、より精度の高い信頼度を得ることができる。以上、Ｓ３０１及びＳ３０２の操作により、尤度の信頼度が得られる。
【００４３】
次に、外部値生成ステップＳ２０２について説明する。外部値生成ステップＳ２０２では、パリティ検査行列に基づき、尤度情報λｉを用いて数９に則って外部値γｍｎを生成する。
【００４４】
【数９】
2009182421.tif 000011
【００４５】
次に、係数生成ステップＳ２０３について説明する。係数生成ステップＳ２０３では、外部値γｍｎから正の係数を求める。正の係数は、例えば図６に示すステップで求めることができる。以下、各ステップについて詳細に説明する。
【００４６】
まず、外部値信頼度算出ステップＳ４０１において、図７に示すように、行重みが同一である行をそれぞれグループとしてまとめ、数１０に則って、グループ毎に外部値γｍｎの絶対値の平均値δａを求める。
【００４７】
【数１０】
2009182421.tif 000012
【００４８】
但し、数１０において、ａはグループの番号、ｄａはａ番目のグループにおける行の番号、Ｄａはａ番目のグループの行数、Ｅ（ｄａ）はａ番目のグループのｄａ行目に属し、値が“１”である列インデックスの集合、ｋは列の番号、γｄａｋはａ番目のグループのｄａ行ｋ列目の外部値、ｌａはａ番目のグループに存在する“１”の総数を表している。上述したように、行重みが同一である行の外部値γｍｎの絶対値の平均値δａは行重み毎の信頼度と見なすことができるため、まず行重み毎に外部値γｍｎの絶対値の平均値δａを求める。
【００４９】
次に、係数算出ステップＳ４０２において、グループ毎に求めた絶対値の平均値δａの比を計算し、それらの平均値の比を正の係数とする。この操作も上述した通りであり、得られた平均値の内、最も大きな値で全ての平均値を除算した値を各係数とすれば、行重みが高い行ほど小さな係数を持たせることができる。以上、Ｓ４０１及びＳ４０２の操作により、行重み毎の係数が得られる。
【００５０】
次に、係数テーブル生成ステップＳ２０４について説明する。係数テーブル生成ステップＳ２０４では、第１の信頼度算出ステップＳ２０１において求めた尤度の信頼度と、係数生成ステップＳ２０３において生成した正の係数を対応付ける。例えば、図７に示すような行重みが４、５、６の３種類から成るようなパリティ検査行列によって生成されたＬＤＰＣ符号を、ＳＮ比が５．０ｄＢである伝送路に送信する場合を考える。但し、ＳＮ比は数１１で表されるものとする。
【００５１】
【数１１】
2009182421.tif 000013
【００５２】
なお、数１１において、Ｒは符号化率、σ２は白色ガウス雑音の分散を表している。そして、そのとき伝送路を介して受信された信号の尤度の信頼度が０．５、行重みが４である行に適用する係数（以下、行重み４の係数と称す）が０．５、行重みが５である行に適用する係数（以下、行重み５の係数と称す）が０．７、行重みが６である行に適用する係数（以下、行重み６の係数と称す）が０．９であったものとする。その場合、表１に示すような係数テーブルが生成できる。
【００５３】
【表１】
2009182421.tif 000014
【００５４】
同様にして、数１１に基づいて伝送路のＳＮ比を６．０ｄＢ、７．０ｄＢ、８．０ｄＢと変化させながらステップＳ２０１〜Ｓ２０４を繰り返し行うことにより、表２に示すような尤度の信頼度と正の係数を対応付けた係数テーブルを生成することができる。
【００５５】
【表２】
2009182421.tif 000015
【００５６】
このようにして生成した係数テーブルから係数を選択することにより、復号を繰り返す度に毎回係数を計算し直す手間を省くことができる。なお、ステップＳ２０１〜Ｓ２０４の操作は計算機シミュレーション等で行うことが可能である。
【００５７】
次に、係数テーブルを利用して修正外部値を生成する手順について説明する。修正外部値は図８に示すステップで生成できる。まず、第２の信頼度算出ステップＳ５０１において、尤度情報及び過去の修正外部値から現在の尤度の信頼度を求める。次に、係数選択ステップＳ５０２において、係数テーブルを参照して、現在の尤度の信頼度に基づいて行毎に正の係数を選択する。そして、係数乗算ステップＳ５０３において、正の係数を外部値に乗算することで修正外部値を生成する。以下、各ステップについて詳細に説明する。
【００５８】
まず、第２の信頼度算出ステップＳ５０１について説明する。第２の信頼度算出ステップＳ５０１では、尤度情報λｉ及び過去の修正外部値α´ｍｎから現在の尤度の信頼度を求める。現在の尤度の信頼度は図９に示すステップで求めることができる。以下、各ステップについて詳細に説明する。
【００５９】
まず、修正尤度情報生成ステップＳ６０１について説明する。修正尤度情報生成ステップＳ６０１では、数１２に則って、尤度情報λｉと尤度情報に対応する過去の修正外部値α´ｍｎを加算し、修正尤度情報λ´ｉを生成する。但し、修正外部値α´ｍｎの値は、１回目の復号に関してのみ全て０とし、２回目以降の復号に関してはステップＳ１０２において計算された修正外部値α´ｍｎの値を用いる。
【００６０】
【数１２】
2009182421.tif 000016
【００６１】
次に、修正尤度選択ステップＳ６０２について説明する。修正尤度選択ステップＳ６０２では、修正尤度情報λ´ｉの内、絶対値の小さいものから所定の数だけ値を選び出す。
【００６２】
次に、第２の信頼度演算ステップＳ６０３について説明する。第２の信頼度演算ステップＳ６０３では、選ばれた値の絶対値の平均値を求め、その平均値を現在の尤度の信頼度とする。以上、ステップＳ６０１〜Ｓ６０３の操作により現在の尤度の信頼度を得ることができる。
【００６３】
次に、係数選択ステップＳ５０２について説明する。係数選択ステップＳ５０２では、係数テーブルを参照して、現在の尤度の信頼度に基づいて行毎に正の係数を選択する。例えば、現在の尤度の信頼度が０．６８であったとすると、表２の係数テーブルより、行重み４の係数が０．７、行重み５の係数が０．８、行重み６の係数が０．９３と求まる。
【００６４】
次に、係数乗算ステップＳ５０３について説明する。係数乗算ステップＳ５０３では、係数選択ステップＳ５０２において選択された係数を外部値αｍｎに乗算することで修正外部値α´ｍｎを生成する。詳細には、行毎に選択された係数を対応する行の外部値αｍｎに乗算する。これにより、行重みの高い行ほど外部値αｍｎの値が小さくなるため、誤訂正の影響を軽減することができる。以上、ステップＳ５０１〜Ｓ５０３の操作により、修正外部値α´ｍｎを生成することができる。
【００６５】
次に、事前値生成ステップＳ１０３について説明する。事前値生成ステップＳ１０３では、パリティ検査行列Ｈに基づき、修正外部値α´ｍｎを用いて、数１３に則って事前値βｍｎが生成される。
【００６６】
【数１３】
2009182421.tif 000017
【００６７】
次に、一時推定語生成ステップＳ１０４について説明する。一時推定語生成ステップＳ１０４では、尤度情報λｉ及び修正外部値α´ｍｎを用いて、数１４に則って２値の一時推定語Ｃｎが生成される。
【００６８】
【数１４】
2009182421.tif 000018
【００６９】
次に、パリティ検査ステップＳ１０５について説明する。パリティ検査ステップＳ１０５では、一時推定語Ｃｎに対して、パリティ検査行列Ｈに基づいたパリティ検査が行われる。詳細には、一時推定語Ｃｎが数１５を満たすかどうかが判定される。
【００７０】
【数１５】
2009182421.tif 000019
【００７１】
次に、繰り返し判定ステップＳ１０６について説明する。繰り返し判定ステップＳ１０６では、復号を繰り返し行うか否かが判定される。詳細には、パリティ検査ステップＳ１０５において、一時推定語Ｃｎが数１５を満たさず、更に現在の復号繰り返し回数が、所定の復号繰り返し回数よりも少ない場合にのみ、再びステップＳ１０１〜Ｓ１０５の操作を行う。そして、パリティ検査ステップＳ１０５において、一時推定語Ｃｎが数１５を満たすか、もしくは現在の復号繰り返し回数が所定の復号繰り返し回数に到達した時点で復号を終了する。
【００７２】
以上のように、伝送路の確率分布による尤度の信頼度と行重みに基づいて外部値を修正し、修正された外部値を用いて繰り返し復号を行うことにより、通常の外部値を用いて繰り返し復号を行った場合よりも、誤訂正の影響を抑えた性能の良い復号を行うことができる。
【００７３】
なお、上では、外部値αｍｎに正の係数を乗算することにより、修正外部値α´ｍｎを生成する場合について説明したが、外部値αｍｎに正の定数を加減算することにより、修正外部値α´ｍｎを生成しても良い。この場合は、上述した係数テーブルの代わりに、尤度の信頼度と加減算するための正の定数を対応付けた定数テーブルをあらかじめ作成しておけば良い。そして、図１０に示すように、第２の信頼度算出ステップＳ５０１において、現在の尤度の信頼度を算出し、定数選択ステップＳ５０４において、尤度の信頼度と定数テーブルに基づいて行毎に定数を選択し、定数加減算ステップＳ５０５において、選ばれた定数を外部値αｍｎに加減算することで修正外部値α´ｍｎを生成すれば良い。
【００７４】
但し、外部値αｍｎの絶対値を大きくする方向に加減算する場合と、外部値αｍｎの絶対値を小さくする方向に加減算する場合では、作成する定数テーブルと加減算の方法を若干変更する必要がある。
【００７５】
まず、外部値αｍｎの絶対値を大きくする方向に加減算する場合は、行重みが小さい行ほど大きな値を持つ定数が設定されるように定数テーブルを作成する。そして、外部値が正の値の場合は、行毎に選択された定数を加算し、外部値が負の値の場合は、行毎に選択された定数を減算する。
【００７６】
次に、外部値αｍｎの絶対値を小さくする方向に加減算する場合は、行重みが大きい行ほど大きな値を持つ定数が設定されるように定数テーブルを作成する。そして、外部値が正の値の場合は、行毎に選択された定数を減算し、外部値が負の値の場合は、行毎に選択された定数を加算する。但し、加減算によって外部値の符号が変化する場合は、修正外部値の値を０とする。以上の方法により、外部値αｍｎに正の係数を乗算することにより修正外部値α´ｍｎを生成する場合と同様に、誤訂正を抑えた性能の良い復号を行うことができる。
【００７７】
また、上では、尤度の信頼度に応じて、行毎に正の係数を選択する方法について説明したが、復号を行った回数に基づいて正の係数を選択し、それらの係数を外部値αｍｎに乗算することにより修正外部値α´ｍｎを生成するようにしても良い。この方法を用いる場合は、本方式を適用する通信路において、復号を何回行うとそのときの尤度の信頼度がどのぐらいになるかということをあらかじめ調べておき、そのときの尤度の信頼度を基に、上述した係数テーブルから各復号回数に対応した係数のみを抜粋し、そのときの復号回数と係数の関係から新たな係数テーブルを作成しておけば良い。
【００７８】
例えば、復号を２回行った場合に、尤度の信頼度が０．６８になるとすると、表２より、復号回数が２回目の時の行重み４、行重み５及び行重み６の係数はそれぞれ０．７、０．８、０．９３となり、復号を３回行った場合に、尤度の信頼度が０．８６になるとすると、復号回数が３回目の時の行重み４、行重み５及び行重み６の係数はそれぞれ０．８、０．９、０．９５となる。このようにして復号回数に対応した係数テーブルを作成しておくことにより、復号を繰り返す度に尤度の信頼度を計算する手間を省くことができる。また、係数テーブルの容量を減らすことができる。
【００７９】
そして、図１１に示すように、係数選択ステップＳ５０６において、係数テーブルを参照して、復号を行った回数に基づいて行毎に所定の正の係数が選択され、係数乗算ステップＳ５０７において、正の係数が外部値αｍｎに乗算されることにより修正外部値α´ｍｎが生成される。以上の方法により、尤度の信頼度から正の係数を求める場合と同様に、誤訂正を抑えた性能の良い復号を行うことができる。
【００８０】
また、復号を行った回数に基づいて正の定数を選択し、それらの定数を外部値αｍｎに加減算することにより修正外部値α´ｍｎを生成するようにしても良い。この方法を用いる場合は、本方式を適用する通信路において、復号を何回行うとそのときの尤度の信頼度がどのぐらいになるかということをあらかじめ調べておき、そのときの尤度の信頼度を基に、上述した定数テーブルから各復号回数に対応した定数のみを抜粋し、そのときの復号回数と定数の関係から新たな定数テーブルを作成しておけば良い。
【００８１】
そして、図１２に示すように、定数選択ステップＳ５０８において、定数テーブルを参照して、復号を行った回数に基づいて行毎に所定の正の定数が選択され、定数加減算ステップＳ５０９において、正の定数が外部値αｍｎに加減算されることにより修正外部値α´ｍｎが生成される。以上の方法により、外部値αｍｎに正の係数を乗算することにより修正外部値α´ｍｎを生成する場合と同様に、誤訂正を抑えた性能の良い復号を行うことができる。
【００８２】
（実施の形態２）
本実施の形態では、本発明の復号化装置について説明する。但し、その前に、復号化を行うべき情報を生成する符号化装置の例について説明する。符号化装置は、実施の形態１で説明した符号化方法を装置に置き換えることにより構成できる。すなわち、非正則なパリティ検査行列に基づいて、行毎に要素ビットとされているビットをｍｏｄ２で加算することによりパリティビットを生成し、情報ビットとパリティビットを連結させる操作を行うような構成にすれば良い。このような符号化装置によって、非正則なＬＤＰＣ符号を生成することができる。
【００８３】
次に、伝送路について説明する。ＬＤＰＣ符号化された情報は、伝送路を通ることにより雑音が付加される。ここでは、付加される雑音として白色ガウス雑音を仮定する。そして、伝送路を通って受信された情報は、尤度情報に変換されるものとする。但し、尤度情報は、送信されたＬＤＰＣ符号の第ｉ番目の成分について、数５により求まる。なお、ｐ（ｙ｜ｘ）は、伝送路の条件付確率分布である。
【００８４】
次に、復号化装置について説明する。図１３に、本発明の実施の形態２における復号化装置のブロック図を示す。まず、外部値生成手段７０１では、非正則なパリティ検査行列に基づき、入力された尤度情報及び事前値を用いて行方向に尤度演算が行われ、外部値が生成される。次に、修正外部値生成手段７０２では、外部値がパリティ検査行列の行重みに基づいて変化させられ、修正外部値が生成される。そして、事前値生成手段７０３では、パリティ検査行列に基づき、修正外部値を用いて列方向に尤度演算が行われ、事前値が生成される。そして、一時推定語生成手段７０４では、尤度情報及び修正外部値を用いて、２値の一時推定語が生成され、パリティ検査手段７０５では、一時推定語に対して、パリティ検査行列に基づいたパリティ検査が行われる。そして、繰り返し判定手段７０６では、復号を繰り返し行うか否かが判定される。以下、各手段について詳細に説明する。
【００８５】
まず、外部値生成手段７０１について説明する。外部値生成手段７０１では、非正則なパリティ検査行列Ｈに基づき、入力された尤度情報λｉ及び事前値βｍｎを用いて、数６に則って外部値αｍｎが生成される。但し、事前値βｍｎの値としては、１回目の復号に関してのみ全て０が用いられ、２回目以降の復号に関しては事前値生成手段７０３において計算された事前値βｍｎの値が用いられる。なお、数６中のｓｉｇｎ（ｘ）及びｆ（ｘ）はそれぞれ数７及び数８で示される関数である。
【００８６】
次に、修正外部値生成手段７０２について説明する。修正外部値生成手段７０２では、外部値αｍｎがパリティ検査行列Ｈの行重みに基づいて変化させられ、修正外部値α´ｍｎが生成される。例として、外部値αｍｎに正の係数が乗算されることにより、修正外部値α´ｍｎが生成される場合について説明する。この場合、修正外部値生成手段７０２は、図１４に示す係数テーブルを記憶するメモリと３つの手段により構成できる。図１４において、メモリ８０１は、実施の形態１で説明した方法によってあらかじめ生成された係数テーブルが記憶されたメモリである。
【００８７】
次に、信頼度算出手段８０２では、尤度情報及び過去の修正外部値から現在の尤度の信頼度が求められる。そして、係数選択手段８０３では、メモリ８０１に蓄えられた係数テーブルを参照して、現在の尤度の信頼度に基づいて行毎に所定の正の係数が選択される。そして、乗算手段８０４では、係数選択手段８０３において選択された係数が外部値に乗算されることで修正外部値α´ｍｎが生成される。以下、各手段について詳細に説明する。
【００８８】
まず、信頼度算出手段８０２について説明する。信頼度算出手段８０２では、尤度情報λｉ及び過去の修正外部値α´ｍｎから現在の尤度の信頼度が求められる。信頼度算出手段８０２は図１５に示す３つの手段により構成される。以下、各手段について詳細に説明する。
【００８９】
まず、修正尤度情報生成手段９０１について説明する。修正尤度情報生成手段９０１では、数１２に則って、尤度情報λｉと尤度情報に対応する過去の修正外部値α´ｍｎが加算され、修正尤度情報λ´ｉが生成される。但し、修正外部値α´ｍｎの値としては、１回目の復号に関してのみ全て０が用いられ、２回目以降の復号に関しては修正外部値生成手段７０２において計算された修正外部値α´ｍｎの値が用いられる。
【００９０】
次に、修正尤度選択手段９０２について説明する。修正尤度選択手段９０２では、修正尤度情報λ´ｉの内、絶対値の小さいものから所定の数だけ値が選び出される。
【００９１】
次に、信頼度演算手段９０３について説明する。信頼度演算手段９０３では、選ばれた値の絶対値の平均値が求められ、その平均値が現在の尤度の信頼度とされる。以上、手段９０１〜９０３により現在の尤度の信頼度が得られる。
【００９２】
次に、係数選択手段８０３について説明する。係数選択手段８０３では、メモリ８０１に蓄えられた係数テーブルを参照して、現在の尤度の信頼度に基づいて行毎に所定の正の係数が選択される。例えば、現在の尤度の信頼度が０．６８であったとすると、表２の係数テーブルより、行重み４の係数が０．７、行重み５の係数が０．８、行重み６の係数が０．９３と求まる。
【００９３】
次に、乗算手段８０４について説明する。乗算手段８０４では、係数選択手段８０３において選択された係数が外部値αｍｎに乗算されることで修正外部値α´ｍｎが生成される。詳細には、行毎に選択された係数が対応する行の外部値αｍｎに乗算される。これにより、行重みの高い行ほど外部値αｍｎの値が小さくなるため、誤訂正の影響が軽減される。以上、手段８０２〜８０４及びメモリ８０１により、修正外部値α´ｍｎが生成される。
【００９４】
次に、事前値生成手段７０３について説明する。事前値生成手段７０３では、パリティ検査行列Ｈに基づき、修正外部値α´ｍｎを用いて、数１３に則って事前値βｍｎが生成される。
【００９５】
次に、一時推定語生成手段７０４について説明する。一時推定語生成手段７０４では、尤度情報λｉ及び修正外部値α´ｍｎを用いて、数１４に則って２値の一時推定語Ｃｎが生成される。
【００９６】
次に、パリティ検査手段７０５について説明する。パリティ検査手段７０５では、一時推定語Ｃｎに対して、パリティ検査行列Ｈに基づいたパリティ検査が行われる。詳細には、一時推定語Ｃｎが数１５を満たすかどうかが判定される。
【００９７】
次に、繰り返し判定手段７０６について説明する。繰り返し判定手段７０６では、復号を繰り返し行うか否かが判定される。詳細には、パリティ検査手段７０５において、一時推定語Ｃｎが数１５を満たさないと判定され、更に現在の復号繰り返し回数が、所定の復号繰り返し回数よりも少ない場合にのみ、復号を繰り返し行うと判定される。そして、パリティ検査手段７０５において、一時推定語Ｃｎが数１５を満たしていると判定されるか、もしくは現在の復号繰り返し回数が所定の復号繰り返し回数に到達した場合、復号終了と判定される。
【００９８】
以上の装置を用いて、伝送路の確率分布による尤度の信頼度と行重みに基づいて外部値を修正し、修正された外部値を用いて繰り返し復号を行うことにより、通常の外部値を用いて繰り返し復号を行う場合よりも、誤訂正の影響を抑えた性能の良い復号を行うことができる。
【００９９】
なお、上では、修正外部値生成手段７０２において、外部値αｍｎに正の係数を乗算することにより修正外部値α´ｍｎを生成する場合について説明したが、外部値αｍｎに正の定数を加減算することにより修正外部値α´ｍｎを生成することもできる。この場合は、上述した係数テーブルの代わりに、尤度の信頼度と加減算するための正の定数を対応付けた定数テーブルを作成し、メモリ８０１に記憶しておけば良い。
【０１００】
そして、図１６に示す信頼度算出手段８０２において、現在の尤度の信頼度を算出し、定数選択手段８０５において、尤度の信頼度とメモリ８０１に蓄えられた定数テーブルに基づいて行毎に定数を選択し、加減算手段８０６において、選ばれた定数を外部値αｍｎに加減算することで修正外部値α´ｍｎを生成すれば良い。但し、外部値αｍｎの絶対値を大きくする方向に加減算する場合と、外部値αｍｎの絶対値を小さくする方向に加減算する場合では、作成する定数テーブルと加減算の方法を若干変更する必要がある。
【０１０１】
まず、外部値αｍｎの絶対値を大きくする方向に加減算する場合は、行重みが小さい行ほど大きな値を持つ定数が設定されるように定数テーブルを作成する。そして、加減算手段８０６において、外部値が正の値の場合は、行毎に選択された定数を加算し、外部値が負の値の場合は、行毎に選択された定数を減算する。
【０１０２】
次に、外部値αｍｎの絶対値を小さくする方向に加減算する場合は、行重みが大きい行ほど大きな値を持つ定数が設定されるように定数テーブルを作成する。そして、加減算手段８０６において、外部値が正の値の場合は、行毎に選択された定数を減算し、外部値が負の値の場合は、行毎に選択された定数を加算する。但し、加減算によって外部値の符号が変化する場合は、修正外部値の値を０とする。以上の構成により、外部値αｍｎに正の係数を乗算することで修正外部値α´ｍｎを生成する場合と同様に、誤訂正を抑えた性能の良い復号を行うことができる。
【０１０３】
また、上では、修正外部値生成手段７０２において、尤度の信頼度に応じて、行毎に正の係数が選択される場合について説明したが、復号を行った回数に基づいて正の係数が選択され、それらの係数が外部値αｍｎに乗算されることにより修正外部値α´ｍｎが生成されるようにしても良い。この場合は、本方式を適用する通信路において、復号を何回行うとそのときの尤度の信頼度がどのぐらいになるかということをあらかじめ調べておき、そのときの尤度の信頼度を基に、上述した係数テーブルから各復号回数に対応した係数のみを抜粋し、そのときの復号回数と係数の関係から新たな係数テーブルを作成し、それをメモリ８０１に記憶しておけば良い。
【０１０４】
例えば、復号を２回行った場合に、尤度の信頼度が０．６８になるとすると、表２より、復号回数が２回目の時の行重み４、行重み５及び行重み６の係数はそれぞれ０．７、０．８、０．９３となり、復号を３回行った場合に、尤度の信頼度が０．８６になるとすると、復号回数が３回目の時の行重み４、行重み５及び行重み６の係数はそれぞれ０．８、０．９、０．９５となる。このようにして復号回数に対応した係数テーブルを作成しておくことにより、復号を繰り返す度に尤度の信頼度を計算する手間を省くことができる。また、係数テーブルを記憶しておくメモリ８０１の容量を減らすことができる。
【０１０５】
そして、図１７に示す係数選択手段１００１において、メモリ８０１に蓄えられた係数テーブルを参照して、復号を行った回数に基づいて行毎に所定の正の係数が選択され、乗算手段１００２において、正の係数が外部値αｍｎに乗算されることにより修正外部値α´ｍｎが生成される。以上の構成により、尤度の信頼度から正の係数を求める場合と同様に、誤訂正を抑えた性能の良い復号を行うことができる。
【０１０６】
また、復号を行った回数に基づいて正の定数が選択され、それらの定数が外部値αｍｎに加減算されることにより修正外部値α´ｍｎが生成されるようにしても良い。この場合は、本方式を適用する通信路において、復号を何回行うとそのときの尤度の信頼度がどのぐらいになるかということをあらかじめ調べておき、そのときの尤度の信頼度を基に、上述した定数テーブルから各復号回数に対応した定数のみを抜粋し、そのときの復号回数と定数の関係から新たな定数テーブルを作成し、それをメモリ８０１に記憶しておけば良い。
【０１０７】
そして、図１８に示す定数選択手段１００３において、メモリ８０１に蓄えられた定数テーブルを参照して、復号を行った回数に基づいて行毎に所定の正の定数が選択され、加減算手段１００４において、正の定数が外部値αｍｎに加減算されることにより修正外部値α´ｍｎが生成される。以上の構成により、外部値αｍｎに正の係数を乗算することで修正外部値α´ｍｎを生成する場合と同様に、誤訂正を抑えた性能の良い復号を行うことができる。
【産業上の利用可能性】
【０１０８】
本発明の復号化方法及び復号化装置によれば、非正則ＬＤＰＣ符号に対して性能の良い復号を実現することができるため、非正則ＬＤＰＣ符号を用いるあらゆる通信路において有用である。特に、ＳＮ比が不良であり、多数の誤りが頻繁に発生するホログラム記録再生系等に有用である。
【図面の簡単な説明】
【０１０９】
【図１】本発明の実施の形態におけるパリティ検査行列の例を示す図
【図２】本発明の実施の形態におけるＬＤＰＣ符号語の例を示す図
【図３】本発明の第１の実施の形態における復号化方法の手順を示したフローチャート
【図４】本発明の第１の実施の形態における係数テーブルを作成する手順を示したフローチャート
【図５】本発明の第１の実施の形態における第１の信頼度算出ステップの手順を示したフローチャート
【図６】本発明の第１の実施の形態における係数生成ステップの手順を示したフローチャート
【図７】本発明の第１の実施の形態におけるグループ分けの例を示した図
【図８】本発明の第１の実施の形態における修正外部値生成ステップの手順を示したフローチャート
【図９】本発明の第１の実施の形態における第２の信頼度算出ステップの手順を示したフローチャート
【図１０】本発明の第１の実施の形態における修正外部値生成ステップの手順を示したフローチャート
【図１１】本発明の第１の実施の形態における修正外部値生成ステップの手順を示したフローチャート
【図１２】本発明の第１の実施の形態における修正外部値生成ステップの手順を示したフローチャート
【図１３】本発明の第２の実施の形態における復号化装置の構成を示したブロック図
【図１４】本発明の第２の実施の形態における修正外部値生成手段の構成を示したブロック図
【図１５】本発明の第２の実施の形態における信頼度算出手段の構成を示したブロック図
【図１６】本発明の第２の実施の形態における修正外部値生成手段の構成を示したブロック図
【図１７】本発明の第２の実施の形態における修正外部値生成手段の構成を示したブロック図
【図１８】本発明の第２の実施の形態における修正外部値生成手段の構成を示したブロック図
【図１９】一般的なパリティ検査行列Ｈの例を示す図
【図２０】一般的な生成行列Ｇの例を示す図
【符号の説明】
【０１１０】
Ｓ１０１  外部値生成ステップ
Ｓ１０２  修正外部値生成ステップ
Ｓ１０３  事前値生成ステップ
Ｓ１０４  一時推定語生成ステップ
Ｓ１０５  パリティ検査ステップ
Ｓ１０６  繰り返し判定ステップ
Ｓ２０１  第１の信頼度算出ステップ
Ｓ２０２  外部値生成ステップ
Ｓ２０３  係数生成ステップ
Ｓ２０４  係数テーブル生成ステップ
Ｓ３０１  尤度選択ステップ
Ｓ３０２  第１の信頼度演算ステップ
Ｓ４０１  外部値信頼度算出ステップ
Ｓ４０２  係数算出ステップ
Ｓ５０１  第２の信頼度算出ステップ
Ｓ５０２  係数選択ステップ
Ｓ５０３  係数乗算ステップ
Ｓ５０４  定数選択ステップ
Ｓ５０５  定数加減算ステップ
Ｓ５０６  係数選択ステップ
Ｓ５０７  係数乗算ステップ
Ｓ５０８  定数選択ステップ
Ｓ５０９  定数加減算ステップ
Ｓ６０１  修正尤度情報生成ステップ
Ｓ６０２  修正尤度選択ステップ
Ｓ６０３  第２の信頼度演算ステップ
７０１  外部値生成手段
７０２  修正外部値生成手段
７０３  事前値生成手段
７０４  一時推定語生成手段
７０５  パリティ検査手段
７０６  繰り返し判定手段
８０１  メモリ
８０２  信頼度算出手段
８０３  係数選択手段
８０４  乗算手段
８０５  定数選択手段
８０６  加減算手段
９０１  修正尤度情報生成手段
９０２  修正尤度選択手段
９０３  信頼度演算手段
１００１  係数選択手段
１００２  乗算手段
１００３  定数選択手段
１００４  加減算手段
【図１】
2009182421.tif 000020
【図２】
2009182421.tif 000021
【図３】
2009182421.tif 000022
【図４】
2009182421.tif 000023
【図５】
2009182421.tif 000024
【図６】
2009182421.tif 000025
【図７】
2009182421.tif 000026
【図８】
2009182421.tif 000027
【図９】
2009182421.tif 000028
【図１０】
2009182421.tif 000029
【図１１】
2009182421.tif 000030
【図１２】
2009182421.tif 000031
【図１３】
2009182421.tif 000032
【図１４】
2009182421.tif 000033
【図１５】
2009182421.tif 000034
【図１６】
2009182421.tif 000035
【図１７】
2009182421.tif 000036
【図１８】
2009182421.tif 000037
【図１９】
2009182421.tif 000038
【図２０】
2009182421.tif 000039