(57)【特許請求の範囲】
【請求項１】
データ受信側で処理をするときの同期信号を設定するために必要な同期時刻参照情報を含む第１のパケットと実時間データを含む第１のパケットが配置されたトランスポートストリームファイルを構成する第１のパケットが、順次入力される入力手段と、
上記入力手段で入力されたトランスポートストリームファイルから、上記同期時刻参照情報を含む第１のパケットを抽出する抽出手段と、
上記抽出手段で抽出した同期時刻参照情報を変換してタイムスタンプとする変換手段と、
ヘッダ部分に上記変換手段で変換されたタイムスタンプを格納するとともに、データ部分に上記入力手段で入力されたトランスポートストリームファイルを構成する第１のパケットを順次格納した第２のパケットを作成するパケット作成手段と、
上記パケット作成手段で作成した第２のパケットを送信する送信手段とを備え、
上記入力手段は、入力された上記第１のパケットに上記同期時刻参照情報が含まれているか否かを判定し、
上記入力手段に入力された第１のパケットに上記同期時刻参照情報が含まれているとき、上記変換手段は、該第１のパケット以前に入力され、上記パケット作成手段により既に作成された上記第２のパケットを送信するように上記送信手段を制御し、
上記入力手段に入力された第１のパケットに上記同期時刻参照情報が含まれていないとき、上記パケット作成手段は、該入力手段に入力された第１のパケットを、上記第２のパケットのデータ部分に格納するデータ送信装置。
【請求項２】
上記変換手段は、上記同期時刻参照情報にオフセットを加えてタイムスタンプとするとともに、該タイムスタンプで示される時刻と、該送信手段が第２のパケットを送信した時刻との差を計算することで、次に上記第２のパケットを送信する送信時刻を設定する請求項１記載のデータ送信装置。
【請求項３】
上記第２のパケットには、データ部分に格納する最大の上記第１のパケットの数が決定されており、
上記変換手段は、上記パケット作成手段により作成されている上記第２のパケットのデータ部分に格納されている上記第１のパケットの数が、上記最大の第１のパケットの数となっているとき、上記送信手段に第２のパケットを送信するように制御する請求項１記載のデータ送信装置。
【請求項４】
上記入力手段にはＭＰＥＧ２−ＴＳフォーマットに従った第１のパケットが入力され、
上記抽出手段は第１のパケットに含まれるＰＣＲ（Program Clock Reference、番組基準クロック）を抽出し、
上記変換手段はＲＴＰ（Real-time Transport Protocol）に従った第２のパケットに含まれるタイムスタンプに変換する請求項１記載のデータ送信装置。
【請求項５】
上記変換手段は、上記同期時刻参照情報の一部を複製して、上記タイムスタンプとする請求項１記載のデータ送信装置。
【請求項６】
データ受信側で処理をするときの同期信号を設定するために必要な同期時刻参照情報を含む第１のパケットと実時間データを含む第１のパケットが配置されたトランスポートストリームファイルを構成する第１のパケットを順次入力する入力ステップと、
上記入力ステップで入力した上記トランスポートストリームファイルから上記同期時刻参照情報を含む第１のパケットを抽出する抽出ステップと、
上記抽出ステップで抽出した上記同期時刻参照情報を変換してタイムスタンプとする変換ステップと、
ヘッダ部分に上記変換ステップで変換されたタイムスタンプを格納するとともに、データ部分に上記入力ステップで入力したトランスポートストリームファイルを構成する第１のパケットを順次格納した第２のパケットを作成するパケット作成ステップと、
上記パケット作成ステップで作成した第２のパケットを送信する送信ステップとを有し、
上記入力ステップでは、入力した上記第１のパケットに上記同期時刻参照情報が含まれているか否かを判定し、
上記入力ステップで入力した第１のパケットに上記同期時刻参照情報が含まれているとき、上記送信ステップでは、該第１のパケット以前に入力され、上記パケット作成ステップにより既に作成された上記第２のパケットを送信し、
上記入力ステップで入力された第１のパケットに上記同期時刻参照情報が含まれていないとき、上記パケット作成ステップでは、該入力ステップで入力された第１のパケットを、上記第２のパケットのデータ部分に格納するデータ送信方法。
【請求項７】
上記送信ステップでは、上記同期時刻参照情報にオフセットを加えてタイムスタンプとするとともに、該タイムスタンプで示される時刻と、該送信手段が第２のパケットを前回送信した時刻との差を計算することで設定される送信時刻に、上記第２のパケットを送信する請求項６記載のデータ送信方法。
【請求項８】
上記第２のパケットには、データ部分に格納する最大の上記第１のパケットの数が決定されており、
上記送信ステップでは、上記パケット作成ステップにより作成されている上記第２のパケットのデータ部分に格納されている上記第１のパケットの数が、上記最大の第１のパケットの数となっているとき、上記第２のパケットを送信する請求項６記載のデータ送信方法。
【請求項９】
上記入力ステップでは、ＭＰＥＧ２−ＴＳフォーマットに従った第１のパケットを入力し、
上記抽出ステップでは、上記第１のパケットに含まれるＰＣＲ（Program Clock Reference、番組基準クロック）を抽出し、
上記変換ステップでは、ＲＴＰ（Real-time Transport Protocol）に従った第２のパケットに含まれるタイムスタンプに変換する請求項６記載のデータ送信方法。
【請求項１０】
上記変換ステップでは、上記同期時刻参照情報の一部を複製して、上記タイムスタンプとする請求項６記載のデータ送信方法。
【発明の詳細な説明】
【０００１】
【発明の属する技術分野】
本発明は、例えば、インターネット等のネットワークを介して動画像等の実時間データを伝送するデータ送信装置及び方法に関する。
【０００２】
【従来の技術】
近年、ＩＰ（Internet Protocol）に従ったネットワークを利用したビデオ会議システムやビデオオンデマンド（ＶｏＤ（Video on Demand））システム等のリアルタイム性が要求されるデータの配信システムが提案されている。
【０００３】
上記ビデオ会議システムやビデオオンデマンドシステム等で音声や動画像をリアルタイムに再生する場合において、パケットの廃棄やデータエラー時に再送制御を行うＴＣＰ（Transport Control Protocol）のようなトランスポートプロトコルでは、通常、リアルタイム性を保つことができないために、使用することができないことが多い。
【０００４】
ＴＣＰに従ってデータ伝送をするに際してデータに付加されるＴＣＰヘッダに含まれる情報は、図９に示すように送信元ポート、宛先ポート、シーケンス番号、応答確認番号、フラグ、ウィンドウ、チェックサム、緊急ポインタ、オプション、パディングがある。
【０００５】
このＴＣＰは、一対一で通信を行うときのプロトコルであり、複数の通信ノード間で音声や動画像等の実時間データを送信することができない。そこで、ビデオ会議システムやビデオオンデマンドシステムのような複数の通信ノードを想定したシステムでは、トランスポートプロトコルとしてＴＣＰではなくＵＤＰ（User Datagram Protocol）を使用することが多い。
【０００６】
上記ＵＤＰは、一方のアプリケーションプロセスから、リモートマシン上の他方のアプリケーションプロセスにデータを転送するに際して、ＴＣＰに対して最小のヘッダ情報で行うように設計されている。
【０００７】
そのため、データに付加されるＵＤＰヘッダに含まれる情報は、図１０に示すように、送信元ポート番号、宛先ポート番号、データ長、チェックサムのみである。しかし、ＵＤＰヘッダには、ＴＣＰヘッダに存在するようなパケットの順番を表すシーケンス番号を格納するフィールドが存在しないため、ネットワークでパケットの順序が変更してしまったとき等には、その順序を正確に入れ替える等の通信制御処理をすることができない。また、通信制御に有効な送信時のタイムスタンプ等の時刻制御情報を格納するフィールドは、ＴＣＰ、ＵＤＰの双方にも存在しない。
【０００８】
そこで、ＲＴＰ（Real-time Transport Protocol）は、ＩＰネットワークにおいてリアルタイムに音声や動画を送受信するためのトランスポートプロトコルとして提案された（ＲＦＣ１８８９参照）。通常、ＲＴＰは、ＵＤＰ上で用いられ、図１１に示すように、ヘッダ情報として先頭からバージョン（Ｖ）、パディング（Ｐ）、拡張ヘッダの有無（Ｘ）、ＣＳＲＣ（寄与送信元）数、マーカビット（Ｍ）、ペイロードタイプ、シーケンス番号、ＲＴＰタイムスタンプ、ＳＳＲＣ（同期送信元）識別子、ＣＳＲＣ識別子（０〜１５個）を使用する。
【０００９】
ＲＴＰは、ヘッダ情報としてシーケンス番号、タイムスタンプ等の時刻制御情報を使用するため、データ受信側でパケットの順序訂正が可能となる点、ネットワークでの遅延揺らぎを吸収することができる点などの様々な利点がある。このことから、ＲＴＰは、例えばＶｏＩＰ（Voice over IP）を実現するための技術として知られている。
【００１０】
ところで、画像圧縮符号化の国際標準規格であるＭＰＥＧ２（Moving Picture Experts Group 2）は、上述のネットワークにおけるデータ伝送を始め、放送、通信、蓄積というすべてのアプリケーションに対して汎用的に使用されている動画像圧縮方式である。このＭＰＥＧ２規格は、近年において高密度記録媒体のＤＶＤ（Digital Versatile Disc）や、ディジタルテレビ放送に使用されている。
【００１１】
ＭＰＥＧ２規格に従ってストリームを生成するＭＰＥＧ２システムでは、ＭＰＥＧ規格により符号化されたＭＰＥＧビデオデータやＭＰＥＧオーディオデータ等からなるビットストリーム（ＥＳ（Elementary Stream）、エレメンタリストリーム）を複数本統合して、１本のストリームに多重化することができる。
【００１２】
更に、ＭＰＥＧ２システムでは、伝送ビットエラーの発生の少ない蓄積媒体からの伝送を想定し、１本のストリームで１つのプログラムを構成するＭＰＥＧ２−ＰＳ（Program Stream）形式と、伝送ビットエラーの発生が予想される通信回線を用いた伝送を想定し、１本のストリームで複数のプログラムを構成可能なＭＰＥＧ２−ＴＳ（Transport Stream）形式の２種類のフォーマットを規定している。
【００１３】
このＭＰＥＧ２システムにおいて、エレメンタリストリーム（ＥＳ）からプログラムストリーム（ＰＳ）を作成するときには、図１２に示すように、エレメンタリストリームを分割して各種情報を付加したＰＥＳパケットを作成する。次いで、各ＰＥＳパケットに更に各種情報を付加することでプログラムストリーム（ＰＳ）を作成する。
【００１４】
また、エレメンタリストリームからトランスポートストリームを作成するときには、図１３に示すように、エレメンタリストリームを分割してＰＥＳパケットを作成し、ＰＥＳパケットを分割して各種情報を付加したＴＳパケットを作成する。このとき、各ＴＳパケットのデータ長は固定とされる。次いで、各ＴＳパケットに更にヘッダ部を付加することで、トランスポートストリーム（ＴＳ）を作成する。
【００１５】
例えば、ＡＴＭ（Asyncronous Transfer Mode）やＬＡＮ（Local Area Network）等を利用したネットワークでは、伝送ビットエラーの発生を避けることができないので、通常、上記ＭＰＥＧ２−ＴＳフォーマットが使用されることが多い。
【００１６】
ＭＰＥＧ２−ＴＳフォーマットに従ったＴＳパケットは、図１４に示すように、４バイトのＴＳヘッダ部と、データを格納するための１８４バイトのデータ部（ペイロード）から構成される、固定長のパケットである。
【００１７】
ＴＳヘッダ部には、１バイトの同期バイト（０×４７）（sync byte）と、ＴＳパケットの属性を示すフラグである１ビットのトランスポートエラーインジケータ（taransport error indicator）、１ビットのペイロードユニット開始インジケータ（payload unit start indicator）及びトランスポート優先度（transport priority）と、各ストリームの属性を示し、ストリームを識別するための１３ビットのＰＩＤ（Packet Identifier）と、スクランブル制御識別子（transport scrambling control）と、アダプテーションフィールド識別子（adaptation field control（ＡＦＣ））と、ＴＳパケットの連続性を検査するのに用いる４ビットの巡回カウンタ（continuity counter）が格納される。このうち、ＰＩＤは、そのＭＰＥＧ２−ＴＳを構成するオーディオやビデオのＥＳを区別するために、１つのＴＳパケットごとに１つずつ付加される識別子である。
【００１８】
また、ＭＰＥＧ−ＴＳフォーマットでは、図１５に示すように、アダプテーションフィールドと呼ばれるフィールドをデータ部の全体、もしくはデータ部の先頭側に格納するＴＳパケットとすることができる。このとき、ＡＦＣの値を１、２又は３とすることで、データ部の構造を表現する。
【００１９】
アダプテーションフィールドには、各種アプリケーションで作成したプライベートデータや、復号器側で復号するに際して時刻基準となるＳＴＣの値を符号器側で意図した値に設定、校正するための情報であるＰＣＲ（Program Clock Reference、番組基準クロック）等を格納することができる。
【００２０】
ＰＣＲは、９０ｋＨｚの基本周波数による時刻をディジタル化したものであり、ＭＰＥＧ２規格に準拠したデータの受信、再生側の復号回路のシステムクロックを送信側のクロックに同期させるために使用される。ＰＣＲをアダプテーションフィールドに格納したＴＳパケットは、ビデオやオーディオのストリームとは異なるＰＩＤを持つ。なお、ＰＣＲは、３３ビットのフィールドで表現されている。
【００２１】
ＩＰネットワークにおいて、上述のＲＴＰを用いてＴＳパケットを伝送する規格としては、ＲＴＰ  Ｐａｙｌｏａｄ  Ｆｏｒｍａｔ  ＭＰＥＧ１／ＭＰＥＧ２Ｖｉｄｅｏ（ＲＦＣ２２５０）が標準化提案プロトコルとして存在する。このＲＦＣには、ＲＴＰパケットの伝送方法やパケットのカプセル化方式が記載されており、ＲＴＰのペイロード部分に格納するデータとしてＴＳパケットを用いる場合には、１つのＲＴＰパケットにＴＳパケットを複数個格納して伝送することができると記載されている。また、ＲＴＰタイムスタンプ（３２ビット）は、図１６に示すように、ＰＣＲ（３３ビット）と同じ９０ｋＨｚの周波数による時刻を格納する、つまりＰＣＲと同期していなければならないことも記載されている。
【００２２】
【発明が解決しようとする課題】
ところで、ＭＰＥＧ２−ＴＳフォーマットに従ったＴＳパケットに含まれるデータをソフトウェアでエンコードをする場合や、ＬＳＩ（Large Scale Integrated Circuit）等のハードウェアでＭＰＥＧ−ＥＳまでエンコードされたデータをソフトウェアでＭＰＥＧ２−ＴＳに多重化する場合等では、ＴＳパケットのタイムスタンプ（ＰＣＲ）と、ＲＴＰのＲＴＰタイムスタンプとの両方を、ソフトウェアにより付加することができるため、ＰＣＲに同期したＲＴＰタイムスタンプを付加するのは容易であることが多かった。
【００２３】
しかし、予めＭＰＥＧ２−ＴＳフォーマットで記録媒体に保存されているデータや、ハードウェアで順次ＭＰＥＧ２−ＴＳフォーマットとされたデータを順次ＲＴＰに従ってＲＴＰパケットに格納する場合には、ＰＣＲに同期したＲＴＰタイムスタンプのみをソフトウェアで正確に付加する必要があるが、この手法については特に提案されていなかった。したがって、従来では、ＰＣＲに同期したＲＴＰタイムスタンプに基づいて、適切な送信間隔、レートで送信する仕組みが提供されていないのが現状である。
【００２４】
そこで、本発明は、上述したような実情に鑑みて提案されたものであり、ＭＰＥＧ２−ＴＳフォーマットに従って記録媒体に保存されているデータや、ハードウェアで順次ＭＰＥＧ２−ＴＳフォーマットとされたデータを順次ＲＴＰに従って送信するに際して、正確にＰＣＲに同期したＲＴＰタイムスタンプを付加することができるデータ送信装置及び方法を提供することを目的とする。
【００２５】
【課題を解決するための手段】
本発明に係るデータ送信装置は、上述の課題を解決するために、データ受信側で処理をするときの同期信号を設定するために必要な同期時刻参照情報を含む第１のパケットと実時間データを含む第１のパケットが配置されたトランスポートストリームファイルを構成する第１のパケットが、順次入力される入力手段と、入力手段で入力されたトランスポートストリームファイルから、同期時刻参照情報を含む第１のパケットを抽出する抽出手段と、抽出手段で抽出した同期時刻参照情報を変換してタイムスタンプとする変換手段と、ヘッダ部分に変換手段で変換されたタイムスタンプを格納するとともに、データ部分に入力手段で入力したトランスポートストリームファイルを構成する第１のパケットを順次格納した第２のパケットを作成するパケット作成手段と、パケット作成手段で作成した第２のパケットを送信する送信手段とを備え、入力手段は、入力された第１のパケットに同期時刻参照情報が含まれているか否かを判定し、入力手段に入力された第１のパケットに同期時刻参照情報が含まれているとき、変換手段は、この第１のパケット以前に入力され、パケット作成手段により既に作成された第２のパケットを送信するように送信手段を制御し、入力手段に入力された第１のパケットに同期時刻参照情報が含まれていないとき、パケット作成手段は、この入力手段に入力された第１のパケットを、第２のパケットのデータ部分に格納する。
【００２６】
本発明に係るデータ送信方法は、上述の課題を解決するために、データ受信側で処理をするときの同期信号を設定するために必要な同期時刻参照情報を含む第１のパケットと実時間データを含む第１のパケットが配置されたトランスポートストリームファイルを構成する第１のパケットを順次入力する入力ステップと、入力ステップで入力したトランスポートストリームファイルから同期時刻参照情報を含む第１のパケットを抽出する抽出ステップと、抽出ステップで抽出した同期時刻参照情報を変換してタイムスタンプとする変換ステップと、ヘッダ部分に変換ステップで変換されたタイムスタンプを格納するとともに、データ部分に入力ステップで入力したトランスポートストリームファイルを構成する第１のパケットを順次格納した第２のパケットを作成するパケット作成ステップと、パケット作成ステップで作成した第２のパケットを送信する送信ステップとを有し、入力ステップでは、入力した第１のパケットに同期時刻参照情報が含まれているか否かを判定し、入力ステップで入力した第１のパケットに同期時刻参照情報が含まれているとき、送信ステップでは、この第１のパケット以前に入力され、パケット作成ステップにより既に作成された第２のパケットを送信し、入力ステップで入力した第１のパケットに同期時刻参照情報が含まれていないとき、パケット作成ステップでは、この入力ステップで入力した第１のパケットを、第２のパケットのデータ部分に格納する。
【００２７】
【発明の実施の形態】
以下、本発明の実施の形態について図面を参照しながら詳細に説明する。
【００２８】
本発明は、例えば図１に示すようなデータ送信装置１に適用され、以下に第１の実施の形態を説明する。
【００２９】
データ送信装置１は、例えば記録媒体からＭＰＥＧ−ＴＳフォーマットに従って符号化されたＴＳパケットからなるトランスポートストリームが入力される。このデータ送信装置１は、例えばビデオオンデマンド（ＶｏＤ）を実現するためのＶｏＤサーバに備えられ、ＶｏＤサーバにＭＰＥＧ２−ＴＳフォーマットで記録媒体に保存されたコンテンツを、ＩＰネットワークを介してリアルタイムに伝送する場合等に使用される。データ受信側では、ＩＰネットワークを介してＲＴＰパケットを受信し、ＲＴＰパケットからトランスポートストリームを取り出してリアルタイム再生をする。
【００３０】
このデータ送信装置１は、ＴＳパケットが入力されるデータ読み出し部１１と、ＰＣＲ読み取り部１２と、ＲＴＰタイムスタンプ計算部１３と、ＲＴＰパケット作成部１４と、データ送信部１５とを備える。
【００３１】
データ読み出し部１１は、ＭＰＥＧ２−ＴＳフォーマットで記録媒体に記録されているトランスポートストリームを含むファイル（以下、ＴＳファイルと呼ぶ。）が入力される。このデータ読み出し部１１は、ＴＳファイルに含まれるＴＳパケットから、トランスポートストリームを読み出してＰＣＲ読み取り部１２に供給する。
【００３２】
ＴＳファイルにはＴＳパケットが連続して配置されており、データ読み出し部１１は、記録媒体に記憶されているＴＳファイルを読み出して連続して配置されたＴＳパケットを順次読み出し、順次読み出したＴＳパケットをＰＣＲ読み取り部１２に供給する。
【００３３】
ＰＣＲ読み取り部１２は、順次データ読み出し部１１から供給されるＴＳパケットを解析し、データ受信装置の復号器側で復号するに際して時刻基準となるＳＴＣの値をデータ送信装置１側で意図した値に設定、校正するための情報であるＰＣＲ（Program Clock Reference、番組基準クロック）が含まれているＴＳパケットを検出し、ＰＣＲを含むＴＳパケットの先頭を検出する。このとき、ＰＣＲ読み取り部１２は、予め設定されたＰＣＲを含むＴＳパケットのＰＩＤと、データ読み出し部１１から供給されるＴＳパケットのＰＩＤとを比較して、一致しているときにはＰＣＲを含むＴＳパケットと判定する。ＰＣＲ読み取り部１２は、検出したＴＳパケットのアダプテーションフィールドに格納されているＰＣＲを読み出す。このＰＣＲ読み取り部１２は、ＰＣＲを、ＰＣＲをＲＴＰタイムスタンプ計算部１３に供給するとともに、ＴＳパケットをＲＴＰパケット作成部１４に供給する。
【００３４】
ＲＴＰタイムスタンプ計算部１３は、ＰＣＲ読み取り部１２からのＰＣＲをＲＴＰにおけるＲＴＰタイムスタンプに変換する処理をする。すなわち、このＲＴＰタイムスタンプ計算部１３は、３３ビットのＰＣＲを３２ビットのＲＴＰタイムスタンプに変換する処理をする。
【００３５】
このとき、ＲＴＰタイムスタンプ計算部１３は、図２に示すように、ＰＣＲを含むＴＳパケットに含まれるＰＣＲの下位３２ビットを複製し、ＰＣＲの下位３２ビットをＲＴＰタイムスタンプとして、ＲＴＰパケット作成部１４に供給する。
【００３６】
或いは、ＲＴＰタイムスタンプ計算部１３は、図３に示すように、３３ビットのＰＣＲの値に、ＲＴＰタイムスタンプとして格納するためのオフセット値を加えることで、３２ビットのＲＴＰタイムスタンプとする。
【００３７】
また、このＲＴＰタイムスタンプ計算部１３は、ＲＴＰパケットに含まれるＴＳパケットの数、ＰＣＲの値で示されている送信時刻に基づいて、データ送信部１５の送信タイミングを制御する送信タイミング信号を生成して、データ送信部１５に供給する。
【００３８】
ＲＴＰパケット作成部１４は、ＲＴＰタイムスタンプ計算部１３からのＲＴＰタイムスタンプをＲＴＰヘッダの所定のフィールドに格納する処理をし、上述の図１１に示したシーケンス番号等の各種ヘッダ情報を付加する。これにより、ＲＴＰパケット作成部１４は、ＲＴＰヘッダと、ＴＳパケットからなるデータ部とからなるＲＴＰパケットを作成して、データ送信部１５に供給する。
【００３９】
データ送信部１５は、ＲＴＰパケット作成部１４からのＲＴＰパケット、及びＲＴＰタイムスタンプ計算部１３から送出タイミング信号が供給される。このデータ送信部１５は、ＲＴＰパケットの先頭に、送出するネットワークに対応した各種ヘッダ情報を付加する。データ送信部１５は、例えばＲＴＰパケットの先頭にＵＤＰヘッダ、ＩＰヘッダを付加してＩＰパケットを作成する。データ送信部１５は、送出タイミング信号で示される送出タイミングでＩＰネットワークにＩＰパケットを送出する。
【００４０】
つぎに、このようなデータ送信装置１において、外部から入力されるトランスポートストリームを送信するときに、ＰＣＲの有無に応じたＩＰパケットの送信制御について説明する。
【００４１】
データ送信装置１は、図４に示すように、ＰＣＲが付加されていないＴＳパケットが入力されたとＰＣＲ読み取り部１２で判定したときには、ＲＴＰパケット作成部１４で作成するＲＴＰパケットのデータ部に順次ＴＳパケットを追加する。ＲＴＰパケット作成部１４は、ＰＣＲ読み取り部１２を介して入力されるＲＴＰパケットのデータ部に含まれるＴＳパケットの数が、予め設定された最大ＴＳパケット数に達したら、ＲＴＰパケットをデータ送信部１５に供給する。これにより、データ送信装置１では、ＲＴＰパケットのデータ部に最大ＴＳパケット数に達したＩＰパケットを作成して送信する処理をする。
【００４２】
一方、データ送信装置１は、図５に示すように、ＰＣＲが付加されたＴＳパケットが入力されたとＰＣＲ読み取り部１２で判定したときには、判定時にＲＴＰパケット作成部１４で保持しているＲＴＰパケットを送信するようにＲＴＰタイムスタンプ計算部１３、ＲＴＰパケット作成部１４及びデータ送信部１５を処理させる。そして、データ送信装置１は、ＰＣＲが付加されたＴＳパケットのＰＣＲをＲＴＰタイムスタンプにして、ＰＣＲが付加されたＴＳパケットを次に送信するＲＴＰパケットのデータ部に格納する。
【００４３】
このようなデータ送信装置１では、ＩＰパケットをＩＰネットワークに送出するに際して、図６に示す処理手順を実行する。なお、図６の説明では、ＴＳパケットに含まれるＰＣＲをＲＴＰタイムスタンプに変換するときには、図３に示したように、ＰＣＲの値にオフセットを加えてＲＴＰタイムスタンプとする手法を採用した一例を説明する。
【００４４】
図６によれば、先ず、データ送信装置１は、ＰＣＲを含むＴＳパケットのＰＩＤ（以下、ＰＣＲ−ＰＩＤと呼ぶ。）を決定する。また、データ送信装置１は、ＲＴＰタイムスタンプのオフセット値（図３参照）を決定する。更に、データ送信装置１は、ＩＰパケットを最初にデータ送信部１５から送出する送信時刻を決定する。更にまた、データ送信装置１は、ＲＴＰパケット（ＩＰパケット）に格納する最大のＴＳパケットの数ＭＡＸ−ＴＳを決定する（ステップＳＴ１１）。
【００４５】
次に、データ送信装置１のデータ読み出し部１１は、ＴＳパケットを含むＴＳファイルから、任意のデータ量のデータを読み出し、ＰＣＲを含むＴＳパケットの先頭位置を検出する（ステップＳＴ１２）。
【００４６】
次に、データ読み出し部１１は、ステップＳＴ１２でＰＣＲが検出されたＴＳパケット以降のデータをファイルから読み出す処理をする。このとき、データ読み出し部１１は、単一のＴＳパケットのデータ長以上のデータを読み出す。すなわち、データ読み出し部１１は、ステップＳＴ１２で検出されたＰＣＲを含むＴＳパケット、及び当該ＴＳパケットに続くデータを読み出す処理をする（ステップＳＴ１３）。
【００４７】
次に、データ読み出し部１１は、ステップＳＴ１３で読み出したＰＣＲを含むＴＳパケットに続くＴＳパケットに含まれるＰＩＤが、ステップＳＴ１１で決定したＰＣＲ−ＰＩＤと一致しているかを調べて（ステップＳＴ１４）、判定をする（ステップＳＴ１５）。すなわち、データ読み出し部１１は、ステップＳＴ１３で読み出した、ＰＣＲを含むＴＳパケットに続くＴＳパケットが、ＰＣＲを含むか否かを判定する。
【００４８】
データ送信装置１は、ＰＣＲを含むＴＳパケットに続くＴＳパケットに含まれるＰＩＤが、ステップＳＴ１１で決定したＰＣＲ−ＰＩＤと一致している、すなわちＰＣＲを含むＴＳパケットであると判定したときには、以前に作成したＴＳパケットを含むＲＴＰパケットが存在しているのであればＵＤＰヘッダ、ＩＰヘッダを付加し、データ送信部１５に送信タイミング信号を供給することでＩＰパケットを送信する（ステップＳＴ１６）。
【００４９】
次に、データ送信装置１は、ＰＣＲ−ＰＩＤと同じＰＩＤのＴＳパケットに含まれるＰＣＲの値にステップＳＴ１１で決定したオフセット値を加えて、ＰＣＲをＲＴＰタイムスタンプとする処理をする（ステップＳＴ１７）。
【００５０】
次に、データ送信装置１は、ステップＳＴ１７でのＲＴＰタイムスタンプの値で示される時刻と、ステップＳＴ１６で送信した時刻との差を計算することで、データ送信部１５からＲＴＰパケットを次に送信する時刻を設定し、その時刻まで待機する（ステップＳＴ１８）。
【００５１】
次に、データ送信装置１は、ステップＳＴ１８で設定した時刻に達したら、ＲＴＰパケットのデータ部に、ＰＣＲを含んだＴＳパケットを追加する処理をする（ステップＳＴ１９）。
【００５２】
次に、データ送信装置１は、データ読み出し部１１で読み出しているＴＳファイルに、新たに読み出すＴＳパケットが存在するか否かを判定する（ステップＳＴ２０）。データ送信装置１は、新たに読み出すＴＳパケットが存在すると判定したときにはステップＳＴ１４の処理に戻り、新たに読み出すＴＳパケットが存在しないと判定したときには、次のＴＳファイルを読み出すべく、ステップＳＴ１３の処理に戻る。
【００５３】
一方、データ送信装置１は、ＰＣＲを含むＴＳパケットに続くＴＳパケットに含まれるＰＩＤが、ステップＳＴ１１で決定したＰＣＲ−ＰＩＤと一致していないと判定したときには、ビデオデータ又はオーディオデータを含むＴＳパケットであると判定して、ＲＴＰパケットのデータ部に、ＰＣＲを含むＴＳパケットに続くＴＳパケットを、追加して格納する（ステップＳＴ２１）。
【００５４】
次に、データ送信装置１は、現在ＲＴＰパケットに含まれているＴＳパケットの数がステップＳＴ１１で決定した最大ＴＳパケット数ＭＡＸ−ＴＳとなっていたら、ＲＴＰヘッダ、ＵＤＰヘッダ、ＩＰヘッダを付加し、データ送信部１５に送信タイミング信号を供給してＩＰパケットを送信する（ステップＳＴ２２）。また、データ送信装置１は、ＲＴＰパケットに追加したときのＴＳパケットの数が最大パケット数ＭＡＸ−ＴＳに達していないときには、ステップＳＴ２２でＲＴＰパケットを送信する処理をせずに、ステップＳＴ２０の処理に移行する。
【００５５】
次に、データ送信装置１は、ＴＳファイルから、データ読み出し部１１で読み出しているファイルに、新たに読み出すＴＳパケットが存在するか否かを判定する（ステップＳＴ２０）。データ送信装置１は、新たに読み出すＴＳパケットが存在すると判定したときにはステップＳＴ１４の処理に戻り、新たに読み出すＴＳパケットが存在しないと判定したときには、次のファイルを読み出すべく、ステップＳＴ１３の処理に戻る。
【００５６】
データ送信装置１では、記録媒体に記憶されているＴＳパケットを送信するときには、ＴＳパケットが連続して配置されたファイルを順次読み出し、ＰＣＲを含むＴＳパケットを検出するごとに、ＲＴＰタイムスタンプをＰＣＲに同期させ、ＲＴＰタイムスタンプに従ってデータ送信をする。
【００５７】
このような処理を行うデータ送信装置１によれば、記録媒体にＭＰＥＧ２−ＴＳフォーマットで記憶されたＴＳパケットを送信するに際して、ＰＣＲをＲＴＰタイムスタンプとすることにより、ＰＣＲとＲＴＰタイムスタンプとを同期させて、ＲＴＰパケットを送信することができる。
【００５８】
また、このデータ送信装置１によれば、ＰＣＲと同期したＲＴＰタイムスタンプの値に基づいて、送信時刻を設定し、正確な送信間隔でＴＳパケットを送信することができる。
【００５９】
したがって、データ送信装置１によれば、例えば、ＶｏＤシステムに備えられた場合において、ＭＰＥＧ２−ＴＳフォーマットで記録媒体に格納されたコンテンツデータを、ＩＰネットワーク経由でリアルタイムに再生させるために、ＲＴＰにより、通信順序訂正、送信ジッタの吸収を実現させることができる。
【００６０】
つぎに、本発明の第２の実施の形態について説明する。なお、第２の実施の形態では、上述した実施の形態と同一の部分の詳細な説明を省略する。
【００６１】
第２の実施の形態に係るデータ送信装置２０は、例えば図７に示すように構成され、ハードウェアでＭＰＥＧ２−ＴＳフォーマットのＴＳパケットを生成する図示しないデータ生成部と接続され、データ生成部で順次生成されたＴＳパケットを順次入力する。
【００６２】
このデータ送信装置２０では、ＩＰパケットを送信する送信レートに応じてデータ生成部から供給されるＴＳパケットの入力レートが変化し、従って入力レートと送信レートとが一致する。
【００６３】
データ送信装置２０は、ＴＳパケットがデータ生成部から順次入力されるデータ入力部２１と、ＰＣＲ読み取り部２２と、ＲＴＰタイムスタンプ計算部２３と、ＲＴＰパケット作成部２４と、データ送信部２５とを備える。
【００６４】
データ入力部２１は、データ生成部からのＴＳパケットをＰＣＲ読み取り部２２に供給する。ＰＣＲ読み取り部２２は、データ入力部２１からのＴＳパケットの先頭位置を検出し、ＰＣＲが含まれているＴＳパケットからＰＣＲを読み取り、ＲＴＰタイムスタンプ計算部２３に供給する。このとき、ＰＣＲ読み取り部２２は、予め設定されたＰＣＲを含むＴＳパケットのＰＩＤと、データ入力部２１から供給されるＴＳパケットのＰＩＤとを比較して、一致しているときにはＰＣＲを含むＴＳパケットと判定する。
【００６５】
ＲＴＰタイムスタンプ計算部２３は、ＰＣＲ読み取り部２２からのＰＣＲをＲＴＰにおけるＲＴＰタイムスタンプに変換する処理をする。すなわち、このＲＴＰタイムスタンプ計算部１３は、図３を用いて説明したような処理或いは図４を用いて説明したような処理をして、３３ビットのＰＣＲを３２ビットのＲＴＰタイムスタンプに変換する処理をする。
【００６６】
ＲＴＰパケット作成部２４は、ＲＴＰタイムスタンプ計算部１３からのＲＴＰタイムスタンプをＲＴＰヘッダの所定のフィールドに格納する処理をし、上述の図１１に示したシーケンス番号等の各種ヘッダ情報を付加する。これにより、ＲＴＰパケット作成部２４は、ＲＴＰヘッダと、ＴＳパケットを含むデータ部とからなるＲＴＰパケットを作成して、データ送信部２５に供給する。
【００６７】
データ送信部１５は、ＲＴＰパケット作成部２４からのＲＴＰパケットの先頭に、送出するネットワークに対応した各種ヘッダ情報を付加する。データ送信部２５は、例えばＲＴＰパケットの先頭にＵＤＰヘッダ、ＩＰヘッダを付加してＩＰパケットを作成する。データ送信部１５は、データ入力部２１への入力レートと同じ送信レートでＩＰネットワークにＩＰパケットを送出する。
【００６８】
このようなデータ送信装置１では、ＩＰパケットをＩＰネットワークに送出するに際して、図８に示す処理手順を実行する。なお、図８の説明では、ＴＳパケットに含まれるＰＣＲをＲＴＰタイムスタンプに変換するときには、図３に示したように、ＰＣＲの値にオフセットを加えてＲＴＰタイムスタンプとする手法を採用した一例を説明する。
【００６９】
図８によれば、先ず、データ送信装置２０は、ＰＣＲを含むＴＳパケットのＰＩＤ（以下、ＰＣＲ−ＰＩＤと呼ぶ。）を決定する。また、データ送信装置２０は、ＲＴＰタイムスタンプのオフセット値（図３参照）を決定する。更に、データ送信装置２０は、ＲＴＰパケット（ＩＰパケット）に格納する最大のＴＳパケットの数ＭＡＸ−ＴＳを決定する（ステップＳＴ３１）。
【００７０】
次に、データ送信装置２０のデータ入力部２１は、データ生成部からＴＳパケットが供給されるのを待ち、ＴＳパケットが供給されたら、次の処理に移行する（ステップＳＴ３２）。
【００７１】
ＴＳパケットが供給されたら、データ送信装置２０は、順次入力されるＴＳパケットから、ＰＣＲを含むＴＳパケットの先頭位置を検出する（ステップＳＴ３３）。
【００７２】
次に、データ入力部２１は、ステップＳＴ３３で読み出したＰＣＲを含むＴＳパケットに続くＴＳパケットに含まれるＰＩＤが、ステップＳＴ３１で決定したＰＣＲ−ＰＩＤと一致しているかを調べて（ステップＳＴ３４）、判定をする（ステップＳＴ３５）。すなわち、データ入力部２１は、ＰＣＲを含むＴＳパケットに続くＴＳパケットが、ＰＣＲを含むか否かを判定する。
【００７３】
データ送信装置２０は、ＰＣＲを含むＴＳパケットに続くＴＳパケットに含まれるＰＩＤが、ステップＳＴ３１で決定したＰＣＲ−ＰＩＤと一致している、すなわちＰＣＲを含むＴＳパケットであると判定したときには、以前に作成してＲＴＰパケットにＴＳパケットが存在しているのであればＵＤＰヘッダ、ＩＰヘッダを付加し、データ送信部１５に送信タイミング信号を供給することでＩＰパケットを送信する（ステップＳＴ３６）。
【００７４】
次に、データ送信装置２０は、ステップＳＴ３３で検出したＴＳパケットに含まれるＰＣＲの値にステップＳＴ３１で決定したオフセット値を加えて、ＰＣＲをＲＴＰタイムスタンプとする処理をし、次のＲＴＰパケットに含ませるＲＴＰタイムスタンプとする（ステップＳＴ３７）。
【００７５】
次に、ステップＳＴ３３で検出したＴＳパケットをＲＴＰパケットのデータ部に追加してステップＳＴ３４の処理に戻る。
【００７６】
一方、データ送信装置２０は、ＰＣＲを含むＴＳパケットに続くＴＳパケットに含まれるＰＩＤが、ステップＳＴ３１で決定したＰＣＲ−ＰＩＤと一致していないと判定したときには、ＲＴＰパケットのデータ部に、ＰＣＲを含むＴＳパケットに続くＴＳパケットを、追加して格納する（ステップＳＴ３９）。
【００７７】
次に、データ送信装置２０は、現在ＲＴＰパケットに含まれているＴＳパケットの数がステップＳＴ３１で決定した最大ＴＳパケット数ＭＡＸ−ＴＳとなっていたら、ＲＴＰヘッダ、ＵＤＰヘッダ、ＩＰヘッダを付加して送信する（ステップＳＴ４０）。また、データ送信装置２０は、ＲＴＰパケットに追加したときのＴＳパケットの数が最大パケット数ＭＡＸ−ＴＳに達していないときには、ステップＳＴ４０でＲＴＰパケットを送信する処理をせずに、ステップＳＴ３４の処理に移行する。
【００７８】
データ送信装置２０では、データ生成部から順次入力されるＴＳパケットを送信するときには、ＰＣＲを含むＴＳパケットを検出するごとに、ＲＴＰタイムスタンプをＰＣＲに同期させ、ＲＴＰタイムスタンプに従ってデータ送信をする。
【００７９】
このような処理を行うデータ送信装置２０によれば、ＲＴＰパケットにＴＳパケットを含めて伝送をするときに、ＲＴＰタイムスタンプと、ＰＣＲとが同期していないときであっても、ＲＴＰタイムスタンプをＰＣＲに同期させて、ＲＴＰパケットを送信することができる。
【００８０】
【発明の効果】
本発明に係るデータ送信装置及び方法は、第１のパケットに同期時刻参照情報が含まれているとき、この第１のパケット以前に入力されて既に作成された第２のパケットを送信し、第１のパケットに同期時刻参照情報が含まれていないとき、この第１のパケットを、第２のパケットのデータ部分に格納することで、データ部に格納された同期時刻参照情報に正確に同期したタイムスタンプを第２のパケットに付加して送信することができる。したがって、本発明によれば、例えばＭＰＥＧ２−ＴＳフォーマットに従って記録媒体に保存されているデータや、ハードウェアで順次ＭＰＥＧ２−ＴＳフォーマットとされたデータを順次ＲＴＰに従って送信するに際して、正確にＰＣＲに同期したＲＴＰタイムスタンプを付加することができる。
【図面の簡単な説明】
【図１】本発明を適用した第１の実施の形態に係るデータ送信装置の構成を示すブロック図である。
【図２】ＰＣＲを変換してＲＴＰタイムスタンプとする処理を説明するための図である。
【図３】ＰＣＲを変換してＲＴＰタイムスタンプとする他の処理を説明するための図である。
【図４】ＴＳパケットをＲＴＰパケットに格納して、最大ＴＳパケット数となったら送信することを説明するための図である。
【図５】ＰＣＲを含むＴＳパケットを検出したことに応じて、以前にＴＳパケットを格納したＲＴＰパケットを送信して、次のＲＴＰパケットにＰＣＲを含むＴＳパケットを送信することを説明するための図である。
【図６】記録媒体に格納されたＴＳファイルに含まれるＴＳパケットを送信するときの処理手順を示すフローチャートである。
【図７】本発明を適用した第２の実施の形態に係るデータ送信装置の構成を示すブロック図である。
【図８】データ生成部で順次作成されるＴＳパケットを送信するときの処理手順を示すフローチャートである。
【図９】ＴＣＰヘッダに含まれる情報を説明するための図である。
【図１０】ＵＤＰヘッダに含まれる情報を説明するための図である。
【図１１】ＲＴＰヘッダに含まれる情報を説明するための図である。
【図１２】エレメンタリストリームからプログラムストリームを作成する処理を説明するための図である。
【図１３】エレメンタリストリームからトランスポートストリームを作成する処理を説明するための図である。
【図１４】ＴＳパケットのヘッダ情報として含まれる情報を説明するための図である。
【図１５】ＴＳパケットのデータ部の構成を説明するための図である。
【図１６】ＲＴＰタイムスタンプと、ＰＣＲとが同期する必要があることを説明するための図である。
【符号の説明】
１，２０  データ送信装置、１１  データ読み出し部、１２，２２  ＰＣＲ読み取り部、１３，２３  ＲＴＰタイムスタンプ計算部、１４，２４  ＲＴＰパケット作成部、１５，２５  データ送信部、２１  データ入力部
【図１】
0004407007.tif 000002
【図２】
0004407007.tif 000003
【図３】
0004407007.tif 000004
【図４】
0004407007.tif 000005
【図５】
0004407007.tif 000006
【図６】
0004407007.tif 000007
【図７】
0004407007.tif 000008
【図８】
0004407007.tif 000009
【図９】
0004407007.tif 000010
【図１０】
0004407007.tif 000011
【図１１】
0004407007.tif 000012
【図１２】
0004407007.tif 000013
【図１３】
0004407007.tif 000014
【図１４】
0004407007.tif 000015
【図１５】
0004407007.tif 000016
【図１６】
0004407007.tif 000017