(57)【特許請求の範囲】
【請求項１】
第１のリフトサイズの第１のパリティチェック行列に関する巡回シフト値の第１のセットを、第２のリフトサイズの第２のパリティチェック行列に関する巡回シフト値の第２のセットに基づいて決定し（前記第１及び第２のリフトサイズは、異なる２のべき乗である。）、前記巡回シフト値の第１のセットに基づいて、前記第１のパリティチェック行列を生成し、前記第１のパリティチェック行列に基づいて、パケットを符号化又は復号化するように構成された少なくとも一つのプロセッサと、
前記少なくとも一つのプロセッサに接続されたメモリとを含むことを特徴とする装置。
【請求項２】
前記少なくとも一つのプロセッサは、
前記第１のリフトサイズに対する前記第２のリフトサイズの比に基づいて、ファクターＫを決定し、前記第１のセットにおける対応する巡回シフト値を得るために、前記第２のセットにおける各々の巡回シフト値のＫ個の最下位ビット（ＬＳＢ）を除去するように構成されたことを特徴とする請求項１に記載の装置。
【請求項３】
前記少なくとも一つのプロセッサは、
前記第２のリフトサイズの前記第１のリフトサイズに対する比を決定し、
前記第２のセットにおける対応する巡回シフト値を、前記比で分割することと、整数値になるように端数を切り捨てることによって、前記第１のセットにおける各々の巡回シフト値を得るように構成されたことを特徴とする請求項１に記載の装置。
【請求項４】
前記少なくとも一つのプロセッサは、
前記第２のリフトサイズの前記第１のリフトサイズに対する比に基づいて、要素Ｋを決定し、
前記第１のセットにおける対応する巡回シフト値を得るために、前記第２のセットにおける各々のＫ個の最上位ビット（ＭＳＢ）を除去するように構成されたことを特徴とする請求項１に記載の装置。
【請求項５】
前記少なくとも一つのプロセッサは、
基本パリティチェック行列の各々の非零要素を、前記非零要素に対応する前記第１のセットにおける巡回シフト値に基づく巡回置換行列で置き換えることによって、前記第１のパリティチェック行列を生成するように構成されたことを特徴とする請求項１に記載の装置。
【請求項６】
第１のリフトサイズの第１のパリティチェック行列に関する巡回シフト値の第１のセットを、第２のリフトサイズの第２のパリティチェック行列に関する巡回シフト値の第２のセットに基づいて決定することと（前記第１及び第２のリフトサイズは、異なる２のべき乗である。）、
前記巡回シフト値の第１のセットに基づいて、前記第１のパリティチェック行列を生成することと、
前記第１のパリティチェック行列に基づいて、パケットを符号化又は復号化することを含むことを特徴とするデータを処理するための方法。
【請求項７】
前記巡回シフト値の第１のセットを前記決定することは、
前記第１のリフトサイズに対する前記第２のリフトサイズの比に基づいて、ファクターＫを決定することと、
前記第１のセットにおける対応する巡回シフト値を得るために、前記第２のセットにおける各々の巡回シフト値のＫ個の最下位ビット（ＬＳＢ）を除去することを含むことを特徴とする請求項６に記載の方法。
【請求項８】
前記第１のパリティチェック行列を前記生成することとは、
基本パリティチェック行列の各々の非零要素を、前記非零要素に対応する前記第１のセットにおける巡回シフト値に基づく巡回置換行列で置き換えることによって、前記第１のパリティチェック行列を生成することを含むことを特徴とする請求項６に記載の方法。
【請求項９】
基本パリティチェック行列の各々の非零要素を、特定の巡回シフト値に基づくＬ×Ｌ置換行列で置き換えることによって、リフトされたパリティチェック行列を取得し（ここで、Ｌは２のべき乗である。）、少なくとも３つの非零要素を有する前記基本パリティチェック行列の列における２つの非零要素についての巡回シフト値ｓ及びｓ＋Ｌ／ｍを使用し（ここで、ｓは任意の値であり、ｍ（ｍ≧２）は２のべき乗である。）、前記リフトされたパリティチェック行列に基づいて、パケットを符号化又は復号化するように構成された少なくとも一つのプロセッサと、
前記少なくとも一つのプロセッサに接続されたメモリとを含むことを特徴とする装置。
【請求項１０】
前記基本パリティチェック行列は、
【数１】
0005551209.tif 000036
を含み、
Ｔは、下三角行列であり、行列Ｂ及びＤそれぞれは、１の幅を持ち、行列Ｄ及びＥそれぞれは、１の高さを持ち、少なくとも３つの非零要素が行列Ｂ及びＤに対応する列に存在することを特徴とする請求項９に記載の装置。
【請求項１１】
前記少なくとも一つのプロセッサは、少なくとも３つの非零要素を有する前記列における３つの非零要素についての巡回シフト値ｓを選択するように構成されたことを特徴とする請求項９に記載の装置。
【請求項１２】
ｍは２に等しく、２つの前記非零要素のための前記巡回シフト値は、ｓ及びｓ＋Ｌ／２であることを特徴とする請求項９に記載の装置。
【請求項１３】
ｍは４に等しく、２つの前記非零要素のための前記巡回シフト値は、ｓ及びｓ＋Ｌ／４であることを特徴とする請求項９に記載の装置。
【請求項１４】
ｍは８に等しく、２つの前記非零要素のための前記巡回シフト値は、ｓ及びｓ＋Ｌ／８であることを特徴とする請求項９に記載の装置。
【請求項１５】
基本パリティチェック行列の各々の非零要素を、特定の巡回シフト値に基づくＬ×Ｌ置換行列で置き換えることによって、リフトされたパリティチェック行列を取得することと（ここで、Ｌは２のべき乗である。）、
少なくとも３つの非零要素を有する前記基本パリティチェック行列の列における２つの非零要素についての巡回シフト値ｓ及びｓ＋Ｌ／ｍを使用することと（ここで、ｓは任意の値であり、ｍ（ｍ≧２）は２のべき乗である。）、
前記リフトされたパリティチェック行列に基づいて、パケットを符号化又は復号化することを含むことを特徴とするデータを処理するための方法。
【請求項１６】
前記基本パリティチェック行列は、
【数２】
0005551209.tif 000037
を含み、
Ｔは、下三角行列であり、行列Ｂ及びＤそれぞれは、１の幅を持ち、行列Ｄ及びＥそれぞれは、１の高さを持ち、少なくとも３つの非零要素が行列Ｂ及びＤに対応する列に存在することを特徴とする請求項１５に記載の方法。
【請求項１７】
ｍは４に等しく、２つの前記非零要素のための前記巡回シフト値は、ｓ及びｓ＋Ｌ／４であることを特徴とする請求項１５に記載の方法。
【発明の詳細な説明】
【技術分野】
【０００１】
（関連出願の相互参照）
本願は、２００７年１月２４日付け提出され、本願の譲受人に譲渡され、参照によって本明細書に組み込まれる「LDPC HARMONIZATION」と題された米国仮出願第６０／８８６，４９６号の優先権を主張する。
【０００２】
本開示は、一般に通信に関し、より詳しくはデータの符号化及び復号化のための技術に関する。
【背景技術】
【０００３】
通信システムにおいて、送信機は、コードビットを取得し、そのコードビットをインターリーブし、そのインターリーブされたビットを変調シンボルへマッピングするために、データのパケットを符号化しても良い。そして、送信機は、その変調シンボルを処理し、通信チャネルを通して送信しても良い。該通信チャネルは、特定のチャネル応答が原因で、データ伝送をひずませることがあり、さらにまた、雑音及び干渉が原因で、データ伝送を悪化させることがある。受信機は、送信変調シンボルがひずまされ悪化されたバージョンであるかもしれない受信シンボルを取得しても良い。受信機は、送信されたパケットを回復するために、該受信シンボルを処理しても良い。
【０００４】
送信機による符号化は、受信機が、悪化された受信シンボルで送信パケットを確実に（reliably）回復できるようにし得る。送信機は、コードビットにおける冗長性（redundancy）を生む前方誤り訂正（forward error correction）（ＦＥＣ）符号に基づいて、符号化を実行しても良い。受信機は、その送信パケットの回復の可能性（likelihood）を向上するために、その冗長性を利用し得る。
【０００５】
様々なタイプのＦＥＣ符号を符号化に用いることができる。幾つかの一般的なタイプのＦＥＣ符号は、畳み込み符号、ターボ符号、及び低密度パリティチェック（low density parity check）（ＬＤＰＣ）符号を含む。畳み込み符号又はターボ符号は、ｋ個の情報ビットからなるパケットを符号化し、ｋのｒ倍個のコードビットからなる符号化パケットを生成することができる。ここで、１／ｒは、畳み込み符号又はターボ符号の符号レートである。畳み込み符号は、各々の情報ビットを、１回に１つの情報ビットを操作できる符号器を通過させることによって、任意のサイズのパケットを容易に（readily）符号化することができる。また、ターボ符号は、１回に１つの情報ビットを操作できる２つの要素符号器と、異なるパケットサイズをサポートできる１つのコードインターリーバとを用いることによって、異なるパケットサイズをサポートすることができる。ＬＤＰＣ符号は、ある動作条件の下で、畳み込み符号又はターボ符号に比較して、より良いパフォーマンスを有し得る。しかしながら、ＬＤＰＣ符号は、一般的に、特定のパケットサイズ用にデザインされており、可変サイズのパケットに容易に適用できない可能性がある。
【０００６】
それゆえ、可変サイズのパケットの効率的なＬＤＰＣ符号化及び復号化をサポートする技術が当該技術分野において必要である。
【発明の概要】
【０００７】
ＬＤＰＣ符号化及び復号化をサポートする技術が本明細書で説明される。一つの態様において、異なるディメンションの基本パリティチェック行列のセット及び異なる２のべき乗のリフティング値のセットを使って、可変サイズのパケットのＬＤＰＣ復号化及び符号化が効果的にサポートされても良い。ディメンションｍＢ×ｎＢの基本パリティチェック行列Ｇは、ｎＢ個のコードビットの符号化されたパケット又はコードワードを得るために、ｋＢ＝ｎＢ−ｍＢ個までの情報ビットのパケットを符号化するために用いられても良い。この基本パリティチェック行列Ｇは、ディメンションＬ・ｍＢ×Ｌ・ｎＢのリフトされたパリティチェック行列Ｈを得るために、リフティング値Ｌにより“リフト（lifted）”されても良い。そのリフトされたパリティチェック行列Ｈは、Ｌ・ｎＢ個のコードビットを得るために、Ｌ・ｋＢ個までの情報ビットのパケットを符号化するために用いられても良い。広範なパケットサイズが、基本パリティチェック行列の比較的小さいセット及びリフティング値の比較的小さいセットでサポートされても良い。また、リフティングは、パフォーマンスを向上し得る、効率的な同時実行される符号化及び復号化を可能にする。さらに、リフティングは、大きなＬＤＰＣ符号のための記述の複雑さを低減し得る。
【０００８】
他の態様において、一つのリフティング値（例えば、最大のリフティング値）のための基本パリティチェック行列の非零要素についての巡回シフト値の単一のセットが、異なる２のべき乗からなる全ての他のリフティング値のための巡回シフト値を生成するために、使用されても良い。更に他の態様において、少なくとも３つの非零要素を有する基本パリティチェック行列の列における２つの非零要素について、巡回シフト値ｓ及びｓ＋Ｌ／ｍが選択されても良い。ここで、ｓは任意の値であり、ｍは２のべき乗である。一つのデザインにおいて、ｍは４に等しく、それら２つの非零要素についての巡回シフト値は、ｓ及びｓ＋Ｌ／４である。これら巡回シフト値は、符号化及び復号化を単純化する。
【０００９】
本開示の様々な態様及び特徴が以下で更に詳しく説明される。
【図面の簡単な説明】
【００１０】
【図１】図１は、無線通信システムを示す。
【図２】図２は、基地局及び端末のブロック図を示す。
【図３】図３は、例であるＬＤＰＣ符号のためのタナーグラフ（Tanner graph）を示す。
【図４】図４は、基本パリティチェック行列（base parity check matrix）のリフティング（lifting）を示す。
【図５】図５は、４つの巡回置換行列（cyclic permutation matrices）のセットを示す。
【図６】図６は、リフトされたパリティチェック行列（lifted parity check matrix）を示す。
【図７】図７は、そのリフトされたパリティチェック行列の他の表現を示す。
【図８】図８は、リフトされたパリティチェック行列のためのグラフを示す。
【図９】図９は、データを処理するためのプロセスを示す。
【図１０】図１０は、データを処理するための装置を示す。
【図１１】図１１は、パケットを処理するためのプロセスを示す。
【図１２】図１２は、パケットを処理するための他のプロセスを示す。
【図１３】図１３は、パケットを処理するための装置を示す。
【図１４】図１４は、パケットを処理するための更に他のプロセスを示す。
【図１５】図１５は、パケットを処理するための他の装置を示す。
【詳細な説明】
【００１１】
本明細書で説明される技術は、例えば通信、コンピューティング、ネットワーキングなどのような、様々なアプリケーションのために用いられても良い。また、本技術は、無線システム、有線システムなどを含む様々な通信システムのために用いられても良い。明確にするために、以下では、無線通信システムについて、本技術の幾つかの態様が説明される。
【００１２】
図１は、無線通信システム１００を示す。無線通信システム１００は、アクセスネットワーク（ＡＮ）と呼ばれることもある。簡単にするために、唯一つの基地局１１０及び二つの端末１２０と１３０が図１に示されている。基地局は、端末と通信する局であり、アクセスポイント、Ｎｏｄｅ Ｂ、evolved Ｎｏｄｅ Ｂなどと呼ばれることもある。端末は、固定された（stationary）ものであっても良いし、携帯できる（mobile）ものであっても良い。端末はまた、アクセス端末（ＡＴ）、移動局（mobile station）、ユーザ装置（user equipment）、加入者ユニット（subscriber unit）、局（station）などと呼ばれることもある。端末は、携帯電話（cellular phone）、携帯情報端末（ＰＤＡ）、無線通信デバイス、無線モデム、ハンドヘルドデバイス、ラップトップコンピュータ、コードレスフォンなどであっても良い。端末は、いつでも順方向及び／又は逆方向リンク上で基地局と通信し得る。順方向リンク（又は、ダウンリンク）は、基地局から端末への通信リンクを指し、逆方向リンク（又は、アップリンク）は、端末から基地局への通信リンクを指す。図１において、端末１２０は、順方向リンク１２２を通して基地局１１０からデータを受信し、逆方向リンク１２４を通してデータを送信しても良い。端末１３０は、順方向リンク１３２を通して基地局１１０からデータを受信し、逆方向リンク１３４を通してデータを送信しても良い。本明細書で説明される技術は、順方向リンク上の伝送のためだけでなく、逆方向リンクのためにも利用できる。
【００１３】
図２は、図１における基地局１１０及び端末１２０のデザインのブロック図を示す。このデザインにおいて、基地局１１０は、Ｓ個のアンテナ２２４ａ〜２２４ｓを装備しており、端末１２０は、Ｔ個のアンテナ２５２ａ〜２５２ｔを装備している。ここで、一般に、Ｓ≧１及びＴ≧１である。
【００１４】
順方向リンク上で、基地局１１０にて、送信（ＴＸ）データプロセッサ２１０は、データソース２０８からデータのパケットを受け取り、パケットフォーマットに基づいて、そのパケットを処理（例えば、符号化、インターリーブ、及びシンボルマッピング）して、データのための変調シンボルであるデータシンボルを提供しても良い。ＴＸ ＭＩＭＯプロセッサ２２０は、そのデータシンボルをパイロットシンボルとともに多重化し、該当する場合に空間処理（例えば、プリデコーディング）し、Ｓ個の出力シンボルストリームを、Ｓ個の送信機（ＴＭＴＲ）２２２ａ〜２２２ｓへ供給しても良い。各々の送信機２２２は、出力チップストリームを得るために、（例えば、ＯＦＤＭについて）その出力シンボルストリームを処理しても良い。各々の送信機２２２は、さらに、その出力チップストリームを調整（condition）（例えば、アナログに変換、フィルタリング、増幅、及びアップコンバート）し、順方向リンク信号を生成しても良い。送信機２２２ａ〜２２２ｓからのＳ個の順方向リンク信号は、それぞれ、Ｓ個のアンテナ２２４ａ〜２２４ｓを通して送信されても良い。
【００１５】
端末１２０にて、Ｔ個のアンテナ２５２ａ〜２５２ｔは、基地局１１０の順方向リンクを受信し、各々のアンテナ２５２は、受信信号を、各々の受信機（ＲＣＶＲ）２５４へ供給しても良い。各々の受信機２５４は、サンプルを得るために、その受信信号を処理（例えば、フィルタリング、増幅、ダウンコンバート、及びデジタイズ）し、さらに、受信シンボルを得るために、（例えば、ＯＦＤＭについて）そのサンプルを処理し、その受信シンボルを、ＭＩＭＯ検出器２５６へ供給しても良い。ＭＩＭＯ検出器２５６は、該当する場合にその受信シンボルのＭＩＭＯ検出を実行し、検出シンボルを提供しても良い。受信（ＲＸ）データプロセッサ２６０は、その検出シンボルを処理（例えば、シンボルデマッピング、デインターリーブ、及び復号化）し、復号化されたデータを、データシンク２６２へ供給しても良い。一般に、ＭＩＭＯ検出器２５６及びＲＸデータプロセッサ２６０による処理は、基地局１１０でのＴＸ ＭＩＭＯプロセッサ２２０及びＴＸデータプロセッサ２１０による処理に対して相補的である。
【００１６】
逆方向リンク上で、端末１２０にて、データのパケットが、データソース２７８により供給され、ＴＸデータプロセッサ２８０により処理（例えば、符号化、インターリーブ、及びシンボルマッピング）されても良い。ＴＸデータプロセッサ２８０からのデータシンボルは、パイロットシンボルとともに多重化され、ＴＸ ＭＩＭＯプロセッサ２８２により空間的に処理され、さらに、Ｔ個の逆方向リンク信号を生成するために、送信機２５４ａ〜２５４ｔにより処理されても良い。Ｔ個の逆方向リンク信号は、アンテナ２５２ａ〜２５２ｔを通して送信されても良い。基地局１１０にて、端末１２０からの逆方向リンク信号は、アンテナ２２４ａ〜２２４ｓにより受信され、ＭＩＭＯ検出器２３８により検出され、さらに、端末１２０により送信されたパケットを回復するために、ＲＸデータプロセッサ２４０により処理されても良い。
【００１７】
コントローラ／プロセッサ２３０及び２７０は、それぞれ、基地局１１０及び端末１２０でのオペレーションを命令しても良い。コントローラ／プロセッサ２３０及び２７０は、送信及び／又は受信されるべきパケットのサイズを決定しても良い。そして、コントローラ／プロセッサ２３０及び２７０は、それぞれ、ＴＸデータプロセッサ２１０及び２８０による符号化を命令しても良く、及び／又は、それぞれ、ＲＸデータプロセッサ２４０及び２６０による復号化を命令しても良い。メモリ２３２及び２７２は、それぞれ、基地局１１０及び端末１２０のためのデータ及びプログラムコードを記憶しても良い。
【００１８】
一つの態様において、可変サイズのパケットのＬＤＰＣ符号化又は復号化が、異なるディメンション（dimensions）の基本パリティチェック行列（base parity check matrix）のセット及び異なる２のべき乗（different powers of two）のリフティング値（lifting values）のセットを使って、可変サイズのパケットのＬＤＰＣ復号化及び符号化が効率的にサポートされても良い。基本パリティチェック行列は、異なる（ｋＢ，ｎＢ）比率（rates）の基本ＬＤＰＣ符号について存在していても良い。ここで、ｋＢは、情報ビットの数であり、ｎＢは、コードビットの数である。各々の基本ＬＤＰＣ符号は、リフトされた（lifted）ＬＤＰＣ符号を得るために、以下で説明されるようにリフトされる。リフトされたＬＤＰＣ符号は、異なるサイズのパケットを符号化又は復号化するために用いられても良い。パケットサイズの範囲は、基底グラフ（base graph）においてパリティビットを追加又は除去することでＬＤＰＣ符号を伸張又は短縮することによってサポートされても良い。
【００１９】
ＬＤＰＣ符号は、比較的少ない非零／非空（non-zero／non-null）の要素と大部分の零／空（zero／null）の要素とを持つ疎パリティチェック行列（sparse parity check matrix）により定義されても良い。パリティチェック行列は、コードビットに対する線形制約（linear constraints）のセットを定義するものであり、タナーグラフの形式で表現されても良い。
【００２０】
図３は、例である基本ＬＤＰＣ符号のためのタナーグラフ３００を示す。この例において、タナーグラフ３００は、７個の円により表現される７個の変数ノードＶ１〜Ｖ７と、４個の四角で表現される４個のチェックノードＣ１〜Ｃ４とを含んでいる。各々の変数ノードは、コードビットを表現する。そのコードビットは、送信されるものと、パンクチャーされる（punctured）（すなわち、送信されない）ものとのいずれであっても良い。変数ノードＶ１〜Ｖ７に関する７個のコードビットは、コードワードを形成する。各々のチェックノードは、制約を表現しており、４つのチェックノードＣ１〜Ｃ４は、基本ＬＤＰＣ符号を定義する４つの制約を表現している。変数ノードは、エッジ（edges）を経由して、チェックノードへ接続される。この例において、１６本のエッジａ〜ｐが、７個の変数ノードを、４個のチェックノードへ接続している。ノードの次数（degree）は、そのノードに接続されるエッジの数に等しい。この例において、変数ノードＶ１及びＶ２は、次数３のノードであり、変数ノードＶ３〜Ｖ７は、次数２のノードである。各々のチェックノードに関して、そのチェックノードに接続される変数ノードでの全てのコードビットは、（２を法として）加算して０になるように制約される。
【００２１】
図３はまた、タナーグラフ３００に対応する基本パリティチェック行列Ｈｂを示す。Ｈｂは、７個の変数ノードＶ１〜Ｖ７に関する７つの列と、４個のチェックノードＣ１〜Ｃ４に関する４つの行とを含んでいる。Ｈｂの各々の列は、その列に対応する変数ノードに接続された各々のエッジについて、１である要素を含んでいる。例えば、タナーグラフ３００において、列１は、対応する変数ノードＶ１をチェックノードＣ１，Ｃ２及びＣ３へ接続する３つのエッジａ，ｂ及びｃについて、行１，２及び３に、３つの１を含んでいる。Ｈｂの残りの列の各々は、対応する変数ノードを２つ又は３つのチェックノードへ接続する２つ又は３つのエッジについて、２つ又は３つの１を含んでいる。
【００２２】
ＬＤＰＣ符号に関する制約は、次のように行列形式で表現されても良い。
【数１】
0005551209.tif 000002
【００２３】
ここで、Ｈは、ＬＤＰＣ符号のためのｍＢ×ｎＢパリティチェック行列であり、
ｘは、一つのコードワードのためのｎＢ個のコードビットｎＢ×１列ベクトルであり、
０は、すべて零の列ベクトルである。
【００２４】
簡単にするために、０は、以下の説明で、すべて零であるベクトル又は行列を示すものとしても良い。方程式（１）におけるマトリックス乗算には、２を法とする計算が使われる。コードワードは、方程式（１）における制約が満たされる場合に、有効であるものとみなされる。コードワードｘを得るために、パリティチェック行列Ｈに基づいてパケットを符号化することが、以下で説明される。
【００２５】
大きなリフトされたＬＤＰＣ符号を得るために、小さな基本ＬＤＰＣ符号がリフトされても良い。リフトされたＬＤＰＣ符号のためのリフトされたパリティチェック行列を得るために、基本パリティチェック行列における各々の非零の要素を、Ｌ×Ｌ置換行列で置き換えることによって、リフティングが実現されても良い。これは、基本ＬＤＰＣ符号のための基底グラフのＬ個のコピーが生成される結果をもたらす。置換行列は、各々のグラフコピーにおける変数ノードが、どのように、Ｌ個のグラフコピーにおけるチェックノードに接続されるかを、決定する。
【００２６】
図４は、図３に示される基本パリティチェック行列Ｈｂのためのリフティングの例を示す。リフトされたパリティチェック行列Ｈｌを得るために、Ｈｂの各々の非零要素（それは、タナーグラフにおけるエッジに対応する。）が、Ｌ×Ｌ置換行列σで置き換えられる。Ｈｂの１６個の非零要素のための１６個の置換行列は、σａ〜σｐで示される。ここで、σａは、図３におけるエッジａのための置換行列である。
【００２７】
置換行列は、様々な方法で定義されても良い。一つのデザインにおいて、置換行列のセットがあらかじめ定義され、基本パリティチェック行列の各々の非零要素のための置換行列が、この予め定義された置換行列のセットから選択されても良い。他のデザインにおいて、巡回置換行列が、基本パリティチェック行列の非零要素のために利用されても良い。
【００２８】
図５は、Ｌ＝４のための４つの巡回置換行列のセットを示す。この例において、各々の置換行列は、４×４のディメンションを有している。巡回シフト値が０である置換行列σ０は、対角線に沿って１があり且つ他のところは０である単位行列Ｉに等しい。巡回シフト値が１である置換行列σ１は、単位行列の最下部の一つの行を最上部に移動又はシフトしたものである。巡回シフト値が２である置換行列σ２は、単位行列の最下部の二つの行を最上部に移動又はシフトしたものである。巡回シフト値が３である置換行列σ３は、単位行列の最下部の三つの行を最上部に移動又はシフトしたものである。一般に、巡回シフト値がｓであるＬ×Ｌ置換行列σｓは、単位行列の最下部のｓ個の行を最上部に移動又はシフトしたものである。ここで、０≦ｓ≦Ｌ−１である。
【００２９】
図６は、１６個の置換行列σａ〜σｐの各々が図５に示す４つの巡回置換行列σ０〜σ３のうちの一つで置き換えられている、図中４中のリフトされたパリティチェック行列Ｈｌの例を示す。図６の下側は、各々の巡回置換行列が、その対応する４×４行列の１と０で置き換えられた、リフトされたパリティチェック行列Ｈｌを示す。
【００３０】
基本パリティチェック行列Ｈｂの各々の非零要素を、４×４置換行列で置き換えることは、基本ＬＤＰＣ符号のための基底グラフの４つのコピーが生成される結果をもたらす。与えられた変数ノードＶｕ及び与えられたチェックノードＣｖに対応する４×４置換行列に関して、この置換行列の４つの列は、４つのグラフコピーにおける変数ノードＶｕに対応し、また、この置換行列の４つの行は、４つのグラフコピーにおけるチェックノードＣｖに対応する。置換行列における１は、四つのグラフコピーにおける変数ノードＶｕを四つのグラフコピーにおけるチェックノードＣｖへ接続するエッジに対応する。具体的には、行ｙの列ｘにおける１は、グラフコピーｘにおける変数ノードＶｕがグラフコピーｙにおけるチェックノードＣｕへ接続されることを意味する。一例として、巡回置換行列σ１は、Ｈｌにおける変数ノードＶ１及びチェックノードＣ１関する非零要素について用いられる。行列σ１は、行２の列１において１を含み、これは、グラフコピー１における変数ノードＶ１がグラフコピー２におけるチェックノードＣ１へ接続されることを意味する。
【００３１】
図７は、Ｌ＝８を使った、図３に示される基本パリティチェック行列Ｈｂに基づいて生成された、リフトされたパリティチェック行列Ｈｌの表現を示す。この表現において、８×１６のグリッド７１０は、８つのグラフコピーすべてにおける７つの変数ノードに関するエッジを記憶する。グリッド７１０の各々の行は、１つのグラフコピーに対応する。各々の行における１６個のボックスは、１つのグラフコピーにおける７つの変数ノードに関する１６本のエッジａ〜ｐに対応する。８×１６のグリッド７２０は、８つのグラフコピーすべてにおける４つのチェックノードに関するエッジを記憶する。グリッド７２０の各々の行は、１つのグラフコピーに対応する。各々の行における１６個のボックスは、１つのグラフコピーにおける４つのチェックノードに関する１６本のエッジａ〜ｐに対応する。
【００３２】
図７はまた、変数ノードＶ２の８つのコピーと、エッジｄに関するチェックノードＣ２の８つのコピーとの間の接続を示し、それは、この例においては、巡回置換行列σ３を持つ。それゆえ、エッジｄの８つのコピーは、行列σ３によって、３つの位置ずつ、循環的に下方にシフトされる。残りのエッジの各々は、Ｌ＝８に関して、０〜７の範囲内の値により循環的にシフトされても良い。
【００３３】
一般に、グリッドは、基本パリティチェック行列における各々のエッジに関する１つの列と、Ｌ個のグラフコピーの各々に関する１つの行とを含む。各々のエッジのＬ個のコピーは、そのエッジのための巡回置換行列により決定された量により循環的にシフトされても良い。
【００３４】
図３〜６は、図３に示される基本パリティチェック行列Ｈｂを使った、例である基本ＬＤＰＣ符号、及び、図６に示されるリフトされたパリティチェック行列Ｈｌを使った、より大きいＬＤＰＣ符号を得るための、この基本ＬＤＰＣ符号のリフティングを示す。異なるディメンションの巡回置換行列を用いることによって、異なるサイズのリフティングが実現されても良い。基本パリティチェック行列Ｈｂのエッジは、０〜Ｌ−１の範囲内の値によって循環的にシフトされても良い。基本パリティチェック行列のエッジのための巡回シフト値は、コーディング（coding）パフォーマンスに基づいて選択されても良い。
【００３５】
一つのデザインにおいて、６から１１までにおよぶｋＢの異なる値について、６つの基本ＬＤＰＣ符号のセットが定義されても良い。表１は、一つのデザインに従って、６つのＬＤＰＣ符号の各種のパラメータを一覧表にしたものである。一つのデザインにおいて、こらら６つの基本ＬＤＰＣ符号は、公的に入手可能な（publicly available）3GPP2 C.S0084-001, entitled “Physical Layer for Ultra Mobile Broadband (UMB) Air Interface Specification,” August 2007に記載されているように実施されても良い。基本ＬＤＰＣ符号はまた、他のデザインで実施されても良い。
【表１】
0005551209.tif 000003
【００３６】
一つのデザインにおいて、４，８，１６，３２，６４，１２８，２５６，５１２及び１０２４からなる９つのリフティング値のセットがサポートされても良い。このデザインにおいて、最小のリフティング値は、Ｌmin＝４であり、最大のリフティング値は、Ｌmax＝１０２４である。これらリフティング値は、異なる２のべき乗であり、これは、ある利点を提供し得る。２４から１１，２６４までにおよぶ５４種類の異なるパケットサイズの全体が、６から１１までにおよぶｋＢでの６つの基本ＬＤＰＣ符号と、４から１０２４までにおよぶ９つのリフティング値とでサポートされても良い。一般に、任意の範囲のリフティング値がサポートされても良く、また、Ｌｍｉｎ及びＬｍａｘは任意の適切な（suitable）値であっても良い。
【００３７】
表２は、一つのデザインに従った、基本パリティチェック行列Ｇ０のパラメータを与えるものである。表１に示されるように、Ｇ０は、２７×３３のディメンションを持ち、０〜２６のインデックスを持つ２７の列と、０〜３２のインデックスを持つ３３の行を含む。各々の行に関して、表２の２番目の列は、行の次数を与える。行の次数は、その行における非零要素の数に対応する。表２の３番目の列は、各々の行における非零要素の列の位置を与える。表２の４番目の列は、各々の行における各々の非零要素のための巡回シフト値を与える。Ｌmax＝１０２４については、巡回シフト値は、０〜１０２３の範囲内である。基本パリティチェック行列Ｇ１〜Ｇ５の例のデザインは、前述の3GPP2 C.S0084-001において説明されている。
【表２】
0005551209.tif 000004
【００３８】
一つのデザインにおいて、基本パリティチェック行列及びリフティング値は、次のように、サイズｋのパケットに対して選択されても良い。まず、リフティング値Ｌは、次のように、パケットサイズｋに基づいて選択されても良い。
【数２】
0005551209.tif 000005
【００３９】
ここで、ｋＢ，ｍａｘは、全ての基本ＬＤＰＣ符号に関する情報ビットの最大数である。
【数３】
0005551209.tif 000006
【００４０】
表１に示される基本ＬＤＰＣ符号のセットに関しては、ｋＢ，ｍａｘ＝１１であるが、基本ＬＤＰＣ符号の他のセットに関して他の値に等しくても良い。
【００４１】
次に、基本パリティチェック行列は、次のように、パケットサイズｋ及び選択されたリフティング値Ｌに基づいて選択されても良い。
【数４】
0005551209.tif 000007
【００４２】
選択された基本パリティチェック行列のインデックスは、ｉ＝ｋＢ−６として与えられても良い。選択された基本パリティチェック行列は、以下の説明のように、Ｇとして示されても良い。
【００４３】
選択された基本パリティチェック行列Ｇ及び選択されたリフティング値Ｌは、ｋＢ・Ｌ個までの情報ビットを符号化し、ｎＢ・Ｌ個のコードビットを提供することが可能である。パケットは、そのパケットの最後部にｚＰ＝ｋＢ・Ｌ−ｋ個の０を付加することによって、長さｋＢ・Ｌまでゼロパディング（zero-padded）されても良い。ｎＢ・Ｌ個のコードビットを得るために、ゼロパディングされたパケットが、リフトされたパリティチェック行列で符号化されても良い。ある（ｎ，ｋ）符号に関して、ｎ個のコードビットからなるコードワードを得るために、ｎＢ・Ｌ−ｎ−ｚＰ個のパリティビットだけでなく、ｚｐ個のパディングされた０も、パンクチャーされても良い。
【００４４】
そのパケットを符号化するために、まず、選択された基本パリティチェック行列Ｇ及び選択されたリフティング値Ｌに基づいて、リフトされたパリティチェック行列Ｈが生成されても良い。次に、そのリフトされたパリティチェック行列Ｈに基づいて、そのパケットが符号化されても良い。
【００４５】
リフトされたパリティチェック行列Ｈを生成するために、次のように、選択された基本パリティチェック行列Ｇの各々の非零要素のための巡回シフト値が決定されても良い。
【数５】
0005551209.tif 000008
【００４６】
ここで、ｇは、Ｌｍａｘによるリフティングを仮定したときの、Ｇの非零要素のための巡回シフト値であり、ｇ´は、Ｌによるリフティングでの、Ｇの非零要素のための巡回シフト値である。
【００４７】
表２の４番目の列は、Ｌｍａｘ＝１０２４に関するＧ０の非零要素のための巡回シフト値を与える。他の基本パリティチェック行列の非零要素のための巡回シフト値が生成され、同様の表に記憶されても良い。一般に、Ｇの非零要素のための巡回シフト値は、ＬｍｉｎからＬｍａｘまでの全てのリフティング値について用いられても良い。巡回シフト値の唯一つのセットが、Ｇについて記憶され、全てのリフティング値について用いられるので、これはデザインを単純化し得る。選択されたリフティング値Ｌのためのｇ´を得るために、方程式（４）は、基本的に（essentially）ｇのゼロ個以上の最下位ビット（ＬＳＢ）を除去する。Ｌｍａｘ＝１０２４でのデザインに関して、Ｌ＝５１２の場合には、１つのＬＳＢを取り除くことができ、Ｌ＝２５６の場合には、２つののＬＳＢを取り除くことができる。ＬＳＢの除去は、異なるシフト・パラメータの間の関係…例えば、以下で説明される、ｓ´＝ｓ＋Ｌ／４…を保存することができ、これは、復号化を単純化し得る。他のデザインにおいて、ｇ´を得るために、法を２とする演算を実行することにより、ｇのゼロ個以上の最上位ビット（ＭＳＢ）が除去されても良い。ｇ´はまた、他の方法で得られても良い。
【００４８】
一つのデザインにおいて、リフトされたパリティチェック行列Ｈを得るために、Ｇの各々の非零要素が、巡回置換行列σｇ´で置き換えられても良い。σｇ´は、ｇ´で単位行列を循環的にシフトすることによって得ても良い。他のデザインにおいて、Ｇの各々の非零要素を２×２行列で置き換えて、行列Ｇ’を得ても良い。
【数６】
0005551209.tif 000009
【００４９】
そして、ｇ´／２，（ｇ´−１）／２，又は（ｇ´＋１）／２により循環的にシフトされる巡回置換行列で、Ｇ’の各々の非零要素を置き換えて、リフトされたパリティチェック行列Ｈを得ても良い。Ｈは、他の方法で、Ｇに基づいて生成されても良い。
【００５０】
リフトされたパリティチェック行列Ｈの列及び行は、結果として得られる行列が次の形を持つように、再配列又は順序換えされても良い。
【数７】
0005551209.tif 000010
【００５１】
ここで、Ｍ１は、Ｍ×Ｎ行列（ここで、Ｎ＝Ｍ＋ｋＢ・Ｌ）、  
Ｍ２は、（ｍＢ・Ｌ−Ｍ）×Ｎ行列、また、  
０は、すべて零のＭ×（ｎＢ・Ｌ−Ｎ）行列である。  
Ｈの右下における単位行列は、下三角行列で置き換えられても良い。下三角行列は、対角線より下に非零要素を持つものであっても良い。
【００５２】
Ｍ１のディメンションは、選択された基本パリティチェック行列によって決まるものであっても良いし、符号インデックスｉの関数であっても良い。Ｍ１は、次の形を持つものであっても良い。
【数８】
0005551209.tif 000011
【００５３】
ここで、Ａは、（Ｍ−Ｌ／２）×（ｋＢ・Ｌ）行列、  
Ｂは、（Ｍ−Ｌ／２）×（Ｌ／２）行列、  
Ｃは、（Ｌ／２）×（ｋＢ・Ｌ）行列、  
Ｄは、（Ｌ／２）×（Ｌ／２）行列、  
Ｅは、（Ｌ／２）×（Ｎ−ｋＢ・Ｌ）行列、また、  
Ｔは、対角線に沿って１を持ち且つ対角線より上に０を持つ（Ｍ−Ｌ／２）×（Ｍ−Ｌ／２）下三角行列である。
【００５４】
リフトされたＬＤＰＣ符号に関する制約は、次のように表現されても良い。
【数９】
0005551209.tif 000012
【００５５】
ここで、ｘ１は、情報ビット及びパリティビットのＮ×１列ベクトル、  
ｐ３は、パリティビットの（ｎＢ・Ｌ−Ｎ）×１列ベクトルである。
【００５６】
方程式（５）におけるＨの右上における零行列０のために、方程式（７）の一部分が次のように表現されても良い。
【数１０】
0005551209.tif 000013
【００５７】
ここで、ｓは、パケット中の情報ビットの（ｋＢ・Ｌ）×１列ベクトル、  
ｐ１は、パリティビットの（Ｌ／２）×１列ベクトル、また、  
ｐ２は、パリティビットの（Ｍ−Ｌ／２）×１列ベクトルである。
【数１１】
0005551209.tif 000014
【数１２】
0005551209.tif 000015
【００５８】
そして、パリティビットｐ１，ｐ２及びｐ３は、次のように計算されても良い。
【数１３】
0005551209.tif 000016
【００５９】
ここで、方程式（８）に示されるように、ｘ１は、ｓ，ｐ１及びｐ２を含む。Ｈの右下における単位行列が下三角行列で置き換えられる場合には、方程式（１４）は、（トップダウン）後退代入（(top down) back substitution）を用いて解かれても良い。
【００６０】
方程式（１２）及び（１３）におけるマトリクス乗算を、中間結果を記憶すること及びその中間結果を後のステップで用いることのステップ群で実行することによって、ｐ１，ｐ２及びｐ３の計算が単純化されても良い。
【００６１】
リフトされたパリティチェック行列Ｈは、最も低い符号レート用であり、それは、ｒ＝ｋＢ／ｎＢとして与えられても良い。Ｈは、より高いレートを得るために、パンクチャーされても良い。ＬＤＰＣ符号は、外部の（outer）パリティビットを使った、高いレートの内部の（inner）“コア（core）”ＬＤＰＣ符号として構造化されても良い。所望の数のコードビットを得るために、逐次的な方法で符号化が実行されても良い。例えば、まず、方程式（１２）に示されるようにパリティビットｐ１が計算され、次に、（必要に応じて）方程式（１３）に示されるようにパリティビットｐ２が計算され、次に、（必要に応じて）方程式（１４）に示されるようにパリティビットｐ３が計算されても良い。
【００６２】
本システムは、ハイブリッド自動再伝送（hybrid automatic retransmission）（ＨＡＲＱ）をサポートしても良い。ＨＡＲＱに関して、送信機は、パケットの第１の伝送を受信機へ送信し、その後、必要な場合に、受信機により正確にパケットが復号化され、最大数の伝送が送信され、又は、他の何らかの伝送条件に遭遇するまで、１又は複数の追加的な伝送（又は、再伝送）が送信されても良い。ＨＡＲＱは、データ伝送の信頼性を改善し得る。各々のＬＤＰＣ符号に関して、ＨＡＲＱ拡張（extensions）のシーケンスが、本システムによりサポートされる全ての符号レートにおよぶように生成されても良い。ＨＡＲＱ拡張（extensions）は、パリティビットをパンクチャリングすることによって定義されても良い。パンクチャリングの大部分は、第３のパリティビットＰ３中にあっても良いが、一部のパンクチャリングは、第２のパリティビットＰ２中にあっても良い。
【００６３】
図８は、基本パリティチェック行列Ｇの基底グラフ８００を示す。それは、方程式（５）及び（６）に示される形を有しても良い。グラフ８００は、説明のためのみに用いるものであり、前述されたいずれの基本パリティチェック行列とも合致しないものでる。基底グラフ８００は、複数のスクェアボックスを含み、各々のスクェアボックスは、基本パリティチェック行列における一つの要素を表している。基本パリティチェック行列の各々の非零要素は、マークされたボックスで示される。各々のマークされたボックスは、リフティング値Ｌにより基本パリティチェック行列をリフティングすることによって得られるＬ本のエッジコピーのための巡回シフトの量を決定する巡回シフト値と関連付けられている。
【００６４】
コードワードは、グラフ８００の最上部に沿った、情報ビット及びパリティビットで構成される。コードワードにおけるビットは、パリティビット列のいくつかの並べ替えを除いて、左側から開始し、右側へ移動するように、送信されても良い。
【００６５】
基底グラフ８００は、基底グラフの最上部に沿った、情報ビットｓ、第１のパリティビットｐ１、第２のパリティビットｐ２、第３のパリティビットｐ３を含む。第１のパリティビットは、制約の第１のセットと関連し、第２のパリティビットは、制約の第２のセットと関連し、第３のパリティビットは、制約の第３のセットと関連する。基底グラフ８００のコア部分は、情報ビット並びに第１及び第２のパリティビットを表現する変数ノードと、制約の第１及び第２のセットを表現する制約ノードとで構成される。そのコア部分は、通常は、次数１の変数ノードを一つも含まない。第３のパリティビットと制約の第３のセットの制約（又は、第３のパリティ制約）とは、互いに１対１の対応にあり、これは、基底グラフ８００の右下隅における単位行列に示される。各々の第３のパリティビットが、情報ビットのパリティ、第２のパリティビット、及び先行する第３のパリティビットとして決定できるように、第３のパリティビットと第３のパリティ制約とが、線形に順序付けられても良い。第３のパリティビットと１対１に関連する第３のパリティ制約ノードは、この第３のパリティビットをパリティビットとするビットを示す変数ノードだけでなく、第３のパリティビットの変数ノードへも、エッジにより接続されている。
【００６６】
図８に示されるデザインは、復号化を単純化し得る幾つかの特徴を含んでいる。第１及び第２のパリティビットの変数ノードは、次数２であるか又は次数３である。復号化を単純化するために、一つの第１のパリティビットが次数３の一つの変数ノードに関連付けられ、諸第２のパリティビットが次数２の変数ノードに関連付けられても良い。次数３の変数ノードが、行列Ｂ及びＤに関して、列８１０に示され、それは、三つの非零要素について三つの影を付けられたスクウェアボックスを含む。次数２の変数ノードは、堆積鎖状構造（accumulate chain structure）により構成されていても良い。それは、２重対角構造（dual-diagonal structure）としても知られている。２重対角構造は、Ｔの各々の列において２つの積み重ねたれたマークされたボックスを持つ三角行列Ｔにより示される。２重対角構造は、符号性能及び符号化における重要性を有し得る。多数の次数２の変数ノードを有することは、パフォーマンスを向上する可能性があり、また、２重対角形式（dual-diagonal form）において次数２の変数ノードを持つことは、この可能性をほとんど飽和させる。２重対角構造はまた、畳み込み符号とよく似て、次数２の変数ノードが、容易に再帰的に符号化されることを可能にする。適切に順序付けられる場合、Ｈ行列構造は、非零要素を含む下対角（sub diagonal）（２，１）、（３，２）などに加えて、対角線（１，１）、（２，２）などのみを有する部分行列（sub-matrix）Ｔを含んでも良い。多くの場合、２重対角構造に対応するエッジは、リフティング値０が与えられ、これは、置換がないことを意味し、リフトされたグラフにおけるＬ個の分離されたチェーン（separate chains）を形成する。
【００６７】
次数３の変数ノードの二つのエッジは、２重対角構造に関連するグラフにおいてループを閉じるように、基底グラフ中で接続される。この状況において符号化を単純化するために、次数３の変数ノードの三つのエッジのためのリフティング値が、ｘ，ｓ，ｓ´＝（ｓ＋Ｌ／ｍ） ｍｏｄ Ｌの形からなっていても良い。ここで、ｍは、２のべき乗であり、ｘ及びｓは、任意の値である。全ての巡回シフトが反転された場合に、その符号は変化しない。なぜならば、これは、結局、リフティングにおける制約ノードの順番を反転させることになるからである。それゆえ、ｘ，ｓ，ｓ´＝（ｓ−Ｌ／ｍ） ｍｏｄ Ｌの形のリフティング値もまた、使用されても良い。行列φ＝−ＥＴ-1Ｂ＋Ｄは、低い次数の要素（factors）に分解可能であり、それ自体が低い重みからなるので、符号化は単純化され得る。
【００６８】
次数３の変数ノードの二つ非零要素のための巡回シフト値は、ｓ及びｓ’であっても良い。ここで、ｓは、任意に選択された値であっても良く、また、ｓ’は、様々な方法で選択されたものであっても良い。第１のデザインにおいて、ｓ´＝ｓであり、かつ、φ-1は置換行列である。このデザインに関して、リフトされたＬＤＰＣ符号は、基底グラフのアキュムレータチェーン（accumulator chain）（次数２のノード群）及び一つの次数３のノードの全長を通過するループを有する。次善のエラーフロア・パフォーマンス（suboptimal error floor performance）をもたらし得る、そのループは、特に、基底グラフが短いアキュムレータチェーンを有するので、多重度（multiplicity）Ｌで発生する。他のデザインにおいて、ｓ´＝ｓ＋Ｌ／２及びφ-1は、３つの置換行列の総和（sum）である。このデザインにおいて、リフトされたＬＤＰＣ符号における対応するループは、基底グラフのアキュムレータチェーン（accumulator chain）（次数２のノード群）及び二つの次数３のノードの全長を通過する。φ-1による乗算の複雑さは、なおも小さい。しかしながら、このデザインは、それでも、いくらかのエラーフロア（some error floors）の影響を受けやすい。第３のデザインにおいて、ｓ´＝ｓ＋Ｌ／４及びφ-1は、９つの置換行列の総和（sum）である。リフトされたＬＤＰＣ符号における対応するループは、基底グラフのアキュムレータチェーン（accumulator chain）（次数２のノード群）及び四つの次数３のノードの全長を通過する。φ-1は、なおも疎行列であるので、φ-1による乗算の複雑さは、なおも小さい。このデザインは、エラーフロアに関連する問題を回避しながら、復号化を単純化し得る。第３の非零要素のための巡回シフト値は、任意に選択された他の値ｘであっても良い。
【００６９】
本明細書で説明される技術は、広範なパケットサイズをサポートするために用いられても良い。適切な（suitable）パケットサイズが、例えばチャネル条件（channel conditions）（それは、スペクトル効率又はパケットフォーマットによって与えられてもよい。）、割り当てられたリソースの量、パイロット・オーバーヘッド、ＭＩＭＯランクなどのような様々な要因（factors）に基づいて選択されても良い。本技術は、少数の基本ＬＤＰＣ符号を用いた、任意のｋ及びｎの値のための良好なレート互換符号（rate-compatible codes）の生成を可能にする。
【００７０】
本発明で説明されるリフトされたＬＤＰＣ符号は、様々な形で、並列符号器及び復号器（parallel encoder and decoder）の実装を可能にできる。エッジ並列の復号器（edge-parallel decoder）の実装に関して、基底グラフにおけるエッジは、シリアルな方法で処理されても良く、また、並列性は、同一のエッジのＬ個のコピーを同時に処理することによって実現されても良い。ノード並列の復号器（node-parallel decoder）の実装に関して、基底グラフの異なるコピーは、シリアルな方法で処理されても良く、また、並列性は、基底グラフにおける異なるノードを同時に処理することによって実現されても良い。２のべき乗に制限されたサイズで巡回置換行列を用いることによって、リフティングは、特にノード並列の実装について、カウンティング・オペレーション（counting operation）を用いて簡単に実装されても良い。カウンティング・オペレーションは、ｘからｘ＋１ｍｏｄ Ｌまでカウントすることによって、Ｌサイクルを通り抜ける（walking through）ことを指す。リフティングサイズに対するこの制約（restriction）は、異なるリフティングサイズの全ては、大きい共通の要素（large common factor）を持ち、それは、エッジ並列の復号器の実装のために重要な性質になり得る。本明細書で説明されたＬＤＰＣ符号構造は、効率的なノード並列の復号器とエッジ並列の復号器の実装の両方をサポートしても良い。さらに、グラフの記述は、コンパクトであり、また、根本的な複雑さの低減を提供する。
【００７１】
図９は、データを処理するためのプロセス９００のデザインを示す。プロセス９００は、基地局、端末、又は他の何らかの実体により実行されても良い。異なるディメンションの基本パリティチェック行列のセット及び異なる２のべき乗のリフティング値のセットに基づいて、可変サイズのパケットが符号化又は復号化されても良い（ブロック９１２）。基本パリティチェック行列のセットは、前述されたように、６，７，８，９，１０又は１１個の情報ビット用、ｋＢ〜２ｋＢ−１個の情報ビット用、ｋＢ＋１〜２ｋＢ個の情報ビット用、又は他の何らかの情報ビットの範囲用の基本パリティチェック行列群を含んでも良い。基本パリティチェック行列のセットはまた、基本パリティチェック行列の他の何らかの組み合わせを含んでも良い。リフティング値のセットは、前述されたように、４，８，１６，３２，６４，１２８，２５６，５１２及び１０２４についてのリフティング値、又は他の何らかのリフティング値の範囲若しくは組み合わせを含んでも良い。可変サイズのパケットを符号化又は復号化するために用いられる基本パリティチェック行列のセットに関するパラメータ（例えば、巡回シフト値）が記憶されても良い（ブロック９１４）。各々の基本パリティチェック行列は、複数個の位置で複数個の非零要素を含んでも良い。各々の非零要素は、０〜Ｌｍａｘ−１の範囲内の巡回シフト値と関連するものであっても良い。複数個の巡回シフト値は、各々の基本パリティチェック行列の複数個の非零要素について記憶されても良い。各々の基本パリティチェック行列に関する全てのリフティング値のための巡回シフト値は、その基本パリティチェック行列について記憶された巡回シフト値に基づいて決定されても良い。
【００７２】
図１０は、データを処理するための装置１０００のデザインを示す。装置１０００は、異なるディメンションの基本パリティチェック行列のセット及び異なる２のべき乗のリフティング値のセットに基づいて、可変サイズのパケットを符号化又は復号化するための手段（モジュール１０１２）と、前記基本パリティチェック行列のセットに関するパラメータ（例えば、巡回シフト値）を記憶するための手段モジュール（ブロック１０１４）とを含む。
【００７３】
図１１は、パケットを処理するためのプロセス１１００を示す。それは、図９中のブロック９１２のために用いられても良い。符号化又は復号化されるべきパケットのパケットサイズが決定されても良い（ブロック１１１２）。例えば、方程式（２）に示されるように、前記パケットサイズに基づいて、前記リフティング値のセットから一つのリフティング値が選択されても良い（ブロック１１１４）。例えば、方程式（３）に示されるように、前記パケットサイズ及び前記選択されたリフティング値に基づいて、前記基本パリティチェック行列のセットから一つの基本パリティチェック行列が選択されても良い（ブロック１１１６）。前記選択された基本パリティチェック行列及び前記選択されたリフティング値に基づいて、リフトされたパリティチェック行列が生成されても良い（ブロック１１１８）。前記リフトされたパリティチェック行列に基づいて、前記パケットが符号化又は復号化されても良い（ブロック１１２０）。
【００７４】
ブロック１１１８に関して、リフトされたパリティチェック行列は、選択された基本パリティチェック行列の非零要素のための巡回シフト値に更に基づいて生成されても良い。リフトされたパリティチェック行列のための巡回シフト値は、例えば、方程式（４）に示されるように、選択された基本パリティチェック行列の非零要素のための巡回シフト値及び選択されたリフティング値に基づいて計算されても良い。そして、リフトされたパリティチェック行列は、選択された基本パリティチェック行列の各々の非零要素を、その非零要素について計算された巡回シフト値の巡回置換行列で置き換えることによって、生成されても良い。
【００７５】
ブロック１１２０に関して、第１のパリティビットを得るために、方程式（１２）に示されるように、リフトされたパリティチェック行列に基づいて、パケット中の情報ビットが符号化されても良い。第２のパリティビットを得るために、方程式（１３）に示されるように、リフトされたパリティチェック行列に基づいて、情報ビット及び第１のパリティビットが符号化されても良い。第３のパリティビットを得るために、方程式（１４）に示されるように、リフトされたパリティチェック行列に基づいて、情報ビット、第１のパリティビット及び第２のパリティビットが符号化されても良い。
【００７６】
ブロック１１２０における復号化に関して、基本パリティチェック行列のための基底グラフのＬ個のコピーに基づいて、リフトされたパリティチェック行列のための大きいグラフが生成されても良い。ここで、Ｌは、選択されたリフティング値である。選択された基本パリティチェック行列の非零要素のための置換行列に基づいて、基底グラフのＬ個のコピーのノード群が相互接続されても良い。基底グラフは、選択された基本パリティチェック行列の非零要素のための複数のエッジを含んでも良い。エッジ並列の復号化に関して、復号化は、基底グラフのＬ個のコピー中の同一のエッジのＬ個のコピー群について、並行して実行されても良く、また、基底グラフのＬ個のコピー中の異なるエッジ群について、逐次的に実行されても良い。ノード並列の復号化に関して、復号化は、グラフの各々のコピーのノード群について、並行して実行されても良く、また、基底グラフのＬ個のコピー群について、逐次的に実行されても良い。
【００７７】
図１２は、パケットを処理するためのプロセス１２００のデザインを示す。第１のリフトサイズの第１のパリティチェック行列に関する巡回シフト値の第１のセットが、第２のリフトサイズの第２のパリティチェック行列に関する巡回シフト値の第２のセットに基づいて決定されても良い（ブロック１２１２）。第１及び第２のリフトサイズは、異なる２のべき乗であっても良い。ブロック１２１２の一つのデザインにおいて、要素Ｋは、前記第２のリフトサイズの前記第１のリフトサイズに対する比に基づいて決定されても良く、また、前記第１のセットにおける対応する巡回シフト値を得るために、前記第２のセットにおける各々の巡回シフト値のＫ個のＬＳＢが除去されても良い。これは、前記第１のセットにおける対応する巡回シフト値を得るために、方程式（４）に示されるように、前記第２のセットにおける各々の巡回シフト値を、前記比で分割することと、整数値になるように端数を切り捨てることによって、実現されても良い。ブロック１２１２の他のデザインにおいて、前記第１のセットにおける対応する巡回シフト値を得るために、前記第２のセットにおける各々の巡回シフト値のＫ個のＭＳＢが除去されても良い。
【００７８】
前記巡回シフト値の第１のセットに基づいて、前記第１のパリティチェック行列が生成されても良い（ブロック１２１４）。これは、基本パリティチェック行列の各々の非零要素を、その非零要素に対応する第１のセットにおける巡回シフト値の巡回置換行列で置き換えることによって、実現されても良い。前記前記第１のパリティチェック行列に基づいて、パケットが符号化又は復号化されても良い（ブロック１２１６）。
【００７９】
図１３は、パケットを処理するための装置１３００のデザインを示す。装置１３００は、第１のリフトサイズの第１のパリティチェック行列に関する巡回シフト値の第１のセットを、第２のリフトサイズの第２のパリティチェック行列に関する巡回シフト値の第２のセットに基づいて決定するための手段（モジュール１３１２）と、前記巡回シフト値の第１のセットに基づいて、前記第１のパリティチェック行列を生成するための手段（モジュール１３１４）と、前記前記第１のパリティチェック行列に基づいて、パケットを符号化又は復号化するための手段（モジュール１３１６）とを含む。
【００８０】
図１４は、パケットを処理するためのプロセス１４００のデザインを示す。基本パリティチェック行列の各々の非零の要素を、特定の巡回シフト値のＬ×Ｌ置換行列（ここで、Ｌは２のべき乗である。）で置き換えることによって、リフトされたパリティチェック行列が取得されても良い（ブロック１４１２）。少なくとも３つの非零の要素を有する前記基本パリティチェック行列の列における２つの非零の要素のために、巡回シフト値ｓ及びｓ＋Ｌ／ｍ（ここで、ｓは任意の値、ｍは２のべき乗である。）が使用されても良い（ブロック１４１４）。一つのデザインにおいて、ｍは２に等しく、２つの非零の要素のための巡回シフト値は、ｓ及びｓ＋Ｌ／２である。他のデザインにおいて、ｍは４に等しく、２つの非零の要素のための巡回シフト値は、ｓ及びｓ＋Ｌ／４である。更に他のデザインにおいて、ｍは８に等しく、２つの非零の要素のための巡回シフト値は、ｓ及びｓ＋Ｌ／８である。ｍはまた、他の値に等しくても良い。巡回シフト値ｘは、少なくとも３つの非零の要素を持つ列における３つの非零の要素について、選択されても良い。
【数１４】
0005551209.tif 000017
【００８１】
ここで、Ｔは、下三角行列であり、行列Ｂ及びＤそれぞれは、１の幅を持ち、行列Ｄ及びＥそれぞれは、１の高さを持ち、また、少なくとも３つの非零の要素が行列Ｂ及びＤに対応する列に存在する。前記リフトされたパリティチェック行列に基づいて、パケットが符号化又は復号化されても良い（ブロック１４１６）。
【００８２】
図１５は、パケットを処理するための装置１５００のデザインを示す。装置１５００は、基本パリティチェック行列の各々の非零の要素を、特定の巡回シフト値のＬ×Ｌ置換行列（Ｌは２のべき乗）で置き換えることによって、リフトされたパリティチェック行列を取得するための手段（モジュール１５１２）と、少なくとも３つの非零の要素を有する前記基本パリティチェック行列の列における２つの非零の要素についての巡回シフト値ｓ及びｓ＋Ｌ／ｍ（ここで、ｓは任意の値、ｍは２のべき乗である。）を使用するための手段（モジュール１５１４）と、前記リフトされたパリティチェック行列に基づいて、パケットを符号化又は復号化するための手段（モジュール１５１６）とを含む。
【００８３】
図１０，１３及び１５中のモジュールは、プロセッサ、電子デバイス、ハードウェアデバイス、電子コンポーネント、論理回路、メモリ、など、又は、それらの任意の組み合わせを含んでも良い。
【００８４】
本明細書で説明された技術は、様々な手段によって実装されても良い。例えば、これらの技術は、ハードウェア、ファームウェア、ソフトウェア、又はそれらの組み合わせで実装されても良い。ハードウェア実装については、実体（例えばＮｏｄｅ Ｂ又は端末）での技術を実行するために用いられる処理ユニットは、１つ又は複数の特定用途向けＩＣ（ＡＳＩＣ）、デジタルシグナルプロセッサ（ＤＳＰ）、デジタル信号処理装（ＤＳＰＤ）、プログラマブル・ロジック・デバイス（ＰＬＤ）、フィールド・プログラマブル・ゲート・アレイ（ＦＰＧＡ）、プロセッサ、コントローラ、マイクロコントローラ、マイクロプロセッサ、電子デバイス、本明細書で説明された機能を実行するようにデザインされた他の電子ユニット、コンピュータ、又はそれらの組み合わせの中に実装されても良い。
【００８５】
ファームウェア及び／又はソフトウェア実装については、本技術は、本明細書で説明された機能を実行するコード（例えば、プロシージャ、関数、モジュール、インストラクション、など）で実装されても良い。一般に（In general）、ファームウェア及び／又はソフトウェアコードを明確に具体化する（tangibly embodying）任意のコンピュータ／プロセッサ読み取り可能な媒体が、本明細書で説明された技術の実装に利用されても良い。例えば、ファームウェア及び／又はソフトウェアコードは、メモリ（例えば、図２中のメモリ２３２又は２７２）に記憶され、プロセッサ（例えば、プロセッサ２３０又は２７０）により実行されても良い。そのメモリは、プロセッサの内部に実装されても良いし、又は、プロセッサの外部に実装されても良い。また、ファームウェア及び／又はソフトウェアコードは、例えば、ランダムアクセスメモリ（ＲＡＭ）、リードオンリーメモリ（ＲＯＭ）、不揮発性ランダムアクセスメモリ（ＮＶＲＡＭ）、プログラマブルリードオンリーメモリ（ＰＲＯＭ）、電気的消去可能ＰＲＯＭ（ＥＥＰＲＯＭ）、ＦＬＡＳＨメモリ、フロッピー（登録商標）ディスク、コンパクトディスク（ＣＤ）、デジタルバーサタイルディスク（ＤＶＤ）、磁気又は光データ記憶装置、などのような、コンピュータ／プロセッサ読み取り可能な媒体に記憶されても良い。そのコードは、１又は複数のコンピュータ／プロセッサにより実行されても良く、また、該コンピュータ／プロセッサに、本明細書で説明された機能性のある態様を実行させても良い。
【００８６】
先の本開示の説明は、当業者が本開示を製造又は使用するのを可能にするために提供される。本開示に対するさまざまな修正は当業者には容易に明白になり、本明細書で定義される一般的原理は、本開示の精神又は範囲から逸脱することなく、他のバリエーションに適用可能である。それゆえ、本開示は、本明細書で説明される例及びデザインに限定されるものではなく、本明細書で開示された原理及び新規な特徴に合致する最も広い範囲に認められるべきである。 
以下に、本願出願の当初の特許請求の範囲に記載された各請求項に対応する発明を付記する。 
［１］異なるディメンションの基本パリティチェック行列のセット及び異なる２のべき乗のリフティング値のセットに基づいて、可変サイズのパケットを符号化又は復号化するように構成された少なくとも一つのプロセッサと、前記少なくとも一つのプロセッサに接続され、前記基本パリティチェック行列のセットに関するパラメータを記憶するように構成された、メモリとを含むことを特徴とする装置。 
［２］前記少なくとも一つのプロセッサは、符号化又は復号化されるべきパケットのパケットサイズを決定し、前記パケットサイズに基づいて、前記リフティング値のセットから一つのリフティング値を選択し、前記パケットサイズ及び前記選択されたリフティング値に基づいて、前記基本パリティチェック行列のセットから一つの基本パリティチェック行列を選択し、前記選択された基本パリティチェック行列及び前記選択されたリフティング値に基づいて、リフトされたパリティチェック行列を生成し、前記リフトされたパリティチェック行列に基づいて、前記パケットを符号化又は復号化するように構成されたことを特徴とする［１］に記載の装置。 
［３］前記少なくとも一つのプロセッサは、
【数１５】
0005551209.tif 000018
を計算することにより、前記リフティング値を選択するように構成され、ｋは前記パケットサイズであり、ｋＢ，ｍａｘは前記基本パリティチェック行列のセットに関する情報ビットの最大数であり、Ｌは前記選択されたリフティング値であり、
【数１６】
0005551209.tif 000019
は、シーリング演算子（ceiling operator）を示すことを特徴とする［２］に記載の装置。 
［４］前記少なくとも一つのプロセッサは、
【数１７】
0005551209.tif 000020
を計算することにより、前記基本パリティチェック行列を選択するように構成され、ｋは前記パケットサイズであり、Ｌは前記選択されたリフティング値であり、ｋＢは前記選択された基本パリティチェック行列に関する情報ビットの数であり、
【数１８】
0005551209.tif 000021
は、シーリング演算子を示すことを特徴とする［２］に記載の装置。
［５］前記少なくとも一つのプロセッサは、前記選択された基本パリティチェック行列の非零要素のための巡回シフト値に更に基づいて、前記リフトされたパリティチェック行列を生成するように構成されたことを特徴とする［２］に記載の装置。
［６］前記少なくとも一つのプロセッサは、前記選択された基本パリティチェック行列の前記非零要素のための前記巡回シフト値及び前記選択されたリフティング値に基づいて、前記リフトされたパリティチェック行列に関する巡回シフト値を計算し、前記選択された基本パリティチェック行列の各々の非零要素を、前記非零要素について計算された巡回シフト値の巡回置換行列で置き換えることによって、前記リフトされたパリティチェック行列を生成するように構成されたことを特徴とする［５］に記載の装置。 
［７］前記少なくとも一つのプロセッサは、前記選択された基本パリティチェック行列に関する基底グラフのＬ個のコピーに基づいて、前記リフトされたパリティチェック行列を生成し（ここで、Ｌは前記リフティング値である。）、前記選択された基本パリティチェック行列の非零要素のための置換行列に基づいて、前記基底グラフの前記Ｌ個のコピーのノードを相互接続するように構成されたことを特徴とする［２］に記載の装置。 
［８］前記基底グラフは、前記選択された基本パリティチェック行列の前記非零要素に関する複数個のエッジを含み、前記少なくとも一つのプロセッサは、前記基底グラフの前記Ｌ個のコピーにおける、同一のエッジのＬ個のコピーについて、並行して、復号化を実行し、前記基底グラフの前記Ｌ個のコピーにおける、異なるエッジについて、逐次的に、復号化を実行するように構成されたことを特徴とする［７］に記載の装置。 
［９］前記少なくとも一つのプロセッサは、前記基底グラフの各々のコピーのノードについて、並行して、復号化を実行し、前記基底グラフの前記Ｌ個のコピーについて、逐次的に、復号化を実行するように構成されたことを特徴とする［７］に記載の装置。 
［１０］前記少なくとも一つのプロセッサは、第１のパリティビットを得るために、前記リフトされたパリティチェック行列に基づいて、前記パケット中の情報ビットを符号化し、第２のパリティビットを得るために、前記リフトされたパリティチェック行列に基づいて、前記情報ビット及び前記第１のパリティビットを符号化するように構成されたことを特徴とする［２］に記載の装置。 
［１１］前記少なくとも一つのプロセッサは、第３のパリティビットを得るために、前記リフトされたパリティチェック行列に基づいて、前記情報ビット、前記第１のパリティビット及び前記第２のパリティビットを符号化するように更に構成されたことを特徴とする［１０］に記載の装置。 
［１２］前記基本パリティチェック行列のセットは、少なくとも６，７，８，９，１０及び１１個の情報ビットのうちの少なくとも一つのための、少なくとも一つの基本パリティチェック行列を含むことを特徴とする［１］に記載の装置。 
［１３］前記リフティング値のセットは、少なくとも４，８，１６，３２，６４，１２８，２５６，５１２及び１０２４のうちの少なくとも一つのための、少なくとも一つのリフティング値を含むことを特徴とする［１］に記載の装置。 
［１４］各々の基本パリティチェック行列は、複数の位置で複数個の非零要素を含み、各々の非零要素は、０からＬｍａｘ−１（ここで、Ｌｍａｘは、最大のリフティング値である。）までの範囲内の巡回シフト値に関連することを特徴とする［１］に記載の装置。 
［１５］前記メモリは、各々の基本パリティチェック行列の前記複数個の非零要素のための複数個の巡回シフト値を記憶することを特徴とする［１４］に記載の装置。 
［１６］前記少なくとも一つのプロセッサは、各々の基本パリティチェック行列に関するリフティング値のすべてについて、前記基本パリティチェック行列のために記憶された前記複数個の巡回シフト値に基づいて、巡回シフト値を決定するように構成されたことを特徴とする［１５］に記載の装置。 
［１７］異なるディメンションの基本パリティチェック行列のセット及び異なる２のべき乗のリフティング値のセットに基づいて、可変サイズのパケットを符号化又は復号化することを特徴とするデータを処理するための方法。 
［１８］可変サイズのパケットを前記符号化又は復号化することは、符号化又は復号化されるべきパケットのパケットサイズを決定し、前記パケットサイズに基づいて、前記リフティング値のセットから一つのリフティング値を選択し、前記パケットサイズ及び前記選択されたリフティング値に基づいて、前記基本パリティチェック行列のセットから一つの基本パリティチェック行列を選択し、前記選択された基本パリティチェック行列及び前記選択されたリフティング値に基づいて、リフトされたパリティチェック行列を生成し、前記リフトされたパリティチェック行列に基づいて、前記パケットを符号化又は復号化するように構成されたことを特徴とする［１７］に記載の方法。 
［１９］前記リフティング値を前記選択することは、
【数１９】
0005551209.tif 000022
を計算することを含み、ｋは前記パケットサイズであり、ｋＢ，ｍａｘは前記基本パリティチェック行列のセットに関する情報ビットの最大数であり、Ｌは前記選択されたリフティング値であり、
【数２０】
0005551209.tif 000023
は、シーリング演算子を示すことを特徴とする［１８］に記載の方法。 
［２０］前記基本パリティチェック行列を前記選択することは、
【数２１】
0005551209.tif 000024
を計算することを含み、ｋは前記パケットサイズであり、Ｌは前記選択されたリフティング値であり、ｋＢは前記選択された基本パリティチェック行列に関する情報ビットの数であり、
【数２２】
0005551209.tif 000025
は、シーリング演算子を示すことを特徴とする［１８］に記載の方法。 
［２１］前記リフトされたパリティチェック行列を前記生成することは、前記選択された基本パリティチェック行列の複数個の非零要素のための複数個の巡回シフト値に更に基づいて、前記リフトされたパリティチェック行列を生成するように構成されたことを特徴とする［１７］に記載の方法。 
［２２］前記基本パリティチェック行列のセットにおける各々の基本パリティチェック行列の前記複数個の非零要素のための複数個の巡回シフト値を記憶することを更に含むことを特徴とする［１７］に記載の方法。 
［２３］異なるディメンションの基本パリティチェック行列のセット及び異なる２のべき乗のリフティング値のセットに基づいて、可変サイズのパケットを符号化又は復号化するための手段を含むことを特徴とするデータを処理するための装置。 
［２４］可変サイズのパケットを前記符号化又は復号化するための手段は、符号化又は復号化されるべきパケットのパケットサイズを決定するための手段と、前記パケットサイズに基づいて、前記リフティング値のセットから一つのリフティング値を選択するための手段と、前記パケットサイズ及び前記選択されたリフティング値に基づいて、前記基本パリティチェック行列のセットから一つの基本パリティチェック行列を選択するための手段と、前記選択された基本パリティチェック行列及び前記選択されたリフティング値に基づいて、リフトされたパリティチェック行列を生成するための手段と、前記リフトされたパリティチェック行列に基づいて、前記パケットを符号化又は復号化するための手段とを含むことを特徴とする［２３］に記載の装置。 
［２５］前記リフティング値を前記選択するための手段は、
【数２３】
0005551209.tif 000026
を計算するための手段を含み、ｋは前記パケットサイズであり、ｋＢ，ｍａｘは前記基本パリティチェック行列のセットに関する情報ビットの最大数であり、Ｌは前記選択されたリフティング値であり、
【数２４】
0005551209.tif 000027
は、シーリング演算子を示すことを特徴とする［２４］に記載の装置。 
［２６］前記基本パリティチェック行列を前記選択するための手段は、
【数２５】
0005551209.tif 000028
を計算するための手段を含み、ｋは前記パケットサイズであり、Ｌは前記選択されたリフティング値であり、ｋＢは前記選択された基本パリティチェック行列に関する情報ビットの数であり、
【数２６】
0005551209.tif 000029
は、シーリング演算子を示すことを特徴とする［２４］に記載の装置。 
［２７］前記リフトされたパリティチェック行列を前記生成するための手段は、前記選択された基本パリティチェック行列の複数個の非零要素のための複数個の巡回シフト値に更に基づいて、前記リフトされたパリティチェック行列を生成するための手段を含むことを特徴とする［２３］に記載の装置。 
［２８］前記基本パリティチェック行列のセットにおける各々の基本パリティチェック行列の前記複数個の非零要素のための複数個の巡回シフト値を記憶するための手段を更に含むことを特徴とする［２３］に記載の装置。 
［２９］コンピュータ読み取り可能な媒体を含むコンピュータプログラムプロダクトにおいて、前記コンピュータ読み取り可能な媒体は、少なくとも一つのコンピュータに、異なるディメンションの基本パリティチェック行列のセット及び異なる２のべき乗のリフティング値のセットに基づいて、可変サイズのパケットを符号化又は復号化させるためのコードを含むことを特徴とするコンピュータプログラムプロダクト。 
［３０］前記コンピュータ読み取り可能な媒体は、前記少なくとも一つのコンピュータに、符号化又は復号化されるべきパケットのパケットサイズを決定させるためのコードと、前記少なくとも一つのコンピュータに、前記パケットサイズに基づいて、前記リフティング値のセットから一つのリフティング値を選択させるためのコードと、前記少なくとも一つのコンピュータに、前記パケットサイズ及び前記選択されたリフティング値に基づいて、前記基本パリティチェック行列のセットから一つの基本パリティチェック行列を選択させるためのコードと、前記少なくとも一つのコンピュータに、前記選択された基本パリティチェック行列及び前記選択されたリフティング値に基づいて、リフトされたパリティチェック行列を生成させるためのコードと、前記少なくとも一つのコンピュータに、前記リフトされたパリティチェック行列に基づいて、前記パケットを符号化又は復号化させるためのコードとを更に含むことを特徴とする［２９］に記載のコンピュータプログラムプロダクト。 
［３１］前記コンピュータ読み取り可能な媒体は、前記少なくとも一つのコンピュータに、
【数２７】
0005551209.tif 000030
を計算することにより、前記リフティング値を選択させるためのコードを更に含み、ｋは前記パケットサイズであり、ｋＢ，ｍａｘは前記基本パリティチェック行列のセットに関する情報ビットの最大数であり、Ｌは前記選択されたリフティング値であり、
【数２８】
0005551209.tif 000031
は、シーリング演算子を示すことを特徴とする［３０］に記載のコンピュータプログラムプロダクト。 
［３２］前記コンピュータ読み取り可能な媒体は、前記少なくとも一つのコンピュータに、
【数２９】
0005551209.tif 000032
を計算することにより、前記基本パリティチェック行列を選択させるためのコードを更に含み、ｋは前記パケットサイズであり、Ｌは前記選択されたリフティング値であり、ｋＢは前記選択された基本パリティチェック行列に関する情報ビットの数であり、
【数３０】
0005551209.tif 000033
は、シーリング演算子を示すことを特徴とする［３０］に記載のコンピュータプログラムプロダクト。 
［３３］前記コンピュータ読み取り可能な媒体は、前記少なくとも一つのコンピュータに、前記選択された基本パリティチェック行列の前記複数個の非零要素のための前記複数個の巡回シフト値に更に基づいて、前記リフトされたパリティチェック行列を生成させるためのコードを更に含むことを特徴とする［２９］に記載のコンピュータプログラムプロダクト。 
［３４］第１のリフトサイズの第１のパリティチェック行列に関する巡回シフト値の第１のセットを、第２のリフトサイズの第２のパリティチェック行列に関する巡回シフト値の第２のセットに基づいて決定し（前記第１及び第２のリフトサイズは、異なる２のべき乗である。）、前記巡回シフト値の第１のセットに基づいて、前記第１のパリティチェック行列を生成し、前記前記第１のパリティチェック行列に基づいて、パケットを符号化又は復号化するように構成された少なくとも一つのプロセッサと、前記少なくとも一つのプロセッサに接続されたメモリとを含むことを特徴とする装置。 
［３５］前記第１のリフトサイズに対する前記第２のリフトサイズの比に基づいて、ファクターＫを決定し、前記第１のセットにおける対応する巡回シフト値を得るために、前記第２のセットにおける各々の巡回シフト値のＫ個の最下位ビット（ＬＳＢ）を除去するように構成されたことを特徴とする［３４］に記載の装置。 
［３６］前記少なくとも一つのプロセッサは、前記第２のリフトサイズの前記第１のリフトサイズに対する比を決定し、前記第２のセットにおける対応する巡回シフト値を、前記比で分割することと、整数値になるように端数を切り捨てることによって、前記第１のセットにおける各々の巡回シフト値を得るように構成されたことを特徴とする［３４］に記載の装置。 
［３７］前記少なくとも一つのプロセッサは、前記第２のリフトサイズの前記第１のリフトサイズに対する比に基づいて、要素Ｋを決定し、前記第１のセットにおける対応する巡回シフト値を得るために、前記第２のセットにおける各々のＫ個の最上位ビット（ＭＳＢ）を除去するように構成されたことを特徴とする［３４］に記載の装置。 
［３８］前記第１及び第２のリフトサイズは、異なる２のべき乗であることを特徴とする［３４］に記載の装置。 
［３９］前記少なくとも一つのプロセッサは、基本パリティチェック行列の各々の非零要素を、前記非零要素に対応する前記第１のセットにおける巡回シフト値の巡回置換行列で置き換えることによって、前記第１のパリティチェック行列を生成するように構成されたことを特徴とする［３４］に記載の装置。 
［４０］第１のリフトサイズの第１のパリティチェック行列に関する巡回シフト値の第１のセットを、第２のリフトサイズの第２のパリティチェック行列に関する巡回シフト値の第２のセットに基づいて決定することと（前記第１及び第２のリフトサイズは、異なる２のべき乗である。）、前記巡回シフト値の第１のセットに基づいて、前記第１のパリティチェック行列を生成することと、前記前記第１のパリティチェック行列に基づいて、パケットを符号化又は復号化することを含むことを特徴とするデータを処理するための方法。 
［４１］前記巡回シフト値の第１のセットを前記決定することは、前記第１のリフトサイズに対する前記第２のリフトサイズの比に基づいて、ファクターＫを決定することと、前記第１のセットにおける対応する巡回シフト値を得るために、前記第２のセットにおける各々の巡回シフト値のＫ個の最下位ビット（ＬＳＢ）を除去することを含むことを特徴とする［４０］に記載の方法。 
［４２］前記第１のパリティチェック行列を前記生成することとは、基本パリティチェック行列の各々の非零要素を、前記非零要素に対応する前記第１のセットにおける巡回シフト値の巡回置換行列で置き換えることによって、前記第１のパリティチェック行列を生成することを含むことを特徴とする［４０］に記載の方法。 
［４３］基本パリティチェック行列の各々の非零要素を、特定の巡回シフト値のＬ×Ｌ置換行列で置き換えることによって、リフトされたパリティチェック行列を取得し（ここで、Ｌは２のべき乗である。）、少なくとも３つの非零要素を有する前記基本パリティチェック行列の列における２つの非零要素についての巡回シフト値ｓ及びｓ＋Ｌ／ｍを使用し（ここで、ｓは任意の値であり、ｍは２のべき乗である。）、前記リフトされたパリティチェック行列に基づいて、パケットを符号化又は復号化するように構成された少なくとも一つのプロセッサと、前記少なくとも一つのプロセッサに接続されたメモリとを含むことを特徴とする装置。 
［４４］前記基本パリティチェック行列は、
【数３１】
0005551209.tif 000034
を含み、Ｔは、下三角行列であり、行列Ｂ及びＤそれぞれは、１の幅を持ち、行列Ｄ及びＥそれぞれは、１の高さを持ち、少なくとも３つの非零要素が行列Ｂ及びＤに対応する列に存在することを特徴とする［４３］に記載の装置。 
［４５］前記少なくとも一つのプロセッサは、少なくとも３つの非零要素を有する前記列における３つの非零要素についての巡回シフト値ｓを選択するように構成されたことを特徴とする［４３］に記載の装置。 
［４６］ｍは２に等しく、２つの前記非零要素のための前記巡回シフト値は、ｓ及びｓ＋Ｌ／２であることを特徴とする［４３］に記載の装置。 
［４７］ｍは４に等しく、２つの前記非零要素のための前記巡回シフト値は、ｓ及びｓ＋Ｌ／４であることを特徴とする［４３］に記載の装置。 
［４８］ｍは８に等しく、２つの前記非零要素のための前記巡回シフト値は、ｓ及びｓ＋Ｌ／８であることを特徴とする［４３］に記載の装置。 
［４９］基本パリティチェック行列の各々の非零要素を、特定の巡回シフト値のＬ×Ｌ置換行列で置き換えることによって、リフトされたパリティチェック行列を取得することと（ここで、Ｌは２のべき乗である。）、少なくとも３つの非零要素を有する前記基本パリティチェック行列の列における２つの非零要素についての巡回シフト値ｓ及びｓ＋Ｌ／ｍを使用することと（ここで、ｓは任意の値であり、ｍは２のべき乗である。）、前記リフトされたパリティチェック行列に基づいて、パケットを符号化又は復号化することを含むことを特徴とするデータを処理するための方法。 
［５０］前記基本パリティチェック行列は、
【数３２】
0005551209.tif 000035
を含み、Ｔは、下三角行列であり、行列Ｂ及びＤそれぞれは、１の幅を持ち、行列Ｄ及びＥそれぞれは、１の高さを持ち、少なくとも３つの非零要素が行列Ｂ及びＤに対応する列に存在することを特徴とする［４９］に記載の方法。 
［５１］ｍは４に等しく、２つの前記非零要素のための前記巡回シフト値は、ｓ及びｓ＋Ｌ／４であることを特徴とする［４９］に記載の方法。
【図１】
0005551209.tif 000038
【図２】
0005551209.tif 000039
【図３】
0005551209.tif 000040
【図４】
0005551209.tif 000041
【図５】
0005551209.tif 000042
【図６】
0005551209.tif 000043
【図７】
0005551209.tif 000044
【図８】
0005551209.tif 000045
【図９】
0005551209.tif 000046
【図１０】
0005551209.tif 000047
【図１１】
0005551209.tif 000048
【図１２】
0005551209.tif 000049
【図１３】
0005551209.tif 000050
【図１４】
0005551209.tif 000051
【図１５】
0005551209.tif 000052