(57)【特許請求の範囲】
【請求項１】
通信網に接続され、前記通信網を介してディジタルデータを含むパケットを受信する受信手段と、
前記ディジタルデータを一時的に蓄積する受信バッファと、
前記受信バッファのデータ蓄積量の変化を監視し、前記変化に応じて再生速度倍率を決定する再生速度判断手段と、
前記受信バッファに蓄積されているディジタルデータを取り出し、再生速度倍率の決定に応じた再生速度制御処理を前記ディジタルデータに施す再生速度制御手段と、
前記再生速度制御処理後のディジタルデータを、出力するためのアナログデータに変換する変換手段と、を備え、
前記再生速度制御手段は、
再生速度倍率が１を超える場合、（確率）＝（（再生速度倍率）−１）／（再生速度倍率）で求められる確率に基づいて抽選を行い、当選した場合かつ前記受信バッファから取り出したディジタルデータと前回再生したディジタルデータとの差分が所定値以下の場合、前記受信バッファから取り出したディジタルデータを破棄し、
再生速度倍率が１より低い場合、（確率）＝（１−（再生速度倍率））／（再生速度倍率）で求められる確率に基づいて抽選を行い、当選した場合、前記受信バッファから取り出したディジタルデータと前回再生したディジタルデータとに基づいてサンプルデータを生成し、生成したサンプルデータを前記受信バッファから取り出したディジタルデータの前に挿入する、
受信装置。
【請求項２】
通信網に接続され、前記通信網を介してディジタルデータを含むパケットを受信する受信ステップと、
前記ディジタルデータを受信バッファに一時的に蓄積する蓄積ステップと、
前記受信バッファのデータ蓄積量の変化を監視し、前記変化に応じて再生速度倍率を決定する再生速度判断ステップと、
前記受信バッファに蓄積されているディジタルデータを取り出し、再生速度倍率の決定に応じた再生速度制御処理を前記ディジタルデータに施す再生速度制御ステップと、
前記再生速度制御処理後のディジタルデータを、出力するためのアナログデータに変換する変換ステップと、を含み、
前記再生速度制御ステップでは、
再生速度倍率が１を超える場合、（確率）＝（（再生速度倍率）−１）／（再生速度倍率）で求められる確率に基づいて抽選を行い、当選した場合かつ前記受信バッファから取り出したディジタルデータと前回再生したディジタルデータとの差分が所定値以下の場合、前記受信バッファから取り出したディジタルデータを破棄し、
再生速度倍率が１より低い場合、（確率）＝（１−（再生速度倍率））／（再生速度倍率）で求められる確率に基づいて抽選を行い、当選した場合、前記受信バッファから取り出したディジタルデータと前回再生したディジタルデータとに基づいてサンプルデータを生成し、生成したサンプルデータを前記受信バッファから取り出したディジタルデータの前に挿入する、
受信再生方法。
【請求項３】
通信網に接続され、前記通信網を介してディジタルデータを含むパケットを受信する受信ステップと、
前記ディジタルデータを受信バッファに一時的に蓄積する蓄積ステップと、
前記受信バッファのデータ蓄積量の変化を監視し、前記変化に応じて再生速度倍率を決定する再生速度判断ステップと、
前記受信バッファに蓄積されているディジタルデータを取り出し、再生速度倍率の決定に応じた再生速度制御処理を、前記記憶ステップで記憶された再生速度制御処理から読み出して前記ディジタルデータに施す再生速度制御ステップと、
前記再生速度制御処理後のディジタルデータを、アナログデータに変換する変換ステップと、をコンピュータに実行させるための受信再生プログラムであって、
前記再生速度制御ステップでは、
再生速度倍率が１を超える場合、（確率）＝（（再生速度倍率）−１）／（再生速度倍率）で求められる確率に基づいて抽選を行い、当選した場合かつ前記受信バッファから取り出したディジタルデータと前回再生したディジタルデータとの差分が所定値以下の場合、前記受信バッファから取り出したディジタルデータを破棄し、
再生速度倍率が１より低い場合、（確率）＝（１−（再生速度倍率））／（再生速度倍率）で求められる確率に基づいて抽選を行い、当選した場合、前記受信バッファから取り出したディジタルデータと前回再生したディジタルデータとに基づいてサンプルデータを生成し、生成したサンプルデータを前記受信バッファから取り出したディジタルデータの前に挿入する、
受信再生プログラム。
【発明の詳細な説明】
【０００１】
【発明の属する技術分野】
本発明は、例えばビルの構内放送設備などに用いられるディジタルデータ通信システムに関する。
【０００２】
【従来の技術】
ＬＡＮなどのネットワーク上でのディジタルデータ通信システムでは、音声や画像、テキストなどのデータをパケット化して通信を行う。この通信システムで音声や動画像の通信を行う場合、送信側におけるパケットの送信間隔と同じ間隔で、受信側においてパケットを受信し、連続したデータを出力することが要求される。しかし、ネットワークのトラフィックの状況によっては、パケットの伝送時間に揺らぎが生じたりパケットが欠落したりして、再生された音声や画像の品質が劣化する原因となる。
【０００３】
音声や動画像をリアルタイムに伝送するディジタル通信及び再生方式の１つに、データの最後までの受信を待たずに再生する「ストリーミング再生方式」がある。ストリーミング再生方式では、送信装置側及び受信装置にそれぞれ送信バッファ及び受信バッファが設けられる。この方式における送信装置及び受信装置の処理は、次のようになる。
【０００４】
例えば音声通信の場合、送信装置に入力されたアナログ音声信号は、アナログ／ディジタル変換器（ＡＤＣ）によりディジタル音声データに変換され、送信バッファに蓄積される。通信システムによっては、ネットワーク回線の帯域を有効利用するために、ディジタル音声データをさらに符号化して圧縮音声符号化情報とする。送信バッファに蓄積されたディジタル音声データや圧縮音声符号化情報（以下、まとめてディジタル音声データという）は、パケットに組み立てられ、パケット単位でネットワークを介して受信装置に送信される。
【０００５】
受信装置は、パケットを受信して分解し、ディジタル音声データを受信バッファに蓄積する。受信バッファのデータ蓄積量が一定以上になると、ディジタル音声データが受信バッファから読み出され、ディジタル／アナログ変換器（ＤＡＣ）でアナログ音声データに変換され、出力される。通信システムによっては、受信バッファに蓄積された圧縮音声符号化情報を伸長し、ディジタル音声データを生成する復号化処理を行う。
【０００６】
【発明が解決しようとする課題】
上述のストリーミング再生方式における送信バッファや受信バッファは、パケットの伝送時間の揺らぎを吸収する上である程度の効果を奏しているものの、十分ではない。
例えば、パケットの遅延により、再生中に受信バッファのデータ蓄積量がゼロになってしまい、再生が停止する場合がある。これを受信バッファの「アンダーフロー」という。逆に、想定した受信間隔よりも短時間でパケットを受信し、受信バッファの記憶量をオーバーする場合がある。これを受信バッファの「オーバーフロー」という。この場合、一般的には受信バッファで吸収できないパケットは破棄されてしまう。オーバーフローが生じると音声データが不連続となり、ノイズの発生を招き、音声品質が劣化してしまう。
【０００７】
図１０は、パケットの伝送時間の揺らぎにより、受信バッファにアンダーフロー及びオーバーフローが発生する様子を示している。受信バッファは、４つのパケットを蓄積可能である。送信装置は、一定間隔でパケットＰ１，Ｐ２，Ｐ３，Ｐ４，Ｐ５，Ｐ６・・・を送出する。受信バッファにデータが残っている状態で、受信装置がパケットＰ１を受信する。その後、想定時間よりも短い時間内にパケットＰ２，Ｐ３，Ｐ４を受信すると、再生速度が追いつかないため、パケットＰ４を受信バッファに蓄積した時点T1でオーバーフローが発生する。しかし、パケットＰ４を受信後、次のパケットＰ５が遅延したため、再生中に受信バッファが空になり、時刻T2でアンダーフローが発生する。
【０００８】
本発明は、ディジタルデータ通信に用いられるストリーミング再生方式において、再生されるデータの品質を高める技術を提供することを目的とする。
【０００９】
【課題を解決するための手段】
前記課題を解決するために、本願第１発明は、受信手段と、受信バッファと、再生速度判断手段と、再生速度制御手段と、変換手段と、を備える受信装置を提供する。
受信手段は、通信網に接続され、前記通信網を介してディジタル音声データを含むパケットを受信する。受信バッファは、前記ディジタル音声データを一時的に蓄積する。再生速度判断手段は、前記受信バッファのデータ蓄積量の変化を監視し、前記変化に応じて再生速度倍率を決定する。再生速度制御手段は、前記受信バッファに蓄積されているディジタル音声データを取り出し、再生速度倍率の決定に応じた再生速度制御処理を前記ディジタル音声データに施す。変換手段は、前記再生速度制御処理後のディジタル音声データを、出力するためのアナログデータに変換する。前記再生速度制御手段は、再生速度倍率が１を超える場合、（確率）＝（（再生速度倍率）−１）／（再生速度倍率）で求められる確率に基づいて抽選を行い、当選した場合かつ前記受信バッファから取り出したディジタルデータと前回再生したディジタルデータとの差分が所定値以下の場合、前記受信バッファから取り出したディジタルデータを破棄する。また、前記再生速度制御手段は、再生速度倍率が１より低い場合、（確率）＝（１−（再生速度倍率））／（再生速度倍率）で求められる確率に基づいて抽選を行い、当選した場合、前記受信バッファから取り出したディジタルデータと前回再生したディジタルデータとに基づいてサンプルデータを生成し、生成したサンプルデータを前記受信バッファから取り出したディジタルデータの前に挿入する。
【００１０】
再生速度制御処理とは、具体的には次のような処理である。再生速度倍率が２倍の場合、ディジタル音声データを間引き、ディジタル音声データに含まれるサンプルデータの量を１／２にして再生する。再生速度倍率が０．５倍の場合、サンプルデータを作成して挿入子、サンプルデータの量を２倍にして再生する。再生速度倍率が１であれば、受信バッファから読み出すディジタルデータ中のサンプルデータを、そのまま再生する。
【００１１】
再生速度判断手段は、例えば受信バッファのデータ量が変化する度に、変化前のデータ量と変化後のデータ量とを比較し、いずれかの再生速度倍率を選択する。受信バッファのデータ量が増加している場合には再生速度倍率を増加させ、受信バッファのデータ量が減少している場合には再生速度倍率を減少させることにより、受信バッファのオーバーフローやアンダーフローを防ぐことができる。
【００１２】
前記第１発明において、前記ディジタルデータがディジタル音声データである受信装置を提供する。この装置において、前記再生速度制御手段は、前記取り出したディジタル音声データの音量が所定値を超えているか否かをさらに判断し、超えていない場合、かつ再生速度倍率が１を超える場合、かつ前記受信バッファから取り出したディジタル音声データと前回再生したディジタル音声データとの差分が所定値以下の場合、前記受信バッファから取り出したディジタル音声データを破棄するとしてもよい。
音声データの音量が小さい場合に再生速度の調整を行うことにより、データの削除や追加による音の不自然さを聴覚的に目立たなくすることができる。
【００１３】
本願発明は、以下のステップを含む受信再生方法を提供する。
（Ａ）通信網に接続され、前記通信網を介してディジタルデータを含むパケットを受信する受信ステップ、
（Ｂ）前記ディジタルデータを受信バッファに一時的に蓄積する蓄積ステップ、
（Ｃ）前記受信バッファのデータ蓄積量の変化を監視し、前記変化に応じて再生速度倍率を決定する再生速度判断ステップ、
（Ｄ）前記受信バッファに蓄積されているディジタルデータを取り出し、再生速度倍率の決定に応じた再生速度制御処理を前記ディジタルデータに施す再生速度制御ステップ、
（Ｅ）前記再生速度制御処理後のディジタルデータを、出力するためのアナログデータに変換する変換ステップ。
【００１４】
この方法において、前記再生速度制御ステップでは、再生速度倍率が１を超える場合、（確率）＝（（再生速度倍率）−１）／（再生速度倍率）で求められる確率に基づいて抽選を行い、当選した場合かつ前記受信バッファから取り出したディジタルデータと前回再生したディジタルデータとの差分が所定値以下の場合、前記受信バッファから取り出したディジタルデータを破棄する。また前記再生速度制御ステップでは、再生速度倍率が１より低い場合、（確率）＝（１−（再生速度倍率））／（再生速度倍率）で求められる確率に基づいて抽選を行い、当選した場合、前記受信バッファから取り出したディジタルデータと前回再生したディジタルデータとに基づいてサンプルデータを生成し、生成したサンプルデータを前記受信バッファから取り出したディジタルデータの前に挿入する。
【００１５】
本願発明は、上記（Ａ）〜（Ｇ）のステップをコンピュータに実行させるための受信再生プログラムを提供する。また、このプログラムを記録したコンピュータ読み取り可能な記録媒体も本願発明に含まれる。
【００１６】
【発明の実施の形態】
＜発明の概要＞
本発明は、ストリーミング再生方式を適用したディジタル通信システムに用いられる受信装置を提供する。本発明に係る受信装置は、受信バッファのデータ蓄積量の変化に応じ、データの再生速度に緩急をつける。具体的には、受信装置は、通常の受信処理及び再生処理に加え、再生速度決定処理及び再生速度制御処理を実行する。
【００１７】
再生速度決定処理では、受信バッファのデータ蓄積量が変化する度に、変化に応じた再生速度を決定する。具体的には、データ量が増えていれば再生速度を増加させる。データ量が減少していれば再生速度を減少させる。データ量に変化がなければ再生速度は通常のままとする。
再生速度制御処理では、決定された再生速度に従い、再生速度の制御を行う。再生速度が高い場合にはデータを間引きして再生するデータ量を減らし、再生速度が低い場合は新たなデータを作成してデータ量を増やす。ただし、再生速度の制御は、音声データであれば音量が小さい場合にのみ行い、再生時のノイズや音切れを目立たなくする。動画像データであれば映像の時間的変化が小さい場合にのみ、再生速度の制御を行う。
【００１８】
これにより、ストリーミング再生方式における受信バッファのオーバーフローやアンダーフローを防止し、再生されるデータの品質を高めることができる。
＜第１実施形態例＞
次に、本発明の受信装置を適用した音声通信システムについて、実施形態例を挙げて詳細に説明する。
【００１９】
［構成］
図１は、第１実施形態例に係る通信システムの構成を示すブロック図である。通信システム１０は、送信装置１と受信装置２とがＬＡＮなどのネットワーク３により接続されて構成されている。送信装置１には、マイク、プレーヤ、音声メモリ装置などの入力部１１と、増幅器１２とが接続されている。受信装置２には、増幅部２６と、スピーカなどの出力部２７とが接続されている。なお、図１では、ネットワーク３に接続されている送信装置１及び受信装置２はそれぞれ１つしか示されていないが、通常は複数の送信装置及び受信装置がネットワーク３に接続される。また、送信装置１と受信装置２とは、一体に構成されていても良い。
【００２０】
送信装置１は、ＡＤＣ１３、入力バッファ１４、符号化部１５、送信バッファ１６及び送信部１７を有している。入力部１１に入力された音声は、入力部１１によりアナログ音声信号に変換される。このアナログ音声信号は、増幅器１２により増幅され、送信装置１に入力される。入力されたアナログ音声信号は、ＡＤＣ１３によりディジタル音声データに変換され、入力バッファ１４に蓄積される。符号化部１５は、入力バッファ１４に蓄積されているディジタル音声データを圧縮音声符号化情報に符号化し、送信バッファ１６に蓄積する。送信部１７は、送信バッファ１６のデータをパケットに組み立て、一定の時間間隔でネットワーク３に送出する。なお、ディジタル音声データを符号化しない場合、符号化部１５を省略することができる。また、入力部１１や増幅器１２を、送信装置１に内蔵させても良い。
【００２１】
受信装置２は、受信部２１、受信バッファ２２、復号化部２３、出力バッファ２４、ＤＡＣ２５、再生速度判断部２８、速度バッファ２９及び再生速度制御部２１０を有している。ネットワーク３に送出されたパケットは、受信部２１により受信され、分解されて受信バッファ２２に格納される。本例では、受信バッファ２２は、４パケット分の圧縮音声符号化情報を４ブロックまで蓄積可能である。１ブロックは１パケットに含まれるディジタルデータ部分に相当する。受信バッファ２２に蓄積された圧縮音声符号化情報は、復号化部２３によりディジタル音声データに伸長される。このディジタル音声データは、出力バッファ２５に格納され、ＤＡＣ２５によりアナログ音声信号に変換されて出力される。出力されたアナログ音声信号は、増幅部２６により増幅され、出力部２７から空気中に拡声される。送信装置１側の符号化部１５が省略される場合、受信装置２の復号化部２３を省略することができる。スピーカなどの出力部２７や増幅器２６を、受信装置２に内蔵させてもよい。
【００２２】
再生速度判断部２８は前記再生速度決定処理を行う。すなわち、受信バッファ２２内のデータ蓄積量の変化を監視し、変化に応じた再生速度を決定する。本実施形態例では、再生速度を再生速度倍率で表し、再生速度倍率を０．５〜２倍の範囲で決定する。さらに、再生速度判断部２８は、決定した再生速度倍率を、速度バッファ２９に書き込む。再生速度決定処理の詳細については後述する。
【００２３】
再生速度制御部２１０は、速度バッファ２９に書き込まれている再生速度倍率に応じ、前記再生速度制御処理を実行する。再生速度制御処理の詳細については後述する。
［処理］
次に、前記構成を有する受信装置２が行う処理の流れについて詳細に説明する。受信装置２が行う処理は、受信処理と再生処理とに大別される。この２つの処理の中で、再生速度決定処理及び再生速度制御処理が起動される。以下、これらの処理について、図面を参照しつつ具体的に説明する。
【００２４】
（１）受信処理
図２（ａ）は、受信装置２が行う受信処理の流れの一例を示すフローチャートである。受信装置２は、後述する再生処理と受信処理とを独立に実行する。
ステップＳ１：受信部２１は、パケットを待機しており、パケットを受信すると、ステップＳ２に移行する。
【００２５】
ステップＳ２、Ｓ３、Ｓ４：受信部２１は、受信バッファ２２に新たなデータを書き込む空きメモリがあるか否かを判断する（Ｓ２）。空きメモリがあれば、パケットを受信バッファ２２に格納する（Ｓ３）。空きメモリがない場合、ステップＳ４に移行し、受け取ったパケットを破棄する（Ｓ４）。
ステップＳ５：受信部２１は再生速度決定処理を起動させる。この処理では、再生速度判断部２８が、受信バッファ２２に新たなデータが格納される前後でのデータ蓄積量の変化を基に、再生速度倍率を決定する。決定された再生速度倍率は速度バッファ２９に書き込まれる。
【００２６】
以上の処理により、受信バッファ２２にデータを蓄積する度に、再生速度倍率を決定する。
（２）再生処理
図２（ｂ）は、受信装置２が行う再生処理の流れの一例を示すフローチャートである。
【００２７】
ステップＳ１１：復号化部２３は、再生開始条件が満たされたか否かを判断し、満たされた場合は音声の再生処理を行う。ここで、再生開始条件とは、「受信バッファ２２に蓄積されるデータ量≧しきい値D1」である。しきい値D1は、実使用で想定されるネットワーク負荷や許容される再生開始までの遅延時間を考慮した上で、通信システムに適合する値を実験的に求めることにより定められる。
【００２８】
ステップＳ１２：復号化部２３は、後述する再生速度制御処理を起動させる。この処理では、再生速度制御部２１０が、速度バッファ２９に記憶されている再生速度倍率に従い、受信バッファ２２に蓄積されている圧縮音声符号化情報から音声を再生出力する。
（３）再生速度決定処理
図３は、再生速度決定処理の流れの一例を示すフローチャートである。この処理では、再生速度判断部２８は、受信バッファ２２のデータ蓄積量の変化の前後から、再生速度倍率を決定する。受信バッファ２２のデータ量が変化した場合、すなわちデータが格納された場合（前記受信処理Ｓ５）またはデータが読み出された場合（後述する再生速度制御処理Ｓ１２９）、以下の処理が開始される。
【００２９】
ステップＳ１０１：再生速度判断部２８は、変化後のデータ蓄積量を受信バッファ２２から読み取る（Ｓ１０１）。また、変化前のデータ蓄積量を、データ量バッファ（図示せず）から読み出す（Ｓ１０１）。このデータ量バッファは、変化前のデータ蓄積量を一時的に格納するためのメモリである。
ステップＳ１０２、Ｓ１０３：ついで、再生速度判断部２８は、変化の前後におけるデータ蓄積量を比較する（Ｓ１０２、Ｓ１０３）。
【００３０】
ステップＳ１０４、Ｓ１０５：再生速度判断部２８は、データ蓄積量が増加している場合（Ｓ１０２）、再生速度倍率を一定量増加させる（Ｓ１０３）。逆に、データ蓄積量が減少した場合（Ｓ１０３）、再生速度倍率を一定量減少させる（Ｓ１０５）。データの蓄積量が変化していない場合は、再生速度倍率をそのままにしておく。再生速度倍率の上限は２倍とし、下限は０．５倍とする。この範囲であれば、再生された音声が聴覚上聞きやすいからである。再生速度倍率の増減幅は、受信バッファ２２のアンダーフローやオーバーフローを防止可能な値を実験的に求めることが好ましい。
【００３１】
ステップＳ１０６：再生速度判断部２８は、変化後のデータ蓄積量を、前記データ量バッファに格納する。
以上の処理により、再生速度判断部２８は、受信バッファ２２のデータ蓄積量の増加または減少に応じ、再生速度を変化させる。
（４）再生速度制御処理
図４は、再生速度制御処理の流れの一例を示すフローチャートである。この処理では、再生速度倍率に従った再生速度で音声を再生する。前記再生処理において再生開始条件が満たされた場合、以下の処理が開始される。
【００３２】
ステップＳ１１１：再生速度制御部２１０は、再生速度倍率を“１”にリセットする。本実施形態例では、再生中か否かに関わらず再生速度決定処理が行われる。そのため、受信バッファ２２のデータ蓄積量が少なくて再生中断中にデータ蓄積量が増加する一方となると、データ蓄積量に比して再生速度倍率が高くなり過ぎる場合があるためである。
【００３３】
ステップＳ１１２：復号化部２３は、受信バッファ２２のデータ蓄積量がゼロになるまで以下の処理による音声の再生を行う。ゼロになると本処理を終了する。その後、再び再生開始条件が満たされるまで再生の開始を待機する（前記Ｓ１１）。
ステップＳ１１３：まず、復号化部２３は、受信バッファ２２から再生するためのブロックを１つ読み出す。以下、このブロックを現ブロックと呼ぶ。復号化部２３は、現ブロック中の圧縮音声符号化情報を伸長してディジタル音声データとし、これを再生速度制御部２１０に渡す。１つのブロックから得られるディジタル音声データには、アナログ音声信号をサンプリングして得られる複数の音声サンプルデータが含まれている。ディジタル音声データを圧縮音声符号化しない通信システムにおいては、再生速度制御部２１０は、１ブロック分のディジタル音声データを、受信バッファ２２から読み出す。以下、ステップＳ１１４〜１２６では、受信バッファ２２から読み出した現ブロックの再生を行う。
【００３４】
ステップＳ１１４：再生速度制御部２１０は、現ブロックの直前のブロックの音量成分値を音量バッファ（図示せず）から読み出し、これがしきい値Ｖを超えていないか否かを判断する（Ｓ１１４）。この音量バッファとは、直前のブロックの音量成分値を一時的に記憶するためのメモリ領域である。しきい値Ｖは、再生する音声の種類や再生すべき音声以外の雑音音量成分などを考慮した値が設定される。
【００３５】
ステップＳ１１５：再生速度制御部２１０は、音量成分値の差がしきい値Ｖを超えている場合、現ブロックをそのまま再生する。すなわち、現ブロックから得られたディジタル音声データのサンプルデータをそのまま出力バッファ２４に格納する。出力バッファ２４に格納されたディジタルデータは、アナログ信号に変換され、出力される。音量が大きいため、ディジタルデータの破棄や挿入を行わずにそのまま再生するのである。
【００３６】
ステップＳ１１６：再生速度制御部２１０は、前記音量成分値がしきい値Ｖを超えない場合、ステップＳ１１６〜Ｓ１２５において再生速度の制御を行う。まず、再生速度制御部２１０は、現ブロックに含まれるサンプルデータから１つのサンプルデータを順次抽出する。抽出したサンプルデータを現サンプルデータという。
【００３７】
ステップＳ１１７、Ｓ１１８：再生速度制御部２１０は、速度バッファ２９を参照し、再生速度倍率を読み出す。再生速度制御部２１０は、再生速度倍率が１を超えているか否かを判断し、再生速度倍率が１を超えている場合（Ｓ１１７）、次式で表される確率で抽選を行う（Ｓ１１８）。当選した場合はステップＳ１１９へ移行する。落選した場合は後述するステップＳ１２４へ移行し、現サンプルデータを再生する。
【００３８】
確率＝（倍率―１）／倍率
ステップＳ１１９、Ｓ１２０：再生速度制御部２１０は、サンプルバッファ（図示せず）から直前のサンプルデータを読み出す。このサンプルバッファは、直前のサンプルデータを記憶するためのメモリ領域である。再生速度制御部２１０は、現サンプルデータと直前のサンプルデータとの差がしきい値Ｓを超えていないか否かを判断する（Ｓ１１９）。サンプルデータの差がしきい値Ｓを超えていなければ、現サンプルデータを破棄する（Ｓ１２０）。これにより再生速度が増加する。連続するサンプルデータの差が小さいので、サンプルデータを破棄しても再生された音声の品質に及ぼす影響が小さいと考えられるからである。逆に、サンプルデータの差がしきい値Ｓ以上の場合、現サンプルデータを破棄することなく出力バッファ２４に格納し、再生させる（後述するステップＳ１２４）。
【００３９】
ステップＳ１２１、Ｓ１２２：再生速度倍率が１より小さい場合（Ｓ１２１）、再生速度制御部２１０は下式で示される確率で抽選を行う（Ｓ１２２）。当選した場合はステップＳ１２３へ移行し、落選した場合はステップＳ１２４へ移行して現サンプルデータを再生する。
確率＝（１―倍率）／倍率
ステップＳ１２３：前記抽選に当選した場合、再生速度制御部２１０は、現サンプルデータと直前サンプルデータとに基づいて新たなサンプルデータを作成し、現サンプルデータの前に挿入する。新たなサンプルデータは、現サンプルデータと直前サンプルデータとの平均値となるよう作成される。
【００４０】
ステップＳ１２４：再生速度制御部２１０は、ステップＳ１１８またはＳ１２２の抽選で落選した場合、現サンプルデータを出力バッファ２４に格納し、これを再生させる。ステップＳ１２３で新たなサンプルデータを挿入した場合、新たなサンプルデータ及び現サンプルデータを出力バッファ２４に格納し、これらを再生させる。
【００４１】
ステップＳ１２５：再生速度制御部２１０は、現サンプルデータをサンプルバッファに格納し、直前のサンプルデータとして記憶させる。
ステップＳ１２６：再生速度制御部２１０は、現ブロックに含まれる全てのサンプルデータの再生が終了したか否かを判断する。“Ｎｏ”と判断するとステップＳ１１６に戻り、前述の処理を繰り返して現ブロックを再生する。“Ｙｅｓ”と判断すると、ステップＳ１２７に移行する。
【００４２】
ステップＳ１２７：再生速度制御部２１０は、ディジタル音声データから得られる現ブロックの音量成分値を算出し、音量バッファに格納する。さらに、再生速度制御処理部２１０は、受信バッファ２２から現ブロックを削除する。
ステップＳ１２８：再生速度制御部２１０は、再生速度決定処理サブルーチンを起動させる。これにより、再生速度判断部２８は再生速度決定処理を実行し、受信バッファ２２のデータ蓄積量の変化に応じた再生速度倍率を決定する。その後再びステップＳ１１２に戻り、受信バッファ２２が空になるまで再生を続行する。
【００４３】
以上の処理により、再生速度制御部２１０は、音量が小さい場合、データの削除または挿入による再生速度の制御を行う。なかでもデータの削除は連続する音の差が小さい場合に行う。データの削除や挿入を目立たないように行うことで、再生される音声の品質を高めることができる。
＜第２実施形態例＞
次に、第２実施形態例に係る受信装置を用いた通信システムについて説明する。本実施形態例の受信装置は、再生中であれば再生速度を変化させるが、再生停止中は再生速度を変化させない点が第１実施形態例の受信装置と異なっている。
【００４４】
［構成］
図５は、第２実施形態例に係る通信システムの構成を示すブロック図である。図５中、図１と同様の符号で示したブロックは、第１実施形態例と同様の機能を有している。受信装置２は、第１実施形態例と同様の構成に加え、再生フラグバッファ２１１及び直前データ再生フラグバッファ２１２をさらに有している。また、速度バッファ２９に代えて、高速再生フラグバッファ２１３及び低速再生フラグバッファ２１４を有している。
【００４５】
再生フラグバッファ２１１に再生フラグがセットされている場合は再生中である。直前データ再生フラグバッファ２１２に直前データ再生フラグがセットされている場合は、１つ前のサンプルデータが再生されたことを示している。高速再生フラグバッファ２１３には、受信バッファ２２の蓄積量が増大している場合にフラグがセットされる。低速再生フラグバッファ２１４には、受信バッファ２２の蓄積量が減少している場合にフラグがセットされる。
【００４６】
［処理］
次に、前記構成を有する受信装置２が行う処理について説明する。第１実施形態例と同様、受信処理、再生処理、再生速度決定処理、再生速度制御処理について、順次説明する。
（１）受信処理
図６（ａ）は、受信装置２が行う受信処理の流れの一例を示すフローチャートである。
【００４７】
ステップＳ２１：受信部２１は、パケットを待機しており、パケットを受信すると、ステップＳ２２に移行する。
ステップＳ２２、Ｓ２３、Ｓ２４：受信部２１は、受信バッファ２２に新たなデータを書き込む空きメモリがあるか否かを判断する（Ｓ２２）。空きメモリがない場合、受信したパケットを破棄する（Ｓ２３）。空きメモリがあれば、パケットを受信バッファ２２に格納する（Ｓ２４）。
【００４８】
ステップＳ２５：受信部２１は、再生フラグバッファ２１を参照し、再生中か否かを判断する。再生フラグがリセットされている、すなわち再生停止中の場合、前記ステップＳ２１に戻り、次のパケットの受信を待機する。再生フラグがセットされている、すなわち再生中の場合、ステップＳ２６に移行して再生速度を決定する。再生中の場合のみ再生速度を決定するのは、再生停止中は受信バッファのデータ蓄積量が増加する一方なので、実際の蓄積量に比して再生速度が増加しすぎるおそれがあるからである。
【００４９】
ステップＳ２６：受信部２１は、再生速度決定処理サブルーチンを起動する。これにより、受信バッファのデータ蓄積量に応じた再生速度が決定される。
以上の処理により、受信バッファ２２にデータを蓄積し、再生中の場合にのみ受信バッファのデータ蓄積量に応じた再生速度を決定する。
（２）再生処理
図６（ｂ）は、受信装置２が行う再生処理の流れの一例を示すフローチャートである。
【００５０】
ステップＳ３１：復号化部２３は、再生開始条件が満たされたか否かを判断し、満たされた場合は音声の再生処理を行う。ここで、再生開始条件とは、「受信バッファ２２に蓄積されるデータ量≧しきい値D1」である。しきい値D1は、第１実施形態例と同様にして定められる。
ステップＳ３２：復号化部２３は、再生フラグバッファ２１１に再生フラグをセットする。
【００５１】
ステップＳ３３：復号化部２３は、後述する再生速度制御処理サブルーチンを起動し、再生を開始する。すなわち、受信バッファ２２のデータ蓄積量に応じた速度で音声の再生を行う。
ステップＳ３４：復号化部２３は、再生フラグバッファ２１１の再生フラグをリセットする。
【００５２】
以上の処理により、再生開始条件を満足する場合に再生を行う。再生中か否かは、再生フラグバッファのフラグにより示される。
（３）再生速度決定処理
図７は、再生速度決定処理の流れの一例を示すフローチャートである。本実施形態例では、再生速度判断部２８は、受信バッファ２２のデータ蓄積量の変化の前後から、高速再生フラグ及び低速再生フラグをセットまたはリセットする。前記受信処理または後述する再生速度制御処理で本処理が起動された場合、以下の処理が開始される。
【００５３】
ステップＳ２０１：再生速度判断部２８は、変化後のデータ蓄積量を受信バッファ２２から読み取る（Ｓ２０１）。また、変化前のデータ蓄積量を、データ量バッファ（図示せず）から読み出す（Ｓ２０１）。このデータ量バッファは、変化前のデータ蓄積量を一時的に格納するためのメモリである。
ステップＳ２０２、Ｓ２０３：ついで、再生速度判断部２８は、変化の前後におけるデータ蓄積量を比較する（Ｓ２０２、Ｓ２０３）。
【００５４】
ステップＳ２０４〜Ｓ２０９：データ蓄積量が増加している場合、再生速度判断部２８
は、高速再生フラグをセットし、低速再生フラグをリセットする（Ｓ２０４、Ｓ２０５）。逆に、データ蓄積量が減少している場合は、低速再生フラグをセットし、高速再生フラグをリセットする（Ｓ２０６、Ｓ２０７）、データの蓄積量が変化していない場合は高速再生フラグ及び低速再生フラグともにリセットする（Ｓ２０８、Ｓ２０９）。
【００５５】
ステップＳ２１０：再生速度判断部２８は、変化後のデータ蓄積量を前記データ量バッファに格納し、処理を終了する。
以上の処理により、再生速度判断部２８は、受信バッファ２２のデータ蓄積量の増加または減少に応じ、再生速度フラグを変化させる。
（４）再生速度制御処理
図８は、再生速度制御処理の流れの一例を示すフローチャートである。本実施形態例では、速度バッファ２９にセットされたフラグに従った速度で音声を再生する。前記再生処理においてステップＳ３３に移行すると、以下の処理が開始される。
【００５６】
ステップＳ２１１：復号化部２３は、受信バッファ２２にデータがあるか否かを判断し、データ蓄積量がゼロになるまで以下の処理を行う。ゼロになると再生フラグをリセットし、本処理を終了する。その後、再び再生開始条件が満たされるのを待機する（前記再生処理Ｓ３４）。
ステップＳ２１２：まず、復号化部２３は、受信バッファ２２から再生するためのブロック（以下、単に現ブロックという）を１つ読み出す。
【００５７】
ステップＳ２１３：復号化部２３は、現ブロック中の圧縮音声符号化情報を伸長してサンプルデータや音量成分値を含むディジタル音声データとし、これを再生速度制御部２１０に渡す。再生速度制御部２１０は、音量バッファ（図示せず）から直前のブロックの音量成分値を読み出し、これがしきい値Ｖを超えていないか否かを判断する。音量バッファ、しきい値Ｖの値については、第１実施形態例と同様である。
【００５８】
ステップＳ２１４：再生速度制御部２１０は、直前ブロックの音量成分値がしきい値Ｖを超えている、つまり音量が大きい場合、現ブロックをそのまま再生する。音量の差が大きいため、ディジタルデータの破棄や挿入を行わずにそのまま再生するのである。
ステップＳ２１５：再生速度制御部２１０は、前記音量成分値がしきい値Ｖを超えない場合、ステップＳ２１５〜Ｓ２２５のようにして再生速度の制御を行う。まず、再生速度制御部２１０は、現ブロックに含まれるサンプルデータから順次１つのサンプルデータを抽出する。抽出したサンプルデータを現サンプルデータという。
【００５９】
ステップＳ２１６、Ｓ２１７、Ｓ２１８、Ｓ２１９、Ｓ２２０：再生速度制御部２１０は、高速再生フラグバッファ２１３及び低速再生フラグバッファ２１４を参照する。高速再生フラグだけがセットされている場合（Ｓ２１６）、再生速度制御部２１０は、サンプルバッファから直前のサンプルデータを読み出す。そして、現サンプルデータと直前のサンプルデータとの差がしきい値Ｓを超えていないか否かを判断する（Ｓ２１７）。サンプルバッファは第１実施形態例と同様である。
【００６０】
サンプルデータの差がしきい値Ｓを超えている場合、直前データフラグバッファ２１２を参照し、直前データ再生フラグがセットされているか否かを判断する（Ｓ２１８）。“Ｙｅｓ”と判断すると、このフラグをリセットし、現サンプルデータを破棄することにより再生速度を増加させる（Ｓ２１９、Ｓ２２０）。連続するサンプルデータの差が小さいので、サンプルデータを破棄しても再生された音声の品質に及ぼす影響が小さいと考えられるからである。なお、直前データ再生フラグをステップＳ２１９でリセットするのは、サンプルデータが連続して破棄されるのを防止するためである。
【００６１】
逆に、サンプルデータの差がしきい値Ｓ以下の場合、現サンプルデータを破棄することなく出力バッファ２４に格納し、再生させる（後述するステップＳ２２３）。
【００６２】
ステップＳ２２１、Ｓ２２２：低速再生フラグだけがセットされている場合（Ｓ２２１）、再生速度制御部２１０は、新たなサンプルデータを作成し、現サンプルデータの前に挿入する（Ｓ２２２）。
ステップＳ２２３：再生速度制御部２１０は、受信バッファのデータ蓄積量が増加しているが連続音の差が大きい場合（Ｓ２１７）、現サンプルデータを出力バッファ２４に格納し、これを再生させる。高速再生フラグ及び低速再生フラグの両方がリセットされている場合も同様である。また、データ蓄積量が減少しているため新たなサンプルデータを挿入した場合（Ｓ２２２）、新たなサンプルデータ及び現サンプルデータを出力バッファ２４に格納し、これらを再生させる。
【００６３】
ステップＳ２２４：再生速度制御部２１０は、現サンプルデータをサンプルバッファに格納し、直前のサンプルデータとして記憶させる。
ステップＳ２２５：再生速度制御部２１０は、直前データ再生フラグをセットする。現サンプルデータが再生されたので、その次のサンプルデータを破棄可能にするためである。
【００６４】
ステップＳ２２６：再生速度制御部２１０は、現ブロックに含まれる全てのサンプルデータの再生が終了したか否かを判断する。“Ｎｏ”と判断するとステップＳ２１５に戻り、前述の処理を繰り返して現ブロックを再生する。“Ｙｅｓ”と判断すると、ステップＳ２２７に移行する。
ステップＳ２２７：再生速度制御部２１０は、ディジタル音声データから得られる現ブロックの音量成分値を、音量バッファに格納する。さらに、再生速度制御処理部２１０は、受信バッファ２２から現ブロックを削除する。
【００６５】
ステップＳ２２８：再生速度制御部２１０は、再生速度決定処理サブルーチンを起動させる。これにより、再生速度判断部２８は、受信バッファ２２のデータ蓄積量の変化に応じた速度フラグを決定する。その後再びステップＳ２１１に戻り、受信バッファ２２が空になるまで再生を続行する。
以上の処理により、音量が小さい場合にのみデータを削除または挿入し、受信バッファのデータ蓄積量の変化に応じて再生速度に緩急をつけ、再生される音声の品質を高めることができる。
【００６６】
［再生速度と受信バッファのデータ蓄積量との関係を示すグラフ］
次に、前記実施形態例に述べた再生速度の制御により、オーバーフローやアンダーフローを防止する模式例について、グラフを用いて説明する。図９は、再生速度と受信バッファ２２のデータ蓄積量との関係を示すグラフである。横軸は時間、縦軸は受信バッファのデータ蓄積量を示す。実線は再生速度を変化させた場合、点線は再生速度が一定の場合である。実線上の黒丸は、パケットを受信バッファ２２に格納したことを示す。実線上の×印は、１ブロック分の再生が終了したことを示す。データ蓄積量の減少速度が実線と点線とで異なるのは、再生速度を調整しているからである。データ蓄積量の減少を示す実線の傾きが×印を境に小さくなっているは、再生速度が減少しているからである。
【００６７】
この例では、パケットＰ１，Ｐ２，Ｐ３，Ｐ４，Ｐ５，Ｐ６は、一定の時間間隔で送出されている。受信バッファ２２にデータが残っている状態で、受信装置２はパケットＰ１を受信し、その後パケットＰ２，Ｐ３，Ｐ４を想定時間よりも早く受信する。また、パケットＰ４を受信した後、パケットＰ５及びＰ６を想定時間よりも遅く受信する。なお、再生される音声の音量成分は、常に小さいと仮定する。
【００６８】
パケットＰ１、Ｐ２，Ｐ３，Ｐ４の受信直後（時刻T1、T2、T3、T4）はデータ蓄積量が増加するので、再生速度が増加する。しかし、次のパケットが到着する前に１ブロックの再生が終了した場合（時刻T5、T6）、データ蓄積量が減少したと判断され、再生速度が減少する。これにより、受信バッファ２２のオーバーフローが防止されている。また、パケットＰ４の受信後、１ブロック再生するたびに再生速度が減少する。これにより、受信バッファ２２のアンダーフローが防止されている。
【００６９】
＜その他の実施形態例＞
（Ａ）前述の実施形態例では、音声通信システムについて説明したが、本発明に係る受信装置は、音声通信だけでなく、動画像通信にも好ましく用いられる。また、静止画像、テキストデータなどの受信装置としても好適である。
（Ｂ）コンピュータに前述の処理を実行させるプログラム及びそのプログラムを記録したコンピュータ読み取り可能な記録媒体は、本発明に含まれる。ここで記録媒体としては、コンピュータが読み書き可能なフロッピーディスク、ハードディスク、半導体メモリ、CD-ROM、ＤＶＤ、光磁気ディスク（ＭＯ）、その他のものが挙げられる。
【００７０】
【発明の効果】
本発明を用いれば、ストリーム再生方式を採用した通信システムの受信装置側で再生される音声の品質を高めることを期待できる。
【図面の簡単な説明】
【図１】  第１実施形態例に係る通信システムの構成を示すブロック図。
【図２】  第１実施形態例における受信処理及び再生処理。
（ａ）受信処理の流れを示すフローチャート。
（ｂ）再生処理の流れを示すフローチャート。
【図３】  第１実施形態例における再生速度決定処理の流れを示すフローチャート。
【図４】  第１実施形態例における再生速度制御処理の流れを示すフローチャート。
【図５】  第２実施形態例に係る通信システムの構成を示すブロック図。
【図６】  第２実施形態例における受信処理及び再生処理。
（ａ）受信処理の流れを示すフローチャート。
（ｂ）再生処理の流れを示すフローチャート。
【図７】  第２実施形態例における再生速度決定処理の流れを示すフローチャート。
【図８】  第２実施形態例における再生速度制御処理の流れを示すフローチャート。
【図９】  本発明における再生速度と受信バッファのデータ蓄積量との関係を示すグラフ。
【図１０】  従来の再生速度と受信バッファのデータ蓄積量との関係を示すグラフ。
【符号の説明】
１；送信装置
２；受信装置
３；ネットワーク
２２；受信バッファ
２８；再生速度判断部
２９；速度フラグバッファ
２１０；再生速度調整部
【図１】
0004350916.tif 000002
【図２】
0004350916.tif 000003
【図３】
0004350916.tif 000004
【図４】
0004350916.tif 000005
【図５】
0004350916.tif 000006
【図６】
0004350916.tif 000007
【図７】
0004350916.tif 000008
【図８】
0004350916.tif 000009
【図９】
0004350916.tif 000010
【図１０】
0004350916.tif 000011