(57)【特許請求の範囲】
【請求項１】
ネットワークを介して送信側機器から送られてきたパケットを受信側機器が受信し、受信された前記パケットに含まれるタイムスタンプ情報を用いて、再生待ち合わせ処理の基準となるパケットに対する相対的ゆらぎ時間を算出するステップと、
算出された相対的ゆらぎ時間を示す信号を平滑化し、平滑化された信号の、時間経過に対する単調増加あるいは単調減少の様子を監視することにより、前記送信側機器と受信側機器との間の動作クロックのずれの情報を取得し、前記情報に基づいて、前記送信側機器と受信側機器との間の動作クロックの非同期を解消する方向に、前記受信側機器の動作クロックの周波数、または、前記受信側機器の再生タイミング決定の基礎となるカウンタのカウント値、を適応的に変化させるステップと、
を含むことを特徴とするデータ受信再生方法。
【請求項２】
送信側機器の送信クロックとは非同期であり、かつ、パケット毎に異なる伝送遅延ゆらぎ、またはパケットの損失が発生する可能性のある伝送路を経由して、前記送信側機器から送信されてきたパケットを受信側機器が受信し、前記伝送遅延ゆらぎを吸収するために再生待ち合わせ処理を行った後にデータを再生するデータ受信再生方法であって、
受信した前記パケットに含まれる送信時刻を示すタイムスタンプ情報を利用して、前記受信したパケット毎に、前記再生待ち合わせ処理の基準となるパケットに対する相対的ゆらぎ時間を算出するステップと、
算出された相対的ゆらぎ時間を示す信号をローパスフィルタに入力して平滑化するステップと、
平滑化により得られた信号の変動を監視し、前記送信側機器と受信側機器における送受信クロックの非同期に起因して前記受信側機器で観測されるゆらぎ時間を抑制する方向に、前記受信側機器の再生タイミング決定の基礎となる動作クロックの周波数、または、前記受信側機器の再生タイミング決定の基礎となるカウンタのカウント値を適応的に変化させるステップと、
を含むことを特徴とするデータ受信再生方法。
【請求項３】
音声信号または映像信号を符号化ならびにパケット化して、送信側クロックと非同期な伝送路を用いて送信し、受信側で再び音声信号または映像信号に復元する場合の、前記受信側におけるデータ受信再生方法であって、受信した前記パケットを分解してタイムスタンプ情報と音声または映像の符号化データをゆらぎ吸収バッファへ一時蓄積するステップと、
ゆらぎ吸収バッファ内のタイムスタンプと電圧制御発振器を基にゆらぎ吸収バッファからのデータ読み出しタイミングを制御するステップと、
受信パケットのタイムスタンプと電圧制御発振器を基に受信パケットの受けた相対的な遅延ゆらぎ時間を導出するステップと、各受信パケットの前記相対的な遅延ゆらぎ時間を平滑化するステップと、
前記平滑化出力を監視して、その出力に応じて電圧制御発振器を制御して周波数を調整するステップと、ゆらぎ吸収バッファから読み出した音声または映像の符号化データを復号化して端末インタフェース部へ出力するステップと、
を含むことを特徴とするデータ受信再生方法。
【請求項４】
音声信号または映像信号を符号化ならびにパケット化して、送信側クロックと非同期な伝送路を用いて送信し、受信側で再び音声信号または映像信号に復元する場合の、前記受信側におけるデータ受信再生方法であって、受信したパケットを分解してタイムスタンプ情報と音声または映像の符号化データをゆらぎ吸収バッファへ一時蓄積するステップと、
ゆらぎ吸収バッファ内のタイムスタンプと読み出しカウンタ部のカウンタ値に基づき、ゆらぎ吸収バッファからのデータ読み出しタイミングを制御するステップと、
受信パケットのタイムスタンプと読み出しカウンタ部のカウンタ値を基に受信パケットの受けた相対的な遅延ゆらぎ時間を導出するステップと、
各受信パケットの前記相対的な遅延ゆらぎ時間を平滑化するステップと、
前記平滑化出力を監視して、その出力に応じて読み出しカウンタ部のカウンタ値を増減するステップと、
ゆらぎ吸収バッファから読み出した音声または映像の符号化データを復号化して端末インタフェース部へ出力するステップと、
を含むことを特徴とするデータ受信再生方法。
【請求項５】
請求項３または請求項４において、
受信パケットの受けた相対的な遅延ゆらぎ時間を導出するステップの出力に応じて、受信パケットの受けた相対的な遅延ゆらぎ時間を平滑化するステップで使用するパラメータを動的に変更することを特徴とするデータ受信再生方法。
【請求項６】
音声信号または映像信号を符号化ならびにパケット化して、送信側クロックと非同期な伝送路を用いて送信すると共に、ネットワークを介して送信されてきたパケットを受信し、再び音声信号または映像信号に復元する機能をもつデータ通信装置であって、
送信対象である音声信号または映像信号を符号化する符号化部と、
符号化データをタイムスタンプ情報と共にパケット化するパケット組立部と、
受信した前記パケットを分解してタイムスタンプ情報と音声または映像の符号化データを抽出するパケット分解部と、
前記タイムスタンプおよび音声または映像の符号化データを一時蓄積するゆらぎ吸収バッファと、
ゆらぎ吸収バッファ内のタイムスタンプ情報および電圧制御発振器の発振出力を用いて、ゆらぎ吸収バッファからのデータ読み出しタイミングを制御する読み出しタイミング制御部と、
受信パケットの前記タイムスタンプ情報および前記電圧制御発振器の発振出力を用いて、受信パケットの受けた相対的な遅延ゆらぎ時間を導出するゆらぎ時間演算部と、
各受信パケットの前記相対的な遅延ゆらぎ時間を平滑化する平滑化部と、
前記平滑化の出力を監視し、その出力に応じて電圧制御発振器を制御して周波数を調整する平滑化出力監視部と、
ゆらぎ吸収バッファから読み出した音声または映像の符号化データを復号化して端末インタフェース部へ出力する復号化部と、
を有することを特徴とするデータ通信装置。
【請求項７】
端末インタフェース音声信号または映像信号を符号化ならびにパケット化して、送信側クロックと非同期な伝送路を用いて送信すると共に、ネットワークを介して送信されてきたパケットを受信し、再び音声信号または映像信号に復元する機能をもつデータ通信装置であって、
端末インタフェース部から受信した音声または映像信号を符号化する符号化部と、
符号化データをタイムスタンプ情報と共にパケット化するパケット組立部と、伝送路インタフェース部を介して受信したパケットを分解してタイムスタンプ情報と音声または映像の符号化データを抽出するパケット分解部と、
前記タイムスタンプ情報及び音声または映像の符号化データを一時蓄積するゆらぎ吸収バッファと、
ゆらぎ吸収バッファ内のタイムスタンプ情報および前記読み出しカウンタ部のカウンタ値を用いて、前記ゆらぎ吸収バッファからのデータ読み出しタイミングを制御する読み出しタイミング制御部と、
受信パケットのタイムスタンプ情報および前記読み出しカウンタ部のカウンタ値を用いて、受信パケットの受けた相対的な遅延ゆらぎ時間を導出するゆらぎ時間演算部と、
各受信パケットの前記相対的な遅延ゆらぎ時間を平滑化する平滑化部と、
前記平滑化出力を監視して、その出力に応じて読み出しカウンタ部のカウンタ値を増減する平滑化出力監視部と、
前記ゆらぎ吸収バッファから読み出した音声または映像の符号化データを復号化して端末インタフェース部へ出力する復号化部と、
を含むことを特徴とするデータ通信装置。
【請求項８】
請求項６または請求項７において、
受信パケットの受けた相対的な遅延ゆらぎ時間を導出するゆらぎ時間演算部の出力に応じて、平滑化部で使用するパラメータを動的に変更することを特徴とするデータ通信装置。
【請求項９】
コンピュータとしてのデータ受信再生装置を、請求項６から請求項８のいずれかに記載のデータ通信装置として動作させるためのプログラム。
【請求項１０】
請求項９記載のプログラムを記憶している、コンピュータが読み取り可能な記録媒体。
【発明の詳細な説明】
【０００１】
【発明の属する技術分野】
本発明は、データ受信再生方法およびデータ通信装置に関する。
【０００２】
【従来の技術】
近年、ネットワークを経由してオーディオ/ビデオ等の連続データを通信する技術が実用化されている。
【０００３】
このように、ネットワークを介してデータを受信し、受信側でリアルタイムに再生を行おうとした場合、送信側と受信側の動作クロックが別系統にならざるを得ず、同期が完全にとれないことに起因する再生オーディオ/ビデオ像の乱れが発生するという問題がある。
【０００４】
リアルタイム伝送において送信側と受信側のシステムクロックが非同期の場合、受信側バッファにアンダーフローやオーバーフローが発生する。この結果、復号動作の連続性が失われ、音声/映像の途切れやノイズ発生といった不具合が生じる。さらに、受信側で再び初期状態にセットするなど、長時間の中断を余儀なくされる。このため、オーバフローやアンダーフロー対策は、リアルタイム伝送システムにとって重要な課題である。
【０００５】
その対策として、受信装置のバッファ容量を監視して受信側端末の発振源を送信側端末の発振源に合わせ込む技術も開発され、例えば特開平９−２５２２９２号公報や特開２０００−２２６７８号公報にその一例が開示されている。
【０００６】
【発明が解決しようとする課題】
IPネットワークの様なパケットベースのネットワークにおいては、いわゆる「遅延ゆらぎ」を考慮する必要がある。遅延ゆらぎとは、パケット毎に、ネットワークにて受ける遅延時間が異なることをいう。
【０００７】
しかしながら、特開平９−２５２２９２号公報の技術は、送信側端末発振源の周波数と受信側端末発振源の周波数の違いを吸収するためのバッファの容量を監視し、その増減を直接用いて受信バッファ出力端からデータを引き出す符号化クロックの生成源である受信側端末発振源の発振周波数を随時制御しようとするものであり、送信クロックと受信側端末の受信クロックの差のみに注目しているものである。即ち、遅延ゆらぎの無い理想的な通信環境が前提となっている。
【０００８】
また、特開２０００−２２６７８号公報の技術は、送信データを蓄積するための送信用バッファと受信データを蓄積するための受信用バッファとをそれぞれ具備し、前記送信用バッファから受信側伝送クロックと異なる伝送クロックを伴って相互に所定データを伝送するデータ伝送端末装置であって、送信相手先端末装置から所定のデータが伝送されて前記受信用バッファに蓄積されるとき、この蓄積されるデータ量の所定周期毎の変化量を検出し、統計的手法を用いて前記変化量に応じた補正用クロックを得、この補正用クロックにより前記受信側伝送クロックを補正して、前記送信側のクロックとの同期化を図るようにしたものである。これは、受信パケット中に遅延ゆらぎを受けたパケットが混在していても正しくクロックの補正ができることを意図したものであるが、ほとんど全ての受信パケットがランダムな遅延ゆらぎを受けている場合は、正しくクロックの補正ができないという課題がある。
【０００９】
また、音声または映像の符号化器が出力する符号化データが定ビットレートで無い場合や、伝送路上でパケットの損失が発生した場合も、受信用バッファの蓄積データ量が変動するため正しくクロックの補正ができない。
【００１０】
本発明はこのような現状の問題に着目してなされたものであり、その目的は、パケット毎の遅延ゆらぎやパケット損失が発生するネットワーク環境において、可変レートの符号化器を用いて、独立なクロックを持つ送受信端末間で音声または映像信号の伝送/再生を継続的に行い、受信側バッファのオーバフローやアンダーフローを発生させないことを実現することにある。
【００１１】
【課題を解決するための手段】
本発明では、各パケットに含まれるタイムスタンプ情報を活用して、各パケットの基準パケット（例えば、呼の先頭パケット）に対する相対的な遅延ゆらぎを直接的に、かつ正確に求め、この遅延ゆらぎを平滑化して、送受信端末間の動作クロックの誤差に起因するゆらぎ成分を抽出し、抽出された情報に基づき、送受信端末間のクロックの非同期を解消する方向に、受信機のクロック周波数やカウンタのカウント値を補正する。
【００１２】
「遅延ゆらぎ」には、純粋な伝送路上における伝搬遅延の変動成分の他に、送受信端末間の動作クロック誤差に起因する変動成分が含まれる。
【００１３】
純粋な伝送路上における伝搬遅延の変動は各パケット毎に異なるが、動作クロックに起因する変動は、その誤差が時間経過と共に累積されていく関係上、時間経過と共に、累積変動量が単調増加する、あるいは単調減少するという特徴がある。
【００１４】
この点に着目し、タイムスタンプを用いて正確に算出された相対遅延ゆらぎを、時定数を適切に設定したローパスフィルタに入力して平滑化することにより、純粋な伝送路上における伝搬遅延の変動成分は除去し、送受信端末の動作クロックに起因する変動成分のみを抽出することが可能である。
【００１５】
抽出された変動成分の変化（時間に対する変化量）が、例えば、所定のしきい値を超えている場合には、受信側バッファのオーバーフロー等の原因となるから、この場合には、抽出された変動量に基づき、受信側の動作クロックの周波数やカウンタのカウント値を補正し、送受信端末間の動作クロックの誤差を縮小させる。
【００１６】
したがって、本発明によれば、パケット伝送遅延にゆらぎの発生するネットワーク環境においても、送受信端末間のクロックのずれの蓄積を検出することが可能となり、受信側バッファのオーバフローまたはアンダーフローを発生させずに、継続的に音声または映像信号の再生することが可能になる。
【００１７】
本発明では、各パケットの相対遅延ゆらぎを正確に求めると共に、求められた相対遅延ゆらぎを平滑化（時間積分）して、その相対遅延ゆらぎに含まれる、送受信端末間のクロックのずれに起因する変動を正確に抽出してクロック等を補正するため、従来の受信バッファの容量を目安として間接的に制御する方法に比べて、極めて高精度な処理を行え、また、どのような通信環境であっても、対応することが可能である。
【００１８】
本発明のデータ受信再生方法の一つの態様は、ネットワークを介して送信側機器から送られてきたパケットを受信側機器が受信し、受信された前記パケットに含まれるタイムスタンプ情報を用いて、再生待ち合わせ処理の基準となるパケットに対する相対的ゆらぎ時間を算出するステップと、算出された相対的ゆらぎ時間を示す信号を平滑化し、平滑化された信号の、時間経過に対する単調増加あるいは単調減少の様子を監視することにより、前記送信側機器と受信側機器との間の動作クロックのずれの情報を取得し、前記情報に基づいて、前記送信側機器と受信側機器との間の動作クロックの非同期を解消する方向に、前記受信側機器の動作クロックの周波数、または、前記受信側機器の再生タイミング決定の基礎となるカウンタのカウント値、を適応的に変化させるステップと、を含む。
【００１９】
【発明の実施の形態】
以下、図面を参照して、本発明の実施の形態について説明する。
【００２０】
（実施の形態１）
図１は、本発明のデータ通信装置の一例の構成を示すブロック図である。
【００２１】
図１において、データ受信再生装置（データ送信機能も含めた場合にはデータ通信装置となる）１００は、通信相手のデータ通信装置１０から送信され、インターネット等のネットワーク２０を経由して到着するパケットを受信し、映像／音声信号を再生し、モニター３０を介して映像や音声を出力する。
【００２２】
図１において、参照符号１００は本発明のデータ受信再生装置（データ通信装置）、１０１はマイクやスピーカーまたはカメラやモニタを接続してデータ受信再生装置１００と音声または映像信号を送受信する端末インタフェース部、１０２は端末インタフェース部１０１から受信した音声または映像信号をディジタル信号に変換して符号化する符号化部、１０３は符号化部１０２から受信した音声または映像の符号化データをタイムスタンプ情報と共にパケット化するパケット組立部、１０４はパケット組立部１０３で使用するタイムスタンプ情報のためにパケット組立時刻を通知するパケット組立クロック、１０５はパケット組立部１０３で組み立てたパケットを伝送路へ送出し、伝送路から受信したパケットをパケット分解部１０６へ送出し、また、IP（Internet Protocol）ネットワーク等のパケットベースのネットワークに接続されている伝送路インタフェース部、１０６は伝送路インタフェース部１０５から受信したパケットを分解し、タイムスタンプと音声または映像の符号化データを抽出するパケット分解部、１０７はパケットの伝送遅延時間が変動して到着間隔がばらついても、連続的な再生をするためにパケット受信から再生開始までに遅延を付加するゆらぎ吸収バッファ、１０８はゆらぎ吸収バッファ１０７から読み出した音声または映像の符号化データを復号化し端末インタフェース部１０１へ送出する復号化部、１０９はゆらぎ吸収バッファ１０７内のタイムスタンプ値と電圧制御発振器１１３を分周部１１５により分周した周波数により計時されるデータ受信再生装置１００内の時刻とにより、ゆらぎ吸収バッファ内の符号化データの復号化部１０８への読み出しタイミングを制御する読み出しタイミング制御部、１１０はパケット分解部１０６から取得したタイムスタンプ値と電圧制御発振器１１３を分周部１１５により分周した周波数により計時されるデータ受信再生装置１００内の時刻とにより受信パケットの遅延ゆらぎ時間を導出するゆらぎ時間演算部、１１１はゆらぎ時間演算部１１０により導出した各受信パケットのゆらぎ時間を入力として、LPF（Low Pass Filter）等の平滑化処理を実行する平滑化部、１１２は所定時間毎に平滑化部１１１の出力を監視して、監視期間中の平滑化出力の増加または減少量に応じて電圧制御発振器１１３の周波数制御を行う平滑化出力監視部、１１３は読み出しタイミング制御部１０９で読み出しタイミングを生成するクロック及び復号化部１０８の動作クロックの源周波となる電圧制御発振器、１１４は符号化器１０２の動作クロックである符号化クロック、１１５は電圧制御発振器１１３の出力周波数を分周して読み出しタイミング制御部１０９及び復号化部１０８へ供給する分周部であり、２つの出力周波数は必ずしも同一ではない。
【００２３】
以下、図１のデータ受信再生装置（データ通信装置）の動作について説明する。
【００２４】
符号化部１０２により符号化された音声または映像の符号化データは、パケット組立部１０３でパケットに組み立てられる。この際、音声または映像の符号化データと共にタイムスタンプ情報がパケットには含まれる。タイムスタンプはパケット組立クロック１０４により計時される１パケット内の先頭の音声または映像の符号化データのパケット組立部１０３への受信タイミングとして定義される。符号化クロック１１４とパケット組立クロック１０４は同一の源周波から分周して得たクロックである。
【００２５】
パケット組立クロック１０４の周波数としては、音声の場合は8KHz、MPEG等の映像の場合は90KHzといった値が用いられる事が多い。パケット組立部１０３で組み立てられたパケットは伝送路インタフェース部１０５からIPネットワーク等の伝送路を介して受信側へ送信される。伝送路上でのパケット毎の伝送遅延は必ずしも一定では無く、変動する。伝送路インタフェース部１０５を介して受信したパケットはパケット分解部１０６にて分解され音声または映像の符号化データとタイムスタンプ情報が抽出される。抽出されたタイムスタンプ情報及び符号化データはゆらぎ吸収バッファ１０７に一時蓄積される。読み出しタイミング制御部１０９では、呼の先頭パケットを受信した際に、そのタイムスタンプ値からデータ受信再生装置１００に予め設定されたゆらぎ吸収時間を差し引いた値をコピーしておく。呼の先頭パケットの判定はゆらぎ吸収バッファが空の状態でバッファを受信した事により行う事が可能である。読み出しタイミング制御部１０９では、（呼の先頭パケットのタイムスタンプ値−ゆらぎ吸収時間）を初期値として電圧制御発振器１１３を分周部１１５で分周したレート（パケット組立クロックと同一周波数であり、誤差を含む）でカウントアップする。
【００２６】
このカウントアップ値がゆらぎ吸収バッファ内に蓄積されたタイムスタンプと一致した場合は、そのタイムスタンプを持つ符号化データを復号化部１０８へ出力する。
【００２７】
以上説明した処理により、各パケットの受信から符号化データの復号化部１０８への出力までに、データ受信再生装置１００に予め設定されたゆらぎ吸収時間分の遅延を付加して伝送路上で受けた遅延ゆらぎを吸収する。ゆらぎ時間演算部１１０では、呼の先頭パケットに対する各受信パケットの相対的な遅延ゆらぎを導出する。
【００２８】
パケットの送受信タイミングの概念図を図３に示す。
【００２９】
図３において、S0、S1、…、Sn-1、Snはパケットの組立時刻、即ち受信パケットのタイムスタンプである。
【００３０】
また、R0、R1、…、Rn-1、Rnは分周部１１５から読み出しタイミング制御部１０９への入力クロックにより計時される各パケットの受信時刻である。これらの値より、呼の先頭パケットに対するｎ番目の受信パケットの相対的な遅延ゆらぎ（PDVn）は以下の式により求まる。
【００３１】
PDVn＝（Sn−S0）−（Rn−R0）
すなわち、呼の先頭パケットに対する遅延ゆらぎ＝（今受信パケットのタイムスタンプ値−先頭パケットのタイムスタンプ値）−（今受信パケットの受信時刻−先頭パケットの受信時刻）により、求めることができる。
【００３２】
ここで、PDVnは純粋な伝送路上での伝送遅延の変動のみでなく、送信側のパケット組立クロック１０４の周波数と受信側の分周部１１５から読み出しタイミング制御部１０９への入力周波数との誤差の影響を受ける。
【００３３】
受信側で導出されるゆらぎ時間の概念図を図４及び図５に示す。図４に示すようにネットワーク上での遅延ゆらぎは、平均値に対してランダムに変動する。一方、送受信間のクロック精度のずれに起因するゆらぎは、時間経過に対して単調増加もしくは単調減少する。送信側のパケット組立クロック１０４に対して受信側のゆらぎ時間演算部１１０への入力周波数が速い場合は、単調減少する。逆に、送信側のパケット組立クロック１０４に対して受信側のゆらぎ時間演算部１１０への入力周波数が遅い場合は、単調増加する。受信側のゆらぎ演算部１１０で導出される各受信パケットのゆらぎ時間は図４の２要因の和となり、図５のようになる。
【００３４】
図５に示すように、送受信間のクロックのずれの影響により、受信側で観測される各パケットのゆらぎ時間の平均値は単調増加または単調減少する。従って、パケットの受信/再生を長時間継続すると受信側で観測されるゆらぎ時間は、正負いずれかの方向にその絶対値を増大し続け、ゆらぎ時間がゆらぎ吸収バッファによるゆらぎの許容範囲を越えるとゆらぎ吸収バッファのオーバフローまたはアンダーフローを誘発し、音声または映像が途切れることとなる。
【００３５】
そこで、例えば、図６に示すような平滑化部１１１（バッファ４０，７０と、遅延器６０とを有する）にPDVnを入力する事により、平滑化部１１１の出力として図７のような信号を得る。
【００３６】
平滑化部１１１は、ネットワーク上の遅延ゆらぎのように比較的急峻な変化をする成分に対しては追従せず、送受信間のクロックずれに起因して受信側で観測されるゆらぎのように比較的緩やかな変化に対しては、α（図６のバッファ４０の係数）で決まる追従速度で追従していく。
【００３７】
なお、平滑化部１１１は必ずしも図６のような構成である必要はなく、直流成分に近い極低周波のみを通過させるLPFであれば良い。
【００３８】
平滑化出力監視部１１２は所定周期毎に平滑化部１１１の出力を監視する。１監視周期での平滑化部１１１の出力の変化が、予め設定された閾値よりも大きい場合は、平滑化部１１１の出力が過渡状態であると判定する。過渡状態と判定中は、平滑化出力監視部１１２から電圧制御発振器１１３への制御は行わない。
【００３９】
平滑化出力監視部１１２は平滑化出力が定常状態に遷移したと判定した直後の平滑化出力を保持しておく。
【００４０】
平滑化出力監視部１１２は所定周期毎に平滑化部１１１の出力を監視し、その時の平滑化出力と保持してある定常状態の平滑化出力初期値との差分が予め設定された閾値（過渡状態を判定するための閾値とは異なる値）より大きい場合は、電圧制御発振器１１３へ周波数制御信号を出力する。
【００４１】
平滑化出力監視部１１２に保持してある定常状態の平滑化出力初期値に対して、平滑化出力が大きくなる方向に変移している場合は、電圧制御発振器１１３の周波数が若干遅くなるように平滑化出力監視部１１２は周波数制御信号を電圧制御発振器１１３に対して出力する。
【００４２】
平滑化出力監視部１１２に保持してある定常状態の平滑化出力初期値に対して、平滑化出力が小さくなる方向に変移している場合は、電圧制御発振器１１３の周波数が若干速くなるように平滑化出力監視部１１２は周波数制御信号を電圧制御発振器１１３に対して出力する。図７の波形は理想的なLPFの出力であり、実際には図６のαで決まる影響度で伝送路上の遅延ゆらぎにより出力が変動する。但し、伝送路上の最大の遅延ゆらぎによる変動分より、平滑化出力監視部１１２の閾値（電圧制御発信器１１３への制御信号出力の判定をする閾値）を大きくとる事により、伝送路上の遅延ゆらぎの影響を無視してクロックずれの蓄積のみを監視することが可能である。
【００４３】
以上説明した手順を繰り返し実行することにより、受信側の電圧制御発振器１１３と送信側のパケット組立クロック１０４を平均的に同期させることができる。復号化部１０８の動作クロックを変調すると、厳密な意味では音声信号のピッチが変化する。しかし、電圧制御発振器１１３の周波数調整の間隔及び１回の調整幅を適切に選ぶことにより、一般使用時の影響を無視することができる。
【００４４】
以上の様な手順の概要をまとめると、図８のようになる。
【００４５】
すなわち、パケットを分解し、抽出した符号化データおよびタイムスタンプをゆらぎ吸収バッファに蓄積する（ステップ３００）。
【００４６】
呼の先頭パケットを基準とした、受信パケットの相対的な遅延ゆらぎ時間を算出する（ステップ３１０）。なお、基準パケットは、必ずしも先頭パケットに限定されるものではない。つまり、受信状況に応じて、後続のパケットを基準としてもよい。
【００４７】
そして、遅延ゆらぎ時間を入力として平滑化処理を行う（ステップ３２０）。そして、監視周期であり（ステップ３３０）、定常状態であり（ステップ３４０）、かつ、平滑化出力が所定のしきい値以上の変化量でもって増加、あるいは減少しているかを判定し（ステップ３５０）、該当する場合には、電圧制御発振器を制御して発振周波数を調整する（ステップ３６０）。
【００４８】
本発明は種々、変形・応用が可能である。
【００４９】
例えば、ゆらぎ時間演算部１１０で算出する遅延ゆらぎ時間を統計的に監視し、受信パケットの遅延ゆらぎの最大値の大小に応じて、平滑化部１１１の各パラメータを動的に変更することも可能である。
【００５０】
つまり、受信パケットの遅延ゆらぎが比較的小さい場合は、図６のような平滑化部１１１の場合はαの値をより大きくした方が、平滑化出力が定常状態となるまでの収束時間が短縮され、より早く送受信間のクロックずれの蓄積を検出することが可能となる。
【００５１】
従って、送受信間のクロックずれに起因する受信側で観測されるゆらぎ時間を小さく抑える事ができ、ゆらぎ吸収のための遅延時間を短縮する事ができる。逆に、受信パケットの遅延ゆらぎが比較的大きい場合は、図６のような平滑化部１１１の場合はαの値をより小さくした方が、伝送路上での遅延ゆらぎに対して平滑化出力の変動を小さく抑えることができる。
【００５２】
（実施の形態２）
図２は本発明のデータ受信再生装置（データ通信装置）の他の例の構成を示すブロック図である。
【００５３】
図２において、参照符号２００は本発明のデータ受信再生装置、２０１はマイクやスピーカーまたはカメラやモニタを接続してデータ受信再生装置２００と音声または映像信号を送受信する端末インタフェース部、２０２は端末インタフェース部２０１から受信した音声または映像信号をディジタル信号に変換して符号化する符号化部、２０３は符号化部２０２の動作クロックである符号化クロック、２０４は符号化部２０２から受信した音声または映像の符号化データをタイムスタンプ情報と共にパケット化するパケット組立部、２０５はパケット組立部２０４で使用するタイムスタンプ情報のためにパケット組立時刻を通知するパケット組立クロック、２０６はパケット組立部２０４で組み立てたパケットを伝送路へ送出し、伝送路から受信したパケットをパケット分解部２０７へ送出し、また、IP（Internet Protocol）ネットワーク等のパケットベースのネットワークに接続されている伝送路インタフェース部、２０７は伝送路インタフェース部２０６から受信したパケットを分解し、タイムスタンプと音声または映像の符号化データを抽出するパケット分解部、２０８はパケットの伝送遅延時間が変動して到着間隔がばらついても、連続的な再生をするためにパケット受信から再生開始までに遅延を付加するゆらぎ吸収バッファ、２０９はゆらぎ吸収バッファ２０８から読み出した音声または映像の符号化データを復号化し端末インタフェース部２０１へ送出する復号化部、２１０はゆらぎ吸収バッファ２０８内のタイムスタンプ値と読み出しカウンタ部２１４のカウンタ値とにより、ゆらぎ吸収バッファ内の符号化データの復号化部２０８への読み出しタイミングを制御する読み出しタイミング制御部、２１１はパケット分解部２０７から取得したタイムスタンプ値と読み出しカウンタ部２１４のカウンタ値から受信パケットの遅延ゆらぎ時間を導出するゆらぎ時間演算部、２１２はゆらぎ時間演算部２１１により導出した各受信パケットのゆらぎ時間を入力として、LPF（Low Pass Filter）等の平滑化処理を実行する平滑化部、２１３は所定時間毎に平滑化部２１２の出力を監視して、監視期間中の平滑化出力の増加または減少量に応じて読み出しカウンタ部２１４のカウンタ値を増減する平滑化出力監視部、２１４は読み出しタイミング制御部２１０及びゆらぎ時間演算部２１１へカウンタ値を供給する読み出しカウンタ部、２１５は復号化部２０９の動作クロックである復号化クロックである。
【００５４】
以下、本発明のデータ受信再生装置（データ通信装置）の動作について説明する。
【００５５】
符号化部２０２により符号化された音声または映像の符号化データは、パケット組立部２０４でパケットに組み立てられる。この際、音声または映像の符号化データと共にタイムスタンプ情報がパケットには含まれる。タイムスタンプはパケット組立クロック２０５により計時される１パケット内の先頭の音声または映像の符号化データのパケット組立部２０４への受信タイミングとして定義される。符号化クロック２０３とパケット組立クロック２０５は同一の源周波から分周して得たクロックであっても良い。
【００５６】
パケット組立クロック２０５の周波数としては、音声の場合は8KHz、MPEG等の映像の場合は90KHzといった値が用いられることが多い。
【００５７】
パケット組立部２０４で組み立てられたパケットは伝送路インタフェース部２０６からIPネットワーク等の伝送路を介して受信側へ送信される。伝送路上でのパケット毎の伝送遅延は必ずしも一定では無く、変動する。
【００５８】
伝送路インタフェース部２０６を介して受信したパケットはパケット分解部２０７にて分解され音声または映像の符号化データとタイムスタンプ情報が抽出される。抽出されたタイムスタンプ情報及び符号化データはゆらぎ吸収バッファ２０８に一時蓄積される。
【００５９】
読み出しタイミング制御部２１０では、呼の先頭パケットを受信した際に、そのタイムスタンプ値からデータ受信再生装置２００に予め設定されたゆらぎ吸収時間を差し引いた値を読み出しカウンタ部のカウンタ値としてセットする。
【００６０】
呼の先頭パケットは、ゆらぎ吸収バッファが空の状態でバッファを受信したことを検出することにより判定することが可能である。
【００６１】
読み出しカウンタ部２１４では、（呼の先頭パケットのタイムスタンプ値−ゆらぎ吸収時間）を初期値としてパケット組立クロック２０５と同一のレート（誤差を含む）でカウントアップする。このカウントアップ値がゆらぎ吸収バッファ２０８内に蓄積されたタイムスタンプと一致した場合は、そのタイムスタンプを持つ符号化データを復号化部２０９へ出力する。
【００６２】
以上説明した処理により、各パケットの受信から符号化データの復号化部２０９への出力までに、データ受信再生装置２００に予め設定されたゆらぎ吸収時間分の遅延を付加して伝送路上で受けた遅延ゆらぎを吸収する。
【００６３】
ゆらぎ時間演算部２１１では、呼の先頭パケットに対する各受信パケットの相対的な遅延ゆらぎを導出する。パケットの送受信タイミングの概念図を図３に示す。図３において、S0、S1、…、Sn-1、Snはパケットの組立時刻、即ち受信パケットのタイムスタンプである。
【００６４】
また、R0、R1、…、Rn-1、Rnは読み出しカウンタ部２１４により計時される各パケットの受信時のカウンタ値である。これらの値より、呼の先頭パケットに対するn番目の受信パケットの相対的な遅延ゆらぎ（PDVn）は以下の式により求まる。
【００６５】
PDVn＝（Sn−S0）−（Rn−R0）
ここで、PDVnは純粋な伝送路上での伝送遅延の変動のみでなく、送信側のパケ
ット組立クロック２０５の周波数と受信側の読み出しカウンタ部２１４のカウントアップの周波数の誤差の影響を受ける。
【００６６】
受信側で導出されるゆらぎ時間の概念図を図４及び図５に示す。図４に示すようにネットワーク上での遅延ゆらぎは、平均値に対してランダムに変動する。一方、送受信間のクロック精度のずれに起因するゆらぎは、時間経過に対して単調増加もしくは単調減少する。送信側のパケット組立クロック２０５に対して受信側の読み出しカウンタ部２１４が速い場合は、単調減少する。逆に、送信側のパケット組立クロック２０５に対して受信側の読み出しカウンタ部２１４が遅い場合は、単調増加する。
【００６７】
受信側のゆらぎ時間演算部２１１で導出される各受信パケットのゆらぎ時間は図４の２要因の和となり、図５のようになる。図５に示すように、送受信間のクロックのずれの影響により、受信側で観測される各パケットのゆらぎ時間の平均値は単調増加または単調減少する。
【００６８】
従って、パケットの受信/再生を長時間継続すると受信側で観測されるゆらぎ時間は、正負いずれかの方向にその絶対値を増大し続け、ゆらぎ時間がゆらぎ吸収バッファによるゆらぎの許容範囲を越えるとゆらぎ吸収バッファのオーバフローまたはアンダーフローを誘発し、音声または映像が途切れることとなる。
【００６９】
そこで、例えば図６に示すような平滑化部２１２にPDVnを入力することにより、平滑化部２１２の出力として図７のような信号を得る。
【００７０】
平滑化部２１２は、ネットワーク上の遅延ゆらぎのように比較的急峻な変化をする成分に対しては追従せず、送受信間のクロックずれに起因して受信側で観測されるゆらぎのように比較的緩やかな変化に対しては、αで決まる追従速度で追従していく。
【００７１】
平滑化部２１２は必ずしも図６のような構成である必要はなく、直流成分に近い極低周波のみを通過させるLPFであれば良い。
【００７２】
平滑化出力監視部２１３は所定周期毎に平滑化部２１２の出力を監視する。１監視周期での平滑化部２１２の出力の変化が、予め設定された閾値よりも大きい場合は、平滑化部２１２の出力が過渡状態であると判定する。過渡状態と判定中は、平滑化出力監視部２１３から読み出しカウンタ部２１４への制御は行わない。平滑化出力監視部２１３は平滑化出力が定常状態に遷移したと判定した直後の平滑化出力を保持しておく。平滑化出力監視部２１３は所定周期毎に平滑化部２１２の出力を監視し、その時の平滑化出力と保持してある定常状態の平滑化出力初期値との差分が予め設定された閾値（過渡状態を判定するための閾値とは異なる値）より大きい場合は、読み出しカウンタ部２１４のカウンタ値を増減する。平滑化出力監視部２１３に保持してある定常状態の平滑化出力初期値に対して、平滑化出力が大きくなる方向に変移している場合は、読み出しカウンタ部２１４のカウンタ値をｍカウント減ずる。平滑化出力監視部２１３に保持してある定常状態の平滑化出力初期値に対して、平滑化出力が小さくなる方向に変移している場合は、読み出しカウンタ部２１４のカウンタ値をｍカウント進める。
【００７３】
読み出しカウンタ部２１４のカウンタ値の補正値（ｍ）は単位時間あたりの平滑化出力の増減量（図７の定常状態における傾き）に応じて、予めデータ受信再生装置２００に設定された複数の値を使用する事も可能である。
【００７４】
図７の波形は理想的なLPFの出力であり、実際には図６のαで決まる影響度で伝送路上の遅延ゆらぎにより出力が変動する。但し、伝送路上の最大の遅延ゆらぎによる変動分より、平滑化出力監視部２１３の閾値（読み出しカウンタ部２１４へのカウンタ値調整の実行を判定する閾値）を大きくとることにより、伝送路上の遅延ゆらぎの影響を無視してクロックずれの蓄積のみを監視することが可能である。
【００７５】
以上説明した手順を繰り返し実行することにより、受信側の読み出しカウンタ部２１４と送信側のパケット組立クロック２０５を平均的に同期させることができる。
【００７６】
以上の様な手順の概要をまとめると、図９のようになる。
【００７７】
すなわち、パケットを分解し、抽出した符号化データおよびタイムスタンプをゆらぎ吸収バッファに蓄積する（ステップ４００）。
【００７８】
呼の先頭パケットを基準とした、受信パケットの相対的な遅延ゆらぎ時間を算出する（ステップ４１０）。なお、基準パケットは、必ずしも先頭パケットに限定されるものではない。つまり、受信状況に応じて、後続のパケットを基準としてもよい。
【００７９】
そして、遅延ゆらぎ時間を入力として平滑化処理を行う（ステップ４２０）。そして、監視周期であり（ステップ４３０）、定常状態であり（ステップ４４０）、かつ、平滑化出力が所定のしきい値以上の変化量でもって増加、あるいは減少しているかを判定し（ステップ４５０）、該当する場合には、読み出しカウンタ部のカウンタ値を増減する（ステップ４３６０）。
【００８０】
なお、実施の形態１の場合と同様に、ゆらぎ演算部２１１で算出する遅延ゆらぎ時間を統計的に監視し、受信パケットの遅延ゆらぎの大小に応じて、平滑化部２１２の各パラメータを動的に変更することも可能である。
【００８１】
受信パケットの遅延ゆらぎが比較的小さい場合は、図６のような平滑化部２１２の場合はαの値をより大きくした方が、平滑化出力が定常状態となるまでの収束時間が短縮され、より早く送受信間のクロックずれの蓄積を検出する事が可能となる。従って、送受信間のクロックずれに起因する受信側で観測されるゆらぎ時間を小さく抑える事ができ、ゆらぎ吸収のための遅延時間を短縮することができる。
【００８２】
逆に、受信パケットの遅延ゆらぎが比較的大きい場合は、図６のような平滑化部２１２の場合はαの値をより小さくした方が、伝送路上での遅延ゆらぎに対して平滑化出力の変動を小さく抑えることができる。
【００８３】
MPEG2のような映像符号化アルゴリズムでは符号化器/復号化器間での動作クロック同期方式が規定されている。但し、この方式は符号化器/復号化器間に符号化データの伝送遅延ゆらぎが無いことが前提となっている。
【００８４】
この様な符号化アルゴリズムを実装してデータ受信再生装置を実現する場合は、復号化器の動作クロックと符号化データのゆらぎ吸収バッファから復号化部への読み出しクロックとを独立にできる図２のような構成が望ましい。
【００８５】
また、図２のような構成では、電圧制御発振器を必要としないので、より簡易な構成で実現できる。
【００８６】
また、本発明の構成によれば、送受信間のクロックのずれの検出をバッファ容量の監視ではなく、タイムスタンプ等の時間情報の監視により行っているため、符号化器の符号化レートが変動したり、伝送路上でパケット損失が発生したこと等に起因する受信バッファ内のデータ量の変動に影響を受けず、きわめて正確に動作クロックを補正することができる。
【００８７】
【発明の効果】
以上説明したように、本発明によれば、パケット伝送遅延にゆらぎの発生するネットワーク環境においても、送受信端末間のクロックのずれの蓄積を検出することが可能となり、受信側バッファのオーバフローまたはアンダーフローを発生させずに、継続的に音声または映像信号の再生することができるという効果を得ることができる。
【図面の簡単な説明】
【図１】本発明データ受信再生装置（データ通信装置）の一例の構成を示すブロック図
【図２】本発明のデータ受信再生装置（データ通信装置）の他の例の構成を示すブロック図
【図３】パケットの送受信タイミングと遅延ゆらぎとの関係を説明するための図
【図４】受信側で観測されるパケットの遅延ゆらぎを、要因毎に説明するための図
【図５】受信側で観測されるパケットの遅延ゆらぎを説明するための図
【図６】本発明における平滑化部の具体的な構成例を示すブロック図
【図７】本発明における平滑化部の出力の一例を示す図
【図８】図１のデータ通信装置の動作手順の概要を示すフロー図
【図９】図２のデータ通信装置の動作手順の概要を示すフロー図
【符号の説明】
１０  通信相手のデータ通信装置
２０  インターネット等のネットワーク
３０  モニター
１００  データ通信装置
１０１  端末インタフェース部
１０２  符号化部
１０３  パケット組立部
１０４  パケット組立クロック発生部
１０５  伝送路インタフェース部
１０６  パケット分解部
１０７  ゆらぎ吸収バッファ
１０８  復号化部
１０９  読み出しタイミング制御部
１１０  ゆらぎ時間演算部
１１１  平滑化部
１１２  平滑化出力監視部
１１３  電圧制御発振器
１１４  符号化クロック発生部
１１５  分周部
【図１】
0003655249.tif 000002
【図２】
0003655249.tif 000003
【図３】
0003655249.tif 000004
【図４】
0003655249.tif 000005
【図５】
0003655249.tif 000006
【図６】
0003655249.tif 000007
【図７】
0003655249.tif 000008
【図８】
0003655249.tif 000009
【図９】
0003655249.tif 000010