(57)【要約】【課題】従来のＦＥＣ方式の映像伝送は、映像データを所定サイズに分割したデータブロックを作成する。連続する複数のデータブロックにパリティ符号を付加し、インターリーブ処理を施して送信していたため、受信装置は、受信バッファに受信データを格納し、バッファ内の受信データの並び替えを行った後、エラー訂正処理を実行し再生手段にデータ転送を行う必要があった。そのため、大容量の受信バッファが必要であり、処理手順が複雑であるので高速伝送を行うのが困難であった。【解決手段】映像データをインターリーブ処理してパリティを生成する方式を取ることにより、受信装置で並び替えの処理を不要とする。またデータ抽出手段は、受信データをバッファメモリへ伝送すると共にパリティ演算手段に同時にデータを出力し、パリティ演算手段ではデータの通過と共にリアルタイムで演算可能な構成とすることにより、安価でかつ高速処理可能とした。【選択図】図１
2008011142.tif 000002
【特許請求の範囲】
【請求項１】
送信データに対してインターリーブ処理を施し、パリティを生成して送出されたインターネットプロトコル形式のパケットを受信する受信装置であって、
前記パケットを受信する受信手段と、
受信した前記パケット（受信パケット）を蓄積する受信バッファと、
前記受信バッファに蓄積された前記受信パケットを逐次読み出し、前記受信パケットから通信用ヘッダを除去してデータブロックを抽出し、バッファメモリ手段とパリティ演算手段へ前記データブロックを転送するデータ抽出手段と、
前記受信パケットの通信用ヘッダのシーケンス番号をもとに前記受信パケットのパケットロス発生の有無を検出するパケットロス検出手段と、
前記パケットロス発生の有無の情報と前記パリティ演算手段により演算された結果とからパケットロスしたパケットを復元するエラー訂正手段とを備え、
前記データ抽出手段は、前記パケットロス検出手段からパケットロスが発生したことが通知されると、パケットロスした長さの所定パターンのダミーデータを生成して前記バッファメモリ手段と前記パリティ演算手段へ転送することを特徴とする受信装置。
【請求項２】
前記データ抽出手段で生成される前記所定パターンは０であることを特徴とする請求項１記載の受信装置。
【請求項３】
前記パリティ演算手段は、所定のサイズで巡回するアドレスカウンタに接続されたメモリ手段と、シンドローム演算手段とを備え、
前記データブロックが入力されると、前記メモリ手段から呼び出された前記データブロックが前記シンドローム演算手段のレジスタに格納され、
１シンボル分のシンドローム演算が行われた後、演算前に読み出した同一のメモリアドレスに前記レジスタの値を格納した後に、前記メモリ手段のアドレスを変更することを特徴とする請求項１記載の受信装置。
【請求項４】
前記パリティ演算手段の演算結果と前記パケットロス検出手段で検出したパケットロス発生の有無の情報とからパケットロスしたパケットの誤り訂正を行い、生成されたパケットのデータを前記再生手段のバッファメモリ手段の該当するバッファメモリアドレスへ転送することを特徴とした請求項２記載の受信装置。
【請求項５】
前記データ抽出手段は、前記受信パケットがデータパケットの場合は、前記バッファメモリ手段と前記パリティ演算手段にデータを転送するが、前記受信パケットがパリティパケットであった場合には、前記バッファメモリ手段にはデータ転送を行わず、前記パリティ演算手段にデータ転送を行うことを特徴とした請求項１記載の受信装置。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、ＩＰ伝送における誤り訂正用パリティデータが付加されたデータの受信装置に関する。
【背景技術】
【０００２】
昨今、イーサネット（登録商標）など色々な通信媒体を介して、画像や音声などからなる映像データをインターネットプロトコル（ＩＰ）で伝送するサービスが普及している。特に、ビデオオンデマンド（ＶＯＤ）などストリーム型の伝送サービスが提供されるようになってきている。
【０００３】
ストリーム型の伝送サービスは、まず送信機が映像データを所定のフォーマットにパケット化しネットワーク上にストリーミングパケットを送信する。
【０００４】
受信機は、ネットワーク上のストリーミングパケットを受信し、パケット内に含まれる映像データを抽出しデコーダに伝達して映像を再生する。
【０００５】
一般にインターネットの伝送は、パケットの到着が保証されていない方式である。ネットワーク上でパケットが欠落するパケットロスが発生すると、受信された映像データが欠落することになるので、映像が乱れることになる。
【０００６】
パケットロスは、ネットワークを構成するルータなどの中継器内の、パケットキューを格納するバッファのオーバフローによって発生することが多いため、一度バッファオーバフローが発生すると連続する数パケットが、まとめてロスを発生する可能性が高い。
【０００７】
この問題を解決するため、送信機側でストリーミングパケットと共にエラー訂正用の冗長パケットを送信し、受信側でデータが欠落した場合に冗長パケットにより欠落したデータを復元するＦＥＣ（Ｆｏｒｗａｒｄ  Ｅｒｒｏｒ  Ｃｏｒｒｅｃｔｉｏｎ）方式が提案されている。
【０００８】
ＦＥＣの方式として、ＲＴＰ（Ｒｅａｌ−ｔｉｍｅ  Ｔｒａｎｓｐｏｒｔ  Ｐｒｏｔｏｃｏｌ）を用いるものが多い。ＲＴＰでは、ＲＴＰヘッダに含まれるシーケンス番号により、受信装置でパケットロスを検出可能であるためパケットロスを復元するのに消失誤り訂正が用いられる。
【０００９】
前述したようにパケットロスは、数パケット続くことがあるため、複数のエラーが発生しても訂正可能なパリティ符号を付加するのが望ましい。そのため、インターリーブ処理を施すことにより、まとめてパケット消失が起こった場合でも再生する方法の提案がある（特許文献１参照）。
【００１０】
以下図面を用いて説明する。図３に従来の受信装置の構成を示した。受信手段３１は、ネットワーク上のデータを受信バッファ３２へ格納する。受信バッファ３２には、映像データであるＲＴＰパケットが受信の到着順に格納される。
【００１１】
受信されるＲＴＰデータはインターリーブ処理をされて送信されてくるので、従来の実施例ではインターリーブ長１０（１０パケット間隔）であるので、１番目のパケットの次には、１１番目のパケット、次には２１番目、３１番目・・・９１番目が到着し、その次には２番目、次には１２番目の順に到着して受信バッファに格納される。
【００１２】
従来の実施例では１０番目のパケットは、１〜９番目パケットまでのパリティパケットであり、１〜９番目パケットのいずれかの１パケットがパケットロスを発生した場合であっても復元可能とするために送信装置が送ってくる。同様に２０番目のパケットは、１１〜１９パケットまでのパリティパケットであり、３０番目、４０番目・・・・・１００番目のパケットはパリティパケットである。
【００１３】
以下、２、１２、２２、３２番目のパケットロスがあった場合について、以下に再生手順を説明する。
【００１４】
受信バッファ３２に、１００パケット以上格納されるとデインターリーブ手段３３により１〜１０番目パケットを受信バッファ３２から読み出し、エラー訂正手段３４に転送する。１００パケット以上の蓄積が必要な理由は、１０番目のパケットは、先頭から９１個目に到着するため、最低９１パケット以上の受信バッファ３２が必要となる。また受信バッファは、後続する処理が完了しないとバッファを開放できないため１００パケットのバッファが必要であるのと、後続処理中にネットワークからは次々にパケットが受信されるのでさらにバッファ容量が必要となる。
【００１５】
また従来の実施例では、２、１２、２２、３２番目のパケットはパケットロスを発生しているため実際にはバッファに蓄積されていない。このようにパケットロスが発生すると、到着順番からパケット番号を確定できない課題が発生する。
【００１６】
それを解決するため、従来の実施例ではＲＴＰヘッダ内に記録されているシーケンス番号をもとにパケット番号を特定している。図２には、パケットフォーマットを示している。パケットは、ＩＰヘッダ２１、ＵＤＰヘッダ２２、ＲＴＰヘッダ２３、データ部２４からなる。ＲＴＰヘッダ２３内には、シーケンス番号２５が記録されており、送信パケットごとに１カウントずつカウントアップされたデータが記録されている。
【００１７】
パケットロス検出手段３８は、受信バッファ３２に格納されたパケットのＲＴＰヘッダ内のシーケンス番号２５の連続性を確認して、どのパケットがパケットロスを起こしたのかを検出する機構が必要となるので、受信バッファ３２に格納されたすべての受信パケットのＲＴＰヘッダ２３のシーケンス番号２５の確認を行う。
【００１８】
デインターリーブ手段３３は、パケットロス検出手段３８で検出したパケットロス情報から適切なパケットを選定して受信バッファ１番目から順に呼び出す。仮にパケットロスが発生していなければ、データ抽出手段３５で１〜９番目パケット内のデータ部（データ部２４）を抽出して、再生手段３７（例えばＭＰＥＧデコーダ）のバッファメモリ手段３６へ転送する。
【００１９】
もし図３で示すように２番目のパケットに誤りが発生した場合には、まず、パケットロス検出手段３８内で検出されたパケットロス情報から、１番目、３〜９番目のパケットを読み出しエラー訂正手段３４内のバッファメモリへ転送する。次に、１〜９番目のパリティパケットである１０番目のパケットを呼び出し、エラー訂正手段３４で演算を行い、２番目のパケットを再生する。
【００２０】
従来の実施例では、９パケットに１個パリティパケットを設けて、インターリーブ長が１０で送信しているため、１００パケットのうち、連続した１０パケットのパケットロスが１回発生しても欠落したパケットを再生できる特徴がある。
【００２１】
しかし、従来の実施例では図６の様に、１番目と２番目がパケットロスになるとパリティパケットが１つしかないため、エラー訂正ができない場合があった。
【特許文献１】特開２００５−２１０２１９号公報
【発明の開示】
【発明が解決しようとする課題】
【００２２】
本発明は、上記のような従来の構成の受信装置では、映像データ自身がインターリーブされてインターネットを通じて送信されてくるので、受信パケットを一旦受信バッファに格納した後に、デインターリーブを行う必要があり、連続したパケットロスを修復するためにインターリーブを長くするとバッファメモリサイズが大きくなりコストアップしてしまう課題を有していた。
【００２３】
また従来の方式では、受信バッファに格納後にデインターリーブ処理、パケットロス検出、エラー訂正処理、バッファメモリ転送の処理を順に行う必要があった。そのため、各々の処理時間が積算されるため、処理時間が多く必要で、ハイビジョン映像のような高速な処理が行い難い課題があった。
【００２４】
上記問題を鑑み、本発明は、パケットロスが発生した場合であっても、少ないバッファメモリで高速にエラー訂正処理が可能となる受信装置を提供するものである。
【課題を解決するための手段】
【００２５】
上記目的を達成するために、本発明は、送信データに対してインターリーブ処理を施し、パリティを生成して送出されたインターネットプロトコル形式のパケットを受信する受信装置であって、前記パケットを受信する受信手段と、受信した前記パケット（受信パケット）を蓄積する受信バッファと、前記受信バッファに蓄積された前記受信パケットを逐次読み出し、前記受信パケットから通信用ヘッダを除去してデータブロックを抽出し、バッファメモリ手段とパリティ演算手段へ前記データブロックを転送するデータ抽出手段と、前記受信パケットの通信用ヘッダのシーケンス番号をもとに前記受信パケットのパケットロス発生の有無を検出するパケットロス検出手段と、前記パケットロス発生の有無の情報と前記パリティ演算手段により演算された結果とからパケットロスしたパケットを復元するエラー訂正手段とを備え、前記データ抽出手段は、前記パケットロス検出手段からパケットロスが発生したことが通知されると、パケットロスした長さの所定パターンのダミーデータを生成して前記バッファメモリ手段と前記パリティ演算手段へ転送するものである。
【発明の効果】
【００２６】
本発明によれば、パケットを受信する受信手段と、受信した前記パケット（受信パケット）を蓄積する受信バッファと、前記受信バッファに蓄積された前記受信パケットを逐次読み出し、前記受信パケットから通信用ヘッダを除去してデータブロックを抽出し、バッファメモリ手段とパリティ演算手段へ前記データブロックを転送するデータ抽出手段と、前記受信パケットの通信用ヘッダのシーケンス番号をもとに前記受信パケットのパケットロス発生の有無を検出するパケットロス検出手段と、前記パケットロス発生の有無の情報と前記パリティ演算手段により演算された結果とからパケットロスしたパケットを復元するエラー訂正手段とを備え、前記データ抽出手段は、前記パケットロス検出手段からパケットロスが発生したことが通知されると、パケットロスした長さの所定パターンのダミーデータを生成して前記バッファメモリ手段と前記パリティ演算手段へ転送する受信装置を構成したことにより、エラー訂正を行うためにデータをデインターリーブ、パリティ演算、エラー訂正、データ転送と処理を順次行う必要がなく、さらに、デインターリーブする必要がなくなり、データ転送とパリティ演算を同時に行われるため高速な処理が可能となる。
【００２７】
また、受信バッファに格納された受信パケットから再生手段が必要としているデータを逐次抽出してバッファメモリ手段へ逐次転送するので、少ない受信バッファで受信装置を実現でき、低コスト化できる。
【００２８】
また、データ抽出手段でデータ転送と同時に、パリティ演算を実施するので、高速な処理が可能となり、ハイビジョンの映像伝送が可能となる。
【００２９】
さらに、パケットロスが発生したパケットに対してダミーパケットを挿入するため、パケットロスしたパケットに対してもパリティ演算を継続することができるため、受信したデータとパリティとの間での位相のずれが生じない。また、バッファメモリ手段にダミーデータとして追加されるため、バッファメモリ手段内の並べ替えをせずに、ダミーデータにエラー訂正したデータを書き込む処理ができ、高速にエラー訂正ができる。
【発明を実施するための最良の形態】
【００３０】
本発明によれば、パケットを受信する受信手段と、前記受信パケットを蓄積する受信バッファと、前記受信バッファに蓄積された前記受信パケットを逐次読み出し、前記受信パケットから通信用ヘッダを除去してデータブロックを抽出し、再生手段のバッファメモリ手段とパリティ演算手段へ前記データブロックを転送するデータ抽出手段と、前記受信パケットの通信用ヘッダのシーケンス番号から前記受信パケットのパケットロス発生の有無を検出するパケットロス検出手段と、前記パケットロス発生の有無の情報と前記パリティ演算手段により演算された結果とからパケットロスしたパケットを復元するエラー訂正手段とを備え、前記データ抽出手段は、前記パケットロス検出手段によりパケットロスが発生したことが通知されると、パケットロスした長さの所定パターンのダミーデータを生成して前記バッファメモリ手段と前記パリティ演算手段へ転送する受信装置である。
【００３１】
これにより、エラー訂正を行うためにデータをデインターリーブ、パリティ演算、エラー訂正、データ転送と処理を順次行う必要がなく、さらに、デインターリーブする必要がなくなり、データ転送とパリティ演算が同時に行われるため高速な処理が可能となる。
【００３２】
また、受信バッファに格納された受信パケットから再生手段が必要としているデータを逐次抽出してバッファメモリ手段へ逐次転送するので、少ない受信バッファで受信装置を実現でき、低コスト化できる。
【００３３】
またデータ抽出手段でデータ転送と同時に、パリティ演算を実施するので、高速な処理が可能となり、ハイビジョンの映像伝送が可能となる。
【００３４】
さらに、パケットロスが発生したパケットに対してダミーパケットを挿入するため、パケットロスしたパケットに対してもパリティ演算を継続することができるため、受信したデータとパリティとの間での位相のずれが生じない。また、バッファメモリ手段にダミーデータとして追加されるため、バッファメモリ手段内の並べ替えをせずに、ダミーデータにエラー訂正したデータを書き込む処理ができ、高速にエラー訂正ができる。
【００３５】
また、前記データ抽出手段で生成される前記所定パターンは０とするようにしてもかまわない。
【００３６】
これにより、パケットロスしたパケットに対して継続したパリティ演算は、パケットロスの不定値による影響を受けない。
【００３７】
また、前記パリティ演算手段は、所定のサイズで巡回するアドレスカウンタに接続されたメモリ手段と、シンドローム演算手段とを備え、前記データブロックが入力されると、前記メモリ手段から呼び出された前記データブロックが前記シンドローム演算手段のレジスタに格納され、１シンボル分のシンドローム演算が行われた後、演算前に読み出した同一のメモリアドレスに前記レジスタの値を格納した後に、前記メモリ手段のアドレスを変更するという構成にしてもかまわない。
【００３８】
これにより、データブロックについて１シンボル分のシンドローム演算を行い、結果を巡回してメモリに格納することができるので、大容量のメモリは不要となる。また、分散して発生したパケットロスに有効な手段の一つであるインターリーブドリードソロモンのようなエラー訂正方式にも適応でき、メモリを少なく実装でき、また、安定的にパケットロスの修復が可能となる。
【００３９】
さらに、インターリーブドリードソロモンのような大きなデータサイズ単位でパリティ符号を付加する高効率な符号方式であっても、大きなバッファを必要とせず、高速に処理可能であるので確実にパケットロスを修復することが可能である。
【００４０】
また、前記パリティ演算手段の演算結果と前記パケットロス検出手段で検出したパケットロス発生の有無の情報とからパケットロスしたパケットの誤り訂正を行い、生成されたパケットのデータを前記再生手段のバッファメモリ手段の該当するバッファメモリアドレスへ転送するという構成にしてもかまわない。
【００４１】
これにより、パケットロスが発生した場合誤り訂正したパケットを蓄積することなく、逐次バッファメモリ手段へ転送するため、パケットロスが発生した場合であっても、少ないバッファメモリかつ高速にエラー訂正を行うことができる。
【００４２】
また、前記データ抽出手段は、前記受信パケットがデータパケットの場合は、前記バッファメモリ手段と前記パリティ演算手段にデータを転送するが、前記受信パケットがパリティパケットであった場合には、前記バッファメモリ手段にはデータ転送を行わず、前記パリティ演算手段にデータ転送を行うという構成にしてもかまわない。
【００４３】
これにより、データパケットに対してパリティ演算がなされると同時にバッファに格納され、パリティパケットはパリティ演算に用いられるため、不要なデータ転送が行われない。
【００４４】
以下、本発明の受信装置の実施の形態を説明する。
【００４５】
（実施の形態１）
図１は本発明の受信装置の実施の形態１における構成を示しており、サーバなどの送信装置からネットワークを通じて送信されたデータを受信する。図７は、送信装置から送信されてくる送信データのパリティ生成方法の説明図である。送信装置から送信データの例として、画像や音声などからなる映像データがある。
【００４６】
まず入力される送信データについて図７を用いて説明する。
【００４７】
送信データは所定長（本実施の形態では１４５４Ｂ（バイト））に分割されてエラー訂正用のパリティが生成される。パリティの生成方法は、分割されたデータブロックを１０個飛ばしたごとにパリティ演算を行う。図７において、例えばパリティ１は、１番目（Ｎｏ．１）、１１番目（Ｎｏ．１１）、２１番目（Ｎｏ．２１）、・・・、８１番目（Ｎｏ．８１）のデータブロックのパリティであり、パリティ２は、同様に２番目（Ｎｏ．２）、１２番目（Ｎｏ．１２）、２２番目（Ｎｏ．２２）・・・・８２番目（Ｎｏ．８２）のデータブロックのパリティであり、パリティ１０は、１０番目（Ｎｏ．１０）、２０番目（Ｎｏ．２０）、３０番目（Ｎｏ．３０）、・・・、９０番目（Ｎｏ．９０）のデータブロックのパリティである。各パリティは、対象となる９パケットに１個のパリティが付加されているため、その中の１個のデータが欠落しても復帰が可能となる。また全体では９０個のデータブロックについて１０個のパリティブロックが生成される。このように、パリティデータはインターリーブされて生成されていることになるため、本実施の形態１では、パケットロスが１０パケット連続で発生しても再生可能となる。
【００４８】
図７における１つのデータブロックやパリティブロックは、図２におけるデータ部２４に相当する。データブロックやパリティブロックそれぞれには、図２に示すようにＩＰヘッダ２１とＵＤＰヘッダ２２とＲＴＰヘッダ２３のヘッダが付加され、ＲＴＰパケットとしてネットワークへ出力される。データ部２４の内容がデータブロックであるパケットはデータパケット、データ部２４の内容がパリティブロックであるパケットはパリティパケットである。
【００４９】
ＲＴＰヘッダ２３には、シーケンス番号２５が記録されており、送出されるパケットごとに１ずつカウントアップされたものが記録される。
【００５０】
図７の各データブロックのネットワークへの出力順は、図７においてＮｏ．１、２、３、４、・・・、Ｎｏ．９０のデータブロック順にデータパケットが送信され、その後に、パリティ１、２、３・・・パリティ１０のパリティブロック順にパリティパケットが送信される。
【００５１】
受信手段１１は、ネットワークから送信されてくる、これら送信データを受信する。
【００５２】
受信バッファ１２は、受信手段１１で受信された送信データを構成する受信パケットを格納する。
【００５３】
データ抽出手段１３は、受信バッファ内に格納されている受信パケットのうちＲＴＰパケットのデータ部２４を抽出して、バッファメモリ手段１４にデータ転送を行うが、パリティパケットを検出するとバッファメモリ手段１４にはデータ転送をしない。
【００５４】
再生手段１５は、バッファメモリ手段１４に蓄えられたデータブロックをデコードして映像出力を行う。
【００５５】
パケットロス検出手段１６は、図２に示すようにＲＴＰヘッダに含まれるシーケンス番号２５の連続性を確認し、パケットロスの有無を検出してデータ抽出手段１３に伝達すると共に、パケットロスが発生した場合にはその発生した位置をエラー訂正手段１８に伝達する。
【００５６】
データ抽出手段１３は、パケットロス検出手段１６によりパケットロスの発生が通知されると、パケットロスしたデータ数（本実施の形態１では１４５４バイト）だけ所定のデータパターン（例えば０）を生成してバッファメモリ手段１４へデータ転送すると共にパリティ演算手段１７にデータ転送を行う。
【００５７】
パリティ演算手段１７には、データ抽出手段１３により抽出されたデータとパリティが入力される。
【００５８】
図８には、本実施の形態１におけるパリティ演算手段１７の一つの実施例を示している。内部には、データ長（本実施の形態１では１４５４バイトを例に説明する）の１０個のメモリブロックからなるメモリ手段８２がある。
【００５９】
データが入力されると、まず演算手段８１にメモリ手段８２のデータが読み込まれ（８３の動作）、演算手段８１で演算後に読み込まれた同じメモリに演算結果を書き戻す（８４の動作）。続いて、次のデータのためにメモリ手段８２のメモリブロックを巡回させる（８５の動作）。
【００６０】
メモリ手段８２のメモリブロックは１０個あり、受信パケットは図７に示したようにインターリーブ長が１０である。この場合、入力データが１０パケットごとに巡回し、１つのメモリブロックに対してパリティパケットを含めて１０回の操作が行われて演算が完了する。
【００６１】
またパケットロスが発生した場合であっても、データ抽出手段１３でパケットロスに相当する長さのダミーデータが追加されるので、パリティ演算手段１７内では、入力されるデータとパリティとの位相がずれることはない。
【００６２】
このように、受信バッファに蓄積された受信データはデインターリーブ処理のように並べ替える必要はなく、逐次、データ抽出手段１３に送られ、バッファメモリ手段１４へ転送されるので、大容量の受信バッファは不要となる。
【００６３】
さらにデータ抽出手段１３は、バッファメモリ手段１４へデータ転送をするのと同時にパリティ演算手段１７へデータ転送するので、バッファメモリ手段１４へのデータ転送とパリティ演算を同時に行うことができる。
【００６４】
従来の方法では、エラー訂正を行うためにはデータをデインターリーブ、パリティ演算、エラー訂正、データ転送の処理を順次行う必要があったが、本発明の場合は、デインターリーブをする必要はなく、データ転送とパリティ演算が同時に行われるため高速な処理が可能となる。
【００６５】
またエラー訂正手段１８は、パケットロスが発生したパケット位置とパリティ演算結果から、誤りパターンを求めて、バッファメモリ手段１４上に記録されたダミーデータの位置にエラー訂正された結果を書き込む。
【００６６】
このとき欠落したパケットに相当するデータは、データ抽出手段１３により既にダミーデータとして追加されているため、欠落したパケットの修正には、バッファメモリ手段内の並べ替えをする必要はなく、ダミーデータの位置にエラー訂正手段で求めた結果を書き込む処理によりパケットの修正ができる。
【００６７】
このような構成にすることにより、パケットロスが発生した場合であっても、少ないバッファメモリでかつ高速にエラー訂正を行うことが可能である。
【００６８】
また、高品位のデータ転送を安価に実現できる受信装置を提供できるので、ハイビジョン映像の受信装置などのアプリケーションに適用可能である。
【００６９】
本実施の形態１では、インターリーブ長を１０として説明したが、１０にこだわるものではない。定性的にはインターリーブ長が長くなればなるほど連続したパケットロスに対する耐性が高くなる特徴がある。また、インターリーブ長が長くなりすぎるとパリティ演算手段１７内のメモリが大きくなるので、伝送路のエラー発生状況により適切に設定すればよい。
【００７０】
また、本実施の形態ではＲＴＰヘッダ内のシーケンス番号は、１カウントずつカウントアップされるとしたが、パケットの連続性が判定できる別の手段でも代用できるのは言うまでもない。
【００７１】
さらに、本実施の形態１ではデータブロック長を１４５４バイトとしたが、本データブロック長はイーサネット（登録商標）の最大フレーム長の１５００バイトからヘッダ長を引いた長さであり、この例以外のデータブロック長でも構わない。
【００７２】
本発明は、任意の長さでデータを分割してパリティを生成すれば同様の効果が得られることは言うまでもない。
【００７３】
（実施の形態２）
本発明の実施の形態１において、図７に示したように９パケットに１個のパリティパケットを付加しインターリーブ長１０でパリティ生成しているものとして、１０個の連続したパケットロスが発生した場合でも修復可能な実施の形態について説明した。本実施の形態２では、分散してパケットロスが発生した場合にでも、エラー訂正ができる実施の形態について説明する。
【００７４】
例えば、図７において、Ｎｏ．１とＮｏ.１１の２つのデータブロックに相当するデータパケットにパケットロスが発生した場合について考える。この場合、縦方向に付与したパリティパケットが１個であるため修正可能なパケットロスは１個であり、２つのパケットを修正できない。そこで、インターリーブドリードソロモンによるパリティ生成をすることでこれらのパケットを修正できる方式について説明する。
【００７５】
図９において、送信データは、所定のデータブロック９１（本実施の形態２では、１４５４バイト）に分割される。分割された９０個のパケットは、一旦バッファに格納され、パリティが生成される。パリティの生成方法は、図９のパリティ生成ブロック９２に示すように、９０個の各データブロックの先頭データＤ0に１０バイトのリードソロモンによるパリティが生成される。先頭データＤ0が終了すると、次にＤ1、Ｄ2の順に、最後にＤ1453のパリティを生成する。パリティが生成されると各データブロックに、図２に示すＩＰヘッダ２１、ＵＤＰヘッダ２２、ＲＴＰヘッダ２３を付加したＲＴＰパケットを生成し、さらに図５に示すようなＲＴＰパケット群が生成され、先頭のパケットから順にネットワークへ送信される。
【００７６】
上記の様にパリティが生成された場合、１０パケット分のパリティが付加されていることになるので、図５におけるデータパケット群５１とパリティパケット群５２の合計１００パケットのうち、いずれの１０パケットがパケットロスを発生しても修正可能となる。
【００７７】
このような方法でパリティが付加された場合であっても、図１に示す受信装置で同様に処理が可能となる。図５の様に構成されたパケットでも、データ抽出手段１３での処理内容と、パケットロス検出手段１６におけるＲＴＰヘッダ２３内のシーケンス番号２５の連続性を確認する作業は実施の形態１で説明した内容と同じである。
【００７８】
パリティ演算手段１７の内部回路については実施の形態１とは異なる構成であり、図４にパリティ演算手段１７の内部回路を示した。
【００７９】
レジスタ４２は、演算結果の一時蓄積を行うものであり、パリティバイト数だけ備えられるが、本実施の形態の場合１０個存在する。
【００８０】
乗算器４１は、ガロア乗算を行うものであり、各乗算係数は適切に選定される。
【００８１】
加算器４３は、ガロア加算を行うが実際には、ＥＸ−ＯＲ（排他論理和）演算が行われる。
【００８２】
メモリ手段４４は、メモリであり、本実施の形態２の場合、１０バイト幅で１４５４ブロックのメモリを持っている。
【００８３】
巡回アドレスカウンタ４５は、データブロックの長さで巡回するが、本実施の形態２では１４５４個の巡回を行う。
【００８４】
このように構成されたパリティ演算手段１７の動作を説明する。
【００８５】
まず、メモリ手段４４に格納されたデータをレジスタ４２に格納する。次に、データが入力されると、乗算器４１によるガロア乗算、加算器４３によるガロア加算演算を行い、その結果をレジスタ４２に格納する。
【００８６】
乗算器４１、加算器４３による演算が完了したらメモリ手段４４の読み出した同アドレスにレジスタの内容を記録する。メモリへの記録が完了した後に、アドレスをインクリメントして次のデータ処理のためにメモリの内容を再度レジスタに書き込み次のデータを待つ。
【００８７】
この動作を、データブロック長１４５４バイトを１００パケット分、演算処理を行う。リードソロモンの場合、上記動作を行うと、パケットロスがない場合には、演算終了後のメモリ手段４４の内容はすべて０になる。パケットロスが発生した場合には、メモリ手段４４内には、０でないデータ（シンドローム）が残ることになるが、そのシンドロームと、パケットロス検出手段１６により得られる、パケットロスの位置情報からエラー訂正手段１８により欠落したパケットを復元して、バッファメモリ手段１４に復元したデータを記録する。
【００８８】
このように、インターリーブドリードソロモンの様に、９０パケットに１０個のパリティ符号を付加する方式に変更することにより、パケットロスが分散して発生した場合であっても安定してパケットロスが修正可能となる。
【００８９】
本実施の形態２では、パリティパケットを１０個としたが、本発明の効果はパリティパケット数が異なる場合でも同様に期待できる。
【００９０】
またデータブロックサイズは、イーサフレームの最大値である１４５４バイトとして説明したが、データサイズが異なる場合であっても同様の効果があることは言うまでもない。
【産業上の利用可能性】
【００９１】
本発明は、受信装置に関し、特に誤り訂正データを付加して送信されてくるデータを受信する装置に適用できる。
【図面の簡単な説明】
【００９２】
【図１】本発明の受信装置の構成図
【図２】ＲＴＰパケットの説明図
【図３】従来の受信装置の構成図
【図４】リードソロモン符号の場合のパリティ演算手段の内部構成図
【図５】インターリーブドリードソロモンによるエラー訂正符号の説明図
【図６】従来の受信装置が誤り訂正不可能なパケットロスの発生状況の説明図
【図７】実施の形態１におけるパリティ生成方法の説明図
【図８】実施の形態１におけるパリティ演算手段の説明図
【図９】実施の形態２におけるパリティ生成方法の説明図
【符号の説明】
【００９３】
１１  受信手段
１２  受信バッファ
１３  データ抽出手段
１４  バッファメモリ手段
１５  再生手段
１６  パケットロス検出手段
１７  パリティ演算手段
１８  エラー訂正手段
２１  ＩＰヘッダ
２２  ＵＤＰヘッダ
２３  ＲＴＰヘッダ
２４  データ部
２５  シーケンス番号
３１  受信手段
３２  受信バッファ
３３  デインターリーブ手段
３４  エラー訂正手段
３５  データ抽出手段
３６  バッファメモリ手段
３７  再生手段
３８  パケットロス検出手段
４１  乗算器
４２  レジスタ
４３  加算器
４４  メモリ手段
４５  巡回アドレスカウンタ
５０  データパケット
５１  データパケット群
５２  パリティパケット群
９１  データブロック
９２  パリティ生成ブロック
【図１】
2008011142.tif 000003
【図２】
2008011142.tif 000004
【図３】
2008011142.tif 000005
【図４】
2008011142.tif 000006
【図５】
2008011142.tif 000007
【図６】
2008011142.tif 000008
【図７】
2008011142.tif 000009
【図８】
2008011142.tif 000010
【図９】
2008011142.tif 000011