IP Force 特許公報掲載プロジェクト 2022.1.31 β版

知財求人 - 知財ポータルサイト「IP Force」

▶ エヌティーティー リサーチ インコーポレイテッドの特許一覧

特表2023-543364ノイズのあるチャネルに関する誤り訂正コード
<>
  • 特表-ノイズのあるチャネルに関する誤り訂正コード 図1
  • 特表-ノイズのあるチャネルに関する誤り訂正コード 図2
  • 特表-ノイズのあるチャネルに関する誤り訂正コード 図3
  • 特表-ノイズのあるチャネルに関する誤り訂正コード 図4
< >
(19)【発行国】日本国特許庁(JP)
(12)【公報種別】公表特許公報(A)
(11)【公表番号】
(43)【公表日】2023-10-13
(54)【発明の名称】ノイズのあるチャネルに関する誤り訂正コード
(51)【国際特許分類】
   G06F 21/64 20130101AFI20231005BHJP
【FI】
G06F21/64
【審査請求】未請求
【予備審査請求】未請求
(21)【出願番号】P 2023544182
(86)(22)【出願日】2021-09-28
(85)【翻訳文提出日】2023-05-25
(86)【国際出願番号】 US2021052447
(87)【国際公開番号】W WO2022072368
(87)【国際公開日】2022-04-07
(31)【優先権主張番号】63/085,132
(32)【優先日】2020-09-29
(33)【優先権主張国・地域又は機関】US
(81)【指定国・地域】
(71)【出願人】
【識別番号】523112138
【氏名又は名称】エヌティーティー リサーチ インコーポレイテッド
(74)【代理人】
【識別番号】100107766
【弁理士】
【氏名又は名称】伊東 忠重
(74)【代理人】
【識別番号】100070150
【弁理士】
【氏名又は名称】伊東 忠彦
(74)【代理人】
【識別番号】100135079
【弁理士】
【氏名又は名称】宮崎 修
(72)【発明者】
【氏名】グロスマン オフェル
(72)【発明者】
【氏名】ホルムグレン ジャスティン
(72)【発明者】
【氏名】ヨゲヴ エイロン
(57)【要約】
本発明は、入力メッセージに関して圧縮ハッシュ関数を実行し、そのハッシュ関数の出力と入力メッセージを符号化して、1つの結合されたメッセージを生成し、結合されたメッセージ関して置換関数を実行し、且つ置換関数の結果をリスト復号可能コードで符号化することにより、ノイズに対するロバスト性を備えた、メッセージを符号化システム、方法、ネットワーク・デバイス、及び機械読み取り可能な媒体に関連する。
【特許請求の範囲】
【請求項1】
ノイズに対するロバスト性を有する、メッセージを符号化するコンピュータが実行する方法であって:
入力メッセージを受信するステップ;
前記入力メッセージをコンピュータ・データ記憶部に記憶するステップ;
前記入力メッセージに関して圧縮ハッシュ関数を実行して出力を生成するステップ;
前記圧縮ハッシュ関数の出力と前記入力メッセージを符号化して、1つの結合されたメッセージを生成するステップ;
前記結合されたメッセージ関して置換関数を実行して結果を生成するステップ;
前記置換関数の結果をリスト復号可能コードで符号化するステップ;及び
その符号化された結果を、前記コンピュータ・データ記憶部に記憶するステップ;
を含む方法。
【請求項2】
請求項1に記載の方法において、前記圧縮ハッシュ関数は、前記入力メッセージよりビット長が短い出力を伴う暗号ハッシュ関数であり;及び
1つの結合されたメッセージを生成するための符号化関数が、2つの一様にランダムな文字列に別々に適用され、各文字列は前記結合されたメッセージと同じ長さである場合に、結果の出力は、高い確率でハミング距離に関して互いに遠く離れている、方法。
【請求項3】
請求項1に記載の方法において、前記1つの結合されたメッセージは、前記入力メッセージと、前記圧縮ハッシュ関数の出力との連結である、方法。
【請求項4】
請求項1に記載の方法において、前記置換関数はkワイズ・デルタ依存性の性質を有し、kはそのサイズに基づいて選択された整数であり、デルタは実数であり、前記置換関数は効率的インバージョン・アルゴリズムを含む、方法。
【請求項5】
請求項1に記載の方法において、リスト復号可能コードは、ある効率的アルゴリズムが存在するような効率的p-list復号可能な性質を有し、その効率的アルゴリズムは、符号化されたメッセージのシンボルの高々pの割合がノイズによる影響を受けている、何らかのノイズを含む符号化されたメッセージを入力とし、且つ、前記入力メッセージを含む可能性のあるメッセージのリストを出力するものであり、pは0と1の間にある実数である、方法。
【請求項6】
請求項1に記載の方法において、前記符号化された結果を通信チャネルで送信するステップを更に含み、前記通信チャネルは有線又は無線であり、前記コンピュータ・データ記憶部はソリッド・ステート・デバイス又はハード・ドライブである、方法。
【請求項7】
請求項1に記載の方法において、更に:
前記符号化された結果を、前記コンピュータ・データ記憶部から読み込むステップ;及び
前記符号化された結果を、無線ブロードキャスト通信チャネルで複数の受信者に送信するステップ;
を含む方法。
【請求項8】
ノイズにより破損している可能性のあるコードワードを復号化するコンピュータが実行する方法であって:
オリジナル・メッセージを符号化したものをノイズの影響を受けている可能性のもとで受信するステップ;
前記オリジナル・メッセージを符号化したものにノイズの影響を受けている可能性のもとで適用されるリスト復号化アルゴリズムを利用することにより、文字列のリストを算出するステップ;
前記リスト内の各文字列について、置換関数を適用し、置換された文字列の新たなリストを生じるステップ;
置換された文字列の各々について、それをメッセージとハッシュ値とを含むのペアとして分析し、メッセージ_ハッシュ値ペアのリストを生じるステップ;
前記メッセージ_ハッシュ値ペアのリストの中から、前記ハッシュ値が、暗号ハッシュ関数を前記オリジナル・メッセージに適用した結果に等しくなっている全てのペアを選択するステップ;
選択するペアが存在しない場合、前記コードワードは訂正不能なノイズを含んでいたことを出力するステップ;及び
残存する少なくとも1つのペアが存在する場合であってその場合に限り、そのペアのメッセージ部分を出力するステップであって、そのペアの符号化は、ノイズの影響を受けている可能性のある受信した符号化に、ハミング距離が最も近いと決定されたものである、ステップ;
を含む、方法。
【請求項9】
請求項8に記載の方法において、前記置換関数はkワイズ・デルタ依存性の性質を有する置換関数のインバースであるように構成されており、kはそのサイズに基づいて選択された整数であり、デルタは実数であり、前記置換関数は効率的インバージョン・アルゴリズムを含む、方法。
【請求項10】
請求項8に記載の方法において、前記リスト復号化アルゴリズムは、メッセージ_ハッシュ値ペアの符号化が、前記ノイズの影響を受けている可能性のある受信した符号化に、相対的なハミング距離に関して「p-close」である可能性のある全てのメッセージ_ハッシュ値ペアのリストを列挙するように構成されており、pは0及び1の間にある実数である、方法。
【請求項11】
ノイズに対するロバスト性を有する、メッセージを符号化するコンピュータ・システムであって:
入力メッセージを受信するように構成された受信モジュール;
前記入力メッセージを記憶するように構成されたコンピュータ・データ記憶部;
コンピュータ・プロセッサ;
を有し、前記コンピュータ・プロセッサは:
前記入力メッセージに関して圧縮ハッシュ関数を実行して出力を生成するステップ;
前記圧縮ハッシュ関数の出力と前記入力メッセージを符号化して、1つの結合されたメッセージを生成するステップ;
前記結合されたメッセージ関して置換関数を実行して結果を生成するステップ;及び
前記置換関数の結果をリスト復号可能コードで符号化するステップ;
を実行するように構成されている、システム。
【請求項12】
請求項11に記載のシステムにおいて、前記圧縮ハッシュ関数は、前記入力メッセージよりビット長が短い出力を伴う暗号ハッシュ関数であり;及び
1つの結合されたメッセージを生成するための符号化関数が、2つの一様にランダムな文字列に別々に適用され、各文字列は前記結合されたメッセージと同じ長さである場合に、結果の出力は、高い確率でハミング距離に関して互いに遠く離れている、システム。
【請求項13】
請求項11に記載のシステムにおいて、前記1つの結合されたメッセージは、前記入力メッセージと、前記圧縮ハッシュ関数の出力との連結である、システム。
【請求項14】
請求項11に記載のシステムにおいて、前記置換関数はkワイズ・デルタ依存性の性質を有し、kはそのサイズに基づいて選択された整数であり、デルタは実数であり、前記置換関数は効率的インバージョン・アルゴリズムを含む、システム。
【請求項15】
請求項11に記載のシステムにおいて、リスト復号可能コードは、ある効率的アルゴリズムが存在するような効率的p-list復号可能な性質を有し、その効率的アルゴリズムは、符号化されたメッセージのシンボルの高々pの割合がノイズによる影響を受けている、何らかのノイズを含む符号化されたメッセージを入力とし、且つ、前記入力メッセージを含む可能性のあるメッセージのリストを出力するものであり、pは0と1の間にある実数である、システム。
【請求項16】
請求項11に記載のシステムにおいて、前記符号化された結果を通信チャネルで送信するように構成された送信機を更に含み、前記通信チャネルは有線又は無線であり、前記コンピュータ・データ記憶部はソリッド・ステート・デバイス又はハード・ドライブである、システム。
【請求項17】
請求項11に記載のシステムにおいて、前記コンピュータ・プロセッサは、更に:
前記符号化された結果を、前記コンピュータ・データ記憶部から読み込むステップ;及び
前記符号化された結果を、無線ブロードキャスト通信チャネルで複数の受信者に送信するステップ;
を行うように構成されている、システム。
【請求項18】
ノイズにより破損している可能性のあるコードワードを復号化するコンピュータ・システムであって:
コンピュータ・プロセッサ;及び
メッセージ部分を記憶するように構成されたコンピュータ・データ記憶部;
を備え、前記コンピュータ・プロセッサは:
オリジナル・メッセージを符号化したものをノイズの影響を受けている可能性のもとで受信するステップ;
前記オリジナル・メッセージを符号化したものにノイズの影響を受けている可能性のもとで適用されるリスト復号化アルゴリズムを利用することにより、文字列のリストを算出するステップ;
前記リスト内の各文字列について、置換関数を適用し、置換された文字列の新たなリストを生じるステップ;
置換された文字列の各々について、それをメッセージとハッシュ値とを含むペアとして分析し、メッセージ_ハッシュ値ペアのリストを生じるステップ;
前記メッセージ_ハッシュ値ペアのリストの中から、前記ハッシュ値が、暗号ハッシュ関数を前記オリジナル・メッセージに適用した結果に等しくなっている全てのペアを選択するステップ;
選択するペアが存在しない場合、前記コードワードは訂正不能なノイズを含んでいたことを出力するステップ;及び
残存する少なくとも1つのペアが存在する場合であってその場合に限り、そのペアの前記メッセージ部分を出力するステップであって、そのペアの符号化は、ノイズの影響を受けている可能性のある受信した符号化に、ハミング距離が最も近いと決定されたものである、ステップ;
を実行するように構成されている、システム。
【請求項19】
請求項18に記載のシステムにおいて、前記置換関数はkワイズ・デルタ依存性の性質を有する置換関数のインバースであるように構成されており、kはそのサイズに基づいて選択された整数であり、デルタは実数であり、前記置換関数は効率的インバージョン・アルゴリズムを含む、システム。
【請求項20】
請求項18に記載のシステムにおいて、前記リスト復号化アルゴリズムは、メッセージ_ハッシュ値ペアの符号化が、前記ノイズの影響を受けている可能性のある受信した符号化に、相対的なハミング距離に関して「p-close」である可能性のある全てのメッセージ_ハッシュ値ペアのリストを列挙するように構成されており、pは0及び1の間にある実数である、システム。
【発明の詳細な説明】
【技術分野】
【0001】
[001] 関連出願の相互参照
[002] 本件出願は、2020年9月29日付けで出願された米国仮出願第63/085,132号の優先権を主張しており、同出願の全内容は参照により本件に援用される。
【0002】
[003] 発明の技術分野
[004] 本開示は、計算有界ノイズ(computationally bounded noise)を有するチャネルに対する一意に復号可能な誤り訂正コード、特に、パブリック・コイン(トランスペアレント)設定及び暗号ハッシュ関数を前提とするものに関連する。
【背景技術】
【0003】
[005] 発明の背景
[006] 誤り訂正コード(Error correcting codes,ECC)は、信頼性の低い通信チャネルでメッセージを送信する場合に誤りを処理するためのツールである。これらは、先ず、付加的な冗長情報とともにメッセージを符号化し、次いでそれらがチャネルで送信されることにより機能する。これは、伝送中に発生する可能性のある限られた数のエラーが存在したとしても、受信者が、元の符号化されたメッセージを回復することを可能にする。
【0004】
[007] 1950年代に導入されて以来、誤り訂正コードは実用的応用と理論的計算科学の両方でそれらの役割に起因して盛んな研究分野となっている。中心的な未解決な問題の1つは、コードのレート(メッセージ長をコードワード長で割ったもの)とコードの誤り耐性(復号化アルゴリズムが許容できるエラーの数)との間の厳しいトレードオフに関連するものである。コードの最大レートに関して、その距離の観点から幾つかの既知の基本的な限界(例えば、ハミング(Hamming)限界、シングルトン(Singleton)限界、プロトキン(Plotkin)限界)があり、従来技術のコード(特に、少ないアルファベット数にわたるもの)は、しばしば著しく低いレートしか達成しない
[008] より良いレートを達成するために、誤り訂正の2つの主要な緩和が提案されている。リスト復号化(list decoding)と呼ばれる第1のものにおいては、復号化アルゴリズムは、当初符号化されたメッセージを出力するためにはもはや必要とされないが、その代わりに、元のメッセージを含むように必要とされるメッセージの短いリストを出力することができる。第2の緩和法においては、送信者と受信者の間の通信チャネルが何らかの方法で制限されていると仮定される。換言すれば、コードは、最悪なケースのエラーを完全に処理するようにはもはや要求されない。我々にとって最も関連のあるモデルは、計算有界チャネル(computationally bounded channel)であり、これは、大まかに言えば、多項式時間プロセスによって生成されるようなコードワードエラーをモデル化する。
【0005】
[009] 既知の解決策は、最悪ケースのエラーに対するコードによって達成可能なレートより優れたものを用いて、計算有界チャネルに対するコードを構築しているが、それらのコードは信頼できるセットアップを必要とする。具体的には、それらのコードの符号化アルゴリズムと復号化アルゴリズムはシークレット・キーを必要とし、シークレット・キーは、漏洩すると、効率的なチャネルが、比較的少数の破損(corruption)で復号化アルゴリズムを妨害することを許容してしまう。シークレットなランダム性は、パブリックなランダム性(透明性とも呼ばれる)よりも具体化することがはるかに困難である。従って、透明性のあるセットアップとともに計算有界チャネルに対して、効率的に使用可能な一意に復号可能なコードに対するニーズが存在する。
【0006】
[010] 既知の構成の更なる欠点は、それらがステートフルなエンコーダを必要とすることであり、そのことは、複数のメッセージの同時送信を必要とするアプリケーションやデータ・ストレージでの使用に、既知の構成を適していないものにする可能性がある。1つの既知の解決策では、エンコーダの状態が決して反復しないことが、セキュリティのために不可欠であり、また、デコーダの状態がエンコーダの状態と同期していることが、正確性のために不可欠である。別の既知の解決策では、デコーダはステートレス(stateless)であるが、エラーがオンライン方式で選択されることがセキュリティのために不可欠である。換言すれば、cの後に符号化されたコードワードc’を見た後に、コードワードcが破損しているかどうかの保証はない。これは、使用される正確な環境に対するコードのエラー耐性についての、エンコーダのステートフル性によって誘発される望ましくない依存関係を例証している。従って、ステートレス・エンコーダで計算有界チャネルに対して効率的に使用可能な一意に復号可能コードに対するニーズも存在する。
【発明の概要】
【0007】
[011] 発明の概要
[012] 本発明の一部の実施形態は、ノイズに対するロバスト性を有する、メッセージを符号化するシステム及び方法含み、入力メッセージを受信するステップ;入力メッセージをコンピュータ・データ記憶部に記憶するステップ;入力メッセージに関して圧縮ハッシュ関数機能を実行して出力を生成するステップ;圧縮ハッシュ関数の出力と入力メッセージを符号化して、1つの結合されたメッセージを生成するステップ;結合されたメッセージ関して置換関数機能を実行して結果を生成するステップ;置換関数の結果をリスト復号可能コード(list-decodable code)を用いて符号化するステップ;及び符号化された結果をコンピュータ・データ記憶部に記憶するステップを含む。
【0008】
[013] 一部の更なる実施形態では、圧縮ハッシュ関数は、入力メッセージよりビット長が短い出力を伴う暗号ハッシュ関数であり;及び1つの結合されたメッセージを生成するための符号化関数が、2つの一様にランダムな文字列に別々に適用され、各文字列は結合されたメッセージと同じ長さである場合に、結果の出力は、高い確率でハミング距離に関して互いに遠く離れている。
【0009】
[014] 一部の更なる実施形態では、1つの結合されたメッセージは、入力メッセージと、圧縮されたハッシュ関数の出力との連結である。
【0010】
[015] 一部の更なる実施形態では、置換関数はkワイズ・デルタ依存性(k-wise delta-dependence)の性質を有し、kはそのサイズに基づいて選択された整数であり、デルタは実数であり、置換関数は効率的インバージョン・アルゴリズム(efficient inversion algorithm)を含む。
【0011】
[016] 一部の更なる実施形態では、リスト復号可能コードは、ある効率的アルゴリズムが存在するような効率的p-list復号可能(efficiently p-list decodable)である性質を有し、その効率的アルゴリズムは、符号化されたメッセージのシンボルの高々pの割合(p fraction of the symbols)がノイズによる影響を受けている、何らかのノイズを含む符号化されたメッセージを入力として取り、且つ、入力メッセージを含む可能性のあるメッセージのリストを出力するものであり、pは0と1の間にある実数である。
【0012】
[017] 一部の更なる実施形態は、符号化された結果を通信チャネルで送信するステップを更に含み、通信チャネルは有線又は無線であり、コンピュータ・データ記憶部はソリッド・ステート・デバイス又はハード・ドライブである。
【0013】
[018] 一部の更なる実施形態は、符号化された結果を、コンピュータ・データ記憶部から読み込むステップ;及び符号化された結果を、無線ブロードキャスト通信チャネルで複数の受信者に送信するステップを更に含む。
【0014】
[019] 本発明の一部の実施形態は、ノイズにより破壊されている可能性のあるコードワードを復号化するシステム及び方法を含み、オリジナル・メッセージを符号化したものをノイズの影響を受けている可能性のもとで受信するステップ;オリジナル・メッセージを符号化したものにノイズの影響を受けている可能性のもとで適用されるリスト復号化アルゴリズムを利用することにより、文字列のリストを算出するステップ;リスト内の各文字列について、置換関数を適用し、置換された文字列の新たなリストを生じるステップ;置換された文字列の各々について、それをメッセージとハッシュ値とを含むペアとして分析し、メッセージ_ハッシュ値ペアのリストを生じるステップ;メッセージ_ハッシュ値ペアのリストの中から、ハッシュ値が、暗号ハッシュ関数をオリジナル・メッセージに適用した結果に等しくなっている全てのペアを選択するステップ;選択するペアが存在しない場合、コードワードは訂正不能なノイズを含んでいたことを出力するステップ;及び残存する少なくとも1つのペアが存在する場合であってその場合に限り、そのペアのメッセージ部分を出力するステップであって、そのペアの符号化は、ノイズの影響を受けている可能性のある受信した符号化に、ハミング距離が最も近いと決定されたものである、ステップを含む。
【0015】
[020] 一部の更なる実施形態では、置換関数はkワイズ・デルタ依存性の性質を有する置換関数のインバースであるように構成されており、kはそのサイズに基づいて選択された整数であり、デルタは実数であり、置換関数は効率的インバージョン・アルゴリズムを含む。
【0016】
[021] 一部の更なる実施形態では、リスト復号可能アルゴリズムは、メッセージ_ハッシュ値ペアの符号化が、ノイズの影響を受けている可能性のある受信した符号化に、相対的なハミング距離に関して「p-close」である可能性のある全てのメッセージ_ハッシュ値ペアのリストを列挙するように構成されており、pは0及び1の間にある実数である。
【図面の簡単な説明】
【0017】
[022] 図面の簡単な説明
[023] 更なる理解をもたらすために含まれ、本件明細書に組み込まれてその一部を構成する添付図面は、開示される実施形態を例示しており、本説明とともに、開示された実施形態の原理を説明するために役立つ。
図1】[024] 図1はノイズに対処して符号化及び復号化を行う例示的なアルゴリズムを示す。
図2】[025] 図2は、チャネルにおけるノイズに対処する符号化及び復号化を行う例示的なシステムを示す。
図3】[026] 図3は、クレームされるシステム及び方法を実装するための例示的なコンピュータ・システム・アーキテクチャを示す。
図4】[027] 図4は、クレームされるシステム及び方法を実装するための例示的なコンピュータ・システム・アーキテクチャの更なる詳細を示す。
【発明を実施するための形態】
【0018】
[028] 詳細な説明
[029] 本件で開示されるものは、トランスペアレントなセットアップを用いる、計算有界チャネルに対して効率的で有用な一意に復号可能なコード、及び、ステートレス・エンコーダを用いる、計算有界チャネルに対して効率的で有用な一意に復号可能なコードである。
【0019】
[030] 我々は、計算有界チャネルに対するコード(トランスペアレントなセットアップ及びステートレス・エンコーディングを用いるもの)であって、最悪ケースのエラーに対するコードよりもパフォーマンスが優れたものを構築する。独立した関心事になる可能性のある貢献として、我々は、大きな擬似距離を有するコード(複数)、即ちハミング距離に関して近接している2つのコードワードを発見することが困難なコード(複数)も構築する。
【0020】
[031] 擬似的一意性復号化(Pseudounique Decoding)
[032] 誤り訂正コードCの主な目的は、部分的に破損したC(m)のコピーが与えられている場合に、送信されたメッセージの回復を促すことでである。これを(情報理論的な設定で)形式化するために、C(m)に対するハミング距離が「ρ-close」である全てのメッセージmと全ての文字列c’に対して、D(c’)=mが得られる場合、多項式時間アルゴリズムDは、ρエラーに対するCについての一意性復号化アルゴリズム(unique decoding algorithm for C against ρ errors)であると言われる。
【0021】
[033] 実際には、メッセージとノイズは、計算有界敵対者(computationally bounded adversary)として伝統的にモデル化される性質によって作成される。そこで我々は、全ての定量化に対する上記事項を緩和して、mとc’の両方が計算上限定されたプロセスによって選択される場合に、効率的な復号化を要求するだけである。我々のコードは、符号化及び復号化の手順で使用されるランダムに生成されるシードによって記述されることになる。換言すれば、コードの種まきされたファミリ(シード化されたコード・ファミリ){Cpp}を用いることになり、ここで、ppはシードであり、コードのパブリック・パラメータとしても参照されることになる。この構成において、パブリック・パラメータは、特定の長さの、構造化されていない一様なランダム文字列であるに過ぎない。
【0022】
[034] より正式には、多項式時間・敵対者Aが顕著な確率で次のゲームに勝つことができない場合に、多項式時間アルゴリズムDは、ρエラーに対する{Cpp}の擬似的一意性復号化アルゴリズム(pseudounique decoding algorithm)である、と言われる。パブリック・パラメータppは、最初にランダムに一様にサンプリングされ、Aに与えられる。そして、敵対者はメッセージmと文字列c’を生成し、c’がCpp(m)に対して「ρ-close」であり且つD(pp,c’)≠mであった場合に、敵対者は勝利したと言及される。
【0023】
[035] 暗号の仮定の下で(又はランダム・オラクル・モデルにおいて)、我々は、標準的な設定で可能であるものよりも大きなエラーの割合に対して、擬似的一意性復号化アルゴリズムを用いてコードを構築する。システム及び方法は、効率的に使用可能な暗号ハッシュ関数(ブラック・ボックスとして使用される)を使用するように構成されることが可能である。これは、(プログラム不可能な)ランダム・オラクルによってインスタンス化されることが可能な、相関の取り扱い困難性(correlation intractability)の複数入力一般化である。
【0024】
[036] 非公式定理1.1
任意のr∈(0,1)及び任意のρ
【0025】
【数1】
に関し、多数の(多項式サイズ)アルファベットにおいて、rate-rのコードが存在し、それらは、良いハッシュ関数が存在することを仮定すると(或いは、ランダム・オラクル・モデルにおいて)、高々ρの割合のエラーに対して効率的に擬似的に一意に復号可能なものである。
【0026】
[037] これは、
【0027】
【数2】
より多いエラーを除外するシングルトン境界と対照的であるべきである。我々の肯定的な結果は、効率的リスト復号可能性に対するより一般的な結び付き(connection)の当然の結果である。この結び付きは、記述することが困難な境界を伴うにもかかわらず、バイナリ・アルファベットに対する結果も意味しており、なぜなら、既知のバイナリ・コードはリスト復号能力を達成せず、代わりに、(面倒なレート)vs.(エラー訂正)のトレードオフを有するからである。
【0028】
[038] 擬似的距離
[039] 我々の2番目の概念は距離の類似物である。個々のメッセージm0,m1の全てのペアに関し、符号化C(m0)とC(m1)がハミング距離dを有する場合、コードCは距離dを有すると言及されることを想起されたい。同様に、我々はこれを全ての定量対象に置き換え、計算有界敵対によってppから計算されたペアm0, m1に対して、Cpp(m0)とCpp(m1)が遠いことを要求するだけである。
【0029】
[040] コードの擬似距離は、その復号可能性に関して何かを意味することなく任意に、また、非効率なアルゴリズムによってさえも、高くなってしまう可能性があることに我々は配慮する。符号化アルゴリズムが (十分に混乱させた)ランダム置換マッピング{0,1}n→{0,1}nによって与えられるレート1コードを想定することは有益である。このコードの擬似距離は大まかにn/2になるであろうが、エラーが1つ存在する場合でさえ、復号化することは情報理論的に不可能である。
【0030】
[041] 主な定義及び主な定理の説明
[042] 上記は、本件で使用されるように、以下の定義で形式化される。
【0031】
[043] 定義1.2
アルファベット・サイズq(・)のシード化されたコードは、次のシンタックスとともに多項式時間アルゴリズムのペアC=(Setup,Enc)である:
[044] ・Setup は確率であり、(単項で)ドメイン距離
【0032】
【数3】
を取り、パブリック・パラメータppを出力する。
【0033】
[045] ・Enc は決定論的であり、パラメータppとメッセージm∈{0,1}kを取り、コードワードc∈[q(k)]n(k) を出力し、ここで、n(・)はCの長さと呼ばれる。
【0034】
[046] 以下の数式
【0035】
【数4】
がウェル・ディファインド(well-defined)である場合、それはCのレートであると呼ばれる。Setupが、kに依存する何らかの長さの一様ランダム二進文字列を出力する場合、Cはパブリック・コイン(public-coin)である、と言及される。
【0036】
[047] 定義1.3
シード化されたコードC=(Setup,Enc)が(s(・),ε(・))の擬似距離d(・)を有すると言及されるのは、全てのサイズs(・)の回路アンサンブル
【0037】
【数5】
に関し、以下が成り立つ場合であり:
[048]
【0038】
【数6】
[049] ここで、Δ(・,・)は(絶対値の)ハミング距離を示す。
【0039】
[050] Cがシンプルに擬似距離d(・)を有すると言及されるのは、全てのs(k)≦kO(1)に関し、Cが(s,ε)の擬似距離dを有するような、ε(k)≦k-ω(1)が存在する場合である。
【0040】
[051] 定義1.4
アルゴリズムDecがd(・)エラーに対してC=(Setup,Enc)の(s(・),ε(・))擬似的一意性デコーダであると言及されるのは、全てのサイズs(・)回路アンサンブル
【0041】
【数7】
に関し、以下が成立する場合である:
[052]
【0042】
【数8】

[053] Cに関して(s(・),ε(・))擬似的一意性デコーダである多項式時間アルゴリズムDecが存在する場合、Cは、d(・)のエラーに対して効率的な(s(・),ε(・))擬似的に一意に復号可能であると言及される。全てのs(k)≦kO(1)に対して、定義が満たされるように、ε(k)≦k-ω(1) が存在する場合、我々は、上記の定義の使い方においてsとεを省略する。
【0043】
[054] 我々は、
【0044】
【数9】

=ρであるような或るd(k)を指すために、「エラーのρの割合(ρfraction of errors)」と言及し、ここで、n(・)はCの長さである。
【0045】
[055] 前述の定理と同様に、我々の結果を得るためにランダム的なハッシュ関数の存在を仮定している。これらのハッシュ関数は、ランダム・オラクル・モデルでインスタンス化されることが可能である。
【0046】
[056] 非公式定理1.5
【0047】
【数10】

が、エラーのρの割合に対して効率的にリスト復号可能であるコードのレートr(rate-r)アンサンブルである場合であって、良いハッシュ関数が存在する場合、
【0048】
【数11】

に対して擬似的一意に効率的に復号可能であるrate-rシード化コードが存在する。
【0049】
[057] Cがキャパシティ(capacity)に近づく場合、即ち、
【0050】
【数12】

である場合、上記の有界(bound)は優れた解釈(interpretation)を有し、即ち、
【0051】
【数13】

であり、これは任意の正のレートq-aryコードに関して可能な最良の一意の復号化半径である。従って、Cがキャパシティを達成する場合、
【0052】
【数14】

を越えない限り、Cの高々リスト復号化半径に至るまで、一意に復号することが可能である。
【0053】
[058] 組み合わせ論
[059] 定義2.1
【0054】
【数15】

のi番目までの階乗は、次のようになる:
【0055】
【数16】

[060] 定義2.2
q-aryエントロピー関数Hq:[0,1]→[0,1] は、次のように定義される:
[061]
【0056】
【数17】

[062]
【0057】
【数18】

を示すためにHと書き、これはxに等しい。添え字を省略してH(x)と書く場合、それはデフォルトでH2(x)を意味する。
【0058】
[063] 定義2.3
任意のアルファベットΣ,任意のn,任意のu,v∈Σnに関し、uとvの間のハミング距離(Δ(u,v)と表記される)は、次のように定義される:
[064]
【0059】
【数19】

[065] Δ(u,v)≦δn である場合、次のように書く:
【0060】
【数20】

Sが集合である場合、
【0061】
【数21】

を示すために、Δ(u,S)と書く。
【0062】
[066] 2.2 コード
[067] 定義2.4
決定論的なq-aryコードは、関数C:[K]→[q]n であり、ここで、nはCのブロック長と呼ばれ、[K]はメッセージ空間と呼ばれ、[q]はアルファベットと呼ばれる。Cの距離は、個々のm,m’∈[K]に対するC(m)とC(m’)の間の最小ハミング距離である。ブロック長nとメッセージ空間 [K]の確率的q-aryコードは、以下のランダム化された関数である:
【0063】
【数22】

[068](決定論的又は確率論的な)コードの漸近性を議論する場合に、変化するメッセージ空間、ブロック長、及びアルファベット・サイズとともに、コードのアンサンブル{Ci:[Ki]→[qi]ni} を考慮することは理にかなっている。我々は、様々な病状を除外する、Ki,ni,qiに関する幾つかの制約を仮定するであろう。具体的には、以下を仮定することになる:
[069] ・Ki,ni,qiは、iに関して緩やかに単調に増加し、i番目の多項式時間で(即ち、polylog(i)までに)演算可能である。
【0064】
[070] ・qiは、高々Polylog(Ki)である。
【0065】
[071] ・所与の(i,x)の下で、x∈[Ki]に関し、Ci(x)を出力する多項式時間アルゴリズムEが存在する。
【0066】
[072] 極限
【0067】
【数23】

が、r∈(0,1)に関して存在する。このrをアンサンブルのレートと呼ぶ。
【0068】
[073] ・
【0069】
【数24】

であり、(任意長のメッセージを符号化するための)パディングのコストは重要でない点は、重要である。
【0070】
[074] これらの制限の1つの意味は、一般性を失うことなく、
【0071】
【数25】

と仮定することができ、iではなく、kによりコードをインデックス化できることである。
【0072】
[075] 定義2.5
コードのアンサンブル
【0073】
【数26】

は、任意のy∈[qk]nkに関し、m∈{0,1}kの高々poly(k)個の値が存在し、
【0074】
【数27】

である場合、組み合わせ論的にρ-list復号可能である(combinatorially ρ-list decodable)、と言及される。所与のy(及び1k)の下で全てそのようなmを出力する多項式時間アルゴリズムが存在する場合、{Ck}はρ-list復号可能である、と言及される。
【0075】
[076] 擬似ランダム性
[077] 定義2.6
ランダム変数X1,...,Xnがtワイズ独立(t-wise independent)であると言及されるのは、サイズ|S|=tである任意の集合S⊆[n]に関し、ランダム変数{Xi}i∈Sが相互に独立である場合である。
【0076】
[078] 定義2.7
離散的なランダム変数X1,...,Xnが、レニー∞ダイバージェンス(Renyi∞-divergence)において、t-wiseベータ依存性(t-wiseβ-dependent)であると言及されるのは、サイズ|S|=tである全ての集合S⊆[n]に関し、以下が、全ての(xii∈Sについて成り立つ場合である。
【0077】
[079]
【0078】
【数28】

[080] 置換
[081] Xが有限集合である場合、Xの全ての置換の集合を表すためにSXと書く。
【0079】
[082] 定義2.8
置換Π⊆SXの族が、t-wiseε依存性(t-wise ε-dependent)であると言及されるのは、全ての個々のx1,...,xt∈Xに関し、一様ランダムに関する(π(x1),...,π(xt))の分布 π←Π が、{(y1,...,yt):y1,...,yt は個別的である}に関する一様性に至るまでに、統計的距離に関して「ε-close」である場合である。
【0080】
[083] 置換族のドメインに関する病的な問題を避けるために(例えば、それらのサンプリング可能性、決定可能性、圧縮可能性)、
【0081】
【数29】

に関し、形式{0,1}kの集合における置換に着目するように制限する。
【0082】
[084] 定義2.9
置換族のアンサンブル
【0083】
【数30】

は、以下に関してpoly(k)時間アルゴリズムが存在する場合に、完全に明示的(fully explicit)であると言及される:
[085] ・π←Πk の表現をサンプリングすること;及び
[086] ・所与のx及びπ∈Πkの表現の下で、π(x)及びπ-1(x)を演算すること
[087] 導入定理(Imported Theorem)2.10
任意のt=t(k)≦kO(1) 及び、任意のε
【0084】
【数31】

に関し、置換族のt-wiseε依存アンサンブル
【0085】
【数32】

が完全に明示的に存在する。
【0086】
[088] t-wiseでほぼ独立(t-wise almost-independence)の以下の標準的でない概念は、我々にとってより便利であることが分かるであろう。
【0087】
[089] 定義2.11
確率分布Pは、全てのxについて、P(x)≦β・Q(x) である場合、分布Qに対するレニー∞ダイバージェンスにおいてβ-closeであると言及される。
【0088】
[090] 定義2.12
全ての個々のx1,...,xt∈Xに関し、(π(x1),...,π(xt))の分布が、Xtに関して一様分布に対するレニー∞ダイバージェンスにおいてβ-closeである場合、族Π⊆SXはレニー∞ダイバージェンスにおいてt-wiseβ依存である、と言及される。
【0089】
[091] 定義2.8にあるようなt-wiseε依存である、置換Π⊆S[K]の任意の族は、
【0090】
【数33】

レニー∞ダイバージェンスにおいてt-wiseβ依存でもある、ということを用いて容易に検証される。従って、導入定理2.10は以下をもたらす。
【0091】
[092] 系2.13
任意のt=t(k)≦kO(1) に関し、置換族の完全に明示的なt-wise O(1)依存(レニー∞ダイバージェンスにおける)アンサンブル
【0092】
【数34】

が存在する。
【0093】
[093] 複数入力の相関困難性
[094] 相関困難性(Correlation intractability)は、ハッシュ関数のランダム・オラクルのようなセキュリティ特性の大きなクラスをモデル化する方法である。任意のまばらな関係(又はスパースな関係)(sparse relation)Rに関し、(x,H(x))∈R のようなxを発見することが困難である場合、Hは相関困難であると言及される。
【0094】
[095] 本件で説明されるアプリケーションの場合、我々は、相関困難性のより強力な多入力の変形(variant)を必要とする。ハッシュ関数が、全てのスパースな多入力関係に対して、もっともらしい相関困難性となることが可能であるように、多入力スパース性の概念を定式化する。実際、ランダム・オラクルはこの性質を有していることが証明される。
【0095】
[096] 定義3.1(多入力関係)
集合X及びYに関し、(X,Y)に対する入力関係は、次の部分集合である:
【0096】
【数35】

[097] Rはp-sparseであると言及されるのは、全てのi
【0097】
【数36】

全ての個々の
【0098】
【数37】

全ての
【0099】
【数38】

に関し、以下が成り立つ場合である:
[098]
【0100】
【数39】

[099] l(エル)入力関係のアンサンブル
【0101】
【数40】

が単にスパースであると言及されるのは、各々のRλがp(λ)-sparceであるようなネグリジブル関数(negligible function)
【0102】
【数41】

が存在する場合である。
【0103】
[100] 定義3.3(多入力相関困難性)
関数族
【0104】
【数42】

のアンサンブル
【0105】
【数43】

が、関係アンサンブル
【0106】
【数44】

に対してl(エル)入力(s(・),ε(・))相関困難性であるのは、全てのサイズs(λ)敵対者Aに対して、以下が成り立つ場合である:
[101]
【0107】
【数45】

[102] 構 築
[103] 多入力相関困難性ハッシュの概念が定義され、それらがランダム・オラクル・モデルで構築可能であることが示された。ここで、2入力相関困難性ハッシュ関数を中心的なツールとして(ブラック・ボックス方式で)使用して、大部分のエラーに対して擬似的に一意に復号可能なコードのシード化されたファミリを構築する。その構築は、何らかの効率的リスト復号可能コード(efficiently list-decodable code)C:
C:{0,1}k → [q]n
とともに始まり、それを幾つかのステップで修正する。
【0108】
[104] 1.先ず、復号可能性及びレート保持シード化変換をCに適用して、確率的コードの(シード化されたファミリ)を取得し、そのうちのメッセージの全てのペアは、圧倒的に大きな確率で遠く離れたコードワードにマッピングされる。
【0109】
[105] 具体的には、シードは擬似ランダム置換 π:{0,1}k→{0,1}k であり、確率的コードは、m’をCに、一様ランダム性
【0110】
【数46】

に関してマッピングし
【0111】
【数47】

ここで、l(エル)は次式を満たす:
【0112】
【数48】

[106] 2.メッセージのハッシュとして決定論的にランダム性を生成することで、これらのコードを非ランダム化する。
【0113】
[107] シード化されたコード・ファミリの次のようなパラメータ化された構築を検討する。
【0114】
[108] 構築4.1
以下を仮定する:
[109] ・
【0115】
【数49】

はコードの完全に明示的なアンサンブルであり,
[110] ・
【0116】
【数50】

はハッシュ関数ファミリの完全に明示的なアンサンブルであり、
[111] ・H={Hk}はハッシュ関数族の完全に明示的なアンサンブルであり、ここで、Hk内の関数は、
【0117】
【数51】

を満足する一部の
【0118】
【数52】

に対して、
【0119】
【数53】

のようにマッピングを行う。
【0120】
[112] 次いで、以下のアルゴリズム(Setup,Enc)により、コードSC[C,Π,H]のシード化されたファミリを定義する:
[113] ・Setupは1kを入力として取り、π←Πk及びh←Hk によりサンプリングし、(π,h)を出力する。
【0121】
[114] ・Encは(π,h)を入力として取り、メッセージ
【0122】
【数54】

を取り、Ck(π(m,h(m)))を出力する。
【0123】
[115] SC[C,Π,H]は、アルファベット・サイズやブロック長を含む幾つかの基本的な特性をCから継承している。我々は或るハッシュ・ファミリ・アンサンブルを考察するだけであり、そのアンサンブル内のHkの関数の出力長は、以下を満たす:
【0124】
【数55】

このようなパラメータを用いて、結果的に生じるコーディング・スキームSC[C,Π,H]は、Cと同じレートを有する。
【0125】
[116] 4.2 効率的リスト復号可能性から擬似的一意復号可能性へ
[117] 次に、Cが効率的ρ-list復号可能であるならば、(Π及びHが完全に明示的である限り)C’= SC[C,Π,H]である、ということを洞察する。これは、すでに確立している大きな擬似距離と組み合わせて、C’は、エラーの大部分に対して擬似的一意復号化アルゴリズムを有する、ということを意味していることを示す。
【0126】
[118] 先ず、シード化されたコードのファミリに対するリスト復号化の直接的な適応を定義する。
【0127】
[119] 定義4.4
Decはコードのシード化されたファミリ(Setup,Enc)に対して(L(・),ρ)-list復号可能である、と言及するのは、Setup(1k)のサポートにおける全てのpp、全てのm∈{0,1}k、及び
【0128】
【数56】

について、Dec(pp,y)がmを含むL(k)サイズ集合である場合である。Decが単にρ-list復号可化アルゴリズムであると言及されるのは、それが、一部のL(k)≦kO(1) に対して(L(・),ρ)-復号化アルゴリズムである場合である。
【0129】
[120] C=(Setup,Enc)が効率的ρ-list復号可能であると言及されるのは、Cに関して多項式時間ρ-list復号化アルゴリズムが存在する場合である。
【0130】
[121] 命題4.5
C={Ck}が効率的ρ-list復号可能であり、Π及びHが完全に明示的であるならば、SC[C,Π,H]もそうである。
【0131】
[122] 証明
パブリック・パラメータ(π,h)←Setup(1k)とノイズのあるコードワードC’が与えられている条件の下で、我々は、リスト復号化を:
[123] 1.Ckに対してlist-復号化アルゴリズムを実行して、文字列y1,...,yL∈{0,1}kを取得すること,
[124] 2.πの下で各々のyiのインバースを求めて、ペア(m1,r1),...,(mL,rL)を取得すること,
[125] 3.集合
【0132】
【数57】

を取得することによって行うことが可能である。
【0133】
[126] 命題4.6
C=(Setup,Enc)がコードのシード化されたファミリであって:
[127] ・エラーのρ部分に対して効率的list-復号可能であり;且つ
[128] ・相対的擬似距離δ~を有する、というものである場合、
[129] Cは、任意の
【0134】
【数58】

に対するエラーのρ’部分に対して、擬似的一意性で効率的復号可能である。
【0135】
[130] 証明
q=q(k)及びn=n(k)がそれぞれCのアルファベット及びブロック長であるとする。擬似的一意性・効率的復号化アルゴリズムDecは、次のように動作する:パブリック・パラメータpp及び破損したコードワードy∈[q]nを入力として与えられた場合に:
[131] 1.(pp,y)に関してlist-復号化アルゴリズムを動作させて、メッセージのリストm1,...,mL(及び対応するコードワードc1,...,cL)を取得する。
【0136】
[132] 2.i∈[L]に関し、Δ(ci,y)を最小化するmiを出力する。
【0137】
[133] このアルゴリズムは多項式時間内で明らかに動作するので、正当性を分析することで十分である。(m,y)←A(pp)を仮定し、ここで、Aは多項式サイズ敵対者(polynomial-size adversary)であり、
【0138】
【数59】

である。先ず、Cのlist-復号可能性により、何らかのmについて、mi=mである、ということが洞察される。他のmjが同様に
【0139】
【数60】

という性質を有することはできず、なぜならそうでない場合は三角不等式によって
【0140】
【数61】

となるからであり、これはCの擬似距離と矛盾しており、なぜなら{m1,...,mL}を生成する上記のプロセスは効率的であるからである。
【0141】
[134] 換言すれば、Ciはyに最も近いコードワードであり、復号化アルゴリズムは所望のmi=mを出力する。
【0142】
[135] 主定理
[136] 定理4.7
[137] ・コード
【0143】
【数62】

の任意のrate-r(効率的)ρ-list復号可能な完全に明示的なアンサンブルC;
[138] ・ω(1)ワイズ依存性(レニー∞ダイバージェンスにおけるもの)置換族の任意のアンサンブル
【0144】
【数63】


[139] ・2入力の相関困難性ハッシュ・ファミリの任意のアンサンブルH={Hk}(但し、Hk内の関数は
【0145】
【数64】

のように写像を行うものである);
[140] ・任意のρ’
【0146】
【数65】

に関し、
[141] SC[C,Π,H]は、エラーのρ’部分に対して擬似的一意に効率的に復号可能である。
【0147】
[142] 既知のコードを用いた具体例
[143] 我々は定理4.7を幾つかの既知のコードを用いて適用するが、先ず、符号化理論からの適用可能な結果を想起する。我々は、大きなアルファベット(qk→∞)及びバイナリ・アルファベット(qk=2)に着目する。
【0148】
[144] 導入定理4.8
r+ρ<1を満たす全てのr,ρ∈(0,1)に関し、rate-rの、効率的ρ-list復号可能な、完全に明示的なコードのアンサンブル
【0149】
【数66】

がqk≦poly(k)とともに存在する。
【0150】
[145] 導入定理4.9
0<ρ<1/2を満たす全てのr,ρ及び
[146]
【0151】
【数67】

に関し、
[147] rate-rの、効率的ρ-list復号可能な、完全に明示的なコードのアンサンブル
【0152】
【数68】

が存在する。
【0153】
[148] これらのコードを定理4.7に適用すると、以下が得られる:
[149] 命題4.10
r+ρ<1である全てのr,ρに関し、rate-rのシード化されたコード・ファミリが存在し(アルファベット・サイズqk≦poly(k))、それはエラーのρ部分に対して擬似的一意に効率的に復号可能である。
【0154】
[150] この結果は、シングルトン限界と対照されるべきであり、それはrate-rコードがエラーのρ部分に対して一意に復号可能であるならば、r+2ρ≦1であることを述べている。
【0155】
[151] 命題4.11
全ての0<ρ<1/2及び全ての0<r<RBZ(ρ)に関し、バイナリ・コードのrate-rのシード化されたファミリが存在し、それはエラーのうちの
【0156】
【数69】

の割合に対して擬似的一意に効率的に復号可能なものである。
【0157】
[152] ハードウェア概要
[153] 図1を参照すると、チャネルにおけるノイズに対して入力メッセージを保護する例示的なアルゴリズムが示されている。符号化アルゴリズム105はメッセージ106を受信し、それを本件で説明しているように処理して、符号化されたメッセージ107を生成する。符号化されたメッセージ107は、その後、チャネルを介して送信されるか、又は、媒体若しくはその他の形式のメモリに保存される。
【0158】
[154] チャネル又は媒体は、1つ以上の形態のノイズ115の影響を受ける可能性がある。ノイズは、符号化されたメッセージに対する任意の形態の変化であるとすることが可能であり、例えば、符号化されたメッセージを情報元から情報宛先へ運ぶ電気信号における望まれない変動であるが、これに限定されない。場合によっては、ノイズは、メディア・デバイスの不具合や、放射線のような環境的影響に起因する、媒体に静かに保存されているデータの破損である可能性がある。非限定的な例として、送信された信号は、電子デバイスによって生成される余分な熱雑音;自動車のイグニッション雑音のような人為的なノイズ;及び、雷雨時の電気雷放電のような大気中のノイズ、のような様々な可能性のあるメカニズムによってランダムな仕方で破壊される可能性がある。ノイズ、減衰、歪、フェージング、及び干渉(チャネルの他のユーザーからの干渉など)を含むその他のチャネル障害は、全て本開示の範囲内のノイズであると想定される。
【0159】
[155] 復号化アルゴリズムは、破損している可能性のあるメッセージ108を受信し、本件で説明されているように処理して、復号化アルゴリズム109を使用することにより、復号化されたメッセージ110を生成する。
【0160】
[156] 図2は、チャネルにおけるノイズに対して入力メッセージを保護するシステムを示す。ソース情報201は、コンピュータ化された処理ユニットによって表現され且つ最終的に処理されることが可能な任意の形態の情報であるとすることが可能である。非限定的な例として、ソース情報201は、テキストのような人間が判読できるもの、コンピュータ実行可能命令、又はその他の形式のデータであるとすることが可能である。ソース情報201は、オーディオ又はビデオ信号のようなアナログ信号、又は、時間的に離散的で有限数の出力キャラクタを有するコンピュータの出力のようなデジタル信号、であってもよい。その情報は、ソース・エンコーダ202によって前処理されてもよい。ソース・エンコーダ202は、例えば、情報を所定の形式で保存したり、或いは、場合により情報を暗号化したりする可能性がある。ソースによって生成されたメッセージは、ビットのシーケンスに変換される。ソース・エンコーダ203によって、メッセージは圧縮されてもよい。チャネル・エンコーダ203において、ノイズに対処する符号化を生じさせるために本件で説明されている符号化方法が、上述したように適用されることが可能である。チャネル・エンコーダ203の出力におけるバイナリ・シーケンスは、デジタル変調器204に渡され、物理的な、場合によってはアナログのチャネル205又はメモリ205に対するインターフェースとして機能する。
【0161】
[157] チャネル205は、送信機から受信機へ信号を送信するために使用される物理媒体であってもよい。非限定的な例として、チャネル205は、電気信号を伝送する一対のワイヤ、変調された光ビームにおける情報を伝送する光ファイバー、情報が音響的に送信される水中の海洋チャネル、又は、信号を搬送する情報がアンテナを使用することにより放射される自由空間、であってもよい。本開示に従ってチャネル205として特徴付けられることがその他の媒体は、非限定的な例として、磁気テープ、磁気ディスク、及び光ディスクを含む任意の形態の固定データ記憶媒体である。
【0162】
[158] デジタル通信システムの受信側では、復調器206は、チャネルの破損を被っている可能性のある送信された波形を処理し、その波形を、送信されたデータ・シンボル(バイナリ又はM-ary)の推定を表す一連の数に還元する。この一連の数はチャネル・デコーダ207に渡され、チャネル・デコーダ207は、本件で開示されている復号化方法に基づいて、元の情報シーケンスを再構築しようと試みる。最終ステップとして、アナログ出力が望まれる場合、ソース・デコーダ208は、チャネル・デコーダ207からの出力シーケンスを受け入れ、使用されるソース符号化方法の知識から、ソースからの元の信号を再構築し、それを宛先情報209として返すことを試みる。
【0163】
[159] 図3及び4は、本開示で説明される様々な実施形態を実装するために有用な例示的なコンピュータ・システムを描いている。様々な実施形態は、例えば、図3に示されるコンピュータ・システム500のような1つ以上のコンピュータ・システムを使用して実装することができる。1つ以上のコンピュータ・システム500は、例えば、本件で議論されている何らかの実施形態、それらのコンビネーション及びサブコンビネーションを実装するために使用されることが可能である。
【0164】
[160] コンピュータ・システム500は、プロセッサ504のような1つ以上のプロセッサ(中央処理ユニット、処理デバイス、CPUとも呼ばれる)を含むことが可能である。プロセッサ504は、通信インフラストラクチャ506(例えば、バス)に接続されることが可能である。
【0165】
[161] コンピュータ・システム500は、モニタ、キーボード、ポインティング・デバイス等のようなユーザー入出力デバイス503を含むことも可能であり、入出力デバイス503は、ユーザー入出力インターフェース502を介して通信インフラストラクチャ506と通信してもよい。1つ以上のプロセッサ504は、グラフィックス処理ユニット(GPU)であってもよい。一実施形態では、GPUは、数学的演算負担のかかるアプリケーションを処理するように設計された特殊な電子回路であるプロセッサであってもよい。GPUは、コンピュータ・グラフィックス・アプリケーション、画像、ビデオ等に共通する数学的演算負担のかかるデータのような、大きなデータ・ブロックの並列処理にとって効率的である並列構造を有しているかもしれない。
【0166】
[162] コンピュータ・システム500は、ランダム・アクセス・メモリ(RAM)のようなメイン・メモリ508を含むことも可能である。メイン・メモリ508は、1つ以上のレベルのキャッシュを含む可能性がある。メイン・メモリ508は、制御ロジック(即ち、コンピュータ・ソフトウェア、命令など)及び/又はデータをそこに格納することができる。コンピュータ・システム500は、1つ以上の二次記憶デバイス又は二次メモリ510を含むことも可能である。二次メモリ510は、例えば、ハード・ディスク・ドライブ512及び/又はリムーバブル・ストレージ・デバイス又はリムーバブル・ストレージ・ドライブ514を含むことが可能である。リムーバブル・ストレージ・ドライブ514は、リムーバブル・ストレージ・ユニット518と相互作用することが可能である。リムーバブル・ストレージ・ユニット518は、コンピュータ・ソフトウェア(制御ロジック)及び/又はデータをそこに格納した、コンピュータで使用可能な又は読み取り可能なストレージ・デバイスを含むことが可能である。リムーバブル・ストレージ・ドライブ514は、リムーバブル・ストレージ・ユニット518からの読み込み及び/又はそこへの書き込みを行うことが可能である。
【0167】
[163] 二次メモリ510は、コンピュータ・プログラム及び/又はその他の命令及び/又はデータが、コンピュータ・システム500によってアクセスされることを可能にする、他の手段、デバイス、構成要素、機器、又はその他のアプローチを含むことが可能である。そのような手段、デバイス、構成要素、機器、又はその他のアプローチは、例えば、取り外し可能なストレージ・ユニット522及びインターフェース520を含むことが可能である。取り外し可能なストレージ・ユニット522及びインターフェース520の例は、プログラム・カートリッジ及びカートリッジ・インターフェース、取り外し可能なメモリ・
チップ(EPROM又はPROMなど)及び関連するソケット、メモリ・スティック及びUSBポート、メモリ・カード及び関連するメモリ・カード・スロット、及び/又は、その他の取り外し可能なストレージ・ユニット及び関連するインターフェースを含むことが可能である。
【0168】
[164] コンピュータ・システム500は、通信インターフェース524(例えば、ネットワーク・インターフェース)を更に含むことが可能である。通信インターフェース524は、コンピュータ・システム500が、外部デバイス、外部ネットワーク、外部エンティティ等(個別的に、集合的に、リモート・デバイス、ネットワーク、エンティティ528として参照されるもの)の任意の組み合わせと通信し、対話することを可能にすることができる。例えば、通信インターフェース524は、コンピュータ・システム500が、外部又はリモート・デバイス、ネットワーク、エンティティ528と通信することを、通信経路526を介して可能にすることができ、通信経路526は、有線及び/又は無線(又はその組み合わせ)であってもよく、また、LAN、WAN、インターネットなどの任意の組み合わせを含むことが可能である。制御ロジック及び/又はデータは、通信経路526を介してコンピュータ・システム500との間で伝送されることが可能である。
【0169】
[165] コンピュータ・システム500は、幾つかの非限定的な例を挙げると、パーソナル・デジタル・アシスタント(PDA)、デスクトップ・ワークステーション、ラップトップ又はノートブック・コンピュータ、ネットブック、タブレット、スマートフォン、スマートウォッチ、又はその他のウェアラブル・デバイス、アプライアンス、IoT(モノのインターネット)の一部分、及び/又は組み込みシステムのうちの何れか、又はそれらの任意の組み合わせであってもよい。
【0170】
[166] コンピュータ・システム500は、任意の配信パラダイムにより任意のアプリケーション及び/又はデータにアクセス又はホストする、クライアント又はサーバー演算デバイスであってもよく、リモート又は分散されたクラウド演算ソリューション;ローカルの又は自社運用のソフトウェア( 「オン・プレミス」クラウド・ベース・ソリューション);「アズ・ア・サービス」モデル(例えば、サービスとしてのコンテンツ(CaaS)、サービスとしてのデジタル・コンテンツ(DCaaS)、サービスとしてのソフトウェア(SaaS)、サービスとしての管理されたソフトウェア(MSaaS)、サービスとしてのプラットフォーム(PaaS)、サービスとしてのデスクトップ(DaaS)、サービスとしてのフレームワーク(FaaS)、サービスとしてのバックエンド(BaaS)、サービスとしてのモバイル・バックエンド(MBaaS)、サービスとしてのインフラストラクチャ(laaS)などである);及び/又は前述の例又はその他のサービス又は配信パラダイムの任意の組み合わせを含むハイブリッド・モデル;を含むがこれらに限定されない。
【0171】
[167] 図4は、コンピュータ・システム900の例示的なマシンを示しており、そのコンピュータ・システムにおいて、本件で説明される任意の1つ以上の演算をマシンに実行させるための命令セットを実行することが可能である。代替の実装において、マシンはLAN、イントラネット、エクストラネット、及び/又はインターネットにおける他のマシンに接続(例えば、ネットワーク接続)されていてもよい。マシンは、クライアント・サーバー・ネットワーク環境におけるサーバー又はクライアント・マシンの能力の中で、ピア・ツー・ピア(又は分散された)ネットワーク環境ではピア・マシンとして動作し、クラウド演算インフラストラクチャ又は環境ではサーバー又はクライアント・マシンとして動作することが可能である。
【0172】
[168] マシンは、パーソナル・コンピュータ(PC)、タブレットPC、セット・トップ・ボックス(STB)、パーソナル・デジタル・アシスタント(PDA)、セルラー電話、ウェブ・アプライアンス、サーバー、ネットワーク・ルーター、スイッチ又はブリッジ、専用のアプリケーション又はネットワーク・セキュリティ・アプライアンス又はデバイス、又は、命令セット(シーケンシャルなもの又はそれ以外のもの)を実行することが任意のマシンであってもよく、命令セットはそのマシンによって実行される動作を指定するものである。更に、単一のマシンが例示されているが、「マシン」という用語は、本件で議論されている任意の1つ以上の方法論を実行するための命令セット (又は複数のセット)を個別に又は共同で実行するマシンの任意の集まりも含むものとする。
【0173】
[169] 例示のコンピュータ・システム900は、処理デバイス902、メイン・メモリ904(例えば、リード・オンリー・メモリ(ROM)、フラッシュ・メモリ、同期DRAM(SDRAM)のようなダイナミック・ランダム・アクセス・メモリ(DRAM)等)、スタティック・メモリ906(例えば、フラッシュ・メモリ、スタティック・ランダム・アクセス・メモリ(SRAM)等)、データ記憶デバイス918を含み、これらはバス930を介して相互に通信する。
【0174】
[170] 処理デバイス902は、マイクロプロセッサ、中央処理ユニットなどのような1つ以上の処理デバイスを表す。より具体的には、処理デバイスは、複合命令セット演算(CISC)マイクロプロセッサ、縮小命令セット演算(RISC)マイクロプロセッサ、超長命令語(VLIW)マイクロプロセッサ、その他の命令セットを実装するプロセッサ、又は、命令セットの組み合わせを実装するプロセッサであってもよい。処理デバイス902は、特定用途向け集積回路(ASIC)、フィールド・プログラマブル・ゲート・アレイ(FPGA)、デジタル信号プロセッサ(DSP)、ネットワーク・プロセッサ等のような1つ以上の特殊用途処理デバイスであってもよい。処理デバイス902は、本件で説明されている動作及びステップを実行するための命令926を実行するように構成される。
【0175】
[171] コンピュータ・システム900は、ネットワーク920を介して通信するためのネットワーク・インターフェース・デバイス908を更に含むことが可能である。コンピュータ・システム900は、ビデオ・ディスプレイ・ユニット910、英数字入力デバイス912(例えば、キーボード)、カーソル制御デバイス914(例えば、マウス)、グラフィックス処理ユニット922、信号生成デバイス916(例えば、スピーカー)、グラフィックス処理ユニット922、ビデオ処理ユニット928、及び、オーディオ処理ユニット932を含むことも可能である。
【0176】
[172] データ記憶デバイス918は、機械読み取り可能な媒体924(コンピュータ読み取り可能な記憶媒体とも呼ばれる)であって、本件で説明される1つ以上の動作を具現化する1つ以上の命令セット926(例えば、ソフトウェア命令)を記憶しているものを含んでもよい。また、命令926は、完全に又は少なくとも部分的に、コンピュータ・システム900による実行中に、メイン・メモリ904内に及び/又は処理デバイス902内に存在することも可能であり、メイン・メモリ904及び処理デバイス902も機械読み取り可能な記憶媒体を構成する。
【0177】
[173] 一例では、命令926は、開示された対象事項に対応する動作及び機能を実装するための命令を含む。機械読み取り可能な記憶媒体924は、例示的な実装では単一の媒体であるかのように示されているが、「機械読み取り可能な記憶媒体」という用語は、1つ以上の命令セット926を格納する単一の媒体又は複数の媒体(例えば、セントラル化された又は分散されたデータベース、及び/又は関連するキャッシュ及びサーバー)を含むように解釈されるべきである。「機械読み取り可能な記憶媒体」という用語は、機械による実行のために命令セット926を格納又は符号化することが可能な任意の媒体であって、本開示の1つ以上の動作を機械に実行させる媒体も含むように解釈されるものとする。「機械読み取り可能な記憶媒体」という用語は、ソリッド・ステート・メモリ、光学媒体及び磁気媒体を相応に含むように解釈されるものとするが、これらに限定されない。
【0178】
[174] 詳細な説明のうちの一部分は、コンピュータ・メモリ内のデータ・ビットに対する処理のアルゴリズム及びシンボル表現の観点から提示されている。これらのアルゴリズム的な説明及び表現は、データ処理分野の当業者が、自身の仕事内容を他の当業者に最も効果的に伝えるために使用される方法である。アルゴリズムは、本件において及び一般的に、望ましい結果をもたらす自己矛盾のない一貫したシーケンスの処理であると想定される。処理は、物理量の物理的な処理を必要とするものである。必須ではないが、通常、これらの量は、保存、結合、比較、及びその他の処理を行うことが可能な電気的又は磁気的な信号の形態をとる。これらの信号をビット、値、エレメント、シンボル、キャラクタ、ターム、数などとして言及することは、主に一般的な使用法の理由から、時に便利であることが分かる。
【0179】
[175] しかしながら、これらの用語及び類似の用語は全て適切な物理量に関連しており、これらの量に適用される便宜上のラベルにすぎないことに留意するべきである。上記の議論から明らかなように、具体的に別意に述べられていない限り、説明の全体を通して、「特定する」、「決定する 、「遂行する」、「実行する」、「収集する」、「作成する」、「送信する」などの用語を用いる議論は、コンピュータ・システム又は同様な電子演算デバイスの動作及びプロセスであって、コンピュータ・システムのレジスタ及びメモリ内の物理的(電子的)量として表されるデータを、コンピュータ・システムのメモリ又はレジスタ又はその他のそのような情報記憶デバイス内の物理量として同様に表される他のデータに操作及び変換するものを指していると理解される。
【0180】
[176] 本開示はまた本件における処理を実行するための装置にも関連している。本装置は、意図される目的のために特別に構築されたものであってもよいし、或いは、コンピュータに格納されたコンピュータ・プログラムによって選択的に起動又は再構成されるコンピュータを含んでいてもよい。このようなコンピュータ・プログラムは、コンピュータ読み取り可能な記憶媒体に記憶されることが可能であり、記憶媒体は、フロッピー・ディスク、光ディスク、CD-ROM、磁気光学ディスクを含む任意の種類のディスク、リード・オンリー・メモリ(ROM)、ランダム・アクセス・メモリ(RAM)、EPROM、EEPROM、磁気カード又は光学カード、或いは、電子命令を格納するのに適した任意の種類の媒体を含むがこれらに限定されず、それぞれコンピュータ・システム・バスに結合される。
【0181】
[177] ここに提示される動作及び例示は、何らかの特定のコンピュータ又はその他の装置に本質的に関連付けられるものではない。様々なタイプのシステムが、本件における教示に従うプログラムとともに使用されてもよいし、或いは、処理を実行するために、より特化された装置を構築することが便利であることが分かるかもしれない。これらの様々なシステムの構造は、本件における説明で述べられているように登場するであろう。更に、本開示は、何らかの特定のプログラミング言語に関連して説明されてはいない。本件で説明されているように、本開示の教示を実装するために、様々なプログラミング言語が使用される可能性があることは認められるであろう。
【0182】
[178] 本開示は、コンピュータ・プログラム製品、又はソフトウェアとして提供される場合があり、それらは、命令を格納した機械読み取り可能な媒体を含む可能性があり、本開示によるプロセスを実行するように、コンピュータ・システム(又はその他の電子デバイス)をプログラムするために使用される可能性がある。機械読み取り可能な媒体は、機械(例えばコンピュータ)により読み取ることが可能な形式で情報を格納するための何らかの仕組みを含む。例えば、機械読み取り可能な(例えば、コンピュータ読み取り可能な)媒体は、リード・オンリー・メモリ(“ROM”)、ランダム・アクセス・メモリ(“RAM”)、磁気ディスク記憶媒体、光記憶媒体、フラッシュ・メモリ・デバイスのような機械(例えば、コンピュータ)読み取り可能な記憶媒体を含む。
【0183】
[179] 一部の実施形態では、制御ロジック(ソフトウェア)を格納した有形の非一時的なコンピュータで使用可能又は読み取り可能な媒体を含む、有形の非一時的な装置又は製品も、ここではコンピュータ・プログラム製品又はプログラム記憶デバイスと言及される場合がある。これは、コンピュータ・システム500、メイン・メモリ508、セカンダリ・メモリ510、及びリムーバブル・ストレージ・ユニット518及び522、並びに上記の任意の組み合わせを具体化する有形の製品を含むが、これらに限定されない。このような制御ロジックは、1つ以上のデータ処理デバイス(コンピュータ・システム500など)によって実行されると、このようなデータ処理デバイスを、本件で説明されているように動作させることができる。
【0184】
[180] 本開示に含まれる教示に基づけば、関連技術における当業者にとって、図3及び4に示されているもの以外のデータ処理デバイス、コンピュータ・システム、及び/又はコンピュータ・アーキテクチャを使用して、本開示の実施形態を生産及び使用する方法は、明らかであろう。特に、実施形態は、ここで説明されているもの以外のソフトウェア、ハードウェア、及び/又はオペレーティング・システムの実装で動作することが可能である。
【0185】
[181] 詳細な説明のセクション(他のどのセクションでもない)は、クレームを解釈するために使用されるように意図されていることが認められるべきである。他のセクションは、発明者によって想定されている1つ以上の模範的な実施形態(全てではない)を述べている可能性があり、従って、本開示又は添付のクレームを如何なる形式においても制限するようには意図されていない。
【0186】
[182] 本開示は、模範的な分野及び用途に関する模範的な実施形態を説明しているが、本開示はそれらに限定されないことが理解されるはずである。他の実施形態及びその修正が可能であり、本開示の範囲及び精神内にある。例えば、この段落の一般性を制限することなく、実施形態は、ここで説明されている図面に示されているソフトウェア、ハードウェア、ファームウェア、及び/又はエンティティに限定されない。更に、実施形態は(ここに明示的に記載されているかどうかによらず)、ここで説明されている実施例を超える分野及び用途に対して重要な有用性を有する
[183] 実施形態は、特定の機能及びその関係の実装を示す機能的に構築されるブロックを用いて本件では説明されている。これらの機能的に構築されるブロックの境界は、説明の便宜のために本件では任意に定められている。代替的な境界は、指定された機能及び関係(又はそれらに等価なもの)が適切に実行される限り、定義されることが可能である。また、代替の実施形態は、ここで説明される順序とは異なる順序を用いて、機能ブロック、ステップ、動作、方法などを実行することができる。
【0187】
[184] 本件における「一実施形態」、「実施形態」、「一例の実施形態」、又は類似の語句に対する言及は、説明された実施形態が特定の素性、構造、又は特徴を含むことが可能であるが、全ての実施形態が必ずしもその特定の素性、構造、又は特徴を含むとは限らないことを示している。更に、そのような語句は必ずしも同じ実施形態を指しているとは限らない。更に、特定の素性、構造、又は特徴が実施形態に関連して記述されている場合、そのような素性、構造、又は特徴を他の実施形態に組み込むことは、本件で明示的に言及されたり記述されたりしているかどうかにかかわらず、当業者の知識の範囲内にあるであろう。更に、一部の実施形態は、「結合された」及び「接続された」という表現をそれらの派生物とともに使用して記述されている可能性がある。これらの用語は、必ずしも相互に同義語として意図されているわけではない。例えば、一部の実施形態は、2つ以上の要素が互いに物理的又は電気的に直に接触していることを示すために、「接続された」及び/又は 「結合された」という用語を使用して記述されている可能性がある。しかしながら、「結合された」という用語は、2つ以上の要素が互いに直接的に接触していないが、それでも互いに協働又は相互作用することを意味している可能性がある。
【0188】
[185] 本開示の範囲及び目的は、上記の例示的な実施形態の何れによっても制限されるべきではなく、以下のクレーム及びそれらの均等物によってのみ定められるべきである。本明細書において、開示の実装は、それらの具体的な実装例を参照して記述されている。以下のクレームに記載されているように、開示のより広い精神及び範囲から逸脱することなく、様々な修正が施されてもよいことは明らかであろう。従って、明細書及び図面は、限定的な意味ではなく、例示的な意味で解釈されるべきである。
図1
図2
図3
図4
【国際調査報告】