(57)【特許請求の範囲】
【請求項１】
タイムスタンプの付与されたパケットを受信してパケット格納データの処理を実行するデータ受信装置であり、
予め定められた計測時間間隔前後における受信パケットに付与されたタイムスタンプのタイム差分データ：ΔＴ＿Ｒと、自装置のシステムクロックの基準クロックタイミングを生成するカウンタ値の差分データ：ΔＴ＿Ｃとの比較処理を実行する差分解析部と、
前記差分解析部の取得したタイムスタンプのタイム差分データ：ΔＴ＿Ｒと、カウンタ値の差分データ：ΔＴ＿Ｃとの、差異に基づいて、前記システムクロックの制御パラメータを生成するクロック制御部と、
前記クロック制御部の制御情報に基づいて生成されるクロックをパケット格納データの処理を実行するパケット処理手段に対して供給するシステムクロックと、
を有することを特徴とするデータ受信装置。
【請求項２】
前記パケット処理手段は、
前記パケット格納データの復号処理を実行する復号器と、
前記パケット格納データのバッファリングを実行するバッファ手段と、
を含む構成であることを特徴とする請求項１に記載のデータ受信装置。
【請求項３】
前記クロック制御部は、
計測時間間隔：ΔＴのときに、前記差分解析部の取得したタイムスタンプのタイム差分データ：ΔＴ＿Ｒと、カウンタの値の差分データ：ΔＴ＿Ｃとの差異に基づいて、
Ｄ＝（ΔＴ＿Ｒ−ΔＴ＿Ｃ）／ΔＴ
によって算出された値：Ｄを前記システムクロックの制御パラメータとして生成する構成であることを特徴とする請求項１に記載のデータ受信装置。
【請求項４】
前記クロック制御部は、
計測時間間隔：ΔＴのときに、前記差分解析部の取得したタイムスタンプのタイム差分データ：ΔＴ＿Ｒと、カウンタの値の差分データ：ΔＴ＿Ｃとの差異に基づいて、
Ｄ＝（ΔＴ＿Ｒ−ΔＴ＿Ｃ）／ΔＴ
によって算出された値：Ｄを前記システムクロックの制御パラメータとして生成し、
Ｄ＞０の場合は、前記カウンタ動作を速め、システムクロックを速める制御情報を前記システムクロックに供給し、
Ｄ＜０の場合は、前記カウンタ動作を遅らせ、システムクロックを遅らせる制御情報を前記システムクロックに供給する処理を実行する構成であることを特徴とする請求項１に記載のデータ受信装置。
【請求項５】
前記タイムスタンプの付与されたパケットはＲＴＰヘッダを有するパケットであり、タイムスタンプは、パケット送信側のクロックに基づいてＲＴＰヘッダ内に格納されるデータであることを特徴とする請求項１に記載のデータ受信装置。
【請求項６】
前記タイムスタンプの付与されたパケットは、ＭＰＥＧ２トランスポートストリームを格納したパケットであり、
前記復号器は、ＭＰＥＧ２トランスポートストリームの復号処理を前記システムクロックの供給するクロック信号による制御に基づいて実行する構成であることを特徴とする請求項１に記載のデータ受信装置。
【請求項７】
前記クロック制御部は、
予め定められた差分計測時間間隔毎に、タイムスタンプのタイム差分データ：ΔＴ＿Ｒと、カウンタの値の差分データ：ΔＴ＿Ｃとの差異に基づくシステムクロックの制御パラメータ算出処理を繰り返し実行する構成であることを特徴とする請求項１に記載のデータ受信装置。
【請求項８】
タイムスタンプの付与されたパケットを受信してパケット格納データの処理を実行する受信データ処理方法であり、
予め定められた計測時間間隔前後における受信パケットに付与されたタイムスタンプのタイム差分データ：ΔＴ＿Ｒと、自装置のシステムクロックの基準クロックタイミングを生成するカウンタの値の前記計測時間間隔前後における差分データ：ΔＴ＿Ｃとの比較処理を実行する差分解析ステップと、
前記差分解析ステップにおいて取得したタイムスタンプのタイム差分データ：ΔＴ＿Ｒと、カウンタの値の差分データ：ΔＴ＿Ｃとの、差異に基づいて、前記システムクロックの制御パラメータを生成する制御パラメータ生成ステップと、制御パラメータ生成ステップにおいて生成する制御情報に基づいて生成されるクロックをパケット格納データの処理を実行するパケット処理手段に対して供給するシステムクロック供給ステップと、
前記クロックに基づくパケットの処理を実行するパケット処理ステップと、
を有することを特徴とする受信データ処理方法。
【請求項９】
前記パケット処理手段は、
前記パケット格納データの復号処理を実行する復号器と、前記パケット格納データのバッファリングを実行するバッファ手段とを含み、
前記バッファ手段は、前記システムクロック供給ステップにおいて供給されるクロックに基づくパケットの復号器への出力処理を実行し、
前記復号器は、前記システムクロック供給ステップにおいて供給されるクロックに基づくパケット格納データの復号処理を実行することを特徴とする請求項８に記載の受信データ処理方法。
【請求項１０】
前記制御パラメータ生成ステップは、
計測時間間隔：ΔＴのときに、前記差分解析部の取得したタイムスタンプのタイム差分データ：ΔＴ＿Ｒと、カウンタの値の差分データ：ΔＴ＿Ｃとの差異に基づいて、
Ｄ＝（ΔＴ＿Ｒ−ΔＴ＿Ｃ）／ΔＴ
によって算出された値：Ｄを前記システムクロックの制御パラメータとして生成することを特徴とする請求項８に記載の受信データ処理方法。
【請求項１１】
前記制御パラメータ生成ステップは、
計測時間間隔：ΔＴのときに、前記差分解析部の取得したタイムスタンプのタイム差分データ：ΔＴ＿Ｒと、カウンタの値の差分データ：ΔＴ＿Ｃとの差異に基づいて、
Ｄ＝（ΔＴ＿Ｒ−ΔＴ＿Ｃ）／ΔＴ
によって算出された値：Ｄを前記システムクロックの制御パラメータとして生成し、
Ｄ＞０の場合は、前記カウンタ動作を速め、システムクロックを速める制御情報を前記システムクロックに供給し、
Ｄ＜０の場合は、前記カウンタ動作を遅らせ、システムクロックを遅らせる制御情報を前記システムクロックに供給する処理を実行することを特徴とする請求項８に記載の受信データ処理方法。
【請求項１２】
前記タイムスタンプの付与されたパケットは、ＭＰＥＧ２トランスポートストリームを格納したパケットであり、
前記復号器は、ＭＰＥＧ２トランスポートストリームの復号処理を前記システムクロックの供給するクロック信号による制御に基づいて実行することを特徴とする請求項８に記載の受信データ処理方法。
【請求項１３】
前記制御パラメータ生成ステップは、
予め定められた差分計測時間間隔毎に、タイムスタンプのタイム差分データ：ΔＴ＿Ｒと、カウンタの値の差分データ：ΔＴ＿Ｃとの差異に基づくシステムクロックの制御パラメータ算出処理を繰り返し実行する構成であることを特徴とする請求項８に記載の受信データ処理方法。
【請求項１４】
タイムスタンプの付与されたパケットを受信してパケット格納データの処理を実行するコンピュータ・プログラムであって、
予め定められた計測時間間隔前後における受信パケットに付与されたタイムスタンプのタイム差分データ：ΔＴ＿Ｒと、自装置のシステムクロックの基準クロックタイミングを生成するカウンタの値の前記計測時間間隔前後における差分データ：ΔＴ＿Ｃとの比較処理を実行する差分解析ステップと、
前記差分解析ステップにおいて取得したタイムスタンプのタイム差分データ：ΔＴ＿Ｒと、カウンタの値の差分データ：ΔＴ＿Ｃとの、差異に基づいて、前記システムクロックの制御パラメータを生成する制御パラメータ生成ステップと、制御パラメータ生成ステップにおいて生成する制御情報に基づいて生成されるクロックをパケット格納データの処理を実行するパケット処理手段に対して供給するシステムクロック供給ステップと、
前記クロックに基づくパケットの処理を実行するパケット処理ステップと、
を具備することを特徴とするコンピュータ・プログラム。
【発明の詳細な説明】
【０００１】
【発明の属する技術分野】
本発明は、データ受信装置、および受信データ処理方法、並びにコンピュータ・プログラムに関する。さらに詳細には、タイムスタンプに基づく受信パケット処理において、データ送信側と受信側のクロックを同期させた処理を可能とするデータ受信装置、および受信データ処理方法、並びにコンピュータ・プログラムに関する。
【０００２】
【従来の技術】
昨今、インターネット通信など、様々な通信媒体を介した画像、音声データ等のデータ転送が盛んに行われている。特に、近年においては、インターネット上のデータ転送において、従来から利用されているダウンロード型伝送方式に加えて、ストリーム型伝送方式によるサービスが増加してきている。ダウンロード型伝送方式においては、映像ファイルや音声ファイルといったマルチメディアデータを伝送する場合、配信サーバからデータファイルを一旦受信側端末の記憶媒体にダウンロードして、その後、記憶媒体から再生することになる。よって、この方式ではファイルを完全に転送が終わるまでは再生できず、長時間再生やリアルタイム再生などには不向きである。
【０００３】
一方、後者のストリーム型伝送方式では、送信側から受信端末にデータ転送が行われている間に、並列して受信データの再生処理を実行するものであり、インターネット電話・遠隔テレビ会議・ビデオオンデマンドといったインターネットサービスに利用されている。
【０００４】
ストリーム型伝送方式は、例えば画像データのＭＰＥＧ圧縮処理により生成されるＭＰＥＧストリームをＩＰ（Internet Protocol）パケットに格納してインターネット上を転送させて、ＰＣやＰＤＡ、携帯電話等の各通信端末において受信するシステム等において使用され、開発が進んでいる。このような技術は、ビデオオンデマンドやライブ映像のストリーミング配信、あるいはビデオ会議、テレビ電話などのリアルタイム通信において有効となる。
【０００５】
ＩＰネットワークを用いて、ビデオ会議やビデオオンデマンドなど音声・動画像をストリーミングでリアルタイムに再生して見る場合、一般に、パケットの廃棄やデータエラー時に再送を行うＴＣＰ（Ｔｒａｎｓｐｏｒｔ  ＣｏｎｔｒｏｌＰｒｏｔｏｃｏｌ）のようなトランスポートプロトコルは、リアルタイム性を保つことが出来ないために使えない。また、ＴＣＰは一対一通信用のプロトコルであり、複数の相手に音声・動画像のデータを送信することもできない。そこで一般に、このような用途に対するプロトコミルとしてＵＤＰ（Ｕｓｅｒ  Ｄａｔａｇｒａｍ  Ｐｒｏｔｏｃｏｌ）が用いられる。
【０００６】
ＵＤＰは、アプリケーションのプロセスがリモートマシン上の他のアプリケーションプロセスへデータを転送することを、最小のオーバーヘッドで行えるように設計されている。そのため、ＵＤＰのヘッダに入る情報は、送信元ポート番号、宛先ポート番号、データ長、チェックサムのみであり、ＴＣＰヘッダには存在するようなパケットの順序を表す番号を入れるフィールドなどがないため、ネットワークでパケットの順序が狂ってしまった場合にその順序を正しく入れ替えるなどの処理が出来ない。また、送信時のタイムスタンプなどの時間情報を入れるフィールドは、ＴＣＰにもＵＤＰにも存在しない。
【０００７】
ＴＣＰヘッダ構成を図１に示す。ＴＣＰヘッダには、送信元ポート番号、宛先ポート番号、データパケットの先頭がそのデータの送信初めから何バイトにあたるかをバイト数で示したデータ順序を示すシーケンス番号、相手から次に送られるデータの送信シーケンス番号を示す応答確認番号、ヘッダ長、ＴＣＰセグメントの処理方法などのコードビットからなるフラグ情報、データの残り受信可能バイト数を示すウィンドウサイズ、ＴＣＰパケットの信頼性保証値としてのチェックサム、緊急処理を要するデータ一を示す緊急ポインタを有する。
【０００８】
ＵＤＰヘッダの詳細を図２に示す。ＵＤＰはコネクションレス型のサービスを提供するプロトコルであり、シンプルなヘッダ構成を持つ。図２に示すようにＵＤＰヘッダには、送信元ポート番号、宛先ポート番号、データ長としてのヘッダとデータ長の総バイト数を示すセグメント長、ＵＤＰパケットの信頼性保証値としてのチェックサムを有する。ＵＤＰはこのようにシンプルな構成であるため、制御が簡素化される。
【０００９】
このようにＵＤＰプロトコルを適用したデータ転送では、ネットワークでパケットの順序が狂ってしまった場合にその順序を正しく入れ替えるなどの処理が出来ない。また、送信時のタイムスタンプなどの時間情報を入れるフィールドは、ＴＣＰにもＵＤＰにも存在しない。
【００１０】
そこで、ＲＴＰ（Ｒｅａｌ−ｔｉｍｅ  Ｔｒａｎｓｐｏｒｔ  Ｐｒｏｔｏｃｏｌ）が考え出された。ＲＴＰは、インターネット等のＩＰネットワークにおいて、リアルタイムに音声や動画を送受信するためのトランスポートプロトコルである（ＲＦＣ１８８９参照）。一般に、ＲＴＰはＵＤＰ上で用いられる。ＲＴＰはヘッダにシーケンス番号、タイムスタンプなどを入れて送信するため、受信側でパケットの順序訂正ができる、ネットワークでの遅延揺らぎを吸収することができるなど、様々なメリットがあり、例えばＶｏＩＰ（Ｖｏｉｃｅ  ｏｖｅｒ  ＩＰ）の技術などで用いられている。
【００１１】
図３にＭＰＥＧ−２トランスポートストリーム（ＴＳ）等のデータをＲＴＰ，ＵＤＰ，ＩＰによりパケット化したＩＰパケットの構成中のＲＴＰヘッダの詳細を示す。ＲＴＰヘッダには、バージョン番号（ｖ）、パディング（Ｐ）、拡張ヘッダ（Ｘ）の有無、ＣＲＳＣ（Contributing Source）の個数、マーカ情報（Ｍ）、ペイロードタイプ、シーケンス番号、ＲＴＰタイムスタンプ、同期送信元（ＳＳＲＣ）識別子、および寄与送信元（ＣＳＲＣ）識別子の各フィールドが設けられている。ＲＴＰヘッダに付与されたタイムスタンプによりＲＴＰパケットの展開時に処理時間の制御が実行され、リアルタイム画像、または音声の再生制御が可能となる。なお、例えば圧縮データとしてのＭＰＥＧトランスポートストリームは、ＩＰパケット中に複数のＭＰＥＧ−２−ＴＳパケットとして格納される。
【００１２】
このようにプロトコル：ＲＴＰ(Realtime Transport Protocol)は、ストリーム型伝送方式に適したプロトコルであり、IETF RFC1889で規定されている。ＲＴＰに従ったデータ転送では、時間情報としてパケットにタイムスタンプを付加し、タイムスタンプの参照により送信側と受信側の時間的関係の把握を行ない、データ受信側において、パケット転送の遅延ゆらぎ（ジッター）などの影響を受けずに同期をとった再生を可能としている。
【００１３】
また、画像圧縮符号化の国際標準規格であるＭＰＥＧ２（Ｍｏｖｉｎｇ  Ｐｉｃｔｕｒｅ  Ｅｘｐｅｒｔｓ  Ｇｒｏｕｐ−２）は放送・通信・蓄積というすべてのアプリケーションに対して汎用的に使用できる動画像圧縮方式で、ＤＶＤやデジタルテレビ放送に使われている。
【００１４】
ＭＰＥＧ２システムでは、ＭＰＥＧ  ＶｉｄｅｏやＭＰＥＧ  Ａｕｄｉｏなどの符号化されたビット・ストリーム（ＥＳ；Ｅｌｅｍｅｎｔａｒｙ  Ｓｔｒｅａｍ）を複数本統合して、１本のストリームに多重化することが出来る。さらにＭＰＥＧ２システムでは、図４（ａ）に示すように、比較的ビットエラー発生の少ない蓄積媒体からの伝送を想定したＭＰＥＧ２−ＰＳ（Ｐｒｏｇｒａｍ  Ｓｔｒｅａｍ）形式（１本で１つのプログラムを構成する）と、図４（ｂ）に示すように、伝送ビットエラーの発生が予想される通信回線を想定したＭＰＥＧ２−ＴＳ（Ｔｒａｎｓｐｏｒｔ  Ｓｔｒｅａｍ）形式（１本で複数のプログラムを構成可能）の２種類のフォーマットを規定している。ＡＴＭやＥｔｈｅｒｎｅｔ等のネットワークでは伝送エラーの発生は避けられないため、そのような用途には一般にＭＰＥＧ２−ＴＳが用いられる。
【００１５】
ＭＰＥＧ２−ＴＳのパケット構成を図５に示す。ＭＰＥＧ２−ＴＳのパケットは、４バイトのヘッダとデータを格納するための１８４バイトのペイロードから構成される、固定長のパケットである。ＴＳヘッダは１バイトの同期バイト（０ｘ４７）と、ＴＳパケットの属性を表すフラグ、１３ビットのＰＩＤ（Ｐａｃｋｅｔ  ＩＤ）、スクランブル制御識別子、アダプテーションフィールド識別子、パケットの連続性を検査するのに用いる４ビットの巡回カウンタから構成される。このうち、ＰＩＤはそのＭＰＥＧ２−ＴＳを構成するＡｕｄｉｏやＶｉｄｅｏのＥＳを区別するために、ＭＰＥＧ２−ＴＳパケットごとに１つずつ付けられる識別子である。
【００１６】
また、ＴＳパケットには、図６に示すようにアダプテーションフィールドと呼ばれるフィールドをペイロードのデータフィールド部分全体、もしくはデータの前に入れる形で伝送することができる。このアダプテーションフィールドにはプライベートデータや、ＰＣＲ（Ｐｒｏｇｒａｍ  Ｃｌｏｃｋ  Ｒｅｆｅｒｅｎｃｅ）などを格納することが可能である。このＰＣＲは、ベース３３ｂｉｔが９０ＫＨｚのカウンタ、拡張９ｂｉｔがそれをさらに１／３００にしたカウンタであり、あわせて２７ＭＨｚを実現するタイムスタンプである。ＰＣＲをアダプテーションフィールドにもつＴＳパケットは、ＶｉｄｅｏやＡｕｄｉｏのストリームとは異なるＰＩＤを持つ。
【００１７】
ＰＣＲは、ＭＰＥＧ２データの受信側が復号回路のシステムクロックを送信側のそれと同期させるために用いられる。この仕組みを以下に説明する。
【００１８】
復号器のクロック周波数が符号器側と完全に一致する場合、映像や音声の復号・表示は送信側に追従し、エンドエンド間の遅延は時間が経過しても一定のままであるが、現実には完全には一致しない。そのため、通信を続けていると送信側に対して受信側の復号・表示がどんどん遅れてくるなどの現象が発生し、特にテレビ電話などのアプリケーションでは致命的である。
【００１９】
そのため復号側では、サンプルされた符号器のシステムクロックであるＰＣＲの値をもとに、復号器のシステムタイムクロック（ＳＴＣ：Ｓｙｓｔｅｍ  Ｔｉｍｅ  Ｃｌｏｃｋ）を符号器のそれに追従させる。この方法としては、例えば図７に示すＰＬＬ（Ｐｈａｓｅ  Ｌｏｃｋｅｄ  Ｌｏｏｐ）が用いられる。
【００２０】
ＰＬＬでは、新規のＭＰＥＧデータが復号器に到着した場合、ＳＴＣはＰＣＲの値にセットされる。その後ＰＣＲが復号器に到着する度に、引き算器（ｓｕｂｔｒａｃｔｏｒ）１０１においてそのＰＣＲの値はカウンタ１０４の出力する現在のＳＴＣ値と比較され、その差分がローパスフィルタおよびゲイン１０２ステージに渡される。そこからの出力は電圧制御発振器（ＶＣＯ；Ｖｏｌｔａｇｅ−Ｃｏｎｔｒｏｌｌｅｄ  Ｏｓｃｉｌｌａｔｏｒ）１０３の瞬間値を制御する制御信号である。それによってコントロールされたＶＣＯ１０３からの出力が、新規のシステムクロックとして使用される。
【００２１】
このループを繰り返すことにより、最終的には復号器側のシステムクロックは符号器側に一致する。（この状態をロックすると呼ぶ。）なお、ＭＰＥＧ２−ＴＳではこのＰＬＬ同期の動作を安定させるために、ＰＣＲの送信間隔を１００ｍｓｅｃ以下にすることが決められている。（ＭＰＥＧ２−ＰＳでは７００ｍｓｅｃ）
【００２２】
さて、ＩＰネットワークにおいて先に述べたＲＴＰを用いてＭＰＥＧを伝送する規格としては「ＲＴＰ  Ｐａｙｌｏａｄ  Ｆｏｒｍａｔ  ｆｏｒ  ＭＰＥＧ１／ＭＰＥＧ２  Ｖｉｄｅｏ」（ＲＦＣ２２５０）が標準化提案プロトコルとして存在する。このＲＦＣには、ＲＴＰパケットの伝送方法やパケットのカプセル化の方式が記述されており、ＲＴＰのペイロード部分に入れるデータとしてＭＰＥＧ−ＴＳを用いる場合には、１つのＲＴＰパケットにＭＰＥＧ２−ＴＳのパケットを複数個入れて運ぶことができることになっている。また、ＲＴＰのタイムスタンプはＰＣＲと同じ９０ｋＨｚの周波数による時刻を入れる。つまり図８に示すように、ＲＴＰのタイムスタンプはＰＣＲのベースと同期していなければならない。
【００２３】
図９（ａ）に示すように、ＭＰＥＧ２−ＴＳを、ＡＴＭなどのネットワークによる遅延揺らぎがほとんどないネットワーク２０１を用いて伝送する場合には、ＭＰＥＧ２−ＴＳのデータは直接復号器２０２に入力される。そして、ＰＣＲが符号化側のシステムクロックをサンプルして到着するために、ＰＬＬを用いて符号側と復号側のシステムクロック２０３の同期を図ることが出来る。しかし、図９（ｂ）に示すようにインターネット等のＩＰネットワーク上で伝送する場合のように大きな遅延揺らぎが発生する場合には、ネットワーク２１１の遅延揺らぎを除去するためにＲＴＰを用いて受信側で遅延揺らぎ吸収バッファ２１２を用いて一度バッファリングしなければならず、この場合、符号器側のシステムクロックが復号器２１３側のシステムクロック２１４に反映されなくなりＰＬＬを用いた方法が使えないという問題が発生する。
【００２４】
また、送信データのレートが完全に一定である場合には、図１０に示すように、ネットワーク２２１の遅延揺らぎを除去するために受信側で遅延揺らぎ吸収バッファ２２２を用いて一度バッファリングした場合でも、データ量監視部２２５がバッファ内のデータ量を見ながら、送信側のタイミングで復号器２２３にデータを入力するように制御を実行することで、符号器側のシステムクロックを復号器２２３側のシステムクロック２２４に反映させる構成も可能であるが、送信側で動的に符号化レートを変更する場合などには適用できないという問題がある。
【００２５】
【発明が解決しようとする課題】
本発明は、上述の問題点に鑑みてなされたものであり、ビデオオンデマンドや、遠隔テレビ会議のような、リアルタイム再生が望まれるデータ通信処理において、ＲＴＰを用いてネットワークの遅延揺らぎを除去するために受信側で一度バッファリングする構成とした場合においても、また動的にレートの変更が発生した場合においても、復号器のシステムクロックを符号器側に同期させることを可能としたデータ受信装置、および受信データ処理方法、並びにコンピュータ・プログラムを提供することを目的とする。
【００２６】
【課題を解決するための手段】
本発明の第１の側面は、
タイムスタンプの付与されたパケットを受信してパケット格納データの処理を実行するデータ受信装置であり、
予め定められた計測時間間隔前後における受信パケットに付与されたタイムスタンプのタイム差分データ：ΔＴ＿Ｒと、自装置のシステムクロックの基準クロックタイミングを生成するカウンタ値の差分データ：ΔＴ＿Ｃとの比較処理を実行する差分解析部と、
前記差分解析部の取得したタイムスタンプのタイム差分データ：ΔＴ＿Ｒと、カウンタ値の差分データ：ΔＴ＿Ｃとの、差異に基づいて、前記システムクロックの制御パラメータを生成するクロック制御部と、
前記クロック制御部の制御情報に基づいて生成されるクロックをパケット格納データの処理を実行するパケット処理手段に対して供給するシステムクロックと、
を有することを特徴とするデータ受信装置にある。
【００２７】
さらに、本発明のデータ受信装置の一実施態様において、前記パケット処理手段は、前記パケット格納データの復号処理を実行する復号器と、前記パケット格納データのバッファリングを実行するバッファ手段と、を含む構成であることを特徴とする。
【００２８】
さらに、本発明のデータ受信装置の一実施態様において、前記クロック制御部は、計測時間間隔：ΔＴのときに、前記差分解析部の取得したタイムスタンプのタイム差分データ：ΔＴ＿Ｒと、カウンタの値の差分データ：ΔＴ＿Ｃとの差異に基づいて、Ｄ＝（ΔＴ＿Ｒ−ΔＴ＿Ｃ）／ΔＴによって算出された値：Ｄを前記システムクロックの制御パラメータとして生成する構成であることを特徴とする。
【００２９】
さらに、本発明のデータ受信装置の一実施態様において、前記クロック制御部は、計測時間間隔：ΔＴのときに、前記差分解析部の取得したタイムスタンプのタイム差分データ：ΔＴ＿Ｒと、カウンタの値の差分データ：ΔＴ＿Ｃとの差異に基づいて、Ｄ＝（ΔＴ＿Ｒ−ΔＴ＿Ｃ）／ΔＴによって算出された値：Ｄを前記システムクロックの制御パラメータとして生成し、Ｄ＞０の場合は、前記カウンタ動作を速め、システムクロックを速める制御情報を前記システムクロックに供給し、Ｄ＜０の場合は、前記カウンタ動作を遅らせ、システムクロックを遅らせる制御情報を前記システムクロックに供給する処理を実行する構成であることを特徴とする。
【００３０】
さらに、本発明のデータ受信装置の一実施態様において、前記タイムスタンプの付与されたパケットはＲＴＰヘッダを有するパケットであり、タイムスタンプは、パケット送信側のクロックに基づいてＲＴＰヘッダ内に格納されるデータであることを特徴とする。
【００３１】
さらに、本発明のデータ受信装置の一実施態様において、前記タイムスタンプの付与されたパケットは、ＭＰＥＧ２トランスポートストリームを格納したパケットであり、前記復号器は、ＭＰＥＧ２トランスポートストリームの復号処理を前記システムクロックの供給するクロック信号による制御に基づいて実行する構成であることを特徴とする。
【００３２】
さらに、本発明のデータ受信装置の一実施態様において、前記クロック制御部は、予め定められた差分計測時間間隔毎に、タイムスタンプのタイム差分データ：ΔＴ＿Ｒと、カウンタの値の差分データ：ΔＴ＿Ｃとの差異に基づくシステムクロックの制御パラメータ算出処理を繰り返し実行する構成であることを特徴とする。
【００３３】
さらに、本発明の第２の側面は、
タイムスタンプの付与されたパケットを受信してパケット格納データの処理を実行する受信データ処理方法であり、
予め定められた計測時間間隔前後における受信パケットに付与されたタイムスタンプのタイム差分データ：ΔＴ＿Ｒと、自装置のシステムクロックの基準クロックタイミングを生成するカウンタの値の前記計測時間間隔前後における差分データ：ΔＴ＿Ｃとの比較処理を実行する差分解析ステップと、
前記差分解析ステップにおいて取得したタイムスタンプのタイム差分データ：ΔＴ＿Ｒと、カウンタの値の差分データ：ΔＴ＿Ｃとの、差異に基づいて、前記システムクロックの制御パラメータを生成する制御パラメータ生成ステップと、制御パラメータ生成ステップにおいて生成する制御情報に基づいて生成されるクロックをパケット格納データの処理を実行するパケット処理手段に対して供給するシステムクロック供給ステップと、
前記クロックに基づくパケットの処理を実行するパケット処理ステップと、
を有することを特徴とする受信データ処理方法にある。
【００３４】
さらに、本発明の受信データ処理方法の一実施態様において、前記パケット処理手段は、前記パケット格納データの復号処理を実行する復号器と、前記パケット格納データのバッファリングを実行するバッファ手段とを含み、前記バッファ手段は、前記システムクロック供給ステップにおいて供給されるクロックに基づくパケットの復号器への出力処理を実行し、前記復号器は、前記システムクロック供給ステップにおいて供給されるクロックに基づくパケット格納データの復号処理を実行することを特徴とする。
【００３５】
さらに、本発明の受信データ処理方法の一実施態様において、前記制御パラメータ生成ステップは、計測時間間隔：ΔＴのときに、前記差分解析部の取得したタイムスタンプのタイム差分データ：ΔＴ＿Ｒと、カウンタの値の差分データ：ΔＴ＿Ｃとの差異に基づいて、Ｄ＝（ΔＴ＿Ｒ−ΔＴ＿Ｃ）／ΔＴによって算出された値：Ｄを前記システムクロックの制御パラメータとして生成することを特徴とする。
【００３６】
さらに、本発明の受信データ処理方法の一実施態様において、前記制御パラメータ生成ステップは、計測時間間隔：ΔＴのときに、前記差分解析部の取得したタイムスタンプのタイム差分データ：ΔＴ＿Ｒと、カウンタの値の差分データ：ΔＴ＿Ｃとの差異に基づいて、Ｄ＝（ΔＴ＿Ｒ−ΔＴ＿Ｃ）／ΔＴによって算出された値：Ｄを前記システムクロックの制御パラメータとして生成し、Ｄ＞０の場合は、前記カウンタ動作を速め、システムクロックを速める制御情報を前記システムクロックに供給し、Ｄ＜０の場合は、前記カウンタ動作を遅らせ、システムクロックを遅らせる制御情報を前記システムクロックに供給する処理を実行することを特徴とする。
【００３７】
さらに、本発明の受信データ処理方法の一実施態様において、前記タイムスタンプの付与されたパケットは、ＭＰＥＧ２トランスポートストリームを格納したパケットであり、前記復号器は、ＭＰＥＧ２トランスポートストリームの復号処理を前記システムクロックの供給するクロック信号による制御に基づいて実行することを特徴とする。
【００３８】
さらに、本発明の受信データ処理方法の一実施態様において、前記制御パラメータ生成ステップは、予め定められた差分計測時間間隔毎に、タイムスタンプのタイム差分データ：ΔＴ＿Ｒと、カウンタの値の差分データ：ΔＴ＿Ｃとの差異に基づくシステムクロックの制御パラメータ算出処理を繰り返し実行する構成であることを特徴とする。
【００３９】
さらに、本発明の第３の側面は、
タイムスタンプの付与されたパケットを受信してパケット格納データの処理を実行するコンピュータ・プログラムであって、
予め定められた計測時間間隔前後における受信パケットに付与されたタイムスタンプのタイム差分データ：ΔＴ＿Ｒと、自装置のシステムクロックの基準クロックタイミングを生成するカウンタの値の前記計測時間間隔前後における差分データ：ΔＴ＿Ｃとの比較処理を実行する差分解析ステップと、
前記差分解析ステップにおいて取得したタイムスタンプのタイム差分データ：ΔＴ＿Ｒと、カウンタの値の差分データ：ΔＴ＿Ｃとの、差異に基づいて、前記システムクロックの制御パラメータを生成する制御パラメータ生成ステップと、制御パラメータ生成ステップにおいて生成する制御情報に基づいて生成されるクロックをパケット格納データの処理を実行するパケット処理手段に対して供給するシステムクロック供給ステップと、
前記クロックに基づくパケットの処理を実行するパケット処理ステップと、
を具備することを特徴とするコンピュータ・プログラムにある。
【００４０】
なお、本発明のコンピュータ・プログラムは、例えば、様々なプログラム・コードを実行可能な汎用コンピュータ・システムに対して、コンピュータ可読な形式で提供する記憶媒体、通信媒体、例えば、ＣＤやＦＤ、ＭＯなどの記録媒体、あるいは、ネットワークなどの通信媒体によって提供可能なコンピュータ・プログラムである。このようなプログラムをコンピュータ可読な形式で提供することにより、コンピュータ・システム上でプログラムに応じた処理が実現される。
【００４１】
本発明のさらに他の目的、特徴や利点は、後述する本発明の実施例や添付する図面に基づくより詳細な説明によって明らかになるであろう。なお、本明細書においてシステムとは、複数の装置の論理的集合構成であり、各構成の装置が同一筐体内にあるものには限らない。
【００４２】
【発明の実施の形態】
本発明は、タイムスタンプの付与されたパケット、例えばＲＴＰを用いたデータ通信において、ネットワークの遅延揺らぎを除去するために受信側で一度バッファリングする場合、動的にレートが変更されても、復号器のシステムクロックを符号器側に同期させる構成を持つデータ受信装置、および受信データ処理方法を実現するものである。
【００４３】
ＲＴＰのヘッダ情報として付加されるタイムスタンプはネットワークの遅延揺らぎが大きい場合でも、平均的には送信側のシステムクロックを表すＰＣＲに同期している。よって、この到着のタイミングをＲＴＰの遅延揺らぎ吸収用バッファの直前で観測することで、送信側のシステムクロックをサンプルすることが出来る。この観測データにより、時間軸上の２点のサンプルをとり、ＲＴＰタイムスタンプの増加分と復号側のシステムクロックによるカウンタの増加分を比較して、ＲＴＰパケット送信側のシステムクロックとＲＴＰパケット受信側のシステムクロックとのずれを判別するものである。
【００４４】
まず、図１１を参照して、復号器のシステムクロックを符号器側に同期させる構成を持つデータ受信側装置の構成および処理概要について説明する。
【００４５】
例えばＭＰＥＧ２−ＴＳ等のデータをＲＴＰパケットに格納して、インターネット等の遅延揺らぎの発生するネットワーク３０１を用いて伝送する構成を例とする。
【００４６】
データパケットは、図１２に示すように、ＭＰＥＧ２−ＴＳを格納し、ＲＴＰヘッダ、ＵＤＰヘッダ、ＩＰヘッダを持つＭＰＥＧｏｖｅｒＩＰパケットを想定する。ＲＴＰヘッダには、データ送信元のシステムクロックに基づいて設定されるタイムスタンプが格納される。
【００４７】
図１１に戻りデータ受信側装置の構成および処理概要について説明する。ネットワークを介して受信されるＭＰＥＧ２−ＴＳのデータを格納したＩＰパケットは、バッファ３０２に格納されるが、バッファ３０２に格納される前に、ＲＴＰタイムスタンプデータ取得部３１１が各受信パケットのＲＴＰヘッダからタイムスタンプデータを取得する。
【００４８】
ＲＴＰタイムスタンプデータ取得部３１１の取得したタイムスタンプデータは、各パケット受信毎に差分解析部３１２に入力される。差分解析部３１２は、ＲＴＰタイムスタンプデータ取得部３１１の取得したタイムスタンプデータを入力するとともに、システムクロック３０４の基準クロックを生成するカウンタデータを入力する。図１３に差分解析部３１２に入力されるＲＴＰタイムスタンプデータ取得部３１１の取得したタイムスタンプデータ、およびシステムクロック３０４のカウンタデータ値の例を示す。各時刻Ｔ＿０〜ｎに入力されたタイムスタンプのデータ［ＲＴＰＴ＿Ｓ０］〜［ＲＴＰＴ＿Ｓ０］、および対応時刻におけるシステムクロック３０４のカウンタ値［ＣＮＴＲ＿Ｒ＿０］〜［ＣＮＴＲ＿Ｒ＿ｎ］が順次、差分解析部３１２内のメモリに格納される。
【００４９】
差分解析部３１２は、ある一定時間間隔、すなわち予め定められた差分検出時間を経過した後、ＲＴＰタイムスタンプデータ取得部３１１の取得した差分検出時間間隔前後の２つのタイムスタンプデータの差分［ΔＴ＿Ｒ］と、同一の時間間隔前後におけるシステムクロック３０４のカウンタの差分［ΔＴ＿Ｃ］の各差分データを算出する。
【００５０】
差分解析部３１２の算出したタイムスタンプデータの差分［ΔＴ＿Ｒ］と、カウンタの差分［ΔＴ＿Ｃ］の各差分データは、クロック制御部３１３に出力される。
【００５１】
クロック制御部３１３は、差分解析部３１２の算出したタイムスタンプデータの差分［ΔＴ＿Ｒ］と、カウンタの差分［ΔＴ＿Ｃ］の各差分データに基づいて、制御パラメータを生成し、生成した制御パラメータに基づいてシステムクロックの基準クロックを生成するカウンタの補正を実行する。
【００５２】
制御パラメータ［Ｄ］の生成式は、タイムスタンプデータの差分［ΔＴ＿Ｒ］と、カウンタの差分［ΔＴ＿Ｃ］の各差分データを適用した下式によって求められる。
Ｄ＝（ΔＴ＿Ｒ−ΔＴ＿Ｃ）／ΔＴ……（式１）
【００５３】
Ｄ＝０であれば、タイムスタンプデータの差分［ΔＴ＿Ｒ］と、カウンタの差分［ΔＴ＿Ｃ］の各差分データは全く等しく、パケット送信側のシステムクロックと、受信側のシステムクロックが同期しており、カウンタの調整は不要となる。Ｄ＞０であれば、タイムスタンプデータの差分［ΔＴ＿Ｒ］が、カウンタの差分［ΔＴ＿Ｃ］より大であることを示し、パケット受信側のシステムクロック３０４のカウンタが、パケット送信側のシステムクロックに比較して遅れがあることを示しており、制御パラメータＤの値に対応してシステムクロック３０４のカウンタを速めるように制御を実行する。
【００５４】
Ｄ＜０であれば、タイムスタンプデータの差分［ΔＴ＿Ｒ］が、カウンタの差分［ΔＴ＿Ｃ］より小であることを示し、パケット受信側のシステムクロック３０４のカウンタが、パケット送信側のシステムクロックに比較して速いことを示しており、制御パラメータＤの値に対応してシステムクロック３０４のカウンタを遅くするように制御を実行する。
【００５５】
このクロック制御部３１３における制御によって修正されたカウンタに基づいてシステムクロック３０４は、復号器３０３に対するクロック（２７ＭＨｚ）を提供し、またパッファ３０２に対するクロック（９０ＫＨｚ）を提供する。ＲＴＰのタイムスタンプはＰＣＲと同じ９０ｋＨｚの周波数による時刻を入れてあり、システムクロック３０４から供給される補正された９０ＫＨｚクロックにより、各パケットを復号器３０３に出力し、復号器３０３において、同様の補正された２７ＭＨｚクロックでの復号処理を実行することで、符号化器（データ送信側）のシステムクロックとした同期した再生処理が可能となる。
【００５６】
データ送信側である符号化器と、データ受信側である復号器間におけるパケット送受信および、受信側でのカウンタ補正処理について、図１４を参照して説明する。
【００５７】
図１４は、タイムスタンプデータを格納したＲＴＰヘッダを持つパケットを送信する送信側を上段に示し、パケットを受信する受信側を果断に示しており、時間（ｔ）経過を左から右に示したタイムシーケンス図である。
【００５８】
データ送信側の装置ではパケットの送信時に、符号器側のシステムクロックに基づいたＲＴＰカウンタの値［Ｒ＿０］〜［Ｒ＿Ｎ］を各パケットの送信時刻としてのＲＴＰタイムスタンプとして設定しパケットのＲＴＰヘッダ（図１２参照）に入れて送信する。
【００５９】
受信側に届いたパケットは、復号器側のシステムクロックに基づいたＲＴＰカウンタ［Ｃ＿０］〜［Ｃ＿Ｎ］に基づいて処理される。つまり、［Ｒ＿０］〜［Ｒ＿Ｎ］は符号器側クロックを、［Ｃ＿０］〜［Ｃ＿Ｎ］は復号器側クロックを反映した値になっており、受信側でこれらの値の「単位時間あたりの差分（タイム増加分）」を比較することで、どちらのクロックがどれだけ速いか、あるいは遅いかを判定し、その差分に基づいて、データ受信側（復号側）のクロック調整を実行する。
【００６０】
復号側のクロックをデータ送信側（符号化側）に合わせるように調節することで符号器側と復号器側のクロックの同期が実現され、例えば動画像データのリアルタイム再生処理等において、画像データが一時ストップする等の再生乱れの発生が防止される。
【００６１】
ＲＴＰパケットの通信ネットワーク上での遅延揺らぎがない場合は、図１４において（Ｒ＿１−Ｒ＿０）＝（Ｃ＿１−Ｃ＿０）が成り立ち、クロックの調整を行なうことなく受信パケットの良好な再生処理が可能となるが、ＲＴＰパケットの通信ネットワーク上での遅延揺らぎがある場合は、受信側でのパケット受信間隔は、送信側でパケットに付与したタイムスタンプの間隔とは異なるものとなる。
【００６２】
例えばネットワーク上での遅延が発生すると、単位時間あたりの差分（タイム増加分）、すなわち、（Ｒ＿１−Ｒ＿０）と、（Ｃ＿１−Ｃ＿０）との差分の誤差が大きくなってしまう。よって、揺らぎの影響を小さくするために、各差分（タイム増加分）の比較は、ある程度の時間間隔、例えばタイムスタンプが（Ｒ＿０）のパケット到着から、タイムスタンプが（Ｒ＿Ｎ）のパケット到着までの時間間隔を、差分検出時間間隔として設定した上で行う必要がある。
【００６３】
図１５を参照して、データ受信側（復号器側）の処理を詳細に説明する。先に説明した構成と同様、処理パケットは、先に説明した図１２に示すようにＭＰＥＧ２−ＴＳを格納し、ＲＴＰヘッダ、ＵＤＰヘッダ、ＩＰヘッダを持つＭＰＥＧｏｖｅｒＩＰパケットを想定する。インターネット等の遅延揺らぎの発生するネットワーク４０１を用いてタイムスタンプの付加されたＲＴＰヘッダを持つパケットを伝送する構成を例とする。ＲＴＰヘッダには、データ送信元のシステムクロックに基づいて設定されるタイムスタンプが格納される。
【００６４】
ネットワークを介して受信されるパケットは、バッファ４０２に格納される前に、ＲＴＰタイムスタンプデータ取得部４１１が各受信パケットのＲＴＰヘッダからタイムスタンプデータを取得する。
【００６５】
ＲＴＰタイムスタンプデータ取得部４１１の取得したタイムスタンプデータは、各パケット受信毎に差分解析部４１２に入力される。差分解析部４１２は、ＲＴＰタイムスタンプデータ取得部４１１の取得したタイムスタンプデータを入力するとともに、システムクロック４０４の可変周波数発振器４１４の基準クロックを生成するカウンタデータを入力する。
【００６６】
差分解析部４１２は、ある程度の時間間隔、例えばタイムスタンプが（Ｒ＿Ｓ）のパケット到着から、タイムスタンプが（Ｒ＿Ｅ）のパケット到着までの時間間隔を、差分検出時間間隔として設定した上で、（Ｒ＿Ｓ−Ｒ＿Ｅ）の差分と、（Ｃ＿Ｓ−Ｃ＿Ｅ）との差分を検出する。
【００６７】
図１６に差分解析部４１２に入力されるＲＴＰタイムスタンプデータ取得部４１１の取得したタイムスタンプデータ、およびシステムクロック４０４の可変周波数発振器４１４の基準クロックを生成するカウンタデータ値の例を示す。同じＲＴＰタイムスタンプが付いたＲＴＰパケットのうち、その先頭パケットが到着する瞬間をサンプル点とする。この時間軸上の２サンプル点Ｔ＿ＳとＴ＿Ｅ（Ｔ＿Ｓ＜Ｔ＿Ｅ）において、受信ＲＴＰパケットのタイムスタンプＲＴＰＴ＿ＳとＲＴＰＴ＿Ｅ、および復号器側のシステムクロックによるカウンタ値ＣＮＴＲ＿ＳとＣＮＴＲ＿Ｅを取る。
【００６８】
すなわち、各時刻［Ｔ＿Ｓ］と、時刻［Ｔ＿Ｓ］から、予め設定した差分検出時間間隔経過後の時刻［Ｔ＿Ｅ］におけるタイムスタンプデータ［ＲＴＰＴ＿Ｓ］、［ＲＴＰＴ＿Ｅ］、および、カウンタデータ［ＣＮＴＲ＿Ｓ］、［ＣＮＴＲ＿Ｅ］に基づいて、時刻［Ｔ＿Ｓ］と［Ｔ＿Ｅ］間における差分を下式に従って算出する。
【００６９】
ＲＴＰタイムスタンプ差分（タイム増加分）
ΔＴ＿Ｒ＝ＲＴＰＴ＿Ｅ−ＲＴＰＴ＿Ｓ
カウンタ差分（カウンタ値増加分）
ΔＴ＿Ｃ＝ＣＮＴＲ＿Ｅ−ＣＮＴＲ＿Ｓ
【００７０】
差分解析部４１２は、上記式に従ってタイムスタンプデータの差分［ΔＴ＿Ｒ］と、同一の時間間隔前後におけるシステムクロック３０４のカウンタの差分［ΔＴ＿Ｃ］の各差分データを算出する。
【００７１】
差分解析部４１２の算出したタイムスタンプデータの差分［ΔＴ＿Ｒ］と、カウンタの差分［ΔＴ＿Ｃ］の各差分データは、クロック制御部４１３に出力され、クロック制御部４１３は、差分解析部３１２の算出したタイムスタンプデータの差分［ΔＴ＿Ｒ］と、カウンタの差分［ΔＴ＿Ｃ］の各差分データに基づいて、前述の式１、すなわち、
Ｄ＝（ΔＴ＿Ｒ−ΔＴ＿Ｃ）／ΔＴ
に基づいて、制御パラメータを生成し、生成した制御パラメータに基づいてシステムクロック４０４の可変周波数発信器４１４の基準クロックを生成するカウンタの補正を実行する。
【００７２】
カウンタ制御は、
Ｄ＝０であれば、調整なし。
Ｄ＞０であれば、カウンタを速める制御。
Ｄ＜０であれば、カウンタを遅くする制御。
が実行される。
【００７３】
このクロック制御部４１３における制御によって修正されたカウンタに基づいてシステムクロック４０４の可変周波数発振器４１４は、復号器３０３に対するクロック（２７ＭＨｚ）を提供する。さらに分周器４１５において、入力２７ＭＨＺに基づく分周処理が実行されて９０ＫＨｚクロックがバッファ４０２に入力される。ＲＴＰのタイムスタンプはＰＣＲと同じ９０ｋＨｚの周波数による時刻を入れてあり、システムクロック３０４から供給される補正された９０ＫＨｚクロックにより、各パケットを復号器３０３に出力し、復号器３０３において、同様の補正された２７ＭＨｚクロックでの復号処理を実行することで、符号化器（データ送信側）のシステムクロックとした同期した再生処理が可能となる。
【００７４】
次に、図１７のフローチャートを参照してデータ受信装置としての復号器側での処理手順を説明する。
【００７５】
データ受信装置は、ステップＳ１０１において、ＲＴＰパケットの到着を待つ。ステップＳ１０２において、到着したＲＴＰパケットのタイムスタンプをＲＴＰＴ＿Ｓにセットする。また、自装置のシステムクロックによりカウントアップされるＲＴＰタイムスタンプと同じ周期（ＭＰＥＧ２−ＴＳの場合９０ＫＨｚ）のカウンタ値をＣＮＴＲ＿Ｓにセットする。さらに到着時刻をＴ＿Ｓにセットする。
【００７６】
ステップＳ１０３において、予め定められた差分検出時間が経過するのを待機する。この待機処理は、差分検出時間間隔が短すぎると遅延揺らぎの影響により精度が出にくくなるための処理である。なお、データ送信側におけるＲＴＰタイムスタンプの付け方によっては、ＰＣＲに同期して同じ値のＲＴＰタイムスタンプが連続する異なるパケットに続いて付与される場合があるので、このパケットがＲＴＰタイムスタンプ群の先頭でない場合は、次のＲＴＰパケットの受信を待機（Ｓ１０５）し、ＲＴＰタイムスタンプ群の先頭であることが確認される（Ｓ１０４：Ｙｅｓ）と、ステップＳ１０６に進む。。
【００７７】
ステップＳ１０６では、到着したパケットのＲＴＰタイムスタンプをＲＴＰＴ＿Ｅにセットする。また、復号器側のシステムクロックによりカウントアップされるＲＴＰタイムスタンプと同じ周期のカウンタ値をＣＮＴＲ＿Ｅにセットする。さらにその時刻をＴ＿Ｅにセットする。
【００７８】
ステップＳ１０７では、前述の［式１］から制御パラメータ値［Ｄ］を求め、ステップＳ１０８において、制御パラメータ値［Ｄ］に基づいて、システムクロックの可変周波数発振器を制御する。
【００７９】
ステップＳ１０９では、各データ更新処理を実行する。すなわち、ＲＴＰＴ＿ＳにＲＴＰＴ＿Ｅを、ＣＮＴＲ＿ＳにＣＮＴＲ＿Ｅを、またＴ＿ＳにＴ＿Ｅを代入して、ステップＳ１０３に進み、同様の制御を繰り返す。
【００８０】
この制御処理を順次繰り返し実行することにより、ネットワークにおける遅延揺らぎが発生した場合においても、また、データ受信側でバッファにデータ蓄積後に処理を実行する場合においても、データ受信側（復号側）のシステムクロックをデータ送信側のシステムクロック、すなわちタイムスタンプによって規定される時刻データに同期させることが可能となり、例えば画像データのリアルタイム再生等が確実に実行される。なお、上述の実施例では、ＲＴＰパケットに格納するデータ例としてＭＰＥＧ２−ＴＳのストリームを挙げたが、上述した方法でシステムクロックを制御する処理は、ＭＰＥＧ２−ＴＳのストリームの処理に限らず、その他の画像、音声他、各種データの転送処理において同様の効果をもたらすものである。
【００８１】
図１８に、上述の実施例で述べた一連の処理を実行するデータ受信装置のシステム構成例を示す。本発明のシステムで送受信されるデータは、符号化データであり、データ送信装置ではエンコード（符号化）処理が実行され、データ受信装置ではデコード（復号）処理が実行される。符号化されたデータはパケットとしてネットワークを介して送受信する。そのため、データ送信側では、パケット生成（パケタイズ処理）を実行し、データ受信側ではパケット展開（デパケタイズ処理）を実行する。
【００８２】
図１８に示すデータ受信装置（ｅｘ．ＰＣ）８５０は、データ送信処理機能も有するデータ送受信装置として示してある。従ってエンコード（符号化）処理、デコード（復号）処理を実行するとともにパケット生成、展開処理を実行するコーデック８５１を有する。
【００８３】
さらに、通信ネットワークとのインタフェースとして機能するネットワークインタフェース８５２、マウス８３７、キーボード８３６等の入力機器との入出力インタフェース８５３、ビデオカメラ８３３、マイク８３４、スピーカ８３５等のＡＶデータ入出力機器からのデータ入出力を行なうＡＶインタフェース８５４、ディスプレイ８３２に対するデータ出力インタフェースとしてのディスプレイ・インタフェース８５５、各データ入出力インタフェース、コーデック８５１、ネットワークインタフェース８５２間のデータ転送制御、その他各種プログラム制御を実行するＣＰＵ８５６、ＣＰＵ８５６により制御実行される各種プログラムの格納、データの格納、ＣＰＵ８５６のワークエリアとして機能するＲＡＭ、ＲＯＭからなるメモリ８５７、データ格納、プログラム格納用の記憶媒体としてのＨＤＤ８５８を有し、それぞれＰＣＩバス８５９に接続され、相互のデータ送受信が可能な構成を持つ。
【００８４】
コーデック８５１は、図１８に示すように、例えばビデオカメラ８３３からの画像データ、マイク８３４からの音声データを入力し、符号化処理、パケット生成処理（パケタイズ）を実行し、最終的に符号化データをペイロードとしたパケットを生成する。生成されたパケットは、ＰＣＩバス８５９上に出力され、ネットワークインタフェース８５２を介してネットワークに出力され、パケットのヘッダに設定された宛先アドレスに配信される。
【００８５】
また、ＨＤＤ８５８またはメモリ８５７に格納されたソフトウェアエンコードプログラムに従ってＣＰＵ８５６の制御により、ビデオカメラ８３３からの画像データ、マイク８３４からの音声データを符号化してネットワークインタフェース８５２を介してネットワークに出力する処理も実行する構成としてもよい。
【００８６】
一方、ネットワークを介して入力するＩＰパケット化されたデータは、ネットワークインタフェース８５２を介して、バス８５６上に出力されて、メモリ８５７にバッファリングされた後、コーデック８５１に入力される。メモリ８５７からコーデック８５１に対するデータ（パケット）出力処理、およびコーデック８５１における復号処理においては、上述の処理によって調整されたシステムクロック８５９から供給されるクロック信号によって制御が実行される。
【００８７】
コーデック８５１では、入力データのパケット展開処理（デパケタイズ）を実行し、ペイロードとして格納された符号化データを抽出後、復号処理を実行して、ディスプレイ８３２、スピーカ８３５において再生、出力する。本構成におけるバッファとしてのメモリ８５７からのコーデック８５１に対する出力、コーデック８５１における処理は、前述のクロック制御によって、データ送信側のクロックに同期させる調整処理がなされたクロックによって制御され、例えばＭＰＥＧ２−ＴＳパケットに基づく動画再生処理において、データ送信側と同期したリアルタイム再生がエラーなく実行でき、高品質なデータ再生が可能となる。
【００８８】
なお、ＣＰＵ８５６は、例えばＲＯＭ等のメモリに格納されたプログラムに限らず、宗太における処理制御を実行する。また、各種のハードディスクに格納されているプログラム、衛星若しくはネットワークから転送され、受信されてインストールされたプログラム等を、ＲＡＭ(Random Access Memory)等のメモリにロードして実行することも可能である。
【００８９】
ここで、本明細書において、プログラムは、１つのコンピュータにより処理されるものであっても良いし、複数のコンピュータによって分散処理されるものであっても良い。さらに、プログラムは、遠方のコンピュータに転送されて実行されるものであっても良い。
【００９０】
以上、特定の実施例を参照しながら、本発明について詳解してきた。しかしながら、本発明の要旨を逸脱しない範囲で当業者が該実施例の修正や代用を成し得ることは自明である。すなわち、例示という形態で本発明を開示してきたのであり、限定的に解釈されるべきではない。本発明の要旨を判断するためには、冒頭に記載した特許請求の範囲の欄を参酌すべきである。
【００９１】
【発明の効果】
以上、説明してきたように、本発明のデータ受信装置および受信データ処理方法によれば、タイムスタンプを付与した例えばＲＴＰ等のデータ通信プロトコルに従ったパケット受信処理において、ネットワークにおける遅延揺らぎが発生した場合においても、また、データ受信側でバッファにデータ蓄積後に処理を実行する場合においても、データ受信側（復号側）のシステムクロックをデータ送信側のシステムクロックに同期させることが可能となり、例えば画像データのリアルタイム再生等を確実に実行することが可能となり、信頼性の高いデータ伝送、高品質なデータ再生が可能となる。
【図面の簡単な説明】
【図１】ＴＣＰヘッダ構成を示す図である。
【図２】ＵＤＰヘッダ構成を示す図である。
【図３】ＲＴＰヘッダ構成を示す図である。
【図４】ＭＰＥＧ２−ＴＳ（トランスポートストリーム）について説明する図である。
【図５】トランスポートストリーム（ＴＳ）ヘッダ構成について説明する図である。
【図６】トランスポートストリーム（ＴＳ）パケットにおけるアダプテーションフィールドについて説明する図である。
【図７】ＰＬＬによる制御構成を説明する図である。
【図８】ＭＰＥＧ−ＴＳパケットにおけるＲＴＰタイムスタンプ、ＰＣＲとの対応について説明する図である。
【図９】パケット処理におけるバッファリングの影響について説明する図である。
【図１０】パケット処理におけるバッファリングの影響を排除するための構成例について説明する図である。
【図１１】本発明のデータ受信装置の構成を示す図である。
【図１２】本発明のデータ受信装置において処理対象となるパケット構成を示す図である。
【図１３】本発明のデータ受信装置における差分解析部の取得するデータ例を示す図である。
【図１４】本発明のデータ受信装置における処理シーケンスについて説明する図である。
【図１５】本発明のデータ受信装置の構成を示す図である。
【図１６】本発明のデータ受信装置における差分解析部の取得するデータ例を示す図である。
【図１７】本発明のデータ受信装置における処理手順を説明するフロー図である。
【図１８】本発明のデータ受信装置のシステム構成例を示す図である。
【符号の説明】
１０１  引き算器
１０２  ローパスフィルタ＆ゲイン
１０３  電圧制御発振器（ＶＣＯ）
１０４  カウンタ
２０１  ネットワーク
２０２  復号器
２０３  システムクロック
２１１  ネットワーク
２１２  バッファ
２１３  復号器
２１４  システムクロック
２２１  ネットワーク
２２２  バッファ
２２３  復号器
２２４  システムクロック
２２５  データ量監視部
３０１  ネットワーク
３０２  バッファ
３０３  復号器
３０４  システムクロック
３１１  ＲＴＰタイムスタンプ取得部
３１２  差分解析部
３１３  クロック制御部
４０１  ネットワーク
４０２  バッファ
４０３  復号器
４０４  システムクロック
４１１  ＲＴＰタイムスタンプ取得部
４１２  差分解析部
４１３  クロック制御部
４１４  可変周波数発振器
８０９  ＰＣＩバス
８３２  ディスプレイ
８３３  ビデオカメラ
８３４  マイク
８３５  スピーカ
８３７  マウス
８３８  キーボード
８５０  データ送受信装置
８５１  コーデック
８５２  ネットワークインタフェース
８５３  入出力インタフェース
８５４  ＡＶインタフェース
８５５  ディスプレイインタフェース
８５６  ＣＰＵ
８５７  メモリ
８５８  ＨＤＤ
８５９  システムクロック
【図１】
0003922047.tif 000002
【図２】
0003922047.tif 000003
【図３】
0003922047.tif 000004
【図４】
0003922047.tif 000005
【図５】
0003922047.tif 000006
【図６】
0003922047.tif 000007
【図７】
0003922047.tif 000008
【図８】
0003922047.tif 000009
【図９】
0003922047.tif 000010
【図１０】
0003922047.tif 000011
【図１１】
0003922047.tif 000012
【図１２】
0003922047.tif 000013
【図１３】
0003922047.tif 000014
【図１４】
0003922047.tif 000015
【図１５】
0003922047.tif 000016
【図１６】
0003922047.tif 000017
【図１７】
0003922047.tif 000018
【図１８】
0003922047.tif 000019