Information additional group code generator and decoder for a communication system |
|||||||
申请号 | JP2000282732 | 申请日 | 2000-09-18 | 公开(公告)号 | JP4680359B2 | 公开(公告)日 | 2011-05-11 |
申请人 | デジタル ファウンテン, インコーポレイテッド; | 发明人 | ジー. ルビー マイケル; | ||||
摘要 | |||||||
权利要求 | 出力記号の1群を生成する方法であって、1群は1つ以上の出力記号であり、各出力記号は出力アルファベットから選択され、入力アルファベットからそれぞれ選択される順列の複数の入力記号を含む入力ファイルが、このような群の1セットから回復可能であるような該群であり、該方法は、 該群のキーIを得るステップであって、該キーがキーアルファベットから選択され、該キーアルファベットにおける 選択可能なキーの数が 、任意の予想される入力ファイルサイズについて、該入力ファイルにおける入力記号の数 に対して、実質的に無限である 、ステップと、 I を変数とする所定の関数にしたがって、該群のリストAL(I)を計算するステップであって、AL(I)は、該群に関連付けられ た入力記号 に関連付けられた重みW(I)を示し、重みW (I)は、少なくとも2つの値の間で変化する正の整数であり、 少なくとも1つのIの値について重みW(I)が、 1より大きい、ステップと、 AL(I)によって示される該関連付けられた入力記号 を変数とする所定の関数から、該群における各出力記号の出力記号値を生成するステップと、 を含む方法。 前記キーIを得るステップが、ランダム関数または擬似ランダム関数にしたがってキーIを計算するステップを含む、請求項1に記載の方法。 前記計算するステップが、Iのランダム関数または擬似ランダム関数にしたがってW(I)を計算するステップを含む、請求項1に記載の方法。 前記計算するステップが、Iのランダム関数または擬似ランダム関数にしたがってAL(I)を計算するステップを含む、請求項1に記載の方法。 前記計算するステップが、前記群における出力記号の数G(I)を計算するステップを含み、該数G(I)が正の整数であり、該数G(I)がIのランダム関数または擬似ランダム関数にしたがって計算される、請求項1に記載の方法。 前記計算するステップが、 I を変数とする所定の関数および確率分布にしたがって、重みW(I)を計算するステップであって、該確率分布が少なくとも2つの正の整数上にあり、そのうちの少なくとも1つが1より大きい、ステップと、 リストAL(I)のリストエントリを計算するステップと、 W(I)個のリストエントリが計算されるまで、リストAL(I)のリストエントリを計算するステップを繰り返すステップと、 を含む、請求項1に記載の方法。 前記W(I)を計算するステップが、 重み W (I)が前記キーアルファベット上の所定の分布を近似するような 重み W(I)を決定するステップを含む、請求項6に記載の方法。 前記所定の分布が一様分布である、請求項7に記載の方法。 前記所定の分布がつり鐘曲線分布である、請求項7に記載の方法。 前記所定の分布は、W (I) =1が1/Kの確率を有し、ここで、Kが前記入力ファイルにおける入力記号の数であり、そしてW (I) =iがi=2,. . . ,Kに対して1/i(i−1)の確率を有する、請求項7に記載の方法。 前記AL(I)によって示される関連付けられた入力記号 を変数とする前記所定の関数が、リード−ソロモン符号によって決定される、請求項1に記載の方法。 前記入力アルファベットおよび前記出力アルファベットが同じアルファベットである、請求項1に記載の方法。 前記入力アルファベットが2 Mi個の記号を含み、各入力記号がMiビットを符号化し、前記出力アルファベットが2 Mo個の記号を含み、各出力記号の群が Moビットを符号化する、請求項1に記載の方法。 各後続キーIが 前記キーアルファベットのシーケンスにおける次のキーである 、請求項1に記載の方法。 出力記号の複数の群を符号化する方法であって、 出力記号の各群は請求項1に記載され、該方法は、 生成されるべき該出力記号の群の各々に対するキーIを生成するステップと、 および 該生成された出力記号の群の各々をデータイレーズチャネルを介して送信されるべき出力シーケンスとして出力するステップと、 をさらに含む方法。 各キーIが他の選択されるキーとは独立に選択される、請求項15に記載の方法。 前記AL(I)を計算するステップが、 前記入力ファイルにおける入力記号の数Kを少なくとも近似的に識別し、かつ重みW(I)を識別するステップと、 Kより大きいかまたはKに等しい最小素数Pを決定するステップと、 PがKより大きい場合、少なくとも 該入力ファイルにP−K個のブランク入力記号を付加するステップと、 1≦X<Pである第1の整数X、および0≦Y<Pである第2の整数Yを生成するステップと、 1〜W(I)の各Jに対して、AL(I)における第J番目のエントリを((Y+(J−1)・X) mod P)に設定するステップと、 を含む、請求項1に記載の方法。 前記各Jに対してAL(I)における第J番目のエントリを設定するステップが、 配列Vにおける第1のエントリV[J=0]をYに設定するステップと、 1〜W(J)−1の各Jに対して、該配列Vにおける第J番目のエントリV[J]を((V[J−1]+X) mod P)に設定するステップと、 該配列Vを該リストAL(I)として使用するステップと、 を含む、請求項17に記載の方法。 ソースから目的地にパケット通信チャネルを介してデータを送信する方法であって、該方法が、 a)送信されるべき該データを入力記号の順列セットとして構成するステップであって、各入力記号は、入力アルファベットから選択され、該データにおける位置を有する、ステップと、 b)出力記号の複数の群を生成するステップであって、各出力記号が出力アルファベットから選択され、該複数の群の各群が、以下のステップによって生成され、該ステップは、 キーアルファベットから、生成される該群のキーIを選択するステップと、 Iの関数として重みW(I)を決定するステップであって、ここで、重みW (I)は、少なくとも2つの値の間および該キーアルファベット上で変化する正の整数であり、該キーアルファベットにおける少なくともいくつかのキーに対して 1より大きい、ステップと、 Iの関数にしたがってW(I)個の該入力記号を選択し、したがって、該群に関連付けられるW(I)個の入力記号のリストAL(I)を形成するステップと、 該群における出力記号の数G(I)を決定するステップと、 該関連付けられるW(I)個の入力記号 を変数とする所定の値関数から該群における各出力記号の値B(I)を計算するステップとを含む、ステップと、 c)該複数の群のうちの少なくとも1つの出力記号の群のうちの少なくとも1つを、複数のパケットの各々にパケット化するステップと、 d)該複数のパケットを、該パケット通信チャネルを介して送信するステップと、 e)該複数のパケットのうちの少なくともいくつかを該目的地で受信するステップと、 f)該複数の受信されたパケットから該データを復号化するステップと、 を含む方法。 前記データを復号化するステップが、 1)受信された出力記号の各群を処理するステップであって、 a)該群の前記キーIを決定するステップと、 b)該群の前記重みW(I)を決定するステップと、 c)該群の前記W(I)個の関連付けられた入力記号を決定するステップとを含む、ステップと、 2)任意の入力記号を復号化するのに十分な情報が受信されたかどうかを決定するステップと、 3)該受信された情報から復号化され得る入力記号を復号化するステップと、 を含む、請求項19に記載の方法。 前記キーIを決定するステップが、前記パケット通信チャネルを介して受信されたパケットにおいて供給されたデータから該キーIを少なくとも部分的に決定するステップを含む、請求項20に記載の方法。 前記データを復号化するステップが、 1)受信された出力記号の各群を処理するステップであって、 a)該受信された群の前記重みW(I)を決定するステップと、 b)該受信された群の前記W(I)個の関連付けられた入力記号を決定するステップと、 c)出力記号の群のテーブルにおける群の出力記号の値B(I)を、該受信された群に対する該重みW(I)および前記W(I)個の関連付けの位置とともに格納するステップとを含む、ステップと、 2)出力記号のさらなる群を受信し、それらをステップ1)およびそのサブステップにしたがって処理するステップと、 3) 多くとも、群サイズの重みを有し、使い古された出力記号の群として表記されていない出力記号の各群、GOS1、に対して、以下のステップ、 a)GOS1に対応する入力記号の位置に対して入力記号を計算するステップと、 b)該出力記号の群のテーブルにおける接続された出力記号の群を識別するステップであって、接続された出力記号の群は、ステップ3)a)において処理された少なくとも1つの入力記号の関数である出力記号の群である、ステップと、 c)ステップ3)a)において処理された該入力記号に独立になるように該接続された出力記号の群を再計算するステップと、 d)ステップ3)a)において処理された該入力記号の独立性を反映するようにステップ3)c)において再計算された該出力記号の群の重みを決定するステップと、 e)GOS1を使い古した出力記号として表記するステップと、を実行するステップと、 4)前記入力記号の順列セットが前記目的地で回復されるまで、該ステップ1)からステップ3)を繰り返すステップと、 を含む、請求項19に記載の方法。 前記表記するステップが、前記使い古した出力記号にゼロの重みを割り当てるステップである、請求項22に記載の方法。 前記表記するステップが、前記出力記号の群のテーブルから前記使い古した出力記号の群を除去するステップを含む、請求項22に記載の方法。 前記パケット化するステップが、複数の出力記号の群のうちの少なくとも1つの群から少なくとも1つの出力記号の群を各パケットにパケット化するステップであり、該方法が、パケット内の出力記号の1群の位置を該出力記号の群のキーの一部として使用するステップをさらに含む、請求項19に記載の方法。 前記計算するステップが、前記群における出力記号の数G(I)を計算するステップを含み、該G(I)は、正の整数であり、Iのすべての値に対して同じ正の整数である、請求項1に記載の方法。 出力記号のグループを生成する方法であって、グループは1個以上の出力記号であり、出力記号の各々は出力アルファベットから選択され、該グループは、各々が入力アルファベットから選択される順列の複数の入力記号を含む入力ファイルがこのようなグループのセットから回復可能であるようなものであり、該方法は、 所与のグループに対して、該グループに関連付けられるW個の関連付け入力記号を指示するリストALを決定するステップであって、Wは正の整数であり、少なくとも2つのグループは各々のW個の関連付けに対して異なる値を有し、少なくとも1つのグループに対してWは2以上であり、 生成可能なグループの個数は 、任意の予想される入力ファイルサイズについて、該入力ファイル内の入力記号 の数に対して実質的に無限である 、ステップと、 ALにより指示されるW個の関連付け入力記号 を変数とする所定の関数から、前記グループ内の各々の出力記号の出力記号値を生成するステップと、 を含むことを特徴とする方法。 さらに、 所与のグループに関連付けられたキーIからWを計算するステップと、 キーIからALを計算するステップと、 を含むことを特徴とする請求項27に記載の方法。 前記Wを計算するステップと前記ALを計算するステップとは、確率分布を使用することを特徴とする請求項28に記載の方法。 入力ファイルの情報コンテンツを送信する方法であって、該入力ファイルは、各々が入力アルファベットから選択される順列の複数の入力記号であり、該入力ファイルは、各々が出力アルファベットから選択される出力記号のセットから回復可能なものであり、該方法は、 出力記号の複数のグループを生成するステップであって、グループは1以上の出力記号であり、前記複数のグループの各々のグループは、 a)前記グループに関連付けられたW個の関連付け入力記号を指示するリストALを決定するステップであって、Wは正の整数であり、少なくとも2つのグループは各々のW個の関連付けに対して異なる値を有し、少なくとも1つのグループに対してWは2以上であり、 生成可能なグループの個数は 、任意の予想される入力ファイルサイズについて、入力ファイル内の入力記号 の数に対して、実質的に無限である 、ステップと、 b)ALにより指示されるW個の関連付け入力記号 を変数とする所定の関数から、前記グループ内の各々の出力記号の出力記号値を生成するステップと、 により生成される、ステップと、 生成された複数のグループを送信するステップと、 を含むことを特徴とする方法。 前記複数のグループを生成するステップは、複数のソースの各々において、独立した複数個のグループを生成するステップであり、該複数個のグループは、前記複数のソースの各々のソースが、該複数のソースの他のソースで生成されたリストの参照を必要とすること無く、ある独立ソースが他のソースの情報出力と完全に重複すること無く、関連付け入力シンボルのリストを決定するという点で独立であることを特徴とする請求項30に記載の方法。 さらに、 あるチャネルにより提供される情報コンテンツが、他のチャネルの情報コンテンツと完全に重複すること無く、複数のチャネルにわたって複数のグループを配信するステップを含むことを特徴とする請求項30に記載の方法。 前記決定するステップは、 キーアルファベットから、生成されるグループに対するキーIを選択するステップであって、該キーアルファベットは入力記号の順列のセットに含まれる入力記号の個数よりも多い個数を含む、ステップと、 Iの関数として重みW(I)を決定するステップと、 Iの関数に従って入力記号のW(I)を選択ステップであって、それにより前記グループに関連付けられたW(I)個の入力記号のリストAL(I)を形成する、ステップと、 前記グループ内の出力記号の個数G(I)を決定するステップと、 関連付けられたW(I)個の入力記号 を変数とする所定の値関数から、前記グループのG(I)個の出力記号の各々の値B(I)を計算するステップと、 を含むことを特徴とする請求項30に記載の方法。 前記複数のグループを生成するステップは、複数のソースの各々において、独立した複数個のグループを生成するステップであり、該複数個のグループは、前記複数のソースの各々のソースが、該複数のソースの他のソースで生成されたキーの参照を必要とすること無く、ある独立ソースが他のソースの情報出力と完全に重複すること無く、キーを選択するという点で独立であることを特徴とする請求項33に記載の方法。 さらに、 あるチャネルにより提供される情報コンテンツが、他のチャネルの情報コンテンツと完全に重複すること無く、複数のチャネルにわたって複数のグループを配信するステップを含むことを特徴とする請求項33に記載の方法。 複数のチャネルを介してソースからデータを送信する方法であって、該方法は、 a)順列の入力記号のセットとして送信されるデータを編成するステップと、 b)複数のチャネルの各々に対して出力記号の複数のグループを生成するステップであって、該複数のグループの各々のグループは、 1)キーアルファベットから、生成されるグループに対するキーIを選択するステップであって、該キーアルファベットは入力記号の順列のセットに含まれる入力記号の個数より も多い個数を含む、ステップと、 2)Iの関数として重みW(I)を決定するステップであって、重みW (I)は、少なくとも2つの値の間で変化する正の整数であり、前記キーアルファベットにおける少なくともいくつかのキーに 関して重みW(I)の値が、 1より大き い、ステップと、 3)Iの関数に従って入力記号のW(I)を選択するステップであって、それにより前記グループに関連付けられたW(I)個の入力記号のリストAL(I)を形成する、ステップと、 4)前記グループの出力記号の個数G(I)を決定するステップと、 5)関連付けられたW(I)個の入力記号 を変数とする所定の値関数から、前記グループのG(I)個の出力記号の各々の値B(I)を計算するステップと、 により生成される、ステップと、 c)前記複数のグループの少なくとも1つを複数のパケットの各々にパケット化するステップと、 d)前記複数のチャネルにわたって前記複数のパケットを送信するステップであって、該複数のチャネルの少なくとも2つは、キーIに対して互いに異なる値として生成されたグループを含むパケットを運ぶ、ステップと、 を含むことを特徴とする方法。 前記ソースは、自ソースのキーIに対する値を生成する単一のソースを含み、前記複数のチャネルの任意の2つから受信されるグループが完全な重複とはならないように、前記複数のチャネルにわたって結果のグループを配信する、ことを特徴とする請求項36に記載の方法。 前記複数のチャネルの任意の2つから受信されるグループが完全な重複とはならないように、キーIに対する前記値は、前記複数のチャネルの各々に対して独立に選択されることを特徴とする請求項36に記載の方法。 |
||||||
说明书全文 | (関連出願への相互参照) |