(57)【要約】【課題】インターリーブドリードソロモンのような大きな単位でエラー訂正符号を生成する誤り訂正符号を用いた場合、大きなバッファメモリが必要で、かつ、ネットワーク上にパケットが固まって送出されパケットロスの発生確率が高いという課題があった。【解決手段】入力データのＮバイト単位にＫバイトのパリティデータを生成するパリティ生成手段と、前記入力データまたは前記パリティデータの一方を選択し出力する選択手段と、前記選択手段の出力をＭバイト単位に分割する分割手段と、前記分割されたデータに対してヘッダを付加してＲＴＰパケットを出力するＲＴＰパケット生成手段とを備え、前記Ｎと前記Ｋは前記Ｍの整数倍で、前記選択手段は、前記ＲＴＰパケット生成手段に前記入力データをＮバイト送信した後にＫバイトの前記パリティデータを送信し、所定間隔でネットワークへ前記ＲＴＰパケットを出力する通信手段とを備える。【選択図】図１
2007335926.tif 000002
【特許請求の範囲】
【請求項１】
入力データに対してＮバイト単位にＫバイトのパリティデータを生成するパリティ生成手段と、
前記入力データまたは前記パリティ生成手段で生成された前記パリティデータのいずれか一方を選択し出力する選択手段と、
前記入力データまたは前記パリティデータをＭバイト単位に分割する分割手段と、
前記分割手段により分割された前記入力データまたは前記パリティデータに対してヘッダを付加してＲＴＰパケットを出力するＲＴＰパケット生成手段とを備え、
前記Ｎと前記Ｋはそれぞれ前記Ｍの整数倍であり、
前記選択手段は、前記ＲＴＰパケット生成手段に対して、前記入力データをＮバイト送信した後にＫバイトの前記パリティデータを送信すると共に、
前記ＲＴＰパケット生成手段により生成されたＲＴＰパケットを格納する蓄積手段と、
所定の間隔でネットワークへ出力するタイミングを生成するタイマー手段と、
前記タイマー生成手段で生成されたタイミングに応じてネットワークへ前記ＲＴＰパケットを出力する通信手段とを備えたことを特徴とする送信装置。
【請求項２】
前記パリティ生成手段には、Ｋバイトのメモリを有することを特徴とする請求項１記載の送信装置。
【請求項３】
前記パリティ生成手段は、インターリーブドリードソロモンによるパリティを生成することを特徴とする請求項１記載の送信装置。
【請求項４】
前記パリティ生成手段は、複数のレジスタからなるＲＳエンコーダと、パリティメモリとを備え、
前記パリティメモリの内容を前記複数のレジスタへセットし、
前記入力データから１シンボルのデータを入力して前記ＲＳエンコーダでパリティ演算を行い、
前記パリティ演算後の前記レジスタの内容を前記パリティメモリの読み出した同一のメモリアドレスに格納し、
次の入力データ処理を行うためのメモリアドレスを指定することを特徴とする請求項１記載の送信装置。
【請求項５】
前記入力データのスループットをＸ（バイト／秒）とすると、前記タイマー手段の設定値を（Ｍ／Ｘ×Ｎ／（Ｎ＋Ｋ））で求める時間以下になるように設定することを特徴とした請求項１記載の送信装置。
【請求項６】
前記蓄積手段は、前記パリティ生成手段内のパリティメモリの容量と同等の容量を有することを特徴とする請求項１記載の送信装置。
【請求項７】
前記入力データがリアルタイム映像の場合には、ＦＩＦＯメモリを介してデータ入力されることを特徴とする請求項１記載の送信装置。
【請求項８】
入力データに対してＮバイト単位にＫバイトのパリティデータを生成し、
前記入力データまたは前記パリティデータのいずれか一方を選択出力し、
前記入力データまたは前記パリティデータをＭバイト単位に分割しヘッダを付加してＲＴＰパケットを出力するＦＥＣ用パリティ生成方法において、
前記Ｎと前記Ｋはそれぞれ前記Ｍの整数倍であり、
前記選択出力は、前記入力データをＮバイト送信した後に、前記Ｋバイトの前記パリティデータを送信するものであり、
所定の間隔でネットワークへ出力するタイミングを生成し、
前記タイミングに応じてネットワークへ前記ＲＴＰパケットを出力することを特徴とするＦＥＣ用パリティ生成方法。
【請求項９】
前記パリティデータの生成は、インターリーブドリードソロモンであることを特徴とする請求項８記載のＦＥＣ用パリティ生成方法。
【請求項１０】
前記入力データのスループットをＸ（バイト／秒）とすると、前記タイミングは（Ｍ／Ｘ×Ｎ／（Ｎ＋Ｋ））で求める時間以下とすることを特徴とした請求項８記載のＦＥＣ用パリティ生成方法。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、ＩＰ伝送に適した誤り訂正用パリティデータを送信するためのパリティ生成方法および送信装置に関する。
【背景技術】
【０００２】
昨今、イーサネット（登録商標）など色々な通信媒体を介して、映像・音声データをインターネットプロトコル（ＩＰ）で伝送するサービスが普及している。特に、ビデオオンデマンド（ＶＯＤ）などストリーム型の伝送サービスが提供されるようになってきている。
【０００３】
ストリーム伝送サービスは、まず送信機が映像音声データを所定のフォーマットにパケット化しネットワーク上に送信する。受信機は、ネットワーク上のストリーミングパケットを受信し、パケット内に含まれる映像音声データを抽出しデコーダに伝達して映像・音声を再生する。
【０００４】
以下、送信されたネットワーク上のデータをストリーミングパケットと呼ぶ。
【０００５】
一般にインターネットの伝送は、データの到着が保証されていない。ネットワーク上でパケットロスが発生すると、受信された映像音声データが欠落することになるので、映像・音声が乱れることになる。
【０００６】
パケットロスは、ネットワークを構成するルータなどの中継器内の、パケットキューを格納するバッファのオーバーフローによって発生することが多い。そのため、送信時にストリーミングパケットを一定のサイズをまとめて送信するバースト転送を行うと、バースト転送される後ろのパケット程、バッファオーバーフローする確率が高くなりパケットロスが発生しやすくなる傾向がある。
【０００７】
この問題を解決するため、送信機側でストリーミングパケットと共にエラー訂正用の冗長パケットを送信し、受信側でデータが欠落した場合に冗長パケットにより欠落したデータを復元するＦＥＣ（Ｆｏｒｗａｒｄ  Ｅｒｒｏｒ  Ｃｏｒｒｅｃｔｉｏｎ）方式が提案されている。その中で、出来るだけパケットの固まりを少なくして、パケットロスの発生を抑える提案がなされている（特許文献１参照）。
【０００８】
以下、図面を用いて従来の実施例の説明を行う。図２に従来の送信装置の構成を示している。エンコーダ２２は映像データを圧縮してバッファ２３に蓄積する。ＲＴＰパケット生成部２４は圧縮された映像データを所定の単位で読み込み、図４で示すようなＩＰヘッダ４２、ＵＤＰヘッダ４３、ＲＴＰヘッダ４４を付加して通信部２５へ伝送し、ネットワークへパケットを送信すると共に、パケットバッファ２８に蓄積する。
【０００９】
ＦＥＣパケット生成部２６は、パケットバッファ２８に蓄積されたＲＴＰパケットよりＦＥＣパケットを生成しパケットバッファ２７に格納する。格納されたＦＥＣパケットは、通信部２５へ伝送され所定のパケットとして出力される。
【００１０】
図３はこの従来の実施例における伝送路上のストリームパケットを示している。従来の例では、４個のパケットがパケットバッファに格納される場合を示している。ＲＴＰパケットが４パケット作成後に通信部２５を介してネットワーク上にまとめて出力される。
【００１１】
ＲＴＰパケット出力後に、ＦＥＣパケット生成部２６は、パケットバッファ２８に格納されたＲＴＰパケットからパリティパケットを作成する。
【００１２】
ＲＴＰパケット生成部２４は、パケットを出力してから、所定のタイミングでバッファ２３から映像データを呼び出し、ＲＴＰパケットを作成（従来の実施例では４パケット）し通信部２５に出力するが、ＦＥＣパケット生成部に前回出力したＲＴＰパケットのＦＥＣ用のパリティデータがある場合にはＦＥＣ用のパリティパケットを出力して、パケットバッファ２８に格納されたパケットを続いてネットワークへ出力する。このような動作を繰り返し、図３の様に、パリティパケット３２とＲＴＰパケット３１が一塊となり、そのパケット群が所定の間隔で転送されることになる。
【００１３】
この従来方式の特徴は、ＲＴＰパケット生成部が所定の間隔でバッファ２３からデータを読み出すことにより、ＦＥＣ用パリティパケットを含めて５パケットより多くのパケットがまとめてネットワークへ出力されない特徴がある。このように一定の間隔をあけて所定数のパケット群をネットワークへ送出することにより、パケットロスの発生確率を減らす方法が提案されていた。
【００１４】
イーサネット（登録商標）に代表されるネットワークには、さまざまな機器が接続されるので、従来の実施例の様に、送出するストリームパケットを一定間隔で送信した場合であっても、別のパケットの影響で中継器のバッファがオーバーフローする可能性がある。特に、近年のパーソナルコンピュータの性能向上は著しいため、ストリーミングパケットを伝送中に、ＰＣ間で高速ファイルコピーなど行われると、中継器に入力されるパケットが増加し、バッファオーバーフローする確率が高くなる。
【００１５】
中継器では、バッファオーバーフローすると後続するパケットは、まとめてパケットロスすることになりやすい。
【００１６】
従来の実施例の場合、最大５パケットをまとめて送信するが、ストリーミングパケットが受信される前に、ＰＣ間のファイルコピーなどによる大量のパケットにより、中継器のバッファが既に一杯になっている場合には、ストリーミングパケットは、５パケットまとめてロスすることになる。
【００１７】
従来の実施例の場合には、４パケットに１個のパリティパケットを付与しているが、このようなパリティの付与方法では、一般にパリティを含む５パケットの内１パケットの消失パケットの再生が可能となるが、２パケット以上の消失があった場合には消失パケットの再生は不可能である。
【００１８】
パケットロスがまとめて発生した場合であっても訂正可能とするために、インターリーブドリードソロモンのような高効率な訂正符号が用いられることが多い。インターリーブドリードソロモン符号によるＲＴＰパケットフォーマットの例を図５に示した。
【００１９】
従来の実施例では、データパケット群５１が３２パケットに対しパリティパケット群５２が８パケット付加されている。冗長度は、４０パケットの内８パケットがパリティパケットになるので２０％になり、従来の方式である４パケットに１個のパリティパケットを設けたものと同じである。従来の実施例の８パケットのリードソロモン符号を用いた場合には、８パケットロスがあった場合でも訂正可能となる。
【００２０】
このように、データを大きな単位でまとめて、パリティ符号を生成することにより、複数のパケットロスがあっても効率良く訂正可能となる。
【００２１】
しかしながら、特許文献１に記載されたような従来の方式で実現する場合、まずパケットバッファ２８は、エラー訂正パリティ付与単位で映像データがバッファされるので大きな容量が必要となる課題がある。例えば従来の実施例の場合、通常は４パケット×１５００Ｂ＝６０００Ｂであったものが、３２パケット×１５００Ｂ＝４８０００Ｂとなり、８倍のバッファを必要とする。
【００２２】
また従来の実施例では、映像データで構成されたＲＴＰパケットと、前回送出したＲＴＰパケットのパリティパケットを、まとめて送出する構成であるため、インターリーブドリードソロモンのような高効率符号化方式の場合、送出パケットのバースト長が長く（本説明では４０パケット）なるために、伝送路上に流れるパケットが分散されず、パケットロスの発生確率が高くなってしまう課題があった。
【００２３】
また映像データが、ＲＴＰパケット生成部２４内のパケットバッファ２８に格納されてから、ＦＥＣ用のパケットの生成を開始するが、従来の実施例ではまとめてパリティを生成する必要があるために、１回の演算量が増えてしまう課題があった。従来の実施例の場合には、ＦＥＣパケット生成部２６で、パリティパケットの生成が完了するまで、次の映像データを送出できないので、ハイビジョン映像のような高品質のデータを送信するには、ＦＥＣパケット生成部２６はハードウェアによる実現が必要となる。
【００２４】
本方式では、データを一旦蓄積してからパリティ符号を生成するために大容量のバッファが必要であり、ＦＥＣパケット生成部２６を、ハードウェアで低価格に実現するためには、映像データのバッファメモリの選択が重要となる。
【００２５】
一般にビット単価の安いＳＤ−ＲＡＭは、連続のアドレス読み出しは高速であるが、飛び飛びのアドレスの読み出しが遅い性質を有している。ＦＥＣパリティを生成回路は、図５の矢印５３で示した順にデータを呼び出してパリティデータを生成しなければならないためバッファのメモリアドレスが飛び飛びにアクセスすることになり、ＳＤ−ＲＡＭをバッファとして使用した場合には極端に演算時間が大きくなる課題を有していた。そのため、ハイビジョンの映像データを送信する場合には、ランダムアクセスの速い高価な大容量のＳＲＡＭが必要となり、ＦＥＣ生成回路を安く実現するのが困難であった。
【００２６】
また特許文献１記載の送信装置は、映像データのＲＴＰパケットヘッダ付加は、ＲＴＰパケット生成部２４で行われ、ＦＥＣ用パリティデータのＲＴＰヘッダ付加は、ＦＥＣパケット生成部２６で行われるために処理が複雑であるため、ハードウェア化を行うと、回路規模が大きくなってしまう課題があった。
【特許文献１】特開２００５−１３６５４６号公報
【発明の開示】
【発明が解決しようとする課題】
【００２７】
本発明は、上記問題を鑑み、インターリーブドリードソロモンのような大きな単位でエラー訂正符号を生成する効率のよい誤り訂正符号を用いた場合でも、少ないメモリで高速に実現でき、かつ、ネットワーク上にパケットを均等に分散して送信することにより、パケットロスの発生確率を低減して信頼性の高いデータ伝送が可能なＦＥＣ用パケット生成方式および送信装置を提供するものである。
【課題を解決するための手段】
【００２８】
上記目的を達成するために、本発明は、入力データに対してＮバイト単位にＫバイトのパリティデータを生成するパリティ生成手段と、前記入力データまたは前記パリティ生成手段で生成された前記パリティデータのいずれか一方を選択し出力する選択手段と、前記入力データまたは前記パリティデータをＭバイト単位に分割する分割手段と、前記分割手段により分割された前記入力データまたは前記パリティデータに対してヘッダを付加してＲＴＰパケットを出力するＲＴＰパケット生成手段とを備え、前記Ｎと前記Ｋはそれぞれ前記Ｍの整数倍であり、前記選択手段は、前記ＲＴＰパケット生成手段に対して、前記入力データをＮバイト送信した後にＫバイトの前記パリティデータを送信すると共に、前記ＲＴＰパケット生成手段により生成されたＲＴＰパケットを格納する蓄積手段と、所定の間隔でネットワークへ出力するタイミングを生成するタイマー手段と、前記タイマー生成手段で生成されたタイミングに応じてネットワークへ前記ＲＴＰパケットを出力する通信手段とを備える構成とした。
【発明の効果】
【００２９】
本発明によれば、ＮとＫはそれぞれＭの整数倍であり、選択手段は、ＲＴＰパケット生成手段に対して、入力データをＮバイト送信した後にＫバイトのパリティデータを送信すると共に、前記ＲＴＰパケット生成手段により生成されたＲＴＰパケットを格納する蓄積手段と、所定の間隔でネットワークへ出力するタイミングを生成するタイマー手段と、前記タイマー生成手段で生成されたタイミングに応じてネットワークへ前記ＲＴＰパケットを出力する通信手段とを有するので、簡単な構成でありながら高効率なエラー訂正符号が生成でき、またパケットロスの発生確率を上げることなくネットワークへ映像データを送信できるので、信頼性の高い安価な送信装置を提供することが可能となる。
【発明を実施するための最良の形態】
【００３０】
本発明によれば、ＮとＫはそれぞれＭの整数倍であり、選択手段は、ＲＴＰパケット生成手段に対して、入力データをＮバイト送信した後にＫバイトのパリティデータを送信すると共に、前記ＲＴＰパケット生成手段により生成されたＲＴＰパケットを格納する蓄積手段と、所定の間隔でネットワークへ出力するタイミングを生成するタイマー手段と、前記タイマー生成手段で生成されたタイミングに応じてネットワークへ前記ＲＴＰパケットを出力する通信手段とを有する。
【００３１】
これにより、簡単な構成でありながら高効率なエラー訂正符号が生成でき、またパケットロスの発生確率を上げることなくネットワークへ映像データを送信できるので、信頼性の高い安価な送信装置を提供することが可能となる。
【００３２】
また、前記パリティ生成手段には、Ｋバイトのメモリを有する構成としてもよい。
【００３３】
これにより、パリティ生成に必要十分な容量とすることができ、回路の構成を小さくすることができる。
【００３４】
また、前記パリティ生成手段は、インターリーブドリードソロモンによるパリティを生成する構成としてもよい。
【００３５】
これにより、さらに高効率なエラー訂正符号を生成することができる。
【００３６】
また、前記パリティ生成手段は、複数のレジスタからなるＲＳエンコーダと、パリティメモリとを備え、前記パリティメモリの内容を前記複数のレジスタへセットし、前記入力データから１シンボルのデータを入力して前記ＲＳエンコーダでパリティ演算を行い、前記パリティ演算後の前記レジスタの内容を前記パリティメモリの読み出した同一のメモリアドレスに格納し、次の入力データ処理を行うためのメモリアドレスを指定する構成としてもよい。
【００３７】
これにより、データ蓄積をすることなく少ないメモリでパリティ生成することができるため、高速にデータ送信が可能となる。
【００３８】
また、前記入力データのスループットをＸ（バイト／秒）とすると、前記タイマー手段の設定値を（Ｍ／Ｘ×Ｎ／（Ｎ＋Ｋ））で求める時間以下になるように設定する構成としてもよい。
【００３９】
これにより、パリティパケットが付加される分だけパケット送出間隔を短くした値をタイマーに設定することができ、ネットワークには概ね均等間隔にパケットが送出することができ、リードソロモン符号のような高効率のエラー訂正符号を用いた場合であっても、エラー発生確率を上げることなく映像データの送信が可能になる。
【００４０】
また、前記入力データがリアルタイム映像の場合には、ＦＩＦＯメモリを介してデータ入力する構成としてもよい。
【００４１】
これにより、外部のクロックに同期化されて送信されてくるリアルタイム映像に対して、受信を停止した場合に生じるデータの欠落をなくすことができる。
【００４２】
（実施の形態）
以下、本発明のＦＥＣ用パリティ生成方法および送信装置の実施の形態について説明する。
【００４３】
図１は、本発明の送信装置の構成の一例を表す図である。本発明の送信装置１００は、ＦＩＦＯ１３、選択手段１４、パリティ生成手段１５、ＭＴＵ分割手段１６、第２の選択手段１７、ＲＴＰパケット生成手段１８、蓄積手段１９、通信手段２０、タイマー手段２１からなる。
【００４４】
リアルタイム映像データ１１は、デジタルチューナやＭＰＥＧエンコーダなどの出力信号であり、本発明における送信装置１００に入力される。
【００４５】
非リアルタイム映像データ１２は、ＨＤＤやＤＶＤなどに記録された映像データであり、必要に応じて呼び出されて、本発明の送信装置１００に入力される。
【００４６】
ＦＩＦＯ１３は、送信装置１００の処理の負荷が高くリアルタイム映像データを受信できない場合に、映像データを欠落させない目的のために備えられている。
【００４７】
選択手段１４は、リアルタイム映像データか非リアルタイム映像データのどちらかを選択する。
【００４８】
パリティ生成手段１５は、選択手段１４で選択された映像データを入力し、ネットワークを転送中などにパケットが欠落した場合に受信装置で復号可能とするためのパリティを生成する。パリティ生成手段１５は、入力された映像データに対してＮバイト単位でパリティを生成し、後段の第２の選択手段１７へパリティデータを送信する。
【００４９】
ＭＴＵ分割手段１６は、入力されたデータサイズを所定の長さであるＭバイトに分割してネットワークへ出力することと、パリティ生成とＫバイトのパリティデータをネットワークへ出力するタイミング生成する。
【００５０】
ＲＴＰパケット生成手段１８は、入力されたＭバイトのデータに、ネットワークに伝送するために必要なヘッダを付加して蓄積手段１９へ転送する。
【００５１】
タイマー手段２１は、設定された時間毎に通信手段へタイミング信号を通知する。
【００５２】
通信手段２０は、タイミング信号を起動トリガとして蓄積手段１９からデータを読み出し、ネットワークへストリームパケットを伝送する。
【００５３】
このように構成された送信装置１００の動作を以下に説明する。
【００５４】
まず、選択手段１４で非リアルタイム映像データが選択された場合について説明する。
【００５５】
まずデータ転送が開始される準備として、ＭＴＵ分割手段１６内のカウンタ（図示せず）が初期化されると共に、パリティ生成手段１５とＲＴＰパケット生成手段１８に開始のタイミング情報が伝達される。
【００５６】
パリティ生成手段１５は、開始のタイミング信号を受信すると、内部にあるレジスタやメモリの内容を初期化する。
【００５７】
ＲＴＰパケット生成手段１８は、受信待機状態となる。
【００５８】
またＭＴＵ分割手段１６の初期化の際には、第２の選択手段１７に対して、選択手段１４から出力される映像データをＲＴＰパケット生成手段１８に伝達するように設定する。
【００５９】
以上の様に初期化が完了すると、非リアルタイム映像データが１バイト毎に呼び出され、第２の選択手段１７を通過してＲＴＰパケット生成手段１８に伝達され、ＭバイトがＲＴＰパケット生成手段１８に蓄積されると、図４に示す様に、Ｍバイトのデータ４１に対して、ＲＴＰヘッダ４４、ＵＤＰヘッダ４３、ＩＰヘッダ４２を付加して順次、蓄積手段１９へ転送される。
【００６０】
パリティ生成手段１５は、入力されたデータより、エラー訂正用のＫバイトのパリティ符号を生成する。エラー訂正符号には、色々な方法が存在するが、リードソロモン符号が用いられることが多い。図５にエラー訂正符号を含むデータフォーマットを示す。
【００６１】
本実施の形態では、ＭＴＵ（Ｍａｘｉｍｕｍ  Ｔｒａｎｓｍｉｓｓｉｏｎ  Ｕｎｉｔ）が１５００Ｂ（バイト）を例にとっており、Ｍ＝１４５４バイト、Ｋ＝１４５４×８＝１１６３２バイト、Ｎ=１４５４×３２＝４６５２８バイトを例にとって説明する。
【００６２】
パリティ生成手段１５は、３２パケット分のＮバイトのデータから８パケット分のＫバイトのパリティパケットを生成する。
【００６３】
一般のパリティの生成方法は、インターリーブ処理を施すため、一旦、Ｎバイト分のデータをパリティ生成手段１５に蓄積しておき、図５の矢印５３に示す様に、各パケットの先頭データをＲＳエンコーダ（後述）に順に入力して８バイトのパリティデータを生成し、次に各パケットの２バイト目のデータをＲＳエンコーダに入力してパリティを生成し、これをデータ長である１４５４バイト分だけ繰り返してパリティパケット群５２用のパリティデータを作成する。
【００６４】
パリティパケットが生成されると、第２の選択手段１７を切り替えて、パリティパケットをＲＴＰパケット生成手段１８に送信し、ＩＰヘッダ、ＵＤＰヘッダ、ＲＴＰヘッダが付加されてネットワークへ送出される。
【００６５】
本実施の形態の場合、３２個のデータパケットに対して８個のエラー訂正パケットが付加されることになるので、合計４０パケットの内８個のパケットロスが発生した場合でも、パリティパケットを用いて復元できる性能を有している。
【００６６】
このようなパリティパケットを作成するには、４６５２８Ｂのバッファメモリが必要であるが、これをさらに少ない容量で構成でき、さらにＳＤ−ＲＡＭのようなランダムアクセスが遅いメモリでもパフォーマンスが低下しない構成について、続いて説明する。
【００６７】
図６において、入力データはＲＳエンコーダ６１に入力される。ＲＳエンコーダ６１はメモリ手段６２と接続されている。メモリ手段６２には、アドレスカウンタ６３が接続されており、入力データの数をカウントしており、図５で示すようなパリティを生成する場合は、１から３２までデータを巡回的にカウントする。
【００６８】
図７にはＲＳエンコーダ６１の構成を示す。ＲＳエンコーダ６１において、乗算器７２はガロア乗算器であり、リードソロモンの符号理論に基づく乗算係数Ａ〜Ｈが設定される。また、加算器７３はガロアフィールドでの加算を意味しており、実際にはＥＸ−ＯＲ（排他論理和）演算が行われる。
【００６９】
通常のパリティ演算は、データが順に入力される度に演算とレジスタのシフトが行われ、最終に残ったレジスタの値がパリティデータとなるが、本実施の形態はそれとは異なり、まず、各レジスタのプリセットができるようにメモリバスと接続された構成となっており、以下の手順でパリティが生成される。
【００７０】
データが入力する前にメモリ手段６２のメモリの内容をレジスタにセットする。
【００７１】
メモリの内容をレジスタにセットした後に、データが１バイト入力され演算とシフトが施された後のレジスタの値を、再度メモリに書き戻す。
【００７２】
メモリに書き戻した後、アドレスカウンタ６３のアドレスをカウントして同様の処理を繰り返す。
【００７３】
本実施の形態の場合、アドレスは入力データ３２個で巡回するので、１４５４バイトの３２パケット分のデータが通過した後には、メモリ手段６２には図５に示すパリティパケット群５２のパリティ１〜８までが格納されていることになる。
【００７４】
このように図６に示すようなパリティ生成手段１５の構成によれば、データを蓄積する必要はなく、パリティ用のバッファメモリを備えるだけでよいため、少ないメモリでパリティを生成することができる。また、データがＮバイト通過した時点でパリティの生成が完了しているため、従来の方式の様に一旦データをすべて蓄積してからパリティ演算をする必要がないために高速にデータ送信が可能となる。
【００７５】
このようにＲＴＰパケット生成手段１８にデータがＮバイト通過すると、既にパリティ生成手段１５でパリティが生成できており、第２の選択手段１７でパリティ生成手段１５内のメモリに格納されているパリティをＲＴＰパケット生成手段１８に転送してＲＴＰヘッダを付加して蓄積手段１９に出力する。
【００７６】
本実施の形態の場合、８パケットのパリティパケットが蓄積手段１９に転送された後、パリティ生成手段１５は初期化され、以下同じ動作を繰り返す。
【００７７】
タイマー手段２１には、蓄積手段１９に蓄積されたＲＴＰパケットを出力する時間間隔が設定されている。この時間は、非リアルタイム映像データ１２を出力したい転送レートをＸバイト／秒とすると、（数１）で求められる値とする。
【００７８】
【数１】
2007335926.tif 000003
【００７９】
このように、パリティパケットが付加される分だけパケット送出間隔を短くした値をタイマーに設定することにより、ネットワークには概ね均等間隔にパケットが送出されることになるので、リードソロモン符号のような高効率のエラー訂正符号を用いた場合であっても、エラー発生確率を上げることなく映像データの送信が可能になる。
【００８０】
また蓄積手段１９は、最大でもパリティパケット数が格納できるバッファだけ備えておけばよいため少ないメモリで構成できる。本実施の形態ではＫバイトで構成できる。
【００８１】
次に、リアルタイム映像の場合について説明する。
【００８２】
リアルタイム映像データ１１が入力される場合、本発明の実施の形態におけるデータ送信装置では、Ｎバイトのデータ転送後にパリティ生成手段１５に格納されたＫバイトのパリティデータをＲＴＰパケット生成手段１８に転送する間には、パリティが生成できない。リアルタイム映像データ１１は外部のクロックに同期化されて送信されてくるため、受信を停止した場合にはデータの欠落が発生するが、このデータの欠落を発生させないために、パリティデータの転送時間分のＦＩＦＯメモリ１３を備える。
【００８３】
このように構成することにより、リードソロモン符号のような高効率符号であっても少ないメモリで高速にパリティを生成でき、また、ＲＴＰパケット生成手段を通常のデータとパリティとで切り替えて使用することにより簡単な構成で実現できる特徴を有する。
【００８４】
またＲＴＰパケットを一旦蓄積し、タイマー手段に設定された所定の時間間隔でネットワークへ出力することができるため、複数のパリティパケットを有するようなエラー訂正符号を用いた場合であってもネットワークへ均等間隔で出力されるので、エラー発生確率を上げることなくパリティパケットを送信することが可能なので、高品位でかつ低価格な伝送装置の提供が可能である。
【００８５】
また本発明の実施の形態では、データパケット３２個に対し、パリティパケットを８個としたが、これを固定するものではない。例えば、データパケット６４個でパリティパケット１６個にすれば、同じ冗長度で、８０パケットの内の１６パケットがロスした場合でもデータが再生できる。
【００８６】
また、本発明の実施の形態ではリードソロモン符号で説明したが、本発明の効果は、Ｎバイトのデータに対して、Ｋバイトのパリティデータを付加する場合に有効な手段であるので、誤り訂正符号方式をリードソロモンに限定するものではない。
【００８７】
また、本発明の実施の形態ではＭＴＵが１５００Ｂである場合を例にとって説明したが、他のものを使っても構わない。
【産業上の利用可能性】
【００８８】
本発明は、送信装置および方法に関し、特に誤り訂正データを付加して送信できるようにした送信装置に適用できる。
【図面の簡単な説明】
【００８９】
【図１】本発明の送信装置の構成図
【図２】従来の送信装置の構成図
【図３】従来の送信装置で送信したときのネットワーク上のパケットを示す図
【図４】送信データの構成図
【図５】インターリーブドリードソロモンによるエラー訂正符号の説明図
【図６】本発明におけるパリティ生成手段の構成図
【図７】本発明におけるＲＳエンコーダの構成図
【符号の説明】
【００９０】
１１  リアルタイム映像データ
１２  非リアルタイム映像データ
１３  ＦＩＦＯメモリ
１４  選択手段
１５  パリティ生成手段
１６  ＭＴＵ分割手段
１７  第２の選択手段
１８  ＲＴＰパケット生成手段
１９  蓄積手段
２０  通信手段
２１  タイマー手段
２２  エンコーダ
２３  バッファ
２４  ＲＴＰパケット生成部
２５  通信部
２６  ＦＥＣパケット生成部
２７  パケットバッファ
２８  パケットバッファ
３１  送信パケット群
３２  パリティパケット
４１  データパケット
４２  ＩＰヘッダ
４３  ＵＤＰヘッダ
４４  ＲＴＰヘッダ
５１  データパケット群
５２  パリティパケット群
６１  ＲＳエンコーダ
６２  メモリ手段
６３  アドレスカウンタ
７２  ガロア乗算器
７３  加算器
１００  送信装置
【図１】
2007335926.tif 000004
【図２】
2007335926.tif 000005
【図３】
2007335926.tif 000006
【図４】
2007335926.tif 000007
【図５】
2007335926.tif 000008
【図６】
2007335926.tif 000009
【図７】
2007335926.tif 000010