(57)【要約】  改善されたＳＣＬ復号器動作のためのシステムおよび方法のさまざまな実施形態について記述する。詳細には、更新されたパス指標統計情報に基づきバッファ管理の効率を改善するさまざまな実施形態について記述する。いくつかの実施形態では、ＳＣＬ復号器は、先行する更新サイクル以来、変化した統計情報だけに、行あたりのＬＬＲ更新の範囲を制限するように選択的置換を遂行してもよい。いくつかの実施形態では、ＳＣＬ復号器は、更新された行が導出される元の行に基づき、  【数１】2018535608.tif 000030  と  【数２】2018535608.tif 000031  の両方のビット推定値（ＬＬＲ）更新のインプレースの計算を伴う場合がある遅延更新を遂行してもよい。【選択図】図７
2018535608.tif 000002
【特許請求の範囲】
【請求項１】
受信した、符号化された通信データに対して逐次除去リスト（ｓｕｃｃｅｓｓｉｖｅ  ｃａｎｃｅｌｌａｔｉｏｎ  ｌｉｓｔ、ＳＣＬ）復号を遂行するシステムであって、
複数の処理要素と、
前記複数の処理要素の間に散在し、隣接する処理要素に結合した複数のメモリと
を備え、
前記処理要素の各々により、前記符号化された通信データの一部の潜在的復号である、対応するビットパスに対して復号動作を遂行し、ビット統計情報を生成し、
前記処理要素により生成された前記対応するビットパスのリストを、捨てるべきビットパスの前記リストのサブセットを決定するために、前記ビット統計情報に基づきソートし、
捨てられないビットパスを有する対応する処理要素の少なくともサブセットに関して、
２つの長くなったビットパスを生成し、
前記対応する処理要素に関連する第１のメモリから、捨てるべきであると判断された第２のビットパスに関連する処理要素に関連する第２のメモリに、前記長くなったビットパスの一方、および前記対応する処理要素により生成されたビット統計情報をコピーする
ことにより、前記受信した、符号化された通信データを復号するように構成され、前記コピーするステップは、前記第２のビットパス内の対応するビットおよび／またはビット統計情報と異なる、前記長くなったビットパス内のビットおよび／またはビット統計情報だけをコピーするステップを備えるシステム。
【請求項２】
前記ソートするステップは、前記リストの２つの異なるサブセットをソートするステップを備え、各サブセットは、前記リストのサイズの半分の大きさにすぎない、
請求項１に記載のシステム。
【請求項３】
前記ソートするステップは、
可能性の高い追加ビット値に対応する複数のビットパスの第１のリスト、および可能性の低い追加ビット値に対応する複数のビットパスの第２のリストを、異なる順序でソートするステップと、
第１の新しいビットパスの前記ソートされたリストの少なくとも一部と、第２の新しいビットパスの前記ソートされたリストの少なくとも一部を比較するステップと、
前記比較するステップに応答して、第１の新しいビットパスの前記ソートされたリスト内の１つまたは複数のビットパスと、第２の新しいビットパスの前記ソートされたリストからの１つまたは複数のビットパスを置換することにより、ビットパスの前記リストの新しいサブセットを作成するステップと
を備える、
請求項１に記載のシステム。
【請求項４】
前記符号化された通信データを復号することにより、復号されたデータがもたらされ、
前記システムは、前記復号されたデータをメモリに記憶するようにさらに構成され、前記復号されたデータは、前記ビットパスの選択された１つである、
請求項１に記載のシステム。
【請求項５】
前記処理要素の少なくとも１つは、マスタ処理要素として指定され、前記メモリは、前記複数の処理要素を相互接続するルーティング機構を備え、
前記コピーするステップは、前記コピーするステップを達成するために、前記ルーティング機構内に動的ルートを作成するステップを備え、
前記システムは、
前記マスタ処理要素により、動的ルートを作成するための命令を他の処理要素それぞれに伝達する
ようにさらに構成される、
請求項１に記載のシステム。
【請求項６】
受信した、符号化された通信データに対して逐次除去リスト（ＳＣＬ）復号を遂行するシステムであって、
複数の処理要素と、
前記複数の処理要素の間に散在し、隣接する処理要素に結合した複数のメモリと
を備え、
前記処理要素の各々により、前記符号化された通信データの一部の潜在的復号である、対応するビットパスに対して復号動作を遂行し、ビット統計情報を生成し、
前記処理要素により生成された前記対応するビットパスのリストを、捨てるべきビットパスの前記リストのサブセットを決定するために、前記ビット統計情報に基づきソートし、
捨てられないビットパスを有する対応する処理要素の少なくともサブセットに関して、
２つの長くなったビットパスを生成し、
復号動作を遂行し、前記２つの長くなったビットパスに関する、更新されたビット統計情報を生成し、
前記対応する処理要素に関連する第１のメモリから、捨てるべきであると判断された第２のビットパスに関連する処理要素に関連する第２のメモリに、前記長くなったビットパスの一方、および前記対応する処理要素により生成された、更新されたビット統計情報をコピーする
ことにより前記受信した、符号化された通信データを復号するように構成されるシステム。
【請求項７】
前記メモリは、前記複数の処理要素を相互接続するルーティング機構を備え、
前記コピーするステップは、前記コピーするステップを達成するために、前記ルーティング機構内に動的ルートを作成するステップを備える、
請求項６に記載のシステム。
【請求項８】
前記処理要素の少なくとも１つは、マスタ処理要素として指定され、
前記システムは、
前記マスタ処理要素により、動的ルートを作成するための命令を他の処理要素それぞれに伝達する
ようにさらに構成される、
請求項６に記載のシステム。
【請求項９】
前記ソートするステップは、
可能性の高い追加ビット値に対応する複数のビットパスの第１のリスト、および可能性の低い追加ビット値に対応する複数のビットパスの第２のリストを、異なる順序でソートするステップと、
第１の新しいビットパスの前記ソートされたリストの少なくとも一部と、第２の新しいビットパスの前記ソートされたリストの少なくとも一部を比較するステップと、
前記比較するステップに応答して、第１の新しいビットパスの前記ソートされたリスト内の１つまたは複数のビットパスと、第２の新しいビットパスの前記ソートされたリストからの１つまたは複数のビットパスを置換することにより、ビットパスの前記リストの前記新しいサブセットを作成するステップと
を備える、
請求項６に記載のシステム。
【請求項１０】
受信した、符号化された通信データに対して逐次除去リスト（ＳＣＬ）復号を遂行する方法であって、
前記符号化された通信データを通信路から受信するステップと、
前記符号化された通信データを、
プロセッサを内部に備える複数の処理要素により、復号動作を遂行するステップであって、各処理要素は、ビットパスの第１のリスト内の対応するビットパスに対して復号動作を遂行し、各ビットパスは、前記符号化された通信データの一部の潜在的復号であり、前記復号動作を遂行するステップは、前記ビットパス内のビットに関連する第１のビット統計情報を備えるステップ、
前記第１のビット統計情報に基づき、ビットパスの前記第１のリストをソートするステップ、
パスの前記第１のリストの前記ソートするステップに基づき、ビットパスの前記第１のリストのサブセットを捨てるべきであると判断するステップ、
捨てるべきではないと判断された各ビットパスから、２つの長くなったビットパスを生成するステップであって、前記長くなったビットパスは、ビットパスの第２のリストを備えるステップ、および
捨てるべきではないと判断されたビットパスに関連する対応する処理要素ごとに、
前記対応する処理要素に関連する第１のメモリから、捨てるべきであると判断された第２のビットパスに関連する処理要素に関連する第２のメモリに、前記長くなったビットパスの一方、および前記対応する処理要素に関連するビット統計情報をコピーするステップ
を繰り返すことにより復号するステップと
を備える方法。
【請求項１１】
前記長くなったビットパスの一方およびビット統計情報をコピーする前記ステップは、前記第２のビットパス内の対応するビットおよびビット統計情報と異なる、前記長くなったビットパス内のビットおよびビット統計情報だけをコピーするステップを備える、請求項１０に記載の方法。
【請求項１２】
捨てるべきではないと判断されたビットパスに関連する各処理要素により、
前記コピーするステップの前に、
前記２つの長くなったビットパスに対して復号動作を遂行するステップと、
長くなったビットパスそれぞれに対する前記復号動作に少なくとも一部は基づき、前記２つの長くなったビットパスの各々に関する第２のビット統計情報を生成するステップと、
前記第２のビット統計情報の少なくともサブセットに関して追加で前記コピーするステップを遂行するステップと
をさらに備える、請求項１０に記載の方法。
【請求項１３】
前記ソートするステップは、
可能性の高い追加ビット値に対応する複数のビットパスの第１のリスト、および可能性の低い追加ビット値に対応する複数のビットパスの第２のリストを、異なる順序でソートするステップと、
第１の新しいビットパスの前記ソートされたリストの少なくとも一部と、第２の新しいビットパスの前記ソートされたリストの少なくとも一部を比較するステップと
前記比較するステップに応答して、第１の新しいビットパスの前記ソートされたリスト内の１つまたは複数のビットパスと、第２の新しいビットパスの前記ソートされたリストからの１つまたは複数のビットパスを置換することにより、ビットパスの前記リストの新しいサブセットを作成するステップと
を備える、
請求項１０に記載の方法。
【請求項１４】
前記符号化された通信データを復号する前記ステップは、所定のしきい値を超えるビットパスに到達するまで、連続的により大きくなるビットパスに関して複数回遂行される、
請求項１０に記載の方法。
【請求項１５】
前記ビットパスの半分は、捨てるべきであると判断される、請求項１０に記載の方法。
【請求項１６】
前記符号化された通信データを復号することにより、復号されたデータがもたらされ、
前記方法は、前記復号されたデータをメモリに記憶するステップをさらに備え、前記復号されたデータは、前記ビットパスの選択された１つである、
請求項１０に記載の方法。
【請求項１７】
前記プロセッサは、前記複数の処理要素を相互接続するルーティング機構をさらに備え、
前記コピーするステップは、前記コピーするステップを達成するために、前記ルーティング機構内に動的ルートを作成するステップを備える、
請求項１０に記載の方法。
【請求項１８】
前記プロセッサ内の前記処理要素の少なくとも１つは、マスタ処理要素として指定され、
前記方法は、
前記マスタ処理要素により、動的ルートを作成するための命令を他の処理要素それぞれに伝達するステップ
をさらに備える、
請求項１０に記載の方法。
【請求項１９】
受信した、符号化された通信データに対して逐次除去リスト（ＳＣＬ）復号を遂行するためのプログラム命令を備えるコンピュータ可読記憶媒体であって、前記プログラム命令は、
前記符号化された通信データを通信路から受信し、
前記符号化された通信データを、
前記記憶媒体に結合した処理要素により、復号動作を遂行するステップであって、前記処理要素は、ビットパスに対して復号動作を遂行し、前記ビットパスは、前記符号化された通信データの一部の潜在的復号であり、前記復号動作を遂行するステップは、前記ビットパス内のビットに関連する第１のビット統計情報を生成するステップを備えるステップと、
前記ビットパスを捨てない通知を受信するステップと、
第２の記憶媒体は、捨てられるビットパスと関連づけられるという通知を受信するステップと、
２つの長くなったビットパスを生成するステップと、
前記第２の記憶媒体に、前記長くなったビットパスの一方、および前記第１のビット統計情報の少なくともサブセットをコピーするステップと
を繰り返すことにより復号する
ように実行可能であるコンピュータ可読記憶媒体。
【請求項２０】
前記長くなったビットパスの一方および前記ビット統計情報をコピーする前記ステップは、前記捨てられるビットパス内の対応するビットおよびビット統計情報と異なる、前記長くなったビットパス内のビットおよびビット統計情報だけをコピーするステップを備える、請求項１９に記載の記憶媒体。
【請求項２１】
前記プログラム命令は、
前記コピーするステップの前に、
前記２つの長くなったビットパスに対して復号動作を遂行し、
長くなったビットパスそれぞれに対する前記復号動作に少なくとも一部は基づき、前記２つの長くなったビットパスの各々に関する第２のビット統計情報を生成し、
前記第２のビット統計情報の少なくともサブセットに関して追加で前記コピーするステップを遂行する
ようにさらに実行可能である、請求項１９に記載の記憶媒体。
【請求項２２】
前記符号化された通信データを復号するステップは、
前記ビットパスを捨てる通知を受信するステップと、
第３の記憶媒体から、長くなったビットパス、および前記長くなったビットパスに関連するビット統計情報を受信するステップと
をさらに備える、請求項１９に記載の記憶媒体。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明の分野は、一般に通信で使用する復号器に関する。
【背景技術】
【０００２】
復号器は、通信の多くの領域で使用される。通信の用途で使用される復号器の一例は、前方誤り訂正（Ｆｏｒｗａｒｄ  Ｅｒｒｏｒ  Ｃｏｒｒｅｃｔｉｏｎ、ＦＥＣ）復号器である。データ移動およびデータ記憶領域は、前方誤り訂正（ＦＥＣ）復号器から所与のプロセッサアーキテクチャへの効率的マッピングを決定する際に重量な考慮事項である。ポーラ符号（Ｐｏｌａｒ  Ｃｏｄｅ）復号器の現在の設計は、逐次除去（Ｓｕｃｃｅｓｓｉｖｅ  Ｃａｎｃｅｌｌａｔｉｏｎ、ＳＣ）復号器の拡張を伴う。ポーラ復号器の現在の設計の一例に関する詳細な情報については、以下の参考文献１を参照されたい。ＳＣ復号器は、低い復号複雑度をもたらすが、その一方で、ビット誤り性能に関して、ターボ（Ｔｕｒｂｏ）符号または低密度パリティ検査（Ｌｏｗ  Ｄｅｎｓｉｔｙ  Ｐａｒｉｔｙ  Ｃｈｅｃｋ、ＬＤＰＣ）符号に対抗するためには、１００万ビットに近づく長いブロックサイズ（Ｎ＝２n）を必要とする（すなわちｎ＝２０）。
【０００３】
逐次除去リスト（Ｓｕｃｃｅｓｓｉｖｅ  Ｃａｎｃｅｌｌａｔｉｏｎ  Ｌｉｓｔ、ＳＣＬ）復号器は、ＳＣ復号器の拡張である。ＳＣＬ復号器は、実現可能なブロック長、たとえば、Ｎ＝２11に対してビット誤り性能を改善する場合がある。ＳＣＬ復号は、ＳＣ復号器ループの各フェーズで、２つの可能性、すなわち、
【０００４】
【数１】
2018535608.tif 000003
【０００５】
および
【０００６】
【数２】
2018535608.tif 000004
【０００７】
を並列に考慮してもよい。結果は、復号器木であり、その次元は、復号される情報ビットそれぞれに対して２倍になる。複雑度を管理するために、ＳＣＬ復号器の現在の実装は、木の各分岐に沿った累積パス指標に基づき、各復号ステージでリストを固定リストサイズＬに枝刈りをしてもよい。詳細な議論、およびこれらの考えの初期の実装については、以下の参考文献２を参照のこと。
【先行技術文献】
【特許文献】
【０００８】
【特許文献１】米国特許第７，４１５，５９４号明細書
【特許文献２】米国特許第８，８８０，８６６号明細書
【非特許文献】
【０００９】
【非特許文献１】Ｅ．Ａｒｉｋａｎ，“Ｃｈａｎｎｅｌ  Ｐｏｌａｒｉｚａｔｉｏｎ：Ａ  ｍｅｔｈｏｄ  ｆｏｒ  ｃｏｎｓｔｒｕｃｔｉｎｇ  ｃａｐａｃｉｔｙ  ａｃｈｉｅｖｉｎｇ  ｃｏｄｅｓ  ｆｏｒ  ｓｙｍｍｅｔｒｉｃ  ｂｉｎａｒｙ−ｉｎｐｕｔ  ｍｅｍｏｒｙｌｅｓｓ  ｃｈａｎｎｅｌｓ（通信路分極：対称２元無記憶通信路のための符号を達成する容量を構築する方法），”  ＩＥＥＥ  Ｔｒａｎｓ．ｏｎ  Ｉｎｆ．Ｔｈｅｏｒｙ，ｖｏｌ．５５，ｎｏ．７，ｐｐ．３０５１−３０７３，Ｊｕｌ．２００９
【非特許文献２】Ｉ．Ｔａｌ  ａｎｄ  Ａ．Ｖａｒｄｙ，“Ｌｉｓｔ  Ｄｅｃｏｄｉｎｇ  ｏｆ  Ｐｏｌａｒ  Ｃｏｄｅｓ（ポーラ符号のリスト復号），”  ＩＥＥＥ  Ｔｒａｎｓ．ｏｎ  Ｉｎｆｏｒｍａｔｉｏｎ  Ｔｈｅｏｒｙ，ｖｏｌ．６１，ｎｏ．５，ｐｐ．２２１３−２２２６，Ｍａｙ  ２０１５
【非特許文献３】Ｇ．Ｓａｒｋｉｓ，Ｐ．Ｇｉａｒｄ，Ａ．Ｖａｒｄｙ，Ｃ．Ｔｈｉｂｅａｕｌｔ  ａｎｄ  Ｗ．Ｊ．Ｇｒｏｓｓ，“Ｆａｓｔ  Ｐｏｌａｒ  Ｄｅｃｏｄｅｒｓ：Ａｌｇｏｒｉｔｈｍ  ａｎｄ  Ｉｍｐｌｅｍｅｎｔａｔｉｏｎ（高速ポーラ符号：アルゴリズムおよび実装），”ＩＥＥＥ  Ｊ．ｏｎ  Ｓｅｌｅｃｔｅｄ  Ａｒｅａｓ  ｉｎ  Ｃｏｍｍｕｎｉｃａｔｉｏｎｓ，ｖｏｌ．３２，ｎｏ．５，ｐｐ．９４６−９５７，Ｍａｙ  ２０１４
【非特許文献４】Ａ．Ｂａｌａｔｓｏｕｋａｓ−Ｓｔｉｍｍｉｎｇ，Ｍ．Ｂ．Ｐａｒｉｚｉ  ａｎｄ  Ａ．Ｂｕｒｇ，“ＬＬＲ−Ｂａｓｅｄ  Ｓｕｃｃｅｓｓｉｖｅ  Ｃａｎｃｅｌｌａｔｉｏｎ  Ｌｉｓｔ  Ｄｅｃｏｄｉｎｇ  ｏｆ  Ｐｏｌａｒ  Ｃｏｄｅｓ（ＬＬＲに基づくポーラ符号の逐次除去リスト復号），”  ｉｎ  ＩＥＥＥ  Ｔｒａｎｓａｃｔｉｏｎｓ  ｏｎ  Ｓｉｇｎａｌ  Ｐｒｏｃｅｓｓｉｎｇ，ｖｏｌ．６３，ｎｏ．１９，ｐｐ．５１６５−５１７９，Ｏｃｔｏｂｅｒ，２０１５
【発明の概要】
【発明が解決しようとする課題】
【００１０】
プロセッサステージ間でデータを交換することは、適切なＳＣＬ復号器動作にとって重要であり、データ交換は、ＳＣＬ復号器動作にかなりの待ち時間を導入する場合がある。したがって、本分野で改善が望まれる。
【課題を解決するための手段】
【００１１】
改善されたＳＣＬ復号器動作のためのシステムおよび方法のさまざまな実施形態について記述する。詳細には、更新されたパス指標統計情報に基づきバッファ管理の効率を改善するさまざまな実施形態について記述する。通常使用されるパス指標統計情報は、ビット位置、推定された情報ベクトル、ビット位置に関して新しく受信したシンボル、すでに復号されたビットに依存する対数尤度比（ｌｏｇ  ｌｉｋｅｌｉｈｏｏｄ  ｒａｔｉｏ、ＬＬＲ）であり、以下で規定する。ＬＬＲ指標は、以下の参考文献４で説明されているように、他の指標よりも高い数値安定性を生み出す。
【００１２】
第１の実施形態では、ＳＣＬ復号器は、選択的置換を遂行してもよい。従来の復号器の実装は、ビット推定値（たとえば、ＬＬＲ）更新の前段から計算されたパス指標に基づき、バッファ内の全部の行を更新してもよい。選択的置換は、行ごとのＬＬＲ更新の範囲を、先行する更新サイクル以来変更された統計情報だけに限定する。
【００１３】
第２の実施形態では、ＳＣＬ復号器は、遅延更新を遂行してもよい。従来の復号器は、パス指標を更新し、ソートし、次いで、ＬＬＲ更新の次ステージの前に必要に応じて統計情報バッファの行を置換してもよい。この動作順序は、各行への入力が所定のバッファ位置にコピーされ、その後、ＬＬＲ更新処理を再開することができるという前提で、入力コピー（Ｉｎｐｕｔ  Ｃｏｐｙ）と呼ばれる。結果マルチキャスト（Ｒｅｓｕｌｔ  Ｍｕｌｔｉｃａｓｔ）と称される、本明細書に記載する新しい取り組み方法によれば、いくつかの実施形態では、方法は、むしろ、更新された行が導出される元の行に基づき、
【００１４】
【数３】
2018535608.tif 000005
【００１５】
と
【００１６】
【数４】
2018535608.tif 000006
【００１７】
の両方のビット推定値（ＬＬＲ）更新のインプレース計算を伴う。入力統計情報をコピーするのではなく、出力統計情報を、インプレースで計算し、次いで、イン・プレース・バッファだけではなく任意の追加の宛先バッファにも同時に遅延マルチキャストで転送してもよい。
【００１８】
好ましい実施形態に関する以下の詳細な記述を以下の図面と併せて考慮するとき、本発明のよりよい理解を得ることができる。
【図面の簡単な説明】
【００１９】
【図１】一例の無線通信システムを示す。
【図２】機器の復号器内の、一例のプロセッサシステムを示す。
【図３】ｎ＝１１の場合の、通信路分極の一例を示す。
【図４】ｎ＝３の場合の、一例の符号器を示す。
【図５】ｎ＝３の場合の、一例の復号器を示す。
【図６】一例のＳＣＬメモリ構成を示す。
【図７】いくつかの実施形態による、選択的置換復号器の動作を示す流れ図である。
【図８】いくつかの実施形態による、遅延更新を遂行してもよい、復号器のメイン処理ループ（コア復号器ループ）を示す。
【図９】いくつかの実施形態による、最適ソートアルゴリズムの動作を示す流れ図である。
【図１０Ａ】いくつかの実施形態による、待ち時間の短いソートアルゴリズムの動作を示す流れ図である。
【図１０Ｂ】いくつかの実施形態による、待ち時間の短いソートアルゴリズムでの変数ε、η、およびＬの図式による説明である。
【図１１】いくつかの実施形態による、マージアルゴリズムの動作を示す流れ図である。
【図１２】ノイズ、および本明細書に記述する方法のためのメモリ移動が存在する状態での、復号性能の比較を示す。
【図１３】いくつかの実施形態による、マスタ処理要素を使用して、Ｌ＝８で復号器を実装するように構成されたマルチ・プロセッサ・アレイを示す。
【図１４】いくつかの実施形態による、共用メモリを有する復号器を実装するように構成されたマルチ・プロセッサ・アレイを示す。
【発明を実施するための形態】
【００２０】
本発明は、さまざまな修正形態および代替形態が可能であるが、それらの具体的実施形態について、図面で例として示し、本明細書で詳細に記述する。しかしながら、それらの実施形態に対する図面および詳細な記述は、開示する特定の形態に本発明を限定することを意図するものではなく、それどころか、その意図は、添付の特許請求の範囲により規定されるような本発明の趣旨および範囲にはいるすべての修正形態、均等物、および代替形態を包含することであることを理解されたい。
参照による援用
【００２１】
以下の参考文献は、あたかも本明細書にあらゆる点で完全に示されているかのように、全体が参照により本明細書に援用される。
【００２２】
１．Ｅ．Ａｒｉｋａｎ，“Ｃｈａｎｎｅｌ  Ｐｏｌａｒｉｚａｔｉｏｎ：Ａ  ｍｅｔｈｏｄ  ｆｏｒ  ｃｏｎｓｔｒｕｃｔｉｎｇ  ｃａｐａｃｉｔｙ  ａｃｈｉｅｖｉｎｇ  ｃｏｄｅｓ  ｆｏｒ  ｓｙｍｍｅｔｒｉｃ  ｂｉｎａｒｙ−ｉｎｐｕｔ  ｍｅｍｏｒｙｌｅｓｓ  ｃｈａｎｎｅｌｓ（通信路分極：対称２元無記憶通信路のための符号を達成する容量を構築する方法），”  ＩＥＥＥ  Ｔｒａｎｓ．ｏｎ  Ｉｎｆ．Ｔｈｅｏｒｙ，ｖｏｌ．５５，ｎｏ．７，ｐｐ．３０５１−３０７３，Ｊｕｌ．２００９
【００２３】
２．Ｉ．Ｔａｌ  ａｎｄ  Ａ．  Ｖａｒｄｙ，“Ｌｉｓｔ  Ｄｅｃｏｄｉｎｇ  ｏｆ  Ｐｏｌａｒ  Ｃｏｄｅｓ（ポーラ符号のリスト復号），”  ＩＥＥＥ  Ｔｒａｎｓ．ｏｎ  Ｉｎｆｏｒｍａｔｉｏｎ  Ｔｈｅｏｒｙ，ｖｏｌ．６１，ｎｏ．５，ｐｐ．２２１３−２２２６，Ｍａｙ  ２０１５
【００２４】
３．Ｇ．Ｓａｒｋｉｓ，Ｐ．Ｇｉａｒｄ，Ａ．Ｖａｒｄｙ，Ｃ．Ｔｈｉｂｅａｕｌｔ  ａｎｄ  Ｗ．Ｊ．Ｇｒｏｓｓ，“Ｆａｓｔ  Ｐｏｌａｒ  Ｄｅｃｏｄｅｒｓ：  Ａｌｇｏｒｉｔｈｍ  ａｎｄ  Ｉｍｐｌｅｍｅｎｔａｔｉｏｎ（高速ポーラ符号：アルゴリズムおよび実装），”  ＩＥＥＥ  Ｊ．ｏｎ  Ｓｅｌｅｃｔｅｄ  Ａｒｅａｓ  ｉｎ  Ｃｏｍｍｕｎｉｃａｔｉｏｎｓ，ｖｏｌ．３２，ｎｏ．５，ｐｐ．９４６−９５７，Ｍａｙ  ２０１４
【００２５】
４．Ａ．Ｂａｌａｔｓｏｕｋａｓ−Ｓｔｉｍｍｉｎｇ，Ｍ．Ｂ．Ｐａｒｉｚｉ  ａｎｄ  Ａ．Ｂｕｒｇ，“ＬＬＲ−Ｂａｓｅｄ  Ｓｕｃｃｅｓｓｉｖｅ  Ｃａｎｃｅｌｌａｔｉｏｎ  Ｌｉｓｔ  Ｄｅｃｏｄｉｎｇ  ｏｆ  Ｐｏｌａｒ  Ｃｏｄｅｓ（ＬＬＲに基づくポーラ符号の逐次除去リスト復号），”  ｉｎ  ＩＥＥＥ  Ｔｒａｎｓａｃｔｉｏｎｓ  ｏｎ  Ｓｉｇｎａｌ  Ｐｒｏｃｅｓｓｉｎｇ，ｖｏｌ．６３，ｎｏ．１９，ｐｐ．５１６５−５１７９，Ｏｃｔｏｂｅｒ，２０１５
用語
【００２６】
以下は、本出願で使用する用語の解説である。
【００２７】
記憶媒体−さまざまなタイプのメモリ機器または記憶装置のいずれか。用語「記憶媒体」は、インストール媒体、たとえば、ＣＤ−ＲＯＭ、フロッピーディスク１０４、またはテープ装置；コンピュータ・システム・メモリ、またはＤＲＡＭ、ＤＤＲ  ＲＡＭ、ＳＲＡＭ、ＥＤＯ  ＲＡＭ、Ｒａｍｂｕｓ  ＲＡＭなどのようなランダム・アクセス・メモリ；または磁気媒体、たとえば、ハードドライブ、光学記憶装置、もしくはＲＯＭ、ＥＰＲＯＭ，フラッシュなどの不揮発性メモリを含むことが意図される。記憶媒体は、同様に他のタイプのメモリも、またはそれらの組合せを含んでもよい。さらに、記憶媒体は、プログラムが実行される第１のコンピュータ内に配置されてもよい、および／またはインターネットなどのネットワークを介して第１のコンピュータに接続する、第２の異なるコンピュータ内に配置されてもよい。第２の異なるコンピュータ内に配置される実例では、第２のコンピュータは、実行するために、第１のコンピュータにプログラム命令を提供してもよい。用語「記憶媒体」は、異なる場所に、たとえば、ネットワークを介して接続される異なるコンピュータ内に存在してもよい２つ以上の記憶媒体を含んでもよい。
【００２８】
キャリア媒体−上述のような記憶媒体、ならびにバス、ネットワーク、および／または電気信号または光信号などの信号を伝達する他の物理的伝送媒体などの物理的伝送媒体。
【００２９】
プログラム可能ハードウェア素子−プログラム可能な相互接続または有線接続された相互接続を介して接続された複数のプログラム可能機能ブロックを備えるさまざまなハードウェア機器を含む。例には、ＦＰＧＡ（Ｆｉｅｌｄ  Ｐｒｏｇｒａｍｍａｂｌｅ  Ｇａｔｅ  Ａｒｒａｙ）、ＰＬＤ（Ｐｒｏｇｒａｍｍａｂｌｅ  Ｌｏｇｉｃ  Ｄｅｖｉｃｅ）、ＦＰＯＡ（Ｆｉｅｌｄ  Ｐｒｏｇｒａｍｍａｂｌｅ  Ｏｂｊｅｃｔ  Ａｒｒａｙ）、およびＣＰＬＤ（Ｃｏｍｐｌｅｘ  ＰＬＤ）が含まれる。プログラム可能機能ブロックは、微細なもの（組合せ論理またはルック・アップ・テーブル）から粗大なもの（算術論理演算装置またはプロセッサコア）までに及んでもよい。プログラム可能ハードウェア素子はまた、「再構成可能論理」とも呼ばれる場合がある。
【００３０】
特定用途向け集積回路（Ａｐｐｌｉｃａｔｉｏｎ  Ｓｐｅｃｉｆｉｃ  Ｉｎｔｅｇｒａｔｅｄ  Ｃｉｒｃｕｉｔ、ＡＳＩＣ）−この用語は、その通常の意味の広さを完全に有することが意図される。ＡＳＩＣは、プログラム可能プロセッサコアをビルディングブロックとして含有してもよいが、用語ＡＳＩＣは、汎用プログラム可能機器というよりはむしろ特定用途のためにカスタマイズされた集積回路を含むことが意図される。携帯電話セル、ＭＰ３プレーヤチップ、および他の単一機能ＩＣは、ＡＳＩＣの例である。ＡＳＩＣは、通常はＶｅｒｌｏｇまたはＶＨＤＬなどのハードウェア記述言語で記述される。
【００３１】
プログラム−用語「プログラム」は、その通常の意味の広さを完全に有することが意図される。用語「プログラム」は、１）メモリに記憶してもよく、プロセッサにより実行可能なソフトウェアプログラム、または２）プログラム可能なハードウェア素子またはＡＳＩＣを構成するために使用可能なハードウェア構成プログラムを含む。
【００３２】
ソフトウェアプログラム−用語「ソフトウェアプログラム」は、その通常の意味の広さを完全に有することが意図され、記憶媒体に記憶して、プロセッサにより実行してもよい、任意のタイプのプログラム命令、コード、スクリプト、および／もしくはデータ、またはそれらの組合せを含む。代表的ソフトウェアプログラムは、テキストベースのプログラミング言語、たとえば、Ｃ、Ｃ＋＋、ＰＡＳＣＡＬ、ＦＯＲＴＲＡＮ、ＣＯＢＯＬ  ＪＡＶＡ（登録商標）、アセンブラ言語などのような命令型言語もしくは手続き型言語で書かれたプログラム；グラフィカルプログラム（グラフィカルプログラミング言語で書かれたプログラム）；アセンブラ言語プログラム；機械語にコンパイルされたプログラム；スクリプト；および他のタイプの実行可能ソフトウェアを含む。ソフトウェアプログラムは、何らかの手法で相互運用する２つ以上のソフトウェアプログラムを備えてもよい。
【００３３】
ハードウェア構成プログラム−プログラム、たとえば、プログラム可能ハードウェア素子またはＡＳＩＣをプログラムする、または構成するために使用することができるネットリストまたはビットファイル。
【００３４】
コンピュータシステム−パーソナル・コンピュータ・システム（ＰＣ）、メインフレーム・コンピュータ・システム、ワークステーション、ネット家電、インターネット家電、携帯情報端末（ｐｅｒｓｏｎａｌ  ｄｉｇｉｔａｌ  ａｓｓｉｓｔａｎｔ、ＰＤＡ）、グリッド・コンピューティング・システム、もしくは他の機器、または機器の組合せを含む、さまざまなタイプのコンピューティングシステムまたは処理システムのいずれか。一般に、用語「コンピュータシステム」を、記憶媒体から命令を実行する少なくとも１つのプロセッサを有する任意の機器（または機器の組合せ）を包含するように、広範囲に規定することができる。
【００３５】
自動的に−ユーザ入力が活動または動作を直接指定または遂行することなく、コンピュータシステム（たとえば、コンピュータシステムにより実行されるソフトウェア）、または機器（たとえば、回路、プログラム可能ハードウェア素子、ＡＳＩＣ）により遂行される動作または活動を指す。したがって、用語「自動的に」は、ユーザが操作を直接遂行するための入力を提供する、ユーザにより手動で遂行される、または指定される動作とは対照をなす。自動手順は、ユーザにより提供される入力により開始されてもよいが、「自動的に」遂行される後続の活動は、ユーザにより指定されない、すなわち、遂行すべき各活動をユーザが指定する「手動で」行われない。たとえば、ユーザが各フィールドを選択し、情報を指定する入力を提供することにより（たとえば、情報をタイプし、チェックボックス、ラジオボタン選択などを選択することにより）電子式フォームに必要事項を書き入れることは、たとえコンピュータシステムがユーザの活動に応答してフォームを更新しなければならなくても、フォームに必要事項を手動で書き入れることになる。コンピュータシステムは、フォームに必要事項を自動的に書き入れてもよく、この場合、ユーザ入力がフィールドへの回答を指定することなく、コンピュータシステム（たとえば、コンピュータシステム上で実行されるソフトウェア）がフォームのフィールドを解析し、フォームに書き込む。上記に示したように、ユーザは、フォームの自動書込を起動してもよいが、フォームを実際に書き込むことには関与しない（たとえば、ユーザがフィールドへの回答を手動で指定するのではなく、むしろ、フィールドが自動的に完成される）。本明細書は、ユーザが行った活動に応答して、操作が自動的に遂行されるさまざまな例を提供する。
【００３６】
システム概観
図１は、無線通信機器１２と通信する基地局１０を伴う一例の通信システムを示す。基地局１０は、複数の無線通信機器とセルラ通信を遂行するセルラ基地局であってもよい。あるいは、基地局１０は、８０２．１１規格または関連規格によるなどのＷｉ−Ｆｉ通信を遂行するための無線アクセスポイントであってもよい。無線通信機器１２は、スマートホン、タブレット機器、コンピュータシステムなどのような、さまざまな機器のいずれかであってもよい。基地局１０および無線通信機器１２の一方または両方は、本明細書に記述するような復号器論理を含んでもよい。
【００３７】
図２は、復号器内に存在してもよい一例のプロセッサシステムを示し、そこでは、復号器は、基地局１０および／または無線通信機器１２の一方または両方に含有されてもよい。この例では、図示するように、プロセッサシステムは、複数の散在したプロセッサおよびメモリを備えてもよく、この場合、矩形は、処理要素（機能ユニットとも呼ばれる）であり、円は、データ記憶ルータとも呼ばれるメモリである。プロセッサシステムは、本明細書に記述する方法を実装するようにプログラムされてもよい。いくつかの実施形態で使用されてもよい一例のプロセッサ・システム・アーキテクチャに関する情報については、あらゆる点で完全に本明細書に示されるかのように、全体が参照により本明細書に援用される、米国特許第７，４１５，５９４号明細書および米国特許第８，８８０，８６６号明細書を参照されたい。プロセッサシステムの別の例は、上記に規定されるようなプログラム可能ハードウェア素子（ｐｒｏｇｒａｍｍａｂｌｅ  ｈａｒｄｗａｒｅ  ｅｌｅｍｅｎｔ、ＰＨＥ）である。たとえば、復号器は、本明細書に記述する方法を実装するように構成されてもよいＦＰＧＡなどのＰＨＥを含んでもよい。
【００３８】
無記憶２元対称通信路のための符号を実現する容量を構築する方法は、当技術分野で公知である（上記のＡｒｉｋａｎの参考文献１を参照）。その結果得られるポーラ符号は、通信路容量、すなわち、最大相互情報量が、１（完全に利用可能）または０（利用不可能）に向かう傾向がある再帰的処理から生じる、通信路分極（図３参照）として公知の現象を活用する。対応するビット確率１および０．５は、コード長Ｎ＝２nが、正の整数値ｎと共に増大するにつれ、それぞれそれらの極限に近づく。最も信頼できる通信路上に情報ビットを配置することにより、データを転送してもよく、その一方で、最も信頼できない通信路上に配置されたビットは、固定値、たとえば０に設定されてもよい。これらのビットは、凍結ビット（ｆｒｏｚｅｎ  ｂｉｔ）と呼ばれる場合がある。凍結ビット、および符号行列への凍結ビットのマッピングは、送信側と受信側の両方に既知であってもよい。その結果、凍結ビットは、通信路内のノイズにより、または他の点で、誤りが発生したかどうかを判断するために、復号アルゴリズムにより基準として使用されてもよい。たとえば、復号アルゴリズムを通して決定された値と凍結ビットの既知の値を比較して、誤りが発生したかどうかを判断してもよい。
【００３９】
情報ビットを、それらのシミュレートされた容量または相互情報量に基づき、「良い（ｇｏｏｄ）」情報ビットおよび「不良（ｂａｄ）」情報ビットにさらに分類してもよい。同様に、送信側と受信側の両方は、どのビットが良い情報ビットおよび不良情報ビットであるかわかるように構成されてもよい。以下でさらに詳細に説明するように、復号アルゴリズムは、「不良」ビットに対する精査を向上させることに集中することにより、復号誤りの尤度を低減するように構成されてもよい。
【００４０】
逐次除去アルゴリズム
符号化法の実行可能性を例証するために、Ａｒｉｋａｎは、逐次除去（ＳＣ）復号器を考案した。複雑度の低い復号を提供しているが、復号器は、競争相手であるターボ符号または低密度パリティ検査（ＬＤＰＣ）符号と競争するために、１００万（すなわち、２20）ビットに近づく長いブロックサイズを必要とする。さらに、ＳＣ復号器の逐次的性質は、復号器スループットにかなりの制限を課す。
【００４１】
逐次除去リストアルゴリズム
少なくともいくつかの実施形態によれば、本明細書に記述する方法は、上記の参考文献１でＡｒｉｋａｎにより概要を述べられた取り組み方法の制限を克服しようとして、ＳＣ復号器の拡張を伴ってもよい。上記の参考文献２でＴａｌおよびＶａｒｄｙは、逐次除去リスト（ＳＣＬ）復号の方法について記述している。ＳＣＬ復号は、非凍結ビットごとに、各復号器フェーズで２つの可能性を、すなわち、
【００４２】
【数５】
2018535608.tif 000007
【００４３】
および
【００４４】
【数６】
2018535608.tif 000008
【００４５】
を並列に詳しく調べる。復号器は、各ステージで、最も可能性の高いパスを保持して、複数のパスを並列に追跡してもよい。復号器はまた、利用可能なＬ個のパスから適切なビットの判定を判断する際に、最終的に使用する巡回冗長検査（ｃｙｃｌｉｃ  ｒｅｄｕｎｄａｎｃｙ  ｃｈｅｃｋ、ＣＲＣ）を付加してもよく、Ｂａｌａｔｓｏｕｋａｓ−Ｓｔｉｍｍｉｎｇ  ｅｔ  ａｌ．の上記の参考文献４を参照されたい。
【００４６】
ポーラ符号
ポーラ符号は、生成行列Ｇにより記述される線形ブロック符号のクラスを形成する。ブロック長Ｎのポーラ符号は、次式に従って生成されてもよい。
【００４７】
【数７】
2018535608.tif 000009
【００４８】
式中、ＦNは、他の可能性の中でもとりわけ、
【００４９】
【数８】
2018535608.tif 000010
【００５０】
のクロネッカー（Ｋｒｏｎｅｃｋｅｒ）積を示す。
【００５１】
ポーラ符号は、長さＮのブロック内の、ｋ個の情報ビットおよび（Ｎ−ｋ）個の凍結ビットの位置により規定される。符号レートＲ＝ｋ／Ｎは、ブロック長に対する非凍結ビットの比として表現される。符号レートは、ブロックあたりの非凍結ビットの数を変えることにより線形に調節することができる。典型的には、ブロック長Ｎを、Ｎ＝２nなどの２の累乗となるように選び、ｎは自然数である。
【００５２】
代表的ポーラ符号器
図４は、ブロック長Ｎ＝２3に対する一例のポーラ符号構造を示す。符号器は、入力ｕiから開始され、入力ｕiは、出力ｘiに符号化される。情報は太字で示されている。残りの入力を、凍結ビット値０に割り当ててもよい。各ステージｓで、符号器は、右側に示す符号化木に従ってビットの対を組み合わせ、図中、
【００５３】
【数９】
2018535608.tif 000011
【００５４】
は、排他的ＯＲ（ＸＯＲ）演算を示す。
【００５５】
ＳＣ復号器
（図７および図８を参照してさらに導入される）ｕｐｄａｔｅＬＬＲセクションでは、ＳＣＬ復号器を、累積対数尤度比（ＬＬＲ）統計情報の行に対して独立したｍｉｎ−ｓｕｍ計算をそれぞれ採用するＳＣ復号器の集合と見てもよい。
【００５６】
各ビット位置ｉで、ＳＣ復号器は、次式のようにビットｕiを推定することを目指す。
【００５７】
【数１０】
2018535608.tif 000012
【００５８】
式中、
【００５９】
【数１１】
2018535608.tif 000013
【００６０】
は、推定した情報ベクトル
【００６１】
【数１２】
2018535608.tif 000014
【００６２】
所与の受信したシンボルｙ、およびすでに復号されたビット
【００６３】
【数１３】
2018535608.tif 000015
【００６４】
に関して、ビット位置ｉで対数尤度比（ＬＬＲ）を計算する。
【００６５】
図５は、ｎ＝３の場合の、したがって、ブロック長Ｎ＝２3である、一例の復号器を示す。
【００６６】
次式に従って、図５に示すマルチステージ線図に、復号器アルゴリズムを再帰的に適用する。
【００６７】
【数１４】
2018535608.tif 000016
【００６８】
式中、λl,iは、ＳＣ復号器グラフの行ｉおよびステージｌのＬＬＲを示す。関連するカーネル計算は、ｍｉｎ−ｓｕｍアルゴリズムを構成する。
【００６９】
λf（λa，λb）＝ｓｇｎ（λa）・ｓｇｎ（λb）・ｍｉｎ（｜λa｜，｜λb｜）
【００７０】
【数１５】
2018535608.tif 000017
【００７１】
ＳＣＬ復号器
リスト復号器は、パス指標更新セクションｕｐｄａｔｅＵを導入して、ベースラインＳＣ復号器から逸脱してもよい。各バイ・デコーディング・ステージが完了すると、パス指標は、可能なビット値
【００７２】
【数１６】
2018535608.tif 000018
【００７３】
と
【００７４】
【数１７】
2018535608.tif 000019
【００７５】
の両方の可能性を考慮して更新される。いくつかの実施形態では、正しく復号されたストリングであるパスの尤度により、リスト内のパスをランクづけするように、ソーティング動作を遂行してもよい。このとき、可能なパスの「木」を、Ｌ個の最も可能性の高いパスだけを保持して、枝刈りをしてもよい。伝送ブロック内の各ビットに対して、ＬＬＲ計算およびパス拡張のサイクル、ならびに枝刈りを繰り返してもよく、この時点で、ペイロード・データ・ビットの最良の推定値を現す、最も可能性の高いパスを選ぶ。
【００７６】
上記の参考文献２および４に記述されるＳＣＬ復号器は、ソーティング動作の結果を使用して、複数のメモリコピー（ｍｅｍｃｐｙ）を指示し、ｍｅｍｃｐｙ動作が完了するまで、ＬＬＲ更新が再開することができないので、処理オーバヘッドが加わる。
【００７７】
メモリ構成
図６は、一例のＳＣＬメモリ構成を示す。図６に示す、基礎となるメモリ構成について、ＳＣＬ復号器の動作を考察してもよい。ビット統計値とも呼ばれる場合があるＬＬＲ指標を、Ｌ×ＮバッファｇＬＬＲ［Ｌ］［Ｎ］の形で記憶してもよく、そこでは、Ｌはリスト内のエントリの数を指定し、Ｎはリスト内の各パスの長さをビット単位で指定する。ＬＬＲ指標の各水平行は、パスと呼ばれる場合があり、図５に示す復号器のインスタンスに対応してもよい。異なるインスタンスは、典型的には、異なる「ビットパス」と呼ばれる場合があるｕ＿ｈａｔ値のための異なるビットに対応する。たとえば、最初に、ｕ＿ｈａｔ（０）＝１およびｕ＿ｈａｔ（０）＝０に対して２つのビットパスを生成してもよく、ｕ＿ｈａｔ（０）およびｕ＿ｈａｔ（１）の第２の異なる組合せに対して４つのビットパスを生成してもよく、以下同様である。いくつかの実施形態では、図２の処理要素に各行を割り当ててもよい。すべての利用可能な行を埋めると、いくつかの実施形態では、ｕｐｄａｔｅＵは、累積パス指標に基づきパスをランクづけし、正しいパスである尤度が低いパスを枝刈りする。枝刈りされたパス上の処理要素に、新しいパスを割り当ててもよく、これには、より可能性の高いパスから、新しいパスを割り当てられる処理要素に隣接する新しいメモリ要素に、ｇＬＬＲの行をコピーするステップが含まれてもよい。いくつかの実施形態では、パスごとの独立したＬＬＲ更新を考慮すると、Ｌを、それぞれ次元Ｎの別個のＬＬＲアレイと考えることがより容易な場合がある。ｕｐｄａｔｅＬＬＲは、Ｌ×Ｎバッファの行ごとに独立して動作する。ｕｐｄａｔｅＵは、パス指標を計算し、ソートし、次いで、置換および並べ替えのためにパス指標（ｐａｔｈ  ｍｅｔｒｉｃ、ＰＭ）ベクトルの行に印をつける。ＬＬＲバッファの行に対して直接、並べ替えを行ってもよい。中間のＵ、およびビット推定値Ｕ＿ｈａｔを、図６に示すように、同じ並べ替えに従って修正してもよい。ＵおよびＵ＿ｈａｔは、硬判定に対応する場合があることに留意されたい。したがって、ＵおよびＵ＿ｈａｔの記憶およびｍｅｍｃｐｙ要件を低減してもよい。しかしながら、ＬＬＲバッファ管理に関連するオーバヘッドを低減するためにとるステップは、ＵおよびＵ＿ｈａｔバッファにも同様に適用されてもよい。
【００７８】
ＳＣＬ復号のための代表的方法
いくつかの実施形態では、ＳＣＬ復号を以下の手法で遂行してもよい。プロセッサは、符号化された通信データを通信路から受信してもよい。プロセッサは、複数の処理要素、および複数の処理要素の間に散在した複数のメモリを備えてもよく、そこでは、メモリは、隣接する処理要素に結合される。プロセッサは、復号動作を繰り返して遂行することにより、符号化された通信データを復号するように構成されてもよい。復号処理は、プロセッサを具備する複数の処理要素により遂行されてもよい。いくつかの実施形態では、各処理要素は、ビットパスのリスト内の対応するビットパスに対して復号動作を遂行するように構成されてもよく、そこでは、復号動作（たとえば、ｕｐｄａｔｅＬＬＲ）は、それぞれのビットパスに関連するビット統計情報（たとえば、パス指標）を生成する。ビットパス、および関連するビット統計情報を、それぞれの処理要素に接続されたメモリに記憶してもよい。上記で説明したように、ビットパスは、符号化されたデータの一部分の潜在的復号を備えてもよく、ビット統計情報は、ビットパスが正しい復号である尤度を判断する、ビットパスに関連する１組のＬＬＲを備えてもよい。
【００７９】
いくつかの実施形態では、方法は、ビット統計情報（たとえば、ｕｐｄａｔｅＵ手順）に基づき、ビットパスのリストをソートすることにより継続してもよい。他の場所で「枝刈り」と呼んだ処理では、ソーティングに基づき、ビットパスのリスト内の、ビットパスのサブセットを捨てるべきであると判断してもよい。プロセッサは、処理要素の対応する１つに、自分に関連するビットパスを捨てるべきであることを通知するように構成されてもよい。プロセッサは、処理要素の他のそれぞれの１つに、自分に関連するビットパスを捨てるべきではないことを通知するようにさらに構成されてもよい。たとえば、ビットパスが正しい復号である尤度が比較的低いことを示すビット統計情報に関連するビットパスを、優先的に捨ててもよい。いくつかの実施形態では、ビットパスが所定のサイズに大きくなるまで、枝刈りを開始しなくてもよく、その結果、ビットパスのリストは、所定のリストサイズよりも大きくなり、事前に構成された数の処理要素を同時に使用して、復号動作を遂行することになる。
【００８０】
いくつかの実施形態では、捨てるべきではないと判断されたビットパスを使用して、２つの、増分で長くなったビットパスを生成してもよく、たとえば、ビットｕi＝０およびｕi＝１をビットパスに追加して、２つの長くなったビットパスを作成してもよい。計算性能を改善するために、処理要素は、長くなったビットパスの一方、およびそれに関連するビット統計情報を、対応するビットパスが捨てられた別の処理要素にコピーしてもよい。次いで、復号処理は、長くなったビットパスに関する後続のフェーズに進んでもよく、そのとき、各処理要素は、復号動作を遂行すべき単一の（長くなった）ビットパスを再び有してもよい。いくつかの実施形態では、枝刈りが開始されると、方法は、復号処理の各パスでビットパスの半分を捨てるように構成されてもよい。そのような場合、ビットパスの総数は、フェーズごとに変わらないままである。たとえば、各ビットパスを使用して、２つの長くなったビットパスを生成するので、ビットパスの数Ｌが、Ｌ／２に枝刈りされる場合、枝刈りされたＬ／２個のビットパスは、Ｌ個の長くなったビットパスをもたらす。
【００８１】
いくつかの実施形態では、復号処理は、後続のフェーズに関して複数回行われてもよく、そこでは、各フェーズは、連続的により長くなるビットパスに対して処理要素が復号処理を遂行するステップを備える。方法は、ビットパスの長さが所定のしきい値に到達するまで、復号処理を継続するように構成されてもよい。方法は、適切に復号されたデータになるように、ビットパスの最終リスト内のビットパスの１つを選択するように構成されてもよい。たとえば、復号処理の最終フェーズでソーティングを遂行したあとに、最上位のランキングのビット統計情報（たとえば、最大対数尤度比を有するビット統計情報）に関連するビットパスを、適切に復号されたデータであると解釈してもよい。次いで、方法は、復号されたデータをメモリに記憶するように構成されてもよい。
【００８２】
いくつかの実施形態では、「選択的置換」と呼ばれる処理で、処理要素は、コピー先のメモリに記憶されたビットパスおよびビット統計情報と異なることがわかっている、長くなったビットパスおよび関連するビット統計情報の部分だけをコピーするように構成されてもよい。たとえば、処理要素Ｂが、それに関連するビットパス（たとえば、ビットパスＢ）が捨てられると判断され、かつ処理要素Ａが、その関連するビットパスが２つの長くなったビットパス（たとえば、ビットパスＡ1およびＡ2）を生成すると判断された場合、処理要素Ａは、ビットパスＢ内の対応するビットと異なる、ビットパスＡ1内のビットだけをコピーしてもよい。処理要素Ａは、ビットパスＢに関連する、対応するビット統計情報と異なる、ビットパスＡ1に関連するビット統計情報だけをさらにコピーしてもよい。選択的置換処理について、以下でさらに詳細に、補足的に記述する。
【００８３】
いくつかの実施形態では、「遅延更新」と呼ばれる処理で、処理要素は、長くなったビットパスの一方、および関連するビット統計情報を別の処理要素に関連するメモリにコピーする前に、長くなったビットパスに対して復号動作の後続のフェーズを遂行するように構成されてもよい。処理要素は、復号動作に少なくとも一部は基づき、長くなったビットパスの各々に関する、更新されたビット統計情報を生成してもよい。いくつかの実施形態では、ビットパスおよびビット統計情報をコピーする処理は、望ましくない待ち時間を計算処理に導入する場合がある。そのような場合、長くなったビットパスに対して後続の復号動作を遂行することにより、コピー処理によって導入される、処理のボトルネックが軽減される場合がある。遅延更新処理について、以下でさらに詳細に補足的に記述する。
【００８４】
いくつかの実施形態では、複数のビットパスおよびビット統計情報を、対応する処理要素に同時にコピーすることは、複数の処理要素が同じメモリを使用してデータを同時にコピーしようと試みる場合があるので、望ましくない待ち時間をコピー処理に導入する場合がある。そのような場合、複数の散在したメモリに備わったルーティング機構を通して複数のコピー処理を動的にルーティングすることが望ましい場合がある。たとえば、コピー処理は、コピー処理のさまざまな１つの間の衝突を最小にするように動的にルーティングされてもよく、そこでは、衝突は、メモリに同時にアクセスする、複数のコピー処理を備える。いくつかの実施形態では、処理要素の少なくとも１つを、マスタ処理要素として指定してもよく、そこでは、１つまたは複数のマスタ処理要素は、動的ルートを作成するための命令を他の処理要素それぞれに伝達する。動的ルーティングについて、以下でさらに詳細に補足的に記述する。
ＳＣＬバッファ管理
【００８５】
図７は、コア復号器ループの一例を示す。図示するように、ＳＣ復号器を、ｕｐｄａｔｅＬＬＲステージを通る、Ｌ個の独立したＳＣ復号器と見ることができる。
【００８６】
【数１８】
2018535608.tif 000020
【００８７】
のパスと
【００８８】
【数１９】
2018535608.tif 000021
【００８９】
のパスの両方を考慮して、復号されたビットそれぞれの完了と共にパス指標更新を行ってもよい。ソーティング後、最も可能性の高いＬ個のパスを識別してもよい。残りのパスを捨ててもよく、その結果、更新されたＬ個のパスでｕｐｄａｔｅＬＬＲ処理が再開するために、生き残っているパスの１つまたは複数からの統計情報を、空になったバッファの中にコピーしてもよい。この処理は、上記の参考文献２ではクローニングと呼ばれている。
【００９０】
ＳＣＬ復号に関連するバッファ管理の単純な構造は、統計情報バッファ内で置換される行ごとに、ｕｐｄａｔｅＬＬＲルーチンの入力でｍｅｍｃｐｙを伴う場合がある。ＬＬＲ統計情報の更新でｍｅｍｃｐｙに伴って招くオーバヘッドを著しく低減するための、２つの技法が確認されている。
【００９１】
選択的置換：いくつかの実施形態では、この技法は、ｕｐｄａｔｅＵのインスタンス間で大部分が変更されなかったＬＬＲ統計情報の行全体を更新するのとは対照的に、修正された統計情報だけを置換する。換言すれば、コピーすべき、図６のｇＬＬＲ内の所与のバッファ行については、バッファ行全体ではなく、１組の最新の（たとえば、図の右側のエントリ）ＬＬＲ統計情報だけをコピーしてもよい。これにより、クローニング操作で転送されるデータ量が著しく低減される場合がある。
【００９２】
遅延更新：いくつかの実施形態では、この技法は、ＬＬＲ更新をインプレースで計算し、次いで、結果をイン・プレース・バッファに書き込むと同時に、意図する宛先アレイに結果を転送するステップを伴う。ＬＬＲ更新を計算する前に入力バッファを新しい処理にコピーするのではなく、提案する方法は、むしろ既存の処理の中で
【００９３】
【数２０】
2018535608.tif 000022
【００９４】
と
【００９５】
【数２１】
2018535608.tif 000023
【００９６】
の両方のＬＬＲ更新を計算し、次いで、パスの１つに関する結果を新しい宛先バッファに転送する。動作の順序を逆にすることにより、ｍｅｍｃｐｙ転送が行われる間、処理を中断する必要が回避される場合がある。いくつかの実施形態では、提案する方法は、最初にコピーし、次いで新しい処理を開始するのとは対照的に、ｕｐｄａｔｅＬＬＲをインプレースで遂行し、次いで、結果を宛先処理にストリーミングする。この方法は、他の処理と一緒にデータ移動のコストを隠すことにより、処理のボトルネックを軽減する場合がある。
選択的置換
【００９７】
Ｂａｌａｔｓｏｕｋａｓ−Ｓｔｉｍｍｉｎｇら（上記の参考文献４）は、ＳＣＬ復号器について論じており、そこでは、新しいビット位置に至る各ステップで、Ｌ個の生き残っているパスは複製される（「０」値のビット拡張のためのパス、「１」値のビット拡張のためのパス）。次いで、ＬＬＲ指標に関して２Ｌ個のパスを評価し、ソートして、Ｌ個の最も可能性の高いパスだけを保有する。パスを複製するために、ＬＬＲメモリバンクをコピーする。選択的置換のこのような実験的なハードウェア実装は、ＬＬＲ統計情報が一方のバンクから別のバンクにコピーされ、解がＬ×Ｌのクロスバーでもたらされる、単一サイクルのカスタマイズされたハードウェアの１組のメモリバンクとして記述される。クロスバーは、最終的に、メモリバンクがＬＬＲ統計情報の更新を完了するまで、処理の待ち時間につながる。本明細書に記述する少なくともいくつかの実施形態は、メモリ転送の数を低減し、かつＬ・Ｎ・ｌｏｇＮ複雑度近くに達することを目指すことにより、処理へのこのような影響を軽減するように動作する。次のソートおよび更新のルーチン前に、次の１組のビットを復号するために各ＳＣ復号器が必要とするものを並列Ｌ−ＳＣ復号器に提供することにより、転送されるメモリ量の低減を達成してもよい。
【００９８】
上記で論じたように、図７は、いくつかの実施形態による選択的置換復号器を示す。不良ビットは、通信チャネルで誤りを招く可能性がより高いので、ＳＣＬ復号器は、各不良ビットの判定（不良ビットに関して１と０の両方の値に対応する）で検索を２つのパスに分岐させるように構成されてもよい。対照的に、ＳＣＬ復号器は、良いビットを復号するとき、２つの検索パスに分岐することなく、良いビットに対して硬判定をするように構成されてもよい。
【００９９】
良いビットおよび不良ビットの位置は、送信側と受信側の両方により、復号前に既知であるので、（期待される、パス分岐の頻度に関係がある）期待されるメモリ要件を予備的に割り当てることにより、いくつかの実施形態によれば、計算性能が改善される場合がある。たとえば、いくつかの実施形態では、ビット統計情報を計算する前に、復号処理の準備としてＭａｘＳｔａｇｅテーブルを構築することが望ましい場合がある。１つのソートインスタンスから、すなわち、１つの不良ビットインスタンスから、別のソートインスタンスに、どんな統計情報（ＬＬＲ）が必要とされるかを評価するために、ルーチンＩｎｉｔＭａｘＳｔａｇｅは、最大サイズＫ（情報ビット）を有するテーブルを生成してもよい（ステップ７０６）。以下でさらに詳細に説明するように、ＩｎｉｔＭａｘＳｔａｇｅアルゴリズムは、１つの不良ビットの復号と次の不良ビットの復号の間でメモリ要件を予想するＭａｘＳｔａｇｅテーブルを構築する。ルーチンは、以下のように記述される。
【０１００】
【表１】
2018535608.tif 000024
【０１０１】
ＩｎｉｔＭａｘＳｔａｇｅは、復号器および符号器で先験的に既知の、ルック・アップ・テーブル、情報ビットの位置、良いビットの位置、および復号される各ビットの深度を横断する。テーブルを詳しく検討する際、アルゴリズムは、復号されているブロック内の、符号化された情報ビットの数に等しい最大サイズを有する追加ルック・アップ・テーブルを導出し、そのとき、これまで実行されたパスのリストのうちどれが生き残ったか、およびパスのどのリストをキルしなければならないかを判断するために、ソートルーチンを実行する。ｍａｘＳｔａｇｅルック・アップ・テーブルは、現在の不良ビットｎを次の不良ビットｎ＋１にマッピングする。ステージに分割されたＬＬＲメモリの各バンクを考慮して、ｍａｘＳｔａｇｅルック・アップ・テーブルは、現在の不良ビットと次の不良ビットの間で横断した最大ステージに信号を送出する。
【０１０２】
さらに詳細には、アルゴリズムは、ｉ＝０…Ｎからのビット割当てを照会して、第１の不良ビット、すなわち、ｉｎｆｏ＿ｂｉｔ［ｉ］＝１およびｇｏｏｄ［ｉ］≠１を識別し、その時点で、最大深度を第１の不良ビットの深度に設定する。次いで、アルゴリズムは、次の情報ビットに遭遇するまで残りのビット割当てを続けて照会し、その時点で、次の不良ビットへの最大ステージが設定される。
【０１０３】
本明細書に記述するＳＣＬ復号器アルゴリズムは、所定の数のパスＬを得るまで、各不良ビットインスタンスで分岐することにより開始しても良い。アルゴリズムがＬ個のパスに増大すると、後続のフェーズは、分岐した各１組の２Ｌ個のパスをＬ個のパスに減らして戻す、枝刈りをするように構成されてもよい。枝刈りは、各パスに関連するビット統計情報に従って遂行されてもよく、その結果、正しくない復号になる可能性がより高いパスは、枝刈りされる、または捨てられる可能性がより高い。枝刈りが始まると、捨てられなかった各ビットパスは、２つの長くなったビットパスを生成し、これらの長くなったビットパスの一方は（関連するビット統計情報と共に）、ビットパスを捨てるべきであると判断された処理要素にコピーされてもよい。この場合、２つの長くなったビットパスを生成した処理要素を、「ルート」であると考えてもよく、ルートからビットパスを受信した処理要素を、ルートの「分岐」であると考えてもよい。
【０１０４】
上記の参考文献２および４は、ビットのシーケンスを処理するＳＣＬ復号器からもたらされる、パスの進展について論じ、含まれるソート手順の結果として、パス「キリング」（同様な意味合いで、枝刈りまたは捨てること）、およびパス「クローニング」（パスの複製）について論じている。これは、ＳＣＬ復号器の特色をよく示し、選択的置換復号では、活動状態の（生き残っている）パスおよび非活動状態の（キルされた）パスの状況、ならびにそれらに関連する統計情報を常に把握している必要がある。このトラッキングは、「ルート」パスをそのビット拡張された「分岐」と関連づける関係データベース（ｒｅｌＤＢ）と呼ばれる、次元Ｌの基本テーブルを使って達成されてもよい。ｒｅｌＤＢアレイは、処理要素（ＰＥ）をパスｊからのビット統計情報に接続し、使用法についてはｃｌｏｎｅＰａｔｈを参照されたい。パスが置換されないとき、そのｒｅｌＤＢ［ＰＥ］＝ＰＥであり、そうではない場合、ｒｅｌＤＢ［ＰＥ］≠ＰＥである。
【０１０５】
選択的置換復号では、ルーチンｃｌｏｎｅＰａｔｈは、ビットパスおよび関連するビット統計情報を一方の処理要素から別の処理要素にコピーするタスクを達成する（ステップ７１６）。ｃｌｏｎｅＰａｔｈは、パス指標データを、活動状態の（サバイバ）パスｊのためのメモリ位置から、非活動状態とみなされるパスの１つのためのＰＥのメモリ位置にコピーする。データ転送のサイズは、現在のビット位置を求めてｍａｘＳｔａｇｅに到達した、現在のビット位置に関する深度に左右される。ｃｌｏｎｅＰａｔｈアルゴリズムは、以下のように記述される。
【０１０６】
【表２】
2018535608.tif 000025
【０１０７】
この設計では、ｃｌｏｎｅＰａｔｈは、２つのデータベースを更新し、関係データベースは、パス（今は分岐である）をそのルートに関連づけ、ｗａｔｅｒｍａｒｋＤＢは、関連するＰＥに関するＬＬＲのメモリバンク内のデータの有効性を追跡する。一方のＬＬＲプロセッサから別のＬＬＲプロセッサにデータを転送する、またはメモリコピーすることにより、後続の処理ステージの間、メモリバンク衝突の影響が取り除かれ、必要なメモリだけを転送することにより、メモリ転送が後続の処理ステージの複雑度と一致することを保証する。いくつかの先行するシステムと異なり、クロスバーの影響および／または発生を低減する場合がある、方法ｃｌｏｎｅＰａｔｈを使用するメモリ転送を、カスタマイズする必要がない場合がある。しかしながら、ｃｌｏｎｅＰａｔｈの結果として、１組のパスはルートおよび分岐に分割される。
【０１０８】
さらに詳細には、アルゴリズムは、非活動状態とみなされた、１組のＰＥ＝０…Ｌ−１内の各パスを識別し、そのパスを、サバイバとみなされたパスの１つｊと１対にする。現在の不良ビットの深度がそのパスに関してｍａｘＳｔａｇｅに到達した場合、ＬＬＲメモリからのデータの一部２＾ｍａｘＳｔａｇｅ［ｂａｄ＿ｂｉｔ］は、ｊから、メモリアドレスｇＬＬＲ［ＰＥ］［２＾ｍａｘＳｔａｇｅ［ｂａｄ＿ｂｉｔ］］から始まるＰＥのパスにコピーされる（図６参照）。そうではない場合、ＬＬＲメモリからのデータのより小さな部分２＾（ｍａｘＳｔａｇｅ［ｂａｄ＿ｂｉｔ］−ｄｅｐｔｈ［ｂａｄ＿ｂｉｔ］）は、ｊから、メモリアドレスｇＬＬＲ［ＰＥ］［２＾ｄｅｐｔｈ［ｂａｄ＿ｂｉｔ］］から始まるＰＥのパスにコピーされる。最後に、そのレイヤに関してｍａｘＳｔａｇｅにウォーターマークを入れる。
【０１０９】
場合によっては、ソート処理のいくつかのフェーズ後に、ルートよりもルートの分岐がよりすぐれて生き残るシナリオが発生する可能性がある。ルーチンｉｎｈｅｒｉｔＲｏｏｔは、パスがそれらのルートよりも、よりすぐれて生き残るシナリオを取り扱うように設計される（ステップ７１８）。
【０１１０】
【表３】
2018535608.tif 000026
【０１１１】
ルートが生き残らなかった分岐が処理されると、次の１組のステージのために更新されなければならない分岐は、ルーチンｕｐｄａｔｅＢｒａｎｃｈｅｓにより処理される（ステップ７２０）。
【０１１２】
【表４】
2018535608.tif 000027
【０１１３】
ｕｐｄａｔｅＢｒａｎｃｈｅｓは、パスソーティング後のデータを、サバイバメモリから非活動状態とみなされるパスの１つにコピーする。データ転送のサイズは、現在のビット位置がそのビット位置に関してｍａｘＳｔａｇｅに到達した深度に左右される。
【０１１４】
これらの開示される関数は、さまざまな実施形態で、パスのクローンを作成する際に転送されるデータの量を著しく低減する場合がある。
遅延更新
【０１１５】
遅延更新は、いくつかの実施形態では、次にｕｐｄａｔｅＬＬＲが続くソートと置換の動作を逆転させて、ＬＬＲ更新の計算をインプレースでできるようにし、その結果を、次のｕｐｄａｔｅＵの計算を遂行している間に、該当する宛先バッファに誘導する。この目的は、他の処理の下で行われるデータ通信を「隠して」、むしろｍｅｍｃｐｙに伴って招くオーバヘッドを最小にすることである。選択的更新は、必要とされるデータ移動を低減し、他の処理と共に並列に行われた場合、隠匿することがはるかにより容易になるという点で、遅延更新は、選択的更新について上記で記述した方法と互換性がある。
【０１１６】
図８は、遅延更新動作を含む、復号器動作の流れ図である。遅延更新動作は、いくつかの実施形態では、ｕｐｄａｔｅＵステップで行われてもよい。
【０１１７】
従来の方法では、ｕｐｄａｔｅＵステップは、以下の形をとってもよい。
【０１１８】
パス指標の更新：
【０１１９】
【数２２】
2018535608.tif 000028
【０１２０】
その結果、パスの数が２倍になる（たとえば、３２から６４に）
【０１２１】
最も可能性の高いサバイバパスを選択する
【０１２２】
置換するために残りのパス（行）を指定する
【０１２３】
１つまたは複数のサバイバを置換バッファにコピーする
【０１２４】
ｕｐｄａｔｅＬＬＲを再開する
【０１２５】
しかしながら、これにより、コピーステップを待っている間に、機能ユニットは比較的にアイドルになる場合がある。したがって、いくつかの実施形態では、ｕｐｄａｔｅＵステップは、以下の形をとってもよい。
【０１２６】
パス指標の更新：
【０１２７】
【数２３】
2018535608.tif 000029
【０１２８】
その結果、パスの数が２倍になる（たとえば、３２から６４に）
【０１２９】
最も可能性の高いサバイバパスを選択する
【０１３０】
置換するために残りのパス（行）を指定する
【０１３１】
「０」パスおよび「１」パスをインプレースで計算し、結果をローカルバッファおよび置換バッファにストリーミングする（計算したパスの一方をローカルバッファにストリーミングし、他方を置換バッファにストリーミングしてもよい）ことを含み、サバイバパスに対して即時にｕｐｄａｔｅＬＬＲを続ける
【０１３２】
これらの実施形態では、コピー動作の前に、両方のパスに対してｕｐｄａｔｅＬＬＲをインプレースで遂行する。これらの実施形態では、たとえば、ｍｅｍｃｐｙ、またはダイレクト・メモリ・アクセス（ｄｉｒｅｃｔ  ｍｅｍｏｒｙ  ａｃｃｅｓｓ、ＤＭＡ）転送を使用してコピーするステップを遂行してもよい。
代表的なパス生成およびクローニング変形形態
【０１３３】
いくつかの実施形態では、復号器は、各フェーズで２Ｌ個のパスすべてに関するパス指標を更新するのではなく、代わりに、先行するフェーズを生き残った最も可能性の高いＬ／２個のパスを最初に選択し、これらの最も可能性の高いＬ／２個のパスに関してビット＝０およびビット＝１の場合を拡張し、これらの結果を使用して、次のフェーズでＬ個のパスを継続するように構成されてもよい。この技法を、たとえば、遅延更新および選択的置換などの、本明細書で開示するさまざまな他の技法と併用して使用してもよい。
パスおよび優先度トラッキングへの機能ユニットの代表的マッピング
【０１３４】
いくつかの実施形態では、復号器は、どの処理要素が、どのパス、およびさまざまな異なるパスの（たとえば、パス指標に基づく）どの相対的優先度に責任を負うかを判断するための、１つまたは複数のデータ構造を維持するように構成されたマスタ処理要素を含む。マスタ処理要素はまた、枝刈りのためのパスを選択し、クローニング動作のためのパスデータを処理要素に転送し、データ転送のための通信パスをセットアップし、破棄するなどをするように指示するように構成されてもよい。いくつかの実施形態では、マスタ処理要素は、図２に示すようなマルチ・プロセッサ・アレイ内の処理要素の１つである。他の実施形態では、マスタ処理要素は、専用の機能ユニットであってもよい。
【０１３５】
復号処理の各フェーズの間、パスの相対的尤度は、たとえば、ソーティング動作により判断されるように、変化する場合がある。したがって、マスタ処理要素は、各パスの相対的優先度のマッピングを維持してもよい。たとえば、所与のフェーズ後、現在最も可能性の高いパスＡに優先度０を割り当ててもよく、一方では、たとえば、Ｌが３２である一実施形態では、現在最も可能性の低いパスＢに優先度３１を割り当ててもよい。しかしながら、後続のフェーズでは、パスＡは、もはや可能性が最も高いわけではない場合があり、たとえば優先度７を割り当てられてもよい。さらに、処理要素は、どのパスが、どの処理要素および／またはローカルバッファに割り当てられるかを常に把握してもよい。これにより、どのメモリバッファを使用して、復号処理の最後に適切に受信されたデータビットを生成するかを判断することが可能になる場合がある（これは、典型的には、最終フェーズの最後でパス指標に基づく最も可能性の高いパスであってもよいが、たとえば、別のパスが巡回冗長検査を満たし、かつ最も可能性の高いパスが巡回冗長検査を満たさない場合、他のパスを選択してもよい）。
【０１３６】
他の実施形態では、機能ユニット、パス、および優先度のマッピングは、（たとえば、マスタコントローラなしに）分散方式で遂行されてもよく、分散方式では、各処理要素は、マッピング情報の少なくとも一部を維持し、処理要素は、たとえば、所与のフェーズで、通信して、どこで枝刈りし、クローンを作成すべきかを判断する。
代表的ルーティング技法
【０１３７】
いくつかの実施形態では、クロスバーを回避すること、たとえば、クローニング動作に関するフェーズ間のデータ転送待ち時間を回避することが望ましい。たとえば、図２に示すようなマルチ・プロセッサ・アレイ（ｍｕｌｔｉ−ｐｒｏｃｅｓｓｏｒ  ａｒｒａｙ、ＭＰＡ）の実施形態では、復号器は、フェーズごとに通信経路を動的にセットアップし、破棄するように構成されてもよい。たとえば、代表的処理要素Ａ、Ｂ、およびＣについて考えてみる。第１のフェーズで、処理要素Ａは、そのバッファのＬＬＲ統計情報（またはたとえば、選択的置換を使用して、ＬＬＲ統計情報の一部）を処理要素Ｂに転送してもよい（たとえば、処理要素Ｂのパスは、枝刈りされた場合がある）。いくつかの実施形態では、復号器は、転送のためのルートを、処理要素Ａがそのルートを介してＤＭＡ転送を単に開始し、次いでそれに関して忘れることができるように、動的にセットアップするように構成されてもよい。いくつかの状況では、ルーティングは、通信資源に関して衝突が全くないように遂行されてもよい（たとえば、転送は、同じフェーズで他の転送のために使用されるデータ記憶ルータを使用しない、または転送を、データ記憶ルータのスループット能力に基づき、他のデータ転送と並列に遂行することができる）。他の状況では、衝突するルートを完全に回避するのに十分な通信資源が存在しない場合があるが、これらの実施形態では、処理要素Ａは、通信資源が現在のフェーズで利用可能であるときはいつも、ＤＭＡ転送を依然として開始でき、ＤＭＡ転送は遂行される。フェーズが完了すると、処理要素Ａと処理要素Ｂの間のルートは、破棄されてもよい。次に、後続のフェーズで、処理要素Ａが処理要素Ｃにパス統計情報を転送する必要がある状況について考えてみる。このフェーズで、復号器は、処理要素Ａから処理要素Ｃへのルートをセットアップしてもよい。
【０１３８】
その結果、動的ルーティングは、クロスバー実装に比べて通信の性能および効率を改善する場合があり、上記に記述するＭＰＡアーキテクチャにより可能になる場合がある。図６に示すように、バッファ間の直接ルートは、クロスバーの必要性を排除する場合がある。動的ルーティングは、１組の通信ルートがポーラ符号処理の各フェーズで変わってもよいという意味で、「動的」であってもよい。
【０１３９】
いくつかの実施形態では、上記に記述するように、マスタ処理要素は、通信経路をセットアップし、破棄してもよい。他の実施形態では、個々の処理要素（たとえば、１つまたは複数の転送する処理要素）は、経路をセットアップしてもよい、および／または破棄してもよい。
【０１４０】
図１３は、ポーラ符号をＬ＝８で実装するように構成された代表的ＭＰＡを示す。図示する実施形態では、ＰＥ１〜８は、図６のバッファｇＬＬＲ内の水平行に対して動作するように構成され、それぞれＳＣ復号器の別個のインスタンスを走らせてもよい。これらのＰＥは、ｕｐｄａｔｅＬＬＲフェーズを遂行するように構成されてもよい。図示する実施形態では、ＰＥ０は、いくつかの実施形態に従って上記に記述するように、マスタコントローラとして構成される。いくつかの実施形態では、ＰＥ０は、ＬＬＲ統計情報を転送するためのデータ移動対の割当を新しいパスに送信するように構成される。ＰＥ１〜８間のルートは、フェーズごとに（たとえば、インスタンス更新ごとに）動的にセットアップされ、破棄されてもよい。ＰＥ０からその他のＰＥへのルートを使用して、たとえば、優先度を割り当てて、状態を指示し、および／またはデータ移動を開始してもよい。
代表的ソート技法
【０１４１】
いくつかの従来のＳＣＬ復号器実装では、パスソーティング動作の性能は、ＳＣＬ復号のためのデータ転送問題のために、比較的重要ではない場合がある。しかしながら、上記の技法を使用すれば、データ転送待ち時間は、大きく低減される場合がある。この場合、ソートの性能は、復号器全体の性能に、より大きな影響を及ぼす場合がある。したがって、ソーティング技法を改善することが望ましい場合がある。
最適ソート
【０１４２】
いくつかの実施形態では、パス指標は、ビットパスでの推定不確実性の累積和を記録する。たとえば、凍結ビットの判定ごとに、復号された凍結ビットが、凍結ビットの既知の値と異なる場合、パス指標を増加してもよい。この場合、パス指標は、凍結ビットの対数尤度比の大きさに等しい量だけ増加させられてもよい（すなわち、凍結ビットが正しくないビットになるように、より確信をもって計算される場合、パス指標、およびその結果としてパスの不確実性は、より大きな量だけ増加する）。これらの実施形態では、パス指標は、関連するパス増加の長さが増加するにつれ、厳密に増加する、または同じにとどまる。
【０１４３】
最大パス長Ｌの従来のＳＣＬ復号器アルゴリズムは、２Ｌ個のパス指標をソートし、半分は、追加ビットが０に設定され、半分は、追加ビットが１に設定される。性能を改善するために、可能な場合、ソートすべき項目の数を最小にすることが望ましい場合がある。いくつかの実施形態では、品質を損なうことなく、サイズＬおよびＬ／２の、２つの別個のソートを使用して、２Ｌ個のパス指標のソートを遂行してもよい。この取り組み方法は、更新されたパス指標（ｐａｔｈ  ｍｅｔｒｉｃ、ＰＭ）が、更新される元のパス指標以上であることを保証され、かつ最大でＬ／２個のパス指標が更新されるという所見を使用する。
【０１４４】
図９は、いくつかの実施形態による代表的な最適ソートアルゴリズムを示す。Ｌ個のパスごとに、遭遇した不良ビットに関する対数尤度比（ＬＬＲ）を計算してもよい（ステップ９０２）。正のＬＬＲは、不良ビットが０である可能性がより高いことを示してもよく、負のＬＬＲは、不良ビットが１である可能性がより高いことを示してもよい。Ｌ個のパスごとに、２組のパス指標ＰＭおよびＰＭ2を生成してもよい。各ＰＭは、より可能性の高い不良ビット値を付加する対応するパスそれぞれと関連づけられてもよく（すなわち、ＰＭは、不良ビットに関するＬＬＲが正である場合に０を、ＬＬＲが負である場合に１を付加するパスと関連づけられる）、各ＰＭは、不良ビット値を付加する前の、対応するパスのパス指標に等しく設定されてもよい（すなわち、ＰＭは、先行するフェーズから変更されないままである）。各ＰＭ2は、より可能性の低い不良ビット値を付加する対応するパスそれぞれと関連づけられてもよく（すなわち、ＰＭ2は、不良ビットに関するＬＬＲが正である場合に１を、ＬＬＲが負である場合に０を付加するパスに関連づけられる）、各ＰＭ2は、不良ビット値を付加する前の、対応するパスのパス指標に等しく、対応する不良ビットのＬＬＲの絶対値を加えて設定されてもよい（ステップ９０４〜９０８）。この方法では、各ＰＭ2は、それに関連するＰＭよりも大きくなる。
【０１４５】
次に、１組のＰＭは、降順にソートされてもよく（ステップ９１６〜９２０の繰り返し）、１組のＰＭ2は、昇順にソートされてもよく（ステップ９３０〜９３２の繰り返し）、サイズＬの２つのソートを備える。ＰＭの最大値を、ＰＭ2の最小値と比較してもよい（ステップ９２４）。比較に応じて、いくつかの結果が考えられる。
【０１４６】
ＰＭの最大値がＰＭ2の最小値よりも小さい場合、ＰＭ2のすべては、ＰＭの各々よりも必然的に大きく、ＰＭ2に関連するパスのすべては、捨てられてもよい（ステップ９２６、ｒｅｐ＝１なので、ヌル・マージ・アルゴリズムを伴う）。この場合、復号処理は、ＰＭに関連するパスを続行する。
【０１４７】
ＰＭの最大値がＰＭ2の最小値よりも大きい場合、ＰＭ2パスの一部は、ＰＭパスの一部を置換する（ステップ９３４〜９３６）。以下で説明するように、各ＰＭ2は、その関連するＰＭよりも厳密に大きいので、最大Ｌ／２個のパスは、置換される。換言すれば、ＰＭ（ｊ）よりも小さな各ＰＭ2（ｉ）（その結果、ＰＭ2（ｉ）パスはＰＭ（ｊ）パスを置換してもよい）は、ＰＭ2（ｉ）よりも小さなＰＭ（ｉ）と関連づけられ、ＰＭ（ｉ）パスは、置換されなくてもよく、その結果、最大Ｌ／２個の置換が行われてもよい。このため、ＰＭの降順リスト内の最初のＬ／２個のＰＭだけを、ＰＭ2の昇順リスト内の最初のＬ／２個のＰＭ2と比較して、潜在的置換を判断する。換言すれば、その結果得られるアルゴリズムは、既存のＰＭの最も小さいＬ／２個（組Ａ）、既存のＰＭの最も大きいＬ／２個（組Ｂ）、および最も小さいＬ／２個のＰＭ2（組Ｃ）を別個に保持してもよい。次いで、その結果得られるアルゴリズムは、組Ｃをソートして、組Ｃが組Ｂをどこで置換してもよいかを識別する。
【０１４８】
リストをソートするために必要な計算時間および計算資源は、リストのサイズと共に指数関数的に増大するので、サイズＬおよびＬ／２の逐次ソートを遂行するステップは、サイズ２Ｌの単一のソートと比較して、性能を大きく改善する場合がある。さらに、これらの実施形態で得られる改善の量は、リストサイズＬが増大するにつれ、増大する場合がある。
【０１４９】
待ち時間の短いソート
先行する実施形態は、長さ２Ｌのリストを最適にソートするソートアルゴリズムについて記述している。換言すれば、先行する実施形態は、リスト内の各エントリをソートすることにより、最適な耐性を提供する。いくつかの実施形態では、最適以下のソート性能という代価を払って、ソート手順の待ち時間を低減することが望ましい場合がある。そのような場合、図１０Ａのフローチャートに示すように、待ち時間を低減するために、ソートアルゴリズムに以下の調整のうち１つまたは複数の組合せを行ってもよい。
【０１５０】
いくつかの実施形態では、計算時間および計算資源は、パスの小部分Ｌ−εに対してだけに上述のソーティングアルゴリズムを遂行することにより（ステップ１０１４）低減される場合があり、ここで、εはパラメータである。εの役割は、図１０Ｂに示されている。これらの実施形態では、復号性能と待ち時間／スループットの間のトレードオフを最適化するように、εを選択してもよい。換言すれば、εを増大させることにより、復号の精度をさらに低下させるという代価を払って、ソートのサイズが低減される。
【０１５１】
いくつかの実施形態では、ＰＭの最大値がＰＭ2の最小値よりも大きい場合、ＰＭの降順リスト内の最初のＬ／２−η個のＰＭを、ＰＭ2の昇順リスト内の最初のＬ／２−η個のＰＭ2と比較して、潜在的置換を判断してもよく、ここで、ηは整数パラメータである（ステップ９２８および１０２２）。図１０Ｂに、ηの役割について図式で示す。ηを増大させることにより、ソートの精度を低下させるという代価を払ってソートのサイズが低減されるという点で、ηは、εに匹敵する機能を果たす場合がある。
【０１５２】
いくつかの実施形態では、凍結ビットのクラスタがヒットしなかった状況で、（サイズＬ／２の検索を使用して）さらによりよい性能を得る場合がある。いくつかの実施形態では、クラスタは、１からＮ×Ｒまでの、いくつかの凍結ビットであり、ここで、Ｒは、ポーラ符号のレートである。いくつかの実施形態では、凍結ビットに遭遇するたびに、パス指標を変える。したがって、ソートは、凍結ビットを処理したあとに（たとえば、次の情報ビット（すなわち、非凍結ビット）の前のクラスタの最後に、ステップ９１６〜９２０、および１０１０参照）だけ遂行される必要があってもよい。
【０１５３】
凍結ビットに遭遇しなかった場合（ステップ９１０、９１４、および１００８）、以下でさらに詳細に記述するアルゴリズムは、リストが次のフェーズのためにソートされたことを保証してもよい。この実例では、ソートおよび選択を、Ｌ／２個のソートを使用して遂行することができる（ステップ９１６〜９２０、および１０１０）。これは、先行するソート手順以来、凍結ビットを横断しなかった場合、ＰＭおよびＰＭ2は、先行するソート手順から変わらなかったことになるので、凍結ビットを横断しなかったとき、上記の技法でＰＭおよびＰＭ2の初めのＬ個のソートを飛ばすことにより遂行されてもよい（ステップ９１２および９２２）。いくつかの実施形態では、これは、Ｌ／２個のソートをもたらし、計算時間および計算資源をさらに改善する。
【０１５４】
いくつかの実施形態では、パスごとのＰＭ2を、パスごとのＰＭの、ソートされた順序に基づきソートしてもよい（ステップ１０１６〜１０１８）。詳細には、いくつかの実施形態では、ＰＭを、最初に降順でソートしてもよい（サイズＬのソート）。次いで、第２のサイズＬのソートの待ち時間を伴うことなく、ＰＭソートの逆順でＰＭ2を順序づけてもよい。各ＰＭ2は、現在遭遇した不良ビットに関する追加の対数尤度比を加えた、遭遇した凍結ビットごとの累積パス指標を備える。十分な数の凍結ビットに遭遇すると、不良ビットに関する単一の対数尤度比を追加することにより、ＰＭに対してＰＭ2の順序を変更する可能性が非常に低い場合がある（すなわち、単一のＬＬＲは、多数の凍結ビットの累積ＬＬＲよりも大きな、パス間の相違を導入する可能性が低い場合がある）。その結果、いくつかの実施形態では、所定のしきい数の凍結ビットに遭遇すると、ＰＭの逆順でＰＭ2をソートすることが望ましい場合がある。他の実施形態では、ＰＭ2を、ＰＭの逆順で常にソートしてもよい。これらの実施形態は、ソート耐性に限定的な影響しか及ぼさずに、計算待ち時間を著しく低減する場合がある。
【０１５５】
図１１は、いくつかの実施形態による代表的マージアルゴリズムを示す流れ図である。図９に記述した最適ソートアルゴリズムの完了後に、マージアルゴリズムを使用してもよい。ステップ１１０２で、ｍｅｒｇカウンタをゼロに設定する。ステップ１１０６で、１〜ｒｅｐまでのｉＰａｔｈの各値についてｆｏｒループを開始し、ここで、ｒｅｐは、図９のソートアルゴリズムでＰＭ値と比較されたＰＭ2値の数を表す。マージアルゴリズムは、ソートされたリスト内の各エントリの始めから終わりまで続行し、リストを並べ替えて、リストを厳密に降順に戻す。図１０Ａの待ち時間の短いソートの場合について、類似の処理をステップ１０２４に示す。
【０１５６】
動的リストサイズおよび共用変数
いくつかの実施形態では、ポーラ符号は、フェーズ間でリストサイズを動的に調節するように構成される。たとえば、復号器は、最大Ｌ個のパスの並列処理をサポートしてもよいとしても、Ｌ個未満のパスを実行するように動的に判断してもよい。これにより、以下で論じるように、電力消費が低減される場合がある、および／または性能が改善される場合がある。
【０１５７】
さまざまな状況で、パスは、比較的少数のパスを使用して入力ビットベクトルの復号を終了することができるように、急速に収束する場合がある。これにより、未使用のＰＥを低電力状態にする、または未使用のＰＥを、他のコードブロックの復号に関連するタスクなどの、他のタスクに割り当てることができるようにすることにより、電力消費が低減される場合がある。いくつかの実施形態では、復号器は、信号対雑音比（ｓｉｇｎａｌ  ｔｏ  ｎｏｉｓｅ  ｒａｔｉｏ、ＳＮＲ）、ソーティング結果、および／または通信路ＬＬＲのうち１つまたは複数に基づき、リストサイズを動的に調節するように構成される。他の実施形態では、リストサイズを動的に調節する判定は、本明細書で論じるパラメータに加えて、および／またはそれらの代わりに、さまざまな該当するパラメータのいずれかに基づいてもよい。開示する技法を、移動体機器、および基地局で使用してもよい。リストサイズを動的に変更することは、異なるユーザのために通信路条件が広範囲に変わる場合がある基地局で、特に効果的な場合がある。したがって、基地局は、受信データが同時に復号されている、異なるユーザのために、異なるリストサイズを使用するように構成されてもよい。
【０１５８】
いくつかの実施形態では、復号器は、ＳＮＲに基づき、リストサイズを動的に増大する、または低減するように構成される。たとえば、復号器は、ＳＮＲが特定のしきい値を超えたとき、リストサイズを低減してもよい。ＳＮＲが大きいとき、より少数の並列パスは、復号性能に悪影響を及ぼすことなく電力消費を低減する場合がある。
【０１５９】
いくつかの実施形態では、復号器は、ソーティング結果に基づき、リストサイズを動的に増大する、または低減するように構成される。存続可能なパスは収束し始めるので、そのパスは、複数のフェーズの間、高いランキングを維持する場合がある。この状況を検出したことに基づき、復号器は、他のパスを除去することにより、リストサイズを低減してもよい。たとえば、１組の、Ｔ個の最上位ランクのパスの中にＭ個のパスが残ったＮフェーズ後（ここで、ＭおよびＴは整数であり、ＴはＭ以上である）、復号器は、リストサイズを低減して、最上位ランクのパスだけを保持してもよい。
【０１６０】
いくつかの実施形態では、復号器は、（たとえば、デマッパ（ｄｅ−ｍａｐｐｅｒ）からの入力として）通信路ＬＬＲに基づきリストサイズを判断するように構成される。これには、絶対値がしきい値未満である通信路ＬＬＲ値の数Ｎを計算するステップが伴う場合がある。この場合、リストサイズＬは、たとえば、Ｎ／ｂｌｏｃｋ＿ｓｉｚｅを使用して、Ｎに基づき決定されてもよい。いくつかの実施形態では、次いで、リストは、パス指標の収束（または収束の欠如）に基づき、縮小させられる、または拡張される。
【０１６１】
上記で論じた技法をさらに組み合わせてもよく、複数のパラメータに基づきリストサイズを決定してもよい。リストサイズを低減することにより、性能が著しい低下することなく、電力消費が低減される場合がある。
【０１６２】
さらに、いくつかの実施形態では、小さなリストサイズは、さらなる最適化を可能にして、電力消費および復号時間を低減する場合がある。図１４は、いくつかの実施形態による、マルチ・プロセッサ・アレイ内の代表的復号器部分を示す構成図である。各「パスプロセッサ」は、図示する実施形態では、たとえば、複数のＰＥおよびＤＭＲを含んでもよい１つのパスを処理するように構成された回路を含む。図示する実施形態では、共用メモリＡ〜Ｅは、パスプロセッサ０〜３のうち任意の２つ以上のプロセッサ間で共用変数に迅速にアクセスすることができるようにする。いくつかの実施形態では、共用メモリは、ＤＭＲに含まれてもよい。いくつかの実施形態では、各パスプロセッサは、結果を内部メモリに書き込むのと同時に、各パスプロセッサのポーラ符号フェーズの結果を共用メモリに書き込むように構成される。いくつかの実施形態では、このプリエンプティブな書込みは、フェーズ間のデータ転送に伴う待ち時間を排除する場合があり、新しいパス割当が行われるとすぐに、ｕｐｄａｔｅＬＬＲが入力のために共用メモリを使用して、ただちに続行することができるようする場合がある。いくつかの実施形態では、データ転送待ち時間を排除することにより、復号時間全体が低減される場合がある。これらの技法は、先行するインプレースのｕｐｄａｔｅＬＬＲ計算の最後にメッセージを介してデータを送信するのとは対照的に、プリエンプティブな書込みが次のｕｐｄａｔｅＬＬＲインスタンスへの入力として事前に行われることを除き、上記で論じた遅延更新技法にいくらか類似する。
【０１６３】
一般的に言って、１つまたは複数の共用メモリがそれらのプロセッサ間で潜在的に共用されるだけの、共用されるデータのための十分なバッファ空間で、各対のパスプロセッサがアクセス可能になるようにリストサイズが低減されるとき、ルーティングデータの代わりに、フェーズ間の伝送すべてのために、共用変数を使用してもよい。これは、リストサイズを動的に調節することの別の利点を例証する。
【０１６４】
いくつかの実施形態では、選択的更新技法を使用して、各共用メモリで必要とされるバッファのサイズを低減する。
【０１６５】
共用変数を使用するときにデータルーティングを排除することができる、パスの最大数は、共用メモリ資源の可用性に依存する場合がある。たとえば、共用メモリＡが排除された場合、パスプロセッサ０および３、ならびに１および２は、両方がアクセスすることができる共用メモリを有しないので、図示する実施形態では、パスプロセッサのこの数は、２である。しかしながら、共用メモリＡを含む、図示する実施形態では、パスプロセッサのこの数は４である。これは、図示する実施形態で、共用メモリＡが、すべての組のパスプロセッサ間の共用変数のために十分なバッファ空間を含むと仮定すると、共用メモリＢ〜Ｅが排除された場合でさえあてはまる。他の実施形態では、さらにより大きなグループのパスプロセッサは、フェーズ間でデータを転送するために共用変数を排他的に使用するに足るように相互接続されてもよい。
【０１６６】
ＨｙｐｅｒＸアーキテクチャは、メッセージパッシング、ＤＭＡ転送などのような他のデータルーティング技法と比較して、共用変数をいつ使用すべきかを動的に決定するための、さまざまなツールを提供する場合がある。これらのツールを使用して、パスプロセッサ間で（各復号フェーズ間で動的にセットアップされてもよい）通信機構を割り当ててもよい。共用変数は、ＭＰＡ内のさまざまな位置に割り振られてもよい。いくつかの実施形態では、共用変数を使用して、関係がある両方のプロセッサに物理的に隣接する共用メモリ内に共用変数が配置されていないときでさえ、ビット推定情報をプリエンプティブに書き込んでもよい。これは、あとで書込みを待つのを回避する場合があるので、プリエンプティブではない書込みに対して依然として効率的である場合がある。関係があるパスプロセッサがただちにアクセス可能な共用メモリ内に共用変数が割り当てられる実施形態および状況では、データ転送待ち時間を効果的に排除する場合がある。
【０１６７】
いくつかの実施形態では、いくつかの他のタイプのデータルーティングをさらに使用するときでさえ、共用変数を使用してもよい。たとえば、パスプロセッサ０およびパスプロセッサ２がデータを交換する必要がある場合、共用変数を使用してこれを遂行することができるが、その一方で、パスプロセッサ０はまた、他のルーティング技法を使用して、（図示しない、パスプロセッサ０がメモリを共用しない）他のパスプロセッサとデータを交換するように構成されてもよい。したがって、いくつかの実施形態では、ルータは、各復号フェーズで、データ転送のために共用変数または他のルーティング技法を使用すべきかどうかを動的に判断するように構成される。上記で論じたように、いくつかの実施形態では、共用メモリ内に配置されていない共用変数もまた使用してもよい。
【０１６８】
いくつかの実施形態では、復号器は、階層方式でデータ転送をスケジュールするように構成される。たとえば、Ｎ個（たとえば、２、４など）のプロセッサのグループごとに、共用メモリへのプリエンプティブな書込みを遂行してもよい。共用メモリは、パスプロセッサの各グループの中心にあってもよい。パス割当に基づき、この場合、グループ間で他のタイプのデータルーティングをスケジュールする前に、各グループ内で共用変数を使用してデータを転送してもよい。
【０１６９】
いくつかの実施形態では、共用変数を使用して互いにすべて通信することができるプロセッサの各グループを、セルとして復号器に割り当ててもよい。装置が複数の復号器を実行している実施形態では、１つの復号器のリストサイズが低減されたとき、１つの復号器は、セルを解放してもよく、次いで、そのセルは、別の復号器に割り当てられてもよい。さまざまな実施形態では、セルの細分性で処理資源を復号器に割り当てることにより、処理資源を復号器に十分に割り当てることができるようになる場合があり、これにより、電力消費が著しく低減される場合がある。
＊＊＊
【０１７０】
本開示の実施形態は、さまざまな形態のいずれかで実現されてよい。たとえば、いくつかの実施形態では、本発明は、コンピュータ実装方法、コンピュータ可読記憶媒体、またはコンピュータシステムとして実現されてもよい。他の実施形態では、本発明は、ＡＳＩＣなどの１つまたは複数のカスタム設計ハードウェア機器を使用して実現されてよい。他の実施形態では、本発明は、ＦＰＧＡなどの１つまたは複数のプログラム可能ハードウェア素子を使用して実現されてよい。
【０１７１】
いくつかの実施形態では、非一時的コンピュータ可読媒体は、プログラム命令および／またはデータを記憶するように構成されてもよく、この場合、プログラム命令は、コンピュータシステムにより実行された場合、方法を、たとえば、本明細書に記述する方法の実施形態のいずれか、または本明細書に記述する方法の実施形態の任意の組合せ、または本明細書に記述する方法の実施形態のいずれかからなる任意のサブセット、またはそのようなサブセットの任意の組合せを、コンピュータシステムに遂行させる。
【０１７２】
いくつかの実施形態では、コンピューティング機器は、プロセッサ（または１組のプロセッサ）および記憶媒体を含むように構成されてもよく、この場合、記憶媒体は、プログラム命令を記憶し、この場合、プロセッサは、記憶媒体からプログラム命令を読み出し、実行するように構成され、この場合、プログラム命令は、本明細書に記述するさまざまな方法の実施形態のいずれか（または本明細書に記述する方法の実施形態の任意の組合せ、または本明細書に記述する方法の実施形態のいずれかからなる任意のサブセット、またはそのようなサブセットの任意の組合せ）を実現するように実行可能である。機器は、さまざまな形態のいずれかで実現されてもよい。
【０１７３】
具体的な実施形態について上記に記述したが、これらの実施形態は、特定の特徴に関して、単一の実施形態だけについて記述している場合でさえ、本開示の範囲を限定することを意図するものではない。本開示で提供する特徴の例は、特に指定のない限り、制限的ではなく、例示的であることが意図される。上記の記述は、本開示の恩恵を受ける当業者に明らかなように、そのような代替形態、修正形態、および均等物を包含することが意図される。
【０１７４】
本開示の範囲は、（明示的に、または暗示的に）本明細書で開示する任意の特徴もしくは特徴の組合せ、またはそれらの任意の一般化を、それが本明細書で対処する問題のいずれか、もしくはすべてを軽減してもしなくても含む。したがって、本出願（またはその優先権を主張する出願）の手続き中に、任意のそのような特徴の組合せに対して、新しい請求項を考案してもよい。詳細には、添付の特許請求の範囲を参照すると、従属クレームからの特徴は、独立クレームの特徴と組み合わせられてもよく、それぞれの独立クレームからの特徴は、添付の特許請求の範囲に列挙された具体的組合せだけではなく、任意の適切な手法で組み合わせられてもよい。
【０１７５】
他の実施形態は、以下の段落に従って実装されてもよい。
【０１７６】
通信路上で受信した、符号化されたデータを復号する方法であって、前記復号するステップは、
符号化されたデータを通信路から受信するステップと、
符号化されたデータを、
復号動作を遂行し、複数のビットパスに関するビット統計情報を生成するステップであって、各ビットパスは、符号化された通信データの一部の潜在的復号であるステップ、
ビットパスのリストの新しいサブセットを決定するために、ビット統計情報に基づき、処理要素により生成された複数のビットパスのリストをソートするステップ
を繰り返すことにより復号するステップと
を備え、前記ソートするステップは、
可能性の高い追加ビット値に対応する複数のビットパスの第１のリスト、および可能性の低い追加ビット値に対応する複数のビットパスの第２のリストを、異なる順序でソートするステップと、
第１の新しいビットパスのソートされたリストの少なくとも一部と、第２の新しいビットパスのソートされたリストの少なくとも一部を比較するステップと、
比較するステップに応答して、第１の新しいビットパスのソートされたリスト内の１つまたは複数のビットパスと、第２の新しいビットパスのソートされたリストからの１つまたは複数のビットパスを置換することによりビットパスのリストの新しいサブセットを作成するステップと
を備える方法。
【０１７７】
通信路上で受信した、符号化されたデータを復号する方法であって、前記復号するステップは、
符号化されたデータを通信路から受信するステップと、
符号化されたデータを、
復号動作を遂行し、複数のビットパスに関するビット統計情報を生成するステップであって、各ビットパスは、符号化された通信データの一部の潜在的復号であるステップ、
捨てるべきビットパスのリストのサブセットを決定するために、ビット統計情報に基づき、処理要素により生成された複数のビットパスのリストをソートするステップ
を繰り返すことにより復号するステップと
を備え、
前記ソートするステップは、
ビットパスのリスト内の対応するビットパスごとに、
関連する第１のパス指標と共に第１の新しいビットパスを作成するステップであって、第１の新しいビットパスは、追加ビットとして可能性の高い値が追加された、対応するビットパスを備えるステップと、
関連する第２のパス指標と共に第２の新しいビットパスを作成するステップであって、第２の新しいビットパスは、追加ビットとして可能性の低い値が追加された、対応するビットパスを備え、第２のパス指標は、第１のパス指標よりも低い尤度の正確な復号を現すステップと、
第１の新しいビットパスのリストを第１の順序でソートするステップと、
第２の新しいビットパスのリストを第２の異なる順序でソートするステップと、
第１の新しいビットパスのソートされたリストの少なくとも一部と、第２の新しいビットパスのソートされたリストの少なくとも一部を比較するステップと、
比較するステップに応答して、第１の新しいビットパスのソートされたリスト内の１つまたは複数のビットパスと、第２の新しいビットパスのソートされたリストからの１つまたは複数のビットパスを置換するステップと
を備える方法。
【０１７８】
通信路上で受信した、符号化されたデータを復号する方法であって、前記復号するステップは、
符号化されたデータを通信路から受信するステップと、
符号化されたデータを、
復号動作を遂行し、複数のビットパスに関するビット統計情報を生成するステップであって、各ビットパスは、符号化された通信データの一部の潜在的復号であるステップ、
捨てるべきビットパスのリストのサブセットを決定するために、ビット統計情報に基づき、処理要素により生成された複数のビットパスのリストをソートするステップ
を繰り返すことにより復号するステップと
を備え、前記ソートするステップは、
ビットパスのリスト内の対応するビットパスごとに、
対応するビットパスに追加される追加ビットに関連するビット統計情報を計算するステップであって、ビット統計情報は追加ビットに関して可能性の高い値を示すステップと、
可能性の高い値が追加ビットとして追加された対応するビットパスを備える、第１の新しいビットパスを作成するステップと、
可能性の低い値が追加ビットとして追加された対応するビットパスを備える、第２の新しいビットパスを作成するステップと、
対応するビットパスに関連するパス指標に等しい、第１の新しいビットパスに関するパス指標を設定するステップと、
対応するビットパスに関連するパス指標に等しい、第２の新しいビットパスに関するパス指標に加えて、対応するビット統計情報の絶対値を設定するステップと、
第１の新しいビットパスのリストを降順でソートするステップと、
第２の新しいビットパスのリストを昇順でソートするステップと、
第１の新しいビットパスおよび第２の新しいビットパスのパス指標に基づき、第１の新しいビットパスのソートされたリストの少なくとも一部と、第２の新しいビットパスのソートされたリストの少なくとも一部を比較するステップと、
比較するステップに応答して、第１の新しいビットパスのソートされたリスト内の１つまたは複数のビットパスと、第２の新しいビットパスのソートされたリストからの１つまたは複数のビットパスを置換するステップと
を備える方法。
【０１７９】
受信した、符号化された通信データに対して逐次除去リスト（ＳＣＬ）復号を遂行するシステムであって、
複数の処理要素と、
複数の処理要素の隣接する処理要素に結合した複数のメモリと
を備え、
処理要素の各々により、
符号化された通信データの一部の潜在的復号であるビットパスをメモリから受信し、
ビットパスに対して復号動作を遂行し、
復号動作に少なくとも一部は基づき、ビットパスに関するビット統計情報を生成する
ことにより、受信した、符号化された通信データを復号するように構成され、
各処理要素で受信したビットパスは、ビットパスの第１のリストを集合的に備え、
各処理要素で生成されたビット統計情報は、第１のビット統計情報を集合的に備え、
システムは、
第１のビット統計情報に基づき、ビットパスの第１のリストをソートし、
パスの第１のリストのソーティングに基づき、ビットパスの第１のリストのサブセットを捨てるべきであると判断し、
捨てるべきではないと判断されたビットパスに関連する対応する処理要素それぞれにより、
２つの長くなったビットパスを生成し、
対応する処理要素に関連する第１のメモリから、捨てるべきであると判断された第２のビットパスに関連する処理要素に関連する第２のメモリに、長くなったビットパスの一方、および対応する処理要素により生成されたビット統計情報をコピーする
ようにさらに構成されるシステム。
【図１】
2018535608.tif 000032
【図２】
2018535608.tif 000033
【図３】
2018535608.tif 000034
【図４】
2018535608.tif 000035
【図５】
2018535608.tif 000036
【図６】
2018535608.tif 000037
【図７】
2018535608.tif 000038
【図８】
2018535608.tif 000039
【図９】
2018535608.tif 000040
【図１０Ａ】
2018535608.tif 000041
【図１０Ｂ】
2018535608.tif 000042
【図１１】
2018535608.tif 000043
【図１２】
2018535608.tif 000044
【図１３】
2018535608.tif 000045
【図１４】
2018535608.tif 000046
【手続補正書】
【提出日】平成29年9月21日(2017.9.21)
【手続補正１】
【補正対象書類名】特許請求の範囲
【補正対象項目名】全文
【補正方法】変更
【補正の内容】
【特許請求の範囲】
【請求項１】
受信した、符号化された通信データに対して逐次除去リスト（ｓｕｃｃｅｓｓｉｖｅ  ｃａｎｃｅｌｌａｔｉｏｎ  ｌｉｓｔ、ＳＣＬ）復号を遂行するシステムであって、
複数の処理要素と、
前記複数の処理要素の間に散在し、隣接する処理要素に結合した複数のメモリと
を備え、前記受信した、符号化された通信データを復号するために、
前記処理要素の各々により、前記符号化された通信データの一部の潜在的復号である、対応するビットパスに対して復号動作を遂行し、ビット統計情報を生成し、
前記処理要素により生成された前記対応するビットパスのリストを、捨てるべきビットパスの前記リストのサブセットを決定するために、前記ビット統計情報に基づきソートし、
捨てられないビットパスを有する対応する処理要素の少なくともサブセットに関して、
２つの長くなったビットパスを生成し、
前記対応する処理要素に関連する第１のメモリから、捨てるべきであると判断された第２のビットパスに関連する処理要素に関連する第２のメモリに、前記長くなったビットパスの一方、および前記対応する処理要素により生成されたビット統計情報をコピーする
ように構成され、前記コピーするステップは、前記第２のビットパス内の対応するビットおよび／またはビット統計情報と異なる、前記長くなったビットパス内のビットおよび／またはビット統計情報だけをコピーするステップを備えるシステム。
【請求項２】
前記ソートするステップは、前記リストの２つの異なるサブセットをソートするステップを備え、各サブセットは、前記リストのサイズの半分の大きさにすぎない、
請求項１に記載のシステム。
【請求項３】
前記ソートするステップは、
可能性の高い追加ビット値に対応する複数のビットパスの第１のリスト、および可能性の低い追加ビット値に対応する複数のビットパスの第２のリストを、異なる順序でソートするステップと、
第１の新しいビットパスの前記ソートされたリストの少なくとも一部と、第２の新しいビットパスの前記ソートされたリストの少なくとも一部を比較するステップと、
前記比較するステップに応答して、第１の新しいビットパスの前記ソートされたリスト内の１つまたは複数のビットパスと、第２の新しいビットパスの前記ソートされたリストからの１つまたは複数のビットパスを置換することにより、ビットパスの前記リストの新しいサブセットを作成するステップと
を備える、
請求項１に記載のシステム。
【請求項４】
前記符号化された通信データを復号することにより、復号されたデータがもたらされ、
前記システムは、前記復号されたデータをメモリに記憶するようにさらに構成され、前記復号されたデータは、前記ビットパスの選択された１つである、
請求項１に記載のシステム。
【請求項５】
前記処理要素の少なくとも１つは、マスタ処理要素として指定され、前記メモリは、前記複数の処理要素を相互接続するルーティング機構を備え、
前記コピーするステップは、前記コピーするステップを達成するために、前記ルーティング機構内に動的ルートを作成するステップを備え、
前記システムは、
前記マスタ処理要素により、動的ルートを作成するための命令を他の処理要素それぞれに伝達する
ようにさらに構成される、
請求項１に記載のシステム。
【請求項６】
捨てられないビットパスを有する対応する処理要素の前記少なくともサブセットに関して、
復号動作を遂行し、前記２つの長くなったビットパスに関する、更新されたビット統計情報を生成する
ようにさらに構成され、前記コピーするステップは、前記コピーされた、長くなったビットパスに関連する前記更新されたビット統計情報をコピーするステップをさらに備える、
請求項１に記載のシステム。
【請求項７】
前記メモリは、前記複数の処理要素を相互接続するルーティング機構を備え、
前記コピーするステップは、前記コピーするステップを達成するために、前記ルーティング機構内に動的ルートを作成するステップを備える、
請求項６に記載のシステム。
【請求項８】
前記処理要素の少なくとも１つは、マスタ処理要素として指定され、
前記システムは、
前記マスタ処理要素により、動的ルートを作成するための命令を他の処理要素それぞれに伝達する
ようにさらに構成される、
請求項６に記載のシステム。
【請求項９】
受信した、符号化された通信データに対して逐次除去リスト（ＳＣＬ）復号を遂行する方法であって、
前記符号化された通信データを通信路から受信するステップと、
前記符号化された通信データを、
プロセッサを内部に備える複数の処理要素により、復号動作を遂行するステップであって、各処理要素は、ビットパスの第１のリスト内の対応するビットパスに対して復号動作を遂行し、各ビットパスは、前記符号化された通信データの一部の潜在的復号であり、前記復号動作を遂行するステップは、前記ビットパス内のビットに関連する第１のビット統計情報を備えるステップ、
前記第１のビット統計情報に基づき、ビットパスの前記第１のリストをソートするステップ、
パスの前記第１のリストの前記ソートするステップに基づき、ビットパスの前記第１のリストのサブセットを捨てるべきであると判断するステップ、
捨てるべきではないと判断された各ビットパスから、２つの長くなったビットパスを生成するステップであって、前記長くなったビットパスは、ビットパスの第２のリストを備えるステップ、および
捨てるべきではないと判断されたビットパスに関連する対応する処理要素ごとに、
前記対応する処理要素に関連する第１のメモリから、捨てるべきであると判断された第２のビットパスに関連する処理要素に関連する第２のメモリに、前記長くなったビットパスの一方、および前記対応する処理要素に関連するビット統計情報をコピーするステップ
を繰り返すことにより復号するステップと
を備え、
前記長くなったビットパスの一方および前記ビット統計情報をコピーする前記ステップは、前記第２のビットパス内の対応するビットおよび／またはビット統計情報と異なる、前記長くなったビットパス内のビットおよび／またはビット統計情報だけをコピーするステップを備える方法。
【請求項１０】
捨てるべきではないと判断されたビットパスに関連する各処理要素により、
前記コピーするステップの前に、
前記２つの長くなったビットパスに対して復号動作を遂行するステップと、
長くなったビットパスそれぞれに対する前記復号動作に少なくとも一部は基づき、前記２つの長くなったビットパスの各々に関する第２のビット統計情報を生成するステップと、
前記第２のビット統計情報の少なくともサブセットに関して追加で前記コピーするステップを遂行するステップと
をさらに備える、請求項９に記載の方法。
【請求項１１】
前記符号化された通信データを復号する前記ステップは、所定のしきい値を超えるビットパスに到達するまで、連続的により大きくなるビットパスに関して複数回遂行される、
請求項９に記載の方法。
【請求項１２】
前記ビットパスの半分は、捨てるべきであると判断される、請求項９に記載の方法。
【請求項１３】
前記符号化された通信データを復号することにより、復号されたデータがもたらされ、
前記方法は、前記復号されたデータをメモリに記憶するステップをさらに備え、前記復号されたデータは、前記ビットパスの選択された１つである、
請求項９に記載の方法。
【請求項１４】
前記プロセッサは、前記複数の処理要素を相互接続するルーティング機構をさらに備え、
前記コピーするステップは、前記コピーするステップを達成するために、前記ルーティング機構内に動的ルートを作成するステップを備える、
請求項９に記載の方法。
【請求項１５】
前記プロセッサ内の前記処理要素の少なくとも１つは、マスタ処理要素として指定され、
前記方法は、
前記マスタ処理要素により、動的ルートを作成するための命令を他の処理要素それぞれに伝達するステップ
をさらに備える、
請求項９に記載の方法。
【請求項１６】
受信した、符号化された通信データに対して逐次除去リスト（ＳＣＬ）復号を遂行するためのプログラム命令を備えるコンピュータ可読記憶媒体であって、前記プログラム命令は、
前記符号化された通信データを通信路から受信し、
前記符号化された通信データを、
前記コンピュータ可読記憶媒体に結合した処理要素により、復号動作を遂行するステップであって、前記処理要素は、ビットパスに対して復号動作を遂行し、前記ビットパスは、前記符号化された通信データの一部の潜在的復号であり、前記復号動作を遂行するステップは、前記ビットパス内のビットに関連する第１のビット統計情報を生成するステップを備えるステップと、
前記ビットパスを捨てない通知を受信するステップと、
第２の記憶媒体は、捨てられるビットパスと関連づけられるという通知を受信するステップと、
２つの長くなったビットパスを生成するステップと、
前記第２の記憶媒体に、前記長くなったビットパスの一方、および前記第１のビット統計情報の少なくともサブセットをコピーするステップと
を繰り返すことにより復号する
ように実行可能であり、
前記長くなったビットパスの一方および前記第１のビット統計情報をコピーする前記ステップは、前記捨てられるビットパス内の対応するビットおよび／またはビット統計情報と異なる、前記長くなったビットパス内のビットおよび／またはビット統計情報だけをコピーするステップを備えるコンピュータ可読記憶媒体。
【請求項１７】
前記プログラム命令は、
前記コピーするステップの前に、
前記２つの長くなったビットパスに対して復号動作を遂行し、
長くなったビットパスそれぞれに対する前記復号動作に少なくとも一部は基づき、前記２つの長くなったビットパスの各々に関する第２のビット統計情報を生成し、
前記第２のビット統計情報の少なくともサブセットに関して追加で前記コピーするステップを遂行する
ようにさらに実行可能である、請求項１６に記載の記憶媒体。
【請求項１８】
前記符号化された通信データを復号するステップは、
前記ビットパスを捨てる通知を受信するステップと、
第３の記憶媒体から、長くなったビットパス、および前記長くなったビットパスに関連するビット統計情報を受信するステップと
をさらに備える、請求項１６に記載の記憶媒体。
【国際調査報告】
2018535608.tif 000047
2018535608.tif 000048
2018535608.tif 000049
2018535608.tif 000050