(57)【要約】本発明は、誤り訂正によって保護されたデジタルデータパケットを伝送する方法に関する。より詳細には、伝送に導入される遅延を制限しつつ誤り訂正方法の訂正有効性を上げるような、前記訂正パケットをデータパケットストリームに挿入する仕方に関する。パケットは行列状に配列され、誤りパケットは行および列に対して計算され、ストリーム中に規則的に挿入される。その際、該パケットが保護するデータパケットから十分な距離のところに挿入される。
2007535255.tif 000002
【特許請求の範囲】
【請求項１】
・行列状に並べられたこれらのデータパケットの行および列に対して訂正関数を適用することによって計算される誤り訂正パケットによりデータパケットを保護し、ここで、行および列が最初のパケットの指数、増分きざみおよび当該行・列をなすパケットの総数によって定義されるステップと、
・前記誤り訂正パケットをデータパケットストリームに挿入するステップとを有するデジタルデータパケットのストリームを伝送する方法であって、
少なくともある誤り訂正パケットがその計算に使われた最後のデータパケットの次ではない選ばれた位置においてストリームに挿入されることを特徴とする方法。
【請求項２】
連続する指数をもつデータパケットの行に対して計算される誤り訂正パケットが、データパケットストリームにおいて、それが保護する行の最後のデータパケットの次に挿入されることを特徴とする、請求項１記載の方法。
【請求項３】
データパケット行列の列に対して計算される誤り訂正パケットがすべて、データパケットストリームにおいて、少なくとも前記行列の最後のデータパケットより後に順番に挿入されることを特徴とする、請求項２記載の方法。
【請求項４】
データパケット行列の列に対して計算される訂正パケットが、データパケットストリームにおいて、それが保護する前記行列のデータパケットのうちに規則的に挿入されることを特徴とする、請求項２記載の方法。
【請求項５】
データパケット行列の列に対して計算される訂正パケットが、データパケットストリームにおいて、それが保護する行列に続く行列のデータパケットのうちに規則的に挿入されることを特徴とする、請求項２記載の方法。
【請求項６】
列誤り訂正パケットが計算される列をなす最初のデータパケットとなるデータパケットの基本指数が順番に続かず、前記列はいわゆる非長方形行列をなし、前記列訂正パケットがデータパケットストリームに挿入されるのは、最後のデータパケットと保護する列訂正パケットとの間に、当該行列の行について選ばれた長さ引く１に等しい数のパケットが少なくとも存在するように行われることを特徴とする、請求項２記載の方法。
【請求項７】
列誤り訂正パケットが計算される列をなす最初のデータパケットとなるデータパケットの基本指数が順番に続かず、前記列はいわゆる非長方形行列をなし、行訂正パケットを計算するために使われるデータパケット行の２つの連続するパケットを分離するオフセットが１ではなく、非線形な行をなし、前記きざみは列誤り訂正パケットが計算される列をなす最初のデータパケットとなるデータパケットの基本指数についてなされる選択に従って選ばれ、これらの非線形な行が前記列によって形成される非長方形行列の行に対応するようにされ、前記行および列の誤り訂正パケットがデータパケットストリームに挿入されるのが、最後のデータパケットと保護する行または列の訂正パケットとの間に、当該行列の行について選ばれた長さ引く１に等しい数のパケットが少なくとも存在するように行われることを特徴とする、請求項１記載の方法。
【請求項８】
デジタルデータパケットストリーム伝送手段と、行列状に並べられたデータパケットの行および列に対して誤り訂正関数を適用することによって誤り訂正パケットを計算する手段とを有する装置であって、前記誤り訂正パケットをデータストリームに挿入し、少なくともある誤り訂正パケットがその計算に使われた最後のデータパケットの次ではない選ばれた位置においてストリームに挿入されるようにすることを特徴とする装置。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、パケット形式でデジタルデータを送る状況における誤り訂正に、より詳細にはデータパケットストリームにおいて訂正パケットを送る仕方に関する。
【背景技術】
【０００２】
デジタルデータがデータパケットの形でネットワークを通じて送られるとき、パケットは伝送誤りの影響を受けることがある。パケット形式でのデジタルデータの転送を可能にするネットワークは、帯域幅、遅延または信頼性といった個別的な特性を有し、これはネットワークの種類によってさまざまである。ネットワークの種類に依存して、該ネットワークを通じたパケットデータの伝送の間に生じそうな種々の誤りへの感受性は顕著に異なる。生じそうな誤りの種類のうちには、誤りビットをもつパケットの伝送、パケットのランダムな損失、一連のパケットの系列の損失、あるパケットまたはパケットの系列の重複がある。
【０００３】
これらの誤りに対抗するため、従来は二種類の方法が存在していた。一方では、伝送されたパケットが誤っているかどうかを検出し、該パケットを無視するために使われる誤り検出方法がある。通例、損失パケットの再送を要求する伝送プロトコルが使われるときにこうした方法が使われる。ここで、CRC（Cyclic  Redundancy  Check［巡回冗長検査］）およびIP型ネットワーク上でのTCP（Transfer  Control  Protocol［転送制御プロトコル］）の例を挙げることができる。他方では、誤りの生じたパケットを検出するばかりでなく、それを再構築するために使われる方法がある。そうした方法はFEC（Forward  Error  Correction［前方誤り訂正］）という略語によって知られており、誤りのあったデータパケットを再送する要求ができないプロトコルに好適である。ここで、リアルタイムの遵守が誤りのあったパケットの再送と両立し得ないリアルタイム・マルチメディア・コンテンツ伝送の例を挙げることがでる。RTP（Real  Time  Protocol［リアルタイムプロトコル］）プロトコルは後者の場合に相当する。
【０００４】
FEC法の一般的な動作原理は、すべてのデータパケットに対するたとえばXORのような関数の適用である。この関数の結果は訂正パケットと呼ばれるパケットを与え、該訂正パケットがそれを生成するのに使われた諸データパケットに追加されて伝送される。あるパケットに誤りがあることがみつかると、正しく伝送された諸パケットに関連付けられた訂正パケットを使って誤りのあったパケットが再構築される。しかし、この方法は訂正できない誤りがあるという意味で限界がある。
【０００５】
具体的には、XOR関数によって訂正パケットを生成するために使われたパケットの組に誤りパケットが２つあるとすると、訂正パケットは２つの誤りパケットを再構築するために十分ではない。したがって、訂正パケットを生成するために使われるパケットを選択する際に使われる戦略は、訂正方法の有効性に対して決定的である。特に、この戦略は、使用される種類のネットワークで最も頻繁に起こる誤りの種類に依存する。たとえば、N個の連続するパケットに対する訂正関数の計算は、あまり多すぎないランダム誤りを訂正するためには使われるが、一連の損失パケットの前には無力である。一連の損失パケットの対策としては、たとえばプロMPEGフォーラム（Pro-MPEG  forum）の『実施規則（Code  of  Practice）』という文書にあるように、L個のパケットごとに周期的に取られたD個のパケットの集合に対して訂正関数を計算することが既知の慣行である。該関数はパケットi,  i+L,  i+2L,  ...,  i+(D−1)Lに適用される。このようにして、L個までの連続パケットの一連の誤りのあるパケットがこの方法によって訂正しうる。
【０００６】
この方法への改良は、データパケットがD行L列の行列に配置されているとして、訂正関数をその行列の行に対して、および列に対して適用することからなる。この既知の方法の図解が図１に与えられている。この場合、訂正関数はパケットi,  i+L,  i+2L,  ...,  i+(D−1)Lだけではなく、パケットi,  i+1,  i+2,  ...,  i+L−1にも適用される。このようにして、各データパケットは２つの訂正パケットを計算するために使われ、ランダム誤りがあるときの訂正率は著しく向上する一方、一連の誤りパケットの良好な訂正も維持する。
【０００７】
この方法の拡張は、L′をL×Dの約数または0として第２の行長L′の定義を許容し、訂正関数をLではなく長さL′の行に適用して行訂正パケットを得ることからなる。長さL′が0の場合は、行訂正は行われず、列訂正だけが行われることを意味する。このようにして、L×D個のデータパケットについて、D′＝L×D/L′個の行訂正パケットが生成される。
【０００８】
既知の仕方では、誤り訂正パケットはレジスタ中に計算に寄与する各パケットの寄与を蓄積することによって計算される。そうして計算に使われる最後のパケットが送られた直後に誤りパケットストリームでの伝送が実行される。
【発明の開示】
【発明が解決しようとする課題】
【０００９】
計算後すぐのストリームでのこれらの訂正パケットの伝送は、当該方法の訂正能力に負の影響をもつ。具体的には、ストリームでのデータ訂正パケットの伝送は以下の影響をもつ。
・データに割り当てられている帯域幅を使い切ってしまう。
・データパケットの伝送の規則性に影響する。特に次にいくつかの訂正パケットを送るときがそうである。
・送信元における訂正パケットの計算はデータの一時記憶を必要とし、送信元における遅延をもたらすことがある。
・宛先における損失パケットの計算は、データの一時記憶を必要とし、宛先における遅延をもたらすことがある。
・これは、データパケットおよびそれを保護する訂正パケットを含む連続するパケットの系列の損失があるときに特に当該方法の訂正能力に影響しうる
本発明は、ストリーム中の訂正パケットの並べ方（sequencing）の賢明な選択を使うことで当該方法の訂正能力を向上させつつ、この並べ方によるデータ転送の遅延に対する影響を限定する。
【課題を解決するための手段】
【００１０】
本発明はデジタルデータパケットのストリームを伝送する方法であって、行列状に並べられたこれらのデータパケットの行および列に対して訂正関数を適用することによって計算される誤り訂正パケットによりデータパケットを保護するステップを有しており、行および列が最初のパケットの指数、増分きざみおよび当該行・列をなすパケットの総数によって定義されるところの方法に関する。本方法はまた、前記誤り訂正パケットをデータパケットストリームに挿入するステップをも有する。本方法は、少なくともある誤り訂正パケットがその計算に使われた最後のデータパケットの次ではない選ばれた位置においてストリームに挿入されることを特徴とする。
【００１１】
本発明のある特定の実施形態によれば、連続する指数をもつデータパケットの行に対して計算される誤り訂正パケットは、データパケットストリームにおいて、それが保護する行の最後のデータパケットの次に挿入される。
【００１２】
本発明のある特定の実施形態によれば、データパケット行列の列に対して計算される誤り訂正パケットはすべて、データパケットストリームにおいて、少なくとも前記行列の最後のデータパケットより後に順番に挿入される。
【００１３】
本発明のある特定の実施形態によれば、データパケット行列の列に対して計算される訂正パケットは、データパケットストリームにおいて、それが保護する前記行列のデータパケットのうちに規則的に挿入される。
【００１４】
本発明のある特定の実施形態によれば、データパケット行列の列に対して計算される訂正パケットは、データパケットストリームにおいて、それが保護する行列に続く行列のデータパケットのうちに規則的に挿入される。
【００１５】
本発明のある特定の実施形態によれば、列誤り訂正パケットが計算される列をなす最初のデータパケットとなるデータパケットの基本指数は順番に続かない。前記列はいわゆる非長方形行列をなし、前記列訂正パケットがデータパケットストリームに挿入されるのは、最後のデータパケットと保護する列訂正パケットとの間に、当該行列の行について選ばれた長さ引く１に等しい数のパケットが少なくとも存在するように行われる。
【００１６】
本発明のある特定の実施形態によれば、列誤り訂正パケットが計算される列をなす最初のデータパケットとなるデータパケットの基本指数は順番に続かない。前記列はいわゆる非長方形行列をなし、行訂正パケットを計算するために使われるデータパケット行の２つの連続するパケットを分離するオフセットが１ではなく、非線形な行をなし、前記きざみは列誤り訂正パケットが計算される列をなす最初のデータパケットとなるデータパケットの基本指数についてなされる選択に従って選ばれ、これらの非線形な行が前記列によって形成される非長方形行列の行に対応するようにされ、前記行および列の誤り訂正パケットがデータパケットストリームに挿入されるのが、最後のデータパケットと保護する行または列の訂正パケットとの間に、当該行列の行について選ばれた長さ引く１に等しい数のパケットが少なくとも存在するように行われる。
【００１７】
本発明は、デジタルデータパケットストリーム伝送手段と、行列状に並べられたデータパケットの行および列に対して誤り訂正関数を適用することによって誤り訂正パケットを計算する手段とを有する装置にも関しており、当該装置が、前記誤り訂正パケットをデータストリームに挿入し、少なくともある誤り訂正パケットが計算に使われた最後のデータパケットの次ではない選ばれた位置においてストリームに挿入されるようにすることを特徴とする。
【００１８】
付属の図面を参照する以下の記述を読むことで、本発明はよりよく理解され、他の具体的な特徴および効果が明らかとなるであろう。
【発明を実施するための最良の形態】
【００１９】
本発明の実施例は、IP型ネットワーク上でデジタルデータのリアルタイム転送の状況に置かれるものである。データは、この例示的な実施形態では、RTP（Real  Time  Protocol）プロトコルを介してストリームの形で伝送される。RFC2733は、RTPプロトコルによって伝送されるデータパケットを訂正する標準的な仕方を記述する。この方法は、プロMPEGフォーラムの『実施規則』において記載されている拡張の主題であった。
【００２０】
この実施例では、データパケットはL個のパケットからなる行として配置されるのではない。そこで考えるのは、図１に見られるようなD行L列の行列である。LおよびDは要求される有効性に従って選ばれる。これらのパラメータが訂正方法の有効性にどう影響するかはのちに述べる。次いで訂正関数は行列の各列に適用される。次いで第二の行長L′が定義されるが、これは前記行列の行長Lとは異なっている可能性がある。L′に対する唯一の要求はL×Dの約数または0であるということである。同じ訂正関数は行列の連続するL′個のパケットからなる各並びについても適用される。
【００２１】
行列の概念を一般化しておくことも有益である。行列は最初は、左から右へ、上から下へと連続的に配置されるデータパケットを含むD行L列の長方形の表として見られる。この目的のため、非長方形と呼ばれる行列の概念の定義を与えることにする。非長方形行列においては、行および列は基本指数、パケット数および増分きざみによって定義される。したがって、そのような非長方形行列の行または列は、iを基本指数、pを増分きざみ、nをパケット数として指数i,  i+p,  i+2p,  i+(n−1)pのデータパケットからなるものとして定義される。したがって、このパケット数は、行列の行のサイズとは異なる可能性のある、訂正行のサイズL′に、あるいは非長方形行列の列Dのサイズに対応し、長方形の行列という概念を一般化する。
【００２２】
この訂正関数は実装が最も簡単なXORであってもよいが、リードソロモン符号またはハミング符号といった他の関数も可能である。これらの関数はより強力だが、計算負荷も高い。どの訂正関数が選ばれるかに関わりなく、この関数をパケットの組、今の例では行列のある行または列に適用する結果は、訂正パケットと呼ばれるパケットである。この方法の結果はしたがって、各列に訂正関数を適用することに対応するL個の列訂正パケットおよび各行に訂正関数を適用することに対応するD′個の行訂正パケットである。訂正関数を訂正パケットそのものに適用することによって計算された訂正パケットを追加することも可能であり、これは訂正パケットの損失を訂正するために使われる第二レベルの保護を加えることになる。
【００２３】
これらのパケットはデータストリームの宛先に伝送されなければならない。この伝送はいくつかの方法で実行されうる。これらの訂正パケットをデータパケットと同じストリーム中で伝送することも可能であるが、その場合は保護対象のストリームと同じ伝送問題にさらされる。別個のストリームで伝送されてもよく、それなら誤りへの耐性が高まる。
【００２４】
プロMPEGフォーラムによって記述されている方法は、行列の列に基づいて計算される訂正パケットを計算し、送ることからなる。ここに記載される方法は、これら同じパケットを送るので、プロMPEGと互換性を保つ。特に、本規格に従う受信装置は行列の行に基づいて計算された訂正パケットを無視し、したがって本発明に基づく送信機と、およびプロMPEG法に基づく送信機と同じようにして動作しうる。
【００２５】
RFC2733に記載されるようなパケット構造が図５に表されている。これはRFC1889に説明があるRTPパケットヘッダからなる。このヘッダにFECヘッダが、さらには訂正パケットそのものが続く。RFC2733に基づくFECヘッダの構造は図６に表される。このヘッダは、「基底SN（base  SN）」フィールドを含んでいるが、これは訂正パケットを構築するために使われるデータパケットの組の最低の通し番号（sequence  number）を含むものである。「長さ回復（length  recovery）」フィールドは、任意のデータパケットの長さを決定するために使われる。これは、各データパケットの長さから形成される組に訂正関数を適用することによって構築される。「E」フィールドはヘッダ拡張（extension）を示すのに使われる。「PT回復（PT  recovery）」フィールドは訂正関数をデータパケット（packet）の「型（type）」フィールドに適用することによって得られる。「マスク（Mask）」フィールドは２４ビットのフィールドで、訂正パケットを構築するためにどのデータパケットが使われるかを決定するために使われる。ビットiが1であれば、それはパケットN＋iが訂正パケットを構築するために使われたということを意味する。このNは「基底SN」フィールドに保存されている基底である。「TS回復（TS  recovery）」フィールドは、訂正関数をデータパケットのタイムスタンプ（timestamps）に適用することによって計算されるもので、これらのタイムスタンプを再構築するために使われる。
【００２６】
この機構を通じては、訂正パケットを計算できるデータパケットの組の最大データパケットは２４個のみであることが見て取れる。この制限を超えるため、このヘッダの拡張がプロMPEGフォーラムの『実施規則』文書で定義されている。この拡張は図７に表されている。これは先ほどと同じヘッダを含んでおり、前記の拡張フィールドは１とマークされている。「拡張フィールド」フィールドの用途を決める、２ビット上の新しい拡張フィールド「E」が加わっている。「型」フィールドはどの訂正関数が使われるかを示す。0ならXOR、1ならハミング符号、2ならリード／ソロモン符号である。「指数（index）」フィールドは、訂正関数の結果が最大パケットサイズを超える場合にFECパケットを整列させるために使われる。このようなことは複雑な訂正関数について起こり得る。「きざみ（offset）」フィールドはデータパケットを選択するために選ばれる周期を決定し、行列のLパラメータに対応する。「NA（Number  of  Associated［関連数］）」フィールドは、訂正パケットの生成のために関連するデータパケットの数を決定し、この数は行列のDパラメータに対応する。「拡張フィールド（extension  field）」フィールドは将来の使用のためにリザーブされている。「マスク（mask）」フィールドは不要となり、0の埋め草オクテットによって初期化される。
【００２７】
RFC2733に対する修正は、２ビットの「E」フィールドを１ビットの新しい「E」フィールドと１ビットの「D」フィールドとに分離することにある。「D」フィールドは問題の訂正パケットが列に対して計算されるかどうかを決定するものである。そうである場合に「D」フィールドは０にセットされる。訂正パケットが行に対して計算される場合には、このDフィールドは１にセットされる。この機構を用いれば、列に対して計算された訂正パケットはプロMPEGフォーラムの方法に従って計算された同じパケットと完全に同一であることが見て取れる。その一方、行に対して計算される追加的なパケットは、１であるDフィールドの存在によって識別できる。これは、パケットがプロMPEG法に従って解釈されるならば２ビットの「E」拡張フィールドを１にセットする、つまりこのパケットがフォーラムによって定義されたフォーマットの拡張を使っていることを示すことに相当する。
【００２８】
パケットが受信されるとき、受信器は受信したパケットをバッファ中に復元する。このバッファのサイズは少なくともL×D個のデータパケットに加えて対応するL個プラスD′個の訂正パケットの保存を許容しなければならない。データパケットと訂正パケットとの区別は、このプロトコルを記述するRFC1889に記載されているRTPヘッダの「型」フィールドによってなされる。データパケットどうしはその通し番号のおかげで、訂正パケットどうしはヘッダの「基底SN」フィールドのおかげで区別できることになる。すると、欠けているパケットの知識は、訂正関数および訂正パケットを使うことによってその再構築を試みることを可能にする。たとえば、使われている訂正関数がXORの場合、この訂正パケットを援用して、訂正パケットを生成するために使われたデータパケットの組においてデータパケットの損失を訂正することが可能である。したがって、これで、損失パケットを一つだけ含む行および列は、対応する訂正パケットにより再構築するために受信パケットの行列中で同定されることになる。訂正はたとえば以下の方法によって実行されうる。
・行（line）iにおいて欠けているデータパケット数のベクトルNLiの計算
・列（column）iにおいて欠けているデータパケット数のベクトルNCiの計算
・行列中に欠けているパケットがまだ残っていれば、以下を実行：
・NLp＝1となる最小指数pをみつける；
・そのようなpが存在すれば：
・欠けているパケットに対応する列の指数qをみつける
・その行の他のパケットに対して、およびその行に対応する訂正パケットに対してXOR関数を適用することによって欠けている指数pおよびqのパケットを再構築
・NLp＝0;  NCq＝NCq−1;
・そのような指数pがない場合、NCq＝1となるような最小指数qをみつける
・そのようなqが存在すれば：
・欠けているパケットに対応する列の指数pをみつける
・その行の他のパケットに対して、およびその列に対応する訂正パケットに対してXOR関数を適用することによって欠けている指数pおよびqのパケットを再構築
・NLp＝NLp−1;  NCq＝0;
・そうでなければ再構築方法は失敗したことになる
成功すれば、すべての損失パケットが再構築される。
【００２９】
本方法のパラメータL、L′およびDは、以下の情報を考慮して選ぶ必要がある。まず、データパケットに追加して送る必要のある訂正パケットによって生成される余剰は1/L′＋1/Dであるから、L′およびDを大きく選ぶことは本方法を使うために必要な帯域幅の占有を最小化することが見て取れる。さらに、本方法はL＋1個までの連続パケットの損失パケットの系列を訂正するために使うことができる。よって、Lが大きいほど、この型の誤りを訂正することにおいて本方法はより効率的となる。本方法は、損失パケット３個までのパケットのランダムな損失すべてを訂正することができ、損失パケットD＋L−1個までのパケットのランダムな損失のあるものを訂正することができる。問題の対称性より、パケットのランダムな損失に対して有効性が最大になるのはLとDが同じ値のときである。さて、本方法は、送信側であろうと受信側であろうと、装置中に、L×Dパケットの最小サイズをもつバッファを必要とする。したがって、本方法の効率を最大にするためにはL′とDの値を大きくなるように選ぶことは有用であるものの、これは装置の送信および受信バッファのサイズによって制限されることが見て取れる。もう一つの制限が、訂正関数を計算する時間から生じる。この時間はパケット数が多く、複雑な関数を選択するほど長くなりうる。
【００３０】
本方法の有効性をプロMPEGフォーラムによって記載されている方法と比較するために、統計的計算が使用される。期待どおり、その有効性ははるかに高いものであることが注目される。たとえば、XOR訂正関数およびL、L′、Dが値６をもつ行列を使用することにより、本方法は６個のデータパケットのランダムな損失の94.1パーセントを訂正する。これに対し、RFCの方法が訂正するのは2.4パーセントのみである。したがって、本方法は、ストリーム中のデータパケットのランダムな損失の補正のためにずっと有効であることが明らかである。本方法はD＋1個までの連続パケットの損失すべてを訂正することができるのに対し、プロMPEG法が訂正できるのはD個までだけである。したがって、連続するデータパケットの損失に対する性能はわずかに改良され、一方でランダム誤りに対する性能は大幅に向上することが見て取れる。
【実施例１】
【００３１】
データパケットストリーム内における誤り訂正パケットの並べ方のいくつかの選択およびそうした選択の誤り訂正方法に対する影響についてこれから説明する。
【００３２】
図２に示したようなD＝5行、L′＝L＝4列の長方形行列におけるデータパケットの配置を基準に取る。さらに、単純化のため、訂正行の長さL′は行列の行の長さLに等しいように選ぶことにする。ただし、本発明はL×Dを割り切るか0であるいかなるL′の値についても拡張される。パケットFEC′iは行iのデータパケットから計算される。一方、パケットFECiはそれに対応する列のパケットから計算される。たとえば、パケットFEC2はパケット2,6,10,14,18から計算される。従来式の並べ方は、訂正パケットをその計算に使われた最後のデータパケットの直後に挿入することからなっていた。今の例では、この従来式の並べ方は、次の順番でのパケットの送出につながる：0,  1,  2,  3,  FEC′0,  4,  5,  6,  7,  FEC′1,  ...,  FEC′3,  16,  FEC0,  17,  FEC1,  18,  FEC2,  19,  FEC3,  FEC′4。
【００３３】
連続するパケットの系列（データパケットおよび訂正パケットを含むことができる）の損失は、各損失データパケットについてそれを保護する列訂正パケットがあることを条件として訂正できる。よって、L個までのデータパケットまたは当該系列のデータパケットの一つを保護する列訂正パケットを含む連続損失パケットのいかなる系列も訂正できることは確実である。したがって、L個までのデータパケットを含むパケットの任意の系列の訂正を保証することが可能となるのであるが、その条件は、列訂正パケットすべてがストリーム中に、それが訂正する最後のデータパケットと挿入点との間に少なくともL−1個のパケットがあるように挿入されるということである。場合によっては2L個までのパケットを含む連続パケットの系列の損失を訂正することも可能であるが、これは保証されていないことを注意しておく。
【００３４】
この並べ方は、連続パケットの系列の損失の訂正についての問題を呈する。具体的には、L個の連続パケットの系列の損失は通例列FECパケットのおかげで訂正できるものの、これがデータパケットおよび列FECパケットが交互化される最終行について起こる場合、同じ誤りは訂正可能でない。
【００３５】
この問題を是正するために使われる第一の方法は、すべての列FECパケットを最後の行訂正パケット、今の例ではFEC′4の送信後に直列に送ることからなる。すると今の例での伝送シーケンスは次のようになる：0,  1,  2,  3,  FEC′0,  4,  5,  6,  7,  FEC′1,  ...,  FEC′3,  16,  17,  18,  19,  FEC′4,  FEC0,  FEC1,  FEC2,  FEC3。
【００３６】
したがって、この場合、L＋1個のパケット（データパケットL個および行訂正パケット1個）までのパケット（データおよびFEC）の系列の損失を訂正することが常に可能であることは明らかである。
【００３７】
他方、この手順は、送られるのが、少なくともD個の誤り訂正パケット、最後の行パケット（もしあれば）、次いでD個の列パケットの連続系列であるという問題を呈する。行列の大きさに依存して、これによると、何のデータパケットも送られないかなり長い時間が生じる。データ伝送の規則性が失われるのである。
【実施例２】
【００３８】
この問題に対処するため、第二の方法は、行列のすべてのパケットをバッファに保存し、行だろうと列だろうとあらゆる訂正パケットを計算することからなる。列訂正パケットの伝送は、データパケットの伝送中に規則的に、たとえばNパケット毎などに分散されうる。行訂正パケットは、以前同様、それを計算するために使われた行をなすデータパケットの送信後に送られる。この並べ方は図３によって示されている。ここで、パケットの伝送順序は左から右へ、上から下へと読み取られる。複数のパケットが同一のマスに示されている場合、それらは表示されている順序で送られる。増分Nを選ぶ巧妙な方法は、行数Dが列数L以下である場合ならN＝L/2、そうでなければN＝Dであるが、当業者には、行列中での列訂正パケットの他のいかなる規則的な分散も同じ属性を有することが分かるであろう。
【００３９】
このようにして、データパケットストリームは規則的となる。ただし、パケットを保存する必要があるため、パケット伝送に遅延が導入される。さらに、列訂正パケットは常にそれを計算するのに使われたパケットの一つからL−1パケット未満の距離において送られるので、この第二の方法は、第一の方法のようなL個のパケットの連続的な系列の損失への耐性という恩恵を受けられない。
【実施例３】
【００４０】
第三の方法は、図４によって示されるように、データパケットの次の行列に列訂正パケットを分散させることからなる。一つの手順は、次の行列の最初のデータパケット後に最初の列訂正パケットを挿入することからなる。これは、前のパケットからL−1より大きな距離があることを保証する。したがって、これはL個のパケットを含む連続パケットの系列の損失への耐性を保持する。訂正パケットは規則的にデータパケットストリーム中に分散される。加えて、発信元においてデータパケットの伝送を遅らせることはもはや必要ではない。逆に、行列のデータパケットは最後の列パケットが受信されるまで、損失パケットの再構築のために宛先において保存されなければならない。したがって、この方法は宛先での遅延を含む。ここでもまた、列訂正パケットの次の行列での他のいかなる規則的な分散も同じ属性を有することは当業者には明らかであろう。
【実施例４】
【００４１】
第四の方法は非長方形行列を使う可能性を活用する。具体的には、この誤り訂正方式の定義は、これらのパケットのヘッダ中に含まれる３つのパラメータによって定義される誤りパケットの計算に基づいている。ヘッダは図７に示されている。したがって、訂正パケットは次の３つのパラメータによって定義される。それを計算するのに使われた最初のデータパケットの指数に対応するSNフィールド。「きざみ」フィールドはデータパケットを選択するために選ばれる周期を決定し、行列のLパラメータに対応する。「NA」（Number  of  Associated［関連数］）」フィールドは、訂正パケットの生成のために関連するデータパケットの数を決定し、この数は行列のパラメータDに対応する。
【００４２】
したがって、通例使われる長方形行列を得ることは、行訂正パケットについて、きざみ1、数L′を使うことに、そして基本指数を、当該行列の最初のデータパケットの指数から始めてL′ずつインクリメントしていくことに対応する。列訂正パケットは、きざみL、数Dによって、そして基本指数を当該行列の最初のデータパケットの指数をベースとして1ずつインクリメントしていくことによって得られる。
【００４３】
列訂正パケットの基本指数を変える際に基本指数の1という増分を変えることによって、非長方形状と呼ばれる行列を定義できる。例としてそのような行列が図８に示されている。行訂正パケットは相変わらず連続する指数をもつL′個のデータパケットからなる行に対して同じ仕方で計算されていることが見て取れる。したがって、行によっては相続く２つの非長方形行列に属するパケットを含む。他方、列訂正パケットはD個のパケットからなる列に対して計算されるが、２つの相続く列の基本指数は1きざみの順番になっておらず、列i＋1の基本指数から列iの基本指数を引いたものはLとは異なる。ここで挙げている例では、パケットFEC0はデータパケット3,7,11,15,19に対して計算され、パケットFEC1はデータパケット6,10,14,18,22に対して計算され、パケットFEC2はデータパケット9,13,17,21,25に対して計算され、パケットFEC3はデータパケット12,16,20,24,28に対して計算される。
【００４４】
これらの列の基本指数を選ぶ際の、必須ではないが賢明な方法は、２つの相続く列の基本指数を、LがDより大きければ距離Dだけ離し、その他の場合にはL−1だけ離すことからなる。
【００４５】
行訂正パケットは相変わらず、それらが保護するデータパケットの行の端に同じ仕方で挿入されている。列訂正パケットはそれを計算するのに使われた列の最後のデータパケットから少なくともL−1に等しい距離のところに挿入される。図８に例が与えられている。
【００４６】
この方法の利点は、データパケットのストリーム中で訂正パケットが規則的に分散される規則的なストリームを維持するということである。訂正方法の有効性は、連続パケットの系列の損失の場合には保持される。列訂正パケットが、それらが保護するパケットから少なくともL−1パケット離れているからである。発信元でデータパケットを保存して、その伝送を遅らせる必要もない。したがって、発信元での遅延は生じない。
【００４７】
この方法の不都合な点は、損失パケットの再構築を可能にするために、宛先では、非長方形行列のパケットを一つでも含む行をすべて保存する必要があり、そのため保存するものが非長方形行列そのものより若干多くなるということである。
【実施例５】
【００４８】
第五の方法は、行方式の変更によって第四の方法を修正したものである。行列の非線形な行が定義される。そこではきざみがもはや1ではなく、列について選ばれた構成に依存する。列の基本指数どうしの間の距離がL−1であれば、きざみはL−1が選ばれる。図９に示される例では、本方法はもはや、行訂正パケットを計算するのに使われる行のように、連続指数をもつパケットの行からなるのではなく、斜めの線からなる。図９の例では、パケットFEC′0はパケット3,6,9,12を使って計算され、パケットFEC′1はパケット7,10,13,16を使って計算され、パケットFEC′2はパケット11,14,17,20を使って計算され、パケットFEC′3はパケット15,18,21,24を使って計算され、パケットFEC′4はパケット19,22,25,28を使って計算される。列パケットは第四の方法に従って計算される。並べ方の例は図９に示されている。
【００４９】
並べ方に関しては、このたびは行パケットは、列パケットのように、それが保護する最後のデータパケットから少なくともL−1パケットの距離のところに挿入される。図９に例が挙げられている。
【００５０】
この方法の一つの利点は、L個の連続パケットの系列が２つ失われたとしても、さらに場合によっては2L個の連続パケットの系列が失われたとしても損失パケットの再構築を許容するということである。この方法のもう一つの利点は、訂正パケットがデータパケットのストリーム中に規則的に分散されるような規則的なストリームを維持するということである。連続パケットの系列の損失についてだろうと孤立パケットの損失についてだろうと、再構築法の有効性は保持される。訂正パケットは現在の行列のパケットに対してのみ計算される。遅延に関しては、この方法は発信側におけるデータパケットのバッファ中での保存を必要とせず、よって発信側での遅延を導入しない。
【実施例６】
【００５１】
図１０は、送信または受信装置の内部構造を表している。当該装置は、当該装置がプログラムおよびデータを保存できるようにする読み出し専用メモリ（ROM４）と、当該装置が前記プログラムをプロセッサ２による実行の目的でロードできるようにするランダムアクセスメモリ（RAM３）とを有している。この装置は、デジタルデータパケットストリームを送受信できるようにするネットワークインターフェース５を介してIP型ネットワークに接続されている。これらの構成要素は内部バス６によって通信する。
【図面の簡単な説明】
【００５２】
【図１】本発明の例示的な実施形態における、行および列訂正パケットの計算の図解である。
【図２】第一の並べ方の方法に基づく例示的な並べ方を表す図である。
【図３】第二の並べ方の方法に基づく例示的な並べ方を表す図である。
【図４】第三の並べ方の方法に基づく例示的な並べ方を表す図である。
【図５】RTPプロトコルに基づく、パケット中に訂正パケットが置かれた構造を表す図である。
【図６】RFC2733に基づく、訂正パケットのヘッダを表す図である。
【図７】記載されている発明の例示的な実施形態に基づく訂正パケットのヘッダを表す図である。
【図８】第四の並べ方の方法に基づく例示的な並べ方を表す図である。
【図９】第五の並べ方の方法に基づく例示的な並べ方を表す図である。
【図１０】本発明の例示的な実施形態に基づく送信または受信装置のハードウェア構造を表す図である。
【図１】
2007535255.tif 000003
【図２】
2007535255.tif 000004
【図３】
2007535255.tif 000005
【図４】
2007535255.tif 000006
【図５】
2007535255.tif 000007
【図６】
2007535255.tif 000008
【図７】
2007535255.tif 000009
【図８】
2007535255.tif 000010
【図９】
2007535255.tif 000011
【図１０】
2007535255.tif 000012
【手続補正書】
【提出日】平成18年11月7日(2006.11.7)
【手続補正１】
【補正対象書類名】特許請求の範囲
【補正対象項目名】全文
【補正方法】変更
【補正の内容】
【特許請求の範囲】
【請求項１】
・行列状に並べられたこれらのデータパケットの行および列に対して訂正関数を適用することによって計算される誤り訂正パケットによりデータパケットを保護し、ここで、行および列が最初のパケットの指数、増分きざみおよび当該行・列をなすパケットの総数によって定義されるステップと、
・前記誤り訂正パケットをデータパケットストリームに挿入するステップとを有するデジタルデータパケットのストリームを伝送する方法であって、
少なくともある誤り訂正パケットがその計算に使われた最後のデータパケットの次ではない選ばれた位置においてストリームに挿入されることを特徴とする方法。
【請求項２】
連続する指数をもつデータパケットの行に対して計算される誤り訂正パケットが、データパケットストリームにおいて、それが保護する行の最後のデータパケットの次に挿入されることを特徴とする、請求項１記載の方法。
【請求項３】
データパケット行列の列に対して計算される誤り訂正パケットがすべて、データパケットストリームにおいて、少なくとも前記行列の最後のデータパケットより後に順番に挿入されることを特徴とする、請求項２記載の方法。
【請求項４】
データパケット行列の列に対して計算される訂正パケットが、データパケットストリームにおいて、それが保護する前記行列のデータパケットのうちに規則的に挿入されることを特徴とする、請求項２記載の方法。
【請求項５】
データパケット行列の列に対して計算される訂正パケットが、データパケットストリームにおいて、それが保護する行列に続く行列のデータパケットのうちに規則的に挿入されることを特徴とする、請求項２記載の方法。
【請求項６】
列誤り訂正パケットが計算される列をなす最初のデータパケットとなるデータパケットの基本指数が順番に続かず、前記列はいわゆる非長方形行列をなし、前記列訂正パケットがデータパケットストリームに挿入されるのは、最後のデータパケットと保護する列訂正パケットとの間に、当該行列の行について選ばれた長さ引く１に等しい数のパケットが少なくとも存在するように行われることを特徴とする、請求項２記載の方法。
【請求項７】
列誤り訂正パケットが計算される列をなす最初のデータパケットとなるデータパケットの基本指数が順番に続かず、前記列はいわゆる非長方形行列をなし、行訂正パケットを計算するために使われるデータパケット行の２つの連続するパケットを分離するオフセットが１ではなく、非線形な行をなし、前記きざみは列誤り訂正パケットが計算される列をなす最初のデータパケットとなるデータパケットの基本指数についてなされる選択に従って選ばれ、これらの非線形な行が前記列によって形成される非長方形行列の行に対応するようにされ、前記行および列の誤り訂正パケットがデータパケットストリームに挿入されるのが、最後のデータパケットと保護する行または列の訂正パケットとの間に、当該行列の行について選ばれた長さ引く１に等しい数のパケットが少なくとも存在するように行われることを特徴とする、請求項１記載の方法。
【請求項８】
デジタルデータパケットストリーム伝送手段と、行列状に並べられたデータパケットの行および列に対して誤り訂正関数を適用することによって誤り訂正パケットを計算する手段とを有する装置であって、前記誤り訂正パケットをデータストリームに挿入し、少なくともある誤り訂正パケットがその計算に使われた最後のデータパケットの次ではない選ばれた位置においてストリームに挿入されるようにすることを特徴とする装置。
【請求項９】
行列状に配置されたデータパケットの行および列に対して誤り訂正関数の適用によって計算される誤り訂正パケットを含むデジタルデータパケットストリームを受信するよう適応された受信器であって、誤り訂正パケットのデータストリームへの挿入が、少なくともある誤り訂正パケットがその計算に使われた最後のデータパケットの次ではない選ばれた位置においてストリームに挿入されるように行われていることを特徴とする方法。
【国際調査報告】
2007535255.tif 000013
2007535255.tif 000014
2007535255.tif 000015