(57)【要約】【課題】低密度生成マトリックスコードのエンコード方法及び装置、ならびにデコード方法及び装置を提供する。【解決手段】P個のコード率がR0（Ｒ０＝ｋｂ／ｎｂ、ｋｂは基本マトリックスの行数で、ｎｂは基本マトリックスの列数である。）であり、コードの長さが異なる低密度生成マトリックスコードが、統一的な基本マトリックスＧｂｕｎｉｆｏｒｍを持つ低密度生成マトリックスコードのマザーコード集を構築し、低密度生成マトリックスコードのマザーコード集におけるエンコード待ちの情報ビットシーケンスの長さKと中間変数の長さLとの関係により、中間変数の長さLを取得し、中間変数の長さLと基本マトリックスの行数kbを用い、基本マトリックスを処理する拡張ファクターｚｋを取得し、かつ、拡張ファクターｚｋを用い基本マトリックスに対して補正と拡張を行い、生成マトリックスGldgcを取得し、生成マトリックスのL行と前N＋L−K列によって組み立てられたマトリックスGldgc（1:L, 1:N+L-K）を用い、エンコード待ちの情報ビットシーケンスをエンコードする。
2011505768.tif 000002
【特許請求の範囲】
【請求項１】
P個のコード率がR0（Ｒ０＝ｋｂ／ｎｂ、kbは基本マトリックスの行数で、nbは前記基本マトリックスの列数である。）であり、コードの長さが異なる低密度生成マトリックスコードが、統一的な基本マトリックスＧｂｕｎｉｆｏｒｍを含む低密度生成マトリックスコードのマザーコード集を構築するステップ１と、
前記低密度生成マトリックスコードのマザーコード集におけるエンコード待ちの情報ビットシーケンスの長さKと中間変数の長さLとの関係により、前記中間変数の長さLを取得するステップ２と、
前記中間変数の長さLと前記基本マトリックスの行数kbを用い、前記基本マトリックスを処理する拡張ファクターｚｋを取得し、前記拡張ファクターｚｋを用い、前記基本マトリックスに対して補正と拡張を行い、生成マトリックスGldgcを取得するステップ３及び
前記生成マトリックスのL行と前N＋L−K列によって組み立てられたマトリックスGldgc（1:L, 1:N+L-K）を用い、前記エンコード待ちの情報ビットシーケンスをエンコードするステップ４を含むことを特徴とする低密度生成マトリックスコードのエンコード方法。
【請求項２】
前記ステップ２において、計算式Ｌ＝ｍｏｄｉｆｙ（ａ×Ｋ＋ｂ）（その中、ｍｏｄｉｆｙ（）は丸め補正を示し、補正の方法は上位丸め、下位丸め、または四捨五入丸めがあり、aは1よりやや大きい正の有理数で、bは正の整数である。）により、前記エンコード待ちの情報ビットシーケンスの長さKを用い前記中間変数の長さLを取得することを特徴とする請求項１の記載に基づくエンコード方法。
【請求項３】
前記ステップ３において、計算式ｚｔ＝Ｌ／ｋｂにより、前記中間変数の長さLと前記基本マトリックスの行数kbを用い、拡張ファクターKtを取得し、前記低密度生成マトリックスコードのマザーコード集に対応するP個のゼロより大きい正の整数ｚ１＜ｚ２＜…＜ｚｋ−１＜ｚｋ＜…＜ｚＰによって構成する拡張ファクター集合Zsetにおいて、前記拡張ファクターKtと以下の関係を持つ前記基本マトリックスを処理する拡張ファクターZk：ｚｋ−１＜ｚｔ≦ｚｋを探り出すステップaと、
前記基本マトリックスを処理する拡張ファクターZkを用い、前記基本マトリックスに対して補正を行い、補正した基本マトリックスＧｂｍｏｄｉｆｉｅｄを取得するステップbと、
前記基本マトリックスを処理する拡張ファクターZkを用い、前記補正した基本マトリックスに対して拡張を行い、未補正の生成マトリックスG’を取得するステップc及び
前記未補正の生成マトリックスG’に対して補正を行い、前記生成マトリックスGldgcを取得するステップdを含むことを特徴とする請求項２の記載に基づくエンコード方法。
【請求項４】
前記ステップ４において、
L−K個の既知のビットを前記エンコード待ちの情報ビットシーケンスにスタッフィングし、長さがLである情報ビットシーケンスmを生成するステップeと、
計算式I×Gldgc (1:L,1:L)＝mにより、前記生成マトリックスのL行と前L列によって組み立てられた正方マトリックスGldgc (1:L,1:L)及び前記長さがLである情報ビットシーケンスmを用い、前記中間変数Iを取得し、かつ、計算式C＝I×Gldgcにより、前記生成マトリックスのL行と前N＋L−K列によって組み立てられたマトリックスGldgc（1:L, 1:N+L-K）を用い、前記中間変数に対してエンコードし、長さがN＋L−Kである第一エンコード結果を生成するステップf及び前記長さがN＋L−Kである第一エンコード結果から前記L−K個の既知のビットを削除し、長さがLである第二エンコード結果を生成するステップgを含むことを特徴とする請求項３の記載に基づくエンコード方法。
【請求項５】
前記基本マトリックスの行数kbは2より大きい整数で、前記基本マトリックスの列数nbは1以上の整数であることを特徴とする請求項１〜４のいずれかの記載に基づくエンコード方法。
【請求項６】
前記ステップdにおいて、前記未補正の生成マトリックスG’の特定列のウェイトを増加させることにより、前記生成マトリックスGldgcを取得することを特徴とする請求項５の記載に基づくエンコード方法。
【請求項７】
P個のコード率がR0（Ｒ０＝ｋｂ／ｎｂ、ｋｂは前記基本マトリックスの行数で、ｎｂが前記基本マトリックスの列数である。）であり、コードの長さが異なる低密度生成マトリックスコードより構築する低密度生成マトリックスコードのマザーコード集の統一的な基本マトリックスＧｂｕｎｉｆｏｒｍを格納するのに用いる基本マトリックス格納ユニットと、
前記低密度生成マトリックスコードのマザーコード集におけるエンコード待ちの情報ビットシーケンスの長さKと中間変数の長さLとの関係を用いて、前記中間変数の長さLを計算し、前記中間変数の長さLと前記基本マトリックスの行数kbを用い、前記基本マトリックスを処理する拡張ファクターｚｋを計算し、かつ、前記拡張ファクターｚｋを用い前記基本マトリックスに対して補正と拡張の計算を行い、生成マトリックスGldgcを取得するマトリックスパラメータ計算ユニットと、
L−K個の既知のビットを前記エンコード待ちの情報ビットシーケンスに追加し、長さがLである情報ビットシーケンスmを生成するのに用いるビットスタッフィングユニットと、
計算式I×Gldgc (1:L,1:L)＝mにより、前記生成マトリックスのL行と前L列によって組み立てられた正方マトリックスGldgc (1:L,1:L)及び前記長さがLである情報ビットシーケンスmを用い、前記中間変数Iを取得するのに用いるプリエンコードユニットと、
前記生成マトリックスのL行と前N＋L−K列によって組み立てられたマトリックスGldgc（1:L, 1:N+L-K）を用い、前記中間変数に対してエンコードし、長さがN＋L−Kである第一エンコード結果を生成するのに用いるブロックコードエンコードユニット及び前記長さがN＋L−Kである第一エンコード結果から前記L−K個の既知のビットを削除し、長さがLである第二エンコード結果を生成するのに用いるビット削除ユニットを含むことを特徴とする低密度生成マトリックスコードのエンコード装置。
【請求項８】
前記基本マトリックスのkb行と前kb列によって組み立てられた正方マトリックスＧｂｕｎｉｆｏｒｍ（１：ｋｂ，１：ｋｂ）は上三角または下三角マトリックスであることを特徴とする請求項７の記載に基づくエンコード装置。
【請求項９】
前記マトリックスパラメータ計算ユニットは計算式ｚｔ＝Ｌ／ｋｂにより、前記中間変数の長さLと前記基本マトリックスの行数kbを用い拡張ファクターKtを取得し、かつ、前記低密度生成マトリックスコードのマザーコード集に対応するP個のゼロより大きい正の整数ｚ１＜ｚ２＜…＜ｚｋ−１＜ｚｋ＜…＜ｚＰを構成する拡張ファクター集合Zsetより、前記拡張ファクターKtと以下の関係を持つ拡張ファクターを探り出し、前記基本マトリックスを処理するZk：ｚｋ−１＜ｚｔ≦ｚｋを取得することを特徴とする請求項８の記載に基づくエンコード装置。
【請求項１０】
前記マトリックスパラメータ計算ユニットは前記基本マトリックスを処理する拡張ファクターZkを用い、前記基本マトリックスに対して補正を行い、補正した基本マトリックスＧｂｍｏｄｉｆｉｅｄを取得し、前記基本マトリックスを処理する拡張ファクターZkを用い、前記補正した基本マトリックスに対して拡張を行い、未補正の生成マトリックスGを’ 取得し、前記未補正の生成マトリックスG’に対して補正を行い、前記生成マトリックスGldgcを取得することを特徴とする請求項９の記載に基づくエンコード装置。
【請求項１１】
前記マトリックスパラメータ計算ユニットは前記未補正の生成マトリックスG’の特定列のウェイトを増加させることにより、前記未補正の生成マトリックスG’に対して補正を行うことを特徴とする請求項１０の記載に基づくエンコード装置。
【請求項１２】
エンコードの過程において、使用した拡張ファクターｚｋを用い、基本マトリックスＧｂｕｎｉｆｏｒｍに対して補正と拡張を行い、受信生成マトリックスGldgc (:,r1,r2,...ri) を取得するステップ１と、 
消去チャネルを通り、エンコードした後の低密度生成マトリックスコードにL−K個の既知のビットをスタッフィングし、デコードする低密度生成マトリックスコードC(r1,r2,...ri)=[Cr1,Cr2,Cr3,...,Cri]を取得し、その中、iはＬ≦ｉ≦Ｎ＋Ｌ−Ｋを満たす正の整数であり、Lがエンコードの過程において使用した中間変数の長さであり、Nが消去チャネルを通らずエンコードした低密度生成マトリックスコードの長さであり、Kはエンコードする前の低密度生成マトリックスコードの長さであるステップ２と、
計算式C(:,r1,r2,...ri)=I* Gldgc (:,r1,r2,...ri)により、前記受信生成マトリックスと前記デコードする低密度生成マトリックスコードを用い、1*Lの受信中間ベクトルIを取得するステップ３と、
計算式I* Gldgc (1:L,1:L) = mにより、前記受信生成マトリックスのL行と前L列によって組み立てられた正方マトリックスGldgc (1:L,1:L)及び前記受信中間ベクトルを用い、長さがLであるデコード結果mを取得するステップ４と、
前記長さがLであるデコード結果mから前記L−K個の既知のビットを削除し、長さがKであるデコード結果を取得するステップ５を含むことを特徴とする低密度生成マトリックスコードのデコード方法。
【請求項１３】
前記受信生成マトリックスはエンコードの過程において使用した生成マトリックスのL行と前N＋L−K列によって組み立てられたマトリックスGldgc（1:L,1:N+L-K）中の全ての非消去位置シリアル番号が対応する列のベクトルを保留することを特徴とする請求項12の記載に基づくデコード方法。
【請求項１４】
前記ステップ３において、
ガウス消去法により前記受信生成マトリックスGldgc (:,r1,r2,...ri)に対して行の交換、列の交換、及び/または行の消去演算を行い、L*Lの上三角マトリックスを含むマトリックスを取得するステップaと、
前記L*Lの上三角マトリックスを含むマトリックスにより、前記デコードする低密度生成マトリックスコードに対して置換と重ね合せを行い、エンコードの過程において使用した中間変数に対して置換を行うステップb及びバックトラックにより上三角再帰方程式を解き、前記受信中間ベクトルIを取得するステップcを含むことを特徴とする請求項1３記載に基づくデコード方法。
【請求項１５】
前記ステップaにおいて、
前記受信生成マトリックスにおける行のウェイトが一番軽い行を選択しj行目と交換するステップと、
行交換後の受信生成マトリックスにおけるj行目の最初のゼロでない要素が所属する列を前記行交換後の受信生成マトリックスにおけるj列目と交換するステップ及び行消去方法により、列交換後の受信生成マトリックスにおけるj行目j列目の要素を用い、前記列交換後の受信生成マトリックスにおける前記j列目のj+1行目と最後の行の間のゼロでない要素を除去するステップを含むことを特徴とする請求項1４の記載に基づく前記デコード方法。
【請求項１６】
P個のコード率がR0（Ｒ０＝ｋｂ／ｎｂ、ｋｂは前記基本マトリックスの行数で、ｎｂは前記基本マトリックスの列数である。）であり、コードの長さが異なる低密度生成マトリックスコードより構築する低密度生成マトリックスコードのマザーコード集の統一的な基本マトリックスＧｂｕｎｉｆｏｒｍを格納する基本マトリックス格納ユニットと、
エンコードの過程において使用した拡張ファクターｚｋを用い、前記基本マトリックスＧｂｕｎｉｆｏｒｍに対して補正と拡張を行い、受信生成マトリックスGldgc (:,r1,r2,...ri) を取得するマトリックスパラメータ計算ユニットと、 
消去チャネルを通り、エンコードした後の低密度生成マトリックスコードにL−K個の既知のビットをスタッフィングし、デコードする低密度生成マトリックスコードC(r1,r2,...ri)=[Cr1,Cr2,Cr3,...,Cri]を取得し、その中、iはＬ≦ｉ≦Ｎ＋Ｌ−Ｋを満たす正の整数であり、Lはエンコードの過程において使用した中間変数の長さであり、Nは消去チャネルを通らずエンコードした低密度生成マトリックスコードの長さであり、Kはエンコードする前の低密度生成マトリックスコードの長さであるビットスタッフィングユニットと、
ガウス消去法により前記受信生成マトリックスGldgc (:,r1,r2,...ri)に対して行の交換、列の交換、及び/または行の消去演算を行い、L*Lの上三角マトリックスを含むマトリックスを取得する上三角マトリックス計算ユニットと、
計算式C(:,r1,r2,...ri)=I* Gldgc (:,r1,r2,...ri)により、前記L*Lの上三角マトリックスを含むマトリックスと前記デコードする低密度生成マトリックスコードを用い、1*Lの受信中間ベクトルIを取得する中間変数計算ユニットと、
計算式I* Gldgc (1:L,1:L) = mにより、前記受信生成マトリックスのL行と前L列によって組み立てられた正方マトリックスGldgc (1:L,1:L)及び前記受信中間ベクトルを用い、長さがLであるデコード結果mを取得するブロックコードデコードユニット及び前記長さがLであるデコード結果mから前記L−K個の既知のビットを削除し、長さがKであるデコード結果を取得するビット削除ユニットを含むことを特徴とする低密度生成マトリックスコードのデコード装置。
【請求項１７】
前記マトリックスパラメータ計算ユニットは計算式ｚｔ＝Ｌ／ｋｂにより、前記エンコードの過程において使用した中間変数の長さLと前記基本マトリックスの行数kbを用い、拡張ファクターKtを取得し、かつ、前記低密度生成マトリックスコードのマザーコード集に対応するP個のゼロより大きい正の整数ｚ１＜ｚ２＜…＜ｚｋ−１＜ｚｋ＜…＜ｚＰが構成する拡張ファクター集合Zsetより、前記拡張ファクターKtと以下の関係を持つ拡張ファクターを探り出し、前記エンコードの過程において使用した拡張ファクターZk：ｚｋ−１＜ｚｔ≦ｚｋを取得することを特徴とする請求項16の記載に基づくデコード装置。
【請求項１８】
前記マトリックスパラメータ計算ユニットは前記エンコードの過程において使用した拡張ファクターZkを用い、前記基本マトリックスに対して補正を行い、補正した基本マトリックスＧｂｍｏｄｉｆｉｅｄを取得し、前記エンコードの過程において使用した拡張ファクターZkを用い、前記補正後の基本マトリックスに対して拡張を行い、基本生成マトリックスGを取得し、前記基本生成マトリックスGのL行及び前記デコードする低密度生成マトリックスコードのシリアル番号に対応する列を取得し、受信生成マトリックを生成することを特徴とする請求項17の記載に基づくデコード装置。
【請求項１９】
前記上三角マトリックス計算ユニットは前記受信生成マトリックスにおける行のウェイトが一番軽い行を選択し、j行目と行の交換を行い、行交換後の受信生成マトリックスにおけるj行目の最初のゼロでない要素が所属する列と前記行交換後の受信生成マトリックスにおけるj列目と列の交換を行い、かつ、行消去方法により列交換後の受信生成マトリックスにおけるj行目j列目の要素を用い、前記列交換後の受信生成マトリックスにおける前記j列目のj+1行目と最後の行の間のゼロでない要素を除去することによって、L*Lの上三角マトリックスを含むマトリックスを取得することを特徴とする請求項18の記載に基づくデコード装置。
【請求項２０】
前記受信生成マトリックスのL行と前L列によって組み立てられた正方マトリックスGldgc (1:L,1:L)が左上三角または左下三角マトリックスである場合、前記の消去チャネルを通り、エンコードした低密度生成マトリックスコードの前に、前記L−K個の既知のビットをスタッフィングすることを特徴とする請求項16〜19のいずれかの記載に基づくデコード装置。
【請求項２１】
前記受信生成マトリックスのL行と前L列によって組み立てられた正方マトリックスGldgc (1:L,1:L)が右上三角または右下三角マトリックスである場合、前記消去チャネルを通り、エンコードした低密度生成マトリックスコードのK−E個のビットの後に前記L−K個の既知のビットをスタッフィングし、その中、Eは前記消去チャネルを通らずエンコードした低密度生成マトリックスコードが前記消去チャネルを通った後に、前K個のコードワードから消去されたコードワードの個数であることを特徴とする請求項16〜19の何れかの記載に基づくデコード装置。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は通信分野に関し、更に具体的に低密度生成マトリックスコードのエンコード方法及び装置、ならびにデコード方法及び装置に関する。
【背景技術】
【０００２】
消去チャネルは重要なチャネルモデルである。例えば、典型的には、ファイルがデータパケット通信に基づいてインターネットで伝送されるので、各データパケットはエラーなく受信側で受信されるのでなければ、受信側でまったく受信されない。伝送制御プロトコル（Transmission Control Protocol、TCPと略称する。）において、ネットのパケットロスに対する方法はエラー検出再送メカニズムであり、即ち、入力側から出力側までのフィードバックチャネルに用い、新たに再伝送が必要なデータパケットを制御する。受信側がパケットロスを検出した場合、完全なデータパケットを正確に受信するまで、１つの改めて送信する制御信号が発生する一方、受信側がデータパケットを受信した場合、同様に１つ受信の確認信号が発生する。送信側はフィードバックされた告知信号を受信するまで各データパケットをトラッキングし、告知信号を受信しなければ、改めて送信する。
【０００３】
ストリームモードとファイルダウンロードモードのデータ放送サービスはワンポイント対マルチポイントのサービスであることにより、フィードバックが許容されず、従来のエラー検出再送メカニズムが使用できないため、信頼的な伝送を保証するのにフォワードエラー訂正（Forward Error Correction、FECと略称する。）を使用する必要がある。公知（経典）の応用層FECはRSコード（Reed-Solomon codes）とファウンテンコード（Fountain codes）などを含む。RSコードのエンコードとデコードは複雑度が高いので、普通にコードの長さが短い場合にしか適用しない。LTコード（Luby Transform codes）とRaptorコードは実際に応用することが可能な二種のファウンテンコードである。LTコードは線形化のエンコードとデコード時間を有し、RSコードに対して質が高いが、Raptorコードはプリエンコード技術を採用するので、もっと高いデコード効率がある。3GPP のマルチメディア・ブロードキャスト／マルチキャスト・サービス（Multimedia Broadcast / Multicast Service、MBMSと略称する。）及びディジタルビデオ放送（Digital Video Broadcasting、DVBと略称する。）においては、全てRaptorコードがそのFECエンコード案として採用されている。
【０００４】
低密度生成マトリックスコード（Low Density Generator Matrix Codes、LDGCと略称する。）はリニアブロックコードで、一般的に、その生成マトリックスのゼロでない要素はまばらである。同時に、LDGCはまたシステムコードであり、一般的に、その生成マトリックスの前k列によって組み立てられた正方マトリックスは１つの上三角または下三角マトリックスであり、当該マトリックスの反転はイテラティブの方法により完成することができる。LDGCのエンコードはシステムコードの情報ビットと中間変数の対応関係を用い、まず中間変数を求め、その後、中間変数が生成マトリックスとかけてエンコードしたコードワードを取得する。LDGCのデコード過程はまず生成マトリックスを用い、中間変数を求め、その後、情報ビットと中間変数の変換関係により情報ビットを求める。LDGCのエンコード複雑度はRaptorコードよりはるかに小さく、任意な情報パケットの長さと任意なコード率エンコードを支持でき、性能上もRaptorコードと類似し、理論的な最適の性能に接近する。
【発明の概要】
【発明が解決しようとする課題】
【０００５】
構造化の低密度生成マトリックスコード（LDGCコード）に比べるとLTコードはシステムコードのエンコード方式を支持しないため、LTコードは或る実際のFECエンコードの要求を満足することが難しい。Raptorコードはシステムコードを支持するが、Raptorコードは独立のプリエンコード過程を必要とし、即ち、１つプリエンコードマトリックスが必要なため、エンコードの複雑度が高くなる。しかし、LDGCコードは直接に生成マトリックスエンコードを用い、他のプリエンコードマトリックスは必要なく、かつ、LDGCがエンコードする時にバックトラックにより上三角（または下三角）方程式を求めるため、エンコード複雑度はRaptorコードよりはるかに小さくなる。要するに、LTコードと比べると、LDGCの利点はシステムコードを支持することであり、Raptorコードと比べると、LDGCの利点はエンコード複雑度が更に低いことである。
【課題を解決するための手段】
【０００６】
そこで、本発明は、上記問題に鑑みてなされたものであり、本発明の目的とするところは、低密度生成マトリックスコードのエンコード方法を提供することにある。
【０００７】
本発明の実施の形態における低密度生成マトリックスコードのエンコード方法によれば、P個のコード率がR0（Ｒ０＝ｋｂ／ｎｂ、kbは基本マトリックスの行数で、nbは基本マトリックスの列数である。）であり、コードの長さが異なる低密度生成マトリックスコードが、統一的な基本マトリックスＧｂｕｎｉｆｏｒｍを含む低密度生成マトリックスコードのマザーコード集を構築するステップ１と、低密度生成マトリックスコードのマザーコード集におけるエンコード待ちの情報ビットシーケンスの長さKと中間変数の長さLとの関係により、中間変数の長さLを取得するステップ２と、中間変数の長さLと基本マトリックスの行数kbを用い基本マトリックスを処理する拡張ファクターｚｋを取得し、拡張ファクターｚｋを用い基本マトリックスに対して補正と拡張を行い、生成マトリックスGldgcを取得するステップ３及び生成マトリックスのL行と前N＋L−K列によって組み立てられたマトリックスGldgc（1:L, 1:N+L-K）を用い、エンコード待ちの情報ビットシーケンスをエンコードするステップ４を含む。
【０００８】
また、ステップ２において、計算式Ｌ＝ｍｏｄｉｆｙ（ａ×Ｋ＋ｂ）（その中、ｍｏｄｉｆｙ（）は丸め補正を示し、補正の方法は上位丸め、下位丸め、または四捨五入丸めがあり、aは1よりやや大きい正の有理数で、bは正の整数である。）により、エンコード待ちの情報ビットシーケンスの長さKを用い、中間変数の長さLを取得する。
【０００９】
また、ステップ３において、計算式ｚｔ＝Ｌ／ｋｂにより、中間変数の長さLと基本マトリックスの行数kbを用い、拡張ファクターKtを取得し、低密度生成マトリックスコードのマザーコード集に対応するP個のゼロより大きい正の整数ｚ１＜ｚ２＜…＜ｚｋ−１＜ｚｋ＜…＜ｚＰによって構成する拡張ファクター集合Zsetにおいて、拡張ファクターKtと以下の関係を持つ基本マトリックスを処理する拡張ファクターZk：ｚｋ−１＜ｚｔ≦ｚｋを探り出すステップaと、基本マトリックスを処理する拡張ファクターZkを用い、基本マトリックスに対して補正を行い、補正した基本マトリックスＧｂｍｏｄｉｆｉｅｄを取得するステップbと、基本マトリックスを処理する拡張ファクターZkを用い、補正後の基本マトリックスに対して拡張を行い、未補正の生成マトリックスG’を取得するステップc及び未補正の生成マトリックスG’に対して補正を行い、生成マトリックスGldgcを取得するステップdを含む。
【００１０】
また、ステップ４において、L−K個の既知のビットをエンコード待ちの情報ビットシーケンスにスタッフィングし、長さがLである情報ビットシーケンスmを生成するステップeと、
計算式I×Gldgc (1: L,1:L)＝mにより、生成マトリックスのL行と前L列によって組み立てられた正方マトリックスGldgc (1:L,1:L)及び長さがLである情報ビットシーケンスmを用い、中間変数Iを取得し、そして、計算式C＝I×Gldgcにより、生成マトリックスのL行と前N＋L−K列によって組み立てられたマトリックスGldgc（1:L, 1:N+L-K）を用い、中間変数に対してエンコードし、長さがN＋L−Kである第一エンコード結果を生成するステップf及び長さがN＋L−Kである第一エンコード結果からL−K個の既知のビットを削除し、長さがLである第二エンコード結果を生成するステップgを含む。
【００１１】
また、基本マトリックスの行数kbは2より大きい整数であり、基本マトリックスの列数nbは1以上の整数である。ステップdにおいて、未補正の生成マトリックスG’の特定列のウェイトを増加させることにより、生成マトリックスGldgcを取得する。
【００１２】
本発明の実施の形態における低密度生成マトリックスコードのエンコード装置によれば、P個のコード率がR0（Ｒ０＝ｋｂ／ｎｂ、ｋｂは基本マトリックスの行数で、ｎｂは基本マトリックスの列数である。）であり、コードの長さが異なる低密度生成マトリックスコードより構築する低密度生成マトリックスコードのマザーコード集の統一的な基本マトリックスＧｂｕｎｉｆｏｒｍを格納するのに用いる基本マトリックス格納ユニットと、低密度生成マトリックスコードのマザーコード集におけるエンコード待ちの情報ビットシーケンスの長さKと中間変数の長さLとの関係を用いて、中間変数の長さLを計算し、中間変数の長さLと基本マトリックスの行数kbを用い基本マトリックスを処理する拡張ファクターｚｋを取得し、かつ、拡張ファクターｚｋを用い、基本マトリックスに対して補正と拡張の計算を行い、生成マトリックスGldgcを取得するマトリックスパラメータ計算ユニットと、L−K個の既知のビットをエンコード待ちの情報ビットシーケンスに追加し、長さがLである情報ビットシーケンスmを生成するのに用いるビットスタッフィングユニットと、計算式I×Gldgc (1: L,1:L)＝mにより、生成マトリックスのL行と前L列によって組み立てられた正方マトリックスGldgc (1:L,1:L)及び長さがLである情報ビットシーケンスmを用い、中間変数Iを取得するのに用いるプリエンコードユニットと、生成マトリックスのL行と前N＋L−K列によって組み立てられたマトリックスGldgc（1:L, 1:N+L-K）を用い、中間変数をエンコードし、長さがN＋L−Kである第一エンコード結果を生成するのに用いるブロックコードエンコードユニット及び長さがN＋L−Kである第一エンコード結果からL−K個の既知のビットを削除し、長さがLである第二エンコード結果を生成するのに用いるビット削除ユニットを含む。また、基本マトリックスのkb行と前kb列によって組み立てられた正方マトリックスＧｂｕｎｉｆｏｒｍ（１：ｋｂ，１：ｋｂ）は上三角または下三角マトリックスである。
【００１３】
また、マトリックスパラメータ計算ユニットは計算式ｚｔ＝Ｌ／ｋｂにより、中間変数の長さLと基本マトリックスの行数kbを用い、拡張ファクターKtを取得し、かつ、低密度生成マトリックスコードのマザーコード集に対応するP個のゼロより大きい正の整数ｚ１＜ｚ２＜…＜ｚｋ−１＜ｚｋ＜…＜ｚＰを構成する拡張ファクター集合Zsetより、拡張ファクターKtと以下の関係を持つ拡張ファクターを探り出し、基本マトリックスを処理するZk：ｚｋ−１＜ｚｔ≦ｚｋを取得する。
【００１４】
また、マトリックスパラメータ計算ユニットは基本マトリックスを処理する拡張ファクターZkを用い、基本マトリックスに対して補正を行い、補正した基本マトリックスＧｂｍｏｄｉｆｉｅｄを取得し、かつ、基本マトリックスを処理する拡張ファクターZkを用い、補正後の基本マトリックスに対して拡張を行い、未補正の生成マトリックスGを’ 取得し、未補正の生成マトリックスG’に対して補正を行い、生成マトリックスGldgcを取得する。
【００１５】
また、マトリックスパラメータ計算ユニットは未補正の生成マトリックスG’の特定列のウェイトを増加させることにより、未補正の生成マトリックスG’に対して補正を行う。
【００１６】
本発明の実施の形態における低密度生成マトリックスコードのデコード方法によれば、エンコードの過程において使用した拡張ファクターｚｋを用い基本マトリックスＧｂｕｎｉｆｏｒｍに対して補正と拡張を行い、受信生成マトリックスGldgc (:,r1,r2,...ri) を取得するステップ１と、 消去チャネルを通り、エンコードした後低密度生成マトリックスコードにL−K個の既知のビットをスタッフィングし、デコードする低密度生成マトリックスコードC(r1,r2,...ri)=[Cr1,Cr2,Cr3,...,Cri]を取得し、その中、iはＬ≦ｉ≦Ｎ＋Ｌ−Ｋを満たす正の整数であり、Lはエンコードの過程において使用した中間変数の長さであり、Nは消去チャネルを通らずエンコードした低密度生成マトリックスコードの長さであり、Kはエンコードする前の低密度生成マトリックスコードの長さであるステップ２と、計算式C(:,r1,r2,...ri)=I* Gldgc (:,r1,r2,...ri)により、受信生成マトリックスとデコードする低密度生成マトリックスコードを用い、1*Lの受信中間ベクトルIを取得するステップ３と、計算式I* Gldgc (1:L,1:L) = mにより、受信生成マトリックスのL行と前L列によって組み立てられた正方マトリックスGldgc (1:L,1:L)及び受信中間ベクトルを用い、長さがLであるデコード結果mを取得するステップ４及び長さがLであるデコード結果mからL−K個の既知のビットを削除し、長さがKであるデコード結果を取得するステップ５を含む。
【００１７】
また、受信生成マトリックスはエンコードの過程において使用した生成マトリックスのL行と前N＋L−K列によって組み立てられたマトリックスGldgc（1:L,1:N+L-K）の全ての非消去位置シリアル番号が対応する列のベクトルを保留する。
【００１８】
また、ステップ３において、ガウス消去法により受信生成マトリックスGldgc (:,r1,r2,...ri)に対して行の交換、列の交換、及び/または行の消去演算を行い、L*Lの上三角マトリックスを含むマトリックスを取得するステップaと、L*Lの上三角マトリックスを含むマトリックスにより、デコードする低密度生成マトリックスコードに対して置換と重ね合せを行い、エンコードの過程において使用した中間変数を置換するステップb及びバックトラックにより上三角再帰方程式を解き、受信中間ベクトルIを取得するステップcを含む。
【００１９】
また、ステップaにおいて、受信生成マトリックスにおける行のウェイトが一番軽い行を選択しj行目と行の交換を行うステップと、行の交換をした受信生成マトリックスにおけるj行目の最初のゼロでない要素の所属する列と行の交換をした受信生成マトリックスにおけるj列目とを交換するステップ及び行消去方法により、列を交換した受信生成マトリックスにおけるj行目j列目の要素を用い、列を交換した受信生成マトリックスにおけるj列目のj+1行目と最後の行の間のゼロでない要素を除去するステップを含む。
【００２０】
本発明の実施の形態における低密度生成マトリックスコードのデコード装置によれば、P個のコード率がR0（Ｒ０＝ｋｂ／ｎｂ、ｋｂは基本マトリックスの行数で、ｎｂは基本マトリックスの列数である。）であり、コードの長さが異なる低密度生成マトリックスコードより構築する低密度生成マトリックスコードのマザーコード集の統一的な基本マトリックスＧｂｕｎｉｆｏｒｍを格納する基本マトリックス格納ユニットと、エンコードの過程において使用した拡張ファクターｚｋを用い、基本マトリックスＧｂｕｎｉｆｏｒｍに対して補正と拡張を行い、受信生成マトリックスGldgc (:,r1,r2,...ri) を取得するマトリックスパラメータ計算ユニットと、消去チャネルを通り、エンコードした後の低密度生成マトリックスコードにL−K個の既知のビットをスタッフィングし、デコードする低密度生成マトリックスコードC(r1,r2,...ri)=[Cr1,Cr2,Cr3,...,Cri]を取得し、その中、iはＬ≦ｉ≦Ｎ＋Ｌ−Ｋを満たす正の整数であり、Lはエンコードの過程において使用した中間変数の長さであり、Nは消去チャネルを通らずエンコードした低密度生成マトリックスコードの長さであり、Kはエンコードする前の低密度生成マトリックスコードの長さであるビットスタッフィングユニットと、ガウス消去法により受信生成マトリックスGldgc (:,r1,r2,...ri)に対して行の交換、列の交換、及び/または行の消去演算を行い、L*Lの上三角マトリックスを含むマトリックスを取得する上三角マトリックス計算ユニットと、計算式C(:,r1,r2,...ri)=I* Gldgc (:,r1,r2,...ri)により、L*Lの上三角マトリックスを含むマトリックスとデコードする低密度生成マトリックスコードを用い、1*Lの受信中間ベクトルIを取得する中間変数計算ユニットと、計算式I* Gldgc (1:L,1:L) = mにより、受信生成マトリックスのL行と前L列によって組み立てられた正方マトリックスGldgc (1:L,1:L)及び受信中間ベクトルを用い、長さがLであるデコード結果mを取得するブロックコードデコードユニット及び長さがLであるデコード結果mからL−K個の既知のビットを削除し、長さがKであるデコード結果を取得するビット削除ユニットを含む。
【００２１】
また、マトリックスパラメータ計算ユニットは計算式ｚｔ＝Ｌ／ｋｂにより、エンコードの過程において使用した中間変数の長さLと基本マトリックスの行数kbを用い拡張ファクターKtを取得し、かつ、低密度生成マトリックスコードのマザーコード集に対応するP個のゼロよりも大きい正の整数ｚ１＜ｚ２＜…＜ｚｋ−１＜ｚｋ＜…＜ｚＰが構成する拡張ファクター集合Zsetより、拡張ファクターKtと以下の関係を持つ拡張ファクターを探り出し、エンコードの過程において使用した拡張ファクターZk：ｚｋ−１＜ｚｔ≦ｚｋを取得する。
【００２２】
また、マトリックスパラメータ計算ユニットはエンコードの過程において使用した拡張ファクターZkを用い、基本マトリックスに対して補正を行い、補正した基本マトリックスＧｂｍｏｄｉｆｉｅｄを取得し、かつ、エンコードの過程において使用する拡張ファクターZkを用い、補正した基本マトリックスに対して拡張を行い、基本生成マトリックスGを取得し、基本生成マトリックスGのL行とデコードする低密度生成マトリックスコードのシリアル番号に対応する列を取り出し、受信生成マトリックを生成する。
【００２３】
また、上三角マトリックス計算ユニットは受信生成マトリックスにおける行のウェイトが一番軽い行を選択しj行目と行の交換を行い、行の交換をした受信生成マトリックスにおけるj行目の最初のゼロでない要素の所属する列と行の交換をした受信生成マトリックスにおけるj列目とを交換し、行消去方法により列を交換した受信生成マトリックスにおけるj行目j列目の要素を用い、列を交換した受信生成マトリックスにおけるj列目のj+1行目と最後の行の間のゼロでない要素を除去することにより、L*Lの上三角マトリックスを含むマトリックスを取得する。
【００２４】
また、受信生成マトリックスのL行と前L列によって組み立てられた正方マトリックスGldgc (1:L,1:L)が左上三角または左下三角マトリックスである場合、消去チャネルを通り、エンコードした低密度生成マトリックスコードの前に、L−K個の既知のビットをスタッフィングする。受信生成マトリックスのL行と前L列によって組み立てられた正方マトリックスGldgc (1:L,1:L)が右上三角または右下三角マトリックスである場合、消去チャネルを通り、エンコードした低密度生成マトリックスコードのK−E個のビットの後に、L−K個の既知のビットをスタッフィングし、その中、Eは消去チャネルを通らずエンコードした低密度生成マトリックスコードが消去チャネルを通った後に、前K個のコードワードから消去されたコードワードの個数である。
【発明の効果】
【００２５】
本発明によれば、低密度生成マトリックスコードのコードの長さの柔軟性を向上させ、基本マトリックスの格納エアボーンを減少させることができることによって、エンコードとデコードの複雑度を下げる。
【図面の簡単な説明】
【００２６】
ここで説明する添付の図は本発明を更に理解するためのものであり、本発明の一部を構成し、示した実施の形態とその説明は本発明を解釈するためのものであり、本発明に対する不当な限定をするものではない。
【図１】上下三角基本マトリックスを示す図である。
【図２】本発明における実施の形態に係るLDGCのエンコード方法のフローチャートである。
【図３】本発明における実施の形態に係るLDGC生成マトリックスを示す図である。
【図４】本発明における実施の形態に係るLDGCのデコード方法のフローチャートである。
【図５】本発明における実施の形態に係る消去チャネルしたLDGC生成マトリックスを示す図である。
【図６】本発明における実施の形態に係るガウス消去法によりLDGC生成マトリックスに発生する右上三角マトリックスを示す図である。
【図７】本発明における実施の形態に係るLDGCのエンコード装置のブロック図である。
【図８】本発明における実施の形態に係るLDGCのデコード装置のブロック図である。
【発明を実施するための形態】
【００２７】
本発明に提出されたLDGCコードのエンコード方法は異なるコードの長さに適応し、説明（表述）が簡単で、標準化するのに有利で、基本マトリックスの格納に有利であるので、もっと大きな通用性を持つ。このようなLDGCコードの生成マトリックスGをＫ×Ｎ個のそれぞれｚ×ｚの基本置換マトリックスの異なる冪であるブロックマトリックスからなる（Ｋ×ｚ）×（Ｎ×ｚ）マトリックスとする。基本置換マトリックスが単位行列である場合、それらは単位行列のループシフトマトリックス（本文で右にシフトすることを黙認）である。以下のような式があり、ｇｂｉｊ＝−１ならば、
【００２８】
【数１】
2011505768.tif 000003
【００２９】
。ｇｂｉｊは0以上の整数ならば、
【００３０】
【数２】
2011505768.tif 000004
【００３１】
を定義する。ここでPは１つのｚ×ｚの標準の置換マトリックスであり、以下の通りである。
【００３２】
【数３】
2011505768.tif 000005
【００３３】
このような冪ｇｂｉｊにより各ブロックマトリックスを唯一に標識することができ、単位マトリックスの冪は0で示してよいし、ゼロマトリックスは通常-1で示す。このように、その冪をGの各ブロックマトリックスの代わりにすると、１つのｋｂ×ｎｂの冪マトリックスＧｂを取得する。ここで、定義ＧｂはGの基本マトリックスであり、GはＧｂの拡張マトリックスと称する。実際にエンコードする場合、z = コードの長さ/基本マトリックスの列数nb、拡張ファクターと称する。
【００３４】
例えば、マトリックスGは以下のパラメータzと１つの2×4の基本マトリックスGbを用い、
【００３５】
【数４】
2011505768.tif 000006
【００３６】
に対して拡張を行い、取得できる。
【００３７】
よって、本発明のLDGCのエンコーダーは基本マトリックスGb、拡張ファクターz、及び選択した基本置換マトリックスにより唯一に生成するものであると言える。
【００３８】
各異なる拡張ファクターに対してLDGCが１つの基本マトリックスを全て採用すると、各異なるコードの長さに対してLDGCエンコーダーとデコーダーは１つ基本マトリックスを格納しなければならない。コードの長さが多い場合、多数の基本マトリックスを格納しなければならないので、表示と格納の問題点が発生する。よって、コードの長さを変化させることが必要される場合、同じコード率の一定範囲に複数のコードの長さの低密度生成マトリックスコードは統一的な基本マトリックスを用い、ここで統一基本マトリックスＧｂｕｎｉｆｏｒｍを定義する。異なるコードの長さの場合、Ｇｂｕｎｉｆｏｒｍに対して補正と拡張を行うと、生成マトリックスGが取得され、生成したエンコーダーとデコーダーをコードの長さの可変の場合に適応させる。
【００３９】
補正とは異なるコードの長さの拡張ファクターを用い基本マトリックスＧｂの非負値に対して補正を行い、補正した要素値が当該コードの長さの拡張ファクターの値より小さくなければならない。補正算法はたくさんあり、例えば、印象採得（取模）(mod)、丸め(scale+floor)、または四捨五入(scale+round)などを採用できる。Ｐｉｊを基本マトリックスＧｂのi行j列目の非負1要素とし、Ｐｉｊ’を補正を行ったマトリックスＧｂｍｏｄｉｆｉｅｄのi行j列目の非負1要素とすると、
印象採得(mod)方法について、
Ｐｉｊ’≡Ｐｉｊｍｏｄｚ≡Ｐｉｊｍｏｄ（Ｎ／ｎｂ）、
丸め(scale+floor)方法について、
【００４０】
【数５】
2011505768.tif 000007
【００４１】
四捨五入(scale+round)方法について、
Ｐｉｊ’＝Ｒｏｕｎｄ〔Ｐｉｊ×（ｚ／ｚｍａｘ）〕
＝Ｒｏｕｎｄ〔Ｐｉｊ×（Ｎ／Ｎｍａｘ）〕。
【００４２】
その中、ｚはクライアントコードの長さに対する拡張ファクターであり、即ち、ブロック正方マトリックスの行数または列数であり、ｚｍａｘは最大に支持するコードの長さが対応する拡張ファクターである。Modは印象採得操作で、
【００４３】
【数６】
2011505768.tif 000008
【００４４】
は下丸め操作で、Roundは四舍五入操作である。
【００４５】
本発明に提供した低密度生成マトリックスコードは可変のコードの長さのLDGCマザーコード集を基礎として、１つの統一的な基本マトリックスに対して補正と拡張などの操作により、任意なコードの長さの低密度生成マトリックスコードのエンコードとデコードを実現することである。以下に添付図面を参照しながら、本発明の実施の形態について詳細に説明する。
【００４６】
図2を参照しながら本発明の実施の形態におけるLDGCのエンコード方法を説明する。なお、図2に示す方法は長さがKである情報ビットストリームをエンコードして、長さのNのエンコードした情報ビットストリームを後続の処理ユニットに出力して処理する過程である。その中、パリティの長さはM=N-K、コード率はr=K/Nである。図２に示すように、当該方法は以下のステップを含む。
【００４７】
S202において、１つの特定のコード率R0の低密度生成マトリックスコードのマザーコード集の統一的な基本マトリックスＧｂｕｎｉｆｏｒｍを確定する。その中、当該低密度生成マトリックスコードのマザーコード集はP個のコード率がR0、異なるコードの長さ（Ｎ＝ｚ×ｎｂ，Ｋ−ｚ×ｋｂ）である低密度生成マトリックスコードからなる。その中、Ｒ０＝ｋｂ／ｎｂは実際にエンコードする時に必要なコード率よりはるかに小さい。Ｚｓｅｔは拡張ファクター集合で、拡張ファクターｚはＺｓｅｔのいずれかの１つの要素であってよいし、ＺｓｅｔはＰ個のゼロより大きい正の整数ｚ１＜ｚ２＜…＜ｚｋ−１＜ｚｋ＜…＜ｚＰから構成する集合である。その中、ｎｂ（2より大きい確定整数）は基本マトリックスＧｂｕｎｉｆｏｒｍの列数で、 ｋｂ（1以上の確定整数）は基本マトリックスＧｂｕｎｉｆｏｒｍの行数である。図１に示すように、基本マトリックスＧｂｕｎｉｆｏｒｍのｋｂ行と前ｋｂ列によって組み立てられた正方マトリックスＧｂｕｎｉｆｏｒｍ（１：ｋｂ，１：ｋｂ）は特殊な上三角または下三角マトリックスであり、全ての実際のコード率がR0よりも大きいLDGCコードは基本マトリックスＧｂｕｎｉｆｏｒｍエンコードにより発生する。
【００４８】
S204において、情報ビットシーケンスの長さKと中間変数の長さLとの関係によりLの数値を取得する。具体のに、情報ビットストリームの長さKと中間変数の長さLとの間に一定の関係があり、即ち、Ｌ＝ｍｏｄｉｆｙ（ａ×Ｋ＋ｂ）、その中、ｍｏｄｉｆｙ（）が丸め補正を示し、補正の方法が上位丸め（ceil）、下位丸め（floor）、または四捨五入（round）丸めであってよい。その中、aは１つの1よりやや大きい正の有理数で、bは１つの正の整数であるので、Lが取得できる。
【００４９】
S206において：情報パケットの長さによりマッチングし、拡張ファクターzを確定し、拡張ファクターと基本マトリックスＧｂｕｎｉｆｏｒｍにより、エンコードが必要なパラメータとマトリックスを確定する。その中、特定の拡張ファクター計算式ｚｔ＝Ｌ／ｋｂを用い、拡張ファクターｚｔを確定し、ｚｔとＺｓｅｔの要素がｚｋ−１＜ｚｔ≦ｚｋのような大小関係を持つ。その中、ｚｋ−１，ｚｋはＺｓｅｔの隣接する要素で、エンコードに必要な拡張ファクターはｚｋである。
【００５０】
S208において、統一的な基本マトリックスＧｂｕｎｉｆｏｒｍと拡張ファクターｚｋに基づいて、特定の補正算法により補正を行った基本マトリックスＧｂｍｏｄｉｆｉｅｄを取得し、拡張ファクターｚｋを用いＧｂｍｏｄｉｆｉｅｄに対して拡張を行い、未補正の生成マトリックスG’を取得する。G’に対して補正を行い、補正方法は或る列のウェイト（即ち、列の要素1の個数を増加）を増加させ、最終的生成マトリックスGldgcを取得する。その中、生成マトリックスGldgcのL行と前N+L-K列によって組み立てられたマトリックスGldgc（1:L, 1:N+L-K）はエンコードに必要なマトリックスである。
【００５１】
なお、列のウェイトを増加させる方法は他の発生する重い列がG中の或る列を取り替えてよいし、G’の他の列をこれらの列に累加してよいし、これらの列に直接に要素1の個数を増加させる。かつ、この三種の方法に限定されていないが、最終的生成マトリックスGldgcのL行と前L列によって組み立てられた正方マトリックスは依然として１つ上三角または下三角マトリックスを保証しなければならない。
【００５２】
S210において、基本マトリックスＧｂｕｎｉｆｏｒｍのｋｂ行と前ｋｂ列によって組み立てられた正方マトリックスＧｂｕｎｉｆｏｒｍ（１：ｋｂ，１：ｋｂ）が左上三角または左下三角マトリックスである場合、L-K個の既知のビットをエンコードする必要なKビットの情報ビットストリーム（情報ビットs）の前にスタッフィングし、長さがLである新たな情報ビットストリームmを生成する。Ｇｂｕｎｉｆｏｒｍ（１：ｋｂ，１：ｋｂ）が右上三角または右下三角マトリックスである場合、L-K個の既知のビットがエンコードする必要なKビットの情報ビットストリーム（情報ビットs）の後にスタッフィングし、長さがLである新たな情報ビットストリームmを生成する。なお、スタッフィングビットの位置はここに限定されるものではない。
【００５３】
S212において、LDGCがシステムコードであるので、スタッフィングした情報ビットストリームmに対しては、I×Gldgc (1: L,1:L)＝mにより、生成マトリックスGldgcのL行と前L列によって組み立てられた正方マトリックスGldgc (1:L,1:L)と長さがLである情報ビットストリームmを用い中間変数Iを生成する。
【００５４】
S214において、C＝I×Gldgc により、生成マトリックスGldgcを用い中間変数Iをエンコードして長さのN+L-Kのエンコード信号ストリーム を生成する。
【００５５】
S216において、長さのN+L-Kのエンコード信号ストリームからL-K個の既知のビットを削除して長さのNのエンコード信号ストリームを生成する 。
【００５６】
以下、１つの実際の例で本発明の実施の形態における低密度生成マトリックスコードのエンコード方法を説明する。
【００５７】
まず、低密度生成マトリックスコードのマザーコード集に対して補正を行い、補正した基本マトリックスを取得する。１つのコード率はR0=1/3で、複数のコードの長さである構造化の低密度生成マトリックスコードのマザーコード集の統一的な基本マトリックスのサイズはｋｂ×ｎｂ＝１２×３６である。当該マザーコード集の拡張ファクターは1をステップとしてzmin=2からzmax=683までに増加し、ｚ∈Ｚｓｅｔ＝{ｚｍｉｎ：１：ｚｍａｘ}と記す。１つの特定のコードの長さNが１つの特定の拡張ファクターzに対応するので、情報パケットの長さはｋｂをステップとしてｚｍｉｎ×ｋｂからｚｍａｘ×ｋｂまでに増加し、Ｋ∈＝{ｚｍｉｎ×ｋｂ：ｋｂ：ｚｍａｘ×ｋｂ}＝{２４：１２：８１９６}と記す。コード率R0=1/3のマザーコード集の統一的な基本マトリックスＧｂｕｎｉｆｏｒｍは以下のように示すＧｂｕｎｉｆｏｒｍ＝[Ｇｓｙｓｔｅｍｂ｜Ｇｐａｒｉｔｙｂ]。その中、
【００５８】
【数７】
2011505768.tif 000009
【００５９】
【数８】
2011505768.tif 000010
【００６０】
１つの1*K=1*24の２進法情報データストリームのビットs（sは16進数でD8AB13と示してよい。）は本発明の実施の形態における低密度生成マトリックスコードのエンコード方法によりエンコードして72ビットのLDGCエンコードコードワードを生成することがあるので、K=24、N=72である。
【００６１】
情報パケットの長さKと中間変数の長さLとの関係により、L=48を求める。特定の拡張ファクター計算式ｚｔ＝Ｌ／ｋｂにより拡張ファクターｚｔ＝４８／１２＝４を確定して、ｚｔとＺｓｅｔの要素とはｚｋ−１＝３＜ｚｔ≦ｚｋ＝４という関係を持つことを確定することができる。その中、ｚｋ−１がＺｓｅｔの隣接の要素であると、ｚ＝ｚｋ＝４はエンコードする必要な拡張ファクターである。
【００６２】
（ｚ×ｋｂ，ｚ×ｎｂ）低密度生成マトリックスコードのエンコードとデコードを実現するため、前記のような前記或る補正演算と拡張ファクターzにより統一的な基本マトリックスＧｂｕｎｉｆｏｒｍに対して補正を行い、補正した基本マトリックスＧｂｍｏｄｉｆｉｅｄを取得し、Ｇｂｍｏｄｉｆｉｅｄとzにより生成マトリックスを得られる。本実施の形態は丸め（Scale+floor）補正計算式に用い、統一的な基本マトリックスに対して補正を行い、補正はＧｂｕｎｉｆｏｒｍの非ゼロマトリックス要素に示す（ｇｉｊｂ）ｕｎｉｆｏｒｍに対して行い、ここでｚｍａｘ＝６８３、 
【００６３】
【数９】
2011505768.tif 000011
【００６４】
。
【００６５】
上記のＧｂｕｎｉｆｏｒｍを補正することで、低密度生成マトリックスコードに対する補正基本マトリックスを取得され、以下の通りである。
【００６６】
【数１０】
2011505768.tif 000012
【００６７】
拡張ファクターｚｋを用いＧｂｍｏｄｉｆｉｅｄに対して拡張を行ってL*(N+L-K)の生成マトリックスG’を取得し、G’のL-zk=44列目からL+ zk=48列目までに対して補正を行い、G’(:,L-zk:L+ zk)の列のウェイト（即ち、列の要素1の個数を増加）を増加させる。同時に、G’の1列目からzk列までの一部の列のウェイトが2で、補正したマトリックスがGldgc (1:L,1:N+L-K)=Gldgc (1:48,1:96)で、補正したマトリックスGldgcがたくさんのzk* zkのスクエア配列からなるように、G’の1列目からzk列目までに対して補正を行う。図３に示すように（その中、黒い点は要素1を示し、空欄の位置は要素0を示す）。
【００６８】
基本マトリックスＧｂｕｎｉｆｏｒｍのｋｂ行と前ｋｂ列によって組み立てられた正方マトリックスＧｂｕｎｉｆｏｒｍ（１：ｋｂ，１：ｋｂ）は１つの右上三角マトリックスであるので、入力情報ストリームsの後にd=L-K=24個の既知のスタッフィングビットp（pは16進法で9A0C2Cを示してよい。）を追加し、1*L=1*48の情報ビットストリームm（mは16進法でD8AB139A0C2Cを示してよい。）を生成する。
【００６９】
LDGCがシステムコードの特徴であること（LDGCコードはシステムコードであるので、Ｉ×Ｇｌｄｇｃ（１：４８,１：４８）＝ｍ）により、Gldgc (1:L,1:L)=Gldgc (1:48,1:48)が１つの右上三角マトリックスであることを用い、スタッフィングした1*L=1*48の情報ビットストリームmに対して方程式を求めることで計算し、1*L=1*48の中間変数I（Iは16進法で942DA94E0A24を示してよい。）を求める。
【００７０】
ｃ＝Ｉ×Ｇｌｄｇｃにより、入力された中間変数Iをエンコードし、1*(N+d)=1*96の２進法コードワードc（cは16進法でD8AB139A0C2CCD3AC516ED52を示してよい。）を生成する。
【００７１】
1*(N+d)=1*96の２進法コードワードcに追加されたd=24個のスタッフィングビットを削除し、N=72ビットのエンコードコードワード（16進法でD8AB13CD3AC516ED52を示してよい。）を最終に送り出す。
【００７２】
図4を参照しながら、本発明の実施の形態におけるLDGCのデコード方法を説明する。図４に示すような方法は消去チャネルを通った情報ビットストリーム、デコードが長さがKである情報ビットストリームを後続の処理ユニットに出力することである。消去チャネルを通った後、前のK個のビットからE個のビットが消去された。図４に示すように、当該方法は以下のステップがある。
【００７３】
S402において、基本マトリックスＧｂｕｎｉｆｏｒｍに対して補正と拡張を行い、受信生成マトリックスGldgc (:,r1,r2,...ri)を取得する。その中、具体的な方法はエンコード方法における相応のステップを参照する。
【００７４】
S404において、消去チャネルを通った受信ビット信号ストリームに対して、L-K個の既知のビットをスタッフィングし、デコーダーの入力信号ストリームC(r1,r2,...ri)=[Cr1,Cr2,Cr3,...,Cri] を組み立てる。その中、iは一つの正の整数で、Ｌ≦ｉ≦Ｎ＋Ｌ−Ｋを満たす。その中、エンコードの過程において使用した生成マトリックスのL行と前L列によって組み立てられた正方マトリックスGldgc (1:L,1:L)が左上三角または左下三角マトリックスである場合、L-K個の既知のビットを受信ビット信号ストリームの前にスタッフィングする。エンコードの過程において使用した生成マトリックスのL行と前L列によって組み立てられた正方マトリックスGldgc (1:L,1:L)が右上三角または右下三角マトリックスである場合、L-K個のスタッフィングビットを受信ビット信号ストリーム のK−E個のビットの後にスタッフィングする。なお、スタッフィングビットの位置はここに限定されるものではない。
【００７５】
S406において、C(:,r1,r2,...ri)=I* Gldgc (:,r1,r2,...ri)により方程式を求め、1*Lの中間ベクトルIを取得する。その中、Gldgc (:,r1,r2,...ri)が示すのは受信された情報ビットに対応する受信生成マトリックスGldgc (:,r1,r2,...ri)であり、当該マトリックスはエンコードの過程において使用した生成マトリックスGldgc（1:L,1:N+L-K）の全ての非消去位置シリアル番号が対応する列のベクトルを保留した。具体的に、中間ベクトルIの計算過程は以下のステップを含む。特殊なガウス消去法により、マトリックスGldgc (:,r1,r2,...ri)に１つのL*Lの上三角マトリックスを発生させ、L*Lの上三角マトリックスを含むマトリックスの行置換と行消去演算により、受信コードワードの置換と重ね合せを行い、L*Lの上三角マトリックスを含むマトリックスの列置換の演算により、中間変数の置換を行い、バックトラックにより上三角再帰方程式を求め、中間変数Iを最終的に取得する。その中、ガウス消去法により、再帰の方法を用いL*Lの上三角マトリックスを含むマトリックスを発生させる過程は以下のステップの通りである。Gldgc (j:L,r1,r2,...ri)の行のウェイト（行中要素1の個数）が一番軽い行を選択してj行目とを行交換し、j行目一番目のゼロでない要素が所属する列とマトリックスj列目とをマトリックス交換させ、行消去方法によりj行目j列目の要素をj列目のj+1行目と最後の行の間のゼロでない要素を除去する。その中、含L*Lの上三角マトリックス含むマトリックスを最終に発生することができないと、方程式を解くことは失敗したことを示す。
【００７６】
S408において、I* Gldgc (1:L,1:L) = mによりエンコードし長さがLである信号ストリーム mを取得する。
【００７７】
S410において、スタッフィングしたL-K個の既知のビットを削除し、長さがKである必要な情報ビットを取得する。
【００７８】
以下、１つの実際の例で本発明の実施の形態における低密度生成マトリックスコードのデコード方法を説明する。
【００７９】
まず、低密度生成マトリックスコードのマザーコード集に対して補正と拡張を行い、補正と拡張の方法はエンコードと同じで、取得された補正後の基本マトリックスと拡張後の生成マトリックスはエンコードする時と同じである。特定のコード率R0=1/3に対して、情報は長さのK=24のコードワードデコードをパケットし、デコード側に用いた基本マトリックスＧｂｍｏｄｉｆｉｅｄと生成マトリックスGldgcはエンコード側と同じである。
【００８０】
１つの情報パケットの長さのK=24の２進法ビットストリームc’は消去チャネルを通った後にデコード側に到達し、c’が16進法でD(X)AB13CD3(X)C516ED52を示してよい。その中、(X)は当該位置上のビットが消去されることを示し、K=24個の情報グループ化ビットにE=4個のビットが消去されることを示し、消去位置は5、6、7、8番目である。Ｇｂｍｏｄｉｆｉｅｄが１つの右上三角マトリックスであるので、K-E=20番目の後にL-K=24個の既知のビットを追加し新たな受信コードワードストリームcを構成し、16進法でc=DAB139A0C2CCD3C516ED52、 [r1,r2,...ri]=[1:4, 9:36, 41:96]を示してよい。デコードで中間変数を求めるため使用した対応する生成マトリックスはG’ldgc=Gldgc(1:L, [r1,r2,...ri])= Gldgc(1:48, [1:4, 9:36, 41:72])である。
【００８１】
ガウス消去法によりG’ldgcに１つのL*L=48*48の右上三角マトリックス（図5と図6はそれぞれ特殊ガウス消去法を行う前と行った後に生成マトリックスG’ldgcの形式を示す）が発生するとともに、マトリックスの行置換と行消去の演算により、受信コードワードの置換と重ね合せを行う。マトリックスの列置換の演算により、中間変数の置換を行う。
【００８２】
バックトラックにより上三角方程式をもとめ、中間変数I=942DA94E0A24を取得する。I* Gldgc (1:L,1:L) = I* Gldgc (1:48,1:48) = mによりエンコードして長さがLである信号ストリーム mを取得し、16進法でD8AB139A0C2Cを示してよい。
【００８３】
スタッフィングしたL-K=48-24=24個の既知のビットを削除し、長さのK=24の必要ま情報ビットsを取得し、sが16進法でD8AB13を示してよい。
【００８４】
図7を参照しながら本発明の実施の形態に係る低密度生成マトリックスコードのエンコード装置を説明する。図７に示すように、当該エンコード装置は、基本マトリックス格納ユニット702と、ビットスタッフィングユニット704と、プリエンコードユニット706と、マトリックスパラメータ計算ユニット708と、ブロックコードエンコードユニット710と、ビット削除ユニット712とを含む。
【００８５】
その中、基本マトリックス格納ユニットは統一的なｋｂ×ｎｂの基本マトリックスＧｂｕｎｉｆｏｒｍを格納し、基本マトリックスをマトリックスパラメータ計算ユニットに出力するのに用いる。その中、基本マトリックスのｋｂ行と前ｋｂ列によって組み立てられた正方マトリックスＧｂｕｎｉｆｏｒｍ（１：ｋｂ，１：ｋｂ）は上三角または下三角マトリックスである。
【００８６】
ビットスタッフィングユニットはエンコードする必要な長さがKである情報ビットストリームにL-K個の既知のビットを追加し、長さがLである情報ビットストリームmを生成し、mをプリエンコードユニットに出力するのに用いる。
【００８７】
プリエンコードユニットはI×Gldgc (1:L,1:L)＝mにより、生成マトリックスGldgcのL行と前L列によって組み立てられた正方マトリックスGldgc (1:L,1:L)と長さがLである情報ビットストリームmを用い中間変数Iを生成し、Iをブロックコードエンコードユニットに出力するのに用いる。
【００８８】
マトリックスパラメータ計算ユニットはブロックコードエンコードユニットに必要なマトリックスとパラメータを、かつ、ビットスタッフィングユニット、ビット削除ユニットに必要なパラメータを発生させるのに用いる。その中、まず、拡張ファクターｚｔ＝Ｌ／ｋｂを確定し、その後、ｚｔとＺｓｅｔの要素がｚｋ−１＜ｚｔ≦ｚｋような大小関係があることを確定し、その中ｚｋ−１,ｚｋがＺｓｅｔの隣接する要素ならば、ｚｋは出力する必要な拡張ファクターである。統一的な基本マトリックスＧｂｕｎｉｆｏｒｍと拡張ファクターｚｋに基づいて、特定の補正算法により補正した基本マトリックスＧｂｍｏｄｉｆｉｅｄを取得できる。拡張ファクターｚｋによりＧｂｍｏｄｉｆｉｅｄに対して拡張を行い生成マトリックスG’を取得し、G’のL-zk列目からL+zk列目までに対して補正を行い、G’(:,L-zk:L+ zk)の列のウェイト（即ち、列の要素1の個数を増加）を増加させ、補正したマトリックスがGldgcである。生成マトリックスGldgc（1:L, 1:N+L-K）、拡張ファクターｚｋ、マトリックスサイズパラメータK、L、Nをグループ化（分組）エンコードユニット、ビットスタッフィングユニット及びビット削除ユニットに入力するのに用いる。
【００８９】
ブロックコードエンコードユニットはマトリックスパラメータ計算ユニットが発生したマトリックスとパラメータにより、情報グループ化をエンコードし、コードワードを生成し、ビット削除ユニットに出力するのに用いる。
【００９０】
ビット削除ユニットはエンコードした後のコードワードにスタッフィングさせたL-K個の既知のビットを削除し、削除して取得したK個のコードワードを出力するのに用いる。
【００９１】
図8を参照しながら、本発明の実施の形態に係る低密度生成マトリックスコードのデコード装置を説明する。図８に示すように、当該デコード装置は、基本マトリックス格納ユニット802と、ビットスタッフィングユニット804と、マトリックスパラメータ計算ユニット806と、上三角マトリックス計算ユニット808と、中間変数計算ユニット810と、ブロックコードデコードユニット812と、ビット削除ユニット814とを含む。
【００９２】
その中、基本マトリックス格納ユニットは統一的なｋｂ×ｎｂの基本マトリックスＧｂｕｎｉｆｏｒｍを格納し、基本マトリックスをマトリックスパラメータ計算ユニットに出力するのに用いる。
【００９３】
ビットスタッフィングユニットは消去チャネルを通った受信ビット信号ストリームをL-K個の既知のビットをスタッフィングし、デコーダーの入力信号ストリーム C(r1,r2,...ri)=[Cr1,Cr2,Cr3,...,Cri]を組み立てるのに用いる。その中、iは一つの正の整数でＬ≦ｉ≦Ｎ＋Ｌ−Ｋ。
【００９４】
マトリックスパラメータ計算ユニットはブロックコードエンコードユニット、上三角マトリックス計算ユニットに必要なマトリックスとパラメータを、かつ、ビットスタッフィングユニット、ビット削除ユニット及び上下三角マトリックス計算ユニットに必要なパラメータを発生させるのに用いる。まず、拡張ファクターｚｔ＝Ｌ／ｋｂを確定し、その後、ｚｔとＺｓｅｔの要素がｚｋ−１＜ｚｔ≦ｚｋような大小関係があることを確定し、その中、ｚｋ−１,ｚｋはＺｓｅｔの隣接の要素でならば、ｚｋが出力する必要な拡張ファクターである。統一的な基本マトリックスＧｂｕｎｉｆｏｒｍと拡張ファクターｚｋに基づいて、特定の補正算法により補正した基本マトリックスＧｂｍｏｄｉｆｉｅｄを得られる。拡張ファクターｚｋを用いＧｂｍｏｄｉｆｉｅｄに対して拡張を行い生成マトリックスGを取得し、生成マトリックスのL行を受信したビット信号ストリームシリアル番号が対応する列とマトリックスGldgc (1:L,r1,r2,...ri)を組成し、上三角マトリックス計算ユニットに入力する。生成マトリックスGldgc（1:L, 1:N+L-K）、拡張ファクターｚｋをグループ化エンコードユニットに入力し、マトリックスサイズパラメータK、L、Nをビットスタッフィングユニットとビット削除ユニットに入力する。
【００９５】
上三角マトリックス計算ユニットはGldgc (:,r1,r2,...ri)に１つのL*Lの上三角マトリックスを発生させ、かつ、中間変数計算ユニットまで出力するのに用いる。その中、まず、Gldgc (j:L,r1,r2,...ri)の行のウェイト（行中要素1の個数）が一番軽い行を選択しj行目とを行交換する。j行目一番目のゼロでない要素の所属する列とマトリックスのj列目とを列交換する。行消去方法によりj行目j列目の要素をj列目のj+1行目と最後の行の間のゼロでない要素を除去する。続けて、L*Lの上三角マトリックスを含むマトリックスの行置換と行消去の演算により、受信コードワードの置換と重ね合せを行う。L*Lの上三角マトリックスを含むマトリックスの列置換の演算により、中間変数整列順序の置換を行う。生成した上三角マトリックスと新たな受信コードワードと中間変数の整列順序を中間変数計算ユニットに入力する。
【００９６】
中間変数計算ユニットはC(:,r1,r2,...ri)=I*Gldgc (1:L,r1,r2,...ri)により、バックトラックで上三角方程式を求め、1*Lの中間ベクトルIを取得するのに用いる。
【００９７】
ブロックコードエンコードユニットはマトリックスパラメータ計算ユニットが発生したマトリックスとパラメータにより、デコード装置が入力した２進法ビット信号ストリームをエンコードし、I* Gldgc (:,1:L) = mによりエンコードし長さのk+dの信号ストリーム mを取得し、ビット削除ユニットに出力するのに用いる。
【００９８】
ビット削除ユニットはエンコードした後のコードワードの一定数量のコードワードビットを削除し、削除して取得したK個のコードワードを出力するのに用いる。
【００９９】
様々な開示される実施形態が示され、説明されてきたが、本明細書の主題がこれらの実施形態のみに限定されるわけではないことは、明白であろう。特許請求の範囲の中で述べられている、開示される実施形態の精神および範囲から逸脱することのない多数の修正形態、変更形態、変形物、代用物および同等物が、当業者には明らかとなろう。
【図１】
2011505768.tif 000013
【図２】
2011505768.tif 000014
【図３】
2011505768.tif 000015
【図４】
2011505768.tif 000016
【図５】
2011505768.tif 000017
【図６】
2011505768.tif 000018
【図７】
2011505768.tif 000019
【図８】
2011505768.tif 000020
【手続補正書】
【提出日】平成22年8月4日(2010.8.4)
【手続補正１】
【補正対象書類名】明細書
【補正対象項目名】全文
【補正方法】変更
【補正の内容】
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は通信分野に関し、更に具体的に低密度生成マトリックスコードのエンコード方法及び装置、ならびにデコード方法及び装置に関する。
【背景技術】
【０００２】
消去チャネルは重要なチャネルモデルである。例えば、典型的には、ファイルがデータパケット通信に基づいてインターネットで伝送されるので、各データパケットはエラーなく受信側で受信されるのでなければ、受信側でまったく受信されない。伝送制御プロトコル（Transmission Control Protocol、TCPと略称する。）において、ネットのパケットロスに対する方法はエラー検出再送メカニズムであり、即ち、入力側から出力側までのフィードバックチャネルに用い、新たに再伝送が必要なデータパケットを制御する。受信側がパケットロスを検出した場合、完全なデータパケットを正確に受信するまで、１つの改めて送信する制御信号が発生する一方、受信側がデータパケットを受信した場合、同様に１つ受信の確認信号が発生する。送信側はフィードバックされた告知信号を受信するまで各データパケットをトラッキングし、告知信号を受信しなければ、改めて送信する。
【０００３】
ストリームモードとファイルダウンロードモードのデータ放送サービスはワンポイント対マルチポイントのサービスであることにより、フィードバックが許容されず、従来のエラー検出再送メカニズムが使用できないため、信頼的な伝送を保証するのにフォワードエラー訂正（Forward Error Correction、FECと略称する。）を使用する必要がある。公知
（経典）の応用層FECはRSコード（Reed-Solomon codes）とファウンテンコード（Fountain codes）などを含む。RSコードのエンコードとデコードは複雑度が高いので、普通にコ
ードの長さが短い場合にしか適用しない。LTコード（Luby Transform codes）とRaptorコードは実際に応用することが可能な二種のファウンテンコードである。LTコードは線形化のエンコードとデコード時間を有し、RSコードに対して質が高いが、Raptorコードはプリエンコード技術を採用するので、もっと高いデコード効率がある。3GPP のマルチメディ
ア・ブロードキャスト／マルチキャスト・サービス（Multimedia Broadcast / Multicast
Service、MBMSと略称する。）及びディジタルビデオ放送（Digital Video Broadcasting、DVBと略称する。）においては、全てRaptorコードがそのFECエンコード案として採用されている。
【０００４】
低密度生成マトリックスコード（Low Density Generator Matrix Codes、LDGCと略称する。）はリニアブロックコードで、一般的に、その生成マトリックスのゼロでない要素はまばらである。同時に、LDGCはまたシステムコードであり、一般的に、その生成マトリックスの前k列によって組み立てられた正方マトリックスは１つの上三角または下三角マト
リックスであり、当該マトリックスの反転はイテラティブの方法により完成することができる。LDGCのエンコードはシステムコードの情報ビットと中間変数の対応関係を用い、まず中間変数を求め、その後、中間変数が生成マトリックスとかけてエンコードしたコードワードを取得する。LDGCのデコード過程はまず生成マトリックスを用い、中間変数を求め、その後、情報ビットと中間変数の変換関係により情報ビットを求める。LDGCのエンコード複雑度はRaptorコードよりはるかに小さく、任意な情報パケットの長さと任意なコード率エンコードを支持でき、性能上もRaptorコードと類似し、理論的な最適の性能に接近する。
【発明の概要】
【発明が解決しようとする課題】
【０００５】
構造化の低密度生成マトリックスコード（LDGCコード）に比べるとLTコードはシステムコードのエンコード方式を支持しないため、LTコードは或る実際のFECエンコードの要求
を満足することが難しい。Raptorコードはシステムコードを支持するが、Raptorコードは独立のプリエンコード過程を必要とし、即ち、１つプリエンコードマトリックスが必要なため、エンコードの複雑度が高くなる。しかし、LDGCコードは直接に生成マトリックスエンコードを用い、他のプリエンコードマトリックスは必要なく、かつ、LDGCがエンコードする時にバックトラックにより上三角（または下三角）方程式を求めるため、エンコード複雑度はRaptorコードよりはるかに小さくなる。要するに、LTコードと比べると、LDGCの利点はシステムコードを支持することであり、Raptorコードと比べると、LDGCの利点はエンコード複雑度が更に低いことである。
【課題を解決するための手段】
【０００６】
そこで、本発明は、上記問題に鑑みてなされたものであり、本発明の目的とするところは、低密度生成マトリックスコードのエンコード方法を提供することにある。
【０００７】
本発明の実施の形態における低密度生成マトリックスコードのエンコード方法によれば、P個のコード率がR0（Ｒ０＝ｋｂ／ｎｂ、kbは基本マトリックスの行数で、nbは基本マ
トリックスの列数である。）であり、コードの長さが異なる低密度生成マトリックスコードが、統一的な基本マトリックスＧｂｕｎｉｆｏｒｍを含む低密度生成マトリックスコードのマザーコード集を構築するステップ１と、低密度生成マトリックスコードのマザーコード集におけるエンコード待ちの情報ビットシーケンスの長さKと中間変数の長さLとの関係により、中間変数の長さLを取得するステップ２と、中間変数の長さLと基本マトリックスの行数kbを用い基本マトリックスを処理する拡張ファクターｚｋを取得し、拡張ファクターｚｋを用い基本マトリックスに対して補正と拡張を行い、生成マトリックスGldgcを
取得するステップ３及び生成マトリックスのL行と前N＋L−K列によって組み立てられたマトリックスGldgc（1:L, 1:N+L-K）を用い、エンコード待ちの情報ビットシーケンスをエ
ンコードするステップ４を含む。
【０００８】
また、ステップ２において、計算式Ｌ＝ｍｏｄｉｆｙ（ａ×Ｋ＋ｂ）（その中、ｍｏｄｉｆｙ（）は丸め補正を示し、補正の方法は上位丸め、下位丸め、または四捨五入丸めがあり、aは1よりやや大きい正の有理数で、bは正の整数である。）により、エンコード待
ちの情報ビットシーケンスの長さKを用い、中間変数の長さLを取得する。
【０００９】
また、ステップ３において、計算式ｚｔ＝Ｌ／ｋｂにより、中間変数の長さLと基本マ
トリックスの行数kbを用い、拡張ファクターZtを取得し、低密度生成マトリックスコードのマザーコード集に対応するP個のゼロより大きい正の整数ｚ１＜ｚ２＜…＜ｚｋ−１＜
ｚｋ＜…＜ｚＰによって構成する拡張ファクター集合Zsetにおいて、拡張ファクターZtと以下の関係を持つ基本マトリックスを処理する拡張ファクターZk：ｚｋ−１＜ｚｔ≦ｚｋを探り出すステップaと、基本マトリックスを処理する拡張ファクターZkを用い、基本マ
トリックスに対して補正を行い、補正した基本マトリックスＧｂｍｏｄｉｆｉｅｄを取得するステップbと、基本マトリックスを処理する拡張ファクターZkを用い、補正後の基本
マトリックスに対して拡張を行い、未補正の生成マトリックスG’を取得するステップc及び未補正の生成マトリックスG’に対して補正を行い、生成マトリックスGldgcを取得するステップdを含む。
【００１０】
また、ステップ４において、L−K個の既知のビットをエンコード待ちの情報ビットシーケンスにスタッフィングし、長さがLである情報ビットシーケンスmを生成するステップe
と、
計算式I×Gldgc (1: L,1:L)＝mにより、生成マトリックスのL行と前L列によって組み立てられた正方マトリックスGldgc (1:L,1:L)及び長さがLである情報ビットシーケンスmを用
い、中間変数Iを取得し、そして、計算式C＝I×Gldgcにより、生成マトリックスのL行と
前N＋L−K列によって組み立てられたマトリックスGldgc（1:L, 1:N+L-K）を用い、中間変数に対してエンコードし、長さがN＋L−Kである第一エンコード結果を生成するステップf及び長さがN＋L−Kである第一エンコード結果からL−K個の既知のビットを削除し、長さ
がNである第二エンコード結果を生成するステップgを含む。
【００１１】
また、基本マトリックスの行数kbは2より大きい整数であり、基本マトリックスの列数nbは1以上の整数である。ステップdにおいて、未補正の生成マトリックスG’の特定列のウェイトを増加させることにより、生成マトリックスGldgcを取得する。
【００１２】
本発明の実施の形態における低密度生成マトリックスコードのエンコード装置によれば、P個のコード率がR0（Ｒ０＝ｋｂ／ｎｂ、ｋｂは基本マトリックスの行数で、ｎｂは基
本マトリックスの列数である。）であり、コードの長さが異なる低密度生成マトリックスコードより構築する低密度生成マトリックスコードのマザーコード集の統一的な基本マトリックスＧｂｕｎｉｆｏｒｍを格納するのに用いる基本マトリックス格納ユニットと、低密度生成マトリックスコードのマザーコード集におけるエンコード待ちの情報ビットシーケンスの長さKと中間変数の長さLとの関係を用いて、中間変数の長さLを計算し、中間変
数の長さLと基本マトリックスの行数kbを用い基本マトリックスを処理する拡張ファクタ
ーｚｋを取得し、かつ、拡張ファクターｚｋを用い、基本マトリックスに対して補正と拡張の計算を行い、生成マトリックスGldgcを取得するマトリックスパラメータ計算ユニッ
トと、L−K個の既知のビットをエンコード待ちの情報ビットシーケンスに追加し、長さがLである情報ビットシーケンスmを生成するのに用いるビットスタッフィングユニットと、計算式I×Gldgc (1: L,1:L)＝mにより、生成マトリックスのL行と前L列によって組み立てられた正方マトリックスGldgc (1:L,1:L)及び長さがLである情報ビットシーケンスmを用
い、中間変数Iを取得するのに用いるプリエンコードユニットと、生成マトリックスのL行と前N＋L−K列によって組み立てられたマトリックスGldgc（1:L, 1:N+L-K）を用い、中間変数をエンコードし、長さがN＋L−Kである第一エンコード結果を生成するのに用いるブ
ロックコードエンコードユニット及び長さがN＋L−Kである第一エンコード結果からL−K
個の既知のビットを削除し、長さがNである第二エンコード結果を生成するのに用いるビ
ット削除ユニットを含む。また、基本マトリックスのkb行と前kb列によって組み立てられた正方マトリックスＧｂｕｎｉｆｏｒｍ（１：ｋｂ，１：ｋｂ）は上三角または下三角マトリックスである。
【００１３】
また、マトリックスパラメータ計算ユニットは計算式ｚｔ＝Ｌ／ｋｂにより、中間変数の長さLと基本マトリックスの行数kbを用い、拡張ファクターZtを取得し、かつ、低密度
生成マトリックスコードのマザーコード集に対応するP個のゼロより大きい正の整数ｚ１
＜ｚ２＜…＜ｚｋ−１＜ｚｋ＜…＜ｚＰを構成する拡張ファクター集合Zsetより、拡張ファクターZtと以下の関係を持つ拡張ファクターを探り出し、基本マトリックスを処理するZk：ｚｋ−１＜ｚｔ≦ｚｋを取得する。
【００１４】
また、マトリックスパラメータ計算ユニットは基本マトリックスを処理する拡張ファクターZkを用い、基本マトリックスに対して補正を行い、補正した基本マトリックスＧｂｍｏｄｉｆｉｅｄを取得し、かつ、基本マトリックスを処理する拡張ファクターZkを用い、補正後の基本マトリックスに対して拡張を行い、未補正の生成マトリックスGを’ 取得し、未補正の生成マトリックスG’に対して補正を行い、生成マトリックスGldgcを取得する。
【００１５】
また、マトリックスパラメータ計算ユニットは未補正の生成マトリックスG’の特定列
のウェイトを増加させることにより、未補正の生成マトリックスG’に対して補正を行う
。
【００１６】
本発明の実施の形態における低密度生成マトリックスコードのデコード方法によれば、エンコードの過程において使用した拡張ファクターｚｋを用い基本マトリックスＧｂｕｎｉｆｏｒｍに対して補正と拡張を行い、受信生成マトリックスGldgc (:,r1,r2,...ri) を取得するステップ１と、 消去チャネルを通り、エンコードした後低密度生成マトリック
スコードにL−K個の既知のビットをスタッフィングし、デコードする低密度生成マトリックスコードC(r1,r2,...ri)=[Cr1,Cr2,Cr3,...,Cri]を取得し、その中、iはＬ≦ｉ≦Ｎ＋
Ｌ−Ｋを満たす正の整数であり、Lはエンコードの過程において使用した中間変数の長さ
であり、Nは消去チャネルを通らずエンコードした低密度生成マトリックスコードの長さ
であり、Kはエンコードする前の低密度生成マトリックスコードの長さであるステップ２
と、計算式C(:,r1,r2,...ri)=I* Gldgc (:,r1,r2,...ri)により、受信生成マトリックス
とデコードする低密度生成マトリックスコードを用い、1*Lの受信中間ベクトルIを取得するステップ３と、計算式I* Gldgc (1:L,1:L) = mにより、受信生成マトリックスのL行と
前L列によって組み立てられた正方マトリックスGldgc (1:L,1:L)及び受信中間ベクトルを用い、長さがLであるデコード結果mを取得するステップ４及び長さがLであるデコード結
果mからL−K個の既知のビットを削除し、長さがKであるデコード結果を取得するステップ５を含む。
【００１７】
また、受信生成マトリックスはエンコードの過程において使用した生成マトリックスのL行と前N＋L−K列によって組み立てられたマトリックスGldgc（1:L,1:N+L-K）の全ての非消去位置シリアル番号が対応する列のベクトルを保留する。
【００１８】
また、ステップ３において、ガウス消去法により受信生成マトリックスGldgc (:,r1,r2,...ri)に対して行の交換、列の交換、及び/または行の消去演算を行い、L*Lの上三角マ
トリックスを含むマトリックスを取得するステップaと、L*Lの上三角マトリックスを含むマトリックスにより、デコードする低密度生成マトリックスコードに対して置換と重ね合せを行い、エンコードの過程において使用した中間変数を置換するステップb及びバック
トラックにより上三角再帰方程式を解き、受信中間ベクトルIを取得するステップcを含む。
【００１９】
また、ステップaにおいて、受信生成マトリックスにおける行のウェイトが一番軽い行
を選択しj行目と行の交換を行うステップと、行の交換をした受信生成マトリックスにお
けるj行目の最初のゼロでない要素の所属する列と行の交換をした受信生成マトリックス
におけるj列目とを交換するステップ及び行消去方法により、列を交換した受信生成マト
リックスにおけるj行目j列目の要素を用い、列を交換した受信生成マトリックスにおけるj列目のj+1行目と最後の行の間のゼロでない要素を除去するステップを含む。
【００２０】
本発明の実施の形態における低密度生成マトリックスコードのデコード装置によれば、P個のコード率がR0（Ｒ０＝ｋｂ／ｎｂ、ｋｂは基本マトリックスの行数で、ｎｂは基本
マトリックスの列数である。）であり、コードの長さが異なる低密度生成マトリックスコードより構築する低密度生成マトリックスコードのマザーコード集の統一的な基本マトリックスＧｂｕｎｉｆｏｒｍを格納する基本マトリックス格納ユニットと、エンコードの過程において使用した拡張ファクターｚｋを用い、基本マトリックスＧｂｕｎｉｆｏｒｍに対して補正と拡張を行い、受信生成マトリックスGldgc (:,r1,r2,...ri) を取得するマトリックスパラメータ計算ユニットと、消去チャネルを通り、エンコードした後の低密度生成マトリックスコードにL−K個の既知のビットをスタッフィングし、デコードする低密度生成マトリックスコードC(r1,r2,...ri)=[Cr1,Cr2,Cr3,...,Cri]を取得し、その中、iは
Ｌ≦ｉ≦Ｎ＋Ｌ−Ｋを満たす正の整数であり、Lはエンコードの過程において使用した中
間変数の長さであり、Nは消去チャネルを通らずエンコードした低密度生成マトリックス
コードの長さであり、Kはエンコードする前の低密度生成マトリックスコードの長さであ
るビットスタッフィングユニットと、ガウス消去法により受信生成マトリックスGldgc (:,r1,r2,...ri)に対して行の交換、列の交換、及び/または行の消去演算を行い、L*Lの上
三角マトリックスを含むマトリックスを取得する上三角マトリックス計算ユニットと、計算式C(:,r1,r2,...ri)=I* Gldgc (:,r1,r2,...ri)により、L*Lの上三角マトリックスを含むマトリックスとデコードする低密度生成マトリックスコードを用い、1*Lの受信中間ベ
クトルIを取得する中間変数計算ユニットと、計算式I* Gldgc (1:L,1:L) = mにより、受
信生成マトリックスのL行と前L列によって組み立てられた正方マトリックスGldgc (1:L,1:L)及び受信中間ベクトルを用い、長さがLであるデコード結果mを取得するブロックコー
ドデコードユニット及び長さがLであるデコード結果mからL−K個の既知のビットを削除し、長さがKであるデコード結果を取得するビット削除ユニットを含む。
【００２１】
また、マトリックスパラメータ計算ユニットは計算式ｚｔ＝Ｌ／ｋｂにより、エンコードの過程において使用した中間変数の長さLと基本マトリックスの行数kbを用い拡張ファ
クターZtを取得し、かつ、低密度生成マトリックスコードのマザーコード集に対応するP
個のゼロよりも大きい正の整数ｚ１＜ｚ２＜…＜ｚｋ−１＜ｚｋ＜…＜ｚＰが構成する拡張ファクター集合Zsetより、拡張ファクターZtと以下の関係を持つ拡張ファクターを探り出し、エンコードの過程において使用した拡張ファクターZk：ｚｋ−１＜ｚｔ≦ｚｋを取得する。
【００２２】
また、マトリックスパラメータ計算ユニットはエンコードの過程において使用した拡張ファクターZkを用い、基本マトリックスに対して補正を行い、補正した基本マトリックスＧｂｍｏｄｉｆｉｅｄを取得し、かつ、エンコードの過程において使用する拡張ファクターZkを用い、補正した基本マトリックスに対して拡張を行い、基本生成マトリックスGを
取得し、基本生成マトリックスGのL行とデコードする低密度生成マトリックスコードのシリアル番号に対応する列を取り出し、受信生成マトリックを生成する。
【００２３】
また、上三角マトリックス計算ユニットは受信生成マトリックスにおける行のウェイトが一番軽い行を選択しj行目と行の交換を行い、行の交換をした受信生成マトリックスに
おけるj行目の最初のゼロでない要素の所属する列と行の交換をした受信生成マトリック
スにおけるj列目とを交換し、行消去方法により列を交換した受信生成マトリックスにお
けるj行目j列目の要素を用い、列を交換した受信生成マトリックスにおけるj列目のj+1行目と最後の行の間のゼロでない要素を除去することにより、L*Lの上三角マトリックスを
含むマトリックスを取得する。
【００２４】
また、受信生成マトリックスのL行と前L列によって組み立てられた正方マトリックスGldgc (1:L,1:L)が左上三角または左下三角マトリックスである場合、消去チャネルを通り
、エンコードした低密度生成マトリックスコードの前に、L−K個の既知のビットをスタッフィングする。受信生成マトリックスのL行と前L列によって組み立てられた正方マトリックスGldgc (1:L,1:L)が右上三角または右下三角マトリックスである場合、消去チャネル
を通り、エンコードした低密度生成マトリックスコードのK−E個のビットの後に、L−K個の既知のビットをスタッフィングし、その中、Eは消去チャネルを通らずエンコードした
低密度生成マトリックスコードが消去チャネルを通った後に、前K個のコードワードから
消去されたコードワードの個数である。
【発明の効果】
【００２５】
本発明によれば、低密度生成マトリックスコードのコードの長さの柔軟性を向上させ、基本マトリックスの格納エアボーンを減少させることができることによって、エンコードとデコードの複雑度を下げる。
【図面の簡単な説明】
【００２６】
ここで説明する添付の図は本発明を更に理解するためのものであり、本発明の一部を構成し、示した実施の形態とその説明は本発明を解釈するためのものであり、本発明に対する不当な限定をするものではない。
【図１】上下三角基本マトリックスを示す図である。
【図２】本発明における実施の形態に係るLDGCのエンコード方法のフローチャートである。
【図３】本発明における実施の形態に係るLDGC生成マトリックスを示す図である。
【図４】本発明における実施の形態に係るLDGCのデコード方法のフローチャートである。
【図５】本発明における実施の形態に係る消去チャネルしたLDGC生成マトリックスを示す図である。
【図６】本発明における実施の形態に係るガウス消去法によりLDGC生成マトリックスに発生する右上三角マトリックスを示す図である。
【図７】本発明における実施の形態に係るLDGCのエンコード装置のブロック図である。
【図８】本発明における実施の形態に係るLDGCのデコード装置のブロック図である。
【発明を実施するための形態】
【００２７】
本発明に提出されたLDGCコードのエンコード方法は異なるコードの長さに適応し、説明（表述）が簡単で、標準化するのに有利で、基本マトリックスの格納に有利であるので、もっと大きな通用性を持つ。このようなLDGCコードの生成マトリックスGをＫ×Ｎ個のそ
れぞれｚ×ｚの基本置換マトリックスの異なる冪であるブロックマトリックスからなる（Ｋ×ｚ）×（Ｎ×ｚ）マトリックスとする。基本置換マトリックスが単位行列である場合、それらは単位行列のループシフトマトリックス（本文で右にシフトすることを黙認）である。以下のような式があり、ｇｂｉｊ＝−１ならば、
【００２８】
【数１】
2011505768.tif 000021
【００２９】
。ｇｂｉｊは0以上の整数ならば、
【００３０】
【数２】
2011505768.tif 000022
【００３１】
を定義する。ここでPは１つのｚ×ｚの標準の置換マトリックスであり、以下の通りであ
る。
【００３２】
【数３】
2011505768.tif 000023
【００３３】
このような冪ｇｂｉｊにより各ブロックマトリックスを唯一に標識することができ、単位マトリックスの冪は0で示してよいし、ゼロマトリックスは通常-1で示す。このように
、その冪をGの各ブロックマトリックスの代わりにすると、１つのｋｂ×ｎｂの冪マトリ
ックスＧｂを取得する。ここで、定義ＧｂはGの基本マトリックスであり、GはＧｂの拡張マトリックスと称する。実際にエンコードする場合、z = コードの長さ/基本マトリック
スの列数nb、拡張ファクターと称する。
【００３４】
例えば、マトリックスGは以下のパラメータzと１つの2×4の基本マトリックスGbを用い、
【００３５】
【数４】
2011505768.tif 000024
【００３６】
に対して拡張を行い、取得できる。
【００３７】
よって、本発明のLDGCのエンコーダーは基本マトリックスGb、拡張ファクターz、及び
選択した基本置換マトリックスにより唯一に生成するものであると言える。
【００３８】
各異なる拡張ファクターに対してLDGCが１つの基本マトリックスを全て採用すると、各異なるコードの長さに対してLDGCエンコーダーとデコーダーは１つ基本マトリックスを格納しなければならない。コードの長さが多い場合、多数の基本マトリックスを格納しなければならないので、表示と格納の問題点が発生する。よって、コードの長さを変化させることが必要とされる場合、同じコード率の一定範囲に複数のコードの長さの低密度生成マトリックスコードは統一的な基本マトリックスを用い、ここで統一基本マトリックスＧｂｕｎｉｆｏｒｍを定義する。異なるコードの長さの場合、Ｇｂｕｎｉｆｏｒｍに対して補正と拡張を行うと、生成マトリックスGが取得され、生成したエンコーダーとデコーダーをコードの長さの可変の場合に適応させる。
【００３９】
補正とは異なるコードの長さの拡張ファクターを用い基本マトリックスＧｂの非負値に対して補正を行い、補正した要素値が当該コードの長さの拡張ファクターの値より小さくなければならない。補正算法はたくさんあり、例えば、印象採得（取模）(mod)、丸め(scale+floor)、または四捨五入(scale+round)などを採用できる。Ｐｉｊを基本マトリック
スＧｂのi行j列目の非負1要素とし、Ｐｉｊ’を補正を行ったマトリックスＧｂｍｏｄｉ
ｆｉｅｄのi行j列目の非負1要素とすると、
印象採得(mod)方法について、
Ｐｉｊ’≡Ｐｉｊｍｏｄｚ≡Ｐｉｊｍｏｄ（Ｎ／ｎｂ）、
丸め(scale+floor)方法について、
【００４０】
【数５】
2011505768.tif 000025
【００４１】
四捨五入(scale+round)方法について、
Ｐｉｊ’＝Ｒｏｕｎｄ〔Ｐｉｊ×（ｚ／ｚｍａｘ）〕
＝Ｒｏｕｎｄ〔Ｐｉｊ×（Ｎ／Ｎｍａｘ）〕。
【００４２】
その中、ｚはクライアントコードの長さに対する拡張ファクターであり、即ち、ブロック正方マトリックスの行数または列数であり、ｚｍａｘは最大に支持するコードの長さが対応する拡張ファクターである。Modは印象採得操作で、
【００４３】
【数６】
2011505768.tif 000026
【００４４】
は下丸め操作で、Roundは四捨五入操作である。
【００４５】
本発明に提供した低密度生成マトリックスコードは可変のコードの長さのLDGCマザーコード集を基礎として、１つの統一的な基本マトリックスに対して補正と拡張などの操作により、任意なコードの長さの低密度生成マトリックスコードのエンコードとデコードを実現することである。以下に添付図面を参照しながら、本発明の実施の形態について詳細に説明する。
【００４６】
図2を参照しながら本発明の実施の形態におけるLDGCのエンコード方法を説明する。な
お、図2に示す方法は長さがKである情報ビットストリームをエンコードして、長さのNの
エンコードした情報ビットストリームを後続の処理ユニットに出力して処理する過程である。その中、パリティの長さはM=N-K、コード率はr=K/Nである。図２に示すように、当該方法は以下のステップを含む。
【００４７】
S202において、１つの特定のコード率R0の低密度生成マトリックスコードのマザーコード集の統一的な基本マトリックスＧｂｕｎｉｆｏｒｍを確定する。その中、当該低密度生成マトリックスコードのマザーコード集はP個のコード率がR0、異なるコードの長さ（Ｎ
＝ｚ×ｎｂ，Ｋ＝ｚ×ｋｂ）である低密度生成マトリックスコードからなる。その中、Ｒ０＝ｋｂ／ｎｂは実際にエンコードする時に必要なコード率よりはるかに小さい。Ｚｓｅｔは拡張ファクター集合で、拡張ファクターｚはＺｓｅｔのいずれかの１つの要素であってよいし、ＺｓｅｔはＰ個のゼロより大きい正の整数ｚ１＜ｚ２＜…＜ｚｋ−１＜ｚｋ＜…＜ｚＰから構成する集合である。その中、ｎｂ（2より大きい確定整数）は基本マトリ
ックスＧｂｕｎｉｆｏｒｍの列数で、 ｋｂ（1以上の確定整数）は基本マトリックスＧｂｕｎｉｆｏｒｍの行数である。図１に示すように、基本マトリックスＧｂｕｎｉｆｏｒｍのｋｂ行と前ｋｂ列によって組み立てられた正方マトリックスＧｂｕｎｉｆｏｒｍ（１：ｋｂ，１：ｋｂ）は特殊な上三角または下三角マトリックスであり、全ての実際のコード率がR0よりも大きいLDGCコードは基本マトリックスＧｂｕｎｉｆｏｒｍエンコードにより発生する。
【００４８】
S204において、情報ビットシーケンスの長さKと中間変数の長さLとの関係によりLの数
値を取得する。具体的に、情報ビットストリームの長さKと中間変数の長さLとの間に一定の関係があり、即ち、Ｌ＝ｍｏｄｉｆｙ（ａ×Ｋ＋ｂ）、その中、ｍｏｄｉｆｙ（）が丸め補正を示し、補正の方法が上位丸め（ceil）、下位丸め（floor）、または四捨五入（round）丸めであってよい。その中、aは１つの1よりやや大きい正の有理数で、bは１つの
正の整数であるので、Lが取得できる。
【００４９】
S206において：情報パケットの長さによりマッチングし、拡張ファクターzを確定し、
拡張ファクターと基本マトリックスＧｂｕｎｉｆｏｒｍにより、エンコードが必要なパラメータとマトリックスを確定する。その中、特定の拡張ファクター計算式ｚｔ＝Ｌ／ｋｂを用い、拡張ファクターｚｔを確定し、ｚｔとＺｓｅｔの要素がｚｋ−１＜ｚｔ≦ｚｋのような大小関係を持つ。その中、ｚｋ−１，ｚｋはＺｓｅｔの隣接する要素で、エンコードに必要な拡張ファクターはｚｋである。
【００５０】
S208において、統一的な基本マトリックスＧｂｕｎｉｆｏｒｍと拡張ファクターｚｋに基づいて、特定の補正算法により補正を行った基本マトリックスＧｂｍｏｄｉｆｉｅｄを取得し、拡張ファクターｚｋを用いＧｂｍｏｄｉｆｉｅｄに対して拡張を行い、未補正の生成マトリックスG’を取得する。G’に対して補正を行い、補正方法は或る列のウェイト（即ち、列の要素1の個数を増加）を増加させ、最終的生成マトリックスGldgcを取得する。その中、生成マトリックスGldgcのL行と前N+L-K列によって組み立てられたマトリック
スGldgc（1:L, 1:N+L-K）はエンコードに必要なマトリックスである。
【００５１】
なお、列のウェイトを増加させる方法は他の発生する重い列がG中の或る列を取り替え
てよいし、G’の他の列をこれらの列に累加してよいし、これらの列に直接に要素1の個数を増加させる。かつ、この三種の方法に限定されていないが、最終的生成マトリックスGldgcのL行と前L列によって組み立てられた正方マトリックスは依然として１つ上三角また
は下三角マトリックスを保証しなければならない。
【００５２】
S210において、基本マトリックスＧｂｕｎｉｆｏｒｍのｋｂ行と前ｋｂ列によって組み立てられた正方マトリックスＧｂｕｎｉｆｏｒｍ（１：ｋｂ，１：ｋｂ）が左上三角または左下三角マトリックスである場合、L-K個の既知のビットをエンコードする必要なKビットの情報ビットストリーム（情報ビットs）の前にスタッフィングし、長さがLである新たな情報ビットストリームmを生成する。Ｇｂｕｎｉｆｏｒｍ（１：ｋｂ，１：ｋｂ）が右
上三角または右下三角マトリックスである場合、L-K個の既知のビットがエンコードする
必要なKビットの情報ビットストリーム（情報ビットs）の後にスタッフィングし、長さがLである新たな情報ビットストリームmを生成する。なお、スタッフィングビットの位置はここに限定されるものではない。
【００５３】
S212において、LDGCがシステムコードであるので、スタッフィングした情報ビットストリームmに対しては、I×Gldgc (1: L,1:L)＝mにより、生成マトリックスGldgcのL行と前L列によって組み立てられた正方マトリックスGldgc (1:L,1:L)と長さがLである情報ビットストリームmを用い中間変数Iを生成する。
【００５４】
S214において、C＝I×Gldgc により、生成マトリックスGldgcを用い中間変数Iをエンコードして長さのN+L-Kのエンコード信号ストリーム を生成する。
【００５５】
S216において、長さのN+L-Kのエンコード信号ストリームからL-K個の既知のビットを削除して長さのNのエンコード信号ストリームを生成する 。
【００５６】
以下、１つの実際の例で本発明の実施の形態における低密度生成マトリックスコードのエンコード方法を説明する。
【００５７】
まず、低密度生成マトリックスコードのマザーコード集に対して補正を行い、補正した基本マトリックスを取得する。１つのコード率はR0=1/3で、複数のコードの長さである構造化の低密度生成マトリックスコードのマザーコード集の統一的な基本マトリックスのサイズはｋｂ×ｎｂ＝１２×３６である。当該マザーコード集の拡張ファクターは1をステ
ップとしてzmin=2からzmax=683までに増加し、ｚ∈Ｚｓｅｔ＝{ｚｍｉｎ：１：ｚｍａｘ}と記す。１つの特定のコードの長さNが１つの特定の拡張ファクターzに対応するので、情報パケットの長さはｋｂをステップとしてｚｍｉｎ×ｋｂからｚｍａｘ×ｋｂまでに増加し、Ｋ∈＝{ｚｍｉｎ×ｋｂ：ｋｂ：ｚｍａｘ×ｋｂ}＝{２４：１２：８１９６}と記す。コード率R0=1/3のマザーコード集の統一的な基本マトリックスＧｂｕｎｉｆｏｒｍは以下のように示すＧｂｕｎｉｆｏｒｍ＝[Ｇｓｙｓｔｅｍｂ｜Ｇｐａｒｉｔｙｂ]。その中、
【００５８】
【数７】
2011505768.tif 000027
【００５９】
【数８】
2011505768.tif 000028
【００６０】
１つの1*K=1*24の２進法情報データストリームのビットs（sは16進数でD8AB13と示してよい。）は本発明の実施の形態における低密度生成マトリックスコードのエンコード方法によりエンコードして72ビットのLDGCエンコードコードワードを生成することがあるので、
K=24、N=72である。
【００６１】
情報パケットの長さKと中間変数の長さLとの関係により、L=48を求める。特定の拡張ファクター計算式ｚｔ＝Ｌ／ｋｂにより拡張ファクターｚｔ＝４８／１２＝４を確定して、ｚｔとＺｓｅｔの要素とはｚｋ−１＝３＜ｚｔ≦ｚｋ＝４という関係を持つことを確定することができる。その中、ｚｋ−１がＺｓｅｔの隣接の要素であると、ｚ＝ｚｋ＝４はエンコードする必要な拡張ファクターである。
【００６２】
（ｚ×ｋｂ，ｚ×ｎｂ）低密度生成マトリックスコードのエンコードとデコードを実現するため、前記のような前記或る補正演算と拡張ファクターzにより統一的な基本マトリ
ックスＧｂｕｎｉｆｏｒｍに対して補正を行い、補正した基本マトリックスＧｂｍｏｄｉｆｉｅｄを取得し、Ｇｂｍｏｄｉｆｉｅｄとzにより生成マトリックスを得られる。本実
施の形態は丸め（Scale+floor）補正計算式に用い、統一的な基本マトリックスに対して
補正を行い、補正はＧｂｕｎｉｆｏｒｍの非ゼロマトリックス要素に示す（ｇｉｊｂ）ｕｎｉｆｏｒｍに対して行い、ここでｚｍａｘ＝６８３、 
【００６３】
【数９】
2011505768.tif 000029
【００６４】
。
【００６５】
上記のＧｂｕｎｉｆｏｒｍを補正することで、低密度生成マトリックスコードに対する補正基本マトリックスを取得され、以下の通りである。
【００６６】
【数１０】
2011505768.tif 000030
【００６７】
拡張ファクターｚｋを用いＧｂｍｏｄｉｆｉｅｄに対して拡張を行ってL*(N+L-K)の生
成マトリックスG’を取得し、G’のL-zk=44列目からL+ zk=52列目までに対して補正を行
い、G’(:,L-zk:L+ zk)の列のウェイト（即ち、列の要素1の個数を増加）を増加させる。同時に、G’の1列目からzk列までの一部の列のウェイトが2で、補正したマトリックスがGldgc (1:L,1:N+L-K)=Gldgc (1:48,1:96)で、補正したマトリックスGldgcがたくさんのzk*
zkのスクエア配列からなるように、G’の1列目からzk列目までに対して補正を行う。図
３に示すように（その中、黒い点は要素1を示し、空欄の位置は要素0を示す）。
【００６８】
基本マトリックスＧｂｕｎｉｆｏｒｍのｋｂ行と前ｋｂ列によって組み立てられた正方マトリックスＧｂｕｎｉｆｏｒｍ（１：ｋｂ，１：ｋｂ）は１つの右上三角マトリックス
であるので、入力情報ストリームsの後にd=L-K=24個の既知のスタッフィングビットp（p
は16進法で9A0C2Cを示してよい。）を追加し、1*L=1*48の情報ビットストリームm（mは16進法でD8AB139A0C2Cを示してよい。）を生成する。
【００６９】
LDGCがシステムコードの特徴であること（LDGCコードはシステムコードであるので、Ｉ×Ｇｌｄｇｃ（１：４８,１：４８）＝ｍ）により、Gldgc (1:L,1:L)=Gldgc (1:48,1:48)が１つの右上三角マトリックスであることを用い、スタッフィングした1*L=1*48の情報ビットストリームmに対して方程式を求めることで計算し、1*L=1*48の中間変数I（Iは16進
法で942DA94E0A24を示してよい。）を求める。
【００７０】
ｃ＝Ｉ×Ｇｌｄｇｃにより、入力された中間変数Iをエンコードし、1*(N+d)=1*96の２
進法コードワードc（cは16進法でD8AB139A0C2CCD3AC516ED52を示してよい。）を生成する。
【００７１】
1*(N+d)=1*96の２進法コードワードcに追加されたd=24個のスタッフィングビットを削
除し、N=72ビットのエンコードコードワード（16進法でD8AB13CD3AC516ED52を示してよい。）を最終に送り出す。
【００７２】
図4を参照しながら、本発明の実施の形態におけるLDGCのデコード方法を説明する。図
４に示すような方法は消去チャネルを通った情報ビットストリーム、デコードが長さがK
である情報ビットストリームを後続の処理ユニットに出力することである。消去チャネルを通った後、前のK個のビットからE個のビットが消去された。図４に示すように、当該方法は以下のステップがある。
【００７３】
S402において、基本マトリックスＧｂｕｎｉｆｏｒｍに対して補正と拡張を行い、受信生成マトリックスGldgc (:,r1,r2,...ri)を取得する。その中、具体的な方法はエンコー
ド方法における相応のステップを参照する。
【００７４】
S404において、消去チャネルを通った受信ビット信号ストリームに対して、L-K個の既
知のビットをスタッフィングし、デコーダーの入力信号ストリームC(r1,r2,...ri)=[Cr1,Cr2,Cr3,...,Cri] を組み立てる。その中、iは一つの正の整数で、Ｌ≦ｉ≦Ｎ＋Ｌ−Ｋを満たす。その中、エンコードの過程において使用した生成マトリックスのL行と前L列によって組み立てられた正方マトリックスGldgc (1:L,1:L)が左上三角または左下三角マトリ
ックスである場合、L-K個の既知のビットを受信ビット信号ストリームの前にスタッフィ
ングする。エンコードの過程において使用した生成マトリックスのL行と前L列によって組み立てられた正方マトリックスGldgc (1:L,1:L)が右上三角または右下三角マトリックス
である場合、L-K個のスタッフィングビットを受信ビット信号ストリーム のK−E個のビットの後にスタッフィングする。なお、スタッフィングビットの位置はここに限定されるものではない。
【００７５】
S406において、C(:,r1,r2,...ri)=I* Gldgc (:,r1,r2,...ri)により方程式を求め、1*Lの中間ベクトルIを取得する。その中、Gldgc (:,r1,r2,...ri)が示すのは受信された情報ビットに対応する受信生成マトリックスGldgc (:,r1,r2,...ri)であり、当該マトリック
スはエンコードの過程において使用した生成マトリックスGldgc（1:L,1:N+L-K）の全ての非消去位置シリアル番号が対応する列のベクトルを保留した。具体的に、中間ベクトルI
の計算過程は以下のステップを含む。特殊なガウス消去法により、マトリックスGldgc (:,r1,r2,...ri)に１つのL*Lの上三角マトリックスを発生させ、L*Lの上三角マトリックス
を含むマトリックスの行置換と行消去演算により、受信コードワードの置換と重ね合せを行い、L*Lの上三角マトリックスを含むマトリックスの列置換の演算により、中間変数の
置換を行い、バックトラックにより上三角再帰方程式を求め、中間変数Iを最終的に取得
する。その中、ガウス消去法により、再帰の方法を用いL*Lの上三角マトリックスを含む
マトリックスを発生させる過程は以下のステップの通りである。Gldgc (j:L,r1,r2,...ri)の行のウェイト（行中要素1の個数）が一番軽い行を選択してj行目とを行交換し、j行目一番目のゼロでない要素が所属する列とマトリックスj列目とをマトリックス交換させ、
行消去方法によりj行目j列目の要素をj列目のj+1行目と最後の行の間のゼロでない要素を除去する。その中、含L*Lの上三角マトリックス含むマトリックスを最終に発生すること
ができないと、方程式を解くことは失敗したことを示す。
【００７６】
S408において、I* Gldgc (1:L,1:L) = mによりエンコードし長さがLである信号ストリ
ーム mを取得する。
【００７７】
S410において、スタッフィングしたL-K個の既知のビットを削除し、長さがNである必要な情報ビットを取得する。
【００７８】
以下、１つの実際の例で本発明の実施の形態における低密度生成マトリックスコードのデコード方法を説明する。
【００７９】
まず、低密度生成マトリックスコードのマザーコード集に対して補正と拡張を行い、補正と拡張の方法はエンコードと同じで、取得された補正後の基本マトリックスと拡張後の生成マトリックスはエンコードする時と同じである。特定のコード率R0=1/3に対して、情報は長さのK=24のコードワードデコードをパケットし、デコード側に用いた基本マトリックスＧｂｍｏｄｉｆｉｅｄと生成マトリックスGldgcはエンコード側と同じである。
【００８０】
１つの情報パケットの長さのK=24の２進法ビットストリームc’は消去チャネルを通っ
た後にデコード側に到達し、c’が16進法でD(X)AB13CD3(X)C516ED52を示してよい。その
中、(X)は当該位置上のビットが消去されることを示し、K=24個の情報グループ化ビット
にE=4個のビットが消去されることを示し、消去位置は5、6、7、8番目である。Ｇｂｍｏ
ｄｉｆｉｅｄが１つの右上三角マトリックスであるので、K-E=20番目の後にL-K=24個の既知のビットを追加し新たな受信コードワードストリームcを構成し、16進法でc=DAB139A0C2CCD3C516ED52、 [r1,r2,...ri]=[1:4, 9:36, 41:96]を示してよい。デコードで中間変数を求めるため使用した対応する生成マトリックスはG’ldgc=Gldgc(1:L, [r1,r2,...ri])=
Gldgc(1:48, [1:4, 9:36, 41:96])である。
【００８１】
ガウス消去法によりG’ldgcに１つのL*L=48*48の右上三角マトリックス（図5と図6はそれぞれ特殊ガウス消去法を行う前と行った後に生成マトリックスG’ldgcの形式を示す）
が発生するとともに、マトリックスの行置換と行消去の演算により、受信コードワードの置換と重ね合せを行う。マトリックスの列置換の演算により、中間変数の置換を行う。
【００８２】
バックトラックにより上三角方程式をもとめ、中間変数I=942DA94E0A24を取得する。I*
Gldgc (1:L,1:L) = I* Gldgc (1:48,1:48) = mによりエンコードして長さがLである信号ストリーム mを取得し、16進法でD8AB139A0C2Cを示してよい。
【００８３】
スタッフィングしたL-K=48-24=24個の既知のビットを削除し、長さのK=24の必要な情報ビットsを取得し、sが16進法でD8AB13を示してよい。
【００８４】
図7を参照しながら本発明の実施の形態に係る低密度生成マトリックスコードのエンコ
ード装置を説明する。図７に示すように、当該エンコード装置は、基本マトリックス格納ユニット702と、ビットスタッフィングユニット704と、プリエンコードユニット706と、
マトリックスパラメータ計算ユニット708と、ブロックコードエンコードユニット710と、ビット削除ユニット712とを含む。
【００８５】
その中、基本マトリックス格納ユニットは統一的なｋｂ×ｎｂの基本マトリックスＧｂｕｎｉｆｏｒｍを格納し、基本マトリックスをマトリックスパラメータ計算ユニットに出力するのに用いる。その中、基本マトリックスのｋｂ行と前ｋｂ列によって組み立てられた正方マトリックスＧｂｕｎｉｆｏｒｍ（１：ｋｂ，１：ｋｂ）は上三角または下三角マトリックスである。
【００８６】
ビットスタッフィングユニットはエンコードする必要な長さがKである情報ビットスト
リームにL-K個の既知のビットを追加し、長さがLである情報ビットストリームmを生成し
、mをプリエンコードユニットに出力するのに用いる。
【００８７】
プリエンコードユニットはI×Gldgc (1:L,1:L)＝mにより、生成マトリックスGldgcのL
行と前L列によって組み立てられた正方マトリックスGldgc (1:L,1:L)と長さがLである情
報ビットストリームmを用い中間変数Iを生成し、Iをブロックコードエンコードユニット
に出力するのに用いる。
【００８８】
マトリックスパラメータ計算ユニットはブロックコードエンコードユニットに必要なマトリックスとパラメータを、かつ、ビットスタッフィングユニット、ビット削除ユニットに必要なパラメータを発生させるのに用いる。その中、まず、拡張ファクターｚｔ＝Ｌ／ｋｂを確定し、その後、ｚｔとＺｓｅｔの要素がｚｋ−１＜ｚｔ≦ｚｋような大小関係があることを確定し、その中ｚｋ−１,ｚｋがＺｓｅｔの隣接する要素ならば、ｚｋは出力
する必要な拡張ファクターである。統一的な基本マトリックスＧｂｕｎｉｆｏｒｍと拡張ファクターｚｋに基づいて、特定の補正算法により補正した基本マトリックスＧｂｍｏｄｉｆｉｅｄを取得できる。拡張ファクターｚｋによりＧｂｍｏｄｉｆｉｅｄに対して拡張を行い生成マトリックスG’を取得し、G’のL-zk列目からL+zk列目までに対して補正を行い、G’(:,L-zk:L+ zk)の列のウェイト（即ち、列の要素1の個数を増加）を増加させ、補正したマトリックスがGldgcである。生成マトリックスGldgc（1:L, 1:N+L-K）、拡張ファクターｚｋ、マトリックスサイズパラメータK、L、Nをグループ化（分組）エンコードユ
ニット、ビットスタッフィングユニット及びビット削除ユニットに入力するのに用いる。
【００８９】
ブロックコードエンコードユニットはマトリックスパラメータ計算ユニットが発生したマトリックスとパラメータにより、情報グループ化をエンコードし、コードワードを生成し、ビット削除ユニットに出力するのに用いる。
【００９０】
ビット削除ユニットはエンコードした後のコードワードにスタッフィングさせたL-K個
の既知のビットを削除し、削除して取得したN個のコードワードを出力するのに用いる。
【００９１】
図8を参照しながら、本発明の実施の形態に係る低密度生成マトリックスコードのデコ
ード装置を説明する。図８に示すように、当該デコード装置は、基本マトリックス格納ユニット802と、ビットスタッフィングユニット804と、マトリックスパラメータ計算ユニット806と、上三角マトリックス計算ユニット808と、中間変数計算ユニット810と、ブロッ
クコードデコードユニット812と、ビット削除ユニット814とを含む。
【００９２】
その中、基本マトリックス格納ユニットは統一的なｋｂ×ｎｂの基本マトリックスＧｂｕｎｉｆｏｒｍを格納し、基本マトリックスをマトリックスパラメータ計算ユニットに出力するのに用いる。
【００９３】
ビットスタッフィングユニットは消去チャネルを通った受信ビット信号ストリームをL-K個の既知のビットをスタッフィングし、デコーダーの入力信号ストリーム C(r1,r2,...ri)=[Cr1,Cr2,Cr3,...,Cri]を組み立てるのに用いる。その中、iは一つの正の整数でＬ≦
ｉ≦Ｎ＋Ｌ−Ｋ。
【００９４】
マトリックスパラメータ計算ユニットはブロックコードデコードユニット、上三角マトリックス計算ユニットに必要なマトリックスとパラメータを、かつ、ビットスタッフィングユニット、ビット削除ユニットに必要なパラメータを発生させるのに用いる。まず、拡張ファクターｚｔ＝Ｌ／ｋｂを確定し、その後、ｚｔとＺｓｅｔの要素がｚｋ−１＜ｚｔ≦ｚｋような大小関係があることを確定し、その中、ｚｋ−１,ｚｋはＺｓｅｔの隣接の要素でならば、ｚｋが出力する必要な拡張ファクターである。統一的な基本マトリックスＧｂｕｎｉｆｏｒｍと拡張ファクターｚｋに基づいて、特定の補正算法により補正した基本マトリックスＧｂｍｏｄｉｆｉｅｄを得られる。拡張ファクターｚｋを用いＧｂｍｏｄｉｆｉｅｄに対して拡張を行い生成マトリックスGを取得し、生成マトリックスのL行を受信したビット信号ストリームシリアル番号が対応する列とマトリックスGldgc (1:L,r1,r2,...ri)を組成し、上三角マトリックス計算ユニットに入力する。生成マトリックスGldgc（1:L, 1:N+L-K）、拡張ファクターｚｋをグループ化デコードユニットに入力し、マトリックスサイズパラメータK、L、Nをビットスタッフィングユニットとビット削除ユニットに入力する。
【００９５】
上三角マトリックス計算ユニットはGldgc (:,r1,r2,...ri)に１つのL*Lの上三角マトリックスを発生させ、かつ、中間変数計算ユニットまで出力するのに用いる。その中、まず、Gldgc (j:L,r1,r2,...ri)の行のウェイト（行中要素1の個数）が一番軽い行を選択しj
行目とを行交換する。j行目一番目のゼロでない要素の所属する列とマトリックスのj列目とを列交換する。行消去方法によりj行目j列目の要素をj列目のj+1行目と最後の行の間のゼロでない要素を除去する。続けて、L*Lの上三角マトリックスを含むマトリックスの行
置換と行消去の演算により、受信コードワードの置換と重ね合せを行う。L*Lの上三角マ
トリックスを含むマトリックスの列置換の演算により、中間変数整列順序の置換を行う。生成した上三角マトリックスと新たな受信コードワードと中間変数の整列順序を中間変数計算ユニットに入力する。
【００９６】
中間変数計算ユニットはC(:,r1,r2,...ri)=I*Gldgc (1:L,r1,r2,...ri)により、バックトラックで上三角方程式を求め、1*Lの中間ベクトルIを取得するのに用いる。
【００９７】
ブロックコードデコードユニットはマトリックスパラメータ計算ユニットが発生したマトリックスとパラメータにより、デコード装置が入力した２進法ビット信号ストリームをエンコードし、I* Gldgc (:,1:L) = mによりエンコードし長さのk+dの信号ストリーム mを取得し、ビット削除ユニットに出力するのに用いる。
【００９８】
ビット削除ユニットはエンコードした後のコードワードの一定数量のコードワードビットを削除し、削除して取得したK個のコードワードを出力するのに用いる。
【００９９】
様々な開示される実施形態が示され、説明されてきたが、本明細書の主題がこれらの実施形態のみに限定されるわけではないことは、明白であろう。特許請求の範囲の中で述べられている、開示される実施形態の精神および範囲から逸脱することのない多数の修正形態、変更形態、変形物、代用物および同等物が、当業者には明らかとなろう。
【手続補正２】
【補正対象書類名】特許請求の範囲
【補正対象項目名】全文
【補正方法】変更
【補正の内容】
【特許請求の範囲】
【請求項１】
P個のコード率がR0（Ｒ０＝ｋｂ／ｎｂ、kbは基本マトリックスの行数で、nbは前記基
本マトリックスの列数である。）であり、コードの長さが異なる低密度生成マトリックスコードが、統一的な基本マトリックスＧｂｕｎｉｆｏｒｍを含む低密度生成マトリックスコードのマザーコード集を構築するステップ１と、
前記低密度生成マトリックスコードのマザーコード集におけるエンコード待ちの情報ビットシーケンスの長さKと中間変数の長さLとの関係により、前記中間変数の長さLを取得
するステップ２と、
前記中間変数の長さLと前記基本マトリックスの行数kbを用い、前記基本マトリックス
を処理する拡張ファクターｚｋを取得し、前記拡張ファクターｚｋを用い、前記基本マトリックスに対して補正と拡張を行い、生成マトリックスGldgcを取得するステップ３及び
前記生成マトリックスのL行と前N＋L−K列によって組み立てられたマトリックスGldgc
（1:L, 1:N+L-K）を用い、前記エンコード待ちの情報ビットシーケンスをエンコードするステップ４を含むことを特徴とする低密度生成マトリックスコードのエンコード方法。
【請求項２】
前記ステップ２において、計算式Ｌ＝ｍｏｄｉｆｙ（ａ×Ｋ＋ｂ）（その中、ｍｏｄｉｆｙ（）は丸め補正を示し、補正の方法は上位丸め、下位丸め、または四捨五入丸めがあり、aは1よりやや大きい正の有理数で、bは正の整数である。）により、前記エンコード
待ちの情報ビットシーケンスの長さKを用い前記中間変数の長さLを取得することを特徴とする請求項１の記載に基づくエンコード方法。
【請求項３】
前記ステップ３において、計算式ｚｔ＝Ｌ／ｋｂにより、前記中間変数の長さLと前記
基本マトリックスの行数kbを用い、拡張ファクターZtを取得し、前記低密度生成マトリックスコードのマザーコード集に対応するP個のゼロより大きい正の整数ｚ１＜ｚ２＜…＜
ｚｋ−１＜ｚｋ＜…＜ｚＰによって構成する拡張ファクター集合Zsetにおいて、前記拡張ファクターZtと以下の関係を持つ前記基本マトリックスを処理する拡張ファクターZk：ｚｋ−１＜ｚｔ≦ｚｋを探り出すステップaと、
前記基本マトリックスを処理する拡張ファクターZkを用い、前記基本マトリックスに対して補正を行い、補正した基本マトリックスＧｂｍｏｄｉｆｉｅｄを取得するステップb
と、
前記基本マトリックスを処理する拡張ファクターZkを用い、前記補正した基本マトリックスに対して拡張を行い、未補正の生成マトリックスG’を取得するステップc及び
前記未補正の生成マトリックスG’に対して補正を行い、前記生成マトリックスGldgcを取得するステップdを含むことを特徴とする請求項２の記載に基づくエンコード方法。
【請求項４】
前記ステップ４において、
L−K個の既知のビットを前記エンコード待ちの情報ビットシーケンスにスタッフィングし、長さがLである情報ビットシーケンスmを生成するステップeと、
計算式I×Gldgc (1:L,1:L)＝mにより、前記生成マトリックスのL行と前L列によって組
み立てられた正方マトリックスGldgc (1:L,1:L)及び前記長さがLである情報ビットシーケンスmを用い、前記中間変数Iを取得し、かつ、計算式C＝I×Gldgcにより、前記生成マト
リックスのL行と前N＋L−K列によって組み立てられたマトリックスGldgc（1:L, 1:N+L-K
）を用い、前記中間変数に対してエンコードし、長さがN＋L−Kである第一エンコード結
果を生成するステップf及び前記長さがN＋L−Kである第一エンコード結果から前記L−K個の既知のビットを削除し、長さがNである第二エンコード結果を生成するステップgを含むことを特徴とする請求項３の記載に基づくエンコード方法。
【請求項５】
前記基本マトリックスの行数kbは2より大きい整数で、前記基本マトリックスの列数nb
は1以上の整数であることを特徴とする請求項１〜４のいずれかの記載に基づくエンコー
ド方法。
【請求項６】
前記ステップdにおいて、前記未補正の生成マトリックスG’の特定列のウェイトを増加させることにより、前記生成マトリックスGldgcを取得することを特徴とする請求項５の
記載に基づくエンコード方法。
【請求項７】
P個のコード率がR0（Ｒ０＝ｋｂ／ｎｂ、ｋｂは前記基本マトリックスの行数で、ｎｂ
が前記基本マトリックスの列数である。）であり、コードの長さが異なる低密度生成マトリックスコードより構築する低密度生成マトリックスコードのマザーコード集の統一的な基本マトリックスＧｂｕｎｉｆｏｒｍを格納するのに用いる基本マトリックス格納ユニットと、
前記低密度生成マトリックスコードのマザーコード集におけるエンコード待ちの情報ビットシーケンスの長さKと中間変数の長さLとの関係を用いて、前記中間変数の長さLを計
算し、前記中間変数の長さLと前記基本マトリックスの行数kbを用い、前記基本マトリッ
クスを処理する拡張ファクターｚｋを計算し、かつ、前記拡張ファクターｚｋを用い前記基本マトリックスに対して補正と拡張の計算を行い、生成マトリックスGldgcを取得する
マトリックスパラメータ計算ユニットと、
L−K個の既知のビットを前記エンコード待ちの情報ビットシーケンスに追加し、長さがLである情報ビットシーケンスmを生成するのに用いるビットスタッフィングユニットと、
計算式I×Gldgc (1:L,1:L)＝mにより、前記生成マトリックスのL行と前L列によって組
み立てられた正方マトリックスGldgc (1:L,1:L)及び前記長さがLである情報ビットシーケンスmを用い、前記中間変数Iを取得するのに用いるプリエンコードユニットと、
前記生成マトリックスのL行と前N＋L−K列によって組み立てられたマトリックスGldgc
（1:L, 1:N+L-K）を用い、前記中間変数に対してエンコードし、長さがN＋L−Kである第
一エンコード結果を生成するのに用いるブロックコードエンコードユニット及び前記長さがN＋L−Kである第一エンコード結果から前記L−K個の既知のビットを削除し、長さがNである第二エンコード結果を生成するのに用いるビット削除ユニットを含むことを特徴とする低密度生成マトリックスコードのエンコード装置。
【請求項８】
前記基本マトリックスのkb行と前kb列によって組み立てられた正方マトリックスＧｂｕｎｉｆｏｒｍ（１：ｋｂ，１：ｋｂ）は上三角または下三角マトリックスであることを特徴とする請求項７の記載に基づくエンコード装置。
【請求項９】
前記マトリックスパラメータ計算ユニットは計算式ｚｔ＝Ｌ／ｋｂにより、前記中間変数の長さLと前記基本マトリックスの行数kbを用い拡張ファクターZtを取得し、かつ、前
記低密度生成マトリックスコードのマザーコード集に対応するP個のゼロより大きい正の
整数ｚ１＜ｚ２＜…＜ｚｋ−１＜ｚｋ＜…＜ｚＰを構成する拡張ファクター集合Zsetより、前記拡張ファクターZtと以下の関係を持つ拡張ファクターを探り出し、前記基本マトリックスを処理するZk：ｚｋ−１＜ｚｔ≦ｚｋを取得することを特徴とする請求項８の記載に基づくエンコード装置。
【請求項１０】
前記マトリックスパラメータ計算ユニットは前記基本マトリックスを処理する拡張ファクターZkを用い、前記基本マトリックスに対して補正を行い、補正した基本マトリックスＧｂｍｏｄｉｆｉｅｄを取得し、前記基本マトリックスを処理する拡張ファクターZkを用い、前記補正した基本マトリックスに対して拡張を行い、未補正の生成マトリックスGを
’ 取得し、前記未補正の生成マトリックスG’に対して補正を行い、前記生成マトリックスGldgcを取得することを特徴とする請求項９の記載に基づくエンコード装置。
【請求項１１】
前記マトリックスパラメータ計算ユニットは前記未補正の生成マトリックスG’の特定
列のウェイトを増加させることにより、前記未補正の生成マトリックスG’に対して補正
を行うことを特徴とする請求項１０の記載に基づくエンコード装置。
【請求項１２】
エンコードの過程において、使用した拡張ファクターｚｋを用い、基本マトリックスＧｂｕｎｉｆｏｒｍに対して補正と拡張を行い、受信生成マトリックスGldgc (:,r1,r2,...ri) を取得するステップ１と、 
消去チャネルを通り、エンコードした後の低密度生成マトリックスコードにL−K個の既知のビットをスタッフィングし、デコードする低密度生成マトリックスコードC(r1,r2,...ri)=[Cr1,Cr2,Cr3,...,Cri]を取得し、その中、iはＬ≦ｉ≦Ｎ＋Ｌ−Ｋを満たす正の整
数であり、Lがエンコードの過程において使用した中間変数の長さであり、Nが消去チャネルを通らずエンコードした低密度生成マトリックスコードの長さであり、Kはエンコード
する前の低密度生成マトリックスコードの長さであるステップ２と、
計算式C(:,r1,r2,...ri)=I* Gldgc (:,r1,r2,...ri)により、前記受信生成マトリック
スと前記デコードする低密度生成マトリックスコードを用い、1*Lの受信中間ベクトルIを取得するステップ３と、
計算式I* Gldgc (1:L,1:L) = mにより、前記受信生成マトリックスのL行と前L列によって組み立てられた正方マトリックスGldgc (1:L,1:L)及び前記受信中間ベクトルを用い、
長さがLであるデコード結果mを取得するステップ４と、
前記長さがLであるデコード結果mから前記L−K個の既知のビットを削除し、長さがKで
あるデコード結果を取得するステップ５を含むことを特徴とする低密度生成マトリックスコードのデコード方法。
【請求項１３】
前記受信生成マトリックスはエンコードの過程において使用した生成マトリックスのL
行と前N＋L−K列によって組み立てられたマトリックスGldgc（1:L,1:N+L-K）中の全ての
非消去位置シリアル番号が対応する列のベクトルを保留することを特徴とする請求項12の記載に基づくデコード方法。
【請求項１４】
前記ステップ３において、
ガウス消去法により前記受信生成マトリックスGldgc (:,r1,r2,...ri)に対して行の交
換、列の交換、及び/または行の消去演算を行い、L*Lの上三角マトリックスを含むマトリックスを取得するステップaと、
前記L*Lの上三角マトリックスを含むマトリックスにより、前記デコードする低密度生
成マトリックスコードに対して置換と重ね合せを行い、エンコードの過程において使用した中間変数に対して置換を行うステップb及びバックトラックにより上三角再帰方程式を
解き、前記受信中間ベクトルIを取得するステップcを含むことを特徴とする請求項1３記
載に基づくデコード方法。
【請求項１５】
前記ステップaにおいて、
前記受信生成マトリックスにおける行のウェイトが一番軽い行を選択しj行目と交換す
るステップと、
行交換後の受信生成マトリックスにおけるj行目の最初のゼロでない要素が所属する列
を前記行交換後の受信生成マトリックスにおけるj列目と交換するステップ及び行消去方
法により、列交換後の受信生成マトリックスにおけるj行目j列目の要素を用い、前記列交換後の受信生成マトリックスにおける前記j列目のj+1行目と最後の行の間のゼロでない要素を除去するステップを含むことを特徴とする請求項1４の記載に基づく前記デコード方
法。
【請求項１６】
P個のコード率がR0（Ｒ０＝ｋｂ／ｎｂ、ｋｂは前記基本マトリックスの行数で、ｎｂ
は前記基本マトリックスの列数である。）であり、コードの長さが異なる低密度生成マトリックスコードより構築する低密度生成マトリックスコードのマザーコード集の統一的な基本マトリックスＧｂｕｎｉｆｏｒｍを格納する基本マトリックス格納ユニットと、
エンコードの過程において使用した拡張ファクターｚｋを用い、前記基本マトリックスＧｂｕｎｉｆｏｒｍに対して補正と拡張を行い、受信生成マトリックスGldgc (:,r1,r2,...ri) を取得するマトリックスパラメータ計算ユニットと、 
消去チャネルを通り、エンコードした後の低密度生成マトリックスコードにL−K個の既知のビットをスタッフィングし、デコードする低密度生成マトリックスコードC(r1,r2,...ri)=[Cr1,Cr2,Cr3,...,Cri]を取得し、その中、iはＬ≦ｉ≦Ｎ＋Ｌ−Ｋを満たす正の整
数であり、Lはエンコードの過程において使用した中間変数の長さであり、Nは消去チャネルを通らずエンコードした低密度生成マトリックスコードの長さであり、Kはエンコード
する前の低密度生成マトリックスコードの長さであるビットスタッフィングユニットと、
ガウス消去法により前記受信生成マトリックスGldgc (:,r1,r2,...ri)に対して行の交
換、列の交換、及び/または行の消去演算を行い、L*Lの上三角マトリックスを含むマトリックスを取得する上三角マトリックス計算ユニットと、
計算式C(:,r1,r2,...ri)=I* Gldgc (:,r1,r2,...ri)により、前記L*Lの上三角マトリックスを含むマトリックスと前記デコードする低密度生成マトリックスコードを用い、1*L
の受信中間ベクトルIを取得する中間変数計算ユニットと、
計算式I* Gldgc (1:L,1:L) = mにより、前記受信生成マトリックスのL行と前L列によって組み立てられた正方マトリックスGldgc (1:L,1:L)及び前記受信中間ベクトルを用い、
長さがLであるデコード結果mを取得するブロックコードデコードユニット及び前記長さがLであるデコード結果mから前記L−K個の既知のビットを削除し、長さがKであるデコード
結果を取得するビット削除ユニットを含むことを特徴とする低密度生成マトリックスコードのデコード装置。
【請求項１７】
前記マトリックスパラメータ計算ユニットは計算式ｚｔ＝Ｌ／ｋｂにより、前記エンコードの過程において使用した中間変数の長さLと前記基本マトリックスの行数kbを用い、
拡張ファクターZtを取得し、かつ、前記低密度生成マトリックスコードのマザーコード集に対応するP個のゼロより大きい正の整数ｚ１＜ｚ２＜…＜ｚｋ−１＜ｚｋ＜…＜ｚＰが
構成する拡張ファクター集合Zsetより、前記拡張ファクターZtと以下の関係を持つ拡張ファクターを探り出し、前記エンコードの過程において使用した拡張ファクターZk：ｚｋ−１＜ｚｔ≦ｚｋを取得することを特徴とする請求項16の記載に基づくデコード装置。
【請求項１８】
前記マトリックスパラメータ計算ユニットは前記エンコードの過程において使用した拡張ファクターZkを用い、前記基本マトリックスに対して補正を行い、補正した基本マトリックスＧｂｍｏｄｉｆｉｅｄを取得し、前記エンコードの過程において使用した拡張ファクターZkを用い、前記補正後の基本マトリックスに対して拡張を行い、基本生成マトリックスGを取得し、前記基本生成マトリックスGのL行及び前記デコードする低密度生成マト
リックスコードのシリアル番号に対応する列を取得し、受信生成マトリックを生成することを特徴とする請求項17の記載に基づくデコード装置。
【請求項１９】
前記上三角マトリックス計算ユニットは前記受信生成マトリックスにおける行のウェイトが一番軽い行を選択し、j行目と行の交換を行い、行交換後の受信生成マトリックスに
おけるj行目の最初のゼロでない要素が所属する列と前記行交換後の受信生成マトリック
スにおけるj列目と列の交換を行い、かつ、行消去方法により列交換後の受信生成マトリ
ックスにおけるj行目j列目の要素を用い、前記列交換後の受信生成マトリックスにおける前記j列目のj+1行目と最後の行の間のゼロでない要素を除去することによって、L*Lの上
三角マトリックスを含むマトリックスを取得することを特徴とする請求項18の記載に基づくデコード装置。
【請求項２０】
前記受信生成マトリックスのL行と前L列によって組み立てられた正方マトリックスGldgc (1:L,1:L)が左上三角または左下三角マトリックスである場合、前記の消去チャネルを
通り、エンコードした低密度生成マトリックスコードの前に、前記L−K個の既知のビット
をスタッフィングすることを特徴とする請求項16〜19のいずれかの記載に基づくデコード装置。
【請求項２１】
前記受信生成マトリックスのL行と前L列によって組み立てられた正方マトリックスGldgc (1:L,1:L)が右上三角または右下三角マトリックスである場合、前記消去チャネルを通
り、エンコードした低密度生成マトリックスコードのK−E個のビットの後に前記L−K個の既知のビットをスタッフィングし、その中、Eは前記消去チャネルを通らずエンコードし
た低密度生成マトリックスコードが前記消去チャネルを通った後に、前K個のコードワー
ドから消去されたコードワードの個数であることを特徴とする請求項16〜19の何れかの記載に基づくデコード装置。
【手続補正３】
【補正対象書類名】図面
【補正対象項目名】図４
【補正方法】変更
【補正の内容】
【図４】
2011505768.tif 000031
【国際調査報告】
2011505768.tif 000032
2011505768.tif 000033
2011505768.tif 000034
2011505768.tif 000035