(57)【要約】  コードを生成する方法、データをエンコード及びデコードする方法、並びにエンコードを実行するエンコーダ及びデコードを実行するデコーダが開示される。一実施形態において、データをエンコード及びデコードするためにベースコードから子コードをリフティングする方法は、リフティングテーブルに格納されるデータを用いて、情報長及びコードレートに従って、巡回サイズ、リフティング関数、及びラベル付けされたベース行列ＰＣＭの単一の組み合わせを決定する段階を含む。リフティングテーブルは、コード生成段階で定義された。方法はまた、子コードに対する複数のシフトを計算する段階を含む。それぞれのシフトが、巡回サイズを用いて定義されたインデックスを有するラベル付けされたベース行列ＰＣＭにリフティング関数を適用することによって計算され、導出された子ＰＣＭを用いてデータをエンコード又はデコードする。
2020520143.tif 000002
【特許請求の範囲】
【請求項１】
データをエンコード及びデコードするためにベースコードから子コードをリフティングする方法であって、
コード生成段階で定義されたリフティングテーブルに格納されるデータを用いて、情報長及びコードレートに従って、巡回サイズ、リフティング関数、及びラベル付けされたベース行列ＰＣＭの単一の組み合わせを決定する段階と、
子コードに対する複数のシフトを計算する段階であって、それぞれのシフトが、前記巡回サイズを用いて定義されたインデックスを有する前記ラベル付けされたベース行列ＰＣＭに前記リフティング関数を適用することによって計算される、段階と
前記巡回サイズ、前記リフティング関数、及び前記ラベル付けされたＰＣＭの前記単一の組み合わせに従って、並びに前記子コードに対する前記複数のシフトのうちの１つに従って、子ＰＣＭを導出する段階と、
導出された前記子ＰＣＭを用いてデータをエンコード又はデコードする段階と
を備える、方法。
【請求項２】
事前に定義された位置に対する非ゼロ巡回のシフトは不変である、請求項１に記載の方法。
【請求項３】
前記リフティング関数が、単一のリフティング関数から選択される、請求項１に記載の方法。
【請求項４】
前記リフティング関数が複数のリフティング関数から選択される、請求項１に記載の方法。
【請求項５】
前記ラベル付けされたベース行列ＰＣＭが、前記巡回サイズから直接導出される、請求項１に記載の方法。
【請求項６】
前記巡回サイズはＺであり、Ｚ＝ａ×２ｓである、請求項５に記載の方法。
【請求項７】
前記リフティング関数は、コードのシフト値を提供する、請求項１に記載の方法。
【請求項８】
データをエンコード又はデコードするためにコードを生成する方法であって、
それぞれのコーディングレートＲ及びそれぞれの情報長Ｋに対する許可されたリフトサイズＺのサブセットを決定する段階と、
それぞれのコードレートＲ及び前記許可されたリフトサイズＺの前記サブセットのそれぞれのＺに対する少なくとも１つのリフティング関数ｆｉを決定する段階と、
単一のプロトグラフを記述する複数のラベル付けされたＰＣＭのセットを決定する段階であって、前記複数のラベル付けされたＰＣＭは、コーディングレートＲ及び許可されたリフトサイズＺの前記サブセットに基づいている、段階と、
リフトサイズＺ、リフティング関数ｆ及びラベル付けされたＰＣＭｔの単一の組み合わせを選択する段階と、
それぞれの情報長及びそれぞれのコーディングレートに対する前記単一の組み合わせに対応する、巡回サイズオフセット及び／又は巡回サイズインデックス、リフティング関数インデックス、並びにラベル付けされたＰＣＭインデックスを格納する段階と
を備える、方法。
【請求項９】
前記リフティング関数が、単一のリフティング関数から選択される、請求項８に記載の方法。
【請求項１０】
送信側でデバイスを操作する方法であって、
エンコーダで、情報ビットをコードワードにエンコードする段階と、
送信機で、信号を受信側に送信する段階であって、前記信号は前記コードワードを含み、前記情報ビットが、複数のラベル付けされたベースＰＣＭを用いてエンコードされ、前記複数のラベル付けされたベースＰＣＭが、単一のプロトグラフを記述する単一のベースＰＣＭから導出される、段階と
を備える、方法。
【請求項１１】
前記情報ビットは、異なるビット長を有し、異なるコーディングレートでエンコードされる、請求項１０に記載の方法。
【請求項１２】
ラベル付けされたベースＰＣＭが、コーディングレートに従って選択される、請求項１１に記載の方法。
【請求項１３】
エンコードする段階は、コーディングレートが第１のコーディングレートから第２のコーディングレートに変化するときに、第１のラベル付けされたＰＣＭから第２のラベル付けされたＰＣＭにスイッチする段階を備える、請求項１１に記載の方法。
【請求項１４】
エンコードする段階は、リフトサイズが第１のリフトサイズから第２のリフトサイズに変化するときに、第１のラベル付けされたＰＣＭから第２のラベル付けされたＰＣＭにスイッチする段階であって、前記第１のリフトサイズ及び前記第２のリフトサイズは、異なる情報ビット長によって決まる、段階を備える、請求項１１に記載の方法。
【請求項１５】
受信側でデバイスを操作する方法であって、
受信機で、送信側から信号を受信する段階であって、前記信号は、コードワードを含む、段階と、
デコーダで、情報ビットを抽出することを適用することによって前記コードワードをデコードする段階であって、前記情報ビットが、複数のラベル付けされたベースＰＣＭを用いてデコードされ、前記複数のラベル付けされたベースＰＣＭが、単一のプロトグラフを記述する単一のベースＰＣＭから導出される、段階と、
を備える、方法。
【請求項１６】
前記情報ビットは、異なるビット長を有し、異なるコーディングレートでデコードされる、請求項１５に記載の方法。
【請求項１７】
ラベル付けされたベースＰＣＭが、コーディングレートに従って選択される、請求項１５に記載の方法。
【請求項１８】
デコードする段階は、コーディングレートが第１のコーディングレートから第２のコーディングレートに変化するときに、第１のラベル付けされたＰＣＭから第２のラベル付けされたＰＣＭにスイッチする段階を備える、請求項１５に記載の方法。
【請求項１９】
デコードする段階は、リフトサイズが第１のリフトサイズから第２のリフトサイズに変化するときに、第１のラベル付けされたＰＣＭから第２のラベル付けされたＰＣＭにスイッチする段階であって、
前記第１のリフトサイズ及び前記第２のリフトサイズは、異なる情報ビット長によって決まる、段階を備える、請求項１５に記載の方法。
【請求項２０】
プロセッサと、
前記プロセッサによる実行のためのプログラミングを格納するコンピュータ可読ストレージ媒体であって、前記プログラミングは、
コード生成段階で定義されたリフティングテーブルに格納されるデータを用いて、情報長及びコードレートに従って、巡回サイズ、リフティング関数、及びラベル付けされたＰＣＭの単一の組み合わせを決定し、
子コードに対する複数のシフトを計算し、
前記巡回サイズ、前記リフティング関数、及び前記ラベル付けされたＰＣＭの前記単一の組み合わせに従って、並びに前記子コードに対する前記複数のシフトのうちの１つに従って、子ＰＣＭを導出し、
導出された前記子ＰＣＭを用いてデータをエンコードする
ための命令を含む、コンピュータ可読ストレージ媒体と
を備え、
それぞれのシフトが、前記巡回サイズを用いて定義されたインデックスを有する前記ラベル付けされたＰＣＭに前記リフティング関数を適用することによって計算される、
エンコーダ。
【発明の詳細な説明】
【技術分野】
【０００１】
［関連出願の相互参照］  本願は、２０１８年５月１日に出願された米国非仮出願第１５／９６８，５９７号及び２０１７年５月２日に出願された米国仮出願第６２／５００，３７０号の利益を主張するものであり、当該特許出願は、参照により本明細書に組み込まれる。
【０００２】
本開示は、概して、無線ネットワークにおける通信のためのシステム及び方法に関し、特定の複数の実施形態において、無線ネットワークにおけるユーザ機器のハンドオーバーのためのシステム及び方法である。
【背景技術】
【０００３】
パリティ検査コードが、通信チャネルを介して送信されたデータだけでなく、格納されたデータの復元を促進するのに用いられる。パリティ検査コードの１つのタイプが、低密度パリティ検査（ＬＤＰＣ）として知られ、これは、疎なパリティ検査行列（ＰＣＭ）、すなわち、１の低い割合を有するＰＣＭによって特徴付けられる。送信機のＬＤＰＣエンコーダが、ソースワードをエンコードしてコードワードを生成するために用いられる。受信機のＬＤＰＣデコーダが、受信したコードワードをデコードするために用いられる。様々なレートのＬＤＰＣコードが、ＩＥＥＥ８０２．１１及び５Ｇに関するもののような、データストレージ、並びに無線通信技術及び規格において、広く採用され、又は採用が検討される。
【０００４】
実際に用いられるほとんどすべてのＬＤＰＣコードが、準巡回（ＱＣ）パリティ検査行列を有するＱＣ  ＬＤＰＣであり、拡張ＱＣ  ＰＣＭ（例えば、ＱＣ  ＬＤＰＣ  ＰＣＭ）を定義するために、準巡回単位行列が、シフト情報のアレイ（すなわち、ＱＣシフトＰＣＭ）と組み合わされ得る。ＱＣ  ＬＤＰＣエンコード、並びにＰＣＭ情報の復元アルゴリズム及びストレージは、ハードウェアリソースを消費し得、従って、ＱＣ  ＬＤＰＣコーディングシステムに要するハードウェアリソースの効率性を向上させ、ＱＣ  ＬＤＰＣコーディングシステムに要するハードウェアリソースを減らす方法、システム、及び技術の必要性がある。
【発明の概要】
【０００５】
本開示の一実施形態は、データをエンコード及びデコードするためにベースコードから子コードをリフティングする方法を提供する。方法は、リフティングテーブルに格納されるデータを用いて、情報長及びコードレートに従って、巡回サイズ、リフティング関数、及びラベル付けされたベース行列ＰＣＭの単一の組み合わせを決定する段階を含む。リフティングテーブルは、コード生成段階で定義された。方法はまた、子コードに対する複数のシフトを計算する段階を含む。それぞれのシフトが、巡回サイズを用いて定義されたインデックスを有するラベル付けされたベース行列ＰＣＭにリフティング関数を適用することによって計算され、導出された子ＰＣＭを用いてデータをエンコード又はデコードする。方法はまた、巡回サイズ、リフティング関数、及びラベル付けされたＰＣＭの単一の組み合わせに従って、並びに子コードに対する複数のシフトのうちの１つに従って、子ＰＣＭを導出する段階を含む。方法はまた、導出された子ＰＣＭを用いてデータをエンコード又はデコードする段階を含む。
【０００６】
本開示の一実施形態は、コードを生成する方法を提供する。方法は、それぞれのコーディングレートＲ及びそれぞれの情報長Ｋに対するリフトサイズＺの許可されたサブセットを決定する段階を含む。方法はまた、それぞれコードレートＲ及びそれぞれの許可されたＺに対する少なくとも１つのリフティング関数ｆｉを決定する段階を含む。方法はまた、単一のプロトグラフを記述する複数のベースＰＣＭのセットを決定する段階を含む。複数のベースＰＣＭは、コーディングレートＲ及び許可されたＺに基づいている。方法はまた、リフトサイズＺ、リフティング関数ｆｉ、及びベースＰＣＭｔの単一の組み合わせを選択する段階を含む。方法はまた、それぞれの情報長及びそれぞれのコーディングレートに対する単一の組み合わせに対応する、巡回サイズオフセット及び／又は巡回サイズインデックス、リフティング関数インデックス、並びにベースコードインデックスを格納する段階を含む。
【０００７】
本開示の一実施形態は、送信側でデバイスを操作する方法を提供する。方法は、エンコーダで、情報ビットをコードワードにエンコードする段階を含む。方法はまた、送信機で、信号を受信側に送信する段階を含む。信号は、コードワードを含む。情報ビットが、複数のラベル付けされたベースＰＣＭを用いてエンコードされる。複数のラベル付けされたベースＰＣＭが、単一のプロトグラフを記述する単一のベースＰＣＭから導出される。
【０００８】
本開示の一実施形態は、受信側でデバイスを操作する方法を提供する。方法は、受信機で、送信側から信号を受信する段階を含む。信号は、コードワードを含む。方法はまた、デコーダで、情報ビットを抽出することを適用することによってコードワードをデコードする段階を含む。情報ビットが、複数のラベル付けされたベースＰＣＭを用いてデコードされる。複数のラベル付けされたベースＰＣＭが、単一のプロトグラフを記述する単一のベースＰＣＭから導出される。
【０００９】
本開示の一実施形態は、エンコーダ又はデコーダを提供する。エンコーダ又はデコーダは、プロセッサ及びプロセッサによる実行のためのプログラミングを格納するコンピュータ可読ストレージ媒体を含む。プログラミングは、コード生成段階で定義されたリフティングテーブルに格納されるデータを用いて、情報長及びコードレートに従って、巡回サイズ、リフティング関数、及びラベル付けされたＰＣＭの単一の組み合わせを決定するための命令を含む。プログラミングはまた、子コードに対する複数のシフトを計算するための命令を含む。それぞれのシフトが、巡回サイズを用いて定義されたインデックスを有するラベル付けされたＰＣＭにリフティング関数を適用することによって計算される。プログラミングはまた、巡回サイズ、リフティング関数、及びラベル付けされたＰＣＭの単一の組み合わせに従って、並びに子コードに対する複数のシフトのうちの１つに従って子ＰＣＭを導出するための命令を含む。プログラミングはまた、導出された子ＰＣＭを用いてデータをエンコード又はデコードするための命令を含む。
【００１０】
本開示の１又は複数の態様において、事前に定義された位置に対する非ゼロ巡回のシフトは不変である。
【００１１】
本開示の１又は複数の態様において、リフティング関数が、単一のリフティング関数から選択される。
【００１２】
本開示の１又は複数の態様において、リフティング関数が複数のリフティング関数から選択される。
【００１３】
本開示の１又は複数の態様において、ラベル付けされたベース行列ＰＣＭが、巡回サイズから直接導出される。
【００１４】
本開示の１又は複数の態様において、巡回サイズはＺである。ここで、Ｚ＝ａ×２ｓである。
【００１５】
本開示の１又は複数の態様において、リフティング関数は、コードのシフト値を提供する。
【００１６】
本開示の１又は複数の態様において、情報ビットは、異なるビット長を有し、異なるコーディングレートでエンコードされる。
【００１７】
本開示の１又は複数の態様において、ラベル付けされたベースＰＣＭが、コーディングレートに従って選択される。
【００１８】
本開示の１又は複数の態様において、エンコードする段階は、コーディングレートが第１のコーディングレートから第２のコーディングレートに変化するときに、第１のラベル付けされたＰＣＭから第２のラベル付けされたＰＣＭにスイッチする段階を含む。
【００１９】
本開示の１又は複数の態様において、エンコードする段階は、リフトサイズが第１のリフトサイズから第２のリフトサイズに変化するときに、第１のラベル付けされたＰＣＭから第２のラベル付けされたＰＣＭにスイッチする段階を含む。第１のリフトサイズ及び第２のリフトサイズは、異なる情報ビット長によって決まる。
【００２０】
本開示の１又は複数の態様において、デコードする段階は、コーディングレートが第１のコーディングレートから第２のコーディングレートに変化するときに、第１のラベル付けされたＰＣＭから第２のラベル付けされたＰＣＭにスイッチする段階を含む。
【００２１】
本開示の１又は複数の態様において、デコードする段階は、リフトサイズが第１のリフトサイズから第２のリフトサイズに変化するときにｍ第１のラベル付けされたＰＣＭから第２のラベル付けされたＰＣＭにスイッチする段階を含む。第１のリフトサイズ及び第２のリフトサイズは、異なる情報ビット長によって決まる。
【００２２】
１又は複数の実施形態において、レート適応コードを提供すること（１つのコードレートから他のコードレートにスイッチすること）によって、情報長の適応コードを提供することによって、又はレート適応コード及び長さ適応コードの組み合わせを提供することによって、高い性能が実現される。さらなる実施形態は、これらの複数の実施形態に基づいて単純なハードウェアを提供する。１又は複数の開示される実施形態は、コーディングレート及び情報長に関して柔軟性のある少数のコーディングスキーム（ＰＣＭ行列）に依存している。これは、複数の実施形態が、ストレージ空間も節約しながら、様々な状況における実質的に最適な性能を提供する、という利点を有する。
【図面の簡単な説明】
【００２３】
本開示及びこれらの利点のより完全な理解のために、ここでは、添付図面と併せて以下の記述を参照する。
【００２４】
【図１】３×６パリティ検査行列（ＰＣＭ）、Ｈ、及びその対応するタナーグラフ表現を示す図である。
【００２５】
【図２】４×６ＰＣＭ、Ｈ、及びその対応するタナーグラフ表現を示す図である。
【００２６】
【図３】リフティングテーブルＴを構成するためのフローチャート３００を示す。
【００２７】
【図４Ａ】可能なリフティングテーブルＴの例を示す。
【図４Ｂ】可能なリフティングテーブルＴの例を示す。
【図４Ｃ】可能なリフティングテーブルＴの例を示す。
【００２８】
【図５Ａ】第１のベースグラフ又はプロトグラフの例を示す。
【図５Ｂ−１】第１のベースグラフ又はプロトグラフの例を示す。
【図５Ｂ−２】第１のベースグラフ又はプロトグラフの例を示す。
【００２９】
【図６Ａ】特定のラベル付けされた第１のグラフの一実施形態を示す。
【図６Ｂ−１】特定のラベル付けされた第１のグラフの一実施形態を示す。
【図６Ｂ−２】特定のラベル付けされた第１のグラフの一実施形態を示す。
【図６Ｂ−３】特定のラベル付けされた第１のグラフの一実施形態を示す。
【図６Ｂ−４】特定のラベル付けされた第１のグラフの一実施形態を示す。
【図７Ａ】特定のラベル付けされた第１のグラフの一実施形態を示す。
【図７Ｂ−１】特定のラベル付けされた第１のグラフの一実施形態を示す。
【図７Ｂ−２】特定のラベル付けされた第１のグラフの一実施形態を示す。
【図７Ｂ−３】特定のラベル付けされた第１のグラフの一実施形態を示す。
【図７Ｂ−４】特定のラベル付けされた第１のグラフの一実施形態を示す。
【図８Ａ】特定のラベル付けされた第１のグラフの一実施形態を示す。
【図８Ｂ−１】特定のラベル付けされた第１のグラフの一実施形態を示す。
【図８Ｂ−２】特定のラベル付けされた第１のグラフの一実施形態を示す。
【図８Ｂ−３】特定のラベル付けされた第１のグラフの一実施形態を示す。
【図８Ｂ−４】特定のラベル付けされた第１のグラフの一実施形態を示す。
【図９Ａ】特定のラベル付けされた第１のグラフの一実施形態を示す。
【図９Ｂ−１】特定のラベル付けされた第１のグラフの一実施形態を示す。
【図９Ｂ−２】特定のラベル付けされた第１のグラフの一実施形態を示す。
【図９Ｂ−３】特定のラベル付けされた第１のグラフの一実施形態を示す。
【図９Ｂ−４】特定のラベル付けされた第１のグラフの一実施形態を示す。
【図１０Ａ】特定のラベル付けされた第１のグラフの一実施形態を示す。
【図１０Ｂ−１】特定のラベル付けされた第１のグラフの一実施形態を示す。
【図１０Ｂ−２】特定のラベル付けされた第１のグラフの一実施形態を示す。
【図１０Ｂ−３】特定のラベル付けされた第１のグラフの一実施形態を示す。
【図１０Ｂ−４】特定のラベル付けされた第１のグラフの一実施形態を示す。
【図１１Ａ】特定のラベル付けされた第１のグラフの一実施形態を示す。
【図１１Ｂ−１】特定のラベル付けされた第１のグラフの一実施形態を示す。
【図１１Ｂ−２】特定のラベル付けされた第１のグラフの一実施形態を示す。
【図１１Ｂ−３】特定のラベル付けされた第１のグラフの一実施形態を示す。
【図１１Ｂ−４】特定のラベル付けされた第１のグラフの一実施形態を示す。
【図１２Ａ】特定のラベル付けされた第１のグラフの一実施形態を示す。
【図１２Ｂ−１】特定のラベル付けされた第１のグラフの一実施形態を示す。
【図１２Ｂ−２】特定のラベル付けされた第１のグラフの一実施形態を示す。
【図１２Ｂ−３】特定のラベル付けされた第１のグラフの一実施形態を示す。
【図１２Ｂ−４】特定のラベル付けされた第１のグラフの一実施形態を示す。
【図１３Ａ】特定のラベル付けされた第１のグラフの一実施形態を示す。
【図１３Ｂ】特定のラベル付けされた第１のグラフの一実施形態を示す。
【００３０】
【図１４Ａ】第２のベースグラフ又はプロトグラフの例を示す。
【図１４Ｂ−１】第２のベースグラフ又はプロトグラフの例を示す。
【図１４Ｂ−２】第２のベースグラフ又はプロトグラフの例を示す。
【図１４Ｂ−３】第２のベースグラフ又はプロトグラフの例を示す。
【００３１】
【図１５Ａ】単一のラベル付けされた第２のグラフの一実施形態を示す。
【図１５Ｂ−１】単一のラベル付けされた第２のグラフの一実施形態を示す。
【図１５Ｂ−２】単一のラベル付けされた第２のグラフの一実施形態を示す。
【図１５Ｂ−３】単一のラベル付けされた第２のグラフの一実施形態を示す。
【図１６Ａ】単一のラベル付けされた第２のグラフの一実施形態を示す。
【図１６Ｂ−１】単一のラベル付けされた第２のグラフの一実施形態を示す。
【図１６Ｂ−２】単一のラベル付けされた第２のグラフの一実施形態を示す。
【図１６Ｂ−３】単一のラベル付けされた第２のグラフの一実施形態を示す。
【図１７Ａ】単一のラベル付けされた第２のグラフの一実施形態を示す。
【図１７Ｂ−１】単一のラベル付けされた第２のグラフの一実施形態を示す。
【図１７Ｂ−２】単一のラベル付けされた第２のグラフの一実施形態を示す。
【図１７Ｂ−３】単一のラベル付けされた第２のグラフの一実施形態を示す。
【図１８Ａ】単一のラベル付けされた第２のグラフの一実施形態を示す。
【図１８Ｂ−１】単一のラベル付けされた第２のグラフの一実施形態を示す。
【図１８Ｂ−２】単一のラベル付けされた第２のグラフの一実施形態を示す。
【図１８Ｂ−３】単一のラベル付けされた第２のグラフの一実施形態を示す。
【図１９Ａ】単一のラベル付けされた第２のグラフの一実施形態を示す。
【図１９Ｂ−１】単一のラベル付けされた第２のグラフの一実施形態を示す。
【図１９Ｂ−２】単一のラベル付けされた第２のグラフの一実施形態を示す。
【図１９Ｂ−３】単一のラベル付けされた第２のグラフの一実施形態を示す。
【図２０Ａ】単一のラベル付けされた第２のグラフの一実施形態を示す。
【図２０Ｂ−１】単一のラベル付けされた第２のグラフの一実施形態を示す。
【図２０Ｂ−２】単一のラベル付けされた第２のグラフの一実施形態を示す。
【図２０Ｂ−３】単一のラベル付けされた第２のグラフの一実施形態を示す。
【図２１Ａ】単一のラベル付けされた第２のグラフの一実施形態を示す。
【図２１Ｂ−１】単一のラベル付けされた第２のグラフの一実施形態を示す。
【図２１Ｂ−２】単一のラベル付けされた第２のグラフの一実施形態を示す。
【図２１Ｂ−３】単一のラベル付けされた第２のグラフの一実施形態を示す。
【図２２Ａ】単一のラベル付けされた第２のグラフの一実施形態を示す。
【図２２Ｂ−１】単一のラベル付けされた第２のグラフの一実施形態を示す。
【図２２Ｂ−２】単一のラベル付けされた第２のグラフの一実施形態を示す。
【図２２Ｂ−３】単一のラベル付けされた第２のグラフの一実施形態を示す。
【図２３Ａ】単一のラベル付けされた第２のグラフの一実施形態を示す。
【図２３Ｂ−１】単一のラベル付けされた第２のグラフの一実施形態を示す。
【図２３Ｂ−２】単一のラベル付けされた第２のグラフの一実施形態を示す。
【図２３Ｂ−３】単一のラベル付けされた第２のグラフの一実施形態を示す。
【００３２】
【図２４Ａ−１】第１のグラフのためのリフティングテーブルＴの一実施形態を示す。
【図２４Ａ−２】第１のグラフのためのリフティングテーブルＴの一実施形態を示す。
【図２４Ａ−３】第１のグラフのためのリフティングテーブルＴの一実施形態を示す。
【図２４Ａ−４】第１のグラフのためのリフティングテーブルＴの一実施形態を示す。
【図２４Ａ−５】第１のグラフのためのリフティングテーブルＴの一実施形態を示す。
【図２４Ａ−６】第１のグラフのためのリフティングテーブルＴの一実施形態を示す。
【図２４Ｂ−１】第１のグラフのためのリフティングテーブルＴの一実施形態を示す。
【図２４Ｂ−２】第１のグラフのためのリフティングテーブルＴの一実施形態を示す。
【図２４Ｂ−３】第１のグラフのためのリフティングテーブルＴの一実施形態を示す。
【００３３】
【図２４Ｃ−１】第２のグラフのためのリフティングテーブルＴの一実施形態を示す。
【図２４Ｃ−２】第２のグラフのためのリフティングテーブルＴの一実施形態を示す。
【図２４Ｃ−３】第２のグラフのためのリフティングテーブルＴの一実施形態を示す。
【図２４Ｃ−４】第２のグラフのためのリフティングテーブルＴの一実施形態を示す。
【図２４Ｃ−５】第２のグラフのためのリフティングテーブルＴの一実施形態を示す。
【図２４Ｃ−６】第２のグラフのためのリフティングテーブルＴの一実施形態を示す。
【図２４Ｄ−１】第２のグラフのためのリフティングテーブルＴの一実施形態を示す。
【図２４Ｄ−２】第２のグラフのためのリフティングテーブルＴの一実施形態を示す。
【図２４Ｄ−３】第２のグラフのためのリフティングテーブルＴの一実施形態を示す。
【図２４Ｄ−４】第２のグラフのためのリフティングテーブルＴの一実施形態を示す。
【図２４Ｄ−５】第２のグラフのためのリフティングテーブルＴの一実施形態を示す。
【図２４Ｄ−６】第２のグラフのためのリフティングテーブルＴの一実施形態を示す。
【００３４】
【図２５Ａ】異なる情報長及び異なるコーディングレートＲにリフティングテーブルＴ１及びリフティングテーブルＴ２を適用するデコーダの性能の向上を示す。
【図２５Ｂ】異なる情報長及び異なるコーディングレートＲにリフティングテーブルＴ１及びリフティングテーブルＴ２を適用するデコーダの性能の向上を示す。
【図２５Ｃ】異なる情報長及び異なるコーディングレートＲにリフティングテーブルＴ１及びリフティングテーブルＴ２を適用するデコーダの性能の向上を示す。
【図２５Ｄ】異なる情報長及び異なるコーディングレートＲにリフティングテーブルＴ１及びリフティングテーブルＴ２を適用するデコーダの性能の向上を示す。
【００３５】
【図２６】ＬＤＰＣエンコーダの一実施形態のブロック図である。
【００３６】
【図２７】ＬＤＰＣデコーダの一実施形態のブロック図である。
【００３７】
【図２８】ＬＤＰＣ、本開示のリフティングテーブル、及び本開示のリフティング関数を用いてデータをエンコードする方法の一実施形態のフローチャートである。
【００３８】
【図２９】ＬＤＰＣ、本開示のリフティングテーブル、及び本開示のリフティング関数を用いてデータをデコードする方法の一実施形態のフローチャートである。
【００３９】
【図３０】ホストデバイスに組み込まれ得、本明細書に記述される方法を実行する、一実施形態に係る処理システムのブロック図を示す。
【００４０】
【図３１】電気通信ネットワークを介して信号を送受信するよう適合された送受信機のブロック図を示す。
【００４１】
【図３２】本開示の方法及びシステムが実装され得る、一実施形態に係るデータを通信するためのネットワークを示す。
【発明を実施するための形態】
【００４２】
現在好ましい実施形態の作成及び使用について、以下で詳細に説明する。しかしながら、本開示は多種多様な特定の文脈で具現化され得る多くの適用可能な発明概念を提供することを理解されたい。説明される特定の複数の実施形態は、単に、本開示の作成及び使用するための一例の特定の方法に過ぎず、本開示の範囲を限定するものではない。
【００４３】
本明細書で開示されるのは、ＬＤＰＣを用いてデータをエンコード／デコードするシステム、方法、及びデバイスである。様々な実施形態は、データをエンコード／デコードすべく、巡回オフセットを決定するためのオフセットリフティング手順を含む。さらに、様々な実施形態は、不連続の巡回オフセット及び従来技術より大きな巡回オフセットを含む。様々な実施形態はまた、複数のリフティング関数を含む。大きな巡回オフセットを有することによって、最良のオフセットをより迅速に決定することを可能にし、従来技術の方法よりシステムリソースの消費が少なくなる（例えば、リフティングテーブルを構成する間のより少ない量のオフラインシミュレーション、エンコーダ／デコーダにリフティングテーブルを格納するのに必要とされるより少ないメモリ等）。さらに、異なるリフティング関数が、異なる長さのコードワードをエンコードするのにより適している場合がある。
【００４４】
本開示の複数の実施形態は、情報長のサイズＫ及びコーディングレートＲが（時間と共に）変化するときに、良好なコード（又は行列）を割り当てる柔軟性のある方法をさらに提供する。様々な実施形態は、同一のプロトグラフに対して、異なる選択されて許可されたリフト値Ｚと、異なるラベル付けされたＰＣＭとの間でスイッチすることが可能なコーディング方法を提供する。様々な他の実施形態は、コーディングレートＲ及びリフト値Ｚに基づいて、異なるＰＣＭ間をスイッチすることが可能な方法を提供する。さらなる実施形態は、コーディングレートＲ及び情報長Ｋの様々な範囲に対するリフティングテーブルを提供する。この結果として生じるコードは、それが所与の情報長のサイズＫ及びコーディングレートＲに対するリフト値及びラベル付けされたＰＣＭを提供するので、優れている。
【００４５】
レート適応コードを提供すること（１つのコードレートから他のコードレートにスイッチすること）によって、情報長の適応コードを提供することによって、又はレート適応コード及び長さ適応コードの組み合わせを提供することによって、高い性能が実現され得る。さらなる実施形態は、これらの実施形態に基づいて、単純なハードウェアを提供する。
【００４６】
これらの実施形態は、コーディングレート及び情報長に関して柔軟性のある少数のコーディングスキーム（ＰＣＭ行列）に依存している。これは、複数の実施形態が、ストレージ空間を節約しながら、あらゆる場面における最適な性能を提供する、という利点を有する。
【００４７】
図１は、３×６パリティ検査行列（ＰＣＭ）、Ｈ、１０２、及びその対応するタナーグラフ表現１０４を示す図１００である。ＬＤＰＣコードが疎なパリティ検査行列（ＰＣＭ）によって定義され、これは、（Ｎ−Ｋ）行Ｎ列行列である。ここで、Ｎは、コードワードのサイズ（コードワードにけるビット数）であり、Ｋは、ソースワードの情報ブロックサイズ（それぞれのコードワードにおけるメッセージビットの数）である。タナーグラフ１０４は、パリティ検査方程式を特定するパリティ検査行列のグラフ表現である。図示された例において、タナーグラフ１０４は、３個の検査ノード（ＣＮ）ｃ１、ｃ２及びｃ３、並びに６個の変数ノード（ＶＮ）ｖ１、ｖ２、ｖ３、ｖ４、ｖ５及びｖ６を含む。タナーグラフは、Ｎ個の変数ノード（ＶＮ）及びＭ個の検査ノード（ＣＮ）から成る。図示された例において、タナーグラフ１０４は、３個のＣＮｃ１、ｃ２及びｃ３、並びに６個のＶＮｖ１、ｖ２、ｖ３、ｖ４、ｖ５及びｖ６を含む。図１に示されるタナーグラフ１０４において、パリティ検査行列、Ｈ、のｍ番目の行におけるｎ番目の要素ｈｍｎが１である場合かつその場合に限り、ｍ番目の検査ノードがｎ番目の変数ノードに接続される。
【００４８】
図２は、４×６ＰＣＭ、Ｈ、２０２及びその対応するタナーグラフ表現２０４を示す図２００である。受信エンティティは、メッセージパッシングアルゴリズム（ＭＰＡ）と組み合わせてＰＣＭ  Ｈを適用することによって、ＰＣＭ  Ｈに従ってエンコード済みの受信したコードワードをデコードし得る。図２の例に図示されるように、ＭＰＡでデコードするＬＤＰＣは、タナーグラフ２０４の構造を用いる反復デコードアルゴリズムである。ＬＤＰＣデコーダにおいて、ＰＣＭ  Ｈのｍ番目の行におけるｎ番目の要素ｈｍｎが１である場合かつその場合に限り、それぞれのｍ番目の検査ノード（Ｃ１、Ｃ２、Ｃ３）がｎ番目の変数ノード（Ｖ１、…Ｖ６）に接続される。
【００４９】
実際のアプリケーションでは、ＰＣＭは、典型的には、バイナリ１と０の単純な集合ではなく、より構造化された行列として構成される。例えば、より構造化された行列が、列の重さが１である循環置換行列によって生成される、準巡回（ＱＣ）ＬＤＰＣと称されるＬＤＰＣコードの１タイプをサポートするのに用いられる。特に、図２に示されるように、ＬＤＰＣ  ＰＣＭ  Ｈが、単位行列Ｐ０の循環置換又はすべて値０であるゼロ部分行列のいずれかであるサイズＺ×Ｚの正方部分行列Ｐｉのセットに分割され得る。ＱＣ部分行列の行列の次元Ｚは、巡回サイズと称され、リフティング要素としても知られる。単位行列Ｐ０は、左上隅から右下隅までの対角に値「１」を有し、それ以外の場所には値「０」を有する。インデックス値ｉは、ｉ要素だけ右に列を循環シフトすることによって、Ｚ×Ｚ単位行列Ｐ０から取得される循環置換の部分行列Ｐｉを示すのに用いられ得る。例として、図２は、２×２正方部分行列のセットに分割される４×６ＬＤＰＣ  ＰＣＭ  Ｈを示す。部分行列Ｐ０は単位行列であり、部分行列Ｐ１が１だけ右に部分行列Ｐ０の列を循環シフトすることによって取得される。ＱＣ  ＬＤＰＣは、大きなＰＣＭがＱＣ  ＰＣＭの対応するセル位置におけるインデックス値ｉによって表されるそれぞれのＺ×Ｚ部分行列を有するより小さく構造化されたＰＣＭとして表されることを可能にする。例として、図２において、４×６ＰＣＭ  Ｈが、それぞれのセルが循環シフトインデックス値又はゼロ値を含む２×３ＱＣ  ＰＣＭ  ＨＣと言い換えられ得る（従って、２×３ＱＣ  ＰＣＭ  ＨＣから生成される）。本明細書で用いられるように、Ｈは、コードのプロトグラフ（すなわち、プロトグラフ行列）と称され得る。ＨからＨＣに変換することは、典型的には、「エッジラベル付け」又は単に「ラベル付け」と称される。また、本明細書で用いられるように、ＨＣが、ラベル付けされたプロトグラフ又はラベル付けされた行列と称され得る。
【００５０】
ＱＣ  ＬＤＰＣコードは、通常、ＢＰ、Ｍｉｎ−Ｓｕｍ、及びこれら変更（ＮＭＳＡ、ＯＭＳＡ、…）のようなメッセージパッシングデコーダによってデコードされる。ＱＣ  ＬＤＰＣコードの性能は、行及び列の重さ分配（典型的には、密度進化法（Ｄｅｎｓｉｔｙ  ｅｖｏｌｕｔｉｏｎ  ｍｅｔｈｏｄ）を用いて最適化される）、コード距離、短い循環の量、及びトラッピングセット等のような複数の要素に依存している。しかしながら、従来技術のエンコード／デコードシステム及びアルゴリズム、並びにＰＣＭ情報のストレージは、大きな量のシステムリソースを消費する。
【００５１】
さらに、情報長の細かい粒度及びレート調整をサポートすべく、コードのネスト化したファミリが用いられ得る。ここで、レートＲの調整及び長さＫの調整が、パリティビットをパンクチャリング（除去）し、（ゼロパディング）情報ビットを短縮することによって実行される。従って、単純で強力な方法が、あらゆる（ラベル付けされた）ベースＰＣＭから子ＰＣＭを構成するのに必要とされる。
【００５２】
ネスト化は、パリティビットをパンクチャリング（除去）することによって、コードレートＲの調整のコードを調整することを意味する。ＰＣＭそのものは、より小さい又は最も小さいコードに対応する。１つ又は少数の列（巡回列又はビット列のいずれか）が右から除去され（パンクチャリングされ）、同一量の行がＰＣＭの下部から除去される場合、ＰＣＭがデコード／エンコードする目的でさらに用いられ得るが、コーディングレートＲが変化している（増加している）。この手順は、（最も高いレートに対応する「コア」ＰＣＭと称される）最小の可能なＰＣＭが識別されるまで段階的に実行され得る。従って、ＰＣＭは、実際には、ネスト化したコードのセットを備える総合的なコードである。これらはコードの「ネスト化した」サブコードと称され、コードのメイン（最大の）グラフのネスト化したサブグラフに対応する。
【００５３】
レート間のスイッチが、１つのサブコードから他のサブコートにスイッチすることによって実行される。追加のパリティビットの増分の再送が必要とされる場合（１つのネスト化したサブコード（「より小さな」ＰＣＭに等しい）から他の（ネスト化した）サブコード（「より大きな」ＰＣＭ（コードがより低いレートを有することを意味する）に等しい）にスイッチすることを意味する）、リフティング方法を変更できない（又は他の実施形態において、変更することが許可されていない）。従って、リフティングテーブルは、これらのサブコードで共有され得る。
【００５４】
上記のように、ＱＣ  ＰＣＭ情報のストレージ及び利用は、リソース集中型であり得る。従って、本開示の複数の実施形態は、同一のＱＣ  ＰＣＭ情報が異なる情報レートＲ及び情報ブロックサイズＫの範囲をサポートするのに適応的に用いられることを可能にするＱＣ  ＰＣＭ方法及びシステムを提供する。従って、ＱＣ  ＬＤＰＣコードを短縮し、パンクチャリングし、リフティングすることに関する方法及びシステムが本明細書で開示される。短縮することは、所与のレートに正確に一致すべく、ゼロで情報ビットをパディングすることを意味する（これらのビットは送信されないが、ゼロとしてエンコーダ及びデコーダの両方によって用いられる）。短縮されたビットは、情報ブロックの左側、右側から、又は中央部分のある場所からもパディングされ得る。パンクチャリングは、コードのレートを増加すべく、いくつかの必要とされないパリティ検査ビットを除去することを意味する。これは、ＰＣＭから最後のいくつかの列及び同一数の行を切断することに対応する。
【００５５】
情報長の細かい粒度及びレート調整をサポートすべく、コードのネスト化したファミリが用いられ得る。ここで、レート及び長さの調整が、パリティビットをパンクチャリングし、情報ビットを短縮することによって実行される。従って、いくつかのベースＰＣＭから子ＰＣＭを構成するための単純で強力なリフティング方法が、本明細書で記述される。
【００５６】
図３は、強力なパリティ検査コードを構成するためのフローチャート３００を示す。特に、コードは、レート適応コードである。ベースＰＣＭは、最も小さいコードレートに対応する。ベースＰＣＭの右から１つ又は少数の列を、ベースＰＣＭの下部から同一量の行を除去又はパンクチャリングすることによって、コードレートは、変化、すなわち、増加する。これ（例えば、段階的な手順）に基づいて、高いコードレートに対する最小の可能なＰＣＭ（「コア」ＰＣＭと称される）が識別され得る。従って、ベースＰＣＭは、コードのセットを表す。
【００５７】
第１の段階、３０２において、複数の許可されたリフトサイズＺのサブセットＺｉが、それぞれのコーディングレートＲ及びそれぞれの情報長Ｋに対して決定される。第一に、最小リフトサイズが、Ｚｏｒｉｇ＝Ｋ／Ｋｂで計算される。ここで、ｋは情報ビットの数であり、Ｋｂはプロトグラフにおける情報列の数である。Ｋｂは、典型的には、デコーダ又はエンコーダのような特定のハードウェアデバイスに対して固定されている。Ｋｂは、１０、１６又は２２であり得る。Ｋｂは、１０〜１９又は２０〜２９の他の値を有し得る。Ｋｂは、すべてのベースＰＣＭ及びすべてのラベル付けされたＰＣＭに対して同一であり得る。第二に、許可されたＺ、Ｚａｌｌｏｗｅｄのセットが決定される。Ｚａｌｌｏｗｅｄ≧Ｚｏｒｉｇである。Ｚの許可された値が、ａ×２ｓの形式の許可された値Ｚの固定セットで事前に定義され得る。ａは正の整数であり、ｓは負でない整数である。さらに、ａ及びｓ、又はペア（ａ，ｓ）の値の範囲が特定され得る。例えば、ａ∈｛１，２，…１６｝、ｓ∈｛０，１，２，…２５６｝、及びＺ＝ａ×２ｓである場合、Ｚが８以上３８４以下に限定されてよく、Ｚａｌｌｏｗｅｄは次のようであってよい。
Ｚａｌｌｏｗｅｄ＝｛８：１：１６｝∪｛１６：２：３２｝∪｛３２：４：６４｝∪｛６４：８：１２８｝∪｛１２８：１６：２５６｝∪｛２５６：３２：３８４｝
【００５８】
第三に、許可されたリフトサイズＺａｌｌｏｗｅｄのサブセットｍが選択される。一実施形態において、サブセットｍは、Ｚ≧Ｚｏｒｉｇのような、Ｚａｌｌｏｗｅｄの最小のｍの数であり得る。代替的な実施形態において、許可されたリフトサイズＺａｌｌｏｗｅｄのサブセットｍは、Ｋｂ≦ＫｂｍａｘかつＺ≧Ｚｏｒｉｇのような、Ｚに対する最小のｍのオプションであり得る。ここで、Ｋｂは、短縮されていないＰＣＭにおける情報ＱＣ列の数であり、Ｋｂｍａｘは、所与のＫ及びＲに対するＰＣＭにおける情報列の最大数である。
【００５９】
様々な他の実施形態において、さらなる制限が適用され得る。例えば、Ｚに対する最小のｍのオプションは、Ｚ≧ｍａｘ（Ｚｍｉｎ，Ｚｏｒｉｇ）であり得る。Ｚ∈Ｚａｌｌｏｗｅｄであり、Ｚｍｉｎは、最小の可能なリフトサイズである。特定の例において、ｍは８に等しくてよい。従って、それぞれのコーディングレートＲ及びそれぞれの情報長Ｋに対するｍ個の異なるＺがある。しかしながら、これらのＺのうちの１つのみが、それぞれのコーディングレートＲ及びそれぞれの情報長Ｋに対するメモリ（例えば、リフティングテーブル）に格納される。
【００６０】
次の段階、段階３０４において、少なくとも１つのリフティング関数ｆｉがそれぞれのコーディングレートＲ及びそれぞれのＺ∈Ｚａｌｌｏｗｅｄに対して定義される。リフティング関数ｆｉは、以下のように定義され得る。
【００６１】
それぞれのリフティング関数ｆｉは、数式ｈｃｈｉｌｄｊ＝ｆｉ（ｈｂａｓｅ，Ｚ）を用いて、子コードＰＣＭに対して負でない整数シフト値を提供する。ｈｂａｓｅは、ベースコードＰＣＭの負でない１のシフト値であり、ｈｃｈｉｌｄｊは、子コードの結果として生じるシフト値である。
【００６２】
例えば、リフティング関数ｆｉは、以下の形式を有し得る。
ｈｃｈｉｌｄｊ＝ｈｂａｓｅ  ｍｏｄ  ２［ｌｏｇ２（Ｚ）］、ここで、［ｘ］はｘの（より小さい）の整数部である。
ｈｃｈｉｌｄｊ＝ｈｂａｓｅ  ｍｏｄ  Ｚ
ｈｃｈｉｌｄｊ＝［ｈｂａｓｅ×Ｚ／Ｚｍａｘ］、ここで、ＺｍａｘはベースＰＣＭのリフトサイズである。
ｈｃｈｉｌｄｊ＝ｈｂａｓｅ＞＞］ｌｏｇ２（Ｚｍａｘ／Ｚ）［、ここで、＞＞は右バイナリシフト操作（すなわち、ａ＞＞ｂ＝［ａ／２ｂ］）であり、］ｘ［は、ｘの上部整数部である。
【００６３】
様々な実施形態において、リフティング関数の数ｎは１に等しくてよく、これは、単一の固定のリフティング関数がベースＰＣＭのセットからそれぞれの子ＰＣＭを導出するのに用いられることを意味する。しかしながら、代替的な実施形態において、リフティング関数の数ｎは、１より大きくてよく、例えば、２、３、４、５又はそれ以上である。
【００６４】
次の段階、段階３０６において、１つのプロトグラフ（ベースグラフ）をすべて記述するラベル付けされたベースＰＣＭのセットが決定される。ラベル付けされたベースＰＣＭのセットが、それぞれのコーディングレートＲ及びそれぞれのＺ∈Ｚａｌｌｏｗｅｄに対して決定される。ラベル付けされたベースＰＣＭが、ｂａｓｅ（Ｒ，Ｚ）＝｛ＰＣＭ１，ＰＣＭ２，…，ＰＣＭｔ｝のように定義され得る。これらのラベル付けされたベースＰＣＭは、最も小さいコード（例えば、最も高いオーバーヘッドを有するコード）に対応する。
【００６５】
例えば、ｂａｓｅ（Ｒ，Ｚ）は、ベースグラフ又はプロトグラフのすべての利用可能なラベル付けされたバージョンのセットであり得る。他の例において、ｂａｓｅ（Ｒ，Ｚ）は、（いくつかの関数又はテーブルを用いて）値Ｋによって確定的に定義される単一のＰＣＭを備えてよく、又は当該単一のＰＣＭで構成されてよい。
【００６６】
他の例において、ｂａｓｅ（Ｒ，Ｚ）は、（いくつか関数又はテーブルを用いて）リフトサイズＺによって確定的に定義される単一のＰＣＭを備えてよく、又は当該単一のＰＣＭで構成されてよい。関数又はテーブルのような構成の複数の実施形態が、以下のように提供される。すべてのリフト又は巡回サイズＺが、ａ×２ｓ、ａ∈｛８，９，…，１５｝の形式を有する場合、ＰＣＭ  Ｍａ−７が値Ｚに割り当てられ得る。例えば、ｔ＝８である場合、ＰＣＭ  Ｍ１、Ｍ２、…Ｍ８は、同一のベースプロトグラフの事前に定義されたラベル付けされたバージョンである。代替的に、ｔは、例えば、２、３、４、５、６、７又は１０のような、任意の他の正の整数であり得る。
【００６７】
一実施形態において、第１のベースＰＣＭ５００が、図５Ａに示される。図５Ｂ−１〜図５Ｂ−２は、長い単位行列５０４の列を除いたこのベースＰＣＭ５００の左列５０２の表現である。図６Ａは、ａ＝８のラベル付けされたＰＣＭ６００（ＰＣＭ０）を示す。図６Ｂ−１〜図６Ｂ−４は、長い単位行列６０４の列を除いたＰＣＭ０６００の左列６０２の表現である。図７Ａは、ａ＝９のラベル付けされたＰＣＭ７００（ＰＣＭ１）を示す。図７Ｂ−１〜図７Ｂ−４は、長い単位行列７０４の列を除いたＰＣＭ１７００の左列７０２の表現である。図８Ａは、ａ＝１０のラベル付けされたＰＣＭ８００（ＰＣＭ２）を示す。図８Ｂ−１〜図８Ｂ−４は、長い単位行列８０４の列を除いたＰＣＭ２８００の左列８０２の表現である。図９Ａは、ａ＝１１のラベル付けされたＰＣＭ９００（ＰＣＭ３）を示す。図９Ｂ−１〜図９Ｂ−４は、長い単位行列９０４の列を除いたＰＣＭ３９００の左列９０２の表現である。図１０Ａは、ａ＝１２のラベル付けされたＰＣＭ１０００（ＰＣＭ４）を示す。図１０Ｂ−１〜図１０Ｂ−４は、長い単位行列１００４の列を除いたＰＣＭ４１０００の左列１００２の表現である。図１１Ａは、ａ＝１３のラベル付けされたＰＣＭ１１００（ＰＣＭ５）を示す。図１１Ｂ−１〜図１１Ｂ−４は、長い単位行列１１０４の列を除いたＰＣＭ５１１００の左列１１０２の表現である。図１２Ａは、ａ＝１４のラベル付けされたＰＣＭ１２００（ＰＣＭ６）を示す。図１２Ｂ−１〜図１２Ｂ−４は、長い単位行列１２０４の列を除いたＰＣＭ６１２００の左列１２０２の表現である。図１３Ａは、ａ＝１５のラベル付けされたＰＣＭ１３００（ＰＣＭ７）を示す。図１３Ｂ−１〜図１３Ｂ−４は、長い単位行列１３０４の列を除いたＰＣＭ７１３００の左列１３０２の表現である。図６Ａ、図６Ｂ−１〜図６Ｂ−４、図７Ａ、図７Ｂ−１〜図７Ｂ−４、図８Ａ、図８Ｂ−１〜図８Ｂ−４、図９Ａ、図９Ｂ−１〜図９Ｂ−４、図１０Ａ、図１０Ｂ−１〜図１０Ｂ−４、図１１Ａ、図１１Ｂ−１〜図１１Ｂ−４、図１２Ａ、図１２Ｂ−１〜図１２Ｂ−４、図１３Ａ及び図１３Ｂ−１〜図１３Ｂ−４は、第１のベースＰＣＭ５００のラベル付けされたＰＣＭ６００、７００、８００、９００、１０００、１１００、１２００、１３００を示す。
【００６８】
他の実施形態において、第２のベースＰＣＭ１４００が図１４Ａに示される。図１４Ｂ−１〜図１４Ｂ−３は、長い単位行列１４０４の列を除いたこのベースＰＣＭ１４００の左列１４０２の表現である。図１５Ａは、単一のラベル付けされたＰＣＭ１５００を示す。図１５Ｂ−１〜図１５Ｂ−４は、長い単位行列１５０４の列を除いた単一のラベル付けされたＰＣＭ１５００の左列１５０２の表現である。
【００６９】
図１６Ａは、ａ＝８のラベル付けされたＰＣＭ１６００（ＰＣＭ０）を示す。図１６Ｂ−１〜図１６Ｂ−３は、長い単位行列１６０４の列を除いたＰＣＭ０１６００の左列１６０２の表現である。図１７Ａは、ａ＝９のラベル付けされたＰＣＭ１７００（ＰＣＭ１）を示す。図１７Ｂ−１〜図１７Ｂ−３は、長い単位行列１７０４の列を除いたＰＣＭ１１７００の左列１７０２の表現である。図１８Ａは、ａ＝１０のラベル付けされたＰＣＭ１８００（ＰＣＭ２）を示す。図１８Ｂ−１〜図１８Ｂ−３は、長い単位行列１８０４の列を除いたＰＣＭ２１８００の左列１８０２の表現である。図１９Ａは、ａ＝１１のラベル付けされたＰＣＭ１９００（ＰＣＭ３）を示す。図１９Ｂ−１〜図１９Ｂ−３は、長い単位行列１９０４の列を除いたＰＣＭ３１９００の左列１９０２の表現である。図２０Ａは、ａ＝１２のラベル付けされたＰＣＭ２０００（ＰＣＭ４）を示す。図２０Ｂ−１〜図２０Ｂ−３は、長い単位行列２００４の列を除いたＰＣＭ４２０００の左列２００２の表現である。図２１Ａは、ａ＝１３のラベル付けされたＰＣＭ２１００（ＰＣＭ５）を示す。図２１Ｂ−１〜図２１Ｂ−３は、長い単位行列２１０４の列を除いたＰＣＭ５２１００の左列２１０２の表現である。図２２Ａは、ａ＝１４のラベル付けされたＰＣＭ２２００（ＰＣＭ６）を示す。図２２Ｂ−１〜図２２Ｂ−３は、長い単位行列２２０４の列を除いたＰＣＭ６２２００の左列２２０２の表現である。図２３Ａは、ａ＝１５のラベル付けされたＰＣＭ２３００（ＰＣＭ７）を示す。図２３Ｂは、長い単位行列２３０４の列を除いたＰＣＭ７２３００の左列２３０２の表現である。図１６Ａ、図１６Ｂ−１〜図１６Ｂ−３、図１７Ａ、図１７Ｂ−１〜図１７Ｂ−３、図１８Ａ、図１８Ｂ−１〜図１８Ｂ−３、図１９Ａ、図１９Ｂ−１〜図１９Ｂ−３、図２０Ａ、図２０Ｂ−１〜図２０Ｂ−３、図２１Ａ、図２１Ｂ−１〜図２１Ｂ−３、図２２Ａ、図２２Ｂ−１〜図２２Ｂ−３、及び図２３Ｂ−１〜図２３−Ｂ３は、第２のベースＰＣＭ１４００のラベル付けされたＰＣＭ１６００、１７００、１８００、１９００、２０００、２１００、２２００、２３００を示す。
【００７０】
段階３０８において、｛Ｚ，ｆｉ，ｂａｓｅ（Ｒ，Ｚ）｝の単一の組み合わせが、それぞれのコーディングレートＲ及びそれぞれの情報長Ｋに対して選択される。この組み合わせが、それぞれの可能な組み合わせに対するデコーダの誤り訂正の能力を測定し、すべてのオプション間で最良の性能を有する１つを選択することにより、シミュレーションを通じて識別され得る。結果が、それぞれのペア（Ｒ，Ｚ）に対して、用いられるＰＣＭのリフトサイズＺ（又はリフトサイズのオフセット）、リフティング関数ｆｊ、及びインデックスを定義するリフティングテーブルＴに格納され得る。それぞれのペア（Ｒ，Ｚ）に対して、選択されたリフトサイズＺのセットが、毎回探索され得る。例えば、選択されたリフトサイズＺのセットは、８であり得る。
【００７１】
代替的に、ｍは、異なる（Ｋ，Ｒ）ペアに対して異なる場合がある。例えば、ｍ＝８のオプションがＫ＜＝２０４８で探索され、ｍ＝４がＫ＞２０４８で探索される。
【００７２】
上記のように、リフティング関数ｆ１，ｆ２，…ｆｎのセットは、１つのエントリのみ、すなわち、１つのリフティング関数（すなわち、ｎ＝１）を有し得る。代替的に、ｎ＞１の関数が探索され得る。両方の場合において、異なる関数が、Ｋ、Ｒ又は（Ｋ，Ｒ）ペアの異なる範囲に用いられ得る。
【００７３】
データの送信ごとに、コーディングレート及び情報長が異なる場合がある。低いコーディングレートは良好な保護（信頼）を提供するが、高いコーディングレートは良好な保護を提供しない。あるコーディングレートでの送信が完了しない場合、データは再送される必要がある。この場合における再送は、データが以前より低いコーディングレートで送信されるが、同一の情報長であることを意味する。
【００７４】
段階３１０において、あらゆる情報長及びあらゆるコードレートに対する組み合わせが、メモリに格納される。組み合わせは、テーブル（例えば、リフティングテーブル）、リスト、リンクリスト、データベース、ツリー、又は任意の他のタイプのストレージデバイス及びフォーマットに格納され得る。
【００７５】
従って、段階３０２〜段階３１０によってそれぞれ長さＫ及びそれぞれのコーディングレートＲに子ＰＣＭを提供するが、レートＲの依存性が後の再送又はそれぞれの後の再送のために除去され得る。
【００７６】
例えば、それぞれの後の再送について、追加のパリティビットのみが送信される（いわゆる、ＩＲ  ＨＡＲＱ）。この場合において、子ＰＣＭが、開始及びすべてのより低いレートについて、ネスト化されるべきあり、これは、リフティング方法及びテーブルがコーディングレートＲに依存しない、又はコーディングレートＲから独立しているべきであることを意味する。
【００７７】
同時に、レート［Ｒｌｏｗ１…Ｒｕｐ１］、「Ｒｌｏｗ２…Ｒｕｐ２」等のいくつかの異なる重複（又は非重複）の範囲が、それぞれの範囲の異なるレート独立のリフティングテーブルＴ１、Ｔ２…等が段階３０２〜段階３１０を用いて設計されるように、用いられ得る。この観点から、リフトサイズ、リフティング関数、及びＰＣＭは、レート又はレートの範囲に間接的に依存している。
【００７８】
様々な実施形態において、ラベル付けされたＰＣＭの同一のセットが、レートの異なる範囲で共有され得る。様々な他の実施形態において、ＰＣＭの異なるセット及びさらには異なるプロトグラフが、レートの異なる範囲に用いられ得る。
【００７９】
リフティングテーブルＴは、図４Ａに示されるような形式を有し得る。図４ＡにおけるリフティングテーブルＴ４０２の第１の列はＺｏｒｉｇ、第２の列は特定のリフトサイズＺｉのインデックスｉ、第３の列は特定のリフティング関数ｆｊのインデックスｊ、及び第４の列は、特定のラベル付けされたＰＣＭ、ＰＣＭｔのインデックスｔである。
【００８０】
図４Ｂは、リフティングテーブルＴ４０４を示す。第２の列のリフトサイズＺのインデックスｉが、値が実際のリフトサイズを示すように、リフティングサイズＺで置き換えられる。
【００８１】
図４Ｃは、第３の列が除去され得るように、１つのリフティング関数ｆのみに対するリフティングテーブルＴ４０６を示す。
【００８２】
図５Ａ〜図５Ｂは、第１の複数のラベル付けされたＱＣ  ＬＤＰＣベースコード５００の例を示し、図６Ａ、図６Ｂ、図７Ａ、図７Ｂ、図８Ａ、図８Ｂ、図９Ａ、図９Ｂ、図１０Ａ、図１０Ｂ、図１１Ａ、図１１Ｂ、図１２Ａ、図１２Ｂ、図１３Ａ、及び図１３Ｂは、第１のラベル付けされたＱＣ  ＬＤＰＣコード６００、７００、８００、９００、１０００、１１００、１２００、１３００を示す。
【００８３】
図１４Ａ及び図１４Ｂ−１〜図１４Ｂ−３は、第２の複数のラベル付けされたＱＣ  ＬＤＰＣベースコード１４００の例を示し、図１５Ａ、図１５Ｂ−１〜図１５−３、図１６Ａ、図１６Ｂ−１〜図１６Ｂ−３、図１７Ａ、図１７Ｂ−１〜図１７Ｂ−３、図１８Ａ、図１８Ｂ−１〜図１８Ｂ−３、図１９Ａ、図１９Ｂ−１〜図１９Ｂ−３、図２０Ａ、図２０Ｂ−１〜図２０Ｂ−３、図２１Ａ、図２１Ｂ−１〜図２１Ｂ−３、図２２Ａ、図２２Ｂ−１〜図２２Ｂ−３、図２３Ａ、及び図２３Ｂ−１〜図２３Ｂ−３は、第２のラベル付けされたＬＤＰＣコード１５００、１６００、１７００、１８００、１９００、２０００、２１００、２２００、２３００を示す。
【００８４】
図２４Ａ−１〜図２４Ａ−６、図２４Ｂ−１〜図２４Ｂ−３、図２４Ｃ−１〜図２４Ｃ−６、及び図２４Ｄ−１〜図２４Ｄ−６は、リフティングテーブルＴ２４０２、２４０４、２４０６、及び２４０８を示す。図２４ＡのリフティングテーブルＴ１  ２４０２は、１／３≦Ｒ≦８／９のコーディングレート及びＫｂｍａｘ＝２２のとき６４０≦Ｋ≦８１９２の情報長に用いられ得る。インデックスｉ＝０，…，７は、許可されたＺを識別する。図２４ＢのリフティングテーブルＴ２  ２４０４は、１／５≦Ｒ≦２／３のコーディングレート及びＫｂｍａｘ＝１６のとき４０≦Ｋ≦２５６０の情報長に用いられ得る。インデックスｉ＝０，…，７は、許可されたＺを識別する。図２４Ａ−１〜図２４Ａ−６及び図２４Ｂ−１〜図２４Ｂ−３は、第１のコードのリフティングテーブルを示す。図２４Ｃ−１〜図２４Ｃ−６及び図２４Ｄ−１〜図２４Ｄ−６は、第２のコードのリフティングテーブル２４０６、２４０８を示す。
【００８５】
図２５Ａ及び図２５Ｃは、リフティングテーブルＴ１及びリフティングテーブルＴ２を適用し、異なるコーディングレートＲについてのデコーダの性能７０２、７０６を示す。図２５Ｂ及び図２５Ｄは、本開示の複数の実施形態を実装しない関連グラフ７０４、７０６を示す。図２５Ａ及び図２５Ｂと、図２５Ｃ及び図２５Ｄとの比較から分かるように、本開示の複数の実施形態は、滑らかなグラフを示す。特に、広範囲の情報長ＫにテーブルＴ１及びテーブルＴ２を用いるコードの極めて良好な性能を示す滑らかなグラフにおいて、ピーク又はスパイクが見られない。
【００８６】
図２６は、ＬＰＤＣエンコーダ２６００の実施形態のブロック図である。ＬＰＤＣエンコーダ２６００は、リードオンリメモリ２６０２を含む。ここで、ベースＰＣＭ２６０６、１又は複数のリフティングテーブルＴ２６０８、２６１０、２６１２がＩ／Ｏメモリ２６１４及びパリティビットプロセッサ／ジェネレータ２６１６に格納される。エンコーダ２６００は、Ｋビットの入力ソースワードを受信し、Ｎビットの出力コードワードを生成する。Ｉ／Ｏメモリ２６１４は、入力されたＫビットの情報ワードを格納し、エンコーダ２６００によってＫビットの出力を生成するのに用いられる。リードオンリメモリ２６０２は、ベースコードのリフトシフト値及びリフティングテーブル２６０８、２６１０、２６１２を格納する。一実施形態において、リフティング関数がハードウェアに実装され、メモリに格納されない。リフティングテーブル２６０８、２６１０、２６１２は、図４Ａ〜図４Ｃ又は図６Ａ〜図６Ｂに示されるリフティングテーブルのうちの１つを備え得る。パリティビットプロセッサ／ジェネレータ２６１６は、ベースＰＣＭ２６０６のうちの１つからオンザフライで生成される子ＰＣＭ（又はこの子ＰＣＭに対応する生成行列）を用いて、適切なＬＤＰＣエンコード方法を用いてＫビットの入力に従ってＮビットの出力コードワードを生成する。この子ＰＣＭ生成が、ベースＰＣＭ２６０６のそれぞれの非ゼロ巡回に対して子コードのオフセット値を生成し、リフトサイズのオフセット値及び／又は許可されたリフトサイズのうちの１を選択し、このリフトサイズのオフセット及びリフティング関数のうちの１つ又は入力の所与のサイズＫに適切なリフティングテーブル２６０８、２６１０、２６１２の選択されたインデックスに対応する関数のセット用いることによって実行される。Ｎビットの出力がその後Ｉ／Ｏメモリ２６１４に格納される。
【００８７】
図２７は、ＬＰＤＣデコーダ２７００の実施形態のブロック図である。ＬＰＤＣデコーダ２７００は、ベースＰＣＭ２７０６及び１又は複数のリフティングテーブルＴ２７０８、２７１０、２７１２を格納するリードオンリメモリ（ＲＯＭ）２７０２、Ｉ／Ｏメモリ２７１４、及び検査ノードプロセッサ２７１６を含む。デコーダ２７００は、長さＮの入力ＬＬＲ（対数尤度比（ｌｏｇ  ｌｉｋｅｌｉｈｏｏｄ  ｒａｔｉｏ））シーケンスを受信し、Ｋビットの出力を生成する。リードオンリメモリ２７０２は、ベースＰＣＭ２７０６及び（複数の）リフティングテーブル２７０８、２７１０、２７１２のリフトシフト値を格納する。リフティングテーブル２７０８、２７１０、２７１２は、リフトサイズのオフセット及び／又は許可された巡回サイズのインデックス、並びにリフティング関数に対応するインデックスを含む。Ｉ／Ｏメモリ２７１４は、ＬＬＲ値の長さＮの入力ベクトルを格納し、検査ノードプロセッサ２７１６によってＫビットの出力を生成するのに用いられる。Ｋビットの出力がその後Ｉ／Ｏメモリ２７１４に格納される。検査ノードプロセッサ２７１６は、ベースＰＣＭ２７０６のそれぞれの非ゼロ巡回について、ベースコードのシフト値から子コードのシフト値を生成し、巡回オフセット値のうちの１つ及び／又は許可された巡回サイズを選択し、それにリフティング関数又はリフティングテーブル２７０８、２７１０、２７１２のうちの１つの選択されたインデックスに対応する関数を適用することによって、ベースＰＣＭ２７０６のうちの１つからオンザフライで生成される子ＰＣＭ用いて、受信されたＮ個の構成要素の入力に従ってＫビットの出力情報ビットシーケンスを生成する。
【００８８】
図２８は、ＬＤＰＣ、本開示のリフティングテーブル、及び本開示のリフティング関数を用いてデータをエンコードする方法の一実施形態１０００のフローチャートである。方法２８００は、第１の段階、段階２８０２で、Ｋビットのソースワードを受信することを含む。次の段階、段階２８０４において、本開示のリフティングテーブル及びリフティング関数を用いてＮビットのコードワードを生成すべく、ＫビットのソースワードがＬＰＤＣコーダによってエンコードされる。次の段階、段階２８０６において、エンコーダは、その後、Ｎビットのコードワードを送信する。
【００８９】
図２９は、ＬＤＰＣ、本開示のリフティングテーブルＴ、及び本開示のリフティング関数を用いてデータをデコードする方法の一実施形態２９００のフローチャートである。方法２９００は、第１の段階、２９０２で、Ｋビットのソースワードを受信することを含む。次の段階、段階２９０４において本開示のリフティングテーブルＴ及びリフティング関数を用いてＫビットのソースワードを生成すべく、ＮビットのコードワードがＬＰＤＣコーダによってデコードされる。次の段階、段階２９０６において、デコーダは、その後、Ｋビットのソースワードを格納する。デコーダは、デコーダによって実行されるデコード操作で受信された情報シーケンスの冗長性を用いて受信された情報シーケンスの誤りを訂正し、デコードされた情報シーケンスを生成する。デコードされた情報シーケンスは、情報シーケンス（の推定）を取り出すことができるエンコードされた情報シーケンスの推定である。
【００９０】
図３０は、ホストデバイスに組み込まれ得、本明細書に記述される方法を実行する、一実施形態に係る処理システム３０００のブロック図を示す。示されるように、処理システム３０００は、プロセッサ３００４、メモリ３００６、インタフェース３０１０−３０１４を含み、これは、図３０に示されるように配置されてよい（又はされなくてよい）。プロセッサ３００４は、計算及び／又は他の処理関連タスクを実行するよう適合された任意の構成要素又は構成要素の集合であってよく、メモリ３００６は、プログラミング及び／又はプロセッサ３００４による実行のための命令を格納するよう適合された任意の構成要素又は構成要素の集合であってよい。一実施形態において、メモリ３００６は、非一時的コンピュータ可読媒体を含む。インタフェース３０１０、３０１２、３０１４は、処理システム３０００が他のデバイス／構成要素及び／又はユーザと通信することを可能にする任意の構成要素又は構成要素の集合であり得る。例えば、１又は複数のインタフェース３０１０、３０１２、３０１４は、プロセッサ３００４からホストデバイス及び／又はリモートデバイスにインストールされたアプリケーションにデータ、制御、又は管理メッセージを通信するよう適合され得る。他の例として、１又は複数のインタフェース３０１０、３０１２、３０１４は、ユーザ又はユーザデバイス（例えば、パーソナルコンピュータ（ＰＣ）等）が処理システム３０００と相互作用／通信することを可能にするよう適合され得る。処理システム３０００は、長期間ストレージ（例えば、不揮発性メモリ等）のような、図３０に示されていない追加の構成要素を含み得る。
【００９１】
いくつかの複数の実施形態において、処理システム３０００が電気通信ネットワークにアクセスしているか、又はさもなければ電気通信ネットワークの一部であるネットワークデバイスに含まれる。１つの例において、処理システム３０００は、基地局、リレー局、スケジューラ、コントローラ、ゲートウェイ、ルーター、アプリケーションサーバ、又は電気通信ネットワークの任意の他のデバイスのような、無線又は有線電気通信ネットワークのネットワーク側デバイスにある。他の実施形態において、処理システム３０００は、モバイル局、ユーザ機器（ＵＥ）、パーソナルコンピュータ（ＰＣ）、タブレット、ウェアラブル通信デバイス（例えば、スマートウォッチ等）、又は電気通信ネットワークにアクセスするよう適合された任意の他のデバイスのような、無線又は有線電気通信ネットワークにアクセスするユーザ側デバイスにある。
【００９２】
いくつか複数の実施形態において、１又は複数のインタフェース３０１０、３０１２、３０１４は、電気通信ネットワークを介して信号を送受信するよう適合された送受信機に処理システム３０００を接続する。
【００９３】
図３１は、電気通信ネットワークを介して信号を送受信するよう適合された送受信機３１００のブロック図を示す。送受信機３１００は、ホストデバイスに組み込まれ得る。示されるように、送受信機３１００は、ネットワーク側インタフェース３１０２、カプラ３１０４、送信機３１０６、受信機３１０８、信号プロセッサ３１１０、及びデバイス側インタフェース３１１２を含む。ネットワーク側インタフェース３１０２は、無線又は有線電気通信ネットワークを介して信号を送信又は受信するよう適合された任意の構成要素又は構成要素の集合を含み得る。カプラ３１０４は、ネットワーク側インタフェース３１０２を介して双方向性の通信を促進するよう適合された任意の構成要素又は構成要素の集合を含み得る。送信機３１０６は、ベースバンド信号をネットワーク側インタフェース３１０２を介して送信するのに適した変調キャリア信号に変換するよう適合された任意の構成要素又は構成要素の集合（例えば、アップコンバータ、パワー増幅器等）を含み得る。受信機３１０８は、ネットワーク側インタフェース３１０２を介して受信されたキャリア信号をベースバンド信号に変換するよう適合された任意の構成要素又は構成要素の集合（例えば、ダウンコンバータ、低ノイズ増幅器等）を含み得る。信号プロセッサ３１１０は、ベースバンド信号を（複数の）デバイス側インタフェース３１１２を介した通信に適したデータ信号に変換するよう、又はその逆も成立するよう適合された任意の構成要素又は構成要素の集合を含み得る。（複数の）デバイス側インタフェース３１１２は、ホストデバイス（例えば、処理システム８００ローカルエリアネットワーク（ＬＡＮ）ポート等）において信号プロセッサ３１１０と構成要素との間でデータ信号を通信するよう適合された任意の構成要素又は構成要素の集合を含み得る。
【００９４】
送受信機３１００は、任意のタイプの通信媒体を介して信号を送受信し得る。いくつか複数の実施形態において、送受信機３１００は、無線媒体を介して信号を送信及び受信する。例えば、送受信機３１００は、セルラプロトコル（例えば、ロングタームエボリューション（ＬＴＥ）等）、無線ローカルエリアネットワーク（ＷＬＡＮ）プロトコル（例えば、Ｗｉ−Ｆｉ等）、又は任意の他のタイプの無線プロトコル（例えば、Ｂｌｕｅｔｏｏｔｈ（登録商標）、近距離無線通信（ＮＦＣ）等）のような、無線電気通信プロトコルに従って通信するよう適合された無線送受信機であり得る。そのような複数の実施形態において、ネットワーク側インタフェース３１０２は、１又は複数のアンテナ／放射素子を含む。例えば、ネットワーク側インタフェース３１０２は、単一のアンテナ、複数の別個のアンテナ、又はマルチレイヤ通信用に構成されるマルチアンテナアレイ、例えば、単入力多出力（ＳＩＭＯ）、多入力単出力（ＭＩＳＯ）多入力多出力（ＭＩＭＯ）等、を含み得る。他の実施形態において、送受信機３１００は、有線媒体、例えば、ツイストペアケーブル、同軸ケーブル、光ファイバ等、を介して信号を送信及び受信する。特定の処理システム及び／又は送受信機は、示される構成要素のすべて、又は構成要素のサブセットのみを利用してよく、統合のレベルはデバイスごとに異なってよい。
【００９５】
図３２は、本開示の方法及びシステムが実装され得る、一実施形態に係るデータを通信するためのネットワーク３２００を示す。ネットワーク３２００は、複数のネットワーク構成要素を含む。ネットワーク構成要素は、アクセスポイント（ＡＰ）、局（ＳＴＡ）（例えば、無線電話のような無線デバイス又はユーザ機器（ＵＥ）等）、又は任意の他の無線受信ポイントを含み得る。一実施形態において、ネットワーク３２００は、カバレージエリア３２１２、複数のＳＴＡ３２２０、及びバックホールネットワーク３２３０を有するアクセスポイント（ＡＰ）３２１０を含む。一実施形態において、ＡＰは、図３１に示される送受信機３１００として実装され得る。一実施形態において、ＳＴＡ３２２０は、例えば、図３０に示される処理システム３０００として実装され得る。本明細書で用いられるように、用語ＡＰはまた、送信ポイント（ＴＰ）と称されてよく、２つの用語が本開示の全体にわたって区別なく用いられてよい。様々な実施形態において、ＡＰ３２１０は、ベーストランシーバ基地局（ＢＴＳ）とも称される基地局（ＢＳ）であり得る。ＢＳの例は、ｅＮｏｄｅＢ（ｅＮＢ）、ｇＮＢ等を含む。一実施形態において、ＡＰ３２１０は、無線ルーターであり得る。従って、ＡＰ３２１０は、とりわけ、ＳＴＡ３２２０とアップリンク（破線）及び／又はダウンリンク（点線）接続を確立することによって、無線アクセスを提供することが可能な任意の構成要素を含み得る。ＳＴＡ３２２０は、ＡＰ３２１０と無線接続を確立することが可能任意の構成要素を含み得る。ＳＴＡ３２２０の例は、モバイルフォン、タブレットコンピュータ、及びラップトップコンピュータを含む。バックホールネットワーク３２３０は、ＡＰ３２１０とリモートエンド（不図示）との間でデータを交換することを可能にする任意の構成要素又は構成要素の集合であり得る。いくつかの複数の実施形態において、ネットワーク３２００は、リレー、フェムトセル等のような、様々な他の無線デバイスを含み得る。
【００９６】
本明細書で提供される実施形態の方法の１又は複数の段階が、対応するユニット又はモジュールによって実行され得ることを理解されたい。例えば、信号は、送信ユニット又は送信モジュールによって送信され得る。信号は、受信ユニット又は受信モジュールによって受信され得る。信号は、処理ユニット又は処理モジュールによって処理され得る。他の段階は、反復ユニット／モジュール、差分ユニット／モジュール、調整ユニット／モジュール、生成ユニット／モジュール、計算ユニット／モジュール、割り当てユニット／モジュール、インクリメントユニット／モジュール、デクリメントユニット／モジュール、及び／又は設定ユニット／モジュールによって実行され得る。それぞれのユニット／モジュールは、ハードウェア、ソフトウェア、又はこれらの組み合わせであり得る。例えば、１又は複数のユニット／モジュールは、フィールドプログラマブルゲートアレイ（ＦＰＧＡ）又は特定用途向け集積回路（ＡＳＩＣ）のような、集積回路であり得る。
【００９７】
一実施形態において、データをエンコード及びデコードするためにベースコードから子コードをリフティングする方法は、リフティングテーブルに格納されるデータを用いて、情報長及びコードレートに従って、巡回サイズ、リフティング関数、及びラベル付けされたベース行列ＰＣＭの単一の組み合わせを決定する段階を含む。リフティングテーブルは、コード生成段階で定義された。方法はまた、子コードに対する複数のシフトを計算する段階を含む。それぞれのシフトが、巡回サイズを用いて定義されたインデックスを有するラベル付けされたベース行列ＰＣＭにリフティング関数を適用することによって計算される。方法はまた、導出された子ＰＣＭを用いてデータをエンコード又はデコードする段階を含む。方法はまた、巡回サイズ、リフティング関数、及びラベル付けされたＰＣＭの単一の組み合わせに従って、並びに子コードに対する複数のシフトのうちの１つに従って、子ＰＣＭを導出する段階を含む。方法はまた、導出された子ＰＣＭを用いてデータをエンコード又はデコードする段階を含む。
【００９８】
本開示の一実施形態は、コードを生成する方法を提供する。方法は、それぞれのコーディングレートＲ及びそれぞれの情報長Ｋに対するリフトサイズＺの許可されたサブセットを決定する段階を含む。方法はまた、それぞれのコードレートＲ及びそれぞれの許可されたＺに対する少なくとも１つのリフティング関数ｆｉを決定する段階を含む。方法はまた、単一のプロトグラフを記述する複数のベースＰＣＭのセットを決定する段階を含む。複数のベースＰＣＭは、コーディングレートＲ及び許可されたＺに基づいている。方法はまた、リフトサイズＺ、リフティング関数ｆｉ、及びベースＰＣＭｔの単一の組み合わせを選択する段階を含む。方法はまた、それぞれの情報長及びそれぞれのコーディングレートに対する単一の組み合わせに対応する、巡回サイズオフセット及び／又は巡回サイズインデックス、リフティング関数インデックス、並びにベースコードインデックスを格納する段階を含む。
【００９９】
本開示の一実施形態は、送信側でデバイスを操作する方法を提供する。方法は、エンコーダで、情報ビットをコードワードにエンコードする段階を含む。方法はまた、送信機で、信号を受信側に送信する段階を含む。信号は、コードワードを含む。情報ビットが、複数のラベル付けされたベースＰＣＭを用いてエンコードされる。複数のラベル付けされたベースＰＣＭが、単一のプロトグラフを記述する単一のベースＰＣＭから導出される。
【０１００】
本開示の一実施形態は、受信側でデバイスを操作する方法を提供する。方法は、受信機で、送信側から信号を受信する段階を含む。信号は、コードワードを含む。方法はまた、デコーダで、情報ビットを抽出することを適用することによってコードワードをデコードする段階を含む。情報ビットが、複数のラベル付けされたベースＰＣＭを用いてデコードされる。複数のラベル付けされたベースＰＣＭが、単一のプロトグラフを記述する単一のベースＰＣＭから導出される。
【０１０１】
一実施形態において、エンコーダ又はデコーダは、プロセッサ及びプロセッサによる実行のためのプログラミングを格納するコンピュータ可読ストレージ媒体を含む。プログラミングは、コード生成段階で定義されたリフティングテーブルに格納されるデータを用いて、情報長及びコードレートに従って、巡回サイズ、リフティング関数、及びラベル付けされたＰＣＭの単一の組み合わせを決定するための命令を含む。プログラミングはまた、子コードに対する複数のシフトを計算するための命令を含む。それぞれのシフトが、巡回サイズを用いて定義されたインデックスを有するラベル付けされたＰＣＭにリフティング関数を適用することによって計算される。プログラミングはまた、巡回サイズ、リフティング関数、及びラベル付けされたＰＣＭの単一の組み合わせに従って、並びに子コードに対する複数のシフトのうちの１つに従って、子ＰＣＭを導出するための命令を含む。プログラミングはまた、導出された子ＰＣＭを用いてデータをエンコード又はデコードするための命令を含む。
【０１０２】
本開示の１又は複数の態様において、事前に定義された位置に対する非ゼロ巡回のシフトは不変である。
【０１０３】
本開示の１又は複数の態様において、ラベル付けされたＰＣＭがベースコードから導出される。ベースコードが、図５Ａ及び図５Ａ１に示されるＰＣＭによって表される。
【０１０４】
本開示の１又は複数の態様において、ラベル付けされたＰＣＭが、ベースコードから導出される。ベースコードは、図５Ｋ及び図５Ｋ１に示されるＰＣＭによって表される。
【０１０５】
本開示の１又は複数の態様において、ラベル付けされたＰＣＭは、図５Ｂ〜図５Ｉ１に示されるＰＣＭ０〜ＰＣＭ７のうちの１つによって表されるラベル付けされたＰＣＭである。
【０１０６】
本開示の１又は複数の態様において、ラベル付けされたＰＣＭは、図５Ｍ〜図５Ｔ１に示されるＰＣＭ０〜ＰＣＭ７のうちの１つによって表されるラベル付けされたＰＣＭである。
【０１０７】
本開示の１又は複数の態様において、ラベル付けされたＰＣＭは、図５Ｌ〜図５Ｌ１に示されるラベル付けされたＰＣＭである。
【０１０８】
本開示の１又は複数の態様において、リフティング関数が、単一のリフティング関数から選択される。
【０１０９】
本開示の１又は複数の態様において、リフティング関数が複数のリフティング関数から選択される。
【０１１０】
本開示の１又は複数の態様において、ラベル付けされたベース行列ＰＣＭが、巡回サイズから直接導出される。
【０１１１】
本開示の１又は複数の態様において、巡回サイズはＺである。ここで、Ｚ＝ａ×２ｓである。
【０１１２】
本開示の１又は複数の態様において、リフティング関数は、コードのシフト値を提供する。
【０１１３】
一実施形態において、データをエンコード又はデコードするためにコードを生成する方法は、それぞれのコーディングレートＲ及びそれぞれの情報長Ｋに対する許可されたリフトサイズＺのサブセットを決定する段階を含む。方法はまた、それぞれのコードレートＲ及び許可されたリフトサイズＺのサブセットのそれぞれのＺに対する少なくとも１つのリフティング関数ｆｉを決定する段階を含む。方法はまた、単一のプロトグラフを記述するラベル付けされたＰＣＭのセットを決定する段階を含む。ラベル付けされたＰＣＭは、コーディングレートＲ及び許可されたリフトサイズＺのサブセットに基づいている。方法はまた、リフトサイズＺ、リフティング関数ｆ、及びラベル付けされたＰＣＭｔの単一の組み合わせを選択する段階を含む。方法はまた、それぞれの情報長及びそれぞれのコーディングレートに対する単一の組み合わせに対応する、巡回サイズオフセット及び／又は巡回サイズインデックス、リフティング関数インデックス、並びにラベル付けされたＰＣＭインデックスを格納する段階を含む。
【０１１４】
本開示の１又は複数の態様において、単一のプロトグラフを記述するラベル付けされたＰＣＭのセットは、図５Ａ及び図５Ａ１に示されるＰＣＭに基づいている。
【０１１５】
本開示の１又は複数の態様において、単一のプロトグラフを記述するラベル付けされたＰＣＭのセットは、図５Ｋ及び図５Ｋ１に示されるＰＣＭに基づいている。
【０１１６】
本開示の１又は複数の態様において、リフティング関数が、単一のリフティング関数から選択される。
【０１１７】
一実施形態において、送信側でデバイスを操作する方法は、エンコーダで、情報ビットをコードワードにエンコードする段階を含む。方法はまた、送信機で、信号を受信側に送信する段階を含む。信号は、コードワードを含む。情報ビットが、複数のラベル付けされたベースＰＣＭを用いてエンコードされる。複数のラベル付けされたベースＰＣＭが、単一のプロトグラフを記述する単一のベースＰＣＭから導出される。
【０１１８】
本開示の１又は複数の態様において、情報ビットは、異なるビット長を有し、異なるコーディングレートでエンコードされる。
【０１１９】
本開示の１又は複数の態様において、ラベル付けされたベースＰＣＭが、コーディングレートに従って選択される。
【０１２０】
本開示の１又は複数の態様において、エンコードする段階は、コーディングレートが第１のコーディングレートから第２のコーディングレートに変化するときに、第１のラベル付けされたＰＣＭから第２のラベル付けされたＰＣＭにスイッチする段階を含む。
【０１２１】
本開示の１又は複数の態様において、エンコードする段階は、リフトサイズが第１のリフトサイズから第２のリフトサイズに変化するときに、第１のラベル付けされたＰＣＭから第２のラベル付けされたＰＣＭにスイッチする段階を含む。第１のリフトサイズ及び第２のリフトサイズは、異なる情報ビット長によって決まる。
【０１２２】
本開示の１又は複数の態様において、情報ビットをコードワードにエンコードする段階は、図６Ａに示されるリフティングテーブルに従って、情報ビットをコードワードにエンコードする段階を含む。インデックスは、ラベル付けされたベースＰＣＭを表す。Ｚは、リフトサイズを表す。Ｚは、情報ビット長に依存している。
【０１２３】
本開示の１又は複数の態様において、情報ビットをコードワードにエンコードする段階は、図６Ｂに示されるリフティングテーブルに従って、情報ビットをコードワードにエンコードする段階を含む。インデックスは、ラベル付けされたベースＰＣＭを表す。Ｚは、リフトサイズを表す。
【０１２４】
本開示の１又は複数の態様において、情報ビットをコードワードにエンコードする段階は、図６Ｃに示されるリフティングテーブルに従って、情報ビットをコードワードにエンコードする段階を含む。インデックスは、ラベル付けされたベースＰＣＭを表す。Ｚは、リフトサイズを表す。
【０１２５】
本開示の１又は複数の態様において、情報ビットをコードワードにエンコードする段階は、図６Ｄに示されるリフティングテーブルに従って、情報ビットをコードワードにエンコードする段階を含む。インデックスは、ラベル付けされたベースＰＣＭを表す。Ｚは、リフトサイズを表す。
【０１２６】
本開示の１又は複数の態様において、ベースＰＣＭが、図５Ａ及び図５Ａ１に示されるＰＣＭによって表される。
【０１２７】
本開示の１又は複数の態様において、ベースＰＣＭが、図５Ｋ及び図５Ｋに示されるＰＣＭによって表される。
【０１２８】
一実施形態において、受信側でデバイスを操作する方法は、受信機で、送信側から信号を受信する段階を含む。信号は、コードワードを含む。方法はまた、デコーダで、情報ビットを抽出することを適用することによってコードワードをデコードする段階を含む。情報ビットが、複数のラベル付けされたベースＰＣＭを用いてデコードされる。複数のラベル付けされたベースＰＣＭが、単一のプロトグラフを記述する単一のベースＰＣＭから導出される。
【０１２９】
本開示の１又は複数の態様において、情報ビットは、異なるビット長を有し、異なるコーディングレートでデコードされる。
【０１３０】
本開示の１又は複数の態様において、ラベル付けされたベースＰＣＭが、コーディングレートに従って選択される。
【０１３１】
本開示の１又は複数の態様において、デコードする段階は、コーディングレートが第１のコーディングレートから第２のコーディングレートに変化するときに、第１のラベル付けされたＰＣＭから第２のラベル付けされたＰＣＭにスイッチする段階を備える。
【０１３２】
本開示の１又は複数の態様において、デコードする段階は、リフトサイズが第１のリフトサイズから第２のリフトサイズに変化するときに、第１のラベル付けされたＰＣＭから第２のラベル付けされたＰＣＭにスイッチする段階を含む。第１のリフトサイズ及び第２のリフトサイズは、異なる情報ビット長によって決まる。
【０１３３】
本開示の１又は複数の態様において、コードワードを情報ビットにエンコードする段階は、図６Ａに示されるリフティングテーブルに従って、コードワードを情報ビットにデコードする段階を含む。インデックスは、ラベル付けされたベースＰＣＭを表す。Ｚは、リフトサイズを表す。Ｚは、情報ビット長に依存している。
【０１３４】
本開示の１又は複数の態様において、コードワードを情報ビットにデコードする段階は、図６Ｂに示されるリフティングテーブルに従って、コードワードを情報ビットにデコードする段階を含む。インデックスは、ラベル付けされたベースＰＣＭを表す。Ｚは、リフトサイズを表す。
【０１３５】
本開示の１又は複数の態様において、コードワードを情報ビットにデコードする段階は、図６Ｃに示されるリフティングテーブルに従って、コードワードを情報ビットにデコードする段階を含む。インデックスは、ラベル付けされたベースＰＣＭを表す。Ｚは、リフトサイズを表す。
【０１３６】
本開示の１又は複数の態様において、コードワードを情報ビットにデコードする段階は、図６Ｄに示されるリフティングテーブルに従って、コードワードを情報ビットにデコードする段階を含む。インデックスは、ラベル付けされたベースＰＣＭを表す。Ｚは、リフトサイズを表す。
【０１３７】
本開示の１又は複数の態様において、ベースＰＣＭが、図５Ａ及び図５Ａ１に示されるＰＣＭによって表される。
【０１３８】
本開示の１又は複数の態様において、ベースＰＣＭが、図５Ｋ及び図５Ｋ１に示されるＰＣＭによって表される。
【０１３９】
一実施形態において、エンコーダ又はデコーダは、プロセッサと、プロセッサによる実行のためのプログラミングを格納するコンピュータ可読ストレージ媒体とを含む。プログラミングは、コード生成段階で定義されたリフティングテーブルに格納されるデータを用いて、情報長及びコードレートに従って、巡回サイズ、リフティング関数、及びラベル付けされたＰＣＭの単一の組み合わせを決定するための命令を含む。プログラミングはまた、子コードに対する複数のシフトを計算するための命令を含む。それぞれのシフトが、巡回サイズを用いて定義されたインデックスを有するラベル付けされたＰＣＭにリフティング関数を適用することによって計算される。プログラミングはまた、導出された子ＰＣＭを用いてデータをエンコード又はデコードするための命令を含む。
【０１４０】
以下の参考文献の内容が、その全体が複製されているかのように、参照により本明細書に組み込まれる。
・オフセットリフティング方法（ＯＦＦＳＥＴ  ＬＩＦＴＩＮＧ  ＭＥＴＨＯＤ）と題され、２０１７年２月３日に出願された仮出願第６２／４５４，４１６号（ＨＷ８５３３８０１６ＵＳ０１）
・オフセットリフティング方法（ＯＦＦＳＥＴ  ＬＩＦＴＩＮＧ  ＭＥＴＨＯＤ）と題され、２０１８年２月２日に出願された米国特許出願第１５／８８７，１４８号（ＨＷ８５３３８０１６ＵＳ０２）
【０１４１】
本開示は、例示的な実施形態に関連して説明されたが、この説明は、限定の意味として解釈されることを意図していない。本開示の他の実施形態だけでなく、例示的な実施形態の様々な修正及び組み合わせが、当業者が説明を参照することにより明らかになるであろう。従って、添付の特許請求の範囲は、あらゆるこのような修正又は実施形態を包含することを意図するものである。
【図１】
2020520143.tif 000003
【図２】
2020520143.tif 000004
【図３】
2020520143.tif 000005
【図４Ａ】
2020520143.tif 000006
【図４Ｂ】
2020520143.tif 000007
【図４Ｃ】
2020520143.tif 000008
【図５Ａ】
2020520143.tif 000009
【図５Ｂ−１】
2020520143.tif 000010
【図５Ｂ−２】
2020520143.tif 000011
【図６Ａ】
2020520143.tif 000012
【図６Ｂ−１】
2020520143.tif 000013
【図６Ｂ−２】
2020520143.tif 000014
【図６Ｂ−３】
2020520143.tif 000015
【図６Ｂ−４】
2020520143.tif 000016
【図７Ａ】
2020520143.tif 000017
【図７Ｂ−１】
2020520143.tif 000018
【図７Ｂ−２】
2020520143.tif 000019
【図７Ｂ−３】
2020520143.tif 000020
【図７Ｂ−４】
2020520143.tif 000021
【図８Ａ】
2020520143.tif 000022
【図８Ｂ−１】
2020520143.tif 000023
【図８Ｂ−２】
2020520143.tif 000024
【図８Ｂ−３】
2020520143.tif 000025
【図８Ｂ−４】
2020520143.tif 000026
【図９Ａ】
2020520143.tif 000027
【図９Ｂ−１】
2020520143.tif 000028
【図９Ｂ−２】
2020520143.tif 000029
【図９Ｂ−３】
2020520143.tif 000030
【図９Ｂ−４】
2020520143.tif 000031
【図１０Ａ】
2020520143.tif 000032
【図１０Ｂ−１】
2020520143.tif 000033
【図１０Ｂ−２】
2020520143.tif 000034
【図１０Ｂ−３】
2020520143.tif 000035
【図１０Ｂ−４】
2020520143.tif 000036
【図１１Ａ】
2020520143.tif 000037
【図１１Ｂ−１】
2020520143.tif 000038
【図１１Ｂ−２】
2020520143.tif 000039
【図１１Ｂ−３】
2020520143.tif 000040
【図１１Ｂ−４】
2020520143.tif 000041
【図１２Ａ】
2020520143.tif 000042
【図１２Ｂ−１】
2020520143.tif 000043
【図１２Ｂ−２】
2020520143.tif 000044
【図１３Ａ】
2020520143.tif 000045
【図１３Ｂ−１】
2020520143.tif 000046
【図１３Ｂ−２】
2020520143.tif 000047
【図１３Ｂ−３】
2020520143.tif 000048
【図１３Ｂ−４】
2020520143.tif 000049
【図１４Ａ−１】
2020520143.tif 000050
【図１４Ａ−２】
2020520143.tif 000051
【図１４Ｂ−１】
2020520143.tif 000052
【図１４Ｂ−２】
2020520143.tif 000053
【図１４Ｂ−３】
2020520143.tif 000054
【図１５Ａ】
2020520143.tif 000055
【図１５Ｂ−１】
2020520143.tif 000056
【図１５Ｂ−２】
2020520143.tif 000057
【図１５Ｂ−３】
2020520143.tif 000058
【図１６Ａ】
2020520143.tif 000059
【図１６Ｂ−１】
2020520143.tif 000060
【図１６Ｂ−２】
2020520143.tif 000061
【図１６Ｂ−３】
2020520143.tif 000062
【図１７Ａ】
2020520143.tif 000063
【図１７Ｂ−１】
2020520143.tif 000064
【図１７Ｂ−２】
2020520143.tif 000065
【図１７Ｂ−３】
2020520143.tif 000066
【図１８Ａ】
2020520143.tif 000067
【図１８Ｂ−１】
2020520143.tif 000068
【図１８Ｂ−２】
2020520143.tif 000069
【図１８Ｂ−３】
2020520143.tif 000070
【図１９Ａ】
2020520143.tif 000071
【図１９Ｂ−１】
2020520143.tif 000072
【図１９Ｂ−２】
2020520143.tif 000073
【図１９Ｂ−３】
2020520143.tif 000074
【図２０Ａ】
2020520143.tif 000075
【図２０Ｂ−１】
2020520143.tif 000076
【図２０Ｂ−２】
2020520143.tif 000077
【図２０Ｂ−３】
2020520143.tif 000078
【図２１Ａ】
2020520143.tif 000079
【図２１Ｂ−１】
2020520143.tif 000080
【図２１Ｂ−２】
2020520143.tif 000081
【図２１Ｂ−３】
2020520143.tif 000082
【図２２Ａ】
2020520143.tif 000083
【図２２Ｂ−１】
2020520143.tif 000084
【図２２Ｂ−２】
2020520143.tif 000085
【図２２Ｂ−３】
2020520143.tif 000086
【図２３Ａ】
2020520143.tif 000087
【図２３Ｂ−１】
2020520143.tif 000088
【図２３Ｂ−２】
2020520143.tif 000089
【図２３Ｂ−３】
2020520143.tif 000090
【図２４Ａ−１】
2020520143.tif 000091
【図２４Ａ−２】
2020520143.tif 000092
【図２４Ａ−３】
2020520143.tif 000093
【図２４Ａ−４】
2020520143.tif 000094
【図２４Ａ−５】
2020520143.tif 000095
【図２４Ａ−６】
2020520143.tif 000096
【図２４Ｂ−１】
2020520143.tif 000097
【図２４Ｂ−２】
2020520143.tif 000098
【図２４Ｂ−３】
2020520143.tif 000099
【図２４Ｃ−１】
2020520143.tif 000100
【図２４Ｃ−２】
2020520143.tif 000101
【図２４Ｃ−３】
2020520143.tif 000102
【図２４Ｃ−４】
2020520143.tif 000103
【図２４Ｃ−５】
2020520143.tif 000104
【図２４Ｃ−６】
2020520143.tif 000105
【図２４Ｄ−１】
2020520143.tif 000106
【図２４Ｄ−２】
2020520143.tif 000107
【図２４Ｄ−３】
2020520143.tif 000108
【図２４Ｄ−４】
2020520143.tif 000109
【図２４Ｄ−５】
2020520143.tif 000110
【図２４Ｄ−６】
2020520143.tif 000111
【図２５Ａ】
2020520143.tif 000112
【図２５Ｂ】
2020520143.tif 000113
【図２５Ｃ】
2020520143.tif 000114
【図２５Ｄ】
2020520143.tif 000115
【図２６】
2020520143.tif 000116
【図２７】
2020520143.tif 000117
【図２８】
2020520143.tif 000118
【図２９】
2020520143.tif 000119
【図３０】
2020520143.tif 000120
【図３１】
2020520143.tif 000121
【図３２】
2020520143.tif 000122
【手続補正書】
【提出日】令和1年12月4日(2019.12.4)
【手続補正１】
【補正対象書類名】特許請求の範囲
【補正対象項目名】全文
【補正方法】変更
【補正の内容】
【特許請求の範囲】
【請求項１】
巡回サイズ、ラベル付けされたパリティ検査行列ＰＣＭ、及び子コードに対する複数のシフトの単一の組み合わせに従って、子ＰＣＭを導出する段階であって、前記子コードの前記複数のシフトが、前記巡回サイズを用いて定義されたインデックスを有する前記ラベル付けされたＰＣＭにリフティング関数を適用することによって決定され、前記巡回サイズ、前記リフティング関数、及びベースグラフの単一の組み合わせは、情報長及びコードレートに関する、段階と、
コードワードを取得すべく、導出された前記子ＰＣＭを用いてデータをエンコードする段階と、
前記コードワードを出力する段階と
を備える、方法。
【請求項２】
事前に定義された位置に対する非ゼロ巡回のシフトは不変である、請求項１に記載の方法。
【請求項３】
前記リフティング関数が、単一のリフティング関数から選択される、請求項１又は２に記載の方法。
【請求項４】
前記リフティング関数が複数のリフティング関数から選択される、請求項１又は２に記載の方法。
【請求項５】
前記ラベル付けされたＰＣＭが、前記巡回サイズから導出される、請求項１から４のいずれか一項に記載の方法。
【請求項６】
前記巡回サイズはＺであり、Ｚ＝ａ×２ｓである、請求項１から５のいずれか一項に記載の方法。
【請求項７】
送信側でデバイスを操作する方法であって、
エンコーダで、情報ビットをコードワードにエンコードする段階と、
送信機で、信号を受信側に送信する段階であって、前記信号は前記コードワードを含み、前記情報ビットが、複数のラベル付けされたベースＰＣＭを用いてエンコードされ、前記複数のラベル付けされたベースＰＣＭが、単一のプロトグラフを記述する単一のベースＰＣＭから導出される、段階と
を備える、方法。
【請求項８】
前記情報ビットは、異なるビット長を有し、異なるコーディングレートでエンコードされる、請求項７に記載の方法。
【請求項９】
ラベル付けされたベースＰＣＭが、コーディングレートに従って選択される、請求項８に記載の方法。
【請求項１０】
エンコードする段階は、リフトサイズが第１のリフトサイズから第２のリフトサイズに変化するときに、第１のラベル付けされたＰＣＭから第２のラベル付けされたＰＣＭにスイッチする段階であって、前記第１のリフトサイズ及び前記第２のリフトサイズは、異なる情報ビット長によって決まる、段階を備える、請求項８に記載の方法。
【請求項１１】
受信側でデバイスを操作する方法であって、
受信機で、送信側から信号を受信する段階であって、前記信号は、コードワードを含む、段階と、
巡回サイズ、ラベル付けされたパリティ検査行列ＰＣＭ、及び子コードに対する複数のシフトの単一の組み合わせに従って、子ＰＣＭを導出する段階であって、前記子コードの前記複数のシフトが、前記巡回サイズを用いて定義されたインデックスを有する前記ラベル付けされたＰＣＭにリフティング関数を適用することによって決定され、前記巡回サイズ、前記リフティング関数、及びベースグラフの単一の組み合わせは、情報長及びコードレートに関する、段階と、
コードを取得すべく、導出された前記子ＰＣＭを用いてデータをデコードする段階と
を備える、方法。
【請求項１２】
前記ラベル付けされたＰＣＭが、巡回サイズから導出される、請求項１１に記載の方法。
【請求項１３】
前記巡回サイズはＺであり、Ｚ＝ａ×２ｓである、請求項１１又は１２に記載の方法。
【請求項１４】
請求項１から１３のいずれか一項に記載の方法を実装するよう構成される装置。
【請求項１５】
コンピュータに請求項１から１３のいずれか一項に記載の方法を実行させるプログラム。
【手続補正２】
【補正対象書類名】明細書
【補正対象項目名】全文
【補正方法】変更
【補正の内容】
【発明の詳細な説明】
【技術分野】
【０００１】
本開示は、概して、無線ネットワークにおける通信のためのシステム及び方法に関し、特定の複数の実施形態において、無線ネットワークにおけるユーザ機器のハンドオーバーのためのシステム及び方法である。
【背景技術】
【０００２】
パリティ検査コードが、通信チャネルを介して送信されたデータだけでなく、格納されたデータの復元を促進するのに用いられる。パリティ検査コードの１つのタイプが、低密度パリティ検査（ＬＤＰＣ）として知られ、これは、疎なパリティ検査行列（ＰＣＭ）、すなわち、１の低い割合を有するＰＣＭによって特徴付けられる。送信機のＬＤＰＣエンコーダが、ソースワードをエンコードしてコードワードを生成するために用いられる。受信機のＬＤＰＣデコーダが、受信したコードワードをデコードするために用いられる。様々なレートのＬＤＰＣコードが、ＩＥＥＥ８０２．１１及び５Ｇに関するもののような、データストレージ、並びに無線通信技術及び規格において、広く採用され、又は採用が検討される。
【０００３】
実際に用いられるほとんどすべてのＬＤＰＣコードが、準巡回（ＱＣ）パリティ検査行列を有するＱＣ  ＬＤＰＣであり、拡張ＱＣ  ＰＣＭ（例えば、ＱＣ  ＬＤＰＣ  ＰＣＭ）を定義するために、準巡回単位行列が、シフト情報のアレイ（すなわち、ＱＣシフトＰＣＭ）と組み合わされ得る。ＱＣ  ＬＤＰＣエンコード、並びにＰＣＭ情報の復元アルゴリズム及びストレージは、ハードウェアリソースを消費し得、従って、ＱＣ  ＬＤＰＣコーディングシステムに要するハードウェアリソースの効率性を向上させ、ＱＣ  ＬＤＰＣコーディングシステムに要するハードウェアリソースを減らす方法、システム、及び技術の必要性がある。
【発明の概要】
【０００４】
本開示の一実施形態は、データをエンコード及びデコードするためにベースコードから子コードをリフティングする方法を提供する。方法は、リフティングテーブルに格納されるデータを用いて、情報長及びコードレートに従って、巡回サイズ、リフティング関数、及びラベル付けされたベース行列ＰＣＭの単一の組み合わせを決定する段階を含む。リフティングテーブルは、コード生成段階で定義された。方法はまた、子コードに対する複数のシフトを計算する段階を含む。それぞれのシフトが、巡回サイズを用いて定義されたインデックスを有するラベル付けされたベース行列ＰＣＭにリフティング関数を適用することによって計算され、導出された子ＰＣＭを用いてデータをエンコード又はデコードする。方法はまた、巡回サイズ、リフティング関数、及びラベル付けされたＰＣＭの単一の組み合わせに従って、並びに子コードに対する複数のシフトのうちの１つに従って、子ＰＣＭを導出する段階を含む。方法はまた、導出された子ＰＣＭを用いてデータをエンコード又はデコードする段階を含む。
【０００５】
本開示の一実施形態は、コードを生成する方法を提供する。方法は、それぞれのコーディングレートＲ及びそれぞれの情報長Ｋに対するリフトサイズＺの許可されたサブセットを決定する段階を含む。方法はまた、それぞれコードレートＲ及びそれぞれの許可されたＺに対する少なくとも１つのリフティング関数ｆｉを決定する段階を含む。方法はまた、単一のプロトグラフを記述する複数のベースＰＣＭのセットを決定する段階を含む。複数のベースＰＣＭは、コーディングレートＲ及び許可されたＺに基づいている。方法はまた、リフトサイズＺ、リフティング関数ｆｉ、及びベースＰＣＭｔの単一の組み合わせを選択する段階を含む。方法はまた、それぞれの情報長及びそれぞれのコーディングレートに対する単一の組み合わせに対応する、巡回サイズオフセット及び／又は巡回サイズインデックス、リフティング関数インデックス、並びにベースコードインデックスを格納する段階を含む。
【０００６】
本開示の一実施形態は、送信側でデバイスを操作する方法を提供する。方法は、エンコーダで、情報ビットをコードワードにエンコードする段階を含む。方法はまた、送信機で、信号を受信側に送信する段階を含む。信号は、コードワードを含む。情報ビットが、複数のラベル付けされたベースＰＣＭを用いてエンコードされる。複数のラベル付けされたベースＰＣＭが、単一のプロトグラフを記述する単一のベースＰＣＭから導出される。
【０００７】
本開示の一実施形態は、受信側でデバイスを操作する方法を提供する。方法は、受信機で、送信側から信号を受信する段階を含む。信号は、コードワードを含む。方法はまた、デコーダで、情報ビットを抽出することを適用することによってコードワードをデコードする段階を含む。情報ビットが、複数のラベル付けされたベースＰＣＭを用いてデコードされる。複数のラベル付けされたベースＰＣＭが、単一のプロトグラフを記述する単一のベースＰＣＭから導出される。
【０００８】
本開示の一実施形態は、エンコーダ又はデコーダを提供する。エンコーダ又はデコーダは、プロセッサ及びプロセッサによる実行のためのプログラミングを格納するコンピュータ可読ストレージ媒体を含む。プログラミングは、コード生成段階で定義されたリフティングテーブルに格納されるデータを用いて、情報長及びコードレートに従って、巡回サイズ、リフティング関数、及びラベル付けされたＰＣＭの単一の組み合わせを決定するための命令を含む。プログラミングはまた、子コードに対する複数のシフトを計算するための命令を含む。それぞれのシフトが、巡回サイズを用いて定義されたインデックスを有するラベル付けされたＰＣＭにリフティング関数を適用することによって計算される。プログラミングはまた、巡回サイズ、リフティング関数、及びラベル付けされたＰＣＭの単一の組み合わせに従って、並びに子コードに対する複数のシフトのうちの１つに従って子ＰＣＭを導出するための命令を含む。プログラミングはまた、導出された子ＰＣＭを用いてデータをエンコード又はデコードするための命令を含む。
【０００９】
本開示の１又は複数の態様において、事前に定義された位置に対する非ゼロ巡回のシフトは不変である。
【００１０】
本開示の１又は複数の態様において、リフティング関数が、単一のリフティング関数から選択される。
【００１１】
本開示の１又は複数の態様において、リフティング関数が複数のリフティング関数から選択される。
【００１２】
本開示の１又は複数の態様において、ラベル付けされたベース行列ＰＣＭが、巡回サイズから直接導出される。
【００１３】
本開示の１又は複数の態様において、巡回サイズはＺである。ここで、Ｚ＝ａ×２ｓである。
【００１４】
本開示の１又は複数の態様において、リフティング関数は、コードのシフト値を提供する。
【００１５】
本開示の１又は複数の態様において、情報ビットは、異なるビット長を有し、異なるコーディングレートでエンコードされる。
【００１６】
本開示の１又は複数の態様において、ラベル付けされたベースＰＣＭが、コーディングレートに従って選択される。
【００１７】
本開示の１又は複数の態様において、エンコードする段階は、コーディングレートが第１のコーディングレートから第２のコーディングレートに変化するときに、第１のラベル付けされたＰＣＭから第２のラベル付けされたＰＣＭにスイッチする段階を含む。
【００１８】
本開示の１又は複数の態様において、エンコードする段階は、リフトサイズが第１のリフトサイズから第２のリフトサイズに変化するときに、第１のラベル付けされたＰＣＭから第２のラベル付けされたＰＣＭにスイッチする段階を含む。第１のリフトサイズ及び第２のリフトサイズは、異なる情報ビット長によって決まる。
【００１９】
本開示の１又は複数の態様において、デコードする段階は、コーディングレートが第１のコーディングレートから第２のコーディングレートに変化するときに、第１のラベル付けされたＰＣＭから第２のラベル付けされたＰＣＭにスイッチする段階を含む。
【００２０】
本開示の１又は複数の態様において、デコードする段階は、リフトサイズが第１のリフトサイズから第２のリフトサイズに変化するときにｍ第１のラベル付けされたＰＣＭから第２のラベル付けされたＰＣＭにスイッチする段階を含む。第１のリフトサイズ及び第２のリフトサイズは、異なる情報ビット長によって決まる。
【００２１】
１又は複数の実施形態において、レート適応コードを提供すること（１つのコードレートから他のコードレートにスイッチすること）によって、情報長の適応コードを提供することによって、又はレート適応コード及び長さ適応コードの組み合わせを提供することによって、高い性能が実現される。さらなる実施形態は、これらの複数の実施形態に基づいて単純なハードウェアを提供する。１又は複数の開示される実施形態は、コーディングレート及び情報長に関して柔軟性のある少数のコーディングスキーム（ＰＣＭ行列）に依存している。これは、複数の実施形態が、ストレージ空間も節約しながら、様々な状況における実質的に最適な性能を提供する、という利点を有する。
【図面の簡単な説明】
【００２２】
本開示及びこれらの利点のより完全な理解のために、ここでは、添付図面と併せて以下の記述を参照する。
【００２３】
【図１】３×６パリティ検査行列（ＰＣＭ）、Ｈ、及びその対応するタナーグラフ表現を示す図である。
【００２４】
【図２】４×６ＰＣＭ、Ｈ、及びその対応するタナーグラフ表現を示す図である。
【００２５】
【図３】リフティングテーブルＴを構成するためのフローチャート３００を示す。
【００２６】
【図４Ａ】可能なリフティングテーブルＴの例を示す。
【図４Ｂ】可能なリフティングテーブルＴの例を示す。
【図４Ｃ】可能なリフティングテーブルＴの例を示す。
【００２７】
【図５Ａ】第１のベースグラフ又はプロトグラフの例を示す。
【図５Ｂ−１】第１のベースグラフ又はプロトグラフの例を示す。
【図５Ｂ−２】第１のベースグラフ又はプロトグラフの例を示す。
【００２８】
【図６Ａ】特定のラベル付けされた第１のグラフの一実施形態を示す。
【図６Ｂ−１】特定のラベル付けされた第１のグラフの一実施形態を示す。
【図６Ｂ−２】特定のラベル付けされた第１のグラフの一実施形態を示す。
【図６Ｂ−３】特定のラベル付けされた第１のグラフの一実施形態を示す。
【図６Ｂ−４】特定のラベル付けされた第１のグラフの一実施形態を示す。
【図７Ａ】特定のラベル付けされた第１のグラフの一実施形態を示す。
【図７Ｂ−１】特定のラベル付けされた第１のグラフの一実施形態を示す。
【図７Ｂ−２】特定のラベル付けされた第１のグラフの一実施形態を示す。
【図７Ｂ−３】特定のラベル付けされた第１のグラフの一実施形態を示す。
【図７Ｂ−４】特定のラベル付けされた第１のグラフの一実施形態を示す。
【図８Ａ】特定のラベル付けされた第１のグラフの一実施形態を示す。
【図８Ｂ−１】特定のラベル付けされた第１のグラフの一実施形態を示す。
【図８Ｂ−２】特定のラベル付けされた第１のグラフの一実施形態を示す。
【図８Ｂ−３】特定のラベル付けされた第１のグラフの一実施形態を示す。
【図８Ｂ−４】特定のラベル付けされた第１のグラフの一実施形態を示す。
【図９Ａ】特定のラベル付けされた第１のグラフの一実施形態を示す。
【図９Ｂ−１】特定のラベル付けされた第１のグラフの一実施形態を示す。
【図９Ｂ−２】特定のラベル付けされた第１のグラフの一実施形態を示す。
【図９Ｂ−３】特定のラベル付けされた第１のグラフの一実施形態を示す。
【図９Ｂ−４】特定のラベル付けされた第１のグラフの一実施形態を示す。
【図１０Ａ】特定のラベル付けされた第１のグラフの一実施形態を示す。
【図１０Ｂ−１】特定のラベル付けされた第１のグラフの一実施形態を示す。
【図１０Ｂ−２】特定のラベル付けされた第１のグラフの一実施形態を示す。
【図１０Ｂ−３】特定のラベル付けされた第１のグラフの一実施形態を示す。
【図１０Ｂ−４】特定のラベル付けされた第１のグラフの一実施形態を示す。
【図１１Ａ】特定のラベル付けされた第１のグラフの一実施形態を示す。
【図１１Ｂ−１】特定のラベル付けされた第１のグラフの一実施形態を示す。
【図１１Ｂ−２】特定のラベル付けされた第１のグラフの一実施形態を示す。
【図１１Ｂ−３】特定のラベル付けされた第１のグラフの一実施形態を示す。
【図１１Ｂ−４】特定のラベル付けされた第１のグラフの一実施形態を示す。
【図１２Ａ】特定のラベル付けされた第１のグラフの一実施形態を示す。
【図１２Ｂ−１】特定のラベル付けされた第１のグラフの一実施形態を示す。
【図１２Ｂ−２】特定のラベル付けされた第１のグラフの一実施形態を示す。
【図１３Ａ】特定のラベル付けされた第１のグラフの一実施形態を示す。
【図１３Ｂ−１】特定のラベル付けされた第１のグラフの一実施形態を示す。
【図１３Ｂ−２】特定のラベル付けされた第１のグラフの一実施形態を示す。
【図１３Ｂ−３】特定のラベル付けされた第１のグラフの一実施形態を示す。
【図１３Ｂ−４】特定のラベル付けされた第１のグラフの一実施形態を示す。
【００２９】
【図１４Ａ−１】第２のベースグラフ又はプロトグラフの例を示す。
【図１４Ａ−２】第２のベースグラフ又はプロトグラフの例を示す。
【図１４Ｂ−１】第２のベースグラフ又はプロトグラフの例を示す。
【図１４Ｂ−２】第２のベースグラフ又はプロトグラフの例を示す。
【図１４Ｂ−３】第２のベースグラフ又はプロトグラフの例を示す。
【００３０】
【図１５Ａ】単一のラベル付けされた第２のグラフの一実施形態を示す。
【図１５Ｂ−１】単一のラベル付けされた第２のグラフの一実施形態を示す。
【図１５Ｂ−２】単一のラベル付けされた第２のグラフの一実施形態を示す。
【図１５Ｂ−３】単一のラベル付けされた第２のグラフの一実施形態を示す。
【図１６Ａ】単一のラベル付けされた第２のグラフの一実施形態を示す。
【図１６Ｂ−１】単一のラベル付けされた第２のグラフの一実施形態を示す。
【図１６Ｂ−２】単一のラベル付けされた第２のグラフの一実施形態を示す。
【図１６Ｂ−３】単一のラベル付けされた第２のグラフの一実施形態を示す。
【図１７Ａ】単一のラベル付けされた第２のグラフの一実施形態を示す。
【図１７Ｂ−１】単一のラベル付けされた第２のグラフの一実施形態を示す。
【図１７Ｂ−２】単一のラベル付けされた第２のグラフの一実施形態を示す。
【図１７Ｂ−３】単一のラベル付けされた第２のグラフの一実施形態を示す。
【図１８Ａ】単一のラベル付けされた第２のグラフの一実施形態を示す。
【図１８Ｂ−１】単一のラベル付けされた第２のグラフの一実施形態を示す。
【図１８Ｂ−２】単一のラベル付けされた第２のグラフの一実施形態を示す。
【図１８Ｂ−３】単一のラベル付けされた第２のグラフの一実施形態を示す。
【図１９Ａ】単一のラベル付けされた第２のグラフの一実施形態を示す。
【図１９Ｂ−１】単一のラベル付けされた第２のグラフの一実施形態を示す。
【図１９Ｂ−２】単一のラベル付けされた第２のグラフの一実施形態を示す。
【図１９Ｂ−３】単一のラベル付けされた第２のグラフの一実施形態を示す。
【図２０Ａ】単一のラベル付けされた第２のグラフの一実施形態を示す。
【図２０Ｂ−１】単一のラベル付けされた第２のグラフの一実施形態を示す。
【図２０Ｂ−２】単一のラベル付けされた第２のグラフの一実施形態を示す。
【図２０Ｂ−３】単一のラベル付けされた第２のグラフの一実施形態を示す。
【図２１Ａ】単一のラベル付けされた第２のグラフの一実施形態を示す。
【図２１Ｂ−１】単一のラベル付けされた第２のグラフの一実施形態を示す。
【図２１Ｂ−２】単一のラベル付けされた第２のグラフの一実施形態を示す。
【図２１Ｂ−３】単一のラベル付けされた第２のグラフの一実施形態を示す。
【図２２Ａ】単一のラベル付けされた第２のグラフの一実施形態を示す。
【図２２Ｂ−１】単一のラベル付けされた第２のグラフの一実施形態を示す。
【図２２Ｂ−２】単一のラベル付けされた第２のグラフの一実施形態を示す。
【図２２Ｂ−３】単一のラベル付けされた第２のグラフの一実施形態を示す。
【図２３Ａ】単一のラベル付けされた第２のグラフの一実施形態を示す。
【図２３Ｂ−１】単一のラベル付けされた第２のグラフの一実施形態を示す。
【図２３Ｂ−２】単一のラベル付けされた第２のグラフの一実施形態を示す。
【図２３Ｂ−３】単一のラベル付けされた第２のグラフの一実施形態を示す。
【００３１】
【図２４Ａ−１】第１のグラフのためのリフティングテーブルＴの一実施形態を示す。
【図２４Ａ−２】第１のグラフのためのリフティングテーブルＴの一実施形態を示す。
【図２４Ａ−３】第１のグラフのためのリフティングテーブルＴの一実施形態を示す。
【図２４Ａ−４】第１のグラフのためのリフティングテーブルＴの一実施形態を示す。
【図２４Ａ−５】第１のグラフのためのリフティングテーブルＴの一実施形態を示す。
【図２４Ａ−６】第１のグラフのためのリフティングテーブルＴの一実施形態を示す。
【図２４Ｂ−１】第１のグラフのためのリフティングテーブルＴの一実施形態を示す。
【図２４Ｂ−２】第１のグラフのためのリフティングテーブルＴの一実施形態を示す。
【図２４Ｂ−３】第１のグラフのためのリフティングテーブルＴの一実施形態を示す。
【００３２】
【図２４Ｃ−１】第２のグラフのためのリフティングテーブルＴの一実施形態を示す。
【図２４Ｃ−２】第２のグラフのためのリフティングテーブルＴの一実施形態を示す。
【図２４Ｃ−３】第２のグラフのためのリフティングテーブルＴの一実施形態を示す。
【図２４Ｃ−４】第２のグラフのためのリフティングテーブルＴの一実施形態を示す。
【図２４Ｃ−５】第２のグラフのためのリフティングテーブルＴの一実施形態を示す。
【図２４Ｃ−６】第２のグラフのためのリフティングテーブルＴの一実施形態を示す。
【図２４Ｄ−１】第２のグラフのためのリフティングテーブルＴの一実施形態を示す。
【図２４Ｄ−２】第２のグラフのためのリフティングテーブルＴの一実施形態を示す。
【図２４Ｄ−３】第２のグラフのためのリフティングテーブルＴの一実施形態を示す。
【図２４Ｄ−４】第２のグラフのためのリフティングテーブルＴの一実施形態を示す。
【図２４Ｄ−５】第２のグラフのためのリフティングテーブルＴの一実施形態を示す。
【図２４Ｄ−６】第２のグラフのためのリフティングテーブルＴの一実施形態を示す。
【００３３】
【図２５Ａ】異なる情報長及び異なるコーディングレートＲにリフティングテーブルＴ１及びリフティングテーブルＴ２を適用するデコーダの性能の向上を示す。
【図２５Ｂ】異なる情報長及び異なるコーディングレートＲにリフティングテーブルＴ１及びリフティングテーブルＴ２を適用するデコーダの性能の向上を示す。
【図２５Ｃ】異なる情報長及び異なるコーディングレートＲにリフティングテーブルＴ１及びリフティングテーブルＴ２を適用するデコーダの性能の向上を示す。
【図２５Ｄ】異なる情報長及び異なるコーディングレートＲにリフティングテーブルＴ１及びリフティングテーブルＴ２を適用するデコーダの性能の向上を示す。
【００３４】
【図２６】ＬＤＰＣエンコーダの一実施形態のブロック図である。
【００３５】
【図２７】ＬＤＰＣデコーダの一実施形態のブロック図である。
【００３６】
【図２８】ＬＤＰＣ、本開示のリフティングテーブル、及び本開示のリフティング関数を用いてデータをエンコードする方法の一実施形態のフローチャートである。
【００３７】
【図２９】ＬＤＰＣ、本開示のリフティングテーブル、及び本開示のリフティング関数を用いてデータをデコードする方法の一実施形態のフローチャートである。
【００３８】
【図３０】ホストデバイスに組み込まれ得、本明細書に記述される方法を実行する、一実施形態に係る処理システムのブロック図を示す。
【００３９】
【図３１】電気通信ネットワークを介して信号を送受信するよう適合された送受信機のブロック図を示す。
【００４０】
【図３２】本開示の方法及びシステムが実装され得る、一実施形態に係るデータを通信するためのネットワークを示す。
【発明を実施するための形態】
【００４１】
現在好ましい実施形態の作成及び使用について、以下で詳細に説明する。しかしながら、本開示は多種多様な特定の文脈で具現化され得る多くの適用可能な発明概念を提供することを理解されたい。説明される特定の複数の実施形態は、単に、本開示の作成及び使用するための一例の特定の方法に過ぎず、本開示の範囲を限定するものではない。
【００４２】
本明細書で開示されるのは、ＬＤＰＣを用いてデータをエンコード／デコードするシステム、方法、及びデバイスである。様々な実施形態は、データをエンコード／デコードすべく、巡回オフセットを決定するためのオフセットリフティング手順を含む。さらに、様々な実施形態は、不連続の巡回オフセット及び従来技術より大きな巡回オフセットを含む。様々な実施形態はまた、複数のリフティング関数を含む。大きな巡回オフセットを有することによって、最良のオフセットをより迅速に決定することを可能にし、従来技術の方法よりシステムリソースの消費が少なくなる（例えば、リフティングテーブルを構成する間のより少ない量のオフラインシミュレーション、エンコーダ／デコーダにリフティングテーブルを格納するのに必要とされるより少ないメモリ等）。さらに、異なるリフティング関数が、異なる長さのコードワードをエンコードするのにより適している場合がある。
【００４３】
本開示の複数の実施形態は、情報長のサイズＫ及びコーディングレートＲが（時間と共に）変化するときに、良好なコード（又は行列）を割り当てる柔軟性のある方法をさらに提供する。様々な実施形態は、同一のプロトグラフに対して、異なる選択されて許可されたリフト値Ｚと、異なるラベル付けされたＰＣＭとの間でスイッチすることが可能なコーディング方法を提供する。様々な他の実施形態は、コーディングレートＲ及びリフト値Ｚに基づいて、異なるＰＣＭ間をスイッチすることが可能な方法を提供する。さらなる実施形態は、コーディングレートＲ及び情報長Ｋの様々な範囲に対するリフティングテーブルを提供する。この結果として生じるコードは、それが所与の情報長のサイズＫ及びコーディングレートＲに対するリフト値及びラベル付けされたＰＣＭを提供するので、優れている。
【００４４】
レート適応コードを提供すること（１つのコードレートから他のコードレートにスイッチすること）によって、情報長の適応コードを提供することによって、又はレート適応コード及び長さ適応コードの組み合わせを提供することによって、高い性能が実現され得る。さらなる実施形態は、これらの実施形態に基づいて、単純なハードウェアを提供する。
【００４５】
これらの実施形態は、コーディングレート及び情報長に関して柔軟性のある少数のコーディングスキーム（ＰＣＭ行列）に依存している。これは、複数の実施形態が、ストレージ空間を節約しながら、あらゆる場面における最適な性能を提供する、という利点を有する。
【００４６】
図１は、３×６パリティ検査行列（ＰＣＭ）、Ｈ、１０２、及びその対応するタナーグラフ表現１０４を示す図１００である。ＬＤＰＣコードが疎なパリティ検査行列（ＰＣＭ）によって定義され、これは、（Ｎ−Ｋ）行Ｎ列行列である。ここで、Ｎは、コードワードのサイズ（コードワードにけるビット数）であり、Ｋは、ソースワードの情報ブロックサイズ（それぞれのコードワードにおけるメッセージビットの数）である。タナーグラフ１０４は、パリティ検査方程式を特定するパリティ検査行列のグラフ表現である。図示された例において、タナーグラフ１０４は、３個の検査ノード（ＣＮ）ｃ１、ｃ２及びｃ３、並びに６個の変数ノード（ＶＮ）ｖ１、ｖ２、ｖ３、ｖ４、ｖ５及びｖ６を含む。タナーグラフは、Ｎ個の変数ノード（ＶＮ）及びＭ個の検査ノード（ＣＮ）から成る。図示された例において、タナーグラフ１０４は、３個のＣＮｃ１、ｃ２及びｃ３、並びに６個のＶＮｖ１、ｖ２、ｖ３、ｖ４、ｖ５及びｖ６を含む。図１に示されるタナーグラフ１０４において、パリティ検査行列、Ｈ、のｍ番目の行におけるｎ番目の要素ｈｍｎが１である場合かつその場合に限り、ｍ番目の検査ノードがｎ番目の変数ノードに接続される。
【００４７】
図２は、４×６ＰＣＭ、Ｈ、２０２及びその対応するタナーグラフ表現２０４を示す図２００である。受信エンティティは、メッセージパッシングアルゴリズム（ＭＰＡ）と組み合わせてＰＣＭ  Ｈを適用することによって、ＰＣＭ  Ｈに従ってエンコード済みの受信したコードワードをデコードし得る。図２の例に図示されるように、ＭＰＡでデコードするＬＤＰＣは、タナーグラフ２０４の構造を用いる反復デコードアルゴリズムである。ＬＤＰＣデコーダにおいて、ＰＣＭ  Ｈのｍ番目の行におけるｎ番目の要素ｈｍｎが１である場合かつその場合に限り、それぞれのｍ番目の検査ノード（Ｃ１、Ｃ２、Ｃ３）がｎ番目の変数ノード（Ｖ１、…Ｖ６）に接続される。
【００４８】
実際のアプリケーションでは、ＰＣＭは、典型的には、バイナリ１と０の単純な集合ではなく、より構造化された行列として構成される。例えば、より構造化された行列が、列の重さが１である循環置換行列によって生成される、準巡回（ＱＣ）ＬＤＰＣと称されるＬＤＰＣコードの１タイプをサポートするのに用いられる。特に、図２に示されるように、ＬＤＰＣ  ＰＣＭ  Ｈが、単位行列Ｐ０の循環置換又はすべて値０であるゼロ部分行列のいずれかであるサイズＺ×Ｚの正方部分行列Ｐｉのセットに分割され得る。ＱＣ部分行列の行列の次元Ｚは、巡回サイズと称され、リフティング要素としても知られる。単位行列Ｐ０は、左上隅から右下隅までの対角に値「１」を有し、それ以外の場所には値「０」を有する。インデックス値ｉは、ｉ要素だけ右に列を循環シフトすることによって、Ｚ×Ｚ単位行列Ｐ０から取得される循環置換の部分行列Ｐｉを示すのに用いられ得る。例として、図２は、２×２正方部分行列のセットに分割される４×６ＬＤＰＣ  ＰＣＭ  Ｈを示す。部分行列Ｐ０は単位行列であり、部分行列Ｐ１が１だけ右に部分行列Ｐ０の列を循環シフトすることによって取得される。ＱＣ  ＬＤＰＣは、大きなＰＣＭがＱＣ  ＰＣＭの対応するセル位置におけるインデックス値ｉによって表されるそれぞれのＺ×Ｚ部分行列を有するより小さく構造化されたＰＣＭとして表されることを可能にする。例として、図２において、４×６ＰＣＭ  Ｈが、それぞれのセルが循環シフトインデックス値又はゼロ値を含む２×３ＱＣ  ＰＣＭ  ＨＣと言い換えられ得る（従って、２×３ＱＣ  ＰＣＭ  ＨＣから生成される）。本明細書で用いられるように、Ｈは、コードのプロトグラフ（すなわち、プロトグラフ行列）と称され得る。ＨからＨＣに変換することは、典型的には、「エッジラベル付け」又は単に「ラベル付け」と称される。また、本明細書で用いられるように、ＨＣが、ラベル付けされたプロトグラフ又はラベル付けされた行列と称され得る。
【００４９】
ＱＣ  ＬＤＰＣコードは、通常、ＢＰ、Ｍｉｎ−Ｓｕｍ、及びこれら変更（ＮＭＳＡ、ＯＭＳＡ、…）のようなメッセージパッシングデコーダによってデコードされる。ＱＣ  ＬＤＰＣコードの性能は、行及び列の重さ分配（典型的には、密度進化法（Ｄｅｎｓｉｔｙ  ｅｖｏｌｕｔｉｏｎ  ｍｅｔｈｏｄ）を用いて最適化される）、コード距離、短い循環の量、及びトラッピングセット等のような複数の要素に依存している。しかしながら、従来技術のエンコード／デコードシステム及びアルゴリズム、並びにＰＣＭ情報のストレージは、大きな量のシステムリソースを消費する。
【００５０】
さらに、情報長の細かい粒度及びレート調整をサポートすべく、コードのネスト化したファミリが用いられ得る。ここで、レートＲの調整及び長さＫの調整が、パリティビットをパンクチャリング（除去）し、（ゼロパディング）情報ビットを短縮することによって実行される。従って、単純で強力な方法が、あらゆる（ラベル付けされた）ベースＰＣＭから子ＰＣＭを構成するのに必要とされる。
【００５１】
ネスト化は、パリティビットをパンクチャリング（除去）することによって、コードレートＲの調整のコードを調整することを意味する。ＰＣＭそのものは、より小さい又は最も小さいコードに対応する。１つ又は少数の列（巡回列又はビット列のいずれか）が右から除去され（パンクチャリングされ）、同一量の行がＰＣＭの下部から除去される場合、ＰＣＭがデコード／エンコードする目的でさらに用いられ得るが、コーディングレートＲが変化している（増加している）。この手順は、（最も高いレートに対応する「コア」ＰＣＭと称される）最小の可能なＰＣＭが識別されるまで段階的に実行され得る。従って、ＰＣＭは、実際には、ネスト化したコードのセットを備える総合的なコードである。これらはコードの「ネスト化した」サブコードと称され、コードのメイン（最大の）グラフのネスト化したサブグラフに対応する。
【００５２】
レート間のスイッチが、１つのサブコードから他のサブコートにスイッチすることによって実行される。追加のパリティビットの増分の再送が必要とされる場合（１つのネスト化したサブコード（「より小さな」ＰＣＭに等しい）から他の（ネスト化した）サブコード（「より大きな」ＰＣＭ（コードがより低いレートを有することを意味する）に等しい）にスイッチすることを意味する）、リフティング方法を変更できない（又は他の実施形態において、変更することが許可されていない）。従って、リフティングテーブルは、これらのサブコードで共有され得る。
【００５３】
上記のように、ＱＣ  ＰＣＭ情報のストレージ及び利用は、リソース集中型であり得る。従って、本開示の複数の実施形態は、同一のＱＣ  ＰＣＭ情報が異なる情報レートＲ及び情報ブロックサイズＫの範囲をサポートするのに適応的に用いられることを可能にするＱＣ  ＰＣＭ方法及びシステムを提供する。従って、ＱＣ  ＬＤＰＣコードを短縮し、パンクチャリングし、リフティングすることに関する方法及びシステムが本明細書で開示される。短縮することは、所与のレートに正確に一致すべく、ゼロで情報ビットをパディングすることを意味する（これらのビットは送信されないが、ゼロとしてエンコーダ及びデコーダの両方によって用いられる）。短縮されたビットは、情報ブロックの左側、右側から、又は中央部分のある場所からもパディングされ得る。パンクチャリングは、コードのレートを増加すべく、いくつかの必要とされないパリティ検査ビットを除去することを意味する。これは、ＰＣＭから最後のいくつかの列及び同一数の行を切断することに対応する。
【００５４】
情報長の細かい粒度及びレート調整をサポートすべく、コードのネスト化したファミリが用いられ得る。ここで、レート及び長さの調整が、パリティビットをパンクチャリングし、情報ビットを短縮することによって実行される。従って、いくつかのベースＰＣＭから子ＰＣＭを構成するための単純で強力なリフティング方法が、本明細書で記述される。
【００５５】
図３は、強力なパリティ検査コードを構成するためのフローチャート３００を示す。特に、コードは、レート適応コードである。ベースＰＣＭは、最も小さいコードレートに対応する。ベースＰＣＭの右から１つ又は少数の列を、ベースＰＣＭの下部から同一量の行を除去又はパンクチャリングすることによって、コードレートは、変化、すなわち、増加する。これ（例えば、段階的な手順）に基づいて、高いコードレートに対する最小の可能なＰＣＭ（「コア」ＰＣＭと称される）が識別され得る。従って、ベースＰＣＭは、コードのセットを表す。
【００５６】
第１の段階、３０２において、複数の許可されたリフトサイズＺのサブセットＺｉが、それぞれのコーディングレートＲ及びそれぞれの情報長Ｋに対して決定される。第一に、最小リフトサイズが、Ｚｏｒｉｇ＝Ｋ／Ｋｂで計算される。ここで、Ｋは情報ビットの数であり、Ｋｂはプロトグラフにおける情報列の数である。Ｋｂは、典型的には、デコーダ又はエンコーダのような特定のハードウェアデバイスに対して固定されている。Ｋｂは、１０、１６又は２２であり得る。Ｋｂは、１０〜１９又は２０〜２９の他の値を有し得る。Ｋｂは、すべてのベースＰＣＭ及びすべてのラベル付けされたＰＣＭに対して同一であり得る。第二に、許可されたＺ、Ｚａｌｌｏｗｅｄのセットが決定される。Ｚａｌｌｏｗｅｄ≧Ｚｏｒｉｇである。Ｚの許可された値が、ａ×２ｓの形式の許可された値Ｚの固定セットで事前に定義され得る。ａは正の整数であり、ｓは負でない整数である。さらに、ａ及びｓ、又はペア（ａ，ｓ）の値の範囲が特定され得る。例えば、ａ∈｛１，２，…１６｝、ｓ∈｛０，１，２，…２５６｝、及びＺ＝ａ×２ｓである場合、Ｚが８以上３８４以下に限定されてよく、Ｚａｌｌｏｗｅｄは次のようであってよい。
Ｚａｌｌｏｗｅｄ＝｛８：１：１６｝∪｛１６：２：３２｝∪｛３２：４：６４｝∪｛６４：８：１２８｝∪｛１２８：１６：２５６｝∪｛２５６：３２：３８４｝
【００５７】
第三に、許可されたリフトサイズＺａｌｌｏｗｅｄのサブセットｍが選択される。一実施形態において、サブセットｍは、Ｚ≧Ｚｏｒｉｇのような、Ｚａｌｌｏｗｅｄの最小のｍの数であり得る。代替的な実施形態において、許可されたリフトサイズＺａｌｌｏｗｅｄのサブセットｍは、Ｋｂ≦ＫｂｍａｘかつＺ≧Ｚｏｒｉｇのような、Ｚに対する最小のｍのオプションであり得る。ここで、Ｋｂは、短縮されていないＰＣＭにおける情報ＱＣ列の数であり、Ｋｂｍａｘは、所与のＫ及びＲに対するＰＣＭにおける情報列の最大数である。
【００５８】
様々な他の実施形態において、さらなる制限が適用され得る。例えば、Ｚに対する最小のｍのオプションは、Ｚ≧ｍａｘ（Ｚｍｉｎ，Ｚｏｒｉｇ）であり得る。Ｚ∈Ｚａｌｌｏｗｅｄであり、Ｚｍｉｎは、最小の可能なリフトサイズである。特定の例において、ｍは８に等しくてよい。従って、それぞれのコーディングレートＲ及びそれぞれの情報長Ｋに対するｍ個の異なるＺがある。しかしながら、これらのＺのうちの１つのみが、それぞれのコーディングレートＲ及びそれぞれの情報長Ｋに対するメモリ（例えば、リフティングテーブル）に格納される。
【００５９】
次の段階、段階３０４において、少なくとも１つのリフティング関数ｆｉがそれぞれのコーディングレートＲ及びそれぞれのＺ∈Ｚａｌｌｏｗｅｄに対して定義される。リフティング関数ｆｉは、以下のように定義され得る。
【００６０】
それぞれのリフティング関数ｆｉは、数式ｈｃｈｉｌｄｊ＝ｆｉ（ｈｂａｓｅ，Ｚ）を用いて、子コードＰＣＭに対して負でない整数シフト値を提供する。ｈｂａｓｅは、ベースコードＰＣＭの負でない１のシフト値であり、ｈｃｈｉｌｄｊは、子コードの結果として生じるシフト値である。
【００６１】
例えば、リフティング関数ｆｉは、以下の形式を有し得る。
ｈｃｈｉｌｄｊ＝ｈｂａｓｅ  ｍｏｄ  ２［ｌｏｇ２（Ｚ）］、ここで、［ｘ］はｘの（より小さい）の整数部である。
ｈｃｈｉｌｄｊ＝ｈｂａｓｅ  ｍｏｄ  Ｚ
ｈｃｈｉｌｄｊ＝［ｈｂａｓｅ×Ｚ／Ｚｍａｘ］、ここで、ＺｍａｘはベースＰＣＭのリフトサイズである。
ｈｃｈｉｌｄｊ＝ｈｂａｓｅ＞＞］ｌｏｇ２（Ｚｍａｘ／Ｚ）［、ここで、＞＞は右バイナリシフト操作（すなわち、ａ＞＞ｂ＝［ａ／２ｂ］）であり、］ｘ［は、ｘの上部整数部である。
【００６２】
様々な実施形態において、リフティング関数の数ｎは１に等しくてよく、これは、単一の固定のリフティング関数がベースＰＣＭのセットからそれぞれの子ＰＣＭを導出するのに用いられることを意味する。しかしながら、代替的な実施形態において、リフティング関数の数ｎは、１より大きくてよく、例えば、２、３、４、５又はそれ以上である。
【００６３】
次の段階、段階３０６において、１つのプロトグラフ（ベースグラフ）をすべて記述するラベル付けされたベースＰＣＭのセットが決定される。ラベル付けされたベースＰＣＭのセットが、それぞれのコーディングレートＲ及びそれぞれのＺ∈Ｚａｌｌｏｗｅｄに対して決定される。ラベル付けされたベースＰＣＭが、ｂａｓｅ（Ｒ，Ｚ）＝｛ＰＣＭ１，ＰＣＭ２，…，ＰＣＭｔ｝のように定義され得る。これらのラベル付けされたベースＰＣＭは、最も小さいコード（例えば、最も高いオーバーヘッドを有するコード）に対応する。
【００６４】
例えば、ｂａｓｅ（Ｒ，Ｚ）は、ベースグラフ又はプロトグラフのすべての利用可能なラベル付けされたバージョンのセットであり得る。他の例において、ｂａｓｅ（Ｒ，Ｚ）は、（いくつかの関数又はテーブルを用いて）値Ｋによって確定的に定義される単一のＰＣＭを備えてよく、又は当該単一のＰＣＭで構成されてよい。
【００６５】
他の例において、ｂａｓｅ（Ｒ，Ｚ）は、（いくつか関数又はテーブルを用いて）リフトサイズＺによって確定的に定義される単一のＰＣＭを備えてよく、又は当該単一のＰＣＭで構成されてよい。関数又はテーブルのような構成の複数の実施形態が、以下のように提供される。すべてのリフト又は巡回サイズＺが、ａ×２ｓ、ａ∈｛８，９，…，１５｝の形式を有する場合、ＰＣＭ  Ｍａ−７が値Ｚに割り当てられ得る。例えば、ｔ＝８である場合、ＰＣＭ  Ｍ１、Ｍ２、…Ｍ８は、同一のベースプロトグラフの事前に定義されたラベル付けされたバージョンである。代替的に、ｔは、例えば、２、３、４、５、６、７又は１０のような、任意の他の正の整数であり得る。
【００６６】
一実施形態において、第１のベースＰＣＭ５００が、図５Ａに示される。図５Ｂ−１〜図５Ｂ−２は、長い単位行列５０４の列を除いたこのベースＰＣＭ５００の左列５０２の表現である。図６Ａは、ａ＝８のラベル付けされたＰＣＭ６００（ＰＣＭ０）を示す。図６Ｂ−１〜図６Ｂ−４は、長い単位行列６０４の列を除いたＰＣＭ０６００の左列６０２の表現である。図７Ａは、ａ＝９のラベル付けされたＰＣＭ７００（ＰＣＭ１）を示す。図７Ｂ−１〜図７Ｂ−４は、長い単位行列７０４の列を除いたＰＣＭ１７００の左列７０２の表現である。図８Ａは、ａ＝１０のラベル付けされたＰＣＭ８００（ＰＣＭ２）を示す。図８Ｂ−１〜図８Ｂ−４は、長い単位行列８０４の列を除いたＰＣＭ２８００の左列８０２の表現である。図９Ａは、ａ＝１１のラベル付けされたＰＣＭ９００（ＰＣＭ３）を示す。図９Ｂ−１〜図９Ｂ−４は、長い単位行列９０４の列を除いたＰＣＭ３９００の左列９０２の表現である。図１０Ａは、ａ＝１２のラベル付けされたＰＣＭ１０００（ＰＣＭ４）を示す。図１０Ｂ−１〜図１０Ｂ−４は、長い単位行列１００４の列を除いたＰＣＭ４１０００の左列１００２の表現である。図１１Ａは、ａ＝１３のラベル付けされたＰＣＭ１１００（ＰＣＭ５）を示す。図１１Ｂ−１〜図１１Ｂ−４は、長い単位行列１１０４の列を除いたＰＣＭ５１１００の左列１１０２の表現である。図１２Ａは、ａ＝１４のラベル付けされたＰＣＭ１２００（ＰＣＭ６）を示す。図１２Ｂ−１〜図１２Ｂ−２は、長い単位行列１２０４の列を除いたＰＣＭ６１２００の左列１２０２の表現である。図１３Ａは、ａ＝１５のラベル付けされたＰＣＭ１３００（ＰＣＭ７）を示す。図１３Ｂ−１〜図１３Ｂ−４は、長い単位行列１３０４の列を除いたＰＣＭ７１３００の左列１３０２の表現である。図６Ａ、図６Ｂ−１〜図６Ｂ−４、図７Ａ、図７Ｂ−１〜図７Ｂ−４、図８Ａ、図８Ｂ−１〜図８Ｂ−４、図９Ａ、図９Ｂ−１〜図９Ｂ−４、図１０Ａ、図１０Ｂ−１〜図１０Ｂ−４、図１１Ａ、図１１Ｂ−１〜図１１Ｂ−４、図１２Ａ、図１２Ｂ−１〜図１２Ｂ−２、図１３Ａ及び図１３Ｂ−１〜図１３Ｂ−４は、第１のベースＰＣＭ５００のラベル付けされたＰＣＭ６００、７００、８００、９００、１０００、１１００、１２００、１３００を示す。
【００６７】
他の実施形態において、第２のベースＰＣＭ１４００が図１４Ａ−１〜図１４Ａ−２に示される。図１４Ｂ−１〜図１４Ｂ−３は、長い単位行列１４０４の列を除いたこのベースＰＣＭ１４００の左列１４０２の表現である。図１５Ａは、単一のラベル付けされたＰＣＭ１５００を示す。図１５Ｂ−１〜図１５Ｂ−３は、長い単位行列１５０４の列を除いた単一のラベル付けされたＰＣＭ１５００の左列１５０２の表現である。
【００６８】
図１６Ａは、ａ＝８のラベル付けされたＰＣＭ１６００（ＰＣＭ０）を示す。図１６Ｂ−１〜図１６Ｂ−３は、長い単位行列１６０４の列を除いたＰＣＭ０１６００の左列１６０２の表現である。図１７Ａは、ａ＝９のラベル付けされたＰＣＭ１７００（ＰＣＭ１）を示す。図１７Ｂ−１〜図１７Ｂ−３は、長い単位行列１７０４の列を除いたＰＣＭ１１７００の左列１７０２の表現である。図１８Ａは、ａ＝１０のラベル付けされたＰＣＭ１８００（ＰＣＭ２）を示す。図１８Ｂ−１〜図１８Ｂ−３は、長い単位行列１８０４の列を除いたＰＣＭ２１８００の左列１８０２の表現である。図１９Ａは、ａ＝１１のラベル付けされたＰＣＭ１９００（ＰＣＭ３）を示す。図１９Ｂ−１〜図１９Ｂ−３は、長い単位行列１９０４の列を除いたＰＣＭ３１９００の左列１９０２の表現である。図２０Ａは、ａ＝１２のラベル付けされたＰＣＭ２０００（ＰＣＭ４）を示す。図２０Ｂ−１〜図２０Ｂ−３は、長い単位行列２００４の列を除いたＰＣＭ４２０００の左列２００２の表現である。図２１Ａは、ａ＝１３のラベル付けされたＰＣＭ２１００（ＰＣＭ５）を示す。図２１Ｂ−１〜図２１Ｂ−３は、長い単位行列２１０４の列を除いたＰＣＭ５２１００の左列２１０２の表現である。図２２Ａは、ａ＝１４のラベル付けされたＰＣＭ２２００（ＰＣＭ６）を示す。図２２Ｂ−１〜図２２Ｂ−３は、長い単位行列２２０４の列を除いたＰＣＭ６２２００の左列２２０２の表現である。図２３Ａは、ａ＝１５のラベル付けされたＰＣＭ２３００（ＰＣＭ７）を示す。図２３Ｂ−１〜図２３Ｂ−３は、長い単位行列２３０４の列を除いたＰＣＭ７２３００の左列２３０２の表現である。図１６Ａ、図１６Ｂ−１〜図１６Ｂ−３、図１７Ａ、図１７Ｂ−１〜図１７Ｂ−３、図１８Ａ、図１８Ｂ−１〜図１８Ｂ−３、図１９Ａ、図１９Ｂ−１〜図１９Ｂ−３、図２０Ａ、図２０Ｂ−１〜図２０Ｂ−３、図２１Ａ、図２１Ｂ−１〜図２１Ｂ−３、図２２Ａ、図２２Ｂ−１〜図２２Ｂ−３、及び図２３Ｂ−１〜図２３Ｂ−３は、第２のベースＰＣＭ１４００のラベル付けされたＰＣＭ１６００、１７００、１８００、１９００、２０００、２１００、２２００、２３００を示す。
【００６９】
段階３０８において、｛Ｚ，ｆｉ，ｂａｓｅ（Ｒ，Ｚ）｝の単一の組み合わせが、それぞれのコーディングレートＲ及びそれぞれの情報長Ｋに対して選択される。この組み合わせが、それぞれの可能な組み合わせに対するデコーダの誤り訂正の能力を測定し、すべてのオプション間で最良の性能を有する１つを選択することにより、シミュレーションを通じて識別され得る。結果が、それぞれのペア（Ｒ，Ｚ）に対して、用いられるＰＣＭのリフトサイズＺ（又はリフトサイズのオフセット）、リフティング関数ｆｊ、及びインデックスを定義するリフティングテーブルＴに格納され得る。それぞれのペア（Ｒ，Ｚ）に対して、選択されたリフトサイズＺのセットが、毎回探索され得る。例えば、選択されたリフトサイズＺのセットは、８であり得る。
【００７０】
代替的に、ｍは、異なる（Ｋ，Ｒ）ペアに対して異なる場合がある。例えば、ｍ＝８のオプションがＫ＜＝２０４８で探索され、ｍ＝４がＫ＞２０４８で探索される。
【００７１】
上記のように、リフティング関数ｆ１，ｆ２，…ｆｎのセットは、１つのエントリのみ、すなわち、１つのリフティング関数（すなわち、ｎ＝１）を有し得る。代替的に、ｎ＞１の関数が探索され得る。両方の場合において、異なる関数が、Ｋ、Ｒ又は（Ｋ，Ｒ）ペアの異なる範囲に用いられ得る。
【００７２】
データの送信ごとに、コーディングレート及び情報長が異なる場合がある。低いコーディングレートは良好な保護（信頼）を提供するが、高いコーディングレートは良好な保護を提供しない。あるコーディングレートでの送信が完了しない場合、データは再送される必要がある。この場合における再送は、データが以前より低いコーディングレートで送信されるが、同一の情報長であることを意味する。
【００７３】
段階３１０において、あらゆる情報長及びあらゆるコードレートに対する組み合わせが、メモリに格納される。組み合わせは、テーブル（例えば、リフティングテーブル）、リスト、リンクリスト、データベース、ツリー、又は任意の他のタイプのストレージデバイス及びフォーマットに格納され得る。
【００７４】
従って、段階３０２〜段階３１０によってそれぞれ長さＫ及びそれぞれのコーディングレートＲに子ＰＣＭを提供するが、レートＲの依存性が後の再送又はそれぞれの後の再送のために除去され得る。
【００７５】
例えば、それぞれの後の再送について、追加のパリティビットのみが送信される（いわゆる、ＩＲ  ＨＡＲＱ）。この場合において、子ＰＣＭが、開始及びすべてのより低いレートについて、ネスト化されるべきあり、これは、リフティング方法及びテーブルがコーディングレートＲに依存しない、又はコーディングレートＲから独立しているべきであることを意味する。
【００７６】
同時に、レート［Ｒｌｏｗ１…Ｒｕｐ１］、「Ｒｌｏｗ２…Ｒｕｐ２」等のいくつかの異なる重複（又は非重複）の範囲が、それぞれの範囲の異なるレート独立のリフティングテーブルＴ１、Ｔ２…等が段階３０２〜段階３１０を用いて設計されるように、用いられ得る。この観点から、リフトサイズ、リフティング関数、及びＰＣＭは、レート又はレートの範囲に間接的に依存している。
【００７７】
様々な実施形態において、ラベル付けされたＰＣＭの同一のセットが、レートの異なる範囲で共有され得る。様々な他の実施形態において、ＰＣＭの異なるセット及びさらには異なるプロトグラフが、レートの異なる範囲に用いられ得る。
【００７８】
リフティングテーブルＴは、図４Ａに示されるような形式を有し得る。図４ＡにおけるリフティングテーブルＴ４０２の第１の列はＺｏｒｉｇ、第２の列は特定のリフトサイズＺｉのインデックスｉ、第３の列は特定のリフティング関数ｆｊのインデックスｊ、及び第４の列は、特定のラベル付けされたＰＣＭ、ＰＣＭｔのインデックスｔである。
【００７９】
図４Ｂは、リフティングテーブルＴ４０４を示す。第２の列のリフトサイズＺのインデックスｉが、値が実際のリフトサイズを示すように、リフティングサイズＺで置き換えられる。
【００８０】
図４Ｃは、第３の列が除去され得るように、１つのリフティング関数ｆのみに対するリフティングテーブルＴ４０６を示す。
【００８１】
図５Ａ及び図５Ｂ−１〜図５Ｂ−２は、第１の複数のラベル付けされたＱＣ  ＬＤＰＣベースコード５００の例を示し、図６Ａ、図６Ｂ−１〜図６Ｂ−４、図７Ａ、図７Ｂ−１〜図７Ｂ−４、図８Ａ、図８Ｂ−１〜図８Ｂ−４、図９Ａ、図９Ｂ−１〜図９Ｂ−４、図１０Ａ、図１０Ｂ−１〜図１０Ｂ−４、図１１Ａ、図１１Ｂ−１〜図１１Ｂ−４、図１２Ａ、図１２Ｂ−１〜図１２Ｂ−２、図１３Ａ、及び図１３Ｂ−１〜図１３Ｂ−４は、第１のラベル付けされたＱＣ  ＬＤＰＣコード６００、７００、８００、９００、１０００、１１００、１２００、１３００を示す。
【００８２】
図１４Ａ−１〜図１４Ａ−２及び図１４Ｂ−１〜図１４Ｂ−３は、第２の複数のラベル付けされたＱＣ  ＬＤＰＣベースコード１４００の例を示し、図１５Ａ、図１５Ｂ−１〜図１５Ｂ−３、図１６Ａ、図１６Ｂ−１〜図１６Ｂ−３、図１７Ａ、図１７Ｂ−１〜図１７Ｂ−３、図１８Ａ、図１８Ｂ−１〜図１８Ｂ−３、図１９Ａ、図１９Ｂ−１〜図１９Ｂ−３、図２０Ａ、図２０Ｂ−１〜図２０Ｂ−３、図２１Ａ、図２１Ｂ−１〜図２１Ｂ−３、図２２Ａ、図２２Ｂ−１〜図２２Ｂ−３、図２３Ａ、及び図２３Ｂ−１〜図２３Ｂ−３は、第２のラベル付けされたＬＤＰＣコード１５００、１６００、１７００、１８００、１９００、２０００、２１００、２２００、２３００を示す。
【００８３】
図２４Ａ−１〜図２４Ａ−６、図２４Ｂ−１〜図２４Ｂ−３、図２４Ｃ−１〜図２４Ｃ−６、及び図２４Ｄ−１〜図２４Ｄ−６は、リフティングテーブルＴ２４０２、２４０４、２４０６、及び２４０８を示す。図２４Ａ−１〜図２４Ａ−６のリフティングテーブルＴ１  ２４０２は、１／３≦Ｒ≦８／９のコーディングレート及びＫｂｍａｘ＝２２のとき６４０≦Ｋ≦８１９２の情報長に用いられ得る。インデックスｉ＝０，…，７は、許可されたＺを識別する。図２４Ｂ−１〜図２４Ｂ−３のリフティングテーブルＴ２  ２４０４は、１／５≦Ｒ≦２／３のコーディングレート及びＫｂｍａｘ＝１６のとき４０≦Ｋ≦２５６０の情報長に用いられ得る。インデックスｉ＝０，…，７は、許可されたＺを識別する。図２４Ａ−１〜図２４Ａ−６及び図２４Ｂ−１〜図２４Ｂ−３は、第１のコードのリフティングテーブルを示す。図２４Ｃ−１〜図２４Ｃ−６及び図２４Ｄ−１〜図２４Ｄ−６は、第２のコードのリフティングテーブル２４０６、２４０８を示す。
【００８４】
図２５Ａ及び図２５Ｃは、リフティングテーブルＴ１及びリフティングテーブルＴ２を適用し、異なるコーディングレートＲについてのデコーダの性能７０２、７０６を示す。図２５Ｂ及び図２５Ｄは、本開示の複数の実施形態を実装しない関連グラフ７０４、７０６を示す。図２５Ａ及び図２５Ｂと、図２５Ｃ及び図２５Ｄとの比較から分かるように、本開示の複数の実施形態は、滑らかなグラフを示す。特に、広範囲の情報長ＫにテーブルＴ１及びテーブルＴ２を用いるコードの極めて良好な性能を示す滑らかなグラフにおいて、ピーク又はスパイクが見られない。
【００８５】
図２６は、ＬＤＰＣエンコーダ２６００の実施形態のブロック図である。ＬＤＰＣエンコーダ２６００は、リードオンリメモリ２６０２を含む。ここで、ベースＰＣＭ２６０６、１又は複数のリフティングテーブルＴ２６０８、２６１０、２６１２がＩ／Ｏメモリ２６１４及びパリティビットプロセッサ／ジェネレータ２６１６に格納される。エンコーダ２６００は、Ｋビットの入力ソースワードを受信し、Ｎビットの出力コードワードを生成する。Ｉ／Ｏメモリ２６１４は、入力されたＫビットの情報ワードを格納し、エンコーダ２６００によってＫビットの出力を生成するのに用いられる。リードオンリメモリ２６０２は、ベースコードのリフトシフト値及びリフティングテーブル２６０８、２６１０、２６１２を格納する。一実施形態において、リフティング関数がハードウェアに実装され、メモリに格納されない。リフティングテーブル２６０８、２６１０、２６１２は、図４Ａ〜図４Ｃ又は図２４Ａ−１〜図２４Ａ−６、図２４Ｂ−１〜図２４Ｂ−３、図２４Ｃ−１〜図２４Ｃ−６、及び図２４Ｄ−１〜図２４Ｄ−６に示されるリフティングテーブルのうちの１つを備え得る。パリティビットプロセッサ／ジェネレータ２６１６は、ベースＰＣＭ２６０６のうちの１つからオンザフライで生成される子ＰＣＭ（又はこの子ＰＣＭに対応する生成行列）を用いて、適切なＬＤＰＣエンコード方法を用いてＫビットの入力に従ってＮビットの出力コードワードを生成する。この子ＰＣＭ生成が、ベースＰＣＭ２６０６のそれぞれの非ゼロ巡回に対して子コードのオフセット値を生成し、リフトサイズのオフセット値及び／又は許可されたリフトサイズのうちの１を選択し、このリフトサイズのオフセット及びリフティング関数のうちの１つ又は入力の所与のサイズＫに適切なリフティングテーブル２６０８、２６１０、２６１２の選択されたインデックスに対応する関数のセット用いることによって実行される。Ｎビットの出力がその後Ｉ／Ｏメモリ２６１４に格納される。
【００８６】
図２７は、ＬＤＰＣデコーダ２７００の実施形態のブロック図である。ＬＤＰＣデコーダ２７００は、ベースＰＣＭ２７０６及び１又は複数のリフティングテーブルＴ２７０８、２７１０、２７１２を格納するリードオンリメモリ（ＲＯＭ）２７０２、Ｉ／Ｏメモリ２７１４、及び検査ノードプロセッサ２７１６を含む。デコーダ２７００は、長さＮの入力ＬＬＲ（対数尤度比（ｌｏｇ  ｌｉｋｅｌｉｈｏｏｄ  ｒａｔｉｏ））シーケンスを受信し、Ｋビットの出力を生成する。リードオンリメモリ２７０２は、ベースＰＣＭ２７０６及び（複数の）リフティングテーブル２７０８、２７１０、２７１２のリフトシフト値を格納する。リフティングテーブル２７０８、２７１０、２７１２は、リフトサイズのオフセット及び／又は許可された巡回サイズのインデックス、並びにリフティング関数に対応するインデックスを含む。Ｉ／Ｏメモリ２７１４は、ＬＬＲ値の長さＮの入力ベクトルを格納し、検査ノードプロセッサ２７１６によってＫビットの出力を生成するのに用いられる。Ｋビットの出力がその後Ｉ／Ｏメモリ２７１４に格納される。検査ノードプロセッサ２７１６は、ベースＰＣＭ２７０６のそれぞれの非ゼロ巡回について、ベースコードのシフト値から子コードのシフト値を生成し、巡回オフセット値のうちの１つ及び／又は許可された巡回サイズを選択し、それにリフティング関数又はリフティングテーブル２７０８、２７１０、２７１２のうちの１つの選択されたインデックスに対応する関数を適用することによって、ベースＰＣＭ２７０６のうちの１つからオンザフライで生成される子ＰＣＭ用いて、受信されたＮ個の構成要素の入力に従ってＫビットの出力情報ビットシーケンスを生成する。
【００８７】
図２８は、ＬＤＰＣ、本開示のリフティングテーブル、及び本開示のリフティング関数を用いてデータをエンコードする方法の一実施形態２８００のフローチャートである。方法２８００は、第１の段階、段階２８０２で、Ｋビットのソースワードを受信することを含む。次の段階、段階２８０４において、本開示のリフティングテーブル及びリフティング関数を用いてＮビットのコードワードを生成すべく、ＫビットのソースワードがＬＤＰＣコーダによってエンコードされる。次の段階、段階２８０６において、エンコーダは、その後、Ｎビットのコードワードを送信する。
【００８８】
図２９は、ＬＤＰＣ、本開示のリフティングテーブルＴ、及び本開示のリフティング関数を用いてデータをデコードする方法の一実施形態２９００のフローチャートである。方法２９００は、第１の段階、段階２９０２で、Ｎビットのソースワードを受信することを含む。次の段階、段階２９０４において本開示のリフティングテーブルＴ及びリフティング関数を用いてＫビットのソースワードを生成すべく、ＮビットのコードワードがＬＤＰＣコーダによってデコードされる。次の段階、段階２９０６において、デコーダは、その後、Ｋビットのソースワードを格納する。デコーダは、デコーダによって実行されるデコード操作で受信された情報シーケンスの冗長性を用いて受信された情報シーケンスの誤りを訂正し、デコードされた情報シーケンスを生成する。デコードされた情報シーケンスは、情報シーケンス（の推定）を取り出すことができるエンコードされた情報シーケンスの推定である。
【００８９】
図３０は、ホストデバイスに組み込まれ得、本明細書に記述される方法を実行する、一実施形態に係る処理システム３０００のブロック図を示す。示されるように、処理システム３０００は、プロセッサ３００４、メモリ３００６、インタフェース３０１０−３０１４を含み、これは、図３０に示されるように配置されてよい（又はされなくてよい）。プロセッサ３００４は、計算及び／又は他の処理関連タスクを実行するよう適合された任意の構成要素又は構成要素の集合であってよく、メモリ３００６は、プログラミング及び／又はプロセッサ３００４による実行のための命令を格納するよう適合された任意の構成要素又は構成要素の集合であってよい。一実施形態において、メモリ３００６は、非一時的コンピュータ可読媒体を含む。インタフェース３０１０、３０１２、３０１４は、処理システム３０００が他のデバイス／構成要素及び／又はユーザと通信することを可能にする任意の構成要素又は構成要素の集合であり得る。例えば、１又は複数のインタフェース３０１０、３０１２、３０１４は、プロセッサ３００４からホストデバイス及び／又はリモートデバイスにインストールされたアプリケーションにデータ、制御、又は管理メッセージを通信するよう適合され得る。他の例として、１又は複数のインタフェース３０１０、３０１２、３０１４は、ユーザ又はユーザデバイス（例えば、パーソナルコンピュータ（ＰＣ）等）が処理システム３０００と相互作用／通信することを可能にするよう適合され得る。処理システム３０００は、長期間ストレージ（例えば、不揮発性メモリ等）のような、図３０に示されていない追加の構成要素を含み得る。
【００９０】
いくつかの複数の実施形態において、処理システム３０００が電気通信ネットワークにアクセスしているか、又はさもなければ電気通信ネットワークの一部であるネットワークデバイスに含まれる。１つの例において、処理システム３０００は、基地局、リレー局、スケジューラ、コントローラ、ゲートウェイ、ルーター、アプリケーションサーバ、又は電気通信ネットワークの任意の他のデバイスのような、無線又は有線電気通信ネットワークのネットワーク側デバイスにある。他の実施形態において、処理システム３０００は、モバイル局、ユーザ機器（ＵＥ）、パーソナルコンピュータ（ＰＣ）、タブレット、ウェアラブル通信デバイス（例えば、スマートウォッチ等）、又は電気通信ネットワークにアクセスするよう適合された任意の他のデバイスのような、無線又は有線電気通信ネットワークにアクセスするユーザ側デバイスにある。
【００９１】
いくつか複数の実施形態において、１又は複数のインタフェース３０１０、３０１２、３０１４は、電気通信ネットワークを介して信号を送受信するよう適合された送受信機に処理システム３０００を接続する。
【００９２】
図３１は、電気通信ネットワークを介して信号を送受信するよう適合された送受信機３１００のブロック図を示す。送受信機３１００は、ホストデバイスに組み込まれ得る。示されるように、送受信機３１００は、ネットワーク側インタフェース３１０２、カプラ３１０４、送信機３１０６、受信機３１０８、信号プロセッサ３１１０、及びデバイス側インタフェース３１１２を含む。ネットワーク側インタフェース３１０２は、無線又は有線電気通信ネットワークを介して信号を送信又は受信するよう適合された任意の構成要素又は構成要素の集合を含み得る。カプラ３１０４は、ネットワーク側インタフェース３１０２を介して双方向性の通信を促進するよう適合された任意の構成要素又は構成要素の集合を含み得る。送信機３１０６は、ベースバンド信号をネットワーク側インタフェース３１０２を介して送信するのに適した変調キャリア信号に変換するよう適合された任意の構成要素又は構成要素の集合（例えば、アップコンバータ、パワー増幅器等）を含み得る。受信機３１０８は、ネットワーク側インタフェース３１０２を介して受信されたキャリア信号をベースバンド信号に変換するよう適合された任意の構成要素又は構成要素の集合（例えば、ダウンコンバータ、低ノイズ増幅器等）を含み得る。信号プロセッサ３１１０は、ベースバンド信号を（複数の）デバイス側インタフェース３１１２を介した通信に適したデータ信号に変換するよう、又はその逆も成立するよう適合された任意の構成要素又は構成要素の集合を含み得る。（複数の）デバイス側インタフェース３１１２は、ホストデバイス（例えば、処理システム８００ローカルエリアネットワーク（ＬＡＮ）ポート等）において信号プロセッサ３１１０と構成要素との間でデータ信号を通信するよう適合された任意の構成要素又は構成要素の集合を含み得る。
【００９３】
送受信機３１００は、任意のタイプの通信媒体を介して信号を送受信し得る。いくつか複数の実施形態において、送受信機３１００は、無線媒体を介して信号を送信及び受信する。例えば、送受信機３１００は、セルラプロトコル（例えば、ロングタームエボリューション（ＬＴＥ）等）、無線ローカルエリアネットワーク（ＷＬＡＮ）プロトコル（例えば、Ｗｉ−Ｆｉ等）、又は任意の他のタイプの無線プロトコル（例えば、Ｂｌｕｅｔｏｏｔｈ（登録商標）、近距離無線通信（ＮＦＣ）等）のような、無線電気通信プロトコルに従って通信するよう適合された無線送受信機であり得る。そのような複数の実施形態において、ネットワーク側インタフェース３１０２は、１又は複数のアンテナ／放射素子を含む。例えば、ネットワーク側インタフェース３１０２は、単一のアンテナ、複数の別個のアンテナ、又はマルチレイヤ通信用に構成されるマルチアンテナアレイ、例えば、単入力多出力（ＳＩＭＯ）、多入力単出力（ＭＩＳＯ）多入力多出力（ＭＩＭＯ）等、を含み得る。他の実施形態において、送受信機３１００は、有線媒体、例えば、ツイストペアケーブル、同軸ケーブル、光ファイバ等、を介して信号を送信及び受信する。特定の処理システム及び／又は送受信機は、示される構成要素のすべて、又は構成要素のサブセットのみを利用してよく、統合のレベルはデバイスごとに異なってよい。
【００９４】
図３２は、本開示の方法及びシステムが実装され得る、一実施形態に係るデータを通信するためのネットワーク３２００を示す。ネットワーク３２００は、複数のネットワーク構成要素を含む。ネットワーク構成要素は、アクセスポイント（ＡＰ）、局（ＳＴＡ）（例えば、無線電話のような無線デバイス又はユーザ機器（ＵＥ）等）、又は任意の他の無線受信ポイントを含み得る。一実施形態において、ネットワーク３２００は、カバレージエリア３２１２、複数のＳＴＡ３２２０、及びバックホールネットワーク３２３０を有するアクセスポイント（ＡＰ）３２１０を含む。一実施形態において、ＡＰは、図３１に示される送受信機３１００として実装され得る。一実施形態において、ＳＴＡ３２２０は、例えば、図３０に示される処理システム３０００として実装され得る。本明細書で用いられるように、用語ＡＰはまた、送信ポイント（ＴＰ）と称されてよく、２つの用語が本開示の全体にわたって区別なく用いられてよい。様々な実施形態において、ＡＰ３２１０は、ベーストランシーバ基地局（ＢＴＳ）とも称される基地局（ＢＳ）であり得る。ＢＳの例は、ｅＮｏｄｅＢ（ｅＮＢ）、ｇＮＢ等を含む。一実施形態において、ＡＰ３２１０は、無線ルーターであり得る。従って、ＡＰ３２１０は、とりわけ、ＳＴＡ３２２０とアップリンク（破線）及び／又はダウンリンク（点線）接続を確立することによって、無線アクセスを提供することが可能な任意の構成要素を含み得る。ＳＴＡ３２２０は、ＡＰ３２１０と無線接続を確立することが可能任意の構成要素を含み得る。ＳＴＡ３２２０の例は、モバイルフォン、タブレットコンピュータ、及びラップトップコンピュータを含む。バックホールネットワーク３２３０は、ＡＰ３２１０とリモートエンド（不図示）との間でデータを交換することを可能にする任意の構成要素又は構成要素の集合であり得る。いくつかの複数の実施形態において、ネットワーク３２００は、リレー、フェムトセル等のような、様々な他の無線デバイスを含み得る。
【００９５】
本明細書で提供される実施形態の方法の１又は複数の段階が、対応するユニット又はモジュールによって実行され得ることを理解されたい。例えば、信号は、送信ユニット又は送信モジュールによって送信され得る。信号は、受信ユニット又は受信モジュールによって受信され得る。信号は、処理ユニット又は処理モジュールによって処理され得る。他の段階は、反復ユニット／モジュール、差分ユニット／モジュール、調整ユニット／モジュール、生成ユニット／モジュール、計算ユニット／モジュール、割り当てユニット／モジュール、インクリメントユニット／モジュール、デクリメントユニット／モジュール、及び／又は設定ユニット／モジュールによって実行され得る。それぞれのユニット／モジュールは、ハードウェア、ソフトウェア、又はこれらの組み合わせであり得る。例えば、１又は複数のユニット／モジュールは、フィールドプログラマブルゲートアレイ（ＦＰＧＡ）又は特定用途向け集積回路（ＡＳＩＣ）のような、集積回路であり得る。
【００９６】
一実施形態において、データをエンコード及びデコードするためにベースコードから子コードをリフティングする方法は、リフティングテーブルに格納されるデータを用いて、情報長及びコードレートに従って、巡回サイズ、リフティング関数、及びラベル付けされたベース行列ＰＣＭの単一の組み合わせを決定する段階を含む。リフティングテーブルは、コード生成段階で定義された。方法はまた、子コードに対する複数のシフトを計算する段階を含む。それぞれのシフトが、巡回サイズを用いて定義されたインデックスを有するラベル付けされたベース行列ＰＣＭにリフティング関数を適用することによって計算される。方法はまた、導出された子ＰＣＭを用いてデータをエンコード又はデコードする段階を含む。方法はまた、巡回サイズ、リフティング関数、及びラベル付けされたＰＣＭの単一の組み合わせに従って、並びに子コードに対する複数のシフトのうちの１つに従って、子ＰＣＭを導出する段階を含む。方法はまた、導出された子ＰＣＭを用いてデータをエンコード又はデコードする段階を含む。
【００９７】
本開示の一実施形態は、コードを生成する方法を提供する。方法は、それぞれのコーディングレートＲ及びそれぞれの情報長Ｋに対するリフトサイズＺの許可されたサブセットを決定する段階を含む。方法はまた、それぞれのコードレートＲ及びそれぞれの許可されたＺに対する少なくとも１つのリフティング関数ｆｉを決定する段階を含む。方法はまた、単一のプロトグラフを記述する複数のベースＰＣＭのセットを決定する段階を含む。複数のベースＰＣＭは、コーディングレートＲ及び許可されたＺに基づいている。方法はまた、リフトサイズＺ、リフティング関数ｆｉ、及びベースＰＣＭｔの単一の組み合わせを選択する段階を含む。方法はまた、それぞれの情報長及びそれぞれのコーディングレートに対する単一の組み合わせに対応する、巡回サイズオフセット及び／又は巡回サイズインデックス、リフティング関数インデックス、並びにベースコードインデックスを格納する段階を含む。
【００９８】
本開示の一実施形態は、送信側でデバイスを操作する方法を提供する。方法は、エンコーダで、情報ビットをコードワードにエンコードする段階を含む。方法はまた、送信機で、信号を受信側に送信する段階を含む。信号は、コードワードを含む。情報ビットが、複数のラベル付けされたベースＰＣＭを用いてエンコードされる。複数のラベル付けされたベースＰＣＭが、単一のプロトグラフを記述する単一のベースＰＣＭから導出される。
【００９９】
本開示の一実施形態は、受信側でデバイスを操作する方法を提供する。方法は、受信機で、送信側から信号を受信する段階を含む。信号は、コードワードを含む。方法はまた、デコーダで、情報ビットを抽出することを適用することによってコードワードをデコードする段階を含む。情報ビットが、複数のラベル付けされたベースＰＣＭを用いてデコードされる。複数のラベル付けされたベースＰＣＭが、単一のプロトグラフを記述する単一のベースＰＣＭから導出される。
【０１００】
一実施形態において、エンコーダ又はデコーダは、プロセッサ及びプロセッサによる実行のためのプログラミングを格納するコンピュータ可読ストレージ媒体を含む。プログラミングは、コード生成段階で定義されたリフティングテーブルに格納されるデータを用いて、情報長及びコードレートに従って、巡回サイズ、リフティング関数、及びラベル付けされたＰＣＭの単一の組み合わせを決定するための命令を含む。プログラミングはまた、子コードに対する複数のシフトを計算するための命令を含む。それぞれのシフトが、巡回サイズを用いて定義されたインデックスを有するラベル付けされたＰＣＭにリフティング関数を適用することによって計算される。プログラミングはまた、巡回サイズ、リフティング関数、及びラベル付けされたＰＣＭの単一の組み合わせに従って、並びに子コードに対する複数のシフトのうちの１つに従って、子ＰＣＭを導出するための命令を含む。プログラミングはまた、導出された子ＰＣＭを用いてデータをエンコード又はデコードするための命令を含む。
【０１０１】
本開示の１又は複数の態様において、事前に定義された位置に対する非ゼロ巡回のシフトは不変である。
【０１０２】
本開示の１又は複数の態様において、ラベル付けされたＰＣＭがベースコードから導出される。ベースコードが、図５Ａに示されるＰＣＭによって表される。
【０１０３】
本開示の１又は複数の態様において、ラベル付けされたＰＣＭが、ベースコードから導出される。ベースコードは、ＰＣＭによって表される。
【０１０４】
本開示の１又は複数の態様において、ラベル付けされたＰＣＭは、ＰＣＭ０〜ＰＣＭ７のうちの１つによって表されるラベル付けされたＰＣＭである。
【０１０５】
本開示の１又は複数の態様において、ラベル付けされたＰＣＭは、ＰＣＭ０〜ＰＣＭ７のうちの１つによって表されるラベル付けされたＰＣＭである。
【０１０６】
本開示の１又は複数の態様において、ラベル付けされたＰＣＭは、ラベル付けされたＰＣＭである。
【０１０７】
本開示の１又は複数の態様において、リフティング関数が、単一のリフティング関数から選択される。
【０１０８】
本開示の１又は複数の態様において、リフティング関数が複数のリフティング関数から選択される。
【０１０９】
本開示の１又は複数の態様において、ラベル付けされたベース行列ＰＣＭが、巡回サイズから直接導出される。
【０１１０】
本開示の１又は複数の態様において、巡回サイズはＺである。ここで、Ｚ＝ａ×２ｓである。
【０１１１】
本開示の１又は複数の態様において、リフティング関数は、コードのシフト値を提供する。
【０１１２】
一実施形態において、データをエンコード又はデコードするためにコードを生成する方法は、それぞれのコーディングレートＲ及びそれぞれの情報長Ｋに対する許可されたリフトサイズＺのサブセットを決定する段階を含む。方法はまた、それぞれのコードレートＲ及び許可されたリフトサイズＺのサブセットのそれぞれのＺに対する少なくとも１つのリフティング関数ｆｉを決定する段階を含む。方法はまた、単一のプロトグラフを記述するラベル付けされたＰＣＭのセットを決定する段階を含む。ラベル付けされたＰＣＭは、コーディングレートＲ及び許可されたリフトサイズＺのサブセットに基づいている。方法はまた、リフトサイズＺ、リフティング関数ｆ、及びラベル付けされたＰＣＭｔの単一の組み合わせを選択する段階を含む。方法はまた、それぞれの情報長及びそれぞれのコーディングレートに対する単一の組み合わせに対応する、巡回サイズオフセット及び／又は巡回サイズインデックス、リフティング関数インデックス、並びにラベル付けされたＰＣＭインデックスを格納する段階を含む。
【０１１３】
本開示の１又は複数の態様において、単一のプロトグラフを記述するラベル付けされたＰＣＭのセットは、図５Ａに示されるＰＣＭに基づいている。
【０１１４】
本開示の１又は複数の態様において、単一のプロトグラフを記述するラベル付けされたＰＣＭのセットは、ＰＣＭに基づいている。
【０１１５】
本開示の１又は複数の態様において、リフティング関数が、単一のリフティング関数から選択される。
【０１１６】
一実施形態において、送信側でデバイスを操作する方法は、エンコーダで、情報ビットをコードワードにエンコードする段階を含む。方法はまた、送信機で、信号を受信側に送信する段階を含む。信号は、コードワードを含む。情報ビットが、複数のラベル付けされたベースＰＣＭを用いてエンコードされる。複数のラベル付けされたベースＰＣＭが、単一のプロトグラフを記述する単一のベースＰＣＭから導出される。
【０１１７】
本開示の１又は複数の態様において、情報ビットは、異なるビット長を有し、異なるコーディングレートでエンコードされる。
【０１１８】
本開示の１又は複数の態様において、ラベル付けされたベースＰＣＭが、コーディングレートに従って選択される。
【０１１９】
本開示の１又は複数の態様において、エンコードする段階は、コーディングレートが第１のコーディングレートから第２のコーディングレートに変化するときに、第１のラベル付けされたＰＣＭから第２のラベル付けされたＰＣＭにスイッチする段階を含む。
【０１２０】
本開示の１又は複数の態様において、エンコードする段階は、リフトサイズが第１のリフトサイズから第２のリフトサイズに変化するときに、第１のラベル付けされたＰＣＭから第２のラベル付けされたＰＣＭにスイッチする段階を含む。第１のリフトサイズ及び第２のリフトサイズは、異なる情報ビット長によって決まる。
【０１２１】
本開示の１又は複数の態様において、情報ビットをコードワードにエンコードする段階は、リフティングテーブルに従って、情報ビットをコードワードにエンコードする段階を含む。インデックスは、ラベル付けされたベースＰＣＭを表す。Ｚは、リフトサイズを表す。Ｚは、情報ビット長に依存している。
【０１２２】
本開示の１又は複数の態様において、情報ビットをコードワードにエンコードする段階は、リフティングテーブルに従って、情報ビットをコードワードにエンコードする段階を含む。インデックスは、ラベル付けされたベースＰＣＭを表す。Ｚは、リフトサイズを表す。
【０１２３】
本開示の１又は複数の態様において、情報ビットをコードワードにエンコードする段階は、リフティングテーブルに従って、情報ビットをコードワードにエンコードする段階を含む。インデックスは、ラベル付けされたベースＰＣＭを表す。Ｚは、リフトサイズを表す。
【０１２４】
本開示の１又は複数の態様において、情報ビットをコードワードにエンコードする段階は、リフティングテーブルに従って、情報ビットをコードワードにエンコードする段階を含む。インデックスは、ラベル付けされたベースＰＣＭを表す。Ｚは、リフトサイズを表す。
【０１２５】
本開示の１又は複数の態様において、ベースＰＣＭが、図５Ａに示されるＰＣＭによって表される。
【０１２６】
本開示の１又は複数の態様において、ベースＰＣＭが、ＰＣＭによって表される。
【０１２７】
一実施形態において、受信側でデバイスを操作する方法は、受信機で、送信側から信号を受信する段階を含む。信号は、コードワードを含む。方法はまた、デコーダで、情報ビットを抽出することを適用することによってコードワードをデコードする段階を含む。情報ビットが、複数のラベル付けされたベースＰＣＭを用いてデコードされる。複数のラベル付けされたベースＰＣＭが、単一のプロトグラフを記述する単一のベースＰＣＭから導出される。
【０１２８】
本開示の１又は複数の態様において、情報ビットは、異なるビット長を有し、異なるコーディングレートでデコードされる。
【０１２９】
本開示の１又は複数の態様において、ラベル付けされたベースＰＣＭが、コーディングレートに従って選択される。
【０１３０】
本開示の１又は複数の態様において、デコードする段階は、コーディングレートが第１のコーディングレートから第２のコーディングレートに変化するときに、第１のラベル付けされたＰＣＭから第２のラベル付けされたＰＣＭにスイッチする段階を備える。
【０１３１】
本開示の１又は複数の態様において、デコードする段階は、リフトサイズが第１のリフトサイズから第２のリフトサイズに変化するときに、第１のラベル付けされたＰＣＭから第２のラベル付けされたＰＣＭにスイッチする段階を含む。第１のリフトサイズ及び第２のリフトサイズは、異なる情報ビット長によって決まる。
【０１３２】
本開示の１又は複数の態様において、コードワードを情報ビットにデコードする段階は、リフティングテーブルに従って、コードワードを情報ビットにデコードする段階を含む。インデックスは、ラベル付けされたベースＰＣＭを表す。Ｚは、リフトサイズを表す。Ｚは、情報ビット長に依存している。
【０１３３】
本開示の１又は複数の態様において、コードワードを情報ビットにデコードする段階は、リフティングテーブルに従って、コードワードを情報ビットにデコードする段階を含む。インデックスは、ラベル付けされたベースＰＣＭを表す。Ｚは、リフトサイズを表す。
【０１３４】
本開示の１又は複数の態様において、コードワードを情報ビットにデコードする段階は、リフティングテーブルに従って、コードワードを情報ビットにデコードする段階を含む。インデックスは、ラベル付けされたベースＰＣＭを表す。Ｚは、リフトサイズを表す。
【０１３５】
本開示の１又は複数の態様において、コードワードを情報ビットにデコードする段階は、リフティングテーブルに従って、コードワードを情報ビットにデコードする段階を含む。インデックスは、ラベル付けされたベースＰＣＭを表す。Ｚは、リフトサイズを表す。
【０１３６】
本開示の１又は複数の態様において、ベースＰＣＭが、図５Ａに示されるＰＣＭによって表される。
【０１３７】
本開示の１又は複数の態様において、ベースＰＣＭが、ＰＣＭによって表される。
【０１３８】
一実施形態において、エンコーダ又はデコーダは、プロセッサと、プロセッサによる実行のためのプログラミングを格納するコンピュータ可読ストレージ媒体とを含む。プログラミングは、コード生成段階で定義されたリフティングテーブルに格納されるデータを用いて、情報長及びコードレートに従って、巡回サイズ、リフティング関数、及びラベル付けされたＰＣＭの単一の組み合わせを決定するための命令を含む。プログラミングはまた、子コードに対する複数のシフトを計算するための命令を含む。それぞれのシフトが、巡回サイズを用いて定義されたインデックスを有するラベル付けされたＰＣＭにリフティング関数を適用することによって計算される。プログラミングはまた、導出された子ＰＣＭを用いてデータをエンコード又はデコードするための命令を含む。
【０１３９】
以下の参考文献の内容が、その全体が複製されているかのように、参照により本明細書に組み込まれる。
・オフセットリフティング方法（ＯＦＦＳＥＴ  ＬＩＦＴＩＮＧ  ＭＥＴＨＯＤ）と題され、２０１７年２月３日に出願された仮出願第６２／４５４，４１６号（ＨＷ８５３３８０１６ＵＳ０１）
・オフセットリフティング方法（ＯＦＦＳＥＴ  ＬＩＦＴＩＮＧ  ＭＥＴＨＯＤ）と題され、２０１８年２月２日に出願された米国特許出願第１５／８８７，１４８号（ＨＷ８５３３８０１６ＵＳ０２）
【０１４０】
本開示は、例示的な実施形態に関連して説明されたが、この説明は、限定の意味として解釈されることを意図していない。本開示の他の実施形態だけでなく、例示的な実施形態の様々な修正及び組み合わせが、当業者が説明を参照することにより明らかになるであろう。従って、添付の特許請求の範囲は、あらゆるこのような修正又は実施形態を包含することを意図するものである。
【国際調査報告】
2020520143.tif 000123
2020520143.tif 000124
2020520143.tif 000125
2020520143.tif 000126
2020520143.tif 000127