(57)【特許請求の範囲】
【請求項１】
複数の評価値を考慮して最適化が可能な多目的最適化装置から最適解の候補としてLDPC符号検査行列をLDPC符号化・復号回路生成装置に出力し、
LDPC符号化・復号回路生成装置は、受け取ったLDPC符号検査行列に基づくLDPC符号化・復号回路を生成して、通信路エミュレータに渡し、かつ、生成したLDPC符号化・復号回路についてのハードウェアとしての評価の評価値及びLDPC符号検査行列そのものに対する評価値を算出し、
さらに、LDPC符号化・復号回路生成装置は、通信路エミュレータからLDPC符号化・復号回路の評価結果として誤り訂正符号性能評価値を受け取り、それに内部で算出した前記評価値を合わせて、ベクトル値であるLDPC符号検査行列評価値として前記多目的最適化装置に出力し、
多目的最適化装置は、受け取ったLDPC符号検査行列評価値を用いて望ましい評価値を有するLDPC符号を定義する検査行列を作成することから成る低密度パリティ検査符号の生成方法。
【請求項２】
前記LDPC符号化・復号回路生成装置が、前記通信路エミュレータから受け取る誤り訂正符号性能評価値は、LDPC符号化・復号回路生成装置から受け取ったLDPC符号化・復号回路と内蔵されている通信路のエミュレータを組み合わせて、LDPC符号検査行列に基づくLDPC符号の誤り訂正能力を評価したものである請求項１に記載の低密度パリティ検査符号の生成方法。
【請求項３】
前記多目的最適化装置で行われる多目的最適化処理は、遺伝的アルゴリズムを適用して行われる請求項１に記載の低密度パリティ検査符号の生成方法。
【請求項４】
前記通信路エミュレータにおけるLDPC符号化・復号回路の評価のために、送信データとして全て０からなる“００００…０”を送る請求項１に記載の低密度パリティ検査符号の生成方法。
【請求項５】
前記LDPC符号検査行列そのものに対する評価値として、検査行列中の
“1” の数を用いる請求項１に記載の低密度パリティ検査符号の生成方法。
【請求項６】
前記LDPC符号化・復号回路生成装置でLDPC符号化・復号回路を生成して通信路エミュレータに送る際に、通信路エミュレータもいっしょに生成して送る請求項１に記載の低密度パリティ検査符号の生成方法。
【請求項７】
前記通信路エミュレータは、FPGA通信路エミュレータ又は同等の機能を持つソフトウェア、或いはFPGAを用いない専用の通信路エミュレータ、若しくは実際の通信路や通信装置そのものを用いる請求項１に記載の低密度パリティ検査符号の生成方法。
【請求項８】
伝送されるデジタル・データの誤りの訂正を行う通信システム、或いは書き込んだデータを読み出した際のデータ誤りの訂正を行うデータ蓄積装置に適用される請求項１に記載の低密度パリティ検査符号の生成方法。
【請求項９】
複数の評価値を考慮して最適化が可能な多目的最適化装置と、LDPC符号化・復号回路生成装置と、通信路エミュレータとを備え、
前記LDPC符号化・復号回路生成装置は、前記多目的最適化装置から最適解の候補として出力されるLDPC符号検査行列を受け取って該LDPC符号検査行列に基づきLDPC符号化・復号回路を生成して前記通信路エミュレータに渡すと共に、生成したLDPC符号化・復号回路のハードウェアとしての評価値及びLDPC符号検査行列そのものに対する評価値を算出し、かつ、前記通信路エミュレータからLDPC符号化・復号回路の評価結果として誤り訂正符号性能評価値を受け取り、それに内部で算出した前記評価値を合わせて、ベクトル値であるLDPC符号検査行列評価値として前記多目的最適化装置に出力し、
前記多目的最適化装置は、受け取ったLDPC符号検査行列評価値を用いて望ましい評価値を有するLDPC符号を定義するLDPC符号検査行列を作成することから成る低密度パリティ検査符号の生成システム。
【請求項１０】
前記LDPC符号化・復号回路生成装置が、前記通信路エミュレータから受け取る誤り訂正符号性能評価値は、LDPC符号化・復号回路生成装置から受け取ったLDPC符号化・復号回路と内蔵されている通信路のエミュレータを組み合わせて、LDPC符号検査行列に基づくLDPC符号の誤り訂正能力を評価したものである請求項９に記載の低密度パリティ検査符号の生成システム。
【請求項１１】
前記多目的最適化装置で行われる多目的最適化処理は、遺伝的アルゴリズムを適用して行われる請求項９に記載の低密度パリティ検査符号の生成システム。
【請求項１２】
前記通信路エミュレータにおけるLDPC符号化・復号回路の評価のために、送信データとして全て０からなる“００００…０”を送る請求項９に記載の低密度パリティ検査符号の生成システム。
【請求項１３】
前記LDPC符号検査行列そのものに対する評価値として、検査行列中の
“1” の数を用いる請求項９に記載の低密度パリティ検査符号の生成システム。
【請求項１４】
前記LDPC符号化・復号回路生成装置でLDPC符号化・復号回路を生成して通信路エミュレータに送る際に、通信路エミュレータもいっしょに生成して送る請求項９に記載の低密度パリティ検査符号の生成システム。
【請求項１５】
前記通信路エミュレータは、FPGA通信路エミュレータ又は同等の機能を持つソフトウェア、或いはFPGAを用いない専用の通信路エミュレータ、若しくは実際の通信路や通信装置そのものを用いる請求項９に記載の低密度パリティ検査符号の生成システム。
【請求項１６】
伝送されるデジタル・データの誤りの訂正を行う通信システム、或いは書き込んだデータを読み出した際のデータ誤りの訂正を行うデータ蓄積装置に適用される請求項９に記載の低密度パリティ検査符号の生成システム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、最適な低密度パリティ検査符号（LDPC符号）を定義する検査行列を作成するための低密度パリティ検査符号の生成方法及び生成システムに関する。
【背景技術】
【０００２】
誤り訂正符号とは、データの誤りを訂正するために本来のデータとは別に付加される冗長なデータのことである。本来のデータに誤り訂正符号を付加して送信することで、受信者がその受け取ったデータから送信された本来のデータを正しく推測できるようになる。
【０００３】
近年、誤り訂正符号の中でも高い誤り訂正能力を有する低密度パリティ検査符号が注目を集めている。低密度パリティ検査符号は「Low Density Parity Check符号」とも呼ばれることから、以下、「LDPC符号」と呼ぶ。LDPC符号については以下の文献（非特許文献１〜４）に詳細な説明がある。しかし、LDPC符号には、復号時に用いる検査行列の系統的な構成方法が知られていないという欠点があった。
【０００４】
検査行列は、LDPC符号における基本的なデータであり、送信側では検査行列から機械的に導出可能な生成行列というデータを用いて符号化を行い、受信側では検査行列そのものを用いて受信データに誤りが含まれているかどうかを検査し、誤りが存在する場合には検査行列に基づいて処理を行う復号アルゴリズムによって誤りを訂正する。すなわち、LDPC符号をシステムに実装しようとする者は、提案されているアドホックな手法により構成した検査行列を候補として、多くの時間を費やしてシミュレーションなどによりその性能を確認しなければならないなどの問題があった。
【０００５】
この改善策として、復号アルゴリズムを工夫する方法があり、その1つが非特許文献５に説明されている。しかし、いくら復号アルゴリズムを工夫しても、復号処理の基となる検査行列を適切に選択しなければ、十分な誤り訂正ができないことが知られている。
【非特許文献１】和田山 正 著  「低密度パリティ検査符号とその復号法」トリケップス、2002年
【非特許文献２】R.G.Gallager著  「Low density parity check codes」MIT Press、1963年
【非特許文献３】R.H.Morelos-Zaragosa著  「The Art of Error Correcting Coding」Wiley、2003年
【非特許文献４】S.Lin、D.J.Constello, Jr. 著  「Error Control Coding」Pearson Prentice Hall、2004年
【非特許文献５】小林 直人、野村亮、松嶋 敏泰 著  「低密度パリティチェック符号の復号アルゴリズムに関する一考察」電子情報通信学会、2002年
【非特許文献６】C.A.C.Coello、G.B.Lamont編  「Applications of Multi-Objective Evolutionary Algorithms」World Scientific、2004年
【非特許文献７】D.E.Goldberg著  「Genetic Algorithms in Search, Optimization,and Machine Learning」Addison Wesley、1989年
【発明の開示】
【発明が解決しようとする課題】
【０００６】
本発明が解決しようとしている課題は、系統的な構成方法の知られていないLDPC符号に対して、確率的探索アルゴリズムとFPGAエミュレータを用いた代替手法を提示することである。
【課題を解決するための手段】
【０００７】
本発明の低密度パリティ検査符号の生成方法は、複数の評価値を考慮して最適化が可能な多目的最適化装置から最適解の候補としてLDPC符号検査行列をLDPC符号化・復号回路生成装置に出力し、LDPC符号化・復号回路生成装置は、受け取ったLDPC符号検査行列に基づくLDPC符号化・復号回路を生成して、通信路エミュレータに渡し、かつ、生成したLDPC符号化・復号回路についての評価及びLDPC符号検査行列に対する評価を行なって評価値を算出する。さらに、LDPC符号化・復号回路生成装置は、通信路エミュレータからLDPC符号化・復号回路の評価結果を受け取り、それに内部で算出した前記評価値を合わせて、LDPC符号検査行列評価値として前記多目的最適化装置に出力する。多目的最適化装置は、受け取ったLDPC符号検査行列評価値を用いて最適なLDPC符号を定義する検査行列を作成する。
【０００８】
また、本発明の低密度パリティ検査符号の生成システムは、複数の評価値を考慮して最適化が可能な多目的最適化装置と、LDPC符号化・復号回路生成装置と、通信路エミュレータとを備える。前記LDPC符号化・復号回路生成装置は、前記多目的最適化装置から最適解の候補として出力されるLDPC符号検査行列を受け取って該LDPC符号検査行列に基づきLDPC符号化・復号回路を生成して前記通信路エミュレータに渡すと共に、生成したLDPC符号化・復号回路及びLDPC符号検査行列に対する評価を行なって評価値を算出し、かつ、前記通信路エミュレータからLDPC符号化・復号回路の評価結果を受け取り、それに内部で算出した前記評価値を合わせて、LDPC符号検査行列評価値として前記多目的最適化装置に出力する。前記多目的最適化装置は、受け取ったLDPC符号検査行列評価値を用いて最適なLDPC符号を定義するLDPC符号検査行列を作成する。
【発明の効果】
【０００９】
本発明の低密度パリティ検査符号の生成方法及び生成システムは、符号ブロック長と符号化率、すなわち検査行列や生成行列の行数と列数を指定するだけで、検査行列の構成方法を具体的に指定することなく、十分な誤り訂正性能を有するLDPC符号を自動的に探索可能であり、また、互いにトレードオフの関係にあると考えられる誤り訂正の性能と符号化・復号回路の複雑さの両方を同時に考慮した探索が可能であり、さらに、実用的な時間内にLDPC符号とその符号化・復号回路の実装を同時に提示できるという利点がある。
【発明を実施するための最良の形態】
【００１０】
以下、例示に基づき、本発明を説明する。図１は、本発明装置の１実施形態を説明する図である。図中符号１は多目的最適化装置であり、多数の目的を達成、すなわち、多数の評価値を同時に考慮した最適化が可能な装置、ソフトウェア、もしくは、そうしたソフトウェアを搭載した計算機である。多目的最適化のアルゴリズムとしては、非特許文献６に紹介されているようなもの、例えば、NSGA IIアルゴリズムを採用することができる。
【００１１】
多目的最適化装置１は、その多目的最適化の過程で、最適解の候補となる検査行列に対する評価値を得る必要がある。ここで、多目的最適化においては、評価値が複数の値の組、つまり、ベクトルで表現される点が通常の最適化処理と異なる。
【００１２】
図１中で、符号４が多目的最適化装置１から最適解の候補として出力される検査行列であり、符号５がそれに対する評価値ベクトル、LDPC符号検査行列評価値である。多目的最適化装置１から最適解の候補として出力される検査行列４を受け取るのは、LDPC符号化・復号回路生成装置２である。
【００１３】
LDPC符号化・復号回路生成装置２は、多目的最適化装置１からLDPC符号の検査行列４を受け取り、その検査行列４に基づくLDPC符号化・復号回路６を生成して、FPGA通信路エミュレータ３に渡す。
【００１４】
LDPC符号化・復号回路生成装置２は、また、生成したLDPC符号化・復号回路６について、ハードウェアとしての評価を行い、回路規模や最高動作クロック周波数、符号化処理や復号処理のレイテンシなどの評価値を算出するとともに、検査行列そのものに対する評価として、行列中の“1” の数や “1” が2個未満の行や列の存在、また、ループと呼ばれる特別な位置関係に“1” が並んでいる数などを算出する。
【００１５】
さらに、LDPC符号化・復号回路生成装置２は、FPGA通信路エミュレータ３に渡したLDPC符号化・復号回路６の評価結果を、FPGA通信路エミュレータ３から誤り訂正符号性能評価値７として受け取り、それに内部で算出した上記の評価値を合わせて、ベクトル値であるLDPC符号検査行列評価値５として多目的最適化装置１に出力する。多目的最適化装置１は、受け取ったLDPC符号検査行列評価値５を用いて最適なLDPC符号を定義する検査行列を作成する。
【００１６】
FPGA通信路エミュレータ３は、LDPC符号化・復号回路生成装置２から受け取ったLDPC符号化・復号回路６と内蔵されている通信路のエミュレータを組み合わせて、検査行列４に基づくLDPC符号の誤り訂正能力を評価し、その評価結果を誤り訂正符号性能評価値７としてLDPC符号化・復号回路生成装置２に返す。この誤り訂正符号性能評価値７も誤り訂正能力を示す単なるスカラー値ではなく、例えば、個々のSN比に対する訂正後のビット誤り率の変化を表すグラフのようなデータとなる。
【００１７】
次に、多目的最適化装置１の中心的な処理である多目的最適化について説明する。非特許文献６に記載されている通り、多目的最適化は遺伝的アルゴリズムと適性が高く、遺伝的アルゴリズムをベースに実装されることが多い。遺伝的アルゴリズムについては、非特許文献７で詳しく説明されている。遺伝的アルゴリズムを適用するには、まず、最適化の対象となるデータに対して、染色体というデータの構造を決める必要がある。本発明においては、検査行列を染色体に変換する。
【００１８】
図２に、染色体データの構成方法を説明する。符号８が検査行列の一例であり、大きさ６×３の検査行列である。それに対する染色体が符号９であり、ここでは検査行列８の各行を一次元に順番に並べて染色体９を構成する方法を示している。
【００１９】
検査行列から染色体を構成する方法はこれ以外にも存在し、例えば、もう一つは検査行列の各列を一次元に並べて染色体を構成する方法であり、別の方法としては、検査行列中の“1” の座標を1次元に並べて染色体を構成する方法である。
【００２０】
図３に、遺伝的アルゴリズムの具体的なステップを示す。符号１０では、まず、最適化システムの初期化を行う。次の符号１１が遺伝的アルゴリズムの開始点である。符号１２では、遺伝的アルゴリズムの最初のステップとして、初期集団と呼ばれる最適解候補の集合体を生成する。集合体の生成には乱数を利用したり、最適化対象の性質に基づくヒューリスティックスなどを用いることが多い。本発明では、検査行列を多数生成する。
【００２１】
符号１３では、複数の評価値を考慮して、集合体の個々の要素に対する評価値の計算を行う。本発明では、多目的最適化装置１からLDPC符号化・復号回路生成装置２に検査行列４を渡し、FPGA通信路エミュレータ３を使う等して評価値を計算する。
【００２２】
次の符号１４では、選択淘汰、すなわち優れたLDPC符号を残し、そうでないものを捨てるという操作を行う。本発明では多目的最適化を行うために、ベクトル値である評価値を用いてこの操作を行う。
【００２３】
符号１５では、集合体中の2つの要素から交叉という操作を行い、新たな要素を生成する。符号１６では突然変異という操作を行い、新たな要素を生成する。符号１７で、繰り返しの終了条件を満足するかどうかを判定し、決められた回数の繰り返しが終了したなど、条件を満足した場合には符号１８で終了し、そうでない場合には符号１３の前に戻って、さらに上記の処理を行う。
【００２４】
図４により、多目的最適化のためにベクトル値である評価値を用いた選択淘汰のための判断方法を説明する。この例では、評価関数が2つあり、評価値が2値のベクタで表現されている場合について説明する。
【００２５】
図４のように、評価関数が2つの場合、評価値が付された各検査行列は二次元平面上の点として表現される。符号１９が評価関数１に対応した軸、符号２０が評価関数２に対応した軸であり、両関数とも原点に近い方が目的に対して望ましい方向とする。符号２１から符号２６までの点が各検査行列に対応している。
【００２６】
符号２１の点に対して、評価関数１の軸１９に対して垂直線２７を引き、また評価関数２の軸２０に対して垂直線２８を引くと、2つの軸のこれらの垂直線２７、２８とで形成される長方形の領域内には他の点が存在せず、この点２１よりも明らかに優れた点は存在しないことが分かる。多目的最適化では、このような点を望ましい点として残していく。他にも、符号２２、２３，２４が同じように望ましい点である。
【００２７】
一方、符号２６の点に対して、同様の操作を行う。評価関数１の軸１９に対して垂直線２９を引き、また評価関数２の軸２０に対して垂直線３０を引くと、2つの軸のこれらの垂直線２９、３０とで形成される長方形の領域内には他の点２１と２３が存在し、この点２６よりも明らかに優れた点が存在することが分かる。したがって、点２６は望ましい点ではない。他に点２５も同様である。このように、点２１、２２、２３、２４のような望ましい点を残して、最適化を行うことで、多目的最適化が可能となる。
【００２８】
本実施形態には、以下のような３つの変形実施形態が存在する。
第一の変形実施形態は、FPGA通信路エミュレータ３におけるLDPC符号の評価時に、送信データとして“００００…０”を送るというものである。こうすることにより、送信側における、LDPC符号化回路が不要になり、最適化処理が軽くなる。
【００２９】
第二の変形実施形態は、簡便なLDPC符号化・復号回路に対する評価値として、検査行列中の “1” の数を用いるという方法である。こうすることで、LDPC符号化・復号回路生成装置２におけるLDPC符号化・復号回路の評価が不要になり、処理が高速化される。これは、最適化の初期の処理を加速するためにも用いることができる。
【００３０】
第三の変形実施形態は、LDPC符号化・復号回路生成装置２でLDPC符号化・復号回路を生成してFPGA通信路エミュレータ３に送る際に、通信路エミュレータもいっしょに生成してFPGA通信路エミュレータ３に送る方法である。こうすることにより、通信路エミュレータを替えることが可能になり、本発明の適用範囲が広くなる。
【００３１】
以上、図示例に基づき説明したが、この発明は上述の例に限定されるものでなく、特許請求の範囲の記載の範囲内で当業者が容易に改変し得る他の構成をも含むものである。例えば、FPGA通信路エミュレータ３は、FPGAを用いない専用の通信路エミュレータを用いることも可能であり、また、エミュレータではなく実際の通信路や通信装置そのものを用いることも可能である。さらに、FPGA通信路エミュレータ３は、同等の機能を持つソフトウェアとして作成することもできる。
【００３２】
本発明が適用可能な別の例としては、通信路以外のデータ伝送システムにも適応可能であり、最も顕著な例はHDDに代表されるデータ蓄積装置である。さらに、LDPC符号以外の誤り訂正符号に対しても、その誤り訂正符号が構成法の一部にランダム性を有している場合には、本発明の方法や装置が適用可能である。さらに、FPGAの特性を活かして、通信路の特性が変化した場合に、新たな検査行列を評価して、動的に符号化方式を切り替えることも可能である。
【産業上の利用可能性】
【００３３】
本技術は、すべてのデジタル・データを伝送する通信システムのみならず、HDDを初めとするデータ蓄積装置にも適用できる。具体的にデジタル・データ用通信システムには、有線通信及び無線通信があり、有線通信にはケーブルを用いるもの、プリント基板上の通信、ICチップ内の通信などがあり、データ伝送媒体としては電気信号を用いるものや光信号を用いるものがあり、無線通信の媒体としては電磁波を用いるものや赤外光を含む光を用いるものがあるが、これらすべてに適用可能である。
【００３４】
また、データ蓄積装置に対しては、装置に書き込んだデータを読み出した際のデータ誤りの訂正に用いることが可能であり、データ蓄積装置の具体例としては、HDD、フロッピー（登録商標）ディスク、MO、Zip、Jazz、USBフラッシュメモリデバイスをはじめとする不揮発性メモリデバイスを用いた半導体メモリ装置、各種CDや各種DVD、そして、Blu-rayやHD-DVDなどの次世代DVDを扱うデータ蓄積装置に適用可能である。
【図面の簡単な説明】
【００３５】
【図１】低密度パリティ検査符号の生成方法及び生成システムの実施方法を示した説明図である。
【図２】検査行列から染色体データを構成する方法を示した説明図である。
【図３】遺伝的アルゴリズムの実施方法を示した説明図である。
【図４】多目的最適化での望ましい点の判定方法を示した説明図である。
【符号の説明】
【００３６】
１    多目的最適化装置
２    LDPC符号化・復号回路生成装置
３    FPGA通信路エミュレータ
４    LDPC符号検査行列
５    LDPC符号検査行列評価値
６    LDPC符号化・復号回路
７    誤り訂正符号性能評価値
８    LDPC符号検査行列の一例
９    染色体の一例
１０    LDPC生成システムの初期化
１１    遺伝的アルゴリズムの開始点
１２    初期集団の生成
１３    評価値の計算
１４    選択淘汰の実行
１５    交叉の実行
１６    突然変異の実行
１７    終了条件の判定
１８    遺伝的アルゴリズムの終了点
１９    評価関数１の軸
２０    評価関数２の軸
２１    多目的最適化で望ましい点
２２    多目的最適化で望ましい点
２３    多目的最適化で望ましい点
２４    多目的最適化で望ましい点
２５    多目的最適化で望ましくない点
２６    多目的最適化で望ましくない点
２７    点２１から評価関数１の軸に下ろした垂線
２８    点２１から評価関数２の軸に下ろした垂線
２９    点２６から評価関数１の軸に下ろした垂線
３０    点２６から評価関数２の軸に下ろした垂線
【図１】
0004982898.tif 000002
【図２】
0004982898.tif 000003
【図３】
0004982898.tif 000004
【図４】
0004982898.tif 000005