(57)【特許請求の範囲】
【請求項１】
送信側端末装置からデータをパケット化する時の時刻情報としてサンプリングクロック信号を基に形成した送信側クロック値をパケットに付加して送信し、該パケットを受信した受信側端末装置は、前記送信側クロック値を基にクロック同期をとってデータを出力するデータ出力部を有するパケット通信システムに於いて、
前記受信側端末装置は、受信したパケットに付加されている前記送信側クロック値と、受信側クロック信号を基に形成したデータ出力用クロック値との差分を算出するクロック差分算出手段と、
該クロック差分算出手段からの差分値の所定の期間についての移動平均値を算出する移動平均値算出手段と、
該移動平均値算出手段からの移動平均値の信頼度を判定する信頼度判定手段と、
該信頼度判定手段による信頼度の高い前記移動平均値を基に前記データ出力部に加えるデータ出力用クロック値を補正するデータ出力クロック生成手段と
を備えたことを特徴とするパケット通信システム。
【請求項２】
前記信頼度判定手段は、前記移動平均値算出手段により移動平均値を求めた前記差分の分散を求めて、該分散と前記移動平均値とを比較し、前記移動平均値の信頼度が高いと判定した場合に前記データ出力クロック生成手段によるデータ出力用クロック値の補正を行わせる構成を有することを特徴とする請求項１記載のパケット通信システム。
【請求項３】
前記データ出力クロック生成手段は、係数を乗算して前記データ出力部に加えるデータ出力用クロック値を出力し、且つ前記信頼度判定手段からの信頼度の高い時のクロック補正により前記係数を更新する手段を備えたことを特徴とする請求項１又は２記載のパケット通信システム。
【請求項４】
前記受信側端末装置は、前記送信側端末装置からのパケットに付加した送信側クロック値が有効か無効かを示すフラグ情報を検出する手段と、該手段により検出したフラグが有効を示す時のみ、該パケットに付加された前記送信側クロック値を基に前記データ出力用クロック値の補正を行う手段とを備えたことを特徴とする請求項１乃至３の何れか１項記載のパケット通信システム。
【請求項５】
前記受信側端末装置は、受信したパケットの属性情報を検出して、該属性情報に従って該パケットに付加された送信側クロック値を基に前記データ出力用クロック値の補正を行うか否かを判定する手段を備えたことを特徴とする請求項１乃至３の何れか１項記載のパケット通信システム。
【発明の詳細な説明】
【０００１】
【発明の属する技術分野】
本発明は、送信側端末装置と受信側端末装置との間でパケット通信網を介してパケットを伝送し、受信側端末装置は、送信側端末装置のクロック信号に同期化させた受信側クロック信号により、受信したパケットを処理するパケット通信システムに関する。
【０００２】
【従来の技術】
近年のインターネット／イントラネットの普及により、ＡＶ（Ａudio  Ｖideo）データ等のリアルタイムメディアを伝送するアプリケーションが増加している。ＩＰ（Ｉnternet Ｐrotocol ）ネットワークでデータ伝送を行う際のプロトコルとしては、一般的には、ＴＣＰ（Ｔransmission Ｃontrol  Ｐrotocol ）又はＵＤＰ（Ｕser Ｄatagram Ｐrotocol ）が用いられる。ＴＣＰを用いた場合、信頼性の高いデータの伝送が可能となる反面、再送制御が行われる為に、リアルタイム性に欠ける欠点がある。そこで、リアルタイムにＡＶデータ等を伝送するアプリケーションについては、ＴＣＰではなくＵＤＰが用いられる。又ＴＶ放送のように同報通信を実現するには、マルチキャストを行うことになるが、ＴＣＰはマルチキャストをサポートしていない為、ＵＤＰを用いることになる。
【０００３】
又ネットワークを介してＡＶデータを伝送する場合、送信側でＡＶデータをサンプリングするクロック信号と、受信側で受信したデータを出力するクロック信号との同期をとる必要がある。このような送受信間のクロック信号の同期をとらないと、受信側のバッファに、アンダーフローやオーバーフローが生じる問題がある。例えば、伝送データがビデオデータの場合、アンダーフロー時に同一のフレームを複数回表示したり、又オーバーフローの場合、或るフレームを表示しないようにして、フレームレートの調整を行う必要が生じる。従って、再生画面の動きが不自然となって、表示品質が低下する。又オーディオの場合は、オーバーフロー時にＰＣＭデータを間引いたり、或いはアンダーフロー時にＰＣＭデータを繰り返して再生することによって、一応は調整できるが、その場合の再生音はノイズとなり、再生音質が劣化する。従って、送信側クロック信号に対して受信側クロック信号を同期化する必要がある。
【０００４】
送信側と受信側とを同期網を介して接続した場合は、送受信側のそれぞれのクロック信号を同期網のクロック信号に同期させることにより、送受信間のクロック同期をとることができる。しかし、非同期網の場合や、送受信端末装置を網クロック信号に同期できない場合は、送受信間のクロック同期の実現は容易ではない。通常ＴＣＰ／ＩＰベースの通信では、送受信側の端末装置が網クロックに同期することを想定していないものである。従って、送受信間のクロック同期をとる手段として、例えば、受信側で、或る程度の受信データをバッファリングしてから出力を開始し、データ出力中の受信バッファ量を監視し、オーバーフロー傾向であれば、受信側のデータ出力クロック速度を速くし、アンダーフロー傾向であれば、データ出力クロック速度を遅くすることにより、受信側クロック信号を送信側クロック信号に追従制御する手段が知られている。
【０００５】
しかし、ＵＤＰを用いた通信に於いては、伝送遅延が一定あることが保証されていないと共に、ネットワークの輻輳によりパケットの廃棄が生じる可能性が大きいものである。従って、前述のような受信バッファ量を所定範囲内に維持する手段では、パケットの伝送遅延の揺らぎやパケットの廃棄により、受信バッファ量の増減の変化が大きくなり、送受信間のクロック差の調整が不可能となる問題がある。
【０００６】
又送受信間のクロック同期の他の手段として、送信側端末装置からの送信パケットに、送信データをサンプリングした時の送信側クロック信号をカウンタとした値を時刻情報として付加して送信し、受信側端末装置は、受信側クロック信号をカウントした時刻情報を用い、受信したパケットに付加された時刻情報による送信パケット間隔と、受信側端末装置により生成した時刻情報による受信パケット処理間隔とにより、送信側クロック信号に受信側クロック信号を同期化させる手段も知られている。
【０００７】
図９はパケット通信システムの説明図であり、送信側端末装置５１と受信側端末装置５２とをパケット通信網５３に接続し、送信側端末装置５１に於いて生成したパケットをパケット通信網５３を介して受信側端末装置５２宛に送出する。送信側端末装置５１は、データサンプリング部５４に於いて入力データを送信側クロック発生部５５からのクロック信号によってサンプリングし、その時のクロック信号をカウントしたクロック値と共にデータ処理部５６に転送し、パケット化部５７に於いてパケット化すると共に、クロック値を時刻情報としてヘッダ情報に付加して送信する。
【０００８】
このパケットをパケット通信網５３を介して受信した受信側端末装置５２は、パケット受信部５８により受信して、パケットに付加されたクロック値を抽出し、データ出力部５９にデータを転送し、クロック値を受信側クロック発生部６０に転送する。このクロック値を用いて例えば送信パケット間隔を判定し、又パケット受信処理の為の受信側クロック信号をカウントしたクロック値を用いて受信パケット処理間隔を判定して、送信パケット間隔と受信パケット処理間隔とに対応して、データ出力部５９から受信データとして送出する。
【０００９】
図１０は従来例のクロック同期の説明図であり、受信側端末装置に於ける時間軸ｔ上の受信パケットを示し、送信側に於いて、送信側クロック信号のカウント値による時刻情報ｔＳｎを付加したパケットｎの次に、時刻情報ｔＳｎ＋１を付加したパケットｎ＋１を送信し、受信側に於いて、パケットｎを、受信側クロック信号のカウント値による時刻ｔＲｎで受信し、パケットｎ＋１を時刻ｔＲｎ＋１で受信した場合、それぞれの差分ｄＳｎ＝ｔＳｎ＋１−ｔＳｎ、ｄＲｎ＝ｄＲｎ＋１を求める。即ち、送信パケット間隔と受信パケット間隔とを求める。そして、ｄＲｎ＞ｄＳｎの場合は、受信側クロック速度が送信側クロック速度に比較して速く、反対に、ｄＲｎ＜ｄＳｎの場合は、受信側クロック速度が送信側クロック速度に比較して遅いと判定することができる。これにより、パケット廃棄が発生しても、送信側クロック速度と受信側クロック速度との差分を得ることができるから、受信側クロック信号を送信側クロック信号に同期化するように制御することができる。
【００１０】
しかし、パケット伝送の遅延揺らぎ及び送信側に於ける入力データをサンプリングしてパケット化して送信するまでの揺らぎの影響により、前述のような差分ｄＳｎ，ｄＲｎの比較では精度の高いクロック同期化は困難である。即ち、送信パケット間隔が一定であっても、受信パケット間隔は揺らぎが大きいと変化することになる。そこで、統計的処理を施すことにより、パケットの遅延揺らぎの影響を除くことが知られている。即ち、連続するＮ個の前述の差分ｄＲｎ，ｄＳｎの平均値ＡｄＲ（ｎ，Ｎ），ＡｄＳ（ｎ，Ｎ）とを、
ＡｄＲ（ｎ，Ｎ）＝（１／Ｎ）Σ(n+N-1) (j=n) ｄＲｊ
ＡｄＳ（ｎ，Ｎ）＝（１／Ｎ）Σ(n+N-1) (j=n) ｄＳｊ
として求める。なお、Σ(n+N-1) (j=n) は、ｊ＝ｎからｎ＋Ｎ−１まで累算することを示す。
【００１１】
この平均値ＡｄＲ（ｎ，Ｎ），ＡｄＳ（ｎ，Ｎ）を比較することにより、受信側クロック速度が送信側クロック速度に対して速いか遅いかを判定して、受信側クロック速度を送信側クロック速度に一致するように、即ち、クロック同期化を行うことができる。又このＮ個の平均値を求める区間をスライドさせて移動平均値として求めることにより、パケット受信が継続する限り、送信側クロック信号に受信側クロック信号を同期化することができる。更に、移動平均値を求めたＮ個の差分ｄＳｎの分散値を求め、この分散値に対応して移動平均観測窓を伸縮制御して、クロック同期化の精度を高めることも知られている（例えば、特開平５−１４３９９号公報参照）。
【００１２】
【発明が解決しようとする課題】
前述の従来例に於けるパケットの送受信間隔に相当するｄＳｎ，ｄＲｎの測定に於いて、受信側クロックについてはｍｓｅｃ単位以下の短い時間単位で測定する必要がある。例えば、ＮＴＳＣ方式のビデオデータをパケット化して伝送する場合、フレーム単位で測定することになるから、その場合のｄＳｎ，ｄＲｎは、約３３ｍｓｅｃ（正確には、１００１／３０ｍｓｅｃ）となる。例えば、送受信間で１％のクロック速度の誤差があると仮定すると、その誤差は約３３３μｓｅｃとなる。従って、マイクロ秒単位で受信タイミングの測定が可能なクロック信号を必要とするものである。
【００１３】
しかし、受信側端末装置を通常のパーソナルコンピュータ（ＰＣ）やワークステーション（ＷＳ）により構成してビデオ再生を行うアプリケーションが各種存在するが、その殆どは、オペレーションシステム（ＯＳ）が提供する時刻情報取得ＡＰＩ（Ａpplication  Ｐrogramming  Ｉnterface）を利用して、再生ビデオフレーム出力間隔を計測している。この時刻情報取得ＡＰＩにより取得可能な時刻情報は、ＰＣやＷＳのクロック信号に同期してカウントするハードウェアによるカウント値であり、ＰＣやＷＳ上で提供されている時刻情報取得ＡＰＩでは、一般的に最小でも１ｍｓｅｃ単位の時刻情報しか取得できない。
【００１４】
従って、ＰＣやＷＳで動作するソフトウェアにより、ビデオの受信側端末装置を実現する場合に、マイクロ秒単位で時刻情報を取得することは容易でなく、前述のような手段により、送信側クロック信号に受信側クロック信号を同期化することは困難となる。なお、送信側と受信側とのクロック信号の誤差を計測可能となるように、図１０のｄＲｎを測定するパケット間隔を大きくすることも理屈上は可能であるが、システム毎にパケット間隔の調整等が必要となり、実用上の問題がある。
【００１５】
又ＰＣやＷＳのビデオ再生アプリケーションプログラムは、ＯＳにより提供される時刻情報取得ＡＰＩを用いて取得した時刻情報に従って、所定のフレーム表示間隔を実現することが前述のように可能であるが、実際のＰＣやＷＣに於ける時刻情報生成のクロック信号の速度調整が不可能の構成が一般的である。又ＰＣやＷＳに於けるＯＳでもハードウェアでも時刻情報を生成する為のクロック信号の速度調整手段は用意されていないものである。従って、ＰＣ等を受信側端末装置として用いた時、送信側クロック信号に受信側クロック信号を同期化させることは実用上不可能に近いものであった。
【００１６】
本発明は、時刻情報がｍｓｅｃ単位で取得できる受信側端末装置に於いても、送受信間のクロック同期を可能とすることを目的とする。
【００１７】
【課題を解決するための手段】
本発明のパケット通信システムは、図１を参照して説明すると、送信側端末装置２から、データをパケット化する時の時刻情報としてサンプリングクロック信号を基に形成した送信側クロック値をパケットに付加して送信し、このパケットをパケット通信網３等を介して受信した受信側端末装置１は、送信側クロック値を基にクロック同期をとってデータを出力するデータ出力部９を有するパケット通信システムに於いて、受信側端末装置１は、受信したパケットに付加されている送信側クロック値ｔＳn と、受信側クロック信号を基に形成したデータ出力用クロック値ｔＲとの差分を算出するクロック差分算出手段５と、このクロック差分算出手段５からの差分を所定の期間について移動平均値を算出する移動平均値算出手段６と、この移動平均値算出手段６からの移動平均値の信頼度を判定する信頼度判定手段７と、この信頼度判定手段７による信頼度の高い移動平均値を基に、データ出力部９に加えるデータ出力用クロック値を補正するデータ出力クロック生成手段８とを備えている。
【００１８】
又信頼度判定手段７は、移動平均値算出手段６により移動平均値を求めたクロック値の差分の分散を求め、この分散が小さい時に信頼度が高いと判定してデータ出力クロック生成手段８によるデータ出力用クロック値の補正を行わせる構成を有し、又データ出力クロック生成手段８は、係数を乗算してデータ出力用クロック値を出力し、信頼度判定手段７からの信頼度の高い時のクロック補正により係数を更新する手段を備えることができる。
【００１９】
又受信側端末装置１は、送信側端末装置２からのパケットに付加した送信側クロック値が有効か無効かを示すフラグ情報を検出する手段と、この手段により検出したフラグが有効を示す時のみ、パケットに付加された送信側クロック値を基に前記データ出力用クロック値の補正を行う手段とを備えることができる。又受信したパケットの属性情報を検出し、この属性情報に従ってパケットに付加された送信側クロック値を基にデータ出力用クロック値の補正を行うか否かを判定する手段を備えることができる。
【００２０】
【発明の実施の形態】
図１は本発明の原理説明図であり、１は受信側端末装置、２は送信側端末装置、３はパケット通信網、４はパケット受信手段、５はクロック差分算出手段、６は移動平均値算出手段、７は信頼度判定手段、８はデータ出力クロック生成手段、９はデータ出力部を示す。
【００２１】
送信側端末装置２からは、前述のように、時刻情報を付加したパケットを送出するもので、この時刻情報は、データのサンプリングに用いたクロック信号、又はこのクロック信号に同期した他のクロック信号をカウントアップした値をクロック値としたものである。このパケットをパケット通信網２を介して受信した受信側端末装置１は、パケット受信手段４によりパケットを分解してデータと送信側クロック値とに分離し、この送信側クロック値をクロック差分算出手段５に転送し、データ出力クロック生成手段８からのデータ出力用クロック値と送信側クロック値との差分を算出する。又パケット受信手段４に於いて分離したデータとクロック値とをデータ出力部９に転送し、データ出力部９からデータ出力用のクロック値に従ってビデオデータの場合は図示を省略した表示装置へ転送し、音声データのみの場合は図示を省略したスピーカ等を含む音声装置へ転送する。
【００２２】
例えば、パケットｎに付加された送信側クロック値をｔＳn 、最初の受信パケットをパケット０とし、最初の受信パケットのデータを出力した時のデータ出力用クロック値をｔＲ0 とすると、パケットｎのデータを出力する時のクロック値ｔＲn は、
ｔＲn ＝（ｔＳn −ｔＳ0 ）＋ｔＲ0                           …（１）
となる。即ち、データ出力部９は、クロック値ｔＲがｔＲn を超えた時点で受信パケットｎのデータを出力するように、データ出力タイミングを管理することになる。
【００２３】
前述のように、パケット受信手段４で受信したパケットから送信側クロック値ｔＳn を抽出してクロック差分算出手段５に転送し、このクロック差分算出手段５に於いてデータ出力用クロック値との差分を求める。そして、移動平均値算出手段６に於いて所定期間内の差分値の移動平均値を求める。又信頼度判定手段７に於いて移動平均値の基になったクロック値差分の信頼度を判定し、この信頼度情報と、移動平均値算出手段６からのクロック値差分平均値とをデータ出力クロック生成手段８に転送し、信頼度が高い場合のみ、クロック値差分平均値によりデータ出力部９に加えるデータ出力用クロック値の補正を行うものである。
【００２４】
図２は本発明の実施の形態の要部説明図であり、１１は受信側端末装置、１４はパケット受信部、１５はクロック差分計算部、１６は移動平均計算部、１７は信頼度判定部、１８は受信側クロック生成部、１９はビデオデコーダ、２０はビデオレンダラを示す。
【００２５】
同図に於いて、図１と類似した名称の機能部分は同一の機能を有するものであり、又図１のデータ出力部９として、ビデオデータを出力する場合に於ける復号化処理等を行うビデオデコーダ１９と、画像処理を行ったビデオデータを、図示を省略した表示装置へ出力するビデオレンダラ２０とを含む場合を示す。又図１のデータ出力クロック生成手段８に相当する受信側クロック生成部１８は、信頼度判定部１７からの情報に従って受信クロック信号を補正して、ビデオレンダラ２０からのデータを出力するタイミングを示すデータ出力用のクロック値ｔＲを出力する。この受信側クロック生成部１８は、ＰＣやＷＳ上のアプリケーションプログラムに於いては、ＯＳが提供する時刻情報取得ＡＰＩによって実現することができる。
【００２６】
例えば、マイクロソフト社のＰＣ／ＷＳ用のＯＳとして知られているＭｉｃｒｏｓｏｆｔ  Ｗｉｎｄｏｗｓ  Ｏｐｅｒａｔｉｎｇ  Ｓｙｓｔｅｍ  ＮＴ（商標）のアプリケーションプログラムから、ｔｉｍｅＧｅｔＴｉｍｅ（）というＡＰＩにより、最高１ｍｓｅｃ単位までの時刻情報の取得が可能である。この取得可能の時刻情報（受信側クロック値）をｔｒとし、受信側クロック生成部１８は、実際にビデオのフレーム表示間隔を管理する為に使用するデータ出力用のクロック値ｔＲを生成する。
【００２７】
この場合、受信側端末装置１１の基本クロック信号は一定速度であり、その基本クロック信号を例えば分周してカウントし、そのカウント値をデータ出力用クロック値ｔＲとし、分周比を制御することにより、又はオフセット値を加算することにより、データ出力用クロック値ｔＲを補正することができる。例えば、係数Ｃｒを乗算することによりデータ出力用クロック値ｔＲを出力し、この係数Ｃｒを更新することにより、クロック補正を行うことができる。
【００２８】
例えば、受信側クロック生成部１８は、係数Ｃｒを乗算してデータ出力用クロック値を出力する場合、次式で定義されるデータ出力用のクロック値ｔＲを出力する。
ｔＲ＝Ｃｒ（ｔｒ−ｔｒ0 ）＋ｔＳ0                           …（２）
ここで、ｔｒ0 は最初の再生可能なデータが格納されたパケットを受信した時の時刻情報（受信側クロック値）ｔｒであり、ｔＳ0 は最初の再生可能のデータが格納されたパケットに付加されている送信側クロック値を示す。又Ｃｒは、時刻情報（受信側クロック値）ｔｒの速度を基準にしてデータ出力用のクロック値ｔＲの速度を指定する為の係数であり、この係数Ｃｒの初期値は１．０とする。そして、この係数Ｃｒを更新することによって、データ出力用クロック値ｔＲの補正を行うことができる。即ち、クロック補正を行うことができる。なお、実際の装置では、受信したデータが表示可能となるまでに、何らかの処理時間がかかるから、クロック値ｔＲを遅延させる必要があるが、簡略化の為の遅延についての説明は省略する。
【００２９】
又ビデオレンダラ２０は、ビデオデコーダ１９に於いて復号されたビデオフレームデータと、送信側クロック値ｔＳn と、受信側クロック生成部１８からのデータ出力用クロック値ｔＲとを基に、図示を省略した表示装置にデータを出力する。その場合、ｔＲ＝ｔＳn となった時点でデータを出力する。即ち、送受信間のクロック同期をとってデータを出力することになる。
【００３０】
そして、パケットを継続して長時間受信している場合、送信側クロック速度（送信側クロック値）と受信側クロック速度（データ出力用クロック値）とのずれにより、データを表示すべきタイミングで出力することができなくなる。そこで、クロック差分計算部１５に於いて、受信パケットｎに付加されている送信側クロック値ｔＳn と、このパケットｎ受信時のデータ出力用のクロック値ｔＲn との差分ｄＳＲn ＝ｔＳn −ｔＲn を計算する。又移動平均計算部１６は、クロック値の差分ｄＳＲn について、過去の所定の期間内のＮ個（ｊ＝ｎ−（Ｎ−１）〜ｊ＝ｎ）の平均値ＡｄＳＲ（ｎ，Ｎ）＝（１／Ｎ）Σn j=n-(N-1) ｄＳＲj を計算する。
【００３１】
この移動平均値ＡｄＳＲの計算は、クロック補正を施す周期で行うものであり、クロック値の差分ｄＳＲn の移動平均値ＡｄＳＲが増加している場合は、送信側クロック速度に比較してデータ出力用クロック速度が遅く、反対に、移動平均値ＡｄＳＲが減少している場合は、送信側クロック速度に比較してデータ出力用クロック速度が速いことを示すから、それに従ってクロック補正を施すことができる。このクロック補正を施す前に、求めた移動平均値ＡｄＳＲが信頼できるものであるか否かを信頼度判定部１７に於いて判定する。
【００３２】
具体的には、信頼度判定部１７に於いて、差分ｄＳＲn の真値に対して、算出されたこの差分ｄＳＲn の平均値の分布が中心極限定理により正規分布に従うと仮定し、求めた移動平均値ＡｄＳＲと、この移動平均値ＡｄＳＲの計算に用いた差分ｄＳＲn の分散を用いて評価する。即ち、次の（３）〜（５）式により標準偏差σを求める。
【数１】
0003837693.tif 000002
【００３３】
そして、予め想定した危険率によって決定される係数αを用い、
ＡｄＳＲ−ασ＜０＜ＡｄＳＲ＋ασ
の場合は移動平均値ＡｄＳＲの信頼度が低く、
ＡｄＳＲ−ασ＞０又はＡｄＳＲ＋ασ＜０
の場合は移動平均値ＡｄＳＲの信頼度が高いと判定する。この信頼度が高いと判定した場合のみ、受信側クロック生成部１８に於けるクロック補正を行わせるものである。
【００３４】
この場合の信頼度が高い移動平均値をＡｄＳＲa 、その時の受信側クロック値をｔｒa 、データ出力用クロック値をｔＲa 、更新された係数をＣｒa とすると、この更新された係数Ｃｒa は、
Ｃｒa ＝（ＡｄＳＲa ＋ｔＲa −ｔＲ0 ）／（ｔｒa −ｔｒ0 ）  …（６）
となる。又ｄa ＝ＡｄＳＲa ＋ｔＲa とすると、補正されたデータ出力用クロック値ｔＲは、
ｔＲ＝Ｃｒa （ｔｒ−ｔｒa ）＋ｄa                           …（７）
となる。
【００３５】
図３は新たに算出した移動平均値ＡｄＳＲn が、補正不要な（信頼度が低い）範囲内の場合を示す。従って、クロック補正の次の周期に於いて算出した移動平均値ＡｄＳＲn+1 についても同様にクロック補正の要否を判定することになる。又図４は新たに算出した移動平均値ＡｄＳＲn が、補正が必要な（信頼度が高い）範囲に存在する場合を示す。この場合にクロック補正を行う。なお、図３，図４に於ける０は、クロック補正を行った時の移動平均値をクロック補正の次の周期の基準とする値を示す。
【００３６】
又（７）式により補正されたデータ出力用クロック値ｔＲについて、送信側クロック値に追従する様子を図５に示す。即ち、横軸を受信側クロック値ｔｒ、縦軸を送信側クロック値及びデータ出力用クロック値とし、受信側クロック値がｔｒ0 の時の送信側クロック値をｔＳ0 、データ出力用クロック値をｔＲ0 とし、ｔＳ0 ＝ｔＲ0 として、受信側クロック値ｔｒの増加、即ち、時間の経過に従って点線で示す送信側クロック値ｔＳが増加し、又実線で示すデータ出力用クロック値ｔＲが係数Ｃｒを初期値１．０として増加する状態を示す。
【００３７】
そして、受信側クロック値がｔｒa に於ける送信側クロック値ｔＳa と、データ出力用クロック値ｔＲa との差分と、移動平均値ＡｄＳＲa とを求め、且つ分散σを求め、ＡｄＳＲa −ασ＞０となった時に、クロック補正を行うと共に、係数Ｃｒの補正を行う。即ち、（６）式に従って係数Ｃｒa を求め、且つｄa ＝ｔＲa ＋ＡｄＳＲa として、ｔＲ＝Ｃｒa （ｔｒ−ｔｒa ）＋ｄa に従ったデータ出力用クロックｔＲとするクロック補正を行う。即ち、実線矢印で示すようにｄa を加算し、且つ係数Ｃｒの更新を行うことにより、誤差分が小さくなるようにクロック補正する。この更新した係数Ｃｒa により、データ出力用クロック値ｔＲは、送信側クロック値ｔＳと同一又は近似した速度（傾斜）となる。これにより、クロック補正を頻繁に行うことなく、送受信間クロック同期をとることができる。又この場合、Ｎ個の差分の移動平均値を求める場合のＮを小さくした場合でも、誤差分が累積して大きくなった時にクロック補正が行われることになるが、このＮを或る程度大きくすることにより、精度の高いクロック補正処理が可能となる。
【００３８】
又ＮＴＳＣビデオデータをパケット化して伝送する場合、ビデオフレーム間隔は約３３ｍｓｅｃであるから、送信側クロック値と、データ出力用クロック値との誤差を３３ｍｓｅｃ以下で調整できれば、送信側に対する受信側の誤差が１フレーム時間以下の状態を実現できることになる。ＰＣ（パソコン）やＷＳ（ワークステーション）に於ける測定可能の時刻は１ｍｓｅｃ程度あることから、クロック差分計算部１５に於けるクロック値の差分ｄＳＲn ＝ｔＳn −ｔＲn は１ｍｓｅｃ単位程度で求めることができれば、充分にクロック補正が可能となる。
【００３９】
通常は、送信側端末装置のデータサンプリングクロック信号と受信側端末装置のデータ出力用クロック信号との誤差は、元々大きくないので、送受信間クロック差を厳密に管理しなくても充分な場合がある。例えば、フレームレートが５ｆｐｓ（フレーム／秒）程度のビデオデータを伝送するアプリケーションの場合、フレーム間隔は２００ｍｓｅｃ程度となり、この場合は、数１０ｍｓｅｃ程度の誤差を許容できることになる。このようなアプリケーションに於いては、係数Ｃｒの更新を行わない簡略化した手段でクロック補正が可能である。
【００４０】
そこで、データ出力用クロック値ｔＲを、
ｔＲ＝（ｔｒ−ｔｒ0 ）＋ｔＳ0                               …（８）
とし、前述の場合と同様に、送受信間クロック誤差の移動平均値を求め、信頼度を判定し、信頼度の高い移動平均値ＡｄＳＲa が得られた時に、
ｔＲ＝（ｔｒ−ｔｒa ）＋ｄa                                 …（９）
としてデータ出力用クロック値ｔＲを補正することができる。即ち、係数Ｃｒについては初期値の１．０のままとし、クロック補正時に：ｄa ＝ＡｄＳＲa ＋ｔＲa を加算する。
【００４１】
前述のクロック補正手段によるデータ出力用クロック値の追従の様子を図６に示す。即ち、ｔｒ0 に於けるｔＳ0 ＝ｔＲ0 とし、受信側クロック値ｔｒa に於ける移動平均値ＡｄＳＲa の信頼度が高く、クロック補正を行うものである。この場合、係数Ｃｒの補正を行わないので、点線で示す送信側クロック値ｔＳと、実線で示すデータ出力用クロック値ｔＲとの特性（傾斜）は異なる場合が一般的となり、移動平均値ＡｄＳＲと標準偏差σとを用いて信頼度の判定を行い、実線矢印で示すようにクロック補正を行うことになる。
【００４２】
又送信側クロック値は、送信データをサンプリングする処理と送信処理とを同時に並行的に行われることを前提とした場合を示すが、実際のシステムに於いては、記録媒体に一旦蓄積した後に、パケット通信網を介して受信側端末装置へ伝送する場合がある。図７は前述のようなシステムに適用した場合を示す。同図に於いて、３１は送信側端末装置、３２は送信データ作成装置、３３は磁気ディスク装置や光磁気ディスク装置等の記録メディア、３４はデータサンプリング部、３５はデータ処理部、３６はサンプリングクロック生成部、３７はパケット化部、３８はパケット送信部、３９は送信側クロック生成部を示す。
【００４３】
送信データ作成装置３２は、入力データをデータサンプリング部３４に於いてサンプリングクロック生成部３６からのサンプリングクロック信号によりサンプリングし、サンプリングしたデータとクロック信号をカウントしたクロック値とをデータ処理部３５に転送する。データ処理部３５はクロック値を付加したデータをパケット化部３７に転送し、パケット化部３７はヘッダ情報にクロック値を付加してデータをパケット化し、記録メディア３３に転送して記録する。
【００４４】
又送信側端末装置３１は、パケット送信部３８により記録メディア３３から読出したパケットに付加されているクロック値と、送信側クロック生成部３９からのクロック値とを基に、前述の送信側クロック値とデータ出力用クロック値とを基に同期化を行う場合と同様にして、パケット送信部３８から図示を省略したパケット通信網を介して受信側端末装置へ送信する。
【００４５】
例えば、パケット送信部３８は、記録メディア３３から読出して送信するパケットのクロック値がｔＰ0 で、そのパケットを送信した時の送信側クロック生成部３９によるクロック値がｔＳ0 であったとすると、次の送信パケットのクロック値がｔＰ1 で、そのパケットの送信タイミングを示すクロック値ｔＳ1 を、ｔＳ1 ＝（ｔＰ1 −ｔＰ0 ）＋ｔＳ0 により求め、送信側クロック生成部３９のクロック値がｔＳ1 を超えた時に、そのパケットを送信する。以後同様にして、パケットに付加されたクロック値と、送信側クロック生成部３９によるクロック値とを比較して、送信タイミングを決定することができる。
【００４６】
前述の図７に示す実施の形態に於いては、送信データ作成装置３２に於いてパケット化し、記録メディア３３に一旦蓄積して送信側端末装置３１からパケット送信を行う場合を示すが、送信側端末装置３１にパケット化部３７を設け、送信データ作成装置３２はデータ処理部３５から記録メディア３３にクロック値を付加したデータを記憶し、その記録メディア３３から読出したデータを、送信側端末装置３１に設けたパケット化部によりパケット化して送信する構成とすることも可能である。その場合、記録メディア３３には、データと共に時刻情報を記録しておき、送信側端末装置３１のパケット化部に於いて送信パケットを生成して時刻情報を付加し、その時刻情報に従ったタイミングで送信することになる。
【００４７】
又送信側端末装置に於いて、パケットに付加した送信側クロック値と送信クロックとの同期を維持できない場合がある。例えば、図７に於いて、記録メディア３３を複数の送信側端末装置からアクセスしてデータを読出して送信するシステムに於いては、記録メディア３３に対するアクセスが輻輳して、データの読出しが送信タイミングに間に合わない場合が生じる。このような状況が頻繁に発生すると、受信側では、パケットの伝送遅延の揺らぎが大きいように観測される。その場合は、クロック値の差分とその移動平均値と分散とを用いた信頼度の判定に於いて、信頼度が低いと判定される問題が生じる。
【００４８】
これを回避する為に、パケットの送信側に、パケットに付加した送信側クロック値が有効か無効かを示すフラグ情報を付加して送信し、受信側端末装置は、このフラグ情報を検出する手段を例えばパケット受信部１４（図２参照）に設け、このフラグ情報が有効を示す時のみクロック補正を行う構成とすることができる。具体的には、フラグ情報として同期フラグ情報を用い、正常な送信タイミングでパケットを送信している場合は、同期がとれていることを示す同期フラグ情報とし、データの読出しが送信タイミングに間に合わないような場合は、同期がとれていないことを示す同期フラグ情報をそれぞれパケットに付加して伝送する。従って、受信側端末装置に於いては、この同期フラグ情報を検出して、同期がとれていないことを示す時は、このパケットに付加された送信側クロック値を利用しないようにする。即ち、クロック補正を行わないようにすることができる。
【００４９】
又パケット通信システムに於いては、ルータ等のパケットを中継転送する装置を設けたシステムも知られている。このルータ等のパケット中継装置は、受信バッファ等を含み、パケット中継処理による伝送遅延の揺らぎが発生する場合が一般的である。例えば、図８に示すように、受信側端末装置４１と送信側端末装置４２との間で、ネットワークＡ，Ｂとルータ等のパケット中継装置４３とを介してパケットの送受信を行うシステムに於いて、受信側端末装置４１は、例えば、図２に示す構成とし、又送信側端末装置４２は、例えば、図９に示す構成とすることができる。又パケット中継装置４３は、受信バッファを備え、且つパケットのヘッダ情報に従ってパケットの中継処理を行う構成を有するものである。
【００５０】
このようなシステムに於いて、パケット中継装置４３を、受信側端末装置４１に対して新たな送信端末装置と見做してクロック同期をとる方式（ａ）と、パケット中継装置の伝送遅延時間ｒ２を一定に維持する方式（ｂ）との何れかを適用することができる。なお、ｒ１〜ｒ４はネットワークＡ，パケット中継装置４３，ネットワークＢ及び送信側端末装置４２と受信側端末装置４１との間のそれぞれの伝送遅延時間を示す。
【００５１】
パケット中継装置４３を新たな送信端末装置と見做す方式（ａ）の場合、パケット中継装置４３に、図７に於ける送信端末装置３１の機能を設けることができる。その場合、パケット中継装置４３を送信端末装置と見做す方式（ａ）の場合、パケット中継装置４３に図７に示す送信端末装置３１の機能を設けることができる。即ち、送信端末装置４２が図７に於ける記録メディア３３に対応し、パケット中継装置４３が図７に於ける送信側端末装置３１に対応した構成と見做すことができる。
【００５２】
従って、パケットに付加された送信側クロック値を基に、パケット中継装置４３から送出するタイミングを制御し、且つ同期フラグ情報を用いて、同期がとれている状態か、又はとれていない状態かを受信側端末装置４１に通知することができる。なお、送信側端末装置４２とパケット中継装置４３との間では、パケット中継装置４３の受信バッファのオーバーフローやアンダーフローを回避する為に、クロック同期をとる必要がある。その為に、中継するパケットストリーム毎にクロック同期処理の機能を必要とすることになる。
【００５３】
又伝送遅延時間ｒ２を一定に維持する方式（ｂ）の場合は、受信バッファを用いて、送信側端末装置４２から受信したパケットを伝送遅延時間ｒ２後に受信側端末装置４１へ送出するように処理するものであるが、複数のパケットストリームについて処理することから、この伝送遅延時間ｒ２を一定に維持できない場合が生じる。その時は、前述の同期フラグ情報を用いて同期がとれていないことを受信側端末装置４１に通知する。従って、受信側端末装置４１は、同期がとれていることを示す同期フラグ情報を検出した時に、パケットに付加された送信側クロック値を基に、送信側端末装置４２との間のクロック同期をとり、同期がとれていないことを示す同期フラグ情報が付加されている場合は、そのパケットに付加された送信側クロック値を無視する処理を行うものである。
【００５４】
又パケットに属性情報を付加して送信し、受信側端末装置は、この属性情報をパケット受信部１４（図２参照）に於いて抽出する。例えば、送信側端末装置がビデオデータと共に、これに同期したオーディオデータを送信する場合に、受信側では、この属性情報が例えば、オーディオデータかビデオデータかの何れか一方の場合に、パケットに付加された送信側クロック値を抽出してデータ出力用クロック値の補正処理にも利用し、他方の場合は、パケットに付加された送信側クロック値をデータ出力タイミングを測る目的のみに利用する。これにより、例えば、送信側でソフトウェアにより圧縮符号化を施してデータを送信する等に於いて、入力データの内容や符号化方式上の理由により、処理時間のばらつきが大きい状況であって、且つオーディオかビデオかの何れかの送信処理時間の方がばらつきの少ないことが判っている場合に、ばらつきの少ない方のデータに付随する送信側クロック値のみを利用することで、送受信間クロック差検出の確度を向上させることができる。
【００５５】
（付記１）送信側端末装置からデータをパケット化する時の時刻情報としてサンプリングクロック信号を基に形成した送信側クロック値をパケットに付加して送信し、該パケットを受信した受信側端末装置は、前記送信側クロック値を基にクロック同期をとってデータを出力するデータ出力部を有するパケット通信システムに於いて、前記受信側端末装置は、受信したパケットに付加されている前記送信側クロック値と、受信側クロック信号を基に形成したデータ出力用クロック値との差分を算出するクロック差分算出手段と、該クロック差分算出手段からの差分を所定の期間について移動平均値を算出する移動平均値算出手段と、該移動平均値算出手段からの移動平均値の信頼度を判定する信頼度判定手段と、該信頼度判定手段による信頼度の高い前記移動平均値を基に前記データ出力部に加えるデータ出力用クロック値を補正するデータ出力クロック生成手段とを備えたことを特徴とするパケット通信システム。
【００５６】
（付記２）前記信頼度判定手段は、前記移動平均値算出手段により移動平均値を求めた前記差分の分散を求めて、該分散が小さい時に信頼度が高いと判定して前記データ出力クロック生成手段によるデータ出力用クロック値の補正を行わせる構成を有することを特徴とする付記１記載のパケット通信システム。
（付記３）前記データ出力クロック生成手段は、係数を乗算して前記データ出力部に加えるデータ出力用クロック値を出力し、且つ前記信頼度判定手段からの信頼度の高い時のクロック補正により前記係数を更新する手段を備えたことを特徴とする付記１又は２記載のパケット通信システム。
（付記４）前記受信側端末装置は、前記送信側端末装置からのパケットに付加した送信側クロック値が有効か無効かを示すフラグ情報を検出する手段と、該手段により検出したフラグが有効を示す時のみ、該パケットに付加された前記送信側クロック値を基に前記データ出力用クロック値の補正を行う手段とを備えたことを特徴とする付記１乃至３の何れかに記載のパケット通信システム。
【００５７】
（付記５）送信側クロック値を付加したパケットを記録メディアに記憶した後に該パケットを読出して送信するパケット通信システムに於いて、前記記録メディアから前記パケットを読出して送信する送信側端末装置は、前記パケットに付加された送信側クロック値と、該送信側端末装置のパケット送信時のクロック値とを対応させた送信タイミングで前記パケットを送信し、且つ該パケットの送信タイミングが所定のタイミングからずれている時に、該パケットの同期がとれていないことを示すフラグ情報を付加して送信する手段を備えていることを特徴とするパケット通信システム。
（付記６）送信側端末装置からの送信側クロック値を付加したパケットを中継送出するパケット中継装置を介して受信側端末装置へ伝送するパケット通信システムに於いて、前記パケット中継装置は、前記送信側クロック値に同期するようにデータ出力用クロック値を補正すると共に、所定のタイミングでパケットを送出できない時に、該パケットの送信側クロック値の無効を示すフラグ情報を付加して送出する構成を備えたことを特徴とするパケット通信システム。
（付記７）送信側端末装置からの送信側クロック値を付加したパケットを中継送出するパケット中継装置を介して受信側端末装置へ伝送するパケット通信システムに於いて、前記パケット中継装置は、受信したパケットを一定の遅延後の送信タイミングで送出し、該送信タイミングがずれた時に、該パケットの送信側クロック値の無効を示すフラグ情報を付加して送出する構成を備えたことを特徴とするパケット通信システム。
（付記８）前記受信側端末装置は、受信したパケットの属性情報を検出して、該属性情報に従って該パケットに付加された送信側クロック値を基に前記データ出力用クロック値の補正を行うか否かを判定する手段を備えたことを特徴とする付記１乃至３の何れかに記載のパケット通信システム。
【００５８】
【発明の効果】
以上説明したように、本発明は、ＰＣ（パソコン）やＷＳ（ワークステーション）等のように、１ｍｓｅｃ単位程度の時刻情報の取得が可能のハードウェア及びＯＳ（オペレーションシステム）で動作するソフトウェアによってパケットを受信するシステムに於いて、ビデオデータ等をパケット化して伝送する場合でも、サンプリングして形成したパケットに付加された送信側クロック値を基に、データ出力用クロック値を補正して、送受信間のクロック同期をとることにより、所定のタイミングでデータを受信出力することができる。従って、受信側端末装置の受信バッファのオーバーフローやアンダーフローを生じさせることなく、所定のタイミングでデータを出力することができるから、受信データの品質を維持できる利点がある。又同期フラグ情報等の送信側クロック値の有効，無効を示すフラグ情報を用いることにより、送信側で正常のタイミングでパケットを送出できない時に、受信側へ通知することができるから、有効なクロック補正のみが可能となる。
【図面の簡単な説明】
【図１】本発明の原理説明図である。
【図２】本発明の実施の形態の要部説明図である。
【図３】クロック補正の要否の説明図である。
【図４】クロック補正の要否の説明図である。
【図５】本発明の実施の形態のデータ出力用クロック値の補正説明図である。
【図６】本発明の実施の形態のデータ出力用クロック値の簡略化補正説明図である。
【図７】本発明の他の実施の形態の要部説明図である。
【図８】本発明の更に他の実施の形態の要部説明図である。
【図９】パケット通信システムの説明図である。
【図１０】従来例のクロック同期の説明図である。
【符号の説明】
１  受信側端末装置
２  送信側端末装置
３  パケット通信網
４  パケット受信手段
５  クロック差分算出手段
６  移動平均値算出手段
７  信頼度判定手段
８  データ出力クロック生成手段
９  データ出力部
【図１】
0003837693.tif 000003
【図２】
0003837693.tif 000004
【図３】
0003837693.tif 000005
【図４】
0003837693.tif 000006
【図５】
0003837693.tif 000007
【図６】
0003837693.tif 000008
【図７】
0003837693.tif 000009
【図８】
0003837693.tif 000010
【図９】
0003837693.tif 000011
【図１０】
0003837693.tif 000012