(57)【要約】【課題】  本発明によれば、通信環境に合わせてバッファ数を調整でき、スムーズに音声を再生可能な仕組みを提供することを目的とする。【解決手段】  本発明によれば、情報処理装置は、受信した第一の音声データと第二の音声データを蓄積する蓄積し、蓄積している第一の音声データと第二の音声データとが所定値以上蓄積されると当該第二の音声データを削除する。そして、情報処理装置は、蓄積した第一の音声データと第二の音声データとが所定の条件を満たす場合に、当該所定値を調整し、第二の音声データを削除する所定値を調整する。【選択図】  図５
2020098961.tif 000002
【特許請求の範囲】
【請求項１】
受信した第一の音声データと第二の音声データを蓄積する蓄積手段と、
前記蓄積手段で蓄積している前記第一の音声データと前記第二の音声データとが所定値以上蓄積されると前記第二の音声データを削除する削除手段と、
前記蓄積手段で蓄積した前記第一の音声データと前記第二の音声データとが所定の条件を満たす場合に、前記所定値を調整する調整手段と、
を備えることを特徴とする情報処理装置。
【請求項２】
前記第一の音声データは音声を含む音声データであって、前記第二の音声データは音声を含まないことを示す音声データであることを特徴とする請求項１に記載の情報処理装置。
【請求項３】
前記蓄積手段で蓄積された前記第一の音声データと前記第二の音声データを再生する再生手段、
をさらに備え、
前記再生手段は、前記削除手段で前記第二の音声データが削除された場合は前記第一の音声データを再生することを特徴とする請求項１または２に記載の情報処理装置。
【請求項４】
前記調整手段は、前記第一の音声データと前記第二の音声データとが前記所定の条件を満たす場合に、前記所定値を減算させることを特徴とする請求項１乃至３のいずれか１項に記載の情報処理装置。
【請求項５】
情報処理装置の制御方法であって、
受信した第一の音声データと第二の音声データを蓄積する蓄積ステップと、
前記蓄積ステップで蓄積している前記第一の音声データと前記第二の音声データとが所定値を以上蓄積されると前記第二の音声データを削除する削除ステップと、
前記蓄積ステップで蓄積した前記第一の音声データと前記第二の音声データとが所定の条件を満たす場合に、前記所定値を調整する調整ステップと、
を含むことを特徴とする情報処理装置の制御方法。
【請求項６】
コンピュータを、請求項１乃至４の何れか１項に記載の情報処理装置の各手段として機能させるためのプログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、情報処理装置、その制御方法、およびプログラムに関する。
【背景技術】
【０００２】
ビデオ会議システムにおいて、通信の揺らぎに対応するために音声の受信端末にバッファを持たせる技術は一般的に行われている。バッファがない場合、つまり受信した音声をそのまま再生した場合、通信の揺らぎのために短い時間の音声途切れがノイズに聞こえ、滑らかな音声再生ができない。そのため、音声の再生時にバッファを持つことによって、一時的に蓄積された音声が再生されるため、通信の揺らぎが発生しても短い時間の音声途切れが解消され高品質な音声再生ができる。
【０００３】
しかしながら、バッファサイズが大きすぎると、音声が蓄積されるまで再生が行われないため、再生の遅延が増大し円滑なコミュニケーションを阻害する。最適なバッファサイズは、通信の揺らぎによってバッファが枯渇することのない最小のバッファサイズである。ところが、通信の揺らぎの程度は通信環境によって異なるため、通信環境によってバッファ数の最適値は異なる。そのためバッファ数は個別に設定が必要であるが、ユーザにとって大変手間である。
【０００４】
そこで、特許文献１には、通信網の輻輳が発生した際に増加させたジッタ吸収バッファの許容蓄積量を、遅延時間およびデータロス率の監視結果を元に、デフォルト値に戻す仕組みが開示されている。
【先行技術文献】
【特許文献】
【０００５】
【特許文献１】特開２０１２―１２４６８９号公報
【発明の概要】
【発明が解決しようとする課題】
【０００６】
特許文献１は、通信網の輻輳が回復したとみなした際にはジッタ吸収バッファの許容蓄積量はデフォルト値に戻されるため、バッファ数減少後の値はデフォルト値固定であり、通信環境に合わせた値に設定されていない。そのため、デフォルト値が通信環境に適していない場合は音声品質の改善は難しい。
【０００７】
そのため、バッファ数を通信環境に合わせた最適値に調整する機能が望まれる。
【０００８】
そこで、本発明は、通信環境に合わせてバッファ数を調整でき、スムーズに音声を再生可能な仕組みを提供することを目的とする。
【課題を解決するための手段】
【０００９】
本発明の情報処理装置は、受信した第一の音声データと第二の音声データを蓄積する蓄積手段と、前記蓄積手段で蓄積している前記第一の音声データと前記第二の音声データとが所定値以上蓄積されると前記第二の音声データを削除する削除手段と、前記蓄積手段で蓄積した前記第一の音声データと前記第二の音声データとが所定の条件を満たす場合に、前記所定値を調整する調整手段と、を備えることを特徴とする。
【発明の効果】
【００１０】
本発明によれば、通信環境に合わせてバッファ数を調整でき、スムーズに音声を再生可能な効果を奏する。
【図面の簡単な説明】
【００１１】
【図１】本発明の実施形態における、情報処理システムのシステム構成の一例を示す図である。
【図２】本発明の実施形態における、ウェブ会議サーバ１００、情報処理装置１０１、情報処理装置１０２、のハードウェア構成の一例を示す図である。
【図３】本発明の実施形態における、ウェブ会議サーバ１００と情報処理装置１０１の機能構成の一例を示す図である。
【図４】本発明の実施形態における、音声データ受信時処理のフローチャートである。
【図５】本発明の実施形態における、音声データ再生処理のフローチャートである。
【図６】本発明の実施形態における、バッファ領域の図の一例である。
【図７】本発明の実施形態における、バッファ無音破棄時の動作の一例である。
【図８】本発明の実施形態における、音声データの構造体テーブル８００とバッファ数遷移テーブル８１０の一例である。
【発明を実施するための形態】
【００１２】
以下、図面を参照して、本発明の実施の形態を詳細に説明する。
【００１３】
図１は、本発明の実施の形態に係るシステム構成を示す図の一例である。ウェブ会議サーバ１００と情報処理装置１０１（ホストコンピュータ）と情報処理装置１０２（ゲストコンピュータ）は、ネットワークを介して接続可能である。なお、本実施形態では情報処理装置１０１をホストコンピュータとし、情報処理装置１０２をゲストコンピュータとするが、どの情報処理装置がどの役割（ホストコンピュータ、ゲストコンピュータ）を担ってもよい。また、情報処理装置１０１と情報処理装置１０２のハードウェア構成と昨日構成は同一であるため、以下の説明では情報処理装置１０１を中心に説明を行う。
【００１４】
図１の情報処理システム（ウェブ会議システム）においては、会議に参加するユーザのうち、いずれかがホストコンピュータとなり（本実施形態では情報処理装置１０１）、情報処理装置１０１からウェブ会議サーバ１００にアクセスして、会議室を予約する。会議室とは、仮想の会議スペースであって、ホストコンピュータに招待された参加者だけが入室可能とすることも可能である。また、フリースペースとして、不特定のユーザが参加できたり、発言はできないが、視聴のみ可能であったりしても良い。
【００１５】
情報処理装置１０１のユーザは、会議を特定する会議ＩＤ（あるいは会議室ＩＤ、部屋番号など）、その会議室を使用する時刻などを決定する。そして特定の参加者を招待する場合には、ウェブ会議サーバ１００に登録されている参加者の通知先（例えばメールアドレス）などを用いて、参加を呼びかけるようにしてもよい。特定のユーザのみを参加させるためには、情報処理装置１０１は、前記通知の中に当該会議室に入室するためのパスワードを記載可能とする。
【００１６】
情報処理装置１０１、情報処理装置１０２で取得された音声や画像は、マイクロフォン（不図示）による音声データ、もしくはカメラ（不図示）による画像データとしてウェブ会議サーバ１００に送信される。例えば、音声については、各々の情報処理装置１０１からウェブ会議サーバ１００に対して、情報処理装置１０１の個数分の上り音声データとして送信される。
【００１７】
前述の上り音声データは、ウェブ会議サーバ１００で、複数の情報処理装置１０１から受信した上り音声データをミキシングし、他の情報処理装置１０２に配信する（下り音声データ）。しかしながら、ミキシングに際して、ある上り音声データを送信した情報処理装置１０１に送り返される下り音声データには、情報処理装置１０１自身の音声データをミキシングすることは不要である。
【００１８】
なお、ここでは情報処理装置１０１とウェブ会議サーバ１００を別筐体として記載しているが、ある１つの情報処理装置１０１が、ウェブ会議サーバ１００の機能を同じ筐体に構成されるようにしても良い。
【００１９】
なお、本発明の実施形態においては、ウェブ会議システムを例として説明を進めるが、必ずしも会議システムに限らなくてよい。例えばネットワークを介して音声データの交換をし、ネットワークの遅延などによりパケット（音声データを含むデータ）の遅延が発生する場合に利用可能な技術として提供する。
【００２０】
図２は、本発明の実施の形態に係るハードウェアの構成を示す図の一例である。図２に示すように、ウェブ会議サーバ１００、情報処理装置１０１および情報処理装置１０２は、システムバス２０４を介してＣＰＵ（Ｃｅｎｔｒａｌ  Ｐｒｏｃｅｓｓｉｎｇ  Ｕｎｉｔ）２０１、ＲＡＭ（Ｒａｎｄｏｍ  Ａｃｃｅｓｓ  Ｍｅｍｏｒｙ）２０２、ＲＯＭ（Ｒｅａｄ  Ｏｎｌｙ  Ｍｅｍｏｒｙ）２０３、入力コントローラ２０５、ビデオコントローラ２０６、メモリコントローラ２０７、通信Ｉ／Ｆコントローラ２０８等が接続された構成を採る。
【００２１】
ＣＰＵ２０１は、システムバス２０４に接続される各デバイスやコントローラを統括的に制御する。
【００２２】
また、ＲＯＭ２０３あるいは外部メモリ２１１には、ＣＰＵ２０１の制御プログラムであるＢＩＯＳ（Ｂａｓｉｃ  Ｉｎｐｕｔ／Ｏｕｔｐｕｔ  Ｓｙｓｔｅｍ）やＯＳ（Ｏｐｅｒａｔｉｎｇ  Ｓｙｓｔｅｍ）や、各サーバあるいは各ＰＣが実行する機能を実現するために必要な後述する各種プログラム等が記憶されている。また、本発明を実施するために必要な情報が記憶されている。なお外部メモリはデータベースであってもよい。
【００２３】
ＲＡＭ２０２は、ＣＰＵ２０１の主メモリ、ワークエリア等として機能する。ＣＰＵ２０１は、処理の実行に際して必要なプログラム等をＲＯＭ２０３あるいは外部メモリ２１１からＲＡＭ２０２にロードし、ロードしたプログラムを実行することで各種動作を実現する。
【００２４】
また、入力コントローラ２０５は、キーボード（ＫＢ）２０９や不図示のマウス等のポインティングデバイス等からの入力を制御する。
【００２５】
ビデオコントローラ２０６は、ディスプレイ２１０等の表示器への表示を制御する。なお、表示器は液晶ディスプレイ等の表示器でもよい。これらは、必要に応じて管理者が使用する。
【００２６】
メモリコントローラ２０７は、ブートプログラム、各種のアプリケーション、フォントデータ、ユーザファイル、編集ファイル、各種データ等を記憶する外部記憶装置（ハードディスク（ＨＤ））や、フレキシブルディスク（ＦＤ）、あるいは、ＰＣＭＣＩＡ（Ｐｅｒｓｏｎａｌ  Ｃｏｍｐｕｔｅｒ  Ｍｅｍｏｒｙ  Ｃａｒｄ  Ｉｎｔｅｒｎａｔｉｏｎａｌ  Ａｓｓｏｃｉａｔｉｏｎ）カードスロットにアダプタを介して接続されるコンパクトフラッシュ（登録商標）メモリ等の外部メモリ２１１へのアクセスを制御する。
【００２７】
通信Ｉ／Ｆコントローラ２０８は、ネットワークを介して外部機器と接続・通信し、ネットワークでの通信制御処理を実行する。例えば、ＴＣＰ／ＩＰ（Ｔｒａｎｓｍｉｓｓｉｏｎ  Ｃｏｎｔｒｏｌ  Ｐｒｏｔｏｃｏｌ／Ｉｎｔｅｒｎｅｔ  Ｐｒｏｔｏｃｏｌ）を用いた通信等が可能である。
【００２８】
なお、ＣＰＵ２０１は、例えばＲＡＭ２０２内の表示情報用領域へアウトラインフォントの展開（ラスタライズ）処理を実行することにより、ディスプレイ２１０上に表示することが可能である。また、ＣＰＵ２０１は、ディスプレイ２１０上のマウスカーソル（図示しない）等によるユーザ指示を可能とする。
【００２９】
本発明を実現するための後述する各種プログラムは、外部メモリ２１１に記録されており、必要に応じてＲＡＭ２０２にロードされることによりＣＰＵ２０１によって実行されるものである。さらに、上記プログラムの実行時に用いられる定義ファイルおよび各種情報テーブル等も、外部メモリ２１１に格納されている。
【００３０】
図３は、本発明の実施形態における、ウェブ会議サーバ１００と情報処理装置１０１のソフトウェアの機能構成を示す図の一例である。
【００３１】
ウェブ会議サーバ１００は、音声データ送信部３０１を備える。
【００３２】
音声データ送信部３０１は、各情報処理装置１０１からウェブ会議サーバ１００が受信した音声データをミキシングした後に、ミキシングした音声データを各情報処理装置１０１に送信する機能部である。
【００３３】
情報処理装置１０１は、音声データ受信部３１１、デコード部３１２、バッファ管理部３１３、記憶部３１４、再生処理部３１５を備える。
【００３４】
音声データ受信部３１１は、ウェブ会議サーバ１００から音声データを受信する機能部である。
【００３５】
デコード部３１２は、音声データ受信部３１１で受信した音声データをデコードする機能部である。
【００３６】
バッファ管理部３１３は、情報処理装置１０１で受信した音声データのバッファを管理する機能部である。本実施形態では、バッファ管理部３１３は、バッファ領域に蓄積される音声データのバッファ数や、無音の音声データ（以下、無音データ）を破棄する閾値（以下、無音破棄閾値）を通信環境によって調整することにより適切な音声データの再生処理を行う。
【００３７】
記憶部３１４は、バッファ管理部３１３で管理しているバッファ数の遷移テーブル８１０など各種データテーブルを記憶する機能部である。
【００３８】
再生処理部３１５は、ウェブ会議サーバ１００から受信した音声データを再生する機能部である。本実施形態では、ウェブ会議サーバ１００から受信した音声データは一時的にバッファとして蓄積され、一定数音声データが蓄積されてから再生処理が行われる。これにより、通信環境が悪く通信に揺らぎが発生したとしても、一定数蓄積された音声データが再生されるため、再生される音声データがぶつ切りにならず、ノイズとして聞こえるのを抑止する。
【００３９】
次に、図４を用いて、本発明の実施形態における音声データ受信時処理の一連の流れについて説明する。図４は、受信された音声データがバッファとして管理される処理の一例である。
【００４０】
ステップＳ４０１は、ウェブ会議サーバ１００のＣＰＵ２０１は、情報処理装置１０１に対して音声データを送信する。
【００４１】
ステップＳ４０２は、情報処理装置１０１のＣＰＵ２０１は、ウェブ会議サーバ１００から音声データを受信する。
【００４２】
ステップＳ４０３は、情報処理装置１０１のＣＰＵ２０１は、受信した音声データをデコードする。
【００４３】
ステップＳ４０４は、情報処理装置１０１のＣＰＵ２０１は、受信した音声データが無音データであるか否かを判定する。無音データとは、音声ではない環境音やノイズのみで構成されている音のデータを示す。情報処理装置１０１のＣＰＵ２０１は、音声データが無音であると判定した場合はステップＳ４０５に処理を進める。音声データが無音であると判定した場合はステップＳ４０６に処理を進める。なお、ここで言う無音データとは、必ずしも無音である必要はなく、一定の値で音声のデータが含まれていなければ無音データと判定してもよい。
【００４４】
ここで、図８の音声データの構造体テーブル８００について説明する。図８は、音声データの構造体テーブル８００の一例である。音声データの構造体テーブル８００は情報項目８０１、型項目８０２からなる。例えば、情報項目８０１にメディアデータが格納された場合は型項目８０２にｂｙｔｅ配列で格納される。情報項目８０１に無音フラグが格納された場合は型項目８０２にｂｏｏｌｅａｎ型でｆａｌｓｅもしくはｔｒｕｅが格納される。
【００４５】
図４のステップＳ４０５は、情報処理装置１０１のＣＰＵ２０１は、記憶部３１４の機能により記憶している図８の音声データの無音フラグ項目にｆａｌｓｅを代入する。
【００４６】
ステップＳ４０６において、情報処理装置１０１のＣＰＵ２０１は、図８の音声データの無音フラグ項目にｔｒｕｅを代入する。
【００４７】
ステップＳ４０７は、情報処理装置１０１のＣＰＵ２０１は、受信した音声データをバッファ領域６００に追加する。
【００４８】
ここで、図６について説明する。図６はバッファ領域の一例を示す図である。バッファ領域全体を示すバッファ領域６００は、最大１００個の音声データを格納できる。通常音声６０１は、バッファに溜まっている無音フラグがｆａｌｓｅ、つまり通常の音声データを示す。無音６０２は、バッファに溜まっている無音フラグがｔｒｕｅ、つまり無音データを示す。６０３はバッファ領域６００に追加される音声データを示し、音声データ追加時にはバッファ領域６００の空の部分内、インデックス８１１の一番小さい領域に音声データが追加される。６０４はバッファ領域６００から取り出される音声データを表す。取り出される音声データはインデックス８１１が０の音声データである。取り出した後は１から０、２から１、…、１００から９９、０から１００のようにインデックス８１１（後述）を採番し直す。無音破棄閾値６０７は、無音６０２を削除する基準の閾値を示す。バッファ領域６００に蓄積された通常音声６０１と無音６０２を含む音声データが無音破棄閾値６０７に達した場合か、もしくは超えた場合はバッファ領域６００内の無音６０２を破棄（削除）する。無音破棄前６０５と無音破棄後６０６は、無音データを破棄する前後のバッファ領域の図である。無音破棄前６０５で無音フラグがｔｒｕｅの音声データ（無音６０２）が無音破棄後６０６の図では破棄されている。無音データ破棄後は残っている音声データにインデックス８１１を採番し直す。
【００４９】
ステップＳ４０８は、情報処理装置１０１のＣＰＵ２０１は、バッファ領域６００からバッファ数を取得する。取得したバッファ数はバッファ数遷移テーブル８１０に記憶する。
【００５０】
図８のバッファ数遷移テーブル８１０は、音声データを受信する度にステップＳ４０８で取得したバッファ数を記録するデータテーブルを示す。バッファ数遷移テーブル８１０は、インデックスが登録される列を示すインデックス８１１と、バッファ数が登録される列を示すバッファ数項目８１２からなる。バッファ数の初期値は０である。情報処理装置１０１は、インデックス８１１のＮｏ．１から順にバッファ数を記録することでバッファ数の遷移の情報を保持する。
【００５１】
ステップＳ４０９は、情報処理装置１０１のＣＰＵ２０１は、取得したバッファ数と無音破棄閾値６０７を比較する。無音破棄閾値６０７はユーザがウェブ会議の仮想会議室に入室する際に設定され、外部メモリ２１１に格納されている。バッファ数が無音破棄閾値６０７の値と同じか、大きい場合は情報処理装置１０１のＣＰＵ２０１は、ステップＳ４１０に処理を進める。バッファ数が無音破棄閾値６０７以下である場合は処理を終了する。
【００５２】
ステップＳ４１０は、情報処理装置１０１のＣＰＵ２０１は、バッファ領域６００の音声データを全てスキャンし、無音フラグがｔｒｕｅの音声データをバッファ領域から破棄する。（無音破棄のイメージは図６の無音破棄前６０５と無音破棄後６０６を参照。）これは、バッファ数が所定値以上蓄積された場合は無音データを破棄する処理を示す。この処理により、余分な無音データを破棄することで、バッファの機能によって音声データを一時的に蓄積したことによる音声データの再生にかかる遅延を回復させることが可能となる。
【００５３】
無音データは、最初からすべて破棄してしまうと何も音声が含まれていない会話の間の音などがなくなってしまい、音声データを再生した際に音声の詰まった不自然な音声が再生されてしまう。そのため、本実施形態のように、ある程度無音データも蓄積しておき、ある一定の閾値（所定値）を超えると無音データを破棄することで、最低限の無音データは蓄積しつつ、バッファ数が一定数溜まった場合は複数の無音データを効率よく破棄することが可能となる。さらにこの処理により、音声データの再生を遅延が少ない状態で再生することが可能となる。
【００５４】
以上で、図４の音声データ受信時処理の一連の流れについての説明を終了する。
【００５５】
次に、図５を用いて、情報処理装置１０１が音声データを再生する処理の一連の流れについて説明する。
【００５６】
ステップＳ５０１は、情報処理装置１０１のＣＰＵ２０１は、バッファ領域６００からバッファ数を取得する。
【００５７】
ステップＳ５０２は、情報処理装置１０１のＣＰＵ２０１は、ステップＳ５０２で取得したバッファ数を記憶部３１４の機能によりバッファ数遷移テーブル８１０に記憶する。より具体的には、記憶部３１４は、バッファ数遷移テーブル８１０のバッファ数項目の値を上書きした後、次の行に移動する。
【００５８】
ステップＳ５０３において、情報処理装置１０１のＣＰＵ２０１は、バッファ数が０か否かを判定する。情報処理装置１０１のＣＰＵ２０１は、バッファ数が０であると判定した場合はステップＳ５０４に処理を進める。情報処理装置１０１のＣＰＵ２０１は、バッファ数が０でないと判定した場合はステップＳ５０５に処理を進める。
【００５９】
ステップＳ５０４において、情報処理装置１０１のＣＰＵ２０１は、バッファ領域６００に音声データが追加され、バッファ数が溜まるまで待機する。
【００６０】
ステップＳ５０５は、情報処理装置１０１のＣＰＵ２０１は、バッファ数遷移テーブル８１０のバッファ数遷移の記録をスキャンして確認する。
【００６１】
ステップＳ５０６は、情報処理装置１０１のＣＰＵ２０１は、ステップＳ５０５で確認したバッファ数遷移の記録の中に、バッファ数項目が０のデータがあるか否かを判定する。情報処理装置１０１のＣＰＵ２０１は、０のデータがあると判定した場合はステップＳ５０８に処理を進める。情報処理装置１０１のＣＰＵ２０１は、０のデータがないと判定した場合はステップＳ５０７に処理を進める。なお、本実施形態ではバッファ数項目が０か否かを判定しているが、０ではなく任意の所定の数であってもよい。
【００６２】
ステップＳ５０７は、情報処理装置１０１のＣＰＵ２０１は、バッファ領域６００のメモリ内の無音破棄閾値６０７を固定値減算する。減算する固定値は、ユーザが仮想会議室に入室した際に設定され、外部メモリ２１１に格納されている。図７は、無音破棄閾値６０７を固定値減算したイメージ図である。
【００６３】
ステップＳ５０８は、情報処理装置１０１のＣＰＵ２０１は、バッファ領域６００から音声データを取得する。取得した音声データは、情報処理装置１０１が備える不図示の再生デバイスに送られる。
【００６４】
ステップＳ５０９は、情報処理装置１０１のＣＰＵ２０１は、再生処理部３１５の機能により音声データを再生する。
【００６５】
図５の処理は、ステップＳ５０３について、バッファ数項目が０のデータがあるか否かを判定することにより、バッファを減少させる余裕があるか否かを確認している。バッファ数項目が０のデータがないということは、音声データが枯渇しておらずバッファに余裕がある状態であるため、無音破棄閾値６０７を減算可能となる。これにより、例えばバッファが枯渇しバッファ領域６００の許容蓄積量や無音破棄閾値６０７の上限を上げた場合であっても、通信環境や再生状況を鑑みて最適なバッファ数を調整することが可能となる。つまり、無音破棄閾値６０７を通信環境によって減算可能とすることで、バッファ領域にバッファを貯めつつ効率よく無音データを破棄することによる音声遅延回復のための処理を行うことができる。
【００６６】
例えバッファ領域６００の許容蓄積量や無音破棄閾値６０７の上限を上げてから一定時間経過した場合であっても、バッファ数に余裕がない場合は無音破棄閾値６０７を減算させないほうがよい。つまり、バッファ数に余裕がない場合は無音データも蓄積しておいたほうが良い状態であるため、ステップＳ５０３の処理が必要となる。なお、バッファ数の枯渇を判定する際は、必ずしも０の値でなくてよく、任意の数値など所定の条件を満たしているか否かで判定してもよい。
【００６７】
また、通信環境の揺らぎによりウェブ会議サーバ１００側で溜まっていた音声データが、通信環境が改善したことで一気に情報処理装置１０１に受信される場合がある。その場合は、バッファ領域６００に大量の音声データが溜まることとなる。その場合に無音データを一定の基準で少しずつ削除しても音声データは溜まるばかりなので、本実施形態により一度に効率よく無音データを破棄できるといった効果も奏する。さらに、情報処理装置１０１の再生ドライバ（不図示）の不調によりうまく再生できない場合であって、バッファ領域６００に音声データが溜まっていく場合にも、本発明は効果を奏する。
【００６８】
なお、本実施形態では無音破棄閾値６０７を減算しているが、通信環境やバッファ領域６００に蓄積しているバッファ数項目に応じて、無音破棄閾値６０７を増加させてもよい。
【００６９】
また、無音破棄閾値６０７は、デフォルトの値でもよいし、固定値でもよい。無音破棄閾値６０７を通信環境に応じて変更可能な固定値にすると、通信環境に合わせた値に調整することが可能となるため、バッファ数の最適値に調整することが可能となり、再生音声品質の向上につながる。
【００７０】
以上で、図５の音声データ再生処理の一連の流れについての説明を終了する。
【００７１】
このように、本発明によれば、通信環境に合わせてバッファ数を調整でき、スムーズに音声を再生可能な効果を奏する。
【００７２】
本発明の実施形態においては、情報処理装置１０１と他の情報処理装置１０２、およびウェブ会議サーバ１００を一例に説明を行ったが、ウェブ会議に参加するホストコンピュータ（情報処理装置１０１）以外のゲストコンピュータは、複数存在してよい。
【００７３】
なお、上述した実施形態においてはウェブ会議を例にあげて本発明の説明をしたが、本発明は例えばテレビ会議、テレビ電話等にも適用可能である。ウェブ会議、テレビ会議、テレビ電話等の電子データを用いた会議を電子会議という。
【００７４】
以上、本発明は、例えば、システム、装置、方法、プログラムもしくは記録媒体等としての実施態様をとることが可能である。具体的には、複数の機器から構成されるシステムに適用しても良いし、また、一つの機器からなる装置に適用しても良い。
【００７５】
また、本発明におけるプログラムは、本実施形態に示すフローチャートの処理方法をコンピュータが実行可能なプログラムであり、本発明の記憶媒体はコンピュータが実行可能なプログラムが記憶されている。なお、本発明におけるプログラムは各装置の処理方法ごとのプログラムであってもよい。
【００７６】
以上のように、前述した実施形態の機能を実現するプログラムを記録した記録媒体を、システムあるいは装置に供給し、そのシステムあるいは装置のコンピュータ（またはＣＰＵやＭＰＵ）が記録媒体に格納されたプログラムを読み出し、実行することによっても本発明の目的が達成されることは言うまでもない。
【００７７】
この場合、記録媒体から読み出されたプログラム自体が本発明の新規な機能を実現することになり、そのプログラムを記録した記録媒体は本発明を構成することになる。
【００７８】
プログラムを供給するための記録媒体としては、例えば、フレキシブルディスク、ハードディスク、光ディスク、光磁気ディスク、ＣＤ−ＲＯＭ、ＣＤ−Ｒ、ＤＶＤ−ＲＯＭ、磁気テープ、不揮発性のメモリカード、ＲＯＭ、ＥＥＰＲＯＭ、シリコンディスク等を用いることが出来る。
【００７９】
また、コンピュータが読み出したプログラムを実行することにより、前述した実施形態の機能が実現されるだけでなく、そのプログラムの指示に基づき、コンピュータ上で稼働しているＯＳ（オペレーティングシステム）等が実際の処理の一部または全部を行い、その処理によって前述した実施形態の機能が実現される場合も含まれることは言うまでもない。
【００８０】
さらに、記録媒体から読み出されたプログラムが、コンピュータに挿入された機能拡張ボードやコンピュータに接続された機能拡張ユニットに備わるメモリに書き込まれた後、そのプログラムコードの指示に基づき、その機能拡張ボードや機能拡張ユニットに備わるＣＰＵ等が実際の処理の一部または全部を行い、その処理によって前述した実施形態の機能が実現される場合も含まれることは言うまでもない。
【００８１】
また、本発明は、複数の機器から構成されるシステムに適用しても、ひとつの機器から成る装置に適用しても良い。また、本発明は、システムあるいは装置にプログラムを供給することによって達成される場合にも適用できることは言うまでもない。この場合、本発明を達成するためのプログラムを格納した記録媒体を該システムあるいは装置に読み出すことによって、そのシステムあるいは装置が、本発明の効果を享受することが可能となる。
【００８２】
さらに、本発明を達成するためのプログラムをネットワーク上のサーバ、データベース等から通信プログラムによりダウンロードして読み出すことによって、そのシステムあるいは装置が、本発明の効果を享受することが可能となる。なお、上述した各実施形態およびその変形例を組み合わせた構成も全て本発明に含まれるものである。
【符号の説明】
【００８３】
１００  ウェブ会議サーバ
１０１  情報処理装置
１０２  情報処理装置
２０１  ＣＰＵ
２０２  ＲＡＭ
２０３  ＲＯＭ
２０８  通信Ｉ／Ｆコントローラ
２１１  外部メモリ
【図１】
2020098961.tif 000003
【図２】
2020098961.tif 000004
【図３】
2020098961.tif 000005
【図４】
2020098961.tif 000006
【図５】
2020098961.tif 000007
【図６】
2020098961.tif 000008
【図７】
2020098961.tif 000009
【図８】
2020098961.tif 000010