(57)【要約】検査行列の生成方法は、低密度パリティ検査符号によって符号化されると共に、変調シンボル単位とされたａ（但し、ａは自然数）ビットのデータをｂ（但し、ｂは自然数）ビットのデータへと変換することで変調された符号化変調データを復号する検査行列（Ｈ）の生成方法であって、検査行列を構成する各行における同一の変調シンボルのデータに対応するａ個の要素のうち、１となる要素が１個以下となるように各要素を決定することで検査行列を生成する検査行列生成工程を含む。
2009150707.tif 000002
【特許請求の範囲】
【請求項１】
低密度パリティ検査符号によって符号化されると共に、変調シンボル単位とされたａ（但し、ａは自然数）ビットのデータをｂ（但し、ｂは自然数）ビットのデータへと変換することで変調された符号化変調データを復号する検査行列の生成方法であって、
前記検査行列を構成する各行における同一の前記変調シンボルのデータに対応するａ個の要素のうち、１となる要素が１個以下となるように各要素を決定することで前記検査行列を生成する検査行列生成工程
を含むことを特徴とする検査行列の生成方法。
【請求項２】
基本行列を生成する基本行列生成工程を更に含み、
前記検査行列生成工程は、前記基本行列の各要素と大きさが前記変調シンボル単位ａの整数倍であるゼロ行列及び巡回置換行列とを、前記基本行列の各要素の値と前記巡回置換行列の巡回シフト量とが対応するように置換することで前記検査行列を生成する
ことを特徴とする請求の範囲第１項に記載の検査行列の生成方法。
【請求項３】
前記検査行列と行数及び列数が同じである基礎行列を生成する基礎行列生成工程を更に含み、
前記検査行列生成工程は、前記基礎行列を構成する各列を、前記基礎行列を構成する各行における同一の前記変調シンボルのデータに対応するａ個の要素のうち、１となる要素が１個以下となるように互いに入れ替えることにより前記検査行列を生成する
ことを特徴とする請求の範囲第１項に記載の検査行列の生成方法。
【請求項４】
前記検査行列生成工程は、大きさが前記変調シンボル単位ａの整数倍である巡回置換行列を所定の法則に基づいて配列することによって、ＡｒｒａｙＬＤＰＣ符号に対応する検査行列を生成することを特徴とする請求の範囲第１項に記載の検査行列の生成方法。
【請求項５】
前記符号化変調データは、関数ｆ（ｘ）によってインターリーブされており、
前記検査行列生成工程の後に、前記検査行列を構成する各要素を、下記の式、
ｘ＝ｆ｛ｆ−１（ｘ）｝＝ｆ−１｛ｆ（ｘ）｝
を満足するような関数ｆ−１（ｘ）に基づいて互いに入れ替える入替工程
を更に含むことを特徴とする請求の範囲第１項に記載の検査行列の生成方法。
【請求項６】
前記変調シンボルは、可変長ＲＬＬ符号を用いる変調における最大ビット数であることを特徴とする請求の範囲第１項に記載の検査行列の生成方法。
【請求項７】
低密度パリティ検査符号によって符号化されると共に、変調シンボル単位とされたａ（但し、ａは自然数）ビットのデータをｂ（但し、ｂは自然数）ビットのデータへと変換することで変調された符号化変調データを復号する検査行列であって、
当該検査行列を構成する各行における同一の前記変調シンボルのデータに対応するａ個の要素のうち、１となる要素が１個以下となるように各要素を決定することで生成されていることを特徴とする検査行列。
【請求項８】
請求の範囲第６項に記載の検査行列に基づいて、低密度パリティ検査符号によって符号化されると共に、変調シンボル単位とされたａ（但し、ａは自然数）ビットのデータをｂ（但し、ｂは自然数）ビットのデータへと変換することで変調された符号化変調データを復号する復号手段を備えることを特徴とする復号装置。
【請求項９】
請求の範囲第６項に記載の検査行列に基づいて、低密度パリティ検査符号によって符号化されると共に、変調シンボル単位とされたａ（但し、ａは自然数）ビットのデータをｂ（但し、ｂは自然数）ビットのデータへと変換することで変調された符号化変調データを復号する復号工程を含むことを特徴とする復号方法。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、低密度パリティ検査（ＬＤＰＣ：Low Density Parity Check）符号によって符号化されたデータを復号する検査行列の生成方法及び該検査行列の生成方法によって生成された検査行列、並びに前記検査行列を用いる復号装置及び復号方法の技術分野に関する。
【背景技術】
【０００２】
ＬＤＰＣ符号は、要素“０”の数に対して要素“１”の数が非常に少ないような疎な検査行列によって定義される誤り訂正符号であり、検査行列の各列中の要素“１”の数（即ち、列重み）によって符号化後の符号語ビット毎に誤り訂正能力に差があるという性質を持っている。【０００３】
ＬＤＰＣ符号によって符号化されたデータの復号には、上述した検査行列が用いられる（例えば、特許文献１参照）。また、復号における誤り訂正能力を高めるために、尤度値の算出についての様々な技術が提案されている（例えば、特許文献２及び３参照）。【０００４】
更に、通信分野に適用しているＬＤＰＣ符号によって符号化されたデータは多値変調を伴うことが多く、ノイズの発生し易いビット位置等は変調方式等によって異なる場合がある。このため、変調方式に基づいて、より好適にデータを復号するという技術が提案されている（例えば、特許文献４参照）。【０００５】
【特許文献１】特開２００３−１９８３８３号公報
【特許文献２】特開２００５−３０２０７９号公報
【特許文献３】特開２００７−２７２９７３号公報
【特許文献４】特開２００４−６４７５６号公報
【発明の開示】
【発明が解決しようとする課題】
【０００６】
しかしながら、上述した変調方式に基づいて復号を行うという技術は、通信における変調方式（所謂、多値変調）を対象としている。ここで、例えば記録媒体に記録する際に多く用いられる多値変調以外の変調方式によって変調されたデータを復号する際には、上述した技術における変調方式とノイズの影響との関係は成り立たなくなる。よって、多値変調以外の変調方式によって復調されたデータを復号する際には、適切に誤り訂正能力を向上させることができないおそれがあるという技術的問題点がある。【０００７】
本発明は、例えば上述した問題点に鑑みなされたものであり、復調を伴う復号の際に、誤り訂正能力を向上させることが可能な検査行列の生成方法及び検査行列、並びに復号装置及び復号方法を提供することを課題とする。
【課題を解決するための手段】
【０００８】
本発明の検査行列の生成方法は上記課題を解決するために、低密度パリティ検査符号によって符号化されると共に、変調シンボル単位とされたａ（但し、ａは自然数）ビットのデータをｂ（但し、ｂは自然数）ビットのデータへと変換することで変調された符号化変調データを復号する検査行列の生成方法であって、前記検査行列を構成する各行における同一の前記変調シンボルのデータに対応するａ個の要素のうち、１となる要素が１個以下となるように各要素を決定することで前記検査行列を生成する検査行列生成工程を含む。【０００９】
本発明の検査行列の生成方法によれば、ＬＤＰＣ符号によって符号化されると共に、変調された符号化変調データを復号するための検査行列が生成される。ここでの変調は、変調シンボル単位とされたａ（但し、ａは自然数）ビットのデータをｂ（但し、ｂは自然数）ビットのデータへと変換することで行われる。尚、「変調シンボル」とは、変調を行う際に基準となるビット数を指しており、変調方式によって異なる値をとる。また、例えば可変長ＲＬＬ（Run-Length Limited）符号における最大ビット数（即ち、変調則を示す変換テーブルにおける最大語調となるビット数）を含むものとする(例えば、特許文献５参照)。【００１０】
【特許文献５】特開平７−２４０６９１号公報  符号化変調データは、例えば符号化及び変調された後に記録媒体等に記録され、再生される際に復号される。また典型的には、符号化変調データは、復号される前に復調される。復調の際には、上述した変調の際とは逆に、ｂビットのデータがａビットのデータに変換される。復号の際には、検査行列に基づく複数のチェックノード及び複数の変数ノードを含む二部グラフであるタナーグラフにおいて、メッセージと呼ばれる情報がやり取りされる。メッセージは、チェックノード及び変数ノード間を結ぶ枝（エッジ）に沿って送られる。
【００１１】
本発明では特に、上述した復号の際に用いられる検査行列は、検査行列を構成する各行における同一の変調シンボルのデータに対応するａ個の要素のうち、“１”となる要素が１個以下であるように生成されている。言い換えれば、同一の変調シンボルのデータに対応する要素には“１”が２つ以上含まれない。尚、ここでの要素“１”は、タナーグラフにおける枝の存在を意味する。【００１２】
ここで、例えばＳＮＲ（Signal to Noise Ratio）が低下することに起因して、符号化変調データが記録されたり再生されたりする際に発生するノイズは、変調シンボル単位で発生する確率が極めて高い。即ち、ａ個のビット毎にデータに誤りが発生してしまう可能性が高い。【００１３】
これに対し、検査行列が上述したように生成されていれば、仮に同一の変調シンボルのａ個のデータに誤りが生じ、ａ個の誤った尤度値が生成されたとしても、このａ個の尤度値に対応するａ個の変数ノードの各々は、互いに同一のチェックノードとは繋がらない。よって、一のチェックノードに対して、誤りであるａ個の尤度値のうち、複数の尤度値が送られてしまうことはない。従って、一のチェックノードにおける誤ったメッセージの比重を小さくすることができ、復号におけるエラー確率を低くすることが可能である。【００１４】
以上説明したように、本発明の検査行列の生成方法によれば、変調方式に基づいて好適に検査行列を生成することができる。従って、復号の際の誤り訂正能力を向上させることが可能である。【００１５】
本発明の検査行列の生成方法の一態様では、基本行列を生成する基本行列生成工程を更に含み、前記検査行列生成工程は、前記基本行列の各要素と大きさが前記変調シンボル単位ａの整数倍であるゼロ行列及び巡回置換行列とを、前記基本行列の各要素の値と前記巡回置換行列の巡回シフト量とが対応するように置換することで前記検査行列を生成する。【００１６】
この態様によれば、先ず検査行列を生成する前に、検査行列の元となる基本行列が生成される。そして、検査行列は、基本行列の各要素をゼロ行列及び巡回置換行列で置換することで生成される。尚、「巡回置換行列」は、例えば単位行列等の各行及び各列に“１”が夫々１つしか存在しないような正方行列であり、「ゼロ行列」は、巡回置換行列と大きさ（即ち、行数及び列数）が同じである要素が“０”の正方行列である。基本行列の各要素及び巡回置換行列は、基本行列の各要素の値が、巡回置換行列の巡回シフト量と対応するように置換される。即ち、ここでの検査行列は、所謂ＱＣ（Quasi Cyclic）−ＬＤＰＣ符号に対応する検査行列である。尚、「巡回シフト量」とは、巡回置換行列を何回巡回シフトさせるかを示す値であり、例えば基本行列における要素が“１”である場合には、巡回置換行列が右方向に１回巡回シフトされた行列と置換される。また、例えば要素が負の値などであり、巡回シフト量と対応させることができない場合には、ゼロ行列と置換される。【００１７】
本態様では特に、置換されるゼロ行列及び巡回置換行列の大きさが変調シンボル単位ａの整数倍とされている。よって、検査行列を構成する各行における同一の変調シンボルのデータに対応するａ個の要素のうち、“１”となる要素は１個以下とされる。従って、復号の際の誤り訂正能力を向上させることが可能できる。【００１８】
本発明の検査行列の生成方法の他の態様では、前記検査行列と行数及び列数が同じである基礎行列を生成する基礎行列生成工程を更に含み、前記検査行列生成工程は、前記基礎行列を構成する各列を、前記基礎行列を構成する各行における同一の前記変調シンボルのデータに対応するａ個の要素のうち、１となる要素が１個以下となるように互いに入れ替えることにより前記検査行列を生成する。【００１９】
この態様によれば、先ず検査行列を生成する前に、検査行列の元となる基礎行列が生成される。尚、基礎行列は、検査行列と行数及び列数が同じであり、“０”及び“１”の要素を含んで構成されている。そして、この基礎行列において、基礎行列を構成する各行における同一の変調シンボルのデータに対応するａ個の要素のうち、１となる要素が１個以下となるように、各列が互いに入れ替えられる。よって、検査行列を構成する各行における同一の変調シンボルのデータに対応するａ個の要素のうち、“１”となる要素は確実に１個以下とされる。従って、復号の際の誤り訂正能力を向上させることが可能である。【００２０】
本態様の検査行列生成方法は、例えばＧａｌｌａｇｅｒの提唱した検査行列の生成方法（所謂、Ｇａｌｌａｇｅｒ符号に対応する検査行列の生成方法）に応用可能である。【００２１】
本発明の検査行列の生成方法の他の態様では、前記検査行列生成工程は、大きさが前記変調シンボル単位ａの整数倍である巡回置換行列を所定の法則に基づいて配列することによって、ＡｒｒａｙＬＤＰＣ符号に対応する検査行列を生成する。【００２２】
この態様によれば、複数の巡回置換行列が所定の法則に基づいて配列されることで、ＡｒｒａｙＬＤＰＣ符号に対応する検査行列が生成される。具体的には、例えば巡回置換行列の大きさをｐとすると、検査行列の上からｐ行には、巡回シフトされない巡回置換行列が配列される。そして、続くｐ行には、先ず一番左側に巡回シフトされない巡回置換行列が配列され、その後に１回巡回シフトされた巡回置換行列、２回シフトされた巡回置換行列、３回シフトされた巡回置換行列、・・・の順で配列される。更に、続くｐ行には、先ず一番左側に巡回シフトされない巡回置換行列が配列され、その後に２回巡回シフトされた巡回置換行列、３回シフトされた巡回置換行列、４回シフトされた巡回置換行列、・・・の順で配列される。【００２３】
本態様では特に、置換される巡回置換行列の大きさ（即ち、行数及び列数）が変調シンボル単位ａの整数倍とされている。よって、検査行列を構成する各行における同一の変調シンボルのデータに対応するａ個の要素のうち、“１”となる要素は１個以下とされる。従って、復号の際の誤り訂正能力を向上させることが可能である。【００２４】
本発明の検査行列の生成方法の他の態様では、前記符号化変調データは、関数ｆ（ｘ）によってインターリーブされており、前記検査行列生成工程の後に、前記検査行列を構成する各要素を、下記の式、ｘ＝ｆ｛ｆ−１（ｘ）｝＝ｆ−１｛ｆ（ｘ）｝を満足するような関数ｆ−１（ｘ）に基づいて互いに入れ替える入替工程を更に含む。【００２５】
この態様によれば、符号化変調データは、関数ｆ（ｘ）によってインターリーブ（即ち、配置換え）されている。符号化変調データがインターリーブされていることにより、例えばデータの特定の箇所において集中的に誤りが発生した場合であっても、好適に誤りを訂正することが可能となる。【００２６】
本態様では特に、先ず検査行列が各行における同一の変調シンボルのデータに対応するａ個の要素のうち、１となる要素が１個以下であるように生成され、その後に、検査行列を構成する各列が、関数ｆ−１（ｘ）に基づいて互いに入れ替えられる。関数ｆ−１（ｘ）は、ｘ＝ｆ｛ｆ−１（ｘ）｝＝ｆ−１｛ｆ（ｘ）｝を満足するような関数である。即ち、関数ｆ−１（ｘ）は、インターリーブされたデータをデインターリーブ（配置戻し）する際に用いられる関数である。【００２７】
よって、上述したインターリーブによってデータの配置が換えられた場合であっても、検査行列を構成する各行における同一の前記変調シンボルのデータに対応するａ個の要素のうち、１となる要素が１個以下とされる。従って、復号の際の誤り訂正能力を向上させることが可能である。【００２８】
本発明の検査行列の生成方法の他の態様では、前記変調シンボルは、可変長ＲＬＬ符号を用いる変調における最大ビット数である。【００２９】
この態様によれば、可変長ＲＬＬ符号を変調則として用いた場合の最大ビット数であるａ個の要素のうち、“１”となる要素が１個以下であるように生成される。このため、可変長ＲＬＬ符号を変調則として用いた場合の誤り訂正能力を向上させることができる。即ち、最大ビット数であるａ個のビット毎にデータに誤りが発生してしまう可能性が高いことを利用して、効果的に誤り訂正能力を向上させることが可能である。【００３０】
本発明の検査行列は上記課題を解決するために、低密度パリティ検査符号によって符号化されると共に、変調シンボル単位とされたａ（但し、ａは自然数）ビットのデータをｂ（但し、ｂは自然数）ビットのデータへと変換することで変調された符号化変調データを復号する検査行列であって、当該検査行列を構成する各行における同一の前記変調シンボルのデータに対応するａ個の要素のうち、１となる要素が１個以下となるように各要素を決定することで生成されている。【００３１】
本発明の検査行列は、検査行列を構成する各行における同一の変調シンボルのデータに対応するａ個の要素のうち、１となる要素が１個以下となるように各要素を決定することで生成されている。よって、上述した本発明の検査行列の生成方法と同様に、変調方式によって異なる誤りの発生し易さを考慮したものとされている。従って、復号の際の誤り訂正能力を向上させることが可能である。【００３２】
尚、本発明の検査行列においても、上述した本発明の検査行列の生成方法と同様の各種態様をとることが可能である。【００３３】
本発明の復号装置は上記課題を解決するために、上述した本発明の検査行列（但し、その各種態様も含む）に基づいて、低密度パリティ検査符号によって符号化されると共に、変調シンボル単位とされたａ（但し、ａは自然数）ビットのデータをｂ（但し、ｂは自然数）ビットのデータへと変換することで変調された符号化変調データを復号する復号手段を備える。【００３４】
本発明の復号装置によれば、符号化変調データを復号する際に、上述した本発明の検査行列が用いられる。従って、復号の際の誤り訂正能力を向上させることが可能である。尚、可変長ＲＬＬ符号を用いる変調が行われている場合には、変調シンボル単位であるａは、最大ビット数とされてもよい。また、本発明の復号装置は、変調されたデータを復調する復調手段等を備えて構成されてもよい。【００３５】
本発明の復号方法は上記課題を解決するために、上述した本発明の検査行列（但し、その各種態様も含む）に基づいて、低密度パリティ検査符号によって符号化されると共に、変調シンボル単位とされたａ（但し、ａは自然数）ビットのデータをｂ（但し、ｂは自然数）ビットのデータへと変換することで変調された符号化変調データを復号する復号工程を含む。【００３６】
本発明の復号方法によれば、符号化変調データを復号する際に、上述した本発明の検査行列が用いられる。従って、復号の際の誤り訂正能力を向上させることが可能である。尚、可変長ＲＬＬ符号を用いる変調が行われている場合には、変調シンボル単位であるａは、最大ビット数とされてもよい。【００３７】
本発明の作用及び他の利得は、次に説明する実施するための最良の形態から明らかにされる。
【図面の簡単な説明】
【００３８】
【図１】データの符号化及び復号の流れを装置構成と共に示すブロック図（その１）である。
【図２】変調前の入力データ及び変調後のデータを概念図である。
【図３】第１実施形態に係る検査行列の生成方法の流れを示すフローチャートである。
【図４】検査行列の元となる基本行列を示す図である。
【図５】巡回置換行列によって構成される検査行列の一例を示す図である。
【図６】第１実施形態に係る生成方法により生成した検査行列の一例を示す図（その１）である。
【図７】図６に示す検査行列に対応するタナーグラフである。
【図８】比較例に係る生成方法により生成した検査行列の一例を示す図（その１）である。
【図９】図８に示す検査行列に対応するタナーグラフである。
【図１０】復号におけるビット誤り率及び信号対雑音比の関係を示すグラフ（その１）である。
【図１１】第１実施形態に係る生成方法により生成した検査行列の一例を示す図（その２）である。
【図１２】図１１に示す検査行列に対応するタナーグラフである。
【図１３】比較例に係る生成方法により生成した検査行列の一例を示す図（その２）である。
【図１４】図１３に示す検査行列に対応するタナーグラフである。
【図１５】復号におけるビット誤り率及び信号対雑音比の関係を示すグラフ（その２）である。
【図１６】第２実施形態に係る検査行列の生成方法の流れを示すフローチャートである。
【図１７】基礎行列Ｈ’における一のブロックを示す図である。
【図１８】第３実施形態に係る検査行列の生成方法によって生成される検査行列の一例を示す図である。
【図１９】検査行列を構成する巡回置換行列を示す図である。
【図２０】データの符号化及び復号の流れを装置構成と共に示すブロック図（その２）である。
【図２１】第４実施形態に係る検査行列の生成方法の流れを示すフローチャートである。
【符号の説明】
【００３９】
１１０  ＬＤＰＣエンコーダ
１２０  モジュレータ
１３０  マーカ付与部
１４０  マーカ検出部
１５０  デモジュレータ
１６０  ＬＤＰＣデコーダ
１７０  インターリーバ
１８０  デインターリーバ
２００  ホログラフィックメモリ
【発明を実施するための最良の形態】
【００４０】
以下では、本発明の実施形態について図を参照しつつ説明する。以下では、符号化及び変調された符号化変調データがホログラフィックメモリに記憶される場合を例にとり説明する。【００４１】
＜第１実施形態＞
先ず、第１実施形態に係る復号装置の構成及びデータの符号化から復号までの流れについて、図１及び図２を参照して説明する。ここに図１は、データの符号化及び復号の流れを装置構成と共に示すブロック図であり、図２は、変調前の入力データ及び変調後のデータを概念図である。【００４２】
図１において、本実施形態に係る復号装置によって復号されるデータは、先ずＬＤＰＣエンコーダ１１０によって符号化される。即ち、ＬＤＰＣ符号のパリティを付加したＬＤＰＣコードが生成される。続いて、符号化されたデータは、モジュレータ１２０において変調される。変調の際には、変調シンボルの単位とされるａビットのデータがｂビットのデータへと変換される。【００４３】
図２において、例えば２ビットのデータを４ビットのデータへと変換する（２，４）変調を行う場合には、図に示すようにデータが変換される。即ち、２ビットのデータが、４つの画素によって示される４ビットのデータへと変換される。【００４４】
図１に戻り、変調されたデータは、マーカ付与部１３０において、検出する際の位置補正用のマーカや同期検出用のシンクパターン等が付与される。その後、データは、ホログラフィックメモリ２００に記録される。【００４５】
ホログラフィックメモリ２００から再生される再生信号は、例えばＡ／Ｄ（Analog to Digital）コンバータ（図示せず）によって、再生サンプル値系列に変換される。再生サンプル値系列は、マーカ検出部１４０において、マーカが検出されることにより幾何補正する処理が施される、或いは、シンクパターンが検出されることで同期を取る処理が施され、変調サンプル値系列が抽出される。【００４６】
変調サンプル値系列は、例えばＳＩＳＯ（Soft-In-Soft-Out）復調器等からなるデモジュレータ１５０において復調され、復調サンプル値系列として出力される。ＳＩＳＯ復調器は、例えばビタビ復号によって最尤復号を行うが、出力は通常のビタビ復号のような二値データでなく、多値データである。尚、ＳＩＳＯ復調器は、例えばＢＣＪＲアルゴリズムを使用した復号器により実現できる。【００４７】
ＬＤＰＣデコーダ１６０は、本発明の「復号手段」の一例であり、入力された復調サンプル値系列（即ち、尤度情報）を、ＬＤＰＣ符号を規定する検査行列Ｈに基づいて復号する。具体的には、検査行列に対応する二部グラフであるタナーグラフ上で、事前値比や外部値といったメッセージがやり取りされることにより反復復号が行われる。メッセージは、タナーグラフにおける変数ノード及びチェックノード間を、検査行列Ｈにおける要素“１”に対応して設けられた枝を通してやり取りされる。【００４８】
この際、例えばＳｕｍ−Ｐｒｏｄｕｃｔ復号によって最大事後確率が求められる。ここで、Ｓｕｍ−Ｐｒｏｄｕｃｔ復号によって得た符号ビットから生成された一時推定語のシンドローム計算が“０”となれば、誤り無しとしてＬＤＰＣパリティを取り除いたＬＤＰＣ訂正データ（２値）が出力される。一方、シンドローム計算が“１”の場合、予め定めた最大所定回数までは反復復号が行われ、その都度シンドローム計算が行われる。反復回数が最大所定回数に達すると、エラー処理を施し後段の処理へ移行する。【００４９】
次に、本実施形態に係る復号装置で用いられる検査行列の生成方法について、図３から図５を参照して説明する。ここに図３は、第１実施形態に係る検査行列の生成方法の流れを示すフローチャートである。また図４は、検査行列の元となる基本行列を示す図であり、図５は、巡回置換行列によって構成される検査行列の一例を示す図である。尚、以下では、ＱＣ−ＬＤＰＣ符号に対応する検査行列を生成する場合について説明する。【００５０】
図３において、本実施形態に係る検査行列を生成する際には、先ず符号化率Ｒ、符号長Ｎ及び検査ビット（即ち、パリティビット）の数Ｍを決める（ステップＳ１１）。続いて、基本行列Ｈｂａｓｅの行数ｍ及び列数ｎ、並びに基本行列Ｈｂａｓｅの各要素と置換される巡回置換行列の大きさ（即ち、行数及び列数）ｐを決める（ステップＳ１２）。ここで特に、モジュレータ１２０における変調を（ａ，ｂ）変調とした場合、Ｍ／ｍ＝Ｎ／ｎ＝ｐがａの整数倍となるように決定される。これにより、生成される検査行列Ｈを構成する各行における同一の変調シンボルのデータに対応するａ個の要素のうち、“１”となる要素は確実に１個以下とされる。尚、ここでの「ａ」は、可変長ＲＬＬ符号における最大ビット数であっても構わない。【００５１】
続いて、列重み（即ち、検査行列を構成する各列における“１”の数）及び行重み（即ち、検査行列を構成する各行における“１”の数）を満足する基本行列Ｈｂａｓｅの要素から巡回置換行列に置き換えるものを、乱数を元に選び（ステップＳ１３）、選んだ要素の各々に割り当てる“０”から“ｐ−１”の巡回シフト量を、乱数を元に選ぶ（ステップＳ１４）。この際、巡回シフト量は、ループが“４”とならないように（即ち、タナーグラフ上で４回枝を移動して、元のノードに戻ってくることがないように）選択される。【００５２】
最後に、基本行列Ｈｂａｓｅの要素が、ゼロ行列及び巡回置換行列によって置き換えられることで、検査行列Ｈが生成される（ステップＳ１５）。【００５３】
図４に示すように、例えば３行５列の基本行列Ｈｂａｓｅが生成された場合、基本行列Ｈｂａｓｅにおける要素“０”は単位行列と置き換えられ、要素“１”は単位行列を右側に１回巡回シフトした行列と置き換えられる。また要素“２”は単位行列を右側に２回巡回シフトした行列と置き換えられ、要素“３”は単位行列を右側に３回巡回シフトした行列と置き換えられる。要素“−１”はゼロ行列と置き換えられる。【００５４】
図５に示すように、図４に示したＨｂａｓｅは、各要素が４行４列（即ち、大きさｐが４）のゼロ行列及び巡回置換行列によって置き換えられる。尚、図５では、ゼロ行列を“０”で示しており、他の巡回置換行列では、要素“０”を省略し、要素“１”のみを示している。モジュレータ１２０における変調を（２，４）変調とした場合、ゼロ行列及び巡回置換行列の大きさｐ＝４は、変調シンボル単位である２の整数倍である。この場合、図５で示す検査行列Ｈを見ても分かるように、各行における同一変調シンボルのデータに対応する要素（即ち、互いに隣り合う２つの要素）において、“１”は複数含まれない。【００５５】
次に、上述した検査行列を用いることによる効果について、図６から図１０を参照して説明する。ここに、図６は、本実施形態に係る生成方法により生成した検査行列の一例を示す図であり、図７は、図６に示す検査行列に対応するタナーグラフである。また図８は、比較例に係る生成方法により生成した検査行列の一例を示す図であり、図９は、図８に示す検査行列に対応するタナーグラフである。図１０は、復号におけるビット誤り率及び信号対雑音比の関係を示すグラフである。尚、以下では、モジュレータ１２０（図１参照）が（２，４）変調を行う場合を例にとり説明する。【００５６】
図６及び図７において、例えば上述した本実施形態に係る検査行列の生成方法によって、図６に示すような検査行列Ｈａが生成されているとする。すると、検査行列Ｈａに対応するタナーグラフは図７示すようなものとなる。尚、タナーグラフにおけるチェックノードは、検査行列Ｈａの各行に対応しており、変数ノードは、検査行列Ｈａの各列に対応している。また、要素が“１”とされた部分にのみ枝が存在している。【００５７】
図６に示す検査行列Ｈａは、各行における同一変調シンボルのデータに対応する要素において、“１”は複数含まれない。具体的には、図中において破線で囲まれる要素のうち、同一行のものには、“１”が複数含まれない。よって、図７に示すタナーグラフでは、同一変調シンボルのデータに対応する変数ノードからは、同一のチェックノードに対してエッジは接続されない。【００５８】
例えば、復号するデータにおける一の変調シンボルに誤りが生じており、変数ノードに対して、誤った変調シンボルからの生成された２つの尤度値（λＥｒ１，λＥｒ２）が入力されたとする。これに対し、本実施形態では上述したように、同一変調シンボルのデータに対応する変数ノードからは、同一のチェックノードに対してエッジは接続されない。よって、誤った変調シンボルからの生成された２つの尤度値（λＥｒ１，λＥｒ２）が、同一のチェックノードに対して送られることはない。具体的には、図７において矢印で示すエッジでやり取りされるメッセージには、尤度値（λ１、λ４、λＥｒ2）が含まれ、誤った尤度値は１つのみとなる。他のエッジにおいても、同様に、誤った尤度値は多くとも一方しか含まれない。【００５９】
図８及び図９において、例えば上述した本実施形態に係る検査行列の以外の生成方法によって、図８に示すような検査行列Ｈｂが生成されているとする。すると、検査行列Ｈｂに対応するタナーグラフは図９示すようなものとなる。検査行列Ｈｂには、各行における同一変調シンボルのデータに対応する要素において、“１”が複数含まれている。よって、図９に示すタナーグラフでは、図７で示したタナーグラフと異なり、同一変調シンボルのデータに対応する変数ノードから、同一のチェックノードに対してエッジが接続される場合がある。【００６０】
ここで、上述した場合と同様に、復号するデータにおける一の変調シンボルに誤りが生じており、変数ノードに対して、誤った変調シンボルからの生成された２つの尤度値（λＥｒ１，λＥｒ２）が入力されたとする。ここで、比較例に係るタナーグラフでは上述したように、同一変調シンボルのデータに対応する変数ノードから、同一のチェックノードに対してエッジが接続される場合がある。よって、誤った変調シンボルからの生成された２つの尤度値（λＥｒ１，λＥｒ２）が、同一のチェックノードに対して送られてしまう場合がある。具体的には、図９において矢印で示すエッジでやり取りされるメッセージには、尤度値（λｎ−３、λＥｒ１，λＥｒ２）が含まれ、誤った尤度値が２つとも含まれる。他のエッジにおいても、同様に、誤った尤度値が２つとも含まれてしまう場合がある。【００６１】
図１０において、本実施形態に係る検査行列の生成方法によって生成された検査行列を用いて復号する場合には、誤ったメッセージの重みを小さくすることができる。本願発明者の研究によれば、グラフで示されるように、信号対雑音比が同一である場合のビット誤り率は、検査行列Ｈｂで復号した際のものより、検査行列Ｈａで復号した際のものの方が常に小さくなる。【００６２】
続いて、（６，９）変調を行う場合についても、図１１から図１５を参照して同様に説明する。ここに図１１は、本実施形態に係る生成方法により生成した検査行列の一例を示す図であり、図１２は、図１１に示す検査行列に対応するタナーグラフである。また図１３は、比較例に係る生成方法により生成した検査行列の一例を示す図であり、図１４は、図１３に示す検査行列に対応するタナーグラフである。図１５は、復号におけるビット誤り率及び信号対雑音比の関係を示すグラフである。【００６３】
図１１及び図１２において、例えば上述した本実施形態に係る検査行列の生成方法によって、図１１に示すような検査行列Ｈａが生成されているとする。すると、検査行列Ｈａに対応するタナーグラフは図１２示すようなものとなる。図１１に示す検査行列Ｈａは、各行における同一変調シンボルのデータに対応する要素において、“１”は複数含まれない。具体的には、図中において破線で囲まれる要素のうち、同一行のものには、“１”が複数含まれない。よって、図１２に示すタナーグラフでは、同一変調シンボルのデータに対応する変数ノードからは、同一のチェックノードに対してエッジは接続されない。【００６４】
例えば、復号するデータにおける一の変調シンボルに誤りが生じており、変数ノードに対して、誤った変調シンボルからの生成された６つの尤度値（λＥｒ１〜λＥｒ６）が入力されたとする。これに対し、本実施形態では上述したように、同一変調シンボルのデータに対応する変数ノードからは、同一のチェックノードに対してエッジは接続されない。よって、誤った変調シンボルからの生成された６つの尤度値（λＥｒ１〜λＥｒ６）が、同一のチェックノードに対して複数送られることはない。具体的には、図１２において矢印で示すエッジでやり取りされるメッセージには、尤度値（λ７、λＥｒ１）が含まれ、誤った尤度値は１つのみとなる。他のエッジにおいても、同様に、誤った尤度値は多くとも１つしか含まれない。【００６５】
図１３及び図１４において、例えば上述した本実施形態に係る検査行列の以外の生成方法によって、図１３に示すような検査行列Ｈｂが生成されているとする。すると、検査行列Ｈｂに対応するタナーグラフは図１４示すようなものとなる。検査行列Ｈｂには、各行における同一変調シンボルのデータに対応する要素において、“１”が複数含まれている。よって、図１４に示すタナーグラフでは、図１２で示したタナーグラフと異なり、同一変調シンボルのデータに対応する変数ノードから、同一のチェックノードに対してエッジが接続される場合がある。【００６６】
ここで、上述した場合と同様に、復号するデータにおける一の変調シンボルに誤りが生じており、変数ノードに対して、誤った変調シンボルからの生成された６つの尤度値（λＥｒ１〜λＥｒ６）が入力されたとする。ここで、比較例に係るタナーグラフでは上述したように、同一変調シンボルのデータに対応する変数ノードから、同一のチェックノードに対してエッジが接続される場合がある。よって、誤った変調シンボルからの生成された６つの尤度値（λＥｒ１〜λＥｒ６）が、同一のチェックノードに対して複数送られてしまう場合がある。具体的には、図１４において矢印で示すエッジでやり取りされるメッセージには、尤度値（λＥｒ１〜λＥｒ６）の全てが含まれることとなる。他のエッジにおいても、同様に、誤った尤度値が２つ以上含まれてしまう場合がある。【００６７】
図１５において、（６，９）変調を行う場合においても、上述した（２，４）変調の場合と同様に、本実施形態に係る検査行列の生成方法によって生成された検査行列を用いて復号する場合には、誤ったメッセージの重みを小さくすることができる。本願発明者の研究によれば、グラフで示されるように、信号対雑音比が同一である場合のビット誤り率は、検査行列Ｈｂで復号した際のものより、検査行列Ｈａで復号した際のものの方が常に小さくなる。【００６８】
以上説明したように、第１実施形態に係る復号装置によれば、変調方式に基づいて好適に検査行列が生成されているため、誤り訂正能力を向上させることが可能である。【００６９】
＜第２実施形態＞
次に、第２実施形態に係る復号装置について、図１６及び図１７を参照して説明する。ここに図１６は、第２実施形態に係る検査行列の生成方法の流れを示すフローチャートであり、図１７は、基礎行列Ｈ’における一のブロックを示す図である。尚、第２実施形態は、上述した第１実施形態と比べて、復号の際に用いる検査行列の生成方法が異なり、装置構成や復号方法等は概ね同じである。よって、ここでは第１実施形態と異なる部分について詳細に説明し、他の重複する部分については適宜説明を省略する。【００７０】
図１６において、第２実施形態に係る復号装置では、Ｇａｌｌａｇｅｒ符号に対応する検査行列が用いられる。検査行列Ｈを生成する際には、先ず列重みＷｃｏｌ、行重みＷｒｏｗ、符号化率Ｒ、符号長Ｎ、検査ビット数Ｍを決める（ステップＳ２１）。但し、Ｎ×Ｗｃｏｌ＝Ｍ×Ｗｒｏｗであり、Ｒ＝１−（Ｍ／Ｎ）である。続いて、検査行列Ｈと同じ大きさの基礎行列Ｈ’をＷｃｏｌ個のブロックに分割する（ステップＳ２２）。【００７１】
図１７に示すように、基礎行列Ｈ’をブロックに分割した後は、各ブロックが、“１”がＷｒｏｗ個連続して並び、残りは全て“０”である行と、その行をＷｒｏｗだけ巡回シフトした行と、更にその行をＷｒｏｗだけ巡回シフトした行と・・・から構成されるようにする（ステップＳ２３）。【００７２】
図１６に戻り、最後に基礎行列Ｈ’を、各行における同一変調シンボルのデータに対応する要素において、“１”が複数含まれないように列置換する（ステップＳ２４）。これによって、上述した第１実施形態と同様に、各行における同一変調シンボルのデータに対応する要素において、“１”が複数含まれない検査行列Ｈを生成することができる。よって、本実施形態に係る検査行列の生成方法によって生成された検査行列Ｈを用いる復号では、エラー率を低下させることができる。【００７３】
以上説明したように、第２実施形態に係る復号装置によれば、上述した第１実施形態と同様に、変調方式に基づいて好適に検査行列が生成されているため、誤り訂正能力を向上させることが可能である。【００７４】
＜第３実施形態＞
次に、第３実施形態に係る復号装置について、図１８及び図１９を参照して説明する。ここに図１８は、第３実施形態に係る検査行列の生成方法によって生成される検査行列の一例を示す図であり、図１９は、検査行列を構成する巡回置換行列を示す図である。尚、第３実施形態は、上述した第１及び第２実施形態と比べて、復号の際に用いる検査行列の生成方法が異なり、装置構成や復号方法等は概ね同じである。よって、ここでは上述した実施形態と異なる部分について詳細に説明し、他の重複する部分については適宜説明を省略する。【００７５】
図１８及び図１９において、第２実施形態に係る復号装置では、ＡｒｒａｙＬＤＰＣ符号に対応する検査行列が用いられる。ＡｒｒａｙＬＤＰＣ符号に対応する検査行列Ｈは、単位行列Ｉと単位行列Ｉの巡回置換行列であるαｘが、図１８に示すように配列された行列である。尚、巡回置換行列αｘの添え字ｘは巡回シフト量を表しており、例えばα１は、図１９に示すように、単位行列を右側に１回巡回シフトさせたものとなる。また、図１８における添え字ｊは列重み、ｋは行重みを夫々表している。【００７６】
ここで、上述した単位行列Ｉ及び巡回置換行列αｘの大きさは、変調シンボルの単位であるａの整数倍とされている。よって、上述した第１実施形態と同様に、各行における同一変調シンボルのデータに対応する要素において、“１”が複数含まれないようにすることができる。よって、本実施形態に係る検査行列の生成方法によって生成された検査行列Ｈを用いる復号では、エラー率を低下させることができる。【００７７】
以上説明したように、第３実施形態に係る復号装置によれば、上述した第１及び第２実施形態と同様に、変調方式に基づいて好適に検査行列が生成されているため、誤り訂正能力を向上させることが可能である。【００７８】
＜第４実施形態＞
次に、第４実施形態に係る復号装置について、図２０及び図２１を参照して説明する。ここに図２０は、データの符号化及び復号の流れを装置構成と共に示すブロック図であり、図２１は、第４実施形態に係る検査行列の生成方法の流れを示すフローチャートである。尚、第４実施形態は、上述した実施形態と比べて、復号の際に用いる検査行列の生成方法が異なり、復号方法等は概ね同じである。よって、ここでは上述した実施形態と異なる部分について詳細に説明し、他の重複する部分については適宜説明を省略する。また、図２０及び図２１では、図１及び図３で示した第１実施形態と同様の構成要素に同一の符号を付している。【００７９】
図２０において、第４実施形態に係る復号装置によって復号されるデータは、記録の際にＬＤＰＣエンコーダ１１０によって符号化された後、インターリーバ１７０によってインターリーブされる。具体的には、インターリーバ１７０は、配置位置関数ｆ（ｘ）に基づいて、入力されたデータの配置を並び替える。そして、再生する際には、デモジュレータ１５０によって復調された後、デインターリーバ１８０によってデインターリーブされる。具体的には、デインターリーバ１８０は、配置位置関数ｆ−１（ｘ）に基づいて、入力されたデータの配置を並び替える。尚、関数ｆ（ｘ）及び関数ｆ−１（ｘ）は、ｘ＝ｆ｛ｆ−１（ｘ）｝＝ｆ−１｛ｆ（ｘ）｝の関係を満足する。【００８０】
図２１において、第４実施形態に係る検査行列の生成方法では、第１実施形態と同様に、ステップＳ１１からステップＳ１５までの処理を行い、検査行列Ｈを生成した後に、デインターリーバ１８０における配置位置関数ｆ−１（ｘ）に基づいて、各列を互いに入れ替える（ステップＳ１６）。これによって、データがインターリーブされて記録される場合であっても、復号の際に好適にエラー率を低下させることができる。即ち、データが並び替えられるような場合であっても、どのように並び替えたかが分かれば、適切な検査行列Ｈを生成することができる。【００８１】
以上説明したように、第４実施形態に係る復号装置によれば、上述した第１から第３実施形態と同様に、変調方式に基づいて好適に検査行列が生成されているため、誤り訂正能力を向上させることが可能である。【００８２】
本発明は、上述した実施形態に限られるものではなく、請求の範囲及び明細書全体から読み取れる発明の要旨或いは思想に反しない範囲で適宜変更可能であり、そのような変更を伴う検査行列の生成方法及び検査行列、並びに復号装置及び方法もまた本発明の技術的範囲に含まれるものである。
【産業上の利用可能性】
【００８３】
本発明の検査行列の生成方法及び検査行列、並びに復号装置及び復号方法は、例えば次世代光ディスク、ホログラフィックメモリ、強誘電プローブメモリ、ＨＤＤ（Hard Disc Drive）等の記録媒体への記録及び再生に利用可能である。また、通信、放送等におけるＬＤＰＣやＢＣＨが規格化された分野においても利用可能である。
【図１】
2009150707.tif 000003
【図２】
2009150707.tif 000004
【図３】
2009150707.tif 000005
【図４】
2009150707.tif 000006
【図５】
2009150707.tif 000007
【図６】
2009150707.tif 000008
【図７】
2009150707.tif 000009
【図８】
2009150707.tif 000010
【図９】
2009150707.tif 000011
【図１０】
2009150707.tif 000012
【図１１】
2009150707.tif 000013
【図１２】
2009150707.tif 000014
【図１３】
2009150707.tif 000015
【図１４】
2009150707.tif 000016
【図１５】
2009150707.tif 000017
【図１６】
2009150707.tif 000018
【図１７】
2009150707.tif 000019
【図１８】
2009150707.tif 000020
【図１９】
2009150707.tif 000021
【図２０】
2009150707.tif 000022
【図２１】
2009150707.tif 000023
【国際調査報告】
2009150707.tif 000024
2009150707.tif 000025
2009150707.tif 000026
2009150707.tif 000027