(57)【要約】      （修正有）【課題】線形抹消コードを提供する方法と装置を提供する。【解決手段】方法は、コードシンボルのデータ値のセットを符号化するために提供される。方法は、コードシンボルを生成するべく使用される選択されたデータ値を定義するインデックスシーケンスを決定し、コードシンボルを生成するべく選択されたデータ値に掛けられる要因を定義する値シーケンスを決定することを備える。方法は、インデックスシーケンス及び値シーケンスを記述するパケットヘッダを生成することを備える。【選択図】図７
2012010364.tif 000002
【特許請求の範囲】
【請求項１】
コードシンボルを生成するように使用されるために、選択されたデータ値を定義するインデックスシーケンスを決定することと、
コードシンボルを生成する選択されたデータ値を掛けられるために要因を定義する値シーケンスを決定することと、
またインデックスシーケンスおよび値シーケンスについて記述するパケットヘッダを生成することとを備えるコードシンボル中のデータ値のセットを符号化する方法。
【請求項２】
コードシンボルを生成するように使用されるためにデータ値の総数を定義するコード重量パラメータを決定することと、
パケットヘッダにコード重量パラメータを含めることとをさらに備える請求項１の方法。
【請求項３】
前記インデックスシーケンスを決定することは、線形、マップド及びＬＤＧＭのシーケンスタイプを含む、１つ以上のインデックスシーケンスタイプからのインデックスシーケンスを決定することを備える請求項１の方法。
【請求項４】
前記値シーケンスを決定することは、一定の値タイプおよびリード・ソロモンと任意の値タイプを含む１つ以上の値シーケンスタイプからの値シーケンスを決定することを備える請求項１の方法。
【請求項５】
パケットヘッダとコードシンボルとをコードパケットへ組みこむことをさらに備える請求項１の方法。
【請求項６】
符号化セレクションパラメータに基づいて、インデックスシーケンスと値シーケンスのいずれか１つあるいは両方を調整することをさらに備える請求項１の方法。
【請求項７】
コードシンボルを生成するべく選択されたデータ値を定義するインデックスシーケンスを決定し、コード記号を生成する選択されたデータ値を掛ける要因を定義する値シーケンスを決定する符号化ロジックと、
インデックスシーケンスおよび値シーケンスについて記述するパケットヘッダを生成する出力ロジックとを備えるコードシンボルのデータ値のセットを符号化する装置。
【請求項８】
前記符号化ロジックは、コードシンボルを生成するために使用されるデータ値の総数を定義するコード重量パラメータを決定することを備える請求項７の装置。
【請求項９】
前記符号化ロジックは、線形、マップド、及びＬＤＧＭのシーケンスタイプを含む、１つ以上のインデックスシーケンスタイプからのインデックスシーケンスを決定することを備える請求項７の装置。
【請求項１０】
前記符号化ロジックは、一定の値タイプおよびリード・ソロモンと任意の値タイプを含む１つ以上の値シーケンスタイプから値シーケンスを決定することを備える請求項７の装置。
【請求項１１】
前記出力ロジックは、コードパケットへパケットヘッダとコードシンボルを組み込むことを備える請求項７の装置。
【請求項１２】
符号化セレクションパラメータに基づいて、インデックスシーケンス及び値シーケンスのいずれか１つあるいは両方を調整するコード選択ロジックをさらに備える請求項７の装置。
【請求項１３】
コードシンボルを生成するために使用される選択されたデータ値を定義するインデックスシーケンスを決定する手段と、
コードシンボルを生成するように選択されたデータ値を掛けられるために要因を定義する値シーケンスを決定する手段と、
インデックスシーケンスおよび値シーケンスについて記述するパケットヘッダを生成する手段とを備えるコードシンボル中のデータ値のセットを符号化する装置。
【請求項１４】
コードシンボルを生成するために使用されるデータ値の総数を定義するコード重量パラメータを決定する手段と、
パケットヘッダにコード重量パラメータを含める手段とをさらに備える請求項１３の装置。
【請求項１５】
前記インデックスシーケンスを決定する手段は、線形、マップド及びＬＤＧＭのシーケンスタイプを含む１つ以上のインデックスシーケンスタイプからインデックスシーケンスを決定する手段を備える請求項１３の装置。
【請求項１６】
前記値シーケンスを決定する手段は、一定の値タイプおよびリードソロモンと任意の値タイプを含む１つ以上の値シーケンスタイプから値シーケンスを決定する手段を備える請求項１３の装置。
【請求項１７】
コードパケットにパケットヘッダ及びコードシンボルを組み込む手段をさらに備える請求項１３の装置。
【請求項１８】
符号化セレクションパラメータに基づいて、インデックスシーケンス及び値シーケンスのいずれか１つまたは両方を調整する手段をさらに備える請求項１３の装置。
【請求項１９】
少なくとも１つのプロセッサに対しコードシンボルのデータ値のセットを符号化するように動作させるコンピュータプログラムを有するコンピューター判読可能な媒体において、
コードシンボルを生成するために使用される選択されたデータ値を定義するインデックスシーケンスを決定するインストラクションと、
コードシンボルを生成する選択されたデータ値に掛ける要因を定義する値シーケンスを決定するインストラクションと、
インデックスシーケンスおよび値シーケンスについて記述するパケットヘッダを生成するインストラクションとを備えるコンピュータプログラム。
【請求項２０】
コードシンボルを生成するために使用されるデータ値の総数を定義するコード重量パラメータを決定するインストラクションと、
パケットヘッダにコード重量パラメータを含めるインストラクションとをさらに備える請求項１９のコンピュータプログラム。
【請求項２１】
前記インデックスシーケンスを決定するインストラクションは、線形のシーケンスタイプおよびマッピングされたＬＤＧＭシーケンスタイプを含む１つ以上のインデックスシーケンスタイプからインデックスシーケンスを決定するインストラクションを備える請求項１９のコンピュータプログラム。
【請求項２２】
前記値シーケンスを決定するインストラクションは、一定の値タイプおよびリードソロモンと任意の値タイプを含む１つ以上の値シーケンスタイプから値シーケンスを決定するインストラクションを備える請求項１９のコンピュータプログラム。
【請求項２３】
パケットヘッダ及びコードシンボルをコードパケットに組み込むインストラクションをさらに備える請求項１９のコンピュータプログラム。
【請求項２４】
符号化セレクションパラメータに基づいて、インデックスシーケンス及び値シーケンスのいずれか１つまたは両方を調整するインストラクションをさらに備える請求項１９のコンピュータプログラム。
【請求項２５】
コードシンボルのデータ値のセットを符号化する方法を実行する少なくとも１つのプロセッサにおいて、
コードシンボルを生成するために使用される選択されたデータ値を定義するインデックスシーケンスを決定することと、
コードシンボルを生成する選択されたデータ値に掛ける要因を定義する値シーケンスを決定することと、
インデックスシーケンスおよび値シーケンスについて記述するパケットヘッダを生成することとを備える方法。
【請求項２６】
コードシンボルを生成するために使用されるデータ値の総数を定義するコード重量パラメータを決定することと、
パケットヘッダにコード重量パラメータを含めることとをさらに備える請求項２５の方法。
【請求項２７】
前記インデックスシーケンスを決定することは、線形のシーケンスタイプおよびマッピングされたＬＤＧＭシーケンスタイプを含む１つ以上のインデックスシーケンスタイプからインデックスシーケンスを決定することを備える請求項２５の方法。
【請求項２８】
前記値シーケンスを決定することは、一定の値タイプ、リードソロモンと任意の値タイプを含む１つ以上の値シーケンスタイプから値シーケンスを決定することを備える請求項２５の方法。
【請求項２９】
パケットヘッダ及びコードシンボルをコードパケットに組み込むインストラクションをさらに備える請求項２５の方法。
【請求項３０】
符号化セレクションパラメータに基づいて、インデックスシーケンス及び値シーケンスのいずれか１つまたは両方を調整することをさらに備える請求項２５の方法。
【請求項３１】
コードパケットをデータ値のセットに復号する方法において、
コードパケットからパケットヘッダ及びパケットペイロードを得ることと、
前記パケットヘッダからインデックスシーケンス及び値シーケンスを決定することと、
データ値のセットを生成するべく前記インデックスシーケンス及び前記値シーケンスに基づいてパケットペイロードを復号することとを備える方法。
【請求項３２】
前記パケットヘッダから１以上のコード重畳パラメータ、値シーケンスパラメータ及びインデックスシーケンスパラメータを抽出することをさらに備える請求項３１の方法。
【請求項３３】
前記インデックスシーケンス及び値シーケンスを決定するべく１以上のコード重畳パラメータ、値シーケンスパラメータ及びインデックスシーケンスパラメータを処理することをさらに備える請求項３２の方法。
【請求項３４】
前記復号することは、データ値のセットを生成するペイロードを復号するべくインデックスシーケンスおよび値シーケンスによって記述された線形符号化スキームを逆にすることを備える請求項３１の方法。
【請求項３５】
コードパケットをデータ値のセットに復号する装置において、
コードパケットからパケットヘッダ及びパケットペイロードを得る抽出ロジックと、
前記パケットヘッダからインデックスシーケンスを決定するインデックスシーケンスロジックと、
前記パケットヘッダから値シーケンスを決定する値シーケンスロジックと、
データ値のセットを生成するべく前記インデックスシーケンス及び前記値シーケンスに基づいてパケットペイロードを復号する復号ロジックとを備える装置。
【請求項３６】
前記パケットヘッダから１以上のコード重畳パラメータ、値シーケンスパラメータ及びインデックスシーケンスパラメータを抽出するロジックをさらに備える請求項３５の装置。
【請求項３７】
前記インデックスシーケンス及び値シーケンスを決定するべく１以上のコード重畳パラメータ、値シーケンスパラメータ及びインデックスシーケンスパラメータを処理するロジックをさらに備える請求項３６の装置。
【請求項３８】
前記復号ロジックは、データ値のセットを生成するペイロードを復号するべくインデックスシーケンスおよび値シーケンスによって記述された線形符号化スキームを逆にする請求項３５の装置。
【請求項３９】
コードパケットをデータ値のセットに復号する装置において、
コードパケットからパケットヘッダ及びパケットペイロードを得る手段と、
前記パケットヘッダからインデックスシーケンス及び値シーケンスを決定する手段と、
データ値のセットを生成するべく前記インデックスシーケンス及び前記値シーケンスに基づいてパケットペイロードを復号する手段とを備える装置。
【請求項４０】
前記パケットヘッダから１以上のコード重畳パラメータ、値シーケンスパラメータ及びインデックスシーケンスパラメータを抽出する手段をさらに備える請求項３９の装置。
【請求項４１】
前記インデックスシーケンス及び値シーケンスを決定するべく１以上のコード重畳パラメータ、値シーケンスパラメータ及びインデックスシーケンスパラメータを処理する手段をさらに備える請求項４０の装置。
【請求項４２】
前記復号する手段は、データ値のセットを生成するペイロードを復号するべくインデックスシーケンスおよび値シーケンスによって記述された線形符号化スキームを逆にする請求項３９の装置。
【請求項４３】
コードパケットを復号し、データ値のセットを生成するように動作する少なくとも１つのプロセッサにより実行されるコンピュータプログラムを有するコンピューター判読可能な媒体において、
コードパケットからパケットヘッダ及びパケットペイロードを得るインストラクションと、
前記パケットヘッダからインデックスシーケンス及び値シーケンスを決定するインストラクションと、
データ値のセットを生成するべく前記インデックスシーケンス及び前記値シーケンスに基づいてパケットペイロードを復号するインストラクションとを備えるコンピュータプログラム。
【請求項４４】
前記パケットヘッダから１以上のコード重畳パラメータ、値シーケンスパラメータ及びインデックスシーケンスパラメータを抽出するインストラクションをさらに備える請求項４３のコンピュータプログラム。
【請求項４５】
前記インデックスシーケンス及び値シーケンスを決定するべく１以上のコード重畳パラメータ、値シーケンスパラメータ及びインデックスシーケンスパラメータを処理するインストラクションをさらに備える請求項４４のコンピュータプログラム。
【請求項４６】
前記復号するインストラクションは、データ値のセットを生成するペイロードを復号するべくインデックスシーケンスおよび値シーケンスによって記述された線形符号化スキームを逆にする請求項４３のコンピュータプログラム。
【請求項４７】
コードパケットをデータ値のセットに復号する方法を実行する少なくとも１つのプロセッサにおいて、
コードパケットからパケットヘッダ及びパケットペイロードを得ることと、
前記パケットヘッダからインデックスシーケンス及び値シーケンスを決定することと、
データ値のセットを生成するべく前記インデックスシーケンス及び前記値シーケンスに基づいてパケットペイロードを復号することとを備える方法。
【請求項４８】
前記パケットヘッダから１以上のコード重畳パラメータ、値シーケンスパラメータ及びインデックスシーケンスパラメータを抽出することをさらに備える請求項４７の方法。
【請求項４９】
前記インデックスシーケンス及び値シーケンスを決定するべく１以上のコード重畳パラメータ、値シーケンスパラメータ及びインデックスシーケンスパラメータを処理することをさらに備える請求項４８の方法。
【請求項５０】
前記復号することは、データ値のセットを生成するペイロードを復号するべくインデックスシーケンスおよび値シーケンスによって記述された線形符号化スキームを逆にすることを備える請求項４７の方法。
【発明の詳細な説明】
【技術分野】
【０００１】
本出願は、一般に、データ網の処理手順に関し、特に線形の抹消コードを提供する方法と装置に関する。
【背景技術】
【０００２】
典型的な無線運搬システムにおいて、コンテンツはマルチキャスト送信チャネルを介して携帯機器に配信される。コンテンツは、パケットが送信チャンネルを介して送信されるとともに、パケット損失を克服するためにコード化されるコードパケットのフォームにコード化される。送信機のエンコーダはオリジナル・データ・パケットをとり、１つ以上の機器に送信されるコードパケットを生成する。ノイズあるいは他の下劣な伝送結果のために、コードパケットの部分集合はどんな特別の機器でも受信される。受信コードパケットはオリジナル・データ・パケットを回復するために解読される。
【０００３】
典型的には、抹消回復コードのための使用のためのパケット・フォーマットは、パケットヘッダと、実のコード化データを含むパケットのペイロードとを備えている。従来のシステムは、使用される各タイプの抹消コードのための異なるパケットヘッダ・フォーマットを利用する。不運にも、このアプローチは柔軟でなく、よく基準化しない。新しい符号化タイプが利用される場合、例えば、受信機が符号化されたパケットを処理すると必ず、パケットを処理する方法に関する特別の知識で最初に更新される。更に、ある伝送条件用に解決するか補うために異なるコーディング技術を組み合わせることは望ましいかもしれない。しかしながら、従来のシステムでは、異なる符号体系を組み合わせることは一般に可能ではない。
【０００４】
したがって、受信装置から要求することなく使用されている符号化スキームに関する特別の知識で更新されるため、柔軟で、計量可能で、新しくて許可する線形の抹消符号化あるいは符号体系の組み合わせを提供するために動作するシステムが必要となる。
【発明の概要】
【０００５】
本特許出願は、２００５年３月１０日に出願され、本明細書の譲受人に譲渡され、本明細書に参照によって明確に組み込まれる米国仮出願６０／６６０，８７５号の優先権を主張する。
【０００６】
１以上の実施形態において、符号化システム、含む方法および装置は、通信システムにおけるコーディング・データのために線形の抹消コーディングを提供し、その動作も規定する。例えば、符号化システムの実施形態は使用されている符号体系についての特別の知識を持たずに、受信装置からの要求によって容易に解読することができる一般形式中の線形符号化スキームを示すために作動する。その結果、符号化システムは、どんな送信条件も解決することを様々なコード・タイプの組み合わせにより可能となる。
【０００７】
１つの態様では、コードシンボルの中へのデータ値のセットを符号化するための方法が提供される。方法は、コードシンボルの生成に使用されるために選択されたデータ値を定義するインデックスシーケンスを決定し、コードシンボルを生成する選択されたデータ値を掛ける要因を定義する値シーケンスを決定することを含む。方法はさらに、インデックスシーケンスおよび値シーケンスについて記述するパケットヘッダを生成することを含む。
【０００８】
１つの態様では、装置は、コードシンボルの中のデータ値のセットを符号化するために提供される。装置は、コードシンボルを生成するべく選択されたデータ値を定義するインデックスシーケンスを決定し、コードシンボルを生成するべく選択されたデータ値を掛けられる要因を定義する値シーケンスを決定する符号化ロジックを備える。装置は、さらにインデックスシーケンスおよび値シーケンスについて記述するパケットヘッダを生成するように構成された出力ロジックを備える。
【０００９】
１つの態様では、コードシンボルの中のデータ値のセットを符号化するための装置を提供する。装置は、コードシンボルを生成するために使用される選択されたデータ値を定義し、コードシンボルを生成する選択されたデータ値を掛ける要因を定義する値シーケンスを決定するためのインデックスシーケンスを決定する手段を備える。装置は、さらにインデックスシーケンスおよび値シーケンスについて記述するパケットヘッダを生成する手段を備える。
【００１０】
１つの態様において、少なくとも１つのプロセッサにより実行され、コードシンボル中のデータ値のセットをエンコードする処理を実行するコンピュータプログラムを有するコンピューター判読可能な媒体を提供する。コンピュータプログラムは、コードシンボルを生成するために使用される選択されたデータ値を定義するインデックスシーケンスを決定する指示と、およびコードシンボルを生成する選択されたデータ値を掛ける要因を定義する値シーケンスを決定する指示とを備える。コンピュータプログラムは、さらにインデックスシーケンスおよび値シーケンスについて記述するパケットヘッダを生成する指示を備える。
【００１１】
１つの態様において、少なくとも１つのプロセッサは、コードシンボルの中のデータ値のセットを符号化する方法を実行するものを提供する。方法は、コードシンボルを生成するために使用される選択されたデータ値を定義するインデックスシーケンスを決定することと、コードシンボルを生成するために選択されたデータ値を掛ける要因を定義する値シーケンスを決定することとを備える。方法はさらに、インデックスシーケンスおよび値シーケンスについて記述するパケットヘッダを生成することを備える。
【００１２】
１つの態様では、方法は、データ値のセットへコードパケットを解読することを提供される。方法は、コードパケットからパケットヘッダおよびパケットペイロードを得て、パケットヘッダからのインデックスシーケンスおよび値シーケンスを決定することを備える。方法はさらに、データ値のセットを生成するために、インデックスシーケンスおよび値シーケンスに基づいたパケットペイロードを解読することを備える。
【００１３】
１つの態様では、装置は、コードパケットをデータ値のセットに復号することを提供する。装置は、コードパケットからパケットヘッダおよびパケットペイロードを得る抽出ロジックと、パケットヘッダからインデックスシーケンスを決定するインデックスシーケンスロジックとを備える。装置は、さらにパケットヘッダから値シーケンスを決定する値シーケンスロジックと、データ値のセットを生成するために、インデックスシーケンスおよび値シーケンスに基づいてパケットペイロードを解読する復号ロジックを備える。
【００１４】
１つの態様では、装置は、コードパケットをデータ値のセットに復号することを提供する。装置は、コードパケットからパケットヘッダおよびパケットペイロードを得る手段と、パケットヘッダからインデックスシーケンスおよび値シーケンスを決定する手段とを備える。装置は、さらにデータ値のセットを生成するために、インデックスシーケンスおよび値シーケンスに基づいてパケットペイロードを解読する手段を備える。
【００１５】
１つの態様では、コンピューター判読可能な媒体は、少なくとも１つのプロセッサによって実行された時、データ値のセットを生成するべくコードパケットを解読するために動作するコンピュータプログラムを有することを提供する。コンピュータプログラムは、コードパケットからパケットヘッダおよびパケットペイロードを得る指示と、パケットヘッダからインデックスシーケンスおよび値シーケンスを決定する指示とを備える。コンピュータプログラムは、さらにデータ値のセットを生成するために、インデックスシーケンスおよび値シーケンスに基づいてパケットペイロードを解読する指示を備える。
【００１６】
１つの態様では、少なくとも１つのプロセッサは、コードパケットからデータ値のセットを解読する方法を実行することを提供する。方法は、コードパケットからパケットヘッダおよびパケットペイロードを得ることと、パケットヘッダからインデックスシーケンスおよび値シーケンスを決定することとを備える。方法はさらに、データ値のセットを生成するために、インデックスシーケンスおよび値シーケンスに基づいたパケットペイロードを解読することを備える。
【００１７】
実施形態の他の態様は、添付された図面とともに、以下の詳細記述及び請求項の記述から当業者に明らかになるであろう。
【図面の簡単な説明】
【００１８】
【図１】図１は、符号化システムの１つの実施形態を含むネットワークを示す。
【図２】図２は、符号化システムの実施形態で使用されるエンコーダの１つの実施形態を示す。
【図３】図３は、符号化システムの実施形態中のコード記号を生成するために、線形コードの動作方法を説明するグラフ表示を示す。
【図４】図４は、符号化システムの実施形態で使用されるパケットヘッダの１つの実施形態を示す。
【図５】図５は、符号化システムの実施形態で使用されるＶＡＬＵＥ＿ＳＥＱＵＥＮＣＥ＿ＴＹＰＥＳを説明するテーブルの１つの実施形態を示す。
【図６】図６は、符号化システムの実施形態で使用されるＩＮＤＥＸ＿ＳＥＱＵＥＮＣＥ＿ＴＹＰＥＳを説明するテーブルの１つの実施例を示す。
【図７】図７は、符号化システムの実施形態で使用されるエンコーダの動作方法の１つの実施形態を示す。
【図８】図８は、符号化システムの実施形態で使用されるデコーダの１つの実施形態を示す。
【図９】図９は、符号化システムの実施形態で使用されるデコーダの動作方法の１つの実施形態を示す。
【図１０】図１０は、符号化システムの実施形態で使用されるエンコーダの１つの実施形態を示す。
【図１１】図１１は、符号化システムの実施形態で使用されるデコーダの１つの実施形態を示す。
【発明を実施するための形態】
【００１９】
１以上の実施形態において、符号化システムは、使用されている符号体系についての特別の知識を持つことなく、受信装置の要求によって容易に解読することができる一般形式中の線形符号化スキームを示し、その動作を提供する。例えば、システムは無線通信ネットワーク上の伝送用データを符号化するのに適切である。システムは、無線ネットワーク環境での使用によく適しているが、通信網、インターネット、仮想施設通信網（ＶＰＮ）のような私設網、ローカルエリアネットワーク、広域ネットワーク、長距離輸送ネットワークあるいは他のタイプのデータ網のような公衆回線網のような任意のタイプのネットワーク環境の中で使用されてもよいことも含み、特に制限されない。
【００２０】
図１が、符号化システムの１つの実施形態を含むネットワーク１００を示す。ネットワーク１００は、データ網１０６を利用するデバイス１０４とのコミュニケーションにあるサーバ１０２を含む。１つの実施形態では、サーバ１０２は任意のタイプの通信リンク１０８を使用して、ネットワーク１０６と通信するために動作する。ネットワーク１０６は任意のタイプの有線ネットワークおよび（または）無線ネットワークである。ネットワーク１０６は、任意の適切なタイプの無線通信リンク１１０を使用して、デバイス１０４と通信する。サーバ１０２はデバイス１０４にコンテンツおよび（または）サービスを送信するために動作する。ここでは、１つのデバイスだけを図示するが、システムは、任意の数あるいはデバイスのタイプを備えた使用にふさわしい。
【００２１】
一実施形態において、サーバ１０２は、任意の選択されたネットワーク標数に基づいた符号化タイプを選択するために動作するコーディング選択ロジック１１２を含む。例えば、コーディング選択ロジック１１２は、モニターにネットワーク１０６の様々な伝送あるいはトラヒック状況を操作し、それらの条件に基づいた符号化タイプを選択してもよい。例えば、ネットワークは、信号フェージングあるいは他の下劣な結果により損失のある伝送条件を経験していてもよい。コーディング選択ロジック１１２は、これらの伝送条件（あるいは別の実体によって情報を供給される）を検知し、またこの情報に基づいた、エンコーダ１１４にコーディング・セレクション・パラメータを供給するように動作する。
【００２２】
エンコーダ１１４はネットワーク１０６上で伝送されるデータを受信し、またコードパケットを生成するためにこのデータを符号化するように動作する。１つの実施形態では、エンコーダ１１４は１つ以上の線形の抹消コードを使用してデータを符号化し、これにより生成コードパケットがネットワーク１０６を通して送信される時、受信装置によって失われたコードパケットを回復することが可能となる。１つの実施形態では、エンコーダ１１４は、コーディング選択ロジック１１２から受信されたコーディング・セレクション・パラメータに基づいた符号化スキームを選択するように動作する。
【００２３】
１つの実施形態では、エンコーダ１１４は、パケットヘッダ１１６およびパケットペイロード１１８を含むコードパケットを生成するべくデータを符号化するように動作する。パケットヘッダ１１６は、データを符号化するために使用される線形の抹消コードに関する情報を提供する。ペイロード１１８は符号化されたデータを含む。エンコーダ１１４の動作のより多くの詳述が、この項の別のセクション中で提供される。
【００２４】
１つ以上の実施形態では、エンコーダ１１４は任意のタイプの線形符号化スキームを使用して、データを符号化するように動作する。パケットヘッダ１１６は利用されるどんな符号化スキームでも完全に記述するために生成される。したがって、パケットヘッダは、データが、リード・ソロモン・コーディング、ＬＤＰＣコーディング、ＬＤＧＭコーディング、反復コーディング、ターボ・コーディングあるいは他のタイプの線形符号化スキームを使用して符号化されたと伝えることができる。さらに、上記の符号体系のあらゆる組み合わせあるいは任意の新しいタイプの線形符号化スキームも使用して、エンコーダ１１４はデータを符号化する動作が可能である。また、パケットヘッダ１１６は、符号化スキームが使用したことを完全に説明することができる。これは柔軟な符号化システムを提供するために様々な回路網状態に基づいて選択されているスキームを符号化することを可能にする。更に、符号体系を使用したことをパケットヘッダが完全に説明するので、それらが受信コードパケットを処理するために、受信装置では更新する必要なく、新しい符号体系が利用されてもよいので、システムは計量可能である。これは、送り側にて、受信装置の更新を必要とすることなく、異なる符号体系を組み合わせる、それらのプロパティを利用するために新しい符号体系を使用することを可能にする。
【００２５】
コードパケットがエンコーダ１１４によって生成された後、それらは、パス１２０によって示されるようなネットワーク１０６上のデバイス１０４に送信される。デバイス１０４がコードパケットを受信する場合、デバイス１０４は、データがどのように符号化されたかを断定するパケットヘッダ１１６をデコードするためにその復号器１２２を使用する。その後、復号器１２２は、パケットヘッダ１１６によって記述された符号体系を逆にすることにより、データを得るためにコードパケットをデコードする。
【００２６】
こうして、パケットヘッダ１１６が受信コードパケットをデコードするために必要な情報をすべて提供するので、デバイス１０４は、使用される符号化スキームに関する特別の知識を必要としない。
【００２７】
したがって、符号化システムの実施形態は柔軟に計量可能となるように、ネットワーク上を伝送されるデータを符号化するために動作する。ネットワーク１００が単に１つのインプリメンテーションで、他のインプリメンテーションが実施形態の範囲内で可能なことが注目されるべきである。
【００２８】
図２は、符号化システムの実施形態で使用されるエンコーダ２００の一実施形態を示す。例えば、エンコーダ２００は図１に示されるエンコーダ１１４として使用することもできる。エンコーダ２００は、ロジック２０２、データ入力ロジック２４０、コードパケット出力ロジック２０６およびコーディング選択ロジック２０８を備え、これらは全て内部データバス２１０に接続される。
【００２９】
データ入力ロジック２０４は、符号器２００で受信データを符号化できるように動作するハードウェア・ロジックおよび（または）ソフトウェアを含む。例えば、一実施形態において、データ入力ロジック２０４は、任意の適切なタイプの通信路２１４を含むデータ・チャネル２１２によって受信されるデータを符号化できるように動作する。
【００３０】
１以上の実施形態において、符号化ロジック２０２はＣＰＵ、プロセッサ、ゲートアレー、ハードウェア・ロジック、記憶素子、仮想計算機、ソフトウェアおよび（または）ハードウェアとソフトウェアの任意の組み合わせを含む。１つの実施形態では、符号化ロジック２０２は選択された線形の抹消コードを使用して、受信データを符号化するために動作する。符号化ロジック２０２の中のさらなる詳細な論述はこの項の別のセクション中で提供される。したがって、符号化ロジック２０２は、一般にデータを符号化し、かつ内部データバス２１０によってエンコーダ２００の１つ以上の他の機能要素を制御するためのロジックを含む。
【００３１】
コードパケット出力ロジック２０６は、ネットワーク上の伝送用の出力コードパケットに形成されたロジックを含む。例えば、一旦データが符号化ロジック２０２によって符号化されれば、パケットヘッダとパケットのペイロードを含むコードパケットは出力ロジック２０６に供給される。その後、出力ロジック２０６は通信リンク２１４を使用して、伝送ロジック（図示されない）にコードパケットを出力する。
【００３２】
コーディング選択ロジック２０８はネットワーク実行パラメータとしての符号化セレクション・パラメータを検出しまたは受信するハードウェアおよび（または）ソフトウェアを備える。これらのパラメータは、データを符号化する符号化スキームを選択するために使用される符号化ロジック２０２へ入力される。
【００３３】
１以上の実施形態において、データ入力ロジック２０４は、伝送データに符号化すべくデータを受信する。コーディング選択ロジック２０８は、データを符号化する符号化ロジック２０２によって使用される符号化スキームを決定するために使用されるコーディングセレクションパラメータを受信する。符号化ロジック２０２は、符号化されたデータを生成し固定とした符号化スキーム、および符号化スキームについて記述するパケットヘッダによって、データを符号化する。その後、パケットヘッダとペイロードを含む、符号化されたパケットは、コードパケット出力ロジック２０６によって出力される。
【００３４】
１つの実施形態では、符号化システムは、コンピューター判読可能な媒体上に格納された１つ以上のプログラムインストラクションが少なくとも１つのプロセッサー（例えば符号化ロジック２０２）によって実行された時、ここに記述された関数を提供する。例えば、プログラムインストラクションは、フロッピー（登録商標）ディスク、ＣＤＲＯＭ、メモリーカード、ＦＬＡＳＨメモリ素子、ＲＡＭ、ＲＯＭ、あるいは符号器２００に接続する他のタイプのメモリ素子か、コンピューター判読可能な媒体からの符号器２００にロードされてもよい。別の実施形態では、インストラクションは外部デバイスかネットワーク資源から符号器２００へダウンロードされてもよい。プログラムインストラクションは、符号化ロジック２０２によって実行された時、ここに記述されるような符号化システムの実施形態を提供する。
【００３５】
その結果、符号化システムの実施形態では、損失のある送信チャネル上の伝送用のコードパケットを生成する選択された線形の抹消スキームを使用して、データを符号化するように動作する。したがって、パケットヘッダが受信装置用の符号体系について記述するので、符号化システムの実施形態は柔軟で計量可能な符号化システムを提供するように動作する。したがって、受信装置は、パケットヘッダによって記述された符号体系を逆にすることにより利用されてもよいあらゆるスキームをデコードすることができる。
【００３６】
（符号化ロジック動作）  
次に、符号化ロジック２０２の１つの実施形態の処理動作について詳述する。
【００３７】
図３は、符号化システムの実施形態中のコードシンボルを生成するための線形コード処理を示すグラフ表示３００を示している。線形コードシンボルはすべてデータシンボルの線形結合である。左側のノードはデータシンボル３０２であり、右側のノードはコードシンボル３０４である。そのデータシンボルがコードシンボル３０４を生成するために使用されることになっている場合、エッジ３０６は、コードシンボル３０４からデータシンボル３０２のうちの１つに引き付けられる。コードシンボルの一部になるためにデータシンボルを掛ける要因を示すラベル（あるいは値）が各エッジに関係している。例えば、エッジ３０６は、データシンボルｄ２（その後、それはコード記号３０４を生成するために使用されるだろう）を増加させる要因であるラベルαrを持っている。
【００３８】
１以上の実施形態において、線形コードシンボルは、値シーケンス（ＶＡＬＵＥ＿ＳＥＱＵＥＮＣＥ）とインデックスシーケンス（ＩＮＤＥＸ＿ＳＥＱＵＥＮＣＥ）の２つのシーケンスにより表すことができる。ＶＡＬＵＥ＿ＳＥＱＵＥＮＣＥは、エッジに関連したラベル（あるいは要因）のシーケンスを指定する。ＩＮＤＥＸ＿ＳＥＱＵＥＮＣＥは、コードシンボルを生成するために取られるデータ索引を指定する。グラフ表示３００では、ＩＮＤＥＸ  ＳＥＱＵＥＮＣＥは、１からｋの整数のシーケンスを含む。
【００３９】
コードシンボルを接続するエッジの数は、コード重み（ＣＯＤＥ＿ＷＥＩＧＨＴ）と呼ばれる。グラフ表示３００では、ＣＯＤＥ＿ＷＥＩＧＨＴは、あるｋと等しいので、ｋはコードシンボル３０４を接続して徐々に動く。
【００４０】
（コードの例）  
１以上の実施形態において、次に記述する様々なコーディング技術は、符号化システムの実施例によって提供される。符号化システムの実施形態によって提供することができる線形コードについて、下記の例がすべてではなくいくらかを示すことが注目されるべきである。
【００４１】
１．リードソロモン（ＲＳ）コード
符号化システムはＲＳコーディングを使用して、データを符号化するように動作可能となる。例えば、符号化ロジック２０２は以下のようにＲＳコーディングを提供するように動作する。
【００４２】
ＲＳコードシンボルＣは下記のように書くことができる。
【数１】
2012010364.tif 000003
【００４３】
ｋはコードシンボルＣを生成するためのデータシンボルの数であり、ｄiはデータシンボル、ｒはコードパラメータである、そしてαは適切なガロアフィールド（ＧＦ）の原始的なエレメントである。ＧＦ（２５６）が興味のあるコードに使用されるとこの記述のために仮定される。
【００４４】
この実施形態において、ＩＮＤＥＸ  ＳＥＱＵＥＮＣＥは、コードシンボルＣを接続するエッジを示すｋの値を含む。ＶＡＬＵＥ  ＳＥＱＵＥＮＣＥは、コードシンボルＣを接続する各エッジに関連したデータシンボルを増加させる要因である、αｒの値を含む。ＣＯＤＥ＿ＷＥＩＧＨＴは、コードシンボルＣを接続するエッジ（ｋ）の総数と等しい。
【００４５】
従って、符号化ロジック２０２は上記の方程式によってデータを符号化するために動作し、関連するＣＯＤＥ＿ＷＥＩＧＨＴ（ＶＡＬＵＥＳＥＱＵＥＮＣＥ）と、ＩＮＤＥＸ＿ＳＥＱＵＥＮＣＥパラメータを生成する。その後、これらのパラメータは、このドキュメントの別のセクションに記述されるようなパケットヘッダに組み入れられる。
【００４６】
２．低密度生成行列コード
１以上の実施形態において、符号化システムは低密度生成行列（ＬＤＧＭ）コーディングを使用して、データを符号化するように動作可能である。例えば、ＬＤＧＭコードは次の方法で生成されてもよい。ＣＯＤＥ＿ＷＥＩＧＨＴはある関数を使用して得られる。ＣＯＤＥ＿ＷＥＩＧＨＴを合計する多くのデータシンボルは、すべてのデータシンボルから得られる。これがどのように終っているかの一例は、最初の種値（ＳＥＥＤ）を備えたデータシンボル数ジェネレータを初期化することである。データシンボル数ジェネレータはそのときデータシンボルを識別するために使用される数を生成するＣＯＤＥ＿ＷＥＩＧＨＴ動作時間である。その後、これらのデータシンボルは排他的論理和（ＸＯＲ）オペレーションを使用して組み合わせられる。線形動作として、ＸＯＲはガロア域ＧＦ（２５６）の中の追加と同じである。また、乗率は１である。
【００４７】
符号化システムのオペレーションの結果、ＶＡＬＵＥ＿ＳＥＱＵＥＮＣＥはすべてのエッジのための乗率が一定（１）となるＬＤＧＭコーディングを提供するために生成される。ＩＮＤＥＸ＿ＳＥＱＵＥＮＣＥは、インデックスがそれぞれ特別のアウトプットに基づくデータシンボル数ジェネレータのオペレーションによって生成され、特別のエッジに関連付けられる。
【００４８】
１つの実施形態において、符号化ロジック２０２は上記の記述によってデータを符号化するために動作し、関連するＣＯＤＥ＿ＷＥＩＧＨＴ、ＶＡＬＵＥ＿ＳＥＱＵＥＮＣＥおよびＩＮＤＥＸ＿ＳＥＱＵＥＮＣＥパラメータを生成する。その後、これらのパラメータは、この項の別のセクションに記述されるようなパケットヘッダに組み入れられる。
【００４９】
３．繰返しコード例  
１以上の実施形態では、符号化システムは、データシンボルがラウンドロビン法で繰り返される場合に反復コーディングを使用して、データを符号化するように動作可能である。この場合、ＣＯＤＥ＿ＷＥＩＧＨＴはすべてのコードシンボルに対し１である。ＶＡＬＵＥ＿ＳＥＱＵＥＮＣＥは定数（１）である。また、ＩＮＤＥＸ＿ＳＥＱＵＥＮＣＥはたった１つのエントリーをしている。また、それはデータシンボルのインデックスである。
【００５０】
１つの実施形態では、符号化ロジック２０２は上記の記述によってデータを符号化するように動作し、関連するＣＯＤＥ＿ＷＥＩＧＨＴ、ＶＡＬＵＥ＿ＳＥＱＵＥＮＣＥおよびＩＮＤＥＸ＿ＳＥＱＵＥＮＣＥパラメータを生成する。その後、これらのパラメータは、この項の別のセクションに記述されるようなパケットヘッダに組み入れられる。
【００５１】
こうして、符号化システムは、任意のタイプの線形符号化を直に提供するべく、ＣＯＤＥ＿ＷＥＩＧＨＴ、ＶＡＬＵＥ＿ＳＥＱＵＥＮＣＥおよびＩＮＤＥＸ＿ＳＥＱＵＥＮＣＥパラメータを生成するように動作可能である。符号化システムは、上記の符号体系に制限されることなく、他の符号体系、そして線形的にデータを符号化する１つ以上の符号体系の組み合わせであっても、それがさらに可能な道具であることは注目されるべきである。この場合、符号化ロジック２０２は、パケットヘッダに含まれるＣＯＤＥ＿ＷＥＩＧＨＴ、ＶＡＬＵＥ＿ＳＥＱＵＥＮＣＥおよびＩＮＤＥＸを生成するように動作する。
【００５２】
パケットヘッダ生成  
１以上の実施形態において、符号化システムは、コードシンボルを生成するために、１セットのデータシンボルがどのように線形的にコード化されるかを示すパケットヘッダを生成するように動作する。例えば、符号化ロジック２０２は、任意の線形符号化スキームによってデータを符号化し、かつ下記に述べられるような対応するパケットヘッダを生成するように動作する。その後、生成されたパケットヘッダは、放送チャネルを通して送信されるコードパケットを形成するべく、コードシンボル（ペイロード）に付加することができる。その後、どんな受信装置であっても、不適当にコード化されたシンボルからデータを回復するコーディング・プロセスを決定するためにパケットヘッダをデコードすることができる。
【００５３】
図４は、符号化システムの実施形態で使用されるパケットヘッダ４００の一実施形態を示している。例えば、１つの実施形態では、パケットヘッダ４００は、符号化ロジック２０２の処理によって生成される。パケットヘッダ４００は、フィールド名４０２および関連するフィールド・タイプ４０４を含んでいるテーブルを含む。
【００５４】
１つの実施形態において、フィールド名４０２はＣＯＤＥ＿ＷＥＩＧＨＴ  ４０６と、ＩＭＤＥＸ  ＶＡＬＵＥ＿ＳＥＱＵＥＮＣＥ＿ＴＹＰＥ  ４０８と、ＳＥＱＵＥＮＣＥ＿ＴＹＰＥ  ４１０と、ＶＡＬＵＥ＿ＳＥＱＵＥＮＣＥ＿ＩＮＦＯ  ４１２と、ＩＮＤＥＸ＿ＳＥＱＵＥＮＣＥ＿ＩＮＦＯ  ４１４パラメータとを備えている。フィールド・タイプ４０４は、特別のフィールド名４０４に関連し、選択されたサイズのパラメータを含む。様々なフィールド名のより多くの詳述が以下に提供される。
【００５５】
図５は、符号化システムの実施形態で使用されるＶＡＬＵＥ＿ＳＥＱＵＥＮＣＥ＿ＴＹＰＥＳを示すテーブル５００の１つの実施形態を示している。例えば、テーブル５００中で示されるパラメータは、図４の中で示されるＶＡＬＵＥ＿ＳＥＱＵＥＮＣＥ＿ＴＹＰＥ  ４０８のために使用されてもよい。更に、テーブル５００中で示されるＶＡＬＵＥ＿ＳＥＱＵＥＮＣＥ＿ＴＹＰＥＳの各々は、選択されたＶＡＬＵＥ＿ＳＥＱＵＥＮＣＥ＿ＩＮＦＯ  ４１２パラメータに関係している。
【００５６】
ＶＡＬＵＥ＿ＣＯＮＳＴＡＮＴ  
ＶＡＬＵＥ  ＳＥＱＵＥＮＣＥ＿ＴＹＰＥフィールド４０８がＶＡＬＵＥ＿ＣＯＮＳＴＡＮＴ（例えば１）にセットされる場合、ＶＡＬＵＥ＿ＳＥＱＵＥＮＣＥ＿ＩＮＦＯフィールド４１２も定数にセットされる。例えば、すべてのエッジ値が１にセットされる場合、ＶＡＬＵＥ  ＳＥＱＵＥＮＣＥ＿ＩＮＦＯフィールドは１の値にセットされる。
【００５７】
ＶＡＬＵＥ＿ＲＳ＿ＬＩＫＥ
ＶＡＬＵＥ＿ＳＥＱＵＥＮＣＥ＿ＴＹＰＥフィールド４０８がＶＡＬＵＥ＿ＲＳ＿ＬＩＫＥ（例えば２）にセットされる場合、ＶＡＬＵＥ＿ＳＥＱＵＥＮＣＥ＿ＩＮＦＯフィールド４１２は、「ｒ」にセットされる。これは、下記に示すリードソロモンコードワードのジェネレータである。
【数２】
2012010364.tif 000004
【００５８】
ＶＡＬＵＥ＿ＲＡＮＤＯＭ  
ＶＡＬＵＥ  ＳＥＱＵＥＮＣＥ＿ＴＹＰＥフィールド４０８がＶＡＬＵＥ＿ＲＡＮＤＯＭ（例えば３）にセットされる場合、ＶＡＬＵＥ＿ＳＥＱＵＥＮＣＥ＿ＩＮＦＯフィールド４１２は、シーケンス値を生成する乱数発生器を初期化するために使用される種値にセットされる。受信装置によって使用される乱数発生器は、符号化ロジック２０２によって使用される乱数発生器と同じであると仮定されている。
【００５９】
図６は、符号化システムの実施形態で使用されるＩＮＩＤＥＸ  ＳＥＱＵＥＮＣＥ＿ＴＹＰＥＳを示すテーブル６００の一実施形態を示している。例えば、テーブル６００中で示されるパラメータは、図４中で示されるＩＮＤＥＸ  ＳＥＱＵＥＮＣＥ＿ＴＹＰＥ  ４１０のために使用されてもよい。更に、テーブル６００中で示されるＩＮＤＥＸ  ＳＥＱＵＥＮＣＥ＿ＴＹＰＥＳの各々は選択されたＩＮＤＥＸ＿ＳＥＱＵＥＮＣＥ  ｉＮＦＯ  ４１４パラメータに関係している。
【００６０】
テーブル６００は、名前欄６０２および関連する値フィールド６０４を含む。名前欄６０２は、異なるＩＮＤＥＸ＿ＳＥＱＵＥＮＣＥ＿ＴＹＰＥＳの名前を含む。また、それらの各々は値分野６０４で特別の値に関係している。下記は、異なるＩＮＤＥＸ＿ＳＥＱＵＥＮＣＥ  ＴＹＰＥＳおよび関連するＩＮＤＥＸ＿ＳＥＱＵＥＮＣＥ  ＩＮＦＯ  ４１４パラメータの記述である。次に、異なるＩＮＤＥＸ＿ＳＥＱＵＥＮＣＥ  ＴＹＰＥＳ及び関連するＩＮＤＥＸ  ＳＥＱＵＥＮＣＥ＿ＩＮＦＯフィールド４１４パラメータについて説明する。
【００６１】
ＩＮＤＥＸ＿ＬＩＮＥＡＲ  
ＩＮＤＥＸ  ＳＥＱＵＥＮＣＥ＿ＴＹＰＥフィールド４１０が、ＩＮＤＥＸ＿ＬＩＮＥＡＲ（例えば１）にセットされる場合、ＩＮＤＥＸ  ＳＥＱＵＥＮＣＥ＿ＩＮＦＯフィールド４１４は次のパラメータを備える。
【００６２】
ａ．    ＩＮＤＥＸ＿ＩＮＩＴＩＡＬ
ＩＮＤＥＸ＿ＩＮＩＴＩＡＬパラメータは、コードパケットを生成するために使用される第１のデータパケットのインデックスである。
【００６３】
ｂ．    ＩＮＤＥＸ  ＳＴＥＰ
ＩＮＤＥＸ  ＳＴＥＰパラメータは、コードパケットを生成するために使用されるインデックス・ステップサイズである。コードパケットを生成するために使用されるインデックスのセットは以下のように表現することができる。
【数３】
2012010364.tif 000005
【００６４】
ＩＮＤＥＸ＿ＭＡＰＰＥＤ  
ＩＮＤＥＸ  ＳＥＱＵＥＮＣＥ＿ＴＹＰＥフィールド４１０がＩＮＤＥＸ＿ＭＡＰＰＥＤ（例えば２）にセットされる場合、各エッジはユニークなエッジインデックスを有し、また、エッジインデックスはデータパケットインデックスへマッピングされる。ＩＮＤＥＸ  ＳＥＱＵＥＮＣＥ＿ＩＮＦＯフィールド４１４はＩＮＩＴＩＡＬ＿ＥＤＧＥ＿ＩＮＤＥＸパラメータを含む。エッジインデックスは以下のように計算される。
【数４】
2012010364.tif 000006
【００６５】
データ・インデックスはエッジインデックスのある関数（マップ）である。受信装置および符号化ロジック２０２によって同じマッピング機能が使用されると仮定されている。
【００６６】
ＩＮＤＥＸ＿ＬＤＧＭ  
ＩＮＤＥＸ  ＳＥＱＵＥＮＣＥ＿ＴＹＰＥフィールド４１０がＩＮＤＥＸ＿ＬＤＧＭ（例えば３）にセットされる場合、ＩＮＤＥＸ  ＳＥＱＵＥＮＣＥ＿ＩＮＦＯフィールド４１４はＩＮＩＴＩＡＬ＿ＳＥＥＤパラメータを含む。
【００６７】
ＩＮＩＴＩＡＬ＿ＳＥＥＤパラメータは、インデックスシーケンスを生成するようにデータシンボル数ジェネレータを初期化するために使用される値である。受信装置によって使用されるデータシンボル数ジェネレータは、符号化ロジック２０２によって使用されるそれと同じであると仮定されている。
【００６８】
したがって、符号化システムの実施形態は、事実上どんな線形コードを使用しても、データを符号化し、かつ使用された線形符号化について記述するパケットヘッダを生成するように動作する。
【００６９】
図７は、符号化システムの実施形態で使用されるエンコーダを動作させる方法７００の１つの実施形態を示す。明確にいうと、方法７００は、図２の中で示されるエンコーダ２００に関してここに記述される。例えば、１つの実施形態では、符号化ロジック２０２は、下記に述べられた関数を行なう機械可読のインストラクションを実行する。
【００７０】
ブロック７０２では、コード重量値は決定される。例えば、符号化ロジック２０２は、データを符号化する選択されたタイプの線形符号化を提供するためにコード重量値を決定する。例えば、コード重量値は、どれだけのエッジ構造がコードシンボルから出力されるか説明する。
【００７１】
ブロック７０４では、インデックスシーケンスが決定される。１つの実施形態では、符号化ロジック２０２は、コードシンボルを生成するためにデータ値が何に使用されるか説明するインデックスシーケンスを決定する。例えば、インデックスシーケンス値の総数はコード重量値と等しい。１つの実施形態では、インデックスシーケンスは、インデックスシーケンスタイプ（４１０）および上述されるようなインデックスシーケンス情報（４１４）パラメータによって記述される。
【００７２】
ブロック７０６では、値シーケンスが決定される。１つの実施形態では、符号化ロジック２０２は、コードシンボルを生成するためにデータ値を掛ける要因について記述する値シーケンスを決定する。例えば、値シーケンス値の総数はコード重量値と等しい。１つの実施形態では、値シーケンスは、値シーケンスタイプ（４０８）および上述されるような値シーケンス情報（４１２）パラメータによって記述される。
【００７３】
ブロック７０８では、データは選択された符号体系によって符号化される。例えば、符号化ロジック２０２は、データを符号化し、かつデータがどのように符号化されたか説明するパケットヘッダを生成するように動作する。例えば、パケットヘッダは図４の中で示される通りである。
【００７４】
ブロック７１０では、パケットヘッダとペイロードを含むコードパケットが構成される。例えば、コードパケット出力ロジック２０６は、パケットヘッダおよびペイロードとしての符号化データを含むコードパケットを生成するように動作する。
【００７５】
ブロック７１２では、コードパケットは１台以上の受信装置に送信される。例えば、コードパケット出力ロジック２０６は、１つ以上のデバイスに無線ネットワーク上のコードパケットを送信するように動作し、伝送ロジックにコードパケットを出力する。
【００７６】
ブロック７１４では、テストは符号体系へのいずれかの調整を行なう必要があるかどうか判断するために行なわれる。１つの実施形態では、コード選択ロジック２０８は、ネットワーク伝送あるいはトラフィック特性のような１以上のネットワーク特性に基づいた符号体系を決定するように動作する。その後、コード選択ロジック２０８は、データを符号化するために使用される特別の符号体系を定義するように動作し、符号化ロジック２０２にコード選択パラメータを供給する。コード選択パラメータは任意のフォーマットであり、任意のタイプのコード識別子を使用して、符号体系を指定してもよい。
【００７７】
現在の符号体系に調整がない場合、方法は伝送用データをコード化し続けるためにブロック７０８へ移行する。符号体系に調整がある場合、方法はブロック７０２へ移行して新しいコーディング要因を決定し、これにより選択されたネットワーク特性を提供するためにデータの符号化を調整できるようにする。
【００７８】
したがって、方法７００は符号化システムの１つの実施形態を提供するように動作する。方法７００が単に１つのインプリメンテーションを示し、他のインプリメンテーションが実施形態の範囲内で可能なことが注目されるべきである。
【００７９】
図８は、符号化システムの実施形態のうち受信装置で使用するために最適な復号器８００の１つの実施形態を示している。例えば、復号器８００は、図１の中で示される復号器１２２として使用にふさわしい。復号器８００は復号ロジック８０２、コード重み抽出ロジック８０４、値シーケンスロジック８０６、インデックスシーケンスロジック８０８およびデータ出力ロジック８１０を備え、すべてデータバス８１２に接続される。
【００８０】
コード重み抽出ロジック８０４は、ハードウェアおよび（または）ソフトウェアの組み合わせを含み、またコードパケット８１４を受信し、かつパケットヘッダからコード重量値を抽出するように動作する。例えば、１つの実施形態では、パケットヘッダは、図４に示されるパケットヘッダ４００としてフォーマット化され、また、コード重量値はコード重量値４０６となる。
【００８１】
値シーケンスロジック８０６は、ハードウェアおよび（または）ソフトウェアの組み合わせを含み、コードパケット８１４に含まれたパケットヘッダからの値シーケンスを生成するように動作する。例えば、１つの実施形態では、図４に示されるパケットヘッダ４００、および値シーケンスが、値シーケンスタイプ４０８および上述されるような値シーケンス情報４１２に由来するとともに、パケットヘッダはフォーマット化される。
【００８２】
インデックスシーケンスロジック８０８は、ハードウェアおよび（または）ソフトウェアの組み合わせを含み、コードパケット８１４に含まれたパケットヘッダからのインデックスシーケンスを生成するように動作する。例えば、１つの実施形態では、パケットヘッダは、図４で示されるパケットヘッダ４００としてフォーマット化される。また、インデックスシーケンスは、インデックスシーケンスタイプ４１０および上述されるようなインデックスシーケンス情報４１４に由来する。
【００８３】
復号ロジック８０２は、ハードウェアおよび（または）ソフトウェアの組み合わせを含み、コードパケット８１４からペイロードを受信するように動作する。復号ロジック８０２は、さらにコード重み抽出ロジック８０４、値シーケンスロジック８０６およびインデックスシーケンスロジック８０８からコード重み、値シーケンスおよびインデックスシーケンスの１つ以上をそれぞれ受信する。１つの実施形態では、復号ロジック８０２は、データを符号化するために使用される符号体系を逆にすることによりペイロードからのデータを解読するように動作する。例えば、コード重み、値シーケンスおよびインデックスシーケンスは、データがどのように線形的に符号化されたか説明する。また、復号ロジック８０２は初期データを生成する記述された符号体系を逆にするように動作する。復号ロジック８０２はさらに失われたコードパケットを回復するために、適切な技術を使用して動作してもよい。
【００８４】
データ出力ロジック８１０は、ハードウェアおよび（または）ソフトウェアの組み合わせを含み、復号ロジック８０２からの復号データを受信し、通信リンク８１６を使用する受信装置の他のロジックへこの復号データを出力するように動作する。
【００８５】
１つの実施形態では、符号化システムは、コンピューター判読可能な媒体上に格納された１つ以上のプログラムインストラクションが少なくとも１つのプロセッサー（例えば復号ロジック８０２）によって実行された時、ここに記述された機能を提供する。例えば、プログラムインストラクションは、フロッピー（登録商標）ディスク、ＣＤＲＯＭ、メモリカード、フラッシュメモリ装置、ＲＡＭ、ＲＯＭ、または他のタイプのメモリ装置、またはデコーダ８００とインターフェースを実行するコンピューター判読可能な媒体のようなコンピューター判読可能な媒体からのデコーダ８００にロードされてもよい。別の実施形態において、インストラクションは、外部デバイスまたはネットワーク資源からデコーダ８００へダウンロードされる。プログラムインストラクションは、復号ロジック８０２によって実行された時、ここに記述されるような符号化システムの実施形態を提供する。
【００８６】
その結果、符号化システムの実施形態は、データを受信し、損失のある送信チャンネル上の伝送用のコードパケットを生成する選択された線形の抹消スキームを使用して、データを符号化するように動作する。受信装置で受信された時、パケットヘッダからの情報はデータを解読する際に使用のために抽出される。したがって、パケットヘッダが受信装置用の符号体系について記述されるので、符号化システムの実施形態は柔軟で計量可能な符号化システムを提供するように動作する。したがって、受信装置は、パケットヘッダによって記述された符号体系を逆にすることにより利用可能なあらゆるスキームを解読することができる。
【００８７】
図９は、符号化システムの実施形態の中のデコーダの動作方法９００の１つの実施形態を示す。明確な説明について、方法９００は、図８の中で示されるデコーダ８００に関してここに記述される。例えば、１つの実施形態では、復号ロジック８０２は、下記に述べられた機能を実行するべく機械可読のインストラクションを実行する。
【００８８】
ブロック９０２では、コードパケットは受信装置で受信される。例えば、コードパケットは放送チャネル上で受信されてもよい。１つの実施形態では、コードパケットはパケットヘッダとパケットのペイロードを含む。
【００８９】
情報はパケットヘッダから抽出される。例えば、１つの実施形態では、コード重み抽出ロジック８０４はパケットヘッダからコード重量パラメータを抽出するように動作する。値シーケンスロジック８０６はパケットヘッダから値シーケンスタイプ（４０８）および値シーケンス情報（４１０）パラメータを抽出するように動作する。インデックスシーケンスロジック８０８はパケットヘッダからインデックスシーケンスタイプ（４１２）およびインデックスシーケンス情報（４１４）パラメータを抽出するように動作する。
【００９０】
ブロック９０６では、インデックスシーケンスは決定される。例えば、１つの実施形態では、インデックスシーケンスロジック８０８はインデックスシーケンスを決定するインデックスシーケンスタイプ（４１２）およびインデックスシーケンス情報（４１４）を処理するように動作する。
【００９１】
ブロック９０８では、値シーケンスは決定される。例えば、１つの実施形態では、値シーケンスロジック８０６は値シーケンスを決定する値シーケンスタイプ（４０８）および値シーケンス情報（４１０）を処理するように動作する。
【００９２】
ブロック９１０では、コードパケットペイロード中のコード化されたシンボルが解読される。例えば、１つの実施例では、復号ロジック８０２はインデックスシーケンスを利用するように動作する。また、値シーケンスは、オリジナルデータを符号化する符号化プロセスを逆にすることによりペイロードを解読する。その結果、オリジナルデータはコードパケットペイロードから解読される。１つの実施形態では、復号ロジック８０２はさらに失われたコードパケットを回復するために、適切な技術も使用するように動作する。その後、方法は、より多くのコードパケットを受信するためにブロック９０２に移行する。
【００９３】
したがって、方法９００は符号化システムの１つの実施形態を提供するように動作する。方法９００は単に１つのインプリメンテーションを示し、他のインプリメンテーションが実施形態の範囲内で可能なことが注目されるべきである。
【００９４】
図１０は、符号化システムの実施形態で使用されるエンコーダ１０００の一実施形態を示している。例えば、エンコーダ１０００は図１で示されるエンコーダ１１４として使用にふさわしい。エンコーダ１０００は、データを受信する手段１００２、コード重みを決定する手段１００４、インデックスシーケンスを決定する手段１００６、値シーケンスを決定する手段１００８、パケットヘッダを生成する手段１０１０、コードパケットとしてのパケットヘッダおよびペイロードを送信する手段１０１２を備える。１つ以上の実施形態では、手段１００２〜１０１２は、ここに記述されるような符号化システムの実施形態を提供するように構成された少なくとも１つのプロセッサを含む。
【００９５】
図１１は、符号化システムの実施形態で使用されるデコーダ１１００の一実施形態を示している。例えば、デコーダ１１００は図１１で示されるエンコーダ１２２として使用にふさわしい。デコーダ１１００は、コードパケットを受信する手段１１０２、パケットヘッダおよびペイロードを得る手段１１０４、コード重みを決定する手段１１０６、インデックスシーケンスを決定する手段１１０８、値シーケンスを決定する手段１１１０、ペイロードを復号する手段１１１２を備える。１つ以上の実施形態では、手段１１０２〜１１１２は、ここに記述されるような符号化システムの実施形態を提供するように構成された少なくとも１つのプロセッサを含む。
【００９６】
様々な実例となる論理学書、論理的なブロック、モジュール、およびここに示された実施形態に関して記述された回路は、メインプロセッサ、デジタルシグナルプロセッサー（ＤＳＰ）、特定用途向け集積回路（ＡＳＩＣ）、フィールドプログラマブルゲートアレイ（ＦＰＧＡ）あるいは他のプログラム可能論理回路でインプリメントされてもよいし離散的なゲートかトランジスター・ロジック、離散的なハードウェア成分あるいは機能を実行するようにこれらの組み合わせてもよい。一般のプロセッサは、マイクロプロセッサである。しかし、代案では、プロセッサは任意の従来のプロセッサ、コントローラ、マイクロコントローラあるいはステートマシンかもしれない。プロセッサも、計算装置（例えばＤＳＰとマイクロプロセッサの組み合わせ、複数のマイクロプロセッサ、ＤＳＰコアと協働の１個以上のマイクロプロセッサあるいは他のそのような配位）の組み合わせとしてインプリメントされてもよい。
【００９７】
ここに示された実施形態に関して記述された方法かアルゴリズムのステップは、ハードウェア、プロセッサによって実行されたソフトウェア・モジュール、あるいは２つのコンビネーションで直接具体化されてもよい。ソフトウェア・モジュールは、ＲＡＭメモリ、フラッシュ・メモリー、ＲＯＭメモリ、ＥＰＲＯＭメモリ、ＥＥＰＲＯＭメモリ、レジスター、ハードディスク、リムーバブル・ディスク、ＣＤ−ＲＯＭあるいは技術中で既知の記憶メディアの他のフォームに存在してもよい。典型的な記憶メディアは、プロセッサー、記憶メディアプロセッサーが情報を読み書きすることができるようなものにつながれる。代案では、記憶メディアはプロセッサーに不可欠かもしれない。プロセッサーと記憶メディアはＡＳＩＣに存在してもよい。ＡＳＩＣはユーザー端末に存在してもよい。代案では、プロセッサーと記憶メディアはユーザー端末の離散的な成分として存在してもよい。
【００９８】
本実施形態において説明するのは、当業者が本発明を作るか使用することができるように提供するものである。これらの実施形態への様々な改良は、技術に熟練している人々に容易に明白かもしれない。また、ここに定義された総括的な法則は、発明の精神か範囲から外れずに、他の実施例に（例えばインスタントメッセージ・サービスあるいは任意の一般的な無線データ通信適用中で）適用されてもよい。したがって、本発明は、ここに示された実施例に制限されたようには意図されないが、ここに示された法則と小説の特徴と一致する最も広い範囲を与えられることになっている。「典型的である」というワードは、「例、インスタンスあるいはイラストとして役立つ」ことを意味するために排他的にここに使用される。好まれるか、他の実施例上に有利だったように、「典型的な」ものとここに記述されたどんな実施例も必ずしも解釈することができない。
【００９９】
従って、符号化システムの実施形態がここに示され記述された一方、それらの精神または本質的特質から外れずに、実施例に様々な変更を行なうことができることは認識されるだろう。したがって、開示と記述は、ここに実例となるように意図されるが、発明の範囲に制限していない。それは次の請求項で述べられる。
【図１】
2012010364.tif 000007
【図２】
2012010364.tif 000008
【図３】
2012010364.tif 000009
【図４】
2012010364.tif 000010
【図５】
2012010364.tif 000011
【図６】
2012010364.tif 000012
【図７】
2012010364.tif 000013
【図８】
2012010364.tif 000014
【図９】
2012010364.tif 000015
【図１０】
2012010364.tif 000016
【図１１】
2012010364.tif 000017
【手続補正書】
【提出日】平成23年8月25日(2011.8.25)
【手続補正１】
【補正対象書類名】明細書
【補正対象項目名】００９９
【補正方法】変更
【補正の内容】
【００９９】
従って、符号化システムの実施形態がここに示され記述された一方、それらの精神または本質的特質から外れずに、実施例に様々な変更を行なうことができることは認識されるだろう。したがって、開示と記述は、ここに実例となるように意図されるが、発明の範囲に制限していない。それは次の請求項で述べられる。
以下に、本願出願の当初の特許請求の範囲に記載された発明を付記する。
［１］  コードシンボルを生成するように使用されるために、選択されたデータ値を定義するインデックスシーケンスを決定することと、
コードシンボルを生成する選択されたデータ値を掛けられるために要因を定義する値シーケンスを決定することと、
またインデックスシーケンスおよび値シーケンスについて記述するパケットヘッダを生成することとを備えるコードシンボル中のデータ値のセットを符号化する方法。
［２］  コードシンボルを生成するように使用されるためにデータ値の総数を定義するコード重量パラメータを決定することと、
パケットヘッダにコード重量パラメータを含めることとをさらに備える［１］の方法。
［３］  前記インデックスシーケンスを決定することは、線形、マップド及びＬＤＧＭのシーケンスタイプを含む、１つ以上のインデックスシーケンスタイプからのインデックスシーケンスを決定することを備える［１］の方法。
［４］  前記値シーケンスを決定することは、一定の値タイプおよびリード・ソロモンと任意の値タイプを含む１つ以上の値シーケンスタイプからの値シーケンスを決定することを備える［１］の方法。
［５］  パケットヘッダとコードシンボルとをコードパケットへ組みこむことをさらに備える［１］の方法。
［６］  符号化セレクションパラメータに基づいて、インデックスシーケンスと値シーケンスのいずれか１つあるいは両方を調整することをさらに備える［１］の方法。
［７］  コードシンボルを生成するべく選択されたデータ値を定義するインデックスシーケンスを決定し、コード記号を生成する選択されたデータ値を掛ける要因を定義する値シーケンスを決定する符号化ロジックと、
インデックスシーケンスおよび値シーケンスについて記述するパケットヘッダを生成する出力ロジックとを備えるコードシンボルのデータ値のセットを符号化する装置。
［８］  前記符号化ロジックは、コードシンボルを生成するために使用されるデータ値の総数を定義するコード重量パラメータを決定することを備える［７］の装置。
［９］  前記符号化ロジックは、線形、マップド、及びＬＤＧＭのシーケンスタイプを含む、１つ以上のインデックスシーケンスタイプからのインデックスシーケンスを決定することを備える［７］の装置。
［１０］  前記符号化ロジックは、一定の値タイプおよびリード・ソロモンと任意の値タイプを含む１つ以上の値シーケンスタイプから値シーケンスを決定することを備える［７］の装置。
［１１］  前記出力ロジックは、コードパケットへパケットヘッダとコードシンボルを組み込むことを備える［７］の装置。
［１２］  符号化セレクションパラメータに基づいて、インデックスシーケンス及び値シーケンスのいずれか１つあるいは両方を調整するコード選択ロジックをさらに備える［７］の装置。
［１３］  コードシンボルを生成するために使用される選択されたデータ値を定義するインデックスシーケンスを決定する手段と、
コードシンボルを生成するように選択されたデータ値を掛けられるために要因を定義する値シーケンスを決定する手段と、
インデックスシーケンスおよび値シーケンスについて記述するパケットヘッダを生成する手段とを備えるコードシンボル中のデータ値のセットを符号化する装置。
［１４］  コードシンボルを生成するために使用されるデータ値の総数を定義するコード重量パラメータを決定する手段と、
パケットヘッダにコード重量パラメータを含める手段とをさらに備える［１３］の装置。
［１５］  前記インデックスシーケンスを決定する手段は、線形、マップド及びＬＤＧＭのシーケンスタイプを含む１つ以上のインデックスシーケンスタイプからインデックスシーケンスを決定する手段を備える［１３］の装置。
［１６］  前記値シーケンスを決定する手段は、一定の値タイプおよびリードソロモンと任意の値タイプを含む１つ以上の値シーケンスタイプから値シーケンスを決定する手段を備える［１３］の装置。
［１７］  コードパケットにパケットヘッダ及びコードシンボルを組み込む手段をさらに備える［１３］の装置。
［１８］  符号化セレクションパラメータに基づいて、インデックスシーケンス及び値シーケンスのいずれか１つまたは両方を調整する手段をさらに備える［１３］の装置。
［１９］  少なくとも１つのプロセッサに対しコードシンボルのデータ値のセットを符号化するように動作させるコンピュータプログラムを有するコンピューター判読可能な媒体において、
コードシンボルを生成するために使用される選択されたデータ値を定義するインデックスシーケンスを決定するインストラクションと、
コードシンボルを生成する選択されたデータ値に掛ける要因を定義する値シーケンスを決定するインストラクションと、
インデックスシーケンスおよび値シーケンスについて記述するパケットヘッダを生成するインストラクションとを備えるコンピュータプログラム。
［２０］  コードシンボルを生成するために使用されるデータ値の総数を定義するコード重量パラメータを決定するインストラクションと、
パケットヘッダにコード重量パラメータを含めるインストラクションとをさらに備える［１９］のコンピュータプログラム。
［２１］  前記インデックスシーケンスを決定するインストラクションは、線形のシーケンスタイプおよびマッピングされたＬＤＧＭシーケンスタイプを含む１つ以上のインデックスシーケンスタイプからインデックスシーケンスを決定するインストラクションを備える［１９］のコンピュータプログラム。
［２２］  前記値シーケンスを決定するインストラクションは、一定の値タイプおよびリードソロモンと任意の値タイプを含む１つ以上の値シーケンスタイプから値シーケンスを決定するインストラクションを備える［１９］のコンピュータプログラム。
［２３］  パケットヘッダ及びコードシンボルをコードパケットに組み込むインストラクションをさらに備える［１９］のコンピュータプログラム。
［２４］  符号化セレクションパラメータに基づいて、インデックスシーケンス及び値シーケンスのいずれか１つまたは両方を調整するインストラクションをさらに備える［１９］のコンピュータプログラム。
［２５］  コードシンボルのデータ値のセットを符号化する方法を実行する少なくとも１つのプロセッサにおいて、
コードシンボルを生成するために使用される選択されたデータ値を定義するインデックスシーケンスを決定することと、
コードシンボルを生成する選択されたデータ値に掛ける要因を定義する値シーケンスを決定することと、
インデックスシーケンスおよび値シーケンスについて記述するパケットヘッダを生成することとを備える方法。
［２６］  コードシンボルを生成するために使用されるデータ値の総数を定義するコード重量パラメータを決定することと、
パケットヘッダにコード重量パラメータを含めることとをさらに備える［２５］の方法。
［２７］  前記インデックスシーケンスを決定することは、線形のシーケンスタイプおよびマッピングされたＬＤＧＭシーケンスタイプを含む１つ以上のインデックスシーケンスタイプからインデックスシーケンスを決定することを備える［２５］の方法。
［２８］  前記値シーケンスを決定することは、一定の値タイプ、リードソロモンと任意の値タイプを含む１つ以上の値シーケンスタイプから値シーケンスを決定することを備える［２５］の方法。
［２９］  パケットヘッダ及びコードシンボルをコードパケットに組み込むインストラクションをさらに備える［２５］の方法。
［３０］  符号化セレクションパラメータに基づいて、インデックスシーケンス及び値シーケンスのいずれか１つまたは両方を調整することをさらに備える［２５］の方法。
［３１］  コードパケットをデータ値のセットに復号する方法において、
コードパケットからパケットヘッダ及びパケットペイロードを得ることと、
前記パケットヘッダからインデックスシーケンス及び値シーケンスを決定することと、
データ値のセットを生成するべく前記インデックスシーケンス及び前記値シーケンスに基づいてパケットペイロードを復号することとを備える方法。
［３２］  前記パケットヘッダから１以上のコード重畳パラメータ、値シーケンスパラメータ及びインデックスシーケンスパラメータを抽出することをさらに備える［３１］の方法。
［３３］  前記インデックスシーケンス及び値シーケンスを決定するべく１以上のコード重畳パラメータ、値シーケンスパラメータ及びインデックスシーケンスパラメータを処理することをさらに備える［３２］の方法。
［３４］  前記復号することは、データ値のセットを生成するペイロードを復号するべくインデックスシーケンスおよび値シーケンスによって記述された線形符号化スキームを逆にすることを備える［３１］の方法。
［３５］  コードパケットをデータ値のセットに復号する装置において、
コードパケットからパケットヘッダ及びパケットペイロードを得る抽出ロジックと、
前記パケットヘッダからインデックスシーケンスを決定するインデックスシーケンスロジックと、
前記パケットヘッダから値シーケンスを決定する値シーケンスロジックと、
データ値のセットを生成するべく前記インデックスシーケンス及び前記値シーケンスに基づいてパケットペイロードを復号する復号ロジックとを備える装置。
［３６］  前記パケットヘッダから１以上のコード重畳パラメータ、値シーケンスパラメータ及びインデックスシーケンスパラメータを抽出するロジックをさらに備える［３５］の装置。
［３７］  前記インデックスシーケンス及び値シーケンスを決定するべく１以上のコード重畳パラメータ、値シーケンスパラメータ及びインデックスシーケンスパラメータを処理するロジックをさらに備える［３６］の装置。
［３８］  前記復号ロジックは、データ値のセットを生成するペイロードを復号するべくインデックスシーケンスおよび値シーケンスによって記述された線形符号化スキームを逆にする［３５］の装置。
［３９］  コードパケットをデータ値のセットに復号する装置において、
コードパケットからパケットヘッダ及びパケットペイロードを得る手段と、
前記パケットヘッダからインデックスシーケンス及び値シーケンスを決定する手段と、
データ値のセットを生成するべく前記インデックスシーケンス及び前記値シーケンスに基づいてパケットペイロードを復号する手段とを備える装置。
［４０］  前記パケットヘッダから１以上のコード重畳パラメータ、値シーケンスパラメータ及びインデックスシーケンスパラメータを抽出する手段をさらに備える［３９］の装置。
［４１］  前記インデックスシーケンス及び値シーケンスを決定するべく１以上のコード重畳パラメータ、値シーケンスパラメータ及びインデックスシーケンスパラメータを処理する手段をさらに備える［４０］の装置。
［４２］  前記復号する手段は、データ値のセットを生成するペイロードを復号するべくインデックスシーケンスおよび値シーケンスによって記述された線形符号化スキームを逆にする［３９］の装置。
［４３］  コードパケットを復号し、データ値のセットを生成するように動作する少なくとも１つのプロセッサにより実行されるコンピュータプログラムを有するコンピューター判読可能な媒体において、
コードパケットからパケットヘッダ及びパケットペイロードを得るインストラクションと、
前記パケットヘッダからインデックスシーケンス及び値シーケンスを決定するインストラクションと、
データ値のセットを生成するべく前記インデックスシーケンス及び前記値シーケンスに基づいてパケットペイロードを復号するインストラクションとを備えるコンピュータプログラム。
［４４］  前記パケットヘッダから１以上のコード重畳パラメータ、値シーケンスパラメータ及びインデックスシーケンスパラメータを抽出するインストラクションをさらに備える［４３］のコンピュータプログラム。
［４５］  前記インデックスシーケンス及び値シーケンスを決定するべく１以上のコード重畳パラメータ、値シーケンスパラメータ及びインデックスシーケンスパラメータを処理するインストラクションをさらに備える［４４］のコンピュータプログラム。
［４６］  前記復号するインストラクションは、データ値のセットを生成するペイロードを復号するべくインデックスシーケンスおよび値シーケンスによって記述された線形符号化スキームを逆にする［４３］のコンピュータプログラム。
［４７］  コードパケットをデータ値のセットに復号する方法を実行する少なくとも１つのプロセッサにおいて、
コードパケットからパケットヘッダ及びパケットペイロードを得ることと、
前記パケットヘッダからインデックスシーケンス及び値シーケンスを決定することと、
データ値のセットを生成するべく前記インデックスシーケンス及び前記値シーケンスに基づいてパケットペイロードを復号することとを備える方法。
［４８］  前記パケットヘッダから１以上のコード重畳パラメータ、値シーケンスパラメータ及びインデックスシーケンスパラメータを抽出することをさらに備える［４７］の方法。
［４９］  前記インデックスシーケンス及び値シーケンスを決定するべく１以上のコード重畳パラメータ、値シーケンスパラメータ及びインデックスシーケンスパラメータを処理することをさらに備える［４８］の方法。
［５０］  前記復号することは、データ値のセットを生成するペイロードを復号するべくインデックスシーケンスおよび値シーケンスによって記述された線形符号化スキームを逆にすることを備える［４７］の方法。
【手続補正２】
【補正対象書類名】特許請求の範囲
【補正対象項目名】全文
【補正方法】変更
【補正の内容】
【特許請求の範囲】
【請求項１】
複数のデータ値のうちの選択されたデータ値の線形結合であるコードシンボルを生成するべく、前記選択されたデータ値を符号化する方法において、
コードシンボルを生成するように使用されるために、ネットワーク特性に基づいて前記選択されたデータ値を定義するインデックスシーケンスを決定することと、
コードシンボルを生成するために、選択されたデータ値に乗算する係数を定義する値シーケンスを決定することと、
インデックスシーケンスおよび値シーケンスを記述するパケットヘッダを生成することと、
を備える方法。
【請求項２】
コードシンボルを生成するように使用され、前記選択されたデータ値の総数を定義するコード重量パラメータを決定することと、
パケットヘッダにコード重量パラメータを含めることとをさらに備える請求項１の方法。
【請求項３】
前記インデックスシーケンスを決定することは、線形シーケンスタイプ、マップドシーケンスタイプ及びＬＤＧＭシーケンスタイプを含む、１つ以上のインデックスシーケンスタイプからインデックスシーケンスを決定することを備える請求項１の方法。
【請求項４】
前記値シーケンスを決定することは、一定の値タイプ、リード・ソロモンの値タイプ及び任意の値タイプを含む１つ以上の値シーケンスタイプから値シーケンスを決定することを備える請求項１の方法。
【請求項５】
パケットヘッダとコードシンボルとをコードパケットへ組みこむことをさらに備える請求項１の方法。
【請求項６】
１以上のネットワーク特性に基づいて符号体系を決定する符号化セレクションパラメータに基づいて、インデックスシーケンスと値シーケンスのいずれか１つあるいは両方を調整することをさらに備える請求項１の方法。
【請求項７】
複数のデータ値のうちの選択されたデータ値の線形結合であるコードシンボルを生成するべく、前記選択されたデータ値を符号化する装置において、
コードシンボルを生成するべくネットワーク特性に基づいて選択されたデータ値を定義するインデックスシーケンスを決定し、コードシンボルを生成するべく選択されたデータ値に乗算する係数を定義する値シーケンスを決定する符号化ロジックと、
インデックスシーケンスおよび値シーケンスを記述するパケットヘッダを生成する出力ロジックとを備える装置。
【請求項８】
前記符号化ロジックは、コードシンボルを生成するように使用され、前記選択されたデータ値の総数を定義するコード重量パラメータを決定することを備える請求項７の装置。
【請求項９】
前記符号化ロジックは、線形のシーケンスタイプ、マップドシーケンスタイプ及びＬＤＧＭシーケンスタイプを含む、１つ以上のインデックスシーケンスタイプからのインデックスシーケンスを決定することを備える請求項７の装置。
【請求項１０】
前記符号化ロジックは、一定の値タイプ、リード・ソロモンの値タイプと任意の値タイプを含む１つ以上の値シーケンスタイプから値シーケンスを決定することを備える請求項７の装置。
【請求項１１】
前記出力ロジックは、コードパケットへパケットヘッダとコードシンボルを組み込むことを備える請求項７の装置。
【請求項１２】
１以上のネットワーク特性に基づいて符号体系を決定する符号化セレクションパラメータに基づいて、インデックスシーケンス及び値シーケンスのいずれか１つあるいは両方を調整するコード選択ロジックをさらに備える請求項７の装置。
【請求項１３】
複数のデータ値のうちの選択されたデータ値の線形結合であるコードシンボルを生成するべく、前記選択されたデータ値を符号化する装置において、
コードシンボルを生成するために使用され、ネットワーク特性に基づいて選択されたデータ値を定義するインデックスシーケンスを決定する手段と、
コードシンボルを生成するように選択されたデータ値に乗算する係数を定義する値シーケンスを決定する手段と、
インデックスシーケンスおよび値シーケンスを記述するパケットヘッダを生成する手段とを備える装置。
【請求項１４】
コードシンボルを生成するために使用され、前記選択されたデータ値の総数を定義するコード重量パラメータを決定する手段と、
パケットヘッダにコード重量パラメータを含める手段とをさらに備える請求項１３の装置。
【請求項１５】
前記インデックスシーケンスを決定する手段は、線形のシーケンスタイプ、マップドシーケンスタイプ及びＬＤＧＭシーケンスタイプを含む１つ以上のインデックスシーケンスタイプからインデックスシーケンスを決定する手段を備える請求項１３の装置。
【請求項１６】
前記値シーケンスを決定する手段は、一定の値タイプ、リードソロモンの値タイプ及び任意の値タイプを含む１つ以上の値シーケンスタイプから値シーケンスを決定する手段を備える請求項１３の装置。
【請求項１７】
コードパケットにパケットヘッダ及びコードシンボルを組み込む手段をさらに備える請求項１３の装置。
【請求項１８】
１以上のネットワーク特性に基づいて符号体系を決定する符号化セレクションパラメータに基づいて、インデックスシーケンス及び値シーケンスのいずれか１つまたは両方を調整する手段をさらに備える請求項１３の装置。
【請求項１９】
少なくとも１つのプロセッサに対し、複数のデータ値のうちの選択されたデータ値の線形結合であるコードシンボルを生成するべく、前記選択されたデータ値を符号化するように動作させるコンピュータプログラムを有するコンピューター判読可能な媒体において、
コードシンボルを生成するために使用され、ネットワーク特性に基づいて選択されたデータ値を定義するインデックスシーケンスを決定するインストラクションと、
コードシンボルを生成するように選択されたデータ値に乗算する係数を定義する値シーケンスを決定するインストラクションと、
インデックスシーケンスおよび値シーケンスを記述するパケットヘッダを生成するインストラクションとを備えるコンピュータプログラム。
【請求項２０】
コードシンボルを生成するために使用され、前記選択されたデータ値の総数を定義するコード重量パラメータを決定するインストラクションと、
パケットヘッダにコード重量パラメータを含めるインストラクションとをさらに備える請求項１９のコンピュータプログラム。
【請求項２１】
前記インデックスシーケンスを決定するインストラクションは、線形のシーケンスタイプ、マップドシーケンスタイプ及びＬＤＧＭシーケンスタイプを含む１つ以上のインデックスシーケンスタイプからインデックスシーケンスを決定するインストラクションを備える請求項１９のコンピュータプログラム。
【請求項２２】
前記値シーケンスを決定するインストラクションは、一定の値タイプ、リードソロモンの値タイプ及び任意の値タイプを含む１つ以上の値シーケンスタイプから値シーケンスを決定するインストラクションを備える請求項１９のコンピュータプログラム。
【請求項２３】
パケットヘッダ及びコードシンボルをコードパケットに組み込むインストラクションをさらに備える請求項１９のコンピュータプログラム。
【請求項２４】
１以上のネットワーク特性に基づいて符号体系を決定する符号化セレクションパラメータに基づいて、インデックスシーケンス及び値シーケンスのいずれか１つまたは両方を調整するインストラクションをさらに備える請求項１９のコンピュータプログラム。
【請求項２５】
複数のデータ値のうちの選択されたデータ値の線形結合であるコードシンボルを生成するべく、前記選択されたデータ値を符号化する方法を実行する少なくとも１つのプロセッサにおいて、
コードシンボルを生成するために使用され、ネットワーク特性に基づいて前記選択されたデータ値を定義するインデックスシーケンスを決定することと、
コードシンボルを生成するべく選択されたデータ値に乗算する係数を定義する値シーケンスを決定することと、
インデックスシーケンスおよび値シーケンスを記述するパケットヘッダを生成することとを備える方法。
【請求項２６】
コードシンボルを生成するために使用され、前記選択されたデータ値の総数を定義するコード重量パラメータを決定することと、
パケットヘッダにコード重量パラメータを含めることとをさらに備える請求項２５の方法。
【請求項２７】
前記インデックスシーケンスを決定することは、線形のシーケンスタイプ、マップドシーケンスタイプ及びＬＤＧＭシーケンスタイプを含む１つ以上のインデックスシーケンスタイプからインデックスシーケンスを決定することを備える請求項２５の方法。
【請求項２８】
前記値シーケンスを決定することは、一定の値タイプ、リードソロモンの値タイプ及び任意の値タイプを含む１つ以上の値シーケンスタイプから値シーケンスを決定することを備える請求項２５の方法。
【請求項２９】
パケットヘッダ及びコードシンボルをコードパケットに組み込むインストラクションをさらに備える請求項２５の方法。
【請求項３０】
１以上のネットワーク特性に基づいて符号体系を決定する符号化セレクションパラメータに基づいて、インデックスシーケンス及び値シーケンスのいずれか１つまたは両方を調整することをさらに備える請求項２５の方法。
【請求項３１】
複数のデータ値のうちの選択されたデータ値の線形結合をパケットペイロードとして含むコードパケットを復号して、前記データ値のセットのうち選択されたデータ値を生成する方法において、
コードパケットからパケットヘッダ及び前記パケットペイロードを得ることと、
前記パケットヘッダから、ネットワーク特性に基づいて前記選択されたデータ値を定義するインデックスシーケンス、及び選択された前記データ値に乗算する係数を定義する値シーケンスを決定することと、
データ値のセットのうちの選択されたデータ値を生成するべく前記インデックスシーケンス及び前記値シーケンスに基づいてパケットペイロードを復号することとを備える方法。
【請求項３２】
前記パケットヘッダから１以上のコード重畳パラメータ、値シーケンスパラメータ及びインデックスシーケンスパラメータを抽出することをさらに備える請求項３１の方法。
【請求項３３】
前記インデックスシーケンス及び値シーケンスを決定するべく１以上のコード重畳パラメータ、値シーケンスパラメータ及びインデックスシーケンスパラメータを処理することをさらに備える請求項３２の方法。
【請求項３４】
前記復号することは、データ値のセットを生成するペイロードを復号するべくインデックスシーケンスおよび値シーケンスによって記述された線形符号化スキームを逆にすることを備える請求項３１の方法。
【請求項３５】
複数のデータ値のうちの選択されたデータ値の線形結合をパケットペイロードとして含むコードパケットを復号して、前記データ値のセットのうち選択されたデータ値を生成する装置において、
コードパケットからパケットヘッダ及び前記パケットペイロードを得る抽出ロジックと、
前記パケットヘッダから、ネットワーク特性に基づいて前記選択されたデータ値を定義するインデックスシーケンスを決定するインデックスシーケンスロジックと、
前記パケットヘッダから、選択された前記データ値に乗算する係数を定義する値シーケンスを決定する値シーケンスロジックと、
データ値のセットのうち選択されたデータ値を生成するべく前記インデックスシーケンス及び前記値シーケンスに基づいてパケットペイロードを復号する復号ロジックとを備える装置。
【請求項３６】
前記パケットヘッダから１以上のコード重畳パラメータ、値シーケンスパラメータ及びインデックスシーケンスパラメータを抽出するロジックをさらに備える請求項３５の装置。
【請求項３７】
前記インデックスシーケンス及び値シーケンスを決定するべく１以上のコード重畳パラメータ、値シーケンスパラメータ及びインデックスシーケンスパラメータを処理するロジックをさらに備える請求項３６の装置。
【請求項３８】
前記復号ロジックは、データ値のセットを生成するペイロードを復号するべくインデックスシーケンスおよび値シーケンスによって記述された線形符号化スキームを逆にする請求項３５の装置。
【請求項３９】
複数のデータ値のうちの選択されたデータ値の線形結合をパケットペイロードとして含むコードパケットを復号して、前記データ値のセットのうち選択されたデータ値を生成する装置において、
コードパケットからパケットヘッダ及び前記パケットペイロードを得る手段と、
前記パケットヘッダから、ネットワーク特性に基づいて前記選択されたデータ値を定義するインデックスシーケンス、及び選択された前記データ値に乗算する係数を定義する値シーケンスを決定する手段と、
データ値のセットのうちの選択されたデータ値を生成するべく前記インデックスシーケンス及び前記値シーケンスに基づいてパケットペイロードを復号する手段とを備える装置。
【請求項４０】
前記パケットヘッダから１以上のコード重畳パラメータ、値シーケンスパラメータ及びインデックスシーケンスパラメータを抽出する手段をさらに備える請求項３９の装置。
【請求項４１】
前記インデックスシーケンス及び値シーケンスを決定するべく１以上のコード重畳パラメータ、値シーケンスパラメータ及びインデックスシーケンスパラメータを処理する手段をさらに備える請求項４０の装置。
【請求項４２】
前記復号する手段は、データ値のセットのうちの選択されたデータ値を生成するペイロードを復号するべくインデックスシーケンスおよび値シーケンスによって記述された線形符号化スキームを逆にする請求項３９の装置。
【請求項４３】
複数のデータ値のうちの選択されたデータ値の線形結合をパケットペイロードとして含むコードパケットを復号して、前記データ値のセットのうち選択されたデータ値を生成するように動作する少なくとも１つのプロセッサにより実行されるコンピュータプログラムを有するコンピューター判読可能な媒体において、
コードパケットからパケットヘッダ及び前記パケットペイロードを得るインストラクションと、
前記パケットヘッダから、ネットワーク特性に基づいて前記選択されたデータ値を定義するインデックスシーケンス、及び選択された前記データ値に乗算する係数を定義する値シーケンスを決定するインストラクションと、
データ値のセットのうちの選択されたデータ値を生成するべく前記インデックスシーケンス及び前記値シーケンスに基づいてパケットペイロードを復号するインストラクションとを備えるコンピュータプログラム。
【請求項４４】
前記パケットヘッダから１以上のコード重畳パラメータ、値シーケンスパラメータ及びインデックスシーケンスパラメータを抽出するインストラクションをさらに備える請求項４３のコンピュータプログラム。
【請求項４５】
前記インデックスシーケンス及び値シーケンスを決定するべく１以上のコード重畳パラメータ、値シーケンスパラメータ及びインデックスシーケンスパラメータを処理するインストラクションをさらに備える請求項４４のコンピュータプログラム。
【請求項４６】
前記復号するインストラクションは、データ値のセットのうちの選択されたデータ値を生成するペイロードを復号するべくインデックスシーケンスおよび値シーケンスによって記述された線形符号化スキームを逆にする請求項４３のコンピュータプログラム。
【請求項４７】
複数のデータ値のうちの選択されたデータ値の線形結合をパケットペイロードとして含むコードパケットを復号して、前記データ値のセットのうち選択されたデータ値を生成する方法を実行する少なくとも１つのプロセッサにおいて、
コードパケットからパケットヘッダ及び前記パケットペイロードを得ることと、
前記パケットヘッダから、ネットワーク特性に基づいて前記選択されたデータ値を定義するインデックスシーケンス、及び選択された前記データ値に乗算する係数を定義する値シーケンスを決定することと、
前記データ値のセットのうちの選択されたデータ値を生成するべく前記インデックスシーケンス及び前記値シーケンスに基づいてパケットペイロードを復号することとを備える方法。
【請求項４８】
前記パケットヘッダから１以上のコード重畳パラメータ、値シーケンスパラメータ及びインデックスシーケンスパラメータを抽出することをさらに備える請求項４７の方法。
【請求項４９】
前記インデックスシーケンス及び値シーケンスを決定するべく１以上のコード重畳パラメータ、値シーケンスパラメータ及びインデックスシーケンスパラメータを処理することをさらに備える請求項４８の方法。
【請求項５０】
前記復号することは、データ値のセットのうちの選択されたデータ値を生成するペイロードを復号するべくインデックスシーケンスおよび値シーケンスによって記述された線形符号化スキームを逆にすることを備える請求項４７の方法。
【外国語明細書】
2012010364000001.pdf