(57)【特許請求の範囲】
【請求項１】
ソースデータを、通信チャネルにおいて使用されることになる符号化されたコードワードに符号化する符号器であって、
符号化されることになる前記ソースデータを受信するデータ入力と、
プロセッサと、
前記プロセッサによって実行可能な符号器プログラムを記憶するメモリと、
を備え、前記符号器プログラムは、前記プロセッサに、前記ソースデータをターボ積符号（ＴＰＣ）構造に符号化させ、前記ＴＰＣ構造は、
前記ソースデータに対応するデータブロックと、
第１の列部分、第１の角部分及び第１の底部分を含む第１のパリティブロックであって、前記第１のパリティブロックは、前記第１の列部分、前記第１の角部分及び前記第１の底部分によって、前記データブロックの右端列、前記データブロックの右底角及び前記データブロックの底列を覆うように配置される、第１のパリティブロックと、
行パリティブロック、結合パリティブロック及び列パリティブロックを有する第２のパリティブロックであって、前記第２のパリティブロックは、前記行パリティブロック、前記結合パリティブロック及び前記列パリティブロックを用いて、前記第１のパリティブロックを覆うように配置される、第２のパリティブロックと、
を備え、
前記第１のパリティブロックは、Bose、Chaudhuri及びHocquenghem（ＢＣＨ）符号化に基づくパリティビットから構成され、
前記ＢＣＨパリティビットの長さは、誤りフロアを低減するために、訂正可能な誤りビットの最大数が最小ハミング距離以上であるように求められる、
符号器。
【請求項２】
ソースデータを、通信チャネルにおいて使用されることになる符号化されたコードワードに符号化する符号器であって、
符号化されることになる前記ソースデータを受信するデータ入力と、
プロセッサと、
前記プロセッサによって実行可能な符号器プログラムを記憶するメモリと、
を備え、前記符号器プログラムは、前記プロセッサに、前記ソースデータをターボ積符号（ＴＰＣ）構造に符号化させ、前記ＴＰＣ構造は、
前記ソースデータに対応するデータブロックと、
第１の列部分、第１の角部分及び第１の底部分を含む第１のパリティブロックであって、前記第１のパリティブロックは、前記第１の列部分、前記第１の角部分及び前記第１の底部分によって、前記データブロックの右端列、前記データブロックの右底角及び前記データブロックの底列を覆うように配置される、第１のパリティブロックと、
行パリティブロック、結合パリティブロック及び列パリティブロックを有する第２のパリティブロックであって、前記第２のパリティブロックは、前記行パリティブロック、前記結合パリティブロック及び前記列パリティブロックを用いて、前記第１のパリティブロックを覆うように配置される、第２のパリティブロックと、
を備え、
前記第１のパリティブロックは、Bose、Chaudhuri及びHocquenghem（ＢＣＨ）符号化に基づくパリティビットから構成され、
前記ＢＣＨパリティビットの長さは、雑音を許容するために、訂正可能な誤りビットの最大数が第２の最小ハミング距離以上であるように求められる、
符号器。
【請求項３】
ソースデータを、通信チャネルにおいて使用されることになる符号化されたコードワードに符号化する符号器であって、
符号化されることになる前記ソースデータを受信するデータ入力と、
プロセッサと、
前記プロセッサによって実行可能な符号器プログラムを記憶するメモリと、
を備え、前記符号器プログラムは、前記プロセッサに、前記ソースデータをターボ積符号（ＴＰＣ）構造に符号化させ、前記ＴＰＣ構造は、
前記ソースデータに対応するデータブロックと、
第１の列部分、第１の角部分及び第１の底部分を含む第１のパリティブロックであって、前記第１のパリティブロックは、前記第１の列部分、前記第１の角部分及び前記第１の底部分によって、前記データブロックの右端列、前記データブロックの右底角及び前記データブロックの底列を覆うように配置される、第１のパリティブロックと、
行パリティブロック、結合パリティブロック及び列パリティブロックを有する第２のパリティブロックであって、前記第２のパリティブロックは、前記行パリティブロック、前記結合パリティブロック及び前記列パリティブロックを用いて、前記第１のパリティブロックを覆うように配置される、第２のパリティブロックと、
を備え、
前記第２のパリティブロックはポーラ符号化に基づくパリティビットから構成され、
前記ポーラ符号化は、正則パラメータだけでなく、非正則パラメータも有し、非正則パラメータは、複雑度を緩和し、待ち時間を短縮するために、ポラライザユニット内の非正則ビット置換及び非アクティブ化排他的論理和演算の非正則ロケーションを含む、
符号器。
【請求項４】
ソースデータを、通信チャネルにおいて使用されることになる符号化されたコードワードに符号化する符号器であって、
符号化されることになる前記ソースデータを受信するデータ入力と、
プロセッサと、
前記プロセッサによって実行可能な符号器プログラムを記憶するメモリと、
を備え、前記符号器プログラムは、前記プロセッサに、前記ソースデータをターボ積符号（ＴＰＣ）構造に符号化させ、前記ＴＰＣ構造は、
前記ソースデータに対応するデータブロックと、
第１の列部分、第１の角部分及び第１の底部分を含む第１のパリティブロックであって、前記第１のパリティブロックは、前記第１の列部分、前記第１の角部分及び前記第１の底部分によって、前記データブロックの右端列、前記データブロックの右底角及び前記データブロックの底列を覆うように配置される、第１のパリティブロックと、
行パリティブロック、結合パリティブロック及び列パリティブロックを有する第２のパリティブロックであって、前記第２のパリティブロックは、前記行パリティブロック、前記結合パリティブロック及び前記列パリティブロックを用いて、前記第１のパリティブロックを覆うように配置される、第２のパリティブロックと、
を備え、
第２のパリティビットは、次元ごとに、すなわち、行方向又は列方向に並列に生成され、前記行方向又は前記列方向である次元方向の生成は、高スループット符号化のためにパイプライン方式で処理される、
符号器。
【請求項５】
ソースデータを、通信チャネルにおいて使用されることになる符号化されたコードワードに符号化する符号器であって、
符号化されることになる前記ソースデータを受信するデータ入力と、
プロセッサと、
前記プロセッサによって実行可能な符号器プログラムを記憶するメモリと、
を備え、前記符号器プログラムは、前記プロセッサに、前記ソースデータをターボ積符号（ＴＰＣ）構造に符号化させ、前記ＴＰＣ構造は、
前記ソースデータに対応するデータブロックと、
第１の列部分、第１の角部分及び第１の底部分を含む第１のパリティブロックであって、前記第１のパリティブロックは、前記第１の列部分、前記第１の角部分及び前記第１の底部分によって、前記データブロックの右端列、前記データブロックの右底角及び前記データブロックの底列を覆うように配置される、第１のパリティブロックと、
行パリティブロック、結合パリティブロック及び列パリティブロックを有する第２のパリティブロックであって、前記第２のパリティブロックは、前記行パリティブロック、前記結合パリティブロック及び前記列パリティブロックを用いて、前記第１のパリティブロックを覆うように配置される、第２のパリティブロックと、
を備え、
前記符号器プログラムは列符号器及び行符号器を含み、前記列符号器はｋ個のポーラ符号器を並列に動作させ、前記行符号器はｎ個のポーラ符号器を並列に動作させる、
符号器。
【請求項６】
前記列符号器及び前記行符号器はパイプライン方式で動作する、請求項５に記載の符号器。
【請求項７】
前記ポーラ符号器に関してｋ＝２４０、前記ポーラ符号器に関してｎ＝２５６である、請求項５に記載の符号器。
【請求項８】
前記ＴＰＣ構造は、より多くの符号を空間的に結合することによって最小ハミング距離を大きくするために、行方向及び列方向だけでなく、付加的な次元によって拡張される、請求項１から７のいずれか１項に記載の符号器。
【請求項９】
請求項１に記載の符号器によってソースデータから符号化されたコードワードを復号する復号器であって、
復号されることになる前記コードワードを受信するコードワード入力と、
復号器プログラムに従って前記コードワードを前記ソースデータに復号するプロセッサと、
前記プロセッサによって実行可能な前記復号器プログラムを記憶するメモリと、
を備え、行軟判定（ＳＤ）プロセス、列ＳＤプロセス及び硬判定（ＨＤ）プロセスを含む前記復号器プログラムは、前記プロセッサに、復号プロセスに従ってターボ積符号化（ＴＰＣ）構造を有する前記コードワードを前記ソースデータに復号させ、前記復号プロセスは、
一連の前記行ＳＤプロセス及び前記列ＳＤプロセスの少なくとも２回の反復と、
少なくとも１つのＨＤプロセスと、
を含み、
前記ＴＰＣ構造は、
前記ソースデータに対応するデータブロックと、
第１の列部分、第１の角部分及び第１の底部分を含む第１のパリティブロックであって、前記第１のパリティブロックは、前記第１の列部分、前記第１の角部分及び前記第１の底部分によって、前記データブロックの右端列、前記データブロックの右底角及び前記データブロックの底列を覆うように配置される、第１のパリティブロックと、
行パリティブロック、結合パリティブロック及び列パリティブロックを有する第２のパリティブロックであって、前記第２のパリティブロックは、前記行パリティブロック、前記結合パリティブロック及び前記列パリティブロックによって、前記第１のパリティブロックを覆うように配置される、第２のパリティブロックと、
を備え、
前記行ＳＤプロセス及び前記列ＳＤプロセスは、高スループット復号のために並列にパイプライン処理される、
復号器。
【請求項１０】
請求項１に記載の符号器によってソースデータから符号化されたコードワードを復号する復号器であって、
復号されることになる前記コードワードを受信するコードワード入力と、
復号器プログラムに従って前記コードワードを前記ソースデータに復号するプロセッサと、
前記プロセッサによって実行可能な前記復号器プログラムを記憶するメモリと、
を備え、行軟判定（ＳＤ）プロセス、列ＳＤプロセス及び硬判定（ＨＤ）プロセスを含む前記復号器プログラムは、前記プロセッサに、復号プロセスに従ってターボ積符号化（ＴＰＣ）構造を有する前記コードワードを前記ソースデータに復号させ、前記復号プロセスは、
一連の前記行ＳＤプロセス及び前記列ＳＤプロセスの少なくとも２回の反復と、
少なくとも１つのＨＤプロセスと、
を含み、
前記ＴＰＣ構造は、
前記ソースデータに対応するデータブロックと、
第１の列部分、第１の角部分及び第１の底部分を含む第１のパリティブロックであって、前記第１のパリティブロックは、前記第１の列部分、前記第１の角部分及び前記第１の底部分によって、前記データブロックの右端列、前記データブロックの右底角及び前記データブロックの底列を覆うように配置される、第１のパリティブロックと、
行パリティブロック、結合パリティブロック及び列パリティブロックを有する第２のパリティブロックであって、前記第２のパリティブロックは、前記行パリティブロック、前記結合パリティブロック及び前記列パリティブロックによって、前記第１のパリティブロックを覆うように配置される、第２のパリティブロックと、
を備え、
前記復号器プログラムは、行方向復号器及び列方向復号器を含み、前記行方向復号器は、ｎ個のポーラ復号器を並列に動作させ、前記列方向復号器は、ｋ個のポーラ復号器を並列に動作させ、前記行方向復号器の出力は、チェイス処理を介して、前記列方向復号器に送り込まれる、
復号器。
【請求項１１】
前記行ＳＤプロセス及び前記列ＳＤプロセスは、リスト復号に基づくチェイス処理を使用する、請求項９または１０に記載の復号器。
【請求項１２】
前記ＨＤプロセスはＢＣＨ復号を使用する、請求項９または１０に記載の復号器。
【請求項１３】
通信チャネルを介して、符号化されたコードワードを送信する送信機であって、
送信されることになるソースデータを受け取るソースと、
符号化されることになるソースデータを受信するデータ入力と、
プロセッサと、
前記プロセッサによって実行可能な符号器プログラムを記憶するメモリと、
を備え、前記符号器プログラムは、前記プロセッサに、前記ソースデータを積符号化構造に符号化させ、前記積符号化構造は、
前記ソースデータに対応するデータブロックと、
第１の列部分、第１の角部分及び第１の底部分を含む第１のパリティブロックであって、前記第１のパリティブロックは、前記第１の列部分、前記第１の角部分及び前記第１の底部分によって、前記データブロックの右端列、前記データブロックの右底角及び前記データブロックの底列を覆うように配置される、第１のパリティブロックと、
行パリティブロック、結合パリティブロック及び列パリティブロックを有する第２のパリティブロックであって、前記第２のパリティブロックは、前記行パリティブロック、前記結合パリティブロック及び前記列パリティブロックを用いて、前記第１のパリティブロックを覆うように配置される、第２のパリティブロックと、
を備え、前記符号化されたコードワードを変調する変調器と、
前記変調され、符号化されたコードワードを、前記通信チャネルを介して送信するフロントエンドと、
を備え、
前記第１のパリティブロックは、Bose、Chaudhuri及びHocquenghem（ＢＣＨ）符号化に基づくパリティビットから構成され、
前記ＢＣＨパリティビットの長さは、誤りフロアを低減するために、訂正可能な誤りビットの最大数が最小ハミング距離以上であるように求められる、
送信機。
【請求項１４】
通信チャネルを介して、符号化されたコードワードを送信する送信機であって、
送信されることになるソースデータを受け取るソースと、
符号化されることになるソースデータを受信するデータ入力と、
プロセッサと、
前記プロセッサによって実行可能な符号器プログラムを記憶するメモリと、
を備え、前記符号器プログラムは、前記プロセッサに、前記ソースデータを積符号化構造に符号化させ、前記積符号化構造は、
前記ソースデータに対応するデータブロックと、
第１の列部分、第１の角部分及び第１の底部分を含む第１のパリティブロックであって、前記第１のパリティブロックは、前記第１の列部分、前記第１の角部分及び前記第１の底部分によって、前記データブロックの右端列、前記データブロックの右底角及び前記データブロックの底列を覆うように配置される、第１のパリティブロックと、
行パリティブロック、結合パリティブロック及び列パリティブロックを有する第２のパリティブロックであって、前記第２のパリティブロックは、前記行パリティブロック、前記結合パリティブロック及び前記列パリティブロックを用いて、前記第１のパリティブロックを覆うように配置される、第２のパリティブロックと、
を備え、前記符号化されたコードワードを変調する変調器と、
前記変調され、符号化されたコードワードを、前記通信チャネルを介して送信するフロントエンドと、
を備え、
前記第１のパリティブロックは、Bose、Chaudhuri及びHocquenghem（ＢＣＨ）符号化に基づくパリティビットから構成され、
前記ＢＣＨパリティビットの長さは、雑音を許容するために、訂正可能な誤りビットの最大数が第２の最小ハミング距離以上であるように求められる、
送信機。
【請求項１５】
通信チャネルを介して、符号化されたコードワードを送信する送信機であって、
送信されることになるソースデータを受け取るソースと、
符号化されることになるソースデータを受信するデータ入力と、
プロセッサと、
前記プロセッサによって実行可能な符号器プログラムを記憶するメモリと、
を備え、前記符号器プログラムは、前記プロセッサに、前記ソースデータを積符号化構造に符号化させ、前記積符号化構造は、
前記ソースデータに対応するデータブロックと、
第１の列部分、第１の角部分及び第１の底部分を含む第１のパリティブロックであって、前記第１のパリティブロックは、前記第１の列部分、前記第１の角部分及び前記第１の底部分によって、前記データブロックの右端列、前記データブロックの右底角及び前記データブロックの底列を覆うように配置される、第１のパリティブロックと、
行パリティブロック、結合パリティブロック及び列パリティブロックを有する第２のパリティブロックであって、前記第２のパリティブロックは、前記行パリティブロック、前記結合パリティブロック及び前記列パリティブロックを用いて、前記第１のパリティブロックを覆うように配置される、第２のパリティブロックと、
を備え、前記符号化されたコードワードを変調する変調器と、
前記変調され、符号化されたコードワードを、前記通信チャネルを介して送信するフロントエンドと、
を備え、
前記第２のパリティブロックはポーラ符号化に基づくパリティビットから構成され、
前記ポーラ符号化は、正則パラメータだけでなく、非正則パラメータも有し、非正則パラメータは、複雑度を緩和し、待ち時間を短縮するために、ポラライザユニット内の非正則ビット置換及び非アクティブ化排他的論理和演算の非正則ロケーションを含む、
送信機。
【請求項１６】
通信チャネルを介して、符号化されたコードワードを送信する送信機であって、
送信されることになるソースデータを受け取るソースと、
符号化されることになるソースデータを受信するデータ入力と、
プロセッサと、
前記プロセッサによって実行可能な符号器プログラムを記憶するメモリと、
を備え、前記符号器プログラムは、前記プロセッサに、前記ソースデータを積符号化構造に符号化させ、前記積符号化構造は、
前記ソースデータに対応するデータブロックと、
第１の列部分、第１の角部分及び第１の底部分を含む第１のパリティブロックであって、前記第１のパリティブロックは、前記第１の列部分、前記第１の角部分及び前記第１の底部分によって、前記データブロックの右端列、前記データブロックの右底角及び前記データブロックの底列を覆うように配置される、第１のパリティブロックと、
行パリティブロック、結合パリティブロック及び列パリティブロックを有する第２のパリティブロックであって、前記第２のパリティブロックは、前記行パリティブロック、前記結合パリティブロック及び前記列パリティブロックを用いて、前記第１のパリティブロックを覆うように配置される、第２のパリティブロックと、
を備え、前記符号化されたコードワードを変調する変調器と、
前記変調され、符号化されたコードワードを、前記通信チャネルを介して送信するフロントエンドと、
を備え、
第２のパリティビットは、次元ごとに、すなわち、行方向又は列方向に並列に生成され、前記行方向又は前記列方向である次元方向の生成は、高スループット符号化のためにパイプライン方式で処理される、
送信機。
【請求項１７】
通信チャネルを介して、符号化されたコードワードを送信する送信機であって、
送信されることになるソースデータを受け取るソースと、
符号化されることになるソースデータを受信するデータ入力と、
プロセッサと、
前記プロセッサによって実行可能な符号器プログラムを記憶するメモリと、
を備え、前記符号器プログラムは、前記プロセッサに、前記ソースデータを積符号化構造に符号化させ、前記積符号化構造は、
前記ソースデータに対応するデータブロックと、
第１の列部分、第１の角部分及び第１の底部分を含む第１のパリティブロックであって、前記第１のパリティブロックは、前記第１の列部分、前記第１の角部分及び前記第１の底部分によって、前記データブロックの右端列、前記データブロックの右底角及び前記データブロックの底列を覆うように配置される、第１のパリティブロックと、
行パリティブロック、結合パリティブロック及び列パリティブロックを有する第２のパリティブロックであって、前記第２のパリティブロックは、前記行パリティブロック、前記結合パリティブロック及び前記列パリティブロックを用いて、前記第１のパリティブロックを覆うように配置される、第２のパリティブロックと、
を備え、前記符号化されたコードワードを変調する変調器と、
前記変調され、符号化されたコードワードを、前記通信チャネルを介して送信するフロントエンドと、
を備え、
前記符号器プログラムは列符号器及び行符号器を含み、前記列符号器はｋ個のポーラ符号器を並列に動作させ、前記行符号器はｎ個のポーラ符号器を並列に動作させる、
送信機。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、硬判定クリーニング（hard decision cleaning）を伴うターボ積ポーラ符号化方法及びデバイスに関する。
【背景技術】
【０００２】
ポーラ符号は、逐次除去（ＳＣ：successive cancellation）復号を用いて、任意のバイナリ入力無記憶チャネルにおいてチャネル容量を漸近的に達成できることが証明されている。しかしながら、短いコードワード長における誤り率性能は、低密度パリティ検査（ＬＤＰＣ：low-density parity-check）符号等の他のチャネル容量に迫る符号（capacity-approaching code）には対抗できない。Tal及びValdyは、ＣＲＣ連接を伴うＳＣＬ復号によって、ポーラ復号性能を著しく改善する打開策である特許文献１を考案した。また、Zhang、Liu、Pan及びPan（非特許文献１）によって、ＳＣＬポーラ復号性能がＣＲＣ多項式に大きく依存すること、及び適切に設計されたＣＲＣ多項式によって、ポーラ−ＣＲＣ連接符号の最小ハミング距離を大きくできることも解明された。
【０００３】
Bose、Chaudhuri及びHocquenghem（ＢＣＨ）符号及びハミング符号等の従来の線形符号に基づく積符号を用いて、並列符号化及び復号の能力によって最小ハミング距離を大きくしてきた。積符号が最尤に近い性能を達成する軟判定（ＳＤ：soft-decision）反復のための効率的なチェイス復号法がPyndiah（非特許文献２）によって提案された。積符号のために使用される、ターボライク（turbo-like）ＳＤ反復手法は、ターボ積符号（ＴＰＣ：turbo product code）として知られている。
【先行技術文献】
【特許文献】
【０００４】
【特許文献１】米国特許第９５０３１２６号
【非特許文献】
【０００５】
【非特許文献１】「CRC code design for list decoding of polar codes」Communications Letter 2017
【非特許文献２】「Near-optimum decoding of product codes: block turbo codes」IEEE Transactions on Communications, vol. 46, no. 8, 1998
【発明の概要】
【０００６】
本開示は、明白でないようにしてポーラ構成符号を用いる新たなＴＰＣを提供し、分極及びインターリーブ処理に起因する非正則性を利用して、ハミング重み分布を改善する。さらに、本発明は、ポーラＴＰＣの、チェイスライクＳＤ反復復号のためにＳＣＬポーラ復号を拡張する方法を提供する。ＳＣＬチェイス復号によれば、ポーラ符号に基づくＴＰＣは、ＢＣＨ符号、ハミング符号、リードソロモン符号又はリードミューラー符号等の代数的符号に基づく従来からのＴＰＣに比べて、誤り率性能の著しい改善を提供する。
【０００７】
さらに、本開示のいくつかの実施形態は、分極及びインターリーブ処理に起因する非正則性を利用して、ターボポーラ符号のハミング重み分布を改善する、ポーラ符号化を用いる積符号化方法を提供する。それらの実施形態は、非正則空間結合ポーラ符号の誤り性能を低減するために、軟判定ポーラ復号を使用することができる。そのシステムは、複数のパリティ検査行列を伴う積符号からなることができる。パリティブロックは、行パリティ、列パリティ及び結合パリティ行列（joint parity matrix）を含むことができる。データセクションは、より良好な誤り性能を得るために、空間結合ポーラ符号の非正則性を利用する１組の付加パリティブロックを含むことができる。
【０００８】
ポーラ符号は良好なハミング重み分布を有するが、空間結合ポーラ符号内の構成符号として使用される、短符号長の高速ポーラ符号は、通常、ＢＣＨ符号より短い最小ハミング距離を有することが知られている。短い最小ハミング距離は、信号対雑音比（ＳＮＲ：signal-to-noise ratio）が高い状況においてのみ、誤り率性能に影響を及ぼすことができる。結果として、空間結合ポーラ符号は、潜在的には、他のＴＰＣより高い誤りフロア（error floor：エラーフロア）問題を被る可能性がある。
【０００９】
本発明では、ＣＲＣの代わりにＢＣＨ連接を使用し、ＳＤ反復復号後に硬判定（ＨＤ：hard-decision）クリーニングを使用することによって、誤りフロアを低減する方法が開示される。ＢＣＨ連接を伴うＨＤクリーニングが空間結合ポーラ符号の最も支配的な誤りパターンを除去することができるので、ＢＣＨ符号の連接は、誤りフロア除去を提供するだけでなく、必要とされる反復回数の削減も提供する。ポーラ符号のハミング重み分布は、ハミング距離が短いほど連接が高い等の固有の特徴を有するので、その方法は、ポーラ構成符号に基づくＴＰＣの場合に特に有効である。さらに、ＢＣＨ連接は、多数の非正則分極非アクティブ化（inactivation）に対する許容度を高めることによって、計算複雑度を更に緩和し、復号待ち時間を更に短縮することもできる。
【００１０】
いくつかの実施形態は、正則ポーラ符号化構成が、通信チャネル及び変調方式が送信コードワードビットごとに均一な伝送信頼性を与える状況に対処するという認識に基づく。容量及び凍結ビットロケーション設計を達成するという理論的証明のために、この仮定が必要とされる。しかしながら、より高次の変調、周波数選択性フェージング、経時的に変化するチャネル、及び多入力多出力（ＭＩＭＯ）チャネル等のいくつかの状況の結果として、送信ビットにわたって信頼性が不均一になる。
【００１１】
いくつかの実施形態は、正則ポーラ符号化が大きい（理論的には無限に大きい）符号にわたって最適な符号化効率に向かって収束するとき、符号長が短くなる場合でも、より多くの自由度を追加することによって、その実際の誤り訂正性能を改善できるという別の認識に基づく。
【００１２】
いくつかの実施形態は、通信チャネルのパラメータの変動に対する正則ポーラ符号の適応性が、コードワード内のデータビットの数を規定するパラメータ、符号化コードワード内の凍結ビットのロケーションを指定するデータインデックス集合を規定するパラメータ、及び符号化コードワード内のパリティビットの数を規定するパラメータ等のパラメータの値によって決まるという理解に基づく。それらのパラメータは、本明細書において、ポーラ符号の正則パラメータと呼ばれる。
【００１３】
いくつかの実施形態は、ポーラ符号の適応性を高めるために、正則パラメータに加えて、いくつかの他のパラメータが使用される必要があるという理解に基づく。そのような付加的なパラメータは、ポーラ符号の少なくとも１つの正則パラメータのカップリング値（coupling value）の非正則性を規定するパラメータ、符号化されたビットの置換の非正則性を規定するパラメータ、ポーラ符号内の分極カーネルの非正則性を規定するパラメータ、ポーラ符号化の異なるステージにおけるディアクティベートされる排他的論理和演算の選択に関する非正則性を規定するパラメータのうちの１つ又は組み合わせを含むことができ、非正則ポーラ符号器は、ポーラ符号の正則パラメータ及び非正則パラメータを用いてコードワードを符号化する。
【００１４】
これらの付加的なパラメータは、本明細書において、非正則パラメータと呼ばれる。正則パラメータ及び非正則パラメータを用いて設計されるポーラ符号は、本明細書において、非正則ポーラ符号と呼ばれる。非正則ポーラ符号を用いてコードワードを符号化するポーラ符号器は、本明細書において、非正則ポーラ符号器と呼ばれる。
【００１５】
例えば、いくつかの実施形態は、ＳＤ復号を短い待ち時間で実行できるように、そのコードワード長が相対的に短い複数のポーラ符号を使用し、各ＳＤ復号が、潜在的な誤りを訂正するために、ＳＤ情報を他のポーラ復号器に前後に伝搬させる。このターボライクポーラ符号化及び復号アーキテクチャの場合、誤り訂正性能は、ポーラ符号にわたって「非正則性」を課すことによって、例えば、異なる符号化率、異なる凍結ビットロケーション、異なるコードワード長、異なるインターリーブ処理及び異なる分極カーネルを使用することによって高められる。更に別の実施形態において、ポーラ符号化アーキテクチャは、中間ステージにおいて非正則に置換される。複雑度を低減し、性能を改善するために、この非正則ポーラ符号アーキテクチャは、いくつかの分極演算を疎にディアクティベートすることによって、更に一般化される。いくつかの実施形態において、ディアクティベートする分極演算は、異なる非バイナリ及び高次カーネルを有することによって更に一般化される。
【００１６】
いくつかの実施態様において、通信チャネル及び／又は変調方式の結果として、送信コードワードビットに関する信頼性が不均一になるので、インターリーバを利用して誤り訂正性能を改善できるようにするが、誤り訂正性能を改善するには、インターリーバ及びポーラ符号構成を同時に設計することが要求される。したがって、一実施形態は、インターリーバ及びポーラ符号構成を同時に設計するシステム及び方法を開示し、インターリーバ及びポーラ符号構成は、不均一な信頼性を考慮に入れることによって交互に最適化される。この方法は、インターリーバによって実行される置換が、設計することができる１組のパラメータによってパラメータ化されるインターリーバ方式を利用する。
【００１７】
したがって、一実施形態は、通信チャネルを介して、符号化されたコードワードを送信する送信機を開示する。送信機は、送信されるソースデータを受け取るソースと、プロセッサによって動作し、ソースデータをポーラ符号で符号化し、符号化されたコードワードを生成する非正則ポーラ符号器であって、ポーラ符号は、コードワード内のデータビットの数を規定するパラメータ、符号化されたコードワード内の凍結ビットのロケーションを指定するデータインデックス集合を規定するパラメータ、及び符号化されたコードワード内のパリティビットの数を規定するパラメータのうちの１つ又は組み合わせを含む、１組の正則パラメータによって規定され、ポーラ符号は、ポーラ符号の少なくとも１つの正則パラメータの値の非正則性を規定するパラメータ、符号化されたビットの置換の非正則性を規定するパラメータ、ポーラ符号内の分極カーネルの非正則性を規定するパラメータ、及びポーラ符号化の異なるステージにおけるディアクティベートされる排他的論理和演算の選択に関する非正則性を規定するパラメータのうちの１つ又は組み合わせを含む、１組の非正則パラメータによって更に規定され、非正則ポーラ符号器は、ポーラ符号の正則パラメータ及び非正則パラメータを用いてソースデータを符号化する、非正則ポーラ符号器と、符号化されたコードワードを変調する変調器と、被変調符号化コードワードを、通信チャネルを介して送信するフロントエンドとを備える。
【００１８】
別の実施形態は、通信チャネルを介して、符号化されたコードワードを送信する方法を開示する。方法は、送信されるソースデータを受け取ることと、ソースデータを非正則ポーラ符号で符号化し、符号化されたコードワードを生成することであって、非正則ポーラ符号は、コードワード内のデータビットの数を規定するパラメータ、符号化されたコードワード内の凍結ビットのロケーションを指定するデータインデックス集合を規定するパラメータ、及び符号化されたコードワード内のパリティビットの数を規定するパラメータのうちの１つ又は組み合わせを含む、１組の正則パラメータによって規定され、ポーラ符号は、ポーラ符号の少なくとも１つの正則パラメータの値の非正則性を規定するパラメータ、符号化されたビットの置換の非正則性を規定するパラメータ、ポーラ符号内の分極カーネルの非正則性を規定するパラメータ、及びポーラ符号化の異なるステージにおけるディアクティベートされる排他的論理和演算の選択に関する非正則性を規定するパラメータのうちの１つ又は組み合わせを含む、１組の非正則パラメータによって更に規定され、非正則ポーラ符号器が、ポーラ符号の正則パラメータ及び非正則パラメータを用いてコードワードを符号化することと、符号化されたコードワードを変調することと、被変調符号化コードワードを、通信チャネルを介して送信することとを含む。
【００１９】
更に別の実施形態は、方法を実行するためにプロセッサによって実行可能であるプログラムを具現する非一時的コンピュータ可読記憶媒体を開示する。方法は、ソースデータを受け取ることと、ソースデータを非正則ポーラ符号で符号化し、符号化されたコードワードを生成することであって、非正則ポーラ符号は、コードワード内のデータビットの数を規定するパラメータ、符号化されたコードワード内の凍結ビットのロケーションを指定するデータインデックス集合を規定するパラメータ、及び符号化されたコードワード内のパリティビットの数を規定するパラメータのうちの１つ又は組み合わせを含む、１組の正則パラメータによって規定され、ポーラ符号は、ポーラ符号の少なくとも１つの正則パラメータの値の非正則性を規定するパラメータ、符号化されたビットの置換の非正則性を規定するパラメータ、ポーラ符号内の分極カーネルの非正則性を規定するパラメータ、及びポーラ符号化の異なるステージにおけるディアクティベートされる排他的論理和演算の選択に関する非正則性を規定するパラメータのうちの１つ又は組み合わせを含む、１組の非正則パラメータによって更に規定され、非正則ポーラ符号器が、ポーラ符号の正則パラメータ及び非正則パラメータを用いてコードワードを符号化することと、符号化されたコードワードを変調することと、被変調符号化コードワードを、通信チャネルを介して送信することとを含む。
【００２０】
さらに、本開示の実施形態によれば、ソース情報を、通信チャネルにおいて使用されることになる符号化されたコードワードに符号化する符号器は、符号化されることになるソースデータを受信するデータ入力と、プロセッサと、プロセッサによって実行可能な符号器プログラムを記憶するメモリとを備え、符号器プログラムは、プロセッサに、ソースデータをターボ積符号（ＴＰＣ）構造に符号化させ、ＴＰＣ構造は、ソースデータに対応するデータブロックと、第１の列部分、第１の角部分及び第１の底部分を含む第１のパリティブロックであって、この第１のパリティブロックは、第１の列部分、第１の角部分及び第１の底部分によって、データブロックの右端列、データブロックの右底角及びデータブロックの底列を覆うように配置される、第１のパリティブロックと、行パリティブロック、結合パリティブロック及び列パリティブロックを有する第２のパリティブロックであって、この第２のパリティブロックは、行パリティブロック、結合パリティブロック及び列パリティブロックを用いて、第１のパリティブロックを覆うように配置される、第２のパリティブロックとを備える。
【００２１】
別の実施形態は、符号器によってソースデータから符号化されたコードワードを復号する復号器を開示する。その復号器は、復号されることになるコードワードを受信するコードワード入力と、復号器プログラムに従ってコードワードをソースデータに復号するプロセッサと、プロセッサによって実行可能な復号器プログラムを記憶するメモリとを備え、行軟判定（ＳＤ）プロセス、列ＳＤプロセス及び硬判定（ＨＤ）プロセスを含む復号器プログラムは、プロセッサに、復号プロセスに従ってターボ積符号化（ＴＰＣ）構造を有するコードワードをソースデータに復号させ、復号プロセスは、一連の行ＳＤプロセス及び列ＳＤプロセスの少なくとも２回の反復と、少なくとも１つのＨＤプロセスとを含み、ＴＰＣ構造は、ソースデータに対応するデータブロックと、第１の列部分、第１の角部分及び第１の底部分を含む第１のパリティブロックであって、この第１のパリティブロックは、第１の列部分、第１の角部分及び第１の底部分によって、データブロックの右端列、データブロックの右底角及びデータブロックの底列を覆うように配置される、第１のパリティブロックと、行パリティブロック、結合パリティブロック及び列パリティブロックを有する第２のパリティブロックであって、この第２のパリティブロックは、行パリティブロック、結合パリティブロック及び列パリティブロックによって、第１のパリティブロックを覆うように配置される、第２のパリティブロックとを備える。
【００２２】
さらに、別の実施形態は、通信チャネルを介して、符号化されたコードワードを送信する送信機を開示する。その送信機は、送信されることになるソースデータを受け取るソースと、符号化されることになるソースデータを受信するデータ入力と、プロセッサと、プロセッサによって実行可能な符号器プログラムを記憶するメモリとを備え、符号器プログラムは、プロセッサに、ソースデータを積符号化構造に符号化させ、積符号化構造は、ソースデータに対応するデータブロックと、第１の列部分、第１の角部分及び第１の底部分を含む第１のパリティブロックであって、この第１のパリティブロックは、第１の列部分、第１の角部分及び第１の底部分によって、データブロックの右端列、データブロックの右底角及びデータブロックの底列を覆うように配置される、第１のパリティブロックと、行パリティブロック、結合パリティブロック及び列パリティブロックを有する第２のパリティブロックであって、この第２のパリティブロックは、行パリティブロック、結合パリティブロック及び列パリティブロックを用いて、第１のパリティブロックを覆うように配置される、第２のパリティブロックと、を備え、符号化されたコードワードを変調する変調器と、変調され、符号化されたコードワードを、通信チャネルを介して送信するフロントエンドとを備える。
【００２３】
本開示の実施形態によるポーラ符号の符号化システム及び方法は、誤り訂正の性能を改善することができ、計算複雑度を緩和し、復号待ち時間を短縮し、プロセッサ（ハードウェアプロセッサ）の電力消費量を削減することもできる。
【図面の簡単な説明】
【００２４】
【図１】いくつかの実施形態によるデジタルデータの伝送のための通信システムの機能図である。
【図２】図１のシステムの符号器によって利用される例示的な符号化の概略図である。
【図３】一実施形態による、軟判定復号器によって実行される軟判定復号の方法のブロック図である。
【図４】いくつかの実施形態による、候補パスのリストを生成するリスト復号の概略図である。
【図５】いくつかの実施形態の原理を用いてビットロケーションごとの軟出力を求めるための、１組の復号された候補コードワードと軟入力との間の距離の計算の一例を示す図である。
【図６Ａ】コードワードのデータビット内の複数のＣＲＣ符号の埋め込みの概略図である。
【図６Ｂ】コードワードのデータビット内の複数のＣＲＣ符号の埋め込みの概略図である。
【図７】いくつかの実施形態による、軟復号のための方法のブロック図である。
【図８】一実施形態による、チャネルを介して送信されるコードワードを復号する方法のブロック図である。
【図９Ａ】いくつかの実施形態による、非正則ポーラ符号でコードワードを符号化するように動作する非正則ポーラ符号器の概略図である。
【図９Ｂ】一実施形態による、非正則ポーラ符号のパラメータを求める概略図である。
【図１０Ａ】いくつかの実施形態による、不均一なチャネルのためのビットインターリーブ式ポーラ符号化変調の概略図である。
【図１０Ｂ】いくつかの実施形態による、不均一なチャネルのためのインターリーバ及びポーラ符号構成のための同時最適化手順のブロック図である。
【図１１】いくつかの実施形態による、積符号化構造を有する例示的な連接誤り訂正符号の図である。
【図１２】いくつかの実施形態による、階段符号化構造を有する例示的な連接誤り訂正符号の図である。
【図１３】いくつかの実施形態による、非正則符号化構造を有する例示的な連接誤り訂正符号の図である。
【図１４】いくつかの実施形態による、軟復号器を使用する連接誤り訂正符号の繰り返し復号手順のブロック図である。
【図１５Ａ】いくつかの実施形態による、分極ステージ間に複数のインターリーブ処理ユニットを使用する例示的な非正則ポーラ符号化構造の図である。
【図１５Ｂ】いくつかの実施形態による、中間インターリーバを設計する方法のブロック図である。
【図１６Ａ】いくつかの実施形態による、疎に選択された非アクティブ分極ユニットを有する例示的な非正則ポーラ符号化構造の図である。
【図１６Ｂ】いくつかの実施形態による、誤り確率の上限におけるディアクティベートされるポラライザの影響を示す、４の符号長の場合の非アクティブ分極ユニットを有する３つの例示的な非正則ポーラ符号化構造の図である。
【図１６Ｃ】いくつかの実施形態による、復号性能の許容範囲に基づく、非正則ポーラ符号化構造の選択的非アクティブポラライザの方法のブロック図である。
【図１７】いくつかの実施形態による軟復号を実行するための受信機及び／又はいくつかの実施形態によるコードワードを符号化するための送信機の種々の構成要素を実現するのに適したシステムのブロック図である。
【図１８Ａ】本発明のいくつかの実施形態による、ＢＣＨ−ＴＰＣ及びポーラＴＰＣの積符号化構造を示す図である。
【図１８Ｂ】本発明のいくつかの実施形態による、復号プロセスを示すブロック図である。
【図１８Ｃ】本発明のいくつかの実施形態による、ＢＣＨベースＴＰＣ及びポーラベースＴＰＣのビット誤り率（ＢＥＲ）性能を示す図である。
【図１９Ａ】本発明のいくつかの実施形態による、ＣＲＣ−１符号及びＢＣＨ符号と連接されるポーラ（２５６，２４０，４）に基づく行及び列構成符号の一例を示す図である。
【図１９Ｂ】本発明のいくつかの実施形態による、行ＳＤ復号器、列ＳＤ復号器、及びＢＣＨ  ＨＤ復号器を使用する復号手順を示す図である。
【図１９Ｃ】本発明の実施形態による、図１９Ｂの行ＳＤ復号器、列ＳＤ復号器、及びＢＣＨ  ＨＤ復号器を使用する復号手順に従って、図１９Ａの符号化されたデータブロックを復号することによって得られるＢＥＲ性能を示す図である。
【図２０Ａ】本発明の実施形態による、高スループットシステムのためのパイプライン処理を伴う並列符号化の一例を示す図である。
【図２０Ｂ】本発明の実施形態による、高スループットシステムのためのパイプライン処理を伴う並列復号の一例を示す図である。
【発明を実施するための形態】
【００２５】
本発明の様々な実施形態が、図面を参照して以下で説明される。図面は縮尺どおり描かれておらず、類似の構造又は機能の要素は、図面全体にわたって同様の参照符号によって表されることに留意されたい。図面は、本発明の特定の実施形態の説明を容易にすることのみを意図することにも留意されたい。図面は、本発明の網羅的な説明として意図されるものでもなければ、本発明の範囲を限定するものとして意図されるものでもない。加えて、本発明の特定の実施形態と併せて説明される態様は、必ずしもその実施形態に限定されず、本発明の任意の他の実施形態において実施することができる。
【００２６】
図１は、いくつかの実施形態による、チャネル１２０を介して、送信機１１０から受信機１３０までデジタルデータを伝送するための通信システムを示す。例えば、通信チャネル１２０は、無線通信のための無線媒体、有線通信のための銅線、データストレージ移送のための固体ドライブ、光ファイバー通信のための光ファイバーケーブルを含む。通信中に、デジタルデータはチャネル内の雑音によって破損する可能性がある。送信機１１０は、ポーラ符号１４０等の前方誤り訂正（ＦＥＣ）符号を用いて、信頼性のあるデータ通信を実現する。受信機が、復号器１３３を使用することによって、データを再生しようと試みる。
【００２７】
送信機１１０において、送信されるデータは、元のデータを収容するように構成されるソース１１１からもたらされる。ソースは、データを記憶するメモリ、データを受信する入力ポート、及び／又はデータを生成するデバイスを含むことができる。例えば、一実施形態において、ソースは入力音声信号をデジタルデータに変換する音声通信デバイスを含む。ソース１１１からの入力データは、ＦＥＣ符号器１１２によって符号化される。符号化されたデータは、変調器１１３によって変調される。場合によっては、符号化されたデータは、コードワードと呼ぶことができる。変調器１１３は、種々のデジタル変調フォーマット、例えば、直交振幅変調（ＱＡＭ）を使用し、直交周波数分割多重（ＯＦＤＭ）等の線形変換を伴う場合も、伴わない場合もある。被変調データはフロントエンド回路１１４を介してチャネルの中に送信され、フロントエンド回路は、例えば、光通信のための電気光学デバイス及び無線通信のための無線周波数デバイスを含むことができる。また、フロントエンドは、バンドパスフィルタ、プリコーディング、電力負荷、パイロット挿入及び予歪等の信号事前処理を含むこともできる。
【００２８】
チャネル１２０は送信信号を歪ませる。例えば、チャネルは、相加性白色ガウス雑音（ＡＷＧＮ）、同一チャネル干渉（ＣＣＩ）、深いフェージング、インパルス雑音、シンボル間干渉（ＩＳＩ）、カー効果に起因する非線形干渉（ＮＬＩ）、及び線形色分散（ＣＤ）並びに他のハードウェア欠陥を付加する。
【００２９】
受信機１３０は、最初に、フロントエンド回路１３１を介して、チャネル出力を電気的な受信信号に変換し、そのフロントエンド回路は、通常、送信機にあるフロントエンド１１４の相補回路である。例えば、フロントエンドは、線形等化、非線形等化、適応フィルタリング、チャネル推定、キャリア位相再生、同期、及び分極再生を含む。受信信号は復調器１３２において復調され、送信コードワードのビットの初期推定値が生成され、それらのビットが、ソースデータを再生するために復号器１３３によって使用される。種々の実施形態において、復号器１３３は、ポーラ符号１４０のための軟出力復号器である。復号されたデータはデータシンク１３４に送出される。いくつかの実施形態において、復号器１３３は、復調器１３２からもたらされた受信コードワードからビットの対数尤度比（ＬＬＲ）を示す値を生成する硬判定（ＨＤ）復号器である。いくつかの他の実施形態において、復号器１３３は、復号の軟出力を生成する軟判定復号器と、軟復号器から受信される軟出力に基づいて、受信コードワードからビットのＬＬＲを示す値を生成する硬判定復号器との組み合わせを含む。
【００３０】
送信機１１０及び／又は受信機１３０は、メモリに動作可能に接続されるプロセッサを用いて実現することができる。送信機１１０及び受信機１３０の各々は、１つ又は複数のプロセッサ（図示せず）を備える。例えば、受信機１３０のメモリは、ポーラ符号化、復号器１３３の軟入力及び軟出力、復号の中間計算の結果及びパラメータのうちの１つ又は組み合わせに関連する何らかの情報を記憶することができる。例えば、ポーラ符号化コードワードは、１からなる下三角行列のクロネッカー累乗として形成される符号化行列を用いて符号化することができる。そのために、受信機のメモリは、コードワードを復号するために軟復号器のプロセッサによって使用される符号化行列を記憶することができる。
【００３１】
符号器１１２、変調器１１３、復調器１３２及び復号器１３３を含む、送信機１１０及び受信機１３０内の全ての構成要素は、ハードウェア、１つ以上のプロセッサ（ハードウェアプロセッサ）、コンピュータソフトウェア（プログラム又はプログラムモジュール）、又はハードウェア及びコンピュータソフトウェアの組み合わせによって実現することができる。
【００３２】
図２は、例示的なポーラ符号のために符号器１１２によって利用される例示的な符号化の概略図を示す。ただし、ｎ＝１６個のコードワードビット２１０、ｋ＝１０個のデータビット２０２、ｎ−ｋ＝６個の凍結ビット２０１が存在する。１０個のデータビットがデータビット２０２のロケーションに書き込まれ、一方、凍結ビット２０１は、既知の固定値に設定される（それは、実際には、簡単にするために全て０とすることができる）。したがって、この例において、ビット（ｕ１，ｕ２，ｕ４，ｕ６，ｕ９，ｕ１０，ｕ１１，ｕ１２，ｕ１４，ｕ１５）を１０個のデータビットの値に設定し、残りのビット（ｕ０，ｕ３，ｕ５，ｕ７，ｕ８，ｕ１３）を既知の固定値に設定することによって、ベクトルｕ：＝（ｕ０，．．．，ｕｎ−１）が形成される。データインデックス集合は、この例の場合、Ｉ＝｛１，２，４，６，９，１０，１１，１２，１４，１５｝であり、それは、パラメータｎ、ｋ及び凍結ビットの固定値とともに、ポーラ符号仕様１４０を構成する。その概略図は、ベクトルｕ：＝（ｕ０，．．．，ｕｎ−１）をコードワードベクトルｃ：＝（ｃ０，．．．，ｃｎ−１）に変換する手順を示し、それは、図示されるように、バイナリ排他的論理和（ＸＯＲ）演算２２０を利用することを伴う。これらの演算は、全体的な手順が式
【数１】
0006847252.tif 000002
を適用することに相当するように構造化されたパターンに従う。ただし、行列乗算はバイナリフィールド（すなわち、モジュロ２演算）を介して実行され、Ｂはｎ×ｎビット反転置換行列を表し、
【数２】
0006847252.tif 000003
は行列
【数３】
0006847252.tif 000004
の第ｍのクロネッカー累乗であり、ｍ：＝ｌｏｇ２ｎは分極ステージの数である。正則ポーラ符号の場合、ステージ当たりｎ／２回のＸＯＲ演算が存在し、結果として、全部でｎｍ／２回の演算になる。各ＸＯＲ演算は、本明細書において、便宜上、分極演算と呼ばれる。なぜなら、この演算は、ポラライザのような、アップグレードされたサブチャネル及びダウングレードされたサブチャネルを生成するためである。
【００３３】
図３は、一実施形態による、軟復号器１３３によって実行される軟復号の方法のブロック図を示す。復号器１３３は、メモリに動作可能に接続され、その方法のステップを実施するように構成されるプロセッサを含むことができる。
【００３４】
その方法は、逐次除去リスト（ＳＣＬ）復号３２０を用いて受信コードワード３１０のビットの取り得る値を推定し、１組の候補コードワード３２５を生成し、各候補コードワード３２５と受信コードワード３１０との間の距離を求め（３３０）、対応する１組の距離３３５を生成する。その方法は、ビット系列内のビットの値の尤度３５０を、受信コードワードに最も近く、そのビットの位置において逆の値を有する候補コードワードの距離の差を用いて求める（３４０）。例えば、一実施形態は、その位置において「１」の値を有する最も近い候補の距離と、その位置において「０」を有する最も近い候補の距離との差に基づいて、軟入力の各ビット位置において軟出力を計算する。
【００３５】
図４は、いくつかの実施形態による、木構造４００において複数の復号パスを検討することによって、候補復号パス４２０のリストを生成するＳＣＬ復号３２０の概略図を示す。復号プロセスは、第１のビットの両方の可能性を考慮し、復号パスのリスト内に初期の２つの候補４２１を生成するために、空の開始パス４１０からの分岐４１１で開始する。候補パス「０．．．」４１２は、リスト４２１内にあり、木構造４００内の位置に対応する。次のビットロケーションのために、リスト内の候補復号パスがそれぞれ、次のビットの両方の可能性を条件付けるために分岐される。例えば、リスト内の候補は、第１のビットロケーション４２１を検討することから第２のビットロケーション４２２に進み、第２のビットロケーション４２２を検討することから第３のビットロケーション４２３に進むように分岐される。これは、木構造４００において見られる分岐に対応する。分岐によって、リストサイズが増大するので、候補のリストを固定サイズに制限することによって、この増大が制限される。この図に示される例において、リストは３のサイズに制限される。第２の分岐後に、１つの候補パス４１３がリストから削除される。第３の分岐後に、３つの候補パス４１４、４１５及び４１６がリストから削除される。
【００３６】
図５は、いくつかの実施形態の原理を使用する、ビットロケーションごとの軟出力を求めるための、１組の復号された候補コードワード５０１と軟入力３０１との間の距離の計算の一例を示す。この例において、候補コードワード５０１のリストは３つの候補を含み、距離は二乗距離として求められる。そのため、軟入力３０１に対して、各候補の二乗距離が計算される（５０２）。異なる実施形態では、候補の数及び距離を求めるための指標は異なることができる。
【００３７】
（ｙ１，．．．，ｙｎ）が軟入力３０１を表すものとし、（ｃ１，．．．，ｃｎ）が特定の復号された候補コードワードを表すものとする。二乗距離は、二乗ユークリッド距離定式
【数４】
0006847252.tif 000005
に従って計算される。各候補が、項（２ｃｉ−１）によってバイナリ値｛０，１｝から｛−１，＋１｝に変換されることに留意されたい。最終軟出力５０８の計算プロセス５０７は、その後、候補コードワード５０１のリストと、それぞれの二乗距離５０３とに基づいて、各ビットロケーションにわたって個々に実行される。ビットロケーションごとに、そのロケーションにおいて０を有する最も近い候補の二乗距離と、そのロケーションにおいて１を有する最も近い候補の二乗距離との差の関数から、軟出力が計算される。これは、式оｉ＝ｆ（ｄｉ，０−ｄｉ，１）によって与えられる。ただし、оｉはビットロケーションｉの場合の軟出力であり、ｄｉ，０はロケーションｉにおいて０を有する最も近い候補の二乗距離であり、ｄｉ，１はロケーションｉにおいて１を有する最も近い候補の二乗距離である。
【００３８】
例えば、一実施形態において、その関数は、距離差をスカラーで割ること、例えば、оｉ＝（ｄｉ，０−ｄｉ，１）／４を含む（ただし、この例では、スカラーは４である）。例えば、ロケーション５０４におけるビットの軟出力は、（１．８１−２．８４）／４＝−０．２５７である。ただし、１．８１はロケーション５０４において値０を有する唯一の候補コードワードの距離であり、２．８４はロケーション５０４において値１を有する最も近い候補の距離である。例えば、ロケーション５０５におけるビットの軟出力は、（３．５９−１．８１）／４＝０．４４５である。ただし、３．５９はロケーション５０５において値０を有する唯一の候補コードワードの距離であり、１．８１はロケーション５０５において値１を有する最も近い候補の距離である。
【００３９】
いくつかの実施形態において、ロケーション５０６におけるビットのように、候補の全てがそのビットロケーションにおいて同じ値を有する場合には、この式は適用できず、代わりに、そのロケーションのための軟出力は、所与のパラメータβ＞０に従って設定される。ただし、候補の全てがそのロケーションにおいて値１を有する場合には、出力はоｉ＝＋βに設定され、候補の全てがそのロケーションにおいて値０を有する場合には、出力はоｉ＝−βに設定される。複数の候補から軟判定出力値を計算する上記のプロセスは、チェイス処理と呼ばれる。一実施形態において、ＳＣＬ復号におけるリストの数は１まで削減することができ、オフラインで既知の信頼性のない未凍結のビットに基づいて最も起こり得る誤りパターンを使用することによって、複数の候補を生成することができる。
【００４０】
誤り訂正性能を更に高めるために、いくつかの実施形態は、符号化効率をわずかに下げることを犠牲にしてデータビット内に巡回冗長検査（ＣＲＣ：cyclic redundancy check）を埋め込む。この変更を加えるとき、パスのうちの少なくとも１つが有効なＣＲＣを有するデータ系列に対応する場合には、代わりに、有効なＣＲＣを有する最も可能性が高いパスが推定のために選択されるように、復号器を変更することができる（ＳＣＬ＋ＣＲＣと呼ばれる）。
【００４１】
図６Ａ及び図６Ｂは、コードワードのデータビット内に少なくとも１つのＣＲＣ符号を埋め込む概略図を示す。例えば、図６Ａは、復号の正確性を検証するために、１つのＣＲＣがコードワードの最後に埋め込まれる例を示す。この例において、コードワード６００のビットは、実際のメッセージデータを含む、単一のデータ部分６０１と、データ部分６０１から計算され、データ部分６０１を検証する（６０３）後続の単一のＣＲＣ符号６０２とに分割される。
【００４２】
図６Ｂは、複数のＣＲＣ符号を使用する例を示し、ＳＣＬ複号の性能を改善するために第１のＣＲＣがコードワードの中央に埋め込まれ、第２のＣＲＣがコードワードの最後に埋め込まれる。コードワード内に埋め込まれるそのような複数のＣＲＣ符号を用いて、部分復号パスを検証することができる。そのようにして、ＣＲＣは、ＳＣＬ復号器が復号手順の中間ステップにおいて候補コードワードを剪定するのを支援することができる。さらに、複数のＣＲＣ符号は、ＳＣＬ復号における潜在的な誤り伝搬を防ぐことができる。
【００４３】
コードワード６１０のビットにおいて、複数のＣＲＣ符号が埋め込まれ、コードワード６１０を４つの部分に分割する。第１のデータ部分６１１に、第１のデータ部分６１１から計算され、第１のデータ部分６１１を検証する（６１３）第１のＣＲＣ部分６１２が後続する。第２のデータ部分６１４に、第２のデータ部分６１４から計算され、第２のデータ部分６１４を検証する（６１６）第２のＣＲＣ部分６１５が後続する。
【００４４】
図７は、いくつかの実施形態による軟復号のための方法のブロック図を示し、受信コードワードは複数のＣＲＣ符号を含む。例えば、一実施形態において、軟復号器１３３のプロセッサは、候補コードワードの一部が正しくないＣＲＣ符号を含むときに、受信コードワード内のＣＲＣ符号を含む場所によって決定される部分長において１組の候補コードワードを剪定する。
【００４５】
例えば、その方法は、部分的に復号された候補コードワードからＣＲＣ値を抽出し（７１０）、第１のＣＲＣ７１５を生成し、部分的に復号された候補コードワードに既知のＣＲＣ計算手順を適用することによってＣＲＣを計算し（７２０）、第２のＣＲＣ７２５を生成する。
【００４６】
その方法は、第１のＣＲＣ７１５を第２のＣＲＣ７２５と比較し（７３０）、第１のＣＲＣが第２のＣＲＣに一致しない場合には、復号されたビットの取り得る組み合わせのリストから、部分的に復号された候補コードワードを削除する。
【００４７】
図８は、一実施形態による、チャネルを介して送信されるコードワードを復号する方法のブロック図である。この手順への軟入力８０１は、チャネルを介して受信される雑音を含むコードワードであり、それは、ｙ：＝（ｙ０，．．．，ｙｎ−１）によって表される。ただし、各ｙｉは、対応する符号ビットｃｉの雑音を含む観測結果である。リスト復号手順は、インデックス０からｎ−１までのビットにわたって順次に進行する。ただし、ビットインデックスｉ∈｛０，．．．，（ｎ−１）｝の場合の各繰り返し８０５において、以下のことが実行される：
【００４８】
データビットインデックスにおいて復号パスを分岐する（８０２）。
第１のインデックスがデータビットロケーションでない（すなわち、
【数５】
0006847252.tif 000006
である）場合には、復号パスのリストは１つのパスで開始し、その場合、単一のパスが、ｕ０の既知の固定値に設定される第１のビットの推定値
【数６】
0006847252.tif 000007
を含む。そうでない場合、すなわち、第１のインデックスがデータビットロケーションである（すなわち、０∈Ｉである）とき、復号パスのリストは、第１のビットが０又は１のいずれかである可能性を表す、２つのパス
【数７】
0006847252.tif 000008
及び
【数８】
0006847252.tif 000009
で開始する。
後続のビットインデックスｉ＞０において、既存のパスが延長される。ビットインデックスがデータビットロケーションに対応する（すなわち、ｉ∈Ｉである）場合には、各分岐にそれぞれ
【数９】
0006847252.tif 000010
及び
【数１０】
0006847252.tif 000011
を追加することによって、各パスが２つのパスに分岐される。そうでない場合、すなわち、ビットインデックスがデータビットロケーションに対応しない（すなわち、
【数１１】
0006847252.tif 000012
である）とき、各パスは分岐されず、ｕｉの既知の固定値に設定される
【数１２】
0006847252.tif 000013
を加えることによって延長のみが行われる。
【００４９】
ＣＲＣが埋め込まれる場合には、パスのＣＲＣ妥当性を検査する（８０３）。
データビットが埋め込まれたＣＲＣ符号を含む場合には、これらのＣＲＣ符号を用いて、部分的に復号された無効なパスを破棄することができる。
ビットインデックスｉにおいて、部分ベクトルのデータビットロケーション（ｕ０，．．．，ｕｉ）が埋め込まれたＣＲＣ符号を含む場合、部分的に復号されたパスの自己一貫性を検査することができる。そうでない場合には、このステージにおいて何も行われない。また、特定のＣＲＣ符号が検査されると、後のインデックスに対して再検査される必要はない。
部分パス
【数１３】
0006847252.tif 000014
ごとに、そのデータビットロケーションにあるビットが、埋め込まれたＣＲＣ符号に対して自己一貫性があることを検査する。自己一貫性がないパスは、パスのリストから削除される。
【００５０】
パスリストを間引く（８０４）。
候補パスの指数関数的に大きくなる（それゆえ、扱いにくい）リストを取り扱うのを回避するために、リストは、固定リストサイズ限界Ｌまで間引かれる。
部分復号パス
【数１４】
0006847252.tif 000015
ごとに、この部分復号パスが正しいという相対的な統計的尤度
【数１５】
0006847252.tif 000016
が計算され、それはポーラ符号構造及び根底にあるチャネル統計値から得られる。
その後、最も高い尤度を有するＬ個のパスが保持され、一方、残りのパスはリストから削除される。
【００５１】
パスが完了するときループから抜ける（８０６）。
データインデックスｉ＝ｎ−１が検討された後にループは終了し、その手順は、候補パスを軟入力と比較することに移行する（８０７）。
各候補パスを軟入力と比較した（８０７）後に、候補パスの相対的な品質に基づいて、軟出力８０９が計算される（８０８）。
【００５２】
別の実施形態は、分極ステージにわたって信頼性情報を伝搬させるためにルックアップテーブル（ＬＵＴ）を使用し、性能上の大きいペナルティを被ることなく、必要とされるＬＵＴメモリサイズを最小化するために、量子化された信念メッセージが統計的に求められる。尤度統計値に基づいて出力される適応的ＬＵＴを用いて、凍結ビットロケーションを精緻化し、より高い符号化利得を達成し、量子化損失を補償する。
【００５３】
いくつかの実施形態において、復号中のビット尤度の計算は、いくつかの量子化ビットのみを用いて、計算複雑度を緩和し、メモリを削減する。一実施形態は、尤度の量子化されたものを単に近似するのではなく、着信するメッセージ及び発信するメッセージの統計値を考慮することによって、各分極演算において復号データを処理するために適応的ＬＵＴを使用する。例えば、分極演算子のダウングレードする分岐は低い信頼性のメッセージを生成し、それゆえ、ポラライザのアップグレードする分岐より、量子化ダイナミックレンジを小さくすべきである。そのステージ及びビットインデックスにおいて、異なるポラライザにおいて異なるＬＵＴを使用するとき、量子化復号のペナルティを最小化することができる。
【００５４】
非正則ポーラ符号構成
いくつかの実施形態は、正則ポーラ符号化構成は、通信チャネル及び変調方式が送信コードワードビットごとに均一な伝送信頼性を与える状況に対処するという認識に基づく。容量及び凍結ビットロケーション設計を達成するという理論的証明のために、この仮定が必要とされる。しかしながら、より高次の変調、周波数選択性フェージング、経時的に変化するチャネル、及び多入力多出力（ＭＩＭＯ）チャネル等のいくつかの状況の結果として、送信ビットにわたって信頼性が不均一になる。いくつかの実施形態は、正則ポーラ符号化が大きい（理論的には無限に大きい）符号にわたって最適な符号化効率に向かって収束するとき、符号長が短くなる場合でもその実際の誤り訂正性能を改善できるという別の認識に基づく。
【００５５】
いくつかの実施形態は、通信チャネルのパラメータの変動に対する正則ポーラ符号化の適応性が、コードワード内のデータビットの数を規定するパラメータ、符号化されたコードワード内の凍結ビットのロケーションを指定するデータインデックス集合を規定するパラメータ、及び符号化されたコードワード内のパリティビットの数を規定するパラメータ等のパラメータの値によって決まるという理解に基づく。それらのパラメータは、本明細書において、ポーラ符号の正則パラメータと呼ばれる。
【００５６】
いくつかの実施形態は、ポーラ符号の適応性を高めるために、正則パラメータに加えて、いくつかの他のパラメータが使用される必要があるという理解に基づく。そのような付加的なパラメータは、ポーラ符号の少なくとも１つの正則パラメータの値の非正則性を規定するパラメータ、符号化されたビットの置換の非正則性を規定するパラメータ、ポーラ符号内の分極カーネルの非正則性を規定するパラメータ、ポーラ符号化の異なるステージにおけるディアクティベートされるＸＯＲ演算の選択に関する非正則性を規定するパラメータのうちの１つ又は組み合わせを含むことができ、非正則ポーラ符号器は、ポーラ符号の正則パラメータ及び非正則パラメータを用いてコードワードを符号化する。
【００５７】
これらの付加的なパラメータは本明細書において非正則パラメータと呼ばれる。正則パラメータ及び非正則パラメータを用いて設計されるポーラ符号は、本明細書において、非正則ポーラ符号と呼ばれる。非正則ポーラ符号を用いてコードワードを符号化するポーラ符号器は、本明細書において、非正則ポーラ符号器と呼ばれる。
【００５８】
図９Ａは、いくつかの実施形態による、コードワードを非正則ポーラ符号９００で符号化し、符号化されたコードワードを生成するために、プロセッサによって動作する非正則ポーラ符号器の概略図を示す。非正則ポーラ符号器は、送信機１１０の符号器１１２に収容することができる。
【００５９】
非正則ポーラ符号９００は、コードワード内のデータビットの数を規定するパラメータ、符号化されたコードワード内の凍結ビットのロケーションを指定するデータインデックス集合を規定するパラメータ、及び符号化されたコードワード内のパリティビットの数を規定するパラメータのうちの１つ又は組み合わせを含む、１組の正則パラメータ９１０によって規定される。非正則ポーラ符号９００は、ポーラ符号の少なくとも１つの正則パラメータの値の非正則性を規定するパラメータ、符号化されたビットの置換の非正則性を規定するパラメータ、ポーラ符号内の分極カーネルの非正則性を規定するパラメータ、ポーラ符号化の異なるステージにおけるディアクティベートされたＸＯＲ演算の選択に関する非正則性を規定するパラメータのうちの１つ又は組み合わせを含む、１組の非正則パラメータ９２０によって更に規定される。いくつかの実施形態において、非正則ポーラ符号器は、非正則ポーラ符号の正則パラメータ及び非正則パラメータを用いてコードワードを符号化する。
【００６０】
図９Ｂは、一実施形態による、非正則ポーラ符号のパラメータを求める概略図を示す。この実施形態において、送信機１１０は、通信チャネルのパラメータを求めるように構成されるチャネル推定器９４０を含む。例えば、通信チャネルのパラメータは、符号化されたコードワードのビットを送信するための不均一な信頼性の値、及び／又は信号対雑音比及び遅延プロファイル等のチャネルの他の統計値を含む。通信チャネルのパラメータは、パイロット及びトレーニングシンボルに基づく最小二乗チャネル推定、又はブラインド電力推定等の種々の方法を用いて求めることができる。
【００６１】
一実施形態において、送信機１１０は、通信チャネルのパラメータの異なる値への、正則パラメータ及び／又は非正則パラメータの異なる値間のマッピング９３０を記憶するメモリを含む。そのようにして、その実施形態は、チャネル推定器９４０によって求められた通信チャネルのパラメータに基づいて、ポーラ符号の正則パラメータ及び／又は非正則パラメータの値の組み合わせ９３５を選択することができる。
【００６２】
状況によっては、ポーラ符号の性能は、復号方法だけでなく、符号器における凍結ビットロケーションにも依存する。軟判定復号を容易にするために、軟判定復号中に尤度の統計値を処理することによって、分極効果を高めることができるように、凍結ビットロケーションが更に精緻化される。凍結ビットロケーション設計は、高次変調及び周波数選択性フェージングチャネルの場合に特に重要であり、その場合、異なる符号化ビットが異なる雑音強度で破損し、不均一なビット信頼性を生じさせる。その実施形態は、凍結ビットロケーションを選択するために尤度の統計値の知識を利用し、軟判定復号の性能を改善する。さらに、異なるマッピングは分極効果を劣化させる可能性があるので、そのような不均一な信頼性の場合に、符号化ビットを変調ビット上にマッピングする方法が重要である。それゆえ、凍結ビットロケーション設計に加えて、符号化ビットを変調ビット上にマッピングする注意深いインターリーブ処理設計が必要とされる。本発明の方法は、そのような高次変調及びフェージングチャネルの場合に凍結ビットロケーション及びインターリーブ処理を同時に設計する方法を提供する。
【００６３】
図１０Ａは、インターリーブ処理を伴う符号器の概略図を示し、ポーラ符号化１１２が符号化ビットｃ０，．．．，ｃ１５を生成し、それらの符号化ビットは、インターリーバ１０２０によって、最下位ビット（ＬＳＢ）プレーンから最上位ビット（ＭＳＢ）プレーンにわたって、ＱＡＭ変調器又はＯＦＤＭ変調器１０１０において異なる変調ビットにマッピングされる。ＬＳＢ及びＭＳＢは異なるビット信頼性を有する。ビット桁位置（bit significance）に加えて、各被変調シンボルｘ０，．．．，ｘ３は、例えば、周波数選択性フェージングチャネルに起因して、異なるチャネル雑音レベルを有する場合がある。本発明の方法は、高い復号性能が実現されるように、重要な符号化ビットを信頼性のある変調ビットに注意深くマッピングする。
【００６４】
図１０Ｂは、不均一なチャネルの場合にインターリーバ及びポーラ符号構成を同時に最適化する手順を示す。この方法は、インターリーバによって実行される置換が、全ての取り得る置換を検討する代わりに、扱いやすいように最適化することができる１組のパラメータによってパラメータ化されるインターリーバ方式を利用する。例えば、インターリーブ処理の１つの実現形態は二次多項式置換（ＱＰＰ：quadratic polynomial permutation）インターリーバであり、それは、符号化ビットインデックスｉを以下のように変調ビットインデックスに並べ替える。
【数１６】
0006847252.tif 000017
ただし、（ｆ０，ｆ１，ｆ２）はインターリーバパラメータである。ＱＰＰインターリーブ処理の前後において、ポーラ符号化のためのインターリーブ処理を設計する自由度を高めるように、短い辞書的置換テーブル（lexicographical permutation tables）を使用することができる。
【００６５】
最初に、インターリーバは初期置換１００１に設定される。その後、最も信頼性が高い擬似チャネルに対応するデータインデックス集合を選択することによって、この初期インターリーバ置換のためのポーラ符号構成が最適化される（１００２）。その後、ポーラ符号構成及びインターリーバの誤り訂正性能が評価される（１００３）。この評価は、シミュレーションによって実験的に、及び／又はデータインデックス集合によって選択された擬似チャネルの信頼性から計算される誤り限界によって解析的に実行することができる。例えば、各分極演算において、尤度の統計値は、バタチャリアパラメータ（Bhattacharyya parameter）、密度進化、ガウス近似、又は外因性情報転送（ＥＸＩＴ：extrinsic information transfer）方法によって追跡することができる。不均一な信頼性を取り込むために、一実施形態の方法は、従来にない追跡を使用する。例えば、バタチャリアパラメータは、ダウングレードする分岐ｉ及びアップグレードする分岐ｊの場合に、それぞれ以下のように追跡される。
【数１７】
0006847252.tif 000018
ただし、
【数１８】
0006847252.tif 000019
はビットインデックスｉの場合の分極ステージｍにおけるバタチャリアパラメータである。バタチャリアパラメータは、ビット誤り率の上限に対応する。
【００６６】
いくつかの実施形態において、軟判定メッセージ伝搬を考慮するために、ＥＸＩＴ法が、分極演算のダウングレードする分岐及びアップグレードする分岐の場合にそれぞれ、以下のように、復号ステージにわたって外因性相互情報に関する信頼性を追跡する。
【数１９】
0006847252.tif 000020
ただし、
【数２０】
0006847252.tif 000021
は、チャネル出力から伝搬する相互情報量である。ここで、ＪＴＢ（・）及び
【数２１】
0006847252.tif 000022
はテンブリンクのＪ関数（ten Brink’s J-function）及びその逆関数を示し、すなわち、
【数２２】
0006847252.tif 000023
である。
【００６７】
復号後に相互情報量を計算すると、第ｉの入力ビットにおける誤り率は
【数２３】
0006847252.tif 000024
によって取得される。ただし、ｅｒｆｃ（ｘ）は相補誤差関数である。各分極ステージにおける相互情報量計算は、量子化された軟判定復号の場合に同一でないＬＵＴを考慮に入れるべきである。具体的には、上記のＪ関数は、連続ガウス関数から離散入力及び離散出力関数に変更され、その関数の相互情報量は、対応する遷移行列によって容易に計算することができる。さらに、ＥＸＩＴ追跡の式は、信念伝搬復号等の異なる復号方法に合わせて変更され、ＥＸＩＴ式は、隣接するポーラステージからの付加的なフィードバック情報を考慮するように変更される。ＥＸＩＴ追跡の式は、先行する分極ステージに加えて、次の分極ステージからのフィードバック情報を考慮することによって、ＢＰ復号等の異なる復号アルゴリズムの場合に容易に一般化されることに留意されたい。
【００６８】
次に、誤り訂正性能が収束した（すなわち、先行する繰り返しに対して大きく変化しない）か否かに基づいて、又は全繰り返し数に関する限界に達したか否かに基づいて、繰り返し最適化手順を継続するか、終了するかの決定が行われる（１００４）。継続する場合には、ポーラ符号データセットインデックスが固定されている間にインターリーバ置換が最適化され（１００５）、その後、インターリーバが固定されている間にポーラ符号データセットインデックスが再び最適化され（１００２）、その後、ポーラ符号構成及びインターリーバの性能が再評価され（１００３）、繰り返し最適化を継続するか、終了するかの決定が再び行われる（１００４）。これらの繰り返しを終了した後に、最終結果は、同時に最適化されたインターリーバ及びポーラ符号構成１００６である。凍結ビットロケーション及びインターリーブ処理のこの同時最適化は、コードワード長が長くなるほど、及び無線フェージングチャネルの場合に特に、増大した分極効果を与える。
【００６９】
いくつかの実施形態において、複数のポーラ符号が使用され、各コンポーネントポーラ符号は互いに連接され、軟判定復号出力が、複数のポーラ復号器にわたって前後に伝搬する。複数の連接されるポーラ符号の利点は、並列に復号できること、誤り訂正の潜在能力が高められること、及び復号待ち時間が短縮されることを含む。
【００７０】
図１１は、積符号化構造を有する例示的な連接ポーラ符号を示す。積符号化構造は、２つのポーラ符号、長さｎ１及びｋ１のデータビットを有する第１の符号及び長さｎ２及びｋ２のデータビットを有する第２の符号を利用する。その符号化手順は、ｋ１行×ｋ２列の長方形データブロック１１０１に配列される、ｋ１×ｋ２個のデータビットを符号化する。データブロック１１０１の各行を第２のポーラ符号で系統的に符号化し、行ごとの計算されたパリティビットをｋ１×（ｎ２−ｋ２）行パリティブロック１１０２の対応する行に書き込むことによって、行パリティブロック１１０２が生成される。データブロック１１０１の各列を第１のポーラ符号で系統的に符号化し、列ごとの計算されたパリティビットを（ｎ１−ｋ１）×ｋ２列パリティブロック１１０３の対応する列に書き込むことによって、列パリティブロック１１０３が生成される。行パリティブロック１１０２の各列を第１のポーラ符号で系統的に符号化し、列ごとの計算されたパリティビットを（ｎ１−ｋ１）×（ｎ２−ｋ２）行及び列パリティブロック１１０４の対応する列に書き込むことによって、行及び列パリティブロック１１０４が生成される。要するに、データブロック１１０１、行パリティブロック１１０２、列パリティブロック１１０３並びに行及び列パリティブロック１１０４がｎ１×ｎ２コードワードブロックを形成し、それをシリアルに変換し、通信チャネルを介して送信することができる。いくつかの実施形態において、積ポーラ符号化は、２次元の平方構造から、より高次の結合、例えば、３次元の立方構造に拡大される。いくつかの実施形態において、行及び列内の各コンポーネントポーラ符号化は非正則に異なるパラメータを有し、例えば、繰り返し復号のための性能を改善するために、凍結ビットロケーションは同一ではない。通常の多次元積符号化の場合、符号化及び復号は任意の特定の順序及び方向とすることができ、一方、復号の順序は、チャネル不均一性及びポーラ非正則性の存在時にＥＸＩＴ軌道解析に基づくスケジューリング最適化法によって最適化することができる。
【００７１】
図１２は、階段符号化構造を有する空間的に結合されるポーラ符号化の別の例を示す。この符号化方式は、階段に類似している構造に配置される平方ブロックを伴う。「ブロック０」の番号を付される、構造１２０１内の第１のブロックは、既知の固定値に設定されるビットの平方ブロックを含む。後続のブロックは「ブロック１」、「ブロック２」等と番号を付され、それぞれデータ部分及びパリティ部分を含む。例えば、「ブロック１」は、「ブロック１：データ」１２１１及び「ブロック１：パリティ」１２１２を含む。この図は５つのブロックを示すが、この構造は、それより多いブロック又は少ないブロックに容易に一般化される。各平方ブロックは、ｎ１×ｎ１の大きさを有する。奇数の後続ブロックの場合、データ部分（例えば、１２１１、１２３１）は大きさｎ１×ｋ１を有し、パリティ部分（例えば、１２１２、１２３２）は大きさｎ１×（ｎ１−ｋ１）を有する。偶数の後続ブロックの場合、データ部分（例えば、１２２１、１２４１）は大きさｋ１×ｎ１を有し、パリティ部分（例えば、１２２２、１２４２）は大きさ（ｎ１−ｋ１）×ｎ１を有する。この符号化構造は、ｎ１＋ｋ１個のデータビットを長さ２ｎ１のコードワードに符号化するコンポーネントポーラ符号を利用する。初期の「ブロック０」後に４つの後続ブロックを含む、図示される具体例の場合、ｎ１×ｋ１×４ビットのデータを最初に後続ブロックのデータ部分１２１１、１２２１、１２３１、１２４１に書き込むことによって、それらのデータブロックが符号化される。その後、後続ブロックのパリティ部分１２１２、１２２２、１２３２、１２４２が以下のように順次に生成される。
【００７２】
各奇数ブロックのパリティ部分１２１２、１２３２の各行が、先行するブロックの対応する行と、同じブロックのデータ部分の対応する行との連接を系統的に符号化することによって生成される。例えば、「ブロック１」のパリティ部分１２１２の行ｉが、「ブロック１」のデータ部分１２１１の行ｉと連接される「ブロック０」１２０１の行ｉの系統的な符号化によって生成されたパリティビットによって求められる。別の例において、「ブロック３」のパリティ部分１２３２の行ｉが、「ブロック２」の行ｉの系統的な符号化によって生成されたパリティビットによって求められ、その「ブロック２」の行ｉは、「ブロック２」のパリティ部分１２２２の行ｉと連接される「ブロック２」のデータ部分１２２１の行ｉを含み、それは更に「ブロック３」のデータ部分１２３１の行ｉと連接される。
【００７３】
各偶数ブロックのパリティ部分１２２２、１２４２の各列は同様に生成されるが、その手順は、行ではなく、列にわたって動作する。例えば、「ブロック２」のパリティ部分１２２２の列ｉが、「ブロック１」の列ｉの系統的な符号化によって生成されたパリティビットによって求められ、その「ブロック１」の列ｉは、「ブロック１」のパリティ部分１２１２の列ｉと連接される「ブロック１」のデータ部分１２１１の列ｉを含み、それは更に「ブロック２」のデータ部分１２２１の列ｉと連接される。
【００７４】
階段符号化手順によって生成される連接コードワード全体が、初期の「ブロック０」後の後続ブロック内の全ビットであり、「ブロック０」は、既知の固定値に設定されるので、送信される必要はない。「ブロック１」内のビット、「ブロック２」内のビット等は、通信チャネルを介して送信するためにシリアルに変換される。階段ポーラ符号化構造の利点は、対応するコードワード長を有する単一のポーラ符号化に比べて待ち時間が短縮されることを含む。軟判定復号は並列に実行することができ、この実施形態では、待ち時間の少ないデータ通信のために、隣接する復号器にわたる少ない数の繰り返しがスライディングウィンドウのように利用される。空間的に結合されるポーラ符号化の他の例は、編み上げ構造、畳み込み構造、テールバイティング、トーラステールバイティング（torus tail-biting）等を含む。各コンポーネントポーラ符号化の正則パラメータは、繰り返し軟復号が潜在的な誤りを迅速に訂正できるように、個別に非正則に設計される。
【００７５】
正則ポーラ符号化は、凍結ビットロケーションを決定する、設計の自由度が限られる。いくつかの実施形態は、符号長、符号化率及び凍結ビットロケーション等の異なるパラメータを伴う複数のポーラ符号を有することによって、自由度を高め、軟判定復号を容易にする。
【００７６】
詳細には、図１３は、非正則符号化構造を有する例示的な連接ポーラ符号を示す。この符号化方式は、凍結ビットロケーションが同一でない非正則構造において異なるコードワード及びデータ長を有するポーラ符号の組み合わせを利用する。連接符号全体のデータビットは１つ以上の長方形ブロックに配置され、そのブロックは垂直に積重され、その左端に沿って位置合わせされる。図示される例では、データビットの２つのブロック１３０１及び１３０２が存在し、それぞれｋ１×ｋ２及びｋ３×ｋ４の大きさを有する。その後、データブロックの右に１つ以上の行パリティブロックが水平に付加され、行パリティブロックの各行は、その行が付加されるデータビットの対応する行の系統的な符号化によって生成されたパリティビットによって求められる。図示される例では、２つの行パリティブロック１３１１及び１３１２が存在する。詳細には、大きさｋ１×ｐ１を有する第１の行パリティブロック１３１１が、ｋ１個のデータビットを長さ（ｋ２＋ｐ１）のコードワードに符号化するコンポーネントポーラ符号で第１のデータブロック１３０１の行を系統的に符号化することによって生成される。大きさｋ２×ｐ２を有する第２の行パリティブロック１３１２が、第２のデータブロック１３０１の行を系統的に符号化することによって同様に生成されるが、ここでは、ｋ２個のデータビットを長さ（ｋ４＋ｐ２）のコードワードに符号化するコンポーネントポーラ符号を使用する。次に、データビットブロック及び行パリティブロックの底部に列パリティブロックが垂直に付加され、列パリティブロックの各列は、対応するデータ列と、そのデータ列が付加されるパリティビットとの系統的な符号化によって生成されたパリティビットによって求められる。図示される例では、３つの列パリティブロック１３２１、１３２２及び１３２３が存在する。詳細には、大きさｐ３×ｋ５を有する第１の列パリティブロック１３２１が、（ｋ１＋ｋ３）個のデータビットを長さ（ｋ１＋ｋ３＋ｐ３）のコードワードに符号化するコンポーネントポーラ符号を用いて、両方のデータブロック１３０１及び１３０２の最初のｋ５個の列を系統的に符号化することによって生成される。大きさｐ４×ｋ６を有する第２の列パリティブロック１３２２が、（ｋ１＋ｋ３）個のデータビットを長さ（ｋ１＋ｋ３＋ｐ４）のコードワードに符号化するコンポーネントポーラ符号を用いて生成される。第２の列パリティブロック１３２２の異なる列が、２つのデータブロック１３０１及び１３０２、並びに２つの行パリティブロック１３１１及び１３１２の異なる部分に重なることに留意されたい。第２の列パリティブロック１３２２の各列が、その直上の列を系統的に符号化することによって生成される。
【００７７】
図１３は、１つの特定の例示的な配置のみを示すが、この一般概念は、様々なコンポーネントポーラ符号を利用するデータブロック、行パリティブロック及び列パリティブロックの数多くの取り得る非正則配置を含む。例えば、プロトグラフに基づくポーラ符号化構造が構成され、その構造では、並列ポーラ符号がシフト演算によって各ポラライザにおいて混合される。別の例は、レートレス（rateless）能力を与えるために、増え続ける階段構造を使用し、受信機が復号完了を肯定応答するまで、コンポーネントポーラ符号によってパリティビットのみが絶えず生成される。それゆえ、非正則符号化構造、及び異なる符号化パラメータを有する種々のコンポーネントポーラ符号の適用が、連接符号のコードワード全体にわたって様々な自由度（それゆえ、様々な程度の誤り訂正性能）をもたらし、それは不均一な通信チャネルの場合に有用な可能性がある。通信チャネルを介して送信するために、このコードワード全体がシリアルに変換され、誤り訂正性能利得を潜在的に得るために、不均一なチャネルを介して送信する前に、このシリアル変換を、インターリーバを介して置換することができる。
【００７８】
図１４は、種々のコンポーネント符号に適用される軟判定復号器を使用する連接ポーラ符号の繰り返し復号手順のブロック図である。最初のステップは、チャネル出力、すなわち、通信チャネルを介して受信された雑音を含むコードワードを伴う軟判定復号器のための軟入力を初期化すること（１４００）である。その後、連接ポーラ符号構成及び復号スケジュールの仕様１４０１が、連接誤り訂正符号の構造と、各復号繰り返しにおいてどのコンポーネント符号（複数の場合もある）が軟復号されるか（１４１０）とを規定する。１つ以上のコンポーネント符号１４１０の軟復号は軟出力を生成し、軟出力は、復号スケジュール１４０１によって規定されるような、次の繰り返しのための軟入力を更新するために使用される。次に、復号スケジュール１４０１によって規定されるように、次の繰り返しに進むか、又は繰り返し復号手順１４１１から抜けるかの判断が行われる。この復号順序スケジュールは、例えば、低遅延復号のためのスライディングウィンドウ、及び高度並列処理のためのフラッディングスケジューリングを含む。復号繰り返しを継続する場合には、その手順は、復号スケジュール１４０１において規定されるように選択される１つ以上のコンポーネント符号の軟判定復号１４１０に戻る。このプロセスは、復号スケジュール１４０１が中止すべきであることを示すまで繰り返し、結果として、繰り返し復号によって最終的な軟出力が生成され、そこから復号されたビットが求められる（１４２０）。
【００７９】
例えば、図１１に示されるような、積符号の場合、例示的な復号スケジュールは、一定の繰り返し数が経過するまで、行コンポーネント符号及び列コンポーネント符号の軟復号を交互に行うことになる。更に別の実施形態では、各コンポーネントポーラ符号は、軟判定復号を容易にするために付加的な非正則性を有する。
【００８０】
図１５Ａは、いくつかの分極ステージ間、例えば、各分極ステージ間にインターリーバ１５１０を有する、非正則ポーラ符号の一例を示す。変調マッピングインターリーバ１５２０とともに、及び／又はそれに加えて、この実施形態は、中間インターリーバを注意深く設計することによって、計算が複雑になるという更なるペナルティを伴うことなく、より多くのインターリーブ処理ユニット１５１０を利用して、復号性能を改善する。
【００８１】
図１５Ｂは、計算複雑度を管理しながら、中間インターリーバを設計する方法のブロック図を示す。この手順は、図１０Ｂに示されるような不均一なチャネルの場合にインターリーバ及びポーラ符号構成を同時に最適化するための手順に類似であり、その手順の同じサブ構成要素のうちのいくつかを使用する。最初に、インターリーバが、いくつかの初期置換に設定される（１５０１）。その後、最も信頼性の高い擬似チャネルに対応するデータインデックス集合を選択することによって、インターリーバのこれらの初期置換に対してポーラ符号構成が最適化される（１５０２）。その後、ポーラ符号構成及びインターリーバの誤り訂正性能が評価される（１５０３）。次に、誤り訂正性能が収束した（すなわち、先行する繰り返しに対して大きく変化しない）か否かに基づいて、又は全繰り返し数に関する限界に達したか否かに基づいて、繰り返し最適化手順を継続するか、終了するかの決定が行われる（１５０４）。継続する場合には、ポーラ符号データセットインデックスが固定されている間にインターリーバ置換が最適化され（１５０５）、その後、インターリーバが固定されている間にポーラ符号データセットインデックスが再び最適化され（１５０２）、その後、ポーラ符号構成及びインターリーバの性能が再評価され（１５０３）、繰り返し最適化を継続するか、終了するかの決定が再び行われる（１５０４）。これらの繰り返しを終了した後に、最終結果は、同時に最適化されたインターリーバ及びポーラ符号構成１５０６である。
【００８２】
この手順と図１０Ｂによって示される手順との間の顕著な違いは、インターリーバの最適化１５０５が、ただ１つの置換ではなく、複数の置換の最適化を取り扱うことである。図１０Ｂの手順において行われるように、これらのインターリーバ置換は、各インターリーバの個々の最適化を扱いやすくするためにパラメータ化することができる。しかしながら、複数のインターリーバの全ての組み合わせにわたるブルートフォース探索は、計算複雑度を著しく高める可能性がある。計算コストを管理するために、インターリーバは、代わりに、順次に最適化され、すなわち、最適化スケジュール１５０７に従って他のインターリーバを固定したまま、一度にインターリーバのうちの１つを個別に最適化する。最適化スケジュール１５０７は、例えば、インターリーバ最適化１５０５の一度の実行中に全てのインターリーバが順次に最適化されるように指定することができるか、又は別の例として、繰り返し符号構成手順全体において、インターリーバ最適化１５０５を何度も実行する間にこの選択されるサブセットを順番に入れ替えながら、インターリーバ最適化１５０５の一度の実行中にインターリーバのサブセットのみが順次に最適化されるように指定することができる。
【００８３】
図１６Ａは、いくつかのＸＯＲ分極ユニットがディアクティベートされる、非正則ポーラ符号化構造の別の例を示す。非アクティブポラライザを注意深く選択することによって、誤り訂正性能を改善することができ、符号化及び復号のための計算複雑度を低減することができる。また、非アクティブ分極ユニットのいくつかのセットにより、部分的に並列の復号が可能になり、復号の待ち時間が短縮される。非アクティブポラライザのロケーションは、誤り限界が貪欲的に最小化されるようにＥＸＩＴ法で誤り限界を解析することによって決定される。大部分のポラライザは復号性能を著しくは劣化させないので、より多くの非アクティブポラライザを選択することによって、この非正則ディアクティベーションは復号複雑度を著しく低減することができる。
【００８４】
図１６Ｂは、ポラライザをディアクティベートすることによって与えられる利点を例示する、４の符号長の場合の非正則ポーラ符号化構造の３つの例を示す。正則ポーラ符号化１６２０は２つの分極ステージ１６２１、１６２２を有し、各ステージは２つのポラライザユニット１６２３、１６２４及び１６２５、１６２６を有する。各ポラライザユニットは、不良のサブチャネルと良好なサブチャネルとを与える。例えば、符号化された４つのビット｛ｃ０，ｃ１，ｃ２，ｃ３｝が０．５のバタチャリアパラメータで均一な信頼性を有するとき、第１の分極ステージ１６２１内の第１のポラライザユニット１６２３は、０．７５のバタチャリアパラメータを有する不良のビットｃ’０と、０．２５のバタチャリアパラメータを有する良好なビットｃ’１とを与える。同様に、第１の分極ステージ１６２１内の第２のポラライザユニット１６２４は、０．７５のバタチャリアパラメータを有する不良のビットｃ’２と、０．２５のバタチャリアパラメータを有する良好なビットｃ’３とを与える。第２の分極ステージ１６２２内の第１のポラライザユニット１６２５は、０．９３７５のバタチャリアパラメータを有する不良のビットｕ０と、０．５６２５のバタチャリアパラメータを有する良好なビットｕ２とを与える。
【００８５】
第２の分極ステージ１６２２内の第２のポラライザユニット１６２６は、０．４３７５のバタチャリアパラメータを有する不良のビットｕ１と、０．０６２５のバタチャリアパラメータを有する良好なビットｕ３とを与える。０．５の符号化率の場合、低いバタチャリアパラメータを有する２つの最良のビット｛ｕ１，ｕ３｝が情報データとして選択され、一方、高いバタチャリアパラメータを有する残りの２つの不良のビット｛ｕ０，ｕ２｝が凍結ビットとして選択される。この正則ポーラ符号化は、１−（１−０．４３７５）（１−０．０６２５）＝０．４７３の上限（ＵＢ）と同等の誤り率性能を提供すると予想される。
【００８６】
非正則ポーラ符号化１６３０の一例が、第３のポラライザユニット１６２５をディアクティベートする（１６１０）。この非アクティブポラライザは、ビット｛ｕ０，ｕ２｝のための中間ビット｛ｃ’０，ｃ’２｝の信頼性を変更しないので、それらのバタチャリアパラメータはいずれも０．７５である。しかしながら、それらのビットは凍結ビットになるほど既に信頼性がない。それゆえ、情報ビット｛ｕ１，ｕ３｝は正則ポーラ符号化１６２０と同じ信頼性を有するので、ポラライザユニット１６２５をディアクティベートすることによって、誤り率性能は影響を及ぼされない。この例は、この原理を利用する実施形態が、いかなる性能ペナルティも引き起こすことなく、重要でないポラライザユニットをディアクティベートすることによって、計算複雑度を低減できることを示唆する。
【００８７】
非正則ポーラ符号化１６４０の別の例は、より重要な利点を示し、すなわち、複雑度を低減することによって誤り率性能を改善することができる。この非正則ポーラ符号化１６４０は、第４のポラライザユニット１６２６をディアクティベートする（１６１０）。それゆえ、ビット｛ｕ１，ｕ３｝の信頼性は、０．２５のバタチャリアパラメータを有する中間ビット｛ｃ’１，ｃ’３｝と同じままである。結果として生じるＵＢは１−（１−０．２５）（１−０．２５）＝０．４３７５であり、それは、正則ポーラ符号化１６２０より良好である。この例は、ポラライザユニットをディアクティベートすることが、計算複雑度を低減できるだけでなく、情報ビットの信頼性を一律にすることによって、誤り率性能も改善できることを示唆する。
【００８８】
非アクティブポラライザユニットを用いる非正則ポーラ符号化は、正則ポーラ符号化より高い設計自由度を有することができる。具体的には、Ｎ’＝ｎｌｏｇ２（ｎ）／２個のポラライザユニットが存在するので、非アクティブポラライザユニットのロケーションを選択するのに
【数２４】
0006847252.tif 000025
個の可能性がある。Ｄをサイズｎ／２×ｌｏｇ２（ｎ）のアクティベーション行列とし、その第（ｉ，ｊ）のエントリが、第ｊの分極ステージにおける第ｉのポラライザユニットがアクティブであるか、又は非アクティブであるかを表す「１」又は「０」のいずれかであるとする。例えば、正則ポーラ符号化１６２０は、
【数２５】
0006847252.tif 000026
の全て１のアクティベーション行列を有し、非正則ポーラ符号化１６３０は、
【数２６】
0006847252.tif 000027
を有し、非正則ポーラ符号化１６４０は
【数２７】
0006847252.tif 000028
を有する。取り得る非正則ポーラ符号の全数は指数関数的に増加していくので、長い非正則ポーラ符号化の場合にアクティベーション行列を最適化するのは容易ではない。良好な非正則ポーラ符号化を達成するアクティベーション行列を設計するために、本発明において貪欲リスト探索が使用される。
【００８９】
図１６Ｃは、いくつかの実施形態による、非正則ポーラ符号化構造の非アクティブポラライザを選択する方法のブロック図を示す。その方法は、正則ポーラ符号化として、全て１になるようにアクティベーション行列１６０２を初期化する（１６０１）。次に、その方法は、先行するアクティベーション行列をディアクティベートする（１６０３）、すなわち、要素を「１」から「０」に変更する。ディアクティベーションが、全ての取り得るＮ’個のロケーション１６０４の場合に検討される。その後、非正則ポーラ符号化ごとに誤り率確率が計算される。ここで、誤り率性能のＵＢの解析中に、上記と同様にインターリーバ及び凍結ビットロケーションが最適化される。その方法は、最も小さい誤り確率を有する最良のＬ’個の非正則ポーラ符号化を選択する（１６０６）。選択された非正則ポーラ符号化ごとに、その方法は、異なるポラライザユニット１６０７を更にディアクティベートする（１６０３）。その手順は、終了条件が満たされるまで継続する（１６０８）。終了条件は、例えば、誤り率性能が最小化される場合、又は誤り率性能が、計算複雑度を最小化する正則ポーラ符号化の性能より悪くなる場合を含む。リスト探索が終了した後に、最適化されたアクティベーションテーブル、インターリーバ及び凍結ビットロケーションを有する非正則ポーラ符号化がもたらされる（１６０９）。
【００９０】
正則の系統的ポーラ符号器の場合に行われたように、鏡面対称の構造のような２回の非正則ポーラ符号化を使用することによって、それらの非正則ポーラ符号のいかなる変更も伴うことなく系統的符号化が可能であることに留意されたい。この手順の結果として系統的符号化が生じ、疎にされた非正則ポーラ符号化の場合であっても、ソースデータシンボルが、符号化されたデータシンボルと同じロケーションに現れる。
【００９１】
ポラライザユニットのＸＯＲをディアクティベートすることは、
【数２８】
0006847252.tif 000029
のポーラカーネルを非アクティブロケーションにある
【数２９】
0006847252.tif 000030
の別の最大階数恒等カーネルに変更することに相当する。この認識に基づいて、疎にされた非アクティブポラライザユニットに基づく非正則ポーラ符号化が、非バイナリ及び高次のカーネルの場合に更に一般化される。例えば、いくつかの実施形態は、４変数ガロア域（すなわち、モジュロ４演算）の場合に、
【数３０】
0006847252.tif 000031
等の異なる最大階数非バイナリカーネルを有する非正則ポーラ符号化を使用する。それらの異なる非バイナリカーネルは、誤り率性能を改善するために、及び計算複雑度を低減するために、ポラライザユニットごとに疎に割り当てられる。
【００９２】
更に別の実施形態は、高次のカーネルの非正則混合、例えば、次数３のカーネルの場合、
【数３１】
0006847252.tif 000032
を、そして次数４のカーネルの場合、
【数３２】
0006847252.tif 000033
を非正則に使用する。高次及び非バイナリカーネルを組み合わせることもできる。
【００９３】
図１７は、いくつかの実施形態による軟復号を実行するための受信機、及び／又はいくつかの実施形態によるコードワードを符号化するための送信機の異なる組み合わせを実現するのに適したシステムのブロック図を示す。システム１７００は、接続１７２０を通して他の構成要素に動作可能に結合することができる、センサ１７１０、慣性測定ユニット（ＩＭＵ）１７３０、プロセッサ１７５０、メモリ１７６０、送受信機１７７０及びディスプレイ／画面１７８０のうちの１つ又は組み合わせを含むことができる。接続１７２０は、バス、ライン、ファイバー、リンク又はその組み合わせを含むことができる。
【００９４】
送受信機１７７０は、例えば、１つ以上のタイプの無線通信ネットワークを通じて１つ以上の信号を送信することを可能にする送信機と、１つ以上のタイプの無線通信ネットワークを通じて送信された１つ以上の信号を受信する受信機とを備えることができる。送受信機１７７０は、様々な技術に基づいて無線ネットワークとの通信を可能にすることができる。これらの技術は、標準規格のＩＥＥＥ８０２．１１ファミリーに基づくことができるフェムトセル、Ｗｉ−Ｆｉネットワーク又は無線ローカルエリアネットワーク（ＷＬＡＮ）、標準規格のＩＥＥＥ８０２．１５ｘファミリーに基づくＢｌｕｅｔｏｏｔｈ（登録商標）、近距離場通信（ＮＦＣ）、ネットワーク等の無線パーソナルエリアネットワーク（ＷＰＡＮ）、及び／又はＬＴＥ、ＷｉＭＡＸ等の無線ワイドエリアネットワーク（ＷＷＡＮ）等であるが、これらに限定されるものではない。システム１７００は、有線ネットワークを通じて通信する１つ以上のポートを備えることもできる。
【００９５】
いくつかの実施形態では、プロセッサ１７５０は、ＩＭＵ１７３０から入力を受信することもできる。他の実施形態では、ＩＭＵ１７３０は、３軸加速度計（複数の場合もある）、３軸ジャイロスコープ（複数の場合もある）、及び／又は磁気計（複数の場合もある）を備えることができる。ＩＭＵ１７３０は、速度、方位、及び／又は他の位置関連情報をプロセッサ１７５０に提供することができる。いくつかの実施形態では、ＩＭＵ１７３０は、測定された情報を、センサ１７１０による各画像フレームの捕捉と同期して出力することができる。いくつかの実施形態では、ＩＭＵ１７３０の出力は、プロセッサ１７５０がセンサ測定値を融合し及び／又は融合された測定値を更に処理するのに部分的に用いられる。
【００９６】
また、システム１７００は、カラー画像及び／又は深度画像等の画像をレンダリングするスクリーン又はディスプレイ１７８０を備えることができる。いくつかの実施形態では、ディスプレイ１７８０は、センサ１７１０によって捕捉されたライブ画像、融合画像、拡張現実（ＡＲ）画像、グラフィカルユーザーインターフェース（ＧＵＩ）、及び他のプログラム出力を表示するのに用いることができる。いくつかの実施形態では、ディスプレイ１７８０は、ユーザーが、仮想キーボード、アイコン、メニュー、又は他のＧＵＩ、ユーザージェスチャー及び／又はスタイラス及び他の筆記用具等の入力デバイスの或る組み合わせを介してデータを入力することを可能にするタッチスクリーンを備えることができ及び／又はこのようなタッチスクリーンとともに収容することができる。いくつかの実施形態では、ディスプレイ１７８０は、液晶ディスプレイ（ＬＣＤ）又は有機ＬＥＤ（ＯＬＥＤ）ディスプレイ等の発光ダイオード（ＬＥＤ）ディスプレイを用いて実施することができる。他の実施形態では、ディスプレイ１７８０は、ウェアラブルディスプレイとすることができる。
【００９７】
例示的なシステム１７００は、図示した機能ブロックのうちの１つ以上の追加、組み合わせ、又は省略等によって、本開示と整合性を有するように様々な方法で変更することもできる。例えば、いくつかの構成では、システム１７００は、ＩＭＵ１７３０又はセンサ１７７０を備えていない。いくつかの実施形態では、システム１７００のいくつかの部分は、１つ以上のチップセット等の形態を取る。
【００９８】
プロセッサ１７５０は、ハードウェア、ファームウェア及びソフトウェアの組み合わせを用いて実現することができる。プロセッサ１７５０は、センサ融合及び／又は融合した測定値を更に処理するための方法に関連付けられる計算手順又はプロセスの少なくとも一部を実行するように構成可能な１つ以上の回路を表すことができる。プロセッサ１７５０は、メモリ１７６０から命令及び／又はデータを引き出す。プロセッサ１７５０は、１つ以上の特定用途向け集積回路（ＡＳＩＣ）、中央及び／又はグラフィカル処理ユニット（ＣＰＵ及び／又はＧＰＵ）、デジタルシグナルプロセッサ（ＤＳＰ）、デジタル信号処理デバイス（ＤＳＰＤ）、プログラマブル論理デバイス（ＰＬＤ）、フィールドプログラマブルゲートアレイ（ＦＰＧＡ）、コントローラー、マイクロコントローラー、マイクロプロセッサ、埋め込みプロセッサコア、電子デバイス、本明細書において記述される機能を実行するように設計された他の電子ユニット、又はその組み合わせを用いて実現することができる。
【００９９】
メモリ１７６０は、プロセッサ１７５０の内部に、及び／又はプロセッサ１７５０の外部に実装することができる。本明細書において使用されるときに、「メモリ」という用語は、任意のタイプの長期、短期、揮発性、不揮発性又は他のメモリを指しており、任意の特定のタイプのメモリ若しくはメモリの数、又はメモリが記憶される物理媒体のタイプに制限されるべきではない。いくつかの実施形態では、メモリ１７６０は、軟復号及びポーラ符号化を容易にするプログラムコードを保持する。
【０１００】
いくつかの実施形態において、軟復号に加えて、又はその代わりに、プロセッサ１７５０は、軟復号アプリケーション１７５５のうちの１つ又は組み合わせを実行することができる。例えば、連接ＥＣＣを復号するために復号の軟出力を使用することができ、そのＥＣＣは複数のコンポーネントＥＣＣから形成され、それらのコンポーネントを組み合わせて、より高い性能の符号が生成される。別の例は繰り返し等化及び復号を利用するシステムであり、そのシステムでは、復号器からの軟判定出力が復調器にフィードバックされ、復号器入力が繰り返し精緻化される。更に別の例は、復号された出力に作用すること、例えば、出力をディスプレイ１７８０上に表示すること、出力をメモリ１７６０に記憶すること、送受信機１７７０を用いて出力を送信すること、及び／又は出力及びセンサ１７１０の測定値に基づいて、動作を実行することである。
【０１０１】
ポーラベースターボ積符号（ＴＰＣ）
図１８Ａは、本発明のいくつかの実施形態による、拡張ＢＣＨ符号に基づくターボ積符号（ＴＰＣ）（ｅＢＣＨ−ＴＰＣ）１８１及びポーラ符号に基づくターボ積符号（ポーラ−ＴＰＣ）１８２を示す、サイズ（２５６，２３９）２の積符号（図１１）の正方形の変形形態を示す。
【０１０２】
ＢＣＨ−ＴＰＣ１８１は、ｅＢＣＨ（ｎ，ｋ，ｄ）によって表されるｎ＝２５６の行方向拡張ＢＣＨ符号と、他方のｎ＝２５６の列方向拡張ＢＣＨ符号、ｅＢＣＨ（２５６，２３９，６）とを使用する。ここで、ｎ＝２５６、ｋ＝２３９及びｄ＝６は、構成符号に関するコードワード長、情報長及び最小ハミング距離を表す。一方、ポーラ−ＴＰＣ１８２は、ポーラ（２５６，２３９，４）によって表されるｎ＝２５６の行方向ポーラ符号と、ｎ＝２５６の列方向ポーラ符号ポーラ（２５６，２３９，４）とを使用する。ポーラ−ＴＰＣ１８２は、ＢＣＨ構成符号の代わりに、ポーラ構成符号を使用する。短符号長の高速ポーラ符号の最小ハミング距離は、ＢＣＨ符号より短い可能性があるが（すなわち、ｄ＝６に対してｄ＝４）、ポーラ符号のハミング重み分布は、図１８Ｃに示されるように、十分に構造化されるので、誤り率性能はＢＣＨ−ＴＰＣより優れている可能性がある。バースト誤りの影響を最小化するために、ＴＰＣコードワードは一般に、送信する前にスクランブルされるか、又はインターリーブされる。行及び列構成符号は異なる長さを使用することができ、ＴＰＣは、空間的に結合することによって、より高次元の積符号に拡張できることに留意されたい。
【０１０３】
ＴＰＣの主な利点は、並列計算の能力、構成符号あたりの低電力復号、最小ハミング距離の指数関数的増加、及びＳＤ復号反復を伴うＭＬに迫る性能を含む。ｍ次元ＴＰＣの場合、最小ハミング距離は、ｄｍとして指数関数的に増加することができる。ポーラ−ＴＰＣは、並列に処理することができないＳＣＬポーラ復号の主な欠点を解消することができる。
【０１０４】
図１８Ｂは、行ＳＤ復号器１８１３及び列ＳＤ復号器１８１４を含む、復号器１３３を使用する復号手順１８０１、１８０２、１８２３及び１８２４を示すフローチャートである。復号手順１８０１及び１８０２はそれぞれ、ＢＣＨ−ＴＰＣ１８１及びポーラ−ＴＰＣ１８２に関して実行される。この場合、復号手順１８０１及び１８０２は、図示されるように、行ＳＤ復号器１８１３及び列ＳＤ復号器１８１４を用いて、２回だけ反復的に実行される。
【０１０５】
さらに、ＢＣＨ−ＴＰＣ１８１及びポーラ−ＴＰＣ１８２は、ｅＢＣＨ（２５６，２３９，６）×ｅＢＣＨ（２５６，２３９，６）及びポーラ（２５６，２３９，４）×ポーラ（２５６，２３９，４）に対応する。
【０１０６】
復号器１３３（ＴＰＣ復号器）は最初に、行ＳＤ復号器１８１３を用いて行方向ＳＤ復号を実行し、その後、Pyndiahのチェイス処理によって生成された外因性情報が、列方向ＳＤ復号器１８１４に送り込まれる。行ＳＤ復号器１８１３及び列ＳＤ復号器１８１４は、何も性能を損失することなく、順序を入れ替えることができることに留意されたい。ＴＰＣ復号手順は、或る特定の反復回数にわたって、復号器１８１３及び１８１４を使用することによって行及び列ＳＤ復号プロセスを反復する。また、復号器１８１３によるＳＤ復号は、実現するために、３要素メッセージパッシング等の量子化されたルックアップテーブルを使用することができる。
【０１０７】
図１８Ｃは、本発明のいくつかの実施形態による、２３９２／２５６２の符号化率の場合に２５６２ビットのコードワード長においてＢＣＨ−ＴＰＣ１８１及びポーラ−ＴＰＣ１８２を使用するビット誤り率（ＢＥＲ）性能を示す。
【０１０８】
２回反復にわたって一連の行復号器１８１３及び列復号器１８１４を用いてＢＣＨ−ＴＰＣ１８１及びポーラ−ＴＰＣ１８２をそれぞれ復号することによって、ＢＥＲ性能曲線１８０１及び１８０２がそれぞれ得られる。
【０１０９】
バイナリ入力相加性白色ガウス雑音（ｂｉＡＷＧＮ）チャネルにおけるＢＥＲ性能は、反復回数を増やすことによって改善することができる。図１８Ｃにおいて、２回反復の場合に、ポーラ−ＴＰＣ１８２のＢＥＲ曲線１８０２が、ＢＣＨ−ＴＰＣ１８１のＢＥＲ曲線１８０１より０．５ｄＢだけ良好なＢＥＲを達成することが示される。
【０１１０】
ＢＥＲ曲線１８２４は、３反復回数の復号に基づく、ポーラ−ＴＰＣ１８２のＢＥＲ性能を示す。ＢＥＲ曲線１８２３は、３反復回数の復号に基づく、ｅＢＣＨ−ＴＰＣ１８１のＢＥＲ性能を示す。３回反復のＢＥＲ性能曲線１８２４は依然として、ＢＣＨ−ＴＰＣ１８２の３回反復のＢＥＲ曲線１８２３より良好であるが、ポーラ−ＴＰＣ１８２のＢＥＲ曲線１８２４は、１０−１１のＢＥＲ未満の誤りフロアが高いことによって損なわれる。この誤りフロア問題は、ｅＢＣＨ（２５６，２３９，６）に比べて、ポーラ（２５６，２３９，４）の短い最小ハミング距離によって引き起こされ、それゆえ、ポーラ−ＴＰＣの最小ハミング距離は４２＝１６であるが、その一方で、ＢＣＨ−ポーラは６２＝３６を有する。
【０１１１】
最小ハミング距離は、ＣＲＣ等の別の符号を連接することによって大きくすることができる。図１９Ａは、本発明の実施形態による、ＣＲＣ−１符号１９０１及びＢＣＨ符号１９０２と連接される、ポーラ（２５６，２４０，４）に基づく行及び列構成符号の一例を示す図である。場合によっては、符号１９０１及び１９０２はそれぞれ、ポーラ−ＴＰＣ１９０１及びポーラ−ＴＰＣ＋ＢＣＨ１９０２と呼ばれる場合がある。
【０１１２】
ポーラ−ＴＰＣ１９０１及び１９０２はそれぞれ、データブロック９０と、第１のパリティブロック１９０と、行パリティブロックと、列パリティブロックと、結合パリティブロックとを含む。第１のパリティブロック１９０は、第１の列部分１９１と、第１の角部分１９２と、第１の底部分１９３とを含む。ポーラ符号１９０１は、第１のパリティブロックとしてＣＲＣパリティ９１を使用し、ポーラ符号１９０２は、第１のパリティブロックとしてＢＣＨパリティ９２を使用する。
【０１１３】
言い換えると、ポーラ−ＴＰＣ１９０１及び１９０２の構造はそれぞれ、ソース１１１から与えられるデータソースに対応するデータブロック９０と、第１の列部分１９１、第１の角部分１９２及び第１の底部分１９３を含む第１のパリティブロック１９０と、行パリティブロック１９６、結合パリティブロック１９７及び列パリティブロック１９８を含む第２のパリティブロック１９５とを含むように、データソースから符号器１１２によって符号化される。この場合、第１のパリティブロック１９０は、第１の列部分１９１、第１の角部分１９２及び第１の底部分１９３を使用することによって、データブロック９０の右端列と、データブロック９０の右下角と、データブロック９０の底行とを覆うように配置される。さらに、第２のパリティブロック１９５は、行パリティブロック１９６、結合パリティブロック１９７及び列パリティブロック１９８を用いて、第１のパリティブロック１９０を覆うように配置される。
【０１１４】
場合によっては、第１のパリティブロック１９０はＣＲＣパリティビットから形成することができる。さらに、第１のパリティブロック１９０は、ＢＣＨパリティビットから構成することができる。この場合、ＢＣＨパリティビットの長さは、訂正可能な誤りビットの最大数がポーラ−ＴＰＣの最小ハミング距離以上であるように決定される。
【０１１５】
場合によっては、いくつかのＢＣＨパリティビットが、行あたり１ビット及び列あたり１ビットになるように配置され、ＢＣＨ符号の訂正可能な誤りビットの最大数は、ｔ＝ｆｌｏｏｒ（ｐ／ｃｅｉｌ（ｌｏｇ２（ｋ２）））以下になるように決定することができる。ただし、ｆｌｏｏｒ（・）、ｃｅｉｌ（・）及びｐは、床関数、天井関数、及びＢＣＨ（ｋ２，ｐ，２ｔ＋１）の場合のパリティビットの数を表す。
【０１１６】
さらに、行パリティブロック１９６は、第１の列部分１９１を通してデータブロック９０の右端列に隣接し、列パリティブロック１９８は、第１のパリティブロック１９０の第１の底部分１９３を通してデータブロック９０の底行に隣接し、結合パリティブロック１９７は、第１のパリティブロック１９０の第１の角部分１９２を通してデータブロック９０の右底角に直角に隣接する。
【０１１７】
Tal及びVardyは、ＳＣＬ復号を改善するために、ＣＲＣ連接を伴うポーラ符号を改良した。同じ符号化率又はオーバーヘッドを維持するために、いくつかの凍結ビットがＣＲＣパリティビット９１に置き換えられる。この場合、結合パリティブロックと呼ばれる、行及び列構成符号は、ＣＲＣ−１符号と連接されるポーラ（２５６，２４０，４）に基づく。しかしながら、この改良は、ＣＲＣパリティビット長が厳しく制限され、すなわち、この場合には行又は列あたり１ビットのみに制限されるので、性能を大幅に改善するには不十分である可能性がある。そのような短いＣＲＣパリティの場合に、全ての取り得る多項式を考慮する場合であっても、連接されるポーラ＋ＣＲＣ符号の最小ハミング距離を大きくすることはできない。
【０１１８】
本発明の一実施形態によれば、符号化−復号手順が、第１のパリティブロック１９０として、ＣＲＣパリティ９１の代わりにＢＣＨパリティ９２を使用することによって、ＢＥＲ曲線１８２４内の誤りフロア問題を解消する方法を提供する。パリティビットの数が行又は列あたり１ビットのみに制限される場合であっても、ＴＰＣ全体においてＢＣＨパリティ９２のために全部で２４０２−２３９２＝４７９ビットが利用可能である。ＢＣＨ（２４０２，２３９２，５９）とポーラ−ＴＰＣ（２５６，２４０，４）２との連接が、最大で２９の残存ビット誤りを訂正することができる。ポーラ−ＴＰＣの最小ハミング距離は１６であるので、ＢＣＨ符号連接によって、最も支配的な誤りパターンを除去するのに成功することができる。ＢＣＨパリティビットは、ブロック９０内の任意の位置に配置することができる。３６の最小ハミング距離を有するＢＣＨ−ＴＰＣ（２５６，２３９，６）２のために使用される、最大で２９ビットを訂正することができる外側ＢＣＨ符号は役に立たないので、ＢＣＨ符号連接は、構造化されたハミング重みを有するポーラ−ＴＰＣの場合に特に有効であることに留意されたい。
【０１１９】
本発明の一実施形態によれば、復号器１３３は、行復号器１８１３及び列ＳＤ復号器１８１４に加えて、ＢＣＨ  ＨＤ復号器１８１５を含むことができる。
【０１２０】
図１９Ｂは、本発明のいくつかの実施形態による、行ＳＤ復号器１８１３、列ＳＤ復号器１８１４及びＢＣＨ  ＨＤ復号器１８１５を用いる復号手順を示す図を示す。
【０１２１】
図１９Ｃは、本発明のいくつかの実施形態による、行ＳＤ復号器１８１３、列ＳＤ復号器１８１４及びＢＣＨ  ＨＤ復号器１８１５を用いる復号手順に従って、符号化されたデータブロック９０を復号することによって得られるＢＥＲ性能曲線１９２１及び１９２２を示す。この場合、ＢＥＲ性能曲線１９２１は、行及び列ＳＤ復号器１８１３及び１８１４を使用する２回反復でポーラ−ＴＰＣ１９０１を復号し、ＢＣＨ  ＨＤ復号器１８１５を用いて一度ＨＤ復号することによって得られる。さらに、ＢＥＲ性能曲線１９２２は、行ＳＤ復号器１８１３及び列ＳＤ復号器１８１４を使用する３回反復でポーラ−ＴＰＣ１９０１を復号し、ＢＣＨ  ＨＤ復号器１８１５を用いて一度ＨＤ復号することによって得られる。
【０１２２】
ＢＣＨ連接を伴うポーラ−ＴＰＣに関して、復号器１３３は、行ＳＤ復号器１８１３及び列ＳＤ復号器１８１４を用いて行及び列ＳＤ復号反復を実行し、外側ＢＣＨ符号のＨＤ復号が、残存誤りパターンを除去するために、ＳＤ復号の最後にＨＤ復号器１８１５を用いて実行される。ＢＣＨ  ＨＤクリーニングと呼ぶことができる、ＢＣＨ  ＨＤ復号器１８１５を用いるこのＨＤ復号は、ＢＥＲ曲線１９２２によって示されるように、３反復ＢＥＲ性能の場合に誤りフロアを除去することができる。
【０１２３】
誤りフロア軽減の利点に加えて、ＢＣＨ  ＨＤクリーニングは、ＨＤクリーニングを使用しないポーラ−ＴＰＣの性能曲線１８０２に比べて、２回反復復号の場合のポーラ−ＴＰＣ性能曲線１９２１を著しく改善することができる。ＨＤクリーニングは実効的に付加的な反復として挙動することができるので、実効的には、同じＢＥＲ性能を達成するのに必要な反復回数を削減することができる。より具体的には、２反復におけるＨＤクリーニングのＢＥＲ曲線傾斜は、３反復におけるＳＤ復号の曲線に類似になる可能性がある。
【０１２４】
さらに、本発明の復号方法は、ポーラ符号の特定のハミング重み分布を利用することができる。ポーラ（２５６，２４０，４）は、［１，２，３，４，．．．］の距離に関して［０，０，０，５６，０，１，０，３００９，０，１５０１８，．．．］のハミング重みを有するのに対して、ｅＢＣＨ（２５６，２３９，６）は、［０，０，０，０，０，５７５７６９６，０，６２４８７９８４０，．．．］のハミング重みを有する。それゆえ、ポーラ−ＴＰＣは、［１６，２４，３６］の距離の場合に［５６２，２ｘ５６，１］のハミング重みを有する。２４の第２の最小ハミング距離も外側ＢＣＨ符号の訂正可能な２９ビットの範囲内にあるので、ＨＤクリーニングを伴うＢＣＨ連接は、誤りフロア軽減に関してだけでなく、より少ない反復回数に関してもＢＥＲ性能を改善することができる。
【０１２５】
本発明の方法は、その構成ポーラ符号が、異なるコードワード長ｎ、情報長ｋ及び最小ハミング距離ｄを有する、ポーラ−ＴＰＣの他の実施形態の場合にも使用することができる。誤りフロア軽減の利点を維持するために、訂正可能な誤りビットの最大数がポーラ−ＴＰＣの最小ハミング距離以上であるように、ＢＣＨパリティ長が選択される。この認識は、第２の最小ハミング距離又は第３の最小ハミング距離に拡張することができる。例えば、より少ない反復においてＢＥＲ性能を改善することに加えて、ＢＣＨパリティ長はまた、最も支配的な誤りパターン及び第２の支配的な誤りパターンの両方を訂正するために、訂正可能な誤りビットの最大数がポーラ−ＴＰＣの第２の最小ハミング距離以上であるように選択される。具体的には、ＢＣＨ符号の訂正可能な誤りビットの最大数は、ｔ＝ｆｌｏｏｒ（ｐ／ｃｅｉｌ（ｌｏｇ２（ｋ２）））以下である。ただし、ｆｌｏｏｒ（・）、ｃｅｉｌ（・）及びｐは、床関数、天井関数、及びＢＣＨ（ｋ２，ｐ，２ｔ＋１）に関するパリティビットの数を表す。ポーラ符号は偶数ハミング重みを有するので、オーバーヘッドを犠牲にすることなく、ポーラ−ＴＰＣの場合のいくつかの最も支配的な誤りパターンを訂正するために、外側ＢＣＨ符号を選択することができる。
【０１２６】
誤りフロア軽減及び反復回数の削減に加えて、ポーラ−ＴＰＣのためにＢＣＨ符号を使用することは、ポーラ構成符号が、計算複雑度緩和のために非正則ポラライザ剪定に基づくときに別の利点を有する。ＢＣＨ連接によって最小ハミング距離を更に大きくすることにより、過剰剪定に起因する損失を許容することができる。より具体的には、ポーラ−ＴＰＣ（２５６，２３９，４）２の場合、ＢＥＲ性能を犠牲にすることなく、ＣＲＣ−１を伴うポーラ符号（２５６，２４０，４）の約５５％のポラライザユニットを剪定することができる。それに対して、ＢＣＨ連接を伴うポーラ符号（２５６，２４０，４）の場合、ポラライザユニットの７２％ディアクティベーションを剪定することができる。７２％ディアクティベーションは、復号に関して約４分の１の複雑度に、部分並列処理によって７倍速い復号に相当する。その結果、本発明の方法は、ポーラ−ＴＰＣに関するＢＣＨ連接に伴う自明でない利点、すなわち、誤りフロア軽減、必要とされる反復回数の削減、非正則剪定の向上を提供する。
【０１２７】
図２０Ａは、本発明による、高スループット伝送のためのポーラ−ＴＰＣ符号器２０００の並列及びパイプラインの実施態様の一例を示す。ポーラ−ＴＰＣ符号器２０００は、列符号器２０１０及び行符号器２０２０を含む。列符号器２０１０は、ｋ＝２４０のポーラ符号器を並列に動作させ、その後、行符号器２０２０内のｎ＝２５６のポーラ符号器が並列に処理される。列符号器２０１０及び行符号器２０２０は、符号化スループットが高く保たれるように、パイプライン方式で動作する。上記のポーラ−ＴＰＣ符号器の実施態様は、ソースデータの符号化プロセスの有効性を改善することができ、送信機内のプロセッサ（ハードウェアプロセッサ）の性能を向上させることができ、送信機のスループットを高めることができる。
【０１２８】
図２０Ｂは、高スループット処理のためのポーラ−ＴＰＣ復号器３０００の並列及びパイプラインの実施態様の一例を示す。ポーラ−ＴＰＣ復号器３０００は、行方向復号器２０３０及び列方向復号器２０４０を含む。行方向ＳＣＬ復号器２０３０はｎ＝２５６行にわたって完全に並列処理される。行方向ＳＣＬ復号器２０３０のＳＤ出力は、チェイス処理２０５０を介して、列方向ＳＣＬ復号器２０４０に送り込まれる。列方向ＳＣＬ復号器２０４０も、ｎ＝２５６列にわたって完全に並列処理可能である。行復号器２０３０及び列復号器２０４０は、図示されるように、反復にわたるパイプライン処理によって並列処理することができる。並列及びパイプライン実施態様の能力は、高スループット送受信機に関するポーラ−ＴＰＣの大きい利点である。上記のポーラ−ＴＰＣ復号器の実施態様は、コードワードの復号プロセスの有効性を改善することができ、受信機内のプロセッサ（ハードウェアプロセッサ）の性能を向上させることができ、受信機のスループットを高めることができる。
【０１２９】
本発明の上記の実施形態は数多くの方法のいずれかにおいて実現することができる。例えば、それらの実施形態は、ハードウェア、ソフトウェア又はその組み合わせを用いて実現することができる。ソフトウェアにおいて実現されるとき、そのソフトウェアコードは、単一のコンピュータ内に設けられるにしても、複数のコンピュータ間に分散されるにしても、任意の適切なプロセッサ、又はプロセッサの集合体において実行することができる。そのようなプロセッサは集積回路として実現することができ、集積回路コンポーネント内に１つ以上のプロセッサが含まれる。しかしながら、プロセッサは、任意の適切な構成の回路を用いて実現することができる。
【０１３０】
また、本発明の実施形態は方法として具現することができ、その一例が提供されてきた。その方法の一部として実行される動作は、任意の適切な方法において順序化することができる。したがって、例示的な実施形態において順次の動作として示される場合であっても、例示されるのとは異なる順序において動作が実行される実施形態を構成することもでき、異なる順序は、いくつかの動作を同時に実行することを含むことができる。
【０１３１】
請求項要素を修飾するために特許請求の範囲において「第１の」、「第２の」のような序数の用語を使用することは、それだけで、或る請求項要素が別の請求項要素よりも優先度が高いこと、優位であること、若しくは上位にあることを暗示するのでも、又は方法の動作が実行される時間的な順序を暗示するのでもなく、請求項要素を区別するために、或る特定の名称を有する１つの請求項要素を（序数用語を使用しなければ）同じ名称を有する別の要素から区別するラベルとして単に使用される。
【０１３２】
本発明を好ましい実施形態の例として説明したが、本発明の趣旨及び範囲内で様々な他の適応及び変更を行うことができることを理解されたい。
【０１３３】
したがって、添付の特許請求の範囲の目的は、本発明の真の趣旨及び範囲に入る全てのそのような変形及び変更を包含することである。
【０１３４】
他の特徴に関する説明
デジタル通信の分野において、誤り訂正符号（ＥＣＣ：error correcting code）の適用による前方誤り訂正（ＦＥＣ）は、雑音を含む通信チャネルによって導入される不確定性を軽減し、復号器によって送信誤りを低減できるようにするために冗長性を追加するようにメッセージを符号化する技法である。一般に、ＥＣＣは、データシンボル系列（メッセージを表す）を、雑音を含むチャネルを介して送信される冗長性の高い符号シンボル系列に変換するための技法である。復号器は、雑音を含むチャネル出力からデータシンボルの推定値を再生するシステム又は方法である。
【０１３５】
ポーラ符号と呼ばれる、或る特定の種類のＥＣＣが２００９年にArikanによって導入された。それは、符号化するデータブロックが大きいほど漸近的に最適な符号化効率に（すなわち、チャネル容量を達成することに）向かって収束するのを証明可能である復号器とともに、バイナリ入力チャネルのための系統立てられた符号構成技法を提供する。Arikanによって提案されるようなポーラ符号は、ｋ個のデータバイナリシンボル（「ビット」）の系列として表されるメッセージをｎ個の符号ビットの系列に符号化する。ただし、ｎは一般に２の累乗であり、ｋより大きい。具体的には、符号化手順は、最初に、ｋ個のデータビットを、カージナル数｜Ｉ｜＝ｋを有するデータインデックス集合Ｉ⊂｛０，．．．，ｎ−１｝によって規定されるｋ個のロケーションにおいてベクトルｕ：＝（ｕ０，．．．，ｕｎ−１）に書き込み、一方、残りのｎ−ｋ個のロケーションは任意であるが、既知の固定値に設定される。
【０１３６】
その後、ベクトルｃ：＝（ｃ０，．．．，ｃｎ−１）によって表される、ｎ個の符号化されたビットが、式
【数３３】
0006847252.tif 000034
によって求められる。ただし、行列乗算はバイナリフィールド（すなわち、モジュロ２演算）を介して実行され、Ｂはｎ×ｎビット反転置換行列を表し、
【数３４】
0006847252.tif 000035
は行列
【数３５】
0006847252.tif 000036
の第ｍのクロネッカー累乗であり、ｍ：＝ｌｏｇ２ｎは分極ステージである。ポーラ符号は、データインデックス集合Ｉと、パラメータｎ及びｋとによって完全に規定される。したがって、ポーラ符号を構成する鍵は、雑音を含むチャネルに適したデータインデックス集合Ｉ（同等には、補集合、凍結ビットロケーション）を選択することである。
【０１３７】
Arikanによって提供される逐次除去（ＳＣ）復号器が、ポーラ符号構成技法の仕様を説明するのに有用である。ＳＣ復号器は入力としてｙ：＝（ｙ０，．．．，ｙｎ−１）によって表される雑音を含むチャネル出力を取り込む。ただし、各ｙｉは、対応する符号ビットｃｉの雑音を含む観測結果である。ＳＣ復号器は、インデックス０からｎ−１までのビットにわたって順次に進行する。ただし、インデックスｉ∈｛０，．．．，（ｎ−１）｝ごとに、ビットｕｉに関する推定値
【数３６】
0006847252.tif 000037
が以下のように求められる：
【数３７】
0006847252.tif 000038
（すなわち、凍結ビットロケーション）である場合には、
【数３８】
0006847252.tif 000039
はｕｉの既知の固定値に設定され、そうでない場合、すなわち、ｉ∈Ｉであるとき、チャネル出力ｙを与えられ、先行する推定値
【数３９】
0006847252.tif 000040
が正しいと仮定すると、
【数４０】
0006847252.tif 000041
はｕｉに関する最も可能性が高い値に設定される。インデックスｉ∈Ｉにおいてこれらの推定値をサンプリングすることにより、データビットに関する推定値が与えられる。各推定値
【数４１】
0006847252.tif 000042
は条件付き分布Ｐ（ｙ，ｕ０，．．．，ｕｉ−１｜ｕｉ）に対して求められ、それはポーラ符号構造及び根底にあるチャネル統計値から得られ、ビットｕｉのための擬似チャネルを表すと考えることもできる。推定値
【数４２】
0006847252.tif 000043
の精度を最大化することを目的とする場合、データインデックス集合Ｉは、ｋ個の最も信頼性の高い擬似チャネルを選ぶように選択されるべきである。
【０１３８】
また、ポーラ符号は系統的に符号化することもでき、それは、或る特定の連接符号においてポーラ符号を適用できるようにする重要な特性である。ポーラ符号のための系統的符号化手順は、インデックスＪによって規定されるロケーションにおいてデータビットがコードワード内に直接現れるような有効なコードワードを生成し、インデックスＪはＩ内のロケーションのビット反転置換を表す。系統的符号化手順は、ｋ個のデータビットをＪ内のロケーションにおいてベクトルｕに書き込み、一方、他のロケーションは０に設定され、その後、符号化間の中間結果において凍結ビットロケーション（すなわち、Ｉ内にないロケーション）を０に設定しながら、ポーラ符号化手順を２回適用する。非正則ポーラ符号に関して、第１の符号化及び第２の符号化は、ポーラステージの反対方向から見て鏡面対称の構造を有する。この手順は、式
【数４３】
0006847252.tif 000044
を適用することに相当する。ただし、φＩ（・）は、Ｉ内にないロケーションにおいてビットを０に等しく設定することを表す。この手順から生じるコードワードｃは、Ｊ内のロケーションにおいて書き込まれるデータビットを含み、一方、Ｊ内にない残りのロケーションは、パリティビットと呼ばれるビットを含む。状況によっては、最初にｋ個のデータビットロケーション（インデックス集合Ｊによって規定される）を配置し、その後、ｎ−ｋ個のパリティロケーション（インデックス集合Ｊの補集合によって規定される）を配置する置換によってコードワードｃを再配置することが好都合な場合がある。そのような置換によれば、符号化手順の結果として、系統的ポーラ符号化手順によって、ｋ個のデータビットにｎ−ｋ個のパリティビットが付加されたベクトルが計算される。
【０１３９】
ポーラ符号は無限のコードワード長の場合に漸近的に容量限界を達成するが、有限のコードワード長における性能は多くの場合に、他の現行技術水準のＥＣＣ符号より劣っている可能性がある。ポーラ符号に関する符号設計は、信頼性のある擬似チャネルを有する情報インデックスＩを選択することによって行われる。それゆえ、ポーラ符号を最適化する自由度、具体的には、ｎ個のロケーションからｋ個のロケーションを選択する組み合わせには限りがある。さらに、符号化及び復号両方の計算複雑度は対数線形、すなわち、ｎｌｏｇ（ｎ）であり、それは、線形複雑度の低密度パリティ検査符号よりコストが高い。
【０１４０】
図１１〜図１７の実施形態の他の特徴
図１１は、積符号化構造を有する例示的な連接ポーラ符号を示す。積符号化構造は、２つのタイプのポーラ符号、長さｎ１及びｋ１のデータビットを有する第１の符号及び長さｎ２及びｋ２のデータビットを有する第２の符号を利用する。その符号化手順は、ｋ１行×ｋ２列の長方形データブロック１１０１に配列される、ｋ１×ｋ２個のデータビットを符号化する。データブロック１１０１の各行を第２のポーラ符号で系統的に符号化し、行ごとの計算されたパリティビットをｋ１×（ｎ２−ｋ２）行パリティブロック１１０２の対応する行に書き込むことによって、行パリティブロック１１０２が生成される。データブロック１１０１の各列を第１のポーラ符号で系統的に符号化し、列ごとの計算されたパリティビットを（ｎ１−ｋ１）×ｋ２列パリティブロック１１０３の対応する列に書き込むことによって、列パリティブロック１１０３が生成される。行パリティブロック１１０２の各列を第１のポーラ符号で系統的に符号化し、列ごとの計算されたパリティビットを（ｎ１−ｋ１）×（ｎ２−ｋ２）行及び列パリティブロック１１０４の対応する列に書き込むことによって、行及び列パリティブロック１１０４が生成される。場合によっては、行及び列パリティブロック１１０４は結合パリティブロックと呼ぶことができる。要するに、データブロック１１０１、行パリティブロック１１０２、列パリティブロック１１０３並びに行及び列パリティブロック１１０４がｎ１×ｎ２コードワードブロックを形成し、それをシリアルに変換し、通信チャネルを介して送信することができる。いくつかの実施形態において、積ポーラ符号化は、２次元の平方構造から、より高次の結合、例えば、３次元の立方構造に拡大される。いくつかの実施形態において、行及び列内の各コンポーネントポーラ符号化は非正則に異なるパラメータを有し、例えば、繰り返し復号のための性能を改善するために、凍結ビットロケーションは同一ではない。
【０１４１】
図１２は、階段符号化構造を有する空間的に結合されるポーラ符号化の別の例を示す。この符号化方式は、階段に類似している構造に配置される（正：arranged）平方ブロックを伴う。「ブロック０」の番号を付される、構造１２０１内の第１のブロックは、既知の固定値に設定されるビットの平方ブロックを含む。後続のブロックは「ブロック１」、「ブロック２」等と番号を付され、それぞれデータ部分及びパリティ部分を含む。例えば、「ブロック１」は、「ブロック１：データ」１２１１及び「ブロック１：パリティ」１２１２を含む。この図は５つのブロックを示すが、この構造は、それより多いブロック又は少ないブロックに容易に一般化される。各平方ブロックは、ｎ１×ｎ１の大きさを有する。奇数の後続ブロックの場合、データ部分（例えば、１２１１、１２３１）は大きさｎ１×ｋ１を有し、パリティ部分（例えば、１２１２、１２３２）は大きさｎ１×（ｎ１−ｋ１）を有する。偶数の後続ブロックの場合、データ部分（例えば、１２２１、１２４１）は大きさｋ１×ｎ１を有し、パリティ部分（例えば、１２２２、１２４２）は大きさ（ｎ１−ｋ１）×ｎ１を有する。この符号化構造は、ｎ１＋ｋ１個のデータビットを長さ２ｎ１のコードワードに符号化するコンポーネントポーラ符号を利用する。初期の「ブロック０」後に４つの後続ブロックを含む、図示される具体例の場合、ｎ１×ｋ１×４ビットのデータを最初に後続ブロック１２１１、１２２１、１２３１、１２４１のデータ部分に書き込むことによって、それらのデータブロックが符号化される。その後、後続ブロック１２１２、１２２２、１２３２、１２４２のパリティ部分が以下のように順次に生成される。
【０１４２】
各奇数ブロックのパリティ部分１２１２、１２３２の各行が、先行するブロックの対応する行と、同じブロックのデータ部分の対応する行との連接を系統的に符号化することによって生成される。例えば、「ブロック１」のパリティ部分１２１２の行ｉが、「ブロック１」のデータ部分１２１１の行ｉと連接される「ブロック０」１２０１の行ｉの系統的な符号化によって生成されたパリティビットによって求められる。別の例において、「ブロック３」のパリティ部分１２３２の行ｉが、「ブロック２」の行ｉの系統的な符号化によって生成されたパリティビットによって求められ、その「ブロック２」の行ｉは、「ブロック２」のパリティ部分１２２２の行ｉと連接される「ブロック２」のデータ部分１２２１の行ｉを含み、それは更に「ブロック３」のデータ部分１２３１の行ｉと連接される。
【０１４３】
各偶数ブロックのパリティ部分１２２２、１２４２の各列は同様に生成されるが、その手順は、行ではなく、列にわたって動作する。例えば、「ブロック２」のパリティ部分１２２２の列ｉが、「ブロック１」の列ｉの系統的な符号化によって生成されたパリティビットによって求められ、その「ブロック１」の列ｉは、「ブロック１」のパリティ部分１２１２の列ｉと連接される「ブロック１」のデータ部分１２１１の列ｉを含み、それは更に「ブロック２」のデータ部分１２２１の列ｉと連接される。
【０１４４】
階段符号化手順によって生成される連接コードワード全体が、初期の「ブロック０」後の後続ブロック内の全ビットであり、「ブロック０」は、既知の固定値に設定されるので、送信される必要はない。「ブロック１」内のビット、「ブロック２」内のビット等は、通信チャネルを介して送信するためにシリアルに変換される。階段ポーラ符号化構造の利点は、対応するコードワード長を有する単一のポーラ符号化に比べて待ち時間が短縮されることを含む。軟判定復号は並列に実行することができ、この実施形態では、待ち時間の少ないデータ通信のために、隣接する復号器にわたる少ない数の繰り返しがスライディングウィンドウのように利用される。空間的に結合されるポーラ符号化の他の例は、編み上げ構造、畳み込み構造、テールバイティング、トーラステールバイティング等を含む。各コンポーネントポーラ符号化の正則パラメータは、繰り返し軟復号が潜在的な誤りを迅速に訂正できるように、個別に非正則に設計される。
【０１４５】
正則ポーラ符号化は、凍結ビットロケーションを決定する、設計の自由度が限られる。いくつかの実施形態は、符号長、符号化率及び凍結ビットロケーション等の異なるパラメータを伴う複数のポーラ符号を有することによって、自由度を高め、軟判定復号を容易にする。
【０１４６】
詳細には、図１３は、非正則符号化構造を有する例示的な連接ポーラ符号を示す。この符号化方式は、凍結ビットロケーションが同一でない非正則構造において異なるコードワード及びデータ長を有するポーラ符号の組み合わせを利用する。連接符号全体のデータビットは１つ以上の長方形ブロックに配置され、そのブロックは垂直に積重され、その左端に沿って位置合わせされる。図示される例では、データビットの２つのブロック１３０１及び１３０２が存在し、それぞれｋ１×ｋ２及びｋ３×ｋ４の大きさを有する。その後、データブロックの右に１つ以上の行パリティブロックが水平に付加され、行パリティブロックの各行は、その行が付加されるデータビットの対応する行の系統的な符号化によって生成されたパリティビットによって求められる。図示される例では、２つの行パリティブロック１３１１及び１３１２が存在する。詳細には、大きさｋ１×ｐ１を有する第１の行パリティブロック１３１１が、ｋ１個のデータビットを長さ（ｋ２＋ｐ１）のコードワードに符号化するコンポーネントポーラ符号で第１のデータブロック１３０１の行を系統的に符号化することによって生成される。大きさｋ２×ｐ２を有する第２の行パリティブロック１３１２が、第２のデータブロック１３０１の行を系統的に符号化することによって同様に生成されるが、ここでは、ｋ２個のデータビットを長さ（ｋ４＋ｐ２）のコードワードに符号化するコンポーネントポーラ符号を使用する。次に、データビットブロック及び行パリティブロックの底部に列パリティブロックが垂直に付加され、列パリティブロックの各列は、対応するデータ列と、そのデータ列が付加されるパリティビットとの系統的な符号化によって生成されたパリティビットによって求められる。図示される例では、３つの列パリティブロック１３２１、１３２２及び１３２３が存在する。詳細には、大きさｐ３×ｋ５を有する第１の列パリティブロック１３２１が、（ｋ１＋ｋ３）個のデータビットを長さ（ｋ１＋ｋ３＋ｐ３）のコードワードに符号化するコンポーネントポーラ符号を用いて、両方のデータブロック１３０１及び１３０２の最初のｋ５個の列を系統的に符号化することによって生成される。大きさｐ４×ｋ６を有する第２の列パリティブロック１３２２が、（ｋ１＋ｋ３）個のデータビットを長さ（ｋ１＋ｋ３＋ｐ４）のコードワードに符号化するコンポーネントポーラ符号を用いて生成される。第２の列パリティブロック１３２２の異なる列が、２つのデータブロック１３０１及び１３０２、並びに２つの行パリティブロック１３１１及び１３１２の異なる部分に重なることに留意されたい。第２の列パリティブロック１３２２の各列が、その直上の列を系統的に符号化することによって生成される。
【０１４７】
図１３は、１つの特定の例示的な配置のみを示すが、この一般概念は、様々なコンポーネントポーラ符号を利用するデータブロック、行パリティブロック及び列パリティブロックの数多くの取り得る非正則配置を含む。例えば、プロトグラフに基づくポーラ符号化構造が構成され、その構造では、並列ポーラ符号がシフト演算によって各ポラライザにおいて混合される。別の例は、レートレス能力を与えるために、増え続ける階段構造を使用し、受信機が復号完了を肯定応答するまで、コンポーネントポーラ符号によってパリティビットのみが絶えず生成される。それゆえ、非正則符号化構造、及び異なる符号化パラメータを有する種々のコンポーネントポーラ符号の適用が、連接符号のコードワード全体にわたって様々な自由度（それゆえ、様々な程度の誤り訂正性能）をもたらし、それは不均一な通信チャネルの場合に有用な可能性がある。通信チャネルを介して送信するために、このコードワード全体がシリアルに変換され、誤り訂正性能利得を潜在的に得るために、不均一なチャネルを介して送信する前に、このシリアル変換を、インターリーバを介して置換することができる。
【０１４８】
図１４は、種々のコンポーネント符号に適用される軟判定復号器を使用する連接ポーラ符号の繰り返し復号手順のブロック図である。最初のステップは、チャネル出力、すなわち、通信チャネルを介して受信された雑音を含むコードワードを伴う軟判定復号器のための軟入力を初期化すること（１４００）である。その後、連接ポーラ符号構成及び復号スケジュールの仕様１４０１が、連接誤り訂正符号の構造と、各復号繰り返しにおいてどのコンポーネント符号（複数の場合もある）が軟復号されるか（１４１０）とを規定する。１つ以上のコンポーネント符号１４１０の軟復号は軟出力を生成し、軟出力は、復号スケジュール１４０１によって規定されるような、次の繰り返しのための軟入力を更新するために使用される。次に、復号スケジュール１４０１によって規定されるように、次の繰り返しに進むか、又は繰り返し復号手順１４１１から抜けるかの判断が行われる。この復号順序スケジュールは、例えば、低遅延復号のためのスライディングウィンドウ、及び高度並列処理のためのフラッディングスケジューリングを含む。復号繰り返しを継続する場合には、その手順は、復号スケジュール１４０１において規定されるように選択される１つ以上のコンポーネント符号の軟判定復号１４１０に戻る。このプロセスは、復号スケジュール１４０１が中止すべきであることを示すまで繰り返し、結果として、繰り返し復号によって最終的な軟出力が生成され、そこから復号されたビットが求められる（１４２０）。
【０１４９】
例えば、図１１に示されるような、積符号の場合、例示的な復号スケジュールは、一定の繰り返し数が経過するまで、行コンポーネント符号及び列コンポーネント符号の軟復号を交互に行うことになる。更に別の実施形態では、各コンポーネントポーラ符号は、軟判定復号を容易にするために付加的な非正則性を有する。
【０１５０】
図１５Ａは、いくつかの分極ステージ間、例えば、各分極ステージ間にインターリーバ１５１０を有する、非正則ポーラ符号の一例を示す。変調マッピングインターリーバ１５２０とともに、及び／又はそれに加えて、この実施形態は、中間インターリーバを注意深く設計することによって、計算が複雑になるという更なるペナルティを伴うことなく、より多くのインターリーブ処理ユニット１５１０を利用して、復号性能を改善する。
【０１５１】
図１５Ｂは、計算複雑度を管理しながら、中間インターリーバを設計する方法のブロック図を示す。この手順は、図１０Ｂに示されるような不均一なチャネルの場合にインターリーバ及びポーラ符号構成を同時に最適化するための手順に類似であり、その手順の同じサブ構成要素のうちのいくつかを使用する。最初に、インターリーバが、いくつかの初期置換に設定される（１５０１）。その後、最も信頼性の高い擬似チャネルに対応するデータインデックス集合を選択することによって、インターリーバのこれらの初期置換に対してポーラ符号構成が最適化される（１５０２）。その後、ポーラ符号構成及びインターリーバの誤り訂正性能が評価される（１５０３）。次に、誤り訂正性能が収束した（すなわち、先行する繰り返しに対して大きく変化しない）か否かに基づいて、又は全繰り返し数に関する限界に達したか否かに基づいて、繰り返し最適化手順を継続するか、終了するかの決定が行われる（１５０４）。継続する場合には、ポーラ符号データセットインデックスが固定されている間にインターリーバ置換が最適化され（１５０５）、その後、インターリーバが固定されている間にポーラ符号データセットインデックスが再び最適化され（１５０２）、その後、ポーラ符号構成及びインターリーバの性能が再評価され（１５０３）、繰り返し最適化を継続するか、終了するかの決定が再び行われる（１５０４）。これらの繰り返しを終了した後に、最終結果は、同時に最適化されたインターリーバ及びポーラ符号構成１５０６である。
【０１５２】
この手順と図１０Ｂによって示される手順との間の顕著な違いは、インターリーバの最適化１５０５が、ただ１つの置換ではなく、複数の置換の最適化を取り扱うことである。図１０Ｂの手順において行われるように、これらのインターリーバ置換は、各インターリーバの個々の最適化を扱いやすくするためにパラメータ化することができる。しかしながら、複数のインターリーバの全ての組み合わせにわたるブルートフォース探索は、計算複雑度を著しく高める可能性がある。計算コストを管理するために、インターリーバは、代わりに、順次に最適化され、すなわち、最適化スケジュール１５０７に従って他のインターリーバを固定したまま、一度にインターリーバのうちの１つを個別に最適化する。最適化スケジュール１５０７は、例えば、インターリーバ最適化１５０５の一度の実行中に全てのインターリーバが順次に最適化されるように指定することができるか、又は別の例として、繰り返し符号構成手順全体において、インターリーバ最適化１５０５を何度も実行する間にこの選択されるサブセットを順番に入れ替えながら、インターリーバ最適化１５０５の一度の実行中にインターリーバのサブセットのみが順次に最適化されるように指定することができる。
【０１５３】
図１６Ａは、いくつかのＸＯＲ分極ユニットがディアクティベートされる、非正則ポーラ符号化構造の別の例を示す。非アクティブポラライザを注意深く選択することによって、誤り訂正性能を改善することができ、符号化及び復号のための計算複雑度を低減することができる。非アクティブポラライザのロケーションは、誤り限界が貪欲的に最小化されるようにＥＸＩＴ法で誤り限界を解析することによって決定される。大部分のポラライザは復号性能を著しくは劣化させないので、より多くの非アクティブポラライザを選択することによって、この非正則ディアクティベーションは復号複雑度を著しく低減することができる。
【０１５４】
図１６Ｂは、ポラライザをディアクティベートすることによって与えられる利点を例示する、４の符号長の場合の非正則ポーラ符号化構造の３つの例を示す。正則ポーラ符号化１６２０は２つの分極ステージ１６２１、１６２２を有し、各ステージは２つのポラライザユニット１６２３、１６２４及び１６２５、１６２６を有する。各ポラライザユニットは、不良のサブチャネルと良好なサブチャネルとを与える。例えば、符号化された４つのビット｛ｃ０，ｃ１，ｃ２，ｃ３｝が０．５のバタチャリアパラメータで均一な信頼性を有するとき、第１の分極ステージ１６２１内の第１のポラライザユニット１６２３は、０．７５のバタチャリアパラメータを有する不良のビットｃ’０と、０．２５のバタチャリアパラメータを有する良好なビットｃ’１とを与える。同様に、第１の分極ステージ１６２１内の第２のポラライザユニット１６２４は、０．７５のバタチャリアパラメータを有する不良のビットｃ’２と、０．２５のバタチャリアパラメータを有する良好なビットｃ’３とを与える。第２の分極ステージ１６２２内の第１のポラライザユニット１６２５は、０．９３７５のバタチャリアパラメータを有する不良のビットｕ０と、０．５６２５のバタチャリアパラメータを有する良好なビットｕ２とを与える。
【０１５５】
第２の分極ステージ１６２２内の第２のポラライザユニット１６２６は、０．４３７５のバタチャリアパラメータを有する不良のビットｕ１と、０．０６２５のバタチャリアパラメータを有する良好なビットｕ３とを与える。０．５の符号化率の場合、低いバタチャリアパラメータを有する２つの最良のビット｛ｕ１，ｕ３｝が情報データとして選択され、一方、高いバタチャリアパラメータを有する残りの２つの不良のビット｛ｕ０，ｕ２｝が凍結ビットとして選択される。この正則ポーラ符号化は、１−（１−０．４３７５）（１−０．０６２５）＝０．４７３の上限（ＵＢ）と同等の誤り率性能を提供すると予想される。
【０１５６】
非正則ポーラ符号化１６３０の一例が、第３のポラライザユニット１６２５をディアクティベートする（１６１０）。この非アクティブポラライザは、ビット｛ｕ０，ｕ２｝のための中間ビット｛ｃ’０，ｃ’２｝の信頼性を変更しないので、それらのバタチャリアパラメータはいずれも０．７５である。しかしながら、それらのビットは凍結ビットになるほど既に信頼性がない。それゆえ、情報ビット｛ｕ１，ｕ３｝は正則ポーラ符号化１６２０と同じ信頼性を有するので、ポラライザユニット１６２５をディアクティベートすることによって、誤り率性能は影響を及ぼされない。この例は、この原理を利用する実施形態が、いかなる性能ペナルティも引き起こすことなく、重要でないポラライザユニットをディアクティベートすることによって、計算複雑度を低減できることを示唆する。
【０１５７】
図１１〜図１７に関する更なる説明の概要
いくつかの実施形態は、ポーラ符号で符号化されたコードワードの逐次除去のリスト復号（ＳＣＬ）を、硬判定復号の場合だけでなく、軟出力復号の場合にも使用されるように変更できるという理解に基づく。例えば、いくつかの実施形態は、ＳＣＬ復号器を用いて、候補コードワードのリストを作成し、軟出力を生成するために、候補コードワードのこのリストを復号器の軟入力、すなわち、通信チャネルから受信された雑音を含むコードワードと比較する。それらの実施形態は、比較の結果に基づいて、軟出力を決定する。
【０１５８】
例えば、一実施形態は、軟入力から復号器までのＳＣＬ復号の各候補コードワードの距離を求め、受信されたコードワードに最も近く、ビットの位置において逆の値を有する候補コードワードの距離の差を用いて、ビット系列内のビットの値の尤度を求める。例えば、候補コードワード及び／又は軟入力の各ビット位置において、その実施形態は、そのロケーションにおいて「１」を有する最も近い候補の距離と、そのロケーションにおいて「０」を有する最も近い候補の距離との差に基づいて、軟出力を計算する。そのようにして、その実施形態は、コードワードの各ビットの軟出力を求めるための別の反復を回避しながら、ＳＣＬ復号全体の結果に基づいて、軟出力を求める。
【０１５９】
任意選択で、いくつかの実施形態は、コードワード内に埋め込まれた少なくとも１つの巡回冗長検査（ＣＲＣ）符号を用いて、ＣＲＣ符号を介して部分復号パスを検証する。コードワードの最後にＣＲＣを埋め込むのとは対照的に、コードワード内に埋め込まれたＣＲＣを使用することは、復号手順の中間ステップにおいて、ＳＣＬ復号器が候補コードワードを剪定するのを支援する。また、これは、ＳＣＬ復号における誤り伝搬を許容する。
【０１６０】
いくつかの実施態様において、全ての候補が或る特定のロケーションに関して一致するとき、軟出力の大きさがパラメータβに設定される。それに加えて、又はその代わりに、いくつかの実施態様では、軟出力はパラメータαによって更に増減される。
【０１６１】
したがって、一実施形態は、通信チャネルを介して送信された符号化されたコードワードを復号する受信機を開示する。その受信機は、通信チャネルを介して、通信チャネルの雑音で変更されたビットの系列を含むコードワードを受信するフロントエンドであって、コードワードはポーラ符号で符号化される、フロントエンドと、復号の軟出力を生成するプロセッサを含む軟復号器とを有し、プロセッサは、ＳＣＬ復号を用いて、受信されたコードワードのビットの取り得る値を推定し、１組の候補コードワードを生成し、各候補コードワードと受信されたコードワードとの間の距離を求め、受信されたコードワードに最も近く、ビットの位置において逆の値を有する候補コードワードの距離の差を用いて、ビット系列内のビットの値の尤度を求めるように構成される。
【０１６２】
別の実施形態は、通信チャネルを介して送信された符号化されたコードワードを復号する方法を開示し、その方法は、通信チャネルを介して、通信チャネルの雑音で変更されたビットの系列を含むコードワードを受信することであって、コードワードはポーラ符号で符号化される、受信することと、ＳＣＬ復号を用いて、受信されたコードワードのビットの取り得る値を推定し、１組の候補コードワードを生成することと、各候補コードワードと受信されたコードワードとの間の距離を求めることと、受信されたコードワードに最も近く、ビットの位置において逆の値を有する候補コードワードの距離の差を用いて、ビット系列内のビットの値の尤度を求めることとを含む。その方法の少なくともいくつかのステップがプロセッサを用いて実行される。
【０１６３】
更に別の実施形態は、方法を実行するためのプロセッサによって実行可能なプログラムを具現する非一時的コンピュータ可読記憶媒体を開示し、その方法は、通信チャネルを介して、通信チャネルの雑音で変更されたビットの系列を含むコードワードを受信することであって、コードワードはポーラ符号で符号化される、受信することと、ＳＣＬ復号を用いて、受信されたコードワードのビットの取り得る値を推定し、１組の候補コードワードを生成することと、各候補コードワードと受信されたコードワードとの間の距離を求めることと、受信されたコードワードに最も近く、ビットの位置において逆の値を有する候補コードワードの距離の差を用いて、ビット系列内のビットの値の尤度を求めることとを含む。
【０１６４】
図１〜図１７に関する更なる説明についての補足説明
ＳＣ復号器は、Arikanによって証明されたように、長い符号長ｎに関して漸近的に容量を達成するが、符号長ｎがより短くなる場合でもその実際の誤り訂正性能を改善することができる。２０１５年にTal及びVardyによって、ＳＣ復号器のリスト復号改善形態（ＳＣＬ）が提案された。ＳＣＬ復号器はＳＣ復号器と同様に進むが、ＳＣ復号器とは異なり、データビットインデックスｉ∈Ｉごとに、復号器が両方の取り得る推定値
【数４４】
0006847252.tif 000045
及び
【数４５】
0006847252.tif 000046
並びにそれらの後続の復号パスを考慮するように分岐する。チェックされないままである場合、この分岐は各ｉ∈Ｉにおいてパスの数を２倍にし、結果として、全ての２ｋ個の取り得るデータビット系列に対応する２ｋ個のパスが検討されることになる。指数関数的に増加するパス数を取り扱うことは非現実的であるので、リスト復号手法は、ｉ∈Ｉごとの分岐からパスが２倍になった後に、パスの数を、最も可能性が高い部分パスの固定サイズリストまで間引く。この手順は、検討すべき完全復号パスの固定サイズリストを生成し、そのリストから、推定されるデータ系列を生成するために、最も可能性が高い完全パスが選択される。
【０１６５】
最終的な目的は、元のデータシンボルを推定するための硬判定を行うことである場合があるが、データシンボル及び／又は符号シンボルについての推定される信念又は尤度を表す軟判定情報（「軟出力」）を出力する復号器を有することが有用な場合もある。軟出力復号器は、例えば、連接ＥＣＣを復号するための、より複雑な受信機を構成する際に有用な構成要素であり、連接ＥＣＣは複数のコンポーネントＥＣＣから形成され、それらのコンポーネントＥＣＣが組み合わせられ、より高い性能の符号になる。別の例は、反復等化及び復号を利用するシステムである。
【０１６６】
ＳＣ復号器及びＳＣＬ復号器はいずれも、ポーラ符号化されたコードワードのための硬判定出力のみを与える。いくつかの方法、例えば、軟除去（ＳＣＡＮ：soft cancelation）復号及び信念伝搬（ＢＰ：belief propagation）復号は、ポーラ符号化されたコードワードのための軟判定情報を与える。しかしながら、それらの方法は、各組の軟出力を生成するために何度も繰り返す必要があり、それゆえ、時間がかかり、メモリ及び計算能力に費用がかかる。
【０１６７】
本開示に関連する特徴
通信チャネルを介して、符号化されたコードワードを送信する送信機は、送信されるソースデータを受け取るソースと、プロセッサによって動作し、ソースデータをポーラ符号で符号化し、符号化されたコードワードを生成する非正則ポーラ符号器であって、ポーラ符号は、コードワード内のデータビットの数を規定するパラメータ、符号化されたコードワード内の凍結ビットのロケーションを指定するデータインデックス集合を規定するパラメータ、及び符号化されたコードワード内のパリティビットの数を規定するパラメータのうちの１つ又は組み合わせを含む、１組の正則パラメータによって規定され、ポーラ符号は、ポーラ符号の少なくとも１つの正則パラメータの値の非正則性を規定するパラメータ、符号化されたビットの置換の非正則性を規定するパラメータ、ポーラ符号内の分極カーネルの非正則性を規定するパラメータ、及びポーラ符号化の異なるステージにおけるディアクティベートされる排他的論理和演算の選択に関する非正則性を規定するパラメータのうちの１つ又は組み合わせを含む、１組の非正則パラメータによって更に規定され、非正則ポーラ符号器は、ポーラ符号の正則パラメータ及び非正則パラメータを用いてソースデータを符号化する、非正則ポーラ符号器と、符号化されたコードワードを変調する変調器と、被変調符号化コードワードを、通信チャネルを介して送信するフロントエンドとを備える。
【０１６８】
さらに、送信機は、通信チャネルのパラメータを決定するチャネル推定器と、非正則パラメータの異なる値と通信チャネルのパラメータの異なる値との間のマッピングを記憶するメモリとを備え、プロセッサは、チャネル推定器によって決定された通信チャネルのパラメータに基づいて、ポーラ符号の非正則パラメータの値の組み合わせを選択する。
【０１６９】
この場合、マッピングは、正則パラメータ及び非正則パラメータの異なる値を通信チャネルのパラメータの異なる値に更に関連付け、プロセッサは、チャネル推定器によって決定された通信チャネルのパラメータに基づいて、ポーラ符号の正則パラメータ及び非正則パラメータの値の組み合わせを選択する。
【０１７０】
さらに、通信チャネルのパラメータは、符号化されたコードワードのビットを送信するための不均一な信頼性の値を含む。
【０１７１】
場合によっては、１組の非正則パラメータは、互いに空間的に結合される複数の異なるポーラ符号の符号化構造を形成するために、ポーラ符号の少なくとも１つの正則パラメータの値の非正則空間変動を規定するパラメータを含む。
【０１７２】
加えて、符号化構造は、長さｎ１及びデータビットｋ１を有する第１のポーラ符号と、長さｎ２及びデータビットｋ２を有する第２のポーラ符号とを含む少なくとも２つのポーラ符号を利用して、データブロックと、第１の方向に沿ってデータブロックに結合される行パリティブロックと、第１の方向に垂直な第２の方向に沿ってデータブロックに結合される列パリティブロックと、第１の方向及び第２の方向から等距離にある第３の方向に沿ってデータブロックに結合される行及び列パリティブロックとを含む、特殊なブロック配置を形成する積符号化構造であり、非正則ポーラ符号器は、ｋ１×ｋ２個のデータビットをｋ１行及びｋ２列のデータブロックに符号化し、非正則ポーラ符号器は、データブロックの各行を第２のポーラ符号で符号化し、行パリティビットを生成し、この行パリティビットの各行をｋ１×（ｎ２−ｋ２）行パリティブロックの対応する行に追加し、非正則ポーラ符号器は、データブロックの各列を第１のポーラ符号で符号化し、列パリティビットを生成し、この列パリティビットの各列を（ｎ１−ｋ１）×ｋ２列パリティブロックの対応する列に追加し、非正則ポーラ符号器は、行パリティブロックの各列を第１のポーラ符号で符号化し、行及び列パリティビットを生成し、この行及び列パリティビットの各列を（ｎ１−ｋ１）×（ｎ２−ｋ２）行及び列パリティブロックの対応する列に追加する。
【０１７３】
このような場合では、符号化構造は、大きさｎ１×ｋ１のデータ部分及び大きさｎ１×（ｎ１−ｋ１）のパリティ部分を有する第１のデータブロックと、大きさｋ１×ｎ１のデータ部分及び大きさ（ｎ１−ｋ１）×ｎ１のパリティ部分を有する第２のデータブロックとを含む、平方ブロックの系列によって形成される階段符号化構造であり、第１のブロック及び第２のブロックの連接が階段の１つの段を形成し、コードワードのビットが第１のブロック及び第２のブロックのデータ部分にわたって広がり、第１のブロック及び第２のブロックのパリティ部分のパリティビットが、平方ブロックの系列内の同じブロックのデータ部分のビットと、先行するブロックのパリティ部分のビットとを用いて求められる。
【０１７４】
さらに、符号化構造は、ポーラ符号の正則パラメータの異なる値で符号化された、長方形データブロック、行パリティブロック及び列パリティブロックからなる非正則配置である。
【０１７５】
送信機は、符号化されたコードワードのビットを置換し、この置換された、符号化されたコードワードを変調器に送出するように構成されるインターリーバを更に備える。この場合、インターリーバは、変調ビットの信頼性に従って、符号化されたコードワードのビットをマッピングする。
【０１７６】
さらに、インターリーバ、及びポーラ符号の少なくとも１つのパラメータは、通信チャネルの不均一な信頼性に対して同時に最適化される。
【０１７７】
さらに、１組の非正則パラメータは、異なる分極ステージ間に配置される異なるインターリーバによる、符号化されたビットの置換の非正則性を規定するパラメータを含む。
【０１７８】
また、１組の非正則パラメータは、非アクティブポラライザのロケーションを指定することによって、ディアクティベートされる排他的論理和演算の選択に関する非正則性を規定するパラメータを含む。
【０１７９】
非アクティブポラライザを形成するためにディアクティベートされるいくつかのポラライザは、復号性能の許容範囲に基づいて選択され、ポラライザのディアクティベーションが、許容範囲によって許される範囲内で復号性能に影響を及ぼすようにする。
【０１８０】
非正則ポーラ符号器は、符号化されたコードワード内の異なる場所に複数の巡回冗長検査（ＣＲＣ）符号を追加し、コードワードの１つの部分が決定された後に、コードワードのこの部分に適用されるＣＲＣ符号器を用いて１つのＣＲＣ符号が追加される。
【０１８１】
１組の非正則パラメータは、異なる最大階数非バイナリカーネルでポーラ符号内の分極カーネルの非正則性を規定するパラメータを含む。
【０１８２】
１組の非正則パラメータは、異なる高次カーネルでポーラ符号内の分極カーネルの非正則性を規定するパラメータを含む。
【０１８３】
通信チャネルを介して、符号化されたコードワードを送信する方法は、送信されるソースデータを受け取ることと、ソースデータを非正則ポーラ符号で符号化し、符号化されたコードワードを生成することであって、非正則ポーラ符号は、コードワード内のデータビットの数を規定するパラメータ、符号化されたコードワード内の凍結ビットのロケーションを指定するデータインデックス集合を規定するパラメータ、及び符号化されたコードワード内のパリティビットの数を規定するパラメータのうちの１つ又は組み合わせを含む、１組の正則パラメータによって規定され、ポーラ符号は、ポーラ符号の少なくとも１つの正則パラメータの値の非正則性を規定するパラメータ、符号化されたビットの置換の非正則性を規定するパラメータ、ポーラ符号内の分極カーネルの非正則性を規定するパラメータ、及びポーラ符号化の異なるステージにおけるディアクティベートされる排他的論理和演算の選択に関する非正則性を規定するパラメータのうちの１つ又は組み合わせを含む、１組の非正則パラメータによって更に規定され、非正則ポーラ符号器が、ポーラ符号の正則パラメータ及び非正則パラメータを用いてコードワードを符号化することと、符号化されたコードワードを変調することと、被変調符号化コードワードを、通信チャネルを介して送信することとを含む。
【０１８４】
この場合、その方法は、通信チャネルのパラメータに基づいて、ポーラ符号の正則パラメータ及び非正則パラメータの値の組み合わせを選択することを更に含む。
【０１８５】
さらに、方法を実行するためにプロセッサによって実行可能であるプログラムを具現する非一時的コンピュータ可読記憶媒体であって、その方法は、ソースデータを受け取ることと、ソースデータを非正則ポーラ符号で符号化し、符号化されたコードワードを生成することであって、非正則ポーラ符号は、コードワード内のデータビットの数を規定するパラメータ、符号化されたコードワード内の凍結ビットのロケーションを指定するデータインデックス集合を規定するパラメータ、及び符号化されたコードワード内のパリティビットの数を規定するパラメータのうちの１つ又は組み合わせを含む、１組の正則パラメータによって規定され、ポーラ符号は、ポーラ符号の少なくとも１つの正則パラメータの値の非正則性を規定するパラメータ、符号化されたビットの置換の非正則性を規定するパラメータ、ポーラ符号内の分極カーネルの非正則性を規定するパラメータ、及びポーラ符号化の異なるステージにおけるディアクティベートされる排他的論理和演算の選択に関する非正則性を規定するパラメータのうちの１つ又は組み合わせを含む、１組の非正則パラメータによって更に規定され、非正則ポーラ符号器が、ポーラ符号の正則パラメータ及び非正則パラメータを用いてコードワードを符号化することと、符号化されたコードワードを変調することと、被変調符号化コードワードを、通信チャネルを介して送信することとを含む、非一時的コンピュータ可読記憶媒体。
【０１８６】
本開示に関連する他の特徴
通信チャネルを介して送信される符号化されたコードワードを復号するポーラ復号器を備える受信機は、通信チャネルを介して、この通信チャネルの雑音で変更されたビット系列を含むコードワードを受信するフロントエンドであって、コードワードはポーラ符号を用いて少なくとも１つのポーラ符号器によって符号化される、フロントエンドと、プロセッサによって動作し、復号の軟出力を生成する軟復号器とを備え、プロセッサは、逐次除去リスト（ＳＣＬ）復号を用いて、受信コードワードのビットの取り得る値を推定し、１組の候補コードワードを生成し、各候補コードワードと軟復号器への軟入力との間の距離を求め、ビット系列内のビットの値の尤度を、受信コードワードに最も近く、このビットの位置において逆の値を有する候補コードワードの距離の差を用いて求めるように構成される。
【０１８７】
符号化されたコードワードは、１からなる下三角行列のクロネッカー累乗として形成される符号化行列を用いて符号化され、システムは、符号化行列を記憶するメモリを更に備え、軟復号器はメモリから符号化行列を引き出し、符号化行列を用いてコードワードを復号する。
【０１８８】
符号化されたコードワードは、１からなる下三角行列のクロネッカー累乗として形成される符号化行列を用いて符号化され、ディアクティベートされた排他的論理和演算及びクロネッカー累乗間の中間インターリーブ処理が非正則に選択され、システムは、符号化行列を記憶するメモリを更に備え、軟復号器はメモリから符号化行列を引き出し、符号化行列を用いてコードワードを復号する。
【０１８９】
ＳＣＬは、復号されるビットの取り得る組み合わせのリストを保持しながら、コードワードのビットを順次に復号し、ＳＣＬの繰り返しごとに、１組の候補コードワードのサイズが閾値以下になるように、保持される組み合わせの数はこの閾値以下である。
【０１９０】
受信機は通信チャネルから被変調信号を受信し、被変調信号は雑音を含むアナログ信号であり、受信機は、被変調信号を、受信コードワードを表す、軟復号器への軟入力に変換する復調器と、軟復号器から受信された軟出力に基づいて、受信コードワードからビットの対数尤度比を示す値を生成する硬復号器とを更に備える。
【０１９１】
軟復号器は、軟入力と候補コードワードとの間のユークリッド距離として、候補コードワードごとの距離を求める。尤度を求めることは、全ての候補コードワードにおける各ビット位置上の少なくともいくつかの値が異なる値を有するときに、この位置において「１」の値を有する最も近い候補の距離と、この位置において「０」を有する最も近い候補の距離との差に基づいて、軟入力のこのビット位置において軟出力の値を計算することと、そうでない場合、すなわち、全ての候補コードワードにおけるビット位置上の全ての値が同じ値を有するとき、軟出力の値を所定の定数として選択することとを含む。
【０１９２】
計算することは、軟出力の値をスケーリングパラメータと乗算し、コードワードの対応するビットのための軟出力を生成することを更に含む。
【０１９３】
コードワードは、凍結ビットロケーション、データビットの数、パリティビットの数、及び符号化されたビットのインターリーバ置換のうちの１つ又は組み合わせを含む、各ポーラ符号の同一でない１組のパラメータを規定する空間パターンに従って互いに空間的に結合される複数のポーラ符号で符号化される複数のコンポーネントを含み、軟復号器は、１つのコンポーネントの復号の軟出力が別のコンポーネントの復号への軟入力であるように、複数のコンポーネントにわたって軟復号を繰り返すことによって、空間パターンに従って軟出力を生成する。
【０１９４】
コードワードは中間符号化プロセスにおいて使用される複数の異なるインターリーバのうちの１つ又は組み合わせで符号化され、アクティブ及び非アクティブ排他的論理和演算子が、軟復号の計算複雑度及び誤り訂正性能を調整する。
【０１９５】
軟復号器は、各分極演算においてビットの値の尤度を求めるために適応的ルックアップテーブル（ＬＵＴ）を使用し、このＬＵＴはビットごとの分極のダウングレードする分岐及びアップグレードする分岐を規定し、入力量子化メッセージを与えられると、これらのメッセージの確率質量関数に基づいて、出力量子化メッセージが最大相互情報量を有するように、このＬＵＴの規則が決定される。
【０１９６】
受信コードワードは複数のＣＲＣ符号を含み、候補コードワードの一部が正しくないＣＲＣ符号を含むときに、プロセッサが、受信コードワード内のＣＲＣ符号を含む場所によって決定される部分長において１組の候補コードワードを剪定する。
【０１９７】
軟復号器は、部分的に復号された候補コードワードからＣＲＣ値を抽出して、第１のＣＲＣを生成し、部分的に復号された候補コードワードにＣＲＣ関数を適用することによってＣＲＣを計算して、第２のＣＲＣを生成し、第１のＣＲＣを第２のＣＲＣと比較し、第１のＣＲＣが第２のＣＲＣと一致しない場合には、復号されたビットの取り得る組み合わせのリストから部分的に復号された候補コードワードを削除するように構成される。
【０１９８】
さらに、通信チャネルを介して送信される符号化されたコードワードを復号する方法は、通信チャネルを介して、この通信チャネルの雑音で変更されたビット系列を含むコードワードを受信することであって、このコードワードは少なくとも１つのポーラ符号器で符号化される、受信することと、ＳＣＬ復号を用いて、受信コードワードによって表される軟入力のビットの取り得る値を推定し、１組の候補コードワードを生成することと、各候補コードワードと受信コードワードとの間の距離を求めることと、ビット系列内のビットの値の尤度を、受信コードワードに最も近く、このビットの位置において逆の値を有する候補コードワードの距離の差を用いて求めることとを含み、方法の少なくともいくつかのステップはプロセッサを用いて実行される。
【０１９９】
その方法では、ＳＣＬは、復号されるビットの取り得る組み合わせのリストを保持しながら、コードワードのビットを順次に復号し、ＳＣＬの繰り返しごとに、１組の候補コードワードのサイズが閾値以下になるように、保持される組み合わせの数はこの閾値以下である。
【０２００】
その方法は、通信チャネルから被変調信号を受信することであって、この被変調信号は雑音を含むアナログ信号である、受信することと、被変調信号を軟入力に変換することと、軟入力と対応する候補コードワードとの間のユークリッド距離として候補コードワードごとの距離を求めることとを更に含む。
【０２０１】
その方法では、尤度を求めることは、全ての候補コードワードにおける各ビット位置上の少なくともいくつかの値が異なる値を有するときに、この位置において「１」の値を有する最も近い候補の距離と、この位置において「０」を有する最も近い候補の距離との差に基づいて、軟入力のこのビット位置において軟出力の値を計算することと、そうでない場合、すなわち、全ての候補コードワードにおけるビット位置上の全ての値が同じ値を有するとき、軟出力の値を所定の定数として選択することとを含む。
【０２０２】
その方法では、受信コードワードは複数のＣＲＣ符号を含み、候補コードワードの一部が正しくないＣＲＣ符号を含むときに、プロセッサが、受信コードワード内のＣＲＣ符号を含む場所によって決定される部分長において１組の候補コードワードを剪定する。
【０２０３】
さらに、方法を実行するためにプロセッサによって実行可能であるプログラムを具現する非一時的コンピュータ可読記憶媒体であって、その方法は、通信チャネルを介して、この通信チャネルの雑音で変更されたビット系列を含むコードワードを受信することであって、このコードワードはポーラ符号器で符号化される、受信することと、ＳＣＬ復号を用いて、受信コードワードによって表される軟入力のビットの取り得る値を推定し、１組の候補コードワードを生成することと、各候補コードワードと受信コードワードとの間の距離を求めることと、ビット系列内のビットの値の尤度を、受信コードワードに最も近く、このビットの位置において逆の値を有する候補コードワードの距離の差を用いて求めることとを含む、非一時的コンピュータ可読記憶媒体。
【０２０４】
そのメモリにおいて、その方法は、全ての候補コードワードにおける各ビット位置上の少なくともいくつかの値が異なる値を有するときに、この位置において「１」の値を有する最も近い候補の距離と、この位置において「０」を有する最も近い候補の距離との差に基づいて、軟入力のこのビット位置において軟出力の値を計算することと、そうでない場合、すなわち、全ての候補コードワードにおけるビット位置上の全ての値が同じ値を有するとき、軟出力の値を所定の定数として選択することとを更に含む。
【０２０５】
本発明の実施形態による送信機及び受信機が以下に説明される。
通信チャネルを介して、符号化されたコードワードを送信する送信機は、ソースデータを受け取るソースと、プロセッサによって動作し、少なくとも１つのポーラ符号でソースデータを符号化し、符号化されたコードワードを生成する非正則ポーラ符号器と、符号化されたコードワードを変調する変調器と、被変調符号化コードワードを、通信チャネルを介して送信するフロントエンドとを備える。ポーラ符号は、コードワード内のデータビットの数を規定するパラメータ、符号化されたコードワード内の凍結ビットのロケーションを指定するデータインデックス集合を規定するパラメータ、及び符号化されたコードワード内のパリティビットの数を規定するパラメータのうちの１つ又は組み合わせを含む、１組の正則パラメータによって規定される。ポーラ符号は、ポーラ符号の少なくとも１つの正則パラメータの値の非正則性を規定するパラメータ、符号化されたビットの置換の非正則性を規定するパラメータ、ポーラ符号内の分極カーネルの非正則性を規定するパラメータ、及びポーラ符号化の異なるステージにおけるディアクティベートされる排他的論理和演算の選択に関する非正則性を規定するパラメータのうちの１つ又は組み合わせを含む、１組の非正則パラメータによって更に規定され、非正則ポーラ符号器は、ポーラ符号の正則パラメータ及び非正則パラメータを用いてコードワードを符号化する。非正則ポーラ符号は、多次元ターボ積符号を構成するように空間的に結合され、外側符号は、短いハミング重みに起因して最も支配的な誤りパターンを訂正し、かつ複雑度を緩和し、待ち時間を短縮するために非正則過剰剪定カーネルを可能にするように連接される。
【０２０６】
さらに、受信機が、通信チャネルを介して送信された符号化されたコードワードを復号するためのポーラ復号器を含む。受信機は、通信チャネルを介して、通信チャネルの雑音で変更されたビットの系列を含むコードワードを受信するフロントエンドと、復号の軟出力を生成するためにプロセッサによって動作する軟復号器とを含む。コードワードは、少なくとも１つのポーラ符号器によってポーラ符号で符号化される。プロセッサは、ＳＣＬ復号を用いて、受信されたコードワードのビットの取り得る値を推定し、１組の候補コードワードを生成し、チェイス処理を介して、各候補コードワードと軟復号器への軟入力との間の距離を求め、受信されたコードワードに最も近く、ビットの位置において逆の値を有する候補コードワードの距離の差を用いて、ビット系列内のビットの値の尤度を求めるように構成される。空間的に結合されたコードワードにわたる軟判定反復復号後に、誤りフロアを軽減し、必要とされる反復回数を削減するために、硬判定クリーニングが実行される。
【図１】
0006847252.tif 000047
【図２】
0006847252.tif 000048
【図３】
0006847252.tif 000049
【図４】
0006847252.tif 000050
【図５】
0006847252.tif 000051
【図６Ａ】
0006847252.tif 000052
【図６Ｂ】
0006847252.tif 000053
【図７】
0006847252.tif 000054
【図８】
0006847252.tif 000055
【図９Ａ】
0006847252.tif 000056
【図９Ｂ】
0006847252.tif 000057
【図１０Ａ】
0006847252.tif 000058
【図１０Ｂ】
0006847252.tif 000059
【図１１】
0006847252.tif 000060
【図１２】
0006847252.tif 000061
【図１３】
0006847252.tif 000062
【図１４】
0006847252.tif 000063
【図１５Ａ】
0006847252.tif 000064
【図１５Ｂ】
0006847252.tif 000065
【図１６Ａ】
0006847252.tif 000066
【図１６Ｂ】
0006847252.tif 000067
【図１６Ｃ】
0006847252.tif 000068
【図１７】
0006847252.tif 000069
【図１８Ａ】
0006847252.tif 000070
【図１８Ｂ】
0006847252.tif 000071
【図１８Ｃ】
0006847252.tif 000072
【図１９Ａ】
0006847252.tif 000073
【図１９Ｂ】
0006847252.tif 000074
【図１９Ｃ】
0006847252.tif 000075
【図２０Ａ】
0006847252.tif 000076
【図２０Ｂ】
0006847252.tif 000077