(58)【調査した分野】(Int.Cl.,DB名)
【背景技術】
【0002】
従来、クロックに対応付けられた映像、音声、波形情報等のデータ(以下、リアルタイムデータという。)を、IPネットワーク等を介して伝送するシステムにおいて、複数のデータ伝送装置間でクロックを同期させる手法が知られている。このクロック同期手法には、例えば、アダプティブ・クロック・リカバリ、ディファレンシャル・クロック・リカバリ、及びNTP(Network Time Protocol:ネットワークタイムプロトコル)の時刻同期がある。
【0003】
〔アダプティブ・クロック・リカバリ〕
まず、アダプティブ・クロック・リカバリの同期手法について説明する。アダプティブ・クロック・リカバリは、大きさが一定のデータを一定のクロック間隔(以下、データ間隔という。)で伝送するシステムを対象とするものである(例えば、特許文献1を参照)。
【0004】
図11は、アダプティブ・クロック・リカバリによりクロック同期を実現する従来のデータ伝送装置の構成例を示すブロック図である。このデータ伝送装置100は、パケット受信部102、バッファ部103、ローカルクロック制御部104及びリアルタイムデータ抽出部105を備えている。
【0005】
アダプティブ・クロック・リカバリでは、データ伝送装置100は、リアルタイムデータをバッファ部103に一旦蓄積し、ローカルクロックで計測したデータ間隔で、バッファ部103からリアルタイムデータを読み出す。
【0006】
パケット受信部102は、図示しない送信側のデータ伝送装置からIPネットワーク101を介してIPパケットを受信する。そして、パケット受信部102は、IPパケットからRTP(Real-time Transport Protocol:リアルタイムトランスポートプロトコル)パケットを抽出し、RTPパケットをバッファ部103に格納する。この場合、送信側のデータ伝送装置は、大きさが一定のリアルタイムデータを格納したIPパケットを、ローカルクロックに基づいて、一定のデータ間隔にて送信する。
【0007】
ローカルクロック制御部104は、バッファ部103に格納されたRTPパケットの蓄積量(リアルタイムデータの量)を監視し、その蓄積量が常に一定の範囲内に収まるように、ローカルクロックの周波数を制御する。具体的には、ローカルクロック制御部104は、バッファ部103内の蓄積量が増加する傾向にある場合、ローカルクロックの周波数を増加させ、逆に減少する傾向にある場合、これを減少させる制御を行う。これにより、受信側のローカルクロックを、送信側のローカルクロックに同期させることができる。
【0008】
リアルタイムデータ抽出部105は、ローカルクロック制御部104にて制御されたローカルクロックに基づいたデータ間隔で、バッファ部103からRTPパケットを読み出す。そして、リアルタイムデータ抽出部105は、RTPパケットからリアルタイムデータを抽出し、リアルタイムデータを出力する。
【0009】
尚、
図11では、パケット受信部102は、リアルタイムデータをRTPパケットに格納したままバッファ部103に蓄積し、リアルタイムデータ抽出部105は、バッファ部103からRTPパケットの状態で読み出す例を示している。これに対し、パケット受信部102は、RTPパケットからリアルタイムデータを抽出し、リアルタイムデータをバッファ部103に蓄積する場合もある。
【0010】
一般に、IPネットワーク101にはパケット遅延分散(PDV:Packet Delay Variation)があるため、送信側のデータ伝送装置が一定間隔でIPパケットを送信したとしても、受信側のデータ伝送装置100に到着する間隔は一定とならない。このため、受信側のデータ伝送装置100のローカルクロック制御部104が出力するローカルクロックは、PDVの影響を受けてしまい、その位相ノイズが大きくなる。
【0011】
そこで、ローカルクロック制御部104は、PDVの影響を減じるため、バッファ部103内の蓄積量に対し、平滑化処理またはローパスフィルタ処理を加える。
【0012】
アダプティブ・クロック・リカバリは、リアルタイムデータの到着間隔が一定となることを利用して、クロックを同期させる手法である。このため、この手法は、PDVの影響またはパケットロスの影響を受け易いが、クロック同期のために特別なデータを送受信する必要がないという利点がある。
【0013】
〔ディファレンシャル・クロック・リカバリ〕
次に、ディファレンシャル・クロック・リカバリの同期手法について説明する。ディファレンシャル・クロック・リカバリは、PDVの影響及びパケットロスを減らすために、送信側と受信側との間で共通に参照可能な基準クロック(共通クロック)を利用して、クロックを同期させるものである(例えば、特許文献2,3を参照)。
【0014】
送信側のデータ伝送装置は、共通クロックを用いて、当該データ伝送装置にて利用しているクロックを計測し、計測したクロックの周波数偏差、位相偏差等のクロック情報を受信側のデータ伝送装置へ送信する。
【0015】
受信側のデータ伝送装置は、送信側のデータ伝送装置からクロック情報を受信し、受信したクロック情報と共通クロックとに基づいて、当該データ伝送装置のクロックを再生する。共通クロックとしては、例えばGPS(Global Positioning System:全地球測位システム)のクロック、IPネットワークにおける物理層のクロック等が用いられる。
【0016】
〔NTPの時刻同期〕
共通クロックを利用することなく、PDVの影響を減らすためのクロック同期手法として、送信側と受信側との間のクロックの時刻誤差を直接計測してクロックを補正する手法が知られている。この手法は、NTPに広く利用されている(例えば、非特許文献1を参照)。
【0017】
NTPにおけるクロックの時刻誤差を計測する手法は、IEEE1688PTP(例えば、特許文献4を参照)にも使われている。また、この手法は、IPネットワークを介して接続されたデータ伝送装置間で、それぞれの時刻情報を同期させる仕組みとして使われている(例えば、特許文献5を参照)。
【0018】
NTPは、時計を同期させることを目的としたプロトコルであり、クロックの位相は、時計で計測した時刻に対応付けられる。このため、NTPにおけるクロックの時刻誤差を計測する手法は、クロックの位相差(位相オフセット)を計測する処理に用いることができる。
【0019】
以下、クライアントのデータ伝送装置(クライアント装置)におけるローカルクロックと、サーバのデータ伝送装置(サーバ装置)におけるローカルクロックとの間の位相オフセットを計測する例について説明する。
【0020】
図12は、NTPのメッセージシーケンスチャートを示す図である。まず、クライアント装置は、照会パケットを作成してサーバ装置へ送信する。照会パケットには、クライアント装置によりローカルクロックを用いて計測された照会パケット送信時の時刻(照会時刻(Tco))が含まれる。照会時刻(Tco)は、例えばローカルクロックのパルスで駆動したバイナリーカウンタの値が用いられる。
【0021】
サーバ装置は、クライアント装置から照会パケットを受信すると、応答パケットを作成してクライアント装置へ送信する。応答パケットには、照会パケットに含まれる照会時刻(Tco)、並びに、サーバ装置によりローカルクロックを用いて計測された照会パケット受信時の時刻(照会パケット受信時刻(Tsr))及び応答パケット送信時の時刻(応答時刻(Tst))が含まれる。
【0022】
クライアント装置は、サーバ装置から応答パケットを受信すると、当該クライアント装置のローカルクロックを用いて応答パケット受信時の時刻を応答パケット受信時刻(Tcr)として記録する。
【0023】
そして、クライアント装置は、これら4つの時刻情報(照会時刻(Tco)、照会パケット受信時刻(Tsr)、応答時刻(Tst)及び応答パケット受信時刻(Tcr))に基づいて、往復遅延時間(RTT)を以下の数式で近似する。
〔数式1〕
RTT≒(Tcr−Tco)−(Tst−Tsr) ・・・(1)
【0024】
さらに、クライアント装置は、受信した応答パケットの伝送遅延を往復遅延時間の半分と仮定し、サーバ装置が応答パケットを送信したときのクライアント装置の時刻(Tst’)を、以下の数式にて推定する。
〔数式2〕
Tst’=Tcr−RTT/2 ・・・(2)
【0025】
クライアント装置は、サーバ装置が応答パケットを送信したときのクライアント装置の時刻(Tst’)から、サーバ装置が応答パケットを送信したときの応答時刻(Tst)を減算した値を求め、これを位相オフセットToffと推定する。これにより、位相オフセット(Toff)は、以下の数式で表される。
〔数式3〕
Toff=Tcr−RTT/2−Tst ・・・(3)
【0026】
このように、位相オフセットは、4つの時刻情報(照会時刻(Tco)、照会パケット受信時刻(Tsr)、応答時刻(Tst)及び応答パケット受信時刻(Tcr))に基づいて推定される。このようなNTPにおける位相オフセットを計測する手法では、パケット遅延時間が変動した場合であっても、照会パケット及び応答パケットの伝送遅延が同程度であれば、位相オフセットを精度高く計測することができる。
【発明を実施するための形態】
【0045】
以下、本発明を実施するための形態について図面を用いて詳細に説明する。本発明は、データ伝送装置において、データを伝送するパケットに、クロック位相差を計測するための時刻情報を多重することを特徴とする。
【0046】
これにより、データの伝送処理及び時刻情報の伝送処理を実現する2種類のプロトコルの処理機能を実装する必要がないから、回路規模を小さくすることができる。つまり、クロック位相差の計測を小規模の回路にて実現することができる。また、これらのパケットの送信タイミングが重なることがないから、これに伴うPDVの増加がなく、クロック位相差の計測精度を高めることができる。
【0047】
以下、2台のデータ伝送装置がIPネットワークを介して接続される伝送システムを例として、本発明の実施形態によるデータ伝送装置について説明する。この伝送システムは、第1のデータ伝送装置から第2のデータ伝送装置へリアルタイムデータを伝送し、これとは逆の向きに、第2のデータ伝送装置から第1のデータ伝送装置へリアルタイムデータを伝送する。
【0048】
〔システム構成〕
まず、本発明の実施形態によるデータ伝送装置を含む伝送システムについて説明する。
図1は、伝送システムの全体構成例を示す概略図である。この伝送システムは、2台のデータ伝送装置1,2を備えて構成され、データ伝送装置1,2は、IPネットワーク3を介して接続される。
【0049】
データ伝送装置1,2は、マスターモードまたはスレーブモードで動作する。
図1の例では、データ伝送装置1がマスターモードで動作し、データ伝送装置2がスレーブモードで動作する。スレーブモードで動作するデータ伝送装置2は、マスターモードで動作するデータ伝送装置1に入力されたクロック、またはデータ伝送装置1の内部で生成されたクロックに同期したクロックを生成して出力する。
【0050】
データ伝送装置1は、クロックに対応付けられたリアルタイムデータaを入力すると共に、クロックを入力する。そして、データ伝送装置1は、リアルタイムデータa及びクロック情報を格納したIPパケットを作成し、IPパケットを、IPネットワーク3を介してデータ伝送装置2へ送信する。
【0051】
データ伝送装置2は、データ伝送装置1から送信されたIPパケットを、IPネットワーク3を介して受信し、IPパケットからリアルタイムデータa及びクロック情報を抽出する。そして、データ伝送装置2は、クロック情報に基づいてクロックを生成し、リアルタイムデータa及びクロックを出力する。
【0052】
また、データ伝送装置2は、当該データ伝送装置2が出力したクロックに対応付けられたリアルタイムデータbを入力し、リアルタイムデータbを格納したIPパケットを作成し、IPパケットを、IPネットワーク3を介してデータ伝送装置1へ送信する。
【0053】
データ伝送装置1は、データ伝送装置2から送信されたIPパケットを、IPネットワーク3を介して受信し、IPパケットからリアルタイムデータbを抽出する。そして、データ伝送装置1は、リアルタイムデータbを出力する。
【0054】
これにより、データ伝送装置1に入力されたクロックに関する時刻情報であるクロック情報がデータ伝送装置2へ伝送され、データ伝送装置2において、データ伝送装置1のクロックに同期したクロックが生成される。そして、リアルタイムデータa,bは、同期したデータとして送受信される。
【0055】
〔データ伝送装置〕
次に、
図1に示したデータ伝送装置1,2について詳細に説明する。
図2は、データ伝送装置1,2の構成例を示すブロック図である。このデータ伝送装置1,2は、RTPパケット作成部10、バッファ部11、位相計測情報挿入(格納)部12、パケット送信部13、ネットワークインターフェース14、パケット受信部15、位相計測情報抽出部16、バッファ部17、リアルタイムデータ抽出部18、クロック位相計測部19及びローカルクロック制御部20を備えている。
【0056】
前述したとおり、データ伝送装置1はマスターモードとして動作し、データ伝送装置2はスレーブモードとして動作する。前述のとおり、マスターモードとスレーブモードとの違いは、マスターモードのクロックを基準として、当該クロックに、スレーブモードのクロックを同期させる点にある。つまり、スレーブモードで動作するデータ伝送装置2は、マスターモードで動作するデータ伝送装置1が使用するクロックと同期したクロックを生成し、当該クロックを使用する。
【0057】
図2において、データ伝送装置1,2の違いは、ローカルクロック制御部20の処理にある。データ伝送装置1に備えたローカルクロック制御部20は、入力したクロックまたは内部で生成したクロックをローカルクロックとして使用する。これに対し、データ伝送装置2に備えたローカルクロック制御部20は、データ伝送装置1,2間のクロック位相差に基づいて、データ伝送装置1のローカルクロックに同期したクロックを生成し、これをローカルクロックとして使用する。ローカルクロック制御部20以外の構成部は、データ伝送装置1,2間で同じ処理を行う。
【0058】
RTPパケット作成部10は、ローカルクロック制御部20が入力するクロックに対応付けられた送信対象のリアルタイムデータを入力し、リアルタイムデータを格納したRTPパケットを作成し、RTPパケットをバッファ部11に格納する。
【0059】
バッファ部11は、先入れ先出し(FIFO(First In First Out))バッファであり、RTPパケットがIPネットワーク3へ送信可能となるまでの間、RTPパケットを保持する。
【0060】
位相計測情報挿入部12は、位相計測情報抽出部16から応答時刻及び応答パケット受信時刻を入力する。応答時刻は、対向するデータ伝送装置1,2から受信した位相計測情報に含まれていた応答時刻、すなわち、対向するデータ伝送装置1,2が位相計測情報を含むRTPパケットを送信する際の送信時点に関する時刻である。また、応答パケット受信時刻は、RTPパケットがパケット受信部15または位相計測情報抽出部16に到着した時刻、すなわち、対向するデータ伝送装置1,2から位相計測情報を含むRTPパケットを受信する際の受信時点に関する時刻である。
【0061】
位相計測情報挿入部12は、RTPパケットがIPネットワーク3へ送信可能となるまでの間待機し、送信可能であることを示す送信可能通知をパケット送信部13から入力する。位相計測情報挿入部12は、送信可能通知を入力すると、当該時点(送信可能となった時点)のクロック(ローカルクロック制御部20により出力されたローカルクロック)の位相が計測された応答時刻を記録(設定)する。この応答時刻は、当該データ伝送装置1,2が位相計測情報を含むRTPパケットを送信する際の送信時点に関する時刻である。クロックの位相は、クロック位相計測部19にて、バイナリーカウンタをローカルクロックにてカウントアップすることで計測される。
【0062】
位相計測情報挿入部12は、位相計測情報抽出部16から入力した応答時刻及び応答パケット受信時刻をそれぞれ照会時刻及び照会パケット受信時刻とする。そして、位相計測情報挿入部12は、照会時刻、照会パケット受信時刻、及び当該位相計測情報挿入部12にて記録した応答時刻からなる位相計測情報を生成する。
【0063】
さらに、位相計測情報挿入部12は、バッファ部11からRTPパケットを読み出し、位相計測情報をRTPパケットに挿入し、RTPパケットをパケット送信部13に出力する。位相計測情報挿入部12の詳細については後述する。
【0064】
(RTPパケット及び位相計測情報)
図3は、RTPパケットの構成例及び位相計測情報の構成例を説明する図である。RTPパケットは、UDPヘッダ、RTPヘッダ、RTP拡張ヘッダ及びRTPペイロードにより構成される。
図3の例は、位相計測情報がRTPパケットのRTP拡張ヘッダに格納される例を示している。
【0065】
位相計測情報は、照会時刻、照会パケット受信時刻及び応答時刻により構成される。NTPにおけるoriginal timestamp、receive timestamp及びtransmit timestampの3つの情報が、照会時刻、照会パケット受信時刻及び応答時刻として用いられる。
【0066】
このように、位相計測情報挿入部12は、照会時刻、照会パケット受信時刻及び応答時刻からなる位相計測情報を生成し、位相計測情報を、RTPパケットのRTP拡張ヘッダの領域に格納する。
【0067】
尚、位相計測情報挿入部12は、位相計測情報を、RTPパケットにおけるRTPペイロードの先頭の領域に格納するようにしてもよいし、他の領域に格納するようにしてもよい。
【0068】
ここで、位相計測情報は、RTP拡張ヘッダの領域に格納されるのが好適である。なぜならば、当該データ伝送装置1,2をアダプティブ・クロック・リカバリに基づく従来のデータ伝送装置と接続し、アダプティブ・クロック・リカバリに基づくデータ伝送システムを構成することができるからである。データ伝送装置1,2の送信するRTPパケットには位相計測情報が格納されるが、従来のデータ伝送装置はこの位相計測情報を必要としない。RTPでは、RTP拡張ヘッダを用いた追加機能に対応しない装置は、RTP拡張ヘッダの情報を無視するように規定されている。このため、データ伝送装置1,2をマスター、従来のデータ伝送装置をスレーブとして接続した場合も、従来のデータ伝送装置はRTPパケットに含まれている位相計測情報以外のデータを正常に読み出すことができ、アダプティブ・クロック・リカバリに基づくクロック同期を行うことができる。
【0069】
さらに、データ伝送装置1,2におけるRTPパケットの拡張ヘッダの領域に位相計測情報が含まれていない場合には、データ伝送装置1,2に、アダプティブ・クロック・リカバリに基づくクロック同期を行う機能を追加する。これにより、従来のデータ伝送装置をマスター、前記アダプティブ・クロック・リカバリに基づくクロック同期機能を追加したデータ伝送装置1,2をスレーブとして接続した場合も、アダプティブ・クロック・リカバリに基づくクロック同期を行うことができる。
【0070】
図2に戻って、パケット送信部13は、RTPパケットをIPネットワーク3へ送信することが可能であるか否かを監視し、送信可能であると判定すると、送信可能通知を位相計測情報挿入部12に出力する。
【0071】
パケット送信部13は、位相計測情報挿入部12からRTPパケットを入力し、RTPパケットにIPヘッダ及びMACヘッダ等を付加し、対向するデータ伝送装置1,2宛のIPパケットを作成する。そして、パケット送信部13は、作成したIPパケットの送信信号をネットワークインターフェース14に出力する。
【0072】
ネットワークインターフェース14は、パケット送信部13から送信信号を入力し、送信信号を、IPネットワーク3を介して対向するデータ伝送装置1,2へ送信する。また、ネットワークインターフェース14は、対向するデータ伝送装置1,2から送信された信号を、IPネットワーク3を介して受信し、受信信号をパケット受信部15に出力する。
【0073】
パケット受信部15は、ネットワークインターフェース14から受信信号を入力し、受信信号のIPパケットからRTPパケットを抽出し、RTPパケットを位相計測情報抽出部16に出力する。RTPパケットには、対向するデータ伝送装置1,2により生成された位相計測情報、及びリアルタイムデータが含まれている。
【0074】
位相計測情報抽出部16は、パケット受信部15からRTPパケットを入力すると、当該時点のクロック(ローカルクロック制御部20により出力されたローカルクロック)の位相が計測された応答パケット受信時刻を記録する。尚、位相計測情報抽出部16は、パケット受信部15が受信信号を入力した時点について、当該時点のクロックの位相が計測された応答パケット受信時刻を記録するようにしてもよい。応答パケット受信時刻は、対向するデータ伝送装置1,2から位相計測情報を受信した時刻を示す。クロックの位相は、クロック位相計測部19にて、バイナリーカウンタをローカルクロックにてカウントアップすることで計測される。
【0075】
位相計測情報抽出部16は、RTPパケットから位相計測情報を抽出し、位相計測情報から応答時刻を抽出する。そして、位相計測情報抽出部16は、抽出した応答時刻及び記録した応答パケット受信時刻を位相計測情報挿入部12に出力すると共に、抽出した位相計測情報及び記録した応答パケット受信時刻をクロック位相計測部19に出力する。また、位相計測情報抽出部16は、RTPパケットをバッファ部17に格納する。位相計測情報抽出部16の詳細については後述する。
【0076】
尚、RTPパケットには、リアルタイムデータを抽出するために必要な情報に加え、リアルタイムデータを抽出するために必要でない情報も含まれている。位相計測情報抽出部16は、リアルタイムデータを抽出するために必要でない位相計測情報等の各種情報を削除した後のRTPパケットを、バッファ部17に格納するようにしてもよい。
【0077】
バッファ部17は、バッファ部11と同様に、先入れ先出しバッファであり、リアルタイムデータ抽出部18によりRTPパケットからリアルタイムデータの抽出が必要となるまでの間、RTPパケットを保持する。
【0078】
リアルタイムデータ抽出部18は、バッファ部17からRTPパケットを読み出し、ローカルクロック制御部20により出力されたローカルクロックのタイミングにて、RTPパケットからリアルタイムデータを抽出し、リアルタイムデータを出力する。
【0079】
クロック位相計測部19は、位相計測情報抽出部16から位相計測情報及び応答パケット受信時刻を入力し、位相計測情報から照会時刻、照会パケット受信時刻及び応答時刻を抽出する。そして、クロック位相計測部19は、照会時刻、照会パケット受信時刻、応答時刻及び応答パケット受信時刻に基づいて、当該データ伝送装置1,2のクロックと対向するデータ伝送装置1,2のクロックとの間のクロック位相差を計測する。クロック位相差は、
図12にて説明した処理と同様に、これら4つの時刻情報に基づいて計測することができる。クロック位相計測部19は、クロック位相差をローカルクロック制御部20に出力する。
【0080】
クロック位相計測部19は、ローカルクロック制御部20からローカルクロックを入力し、バイナリーカウンタをローカルクロックにてカウントアップすることで、クロックの位相を計測する。これにより、位相計測情報挿入部12にて、送信可能通知が入力された時点のクロックの位相が応答時刻として記録され、位相計測情報に設定される。また、位相計測情報抽出部16にて、RTPパケットが入力された時点のクロックの位相が応答パケット受信時刻として記録される。
【0081】
ローカルクロック制御部20は、クロックを入力すると共に、クロック位相計測部19からクロック位相差を入力し、ローカルクロックを生成し、ローカルクロックをクロック位相計測部19に出力する。また、ローカルクロック制御部20は、ローカルクロックをクロックとして外部に出力する。
【0082】
具体的には、マスターモードで動作するデータ伝送装置1に備えたローカルクロック制御部20は、入力したクロックまたは内部で生成したクロックを、ローカルクロックとして使用する。
【0083】
一方、スレーブモードで動作するデータ伝送装置2に備えたローカルクロック制御部20は、クロック位相計測部19から入力したクロック位相差に基づいて、PLL(Phase Locked Loop:位相同期回路)を制御し、ローカルクロックを生成する。生成したローカルクロックは、マスターモードで動作するデータ伝送装置1のクロックに同期したクロックとなる。
【0084】
尚、スレーブモードで動作するデータ伝送装置2に備えたローカルクロック制御部20は、入力したクロックに、クロック位相計測部19から入力したクロック位相差に相当する位相を加算することで、ローカルクロックを生成するようにしてもよい。
【0085】
〔位相計測情報抽出部16〕
次に、
図2に示した位相計測情報抽出部16について詳細に説明する。
図4は、位相計測情報挿入部12及び位相計測情報抽出部16を説明するためのメッセージシーケンスチャートを示す図であり、
図5は、受信パケットα1及び送信パケットβ1の位相計測情報の構成例を説明する図である。
図6は、位相計測情報抽出部16の処理例を示すフローチャートである。これは、
図3に示したとおり、位相計測情報が照会時刻、照会パケット受信時刻及び応答時刻により構成される場合の例である。
【0086】
データ伝送装置1は、対向するデータ伝送装置2から、照会時刻、照会パケット受信時刻及び応答時刻c1からなる位相計測情報を含むパケット(
図5(1)受信パケットα1を参照)を受信する。受信パケットα1には、リアルタイムデータ及び位相計測情報が格納されている。
【0087】
データ伝送装置1の位相計測情報抽出部16は、パケット受信部15または当該位相計測情報抽出部16にRTPパケット(受信パケットα1)が到着するまで待機する(ステップS601)。位相計測情報抽出部16は、RTPパケットの到着を検知すると(パケット受信部15からRTPパケットを入力すると)、この時点のクロックの位相を、応答パケット受信時刻として記録する(ステップS602)。
【0088】
位相計測情報抽出部16は、受信したRTPパケットから位相計測情報を抽出し、位相計測情報及び応答パケット受信時刻をクロック位相計測部19に出力する(ステップS603)。また、位相計測情報抽出部16は、位相計測情報から応答時刻c1を抽出し、応答時刻c1及び応答パケット受信時刻を位相計測情報挿入部12に出力する(ステップS604)。
【0089】
位相計測情報抽出部16は、受信したRTPパケットをバッファ部17に格納する(ステップS605)。
【0090】
このように、位相計測情報抽出部16により、受信した位相計測情報に含まれる応答時刻c1、及び受信パケットα1を受信した時刻である応答パケット受信時刻が位相計測情報挿入部12へ出力される。
【0091】
〔位相計測情報挿入部12〕
次に、
図2に示した位相計測情報挿入部12について詳細に説明する。
図7は、位相計測情報挿入部12の処理例を示すフローチャートである。これは、
図3に示したとおり、位相計測情報が照会時刻、照会パケット受信時刻及び応答時刻により構成される場合の例である。
【0092】
位相計測情報挿入部12は、RTPパケットがIPネットワーク3へ送信可能となるまでの間待機する(ステップS701)。位相計測情報挿入部12は、パケット送信部13から送信可能通知を入力し、送信可能であることを検知すると、この時点のクロックの位相を、応答時刻c2として記録する(ステップS702)。
【0093】
位相計測情報挿入部12は、位相計測情報抽出部16から入力した応答時刻c1(受信した位相計測情報に含まれる応答時刻c1)を照会時刻a2に転記(設定)する(ステップS703)。また、位相計測情報挿入部12は、位相計測情報抽出部16から入力した応答パケット受信時刻を照会パケット受信時刻b2に転記する(ステップS704)。
【0094】
位相計測情報挿入部12は、ステップS703にて転記した照会時刻a2、ステップS704にて転記した照会パケット受信時刻b2、及びステップS702にて記録した応答時刻c2からなる位相計測情報を生成する(ステップS705)。
【0095】
位相計測情報挿入部12は、バッファ部11から読み出したRTPパケットに位相計測情報を挿入し(ステップS706)、RTPパケットをパケット送信部13に出力する(ステップS707)。
【0096】
尚、バッファ部11から読み出されたRTPパケットに、ダミーの位相計測情報が格納されている場合には、位相計測情報挿入部12は、ステップS705にて生成した位相計測情報を上書きするようにしてもよい。この場合、RTPパケット作成部10は、ダミーの位相計測情報を生成し、リアルタイムデータ及びダミーの位相計測情報を格納したRTPパケットを生成し、RTPパケットをバッファ部11に格納する。位相計測情報挿入部12は、バッファ部11から読み出したRTPパケットにおけるダミーの位相計測情報に、ステップS705にて生成した位相計測情報を上書きする。
【0097】
データ伝送装置1は、照会時刻a2、照会パケット受信時刻b2及び応答時刻c2からなる位相計測情報を含むパケット(
図5(2)送信パケットβ1を参照)を、対向するデータ伝送装置2へ送信する。送信パケットβ1には、リアルタイムデータ及び位相計測情報が格納されている。
【0098】
このように、位相計測情報挿入部12により、受信した位相計測情報に含まれる応答時刻c1が照会時刻a2として、パケット(受信パケットα1)を受信した時刻である応答パケット受信時刻が照会パケット受信時刻b2として、また、パケット(送信パケットβ1)が送信可能となった時刻が応答時刻c2として設定される。そして、照会時刻a2、照会パケット受信時刻b2及び応答時刻c2からなる位相計測情報が生成され、リアルタイムデータ及び位相計測情報を含むRTPパケットが生成される。
【0099】
以上のように、本発明の実施形態のデータ伝送装置1,2によれば、位相計測情報抽出部16は、対向するデータ伝送装置1,2から信号を受信した時点の応答パケット受信時刻を記録し、RTPパケットから位相計測情報を抽出し、位相計測情報から応答時刻を抽出する。
【0100】
位相計測情報挿入部12は、RTPパケットが送信可能となった時点の応答時刻を記録し、位相計測情報抽出部16により抽出された応答時刻を照会時刻とし、位相計測情報抽出部16により記録した応答パケット受信時刻を照会パケット受信時刻とする。そして、位相計測情報挿入部12は、照会時刻、照会パケット受信時刻、及び当該位相計測情報挿入部12にて記録した応答時刻からなる位相計測情報を生成し、位相計測情報をRTPパケットに挿入する。
【0101】
これにより、リアルタイムデータ及び位相計測情報を含むRTPパケットが、対向するデータ伝送装置1,2へ送信される。
【0102】
クロック位相計測部19は、位相計測情報抽出部16により抽出された位相計測情報に含まれる照会時刻、照会パケット受信時刻及び応答時刻、並びに、位相計測情報抽出部16により記録された応答パケット受信時刻に基づいて、クロック位相差を計測する。
【0103】
マスターモードで動作するデータ伝送装置1のローカルクロック制御部20は、入力したクロックまたは内部で生成したクロックをローカルクロックとして生成する。一方、スレーブモードで動作するデータ伝送装置2のローカルクロック制御部20は、クロック位相計測部19により計測されたクロック位相差に基づいてPLLを制御し、ローカルクロックを生成する。
【0104】
これにより、スレーブモードのローカルクロックは、マスターモードのローカルクロックに同期することとなる。
【0105】
したがって、リアルタイムデータの伝送処理と、クロック位相差を計測するための時刻情報の伝送処理とを、1種類のプロトコルにて同時に実現することができるから、回路規模を小さくすることができる。つまり、クロック位相差の計測を小規模の回路にて実現することができる。
【0106】
また、クロック位相差を計測するための時刻情報を伝送するパケットが不要となるから、リアルタイムデータを伝送するパケットと位相オフセットを計測するためのパケットの送信タイミングが重なることがなく、PDVの増加を緩和し、クロック位相差の計測精度を高めることができる。
【0107】
〔応答待機時間を用いる場合の例〕
尚、
図3に示した位相計測情報において、照会パケット受信時刻の代わりに、応答待機時間を用いるようにしてもよい。この場合の位相計測情報は、照会時刻、応答待機時間及び応答時刻により構成される。また、この場合のデータ伝送装置1,2は、
図2において、位相計測情報挿入部12及びクロック位相計測部19の処理が異なり、その他の構成部の処理は同じである。
【0108】
位相計測情報挿入部12は、記録した応答時刻から、位相計測情報抽出部16から入力した応答パケット受信時刻を減算し、応答待機時間を求め、照会時刻、応答待機時間及び応答時刻からなる位相計測情報を生成する。
【0109】
クロック位相計測部19は、位相計測情報抽出部16から入力した位相計測情報に含まれる応答待機時間及び応答時刻を抽出し、応答時刻から応答待機時間を減算し、照会パケット受信時刻を求める。そして、クロック位相計測部19は、位相計測情報に含まれる照会時刻及び応答時刻、当該クロック位相計測部19が求めた照会パケット受信時刻、並びに、位相計測情報抽出部16から入力した応答パケット受信時刻に基づいて、クロック位相差を計測し、クロック位相差をローカルクロック制御部20に出力する。クロック位相計測部19は、バイナリーカウンタをローカルクロックにてカウントアップすることで、クロックの位相を計測する。
【0110】
以下、位相計測情報が、照会時刻、応答待機時間及び応答時刻により構成される場合において、位相計測情報挿入部12の処理例を詳細に説明する。
【0111】
図8は、応答待機時間を用いた場合のメッセージシーケンスチャートを示す図であり、
図9は、受信パケットα2及び送信パケットβ2の位相計測情報の構成例を説明する図である。
図10は、応答待機時間を用いた場合の位相計測情報挿入部12の処理例を示すフローチャートである。
【0112】
データ伝送装置1は、対向するデータ伝送装置2から、照会時刻、応答待機時間及び応答時刻c1からなる位相計測情報を含むパケット(
図9(1)受信パケットα2を参照)を受信する。受信パケットα2には、リアルタイムデータ及び位相計測情報が格納されている。
【0113】
データ伝送装置1の位相計測情報抽出部16は、パケット受信部15または当該位相計測情報抽出部16にRTPパケットが到着するまで待機する等、
図6に示した処理と同じ処理を行う。位相計測情報抽出部16により、受信した位相計測情報に含まれる応答時刻c1、及びパケット(受信パケットα2)を受信した時刻である応答パケット受信時刻が位相計測情報挿入部12へ出力される。
【0114】
位相計測情報挿入部12は、RTPパケットがIPネットワーク3へ送信可能となるまでの間待機する(ステップS1001)。位相計測情報挿入部12は、パケット送信部13から送信可能通知を入力し、送信可能であることを検知すると、この時点のクロックの位相を、応答時刻c2として記録する(ステップS1002)。
【0115】
位相計測情報挿入部12は、応答時刻c2から応答パケット受信時刻を減算した結果である応答待機時間d2を記録する(ステップS1003)。すなわち、応答待機時間d2は、応答パケット受信時刻におけるクロックの位相から、応答時刻c2におけるクロックの位相までの位相増加分として記録される。
【0116】
位相計測情報挿入部12は、位相計測情報抽出部16から入力した応答時刻c1(受信した位相計測情報に含まれる応答時刻c1)を照会時刻a2に転記する(ステップS1004)。
【0117】
位相計測情報挿入部12は、ステップS1004にて転記した照会時刻a2、ステップS1003にて記録した応答待機時間d2、及びステップS1002にて記録した応答時刻c2からなる位相計測情報を生成する(ステップS1005)。
【0118】
位相計測情報挿入部12は、バッファ部11から読み出したRTPパケットに位相計測情報を挿入し(ステップS1006)、RTPパケットをパケット送信部13に出力する(ステップS1007)。
【0119】
データ伝送装置1は、照会時刻a2、応答待機時間d2及び応答時刻c2からなる位相計測情報を含むパケット(
図9(2)送信パケットβ2を参照)を、対向するデータ伝送装置2へ送信する。送信パケットβ2には、リアルタイムデータ及び位相計測情報が格納されている。
【0120】
このように、位相計測情報挿入部12により、受信した位相計測情報に含まれる応答時刻c1が照会時刻a2として、パケット(送信パケットβ2)が送信可能となった時刻が応答時刻c2として、また、応答時刻c2から、パケット(受信パケットα2)を受信した時刻である応答パケット受信時刻を減算した結果が応答待機時間d2として設定される。そして、照会時刻a2、応答待機時間d2及び応答時刻c2からなる位相計測情報が生成され、リアルタイムデータ及び位相計測情報を含むRTPパケットが生成される。
【0121】
以上のように、本発明の実施形態のデータ伝送装置1,2によれば、応答待機時間を用いる場合、位相計測情報挿入部12は、RTPパケットが送信可能となった時点の応答時刻を記録し、この応答時刻から位相計測情報抽出部16により記録された応答パケット受信時刻を減算し、応答待機時間を求める。位相計測情報挿入部12は、位相計測情報抽出部16により抽出された応答時刻を照会時刻とし、当該照会時刻、当該位相計測情報挿入部12にて求めた応答待機時間、及び当該位相計測情報挿入部12にて記録した応答時刻からなる位相計測情報を生成する。そして、位相計測情報挿入部12は、位相計測情報をRTPパケットに挿入する。
【0122】
これにより、リアルタイムデータ及び位相計測情報を含むRTPパケットが、対向するデータ伝送装置1,2へ送信される。
【0123】
クロック位相計測部19は、位相計測情報抽出部16により抽出された位相計測情報に含まれる応答時刻から応答待機時間を減算し、照会パケット受信時刻を求める。そして、クロック位相計測部19は、位相計測情報に含まれる照会時刻及び応答時刻、当該クロック位相計測部19にて求めた照会パケット受信時刻、並びに位相計測情報抽出部16により記録された応答パケット受信時刻に基づいて、クロック位相差を計測する。ローカルクロック制御部20は、
図2に示した同じ処理にて、ローカルクロックを生成する。
【0124】
これにより、スレーブモードのローカルクロックは、マスターモードのローカルクロックに同期することとなる。
【0125】
したがって、照会パケット受信時刻を用いる場合と同様に、クロック位相差の計測を小規模の回路にて実現することができ、PDVの増加を緩和して計測精度を高めることが可能となる。また、位相計測情報において、照会パケット受信時刻と応答時刻とが極めて近い時刻であるから、応答待機時間は小さい値となり、位相計測情報を、全体として少ないビット数で伝送することができる。
【0126】
以上、実施形態を挙げて本発明を説明したが、本発明は前記実施形態に限定されるものではなく、その技術思想を逸脱しない範囲で種々変形可能である。例えば前記実施形態では、データ伝送装置1,2は、リアルタイムデータ及び位相計測情報を格納したRTPパケットを伝送するようにしたが、本発明は、RTPパケットに限定するものではなく、他の種類のパケットを伝送するようにしてもよい。
【0127】
また、
図4にて説明したとおり、データ伝送装置2がクロック位相差を計測するために必要な4つの情報は、受信した位相計測情報に含まれる3つの情報(応答時刻c1が転記された照会時刻a2、データ伝送装置1における応答パケット受信時刻が転記された照会パケット受信時刻b2、及び応答時刻c2)、及び、当該データ伝送装置2における応答パケット受信時刻である。
【0128】
本発明の実施形態では、データ伝送装置2は、応答時刻c1を含む位相計測情報を送信し、当該応答時刻c1が転記された照会時刻a2を含む位相計測情報を受信する。そして、データ伝送装置2は、受信した位相計測情報から応答時刻c1である照会時刻a2を抽出し、クロック位相差を計測する。これに対し、データ伝送装置2は、応答時刻c1の代わりにRTPパケットのヘッダに含まれるシーケンス番号を用い、シーケンス番号を含む位相計測情報を送信するようにしてもよい。
【0129】
この場合、データ伝送装置2の位相計測情報挿入部12は、RTPパケットに位相計測情報を挿入する際に、RTPパケットからシーケンス番号を抽出し、シーケンス番号を含む位相計測情報を生成する。また、位相計測情報挿入部12は、シーケンス番号と応答時刻c1とを対応付けて、インデックステーブルに格納する。そして、データ伝送装置2は、位相計測情報を送信する。
【0130】
データ伝送装置1がデータ伝送装置2から位相計測情報を受信すると、データ伝送装置1の位相計測情報抽出部16は、位相計測情報からシーケンス番号を抽出し、位相計測情報挿入部12は、シーケンス番号を照会時刻a2に転記して位相計測情報を生成する。そして、データ伝送装置1は、位相計測情報を送信する。
【0131】
データ伝送装置2がデータ伝送装置1から位相計測情報を受信すると、データ伝送装置2の位相計測情報抽出部16は、位相計測情報からシーケンス番号を抽出し、シーケンス番号に対応する応答時刻c1をインデックステーブルから読み出す。これにより、クロック位相計測部19は、前記4つの情報に基づいて、クロック位相差を計測することができる。
【0132】
尚、本発明の実施形態によるデータ伝送装置1,2のハードウェア構成としては、通常のコンピュータを使用することができる。データ伝送装置1,2は、CPU、RAM等の揮発性の記憶媒体、ROM等の不揮発性の記憶媒体、及びインターフェース等を備えたコンピュータによって構成される。
【0133】
データ伝送装置1,2に備えたRTPパケット作成部10、バッファ部11、位相計測情報挿入部12、パケット送信部13、ネットワークインターフェース14、パケット受信部15、位相計測情報抽出部16、バッファ部17、リアルタイムデータ抽出部18、クロック位相計測部19及びローカルクロック制御部20の各機能は、これらの機能を記述したプログラムをCPUに実行させることによりそれぞれ実現される。
【0134】
これらのプログラムは、前記記憶媒体に格納されており、CPUに読み出されて実行される。また、これらのプログラムは、磁気ディスク(フロッピー(登録商標)ディスク、ハードディスク等)、光ディスク(CD−ROM、DVD等)、半導体メモリ等の記憶媒体に格納して頒布することもでき、ネットワークを介して送受信することもできる。