コードシンボルを生成するように使用されるために、選択されたデータ値を定義するインデックスシーケンスを決定することと、コードシンボルを生成する選択されたデータ値を掛けられるために要因を定義する値シーケンスを決定することと、またインデックスシーケンスおよび値シーケンスについて記述するパケットヘッダを生成することとを備えるコードシンボル中のデータ値のセットを符号化する方法。コードシンボルを生成するように使用されるためにデータ値の総数を定義するコード重量パラメータを決定することと、パケットヘッダにコード重量パラメータを含めることとをさらに備える請求項1の方法。前記インデックスシーケンスを決定することは、線形、マップド及びLDGMのシーケンスタイプを含む、1つ以上のインデックスシーケンスタイプからのインデックスシーケンスを決定することを備える請求項1の方法。前記値シーケンスを決定することは、一定の値タイプおよびリードソロモンと任意の値タイプを含む1つ以上の値シーケンスタイプからの値シーケンスを決定することを備える請求項1の方法。パケットヘッダとコードシンボルとをコードパケットへ組みこむことをさらに備える請求項1の方法。符号化セレクションパラメータに基づいて、インデックスシーケンスと値シーケンスのいずれか1つあるいは両方を調整することをさらに備える請求項1の方法。コードシンボルを生成するべく選択されたデータ値を定義するインデックスシーケンスを決定し、コード記号を生成する選択されたデータ値を掛ける要因を定義する値シーケンスを決定する符号化ロジックと、インデックスシーケンスおよび値シーケンスについて記述するパケットヘッダを生成する出力ロジックとを備えるコードシンボルのデータ値のセットを符号化する装置。前記符号化ロジックは、コードシンボルを生成するために使用されるデータ値の総数を定義するコード重量パラメータを決定することを備える請求項7の装置。前記符号化ロジックは、線形、マップド、及びLDGMのシーケンスタイプを含む、1つ以上のインデックスシーケンスタイプからのインデックスシーケンスを決定することを備える請求項7の装置。前記符号化ロジックは、一定の値タイプおよびリードソロモンと任意の値タイプを含む1つ以上の値シーケンスタイプから値シーケンスを決定することを備える請求項7の装置。前記出力ロジックは、コードパケットへパケットヘッダとコードシンボルを組み込むことを備える請求項7の装置。符号化セレクションパラメータに基づいて、インデックスシーケンス及び値シーケンスのいずれか1つあるいは両方を調整するコード選択ロジックをさらに備える請求項7の装置。コードシンボルを生成するために使用される選択されたデータ値を定義するインデックスシーケンスを決定する手段と、コードシンボルを生成するように選択されたデータ値を掛けられるために要因を定義する値シーケンスを決定する手段と、インデックスシーケンスおよび値シーケンスについて記述するパケットヘッダを生成する手段とを備えるコードシンボル中のデータ値のセットを符号化する装置。コードシンボルを生成するために使用されるデータ値の総数を定義するコード重量パラメータを決定する手段と、パケットヘッダにコード重量パラメータを含める手段とをさらに備える請求項13の装置。前記インデックスシーケンスを決定する手段は、線形、マップド及びLDGMのシーケンスタイプを含む1つ以上のインデックスシーケンスタイプからインデックスシーケンスを決定する手段を備える請求項13の装置。前記値シーケンスを決定する手段は、一定の値タイプおよびリードソロモンと任意の値タイプを含む1つ以上の値シーケンスタイプから値シーケンスを決定する手段を備える請求項13の装置。コードパケットにパケットヘッダ及びコードシンボルを組み込む手段をさらに備える請求項13の装置。符号化セレクションパラメータに基づいて、インデックスシーケンス及び値シーケンスのいずれか1つまたは両方を調整する手段をさらに備える請求項13の装置。少なくとも1つのプロセッサに対しコードシンボルのデータ値のセットを符号化するように動作させるコンピュータプログラムを有するコンピューター判読可能な媒体において、コードシンボルを生成するために使用される選択されたデータ値を定義するインデックスシーケンスを決定するインストラクションと、コードシンボルを生成する選択されたデータ値に掛ける要因を定義する値シーケンスを決定するインストラクションと、インデックスシーケンスおよび値シーケンスについて記述するパケットヘッダを生成するインストラクションとを備えるコンピュータプログラム。コードシンボルを生成するために使用されるデータ値の総数を定義するコード重量パラメータを決定するインストラクションと、パケットヘッダにコード重量パラメータを含めるインストラクションとをさらに備える請求項19のコンピュータプログラム。前記インデックスシーケンスを決定するインストラクションは、線形のシーケンスタイプおよびマッピングされたLDGMシーケンスタイプを含む1つ以上のインデックスシーケンスタイプからインデックスシーケンスを決定するインストラクションを備える請求項19のコンピュータプログラム。前記値シーケンスを決定するインストラクションは、一定の値タイプおよびリードソロモンと任意の値タイプを含む1つ以上の値シーケンスタイプから値シーケンスを決定するインストラクションを備える請求項19のコンピュータプログラム。パケットヘッダ及びコードシンボルをコードパケットに組み込むインストラクションをさらに備える請求項19のコンピュータプログラム。符号化セレクションパラメータに基づいて、インデックスシーケンス及び値シーケンスのいずれか1つまたは両方を調整するインストラクションをさらに備える請求項19のコンピュータプログラム。コードシンボルのデータ値のセットを符号化する方法を実行する少なくとも1つのプロセッサにおいて、コードシンボルを生成するために使用される選択されたデータ値を定義するインデックスシーケンスを決定することと、コードシンボルを生成する選択されたデータ値に掛ける要因を定義する値シーケンスを決定することと、インデックスシーケンスおよび値シーケンスについて記述するパケットヘッダを生成することとを備える方法。コードシンボルを生成するために使用されるデータ値の総数を定義するコード重量パラメータを決定することと、パケットヘッダにコード重量パラメータを含めることとをさらに備える請求項25の方法。前記インデックスシーケンスを決定することは、線形のシーケンスタイプおよびマッピングされたLDGMシーケンスタイプを含む1つ以上のインデックスシーケンスタイプからインデックスシーケンスを決定することを備える請求項25の方法。前記値シーケンスを決定することは、一定の値タイプ、リードソロモンと任意の値タイプを含む1つ以上の値シーケンスタイプから値シーケンスを決定することを備える請求項25の方法。パケットヘッダ及びコードシンボルをコードパケットに組み込むインストラクションをさらに備える請求項25の方法。符号化セレクションパラメータに基づいて、インデックスシーケンス及び値シーケンスのいずれか1つまたは両方を調整することをさらに備える請求項25の方法。コードパケットをデータ値のセットに復号する方法において、コードパケットからパケットヘッダ及びパケットペイロードを得ることと、前記パケットヘッダからインデックスシーケンス及び値シーケンスを決定することと、データ値のセットを生成するべく前記インデックスシーケンス及び前記値シーケンスに基づいてパケットペイロードを復号することとを備える方法。前記パケットヘッダから1以上のコード重畳パラメータ、値シーケンスパラメータ及びインデックスシーケンスパラメータを抽出することをさらに備える請求項31の方法。前記インデックスシーケンス及び値シーケンスを決定するべく1以上のコード重畳パラメータ、値シーケンスパラメータ及びインデックスシーケンスパラメータを処理することをさらに備える請求項32の方法。前記復号することは、データ値のセットを生成するペイロードを復号するべくインデックスシーケンスおよび値シーケンスによって記述された線形符号化スキームを逆にすることを備える請求項31の方法。コードパケットをデータ値のセットに復号する装置において、コードパケットからパケットヘッダ及びパケットペイロードを得る抽出ロジックと、前記パケットヘッダからインデックスシーケンスを決定するインデックスシーケンスロジックと、前記パケットヘッダから値シーケンスを決定する値シーケンスロジックと、データ値のセットを生成するべく前記インデックスシーケンス及び前記値シーケンスに基づいてパケットペイロードを復号する復号ロジックとを備える装置。前記パケットヘッダから1以上のコード重畳パラメータ、値シーケンスパラメータ及びインデックスシーケンスパラメータを抽出するロジックをさらに備える請求項35の装置。前記インデックスシーケンス及び値シーケンスを決定するべく1以上のコード重畳パラメータ、値シーケンスパラメータ及びインデックスシーケンスパラメータを処理するロジックをさらに備える請求項36の装置。前記復号ロジックは、データ値のセットを生成するペイロードを復号するべくインデックスシーケンスおよび値シーケンスによって記述された線形符号化スキームを逆にする請求項35の装置。コードパケットをデータ値のセットに復号する装置において、コードパケットからパケットヘッダ及びパケットペイロードを得る手段と、前記パケットヘッダからインデックスシーケンス及び値シーケンスを決定する手段と、データ値のセットを生成するべく前記インデックスシーケンス及び前記値シーケンスに基づいてパケットペイロードを復号する手段とを備える装置。前記パケットヘッダから1以上のコード重畳パラメータ、値シーケンスパラメータ及びインデックスシーケンスパラメータを抽出する手段をさらに備える請求項39の装置。前記インデックスシーケンス及び値シーケンスを決定するべく1以上のコード重畳パラメータ、値シーケンスパラメータ及びインデックスシーケンスパラメータを処理する手段をさらに備える請求項40の装置。前記復号する手段は、データ値のセットを生成するペイロードを復号するべくインデックスシーケンスおよび値シーケンスによって記述された線形符号化スキームを逆にする請求項39の装置。コードパケットを復号し、データ値のセットを生成するように動作する少なくとも1つのプロセッサにより実行されるコンピュータプログラムを有するコンピューター判読可能な媒体において、コードパケットからパケットヘッダ及びパケットペイロードを得るインストラクションと、前記パケットヘッダからインデックスシーケンス及び値シーケンスを決定するインストラクションと、データ値のセットを生成するべく前記インデックスシーケンス及び前記値シーケンスに基づいてパケットペイロードを復号するインストラクションとを備えるコンピュータプログラム。前記パケットヘッダから1以上のコード重畳パラメータ、値シーケンスパラメータ及びインデックスシーケンスパラメータを抽出するインストラクションをさらに備える請求項43のコンピュータプログラム。前記インデックスシーケンス及び値シーケンスを決定するべく1以上のコード重畳パラメータ、値シーケンスパラメータ及びインデックスシーケンスパラメータを処理するインストラクションをさらに備える請求項44のコンピュータプログラム。前記復号するインストラクションは、データ値のセットを生成するペイロードを復号するべくインデックスシーケンスおよび値シーケンスによって記述された線形符号化スキームを逆にする請求項43のコンピュータプログラム。コードパケットをデータ値のセットに復号する方法を実行する少なくとも1つのプロセッサにおいて、コードパケットからパケットヘッダ及びパケットペイロードを得ることと、前記パケットヘッダからインデックスシーケンス及び値シーケンスを決定することと、データ値のセットを生成するべく前記インデックスシーケンス及び前記値シーケンスに基づいてパケットペイロードを復号することとを備える方法。前記パケットヘッダから1以上のコード重畳パラメータ、値シーケンスパラメータ及びインデックスシーケンスパラメータを抽出することをさらに備える請求項47の方法。前記インデックスシーケンス及び値シーケンスを決定するべく1以上のコード重畳パラメータ、値シーケンスパラメータ及びインデックスシーケンスパラメータを処理することをさらに備える請求項48の方法。前記復号することは、データ値のセットを生成するペイロードを復号するべくインデックスシーケンスおよび値シーケンスによって記述された線形符号化スキームを逆にすることを備える請求項47の方法。1以上の実施形態において、符号化システムは、使用されている符号体系についての特別の知識を持つことなく、受信装置の要求によって容易に解読することができる一般形式中の線形符号化スキームを示し、その動作を提供する。例えば、システムは無線通信ネットワーク上の伝送用データを符号化するのに適切である。システムは、無線ネットワーク環境での使用によく適しているが、通信網、インターネット、仮想施設通信網VPNのような私設網、ローカルエリアネットワーク、広域ネットワーク、長距離輸送ネットワークあるいは他のタイプのデータ網のような公衆回線網のような任意のタイプのネットワーク環境の中で使用されてもよいことも含み、特に制限されない。図1が、符号化システムの1つの実施形態を含むネットワーク100を示す。ネットワーク100は、データ網106を利用するデバイス104とのコミュニケーションにあるサーバ102を含む。1つの実施形態では、サーバ102は任意のタイプの通信リンク108を使用して、ネットワーク106と通信するために動作する。ネットワーク106は任意のタイプの有線ネットワークおよびまたは無線ネットワークである。ネットワーク106は、任意の適切なタイプの無線通信リンク110を使用して、デバイス104と通信する。サーバ102はデバイス104にコンテンツおよびまたはサービスを送信するために動作する。ここでは、1つのデバイスだけを図示するが、システムは、任意の数あるいはデバイスのタイプを備えた使用にふさわしい。一実施形態において、サーバ102は、任意の選択されたネットワーク標数に基づいた符号化タイプを選択するために動作するコーディング選択ロジック112を含む。例えば、コーディング選択ロジック112は、モニターにネットワーク106の様々な伝送あるいはトラヒック状況を操作し、それらの条件に基づいた符号化タイプを選択してもよい。例えば、ネットワークは、信号フェージングあるいは他の下劣な結果により損失のある伝送条件を経験していてもよい。コーディング選択ロジック112は、これらの伝送条件あるいは別の実体によって情報を供給されるを検知し、またこの情報に基づいた、エンコーダ114にコーディングセレクションパラメータを供給するように動作する。エンコーダ114はネットワーク106上で伝送されるデータを受信し、またコードパケットを生成するためにこのデータを符号化するように動作する。1つの実施形態では、エンコーダ114は1つ以上の線形の抹消コードを使用してデータを符号化し、これにより生成コードパケットがネットワーク106を通して送信される時、受信装置によって失われたコードパケットを回復することが可能となる。1つの実施形態では、エンコーダ114は、コーディング選択ロジック112から受信されたコーディングセレクションパラメータに基づいた符号化スキームを選択するように動作する。1つの実施形態では、エンコーダ114は、パケットヘッダ116およびパケットペイロード118を含むコードパケットを生成するべくデータを符号化するように動作する。パケットヘッダ116は、データを符号化するために使用される線形の抹消コードに関する情報を提供する。ペイロード118は符号化されたデータを含む。エンコーダ114の動作のより多くの詳述が、この項の別のセクション中で提供される。1つ以上の実施形態では、エンコーダ114は任意のタイプの線形符号化スキームを使用して、データを符号化するように動作する。パケットヘッダ116は利用されるどんな符号化スキームでも完全に記述するために生成される。したがって、パケットヘッダは、データが、リードソロモンコーディング、LDPCコーディング、LDGMコーディング、反復コーディング、ターボコーディングあるいは他のタイプの線形符号化スキームを使用して符号化されたと伝えることができる。さらに、上記の符号体系のあらゆる組み合わせあるいは任意の新しいタイプの線形符号化スキームも使用して、エンコーダ114はデータを符号化する動作が可能である。また、パケットヘッダ116は、符号化スキームが使用したことを完全に説明することができる。これは柔軟な符号化システムを提供するために様々な回路網状態に基づいて選択されているスキームを符号化することを可能にする。更に、符号体系を使用したことをパケットヘッダが完全に説明するので、それらが受信コードパケットを処理するために、受信装置では更新する必要なく、新しい符号体系が利用されてもよいので、システムは計量可能である。これは、送り側にて、受信装置の更新を必要とすることなく、異なる符号体系を組み合わせる、それらのプロパティを利用するために新しい符号体系を使用することを可能にする。コードパケットがエンコーダ114によって生成された後、それらは、パス120によって示されるようなネットワーク106上のデバイス104に送信される。デバイス104がコードパケットを受信する場合、デバイス104は、データがどのように符号化されたかを断定するパケットヘッダ116をデコードするためにその復号器122を使用する。その後、復号器122は、パケットヘッダ116によって記述された符号体系を逆にすることにより、データを得るためにコードパケットをデコードする。こうして、パケットヘッダ116が受信コードパケットをデコードするために必要な情報をすべて提供するので、デバイス104は、使用される符号化スキームに関する特別の知識を必要としない。したがって、符号化システムの実施形態は柔軟に計量可能となるように、ネットワーク上を伝送されるデータを符号化するために動作する。ネットワーク100が単に1つのインプリメンテーションで、他のインプリメンテーションが実施形態の範囲内で可能なことが注目されるべきである。図2は、符号化システムの実施形態で使用されるエンコーダ200の一実施形態を示す。例えば、エンコーダ200は図1に示されるエンコーダ114として使用することもできる。エンコーダ200は、ロジック202、データ入力ロジック240、コードパケット出力ロジック206およびコーディング選択ロジック208を備え、これらは全て内部データバス210に接続される。データ入力ロジック204は、符号器200で受信データを符号化できるように動作するハードウェアロジックおよびまたはソフトウェアを含む。例えば、一実施形態において、データ入力ロジック204は、任意の適切なタイプの通信路214を含むデータチャネル212によって受信されるデータを符号化できるように動作する。1以上の実施形態において、符号化ロジック202はCPU、プロセッサ、ゲートアレー、ハードウェアロジック、記憶素子、仮想計算機、ソフトウェアおよびまたはハードウェアとソフトウェアの任意の組み合わせを含む。1つの実施形態では、符号化ロジック202は選択された線形の抹消コードを使用して、受信データを符号化するために動作する。符号化ロジック202の中のさらなる詳細な論述はこの項の別のセクション中で提供される。したがって、符号化ロジック202は、一般にデータを符号化し、かつ内部データバス210によってエンコーダ200の1つ以上の他の機能要素を制御するためのロジックを含む。コードパケット出力ロジック206は、ネットワーク上の伝送用の出力コードパケットに形成されたロジックを含む。例えば、一旦データが符号化ロジック202によって符号化されれば、パケットヘッダとパケットのペイロードを含むコードパケットは出力ロジック206に供給される。その後、出力ロジック206は通信リンク214を使用して、伝送ロジック図示されないにコードパケットを出力する。コーディング選択ロジック208はネットワーク実行パラメータとしての符号化セレクションパラメータを検出しまたは受信するハードウェアおよびまたはソフトウェアを備える。これらのパラメータは、データを符号化する符号化スキームを選択するために使用される符号化ロジック202へ入力される。1以上の実施形態において、データ入力ロジック204は、伝送データに符号化すべくデータを受信する。コーディング選択ロジック208は、データを符号化する符号化ロジック202によって使用される符号化スキームを決定するために使用されるコーディングセレクションパラメータを受信する。符号化ロジック202は、符号化されたデータを生成し固定とした符号化スキーム、および符号化スキームについて記述するパケットヘッダによって、データを符号化する。その後、パケットヘッダとペイロードを含む、符号化されたパケットは、コードパケット出力ロジック206によって出力される。1つの実施形態では、符号化システムは、コンピューター判読可能な媒体上に格納された1つ以上のプログラムインストラクションが少なくとも1つのプロセッサー例えば符号化ロジック202によって実行された時、ここに記述された関数を提供する。例えば、プログラムインストラクションは、フロッピー登録商標ディスク、CDROM、メモリーカード、FLASHメモリ素子、RAM、ROM、あるいは符号器200に接続する他のタイプのメモリ素子か、コンピューター判読可能な媒体からの符号器200にロードされてもよい。別の実施形態では、インストラクションは外部デバイスかネットワーク資源から符号器200へダウンロードされてもよい。プログラムインストラクションは、符号化ロジック202によって実行された時、ここに記述されるような符号化システムの実施形態を提供する。その結果、符号化システムの実施形態では、損失のある送信チャネル上の伝送用のコードパケットを生成する選択された線形の抹消スキームを使用して、データを符号化するように動作する。したがって、パケットヘッダが受信装置用の符号体系について記述するので、符号化システムの実施形態は柔軟で計量可能な符号化システムを提供するように動作する。したがって、受信装置は、パケットヘッダによって記述された符号体系を逆にすることにより利用されてもよいあらゆるスキームをデコードすることができる。符号化ロジック動作次に、符号化ロジック202の1つの実施形態の処理動作について詳述する。図3は、符号化システムの実施形態中のコードシンボルを生成するための線形コード処理を示すグラフ表示300を示している。線形コードシンボルはすべてデータシンボルの線形結合である。左側のノードはデータシンボル302であり、右側のノードはコードシンボル304である。そのデータシンボルがコードシンボル304を生成するために使用されることになっている場合、エッジ306は、コードシンボル304からデータシンボル302のうちの1つに引き付けられる。コードシンボルの一部になるためにデータシンボルを掛ける要因を示すラベルあるいは値が各エッジに関係している。例えば、エッジ306は、データシンボルd2その後、それはコード記号304を生成するために使用されるだろうを増加させる要因であるラベルαrを持っている。1以上の実施形態において、線形コードシンボルは、値シーケンスVALUE_SEQUENCEとインデックスシーケンスINDEX_SEQUENCEの2つのシーケンスにより表すことができる。VALUE_SEQUENCEは、エッジに関連したラベルあるいは要因のシーケンスを指定する。INDEX_SEQUENCEは、コードシンボルを生成するために取られるデータ索引を指定する。グラフ表示300では、INDEXSEQUENCEは、1からkの整数のシーケンスを含む。コードシンボルを接続するエッジの数は、コード重みCODE_WEIGHTと呼ばれる。グラフ表示300では、CODE_WEIGHTは、あるkと等しいので、kはコードシンボル304を接続して徐々に動く。コードの例1以上の実施形態において、次に記述する様々なコーディング技術は、符号化システムの実施例によって提供される。符号化システムの実施形態によって提供することができる線形コードについて、下記の例がすべてではなくいくらかを示すことが注目されるべきである。1.リードソロモンRSコード符号化システムはRSコーディングを使用して、データを符号化するように動作可能となる。例えば、符号化ロジック202は以下のようにRSコーディングを提供するように動作する。RSコードシンボルCは下記のように書くことができる。kはコードシンボルCを生成するためのデータシンボルの数であり、diはデータシンボル、rはコードパラメータである、そしてαは適切なガロアフィールドGFの原始的なエレメントである。GF256が興味のあるコードに使用されるとこの記述のために仮定される。この実施形態において、INDEXSEQUENCEは、コードシンボルCを接続するエッジを示すkの値を含む。VALUESEQUENCEは、コードシンボルCを接続する各エッジに関連したデータシンボルを増加させる要因である、αrの値を含む。CODE_WEIGHTは、コードシンボルCを接続するエッジkの総数と等しい。従って、符号化ロジック202は上記の方程式によってデータを符号化するために動作し、関連するCODE_WEIGHTVALUESEQUENCEと、INDEX_SEQUENCEパラメータを生成する。その後、これらのパラメータは、このドキュメントの別のセクションに記述されるようなパケットヘッダに組み入れられる。2.低密度生成行列コード1以上の実施形態において、符号化システムは低密度生成行列LDGMコーディングを使用して、データを符号化するように動作可能である。例えば、LDGMコードは次の方法で生成されてもよい。CODE_WEIGHTはある関数を使用して得られる。CODE_WEIGHTを合計する多くのデータシンボルは、すべてのデータシンボルから得られる。これがどのように終っているかの一例は、最初の種値SEEDを備えたデータシンボル数ジェネレータを初期化することである。データシンボル数ジェネレータはそのときデータシンボルを識別するために使用される数を生成するCODE_WEIGHT動作時間である。その後、これらのデータシンボルは排他的論理和XORオペレーションを使用して組み合わせられる。線形動作として、XORはガロア域GF256の中の追加と同じである。また、乗率は1である。符号化システムのオペレーションの結果、VALUE_SEQUENCEはすべてのエッジのための乗率が一定1となるLDGMコーディングを提供するために生成される。INDEX_SEQUENCEは、インデックスがそれぞれ特別のアウトプットに基づくデータシンボル数ジェネレータのオペレーションによって生成され、特別のエッジに関連付けられる。1つの実施形態において、符号化ロジック202は上記の記述によってデータを符号化するために動作し、関連するCODE_WEIGHT、VALUE_SEQUENCEおよびINDEX_SEQUENCEパラメータを生成する。その後、これらのパラメータは、この項の別のセクションに記述されるようなパケットヘッダに組み入れられる。3.繰返しコード例1以上の実施形態では、符号化システムは、データシンボルがラウンドロビン法で繰り返される場合に反復コーディングを使用して、データを符号化するように動作可能である。この場合、CODE_WEIGHTはすべてのコードシンボルに対し1である。VALUE_SEQUENCEは定数1である。また、INDEX_SEQUENCEはたった1つのエントリーをしている。また、それはデータシンボルのインデックスである。1つの実施形態では、符号化ロジック202は上記の記述によってデータを符号化するように動作し、関連するCODE_WEIGHT、VALUE_SEQUENCEおよびINDEX_SEQUENCEパラメータを生成する。その後、これらのパラメータは、この項の別のセクションに記述されるようなパケットヘッダに組み入れられる。こうして、符号化システムは、任意のタイプの線形符号化を直に提供するべく、CODE_WEIGHT、VALUE_SEQUENCEおよびINDEX_SEQUENCEパラメータを生成するように動作可能である。符号化システムは、上記の符号体系に制限されることなく、他の符号体系、そして線形的にデータを符号化する1つ以上の符号体系の組み合わせであっても、それがさらに可能な道具であることは注目されるべきである。この場合、符号化ロジック202は、パケットヘッダに含まれるCODE_WEIGHT、VALUE_SEQUENCEおよびINDEXを生成するように動作する。パケットヘッダ生成1以上の実施形態において、符号化システムは、コードシンボルを生成するために、1セットのデータシンボルがどのように線形的にコード化されるかを示すパケットヘッダを生成するように動作する。例えば、符号化ロジック202は、任意の線形符号化スキームによってデータを符号化し、かつ下記に述べられるような対応するパケットヘッダを生成するように動作する。その後、生成されたパケットヘッダは、放送チャネルを通して送信されるコードパケットを形成するべく、コードシンボルペイロードに付加することができる。その後、どんな受信装置であっても、不適当にコード化されたシンボルからデータを回復するコーディングプロセスを決定するためにパケットヘッダをデコードすることができる。図4は、符号化システムの実施形態で使用されるパケットヘッダ400の一実施形態を示している。例えば、1つの実施形態では、パケットヘッダ400は、符号化ロジック202の処理によって生成される。パケットヘッダ400は、フィールド名402および関連するフィールドタイプ404を含んでいるテーブルを含む。1つの実施形態において、フィールド名402はCODE_WEIGHT406と、IMDEXVALUE_SEQUENCE_TYPE408と、SEQUENCE_TYPE410と、VALUE_SEQUENCE_INFO412と、INDEX_SEQUENCE_INFO414パラメータとを備えている。フィールドタイプ404は、特別のフィールド名404に関連し、選択されたサイズのパラメータを含む。様々なフィールド名のより多くの詳述が以下に提供される。図5は、符号化システムの実施形態で使用されるVALUE_SEQUENCE_TYPESを示すテーブル500の1つの実施形態を示している。例えば、テーブル500中で示されるパラメータは、図4の中で示されるVALUE_SEQUENCE_TYPE408のために使用されてもよい。更に、テーブル500中で示されるVALUE_SEQUENCE_TYPESの各々は、選択されたVALUE_SEQUENCE_INFO412パラメータに関係している。VALUE_CONSTANTVALUESEQUENCE_TYPEフィールド408がVALUE_CONSTANT例えば1にセットされる場合、VALUE_SEQUENCE_INFOフィールド412も定数にセットされる。例えば、すべてのエッジ値が1にセットされる場合、VALUESEQUENCE_INFOフィールドは1の値にセットされる。VALUE_RS_LIKEVALUE_SEQUENCE_TYPEフィールド408がVALUE_RS_LIKE例えば2にセットされる場合、VALUE_SEQUENCE_INFOフィールド412は、rにセットされる。これは、下記に示すリードソロモンコードワードのジェネレータである。VALUE_RANDOMVALUESEQUENCE_TYPEフィールド408がVALUE_RANDOM例えば3にセットされる場合、VALUE_SEQUENCE_INFOフィールド412は、シーケンス値を生成する乱数発生器を初期化するために使用される種値にセットされる。受信装置によって使用される乱数発生器は、符号化ロジック202によって使用される乱数発生器と同じであると仮定されている。図6は、符号化システムの実施形態で使用されるINIDEXSEQUENCE_TYPESを示すテーブル600の一実施形態を示している。例えば、テーブル600中で示されるパラメータは、図4中で示されるINDEXSEQUENCE_TYPE410のために使用されてもよい。更に、テーブル600中で示されるINDEXSEQUENCE_TYPESの各々は選択されたINDEX_SEQUENCEiNFO414パラメータに関係している。テーブル600は、名前欄602および関連する値フィールド604を含む。名前欄602は、異なるINDEX_SEQUENCE_TYPESの名前を含む。また、それらの各々は値分野604で特別の値に関係している。下記は、異なるINDEX_SEQUENCETYPESおよび関連するINDEX_SEQUENCEINFO414パラメータの記述である。次に、異なるINDEX_SEQUENCETYPES及び関連するINDEXSEQUENCE_INFOフィールド414パラメータについて説明する。INDEX_LINEARINDEXSEQUENCE_TYPEフィールド410が、INDEX_LINEAR例えば1にセットされる場合、INDEXSEQUENCE_INFOフィールド414は次のパラメータを備える。a.INDEX_INITIALINDEX_INITIALパラメータは、コードパケットを生成するために使用される第1のデータパケットのインデックスである。b.INDEXSTEPINDEXSTEPパラメータは、コードパケットを生成するために使用されるインデックスステップサイズである。コードパケットを生成するために使用されるインデックスのセットは以下のように表現することができる。INDEX_MAPPEDINDEXSEQUENCE_TYPEフィールド410がINDEX_MAPPED例えば2にセットされる場合、各エッジはユニークなエッジインデックスを有し、また、エッジインデックスはデータパケットインデックスへマッピングされる。INDEXSEQUENCE_INFOフィールド414はINITIAL_EDGE_INDEXパラメータを含む。エッジインデックスは以下のように計算される。データインデックスはエッジインデックスのある関数マップである。受信装置および符号化ロジック202によって同じマッピング機能が使用されると仮定されている。INDEX_LDGMINDEXSEQUENCE_TYPEフィールド410がINDEX_LDGM例えば3にセットされる場合、INDEXSEQUENCE_INFOフィールド414はINITIAL_SEEDパラメータを含む。INITIAL_SEEDパラメータは、インデックスシーケンスを生成するようにデータシンボル数ジェネレータを初期化するために使用される値である。受信装置によって使用されるデータシンボル数ジェネレータは、符号化ロジック202によって使用されるそれと同じであると仮定されている。したがって、符号化システムの実施形態は、事実上どんな線形コードを使用しても、データを符号化し、かつ使用された線形符号化について記述するパケットヘッダを生成するように動作する。図7は、符号化システムの実施形態で使用されるエンコーダを動作させる方法700の1つの実施形態を示す。明確にいうと、方法700は、図2の中で示されるエンコーダ200に関してここに記述される。例えば、1つの実施形態では、符号化ロジック202は、下記に述べられた関数を行なう機械可読のインストラクションを実行する。ブロック702では、コード重量値は決定される。例えば、符号化ロジック202は、データを符号化する選択されたタイプの線形符号化を提供するためにコード重量値を決定する。例えば、コード重量値は、どれだけのエッジ構造がコードシンボルから出力されるか説明する。ブロック704では、インデックスシーケンスが決定される。1つの実施形態では、符号化ロジック202は、コードシンボルを生成するためにデータ値が何に使用されるか説明するインデックスシーケンスを決定する。例えば、インデックスシーケンス値の総数はコード重量値と等しい。1つの実施形態では、インデックスシーケンスは、インデックスシーケンスタイプ410および上述されるようなインデックスシーケンス情報414パラメータによって記述される。ブロック706では、値シーケンスが決定される。1つの実施形態では、符号化ロジック202は、コードシンボルを生成するためにデータ値を掛ける要因について記述する値シーケンスを決定する。例えば、値シーケンス値の総数はコード重量値と等しい。1つの実施形態では、値シーケンスは、値シーケンスタイプ408および上述されるような値シーケンス情報412パラメータによって記述される。ブロック708では、データは選択された符号体系によって符号化される。例えば、符号化ロジック202は、データを符号化し、かつデータがどのように符号化されたか説明するパケットヘッダを生成するように動作する。例えば、パケットヘッダは図4の中で示される通りである。ブロック710では、パケットヘッダとペイロードを含むコードパケットが構成される。例えば、コードパケット出力ロジック206は、パケットヘッダおよびペイロードとしての符号化データを含むコードパケットを生成するように動作する。ブロック712では、コードパケットは1台以上の受信装置に送信される。例えば、コードパケット出力ロジック206は、1つ以上のデバイスに無線ネットワーク上のコードパケットを送信するように動作し、伝送ロジックにコードパケットを出力する。ブロック714では、テストは符号体系へのいずれかの調整を行なう必要があるかどうか判断するために行なわれる。1つの実施形態では、コード選択ロジック208は、ネットワーク伝送あるいはトラフィック特性のような1以上のネットワーク特性に基づいた符号体系を決定するように動作する。その後、コード選択ロジック208は、データを符号化するために使用される特別の符号体系を定義するように動作し、符号化ロジック202にコード選択パラメータを供給する。コード選択パラメータは任意のフォーマットであり、任意のタイプのコード識別子を使用して、符号体系を指定してもよい。現在の符号体系に調整がない場合、方法は伝送用データをコード化し続けるためにブロック708へ移行する。符号体系に調整がある場合、方法はブロック702へ移行して新しいコーディング要因を決定し、これにより選択されたネットワーク特性を提供するためにデータの符号化を調整できるようにする。したがって、方法700は符号化システムの1つの実施形態を提供するように動作する。方法700が単に1つのインプリメンテーションを示し、他のインプリメンテーションが実施形態の範囲内で可能なことが注目されるべきである。図8は、符号化システムの実施形態のうち受信装置で使用するために最適な復号器800の1つの実施形態を示している。例えば、復号器800は、図1の中で示される復号器122として使用にふさわしい。復号器800は復号ロジック802、コード重み抽出ロジック804、値シーケンスロジック806、インデックスシーケンスロジック808およびデータ出力ロジック810を備え、すべてデータバス812に接続される。コード重み抽出ロジック804は、ハードウェアおよびまたはソフトウェアの組み合わせを含み、またコードパケット814を受信し、かつパケットヘッダからコード重量値を抽出するように動作する。例えば、1つの実施形態では、パケットヘッダは、図4に示されるパケットヘッダ400としてフォーマット化され、また、コード重量値はコード重量値406となる。値シーケンスロジック806は、ハードウェアおよびまたはソフトウェアの組み合わせを含み、コードパケット814に含まれたパケットヘッダからの値シーケンスを生成するように動作する。例えば、1つの実施形態では、図4に示されるパケットヘッダ400、および値シーケンスが、値シーケンスタイプ408および上述されるような値シーケンス情報412に由来するとともに、パケットヘッダはフォーマット化される。インデックスシーケンスロジック808は、ハードウェアおよびまたはソフトウェアの組み合わせを含み、コードパケット814に含まれたパケットヘッダからのインデックスシーケンスを生成するように動作する。例えば、1つの実施形態では、パケットヘッダは、図4で示されるパケットヘッダ400としてフォーマット化される。また、インデックスシーケンスは、インデックスシーケンスタイプ410および上述されるようなインデックスシーケンス情報414に由来する。復号ロジック802は、ハードウェアおよびまたはソフトウェアの組み合わせを含み、コードパケット814からペイロードを受信するように動作する。復号ロジック802は、さらにコード重み抽出ロジック804、値シーケンスロジック806およびインデックスシーケンスロジック808からコード重み、値シーケンスおよびインデックスシーケンスの1つ以上をそれぞれ受信する。1つの実施形態では、復号ロジック802は、データを符号化するために使用される符号体系を逆にすることによりペイロードからのデータを解読するように動作する。例えば、コード重み、値シーケンスおよびインデックスシーケンスは、データがどのように線形的に符号化されたか説明する。また、復号ロジック802は初期データを生成する記述された符号体系を逆にするように動作する。復号ロジック802はさらに失われたコードパケットを回復するために、適切な技術を使用して動作してもよい。データ出力ロジック810は、ハードウェアおよびまたはソフトウェアの組み合わせを含み、復号ロジック802からの復号データを受信し、通信リンク816を使用する受信装置の他のロジックへこの復号データを出力するように動作する。1つの実施形態では、符号化システムは、コンピューター判読可能な媒体上に格納された1つ以上のプログラムインストラクションが少なくとも1つのプロセッサー例えば復号ロジック802によって実行された時、ここに記述された機能を提供する。例えば、プログラムインストラクションは、フロッピー登録商標ディスク、CDROM、メモリカード、フラッシュメモリ装置、RAM、ROM、または他のタイプのメモリ装置、またはデコーダ800とインターフェースを実行するコンピューター判読可能な媒体のようなコンピューター判読可能な媒体からのデコーダ800にロードされてもよい。別の実施形態において、インストラクションは、外部デバイスまたはネットワーク資源からデコーダ800へダウンロードされる。プログラムインストラクションは、復号ロジック802によって実行された時、ここに記述されるような符号化システムの実施形態を提供する。その結果、符号化システムの実施形態は、データを受信し、損失のある送信チャンネル上の伝送用のコードパケットを生成する選択された線形の抹消スキームを使用して、データを符号化するように動作する。受信装置で受信された時、パケットヘッダからの情報はデータを解読する際に使用のために抽出される。したがって、パケットヘッダが受信装置用の符号体系について記述されるので、符号化システムの実施形態は柔軟で計量可能な符号化システムを提供するように動作する。したがって、受信装置は、パケットヘッダによって記述された符号体系を逆にすることにより利用可能なあらゆるスキームを解読することができる。図9は、符号化システムの実施形態の中のデコーダの動作方法900の1つの実施形態を示す。明確な説明について、方法900は、図8の中で示されるデコーダ800に関してここに記述される。例えば、1つの実施形態では、復号ロジック802は、下記に述べられた機能を実行するべく機械可読のインストラクションを実行する。ブロック902では、コードパケットは受信装置で受信される。例えば、コードパケットは放送チャネル上で受信されてもよい。1つの実施形態では、コードパケットはパケットヘッダとパケットのペイロードを含む。情報はパケットヘッダから抽出される。例えば、1つの実施形態では、コード重み抽出ロジック804はパケットヘッダからコード重量パラメータを抽出するように動作する。値シーケンスロジック806はパケットヘッダから値シーケンスタイプ408および値シーケンス情報410パラメータを抽出するように動作する。インデックスシーケンスロジック808はパケットヘッダからインデックスシーケンスタイプ412およびインデックスシーケンス情報414パラメータを抽出するように動作する。ブロック906では、インデックスシーケンスは決定される。例えば、1つの実施形態では、インデックスシーケンスロジック808はインデックスシーケンスを決定するインデックスシーケンスタイプ412およびインデックスシーケンス情報414を処理するように動作する。ブロック908では、値シーケンスは決定される。例えば、1つの実施形態では、値シーケンスロジック806は値シーケンスを決定する値シーケンスタイプ408および値シーケンス情報410を処理するように動作する。ブロック910では、コードパケットペイロード中のコード化されたシンボルが解読される。例えば、1つの実施例では、復号ロジック802はインデックスシーケンスを利用するように動作する。また、値シーケンスは、オリジナルデータを符号化する符号化プロセスを逆にすることによりペイロードを解読する。その結果、オリジナルデータはコードパケットペイロードから解読される。1つの実施形態では、復号ロジック802はさらに失われたコードパケットを回復するために、適切な技術も使用するように動作する。その後、方法は、より多くのコードパケットを受信するためにブロック902に移行する。したがって、方法900は符号化システムの1つの実施形態を提供するように動作する。方法900は単に1つのインプリメンテーションを示し、他のインプリメンテーションが実施形態の範囲内で可能なことが注目されるべきである。図10は、符号化システムの実施形態で使用されるエンコーダ1000の一実施形態を示している。例えば、エンコーダ1000は図1で示されるエンコーダ114として使用にふさわしい。エンコーダ1000は、データを受信する手段1002、コード重みを決定する手段1004、インデックスシーケンスを決定する手段1006、値シーケンスを決定する手段1008、パケットヘッダを生成する手段1010、コードパケットとしてのパケットヘッダおよびペイロードを送信する手段1012を備える。1つ以上の実施形態では、手段1002~1012は、ここに記述されるような符号化システムの実施形態を提供するように構成された少なくとも1つのプロセッサを含む。図11は、符号化システムの実施形態で使用されるデコーダ1100の一実施形態を示している。例えば、デコーダ1100は図11で示されるエンコーダ122として使用にふさわしい。デコーダ1100は、コードパケットを受信する手段1102、パケットヘッダおよびペイロードを得る手段1104、コード重みを決定する手段1106、インデックスシーケンスを決定する手段1108、値シーケンスを決定する手段1110、ペイロードを復号する手段1112を備える。1つ以上の実施形態では、手段1102~1112は、ここに記述されるような符号化システムの実施形態を提供するように構成された少なくとも1つのプロセッサを含む。様々な実例となる論理学書、論理的なブロック、モジュール、およびここに示された実施形態に関して記述された回路は、メインプロセッサ、デジタルシグナルプロセッサーDSP、特定用途向け集積回路ASIC、フィールドプログラマブルゲートアレイFPGAあるいは他のプログラム可能論理回路でインプリメントされてもよいし離散的なゲートかトランジスターロジック、離散的なハードウェア成分あるいは機能を実行するようにこれらの組み合わせてもよい。一般のプロセッサは、マイクロプロセッサである。しかし、代案では、プロセッサは任意の従来のプロセッサ、コントローラ、マイクロコントローラあるいはステートマシンかもしれない。プロセッサも、計算装置例えばDSPとマイクロプロセッサの組み合わせ、複数のマイクロプロセッサ、DSPコアと協働の1個以上のマイクロプロセッサあるいは他のそのような配位の組み合わせとしてインプリメントされてもよい。ここに示された実施形態に関して記述された方法かアルゴリズムのステップは、ハードウェア、プロセッサによって実行されたソフトウェアモジュール、あるいは2つのコンビネーションで直接具体化されてもよい。ソフトウェアモジュールは、RAMメモリ、フラッシュメモリー、ROMメモリ、EPROMメモリ、EEPROMメモリ、レジスター、ハードディスク、リムーバブルディスク、CD-ROMあるいは技術中で既知の記憶メディアの他のフォームに存在してもよい。典型的な記憶メディアは、プロセッサー、記憶メディアプロセッサーが情報を読み書きすることができるようなものにつながれる。代案では、記憶メディアはプロセッサーに不可欠かもしれない。プロセッサーと記憶メディアはASICに存在してもよい。ASICはユーザー端末に存在してもよい。代案では、プロセッサーと記憶メディアはユーザー端末の離散的な成分として存在してもよい。本実施形態において説明するのは、当業者が本発明を作るか使用することができるように提供するものである。これらの実施形態への様々な改良は、技術に熟練している人々に容易に明白かもしれない。また、ここに定義された総括的な法則は、発明の精神か範囲から外れずに、他の実施例に例えばインスタントメッセージサービスあるいは任意の一般的な無線データ通信適用中で適用されてもよい。したがって、本発明は、ここに示された実施例に制限されたようには意図されないが、ここに示された法則と小説の特徴と一致する最も広い範囲を与えられることになっている。典型的であるというワードは、例、インスタンスあるいはイラストとして役立つことを意味するために排他的にここに使用される。好まれるか、他の実施例上に有利だったように、典型的なものとここに記述されたどんな実施例も必ずしも解釈することができない。従って、符号化システムの実施形態がここに示され記述された一方、それらの精神または本質的特質から外れずに、実施例に様々な変更を行なうことができることは認識されるだろう。したがって、開示と記述は、ここに実例となるように意図されるが、発明の範囲に制限していない。それは次の請求項で述べられる。