(57)【要約】  非正則QC-LDPC行列の基本行列に基づく、効率的に復号可能なQC-LDPCコードが提供され、基本行列は列と行によって形成されており、列はパンクチャド変数ノード（すなわち、エンコーダによって使用されるが、デコーダに送信されないか、デコーダによって受信されないとして有効に扱われない情報ビットに対応する変数ノード）に対応する1つまたは複数の列および非パンクチャド変数ノードに対応する列に分割可能であり、行は高密度行（すなわち、第1の重みを上回る重みを有する行）および低密度行（すなわち、第2の重みを下回る重みを有する行であって、第2の重みは第1の重み以下である）に分割可能であり、低密度行と非パンクチャド変数ノードに対応する列の重複によって定義される行列は、直交行のグループに分割可能である。
2019536341.tif 000002
【特許請求の範囲】
【請求項１】
方法であって、情報ビットのシーケンスを符号化または復号化するための非正則QC-LDPCコードの基本行列のエントリを提供するステップであって、前記エントリは非正則QC-LDPC行列のブロックを表し、各ブロックはシフトされた巡回行列またはゼロ行列を表す、ステップと、
前記基本行列の行を第1のセットおよび第2のセットに分割するステップであって、前記第1のセットの前記行は前記第2のセットの前記行よりも高い重みを有する、ステップと、
前記第2のセットの前記行によって形成される行列のいくつかの列を選択するステップであって、前記選択された列によって形成されるサブ行列の行は異なるグループに分割され、各グループは最大数の直交行から成り、前記選択はいくつかの異なるグループに基づく、ステップと、
選択されていない列に対応する情報ビットをパンクチャドとして示すステップとを含む方法。
【請求項２】
選択されていない列の数は1または2である、請求項1に記載の方法。
【請求項３】
前記第2のセットの前記行によって形成される前記行列の前記いくつかの列を選択するステップは、前記第2のセットの前記行によって形成される前記行列の前記列を、重みによって順序付けまたはグループ分けし、閾値未満の重みを有する列を選択するステップ含む、請求項1または2に記載の方法。
【請求項４】
前記第1のセットの前記行によって形成される行列の列のサブセットから成る行列は、二重対角または三角構造を有する、請求項1乃至3のいずれか1項に記載の方法。
【請求項５】
前記第2のセットの前記行によって形成される前記行列の列のセブセットから成る行列は、三角行列または単位行列構造を有する、請求項1乃至4のいずれか1項に記載の方法。
【請求項６】
非パンクチャド情報ビットに対応する前記第1のセットの前記行によって形成される前記行列の列によって形成される行列の行は、各グループが直交行から成る、異なるグループに分割される、請求項1乃至5のいずれか1項に記載の方法。
【請求項７】
前記基本行列の前記提供されたエントリに基づいて、情報ビットの前記シーケンスに対応する符号語を決定するステップと、
パンクチャドとして示されている情報ビットを除いて前記符号語を送信するステップとをさらに含む、請求項1乃至6のいずれか1項に記載の方法。
【請求項８】
前記基本行列の前記提供されたエントリと、どの情報ビットがパンクチャドであるかに関する情報とに基づいて、情報ビットの受信されたシーケンスを復号化するステップであって、前記復号化は、フラッディングおよび階層復号化操作を含み、層は前記異なるグループに対応する、ステップをさらに含む、請求項1乃至7のいずれか1項に記載の方法。
【請求項９】
デコーダであって、
非正則QC-LDPCコードの基本行列のエントリを記憶する非一時的メモリであって、前記基本行列の列は第1のセットおよび第2のセットに分割され、前記第1のセットは1つまたは複数の列を含み、前記第2のセットの前記列は直交行のグループを含む行列を形成する、非一時的メモリを含み、
前記デコーダは、前記第1のセットの前記1つまたは複数の列に対応する変数ノードのためのフラッディング復号化プロセスと、前記第2のセットの前記列に対応するノードのための階層復号化プロセスとに基づいて、情報ビットの受信されたシーケンスを復号化するように構成される、デコーダ。
【請求項１０】
前記第1のセットの前記1つまたは複数の列に対応する前記変数ノードは、パンクチャドとして示される、請求項9に記載のデコーダ。
【請求項１１】
前記第1のセット内の列の数は1または2である、請求項9または10に記載のデコーダ。
【請求項１２】
前記基本行列の行は第1のセットおよび第2のセットに分割され、前記第1のセットの前記行は前記第2のセットの前記行よりも高い重みを有する、請求項9乃至11のいずれか1項に記載のデコーダ。
【請求項１３】
前記第1のセットの前記行によって形成される行列の列のサブセットから成る行列は、二重対角または三角構造を有する、請求項12に記載のデコーダ。
【請求項１４】
前記第2のセットの前記行によって形成される前記行列の列のセブセットから成る行列は、三角行列または単位行列構造を有する、請求項12または13に記載のデコーダ。
【請求項１５】
前記第2のセットの前記列と前記第1のセットの前記行の重複エントリよって形成される行列の行は、各グループが直交行から成る異なるグループに分割される、請求項12乃至14のいずれか1項に記載のデコーダ。
【請求項１６】
命令を記憶する非一時的コンピュータ可読媒体であって、前記命令は、コンピュータによって実行されると、非正則QC-LDPC行列の基本行列を前記コンピュータに提供させ、前記基本行列は列と行によって形成されており、前記列はパンクチャド変数ノードに対応する1つまたは複数の列および非パンクチャド変数ノードに対応する列に分割可能であり、前記行は第1の重みを上回る重みを有する第1の行および第2の重みを下回る重みを有する第2の行に分割可能であり、前記第2の重みは前記第1の重み以下であり、前記第2の行と前記非パンクチャド変数ノードに対応する前記列との重複は直交行ベクトルのグループに分割可能である、非一時的コンピュータ可読媒体。
【請求項１７】
装置であって、
基本行列に基づいて、情報ビットのシーケンスを符号化または復号化するように構成される少なくとも1つのプロセッサを含み、
前記基本行列は複数の行および列を含み、前記複数の列は少なくとも1つのパンクチャド列および複数の非パンクチャド列を含み、
前記複数の行は第1のセットおよび第2のセットを含み、前記非パンクチャド列に対する前記第2のセットの行は少なくとも1つのグループを含み、前記少なくとも1つのグループの各々は、少なくとも2つの連続する直交行を含む、装置。
【請求項１８】
前記非パンクチャド列に対する前記第2のセットの前記行は2以上のグループを含み、前記2以上のグループは連続している、請求項17に記載の装置。
【請求項１９】
前記第2のセットの各隣接する2つの行は直交している、請求項17または18に記載の装置。
【請求項２０】
前記基本行列は、46行68列を含む、請求項17乃至19のいずれか1項に記載の装置。
【請求項２１】
第1の列および第2の列は前記パンクチャド列である、請求項17乃至20のいずれか1項に記載の装置。
【請求項２２】
前記基本行列は、第1の行から始まる複数の行を有するコア基本行列を含み、行の前記第1のセットは前記第1の行から始まり、行の前記第2のセットは前記第1のセットの最後の行の次の行から始まる、請求項17乃至21のいずれか1項に記載の装置。
【請求項２３】
前記第2のセットの行は第4の行から始まり、または、前記第4の行よりも大きい前記行から始まる、請求項17乃至22のいずれか1項に記載の装置。
【請求項２４】
方法であって、
符号化または復号化されるべき情報ビットのシーケンスを取得するステップと、
基本行列に基づいて、情報ビットの前記シーケンスを符号化または復号化するステップであって、前記基本行列は複数の行および列を含み、前記複数の列は少なくとも1つのパンクチャド列および複数の非パンクチャド列を含み、前記複数の行は第1のセットおよび第2のセットを含み、前記非パンクチャド列に対する前記第2のセットの行は少なくとも1つのグループを含み、前記少なくとも1つのグループの各々は、少なくとも2つの連続する直交行を含む、ステップとを含む方法。
【請求項２５】
装置であって、
符号化または復号化されるべき情報ビットのシーケンスを取得するための手法と、
基本行列に基づいて、情報ビットの前記シーケンスを符号化または復号化するための手法であって、前記基本行列は複数の行および列を含み、前記複数の列は少なくとも1つのパンクチャド列および複数の非パンクチャド列を含み、前記複数の行は第1のセットおよび第2のセットを含み、前記非パンクチャド列に対する前記第2のセットの行は少なくとも1つのグループを含み、前記少なくとも1つのグループの各々は、少なくとも2つの連続する直交行を含む、手法とを含む装置。
【請求項２６】
前記非パンクチャド列に対する前記第2のセットの前記行は2以上のグループを含み、前記2以上のグループは連続している、請求項24または25に記載の方法または装置。
【請求項２７】
前記第2のセットの各隣接する2つの行は直交している、請求項24乃至26のいずれか1項に記載の方法または装置。
【請求項２８】
前記基本行列は、46行68列を含み、請求項24乃至27のいずれか1項に記載の方法または装置。
【請求項２９】
第1の列および第2の列は前記パンクチャド列である、請求項24乃至28のいずれか1項に記載の方法または装置。
【請求項３０】
前記基本行列は、第1の行から始まる複数の行を有するコア基本行列を含み、行の前記第1のセットは前記第1の行から始まり、行の前記第2のセットは前記第1のセットの最後の行の次の行から始まる、請求項24乃至29のいずれか1項に記載の方法または装置。
【請求項３１】
前記第2のセットの行は第4の行から始まり、または、前記第4の行よりも大きい前記行から始まる、請求項24乃至30のいずれか1項に記載の方法または装置。
【請求項３２】
前記装置は、基地局または端末に配置される、請求項17乃至31のいずれか1項に記載の装置。
【請求項３３】
請求項17乃至31のいずれか1項に記載の前記装置を含む、通信システム。
【請求項３４】
コンピュータ上で実行されると、前記コンピュータに、請求項24乃至31のいずれか1項に記載の前記方法を実行させる命令を含む、コンピュータ可読記憶媒体。
【請求項３５】
コンピュータ上で実行されると、前記コンピュータに、請求項24乃至31のいずれか1項に記載の前記方法を実行させる命令を含む、コンピュータプログラム製品。
【発明の詳細な説明】
【技術分野】
【０００１】
本開示は通信分野に関し、詳細には、データを符号化および復号化するための技術に関する。
【背景技術】
【０００２】
低密度パリティ検査（LDPC）コードは、前方エラー訂正（FEC）スキームにおいて使用されるチャネルコードである。LDPCコードは、その優れた性能でよく知られており、近年では大きな注目を受けてきた。これは、シャノン限界に近いパフォーマンスを達成するその能力、ハードウェアにおける高い並列化を達成するコードを設計する能力およびその高いデータレートのサポートによるものである。結果として、現在アクティブな電気通信規格の多くは、それらの物理層FECスキームにおいてLDPCコードを有する。LDPCコードは、次世代の通信システム符号化規格であると考えられている。
【０００３】
準巡回低密度パリティ検査（QC-LDPC）コードは、非正則QC-LDPC行列の基本行列に基づいており、基本行列は列と行によって形成されており、列はパンクチャド変数ノード（すなわち、エンコーダによって使用されるが、デコーダに送信されないか、デコーダによって受信されないとして有効に扱われない情報ビットに対応する変数ノード）に対応する1つまたは複数の列および非パンクチャド変数ノードに対応する列に分割可能であり、行は高密度行（すなわち、第1の重みを上回る重みを有する行）および低密度行（すなわち、第2の重みを下回る重みを有する行であって、第2の重みは第1の重み以下である）に分割可能である。
【０００４】
チャネル符号化に対する既知のアプローチは多種多様なシナリオに対して良好に実行することが証明されている一方で、適切な符号化/復号化リソースによって高データスループットを達成する洗練された解決手段を提供するための進行中の研究が依然として存在する。
【発明の概要】
【課題を解決するための手段】
【０００５】
本発明の第1の態様によると、方法が提供され、方法は、情報ビットのシーケンスを符号化または復号化するための非正則QC-LDPCコードの基本行列のエントリを提供するステップであって、エントリは非正則QC-LDPC行列のブロックを表し、各ブロックはシフトされた巡回行列またはゼロ行列を表す、ステップと、基本行列の行を第1のセットおよび第2のセットに分割するステップであって、第1のセットの行は第2のセットの行よりも高い重みを有する、ステップと、第2のセットの行によって形成される行列のいくつかの列を選択するステップであって、選択された列によって形成されるサブ行列の行は異なるグループに分割され、各グループは最大数の直交行から成り、選択はいくつかの異なるグループに基づく、ステップと、選択されていない列に対応する情報ビットをパンクチャドとして示すステップとを含む。
【０００６】
非正則QC-LDPC行列の1つまたは複数の高重み列に対応する情報ビットをパンクチャリングすることは、高重み列に関するフラッディング復号化と組み合わせて、「残りの」直交サブ行（または行ベクトル）の異なるグループに関して階層復号化を可能にし、それによって、高品質コードを維持しながら、復号中に高度の並列性を達成する。従って、パンクチャドにならない列を選択することは、あまりに多くの列（例えば、閾値によって与えられるものを超える）に対応する情報ビットがパンクチャされることを回避しながら、直交サブ行（または行ベクトル）の異なるグループの数を可能な限り高く保つことに努める。
【０００７】
これに関して、本明細書および特許請求の範囲を通して使用される「巡回行列」という用語はN×Nサイズの二次行列、例えば単位行列を特に指し、ここで、各行ベクトルは前の行ベクトルに対して1要素右にシフトすることは留意される。さらに、「巡回サイズ」という用語は、巡回のサイズNを指す。さらに、本明細書および特許請求の範囲を通して使用される「基本行列」という用語は、シフト値でラベル付けされたアレイを特に指す。基本行列の各シフト値は、巡回の行、例えば、単位行列が基本行列によって定義されるQC-LDPC行列の対応するサブ行列を生成するために巡回的に（右に）シフトされるべき回数を与える。
【０００８】
さらに、QC-LDPCコードおよびLDPCコードがしばしば交互に使用されることは留意されるが、当業者はこれらの意味を理解することができる。本明細書および特許請求の範囲を通して使用される「重み」という用語は、シフト値でラベル付けされた基本行列の行または列におけるエントリ、すなわち、ゼロ行列を表さない基本行列の行または列におけるエントリの数を特に指し、これは、QC-LDPC行列の対応する行および列における「1」の数に等しい。これに関して、本明細書および特許請求の範囲を通して使用される「重み」という用語は、同じまたは同様の意味を有する「節度」または「密度」という用語によって交換可能であることは留意される。さらに、情報ビット（または対応する変数ノードまたは対応する列）に関して本明細書および特許請求の範囲を通して使用される「パンクチャド」という用語は、情報ビットが、エンコーダによってのみ使用されるが、デコーダに送信されないか、デコーダによって受信されないとして有効に扱われないことを特に示す。さらに、列、ノードおよび情報ビットに関して、本明細書および特許請求の範囲を通して使用される「対応する」という用語は、QC-LDPC行列のタナーグラフ表現に関する、列と変数ノード/情報ビットとの間のマッピングを特に指す。
【０００９】
さらに、「行列」を形成する値は必ずしも物理的に格納される必要も、行列（またはアレイ）形式で表される必要もなく、行列を含むプロセスを通して行列代数で使用される必要もないことは留意されるべきである。むしろ、本明細書および特許請求の範囲を通して使用される「行列」という用語は、割り当てられた行および列のインデックスを有する（整数）値のセットを等しく指してもよく、（論理）メモリアレイに格納された（整数）値のセットを等しく指してもよい。さらに、行列代数を含まない場合、または、それぞれの行列代数ルーチンが適切に再定義されている場合、行および列の観念は変更されても、または自由に選択されることさえできる。しかしながら、本明細書および特許請求の範囲を通して、これは当技術分野で通常使用される数学的概念および表記法に準拠しており、それらは同等の数学的概念および表記法を包含するものとして理解されるべきである。
【００１０】
第1の態様に係る方法の第1の可能な実施形態では、選択されていない列の数は1または2である。
【００１１】
従って、比較的少数の選択されていない列があってよく、これらはしかしながら、比較的高い重み（例えば、選択された列の平均重みの2倍または3倍よりも大きい）を有し、それによって、残りの（選択された）サブ行（または行ベクトル）のグループ内で直交性を実現するために「分離」（または非重複セットまたはグループに分割）されなければいけない比較的少数の列により、復号中に高度の並列性を効果的に可能にしながら、直交サブ行（または行ベクトル）のグループの良好な「連結性」を提供する。
【００１２】
第1の態様自身に係る、または第1の態様の第1の実施形態に係る方法の第2の可能な実施形態では、第2のセットの行によって形成される行列のいくつかの列を選択するステップは、第2のセットの行によって形成される行列の列を、重みによって順序付けまたはグループ分けし、閾値未満の重みを有する列を選択するステップ含む。
【００１３】
従って、多数の直交サブ行（または行ベクトル）を有するグループが達成されることができ、これは、復号中のより高度の並列性を可能にする。
【００１４】
第1の態様自身に係る、または第1の態様の第1または第2の実施形態に係る方法の第3の可能な実施形態では、第1のセットの行によって形成される行列の列のサブセットから成る行列は、二重対角または三角構造を有する。
【００１５】
従って、非正則QC-LDPC行列の高密度部分は、二重対角または三角構造を有するパリティ部分を有することによって符号化を容易にする。これはまた、低密度部分から削除された行数（および、例えば、行の削除が空の列を残す場合、対応する列）は、しかしながら、高密度部分の符号化/復号化特性には有効に触れずに、コードのレートを変更することを可能にするため、レート適応性に対するコードの感受性を高める。これに関して、方法はまた、非正則QC-LDPC行列の第2のセットのいくつかの行（および対応する列）を削除して、非正則QC-LDPCコードのレートに適合させることを含んでよい。
【００１６】
第1の態様自身に係る、または第1の態様の第1乃至第3の実施形態のいずれか1つに係る方法の第4の可能な実施形態では、第2のセットの行によって形成される行列の列のセブセットから成る行列は、三角行列または単位行列構造を有する。
【００１７】
従って、符号化は、高密度部分のサブ列（または列ベクトル）に基づいて入力シーケンスを符号化することおよび低密度部分のサブ列（または列ベクトル）に基づいて符号化された出力シーケンスを符号化することを含む2ステップ手順で実行されてよく、それによって、ラプターのような符号化プロセスを利用する。
【００１８】
第1の態様自身に係る、または第1の態様の第1乃至第4の実施形態のいずれか1つに係る方法の第5の可能な実施形態では、非パンクチャド情報ビットに対応する第1のセットの行によって形成される行列の列によって形成される行列の行は、各グループが直交行から成る、異なるグループに分割される。
【００１９】
従って、直交サブ行（または行ベクトル）のグループ（またはサブセット）は、高密度セットおよび低密度セットで形成されることができ、これは、復号中のさらにより高度の並列性を可能にする。
【００２０】
第1の態様自身に係る、または第1の態様の第1乃至第5の実施形態のいずれか1つに係る方法の第6の可能な実施形態では、方法は、基本行列の提供されたエントリに基づいて、情報ビットのシーケンスに対応する符号語を決定するステップと、パンクチャドとして示されている情報ビットを除いて符号語を送信するステップとをさらに含む。
【００２１】
従って、QC-LDPCコードのレートが高くなることができる。
【００２２】
第1の態様自身に係る、または第1の態様の第1乃至第6の実施形態のいずれか1つに係る方法の第7の可能な実施形態では、方法は、基本行列の提供されたエントリと、どの情報ビットがパンクチャドであるかに関する情報とに基づいて、情報ビットの受信されたシーケンスを復号化し、復号は、フラッディングおよび階層復号化操作を含み、層は異なるグループに対応するステップをさらに含む。
【００２３】
従って、復号化プロセスの高い並列性を維持しながら、復号の収束性が改善されることができる。これに関して、本明細書および特許請求の範囲を通して使用される「階層復号化」という用語は、層の行は並列に処理されるが、層は（実質的に）連続的に処理される復号化プロセスを特に指すことは留意される。
【００２４】
本発明の第2の態様によると、デコーダが提供され、デコーダは、非正則QC-LDPCコードの基本行列のエントリを記憶する非一時的メモリであって、基本行列の列は第1のセットおよび第2のセットに分割され、第1のセットは1つまたは複数の列を含み、第2のセットの列は直交行のグループを含む行列を形成する、非一時的メモリを含み、デコーダは、第1のセットの1つまたは複数の列に対応する変数ノードのためのフラッディング復号化プロセスと、第2のセットの列に対応するノードのための階層復号化プロセスとに基づいて、情報ビットの受信されたシーケンスを復号化するように構成される。
【００２５】
従って、コード品質および復号化プロセスの高い並列性を維持することを可能にしながら、復号の収束性が改善されることができ、それによって、低い誤り率で高スループットを可能にする。
【００２６】
第2の態様に係るデコーダの第1の可能な実施形態では、第1のセットの1つまたは複数の列に対応する変数ノードは、パンクチャドとして示される。
【００２７】
従って、非正則QC-LDPCコードのレートは高くなることができる。
【００２８】
第2の態様自身に係る、または第2の態様の第1の実施形態に係るデコーダの第2の可能な実施形態では、第1のセット内の列の数は1または2である。
【００２９】
従って、第1のセット内の比較的少数の列があってよく、これはしかしながら、比較的高い重み（例えば、第2のセットの列の平均重みの2倍または3倍よりも大きい）を有してよく、それによって、層の「連結性」を改善する。
【００３０】
第2の態様自身に係る、または第2の態様の第1または第2の実施形態に係るデコーダの第3の可能な実施形態では、基本行列の行は第1のセットおよび第2のセットに分割され、第1のセットの行は第2のセットの行よりも高い重みを有する。
【００３１】
これは、コードの品質を実質的に低下させることなく、第2のセットの行（および第2のセットの対応する列）を削除（または無視）することによって、コードをレートの適応性に対してさらにより感受性を強くさせる。
【００３２】
第2の態様の第3の実施形態に係るデコーダの第4の可能な実施形態では、第1のセットの行によって形成される行列の列のサブセットから成る行列は、二重対角または三角構造を有する。
【００３３】
従って、非正則QC-LDPC行列の高密度部分は、二重対角または三角構造を有するパリティ部分を有することによって、符号化を容易にする。
【００３４】
第2の態様の第3または第4の実施形態に係るデコーダの第5の可能な実施形態では、第2のセットの行によって形成される行列の列のセブセットから成る行列は、三角行列または単位行列構造を有する。
【００３５】
従って、符号化は、デコーダによる再送信を要求するための必要性を低減または排除するラプターのような符号化プロセスを利用して実行されてよい。
【００３６】
第2の態様の第3乃至第5の実施形態のいずれか1つに係るデコーダの第6の可能な実施形態では、第2のセットの列と第1のセットの行の重複エントリよって形成される行列の行は、各グループが直交行から成る異なるグループに分割される。
【００３７】
従って、復号中のより高度の並列性が達成されることができる。
【００３８】
本発明の第3の態様によると、命令を記憶する非一時的コンピュータ可読媒体が提供され、命令は、コンピュータによって実行されると、非正則QC-LDPC行列の基本行列をコンピュータに提供させ、基本行列は列と行によって形成されており、列はパンクチャド変数ノードに対応する1つまたは複数の列および非パンクチャド変数ノードに対応する列に分割可能であり、行は第1の重みを上回る重みを有する第1の行および第2の重みを下回る重みを有する第2の行に分割可能であり、第2の重みは第1の重み以下であり、第2の行と非パンクチャド変数ノードに対応する列との重複は直交行ベクトルのグループに分割可能である。
【００３９】
非正則QC-LDPC行列の基本行列の1つまたは複数の高重み列に対応する変数ノードをパンクチャリングすることは、高重み列に関するフラッディング復号化と組み合わせて、「残りの」直交サブ行（または行ベクトル）の異なるグループに関して階層復号化を可能にし、それによって、高品質コードを維持しながら、復号中に高度の並列性を達成する。
【図面の簡単な説明】
【００４０】
【図１】図1は、本発明に係る、可能な適用シナリオの概略図を示す。
【図２】図2は、デジタル通信システムの概略例を示す。
【図３】図3は、情報ビットのシーケンスを符号化または復号化するための非正則QC-LDPCコードを提供するプロセスのフローチャートを示す。
【図４】図4は、非正則QC-LDPCコードの基本行列の構造を示す。
【図５】図5は、非正則QC-LDPCコードの基本行列を示す。
【図５ａ】図5aは、非正則QC-LDPCコードの別の基本行列を示す。
【図６】図6は、基本行列の基本グラフである。
【図７】図7は、基本行列の別の基本グラフである。
【図８】図8は、復号化プロセスのフローチャートの第1の部分を示す。
【図９】図9は、復号化プロセスのフローチャートの第2の部分を示す。
【図１０】図10は、復号化プロセスのフローチャートの第3の部分を示す。
【図１１】図11は、復号化プロセスの第1のハードウェア実装のスケジュールを示す。
【図１２】図12は、復号化プロセスの第2のハードウェア実装のスケジュールを示す。
【発明を実施するための形態】
【００４１】
図1は、本開示に係る可能な適用シナリオを示す。図1に示されるように、端末（ユーザ機器、略してUE等）のうちの少なくとも1つは、無線アクセスネットワーク（略してRAN）およびコアネットワーク（略してCN）に接続される。本開示で説明される技術は、5G通信システム、または、様々な無線アクセス技術を使用する他の無線通信システム、例えば、符号分割多元接続、周波数分割多元接続、時分割多元接続、直交周波数分割多元接続、シングルキャリア周波数分割多元接続および他の無線アクセス技術を使用するシステムに適用されてよい。加えて、本開示で説明される技術は、進化型通信システムにさらに適用されてよい。可能な実施では、端末は、無線アクセスネットワークおよびコアネットワークを介して、IPマルチメディアサブシステムネットワークに接続することができる。
【００４２】
本発明に含まれる「端末」という用語は、ハンドデバイス、車載型デバイス、ウェアラブルデバイス、コンピューティングデバイスまたは無線モデムに接続される別の処理デバイスを含んでよく、ここで、デバイスは無線通信機能と、様々な形態のユーザ機器（User Equipment, 略してUE）、モバイル局（Mobile station, 略してMS）、端末（terminal）、端末機器（Terminal Equipment）等を有する。
【００４３】
無線アクセスネットワークは少なくとも1つの基地局を含む。基地局（base station, 略してBS）は、無線アクセスネットワークに配置され、UEのための無線通信機能を提供するように構成される装置である。基地局は、様々な形態のマクロ基地局、マイクロ基地局、中継局、アクセスポイント等を含んでよい。異なる無線アクセス技術に関しては、基地局の機能を有するデバイスの名前は異なることがある。
【００４４】
図2は、本開示のプロセスが実施され得るデジタル通信システム10を例示するブロック図を示す。デジタル通信システム10は、エンコーダ12を含む送信側およびデコーダ14を含む受信側を含む。エンコーダまたはデコーダは、少なくとも1つのプロセッサによって実施されてよく、例えば、チップセットによって実施されてよい。少なくとも1つのプロセッサまたはチップセットは、基地局または端末に設置されることができる。送信側のエンコーダ12の入力は、例えば、エンコーダ12によって実行される符号化操作においてrビットの冗長シーケンスが追加されるkビットの情報シーケンスIS1であり、それによって、変調器16に転送され得るk+r=nビットの符号化情報シーケンスIS2を生成する。
【００４５】
変調器16は、符号化シーケンスIS2を有線または無線チャネル18、例えば、導電性ワイヤ、光ファイバ、無線チャネル、マイクロ波チャネルまたは赤外線チャネル等を介して順番に送信される変調された信号ベクトルCH_INに変換することができる。チャネル18は通常ノイズの多い外乱に影響されやすいため、チャネル出力CH_OUTはチャネル入力CH_INとは異なり得る。
【００４６】
受信側では、チャネル出力ベクトルCH_OUTはある尤度比を生成する復調器20によって処理され得る。デコーダ14は、デコーダ14によって実行される復号化操作において受信された情報シーケンスIS3における冗長性を利用して、受信された情報シーケンスIS3におけるエラーを訂正して、復号化情報シーケンスIS4を生成することができる（M. P. C. Fossorierら、“Reduced Complexity Iterative Decoding of Low-Density Parity Check Codes Based on Belief Propagation”、IEEE TRANSACTIONS ON COMMUNICATIONS、1999年5月、第47巻、第5号、673-680ページ、およびJ. Chenら、“Improved min-sum decoding algorithms for irregular LDPC codes”、PROCEEDINGS OF THE 2005 IEEE INTERNATIONAL SYMPOSIUM ON INFORMATION THEORY、449-453ページ、2005年9月を参照されたい）。復号化情報シーケンスIS4は情報シーケンスIS1（の推定値）が抽出されることができる符号化情報シーケンスIS2の推定値である。
【００４７】
符号化操作および復号化操作は、LDPCコードによって管理され得る。チャネル符号化の一般的な定式化においては、LDPCコードは、エンコーダ12によって実行される符号化操作のために生成行列Gを採用してよく、デコーダ14によって実行される復号化操作のためにパリティ検査行列Hを採用してよい。サイズ1×kの情報シーケンスIS1、サイズ1×nの符号語IS2およびr=(n-k)ビットの冗長（パリティ）シーケンスを持つLDPCコードについては、生成行列Gはk×nのサイズを有し、パリティ検査行列Hはr×n=(n-k)×nのサイズを有する。
【００４８】
パリティ検査行列Hr×nおよび生成行列Gk×nは直交特性を享受し、これは、k個の線形独立行を有するいかなる生成行列Gk×nに関しても、r=(n-k)個の線形独立行を有するパリティ検査行列Hr×nが存在することを述べる。従って、以下の式が満たされるように、生成行列Gk×nのいかなる行もパリティ検査行列Hr×nの行に対して直交している：
【００４９】
【数１】
2019536341.tif 000003
【００５０】
符号化操作は、情報シーケンスIS1と生成行列Gk×nとの間の乗算によって実行されることができ、乗算の結果は符号化情報シーケンスIS2である：
IS2 = IS1・Gk×n                    ・・・・・・・・・・・・・(2)
【００５１】
受信側では、生成行列Gk×nとパリティ検査行列Hr×nとの間の直交特性により、以下の式が満たされるべきである：
【００５２】
【数２】
2019536341.tif 000004
【００５３】
ここで、IS4はサイズ1×nの復号された受信された情報シーケンスである。上記の式が検証された場合、情報シーケンス推定値IS4は正しいと推測されることができる。
【００５４】
パリティ検査行列Hr×nが生成されると、生成行列Gk×nの取得が可能になり、その逆も同様である。従って、パリティ検査行列Hr×nを決定するいかなるプロセスも、生成行列Gk×nを取得する同等のプロセスにマッピングされることができ、その逆も同様であり、その結果、パリティ検査行列Hr×nを決定することに関する本明細書および特許請求の範囲を通して開示されるいかなるプロセスも、生成行列Gk×nを取得する同等のプロセスを包含しており、その逆も同様であると理解されるべきである。
【００５５】
さらに、特定の構造のパリティ検査行列Hr×n、例えば、二重対角構造のパリティ部分を有するパリティ検査行列Hr×n等を有するLDPCコードは、情報シーケンスIS1の符号化がパリティ検査行列Hr×n（のみ）を使用することを可能にし、その結果、生成行列Gk×nを取得することは必要とされない場合がある（T. J. RichardsonおよびR. L. Urbanke, “Efficient encoding of low-density parity-check codes”, IEEE TRANSACTIONS ON INFORMATION THEORY, 第47巻, 第2号, 638-656ページ, 2002年8月を参照されたい）。
【００５６】
パリティ検査行列Hr×nの特定の形態は、二次サブ行列I(pj,l)、すなわち、巡回行列（または略して「巡回」）に分割されることができる正則QC-LDPC行列
【００５７】
【数３】
2019536341.tif 000005
【００５８】
であり、これは、例えば、N×N単位行列I(0)をpj,l位置巡回右シフトすることから取得されることができる：
【００５９】
【数４】
2019536341.tif 000006
【００６０】
ここで、N=n/Lである（M. P. C. Fossorier, “Quasi-Cyclic Low-Density Parity-Check Codes from Circulant Permutation Matrices”, IEEE TRANSACTIONS ON INFORMATION THEORY, 第50巻, 第8号, 1788-1793ページ, 2004年8月を参照されたい）。従って、正則QC-LDPC行列
【００６１】
【数５】
2019536341.tif 000007
【００６２】
は、
【００６３】
【数６】
2019536341.tif 000008
【００６４】
を満たす基本行列Bによって定義されることができる。
【００６５】
さらに、非正則QC-LDPC行列
【００６６】
【数７】
2019536341.tif 000009
【００６７】
の基本行列Bは、
【００６８】
【数８】
2019536341.tif 000010
【００６９】
によって取得されることができ、ここで、“c”はアダマール積を示し、
【００７０】
【数９】
2019536341.tif 000011
【００７１】
は、
【００７２】
【数１０】
2019536341.tif 000012
【００７３】
を有するマスク行列を示す。あるいは、非正則QC-LDPC行列
【００７４】
【数１１】
2019536341.tif 000013
【００７５】
の基本行列Bは、サイズN×Nのゼロ行列を表すラベル付けされていないエントリ（これらは時には「-1」の値、またはアスタリスク「*」によって表される）を有するシフト値
【００７６】
【数１２】
2019536341.tif 000014
【００７７】
を有する基本行列Bを部分的にラベル付けすること（のみ）によって取得されることができる。
【００７８】
従って、エンコーダ12およびデコーダ14においてQC-LDPCコードを採用するために、エンコーダ12およびデコーダ14は巡回、シフト値、すなわち、基本行列Bのラベル付けされたエントリに対応する値および（任意で）マスク行列Mmaskを提供されることができる。例えば、QC-LDPC行列
【００７９】
【数１３】
2019536341.tif 000015
【００８０】
を決定するためにシフト値を選択するように構成される装置は、エンコーダ12および/またはデコーダ14にシフト値を提供してよい。さらに、エンコーダ12およびデコーダ14はまた、1つまたは複数の非正則QC-LDPC行列
【００８１】
【数１４】
2019536341.tif 000016
【００８２】
を生成するために、マスク行列M maskを提供されることができる。
【００８３】
さらに、QC-LDPC行列HQC（およびさらに一般的な任意のLDPCコード）はまた、その等価二部グラフ（「タナーグラフ」）によって記載されることもでき、タナーグラフの各辺は複数の検査ノードのうちの1つの検査ノードに複数の変数ノードのうちの1つの変数ノードを接続することは留意されるべきである。例えば、r行n列のQC-LDPC行列
【００８４】
【数１５】
2019536341.tif 000017
【００８５】
は、QC-LDPC行列
【００８６】
【数１６】
2019536341.tif 000018
【００８７】
内に対応する「1」がある場合に、検査ノードと変数ノードとの間に辺を有する、r個の検査ノードとn個の変数ノードを有するその等価二部グラフによって表されることができる（R. Tanner, “A Recursive Approach to Low Complexity Codes”, IEEE TRANSACTIONS IN INFORMATION THEORY, 第27巻, 第5号, 533-547ページ, 1981年9月を参照されたい）。これに関して、変数ノードは符号語ビットを表し、検査ノードはパリティ検査式を表すことは留意されるべきである。
【００８８】
図3は、それぞれが情報シーケンスIS1およびIS3等の、情報ビットのシーケンスを符号化または復号化するために非正則QC-LDPCコードを提供するプロセス22のフローチャートを示す。プロセス22は、例えば、コンピュータで実施されることができる。例えば、プロセス22は、コンピュータによって実行されると、コンピュータにプロセス22を実行させる、永続的に記憶されたコンピュータ可読命令によって実施されることができる。非正則QC-LDPCコードの提供された基本行列Bは、例えば、デジタル通信システム10のエンコーダ12およびデコーダ14に提供されてよく、エンコーダ12およびデコーダ14によって実行される符号化または復号化操作、すなわち、情報ビットのシーケンスを符号化または復号化するためにそれぞれ使用されてよい。
【００８９】
情報ビットのシーケンスを符号化または復号化するための非正則QC-LDPCコードを提供するプロセス22は、非正則QC-LDPCコードの基本行列Bのエントリを提供することによるステップ24で開始してよく、エントリは非正則QC-LDPC行列のブロックを表し、各ブロックはシフトされた巡回行列またはゼロ行列を表す。基本行列Bの可能な構造が図4に示される。これは高密度部分（図4の左上に灰色で示されている）における「コア」基本行列を含む。コア基本行列は、符号化を容易にするために二重対角構造を有するパリティ部分を有する。最高のレートが必要とされる場合、情報シーケンスは、コア基本行列のシフト値のみを使用して符号化される。より低いレートが許容される場合は、追加の行および列が基本行列に追加されることができる。図4に示されるように、追加の行と列との間の重なりは、下三角形もまた可能であるが、単位行列を形成してよい。追加の行は、典型的には、コア基本行列の行よりも低い重みを有し、送信される符号語における追加のパリティビットを（追加された「対応する」列と組み合わせて）提供する。
【００９０】
基本行列Bはm行n列の行列であり、ここで、mおよびnは整数であることは留意されるべきである。基本行列Bはより多くの列および行を含むことによって拡張されることができる。例えば、基本行列Bは46行68列の行列であり、または、基本行列Bは90行112列の行列である、等々である。本開示は、基本行列のサイズを限定しない。
【００９１】
拡張部分は、拡張部分の全ての他の列よりも実質的に高い重みを通常有する1、２、３、またはそれ以上の高重み列を含む。例えば、1、2または全ての高重み列は、空のセル、すなわち、ゼロ行列を表すエントリを持たないことがある。図4に示されるように、2つの高重み列に対応する変数ノードはパンクチャドとして示され、「残りの」サブ行は、直交サブ行（または行ベクトル）の（非重複）層に分類される。
【００９２】
図5は、サイズ19×35（19行35列）の基本行列Bの提供されたエントリの数値例を示し、基本行列Bのラベル付けされたエントリ（セル）は対応するシフト値によって示され、ラベル付けされていないエントリ（ゼロ行列に対応する）は空白のままにされる。図5に示されるように、基本行列Bの行は17を上回る重みを有する上位部分と9を下回る重み、すなわち、上位部分の行の重みの半分未満を有する下位部分とに分割されることができる。従って、図5に示される基本行列Bは、図3に示されるプロセス22のステップ26において示されるように、行1〜3を含む高密度部分と、行4〜19を含む低密度部分に分割されることができる。
【００９３】
さらに、図5に示されるように、列2〜35と低密度部分との重なりによって形成されるサブ行列の行は、直交行の層（またはグループ）に分割されることができ、各層はほぼ同じ数のセルを含む。さらに、高密度部分は、高密度部分の非ゼロ列に基づいて、情報ビットのシーケンスを容易に符号化することを可能にする二重対角サブ行列を含む。さらに、低密度部分は、符号語の容易な符号化を可能にする下三角形を有するパリティ部分を有するラプターのような拡張を提供する。
【００９４】
図5aは、サイズ46×68（46行68列）の基本行列Bの提供されたエントリの数値例を示す。図5aでは、列1および2はパンクチャドである。行9から開始する列3〜68については、複数グループの直交行がある。直交行は列の視点からは重複しない行である。例えば、行9および10は直交しており、行11および12は直交している。
【００９５】
図6および図7は、基本行列の基本グラフの異なる設計を示す。本開示の「基本グラフ」という用語は、各正方形ボックスが基本パリティ検査行列内の要素を表す、いくつかの正方形ボックスを含む。基本パリティ検査行列の各非ゼロ要素はマークされたボックスによって表される。各マークされたボックスは、基本行列におけるシフト値に関連付けられている。図6および7においては、列1および2はパンクチャド列である。パンクチャド列は、1つまたは複数の列であることができることは留意されるべきである。
【００９６】
具体的には、図6は、14行36列の基本行列の基本グラフの例を示す。行7から開始する、すなわち、行7から行14までの、非パンクチャド列（すなわち、列1および2以外）については、このような行は衝突しない準行直交である。特に、行7から開始して、行の各グループ（例えば、各2つの隣接行）は、衝突しない準行直交である。図6からわかるように、マークされたボックスは重複していない。例えば、行7および8は直交しており、行9および10は直交しており、行11および12は直交しており、行13および14は直交している。これらの行、行(7, 8)、(9, 10)および(11, 12)は直交行と呼ばれる。直交行については、各行のマークされたボックスは、列の視点からは重複していない。グループはまた、直交グループとも呼ばれることができる。
【００９７】
本実施形態では、第1のセットの行は行1から行6までであり、第2のセットの行は行7から開始して行14までである。この設計では、行1〜6がコア基本行列の行とみなされ、行7〜14が拡張部分の行とみなされる場合、拡張部分の全ての行は衝突しない準行直交である。行1〜5がコア基本行列の行とみなされ、行6〜14が拡張部分の行とみなされる場合、コア基本行列から離れた拡張部分のほとんどの行は衝突しない準行直交である。
【００９８】
図6における直交グループは2つの行を含むことは留意されるべきである。直交グループはまた、2よりも多くの行を含むことができる。異なる直交グループは、同数の行を有しても異なる数の行を有してもよい。
【００９９】
図7は13行35列の基本行列の基本グラフを示す。図7においては、行の直交グループは行8から始まって拡張している。例えば、行8および9は直交しており、行10および11は直交しており、行12および13は直交している。図7における直交グループは、隣接する2つの直交行、すなわち、行8および9、行10および11、および行12および13を含む。本実施形態では、各グループは2つの直交行を有する。各グループが異なる数の行を有するように、例えば、3個の直交行、または4個の直交行等々を有するように修正されることもできる。
【０１００】
図3に例示されるプロセス22のステップ28にさらに示されるように、基本行列Bの列1はパンクチャドである。基本行列Bの提供されたエントリに基づいてエンコーダ12によって情報ビットのシーケンスを符号化し、チャネル18を介してデコーダ14に対応する符号語（パンクチャドノードに対応する情報ビットを除く）を送信した後、エンコーダ14は、図8、図9および図10のステップA、BおよびCによって示されるようなフラッディングおよび階層復号化ステップを結合した正規化された最小和復号化プロセスを使用して受信された情報ビットを繰り返し復号化してよい。さらに、復号化プロセスにおいては、行列の拡張部分（図5において濃い灰色で示されている）に対応するパンクチャド列のシフト値は、行および列シフト操作を使用して、ゼロに設定されることができるという事実が利用され得る。さらに、階層復号化ステップが適用される密度部分（すなわち、非パンクチャド列に対応する部分）の部分に直交行のグループを提供することによって、復号化操作の並列性が向上され得る。
【０１０１】
図8に示されるステップAによって示されるように、パンクチャド列の対数尤度比（llr-s）は、長さNのベクトルであるllr、sg0j、sgj、minj、subminj、colj、v2cj、csgj、c2vj、nsg0j、сminj、psgj、pminj、psubminj、pcolj、nsgj、nminj、nsubminj、ncoljおよびnc2vjおよび正規化された最小和復号化プロセスのスケールパラメータを示すalphaを有する以下の式を使用して計算される：
・llrはパンクチャドノードのllr-sのベクトルを示し、これは、特定用途向け集積回路（ASIC）レジスタに格納されることができる。
・sg0jはパンクチャドノードのメッセージ（v2c）とグループ内の第j行をチェックするための変数の符号を示し、これは、ランダムアクセスメモリ（RAM）に格納されることができる。
・sgj、minj、subminj、coljは1<=j<=nの所与の直交グループの第j行における符号、最小値、サブ最小値およびゼロベースのargMinimumの乗算を示す。これらの値は全て、復号化プロセスを開始する前に計算されて、メモリに格納されてよい。
・psgj、pminj、psubminj、pcoljは現在の直交性グループの第j行における符号、最小値、サブ最小値およびargMinimumの更新された乗算を示す。これらの値は、パンクチャド列以外の各列に対して決定される。
【０１０２】
第1に、csgj、｜c2vj｜およびc2vは、
・csgj = sgj * sg0j、
・｜c2vj｜= (colj ==0)? subminj: minj、および、
・c2v=csg*｜c2v｜
によって、1<=j<=nのために計算される。
【０１０３】
次いで、nsg0j、cminjおよびv2cjは、
・nsg0j = sign(v2cj)、
・cminj = | v2cj |* alpha、
・v2cj = llr - c2vj
によって計算される。
【０１０４】
ここで、図9に示されるステップBによって示されるように、新しい最小値、サブ最小値およびargMinimum、ならびに現在の直交性グループの各行におけるパンクチャド列の符号は、
・sg0j = nsg0j 
・nsgj = nsg0j * psgj、
・ncolj = (cminj > pminj) ? pcolj ： 0、
・nminj = (cminj > pminj) ? pminj ： cminj、および
・nsubminj = (cminj > pminj) ? ((cminj > psubminj) ? psubminj: cminj) : pminj
によって1<=j<=nのために計算される。
【０１０５】
これらの値はメモリに格納され、ここで、sgj、minj、subminj、coljおよびsg0jは次の復号化の繰返しのために現在格納されている値を置き換える。
【０１０６】
最後に、パンクチャドノードのpsum、c2vsumおよび新しいllr-sは、
・psum = psg1 * pmin1 +...+ psgn * pminn、
・c2vsum = c2v1 +...+ c2vnおよび、
・llr = llr - c2vsum + psum
によって図10に示されるステップCによって示されるように計算される。
【０１０７】
さらに、提案される方式は、直交行の各グループが3クロックサイクルで処理され、全てのllr-sがレジスタに格納され、利用可能なプロセッサの数がQC-LDPC行列の列の数と等しく、sgj、minj、subminj、coljが第1のクロックサイクルが始まる前にレジスタにロードされる例から明らかになるように、ハードウェアで効率的に実施されることができる。
【０１０８】
非パンクチャド列の処理は同じ方式を使用して行われ、パンクチャド列の処理は上述の式に従って行われる：
【０１０９】
クロックサイクル1。パンクチャド列以外の全ての列に対して、c2vメッセージが計算される。計算されたc2vメッセージはllr-sから減算され、その結果、llr-sが格納された同じレジスタに格納されるv2cメッセージが取得される。取得されたv2cメッセージは部分最小値を決定するために使用されるnsg0およびcminを決定するために使用される。また、クロックサイクル1では、前のグループのパンクチャド列のllr-sは従って取得される。その後、これらのllr-sはシフトされてレジスタに格納される。結果として、パンクチャド列のllr-sは、他の列のllr-sよりも1クロックサイクル後に計算されるが、これらはまた、1クロックサイクル後に（第2クロックサイクルで）使用される。
【０１１０】
クロックサイクル2。最小値（すなわち、psgj、pminj、psubminj、pcolj）は部分最小値から計算される。また、nsg0、cminおよびc2vはパンクチャド列のために計算される。その後、nsgj、nminj、nsubminj、ncoljの値が計算されてメモリに格納される。
【０１１１】
クロックサイクル3。パンクチャド列以外の全ての列に関するnsgj、nminj、nsubminj、ncoljの取得された値から、新しいc2vメッセージが計算されることができる。その後、これらの値はv2c-メッセージと加算されて、全ての非パンクチャド列のllr-sが取得される。取得されたllr-sはその後レジスタに格納される。また、このクロックサイクルでは、psumおよびc2vsumが計算される。
【０１１２】
基本行列の1よりも多い列がパンクチャドとして示される場合、上記修正された最小和復号化プロセスは、それに応じて拡張されるべきである。例えば、2つのパンクチャド列の処理は、以下の方式に従って行われることができる：
【０１１３】
クロックサイクル1a）全ての非パンクチャド列について、c2vメッセージが計算される。c2vメッセージは、llr-sから減算される。結果として、llr-sとして同じレジスタに格納されることができるv2cメッセージが取得される。これらのv2cメッセージは、nsg0およびcminの値を取得するために使用されることができる。これらの値は、部分最小値を取得するために使用される。
【０１１４】
クロックサイクル1b）また、第1のクロックサイクルにおいても、2つのパンクチャド列のllr-sは、前の直交性グループに対して取得されることができる。その後、これらのllr-sはシフトされてレジスタに格納されることができる。結果として、パンクチャド列に対するllr-sは1クロック後に取得されることができるが、これらは1クロック後に必要とされるため何ら問題を引き起こさない。
【０１１５】
クロックサイクル2a）最小値は部分最小値から収集され、すなわち、psgj、pminj、psubminj、およびpcoljのための値が取得される。
【０１１６】
クロックサイクル2b）このクロックサイクルにおいては、nsg0、cminおよびc2vが2つのパンクチャド列のために計算される。その後、nsgj、nminj、nsubminj、およびncoljの値が計算されてメモリに格納される。
【０１１７】
クロックサイクル3a）nsgj、nminj、nsubminj、ncoljの取得された値から、非パンクチャド列全てに対して、メッセージc2vが計算され、これはv2cメッセージと加算された後、全ての非パンクチャド列のllr-sが与えられる。llr-sはシフトされてレジスタに格納される。
【０１１８】
クロックサイクル3b）。このクロックサイクルにおいては、メッセージnc2vおよび合計c2vsumおよびnc2vsumが計算される。
【０１１９】
上述の方式を使用した場合、ステップ1a)、2a)、3a)のためにパンクチャノードのための特別なプロセッサが必要とされる場合があり、さらに操作1b)、2b)、3b)を実行する各非パンクチャド列のためにプロセッサが必要とされる場合がある。QC-LDPC行列がmグループの直交サブ行を有する場合、繰返し毎に3*mクロックが必要とされ得る。各サブプロセッサ1а)、2а)、3а)、1b)、2b)、3b)は3つの利用可能なものから2クロックの間ストールを有する。
【０１２０】
別のさらに多くのメモリ効率方式がプロセッサ毎に4クロックで、より少ないプロセッサで使用されてよい（パンクチャド列のために1プロセッサおよび4つの非パンクチャド列のために1つのプロセッサ）。
【０１２１】
クロックIa) 1a)からの計算は非パンクチャド列の第1の4分の1に対して実行される。
【０１２２】
クロックIb) 前のグループの第1の行のパンクチャド列のllr-sが計算される、その後、llr-sはシフトされてレジスタに格納される。
【０１２３】
クロックIIa) 2a)の動作は、非パンクチャド列に対して実行され、1a)の動作は非パンクチャド列の第2の4分の1に対して実行される。
【０１２４】
クロックIIb) nsg0、cminおよびc2vはパンクチャド列に対して計算され、nsgj、nminj、nsubminj、およびncoljが取得されてレジスタに格納される。
【０１２５】
クロックIIIa) 3a)の動作は非パンクチャドの第1の4分の1に対して実行される。2a)の動作は、非パンクチャド列の第2の4分の1に対して実行される。1a)の動作は非パンクチャド列の第3の4分の1に対して実行される。
【０１２６】
クロックIIIb) nsgj、nminj、nsubminj、およびncoljの値は決定されてメモリに格納される。また、c2vsumの合計が計算される。
【０１２７】
クロックIVa) 3a)の動作は、非パンクチャド列の第2の4分の1に対して実行される。2a)の動作は、非パンクチャド列の第3の4分の1に対して実行される。1a)の動作は非パンクチャド列の第4の4分の1に対して実行される。
【０１２８】
クロックIVb) メッセージnc2vおよび合計nc2vsumが計算される。
【０１２９】
例えば、プロセッサの数が減少し、スループットが対応して減少する場合、この手法の一般化は可能である。
【０１３０】
処理ステップを文字A〜I：
・A-非パンクチャドノードのためにc2vを計算する。v2cを決定してllr-sを置き換えるレジスタに記憶する。nsg0およびcminを計算する。部分最小値を計算する。
・B-部分最小値、すなわち、psgj、pminj、psubminj、pcoljから最小値を取得する。
・C- 全ての非パンクチャドノードに対してnsgj、nminj、nsubminj、ncoljから新しいc2vを計算し、これらの列のllr-sを取得するためにこれらをv2cと加算し、これらをシフトしてレジスタに格納する。
・D- パンクチャドノードに対してnsg0、cminおよびc2vを計算する。
・E- nsgj、nminj、nsubminj、およびncoljを決定する。
・F- c2vsumを計算する。
・G- nc2vsumを計算する。
・H- nc2vを計算する。
・I- パンクチャド列のIIr-sを計算する。それらをシフトしてレジスタに格納する。
で示し、例えば、
・1-2 - 第1グループ
・3-4 - 第2グループ
・5-6 - 第3グループ
として示される2つの直交行を各々が含む（高密度および低密度部分における）直交サブ行の3つのグループと、
・j.1 - 第j行における空でないセルの第1の2分の1、1 <= j <= 6および
・j.2 - 第j行の空でないセルの第2の2分の1、1 <= j <= 6
を有する12個の非パンクチャド列を有し、
動作A、BおよびCは非パンクチャド列に対して実行され、動作D、E、F、G、HおよびIはパンクチャド列に対して実行される場合、図11および図12は、3クロックサイクル方式のためのスケジュールと、4クロックサイクル方式のためのスケジュールとを示す。図11および12からわかるように、高い並列性が達成されることができる。
【０１３１】
さらに、エンコーダ12およびデコーダ14が、提供された基本行列Bに基づいて符号化および復号化操作を実行することを可能にすることに加えて、エンコーダ12およびデコーダ14はまた、異なる送信シナリオ、例えば、チャネル品質および/またはスループット要件の観点から互いに異なる送信シナリオに従って、例えば、提供された基本行列Bの低密度部分の行および/またはパリティ部分の列を削除（または無視）することによって、異なるレートの非正則QC-LDPC子コードを導出するために提供された基本行列Bを使用してもよいことは留意されるべきである。
【０１３２】
本発明における、エンコーダまたはデコーダ、または基地局、端末、またはコアネットワーク装置の機能を実行するように構成される少なくとも1つのプロセッサは、中央処理装置（CPU）、汎用プロセッサ、デジタル信号プロセッサ（DSP）、特定用途向け集積回路（ASIC）、フィールドプログラマブルゲートアレイ（FPGA）または別のプログラマブル論理デバイス、トランジスタ論理デバイス、ハードウェアコンポーネントまたはこれらの任意の組合せであってよい。コントローラ/プロセッサは、本発明で開示された内容を参照して説明された様々な例示的な論理ブロック、モジュールおよび回路を実装または実行してよい。あるいは、プロセッサは、計算機能を実施するプロセッサの組合せ、例えば、1つまたは複数のマイクロプロセッサの組合せ、または、DSPとマイクロプロセッサの組合せであってよい。
【０１３３】
本発明で開示された内容を参照して説明された方法またはアルゴリズムのステップは、ハードウェアを使用して、プロセッサによって実行されるソフトウェアモジュールを使用して、またはこれらの組合せを使用して直接実施されてよい。ソフトウェアモジュールは、RAMメモリ、フラッシュメモリ、ROMメモリ、EPROMメモリ、EEPROMメモリ、レジスタ、ハードディスク、ポータブルディスク、CD-ROMまたは当該技術分野において既知の任意の他の形態の記憶媒体に配置されてよい。例えば、記憶媒体はプロセッサに結合され、その結果、プロセッサは、記憶媒体から情報を読み出すことができ、または、記憶媒体に情報を書き込むことができる。確かに、記憶媒体はまた、プロセッサのコンポーネントであってもよい。プロセッサおよび記憶媒体は、ASICに配置されてよい。加えて、ASICはユーザ機器に配置されてよい。確かに、プロセッサおよび記憶媒体は、離散したコンポーネントとしてユーザ機器内に存在してよい。
【０１３４】
基本行列に関連するパラメータ、基本行列または基本行列に基づいて拡張された行列はメモリに記憶されることができる。メモリは、少なくとも1つのプロセッサと独立することができる。メモリはまた、少なくとも1つのプロセッサに統合されることもできる。メモリは、コンピュータ可読記憶媒体の一種である。
【０１３５】
前述の実施形態の全てまたは一部は、ソフトウェア、ハードウェア、ファームウェアまたはそれらの任意の組合せによって実施されてよい。ソフトウェアプログラムが実施形態を実施するために使用される場合、実施形態は、コンピュータプログラム製品の形態で完全にまたは部分的に実施されてよい。コンピュータプログラム製品は1つまたは複数のコンピュータ命令を含む。コンピュータプログラム命令が、コンピュータにロードされて、実行されると、本発明の実施形態に係る手順または機能は全てまたは部分的に生成される。コンピュータは、汎用コンピュータ、専用コンピュータ、コンピュータネットワークまたは他のプログラム可能な装置であり得る。コンピュータ命令は、コンピュータ可読記憶媒体に記憶されてよく、または、コンピュータ可読記憶媒体から別のコンピュータ可読記憶媒体に送信されてもよい。例えば、コンピュータ命令は、ウェブサイト、コンピュータ、サーバまたはデータセンタから別のウェブサイト、コンピュータ、サーバまたはデータセンタに有線方式で（例えば、同軸ケーブル、光ファイバまたはデジタル加入者回線（DSL））、または無線方式で（例えば、赤外線、ラジオ、マイクロ波等）送信されてよい。コンピュータ可読記憶媒体は、コンピュータによってアクセス可能な任意の使用可能媒体、または、1つまたは複数の使用可能メディアを統合する、サーバまたはデータセンタ等のデータ記憶デバイスであってよい。使用可能媒体は、磁気媒体（例えば、ソフトディスク、ハードディスクまたは磁気テープ）、光学媒体（例えば、デジタル多用途ディスク（DVD））、半導体媒体（例えば、ソリッドステートディスク（SSD））等であってよい。
【０１３６】
本開示のこれまでの説明は、いかなる当業者も、本開示を作成または使用することを可能にするために提供されている。本開示への様々な修正は、当業者には容易に明らかであり、本明細書で定義された一般的な原理は、本開示の精神または範囲を逸脱することなく他の変形に対して適用され得る。従って、本開示は、本明細書で説明される例および設計に限定するようには意図されず、本明細書で開示された原理および新規な特徴と一貫した最も広い範囲を与えられるべきである。
【図１】
2019536341.tif 000019
【図２】
2019536341.tif 000020
【図３】
2019536341.tif 000021
【図４】
2019536341.tif 000022
【図５】
2019536341.tif 000023
【図５ａ】
2019536341.tif 000024
【図６】
2019536341.tif 000025
【図７】
2019536341.tif 000026
【図８】
2019536341.tif 000027
【図９】
2019536341.tif 000028
【図１０】
2019536341.tif 000029
【図１１】
2019536341.tif 000030
【図１２】
2019536341.tif 000031
【手続補正書】
【提出日】令和1年6月6日(2019.6.6)
【手続補正１】
【補正対象書類名】特許請求の範囲
【補正対象項目名】全文
【補正方法】変更
【補正の内容】
【特許請求の範囲】
【請求項１】
無線通信のための方法であって、
符号化されるべき情報ビットのシーケンスを取得するステップと、
基本行列に基づいて、情報ビットの前記シーケンスを符号化するステップとを含み、
前記基本行列は複数の行および列を有し、前記複数の列は少なくとも1つのパンクチャド列と複数の非パンクチャド列とを含み、
前記複数の行は行の第1のセットおよび行の第2のセットを含み、
前記第2のセットの行は少なくとも1つのグループを含み、各グループは少なくとも2つの連続する行を含み、前記少なくとも2つの連続する行は第1の部分および第2の部分から成り、
前記第1の部分は前記少なくとも1つのパンクチャド列であり、前記第1の部分の行は非直交であり、
前記第2の部分は前記非パンクチャド列であり、前記第2の部分の行は直交している、方法。
【請求項２】
前記少なくとも1つのグループは2つ以上のグループであり、前記2つ以上のグループは連続している、請求項1に記載の方法。
【請求項３】
各グループは、前記第2の部分において直交している最大数の連続する行から成る、請求項1または2に記載の方法。
【請求項４】
前記第2のセットにおける前記非パンクチャド列のための各隣接する2つの行は直交している、請求項1乃至3のいずれか1項に記載の方法。
【請求項５】
前記少なくとも1つのパンクチャド列は1つまたは2つのパンクチャド列である、請求項1乃至4のいずれか1項に記載の方法。
【請求項６】
第1の列および第2の列が前記パンクチャド列である、請求項1乃至5のいずれか1項に記載の方法。
【請求項７】
前記少なくとも1つのパンクチャド列は前記非パンクチャド列よりも高い重みを有する、請求項1乃至6のいずれか1項に記載の方法。
【請求項８】
前記第1のセットの前記行は前記第2のセットの前記行よりも高い重みを有する、請求項1乃至7のいずれか1項に記載の方法。
【請求項９】
前記基本行列は46行68列を含む、請求項1乃至8のいずれか1項に記載の方法。
【請求項１０】
前記基本行列に基づいて、情報ビットの前記シーケンスに対応する符号語を決定するステップと、
前記少なくとも1つのパンクチャド列に対応する情報ビットを除いて前記符号語を送信するステップとをさらに含む、請求項1乃至9のいずれか1項に記載の方法。
【請求項１１】
装置であって、
基本行列に基づいて、情報ビットのシーケンスを符号化するように構成されるエンコーダを含み、
前記基本行列は複数の行および複数の列を有し、前記複数の列は少なくとも1つのパンクチャド列と複数の非パンクチャド列とを含み、
前記複数の行は行の第1のセットおよび行の第2のセットを含み、
前記第2のセットの行は少なくとも1つのグループを含み、各グループは少なくとも2つの連続する行を含み、前記少なくとも2つの連続する行は第1の部分および第2の部分から成り、
前記第1の部分は前記少なくとも1つのパンクチャド列であり、前記第1の部分の行は非直交であり、
前記第2の部分は前記非パンクチャド列であり、前記第2の部分の行は直交している、装置。
【請求項１２】
請求項1乃至9のいずれか1項に記載の前記方法を実行するように構成されることによって特徴付けられる、請求項11に記載の装置。
【請求項１３】
前記基本行列に関連付けられたパラメータを記憶するように構成されるメモリをさらに含む、請求項11または12に記載の装置。
【請求項１４】
無線通信のための方法であって、
符号化されるべき情報ビットのシーケンスを取得するステップと、
基本行列に基づいて、情報ビットのシーケンスを符号化するステップとを含み、
前記基本行列は複数のエントリを含み、各エントリはシフトされた巡回行列またはゼロ行列のいずれかを表し、
前記基本行列は複数の行および複数の列を含み、前記複数の列は少なくとも1つのパンクチャド列と複数の非パンクチャド列とを含み、
前記複数の行は行の第1のセットおよび行の第2のセットを含み、
前記第2のセットの行は少なくとも1つのグループを含み、各グループにおける各非パンクチャド列は前記シフトされた巡回行列を表す多くて1つのエントリを有し、各グループにおける少なくとも1つのパンクチャド列は、前記シフトされた巡回行列を表す少なくとも2つのエントリを有する、方法。
【請求項１５】
前記少なくとも1つのパンクチャド列は1つまたは2つのパンクチャド列である、請求項14に記載の方法。
【請求項１６】
第1の列および第2の列がパンクチャド列である、請求項14または15に記載の方法。
【請求項１７】
前記少なくとも1つのパンクチャド列は前記非パンクチャド列よりも高い重みを有する、請求項14乃至16のいずれか1項に記載の方法。
【請求項１８】
前記少なくとも1つのグループは2つ以上のグループであり、前記2つ以上のグループは連続している、請求項14乃至17のいずれか1項に記載の方法。
【請求項１９】
各グループは、前記第2の部分において直交している最大数の連続する行から成る、請求項14乃至18のいずれか1項に記載の方法。
【請求項２０】
前記シフトされた巡回行列は、数回右に循環シフトされた単位行列を表し、前記回数はシフト値によって与えられる、請求項14乃至19のいずれか1項に記載の方法。
【請求項２１】
前記基本行列は、第1の行から開始する複数の行を有するコア基本行列を含み、行の前記第1のセットは、前記第1の行から開始し、行の前記第2のセットは、前記第1のセットの最後の行の次の行から開始する、請求項14乃至20のいずれか1項に記載の方法。
【請求項２２】
前記第1のセットにおける行は前記第2のセットの前記行よりも高い重みを有する、請求項14乃至21のいずれか1項に記載の方法。
【請求項２３】
非パンクチャド列および前記第2のセットの行によって形成されるサブ行列の各隣接する2つの行は直交している、請求項14乃至22のいずれか1項に記載の方法。
【請求項２４】
前記第1のセットの前記行によって形成される行列の列のサブセットから成る行列は、二重対角構造または三角構造を有する、請求項14乃至23のいずれか1項に記載の方法。
【請求項２５】
前記第2のセットの前記行によって形成される前記行列の列のサブセットから成る行列は、三角構造または単位行列構造を有する、請求項14乃至24のいずれか1項に記載の方法。
【請求項２６】
前記基本行列に基づいて、情報ビットの前記シーケンスに対応する符号語を決定するステップと、
前記少なくとも1つのパンクチャド列に対応する情報ビットを除いて前記符号語を送信するステップとをさらに含む、請求項14乃至25のいずれか1項に記載の方法。
【請求項２７】
装置であって、
基本行列に基づいて、情報ビットのシーケンスを符号化するように構成されるエンコーダを含み、
前記基本行列は複数のエントリを含み、各エントリはシフトされた巡回行列またはゼロ行列のいずれかを表し、
前記基本行列は複数の行および複数の列を含み、前記複数の列は少なくとも1つのパンクチャド列と複数の非パンクチャド列とを含み、
前記複数の行は行の第1のセットおよび行の第2のセットを含み、
前記第2のセットの行は少なくとも1つのグループを含み、各グループにおける各非パンクチャド列は前記シフトされた巡回行列を表す多くて1つのエントリを有し、各グループにおける少なくとも1つのパンクチャド列は、前記シフトされた巡回行列を表す少なくとも2つのエントリを有する、装置。
【請求項２８】
請求項14乃至26のいずれか1項に記載の前記方法を実行するように構成されることによって特徴付けられる、請求項27に記載の装置。
【請求項２９】
前記基本行列に関連付けられたパラメータを記憶するように構成されるメモリをさらに含む、請求項27または28に記載の装置。
【請求項３０】
装置であって、
基本行列に基づいて、情報ビットのシーケンスを復号化するように構成されるデコーダを含み、
前記基本行列は複数の行および複数の列を有し、前記複数の列は少なくとも1つのパンクチャド列と複数の非パンクチャド列とを含み、
前記複数の行は行の第1のセットおよび行の第2のセットを含み、
前記第2のセットの行は少なくとも1つのグループを含み、各グループは少なくとも2つの連続する行を含み、前記少なくとも2つの連続する行は第1の部分および第2の部分から成り、
前記第1の部分は前記少なくとも1つのパンクチャド列であり、前記第1の部分の行は非直交であり、
前記第2の部分は前記非パンクチャド列であり、前記第2の部分の行は直交している、装置。
【請求項３１】
装置であって、
基本行列に基づいて、情報ビットのシーケンスを復号化するように構成されるデコーダを含み、
前記基本行列は複数のエントリを含み、各エントリはシフトされた巡回行列またはゼロ行列のいずれかを表し、
前記基本行列は複数の行および複数の列を含み、前記複数の列は少なくとも1つのパンクチャド列と複数の非パンクチャド列とを含み、
前記複数の行は行の第1のセットおよび行の第2のセットを含み、
前記第2のセットの行は少なくとも1つのグループを含み、各グループにおける各非パンクチャド列は前記シフトされた巡回行列を表す多くて1つのエントリを有し、各グループにおける少なくとも1つのパンクチャド列は、前記シフトされた巡回行列を表す少なくとも2つのエントリを有する、装置。
【請求項３２】
請求項2乃至9のいずれか1項、または請求項15乃至26のいずれか1項において定義される前記基本行列に基づいて、情報ビットの前記シーケンスを復号化するように構成されることによって特徴付けられる、請求項30または31に記載の装置。
【請求項３３】
前記デコーダは、前記少なくとも1つのパンクチャド列に対応する変数ノードに対するフラッディング復号化プロセスおよび前記非パンクチャド列に対応するノードに対する階層復号化プロセスに基づいて情報ビットの前記シーケンスを復号化するように構成される、請求項32に記載の装置。
【請求項３４】
送信側の装置と、受信側の装置とを含む通信システムであって、
前記送信側の前記装置は、基本行列に基づいて情報ビットのシーケンスを符号化し、少なくとも1つのパンクチャド列に対応する情報ビットを除いて情報ビットの符号化シーケンスを送信するように構成され、
前記受信側の前記装置は、少なくとも1つのパンクチャド列に対応する情報ビットを除いて情報ビットの前記符号化シーケンスを含む信号を受信し、前記基本行列に基づいて、前記受信された信号を復号化するように構成され、
前記送信側の前記装置は、請求項11乃至13、27乃至29のいずれか1項に記載の装置であり、前記受信側の前記装置は、請求項30乃至33のいずれか1項に記載の装置である、通信システム。
【請求項３５】
無線通信のための方法であって、
復号化されるべき情報ビットのシーケンスを取得するステップと、
基本行列に基づいて、情報ビットの前記シーケンスを復号化するステップとを含み、
前記基本行列は複数の行および列を有し、前記複数の列は少なくとも1つのパンクチャド列と複数の非パンクチャド列とを含み、
前記複数の行は行の第1のセットおよび行の第2のセットを含み、
前記第2のセットの行は少なくとも1つのグループを含み、各グループは少なくとも2つの連続する行を含み、前記少なくとも2つの連続する行は第1の部分および第2の部分から成り、
前記第1の部分は前記少なくとも1つのパンクチャド列であり、前記第1の部分の行は非直交であり、
前記第2の部分は前記非パンクチャド列であり、前記第2の部分の行は直交している、方法。
【請求項３６】
前記基本行列は、請求項2乃至9のいずれか1項で定義されている前記基本行列である、請求項35に記載の方法。
【請求項３７】
無線通信のための方法であって、
復号化されるべき情報ビットのシーケンスを取得するステップと、
基本行列に基づいて、情報ビットのシーケンスを復号化するステップとを含み、
前記基本行列は複数のエントリを含み、各エントリはシフトされた巡回行列またはゼロ行列のいずれかを表し、
前記基本行列は複数の行および複数の列を含み、前記複数の列は少なくとも1つのパンクチャド列と複数の非パンクチャド列とを含み、
前記複数の行は行の第1のセットおよび行の第2のセットを含み、
前記第2のセットの行は少なくとも1つのグループを含み、各グループにおける各非パンクチャド列は前記シフトされた巡回行列を表す多くて1つのエントリを有し、各グループにおける少なくとも1つのパンクチャド列は、前記シフトされた巡回行列を表す少なくとも2つのエントリを有する、方法。
【請求項３８】
前記基本行列は、請求項14乃25のいずれか1項で定義されている前記基本行列である、請求項37に記載の方法。
【請求項３９】
コンピュータ上で実行すると、請求項1乃至10、請求項14乃至26、請求項35乃至36、または請求項37乃至38のいずれか1項に記載の前記方法を前記コンピュータに実行させる命令を含む、コンピュータ可読媒体。
【請求項４０】
コンピュータ上で実行すると、請求項1乃至10、請求項14乃至26、請求項35乃至36、または請求項37乃至38のいずれか1項に記載の前記方法を前記コンピュータに実行させる命令を含む、プログラム。
【国際調査報告】
2019536341.tif 000032
2019536341.tif 000033