(19)【発行国】日本国特許庁(JP)
(12)【公報種別】特許公報(B2)
(11)【特許番号】
(24)【登録日】2024-05-31
(45)【発行日】2024-06-10
(54)【発明の名称】連結極性調整畳み込み符号を用いたデータの符号化および復号化のための方法および装置
(51)【国際特許分類】
H03M 13/29 20060101AFI20240603BHJP
H03M 13/23 20060101ALI20240603BHJP
H04L 1/00 20060101ALI20240603BHJP
【FI】
H03M13/29
H03M13/23
H04L1/00 B
(21)【出願番号】P 2023519967
(86)(22)【出願日】2021-09-28
(86)【国際出願番号】 IB2021058868
(87)【国際公開番号】W WO2022070043
(87)【国際公開日】2022-04-07
【審査請求日】2023-05-23
(32)【優先日】2020-09-30
(33)【優先権主張国・地域又は機関】US
(73)【特許権者】
【識別番号】520190713
【氏名又は名称】ポララン ハベレスメ テクノリジレリ アノニム シルケティ
(74)【代理人】
【識別番号】100108453
【氏名又は名称】村山 靖彦
(74)【代理人】
【識別番号】100110364
【氏名又は名称】実広 信哉
(74)【代理人】
【識別番号】100133400
【氏名又は名称】阿部 達彦
(72)【発明者】
【氏名】アリカン、エルダル
【審査官】鉢呂 健
(56)【参考文献】
【文献】米国特許出願公開第2014/0208183(US,A1)
【文献】JIANG, Xiaoming, et al.,Multi-RS Concatenated Polar Codes with Enhanced Interleaving and List Decoding,2018 IEEE 88th Vehicular Technology Conference (VTC-Fall),2019年04月14日,pp.1-5,<URL:https://ieeexplore.ieee.org/document/8690943>,<DOI: 10.1109/VTCFall.2018.8690943>
【文献】ARIKAN, Erdal,From Sequential Decoding to Channel Polarization and Back Again,arXiv:1908.09594 [cs.IT],2019年09月09日,pp.1-10,<URL:https://doi.org/10.48550/arXiv.1908.09594>
【文献】MORADI, Mohsen and MOZAMMEL, Amir,Concatenated Reed-Solomon and Polarization-Adjusted Convolutional (PAC) Codes,2022 IEEE International Black Sea Conference on Communications and Networking (BlackSeaCom),2022年08月24日,pp.123-128,<URL:https://ieeexplore.ieee.org/document/9858284>,<DOI: 10.1109/BlackSeaCom54372.2022.9858284>
(58)【調査した分野】(Int.Cl.,DB名)
H03M 13/00-99/00
H04L 1/00
H04L 1/08-1/24
(57)【特許請求の範囲】
【請求項1】
通信システム
(100
)で使用する連結エンコーダ装置
(102
)であって、
連結エンコーダ入力ブロックdを受信し、前記連結エンコーダ入力ブロックdを外部符号入力配列aに分割し、かつ外部符号出力配列bを生成するために前記外部符号入力配列aを複数の外部符号に従って符号化するように構成された外部エンコーダ
(110
)であって、
前記複数の外部符号はL個の外部符号を備え、Lは1より大きい整数であり、また前記複数の外部符号はリード・ソロモン符号である、外部エンコーダ(110)と、
前記外部符号出力配列bから
データコンテナ配列vを生成し、前記データコンテナ配列vを複数の内部符号に従って符号化して連結符号出力配列xを生成し、前記連結符号出力配列xをチャネル(104)に送信するように構成された内部エンコーダ
(112
)と、
を備え、
前記複数の
内部符号はレイヤ化極性調整畳み込み(LPAC)符号の同一コピーであり、前記LPAC符号は
、極性調整畳み込み(PAC)符号から前記PAC符号の データインデックス集合をL個のレイヤインデックス集合に分割することにより得られる、連結エンコーダ装置
(102
)。
【請求項2】
前記内部エンコーダは、前記外部符号出力配列bからプリコーディング配列cを計算し、前記プリコーディング配列cを前記データコンテナ配列v内へ
前記外部符号出力配列bと共に挿入するように更に構成
され、前記プリコーディング配列はエラー検出のために受信器の内部デコーダによって使用される、請求項1の連結エンコーダ装置。
【請求項3】
前記
レイヤインデックス集合はスコア関数に従って選択され、前記スコア関数は、ハミングスコア関数、信頼性スコア関数
、又はそれらの組み合わせの内の1つである、請求項1の連結エンコーダ装置。
【請求項4】
通信システム
(100
)に使用する連結デコーダ装置
(106
)であって、
レイヤの数を数えるように構成されたレイヤカウンタと、
レイヤ化極性調整畳み込み(LPAC)符号に従って内部復号化操作を実行するように構成された内部デコーダ(114)であって、
前記LPAC符号は、極性調整畳み込み(PAC)符号から、前記PAC符号のデータインデックス集合を、Lを1より大きい整数としてL個のレイヤインデックス集合に分割することにより取得され、
前記内部復号化操作は、1≦i≦Lであるi番目のレイヤ復号化操作を含み、
前記
i番目のレイヤの内部復号化操作は、連結デコーダ入力配列yと(i-1)番目の累積決定フィードバッ
クb^
1,b^
2,・・・,b^
i-1
とから、i番目の内部デコーダ決定b
~
iを生成する、
ことを含む内部デコーダ(114)と、
外部復号化操作を実行するように構成された外部デコーダ(116)であって、
前記外部復号化操作は、1≦i≦Lであるi番目の外部符号に従うi番目のレイヤの外部復号化操作を含み、
前記i番目のレイヤの外部復号化操作は、前記i番目の内部デコーダ決定b
~
iからi番目の外部デコーダ決定a^
iを生成する
ことを含む、
外部デコーダ(116)と、
前記
i番目の外部符号に従って、i番目のレイヤの再符号化操作を実行して、前記i番目の外部デコーダ決定a^
iからi番目の決定フィードバックb^
iを生成す
るように構成される再エンコーダ
(118
)と、
を備え、
前記外部デコーダはさらに、複数の外部デコーダ決
定a^
1,a^
2,・・・,a^
L
から連結デコーダ出力ブロックd^を生成して、前記連結デコーダ出力ブロックd^を送信先へ送信するように構成
され、また前記i番目のレイヤの外部符号はリード・ソロモン符号である、
連結デコーダ装置
(106
)。
【請求項5】
前記i番目のレイヤの内部復号化操作の少なくとも1つは前記LPAC符号を復号化するための逐次デコーダを使用することを含む、請求項4の連結デコーダ装置。
【請求項6】
前記逐次デコーダは計算の制限時間が設けられている、請求項5の連結デコーダ装置。
【請求項7】
通信システムで使用するための連結エンコーダ方法であって、
外部エンコーダにおいて、連結エンコーダ入力ブロックdを受信し、前記連結エンコーダ入力ブロックdを外部符号入力配列aに分割し、前記外部符号入力配列aを複数の外部符号に従って符号化して外部符号出力配列bを生成するステップ
であって、前記複数の外部符号は、Lを1より大きい整数であるとして、L個の外部符号を含み、前記複数の外部符号はリード・ソロモン符号であるステップと、
内部エンコーダにおいて
、前記外部符号出力配列bから
データコンテナ配列vを生成し、前記データコンテナ配列vを複数の内部符号に従って符号化して連結符号出力配列xを生成し、前記連結符号出力配列xをチャネルに送信するステップと、
を含み、
前記複数の
内部符号は、レイヤ化極性調整畳み込み(LPAC)符号と同一のコピーであり、かつ前記LPAC符号は、極性調整畳み込み(PAC)符号から前記PAC符号の データインデックス集合をL個のレイヤインデックス集合に分割することにより取得される、連結エンコーダ方法。
【請求項8】
前記内部エンコーダにおいて、前記外部符号出力配列bからプリコーディング配列cを計算して、前記プリコーディング配列cを前記
外部符号出力配列bと共に前記データコンテナ配列vへ挿入することをさらに
含み、前記プリコーディング配列は受信器において誤りを検出するために内部デコーダにより使用される、請求項7の連結エンコーダ方法。
【請求項9】
前
記レイヤインデックス集合はスコア関数に従って選択され、前記スコア関数は、ハミングスコア関数、信頼性スコア関数、又はそれらの組み合わせの内の1つである、請求項7の連結エンコーダ方法。
【請求項10】
通信システムにおいて使用される連結デコーダ方法であって、
レイヤの数を数えるステップと、
内部デコーダにおいて、
レイヤ化極性調整畳み込み(LPAC)符号に従って内部復号化操作を実行するステップであって、
前記LPAC符号は、極性調整畳み込み(PAC)符号から、前記PAC符号のデータインデックス集合を、Lを1より大きい整数として、L個のレイヤインデックス集合に分割することにより取得され、
前記内部復号化操作は、1≦i≦Lとしてi番目のレイヤ内部復号化操作を含み、
前記
i番目のレイヤ内部復号化操作は、連結デコーダ入力配列yと(i-1)番目の累積決定フィードバッ
クb^
1,b^
2,・・・,b^
i-1
とからi番目の内部デコーダ決定b
~
iを生成する
こと含む、内部復号化操作を実行するステップと、
外部デコーダにおいて、
外部復号化操作を実行するステップであって、
前記外部復号化操作は、1≦i≦Lであるとして、i番目の外部符号に従って、i番目のレイヤ外部復号化操作を含み、
前記
i番目のレイヤの外部復号化操作は前記i番目の内部デコーダ決定b
~
iからi番目の外部デコーダ決定a^
iを生成する
ことを含む、外部復号化操作を実行するステップと、
再エンコーダにおいて、前記i番目の外部
符号に従ってi番目のレイヤ再復号化操作を実行して、前記i番目の外部デコーダ決定a^
iからi番目の決定フィードバックb^
iを生成す
るステップと、
前記外部デコーダにおいて、複数の外部デコーダ決定a^
1,a^
2,・・・,a^
Lから連結デコーダ出力ブロックd^を生成し、前記連結デコーダ出力ブロックd^を送信先へ送信するステップと、
を含み
、
前記i番目のレイヤ外部符号はリード・ソロモン符号である、連結デコーダ方法。
【請求項11】
前記i番目のレイヤの内部復号化操作の少なくとも1つは前記LPAC符号を復号化するための逐次デコーダを使用することを含む、請求項10の連結デコーダ方法。
【請求項12】
前記逐次デコーダは計算の制限時間が設けられている、請求項11の連結デコーダ方法。
【発明の詳細な説明】
【技術分野】
【0001】
本開示は、一般に、連結された極性調整畳み込み符号を用いたデータの符号化及び復号化のための方法及び装置に関する。
【背景技術】
【0002】
最新のデジタルデータ伝送(無線電話、無線データ伝送、プレーヤへの光ディスク伝送、音楽データを受信する音楽プレーヤなど)では、チャネルエンコーダがデータブロックを受信し、(データブロックを変換器に通すことにより)それに冗長性を追加して、元のデータブロックよりも伝送チャンネル内のノイズに対して保護される符号化ブロックを生成することができる。符号化されたブロックは伝送チャンネルで伝送され、伝送チャンネルはその出力で受信ブロックを生成する。ここで、受信ブロックはチャネルノイズ及び/又は歪みによって破損された符号化ブロックのバージョンである。チャネルデコーダは、受信したブロックを処理して復号化データブロックを生成し、復号化データブロックを標的とする送信先、例えば、復号化データをオーディオとして再生する音楽プレーヤ、または復号化データをファイルとして保存する記憶装置に転送する。
【0003】
復号化データブロックがデータブロックの同一コピーでない場合には、フレーム誤りは伝送中に発生すると言われる。一般に、チャネル符号化の許容される設計目標は、フレーム誤り率(FER)を許容可能なレベルまで低減することである。過度に多くの計算によってFERを低減するチャネル符号は実用性が乏しい。線形ブロック符号のように、FERと実装の複雑さの間の許容可能なトレードオフを達成することができるチャネル符号のクラスが多数存在する。線形ブロック符号のサブクラスは、参照により本明細書に組み込まれ、本出願のファイル履歴に含まれる米国特許出願[ARI2019a]で導入された三角分解(TF)符号のサブクラスである。本原理は、TF符号の特殊なケースである極性調整畳み込み(PAC)符号(ARI2019a、ARI2019b)と呼ばれる、畳み込み符号をチャネル偏波とを組み合わせた符号(ARI2009)に主に関係する。PAC符号は、逐次復号化と呼ばれる低複雑度の深さ優先探索法を用いて復号化可能である。ARI2019a、ARI2019bでは、逐次復号化がPAC符号に適合された。ARI2019a、ARI2019bに提供されたシミュレーション研究では、ブロック長128の特定のPAC符号が逐次復号化においては最適に近いFER性能を達成可能であることを示した。
【0004】
本原理の目的は、現時点でPAC符号の実用性を制限している特定の問題に対する解決策を提供することである。第1に、PAC符号の逐次復号化の計算上の複雑さのばらつきの悪影響を低減する必要がある。逐次復号化の複雑さはチャネルのノイズの大きさに非常に敏感であり、これがPAC符号への逐次復号化の適用の主たる障害となる。
【0005】
第2に、短いPAC符号の最適に近い性能を利用して、光ファイバデータ伝送あるいはハードディスクデータ保存などの特定のアプリケーションに要求される、極めて低いFER値(10-15などの)を達成可能な長い符号の構築が必要とされる。
【0006】
第3にPAC符号は逐次復号化するように設計されている。復号化の決定は、チャネル偏波の利点を活用するためには一定の順序で行われなければならない。他方、復号化が逐次的に行われるためにスループットのボトルネックとなり、発信元と送信先との間の通信可能なビット数に著しい制限を与える。PAC復号器のハードウェア実装においてスループット向上のためにパイプライン化技術及びアンローリング技術が使用され得るが、そのような技術はパイプラインのステージ間に余計なメモリを必要とし、チップ面積とコストを増大させる。スループット向上のためにクロック速度を増加させることは、増加したクロック速度がVLSI回路に電力密度の問題を生じさせるためにスループット問題の解決にならない。データ処理システムのスループット拡大のための唯一の実行可能な選択肢は、マルチコアプロセッサを使用することである。これに関しては[ZAB2013]を参照されたい。PAC符号の複数のコピーが独立又は並列して符号化及び復号化可能となるためには、マルチコア実装用のカスタム設計である符号化アーキテクチャを必要とする。
【0007】
本原理は、内部符号としてPAC符号を使用する連結符号化方式を導入することで上記の課題を解決する。背景として、逐次復号化と連結符号化に関するいくつかの結果を提示する。
【0008】
逐次復号化は、もともと畳み込み符号のために開発された復号化方式である[FAN1963]。逐次復号化の計算上の問題は、従来の畳み込み符号においてよく研究された問題である。文献[JAC1967]において、逐次符号化の計算は、重い尾を持つ確率分布である、パレート分布を有する確率変数であることが示される。文献[JAC1967]はまた、(計算上の)カットオフレートと呼ばれる特定の速度の閾値を超えたデータ伝送速度で、逐次符号化の計算量の平均が無限となることも示す。残念なことに、逐次復号化のカットオフレートはチャネル容量よりはるかに小さい可能性がある。
【0009】
先行技術には、様々な連結方式において複数の逐次復号器を並列使用してこのカットオフレートの壁を回避するいくつかの方法がある。そのような方法の1つは、文献[FAL1969]に提示された連結符号化方式である。これは、内部符号として(従来の)畳み込み符号を用い、外部符号としてリード・ソロモン符号を用いる。外部のリード・ソロモン符号は、内部の畳み込み符号への入力に対して代数的な制約を与える。受信側において、各内部畳み込み符号は分離された逐次復号器で復号する。外部リード・ソロモン符号は、内部逐次復号器が残したエラー及び消失を修正する役目を有する。文献[FAL1969]は、このタイプの連結符号化が復号ビット当たりの有限の平均複雑度におけるチャネル容量を達成可能なことを示したが、この文献[FAL1969]は当時の技術ではまだ実用化には遠く及ばなかった。
【0010】
ここで連結符号化についてレビューする。連結符号化は[ELI1954]の製品符号化のアイディアにまで遡るが、連結符号化の発展の基となった業績は[FOR1965]である。ここで連結符号化が短符号から長符号を構築する方法として導入された。後に続く研究が[FOR1965]の基本的考えを大幅に一般化して、「一般化連結符号化」(GCC)及び「マルチレベル符号化」(MLC)を導入した([ZYA1999]を参照)。GCC/MLC方式では、レイヤ化された内部符号と複数の外部符号とがあり、これらのレートは同じである必要がない。GCC/MLC方式において内部符号と外部符号の種類とパラメータを適切に選択することにより、FER性能と複雑さとの間に沢山の組のトレードオフを得ることができる。[FAL1969]の方法は、一般化された連結法の、すべての外部符号が同一レートで動作するという意味で限定された、1つの限定形とみなすことができる。ポーラ符号化に関連して、GCC/MLC方式が[ARI2009]及び[MAH2016]で研究された。
【0011】
本開示では、GCC/MLC符号化技術がPAC符号に関連して導入される。PAC内部符号を用いたGCC/MLC方式の構築は、PAC符号へのレイヤ構造の導入、レイヤ数と各層のペイロード容量の最適化、内部PAC符号の各レイヤの復号化における誤り検出の効率的方法の導入など、多くの新しい問題がある。また、誤り訂正能力と、内部符号と外部符号の実装の複雑さをバランスさせるという、より一般的なGCC/MLCの設計の問題もある。本開示では、PAC内部符号を有するGCC/MLC方式に関するこれらの設計上の問題を解決する方法を紹介する。
【0012】
本原理を[FAL1969]での連結方式と比較すると、いくつかの大きな違いが目立つ。第1に、[FAL1969]の連結方式は、内部符号として(従来型の)畳み込み符号を使用するのに対し、本開示の内部符号はPAC符号に基づく。畳み込み符号は一様なツリー構造(トレリスで表されることが多い)を有するが、PAC符号は非一様なツリー構造を有する。ここで、ツリー構造は極性変換によって生成されるチャネル偏波効果に合うように設計される。第2に、[FAL1969]の連結方式の外部符号は、互いに同じであるが、本原理で使用するより一般的なGCC/MLC連結方法は、内部PAC符号の各層をそれに固有の外部符号によって保護することが要求される。この層に固有の外部符号は内部復号化の後にその層に残る誤りと消失の統計に対してカスタマイズされる。第3に、[FAL1969]の内部復号器は畳み込み符号に対する標準的な逐次復号器であるが、本原理による内部復号器はチャネル偏波効果に対してカスタマイズされた逐次復号器である。カスタマイズには、「先読み」機能と非一様な「バイアス」を有するメトリックの使用が含まれる。カスタマイズはさらに、逐次復号化での過剰の計算を抑制するための、「時間制限規則」の導入が含まれる。この時間制限規則はPACツリー符号の非一様構造にカスタマイズされる。従来技術と本原理との間のその他の主な違いは、後で詳述する。
【0013】
要約すると、本開示は逐次復号化における計算のばらつきの悪影響を軽減するために計算上の多様性を与えることによりPAC符号の実用性を改善し、その一方で同時に極めて高信頼で拡張可能なスループットを実現可能なPAC符号化アーキテクチャを提供する、GCC/MLC法を紹介する。
[XIA2017]は、非バイナリLDPC-極性連結符号を開示する。外部符号は非バイナリLDPC(NBLDPC)符号のk/t個のコピーから成り、このNBLDPC符号はtビットのシンボルを使用する。内部符号は、長さn、データペイロードサイズkのバイナリポーラ符号のm個のコピーから成る。k/tとmはいずれも少なくとも2である。[XIA2017]はまた、外部NBLDPC符号語の極符号化による連結出力配列の生成方法についても開示する。[XIA2017]はさらに、得られる連結符号の復号化も開示する。この復号化には外部復号化から内部復号化へのフィードバックも含まれる。
[XIA2017]のこれらの特徴は、例えば[ZYA1999]で議論された汎用技術である、多段階復号化を用いた汎用連結符号化(GCC/MLC)の一般的特徴である。本開示は、任意のGCC/MLC方式に固有の特徴も有する。本開示で解決される、目的の技術課題は、PAC符号が内部符号として使用され、リード・ソロモン(RS)符号が外部符号として使用される特定の場合に対して、この組み合わせにより可能な最高の性能を得るために、GCC/MLC技術をカスタマイズすることである。
【先行技術文献】
【特許文献】
【0014】
【文献】米国特許出願第16453887号明細書[ARI2019a] E. Arikan, “Methods and apparatus for error correction coding with triangular factorization of generator matrices,” U.S. Patent Application No. 16453887, 26-Jun-2019.
【非特許文献】
【0015】
【文献】[ARI2009] E. Arikan, “Channel polarization: A method for constructing caPACity-achieving codes for symmetric binary-input memoryless channels,” IEEE Transactions on Information Theory, vol. 55, no. 7, pp. 3051-3073, Jul. 2009.
【文献】[ARI2019b] E. Arikan, “From sequential decoding to channel polarization and back again,” arXiv:1908.09594 [cs, math], 26 Aug. 2019.
【文献】[ARI2009] Arikan, E., & Markarian, G. (2009, July 13). Two-dimensional polar coding. Proc. Tenth International Symposium on Coding Theory and Applications (ISCTA’09). Ambleside, UK.
【文献】[ELI1954] Elias, P. (1954). Error-free Coding. Transactions of the IRE Professional Group on Information Theory, 4(4), 29-37.
【文献】[FAL1969] Falconer, D. D. (1969). A hybrid coding scheme for discrete memoryless channels. The Bell System Technical Journal, 48(3), 691-728.
【文献】[FAN1963] Fano, R. (1963). A heuristic discussion of probabilistic decoding. IEEE Transactions on Information Theory, 9(2), 64-74.
【文献】[FOR1965] Forney Jr, G. D. (1965). Concatenated Codes (Technical Report No. 440). Massachusetts Institute of Technology.
【文献】[JAC1967] Jacobs, I., & Berlekamp, E. (1967). A lower bound to the distribution of computation for sequential decoding. IEEE Transactions on Information Theory, 13(2), 167-174.
【文献】[MAH2016] Mahdavifar, H., El-Khamy, M., Lee, J., & Kang, I. (2016). Method and system for encoding and decoding data using concatenated polar codes (United States Patent No. US9362956B2).
【文献】[XIA2017] Xiaoguang, Li, et al., ”Concatenations of polar codes with outer nonbinary LDPC codes”, Proc. 2017 IEEE 17th International Conference on Communication Technology (ICCT), IEEE, 27 October 2017 (2017-10-27), 117-121.
【文献】[ZAB2013] Zabinski, P. J., Gilbert, B. K., & Daniel, E. S. (2013). Coming Challenges with Terabit-per-Second Data Communication. IEEE Circuits and Systems Magazine, 13(3), 10-20.
【文献】[ZYA1999] Zyablov, V., Shavgulidze, S., & Bossert, M. (1999). An Introduction to Generalized Concatenated Codes. European Transactions on Telecommunications, 10(6), 609-622.
【発明の概要】
【0016】
一実施形態において、通信システムで使用するための連結エンコーダ装置が、連結エンコーダ入力ブロックdを受信し、連結エンコーダ入力ブロックdを外部符号入力配列aに分割し、外部符号入力配列aを複数の外部符号にに従って符号化して、外部符号出力配列bを生成するように構成された外部エンコーダと、外部符号出力配列bから、レイヤ化極性調整畳み込み(LPAC)符号に従って連結符号出力配列xを生成し、連結符号出力配列xをチャネルに送信するように構成された内部エンコーダと、を含む。複数の外部符号は少なくとも2つの外部符号を含み、LPAC符号は少なくとも2つのレイヤを含む。内部エンコーダは任意選択によりさらに外部符号出力配列bからプリコーディング配列cを計算し、プリコーディング配列cをデータコンテナ配列v内へ挿入するように構成される。LPAC符号は任意選択により、データインデックス集合Aと、データインデックス集合Aを複数のレイヤインデックス集合(A1,A2,・・・,AL)に分割するパーティションとを含み、複数のレイヤインデックス集合(A1,A2,・・・,AL)はスコア関数に従って選択され、スコア関数は、ハミングスコア関数、信頼性スコア関数、復号順スコア関数、あるいはそれらの組み合わせの内の1つである。
【0017】
別の実施形態では、通信システムで使用するための連結デコーダ装置が、レイヤ数を数えるように構成されたレイヤカウンタと、レイヤ化極性調整畳み込み符号(LPAC)に従ってi番目のレイヤの内部復号化操作を実行して、連結デコーダ入力配列y及び(i-1)番目の累積決定フィードバック(b^1,b^2,・・・b^i-1,)からi番目の内部デコーダ決定b~
iを生成するように構成された内部デコーダとを含む。連結デコーダはまた、i番目のレイヤの外部復号化操作を実行してi番目の内部デコーダ決定b~
iからi番目の外部デコーダ決定a^iを生成するように構成された外部デコーダと、i番目のレイヤの再符号化操作を実行して、i番目の外部デコーダ決定a^iからi番目の決定フィードバックb^iを生成するように構成された再エンコーダとを含む。ここでレイヤの数は整数mに等しく、整数mは1より大きく、また、外部エンコーダはさらに外部エンコーダ決定(a^1, a^2,・・・,a^m)から、連結デコーダ出力ブロックd^を生成して、その連結デコーダ出力ブロックd^を送信先へ送信するように構成される。i番目のレイヤ内部復号化操作は、任意選択によりLPAC符号の復号化に逐次デコーダを使用することを含む。逐次デコーダは任意選択により、計算の制限時間を備える。
【図面の簡単な説明】
【0018】
【
図1】本原理の実施形態を使用可能な通信システム100を示すブロック図である。
【
図2】本原理による連結エンコーダプロセスのフローチャートである。
【
図3】本原理による連結デコーダプロセスのフローチャートである。
【
図4】本開示による、連結極性調整畳み込み符号を使用してデータの符号化及び復号化を実装可能な無線ネットワークの一例を示す図である。
【
図5A】本開示による、連結極性調整畳み込み符号を使用してデータの符号化及び復号化を実装可能なユーザ機器ネットワークの一例を示す図である。また、
【
図5B】本開示による、連結極性調整畳み込み符号を使用してデータの符号化及び復号化を実装可能な、エンハンストNodeB(eNB)ネットワークの一例を示す図である。
【発明を実施するための形態】
【0019】
以下で議論する
図1~
図5B及び本特許文書において本開示の原理の説明に使用される様々な実施形態は、説明のためだけのものであり、いずれにおいても本開示の範囲を制限するものとみなしてはならない。当業者であれば本開示の原理は任意の適切に構成された通信システムにおいて実行可能であることが理解されるであろう。
【0020】
表記
全体集合の部分集合Aに対し、ACは全体集合に関するAの補集合を表す。AとBが全体集合の任意の2つの部分集合である場合、表記A/Bは集合の差を表す。すなわち、A/B=A∩BCである。集合Aに対して、|A|はAの要素の数を表す。記号Fqは、要素{0,1,・・・,q-1}を持つ有限体を表す。記号Fqは、要素{0,1,・・・,q-1}を持つ有限体を表す。a∈Fq
Nは、aが、ai∈Fq(i=1,2,・・・,N)である行ベクトルa=(a1,a2,・・・,aN)であることを示す。a=(a1,a2,・・・,aN)で1≦i≦j≦Nであれば、ai
jは部分ベクトルai
j=(ai,ai+1,・・・,aj)を表し、i>jの場合にはai
jはゼロベクトルを表す。i=1の場合には、ai
jの代わりにajと記す。a∈Fq
Nかつδ⊂{1,2,・・・,N}に対してaδは、aのインデックスが集合δにある要素から成る部分ベクトルaδ=(ai:i∈δ)を表す。同様に、aδC=(ai:i∈δC)は、aのインデックスが集合δCにある要素から成る部分ベクトルであって、δCは{1,2,・・・,N}におけるδの補集合を表す。例えば、N=8でδ={1,2,3,5,8}であれば、aδ=(a1,a2,a3,a5,a8)であり、aδC=(a4,a6,a7)である。慣習により、aの座標はaδ内では昇順で示す。したがって、δがδ={1,2,3,5,8}であってもδ={2,3,1,5,8}であっても部分ベクトルaδは同じaδ=(a1,a2,a3,a5,a8)である。Fqの表記は、要素Fq={1,2,・・・,q-1}を有する有限体を表す。表記“a≡b”は「定義によりaはbに等しい」ことを意味する。
【0021】
ランダム変数(あるいは確率変数)X、及びXの可能な実現値xに対して、表記PX(x)は、事象{X=x}の確率を表す。(X,Y)が共同分布しているランダム変数であり、(x,y)がペア(X,Y)の可能な実現値であれば、PX,Y(x,y)は、{X=x,Y=y}である確率を表す。そして、PY|X(y|x)は{X=x}が与えられたときの{Y=y}である条件付確率を表す。
【0022】
ここで、「Cは、次元Kでブロック長Nを有するFq上の符号である」と表現し、CがFq
KからFq
Nへの写像であれば、C:Fq
K→Fq
Nと書く。比R=K/Nは符号Cのレートと称する。符号Cのエンコーダは、写像C:Fq
K→Fq
Nを実行する任意の方法又は装置である。Cの領域Fq
Kの各要素を「入力ブロック」と呼び、Cの範囲Fq
Nの各要素を「出力ブロック」と呼ぶ。符号Cの入力ブロック及び出力部ロックは、それぞれ「メッセージ」及び「符号語」とも呼ばれる。ここでは、符号Cの入力ブロック及び出力部ロックを、それぞれd∈Fq
K及びx∈Fq
Nのように行ベクトルで表す。Cによってxに写像される入力ブロックdが存在する場合、「xはCに属する」という。Cによってdがxに写像される場合、「xは入力ブロックdに対応するCの符号語である」と称することもある。x=C(d)と表記して、xがメッセージブロックdに対応するCの符号語であることを示す。
【0023】
PAC符号
本原理の提示に必要ないくつかの基本概念を確立するために、PACコーディングの従来技術のレビューをまず行う。PAC符号は、TF符号の最も好ましい実施形態として、2019年6月26日出願の米国特許出願第16/453,887号のE. Arikanの「Methods and apparatus for error correction coding with triangular factorization of generator matrices」に最初に開示された。これは参照により本明細書に援用する。PAC符号に関するチュートリアル的な説明はE. Arikanの論文「From sequential decoding to channel polarization and back again」(arXiv:1908.09594 [cs, math], 26 Aug. 2019)にある。
【0024】
F2上のPAC符号は、パラメータの集合(N,K,A,f,g)で特徴づけられる線形ブロック符号であって、Nはブロック長である整数n≧1に対してN=2nであり、Kは次元であって、次元Kは0≦K≦Nの範囲の整数であり、Aはデータインデックス集合であって、このデータインデックス集合Aは、寸法が|A|=Kである、{1,2,・・・,N}の部分集合である。fは凍結ブロックであって、凍結ブロックfはF2
N-Kに属する固定ベクトルであり、gは畳み込み操作のインパルス応答であり、畳み込みインパルス応答gはg=(g0,g1,・・・,gM)∈F2
M+1、ただし、g0≠0、gM≠0、かつM≧1、の形式の固定ベクトルである。
【0025】
gM≠0かつM≧1という制限によって、g=1に対応する自明の畳み込み操作(恒等写像)がPAC符号の定義から除外されることが保証される。これにより、極符号やリード・ミュラー符号などの特定の従来技術の符号のPAC符号のクラスからの除外が保証される。
【0026】
凍結ブロックfの選択は重要な設計事項ではない。要素がすべてゼロのベクトルに設定可能である。FER性能及びPAC符号の復号化の複雑さは、データインデックス集合Aの選択に大きく依存する。米国特許出願第16/453,887号明細書には、様々な「スコア関数」に基づいたデータインデックス集合Aの構築方法がいくつか記載されている。ここでは、少し異なるが等価な形式でスコア関数手法を提示する。
【0027】
スコア関数は、実数(スコア)を各インデックスi∈{1,2,・・・,N}に割り当てる任意の関数s:{1,2,・・・,N}→R(実数)である。スコア関数が与えられると、データインデックス集合Aが、A⊂{1,2,・・・,N}かつ|A|=Kとして、Σi∈As(i)が最大化されるように選択される。PAC符号構築のための2つの重要なスコア関数として、ハミングスコア関数と信頼性スコア関数がある。
【0028】
インデックスi∈{1,2,・・・,N}のハミングスコア関数は、sH(i)=Σj=0
n-1bjとして定義され、ここで、n=log2Nとb0,b1,・・・,bn-1∈F2は、(i-1)の2進表示の係数、すなわちΣj=0
n-1bj2j=i-1である。例えば、14-1=13=1+22+23であるので、sH(14)=3である。
【0029】
インデックスi∈{1,2,・・・,N}の信頼性スコア関数は、sR(i)=1-Pe,iとして定義される。ここでPe,iは極符号に対する連続したキャンセルデコーダが復号化のi番目の段階で誤りをする事象の確率として定義される。当業者であれば、{Pe,i}の大きさは、密度進化法などの標準的な極符号構築方法で計算可能である。
【0030】
信頼性スコア関数の欠点は、チャネル固有のPAC符号設計を生成することである。チャネル固有の符号設計は、符号設計に使用されるチャネルモデルが、実際に使用されるチャネル104の特性に一致しない符号設計において使用される場合に、うまく機能しない可能性がある。他方、ハミングスコア関数はチャネルに依存しない設計を生成する。極符号化(すなわちg=1に対して)において、当業者は、ハミングスコア関数と信頼性スコア関数がそれぞれリード・ミュラー符号と極符号を生成することを理解するであろう。これに基づいて、ハミングスコア関数がPAC符号構築で符号最小距離を強調し、他方、信頼性スコア関数がチャネル偏波効果により適合するPAC符号構築を強調することが予想され得る。
【0031】
次に、PAC符号の符号化及び復号化の従来法を概説する。このために、CPACは固定されているがそれ以外は任意の、パラメータ(N,K,A,f,g)を有するPAC符号であるとする。
【0032】
PAC符号C
PACの符号化は、入力ブロックd∈F
2
Kを受信し、v
A=d及びv
Ac=fを設定することにより入力ブロックからデータコンテナブロックv∈F
2
Nを生成し、畳み込み
【数1】
を計算することによりデータコンテナブロックvから畳み込み出力ブロックu∈F
2
Nを生成し、畳み込み出力ブロックuに極変換
【数2】
を適用して出力ブロックx∈F
2
Nを生成する、ことを含む。ここで、v
AはAに座標を含むvの部分ベクトルであり、v
AcはA
Cに座標を含むv
Acの部分ベクトルであり、0は長さN-Kの、要素がすべてゼロのベクトルであり、
【数3】
であり、
【数4】
はのn次のクロネッカ冪である。畳み込み
【数1】
は、1≦i≦Nに対して、式u
i=g
0v
i+g
1v
i-1+・・・g
jv
i-j+・・・+g
lv
i-lで与えられ、加算及び乗算はF
2で行われ、u
iはuのi番目の要素、v
kはvのk番目の要素であり、v
kはk≦0であれば0と解釈される。
【0033】
PAC符号CPACの復号化を議論するために、PAC符号CPACの出力ブロックxがチャネルを介して送信され、チャネル出力ブロックyがチャネル出力で受信される。PY|X(y|x)はチャネル確率割り当て、すなわちxがチャネル入力で送信されるとして、チャネル出力でyが受信される条件付確率を表す。(ここで、XとYは、それぞれチャネル入力とチャネル出力でのランダムベクトルを表す)。また、PACエンコーダ入力ブロックdは、F2
K上でランダムに一様選択されるものとする。dの一様な確率割り当てとチャネル確率割り当てPY|X(y|x)が、以下のPAC符号CPACの逐次復号化に現れる変数に対する共同確率割り当てを決定する。
【0034】
PAC符号CPACのためのデコーダを、デコーダをツリー探索アルゴリズムとして見ることによって議論する。そのために、符号ツリーをPAC符号CPACに関係づける。符号ツリーは、0≦i≦Nの範囲にあるそれぞれの整数iに対してi番目のレベルを備える。i番目のレベルには複数のノードがあり、符号ツリーのi番目のレベルにある各ノードは、データコンテナブロックv=(v1,v2,・・・,vN)のi番目の初期セグメントvi≡(v1,v2,・・・,vi)に関連する。ここで、vi=0はヌルベクトルとして解釈され、符号ツリーの(i=0)番目のレベルはルートノードと呼ばれる単一ノードを構成し、ルートノードはヌルベクトルv0に関連する。データインデックス集合Aが符号ツリーの構造を決定する。データインデックス集合Aのそれぞれの選択に対してレートプロファイル{R1,R2,・・・,RN}が対応する。ここでRiは、Aに属する要素{1,2,・・・,i}の部分として定義される。すなわちRi≡|A∩{1,2,・・・,i}|/iである。iRiはi番目の初期セグメントvi=(v1,v2,・・・,vi)の「自由座標」の数として解釈される。(viのその他の座標は、符号化規則vAc=0により0に制約される。)したがって、レベルi=0ではロートノードしかないという理解の基に、符号ツリーのi番目のレベルにおけるノード数は2iRiで与えられる。
【0035】
畳み込み写像
【数1】
が、vの初期セグメントv
0,v
1,v
2,…,v
Nとuの初期セグメントu
0,u
1,u
2,…,u
Nとの間の1対1対応を確立する。したがって、PAC符号C
PACに関する符号ツリーのi番目のレベルのノードは、v
i又はu
iのいずれかによって特定可能である。以下の説明においては、符号ツリーのノードを、データコンテナブロックvの初期セグメントv
0,v
1,v
2,…,v
Nによって特定する。
【0036】
PAC符号CPACに対する符号化操作は、PAC符号に対して符号ツリーを通る正しい経路を選択することと等価である。ここで正しい通路とは、データコンテナブロックvの初期セグメントに対応するノードのシーケンスv0,v1,v2,…,vNを通過する経路である。同様に、正しい経路は畳み込み出力ブロックuの初期セグメントに対応するノードのシーケンスu0,u1,u2,…,uNを通過する。
【0037】
PAC符号CPACの復号化は、CPACに関する符号ツリーでの正しい経路の探索と見ることができる。チャネル出力ブロックyが与えられているとして、デコーダは符号ツリーを探索してエンコーダにおける実際のデータコンテナブロックv=vNに沿う経路v0,v1,v2,…,vNの推定値v^0,v^1,v^2,…,v^Nを生成する。データコンテナブロックvの推定値v^≡v^Nが与えられれば、d=v^Aと設定することによりエンコーダ入力ブロックdの推定値d^が抽出される。
【0038】
明らかに、PAC符号CPACのデコーダとして任意のツリー探索法が使用可能である。米国特許出願第16/453,887号明細書では逐次復号化(深さ優先ヒューリスティック)を議論しており、逐次復号化のいくつかの代替として、ビタビ復号(幅優先探索アルゴリズム)とビームサーチ(幅優先探索のベストではないが複雑さの小さいバージョン)を言及している。本開示は主としてPAC符号の逐次復号化に基づいている。
【0039】
PAC符号の逐次復号化
PAC符号C
PACの逐次復号化は、PAC符号C
PACの符号ツリーの正しい経路を深さ優先探索することで構成される。この探索は、ファノメトリック
【数5】
で誘導され、ここで、P
Y|Ui(y|u
i)は、正しい経路がノードu
iを通過することを前提としたチャネル出力yに対する条件付き確率割り当てであり、P
Y(y)はチャネル出力ブロックyの確率割り当てであり、B
iはi番目のレベルの累積バイアス項である。米国特許出願第16/453,887号明細書で指摘されるように、ファノメトリックは以下の様に表示することにより段階的に計算可能である。
【数6】
ここでγ(u
j,y|u
j-1)は、
【数7】
で定義されるファノ枝メトリックであり、b
j=B
j-B
j-1は、j番目のレベルのバイアス項である。ファノ枝メトリックは、
【数8】
と書くことも可能であり、これは計算における数値的安定性にとって有利であり得る。逐次復号化をうまく操作するためには、ファノ枝メトリックγ(u
j,y|u
j-1)が正しい経路で増加し、正しくない経路で減少する傾向となるように、バイアス項{b
j}を選択する必要がある。
【0040】
逐次復号アルゴリズムは、PAC符号CPACの符号ツリーのノードuiにファノメトリックによって割り当てられた値Γ(ui,y)に従う探索を優先する。逐次復号アルゴリズムには、実装の詳細が異なる「ファノ」アルゴリズムや「スタック」アルゴリズムなどの様々なバージョンが存在する。スタックアルゴリズムは説明が容易であるが、ファノアルゴリズムが実装目的ではより実用的である。両アルゴリズムの詳細に関しては逐次復号化に関する先行技術を参照されたい。PAC符号の逐次復号化の詳細に関しては米国特許出願第16/453,887号明細書を参照されたい。ここでは、スタックアルゴリズムの操作の概略を述べるにとどめる。
【0041】
スタックアルゴリズム
スタックは、可変数のレコードからなるデータ構造であり、レコードはノードIDとメトリック値から構成される。スタック内のレコードは、メトリック値に関してソートされた順序で維持され、「トップ」のノードが最大のメトリック値を有する。スタックは最初は空である。スタックアルゴリズムは、ルートノードu^
0=u
0をメトリック値Γ(u^
0,y)=0でスタックに(トップノードとして)挿入することでツリー探索を開始する。実際のルートノードu
0に関する初期仮説u^
0は、レベル0には1つのノードしかないので、正しいことは明らかである。次に、ルートノードu^
0がスタックトップから削除されて、u^
0の各仮説継続u^
1をスタックに挿入して、メトリック値の順番を維持するようにスタックを再ソートする。スタックアルゴリズムの一般的ステップでは、スタックトップには、符号ツリーのあるレベルiにおけるノードu^
iが含まれる。ノードu^
iがスタックトップから削除され、メトリック値がu^
iのすべての可能な継続u^
i+1に対して計算され、各新ノードu^
i+1がスタックに挿入され、現在のノードのメトリック値に関してスタックが再ソートされる。スタックアルゴリズムは、PAC符号C
PACに関する符号ツリーの最終レベルNにおけるノードu^
Nがスタックトップに現れると逐次復号を完了する。この時点で畳み込み出力ブロックuの推定値u^≡u^
Nが得られる。畳み込み
【数1】
は1対1であるので、畳み込みを逆算して、データコンテナブロックvの推定値v^を
【数9】
のように取得し、d^=v^
Aとすることでv^からエンコーダ入力ブロックの推定値d^を抽出する。
【0042】
技術的背景で指摘したように、逐次復号化の大きな欠点は計算のばらつきである。計算のばらつきは、まれに発生するノイズバーストによるものであり、符号ツリーに指数関数的に大きな探索量をもたらし、探索複雑度に関して重い尾を引くパレート分布となる。この問題は、チャネルが極変換操作によって囲まれておらず、かつメトリックがΓ(ui,yi)の形を有する従来型の畳み込み符号の逐次復号化において特に激しい。PAC符号は、Γ(ui,yi)の形のメトリックを使用することで、計算の問題を部分的に軽減する。そこではyiをyで置き換えることによりメトリックに幾ばくかの「先読み」機能が与えられる。ただし、PAC符号の逐次復号化における計算のばらつきは、PAC符号の実用化への主たる阻害要因として残る。対策として、本原理では、レイヤ化PAC(LPAC)符号と共に連結符号化方式を導入する。
【0043】
LPAC符号
F2におけるLPAC符号は、パラメータ(N,K,A,L1,L2・・・,LL,f,g)の集合を特徴とする線形ブロック符号である。ここで、Nはブロック長で、ある整数n≧1に対してN=2nであり、Kは次元であり、次元Kは0≦K≦Nの範囲の整数であり、Aはデータインデックス集合であり、データインデックス集合Aは寸法が|A|=Kである{1,2,・・・,N}の部分集合であり、Liは、1≦i≦Lであるi番目のレイヤのインデックス集合であり、(L1,L2・・・,LL)は複数のレイヤインデックス集合であり、複数のレイヤインデックス集合(L1,L2・・・,LL)はデータインデックス集合Aを、1≦i<j≦Lにおいて、A=∪i=1
LLiかつLi∩Lj=Φという意味で分割し、fは凍結ブロックであり、凍結ブロックfはF2
N-Kに属する固定ベクトルであり、gはの畳み込み操作のインパルス応答であり、インパルス応答gは、g=(g0,g1,・・・,gM)∈F2
M+1(g0≠0,gM≠0,かつM≧1)の形の固定ベクトルである。
【0044】
定義から明らかなように、パラメータ(N,K,A,L1,L2・・・,LL,f,g)を有するLPAC符号は、パラメータ(N,K,A,f,g)を有すPAC符号から、Aの分割(L1,L2・・・,LL)の選択により得ることができると考えられる。逆に、PAC符号は1レイヤだけの(L=1)LPAC符号として考えることも可能である。PAC符号とLPAC符号の符号化の違いは小さい。LPAC符号のレイヤ構造は復号化の時にだけ重要となる。レイヤ構造は、レイヤ構成の復号化のために設計されており、連続するレイヤの復号化の間に(外部デコーダからの)外部の支援を受けることが可能である。完璧とするためにLPAC符号の符号化及び復号化の詳細を述べる。ただしそれはPAC符号の符号化及び復号化と類似している。
【0045】
C
LPACをF
2における、パラメータ(N,K,A,L
1,L
2・・・,L
L,f,g)を有するLPAC符号とし、d=(d
1,d
2・・・,d
L)∈F
2
Kが入力ブロックであって、d
iは各1≦i≦Lに対して長さ|L
i|の、F
2上のベクトルであるとする(ここで、d
1はdの第1の|L
1|要素、d
2はdのその次の|L
2|要素、等を表す)。dを出力ブロックx∈F
2
Nに符号化することは、v
Li=d
i(ここで1≦i≦L)かつv
Ac=fとすることによりデータコンテナブロックx∈F
2
Nを生成し、畳み込み
【数1】
を計算することにより、データコンテナブロックvから畳み込み出力ブロックu∈F
2
Nを生成し、畳み込み出力ブロックuに極変換を適用して、すなわち
【数2】
を設定することにより、出力ブロックx∈F
2
Nを生成する、ことを含む。ここで、v
AはAに座標を含むvの部分ベクトルであり、v
AcはA
Cに座標を含むv
Acの部分ベクトルであり、0は長さN-Kの、要素がすべてゼロのベクトルであり、
【数3】
であり、
【数4】
はFのn次のクロネッカ冪である。畳み込み
【数1】
は、(F
2演算を用いて)1≦i≦Nに対して、式u
i=g
0v
i+g
1v
i-1+・・・g
jv
i-j+・・・+g
Mv
i-lで与えられ、u
iはuのi番目の要素、v
kはvのk番目の要素であり、v
kはk≦0であれば0と解釈される。
【0046】
LPAC符号CLPACのレイヤ復号化を説明するために、d=(d1,d2・・・,dL)はエンコーダ入力(デコーダからは見えない)であり、y∈F2
Nがチャネル出力であるとする。レイヤ復号は、LPAC符号の第1レイヤから得られ、パラメータ(N,K1≡K,A1≡A,f1≡f,g)を特徴とする第1レイヤPAC符号を、任意のPACデコーダを使用して復号して、チャネル出力ブロックyからデータコンテナブロックv=(v1,v2,・・・,vN)の初期推定値v~=(v~
1,v~
2,・・・,v~
N)を得ることから始まる。そうしてd~
1=vL1とすることにより第1レイヤデータブロックd1の初期推定値d~
1を抽出する。(LPAC符号CLPACのためのデコーダはd~
1を得るために全初期推定値v~=(v~
1,v~
2,・・・,v~
N)を生成する必要がなく、部分初期推定値vLiを生成するだけで十分であることに留意されたい。このことはレイヤ復号の複雑さの低減に有用となり得る。)
【0047】
レイヤ復号化の主たる利点は、外部エージェント(連結符号システムの外部符号など)に、初期推定値d~
1の誤りを訂正する機会を与えて、なんらかnの外部情報を利用してd1の最終推定値d^1を提供することである。レイヤ復号化の次の段階は、d1=d^1という仮定に基づいて実行される。d1≠d^1であれば、レイヤデコーダはこの誤りを回復できない。他方、d^1が正しければ、復号化問題はPAC復号化問題のより小さな(そしてより簡単な)インスタンスに還元される。いくつかのレイヤデコーダは、例えば特定のパリティチェックビットの誤り又は外部デコーダが有効な復号化出力を生成できなかったことなどのために、d^1が誤りであるという指示を受ける場合があり得る。そのような場合には、LPAC符号の復号化は中止される。d^1が誤りであるというそのような指示がない場合にはデコーダは第2のレイヤの復号化を続ける。
【0048】
第2レイヤの復号化は、LPAC符号の第2レイヤから得られ、パラメータ(N,K2≡K-|L1|,A2≡A\L1,f2,g)を特徴とする第2レイヤPAC符号C2を基に実行される。ここで、f2∈F2
N-K2は座標f1とd1をインデックス集合A1
CとL1により決定される特定の順序で含む。より正確には、f2は、αAc1=f1及びαL1=d^1のベクトルα∈F2
Nを考慮し(αの残りの座標は重要ではない)f2=αAc2、とすることにより得られる。(A2
C=A1
C∪L1であることに注意。)
【0049】
レイヤ復号化は次に第2レイヤのPAC符号C2の復号化を、第1レイヤのPAC符号C1の復号化と同様の復号化手順を用いて行う。第2レイヤのPAC符号C2の復号化は、デコーダ入力としての出力ブロックyで始まり、第2レイヤのデータブロックd2の初期推定値d~
2で終わる。第1レイヤの復号化と同様に、外部エージェントがd~
2を受け取り、何らかの外部情報を利用してd2の最終推定値d^2を提供する。
【0050】
一般に、復号化のi番目の回で、レイヤ化デコーダは、LPAC符号のi番目のレイヤから導かれ、パラメータ(N,Ki≡K-Σ(k=1)
(i-1)|Lk|,Ai≡A\∪k=1
i-1Lk,fi,g)を特徴とするi番目のPAC符号Ciを復号化する。ここでfi∈F2
N-Kiは座標f(i-1)とd^(i-1)をインデックス集合Ai-1
CとLi-1により決定される特定の順序で含む。より正確には、fiは、αAciー1=fi-1及びαLiー1=d^i-1のベクトルα∈F2
Nを考慮し、fi=αAciとすることにより得られる。(Ai
C=Ai-1
C∪L1であることに注意。)復号化の最後の回で、d=d1,d2,・・・,dL)の最終推定値d^=(d^1,d^2,・・・,d^L)が得られ、復号化が完了する。
【0051】
LPAC符号構築の重要な点は、データインデックス集合Aの選択と、データインデックス集合のレイヤインデックス集合(L1,L2・・・,LL)への分割である。データインデックス集合Aの選択は、PAC符号の構築に関係して前述したスコア関数手法を使用して実行可能である。データインデックス集合Aのレイヤインデックス集合への分割もまた、同じタイプのスコア関数手法で実行可能である。データインデックス集合Aが与えられたとし、Aを、所定数のレイヤLと、1≦i≦Lである各i番目のレイヤインデックス集合Liが所定の寸法|Li|=kiを有する、複数のレイヤインデックス集合(L1,L2・・・,LL)に分割しようとすることを仮定する。スコア関数s:{1,2,・・・,N}→Rによるスコア関数手法は、レイヤインデックス集合を、1つずつ逆の順番LL,LL-1,・・・,L1で選択し、|Li|=ki,1≦i≦Lであるようなすべての集合Li⊂A\(∪k=i+1
LLk)にわたってLiがΣi∈Lis(i)を最大化するようにする。(i=Lでは∪k=i+1
LLkは空集合であると解釈する。)データインデックス集合Aを複数のレイヤインデックス集合(L1,L2・・・,LL)に分割する、2つの好ましいスコア関数としては、前述したハミングスコア関数と信頼性スコア関数がある。データインデックス集合Aを複数のレイヤインデックス集合(L1,L2・・・,LL)に分割する第3のスコア関数は復号順スコア関数sDであり、i∈{1,2,・・・,N}に対してsD(i)=N-iである。
【0052】
データインデックス集合Aを1つのタイプのスコア関数で選択して、レイヤインデックス集合(L1,L2・・・,LL)を別のタイプのスコア関数で選択するということも可能である。
【0053】
上に述べたレイヤインデックス集合(L1,L2・・・,LL)の構築手順は、レイヤ数Lとレイヤの寸法{ki:1≦i≦L}を与えられたものとする。パラメータLと{ki:1≦i≦L}は、システムで使用される外部符号の種類に依存する。
【0054】
次に、本原理の具体的な実施形態を
図1~
図5Bを参照して説明する。
【0055】
図1は、本原理の実施形態による通信システム100のブロック図である。本明細書で使用する通信システムとは、データの伝送や保存のためのあらゆる種類のシステムを含む意味で使用される。以下に記載の本原理の具体的な実施形態は例示のためのものである。本原理の代替の実施形態が広範囲の通信システムにおいて信頼性の高い伝送又は保存のために構成され得ることは当業者には明らかであろう。
【0056】
通信システムの主機能は、連結符号を使用して、送信元から送信先へデータを搬送することである。通信システム100は連結エンコーダ102、チャネル104、及び連結デコーダ106を備える。連結エンコーダ102が送信元から連結エンコーダ入力ポート130を介して、連結エンコーダ入力ブロックdを受信し、連結エンコーダ入力ブロックdを(以下で説明するように)符号化して連結エンコーダ出力配列xを生成し、チャネル入力ポート134を介してxをチャネル104上に送信する。xの送信に応答して、チャネル104がチャネル出力ポート136で連結デコーダ入力配列yを生成する。連結デコーダ106はをy受信して復号化し、連結デコーダ出力ブロックd^を生成する。そうしてd^を連結デコーダ出力ポート144経由で送信先へ送る。
【0057】
理想的には通信システム100は、連結デコーダ出力ブロックd^が連結エンコーダ入力ブロックdの正確なレプリカとなるようになっている。しかしながらシステムの不完全性及びチャネル104でのノイズのためにd^は必ずしもdに一致しない。d^≠dの時、すなわちd^が少なくとも1つの座標においてdと異なる時に、フレーム誤りが発生したと言われる。通信システム100の主要な性能基準は、事象{d^≠d}が発生する頻度として定義されるフレーム誤り率(FER)である。通信システム100は、連結エンコーダ102と連結デコーダ106とからなるFEC(フォワード誤り訂正符号化)方式を実装することにより、FERを低減することを目的とする。
【0058】
通信システム100の符号化及び復号化操作の詳細に行く前に、典型的には、チャネル104には一般的に、伝送媒体及びその他のモジュール、例えば、モジュレータ、増幅器、アンテナ、デジタルアナログ変換装置及びアナログデジタル変換装置、信号捕捉及び同期回路、等価器などが含まれ、これらは伝送媒体上での信号の送信受信に必須ではあるが、本発明の原理には直接は関係しないことを指摘しておくべきであろう。また、伝送媒体は、銅線、光ケーブル、又は伝送信号の変調により情報の搬送が可能な空中波若しくは他の種類の物理媒体であってよく、伝送信号は、例えば電気的、光学的、又は電磁的な性質のものであってよいことも指摘すべきであろう。いくつかの場合には、チャネル104は、情報をある時点で書き込み、その後の時点で読み出すことが可能なデータ記憶デバイスを備えることもできる。
【0059】
ここで通信システム100の詳細に移って、本原理の実施形態を説明する。ここで、連結符号Cは、次元K(ビット)、ブロック長N(ビット)、レートR=K/Nを有するF2={0,1}上の符号である。連結符号Cを2進アルファベットF2上の符号に制限することで、本原理の提示を簡略化することができる。ただし、当業者には本原理は非2進アルファベット上の連結符号に拡張可能であることは明らかであろう。
【0060】
図1に戻ると、連結エンコーダ102が、外部エンコーダ110と内部エンコーダ112とからなることがわかる。連結エンコーダ102はさらに連結エンコーダ制御ロジック、連結エンコーダ入力モジュール、及び連結エンコーダ出力モジュールを含む。これらは定型的な詳細による図の煩雑さを避けるために
図1には示されていない。
【0061】
外部エンコーダ110は、複数の外部符号Cout=(Cout,1,Cout,2,・・・,Cout,m)を符号化するように構成される。ここでm≧2は外部符号の数であり、Cout,iはi番目の外部符号であり、i番目の外部符号Cout,iは、有限体上の符号Fqi={0,1,・・・,qi-1}であって、次元Kout,i(Fqiからのシンボル)、ブロック長Nout(Fqiからのシンボル)、かつレートRout,i=Kout,i/Noutであり、qiは、i番目の外部符号Cout,iに対するシンボルアルファベットFqi寸法であり、qiは、2のべき乗であってqi=2piであり、piは、i番目の外部符号Cout,iに対するシンボル長(ビット)であり、piは、1以上の整数であり、i番目の外部符号次元Koutは1以上の整数である。i番目の外部符号ブロック長NoutはKout以上の整数である。
【0062】
i番目の外部符号Cout,iの次元Kout,iはiに依存し得るが、ブロック長Noutはすべての外部符号に対して共通である。ビット単位で測って、i番目の外部符号Cout,iは次元Kout,ipiを有し符号ブロック長はNoutpiである。複数の外部符号に(符号化サイクルごとに)入る総ビット数はΣi=1
mKout,ipiであり、これは連結エンコーダ入力ブロックの長さd∈F2
K、したがって、K=Σi=1
mKout,ipiと等しいはずである。複数の外部符号の出力における総ビット数はNoutΣi=1
mpiに等しい。したがって、複数の外部符号Coutは、実効レートRout≡(Σi=1
mKout,ipi)/(NoutΣi=1
mpi)を有する。
【0063】
内部エンコーダ112は、内部符号CinのNout個の同一コピー{Cin,j:1≦j≦Nout}を符号化するように構成される。ここで、内部符号Cinは、パラメータ(Nin,Kin,A,L1,L2,・・・,LL=m,f,g)を特徴とするF2上のLPAC符号であり、ブロック長は、いくつかの整数nin≧1に対しNin=2ninで与えられ、レイヤの数はL=m(外部符号の数と同じ)であり、i番目のレイヤインデックス集合Liは寸法が|Li|=pi+ri(1≦i≦m)であり、piはi番目の外部符号Cout,iのシンボル長であり、riはi番目のレイヤプリコーディングブロック(1≦i≦m)の長さであり、インパルス応答gはベクトルg=(g0,g1,・・・,gM)∈F2
M+1であって、g0≠0,gM≠0かつM≧1である。こうして、符号Cin,jはLPAC符号Cinのコピーであり、Cin,jをj番目の内部符号と呼ぶ。
【0064】
連結エンコーダ102を詳細に説明するために、連結エンコーダ102の操作の例示を示すフローチャート200の
図2を参照する。ステップ204、206、208は外部エンコーダ110によって実行され、ステップ210、212、214、216、218は内部エンコーダ112によって実行され、ステップ202と220はフローチャートのステップ間の遷移部分と共に、連結エンコーダ制御ロジックによって実行される。
【0065】
連結エンコーダ102はステップ202で操作を開始する。ここでは連結エンコーダ制御ロジックが連結エンコーダ入力ブロックdに対して待機し、連結エンコーダ入力ポート130において利用可能となる。連結エンコーダ入力ブロックdが利用可能になると、連結エンコーダ制御ロジックがステップ204に移動する。
【0066】
ステップ204において、外部エンコーダ110が連結エンコーダ入力ポート130において連結エンコーダ入力ブロックdを受信する。
【0067】
ステップ206において、外部エンコーダ110が連結エンコーダ入力ブロックd=(d1,d2,・・・,,dK)∈F2
Kを分割して、外部符号入力配列a≡(ai,j:1≦i≦m;1≦j≦K
out,i
)を生成する。ここで、ai,j=(ai,j,1,ai,j,2,・・・,ai,j,pi)∈Fqi=F2
piであり、ai,j,k∈F2である。外部エンコーダ110は自然順の分割規則に従う。自然順の分割規則では、dのビットをaのビットへ自然の順序で左から右へコピーする。すなわちa1,1,1=d1,a1,1,2=d2,・・・,a1,1,p1=dp1,a1,2,1=dp1+1,a1,2,2=dp1+2,・・・,a1,2,p1=d2p1,,・・・,am,Kout, m,pm=dKである。自然順の分割規則では、式ai,j,k=dh,ここでh=k+(j-1)pi+Σs=1
i-1Kout,spsによって簡潔な表現が可能である。
【0068】
自然順の分割規則は単純で実行が容易という利点がある。ただし、本原理はdの要素をaの要素へ任意の順序で割り当てる他の任意の分割規則との互換性を有する。
【0069】
ステップ208において、外部エンコーダ110が外部入力配列aに外部符号符号化操作を実行して、外部符号出力配列b≡(bi,j:1≦i≦m;1≦j≦Nout)を生成する。ここで、bi,j=(bi,j,1,bi,j,2,・・・,bi,j,pi)∈Fqi=F2
pi,であり、かつbi,j,k∈F2である。
【0070】
外部符号符号化操作は、1≦i≦mの範囲の各整数iに関して、i番目の外部符号符号化操作を含む。ここで、i番目の外部符号の符号化操作は、i番目の外部符号入力ブロックaiをi番目の外部符号出力ブロックbiに符号化することを含み、i番目の外部符号入力ブロックaiは、外部符号入力配列aのi番目の行として定義され、i番目の外部符号出力ブロックbiは、外部符号出力配列bのi番目の行として定義される。より明らかには、ai≡(ai,1,ai,2,・・・,ai,Kout, i)及びbi≡(bi,1,bi,2,・・・,bi,Nout)である。このように、biはCout,i:bi=Cout,i(ai)のaiに対応する符号語である。外部エンコーダ110は、bを内部エンコーダ入力ポート132を介して内部エンコーダ112に送信することでステップ208を完了する。
【0071】
ステップ210は、任意選択のプリコーディングステップであり、プリコーディングを使用しない場合にはスキップする。ステップ210において、内部エンコーダ112が、外部符号出力配列bからプリコーディング配列c≡(cj,i:1≦j≦Nout;1≦i≦m)を生成する。ここでcj,i∈F2
riである。後でわかるように、cj,iはj番目の内部符号Cin,jのi番目のレイヤで搬送される。後で説明するように、本原理の枠組みの中でステップ210の実施には多くの選択肢がある。ここでは、cj,i=hj,i(b)を設定する、最も一般的なプリコーディング形式とする。ここでhj,iは、b≡F2
m×Noutからcj,i∈F2
riへの任意の関数であってよい。1≦i≦mのそれぞれに対してri=0である特定の場合には、実効的にプリコーディングはない。
【0072】
ステップ212において、内部エンコーダ112が、外部符号出力配列b及びプリコーディング配列cからvj,L1=(b1,j,cj、1),vj,L2=(b2,j,cj,2),・・・,vj,Lm=(bm,j,cj,m)及びvj,Ac=fと設定することにより、データコンテナ配列v≡(vj,k:1≦j≦Nout;1≦k≦Nin)を生成する。ここで、vj,k∈F2、vj,Li≡(vj,k:k∈Li)、及びvj,Ac≡(vj,k:k∈Ac)である。なお構成上、|Li|=pi+riであるので、vj,Liと(bi,j,cj,i)は同一寸法(含まれるビット数という意味で)であり、割り当てvj,Liと(bi,j,cj,i)は実行可能であるということに留意されたい。本原理では、一連のビットbi,j=(bi,j,1,bi,j,2,・・・,bi,j,pi)∈F2
piとしての任意の特定のシンボル表示bi,j∈Fqiを、割り当てvj,Li=(bi,j,cj,i)の一部として使用可能である。
【0073】
ステップ214において、内部エンコーダ112がデータコンテナ配列vに畳み込み操作を適用して、畳み込み出力配列u≡(uj,k:1≦j≦Nout;1≦k≦Nin)を生成する。ここで、uj,k∈F2であり、畳み込み操作は、LPAC符号Cinのインパルス応答g=(g0,g1,・・・,gM)∈F2
M+1によって、式uj,i=Σk=0
Mgkvj,i-kで定義され、合計はF2上で行われ、vj,i-kは、i-k≦0であれば0と解釈される。
【0074】
ステップ216において、内部エンコーダ112が畳み込み出力配列uに対して極変換操作を行い、連結エンコーダ出力配列xを生成する。ここで、連結エンコーダ出力配列はx≡(x
j,k:1≦j≦N
out;1≦k≦N
in)の形式を有し、x
j,k∈F
2である。本原理の好ましい実施形態においては、連結エンコーダ出力配列は行ごとに極変換操作
【数10】
を行って計算される。ここで、
【数3】
であり、
【数11】
はFの(n
in)番目のクロネッカ冪、n
in=log
2N
inであり、x
j≡(x
j,k:1≦k≦N
in)はxのj番目の行であり、u
j≡(u
j,k:1≦k≦N
in)はuのj番目の行である。
【0075】
ステップ218において、内部エンコーダ112が連結エンコーダ出力配列xを、チャネル入力ポート134を介してチャネル104に送信する。(変調及び復調操作はチャネル104の一部とみなされる。)
【0076】
ステップ220において、連結エンコーダ102が停止状態に入る。引き続いてデータの符号化がある場合、ステップ220は削除されて、ステップ202がステップ218に直接続く。
【0077】
連結エンコーダ102の説明はこれで終わる。連結デコーダ106を説明する前にいくつかのコメントをする。
【0078】
上に述べた内部エンコーダ112の実施形態において、内部符号化写像b→xは、N
out個の独立した写像b
j→x
j(j=1,,・・・,,N
out)に分離される。ここでb
j≡(b
i,j:1≦i≦m)は外部エンコーダ出力配列bのj番目の列である。したがって、内部符号化ステップ210から216は独立して実行される。スピードが重要である場合には、1つの選択肢として各写像を専用ハードウェア又はソフトウェアを使用して、各写像b
j→x
jを並列に実行する。これに代わり、実行コストが重要な場合には、単一のハードウェア又はソフトウェアで複数の写像b
j→x
jを逐次的に行ってもよい。本原理は、完全並列から、半並列、完全シリアルまでの、豊富な実装の選択肢を提供する。これにより、ハードウェアコストとスループットをトレードオフすることができる。他方で、本原理の範囲は、Nout個の独立した写像b
j→x
jに分離する内部エンコーダの写像b→xに限るものではない。
図2に関連して与えられる特定の写像は例示のためのものに過ぎない。当業者であれば、本原理の本質的な特徴から乖離することなく使用可能な、他の多くの内部符号化写像を考案可能であろう。
【0079】
ステップ210は、cj,i=hj,i(b)形式の任意のプリコーディング規則を認める。代替法としては、「局所的な」プリコーディング関数cj,i=hi(bj)を使用してcjがbjにだけ依存するようにすることができる。2つ目の代替法としては、「局所的かつ因果的」プリコード関数cj,i=hi(b1,j,b2,j,・・・,bi,j)を使用することである。i=1,2,・・・,m-1に対してri=0とし、rmのみをゼロでないように設定することも可能である。
【0080】
局所的かつ因果的プリコーディング関数は、内部デコーダが復号化を実行するときに、プリコーディング違反を検出することによって内部デコーダに探索ツリーの刈り込みを可能にさせるという利点がある。その一方で、一般的なプリコーディング規則cj,i=hj,i(b)は、内部符号入力配列全体をプリコードすることを認め、誤りをより効率的に検出する(したがって、連結符号全体の符号化利得を改善する)可能性を有する。この後の本説明では、局所的かつ因果的プリコーディング関数の使用を仮定する。
【0081】
一般に、内部復号化の一部として誤りを検出して、それを消失としてマークすることは有利である。それは、消失が未検出の誤りに比べると外部デコーダ116にとって課題がより小さいからである。他方で、プリコーディングによる誤り検出は、特にプリコーディングブロックのビット数が内部符号ブロック長Ninに比べて有意である場合には、符号化のオーバヘッドを増加させる。プリコーディングのオーバヘッドは、プリコーディング前後でのビット数の比である、プリコ―ディングレートRpre=(Σi=1
mpi)/(Σi=1
m(pi+ri))によって定量化可能である。プリコーディングのレートの最適化は、本原理の適用を成功させる重要な側面である。
【0082】
内部エンコーダ112の説明から、連結エンコーダ102がK=Σi=1
mKout,ipiビットを受信してN=NoutNinビットを送り出すことがわかる。したがって、連結符号CはレートR=(Σi=1
mKout,ipi/NoutNinを有する。このレートは積R=RoutRinと書くことができる。ここでRout=(Σi=1
mKout,ipi)/(NoutΣi=1
mpi)は、外部エンコーダ110(によって生成された符号)のレートであり、Rin=(Σi=1
mpi)/Ninは内部エンコーダ112(によって生成された符号)のレートである。ここでRinは、プリコーディングレートRpre=(Σi=1
mpi)/((Σi=1
m(pi+ri)とLPAC符号レートRlpac=(Σi=1
m(pi+ri)/Ninとの積に等しいことに留意されたい。したがって、連結符号Cのレートは、3つのレートの積R=RoutRpreRlpacに因数分解される。
【0083】
ここで
図1に戻ってチャネル14をもう少し詳細に説明する。連結エンコーダ出力配列xの送信に応答して、チャネル104は連結デコーダ入力配列y
(y
j,k:1≦j≦N
out;1≦k≦N
in)を生成する。ここでy
j,k∈F
2である。本明細書でのモデルによれば、チャネル104はx
j,kの送信に応答してy
j,kを生成し、理想的にはy
j,k=x
j,kである。ただしノイズ及びチャネル104のその他の不完全性のためにy
j,kはx
j,kの破損したバージョンであり、y
j,kとx
j,kの間の関係は確率的モデルによって記述される。
【0084】
本原理は通信チャネル104の確率論的モデルを使用する。ここで、確率論的モデルはチャネル伝送確率割り当てW(y|x)を特徴とし、W(y|x)は、連結エンコーダ出力配列xがチャネル入力ポート134に送信されるとして、チャネルがチャネル出力ポート136に連結デコーダ入力配列yを生成する条件付確率(あるいは確率密度)である。チャネル104がメモリレス確率論的モデルに準拠して、チャネル遷移確率の割り当てが積W(y│x)=Πj=1
NoutΠk=1
NinW(yj,k│xj,k)の形をとるようにすれば、本原理は最も効果的に適用される。
【0085】
図1ではさらに、連結デコーダ106は、内部デコーダ114、外部デコーダ116及び再エンコーダ118を備えることがわかる。連結デコーダ106は連結デコーダ制御ロジックを更に含むが、これは定型的な詳細による図の煩雑さを避けるために
図1には示されていない。
【0086】
連結デコーダ106は、連結符号Cに対してレイヤ復号化操作を実行する。ここで、レイヤ復号化操作はi番目のレイヤの復号化操作を含み、iは1≦i≦mの範囲の整数であり、mはレイヤ数であり、i番目のレイヤの復号化操作はi番目のレイヤの内部復号化操作とi番目のレイヤの外部復号化操作とi番目のレイヤの再符号化操作とを含み、i番目のレイヤの復号化操作は内部デコーダ114で実行され、i番目のレイヤの外部復号化操作は外部デコーダ116で実行される。
【0087】
レイヤ化復号化操作の詳細に関しては、
図3を参照する。これは連結デコーダ106の実施形態を例示するフローチャート300である。ここで、c
j,i=h
i(b
1,j,b
2,j,・・・,b
i,j)の形の局所的かつ因果的なプリコーディング関数の使用を仮定する。
【0088】
連結デコーダ106はステップ302で操作を開始する。開始状態での連結デコーダ106は、連結デコーダ入力配列yがチャネル出力ポート136で利用可能となるのを待機する。yが利用可能になると、連結デコーダ106はステップ304に移って、チャネル出力ポート136からyを受信する。
【0089】
ステップ306において、連結デコーダ106はレイヤカウンタをi=1に初期化する。レイヤカウンタの役割は、現在復号化中の連結符号のレイヤを追跡することである。
【0090】
ステップ308において、レイヤカウンタ値がiに設定され、内部デコーダ114がチャネルからyを受信し、再エンコーダ118から(i-1)番目の決定フィードバックb^i-1を受信し、(i-1)番目の累積決定フィードバック(b^1,b^2,・・・,b^i-1)を用いてyを復号化してj番目の内部デコーダ決定b~
i≡(b~
i,1,b~
i,2,・・・,b~
i,Nout)を生成する。ここで、k=1,・・・,i-2に対するb^kは、k番目のレイヤ再復号化操作において再エンコーダ118によって生成されるk番目の決定フィードバックであり、b~
iはj番目の外部符号出力ブロックbiの推定値である。連結復号化の第1レイヤにおいて、i=1であれば(i-1)番目の累積決定フィードバック(b^1,b^2,・・・,b^i-1)はヌルであることに留意されたい。したがって、内部デコーダ114はyのみを使用して第1レイヤの復号化を実行可能である。また、理想的にはj番目の内部デコーダ決定b~
iはj番目の外部符号出力ブロックbiに等しいが、チャネル104内のノイズ及び他の不完全性により、時にはb~
iとbiは異なることにも留意されたい。b~
iがbiに一致しない場合には、本原理がi番目の外部符号Cout,iを頼りにb~
iの誤りを訂正し、biに一致するi番目の決定フィードバックb^iを供給する。したがって、i番目の決定フィードバックb^iは、biに一致する形、すなわちb^i=(b^i,1,b^i,1,・・・,b^i,Nout)を有する。ここでb^i,j=(b^i,j,1,b^i,j,2,・・・,b^i,j, pi)∈Fqi=F2
piであり、b^i,j,k∈F2である。
【0091】
内部デコーダ114の更なる詳細は以下の通りである。ステップ308において、レイヤカウンタ値がiに設定されると、内部デコーダ114が各j=1,2,・・・,Noutにおいて、符号Cin,j,iにi番目のレイヤの内部復号化操作を実行する。ここで、Cin,j,iはパラメータ(Nin,Kin,j,i≡Kin-Σk=1
i-1)|Lk|,Ai≡A\∪k=1
i-1)Lk,fj,i,g)を有するF2上のPAC符号であり、凍結ブロックfj,iはfj,i=αAicで与えられ、α∈F2
Ninは1≦k≦i-1に対してαAc=fかつαLk=(b^k,j,c^j,k)であり、c^j,k=hk(b^1,j,b^2,j,・・・,b^k,j)である。プリコーディング関数の因果的性質はこのステップの内部復号化操作の実行には欠かせないことに留意されたい。
【0092】
各1≦j≦Noutについて、内部符号Cin,j,iでのi番目のレイヤの内部復号化操作は、yj,(b^1,j,b^2,j,・・・,b^i-1,j)及び(c^j,1,c^j,2,・・・,c^j,i-1)を使用するb~
i,jの生成を含む。ここで、yj≡(yj,k:1≦k≦Nin)はyのj番目の行である。本原理の好ましい実施形態において、内部デコーダ114が、以下で議論するように、逐次デコーダなどのツリー探索アルゴリズムを使用してb~
i,jを生成する。各1≦j≦Noutに対してb~
i,jが準備できたときに、内部デコーダ114がi番目の内部デコーダ決定b~
iを外部デコーダ116へ送信してステップ308を完了する。
【0093】
一般的に、決定b~
i,jはbi,jと同じシンボルアルファベットからのシンボルである。ただし、本原理のいくつかの実施形態では、内部デコーダ114はb~
i,jを消失としてマークする。例えば、内部デコーダ114がプリコーディングブロックc^j,kに一致するb~
i,jの生成に失敗した場合、あるいは内部デコーダに計算上の制限時間が設けられていて復号化をその計算の制限時間内に完了できない場合などである。
【0094】
内部符号Cin,j,i上でのi番目のレイヤの内部復号化操作の実行において、内部デコーダ114は(b^1,j,b^2,j,・・・,b^i-1,j)を正しい評価値(b1,j,b2,j,・・・,bi-1,j)として扱う。決定フィードバックが正しくなければ、連結デコーダ106はそのような誤りから回復することはない。すなわち、内部デコーダ114は決定フィードバックの誤りを訂正することはできない。ただし、外部デコーダ116は一般的に決定b~
i,j内の誤りを訂正する。誤りの数、すなわちb~
i,j≠bi,jであるインデックスjの数が十分に小さければ、外部デコーダ116は誤りを訂正可能であり、b^i,j=bi,jとなる最終決定b^i,jを得ることができる。次に外部デコーダ116の詳細について説明する。
【0095】
ステップ310において、レイヤカウンタ値をiに設定して、外部デコーダ116がi番目の外部符号Cout,i上でi番目レイヤの外部復号化操作を実行する。外部デコーダ116は、内部デコーダ入力ポート138において内部デコーダ114からのi番目の内部デコーダ決定b~
iを受信して、i番目の外部デコーダ決定a^iを生成する。理想的にはa^iは外部デコーダ入力配列aのi番目の行aiの正確なコピーである。場合によっては、i番目のレイヤの外部復号化操作において復号化に失敗することがある。例えば境界距離デコーダが使用されて、誤り及び/又は消失の数が特定の閾値を超える場合である。外部デコーダ116が復号化の失敗を検出すると、アボートフラッグを設定する。復号化の失敗がない場合には、i番目の外部デコーダ決定a^iがa^i≡(a^i,1,a^i,2,・・・,a^i,Kout,i)の形となる。ここで、a^i,j=(a^i,j,1,a^i,j,2,・・・,a^i,i, pi)∈Fqi=F2
piであり、Kout,iはi番目の外部符号Cout,iの次元であり、piはi番目の外部符号Cout,iのシンボル長(ビット)である。理想的にはすべてのi,j,kに対してa^i,j,k=ai,j,kであり、ai,j,kは、前に定義したように、外部符号入力配列a=(ai,j:1≦i≦m;1≦j≦Kout,i)の要素ai,j=(ai,j,1,ai,j,2,・・・,ai,i, pi)のk番目のビットである。
【0096】
ステップ312において、連結デコーダ106がアボートフラッグが設定されているかどうかをチェックする。アボートフラッグが設定されていれば、復号化はステップ314の実行により中止される。アボート操作にづいて連結デコーダ106はステップ314からステップ302に移って新しい復号化サイクルを開始してもよい。
【0097】
ステップ316において、連結デコーダ106がm番目(最終)のレイヤの復号化が完了しているかどうかをチェックする。結果がイエスであればステップ322に進んで終了手順が実行される(後で説明)。チェック結果がノーであれば、ステップ318で復号化が継続される。
【0098】
ステップ318において、レイヤカウンタ値をiに設定して、再エンコーダ1118がi番目のレイヤの再符号化操作を実行する。ここで、i番目のレイヤの再符号化操作は、i番目の外部デコーダ決定a^iを符号化してi番目の決定フィードバックb^iを生成し、b^iを内部デコーダ入力ポートを介して内部デコーダ114へ送信する。ここで、i番目の決定フィードバックb^iは、i番目の外部デコーダ決定a^iに対応するi番目の外部符号Cout,iの符号語b^i=Cout,i(a^i)である。したがって、i番目のレイヤの再符号化操作は、外部エンコーダ110によって実行されるi番目のレイヤの外部符号化操作bi=Cout,i(ai)と同一である。
【0099】
ステップ320において、連結デコーダ106がレイヤカウンタiを1だけ増して、ステップ308に進んで次のレイヤの復号化を開始する。
【0100】
ステップ322において、外部デコーダ116が、d^
h=a^
ijkを設定することによって(a^
1,a^
2,・・・,a^
m)から連結デコーダ出力ブロックd^=(d^
1,d^
2,・・・,d^
K)∈F
2
Kを生成する。ここで、i=1,・・・,m、j=1,・・・,K
out,i、s=1,・・・,p
iに対してh=k+(j-1)p
i+Σ
S=1
i-1K
out,sp
sであり、a^
ijkはステップ322に関連して前に定義した通りである。ステップ322のこの操作は、
図2のステップ210の逆である。
【0101】
ステップ324において、外部デコーダ116が、連結デコーダ出力ポート144を通して連結デコーダ出力ブロックを送信先へ送信する。
【0102】
ステップ324において、連結デコーダ106が停止状態に入ることによりレイヤ化復号化操作が完了する。1つのレイヤ化復号化操作に別のレイヤ化復号化操作が続く本原理のいくつかの実施形態では、ステップ326は省略して復号化の新しいラウンドを開始してもよい。
【0103】
これで連結デコーダ106の説明は完了する。これにより、本原理の基本形の議論も完了する。次に、本原理の最も好ましい実施形態に進む。
【0104】
最も好ましい設計方法論
次に本原理による連結符号Cの設計のための最も好ましい方法を提示する。主たる設計目標は、目標レートRと目標FERであるP(d^≠d)を満たす連結符号Cを見つけることである。目標レートを満たす初期設計を考える。以下ではそのような設計に対するFERであるP(d^≠d)の評価法を示す。
【0105】
最初のタスクは、εi,j≡P(b~
i,j≠bi,j)、δi,j≡P(b~
i,j=e)、及びνi,j≡εi,j-δi,jを推定することである。ここで、εi,jは、内部符号Cin,j,iに対する、i番目のレイヤのシンボル誤り率であり、δi,jは内部符号Cin,j,iに対する、i番目のレイヤのシンボル消失率であり、νi,jは、i番目の内部符号に対するi番目のレイヤの未検出シンボル誤り率であり、eは消失シンボルを表し、消失シンボルeは、i番目の外部符号シンボルアルファベットのメンバでない任意のシンボルであってよく、i番目のレイヤのシンボル誤り率εi,jとi番目のレイヤのシンボル消失率εi,jは、デコーダがジニーによって正しいシンボル値{bk,j:1≦k≦i-1}が与えられているとして測定される。このようなエラー性能のジニー支援解析は極符号の設計には一般的であることは当業者には周知であり、本明細書において同様の種類の設計方法が採用される。
【0106】
すべてのiとjに対して、確率ν
i,jとδ
i,jが推定されると、次のステップは、各iに関して、i番目の外部符号C
out,iに対するFERであるP(a^
i≠a
i)を推定することである。ここで、境界条件P(a^
i≠a
i)≦φ
iを使う。ここで、φ
iは{2t+s≧d
out,i}である事象の確率であり、d
out,iはi番目の外部符号C
out,iの最小距離であり、tとsはそれぞれ、複数のi番目のレイヤの内部符号{C
in,j,i:1≦j≦N
out}の出力における未検出のシンボル誤りとシンボル消失の数である。φ
iの計算は、特にパラメータε
i,j,δ
i,j,及び ν
i,jが内部符号インデックスjに依存しない場合には簡単である。そうするとφ
iは、
【数12】
で計算できることが当業者にはわかるであろう。ここで、合計は、2t+s≧d
out,iを満足するすべての負でない整数tとsの全ペアについて行う。
【0107】
φiを上記の式で計算するか、他の方法で推定すると、結合境界P(d^≠d)≦Σi=1
mφiを使用して連結符号CのFERP(d^≠d)の上限を求める。FERP(d^≠d)に対する設計目標が達成されない場合には、新しいパラメータセットを試みる。実行可能な設計を見いだし、それを改良するためには、内部符号及び外部符号のパラメータ空間での多くの量の探索が含まれる。
【0108】
最も好ましい実施形態
本原理の最も好ましい実施形態では、i番目の外部符号Cout,iは、qi=2pi,1≦i≦mの体Fqi上のリード・ソロモン符号である。ここで、リード・ソロモン符号は、ブロック長がNout,i=2qi-1である正規のリード・ソロモン符号、又はブロック長がNout,i<2qi-1である短縮リード・ソロモン符号、又はブロック長がNout,i=2qiである拡張リード・ソロモン符号である。
【0109】
リード・ソロモン符号は分離可能な最小距離であるので、最も好ましい実施形態でのi番目の外部符号は、最小距離dout,i≡Nout,i-Kout,i+1を有する。i番目の外部符号Cout,iは、有界距離デコーダ(Berlekamp-Masseyアルゴリズムなど)を用いて復号する。これは2t+s<dout,iであれば、t個の誤りとs個の消失の任意の組み合わせを訂正可能である。
【0110】
本原理の最も好ましい実施形態における内部符号は、外部符号の数と同数のレイヤを有するLPAC符号dである。複数のデータレイヤインデックス集合を選択するための最も好ましい方法は、信頼性スコア関数法である。
【0111】
任意選択により、内部エンコーダ112は、デコーダにおいて誤り検出のためのプリコーディングを使用する。プリコーディングの選択肢を使用する場合、プリコーディングの最も好ましい方法は、巡回冗長検査(CRC)を使用することであり、これは低複雑度の符号化と誤り検出回路を持つ誤り検出方法の一種である
【0112】
最も好ましい実施形態において、内部デコーダ114は逐次復号化アルゴリズムを使用する。内部エンコーダでプリコーディングの選択肢が使用される場合、内部デコーダは誤り検出を使用して、誤りが検出されたときに消失シンボルを出力する。
【0113】
最も好ましい実施形態において、内部デコーダ114で使用される逐次デコーダはタイムアウト規則を備え、過剰な計算を抑制する。ここでタイムアウト規則は、逐次デコーダが符号ツリーのノードδの特定の部分集合を訪問する回数をカウントし、そのカウントが所定の限界Vmaxを超えた場合に復号を停止(中止)する。例えば、δは符号ツリーの全ノードの集合であるか、符号ツリー内の特定のレベルiの全ノードの集合であってよい。いくつかのタイムアウト規則を同時に適用することも可能である。逐次デコーダとしてスタックアルゴリズムが使用される場合、スタックアルゴリズムでは任意のノードへ2回以上訪問することはできないので、δ内のノードへの訪問回数は明確に定義される。他方で、ファノアルゴリズムではノードを(異なる「閾」値で)複数回訪問することが可能である。ファノアルゴリズムについては、タイムアウト規則を実装する代替法は集合δ内のノードへの初回の訪問だけをカウントすることである。
【0114】
実施例
本原理の最も好ましい実施形態の実施例を以下に4つ提示する。これらの実施例を提供する目的は本原理の実用性、特にGCC/MLC方式での効果的な内部符号化法としてのLPAC符号の有用性を例示することである。実施例は、プリコーディングと計算のタイムアウト法が、性能の向上及びデコーダの複雑度の低減に対する本原理の有効な構成要素であることを示すことも目的とする。先ず4つの実施例の共通の特徴を述べる。
【0115】
すべての実施例は、目標データレートR=0.75で目標FER10-15を満たすように設計された連結符号Cを示す。実施例のすべての連結符号Cは、同じブロック長Nout=256,Nin=128かつN=NoutNin=32,768、である。これにより異なる設計間の公平な比較を可能とする。
【0116】
実施例のチャネルは、2進入力加算性ガウス雑音チャネル(BI-AWGN)であり、積形式チャネル遷移密度関数W(y│x)=Π
j=1
Nout)Π
k=1
NinW(y
j,k)│x
j,k)を有する。ここで、
【数13】
であり、x
j,k=0であればs
j,k=-1であり、x
j,k=1であればs
j,k=1である。チャネルは信号対雑音比(SNR)が5.5デシベル(dB)で操作され、ここでSNR(dB)はSNR≡10log
10(1/σ
2)として定義される。したがって、5.5dBSNRはσ
2=3.55に対応する。(本明細書に記載のBI-AWGNチャネルは、二位相偏移変調(BPSK)モジュレーション用のモデルである。)
【0117】
実施例では、外部符号{Cout,i:1≦i≦m}は、ブロック長Nout=256の、Fq=256上の拡張リード・ソロモン符号である。外部符号の数mは固定され、外部符号{Cout,i}の次元{Kout,i}は自由設計パラメータのままである。i番目の外部符号Cout,iは境界距離デコーダを用いて復号化される。これは、dout,i≡Nout,i-Kout,i+1において、2t+s<dout,iであれば、t個の誤りとs個の消失の任意の組み合わせを訂正可能である。
【0118】
実施例中の内部符号CinはF2上のLPAC符号であって、ブロック長Nin=128、Kin=104,m=13レイヤ、インパルス応答g=(1,0,1,1,0,1,1)、凍結ブロックf=0である。内部符号Cinのデータインデックス集合Aとレイヤインデックス集合{Li}は、信頼性スコア関数を用いて選択される。ここで信頼性は、動作SNRが5.5dBのBI-AWGNチャネルの密度進化法によって計算される。4つの実施例すべてにおいてレイヤインデックス集合は以下の通りである。L1={14,15,20,41,49,67,69,73},L2={22,23,26,27,36,38,81,97},L3={29,39,42,43,45,50,68,70},L4={16,51,53,71,74,75,77,82},L5={24,28,57,83,85,89,98,99},L6={30,31,40,44,46,101,105,113},L7={47,52,54,55,58,72,76,78},L8={59,61,79,84,86,87,90,100},L9={91,93,102,103,106,107,109,114},
L10={32,48,56,60,80,115,117,121},L11={62,63,88,92,94,95,104,108},L12=,{110,111,116,118,119,122,123,125},L13={64,96,112,120,124,126,127,128}。
【0119】
実施例での内部デコーダはファノ逐次デコーダである。以下のすべての実施例において、符号ツリー内の全ノードへの訪問回数に限界Vmaxを有するタイムアウト規則が適用されて、各ノードへの各訪問が(最初の訪問だけでなく)カウントされる。
【0120】
実施例の設計手法では、内部符号の出力におけるシンボル誤り確率νi,jとシンボル消失確率δi,jを推定するシミュレーションが含まれる。ここでパラメータνi,jとδi,jはBI-AWGNチャネルとBPSK変調の対称性により、インデックスjには依存しない。したがって、表記を簡略化してνi,jとδi,jの代わりにνiとδiとする。
【0121】
未検出シンボル誤り率νiと推定シンボル消失率δiを推定するために、200個の未検出シンボル誤り又はシンボル消失が観測されるまで、あるいは試行回数が100万回に達するまで、シミュレーションを実行した。いくつかの場合では、νiとδiが小さすぎて、実際にシミュレーションで推定することができない。そのような場合には、密度推定法に基づく控えめな上限を使用してνiとδiを推定した。すべてのiに対して確率νiとδiが推定されると、Σi=1
mφiが目標のFERより小さくなるように次元Kout,iを選択する。ここでφi≡P(a^i≠ai)はi番目の外部符号のFERである。こうして上に与えられた式を用いてφiが計算された。
【0122】
実施例1
第1の実施例では内部符号は、ブロック長Nin=128、次元Kin=104、レイヤ数m=13のLPAC符号である。複数の外部符号{Cout,i:1≦i≦m}は表1の第2列にリストされているようにブロック長Nout=256、次元は{Kout,i:1≦i≦m}の、Fq=256上の拡張リード・ソロモン符号である。(i=12、13に関しては、i番目の外部符号Cout,iはレート1である。つまり、レイヤ13、14は外部符号で保護されていない。したがって実際には、レイヤ12、13、14を組み合わせて1つのレイヤとし、シンボル長8+8=16ビットの単一のレイヤとして見ることもできる。)
【0123】
外部符号のシンボル長は、表1の第3列に示すように、pi=8である。この実施例ではプリコーディングはないので、プリコーディングブロック長riは、これも表1の第3列に示すように0に設定される。
【0124】
内部デコーダは、符号ツリーの全ノードへの訪問回数においてタイムアウト制限Vmax=5,000、Nin=640,000を有する逐次デコーダである。表1の第4列はVave/Ninを示し、Vaveは、すべてのシミュレーション実行において符号ツリー内の訪問されたノードの平均数である。(各ノードへの各回の訪問が、最初の訪問だけではなく、例外なくカウントされる。)平均計算ではVmax/Nin=5000からはるかに離れていることが観察される。
【0125】
表1の第5列、第6列は、1≦i≦13の各列に対する推定される未検出シンボル誤り率νiと推定されるシンボル消失率δiである。この実施例ではプリコーディングがないので、プリコーディングの平均による誤り検出は不可能である。ただし、タイムアウト制限Vmaxのために消失はなおも発生し得る。すべてのレイヤにおいてδi=0という事実は、Vmax=640,000は計算量に対して緩い限界であることを示唆する。
【0126】
7~13のレイヤに関しては、100万回のシミュレーション試行では未検出誤りも消失も発生しなかったので、上述したように控えめな解析的上限を使用した。これらの解析的推定は表1の第6列に“*”で表示されている。
【0127】
表1の第7列のFER値φiは上記の式で得られた。合計Σi=1
m=13φiは1.32・10-16に等しい。これはこの実施例の連結符号に対するFERが目標のFER10-15を満たすことを示している。
【0128】
符号レートに関しては、最終連結符号が、次元K=Σ
i=1
13K
out,ip
i=24,560、符号ブロック長N=N
outN
in=32,768、及びレートR=K/N=0.750を有する。BI-AWGNチャネルでデータレートR=0.750を達成するための必要最小のSNRのシャノン限界(任意で大きなブロック長を許容)は3.381dBである。したがって、この実施例の連結符号に関するシャノン限界までの隔たりは約2.119dBである。
【表1】
【0129】
実施例2
第2の実施例は、インパルス応答多項式g(x)=1+x+x4を有する4ビットのCRCを有するプリコーディングを使用する以外は第1の実施例と同じである。CRCは内部符号の全データペイロードに対してチェックを行い、表2の第2列の最後の欄に示すようにCRCビットが内部符号の最終レイヤ(レイヤ13)に挿入される。CRCは内部デコーダ出力において誤りの一部を消失としてマークすることを可能とする。これにより外部符号の効率を高めさせる。
【0130】
第3の実施例のシミュレーション結果を表2に示す。合計Σi=1
m=13)φiは3.08・10-16であり、これはこの実施例の連結符号に対するFERが目標FERの10-15を満たすことを示している。この実施例の連結符号は、次元=Σi=1
13Kout,ipi=25,296、ブロック長N=32,768、及びレートR=K/N=0.772である。BI-AWGNチャネルでデータレートR=0.772を達成するための必要最小のSNRのシャノン限界は3.686dBである。したがって、この実施例の連結符号に関するシャノン限界までの隔たりは約1.814dBであると推定される。
【0131】
この第2の実施例は、CRCが一部の誤りを消失としてマークすることを助け、PAC符号により放置された多数の誤りからの回復を外部デコーダに可能とさせることにより、シャノン限界までの隔たりを狭めることが可能であることを示している。一般に、bビットのCRCは内部符号の出力においてシンボル誤りの2
-bの割合を検出できない。CRCの長さbは慎重に選択する必要がある。bが小さければプリコーディングのオーバヘッドが小さくなるが、誤り検出においては大きいbほど効果的でなくなる。
【表2】
【0132】
実施例3
第3の実施例は、Vmax=8、Nin=1024と設定したこと以外は第1の実施例と同じである。第3の実施例のシミュレーション結果を表3に示す。合計Σi=1
m=13φiが4.33・10-16であり、これはこの実施例の連結符号に対するFERが目標のFER10-15を満たすことを示す。
【0133】
連結符号は、次元K=Σi=1
13Kout,ipi=24,536、ブロック長N=32,768、レートR=K/N=0.749を有する。BI-AWGNチャネルでR=0.749を達成するための必要最小のSNRのシャノン限界は3.371dBである。したがって、この実施例の連結符号に関するシャノン限界までの隔たりは約2.219dBであると推定される。
【0134】
本実施例における符号レート、能力との差、及び平均演算V
ave/N
inは、ここでははるかに厳しい制限時間のV
maxを持っているにもかかわらず、第1の実施例の対応する数量にすべて近いことは注目に値する。厳しい計算の制限時間はデコーダのタイムアウトの結果として消失の生成となって現れる。そのようなタイムアウトは、内部符号性能の主要決定要因となる高次のレイヤで特に重要となる。この実施例では、シミュレーションによってすべてのレイヤで誤り/消失が測定されたため、解析的な境界を使用する必要がなかった。
【表3】
【0135】
実施例4
第4の実施例では、第2の実施例と同じ4ビットCRCを使用し、第3の実施例のようにVmax=8、Nin=1024に設定する。そのほかは第1の実施例と同じである。第4の実施例のシミュレーション結果を表4に示す。合計Σi=1
m=13φiは2.91・10-16であり、このことはこの実施例の連結符号のFERが目標のFER10-15を満たすことを示す。この実施例の連結符号は、次元K=Σi=1
13Kout,ipi=25,056、ブロック長N=32,768、レートR=K/N=0.765、である。BI-AWGNチャネルでR=0.765を達成するための必要最小のSNRのシャノン限界は3.585dBである。したがって、この実施例の連結符号に関するシャノン限界までの隔たりは約1.915dBであると推定される。
【0136】
第1の実施例と第3の実施例を比べると、能力との差に顕著な改善がみられる。それはプリコーディングの存在で説明される。第2の実施例と比較すると、能力との差に僅かな劣化がある。それは厳しい制限時間の使用が性能を大きくは劣化させなかったことを示す。また、タイムアウト機構は初期レイヤの復号化で効果を見せ、CRCは最終レイヤの誤り検出に有効であったと考察される。したがって、2つの方法は消失生成において相互に補完しあっている。
【表4】
【0137】
追加的な実装詳細
【0138】
本原理の最も好ましい実施形態を説明するために4つの実施例を提示した。以下ではこれらの実施例に含まれていない代替実施形態をいくつか説明する。
【0139】
最も好ましい実施形態は、PAC符号に対する内部デコーダとしての逐次デコーダに関連して説明した。逐次デコーダは、もともと畳み込み符号の復号化用に設計された、深さ優先の探索アルゴリズムである。当業者であれば、もともと畳み込み符号化のために設計された様々なそのほかの復号化方法を適応させることによって、内部PAC符号の復号化が可能なことを理解するであろう。そのようなものとして、ビタビ復号化、状態ごとの候補経路リストを用いたビタビ復号化、あるいは極符号の逐次キャンセルリスト復号化に類似したビーム探索アルゴリズムなどを含む、幅優先探索アルゴリズムがある。
【0140】
本原理の最も好ましい実施形態において、タイムアウト規則が制限時間Vmaxによって強制されてきた。これの代替としては、復号化タスクを完了したi番目のレイヤの内部デコーダの数が特定の閾値を超えるとすぐに、i番目のレイヤの内部復号化からi番目の外部符号の復号化へ切り替えることがある。
【0141】
上で述べた第2と第4の実施例では、1つのプリコーディングブロックがLPAC符号の最終レイヤに配置された。そのようなプリコーディングブロックは全レイヤに対してチェックを提供する。しかしながら、内部符号用の逐次デコーダは、誤り検出にプリコーディングブロックを利用する前に、その探索を完了しなければならない。代替の一方法は、複数のレイヤに分布している複数のプリコーディングブロックを使用して誤り検出を高速化することである。
【0142】
最も好ましい実施形態を、外部リード・ソロモン符号のための境界距離デコーダに関連して説明した。代替の実装として、内部デコーダによって提供されるソフト情報を利用可能なデコーダの一種である汎用最小距離(GMD)デコーダなどのより強力なデコーダによって置き換えることも可能である。
【0143】
本原理を二進アルファベットF2={0,1}上の内部符号に関して提示した。当業者であれば、本原理を非二進アルファベット上の内部符号の場合に一般化することは全く困難ではないであろう。
【0144】
本原理は内部LPAC符号の非体系的符号化に関連して提示した。本原理を内部LPAC符号の体系的符号化で実装することも可能である。
【0145】
本原理は、内部LPAC符号が2の累乗のブロック長を有する場合について提示した。これの代替法として、本明細書に援用した「E. Arikan, U.S. Patent Application No. 16700972, 2-Dec-2019」に開示の方法を使用してブロック長Ninを任意の所望の値に調整する、PAC符号のショートニング及びパンクチュアリング方法の使用がある。
【0146】
これで本原理の様々な実施形態の説明を終了する。次に、本原理が使用可能な通信システムのいくつかの例を述べる。本原理は、高信頼のデータ保護が必要とされる、任意の種類の通信又は記憶システムに使用可能である。そのようなシステムの例としては、無線及び有線通信システム(衛星通信又は光通信を含む)、並びにコンピュータメモリシステム又はクラウドストレージシステムがある。
【0147】
図4は、本開示による、連結極性調整畳み込み符号を使用して符号化及び復号化を実装可能な無線ネットワーク例を示す図である。
図4に示す無線ネットワーク400の実施形態は、説明のためだけのものである。無線ネットワーク400の他の実施形態も本開示の範囲から乖離することなく使用可能である。無線ネットワーク400は、eNodeB(eNB)401、eNB402及びeNB403を含む。eNB401は、eNB402及びeNB403と通信する。eNB401はまた、インターネットや、専用IPネットワーク若しくは他のデータネットワークなどの、少なくとも1つのインターネットプロトコル(IP)ネットワーク430と通信する。
【0148】
ネットワークの種類によって、「eNodeB」や「eNB」の代わりに、「基地局」、「アクセスポイント」などの他の周知の用語が使用されてもよい。便宜上、遠隔端末に無線アクセスするネットワークのインフラ構成要素の呼称に、本特許書類では用語「eNodeB」及び「eNB」を用いる。また、ネットワークの種類によって、「ユーザ機器」又は「UE」の代わりに、「移動局」(または「MS」)、「加入者局」(または「SS」)、「リモート端末」、「無線端末」、または「ユーザーデバイス」などの他のよく知られた用語が使用されてもよい。UEが(携帯電話又はスマートフォンなどの)モバイル装置であるか、(デスクトップコンピュータ又は自動販売機などの)固定装置であると通常考えられるかに拘わらず、便宜上、「ユーザ機器」及び「UE」はこの特許文書においては、eNBに無線でアクセスするリモート無線機器を指す。
【0149】
eNB802が、eNB802のカバー領域420内の第1の複数のユーザ機器(UE)に対してネットワーク430への無線ブロードバンドアクセスを提供する。第1の複数のユーザ機器(UE)には、小企業(SB)に配置され得るUE411、企業(E)に配置され得るUE412、WiFiホットスポット(HS)に配置され得るUE413、第1の住居(R1)に配置され得るUE414、第2の住居(R2)に配置され得るUE415、及び携帯電話、無線ラップトップ、無線携帯情報端末(PDA)などのモバイル装置(M)であり得るUE416が含まれる。eNB403が、eNB403のカバー領域425内の第2の複数のUEに対して、ネットワーク430への無線ブロードバンドアクセスを提供する。第2の複数のUEには、UE415及びUE416が含まれる。いくつかの実施形態において、1つ以上のeNB401~403は、3G、4G若しくは5G、ロングタームエボリューション(LTE)、LTE-A、WiMAX、又はその他の進歩した無線通信技術を用いて相互に通信可能である。
【0150】
点線はカバー領域420、425の近似的範囲を示し、これらは例示及び説明の目的で、近似的に円形として示されている。カバー領域420、425などの、eNBに関係するカバー領域は、eNBの構成及び、自然及び人工の遮蔽物に関する無線環境の変動に依存して、不定形を含む他の形状であってもよいことは明らかに理解されるであろう。
【0151】
以下でより詳細を述べるように、eNB401、eNB402及びeNB403の1つ以上は、本開示の実施形態と併せて使用可能な2Dアンテナ配列を含む。いくつかの実施形態において、eNB401、eNB402及びeNB403の内の1つ以上が、2Dのアンテナ配列を有するシステムに対して、コードブック設計及び構造をサポートする。
【0152】
図4は無線ネットワーク400の一例を示すが、
図4に対して様々な変更を加えることができる。例えば、無線ネットワーク400は任意の数のeNBと任意の数のUEを任意の適切な構成で含むことができる。また、eNB401は任意数のUEと直接通信可能であって、それらのUEにネットワーク430への無線ブロードバンドアクセスを提供してもよい。同様に、eNB402~403のそれぞれはネットワーク430に直接通信可能であって、UEにネットワーク430への直接無線ブロードバンドアクセスを提供してもよい。さらに、eNB401、402、及び/又は403は、外部の電話ネットワークや他の種類のデータネットワークなどの、他の又は追加的な外部ネットワークへのアクセスを提供してもよい。
【0153】
図に示し、上で説明した、例示的なチャネル復号化システムは、以下でさらに詳細を述べるように、eNB(eNB402など)及び/又はUE(UE416など)に実装されてもよい。
【0154】
図5Aは、本開示による、連結極性調整畳み込み符号を使用してデータの符号化及び復号化を実装可能なユーザ機器ネットワーク例を示す図である。
図5Aに示すUE416の実施形態は、説明のためだけのものであって、
図4のUE411~416は、同一又は類似の構成をとり得る。ただし、UEは多種の構成をとり、
図5Aは本開示の範囲を、いかなる特定のUEの実装にも限定するものではない。
【0155】
UE416は、アンテナ505、無線周波数(RF)送受信器510、送信(TX)処理回路515(これは
図1の連結エンコーダ102を含んでよい)、マイクロフォン520及び受信(RX)処理回路525(これは
図1の連結デコーダ106をを含んでよい)を含む。UE416はまた、スピーカ530、主プロセッサ540、入出力(I/O)インタフェース(IF)545、キーパッド550、ディスプレイ555、及びメモリ560を含む。メモリ560は、基本オペレーティングシステム(OS)プログラム561及び1つ以上のアプリケーション562を含む。OSプログラム561、アプリケーション562の1つ又はそれらの何らかの組み合わせのいずれかが、
図1~
図3の様々な実施形態で説明した誤り訂正符号化を使用するためのプログラミングを実装してもよい。
【0156】
RF送受信器510は、アンテナ505からネットワーク400のeNBにより送信された入射RF信号を受信する。RF送受信器510は、入力RF信号をダウンコンバートして、受信器(RX)処理回路525に送信される、中間周波数(IF)又はベースバンド信号を生成する。Rx処理回路525は、処理信号を(音声データ用などの)スピーカ530へ、又は(ウェブブラウジングデータなどの)更なる処理のために主プロセッサ540は送信する。
【0157】
送信(TX)処理回路515は、ソースデータブロックのための少なくとも何らかの入力データとして、マイクロフォン520からのアナログ又はデジタルの音声データ、又は主プロセッサ540からのその他の出力ベースバンドデータ(ウェブデータ、eメール又はインタラクティブなビデオゲームデータなど)を受信する。TX処理回路515は、符号化を実行する。RF送受信器510は、送信処理されたベースバンド又はIF信号をTX処理回路515から受信し、ベースバンド又はIF信号をアップコンバートして、アンテナ505を介して送信されるRF信号とする。
【0158】
主プロセッサ540は、1つ以上のプロセッサ又は他の処理装置を含んで、UE416の全体の動作を制御するために、メモリ560に格納された基本OSプログラム561を実行することができる。例えば、主プロセッサ540は、周知の原理によって、順方向チャネル信号の受信及び逆方向チャネル信号の送信をRF送受信器510、RX処理回路525及びTX処理回路515によって制御可能である。いくつかの実施形態において、主プロセッサ540は少なくとも1つのプログラマブルマイクロプロセッサ又はマイクロコントローラを含む。また他の実施形態では、主プロセッサは専用回路(例えば組織及び/又は非組織符号化又は復号プロセス、ショートニングプロセス、データマッピングなどのための)専用回路、並びに(任意選択的に)プログラマブル論理回路又は処理回路を含む。
【0159】
主プロセッサ540はまた、2Dアンテナ配列を有するシステムに関するチャネル品質測定及び報告のための動作などの、メモリ560に常駐する他のプロセス及びプログラムを実行することも可能である。主プロセッサ540は、実行プロセスによる要求に応じて、データ及び/又は命令をメモリ560の内外に移動可能である。いくつかの実施形態において、主プロセッサ540は、OSプログラム561に基づいて、あるいはeNB又はオペレータから受信した信号に応答してアプリケーション562を実行するように構成される。主プロセッサ540はまた、I/Oインタフェース545に結合される。これがUE416に、ラップトップコンピュータ及びハンドヘルドコンピュータなどの他のデバイスへの接続を可能とする。I/Oインタフェース545は、これらのアクセサリと主コントローラ540との間の通信経路である。
【0160】
主プロセッサ540はまた、キーパッド550(これは単純に1つのボタンであるか、又はアレイ若しくは別のボタンの組であってよい)及びディスプレイユニット555に結合される。UE416のオペレータは、キーパッド550を使用してUE416にデータを入力することが可能である。ディスプレイ555は、タッチスクリーンディスプレイ又は他のディスプレイであって、テキスト及び/又はウェブサイトからなどの少なくとも限られた図形をレンダリングし、かつ既知のやり方に従ってユーザからタッチ入力を受信することができる。
【0161】
メモリ560は主プロセッサ540に結合され、メモリ560の少なくとも一部はランダムアクセスメモリ(RAM)を含み、かつメモリ560の別の一部はフラッシュメモリまたは他の読み出し専用メモリ(ROM)を含むことができる。
【0162】
図5AはUE416の一例を示すが、
図5Aに対して様々な変更を加えることができる。例えば、
図5Aの様々な構成要素を組み合わせること、さらに細分化すること、あるいは省略することが可能であり、そして特定の必要性に応じて追加の構成要素を加えてもよい。具体的な例として、主プロセッサ540を、1つ以上の中央処理ユニット(CPU)、1つ以上のフィールドプログラマブルゲートアレイ(FPGA)、及び1つ以上のグラフィック処理ユニット(GPU)などの、複数のプロセッサに分割することが可能である。また、
図5AではUE416は携帯電話又はスマートフォンとして構成されているが、UEは別のタイプのモバイル装置又は固定装置として動作するように構成されてもよい。
【0163】
図5Bは、本開示による連結極性調整畳み込み符号を使用してデータの符号化及び復号化を実装可能な、エンハンストNodeB(eNB)ネットワークの一例を示す図である。
図5Bに示すeNB402の実施形態は説明のためだけのものであって、
図4の他のeNBも同一又は類似の構成をとり得る。ただし、eNBは多種の構成をとり、
図5Bは本開示の範囲をいかなる特定のeNBの実装にも限定するものではない。eNB401及びeNB403は、eNB402と同一又は類似の構造を含み得ることに留意されたい。
【0164】
図5Bに示すように、eNB402は複数のアンテナ570a~570n、複数のRF送受信器572a~572n、送信(TX)処理回路574、及び受信(Rx)処理回路576を含む。特定の実施形態では、複数のアンテナ570a~570nの1つ以上が2Dアンテナアレイを含む。eNB402はまた、コントローラ/プロセッサ578、メモリ580、及びバックホールまたはネットワークインタフェース582も含む。
【0165】
RF送受信器572a~572nは、UE又は他のeNBから送信された信号などの入力RF信号を、アンテナ570a-570nから受信する。RF送受信器572a~572nは、入力RF信号をダウンコンバートして、IF又はベースバンド信号を生成する。IF又はベースバンド信号は、Rx処理回路576に送信される。これが、ベースバンド又はIF信号をフィルタリング、復号及び/又はデジタル化して、処理済み信号を生成する。Rx処理回路576は処理済み信号を、更なる処理のためにコントローラ/プロセッサ578に送信する。
【0166】
TX処理回路574が、連結エンコーダ102から少なくともいくつかの入力データを受信する。Tx処理回路574は、回路を実装して、出力ベースバンドデータを符号化、多重化、及び/又はデジタル化して、処理済み信号を生成する。RF送受信器572a~572nは、Tx処理回路574からの出力処理済み信号を受信して、ベースバンド又はIF信号をアップコンバートして、アンテナ905を介して送信されるRF信号とする。
【0167】
コントローラ/プロセッサ578は、eNB402の全体動作を制御する1つ以上のプロセッサ又は他の処理デバイスを含むことができる。例えば、コントローラ/プロセッサ578は、周知の原理により、RF送受信器572a~572n、Rx処理回路576及びTX処理回路574によって順方向チャネル信号の受信及び逆方向チャネル信号の送信を制御可能である。コントローラ/プロセッサ578は、より進歩した無線通信機能などの、追加機能もまたサポートすることができる。コントローラ/プロセッサ578により、eNB402におけるその他の任意の多種の機能をサポートすることができる。いくつかの実施形態において、コントローラ/プロセッサ578は少なくとも1つのマイクロプロセッサ又はマイクロコントローラを含み、他の実施形態において、主プロセッサは専用回路は(例えば符号化及び復号化プロセス、符号パンクチャリング及び/又はショートニングプロセス、データマッピングなどのための)専用回路、並びに(任意選択的に)プログラマブル論理回路又は処理回路を含む。
【0168】
コントローラ/プロセッサ578は、メモリ580に常駐する基本OSなどのプログラム及び他のプログラムもまた実行可能である。コントローラ/プロセッサ578はまた、2Dアンテナアレイを有するシステムに関するチャネル品質測定及び報告をすることも可能である。いくつかの実施形態においてコントローラ/プロセッサ578は、エンティティ間の通信をサポートする。コントローラ/プロセッサ578は、実行プロセスによる必要性に応じて、データ及び/又は命令をメモリ580の内外に移動可能である。
【0169】
コントローラ/プロセッサ578はまたバックホール又はネットワークインタフェース582に結合される。バックホール又はネットワークインタフェース582は、eNB402がバックホール接続またはネットワーク上で他のデバイス又はシステムと通信することを可能とする。インタフェース582は、任意の適切な有線又は無線の接続上での通信をサポートしてもよい。例えば、eNB402が(3G、4G、5G、LTE、又はLTE-Aをサポートするものなどの)セルラー通信システムの一部として実装される場合、インタフェース582はeNB402を、有線又は無線のバックホール接続上で他のeNBと通信させることが可能である。eNB402がアクセスポイントとして実装される場合、インタフェース582はeNB402を、有線又は無線のローカルエリアネットワーク又は有線又は無線の接続によって、(インターネットなどの)より大きなネットワークへの通信を可能とすることができる。インタフェース582は、イーサネット又はRF送受信器などの、有線又は無線接続での通信をサポートする任意の適切な構造を含む。
【0170】
メモリ580はコントローラ/プロセッサ578に結合される。メモリ580の一部にはRAMが含まれ、メモリ580の別の一部にはフラッシュメモリまたは他のROMが含まれ得る。特定の実施形態においては、複数の命令がメモリに格納される。命令は、コントローラ/プロセッサ578に、組織及び/又は非組織符号化又は復号化プロセス、ショートニングプロセス、データマッピングなどを実行させるように構成される。
【0171】
図5BはeNB402の一例を示すが、
図5Bに対して様々な変更を加えることができる。例えば、eNB402は図示された各構成要素を任意の数だけ含むことが可能である。特定の例として、アクセスポイントが複数のインタフェース582を含み、コントローラ/プロセッサ578が異なるネットワークアドレス間でデータをルーティングするルーティング機能をサポートしてもよい。別の特定の例としてeNB402は、TX処理回路574の単一のインスタンスとRx処理回路576の単一のインスタンスを含むものとして示しているが、それぞれ(RF送受信器ごとに1つなどの)複数のインスタンスを含んでもよい。
【0172】
本明細書において、特定の実施形態を詳細に説明し、図に示したが、本開示が包含する主題は特許請求の範囲によってのみ制限されることを理解されたい。本開示は、例示的な実施形態を用いて説明したが、当業者には様々な変更及び修正が示唆されるであろう。本開示は、添付の特許請求の範囲内にあるそのような変更及び修正を包含することが意図されている。