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