(57)【特許請求の範囲】
【請求項１】
送信側サンプリング周波数ｆsの送信装置に通信網を介して接続された受信装置であって、
前記通信網を介し、ディジタルデータ及びパケット送信時間を含む第１及び第２パケットを前記送信装置から順次受信する受信手段と、
前記ディジタルデータを一時的に蓄積する受信バッファと、
受信側サンプリング周波数ｆrを生成する周波数生成手段と、
前記受信側サンプリング周波数ｆrに基づいて、受信するパケットのパケット受信時間を生成する時間生成手段と、
前記受信側サンプリング周波数ｆrに基づいて、前記受信バッファに蓄積されているディジタルデータを取り出し、前記受信側サンプリング周波数ｆrに従ってアナログデータに変換する変換手段と、
前記第１パケット及び前記第２パケットの各々についてのパケット送信時間及びパケット受信時間に基づいて、前記第１パケットを受信してから前記第２パケットを受信するまでのパケット受信間隔と前記第１パケットを送信してから前記第２パケットを送信するまでのパケット送信間隔との差を検出し、検出結果に基づいて両者の差が縮まるように前記受信側サンプリング周波数ｆrを補正する補正手段と、
を備える受信装置。
【請求項２】
前記周波数生成手段としてＶＣＯ(Voltage Control Oscillator)を用い、
前記補正手段は前記ＶＣＯへの印加電圧を調整することにより、前記受信側サンプリング周波数ｆrを補正する、請求項１に記載の受信装置。
【請求項３】
送信側サンプリング周波数ｆsの送信装置に通信網を介して接続された受信装置であって、
前記通信網を介し、ディジタルデータ、パケット送信時間及び通し番号を含むｍ個（ｍ≧２）のパケットを前記送信装置から受信する受信手段と、
前記ディジタルデータを一時的に蓄積する受信バッファと、
受信側サンプリング周波数ｆrを生成する周波数生成手段と、
前記受信側サンプリング周波数ｆrに基づいて、受信するパケットのパケット受信時間を生成する時間生成手段と、
前記受信側サンプリング周波数ｆrに基づいて、前記受信バッファに蓄積されているディジタルデータを取り出し、前記サンプリング周波数ｆrに従ってアナログデータに変換する変換手段と、
前記通し番号順に生成されたｎ個（ｎ≧２）のパケットで構成されるパケット群ごとに、最初のパケットＰ1及び最後のパケットＰnの各々についてのパケット送信時間とパケット受信時間とに基づいて、前記パケットＰ１を受信してから前記パケットＰｎを受信するまでのパケット受信間隔ΔＴrと前記パケットＰ１を送信してから前記パケットＰｎを送信するまでのパケット送信間隔ΔＴsとの差を検出し、以下の条件に基づいて印加されるＶＣＯ(Voltage Control Oscillator)への電圧値Ｖｃ（Ｖ）に基づいて前記受信側サンプリング周波数ｆrを補正する補正手段と、
を備える受信装置。
Ｖｃ（Ｖ）＝Ｖｃｐ＋Ｄ・Ｖmax／２Ｆ
ここで、Ｖｃｐは補正前の電圧値、ＶmaxはＶＣＯ制御電圧の上限、ＦはＶＣＯ制御電圧の振幅（＋方向及び−方向）、Ｄ＝Ａ・（ΔＴs−ΔＴr）／ΔＴr、ΔＴs＝ＳＴＳe−ＳＴＳ0、ΔＴr＝ＲＴＳe−ＲＴＳ0、Ａは変換係数。
【請求項４】
送信側サンプリング周波数ｆsの送信装置に通信網を介して接続された受信装置に用いられる受信再生プログラムであって、
前記通信網を介し、ディジタルデータ及びパケット送信時間を含む第１パケット及び第２パケットを前記送信装置から順次受信する受信手段、
前記ディジタルデータを受信バッファに一時的に蓄積する蓄積ステップ、
受信側サンプリング周波数ｆrを生成するための周波数生成ステップと、
前記受信側サンプリング周波数ｆrに基づいて、前記第１パケット及び前記第２パケットのパケット受信時間を生成するための時間生成手段、
前記受信側サンプリング周波数ｆrに基づいて、前記受信バッファに蓄積されているディジタルデータを取り出し、前記受信側サンプリング周波数ｆrに従ってアナログデータに変換する変換手段、及び
前記第１パケット及び前記第２パケットの各々についてパケット送信時間及びパケット受信時間に基づいて、前記第１パケットを受信してから前記第２パケットを受信するまでのパケット受信間隔と前記第１パケットを送信してから前記第２パケットを送信するまでのパケット送信間隔との差を検出し、検出結果に基づいて両者の差が縮まるように前記受信側サンプリング周波数ｆrを補正する補正手段、
としてコンピュータを機能させるための受信再生プログラム。
【請求項５】
放送システムであって、
音声入力手段と、
前記音声入力手段に接続され、入力された音声を送信側サンプリング周波数ｆsに基づいてサンプリングすることによりディジタル音声データに変換し、前記ディジタル音声データとパケット送信時間とを含む第１パケット及び第２パケットを順次伝送路に出力する音声送信手段と、
前記音声送信手段と前記伝送路を介して接続され、前記ディジタル音声データを受信側サンプリング周波数ｆrに基づいてアナログ音声データに変換する音声受信手段と、
前記音声受信手段に接続され、前記アナログ音声データを出力する音声出力手段とを含み、
前記音声受信手段は、
前記第１パケット及び第２パケットを順次受信するパケット受信手段と、
前記受信側サンプリング周波数ｆrに基づいて、前記第１パケット及び前記第２パケットそれぞれのパケット受信時間を生成する時間生成手段と、
前記第１パケット及び前記第２パケットの各々についてパケット送信時間及びパケット受信時間に基づいて、前記第１パケットを受信してから前記第２パケットを受信するまでのパケット受信間隔と前記第１パケットを送信してから前記第２パケットを送信するまでのパケット送信間隔との差を検出し、検出結果に基づいて両者の差が縮まるように前記受信側サンプリング周波数ｆrを補正する補正手段と、
を備えている放送システム。
【発明の詳細な説明】
【０００１】
【発明の属する技術分野】
本発明は、例えばビルの構内放送設備などに用いられるディジタルデータ通信システムに関する。
【０００２】
本発明において、パケット送信時間とは、送信側サンプリング周波数ｆsによるクロックに基づいて計測されたパケットの送信時間を言う。また、パケット受信時間とは、受信側サンプリング周波数ｆrによるクロックで計測されたパケットの受信時間を言う。
【０００３】
【従来の技術】
ＬＡＮなどのネットワーク上でのディジタルデータ通信システムでは、テキストや静止画像だけでなく、音声や動画像などのデータをパケット化して通信を行う。この通信システムで音声や動画像の通信を行う場合、受信側は、送信側におけるパケットの送信間隔Δｔと同じ時間間隔Δｔでパケットを受信し、連続したデータを出力することが要求される。しかし、ネットワークのトラフィックの状況によっては、パケットの伝送時間に揺らぎが生じる、衝突によりパケットが欠落したり順番通り到着しない、などの不具合が生じる。これらの不具合は、再生された音声や画像の品質の劣化原因となる。
【０００４】
音声や動画像をリアルタイムに伝送するディジタル通信及び再生方式の１つに、データの最後までの受信を待たずに再生する「ストリーミング再生方式」がある。ストリーミング再生方式では、送信装置側及び受信装置にそれぞれ送信バッファ及び受信バッファが設けられる。この方式における送信装置及び受信装置の処理は、次のようになる。
【０００５】
例えば音声通信の場合、送信装置に入力されたアナログ音声信号は、アナログ／ディジタル変換器（ＡＤＣ）によりディジタル音声データに変換され、送信バッファに蓄積される。通信システムによっては、ネットワーク回線の帯域を有効利用するために、ディジタル音声データをさらに符号化して圧縮音声符号化情報とする。送信バッファに蓄積されたディジタル音声データや圧縮音声符号化情報（以下、まとめてディジタル音声データという）は、パケットに組み立てられ、パケット単位でネットワークを介して受信装置に送信される。
【０００６】
受信装置は、パケットを受信して分解し、ディジタル音声データを受信バッファに蓄積する。受信バッファのデータ蓄積量が一定以上になると、ディジタル音声データが受信バッファから読み出され、ディジタル／アナログ変換器（ＤＡＣ）でアナログ音声データに変換され、出力される。通信システムによっては、受信バッファに蓄積された圧縮音声符号化情報を伸長し、ディジタル音声データを生成する復号化処理を行う。
【０００７】
また、前記ストリーミング再生方式に加え、ＴＣＰ／ＩＰに準拠するデータ通信システムにおいては、ＲＴＰ(Real-time Transport Protocol)が前記不具合を解決するために利用されている。ＲＴＰを用いる通信システムでは、パケットに時間情報やシーケンシャル番号を付加し、これらの情報に基づいてデータの再生を行う。前記時間情報には、送信装置でのパケット送信時間を示すタイムスタンプが含まれている。受信装置は、タイムスタンプ及びシーケンシャル番号を参照することにより、パケットを送信された順に再生することができる。
【０００８】
【発明が解決しようとする課題】
前記ストリーミング再生方式やＲＴＰを採用したデータ通信システムは、受信側で再生されるデータの品質向上にある程度の効果を奏しているものの、十分ではない。そのため、再生中に受信バッファのデータ蓄積量がゼロになってしまい、再生が停止する「アンダーフロー」が発生する場合がある。逆に、受信したパケットを受信バッファに吸収しきれない「オーバーフロー」が発生する場合もある。オーバーフローが生じると、受信したパケットは破棄されてしまう。アンダーフローが生じると音切れが生じ、オーバーフローが生じると音声データが不連続となりノイズの発生を招き、いずれも音声品質が劣化してしまう。
【０００９】
アンダーフローやオーバーフローを完全に取り除くことができない一要因として、送信側及び受信側でのサンプリング周波数の誤差が考えられる。例えば音声データ通信の場合、送信装置に入力されたアナログ音声データは、ＡＤＣにより一定のサンプリング周波数ｆsでサンプリングされ、アナログデータからディジタルデータに変換される。受信装置では、前記送信装置とは逆に、受信したデータがＤＡＣにより一定のサンプリング周波数ｆrでサンプリングされ、ディジタルデータからアナログデータに変換される。
【００１０】
送信装置のサンプリング周波数ｆsと受信装置のサンプリング周波数ｆrとは同一でなければならない。ところが、送信装置及び受信装置においてサンプリング周波数を発生させる発振器が設計上は同一であっても、実際に発生する周波数ｆsとｆrとにはわずかな誤差が存在する。この誤差のために、同一時間内でのデータ数が送信側と受信側とで異なってしまい、結果として受信バッファのアンダーフローやオーバーフローが生じてしまう。
【００１１】
本発明は、ＲＴＰを用いたディジタルデータ通信において、再生されるデータの品質を高める技術を提供することを目的とする。
【００１２】
【課題を解決するための手段】
前記課題を解決するために、本願第１発明は、送信側サンプリング周波数ｆsの送信装置に通信網を介して接続された受信装置であって、受信手段と、受信バッファと、周波数生成手段と、時間生成手段と、変換手段と、補正手段と、を備える受信装置を提供する。
【００１３】
受信手段は、前記通信網を介し、ディジタルデータ及びパケット送信時間を含む第１及び第２パケットを前記送信装置から順次受信する。受信バッファは、前記ディジタルデータを一時的に蓄積する。周波数生成手段は、受信側サンプリング周波数ｆrを生成する。時間生成手段は、前記受信側サンプリング周波数ｆrに基づいて、前記第１パケット及び前記第２パケットそれぞれのパケット受信時間を生成する。変換手段は、前記受信側サンプリング周波数ｆrに基づいて、前記受信バッファに蓄積されているディジタルデータを取り出し、前記受信側サンプリング周波数ｆrに従ってアナログデータに変換する。補正手段は、前記第１パケット及び前記第２パケットの各々についてのパケット送信時間及びパケット受信時間に基づいて、前記第１パケットを受信してから前記第２パケットを受信するまでのパケット受信間隔と前記第１パケットを送信してから前記第２パケットを送信するまでのパケット送信間隔との差を検出し、検出結果に基づいて両者の差が縮まるように前記受信側サンプリング周波数ｆrを補正する。
【００１４】
送信装置は、連続する２個のパケットＰ１、Ｐ２を、時刻T1、T2でサンプリングしてＡ／Ｄ変換する。両パケットのパケット送信時間の差ΔＴs＝T2−T1を、パケット送信間隔と呼ぶ。両パケットの受信装置は、時刻T3、T4で両パケットを受信し、Ｄ／Ａ変換する。両パケットのパケット受信時間の差ΔＴr＝T4−T3を、パケット受信間隔と呼ぶ。
【００１５】
仮にｆs＜ｆrとすれば、パケット送信間隔１／ｆsとパケット受信間隔１／ｆrとの差は、Ｎ＊（１／ｆs−１／ｆr）＝（ΔＴs−ΔＴr）となる（Ｎは正数であり、１パケット中に含まれるディジタルデータのサンプル数）。この差を元に、受信側サンプリング周波数ｆrを補正し、送信側サンプリング周波数ｆsとの誤差を減少させる。送信側及び受信側でのサンプリング周波数の誤差に起因するアンダーフローやオーバーフローを抑制し、再生されるデータの品質を高めることができる。
【００１６】
本願第２発明は、前記第１発明において、前記周波数生成手段としてＶＣＯ(Voltage Control Oscillator)を用い、前記補正手段は前記ＶＣＯへの印加電圧を調整することにより、前記受信側サンプリング周波数ｆrを補正する受信装置を提供する。
【００１７】
本願第３発明は、送信側サンプリング周波数ｆsの送信装置に通信網を介して接続された受信装置であって、受信手段と、受信バッファと、周波数生成手段と、時間生成手段と、変換手段と、補正手段と、を備える受信装置を提供する。
【００１８】
受信手段は、前記通信網を介し、ディジタルデータ、パケット送信時間及び通し番号を含むｍ個（ｍ≧２）のパケットを前記送信装置から受信する。受信バッファは、前記ディジタルデータを一時的に蓄積する。周波数生成手段は、受信側サンプリング周波数ｆrを生成する。時間生成手段は、前記受信側サンプリング周波数ｆrに基づいて、前記第１パケット及び前記第２パケットそれぞれのパケット受信時間を生成する。変換手段は、前記受信側サンプリング周波数ｆrに基づいて、前記受信バッファに蓄積されているディジタルデータを取り出し、前記受信側サンプリング周波数ｆrに従ってアナログデータに変換する。補正手段は、前記通し番号順に生成されたｎ個（ｎ≧２）のパケットで構成されるパケット群ごとに、最初のパケットＰ1及び最後のパケットＰnの各々についてのパケット送信時間とパケット受信時間とに基づいて、前記パケットＰ１を受信してから前記パケットＰｎを受信するまでのパケット受信間隔ΔＴrと前記パケットＰ１を送信してから前記パケットＰｎを送信するまでのパケット送信間隔ΔＴsとの差を検出し、以下の条件に基づいて印加されるＶＣＯ(Voltage Control Oscillator)への電圧値Ｖｃ（Ｖ）に基づいて前記受信側サンプリング周波数ｆrを補正する。
【００１９】
受信側及び送信側サンプリング周波数ｆr及びｆsとの差は実際には非常にわずかなので、例えば１００個毎に周波数ｆrを補正すると良い。例えば、１００個目のパケットＰ100及び２００個目のパケットＰ200が時刻T1及びT2でサンプリングされたとすると、両パケットのパケット送信間隔ΔＴs＝T2−T1となる。また、パケットＰ100及びパケットＰ200が時刻T3及びT4で受信されたとすると、両パケットのパケット受信間隔ΔＴr＝T4−T3となる。両者の差（ΔＴs−ΔＴr）を検出し、受信側サンプリング周波数ｆrを補正する。
【００２３】
本願第４発明は、送信側サンプリング周波数ｆsの送信装置に通信網を介して接続された受信装置に用いられる受信再生プログラムであって、前記通信網を介し、ディジタルデータ及びパケット送信時間を含む第１パケット及び第２パケットを前記送信装置から順次受信する受信手段、前記ディジタルデータを受信バッファに一時的に蓄積する蓄積ステップ、受信側サンプリング周波数ｆrを生成するための周波数生成ステップと、前記受信側サンプリング周波数ｆrに基づいて、前記第１パケット及び前記第２パケットのパケット受信時間を生成するための時間生成手段、前記受信側サンプリング周波数ｆrに基づいて、前記受信バッファに蓄積されているディジタルデータを取り出し、前記受信側サンプリング周波数ｆrに従ってアナログデータに変換する変換手段、及び前記第１パケット及び前記第２パケットの各々についてパケット送信時間及びパケット受信時間に基づいて、前記第１パケットを受信してから前記第２パケットを受信するまでのパケット受信間隔と前記第１パケットを送信してから前記第２パケットを送信するまでのパケット送信間隔との差を検出し、検出結果に基づいて両者の差が縮まるように前記受信側サンプリング周波数ｆrを補正する補正手段、としてコンピュータを機能させるための受信再生プログラムを提供する。
【００２４】
本願第９発明は、音声入力手段と、音声送信手段と、音声受信手段と、音声出力手段とを含む放送システムを提供する。音声入力手段とは、マイクロホンやCDプレーヤなどの音声再生機器などのアナログ音声を入力するための手段である。
【００２５】
音声送信手段は、前記音声入力手段に接続され、入力された音声を送信側サンプリング周波数ｆsに基づいてサンプリングすることによりディジタル音声データに変換し、前記ディジタル音声データとパケット送信時間とを含む第１パケット及び第２パケットを伝送路に出力する。音声受信手段は、前記音声送信手段と前記伝送路を介して接続され、前記ディジタル音声データを受信側サンプリング周波数ｆrに基づいてアナログ音声データに変換する。音声出力手段は、前記音声受信手段に接続され、前記アナログ音声データを出力する。
【００２６】
前記音声受信手段は、前記第１パケット及び第２パケットを順次受信するパケット受信手段と、前記受信側サンプリング周波数ｆrに基づいて、前記第１パケット及び前記第２パケットそれぞれのパケット受信時間を生成する時間生成手段と、前記第１パケット及び前記第２パケットの各々についてパケット送信時間及びパケット受信時間に基づいて、前記第１パケットを受信してから前記第２パケットを受信するまでのパケット受信間隔と前記第１パケットを送信してから前記第２パケットを送信するまでのパケット送信間隔との差を検出し、検出結果に基づいて両者の差が縮まるように前記受信側サンプリング周波数ｆrを補正する補正手段と、を備えている。
【００２８】
【発明の実施の形態】
＜発明の概要＞
本発明は、パケット送信時間をディジタルデータと共に送受信するディジタル通信システムの受信装置を提供する。本発明に係る受信装置は、送信装置とのサンプリング周波数の差を検出し、その差を減少させる。具体的には、受信装置は、通常の受信処理及び再生処理に加え、補正処理を実行する。
【００２９】
補正処理では、パケットＰ１及びＰn（ｎ≧２）のパケット送信間隔ΔＴsとパケット受信間隔ΔＴrとの差を検出する。検出された差から受信側サンプリング周波数ｆrを補正し、送信側サンプリング周波数ｆsとの差を減縮させる。
【００３０】
図１は、本発明の概要を示す概念説明図である。送信装置は、サンプリング周波数ｆsで動作し、時刻T1〜T2の間に、１００個のパケットＰ1〜Ｐ100を生成する。パケットＰ1とパケットＰ100とのパケット送信時間のずれΔＴd＝T2−T1を、パケット送信間隔という。
【００３１】
受信装置は、サンプリング周波数ｆrで動作し、パケットＰ1〜Ｐ100は時刻T3からT4の間で受信される。パケットＰ1とパケットＰ100との受信時間のずれΔＴｒ＝T4−T3を、パケット受信間隔という。
【００３２】
補正処理では、パケットＰ1及びＰ100のパケット送信間隔ΔＴｓとパケット受信間隔ΔＴｒとの差を検出し、この差が少なくなるように受信側サンプリング周波数ｆrを補正する。以上の処理を、１００個のパケット単位で繰り返す。
【００３３】
これにより、送信装置と受信装置とのサンプリング周波数の誤差による受信バッファのオーバーフローやアンダーフローを防止し、再生されるデータの品質を高めることができる。
【００３４】
＜第１実施形態例＞
次に、本発明の受信装置を適用した音声通信システムについて、実施形態例を挙げて詳細に説明する。
【００３５】
［構成］
図２は、第１実施形態例に係る音声通信システムの構成を示すブロック図である。音声通信システム１０は、送信装置１と受信装置２とがＬＡＮなどのネットワーク３により接続されて構成されている。なお、図１では、ネットワーク３に接続されている送信装置１及び受信装置２はそれぞれ１つしか示されていないが、通常は複数の送信装置及び受信装置がネットワーク３に接続される。また、送信装置１と受信装置２とは、一体に構成されていても良い。
【００３６】
送信装置１は、入力部１１、増幅器１２、ＡＤＣ１３、入力バッファ１４、符号化部１５、送信バッファ１６、送信部１７、ＶＣＯ１８及びＴＳカウンタ１９を有している。マイクなどの入力部１１に入力された音声は、アナログ音声信号に変換される。このアナログ音声信号は、増幅器１２により増幅され、ＶＣＯ１８が発生するサンプリング周波数ｆsに基づいてＡＤＣ１３によりディジタル音声データに変換され、入力バッファ１４に蓄積される。符号化部１５は、入力バッファ１４に蓄積されているディジタル音声データを圧縮音声符号化情報に符号化し、送信バッファ１６に蓄積する。なお、ＶＣＯ１８は、印加電圧により発生するサンプリング周波数ｆsを変化させることができる。
【００３７】
送信部１７は、送信バッファ１６のデータをパケットに組み立て、一定の時間間隔でネットワーク３に送出する。このパケットには、ＲＴＰヘッダが含まれている。ＲＴＰヘッダには、タイムスタンプ及びシーケンス番号が含まれている。タイムスタンプは、ＴＳカウンタ１９がサンプリング周波数ｆsに基づいて生成され、パケットの最初のサンプルを生成した時間を表す。シーケンス番号は、パケットの順番を示す。パケットの構成については後述する。なお、ディジタル音声データを符号化しない場合、符号化部１５を省略することができる。
【００３８】
受信装置２は、受信部２１、受信バッファ２２、復号化部２３、出力バッファ２４、ＤＡＣ２５、増幅部２６、出力部２７、ＶＣＯ２８、ＴＳカウンタ２９及び補正部２１０を有している。ネットワーク３に送出されたパケットは、受信部２１により受信され、分解されて受信バッファ２２に格納される。受信バッファ２２に蓄積された圧縮音声符号化情報は、復号化部２３により復号化及び伸長され、ディジタル音声データになる。このディジタル音声データは、出力バッファ２４に格納され、ＤＡＣ２５によりサンプリング周波数ｆrでアナログ音声信号に変換される。サンプリング周波数ｆrは、ＶＣＯ２８により生成される。アナログ音声信号は、増幅部２６により増幅され、スピーカなどの出力部２７から空気中に拡声される。送信装置１側の符号化部１５が省略される場合、受信装置２の復号化部２３を省略することができる。スピーカなどの出力部２７は、受信装置２と独立に設けてもよい。
【００３９】
ＴＳカウンタ２９は、サンプリング周波数ｆrに基づいてタイムスタンプを生成し、補正部２１０に渡す。後述するように、タイムスタンプの値そのものではなく値の差が補正処理に用いられるので、タイムスタンプの初期値は任意で良い。タイムスタンプフォーマットは前述と同様である。補正部２１０は、ｎ個（ｎは自然数）のパケットを受信するたびに、ｎ個のパケットの中で最初のパケットＰ1と最後のパケットＰnとのパケット送信間隔ΔＴsと、パケット受信間隔ΔＴrとの誤差を検出する。さらに、検出された誤差に基づいて、受信側サンプリング周波数ｆrを送信側サンプリング周波数ｆsに近づけるよう補正する。
【００４０】
［パケット構成］
図３に、送受信されるパケットの構成例を示す。パケットには、ＩＰヘッダ、ＵＤＰヘッダ、ＲＴＰヘッダ及び音声ディジタルデータが含まれている。ＩＰヘッダには、送信元のＩＰアドレス、送信先のＩＰアドレスなどが記述されている。ＵＤＰヘッダには、送信元ポート番号、送信先ポート番号、メッセージ長などが記述されている。なお、ＩＰパケットのデータ部にＵＤＰパケットではなくＴＣＰパケットを用いることもでき、その場合にはＵＤＰヘッダに代えてＴＣＰヘッダが用いられる。ＲＴＰヘッダには、下記の情報が含まれている。
【００４１】
ａ）バージョン
ｂ）パディング
ｃ）ＣＳＲＣ：ＣＳＲＣ識別子を何個含んでいるかを示す。
【００４２】
ｄ）ペイロードタイプ
ｅ）シーケンス番号：パケットの順番を示す。
ｆ）タイムスタンプ：パケットの先頭のデータをサンプリングした時間を表す。
【００４３】
ｇ）ＳＳＲＣ：送信装置の識別子
ｈ）ＣＳＲＣ：元の送信者の識別子リスト。
［処理］
次に、前記構成を有する受信装置２が行う処理の流れについて詳細に説明する。受信装置２は、受信処理、再生処理及び補正処理の３つの処理を独立に実行する。以下、これらの処理について、図面を参照しつつ具体的に説明する。
【００４４】
（１）受信処理
図４（ａ）は、受信装置２が行う受信処理の流れの一例を示すフローチャートである。受信装置２は、送信装置１から通信の開始を示すコマンドを受信することにより、以下の処理を開始する。
【００４５】
ステップＳ１：受信部２１は、通信の終了を示すコマンドを送信装置１から受信するまで、以下のステップＳ２〜Ｓ５までの処理を行う。通信の終了を示すコマンドを受信すると、処理を終了する。
【００４６】
ステップＳ２：受信部２１は、パケットを待機しており、パケットを受信すると、ステップＳ３に移行する。
ステップＳ３、Ｓ４、Ｓ５：受信部２１は、受信バッファ２２に新たなデータを書き込む空きメモリがあるか否かを判断する（Ｓ３）。空きメモリがあれば、受信したパケットを受信バッファ２２に格納する（Ｓ４）。空きメモリがない場合、ステップＳ５に移行し、受け取ったパケットを破棄する（Ｓ５）。
【００４７】
以上の処理により、受信バッファ２２に次々にデータを蓄積する。
（２）再生処理
図４（ｂ）は、受信装置２が行う再生処理の流れの一例を示すフローチャートである。受信装置２は、送信装置１から通信の開始を示すコマンドを受信することにより、以下の処理を開始する。
【００４８】
ステップＳ１１：復号化部２３は、再生開始条件が満たされたか否かを判断し、満たされた場合は音声の再生処理を行う。再生開始条件の一例としては、「受信バッファ２２に蓄積されるデータ量≧しきい値D1」が挙げられる。しきい値D1としては、ネットワーク負荷や再生速度を考慮した上で、通信システムに適合する経験値を求める。
【００４９】
ステップＳ１２：復号化部２３は、受信バッファ２２にデータがあるか否かを判断する。すなわち、復号化部２３は、受信バッファ２２のアンダーフローが起きるまで以下のステップＳ１３、Ｓ１４及びＳ１５を繰り返し、音声の再生を行う。受信バッファ２２のアンダーフローが発生すると、後述するステップＳ１６に移行する。
【００５０】
ステップＳ１３、Ｓ１４、Ｓ１５：復号化部２３は、受信バッファ２２から圧縮音声符号化情報を１ブロック分ずつ読み出す（Ｓ１３）。ついで、１ブロックに含まれているサンプリングデータを、順次伸長及び復号化し、出力バッファ２４に格納する（Ｓ１４）。出力バッファ２４に格納されたディジタル音声データは、ＤＡＣ２５によりサンプリング周波数ｆrでアナログ音声信号に変換され、増幅部２６により増幅されて出力部２７から空気中に拡声される。１ブロックに含まれるサンプリングデータを全てアナログデータに変換して出力するまで、再生を行う（Ｓ１５）。１ブロック分のデータの再生が終了すると、前記ステップＳ１２に戻る。
【００５１】
ステップＳ１６：受信バッファ２２にデータがなくなった場合、復号化部２３は、通信終了のコマンドを送信装置１から受信したか否かを判断する。“Ｙｅｓ”と判断すると処理を終了する。“Ｎｏ”と判断した場合は、すなわちアンダーフローが生じている場合は、ステップＳ１１に戻り再生開始条件が満足されるのを待機する。
【００５２】
この処理では、再生開始条件が満たされると再生処理を開始し、受信バッファに蓄積データがある限り再生処理を繰り返す。
（３）補正処理
図３は、補正処理の流れの一例を示すフローチャートである。この処理では、補正部２１０は、１００個のパケットからなるパケット群Ｇ1、Ｇ2、Ｇ3・・・を、シーケンス番号順に生成する。そして、パケット群を生成するたびに、パケット群の最初と最後のパケットのパケット送信間隔ΔＴs及びパケット受信間隔ΔＴrの差を求め、受信側サンプリング周波数ｆrを補正する。以下の処理においては、次の変数を用いる。
【００５３】
ＳＮe：パケット群の最後のパケットのシーケンシャル番号
ＳＮ0：パケット群の最初のパケットのシーケンシャル番号
ＳＮm：通信開始後ｍ番目のパケットＰm（ｍは自然数）のシーケンシャル番号
ＳＴＳe：パケット群の最後のパケットの送信側タイムスタンプ
ＳＴＳ0：パケット群の最初のパケットの送信側タイムスタンプ
ＳＴＳm：パケットＰmの送信側タイムスタンプ
ＲＴＳe：パケット群の最後のパケットの受信側タイムスタンプ
ＲＴＳ0：パケット群の最初のパケットの受信側タイムスタンプ
ＲＴＳm：パケットＰmの受信側タイムスタンプ
なお、説明を容易にするため、パケットは順次受信されると仮定する。受信装置２は、送信装置１から通信の開始を示すコマンドを受信することにより、以下の処理を開始する。
【００５４】
ステップＳ２１：補正部２１０は、通信の終了を示すコマンドを送信装置１から受信するまで、以下のステップＳ２２〜Ｓ２１２の処理を行う。通信の終了を示すコマンドを受信すると、処理を終了する。
【００５５】
ステップＳ２２：補正部２１０は、パケットを待機しており、パケットを受信すると、ステップＳ２３に移行する。
ステップＳ２３：補正部２１０は、受信したパケットＰmの受信側タイムスタンプＲＴＳmを、ＴＳカウンタ２９から取得する。
【００５６】
ステップＳ２４：補正部２１０は、受信したパケットＰmのシーケンシャル番号ＳＮmをＲＴＰヘッダから取得し、ＳＮe＝ＳＮmとする。通信開始時（ｍ＝１）であれば、ＳＮe＝ＳＮ1となる。
【００５７】
ステップＳ２５：補正部２１０は、受信したパケットＰmの送信側タイムスタンプＳＴＳmをＲＴＰヘッダから取得し、ＳＴＳe＝ＳＴＳmとする。通信開始時（ｍ＝１）であれば、ＳＴＳe＝ＳＴＳ1となる。
【００５８】
ステップＳ２６：補正部２１０は、通信開始後、最初のパケットの受信であるか否かを判断し、“Ｙｅｓ”と判断するとステップＳ２７に移行する。“Ｎｏ”と判断すると、後述するステップＳ２１０に移行する。
【００５９】
ステップＳ２７、Ｓ２８、Ｓ２９：通信を開始後最初のパケットＰ1を受信すると、補正部２１０は、ＳＮ0、ＳＴＳ0及びＲＴＳ0に初期値を設定する。すなわち、ＳＮ0＝ＳＮ1、ＳＴＳ0＝ＳＴＳ1、ＲＴＳ0＝ＲＴＳ1とする（Ｓ２７、Ｓ２８、Ｓ２９）。ここで、受信側タイムスタンプＲＴＳ1は、ＴＳカウンタ２９から取得可能である。その後、ステップＳ２１に戻り、通信終了まで次のパケットの受信を待機する。
【００６０】
ステップＳ２１０：補正部２１０は、通信開始後２番目以降のパケットを受信する毎に、シーケンシャル番号順に１００個のパケットからなる新たなパケット群Ｇn（ｎ＝１，２，３・・・）を生成できるか否かを判断する。新たなパケット群Ｇnを生成するたびにステップＳ２１１〜Ｓ２１２の処理を行う。新たなパケット群を生成できない場合、ステップＳ２１に戻り、次のパケットの受信を待機する。なお、１つのパケット群に含まれるパケット数は、パケット送信間隔ΔＴsとパケット受信間隔ΔＴrとの差を検出しやすい範囲で、適宜変更可能である。
【００６１】
ステップＳ２１１：補正部２１０は、ＶＣＯ２８に印加する電圧値Ｖｃを補正する。例えば、新たな電圧値Ｖｃは、以下のようにして算出することができる。
Ｖｃ（Ｖ）＝Ｖｃｐ＋Ｄ・Ｖmax／２Ｆ
ここで、Ｖｃｐ：補正前の電圧値
Ｖmax：ＶＣＯ制御電圧の上限
Ｆ：ＶＣＯ制御電圧の振幅（＋方向及び−方向）
Ｄ＝Ａ・（ΔＴs−ΔＴr）／ΔＴr
ΔＴs＝ＳＴＳe−ＳＴＳ0
ΔＴr＝ＲＴＳe−ＲＴＳ0
Ａ：変換係数
である。
【００６２】
ステップＳ２１２：補正部２１０は、前記ステップＳ２１１で算出した電圧値Ｖｃを、ＶＣＯ２８に出力する。これにより、新たな電圧Ｖｃに基づいて受信側サンプリング周波数ｆrが生成される。図６は、上記の式に基づいてサンプリング周波数の誤差が修正される関係を示す。図中上向き矢印は電圧や周波数の上昇を、下向き矢印は下降を示す。すなわち、ｆs＜ｆrであれば、Ｖｃを上昇させてｆrの値を減少させる。ｆs＞ｆrであれば、Ｖｃを減少させてｆrを上昇させる。
【００６３】
補正部２１０は、サンプリング周波数ｆrの補正後、ステップＳ２７〜Ｓ２９の処理を行う。すなわち、次のパケット群Ｇn+1のＳＮ0、ＳＴＳ0及びＲＴＳ0として、現在のパケット群ＧnのＳＮe、ＳＴＳe及びＲＴＳeを設定する。例えば、パケットＰ1〜Ｐ100からなるパケット群Ｇ１を生成した場合、次のパケット群Ｇ２について、ＳＮ0＝ＳＮ100、ＳＴＳ0＝ＳＴＳ100、ＲＴＳ0＝ＲＴＳ100とする。その後、前記ステップＳ２１に戻り、通信終了まで前述の処理を繰り返す。
【００６４】
以上の処理により、補正部２１０は、この例では１００個のパケットからなるパケット群をシーケンス番号順に生成する。そして、新たなパケット群を生成する毎に、最初と最後のパケットのパケット送信間隔とパケット受信間隔との誤差を検出し、受信側サンプリング周波数を補正する。
【００６５】
＜その他の実施形態例＞
（Ａ）前述の実施形態例では、音声通信システムについて説明したが、本発明に係る受信装置は、音声通信だけでなく、動画像通信にも好ましく用いられる。また、静止画像、テキストデータなどの受信装置としても好適である。
【００６６】
（Ｂ）コンピュータに前述の処理を実行させるプログラム及びそのプログラムを記録したコンピュータ読み取り可能な記録媒体は、本発明に含まれる。ここで記録媒体としては、コンピュータが読み書き可能なフロッピーディスク、ハードディスク、半導体メモリ、CD-ROM、ＤＶＤ、光磁気ディスク（ＭＯ）、その他のものが挙げられる。
【００６７】
【発明の効果】
本発明を用いれば、ストリーム再生方式を採用した通信システムの受信装置で再生される音声の品質を高めることを期待できる。
【図面の簡単な説明】
【図１】本発明の概念説明図。
【図２】第１実施形態例に係る通信システムの構成を示すブロック図。
【図３】第１実施形態例におけるパケット構成の一例を示す説明図。
【図４】第１実施形態例における受信処理及び再生処理。
（ａ）受信処理の流れを示すフローチャート。
（ｂ）再生処理の流れを示すフローチャート。
【図５】第１実施形態例における補正処理の流れを示すフローチャート。
【図６】サンプリング周波数ｆs、ｆrとＶＣＯへの印加電圧との関係を示す説明図。
【符号の説明】
１；送信装置
２；受信装置
３；ネットワーク
２２；受信バッファ
２８；ＶＣＯ（受信側）
２９；ＴＳカウンタ（受信側）
２１０；補正部
【図１】
0004623867.tif 000002
【図２】
0004623867.tif 000003
【図３】
0004623867.tif 000004
【図４】
0004623867.tif 000005
【図５】
0004623867.tif 000006
【図６】
0004623867.tif 000007