(57)【特許請求の範囲】
【請求項１】
データパケットを受信する第１受信部と、
前記データパケットを記憶する第１記憶部と、
欠損したデータパケットを回復するための冗長データと、前記冗長データの生成に用いられた複数のデータパケットを特定する第１特定情報とを含む品質補強パケットを受信する第２受信部と、
前記品質補強パケットを記憶する第２記憶部と、
前記データパケットの擾乱を解消する第１処理部と、
前記品質補強パケットを特定する第２特定情報と、欠損したデータパケットを回復する演算を行う品質補強処理の前記演算の途中結果及び最終結果のうち少なくとも一方の結果と、前記品質補強パケットに対応する前記データパケットのうち前記演算に用いられた前記データパケットの前記第１特定情報と、を示す処理状態を前記品質補強処理毎に記憶する第３記憶部と、
前記品質補強パケットに含まれる前記冗長データと、前記第１特定情報によって特定され且つ前記第１記憶部に記憶された前記データパケットとを用いて、前記品質補強処理を行う第２処理部と、
前記演算の最終結果により、欠損した第１データパケットが回復された場合、当該第１データパケットを前記第１記憶部に記憶させる第３処理部と、を備え、
前記第２処理部は、
前記品質補強処理を中断する場合、前記演算に用いた前記品質補強パケットの前記第２特定情報と、前記演算の途中結果と、前記演算に用いた前記データパケットの前記第１特定情報とを示す前記処理状態を前記第３記憶部に記憶させ、
前記品質補強処理を中断した後に新たな前記品質補強パケットを受信した場合、新たに受信した前記品質補強パケットに含まれる前記冗長データと、前記第１特定情報によって特定され且つ前記第１記憶部に記憶された前記データパケットとを用いて、前記品質補強処理を行い、
中断した前記品質補強処理を再開する場合、前記第１特定情報によって特定され且つ前記第１記憶部に記憶された前記データパケットのうち前記演算に用いていない前記データパケットと、前記第３記憶部に記憶された前記処理状態によって示される前記第２特定情報で特定される前記品質補強パケットと、前記第３記憶部に記憶された前記処理状態によって示される前記演算の途中結果と、を用いて前記品質補強処理を再開する、
ことを特徴とする受信処理装置。
【請求項２】
前記第２処理部は、前記品質補強処理を行った結果、前記第１データパケットが回復された場合、前記演算の最終結果である前記第１データパケットを前記第３処理部に出力し、当該品質補強処理の前記処理状態を前記第３記憶部から削除する
ことを特徴とする請求項１に記載の受信処理装置。
【請求項３】
前記第２処理部は、前記品質補強処理を行った結果、欠損したデータパケットがなかった場合、当該品質補強処理の前記処理状態を前記第３記憶部から削除する
ことを特徴とする請求項１に記載の受信処理装置。
【請求項４】
前記第２処理部は、前記第１特定情報によって特定され且つ前記第１記憶部に記憶された前記データパケットのうち、所定の個数の前記データパケットを用いて前記演算を行った後、前記品質補強処理を中断して、前記処理状態を前記第３記憶部に記憶させ、前記演算に用いていない所定の個数の前記データパケットと、当該品質補強パケットに対する前記処理状態によって示される前記演算の途中結果とを用いて前記演算を行うことにより、前記品質補強処理を再開することを繰り返す
ことを特徴とする請求項１に記載の受信処理装置。
【請求項５】
前記第１受信部は、ＲＴＰ（Real-time  Transport  Protocol）プロトコルに従ったデータパケットを受信し、
前記第２受信部は、ＲＴＰプロトコルに従った品質補強パケットを受信する
ことを特徴とする請求項１に記載の受信処理装置。
【請求項６】
前記第２処理部は、前記冗長データ及び当該冗長データの生成に用いられた前記データパケット間で排他的論理和の演算を行う前記品質補強処理を行う
ことを特徴とする請求項１に記載の受信処理装置。
【請求項７】
コンピュータに、
データパケットを受信する第１受信ステップと、
前記データパケットを第１記憶部に記憶する第１記憶ステップと、
欠損したデータパケットを回復するための冗長データと、前記冗長データの生成に用いられた複数のデータパケットを特定する第１特定情報とを含む品質補強パケットを受信する第２受信ステップと、
前記品質補強パケットを第２記憶部に記憶する第２記憶ステップと、
前記データパケットの擾乱を解消する第１処理ステップと、
前記品質補強パケットを特定する第２特定情報と、欠損したデータパケットを回復する演算を行う品質補強処理の前記演算の途中結果及び最終結果のうち少なくとも一方の結果と、前記品質補強パケットに対応する前記データパケットのうち前記演算に用いられた前記データパケットの前記第１特定情報と、を示す処理状態を前記品質補強処理毎に第３記憶部に記憶する第３記憶ステップと、
前記品質補強パケットに含まれる前記冗長データと、前記第１特定情報によって特定され且つ前記第１記憶部に記憶された前記データパケットとを用いて、前記品質補強処理を行う第２処理ステップと、
前記演算の最終結果により、欠損した第１データパケットが回復された場合、当該第１データパケットを前記第１記憶部に記憶させる第３処理ステップと、を実行させ、
前記第２処理ステップは、
前記品質補強処理を中断する場合、前記演算に用いた前記品質補強パケットの前記第２特定情報と、前記演算の途中結果と、前記演算に用いた前記データパケットの前記第１特定情報とを示す前記処理状態を前記第３記憶部に記憶させ、
前記品質補強処理を中断した後に新たな前記品質補強パケットを受信した場合、新たに受信した前記品質補強パケットに含まれる前記冗長データと、前記第１特定情報によって特定され且つ前記第１記憶部に記憶された前記データパケットとを用いて、前記品質補強処理を行い、
中断した前記品質補強処理を再開する場合、前記第１特定情報によって特定され且つ前記第１記憶部に記憶された前記データパケットのうち前記演算に用いていない前記データパケットと、前記第３記憶部に記憶された前記処理状態によって示される前記第２特定情報で特定される前記品質補強パケットと、前記第３記憶部に記憶された前記処理状態によって示される前記演算の途中結果と、を用いて前記品質補強処理を再開する、
プログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、受信処理装置に関する。
【背景技術】
【０００２】
従来より、ＩＰの通信網における動画や音声のリアルタイム・ストリーミング伝送におけるプロトコルとして、ＲＴＰ（Ｒｅａｌ−ｔｉｍｅ  Ｔｒａｎｓｐｏｒｔ  Ｐｒｏｔｏｃｏｌ）がある。ＲＴＰでは、データの順序の入れ替えや伝送間隔の揺らぎを解消する(ＲＴＰ処理という)ことは可能であるが、欠損したデータについては検出のみ可能であり回復することはできない。欠損したデータを回復する手法として一般的なものに、データの再送を行なう手法と誤り訂正符号を用いる手法とがある。データの再送を行なう手法は、時間的な観点や、再送の不確実性及び再送の要求の困難性の観点から、リアルタイム・ストリーミング伝送での適用は必ずしも適さない。一方、誤り訂正符号を用いる手法では、実用的なものとしてＦＥＣ（Ｆｏｒｗａｒｄ  Ｅｒｒｏｒ  Ｃｏｒｒｅｃｔｉｏｎ：前方向誤り訂正）符号化伝送による回復措置が知られている。ＦＥＣでは、送信側では、送信対象のデータ（元データという）をグループ化し、予め決められた手法で演算して各グループに対する冗長データを生成し、ＦＥＣパケットに冗長データを格納して元データと並列に送信する。受信側では、各グループ内で一部の元データが欠損した場合に、残りの元データと対応する冗長データから予め決められた手法で演算し、欠損した元データを回復することが可能となる。このような処理を品質補強処理(ＦＥＣ処理)という。この場合、冗長データと元データとがほとんど遅滞なく伝送されるため、受信側では即時に回復が可能となり、処理にかかる遅延は、欠損した元データを再送する場合と比べて小さくなる。尚、ＲＴＰに適用する一般的なＦＥＣ方式としては、ＲＦＣ５１０９やＲＦＣ２７３３で規定された方式がある（非特許文献１）。
【先行技術文献】
【非特許文献】
【０００３】
【非特許文献１】“ＲＦＣ５１０９  −  ＲＴＰ  Ｐａｙｌｏａｄ  Ｆｏｒｍａｔ  ｆｏｒ  Ｇｅｎｅｒｉｃ  Ｆｏｒｗａｒｄ  Ｅｒｒｏｒ  Ｃｏｒｒｅｃｔｉｏｎ”，  ＩＥＴＦ，  Ｄｅｃｅｍｂｅｒ  ２００７  〜  ３．Ｂａｓｉｃ  Ｏｐｅｒａｔｉｏｎ
【発明の概要】
【発明が解決しようとする課題】
【０００４】
従来では、ＲＴＰ処理とＦＥＣ処理とは、それぞれ独立した別処理として行なっていた。これは、主処理系であるＲＴＰ処理に対して、副処理系でありＲＴＰ処理と比べ難解なＦＥＣ処理を隠蔽し分離させるという目的がある。この前提として、ＦＥＣ処理部に必要なデータを入力する以前の時点で、すべての必要なデータが準備できなければ，ＦＥＣ処理を適切に実行することができない恐れがあった。つまり、ＲＴＰ処理を行うことによって順序の入れ替えや伝送間隔の揺らぎが解消されるまでに必要な時間を経てからＦＥＣ処理を開始する必要があり、特に伝送間隔の揺らぎが大きい場合には，ＲＴＰ処理での待機時間も大きくなる。結果、無駄な遅延時間を生じさせる結果となり、通信装置間の伝搬時間を増大させ、電話や動画像等のリアルタイム伝送で望ましくない状況となり得る。一方，ＲＴＰ処理で必要な待機をせずにＦＥＣ処理を開始すれば、必要なデータが揃わないためＦＥＣ処理は不完全となり、パケットロスに対する耐性が低下してしまう恐れがある。【０００５】
本発明は、上記に鑑みてなされたものであって、品質補強処理で生じる無駄な遅延時間を解消することができると共に、パケットロスに対する耐性を維持することが可能な受信処理装置を提供することを目的とする。
【課題を解決するための手段】
【０００６】
上述した課題を解決し、目的を達成するために、本発明は、受信処理装置であって、データパケットを受信する第１受信部と、前記データパケットを記憶する第１記憶部と、欠損したデータパケットを回復するための冗長データと、前記冗長データの生成に用いられた複数のデータパケットを特定する特定情報とを含む品質補強パケットを受信する第２受信部と、前記品質補強パケットを記憶する第２記憶部と、前記データパケットの擾乱を解消する第１処理部と、前記第２記憶部に記憶された前記品質補強パケットと、前記特定情報によって特定され且つ前記第１記憶部に記憶された前記データパケットとの対応関係を記憶する第３記憶部と、欠損したデータパケットを回復する演算を行う品質補強処理の前記演算の途中結果及び最終結果のうち少なくとも一方の結果を示す処理状態を前記品質補強処理毎に記憶する第４記憶部と、前記品質補強パケットに含まれる前記冗長データと、前記対応関係によって特定される、前記品質補強パケットに対応する前記データパケットとを用いて、前記品質補強処理を行う処理部であって、前記品質補強処理を中断する場合、前記演算の途中結果を示す前記処理状態を前記第４記憶部に記憶させ、当該処理状態を用いて、前記品質補強処理を再開する第２処理部と、前記演算の最終結果により、欠損した第１データパケットが回復された場合、当該第１データパケットを前記第１記憶部に記憶させる第３処理部とを備えることを特徴とする。
【発明の効果】
【０００７】
本発明によれば、品質補強処理で生じる無駄な遅延時間を解消することができると共に、パケットロスに対する耐性を維持することが可能になる。
【図面の簡単な説明】
【０００８】
【図１】一実施の形態の受信処理装置５０のハードウェア構成を例示する図。
【図２】受信処理装置５０の受信形態を例示する図。
【図３】受信処理装置５０の機能的構成を例示する図。
【図４】受信処理装置５０の行う受信処理の手順を示す図。
【図５】従来と実施の形態とでＦＥＣ処理にかかる処理時間を比較する図。
【図６】受信処理装置５０の受信形態及び送信形態を例示する図。
【図７】一変形例の受信処理装置５０の行う受信処理の手順を示す図。
【発明を実施するための形態】
【０００９】
以下に添付図面を参照して、この発明にかかる受信処理装置の実施の形態を詳細に説明する。まず、受信処理装置５０のハードウェア構成について図１を用いて説明する。受信処理装置５０は、装置全体を制御するＣＰＵ（Central  Processing  Unit）等の制御部５１と、各種データや各種プログラムを記憶するＲＯＭ（Read  Only  Memory）やＲＡＭ（Random  Access  Memory）等の主記憶部５２と、各種データや各種プログラムを記憶するＨＤＤ（Hard  Disk  Drive）やＣＤ（Compact  Disk）ドライブ装置等の補助記憶部５３と、外部装置の通信を制御する通信Ｉ／Ｆ（interface）５４とこれらを接続するバスとを備えており、通常のコンピュータを利用したハードウェア構成となっている。また、受信処理装置５０には、情報を表示する表示部５５と、ユーザの指示入力を受け付けるキーボードやマウス等の操作入力部５６とが有線又は無線により各々接続される。このような受信処理装置５０は、図２に例示されるように、通信Ｉ／Ｆ５４及びネットワークＮＴ１を介して外部装置である送信装置１００から、品質補強パケットであるＦＥＣパケット及びデータパケットであるＲＴＰパケットを受信する。ネットワークＮＴ１とは、例えば、ＬＡＮ（Local  Area  Network）、イントラネット、イーサネット（登録商標）又はインターネットなどである。ＲＴＰパケット及びＦＥＣパケットとは、例えば上述したＲＴＰに従って通信されるパケットである。
【００１０】
次に、このようなハードウェア構成において、受信処理装置５０の制御部５１が主記憶部５２や補助記憶部５３に記憶された各種プログラムを実行することにより実現される各種機能について説明する。図３は、受信処理装置５０の機能的構成を例示する図である。制御部５１は、受信処理部６０と、ＲＴＰ処理部６１と、処理状態管理部６２と、ＦＥＣ処理部６３とを有する。受信処理部６０の機能は、通信Ｉ／Ｆ５４により実現される。ＲＴＰ処理部６１の機能は、制御部５１がプログラムを実行することにより実現されると共に、主記憶部５２により実現される。処理状態管理部６２の機能は、主記憶部５２により実現される。ＦＥＣ処理部６３の機能は、制御部５１がプログラムを実行することにより実現される。
【００１１】
受信処理部６０は、品質補強パケット受信処理部６４と、データパケット受信処理部６５とを有する。品質補強パケット受信処理部６４は、品質補強パケット（ＦＥＣパケットという）をネットワークＮＴ１を介して送信装置１００から受信する。ＦＥＣパケットは、当該ＦＥＣパケットに付与された順序を示す順序番号であるシーケンス番号と、欠損したデータパケット（ＲＴＰパケットという）を回復するための冗長データと、当該冗長データの生成に用いられたＲＴＰパケットを特定するＲＴＰパケット特定情報とを含む。冗長データとは、送信装置１００において、予め対応付けられた複数のＲＴＰパケットを用いて予め定められた演算としてＸＯＲ（排他的論理和）の演算により生成されたデータである。例えば、ＲＴＰパケット特定情報とは、例えば、ＲＴＰパケットに付与されたシーケンス番号であったり、当該シーケンス番号を用いて予め決められた通り（再構成可能）に演算された演算値であったりする。このＲＴＰパケット特定情報により、ＲＴＰパケットと、ＦＥＣパケットとの対応関係が特定される。データパケット受信処理部６５は、ＲＴＰパケットをネットワークＮＴ１を介して送信装置１００から受信する。ＲＴＰパケットは、例えば、動画や音声等を表すメディアデータ、シーケンス番号、タイムスタンプ等を含む。
【００１２】
ＲＴＰ処理部６１は、品質補強パケットバッファ６６と、データパケットバッファ６７と、擾乱解消処理部６８とを有する。品質補強パケットバッファ６６は、品質補強パケット受信処理部６４が受信したＦＥＣパケットをバッファリング（記憶）する。データパケットバッファ６７は、データパケット受信処理部６５が受信したＲＴＰパケットをバッファリングする。擾乱解消処理部６８は、データパケット受信処理部６５が受信したＲＴＰパケットの擾乱（特に順序の入れ替えや伝送間隔の揺らぎ）を解消するＲＴＰ処理を行う。具体的には例えば、擾乱解消処理部６８は、データパケットバッファ６７において、データパケット受信処理部６５が受信したＲＴＰパケットがシーケンス番号が小さい順になるようにＲＴＰパケットの順序を適宜入れ替えたり、ジッタの発生により受信が遅延しているＲＴＰパケットを待機したりする。また、擾乱解消処理部６８は、品質補強パケットバッファ６６において、品質補強パケット受信処理部６４が受信したＦＥＣパケットの擾乱を解消するＲＴＰ処理を行ってもよい。
【００１３】
処理状態管理部６２は、対応関係記憶部６９と、品質補強処理状態記憶部７０とを有する。対応関係記憶部６９は、後述する品質補強処理部７３の制御の下、品質補強パケットバッファ６６に記憶されているＦＥＣパケットと、当該ＦＥＣパケットと対応付けられているＲＴＰパケットでありデータパケットバッファ６７に記憶されているＲＴＰパケットとの対応関係を記憶する。品質補強処理状態記憶部７０は、品質補強処理部７３の制御の下、品質補強処理部７３が予め定められた演算としてＸＯＲの演算を行う品質補強処理（ＦＥＣ処理という）の演算の途中結果及び最終結果のうち少なくとも一方を示す処理状態をＦＥＣ処理毎に記憶する。ＦＥＣ処理及び処理状態の詳細については後述する。
【００１４】
ＦＥＣ処理部６３は、品質補強パケット取得処理部７１と、データパケット取得処理部７２と、品質補強処理部７３と、回復データパケット出力処理部７４とを有する。品質補強パケット取得処理部７１は、ＦＥＣパケットを品質補強パケットバッファ６６から読み出して取得する。データパケット取得処理部７２は、ＲＴＰパケットをデータパケットバッファ６７から読み出して取得する。品質補強処理部７３は、品質補強パケット取得処理部７１が取得したＦＥＣパケット及び当該ＦＥＣパケットに対応し且つデータパケット取得処理部７２が取得したＲＴＰパケットを用いて、予め定められた手法により演算して欠損したＲＴＰパケットを回復するＦＥＣ処理を行う。具体的には、例えば、品質補強処理部７３は、ＦＥＣパケットに含まれる冗長データと、当該ＦＥＣパケットに対応する１つのＲＴＰパケットとを用いて予め定められた演算としてこれらのＸＯＲを演算して、演算の途中結果（演算結果という）を得る。そして、品質補強処理部７３は、当該演算結果と、当該ＦＥＣパケットに対応する他の１つのＲＴＰパケットとのＸＯＲを演算して、演算結果を得る。当該ＦＥＣパケットに対応するＲＴＰパケットが３つ以上ある場合には、品質補強処理部７３は、直前の演算結果と、演算に用いていない１つのＲＴＰパケットとのＸＯＲの演算を行うことを繰り返す。このように、品質補強処理部７３は、ＦＥＣパケットに対応するＲＴＰパケット毎に、ＸＯＲの演算を行って、演算結果を得て、ＦＥＣパケットに対応するＲＴＰパケットのうち欠損したＲＴＰパケットがある場合には、演算の最終結果として、ＲＴＰパケットが得られる。即ち、欠損したＲＴＰパケットが回復される。一方、ＦＥＣパケットに対応するＲＴＰパケットのうち欠損したＲＴＰパケットがない場合には、品質補強処理部７３は、演算の最終結果を無効にできる。
【００１５】
また、本実施の形態においては、品質補強処理部７３は、品質補強パケットバッファ６６に新たなＦＥＣパケットがバッファリングされたか否かを検出すると共に、データパケットバッファ６７に新たなＲＴＰパケットがバッファリングされたか否かを検出し、品質補強パケットバッファ６６にバッファリングされたＦＥＣパケットと、当該ＦＥＣパケットに対応するＲＴＰパケットのうち、データパケットバッファ６７にバッファリングされたＲＴＰパケットとの対応関係を対応関係記憶部６９に記憶させる。尚、ＦＥＣパケットに対応するＲＴＰパケットは、上述したＲＴＰパケット特定情報を用いて特定することができる。対応関係としては、例えば、ＦＥＣパケットのシーケンス番号と、当該ＦＥＣパケットに対応するＲＴＰパケットのシーケンス番号とを行列形式でも良いし、これらをリンクで繋げてグラフ化しても良い。
【００１６】
そして、品質補強処理部７３は、ＦＥＣ処理部を開始する際に、対応関係記憶部６９に記憶された対応関係記憶部６９に記憶された対応関係を参照して、処理の対象とするＦＥＣパケットと、当該ＦＥＣパケットに対応するＲＴＰパケットであってデータパケットバッファ６７にバッファリングされたＲＴＰパケットのうち、当該ＦＥＣパケットに関するＦＥＣ処理部において上述のＸＯＲの演算に用いていないＲＴＰパケットとを用いて、ＦＥＣ処理部を行う。そして、当該ＲＴＰパケットを用いたＸＯＲの演算を終了したとき、品質補強処理部７３は、処理の対象であるＦＥＣパケットのシーケンス番号と、ＸＯＲの演算に用いたＲＴＰパケットに付与されたシーケンス番号と、演算結果とを示す処理状態を品質補強処理状態記憶部７０に記憶させる。また、ＦＥＣ処理が完了したとき、ＦＥＣパケットに対応するＲＴＰパケットのうち欠損したＲＴＰパケットがある場合には、品質補強処理部７３は、演算の最終結果であるＲＴＰパケットを処理状態として得て、これを回復データパケット出力処理部７４に出力し、当該ＦＥＣパケットに対するＦＥＣ処理の処理状態を品質補強処理状態記憶部７０から削除して、ＦＥＣ処理を終了する。一方、ＦＥＣ処理が完了したとき、ＦＥＣパケットに対応するＲＴＰパケットのうち欠損したＲＴＰパケットがない場合には、品質補強処理部７３は、当該ＦＥＣパケットに対するＦＥＣ処理の処理状態を品質補強処理状態記憶部７０から削除することによりこれを無効にして、ＦＥＣ処理を終了する。
【００１７】
回復データパケット出力処理部７４は、品質補強処理部７３が回復して出力したＲＴＰパケットをデータパケットバッファ６７に出力する。このとき、回復データパケット出力処理部７４は、データパケットバッファ６７において、上述したシーケンス番号が小さい順になるように、当該ＲＴＰパケットを挿入することにより、当該ＲＴＰパケットをデータパケットバッファ６７にバッファリングさせる。尚、データパケットバッファ６７にバッファリングされたＲＴＰパケットは、所定のアプリケーションプログラムに順次渡され、当該アプリケーションプログラムの機能により、当該ＲＴＰパケットを用いた再生が行われることになる。
【００１８】
次に、本実施の形態にかかる受信処理装置５０の行う受信処理の手順について図４を用いて説明する。受信処理装置５０は、データパケット受信処理部６５の機能により、ＲＴＰパケットを受信した場合（ステップＳ１：ＹＥＳ）、当該ＲＴＰパケットをデータパケットバッファ６７にバッファリングし（ステップＳ２）、品質補強パケット受信処理部６４の機能により、ＦＥＣパケットを受信した場合（ステップＳ３：ＹＥＳ）、当該ＦＥＣパケットを品質補強パケットバッファ６６にバッファリングする（ステップＳ４）。また、受信処理装置５０は、擾乱解消処理部６８の機能により、データパケットバッファ６７（や品質補強パケットバッファ６６）においてＲＴＰパケットの擾乱（特に順序の入れ替えや伝送間隔の揺らぎ）を解消するＲＴＰ処理を行う（ステップＳ５）。
【００１９】
また、受信処理装置５０は、品質補強処理部７３の機能により、品質補強パケットバッファ６６に新たなＦＥＣパケットがバッファリングされたか否かを検出すると共に、データパケットバッファ６７に新たなＲＴＰパケットがバッファリングされたか否かを検出し、品質補強パケットバッファ６６にバッファリングされたＦＥＣパケットと、当該ＦＥＣパケットに対応するＲＴＰパケットのうち、データパケットバッファ６７にバッファリングされたＲＴＰパケットとの対応関係を対応関係記憶部６９に記憶させる（ステップＳ６）。
【００２０】
また、受信処理装置５０は、品質補強パケット取得処理部７１の機能により、処理の対象とするＦＥＴパケットを品質補強パケットバッファ６６から読み出して取得する（ステップＳ７：ＹＥＳ）。そして、受信処理装置５０は、対応関係記憶部６９に記憶された対応関係を参照して、ステップＳ６で取得したＦＥＣパケットに含まれるＲＴＰパケット特定情報によって特定されるＲＴＰパケットのうち、データパケットバッファ６７にバッファリングされたＲＴＰパケットを、データパケット取得処理部７２の機能により取得する（ステップＳ８）。ここで、取得されるＲＴＰパケットは、１つであっても良いし、複数であっても良い。その後、受信処理装置５０は、品質補強処理部７３の機能により、ステップＳ７で取得したＦＥＣパケット及びステップＳ８で取得したＲＴＰパケットを用いて、ＦＥＣ処理を開始する（ステップＳ９）。そして、受信処理装置５０は、ＦＥＣ処理では、上述したように、ＦＥＣパケットと、当該ＦＥＣパケットに対応する１つのＲＴＰパケットとのＸＯＲの演算を行い、直前の演算結果と、演算に用いていない１つのＲＴＰパケットとのＸＯＲの演算を行うことを繰り返す。ここで、ステップＳ８で取得されたＲＴＰパケットを全て用いてＸＯＲの演算が終了したとき、受信処理装置５０は、当該ＦＥＣ処理の処理状態を品質補強処理状態記憶部７０に記憶させる（ステップＳ１０）。このとき、ＦＥＣ処理が完了し、最終の演算結果が処理状態として得られた場合（ステップＳ１１：ＹＥＳ）且つ当該処理状態として欠損したパケットが得られた場合（ステップＳ１２：ＹＥＳ）、受信処理装置５０は、回復データパケット出力処理部７４の機能を介して、当該パケットをデータパケットバッファ６７に出力する（ステップＳ１３）。この結果、回復されたＲＴＰパケットがデータパケットバッファ６７にバッファリングされる。また、受信処理装置５０は、品質補強処理部７３の機能により、当該処理状態を品質補強処理状態記憶部７０から削除して、ＦＥＣ処理を終了する（ステップＳ１４）。尚、ＦＥＣ処理が完了し、最終の演算結果が処理状態として得られた場合であっても（ステップＳ１１：ＹＥＳ）、ＦＥＣパケットに対応するＲＴＰパケットのうち欠損したＲＴＰパケットがなかった場合（ステップＳ１２：ＮＯ）、受信処理装置５０は、ステップＳ１４で、品質補強処理部７３の機能により、当該処理状態を品質補強処理状態記憶部７０から削除して、ＦＥＣ処理を終了する。
【００２１】
また、ステップＳ８で取得されたＲＴＰパケットを全て用いてＸＯＲの演算が終了したとき、ＦＥＣ処理が完了しない場合（ステップＳ１１：ＮＯ）、受信処理装置５０は、ＦＥＣ処理を中断する（ステップＳ１７）。そして、受信処理装置５０は、新たなＦＥＣパケットや新たなＲＴＰパケットを取得すべく、ステップＳ１に戻る。
【００２２】
尚、ステップＳ７で、ＦＥＣパケットを品質補強パケットバッファ６６から取得できなかった場合（ステップＳ７：ＮＯ）、受信処理装置５０は、品質補強処理状態記憶部７０に記憶された処理状態を参照して、上述のステップＳ１７でＦＥＣ処理を中断してＦＥＣ処理が未完了であるＦＥＣパケットがあるか否かを判断する（ステップＳ１５）。ＦＥＣ処理が未完了であるＦＥＣパケットがある場合（ステップＳ１５：ＹＥＳ）、受信処理装置５０は、品質補強処理状態記憶部７０に記憶された処理状態及び対応関係記憶部６９に記憶された対応関係を参照して、当該ＦＥＣパケットに含まれるＲＴＰパケット特定情報によって特定されるＲＴＰパケットのうち、データパケットバッファ６７にバッファリングされたＲＴＰパケットであって、当該ＦＥＣパケットに関するＦＥＣ処理においてＸＯＲの演算に用いていないＲＴＰパケットを、データパケット取得処理部７２の機能により取得する（ステップＳ１６）。その後、ステップＳ９では、受信処理装置５０は、ステップＳ８で取得したＲＴＰパケットと、品質補強処理状態記憶部７０に記憶された処理状態とを用いて、ＦＥＣ処理を再開する。ここで、品質補強処理状態記憶部７０に記憶された処理状態により、受信処理装置５０は、処理の対象となるＦＥＣパケットがいずれであるのかと、当該ＦＥＣパケットに対するＦＥＣ処理を中断したときのＸＯＲの演算結果と、処理の対象であるＦＥＣパケットに対応するＲＴＰパケットのうち演算に用いられたＲＴＰパケットがいずれであるかとを各々特定することができる。従って、受信処理装置５０は、中断したときのＦＥＣ処理の状態に示される演算結果と、ステップＳ８で取得したＲＴＰパケットとを用いて、ＦＥＣ処理を再開することができる。その後、ステップＳ１０に進む。尚、ステップＳ１５の判断結果が否定的である場合（ステップＳ１５：ＮＯ）、受信処理装置５０は、新たなＦＥＣパケットや新たなＲＴＰパケットを取得すべく、ステップＳ１に戻る。
【００２３】
以上のように、ＦＥＣパケットと当該ＦＥＣパケットに対応して受信されたＲＴＰパケットとの対応関係と、ＦＥＣ処理の状態とを記憶し、ＦＥＣ処理毎のＲＴＰパケットの受信に応じて、ＦＥＣ処理の中断及び再開を可能にする。即ち、ＲＴＰのように大きなジッタを許容する通信方式において、順序の入れ替えや伝送間隔の揺らぎなどの擾乱を解消するＲＴＰ処理とＦＥＣ処理とを並列に実行可能にする。また、複数のＦＥＣパケットについて、１つのＦＥＣパケットに対するＦＥＣ処理の完了を待たずに、他のＦＥＣパケットに対するＦＥＣ処理を開始することができる。
【００２４】
このような構成によれば、ＲＴＰ処理における擾乱の解消に必要な時間を待たずにＦＥＣ処理を開始してもＦＥＣ処理を完了することが可能になる。従来では、ＦＥＣ処理については、ＲＴＰ処理における擾乱の解消に必要な時間を経てから開始する必要があり、特に伝送間隔の揺らぎが大きい場合、結果としてＲＴＰ処理における必要な待機時間が長くなるため、無駄な遅延時間が生じる恐れがあった。例えば、図５の（ａ）に例示されるように、ＦＥＣパケットに対応するＲＴＰパケットであるＤＡＴＡ４００の受信が遅延した場合、当該ＤＡＴＡ４００の受信を待ってからＦＥＣ処理を行うと、無駄な遅延時間が生じる一方で、ＲＴＰ処理における必要な時間の待機をせずにＦＥＣ処理を開始すれば、必要なデータが揃わないためにＦＥＣ処理は不完全となり、欠損したパケットに対する耐性が低下する恐れがあった。ところが、本実施の形態においては、上述した構成により、ＲＴＰ等のように大きなジッタを許容する通信方式においてＦＥＣ処理を用いる場合に、ＦＥＣ処理で生じる無駄な遅延時間を解消することができると共に、パケットロスに対する耐性を維持することができる。即ち、図５の（ｂ）の例では、ＦＥＣパケット４０１を受信してＦＥＣ処理を開始でき次第、ＦＥＣ処理を開始するため、たとえＲＴＰパケットの受信の遅延があったとしても、無駄な遅延時間を削減することができるのである。この結果、映像配信や電話など動画や音声などのリアルタイム伝送で重要となる、送信装置及び受信処理装置間におけるデータの伝搬時間の増大をより一層抑制することができる。
【００２５】
[変形例]
なお、本発明は前記実施形態そのままに限定されるものではなく、実施段階ではその要旨を逸脱しない範囲で構成要素を変形して具体化できる。また、前記実施形態に開示されている複数の構成要素の適宜な組み合わせにより、種々の発明を形成できる。例えば、実施形態に示される全構成要素から幾つかの構成要素を削除してもよい。さらに、異なる実施形態にわたる構成要素を適宜組み合わせてもよい。また、以下に例示するような種々の変形が可能である。
【００２６】
上述した実施の形態において、受信処理装置５０で実行される各種プログラムを、インターネット等のネットワークに接続されたコンピュータ上に格納し、ネットワーク経由でダウンロードさせることにより提供するように構成しても良い。また当該各種プログラムを、インストール可能な形式又は実行可能な形式のファイルでＣＤ−ＲＯＭ、フレキシブルディスク（ＦＤ）、ＣＤ−Ｒ、ＤＶＤ（Digital  Versatile  Disk）等のコンピュータで読み取り可能な記録媒体に記録してコンピュータプログラムプロダクトとして提供するように構成しても良い。
【００２７】
上述した実施の形態において、受信処理装置５０は、図６に例示されるように、送信装置１００から受信して受信処理を行ったＲＴＰパケット及びＦＥＣパケットを受信装置２００に送信するようにしても良い。受信処理装置５０と、受信装置２００とは、上述のネットワークＮＴ１と同様のネットワークにより接続されるようにしても良いし、このネットワークＮＴ１と異なるネットワーク又は専用線により接続されるようにしても良い。
【００２８】
上述の実施の形態においては、図１のステップＳ１，Ｓ３，Ｓ６を行う順序は、上述の例に限らない。受信処理装置５０は、例えば、ステップＳ１の後にステップＳ３を行っても良いし、ステップＳ６の処理をステップＳ１，Ｓ３と同期せず行う、即ち、品質補強パケットバッファ６６及びデータパケットバッファ６７を任意又は所定のタイミングで参照し、そのときのバッファリングの状態に応じて、ステップＳ６の処理を行うようにしても良い。
【００２９】
上述の実施の形態においては、冗長データの生成に用いられる演算及びＦＥＣ処理において行う演算として、ＸＯＲの演算を取り扱ったが、これに限らない。
【００３０】
上述の各実施の形態においては、受信処理装置５０が、図４のステップＳ９でＦＥＣ処理を行うタイミングは、任意のタイミングであっても良いし、所定の時間毎であっても良い。
【００３１】
上述の実施の形態においては、受信処理装置５０は、図４のステップＳ９で、ＦＥＣ処理を開始した後、ステップＳ８で取得されたＲＴＰパケットを全て用いてＸＯＲの演算を終了させ、ＦＥＣ処理が完了しない場合に、ステップＳ１７でＦＥＣ処理を中断するようにした。しかし、これに限らず、例えば、受信処理装置５０は、所定の個数のＲＴＰパケットを用いてＸＯＲの演算を行う毎に、ＦＥＣ処理を中断するようにしても良い。図７は、本変形例にかかる受信処理の手順を示すフローチャートである。ステップＳ１〜Ｓ９は上述の第１の実施の形態と同様である。尚、ステップＳ９では、受信処理装置５０は、ＦＥＣ処理を開始すると、ＸＯＲの演算の演算に用いたＲＴＰパケットの数のカウントを開始する。ステップＳ２０では、受信処理装置５０は、ＸＯＲの演算に用いたＲＴＰパケットの数が所定の個数に達したか否かを判断し、当該判断結果が肯定的である場合（ステップＳ２０：ＹＥＳ）且つＦＥＣ処理が完了しない場合（ステップＳ２１：ＮＯ）、ＦＥＣ処理を中断する（ステップＳ１７）。このとき、受信処理装置５０は、カウントしたＲＴＰパケットの値をリセットする。そして、受信処理装置５０は、このときのＦＥＣ処理の処理状態を品質補強処理状態記憶部７０に記憶させて（ステップＳ２２）、ステップＳ１に戻る。また、ＸＯＲの演算に用いたＲＴＰパケットが所定の個数には満たないが（ステップＳ２０：ＮＯ）、ＦＥＣ処理が完了した場合（ステップＳ１１：ＹＥＳ）、即ち、ＦＥＣパケットに対応するＲＴＰパケットのうち、所定の個数ずつＦＥＣ処理が行われたＲＴＰパケットを除いた残りのＲＴＰパケットが所定の個数に満たないが、これらの残りのＲＴＰパケットを用いてＸＯＲの演算を行うことにより、ＦＥＣ処理が完了する場合、受信処理装置５０は、ステップＳ１０以降の処理を行う。ステップＳ１２〜１４は上述の第１の実施の形態と同様である。ステップＳ２１の判断結果が肯定的である場合も同様にステップＳ１０以降の処理を受信処理装置５０は行う。尚、ステップＳ９で、中断したＦＥＣ処理を再開する際には、受信処理装置５０は、ステップＳ８で取得したＲＴＰパケットと、品質補強処理状態記憶部７０に記憶された処理状態とを用いて、ＦＥＣ処理を再開する。また、受信処理装置５０は、ＸＯＲの演算の演算に用いたＲＴＰパケットの数のカウントを新たに開始する。
【００３２】
このような構成によれば、図５の（ｃ）に例示されるように、各ＦＥＣパケットに対するＦＥＣ処理の処理状態を平準化することができ、複数のＦＥＣパケットに対する各ＦＥＣ処理を効率的に進めることができる。
【００３３】
上述の実施の形態においては、受信処理装置５０は、ＦＥＣ処理を行う際に、処理の対象となるＦＥＣパケットに対応するＲＴＰパケットを全て取得できている場合、ＦＥＣ処理を行わないようにしても良い。この場合、当該ＦＥＣパケットに対応するＲＴＰパケットのグループにおいて、欠損したＲＴＰパケットがないことになる。このため、欠損したパケットを回復する必要がないため、そのためのＦＥＣ処理を行わなくても良い。しかし、ＣＰＵを効率的に利用することなどの観点から、処理の対象となるＦＥＣパケットに対応するＲＴＰパケットを全て取得できている場合であっても、受信処理装置５０は、ＦＥＣ処理を行っても良い。
【００３４】
上述の実施の形態においては、対応関係記憶部６９と、品質補強処理状態記憶部７０とを別々の記憶部として構成したが、これらを一体的に構成するようにしても良い。即ち、受信処理装置５０は、ＦＥＣ処理毎に、品質補強パケットバッファ６６にバッファリングされたＦＥＣパケットと、当該ＦＥＣパケットに対応しデータパケットバッファ６７にバッファリングされたＲＴＰパケットと、これらを用いて行ったＦＥＣ処理の処理状態とを１つのテーブルやこれらをグラフ化したデータやファイルとして記憶するようにしても良い。
【００３５】
また、ＦＥＣパケットと、当該ＦＥＣパケットに対応するＲＴＰパケットの対応関係は、上述の例に限らず、例えば、シーケンス番号を用いる形態でなくても良いし、行列形式やグラフ化するものでなくても良い。
【符号の説明】
【００３６】
５０  受信処理装置
５１  制御部
５２  主記憶部
５３  補助記憶部
５４  通信Ｉ／Ｆ
５５  表示部
５６  操作入力部
６０  受信処理部
６１  ＲＴＰ処理部
６２  処理状態管理部
６３  ＦＥＣ処理部
６４  品質補強パケット受信処理部
６５  データパケット受信処理部
６６  品質補強パケットバッファ
６７  データパケットバッファ
６８  擾乱解消処理部
６９  対応関係記憶部
７０  品質補強処理状態記憶部
７１  品質補強パケット取得処理部
７２  データパケット取得処理部
７３  品質補強処理部
７４  回復データパケット出力処理部
１００  送信装置
２００  受信装置
ＮＴ１  ネットワーク
【図１】
0005535231.tif 000002
【図２】
0005535231.tif 000003
【図３】
0005535231.tif 000004
【図４】
0005535231.tif 000005
【図５】
0005535231.tif 000006
【図６】
0005535231.tif 000007
【図７】
0005535231.tif 000008