(57)【特許請求の範囲】
【請求項１】
ネットワークに接続された、第一端末装置と第二端末装置と、を含む遠隔会議システムで実行される遠隔会議方法であって、
前記第一端末装置のマイクで集音された音の音フレームが無音状態であるかを、前記音フレームに含まれるデータに基づき判断する第一判断工程と、
前記音フレームが前記無音状態でない場合、前記音フレームから生成された音データを、前記第一端末装置から前記第二端末装置に送信する第一送信工程と、
前記音フレームが前記無音状態でない場合、前記第一端末装置と前記第二端末装置との間のデータ通信におけるジッタ値を算出する算出工程と、
前記音フレームが前記無音状態でない場合、算出された前記ジッタ値に対応する設定情報に従い、前記第二端末装置で設定される前記音データから得られる前記音フレームの受信バッファ量を更新し、前記音フレームが前記無音状態である場合、前記受信バッファ量を更新しない、更新工程と、を含む遠隔会議方法。
【請求項２】
前記算出工程は、前記音フレームが前記無音状態である場合には実行されない、請求項１に記載の遠隔会議方法。
【請求項３】
前記算出工程は、前記音フレームが前記無音状態でない場合、前記ジッタ値の算出に用いられる第一データを、前記第一端末装置から送信し、前記音フレームが前記無音状態である場合、前記第一データを、前記第一端末装置から送信しない、第二送信工程を含む、請求項１又は請求項２に記載の遠隔会議方法。
【請求項４】
前記第一送信工程は、前記音フレームが前記無音状態である場合には実行されない、請求項１に記載の遠隔会議方法。
【請求項５】
前記遠隔会議方法は、
前記音フレームが前記無音状態である場合、前記第一端末装置と前記第二端末装置とによる遠隔会議の実施中における前記ネットワークを介したデータ通信の通信状況の変化を判断する第二判断工程と、
前記音フレームが前記無音状態で前記通信状況が変化した場合、前記第二端末装置で受信される第二データを、前記第一端末装置から繰り返して送信する第三送信工程と、を含み、
前記算出工程は、更に、前記音フレームが前記無音状態である場合、前記第二データの送信が継続されている状態で、前記ジッタ値を算出する工程であり、
前記更新工程は、更に、前記音フレームが前記無音状態である場合において、前記第二データの送信が継続されている状態で、前記ジッタ値が算出された場合、前記第二データの送信が継続されている状態で算出された前記ジッタ値に対応する前記設定情報に従い、前記受信バッファ量を更新する工程である、請求項４に記載の遠隔会議方法。
【請求項６】
ネットワークを介した遠隔会議に参加可能な第一端末装置を制御するコンピュータに、
前記第一端末装置のマイクで集音された音の音フレームが無音状態であるかを、前記音フレームに含まれるデータに基づき判断する第一判断処理と、
前記音フレームが前記無音状態でない場合、前記音フレームから生成され且つ前記遠隔会議に参加している第二端末装置で受信される音データを送信させる第一送信処理と、
前記音フレームが前記無音状態でない場合、前記第一端末装置と前記第二端末装置との間のデータ通信におけるジッタ値の算出に用いられる第一データを送信させ、前記音フレームが前記無音状態である場合、前記第一データを送信させない、第二送信処理と、を実行させるプログラム。
【請求項７】
前記プログラムは、前記コンピュータに、
前記音フレームが前記無音状態である場合、前記遠隔会議の実施中における前記ネットワークを介したデータ通信の通信状況の変化を判断する第二判断処理と、
前記音フレームが前記無音状態で前記通信状況が変化した場合、前記第二端末装置で受信される第二データを繰り返して送信させる第三送信処理と、を実行させ、
前記第二送信処理は、更に、前記音フレームが前記無音状態である場合において、前記第二データの送信が継続されている状態で、前記第一データを送信させる処理である、請求項６に記載のプログラム。
【請求項８】
前記プログラムは、前記コンピュータに、前記音フレームが前記無音状態である場合、前記第一端末装置と前記第二端末装置との間のデータ通信におけるジッタ値の算出の開始を指示する開始要求を取得したかを判断する第三判断処理を実行させ、
前記第三送信処理は、更に、前記開始要求が取得された場合、前記第二データを、前記第一端末装置から繰り返して送信する処理である、請求項７に記載のプログラム。
【請求項９】
前記第三送信処理は、更に、前記第二データを繰り返して送信させている状態で、前記音フレームが前記無音状態でない状態に変化した場合、前記第二データを送信させない処理である、請求項７又は請求項８に記載のプログラム。
【請求項１０】
前記第二送信処理は、前記第一データが送信されるタイミングを示す第一時間情報を含む前記第一データを送信させる処理であり、
前記プログラムは、前記コンピュータに、
前記第一データの送信に応じて前記第一端末装置で受信される前記第一時間情報を含む第三データを取得する第一取得処理と、
前記第三データが取得されたタイミングを示す第二時間情報を取得する第二取得処理と、
前記第一時間情報と前記第二時間情報とに従い、前記ジッタ値を算出する算出処理と、
算出された前記ジッタ値に対応する設定情報を送信する第四送信処理と、を実行させる、請求項６から請求項９の何れか１項に記載のプログラム。
【請求項１１】
ネットワークを介した遠隔会議に参加可能な第二端末装置を制御するコンピュータに、
前記遠隔会議に参加している第一端末装置のマイクで集音された音の音フレームが無音状態でない場合に前記音フレームから生成され且つ前記第一端末装置から送信された音データを取得する第三取得処理と、
前記遠隔会議の実施中における前記ネットワークを介したデータ通信の通信状況の変化を判断する第四判断処理と、
前記通信状況が変化した場合、前記第一端末装置と前記第二端末装置との間の通信におけるジッタ値の算出の開始を指示する開始要求を送信させる第五送信処理と、
前記開始要求の送信に応じて前記第一端末装置から第二データが繰り返して送信されている状態で前記第一端末装置から送信された第一データに従い算出される前記ジッタ値に対応する設定情報を取得する第四取得処理と、
前記設定情報に従い、前記音データから得られる前記音フレームの受信バッファ量を更新する更新処理と、を実行させるプログラム。
【請求項１２】
前記プログラムは、前記コンピュータに、
前記第一データが送信されるタイミングを示す第一時間情報を含む前記第一データを取得する第五取得処理と、
前記第一データが取得されたタイミングを示す第三時間情報を取得する第六取得処理と、を実行させ、
前記第四取得処理は、前記第一時間情報と前記第三時間情報とに従い、前記ジッタ値を算出し、算出された前記ジッタ値から前記設定情報を取得する処理である、請求項１１に記載のプログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、遠隔会議システムで実行される遠隔会議方法と、遠隔会議に参加可能な第一端末装置を制御するコンピュータ及び遠隔会議に参加可能な第二端末装置を制御するコンピュータに、所定の処理を実行させるプログラムに関する。
【背景技術】
【０００２】
ネットワークを介したデータ通信に関する技術が提案されている。例えば、特許文献１には、パケット受信装置が開示されている。パケット受信装置では、パケット送信時間間隔に基づいてジッタ平均最大値が算出される。パケット受信装置では、ジッタ平均最大値に基づいて受信バッファサイズが決定される。
【先行技術文献】
【特許文献】
【０００３】
【特許文献１】特開２００８−２４４８９４号公報
【発明の概要】
【発明が解決しようとする課題】
【０００４】
遠隔会議システムでは、通信されるデータの量を削減するため、遠隔会議に参加している端末装置のマイクで集音された音の音フレームが無音状態であると判断される場合、この音フレームから生成された音データは、送信されないことがある。このような遠隔会議システムでは、取得された音フレームが無音状態である場合と有音状態である場合では、ネットワークを介したデータ通信の通信状況（例えば、送信されるデータ量）が異なる。通信状況が異なると、ジッタ値も異なる場合がある。仮に、前述したような遠隔会議システムにおいて、上述した従来の構成が採用された場合、音フレームが無音状態であって音データが送信されていない場合も、ジッタ値の算出が行われる可能性がある。このような通信状況で算出されたジッタ値を基に、音データの受信バッファ量を決定すると、音フレームのアンダーフローが発生することが想定される。この場合、遠隔会議に出席しているユーザが発した音声が、途切れる可能性がある。
【０００５】
本発明は、遠隔会議に出席しているユーザが発した音声が途切れることなくスムーズに出力される、遠隔会議方法と、遠隔会議に参加する端末装置用のプログラムを提供することを目的とする。
【課題を解決するための手段】
【０００６】
本発明の一側面は、ネットワークに接続された、第一端末装置と第二端末装置と、を含む遠隔会議システムで実行される遠隔会議方法であって、前記第一端末装置のマイクで集音された音の音フレームが無音状態であるかを、前記音フレームに含まれるデータに基づき判断する第一判断工程と、前記音フレームが前記無音状態でない場合、前記音フレームから生成された音データを、前記第一端末装置から前記第二端末装置に送信する第一送信工程と、前記音フレームが前記無音状態でない場合、前記第一端末装置と前記第二端末装置との間のデータ通信におけるジッタ値を算出する算出工程と、前記音フレームが前記無音状態でない場合、算出された前記ジッタ値に対応する設定情報に従い、前記第二端末装置で設定される前記音データから得られる前記音フレームの受信バッファ量を更新し、前記音フレームが前記無音状態である場合、前記受信バッファ量を更新しない、更新工程と、を含む遠隔会議方法である。
【０００７】
この遠隔会議方法によれば、第一端末装置で集音された音の音フレームが無音状態でない場合、この音フレームから生成された音データを、第一端末装置から第二端末装置に送信させ、第一端末装置と第二端末装置の間のジッタ値を算出することができる。音フレームが無音状態でない場合に算出されたジッタ値に対応する設定情報に従い、第二端末装置で設定される受信バッファ量を更新することができる。音フレームが無音状態である場合、受信バッファ量は、更新されない。音フレームの状態に応じて、受信バッファ量を更新させ、又は受信バッファ量の更新を回避することができる。
【０００８】
本発明の他の側面は、ネットワークを介した遠隔会議に参加可能な第一端末装置を制御するコンピュータに、前記第一端末装置のマイクで集音された音の音フレームが無音状態であるかを、前記音フレームに含まれるデータに基づき判断する第一判断処理と、前記音フレームが前記無音状態でない場合、前記音フレームから生成され且つ前記遠隔会議に参加している第二端末装置で受信される音データを送信させる第一送信処理と、前記音フレームが前記無音状態でない場合、前記第一端末装置と前記第二端末装置との間のデータ通信におけるジッタ値の算出に用いられる第一データを送信させ、前記音フレームが前記無音状態である場合、前記第一データを送信させない、第二送信処理と、を実行させるプログラムである。
【０００９】
このプログラムによれば、第一端末装置で集音された音の音フレームが無音状態でない場合、この音フレームから生成され且つ第二端末装置で受信される音データを送信させ、第一端末装置と第二端末装置の間のジッタ値の算出に用いられる第一データを送信させることができる。音フレームが無音状態である場合、第一データは、送信されない。音フレームの状態に応じて、第一データを送信させ、又は第一データの送信を回避することができる。
【００１０】
本発明の更に他の側面は、ネットワークを介した遠隔会議に参加可能な第二端末装置を制御するコンピュータに、前記遠隔会議に参加している第一端末装置のマイクで集音された音の音フレームが無音状態でない場合に前記音フレームから生成され且つ前記第一端末装置から送信された音データを取得する第三取得処理と、前記遠隔会議の実施中における前記ネットワークを介したデータ通信の通信状況の変化を判断する第四判断処理と、前記通信状況が変化した場合、前記第一端末装置と前記第二端末装置との間の通信におけるジッタ値の算出の開始を指示する開始要求を送信させる第五送信処理と、前記開始要求の送信に応じて前記第一端末装置から第二データが繰り返して送信されている状態で前記第一端末装置から送信された第一データに従い算出される前記ジッタ値に対応する設定情報を取得する第四取得処理と、前記設定情報に従い、前記音データから得られる前記音フレームの受信バッファ量を更新する更新処理と、を実行させるプログラムである。
【００１１】
このプログラムによれば、遠隔会議の実施中におけるデータ通信の通信状況が変化した場合、第一端末装置と第二端末装置の間のジッタ値の算出の開始を指示する開始要求を送信させることができる。開始要求に応じて第一端末装置から第二データが繰り返して送信される。第二データが送信されている状態で第一端末装置から送信された第一データから算出されるジッタ値に対応する設定情報を取得することができる。
【発明の効果】
【００１２】
本発明によれば、遠隔会議に出席しているユーザが発した音声が途切れることなくスムーズに出力される、遠隔会議方法と、遠隔会議に参加する端末装置用のプログラムを得ることができる。
【図面の簡単な説明】
【００１３】
【図１】遠隔会議システムの一例を示す図である。
【図２】遠隔会議画面の一例を示す図である。
【図３】送信処理のフローチャートである。
【図４】受信処理のフローチャートである。
【図５】再生処理のフローチャートである。
【図６】第一ジッタ処理のフローチャートである。
【図７】第二ジッタ処理のフローチャートである。
【図８】第一実施例の算出処理に含まれる第一算出処理のフローチャートである。
【図９】第一実施例の算出処理に含まれる第二算出処理のフローチャートである。
【図１０】第二実施例の算出処理に含まれる第三算出処理のフローチャートである。
【図１１】第二実施例の算出処理に含まれる第四算出処理のフローチャートである。
【図１２】第三ジッタ処理のフローチャートである。
【発明を実施するための形態】
【００１４】
本発明を実施するための実施形態について、図面を用いて説明する。本発明は、以下に記載の構成に限定されるものではなく、同一の技術的思想において種々の構成を採用することができる。例えば、以下に示す構成の一部は、省略し又は他の構成等に置換してもよい。他の構成を含むようにしてもよい。
【００１５】
＜遠隔会議システム＞
遠隔会議システム１０の概略について、図１及び図２を参照して説明する。遠隔会議システム１０は、ネットワーク９０に接続された２台以上の端末装置を含む。換言すれば、遠隔会議システム１０におけるネットワーク９０を介した遠隔会議は、遠隔会議に参加する最低２台の端末装置によって実施される。図１では、３台の端末装置２１，２２，２３が図示されている。実施形態では、図１に図示された端末装置２１，２２によるＰ２Ｐ（Peer to Peer）方式の遠隔会議を例として説明する。但し、端末装置２３は、所定の手順を経た場合、端末装置２１，２２によって実施されているＰ２Ｐ方式の遠隔会議に参加することが可能である。遠隔会議システム１０における遠隔会議において、端末装置の台数は、実施される遠隔会議のシチュエーションに応じて変化する。遠隔会議システム１０における遠隔会議は、会議ＩＤによって識別される。即ち、端末装置２１，２２による遠隔会議は、会議ＩＤによって、遠隔会議システム１０で実施される他の遠隔会議と識別される。会議ＩＤによって識別される遠隔会議において、端末装置２１，２２は、端末ＩＤにより識別される。実施形態では、端末装置２１の端末ＩＤは、「ＵＳＥＲ２１」とする。端末装置２２の端末ＩＤは、「ＵＳＥＲ２２」とする。実施形態の例示とは異なり、端末装置２３が端末装置２１，２２と共に遠隔会議に参加したと仮定した場合における端末装置２３の端末ＩＤは、「ＵＳＥＲ２３」とする。
【００１６】
ネットワーク９０は、例えば、インターネット又はローカルエリアネットワーク（ＬＡＮ）のようなネットワークである。端末装置２１，２２は、同一の遠隔会議に出席しているユーザによってそれぞれ操作される。端末装置２１，２２は、ネットワーク９０を介した通信機能を有する情報処理装置である。端末装置２１，２２としては、パーソナルコンピュータ、スマートフォン又はタブレット端末が例示される。実施形態では、端末装置２１，２２として、パーソナルコンピュータが例示されている（図１参照）。
【００１７】
Ｐ２Ｐ方式の遠隔会議では、例えば、端末装置２１のマイク４２で集音された音の音フレームから生成された音データが、端末装置２１から端末装置２２に送信され、端末装置２２で受信される。端末装置２２のマイクで集音された音の音フレームから生成された音データが、端末装置２２から端末装置２１に送信され、端末装置２１で受信される。音データには、送信元の端末装置の端末ＩＤが含められる。音データを受信した端末装置では、音データに含まれる端末ＩＤによって、送信元の端末装置が特定される。音フレームは、集音された音を、所定のサンプリング周波数（例えば１６ｋＨｚ）でＡ／Ｄ変換して生成された所定時間のデジタルデータである。実施形態において「音」は、空気の振動による物理的な音と、この物理的な音をアナログ信号によって電気的に示した音を含む。即ち、実施形態では、物理的な音と電気的な音を区別することなく、単に「音」という。音フレームの長さは、例えば、２０ｍｓｅｃ／フレームとされる。Ａ／Ｄ変換の方式としては、ＰＣＭ（Pulse Code Modulation）が例示される。音データは、１フレーム分の音フレームをエンコードして生成されたデータである。エンコードの方式としては、Ｇ．７２２．１とＳｐｅｅｘとＯＰＵＳが例示される。
【００１８】
例えば、端末装置２２から端末装置２１に音データが送信されるとする。音フレームの長さは、２０ｍｓｅｃ／フレームとする。この場合、端末装置２２では、マイクで集音された音がＡ／Ｄ変換され、音フレームが生成される。音フレームは、送信バッファに記憶される。端末装置２２では、２０ｍｓｅｃ分の音フレームが送信バッファに記憶された場合、２０ｍｓｅｃ分の音フレームがエンコードされて音データが生成される。端末装置２２では、生成された音フレームが端末装置２１に送信され、端末装置２１では、この音データが受信される。音データの送信周期は、１フレーム分の音フレームと同じ、２０ｍｓｅｃとされる。端末装置２１では、受信された音データがデコードされて音フレームが取得され、取得された音フレームが、ジッタバッファに記憶される。端末装置２１では、ジッタバッファに記憶された音フレームが、ジッタバッファに対して設定された受信バッファ量以上となった場合、ジッタバッファから２０ｍｓｅｃ分の音フレームが、端末装置２１にインストールされたＯＳによるプロセスに２０ｍｓｅｃ間隔で周期的に出力される。端末装置２１では、このＯＳのプロセスによって、音フレームがＤ／Ａ変換され、Ｄ／Ａ変換によって得られた音がスピーカ３６から出力される。
【００１９】
Ｐ２Ｐ方式の遠隔会議では、端末装置２１，２２でそれぞれ撮影された撮影画像５１に対応する映像データが、端末装置２１，２２の間を送受信される。映像データには、送信元の端末装置の端末ＩＤが含められる。映像データを受信した端末装置では、映像データに含まれる端末ＩＤによって送信元の端末装置が特定される。端末装置２１，２２では、遠隔会議の実施中、遠隔会議画面５０が表示される（図２参照）。遠隔会議画面５０は、撮影画像５１と、終了ボタン５２を含む。遠隔会議画面５０では、撮影画像５１の表示又は非表示を設定することができる。撮影画像５１の表示又は非表示は、端末装置２１，２２の各撮影画像５１に対して個別に設定することができる。図２に示す遠隔会議画面５０に基づけば、端末装置２１，２２の撮影画像５１は、共に表示に設定されている。自装置の撮影画像５１は、自装置での撮影に応じて取得される映像データに従い表示される。遠隔会議の相手先となる端末装置の撮影画像５１は、受信された相手先の端末装置からの映像データに従い表示される。
【００２０】
終了ボタン５２は、遠隔会議の終了に対応する操作ボタンである。例えば、端末装置２１のユーザは、遠隔会議を終了する場合、終了ボタン５２を押下する。この場合、遠隔会議は終了し、端末装置２２との接続は、切断される。遠隔会議画面５０には、資料画像５３が表示される。遠隔会議システム１０では、端末装置２１，２２の間で同一の資料データに対応する資料画像５３が共有された状態で、遠隔会議を進行することができる。資料データは、例えば、遠隔会議の実施中に、端末装置２１，２２のうちの一方から他方に送信される。例えば、資料データの送信元の端末装置が端末装置２１である場合、端末装置２１では、自装置に記憶されている端末装置２２に送信された資料データに従い、資料画像５３が表示される。端末装置２２では、受信された資料データに従い、資料画像５３が表示される。
【００２１】
実施形態では、端末装置２１，２２の間の音データの送受信に関する動作を中心に説明する。従って、映像データと資料データの送受信に関する説明は、適宜省略する。端末装置２１，２２の間の映像データと資料データの送受信は、公知の遠隔会議システムと同様に行われる。
【００２２】
＜端末装置＞
端末装置２１について、図１を参照して説明する。端末装置２１は、ＣＰＵ３１と、記憶装置３２と、ＲＡＭ３３と、表示部３４と、操作部３５と、スピーカ３６と、通信部３７と、計時部３８と、接続インターフェース３９を備える。ＣＰＵ３１と記憶装置３２とＲＡＭ３３と表示部３４と操作部３５とスピーカ３６と通信部３７と接続インターフェース３９は、バス４０に接続される。実施形態では、接続インターフェース３９を「接続Ｉ／Ｆ３９」と記載する。接続Ｉ／Ｆ３９には、カメラ４１とマイク４２が接続される。
【００２３】
ＣＰＵ３１は、演算処理を実行する。記憶装置３２は、コンピュータが読み取り可能な記憶媒体である。記憶装置３２としては、ハードディスク及び／又はフラッシュメモリが例示される。この他、記憶装置３２は、ＲＯＭを含むものであってもよい。記憶装置３２には、各種のプログラムが記憶される。例えば、ＯＳと各種のアプリケーションが記憶装置３２に記憶される。記憶装置３２に記憶されるアプリケーションには、遠隔会議用のプログラムが含まれる。遠隔会議用のプログラムには、後述する各処理（図２〜図７と、図８，図９又は図１０，図１１と、図１２参照）のプログラムが含まれる。遠隔会議用のプログラムによれば、所定の端末装置を、遠隔会議システム１０における端末装置２１，２２として動作させることができる。
【００２４】
遠隔会議用のプログラムは、記憶装置３２に事前にインストールされていてもよい。事前のインストールは、例えば、半導体メモリ等のコンピュータが読み取り可能な記憶媒体に記憶された遠隔会議用のプログラムが、端末装置２１の読取部（不図示）により読み取られることで行われる。端末装置２１が、例えば、光学ドライブ（不図示）を備えている場合、事前のインストールは、光学メディアに記憶されたプログラムが、光学ドライブにより読み取られることで行われるようにしてもよい。この他、事前のインストールは、ネットワーク９０に接続されたサーバ装置７０のハードディスク等のコンピュータが読み取り可能な記憶媒体に記憶された遠隔会議用のプログラムが、通信部３７で伝送信号として受信されることで行われるようにしてもよい。サーバ装置７０は、例えば、遠隔会議システム１０を運用する事業者によって、ネットワーク９０上に設けられる。遠隔会議用のプログラムは、遠隔会議の相手先となる端末装置２２とのＰ２Ｐ方式での接続に先立ち、端末装置２１がサーバ装置７０にアクセスした場合に、サーバ装置７０からネットワーク９０を介して伝送信号として端末装置２１に送信されてもよい。遠隔会議用のプログラムは、そのタイミングで、記憶装置３２にインストールされるようにしてもよい。この場合、遠隔会議用のプログラムは、ＲＡＭ３３に記憶されてもよい。記憶装置３２又はＲＡＭ３３への遠隔会議用のプログラムのインストールについて、上述した何れの形態とするかは、諸事情を考慮して適宜決定される。コンピュータが読み取り可能な記憶媒体は、一時的な記憶媒体（例えば、伝送信号）を含まない、非一時的な記憶媒体であってもよい。非一時的な記憶媒体は、情報を記憶する期間に関わらず、情報を記憶可能な記憶媒体であればよい。
【００２５】
ＲＡＭ３３は、ＣＰＵ３１が各種のプログラムを実行する際に利用される記憶領域となる。ＲＡＭ３３には、処理の実行途中に、処理で利用される所定のデータ及び情報が所定の領域に記憶される。ＲＡＭ３３には、例えば、送信バッファとジッタバッファと第一領域と第二領域が確保される。送信バッファは、端末装置２２に送信される音データが記憶されるＲＡＭ３３の所定の領域である。ジッタバッファは、遠隔会議の相手先となる端末装置毎に確保される。端末装置毎のジッタバッファは、各端末装置の端末ＩＤに関連付けられる。実施形態では、ＲＡＭ３３に、端末装置２２の端末ＩＤ「ＵＳＥＲ２２」に関連付けられたジッタバッファが確保される。端末ＩＤ「ＵＳＥＲ２２」に関連付けられたジッタバッファには、端末装置２２からの音データをデコードして得られる音フレームが記憶される。第一領域は、後述する図９のＳ１４９又は図１１のＳ１９７でジッタ値が記憶されるＲＡＭ３３の所定の領域である。第二領域は、後述する図１２のＳ２１３でジッタ値が記憶されるＲＡＭ３３の所定の領域である。端末装置２１では、ＣＰＵ３１が記憶装置３２に記憶されたＯＳと遠隔会議用のプログラムを実行する等して、端末装置２１を制御する。これにより、端末装置２１では、各種の処理が実行される。
【００２６】
表示部３４は、例えば液晶ディスプレイである。表示部３４には、各種の情報が表示される。表示部３４には、遠隔会議画面５０が表示される。操作部３５は、端末装置２１に対する各種の指示等の入力を受け付ける。操作部３５は、キーボード及びマウスを含む。詳細は省略するが、キーボード及びマウスへの各操作に対応する入力情報を生成する処理は、公知のパーソナルコンピュータで採用されている技術であり、端末装置２１でも採用される。スピーカ３６は、音を出力する音出力部である。スピーカ３６での出力対象は、例えば、端末装置２２からの音データに対応する音フレームの音である。通信部３７は、端末装置２１をネットワーク９０に接続し、ネットワーク９０を介したデータ通信を行う。通信部３７は、例えば、イーサネット（登録商標）規格に適合するインターフェース回路である。通信部３７によるネットワーク９０への接続は、無線接続又は有線接続の何れであってもよい。計時部３８は、カレンダ機能及び時計機能等を有し、時間の経過を計測する。計時部３８は、ＯＳが有する時計機能により構成されてもよい。
【００２７】
接続Ｉ／Ｆ３９は、端末装置２１に所定の装置を接続するインターフェースである。接続Ｉ／Ｆ３９は、例えば、ＵＳＢ（Universal Serial Bus）ポートを含むインターフェースである。接続Ｉ／Ｆ３９は、無線通信モジュールを含むものであってもよい。無線通信モジュールとしては、Ｂｌｕｅｔｏｏｔｈ（登録商標）に対応した通信モジュールが例示される。接続Ｉ／Ｆ３９に接続されたカメラ４１は、外界像を撮影する。端末装置２１は、カメラを内蔵する構成であってもよい。接続Ｉ／Ｆ３９に接続されたマイク４２は、外界音を集音する集音部である。例えば、マイク４２は、端末装置２１のユーザが発した音声を集音する。
【００２８】
端末装置２１は、遠隔会議用のプログラムが記憶装置３２又はＲＡＭ３３に記憶されている点が、公知の端末装置と相違する。但し、端末装置２１は、ハードウェア的には、公知の端末装置と同じである。従って、端末装置２１は、更に、公知の端末装置が備える構成を備える。端末装置２２は、端末装置２１と同一又は同種の情報処理装置であって、端末装置２１と同様の構成を備える。従って、端末装置２２に関する説明は、省略する。
【００２９】
＜端末装置で実行される処理＞
端末装置２１，２２による遠隔会議が実施される場合に、端末装置２１で実行される各処理について、説明する。以下に説明する各処理のうち、送信処理（図３参照）と第一ジッタ処理（図６参照）と第二ジッタ処理（図７参照）と第一算出処理（図８参照）と第三算出処理（図１０参照）は、端末装置２１が音データの送信側の端末装置となる場合に実行される処理である。受信処理（図４参照）と再生処理（図５参照）と第二算出処理（図９参照）と第四算出処理（図１１参照）と第三ジッタ処理（図１２参照）は、端末装置２１が音データの受信側の端末装置となる場合に実行される処理である。
【００３０】
端末装置２１では、送信処理と受信処理と再生処理と第一ジッタ処理と第二ジッタ処理と第三ジッタ処理が、遠隔会議の相手先となる端末装置２２とネットワーク９０を介して接続されたタイミングで開始される。更に、端末装置２１では、第一算出処理と第二算出処理、又は第三算出処理と第四算出処理が、前述したタイミングで開始される。端末装置２２でも、図３〜図１２に示す各処理が、端末装置２１と同様、遠隔会議の相手先となる端末装置２１とネットワーク９０を介して接続されたタイミングで開始される。
【００３１】
遠隔会議システム１０では、Ｐ２Ｐ方式の遠隔会議が実施される公知の遠隔会議システムと同様、所定のユーザによって、事前に遠隔会議の開催が予約される。予約は、サーバ装置７０によって提供される所定のサイトに登録される。予約の際、例えば、遠隔会議の開催を、出席者に通知することができる。この通知は、例えば、電子メールを用いて行われる。即ち、電子メールの本文には、遠隔会議の開催日時と、今回の遠隔会議が特定されたＵＲＬが含められる。遠隔会議を特定する情報としては、会議ＩＤが例示される。前述のＵＲＬには、会議ＩＤを含めるようにしてもよい。
【００３２】
端末装置２１では、操作部３５を介して、上記のＵＲＬを対象とした操作が入力される。この操作が入力された場合、ＣＰＵ３１は、遠隔会議用のプログラムを起動する。これに伴い、端末装置２１は、サーバ装置７０と通信可能な状態となる。端末装置２２でも同様の操作が行われ、遠隔会議用のプログラムが起動される。これに伴い、端末装置２２は、サーバ装置７０と通信可能な状態となる。遠隔会議システム１０では、端末装置２１，２２がサーバ装置７０とそれぞれ通信可能な状態で、端末装置２１，２２を通信可能とするための所定の手順が実行される。端末装置２１，２２は、このような手順等を経て、直接通信可能な状態となる。遠隔会議システム１０で、端末装置２１，２２を直接通信可能な状態とするために実行される手順としては、Ｐ２Ｐ方式の通信が行われる公知のシステムで採用されている公知の手順を採用することができる。前述の公知のシステムには、Ｐ２Ｐ方式の遠隔会議が実施可能な公知の遠隔会議システムが含まれる。従って、これに関する説明は、省略する。
【００３３】
＜送信処理＞
送信処理について、図３を参照して説明する。ＣＰＵ３１は、音フレームが取得されたかを判断する（Ｓ１１）。ＣＰＵ３１が取得する音フレームは、上述した通り、マイク４２で集音された音を所定のサンプリング周波数（例えば１６ｋＨｚ）でＡ／Ｄ変換した、所定時間分（例えば、２０ｍｓｅｃ）の波形データである。音フレームが取得されていない場合（Ｓ１１：Ｎｏ）、ＣＰＵ３１は、処理をＳ２３に移行する。音フレームが取得された場合（Ｓ１１：Ｙｅｓ）、ＣＰＵ３１は、取得された音フレームが無音状態であるかを判断する（Ｓ１３）。
【００３４】
音フレームが無音状態であるかの判断は、例えば、音フレームのボリューム（ｄＢ）を検出し、検出された音フレームのボリュームと、予め決定された閾値とを比較して行われる。ボリュームの検出は、例えば、Ｓ１１で取得された音フレームの波形のレベルを検出して行われる。Ｓ１１で取得された音フレームは複数のサンプリング点を含むため、例えば、所定時間内に含まれる複数のサンプリング点の平均レベルが音フレームのボリュームとして検出される。複数のサンプリング点の最大レベルを音フレームのボリュームとして検出してもよい。判断基準となる前述の閾値は、遠隔会議システム１０で開催される遠隔会議に出席しているユーザが、遠隔会議において発言したと判断できる場合の音声のボリュームを考慮して予め決定される。音フレームのボリュームが閾値未満である場合、無音状態と判断される。音フレームのボリュームが閾値より大きい場合、無音状態ではない有音状態と判断される。音フレームのボリュームが閾値と等しい場合、無音状態又は有音状態とするかは、諸条件を考慮して適宜設定される。閾値は、例えば、送信処理のプログラムに関連付けて記憶装置３２又はＲＡＭ３３に記憶される。閾値は、例えば背景のノイズレベル等に応じて、適宜変更されてもよい。
【００３５】
この他、音フレームが無音状態であるかの判断は、周波数解析等、公知の音処理技術によって行われてもよい。例えば、音フレームをフーリエ変換することで複数のピーク周波数を特定し、特定された複数のピーク周波数のパターンが人間の声のパターンに対応するかを判断することで、音フレームが無音状態であるかの判断が行われてもよい。
【００３６】
音フレームが無音状態でない場合（Ｓ１３：Ｎｏ）、ＣＰＵ３１は、音フラグをＯＮにセットする（Ｓ１５）。音フラグは、取得された音フレームが、有音状態（音フラグ：ＯＮ）であるか、無音状態（音フラグ：ＯＦＦ）であるかを示す情報である。音フラグは、ＲＡＭ３３の所定の領域に記憶される。続けて、ＣＰＵ３１は、取得された音フレームをエンコードして音データを生成する（Ｓ１７）。ＣＰＵ３１は、生成された音データを送信させる（Ｓ１９）。音データの送信先は、遠隔会議の相手先となる端末装置２２とされる。ＣＰＵ３１は、音データの送信指令を通信部３７に出力する。送信指令に従い、音データが、通信部３７から端末装置２２へと送信される。送信処理では、音データの生成及び送信の周期は、１フレーム分の音フレームの長さ（例えば、２０ｍｓｅｃ）と同じとされる。実施形態の例示とは異なり、遠隔会議が、端末装置２１，２２，２３の３台の端末装置で実施されている場合、又は３台以上の端末装置で実施されている場合、Ｓ１７でＣＰＵ３１は、音データを、自装置と通信可能に接続された各端末装置に順次送信する。その後、ＣＰＵ３１は、処理をＳ２３に移行する。音フレームが無音状態である場合（Ｓ１３：Ｙｅｓ）、ＣＰＵ３１は、音フラグをＯＦＦにセットする（Ｓ２１）。その後、ＣＰＵ３１は、処理をＳ２３に移行する。
【００３７】
Ｓ２３でＣＰＵ３１は、終了指示を取得したかを判断する。遠隔会議を終了させる場合、端末装置２１のユーザは、操作部３５を操作し、終了ボタン５２を押下する。ＣＰＵ３１は、終了ボタン５２の押下が操作部３５で受け付けられた場合、終了指示を取得する。終了指示が取得されていない場合（Ｓ２３：Ｎｏ）、ＣＰＵ３１は、処理をＳ１１に戻す。その後、ＣＰＵ３１は、再度、Ｓ１１以降の処理を実行する。終了指示が取得された場合（Ｓ２３：Ｙｅｓ）、ＣＰＵ３１は、送信処理を終了する。この場合、ＣＰＵ３１は、遠隔会議の相手先である端末装置２２との間の接続を切断する。これに伴い、端末装置２１での遠隔会議は、終了する。
【００３８】
＜受信処理＞
受信処理について、図４を参照して説明する。ＣＰＵ３１は、開始させた受信処理の対象となる、遠隔会議の相手先となる端末装置を識別する（Ｓ３１）。実施形態では、端末装置２２が識別され、実行中の受信処理は、端末ＩＤ「ＵＳＥＲ２２」に対応させて実行される。実施形態の例示とは異なり、遠隔会議が、３台以上の端末装置で実施されている場合、端末装置２１では、遠隔会議の相手先となる端末装置の数だけ、受信処理が開始され、Ｓ３１で、各受信処理の対象となる端末装置が識別される。例えば、遠隔会議が、端末装置２１，２２，２３の３台で実施されている場合、端末装置２１では、２個の受信処理が開始される。２個の受信処理のうちの１個の受信処理では、端末装置２２が識別され、この受信処理は、端末ＩＤ「ＵＳＥＲ２２」に対応させて実行される。２個の受信処理のうちの他の１個の受信処理では、端末装置２３が識別され、この受信処理は、端末ＩＤ「ＵＳＥＲ２３」に対応させて実行される。
【００３９】
ＣＰＵ３１は、受信処理が対応する端末ＩＤを含む音データが取得されたかを判断する（Ｓ３３）。音データは、端末装置２２で実行中の図３のＳ１７で、端末装置２２から端末装置２１に送信される。端末装置２１では、端末装置２２からの音データが、通信部３７で受信される。ＣＰＵ３１は、通信部３７を介して音データを取得する。受信処理が対応する端末ＩＤを含む音データが取得されていない場合（Ｓ３３：Ｎｏ）、ＣＰＵ３１は、処理をＳ３９に移行する。受信処理が対応する端末ＩＤを含む音データが取得された場合（Ｓ３３：Ｙｅｓ）、ＣＰＵ３１は、取得された音データをデコードする（Ｓ３５）。ＣＰＵ３１は、デコードによって取得された音フレームを、受信処理が対応する端末ＩＤに関連付けられたジッタバッファに記憶させる（Ｓ３７）。その後、ＣＰＵ３１は、処理をＳ３９に移行する。
【００４０】
Ｓ３９でＣＰＵ３１は、終了指示が取得されたかを判断する。Ｓ３９は、図３のＳ２３と同じ処理である。従って、Ｓ３９に関する説明は、省略する。終了指示が取得されていない場合（Ｓ３９：Ｎｏ）、ＣＰＵ３１は、処理をＳ３３に戻す。その後、ＣＰＵ３１は、再度、Ｓ３３以降の処理を実行する。終了指示が取得された場合（Ｓ３９：Ｙｅｓ）、ＣＰＵ３１は、受信処理を終了する。この場合、端末装置２１での遠隔会議は、終了する。
【００４１】
＜再生処理＞
再生処理について、図５を参照して説明する。ＣＰＵ３１は、開始させた再生処理の対象となる、遠隔会議の相手先となる端末装置を識別する（Ｓ４１）。実施形態では、端末装置２２が識別され、再生処理は、端末ＩＤ「ＵＳＥＲ２２」に対応させて実行される。実施形態の例示とは異なり、例えば、遠隔会議が端末装置２１，２２，２３の３台の端末装置で実施されている場合、端末装置２１では、端末ＩＤ「ＵＳＥＲ２２」と「ＵＳＥＲ２３」にそれぞれ対応させた２個の再生処理が実行される。この点については、上述した受信処理と同様である。
【００４２】
次に、ＣＰＵ３１は、再生処理が対応する端末ＩＤに関連付けられた計時部３８でのカウントが第一サイクル時間を経過したかを判断する（Ｓ４３）。第一サイクル時間は、１フレーム分の音フレームの長さ（例えば、２０ｍｓｅｃ）とされる。ＣＰＵ３１は、Ｓ４１を実行した後、計時部３８での第一サイクル時間のカウントを開始させる。計時部３８では、再生処理が対応する端末ＩＤに関連付けて第一サイクル時間がカウントされる。ＣＰＵ３１は、再生処理が対応する端末ＩＤに関連付けられた計時部３８によるカウントが第一サイクル時間を経過した場合（Ｓ４３：Ｙｅｓ）、計時部３８によるカウントを、再始動させる。即ち、端末装置２１では、第一サイクル時間のカウントが繰り返される。再生処理が対応する端末ＩＤに関連付けられた計時部３８によるカウントが第一サイクル時間を経過していない場合（Ｓ４３：Ｎｏ）、ＣＰＵ３１は、処理をＳ５９に移行する。前述の計時部３８によるカウントが第一サイクル時間を経過した場合（Ｓ４３：Ｙｅｓ）、ＣＰＵ３１は、再生処理が対応する端末ＩＤに関連付けられた再生フラグがＯＮであるかを判断する（Ｓ４５）。再生フラグは、再生処理が対応する端末ＩＤに関連付けられたジッタバッファに記憶された音フレームの再生が実行中（再生フラグ：ＯＮ）であるか、前述の音フレームの再生が未実行（再生フラグ：ＯＦＦ）であるかを示す情報である。再生フラグは、Ｓ４９又はＳ５７でセットされ、ＲＡＭ３３の所定の領域に、再生処理が対応する端末ＩＤに関連付けられた状態で記憶される。
【００４３】
再生処理が対応する端末ＩＤに関連付けられた再生フラグがＯＮである場合（Ｓ４５：Ｙｅｓ）、ＣＰＵ３１は、再生処理が対応する端末ＩＤに関連付けられたジッタバッファに、ＯＳのプロセスに出力可能な音フレームが記憶されているかを判断する（Ｓ４７）。前述のＯＳのプロセスは、音フレームをＤ／Ａ変換し、Ｄ／Ａ変換によって得られた音をスピーカ３６から出力させるプロセスである。前述のジッタバッファにＯＳのプロセスに出力可能な音フレームが記憶されていない場合（Ｓ４７：Ｎｏ）、ＣＰＵ３１は、再生処理が対応する端末ＩＤに関連付けられた再生フラグをＯＦＦにセットする（Ｓ４９）。これに伴い、前述の再生フラグは、ＯＮからＯＦＦに更新される。その後、ＣＰＵ３１は、処理をＳ５９に移行する。前述のジッタバッファにＯＳのプロセスに出力可能な音フレームが記憶されている場合（Ｓ４７：Ｙｅｓ）、ＣＰＵ３１は、このジッタバッファから１フレーム分の音フレームを取得し、ＯＳのプロセスに、取得された１フレーム分の音フレームを出力する（Ｓ５１）。これに伴い、ＯＳのプロセスは、この音フレームをＤ／Ａ変換し、Ｄ／Ａ変換によって得られた音をスピーカ３６から出力させる。その後、ＣＰＵ３１は、処理をＳ５９に移行する。
【００４４】
再生処理が対応する端末ＩＤに関連付けられた再生フラグがＯＮでない場合（Ｓ４５：Ｎｏ）、ＣＰＵ３１は、再生処理が対応する端末ＩＤに関連付けられたジッタバッファに記憶された音フレームのデータ量が、このジッタバッファの受信バッファ量以上であるかを判断する（Ｓ５３）。なお、Ｓ５３の判断条件は、「音フレームのデータ量＞受信バッファ量」としてもよい。受信バッファ量は、ジッタバッファに記憶された音フレームを、ジッタバッファからＯＳのプロセスに出力する場合の基準となるバッファ量である。即ち、端末装置２１では、ジッタバッファに記憶された音フレームのデータ量と、このジッタバッファの受信バッファ量が比較され、その結果に応じて、ジッタバッファに記憶された音フレームの出力又は未出力が決定される。受信バッファ量は、後述するように、遠隔会議の相手先となる端末装置２２との間のデータ通信におけるジッタ値に対応する設定情報に従い設定される。
【００４５】
再生処理が対応する端末ＩＤに関連付けられたジッタバッファに記憶された音フレームのデータ量が、このジッタバッファの受信バッファ量以上である場合（Ｓ５３：Ｙｅｓ）、ＣＰＵ３１は、再生処理が対応する端末ＩＤに関連付けられた再生フラグをＯＮにセットする（Ｓ５５）。前述の再生フラグがＯＦＦである場合、この再生フラグは、ＯＦＦからＯＮに更新される。続けて、ＣＰＵ３１は、前述のジッタバッファから１フレーム分の音フレームを取得し、ＯＳのプロセスに、取得された１フレーム分の音フレームを出力する（Ｓ５７）。これに伴い、ＯＳのプロセスは、この音フレームをＤ／Ａ変換し、Ｄ／Ａ変換によって得られた音をスピーカ３６から出力させる。再生処理が対応する端末ＩＤに関連付けられたジッタバッファに記憶された音フレームのデータ量が、このジッタバッファの受信バッファ量以上でない場合（Ｓ５３：Ｎｏ）又はＳ５７を実行した後、ＣＰＵ３１は、処理を図５のＳ５９に移行する。
【００４６】
Ｓ５９でＣＰＵ３１は、終了指示が取得されたかを判断する。Ｓ５９は、図３のＳ２３と同じ処理である。従って、Ｓ５９に関する説明は、省略する。終了指示が取得されていない場合（Ｓ５９：Ｎｏ）、ＣＰＵ３１は、処理をＳ４３に戻す。その後、ＣＰＵ３１は、再度、Ｓ４３以降の処理を実行する。終了指示が取得された場合（Ｓ５９：Ｙｅｓ）、ＣＰＵ３１は、再生処理を終了する。この場合、端末装置２１での遠隔会議は、終了する。
【００４７】
＜第一ジッタ処理＞
第一ジッタ処理について、図６を参照して説明する。ＣＰＵ３１は、遠隔会議の相手先となる端末装置の１台を選択する（Ｓ７１）。実施形態では、遠隔会議の相手先となる端末装置は、端末装置２２、１台であるため、Ｓ６１では、端末装置２２が選択される。実施形態の例示とは異なり、例えば、遠隔会議が端末装置２１，２２，２３の３台の端末装置で実施されている場合、第一ジッタ処理を開始後、遠隔会議が終了するまでの間、端末装置２２と端末装置２３が交互に選択される。即ち、Ｓ７１では、遠隔会議の相手先となる端末装置が１台である場合、その端末装置が繰り返して選択される一方、遠隔会議の相手先となる端末装置が複数である場合、複数の端末装置の中から、各端末装置が一定の順序で繰り返して選択される。
【００４８】
次に、ＣＰＵ３１は、音フラグがＯＦＦであるかを判断する（Ｓ７３）。音フラグは、図３のＳ１５又はＳ２１でＲＡＭ３３に記憶される。音フラグがＯＦＦでない場合（Ｓ７３：Ｎｏ）、ＣＰＵ３１は、第一ジッタフラグがＯＦＦであるかを判断する（Ｓ７５）。第一ジッタフラグは、ジッタ値の算出に関連した処理（図８又は図１０参照）の実行（第一ジッタフラグ：ＯＮ）又は未実行（第一ジッタフラグ：ＯＦＦ）を指示する情報である。Ｓ７５〜Ｓ８１の対象とされる第一ジッタフラグは、Ｓ７１で選択された端末装置の端末ＩＤに関連付けられた第一ジッタフラグとされる。第一ジッタフラグは、Ｓ７１で選択された端末装置の端末ＩＤに関連付けられた状態で、ＲＡＭ３３の所定の領域に記憶される。第一ジッタ処理の説明では、Ｓ７１で選択された端末装置の端末ＩＤに関連付けられた第一ジッタフラグを、「処理対象の第一ジッタフラグ」という（但し、図６では、単に「第一ジッタフラグ」と記載）。実施形態では、処理対象の第一ジッタフラグは、端末ＩＤ「ＵＳＥＲ２２」に関連付けられた第一ジッタフラグである。処理対象の第一ジッタフラグがＯＦＦである場合（Ｓ７５：Ｙｅｓ）、ＣＰＵ３１は、処理対象の第一ジッタフラグをＯＮにセットする（Ｓ７７）。これに伴い、処理対象の第一ジッタフラグは、ＯＦＦからＯＮに更新される。その後、ＣＰＵ３１は、処理をＳ８９に移行する。
【００４９】
音フラグがＯＦＦである場合（Ｓ７３：Ｙｅｓ）、ＣＰＵ３１は、処理対象の第一ジッタフラグがＯＮであるかを判断する（Ｓ７９）。処理対象の第一ジッタフラグがＯＮである場合（Ｓ７９：Ｙｅｓ）、ＣＰＵ３１は、処理対象の第一ジッタフラグをＯＦＦにセットする（Ｓ８１）。これに伴い、処理対象の第一ジッタフラグは、ＯＮからＯＦＦに更新される。処理対象の第一ジッタフラグがＯＮでない場合（Ｓ７９：Ｎｏ）又はＳ８１を実行した後、ＣＰＵ３１は、自装置において、ネットワーク９０を介した遠隔会議におけるデータ通信の通信状況が変化したかを判断する（Ｓ８３）。
【００５０】
通信状況は、例えば、遠隔会議が端末装置２１，２２の２台の端末装置で実施されている状態で、端末装置２３がこの遠隔会議に参加した場合に変化する。この場合、端末装置２１，２２，２３の各端末装置は、Ｐ２Ｐ方式で接続される。端末装置２１における音データの送信先は、１台の端末装置２２から、２台の端末装置２２，２３へと変化する。端末装置２１で受信される音データの送信元は、１台の端末装置２２から、２台の端末装置２２，２３へと変化する。通信状況は、遠隔会議システム１０における遠隔会議において実現される各種の機能のうち、未使用の機能を新たに開始（例えば、資料画像５３が共有されていない状態において、資料画像５３の共有が開始）された場合に変化する。例えば、資料画像５３の共有が開始された場合、端末装置２１，２２の間を、資料画像５３に対応する資料データが送受信される。この他、通信状況は、端末装置２１におけるデータ通信の通信帯域が切り替わった場合に変化する。通信状況が変化した場合は、前述したような場合の他、諸条件を考慮して予め定められる。端末装置２１では、通信状況の変化が適宜検出される。
【００５１】
通信状況が変化していない場合（Ｓ８３：Ｎｏ）、ＣＰＵ３１は、ジッタリクエストが取得されたかを判断する（Ｓ８５）。ジッタリクエストは、ジッタ値の算出の開始を指示する開始要求である。ジッタリクエストは、遠隔会議の相手先となる端末装置２２で実行される図１２のＳ２２１で、端末装置２２から端末装置２１に送信される。端末装置２１では、ジッタリクエストが、通信部３７で受信される。ＣＰＵ３１は、通信部３７を介してジッタリクエストを取得する。通信状況が変化した場合（Ｓ８３：Ｙｅｓ）又はジッタリクエストが取得された場合（Ｓ８５：Ｙｅｓ）、ＣＰＵ３１は、第二ジッタフラグをＯＮにセットする（Ｓ８７）。第二ジッタフラグは、音フラグがＯＦＦの状態において、ジッタ値の算出に関連した処理の実行（第二ジッタフラグ：ＯＮ）又は未実行（第二ジッタフラグ：ＯＦＦ）を指示する情報である。第二ジッタフラグは、ＲＡＭ３３の所定の領域に記憶される。ジッタリクエストは、送信元の端末装置２２の端末ＩＤ「ＵＳＥＲ２２」を含む。第二ジッタフラグは、ジッタリクエストに含まれる端末ＩＤに関連付けられた状態で記憶される。ジッタリクエストが取得されていない場合（Ｓ８５：Ｎｏ）又はＳ８７を実行した後、ＣＰＵ３１は、処理をＳ８９に移行する。
【００５２】
Ｓ８９でＣＰＵ３１は、終了指示が取得されたかを判断する。Ｓ８９は、図３のＳ２３と同じ処理である。従って、Ｓ８９に関する説明は、省略する。終了指示が取得されていない場合（Ｓ８９：Ｎｏ）、ＣＰＵ３１は、処理をＳ７１に戻す。その後、ＣＰＵ３１は、Ｓ７１で、遠隔会議の相手先となる端末装置の１台を、上述したように選択し、再度、Ｓ７３以降の処理を実行する。終了指示が取得された場合（Ｓ８５：Ｙｅｓ）、ＣＰＵ３１は、第一ジッタ処理を終了する。この場合、端末装置２１での遠隔会議は、終了する。
【００５３】
＜第二ジッタ処理＞
第二ジッタ処理について、図７を参照して説明する。第二ジッタ処理は、遠隔会議の相手先となる端末装置毎に実行される。実施形態では、第二ジッタ処理は、端末装置２２の端末ＩＤ「ＵＳＥＲ２２」に対応させて実行される。実施形態の例示とは異なり、例えば、遠隔会議が端末装置２１，２２，２３の３台の端末装置で実施されている場合、端末装置２１では、端末ＩＤ「ＵＳＥＲ２２」と「ＵＳＥＲ２３」にそれぞれ対応させた２個の第二ジッタ処理が実行される。
【００５４】
ＣＰＵ３１は、第二ジッタ処理が対応する端末ＩＤに関連付けてＲＡＭ３３に記憶された第二ジッタフラグがＯＮであるかを判断する（Ｓ９１）。第二ジッタ処理の説明では、第二ジッタ処理が対応する端末ＩＤに関連付けられた第二ジッタフラグを、「処理対象の第二ジッタフラグ」という（但し、図７では、単に「第二ジッタフラグ」と記載）。実施形態では、処理対象の第二ジッタフラグは、端末ＩＤ「ＵＳＥＲ２２」に関連付けられた第二ジッタフラグである。処理対象の第二ジッタフラグがＯＮでない場合（Ｓ９１：Ｎｏ）、ＣＰＵ３１は、処理をＳ１０９に移行する。処理対象の第二ジッタフラグがＯＮである場合（Ｓ９１：Ｙｅｓ）、ＣＰＵ３１は、第二ジッタ処理が対応する端末ＩＤに関連付けてＲＡＭ３３に記憶された第一ジッタフラグをＯＮにセットする（Ｓ９３）。第二ジッタ処理の説明では、第二ジッタ処理が対応する端末ＩＤに関連付けられた第一ジッタフラグを、「処理対象の第一ジッタフラグ」という（但し、図７では、単に「第一ジッタフラグ」と記載）。これに伴い、処理対象の第一ジッタフラグは、ＯＦＦからＯＮに更新される。実施形態では、処理対象の第一ジッタフラグは、端末ＩＤ「ＵＳＥＲ２２」に関連付けられた第一ジッタフラグである。
【００５５】
続けて、ＣＰＵ３１は、ダミーデータを生成する。生成されたダミーデータは、ＲＡＭ３３の所定の領域に記憶される。ダミーデータは、何れの形式のデータであってもよい。ダミーデータのデータ量は、一定量とされる。例えば、ダミーデータは、任意の音の音フレームをエンコードして生成された音データとされる。ダミーデータとしての音データの元となる音フレームは、図３の送信処理で取得される音フレーム（図３のＳ１１：Ｙｅｓ参照）と、同じサンプリング周波数で且つ同じ時間分（例えば、２０ｍｓｅｃ）の音フレームとされる。この場合、ダミーデータの元となる音フレームは、例えば、第二ジッタ処理のプログラムに関連付けて記憶装置３２又はＲＡＭ３３に記憶される。ダミーデータを、予め第二ジッタ処理のプログラムに関連付けて記憶装置３２又はＲＡＭ３３に記憶するようにしてもよい。この場合、Ｓ９５では、予め第二ジッタ処理のプログラムに関連付けて記憶装置３２又はＲＡＭ３３に記憶されたダミーデータが、前述したＲＡＭ３３の所定の領域に読み出される。
【００５６】
Ｓ９５を実行した後、ＣＰＵ３１は、計時部３８での、第二サイクル時間のカウントと、Ｓ９５の実行後の継続時間のカウントを開始させる。第二サイクル時間は、図５のＳ４３の第一サイクル時間と同様、１フレーム分の音フレームの長さ（例えば、２０ｍｓｅｃ）とされる。第二ジッタ処理の説明では、計時部３８での第二サイクル時間のカウントを、「第一カウント」といい、計時部３８でのＳ９５の実行後の継続時間のカウントを、「第二カウント」という。第一カウントと第二カウントは、第二ジッタ処理が対応する端末ＩＤに関連付けられた状態で実行される。ＣＰＵ３１は、第二ジッタ処理が対応する端末ＩＤに関連付けられた第一カウントが第二サイクル時間を経過したかを判断する（Ｓ９７）。第二ジッタ処理が対応する端末ＩＤに関連付けられた第一カウントが第二サイクル時間を経過していない場合（Ｓ９７：Ｎｏ）、ＣＰＵ３１は、Ｓ９７を繰り返して実行する。第二ジッタ処理が対応する端末ＩＤに関連付けられた第一カウントが第二サイクル時間を経過した場合（Ｓ９７：Ｙｅｓ）、ＣＰＵ３１は、ダミーデータを送信させる（Ｓ９９）。ダミーデータの送信先は、第二ジッタ処理が対応する端末ＩＤの端末装置２２とされる。ＣＰＵ３１は、ダミーデータの送信指令を通信部３７に出力する。送信指令に従い、ダミーデータが、通信部３７から端末装置２２へと送信される。Ｓ９１が肯定（Ｓ９１：Ｙｅｓ）された後の最初のＳ９５の実行後については、Ｓ９７は、省略するようにしてもよい。
【００５７】
Ｓ９９を実行した後、ＣＰＵ３１は、ＲＡＭ３３に記憶された音フラグがＯＮであるかを判断する（Ｓ１０１）。音フラグがＯＮでない場合（Ｓ１０１：Ｎｏ）、ＣＰＵ３１は、第二ジッタ処理が対応する端末ＩＤに関連付けられた第二カウントが継続時間を経過したかを判断する（Ｓ１０３）。継続時間が経過していない場合（Ｓ１０３：Ｎｏ）、ＣＰＵ３１は、処理をＳ９７に戻す。その後、再度、Ｓ９７以降の処理を実行する。即ち、第二ジッタ処理では、Ｓ９５を実行した後、継続時間が経過するまでの間、Ｓ９９でダミーデータが、第二サイクル時間毎に繰り返して送信される。換言すれば、第二ジッタ処理では、Ｓ９５を実行した後、継続時間が経過するまでの間、Ｓ９９でダミーデータが、図３のＳ１９で音データが送信される時間間隔と同じ時間間隔で、繰り返して送信される。
【００５８】
継続時間は、第二サイクル時間毎のダミーデータの送信を継続させ、後述する図９のＳ１４５又は図１０のＳ１７３で、図９のＳ１４７又は図１０のＳ１７５の判断基準とされる基準数以上の第一差分情報又は第二差分情報が取得できる期間を考慮して適宜決定される。継続時間が経過した場合（Ｓ１０３：Ｙｅｓ）、ＣＰＵ３１は、処理対象の第一ジッタフラグをＯＦＦにセットする（Ｓ１０５）。音フラグがＯＮである場合（Ｓ１０１：Ｙｅｓ）又はＳ１０５を実行した後、ＣＰＵ３１は、処理対象の第二ジッタフラグをＯＦＦにセットする（Ｓ１０７）。その後、ＣＰＵ３１は、処理をＳ１０９に移行する。
【００５９】
Ｓ１０９でＣＰＵ３１は、終了指示が取得されたかを判断する。Ｓ１０９は、図３のＳ２３と同じ処理である。従って、Ｓ１０９に関する説明は、省略する。終了指示が取得されていない場合（Ｓ１０９：Ｎｏ）、ＣＰＵ３１は、処理をＳ９１に戻す。その後、ＣＰＵ３１は、再度、Ｓ９１以降の処理を実行する。終了指示が取得された場合（Ｓ１０９：Ｙｅｓ）、ＣＰＵ３１は、第二ジッタ処理を終了する。この場合、端末装置２１での遠隔会議は、終了する。
【００６０】
＜算出処理＞
算出処理について、２つの実施例を説明する。第一実施例における、第一算出処理（図８参照）と第二算出処理（図９参照）は、端末装置２１と端末装置２２の間の一方向のデータ通信におけるジッタに関連する処理である。第二実施例における、第三算出処理（図１０参照）と第四算出処理（図１１参照）は、端末装置２１と端末装置２２の間を往復するデータ通信におけるジッタに関連する処理である。遠隔会議システム１０では、図３〜図７と図１２の各処理と共に、第一実施例の第一算出処理及び第二算出処理又は第二実施例の第三算出処理及び第四算出処理が、遠隔会議に参加する端末装置２１，２２で実行される。
【００６１】
第一算出処理と第二算出処理と第三算出処理と第四算出処理の各算出処理は、遠隔会議の相手先となる端末装置毎に実行される。実施形態では、各算出処理は、端末装置２２の端末ＩＤ「ＵＳＥＲ２２」に対応させて実行される。実施形態の例示とは異なり、例えば、遠隔会議が端末装置２１，２２，２３の３台の端末装置で実施されている場合、端末装置２１では、端末ＩＤ「ＵＳＥＲ２２」と「ＵＳＥＲ２３」にそれぞれ対応させた２個の各算出処理が実行される。
【００６２】
＜第一実施例＞
＜第一算出処理＞
第一算出処理について、図８を参照して説明する。ＣＰＵ３１は、第一算出処理の開始に合わせ、計時部３８での繰り返し時間のカウントを開始させる。計時部３８での繰り返し時間のカウントは、第一算出処理が対応する端末ＩＤに関連付けられた状態で実行される。繰り返し時間は、後述するＳ１２７で送信される算出データの送信間隔として予め設定されている。繰り返し時間は、数秒〜数十秒程度の時間とされる。例えば、繰り返し時間は、２秒とされる。繰り返し時間は、第一算出処理のプログラムに関連付けて記憶装置３２又はＲＡＭ３３に記憶される。
【００６３】
ＣＰＵ３１は、第一算出処理が対応する端末ＩＤに関連付けてＲＡＭ３３に記憶された第一ジッタフラグがＯＮであるかを判断する（Ｓ１２１）。第一算出処理の説明では、第一算出処理が対応する端末ＩＤに関連付けられた第一ジッタフラグを、「処理対象の第一ジッタフラグ」という（但し、図８では、単に「第一ジッタフラグ」と記載）。処理対象の第一ジッタフラグがＯＮでない場合（Ｓ１２１：Ｎｏ）、ＣＰＵ３１は、処理をＳ１２９に移行する。処理対象の第一ジッタフラグがＯＮである場合（Ｓ１２１：Ｙｅｓ）、ＣＰＵ３１は、第一算出処理が対応する端末ＩＤに関連付けられた計時部３８でのカウントが繰り返し時間を経過したかを判断する（Ｓ１２３）。前述の計時部３８によるカウントが繰り返し時間を経過していない場合（Ｓ１２３：Ｎｏ）、ＣＰＵ３１は、処理をＳ１２９に移行する。
【００６４】
第一算出処理が対応する端末ＩＤに関連付けられた計時部３８でのカウントが繰り返し時間を経過した場合（Ｓ１２３：Ｙｅｓ）、ＣＰＵ３１は、第一時間情報を取得し（Ｓ１２５）、算出データを送信させる（Ｓ１２７）。第一時間情報は、Ｓ１２７が実行されるタイミングを示す情報である。第一時間情報は、例えば、Ｓ１２５実行時の時刻とされる。Ｓ１２５とＳ１２７は、連続して実行される。従って、Ｓ１２５実行時の時刻は、Ｓ１２７実行時の時刻とみなすことができる。ＣＰＵ３１は、第一時間情報として、計時部３８で計測されている現在時刻を取得する。実施形態では、第一時間情報と後述する第三時間情報（図９のＳ１４３参照）は、計時部３８で計測されている現在時刻とする。算出データは、ジッタ値の算出に用いられるデータである。算出データは、第一時間情報と、算出データの送信元の端末装置２１の端末ＩＤ「ＵＳＥＲ２１」を含む。実施形態では、算出データの送信先は、第一算出処理が対応する端末ＩＤの端末装置２２とされる。ＣＰＵ３１は、第一時間情報の送信指令を通信部３７に出力する。送信指令に従い、第一時間情報が、通信部３７から端末装置２２へと送信される。その後、ＣＰＵ３１は、処理をＳ１２９に移行する。
【００６５】
Ｓ１２９でＣＰＵ３１は、終了指示が取得されたかを判断する。Ｓ１２９は、図３のＳ２３と同じ処理である。従って、Ｓ１２９に関する説明は、省略する。終了指示が取得されていない場合（Ｓ１２９：Ｎｏ）、ＣＰＵ３１は、処理をＳ１２１に戻す。その後、ＣＰＵ３１は、再度、Ｓ１２１以降の処理を実行する。終了指示が取得された場合（Ｓ１２１：Ｙｅｓ）、ＣＰＵ３１は、第一算出処理を終了する。この場合、端末装置２１での遠隔会議は、終了する。
【００６６】
＜第二算出処理＞
第二算出処理について、図９を参照して説明する。ＣＰＵ３１は、第二算出処理が対応する端末ＩＤを含む算出データが取得されたかを判断する（Ｓ１４１）。このような算出データは、遠隔会議の相手先となる端末装置２２で実行される図８のＳ１２７で、端末装置２２から端末装置２１に送信される。端末装置２１では、算出データが、通信部３７で受信される。ＣＰＵ３１は、通信部３７を介して算出データを取得する。前述の算出データが取得されていない場合（Ｓ１４１：Ｎｏ）、ＣＰＵ３１は、処理をＳ１５１に移行する。
【００６７】
第二算出処理が対応する端末ＩＤを含む算出データが取得された場合（Ｓ１４１：Ｙｅｓ）、ＣＰＵ３１は、計時部３８から第三時間情報を取得する（Ｓ１４３）。第三時間情報は、上述した通り、現在時刻である。ＣＰＵ３１は、取得された第三時間情報から、取得された算出データに含まれる第一時間情報を差し引いた値を取得する（Ｓ１４５）。実施形態では、第三時間情報と第一時間情報の差分となる時間情報を、「第一差分情報」という。第一差分情報は、第二算出処理が対応する端末ＩＤに関連付けてＲＡＭ３３の所定の領域に記憶される。
【００６８】
次に、ＣＰＵ３１は、第二算出処理が対応する端末ＩＤに関連付けてＲＡＭ３３に記憶された第一差分情報の数（第一差分情報数）が基準数以上であるかを判断する（Ｓ１４７）。基準数は、複数の第一差分情報からジッタ値を算出するに際し、ジッタ値の精度等を考慮して適宜設定される。なお、Ｓ１４５の判断条件は、「第一差分情報数＞基準数」としてもよい。第一差分情報数が基準数以上である場合（Ｓ１４７：Ｙｅｓ）、ＣＰＵ３１は、第二算出処理が対応する端末ＩＤに関連付けてＲＡＭ３３に記憶された基準数以上の第一差分情報からジッタ値を算出し、算出されたジッタ値を記憶させる（Ｓ１４９）。ジッタ値は、複数の第一差分情報の標準偏差に対応する。今回算出されたジッタ値は、第二算出処理が対応する端末ＩＤに関連付けられた状態で、ＲＡＭ３３の第一領域に記憶される。既に、第二算出処理が対応する端末ＩＤに関連付けられたジッタ値がＲＡＭ３３の第一領域に記憶されている場合、ジッタ値は、新たに算出されたジッタ値に更新される。ＣＰＵ３１は、ジッタ値の算出後、第二算出処理が対応する端末ＩＤに関連付けてＲＡＭ３３に記憶された複数の第一差分情報を消去する。第一差分情報数が基準数以上でない場合（Ｓ１４７：Ｎｏ）又はＳ１４９を実行した後、ＣＰＵ３１は、処理をＳ１５１に移行する。
【００６９】
Ｓ１５１でＣＰＵ３１は、終了指示が取得されたかを判断する。Ｓ１５１は、図３のＳ２３と同じ処理である。従って、Ｓ１５１に関する説明は、省略する。終了指示が取得されていない場合（Ｓ１５１：Ｎｏ）、ＣＰＵ３１は、処理をＳ１４１に戻す。その後、ＣＰＵ３１は、再度、Ｓ１４１以降の処理を実行する。終了指示が取得された場合（Ｓ１５１：Ｙｅｓ）、ＣＰＵ３１は、第二算出処理を終了する。この場合、端末装置２１での遠隔会議は、終了する。
【００７０】
＜第二実施例＞
＜第三算出処理＞
第三算出処理について、図１０を参照して説明する。ＣＰＵ３１は、第三算出処理を開始後、Ｓ１６１〜Ｓ１６７を実行する。ＣＰＵ３１は、Ｓ１６１が否定された場合（Ｓ１６１：Ｎｏ）、処理をＳ１８１に移行する。ＣＰＵ３１は、Ｓ１６３が否定された場合（Ｓ１６３：Ｎｏ）、処理をＳ１６９に移行する。Ｓ１６１〜Ｓ１６７は、図８のＳ１２１〜Ｓ１２７と同じ処理である。従って、Ｓ１６１〜Ｓ１６７に関するこの他の説明は、省略する。Ｓ１６９でＣＰＵ３１は、第三算出処理が対応する端末ＩＤを含む応答データが取得されたかを判断する。このような応答データは、遠隔会議の相手先となる端末装置２２で実行される図１１のＳ１９３で、端末装置２２から端末装置２１に送信される。応答データは、第一時間情報と、応答データの送信元の端末装置２２の端末ＩＤ「ＵＳＥＲ２２」を含む。端末装置２１では、応答データが、通信部３７で受信される。ＣＰＵ３１は、通信部３７を介して応答データを取得する。
【００７１】
第三算出処理が対応する端末ＩＤを含む応答データが取得されていない場合（Ｓ１６９：Ｎｏ）、ＣＰＵ３１は、処理をＳ１８１に移行する。前述の応答データが取得された場合（Ｓ１６９：Ｙｅｓ）、ＣＰＵ３１は、計時部３８から第二時間情報を取得する（Ｓ１７１）。第二時間情報は、応答データが取得されたタイミングを示す、第一時間情報に対応する情報である。実施形態では、第二時間情報は、図８のＳ１２５（Ｓ１２７）実行時の時刻に対応させ、Ｓ１７１実行時の時刻とされる。ＣＰＵ３１は、取得された第二時間情報から、取得された応答データに含まれる第一時間情報を差し引いた値を取得する（Ｓ１７３）。実施形態では、第二時間情報と第一時間情報の差分となる時間情報を、「第二差分情報」という。第二差分情報は、第三算出処理が対応する端末ＩＤに関連付けてＲＡＭ３３の所定の領域に記憶される。
【００７２】
次に、ＣＰＵ３１は、第三算出処理が対応する端末ＩＤに関連付けてＲＡＭ３３に記憶された第二差分情報の数（第二差分情報数）が基準数以上であるかを判断する（Ｓ１７５）。基準数は、図９のＳ１４７における基準数と同様、複数の第二差分情報からジッタ値を算出するに際し、ジッタ値の精度等を考慮して適宜設定される。なお、Ｓ１７５の判断条件は、「第二差分情報数＞基準数」としてもよい。第二差分情報数が基準数以上である場合（Ｓ１７５：Ｙｅｓ）、ＣＰＵ３１は、第三算出処理が対応する端末ＩＤに関連付けてＲＡＭ３３に記憶された基準数以上の第二差分情報数からジッタ値を算出する（Ｓ１７７）。ジッタ値は、複数の第二差分情報の標準偏差に対応する。なお、ジッタ値として、複数の第二差分情報をそれぞれ２で割った値の標準偏差が用いられてもよい。ＣＰＵ３１は、ジッタ値を算出後、第三算出処理が対応する端末ＩＤに関連付けてＲＡＭ３３に記憶された複数の第二差分情報を消去する。続けて、ＣＰＵ３１は、設定データを送信させる（Ｓ１７９）。設定データには、算出されたジッタ値に対応する設定情報と、送信元の端末装置２１の端末ＩＤ「ＵＳＥＲ２１」が含められる。ジッタ値に対応する設定情報は、ジッタ値自体であってもよい。設定情報は、Ｓ２１７で用いられる受信バッファ量自体であってもよい。即ち、設定情報は、ジッタ値を基に算出された所定の値であってもよい。設定データの送信先は、第三算出処理が対応する端末ＩＤの端末装置２２とされる。ＣＰＵ３１は、設定データの送信指令を通信部３７に出力する。送信指令に従い、設定データが、通信部３７から端末装置２２へと送信される。第二差分情報数が基準数以上でない場合（Ｓ１７５：Ｎｏ）又はＳ１７９を実行した後、ＣＰＵ３１は、処理をＳ１８１に移行する。
【００７３】
Ｓ１８１でＣＰＵ３１は、終了指示が取得されたかを判断する。Ｓ１８１は、図３のＳ２３と同じ処理である。従って、Ｓ１８１に関する説明は、省略する。終了指示が取得されていない場合（Ｓ１８１：Ｎｏ）、ＣＰＵ３１は、処理をＳ１６１に戻す。その後、ＣＰＵ３１は、再度、Ｓ１６１以降の処理を実行する。終了指示が取得された場合（Ｓ１８１：Ｙｅｓ）、ＣＰＵ３１は、第三算出処理を終了する。この場合、端末装置２１での遠隔会議は、終了する。
【００７４】
＜第四算出処理＞
第四算出処理について、図１１を参照して説明する。ＣＰＵ３１は、第四算出処理が対応する端末ＩＤを含む算出データが取得されたかを判断する（Ｓ１９１）。このような算出データは、遠隔会議の相手先となる端末装置２２で実行される図１０のＳ１６７で、端末装置２２から端末装置２１に送信される。端末装置２１では、算出データが、通信部３７で受信される。ＣＰＵ３１は、通信部３７を介して算出データを取得する。前述の算出データが取得されていない場合（Ｓ１９１：Ｎｏ）、ＣＰＵ３１は、処理をＳ１９９に移行する。
【００７５】
第四算出処理が対応する端末ＩＤを含む算出データが取得された場合（Ｓ１９１：Ｙｅｓ）、ＣＰＵ３１は、応答データを送信させる（Ｓ１９３）。応答データの送信先は、第四算出処理が対応する端末ＩＤ（算出データに含まれる端末ＩＤ）の端末装置２２とされる。ＣＰＵ３１は、取得された算出データから、これに含まれる第一時間情報を特定する。応答データには、特定された第一時間情報と、自装置の端末ＩＤが含められる。ＣＰＵ３１は、生成された応答データの送信指令を通信部３７に出力する。送信指令に従い、応答データが、通信部３７から端末装置２２へと送信される。
【００７６】
次に、ＣＰＵ３１は、第四算出処理が対応する端末ＩＤを含む設定データが取得されたかを判断する（Ｓ１９５）。このような設定データは、遠隔会議の相手先となる端末装置２２で実行される図１０のＳ１７９で、端末装置２２から端末装置２１に送信される。端末装置２１では、設定データが、通信部３７で受信される。ＣＰＵ３１は、通信部３７を介して設定データを取得する。続けて、ＣＰＵ３１は、取得された設定データに含まれる設定情報から特定されるジッタ値を記憶させる（Ｓ１９７）。特定されたジッタ値は、第四算出処理が対応する端末ＩＤに関連付けられた状態で、ＲＡＭ３３の第一領域に記憶される。既に、第四算出処理が対応する端末ＩＤに関連付けられたジッタ値がＲＡＭ３３の第一領域に記憶されている場合、ジッタ値は、新たに特定されたジッタ値に更新される。設定データが取得されていない場合（Ｓ１９５：Ｎｏ）又はＳ１９７を実行した後、ＣＰＵ３１は、処理をＳ１９９に移行する。
【００７７】
Ｓ１９９でＣＰＵ３１は、終了指示が取得されたかを判断する。Ｓ１９９は、図３のＳ２３と同じ処理である。従って、Ｓ１９９に関する説明は、省略する。終了指示が取得されていない場合（Ｓ１９９：Ｎｏ）、ＣＰＵ３１は、処理をＳ１９１に戻す。その後、ＣＰＵ３１は、再度、Ｓ１９１以降の処理を実行する。終了指示が取得された場合（Ｓ１９９：Ｙｅｓ）、ＣＰＵ３１は、第四算出処理を終了する。この場合、端末装置２１での遠隔会議は、終了する。
【００７８】
＜第三ジッタ処理＞
第三ジッタ処理について、図１２を参照して説明する。ＣＰＵ３１は、同じ端末ＩＤに関連付けてＲＡＭ３３の第一領域と第二領域にそれぞれ記憶された２個のジッタ値が異なっているかを判断する（Ｓ２１１）。ＲＡＭ３３の第一領域のジッタ値は、図９のＳ１４９又は図１１のＳ１９７で記憶される。ＲＡＭ３３の第二領域のジッタ値は、次のＳ２１３で記憶される。端末装置２２と接続された直後においては、ＲＡＭ３３の第二領域に、ＲＡＭ３３の第一領域のジッタ値と同じ端末ＩＤに関連付けられたジッタ値が記憶されていない。ＲＡＭ３３の第二領域にジッタ値が記憶されていない場合、Ｓ２１１では、２個のジッタ値は異なっていると判断される。第三ジッタ処理の説明では、Ｓ２１１で比較対象とされる２個のジッタ値が関連付けられた端末ＩＤを、「処理対象の端末ＩＤ」という。
【００７９】
処理対象の端末ＩＤに関連付けられた２個のジッタ値が異なっていない場合（Ｓ２１１：Ｎｏ）、ＣＰＵ３１は、処理をＳ２１９に移行する。前述の２個のジッタ値が異なっている場合（Ｓ２１１：Ｙｅｓ）、ＣＰＵ３１は、処理対象の端末ＩＤに関連付けてＲＡＭ３３の第一領域に記憶されたジッタ値を、ＲＡＭ３３の第二領域に記憶させる。処理対象の端末ＩＤに関連付けてＲＡＭ３３の第二領域にジッタ値が記憶されていた場合、そのジッタ値は、ＲＡＭ３３の第一領域のジッタ値に更新される。
【００８０】
次に、ＣＰＵ３１は、処理対象の端末ＩＤに関連付けられたジッタバッファに対する受信バッファ量を決定する（Ｓ２１５）。前述の受信バッファ量は、ＲＡＭ３３の第一領域に記憶されたジッタ値に対応する設定情報に従った値に決定される。続けて、ＣＰＵ３１は、処理対象の端末ＩＤに関連付けられたジッタバッファに対して、決定された受信バッファ量を設定する（Ｓ２１７）。既に、処理対象の端末ＩＤに関連付けられたジッタバッファに対して受信バッファ量が設定されていた場合、そのジッタバッファに対する受信バッファ量は、Ｓ２１５で新たに決定された受信バッファ量に更新される。
【００８１】
Ｓ２１７を実行した後、ＣＰＵ３１は、自装置において、ネットワーク９０を介した遠隔会議におけるデータ通信の通信状況が変化したかを判断する（Ｓ２１９）。Ｓ２１９は、図６のＳ８３と同じ処理である。従って、Ｓ２１９に関する説明は、省略する。通信状況が変化した場合（Ｓ２１９：Ｙｅｓ）、ＣＰＵ３１は、ジッタリクエストを送信させる（Ｓ２２１）。ジッタリクエストには、送信元の端末装置２１の端末ＩＤ「ＵＳＥＲ２１」が含められる。ジッタリクエストの送信先は、遠隔会議の相手先となる端末装置２２とされる。ＣＰＵ３１は、ジッタリクエストの送信指令を通信部３７に出力する。送信指令に従い、ジッタリクエストが、通信部３７から端末装置２２へと送信される。通信状況が変化していない場合（Ｓ２１９：Ｎｏ）又はＳ２２１を実行した後、ＣＰＵ３１は、処理をＳ２２３に移行する。
【００８２】
Ｓ２２３でＣＰＵ３１は、終了指示が取得されたかを判断する。Ｓ２２３は、図３のＳ２３と同じ処理である。従って、Ｓ２２３に関する説明は、省略する。終了指示が取得されていない場合（Ｓ２２３：Ｎｏ）、ＣＰＵ３１は、処理をＳ２１１に戻す。その後、ＣＰＵ３１は、再度、Ｓ２１１以降の処理を実行する。終了指示が取得された場合（Ｓ２２３：Ｙｅｓ）、ＣＰＵ３１は、第三ジッタ処理を終了する。この場合、端末装置２１での遠隔会議は、終了する。
【００８３】
＜実施形態の効果＞
実施形態によれば、次のような効果を得ることができる。
【００８４】
（１）遠隔会議システム１０では、音データの送信元である端末装置２１で集音された音の音フレームが無音状態でない場合、音フラグがＯＮにセットされる（図３のＳ１３：Ｎｏ，Ｓ１５参照）。この場合、無音状態でない音フレーム（有音状態の音フレーム）からは音データが生成され、有音状態の音フレームに対応する音データが、遠隔会議の相手先となる端末装置２２に送信される（図３のＳ１７，Ｓ１９参照）。端末装置２１では、音フラグがＯＮである場合、第一ジッタフラグがＯＮとされる（図６のＳ７３：Ｎｏ，Ｓ７７参照）。端末装置２１では、第一ジッタフラグがＯＮである場合、算出データが送信される（図８のＳ１２１：Ｙｅｓ，Ｓ１２７又は図１０のＳ１６１：Ｙｅｓ，Ｓ１６７参照）。その結果、音フラグがＯＮである場合、ジッタ値が新たに算出され、ジッタ値に対応する設定情報に従い、ジッタバッファの受信バッファ量が設定（更新）される（図９のＳ１４１：Ｙｅｓ，Ｓ１４９又は図１０のＳ１６１：Ｙｅｓ，Ｓ１７７及び図１１のＳ１９１：Ｙｅｓ，Ｓ１９３，Ｓ１９７、図１２のＳ２１１：Ｙｅｓ，Ｓ２１７参照）。
【００８５】
これに対して、音データの送信元である端末装置２１で集音された音の音フレームが無音状態である場合、音フラグがＯＦＦにセットされる（図３のＳ１３：Ｙｅｓ，Ｓ２１参照）。この場合、無音状態の音フレームからは音データは生成されず、無音状態の音フレームに対応する音データは、遠隔会議の相手先となる端末装置２２に送信されない（図３のＳ１７，Ｓ１９共に未実行参照）。端末装置２１では、音フラグがＯＦＦである場合、第一ジッタフラグがＯＦＦとされる（図６のＳ７３：Ｙｅｓ，Ｓ８１参照）。端末装置２１では、第一ジッタフラグがＯＦＦである場合、算出データが送信されない（図８のＳ１２１：Ｎｏ，Ｓ１２７未実行又は図１０のＳ１６１：Ｎｏ，Ｓ１６７未実行参照）。その結果、音フラグがＯＦＦである場合、ジッタ値は算出されず、ジッタ値に対応する設定情報に従い、ジッタバッファの受信バッファ量が設定（更新）されることがない（図９のＳ１４１：Ｎｏ，Ｓ１４９未実行又は図１０のＳ１６１：Ｎｏ，Ｓ１７７未実行及び図１１のＳ１９１：Ｎｏ，Ｓ１９３,Ｓ１９７共に未実行、図１２のＳ２１１：Ｎｏ，Ｓ２１７未実行参照）。
【００８６】
そのため、音データの状態に応じて、端末装置２２に設定されるジッタバッファの受信バッファ量を更新させ、又は受信バッファ量の更新を回避することができる。遠隔会議に出席しているユーザが発した音声が途切れることなくスムーズに出力される、遠隔会議を実現することが可能となる。
【００８７】
（２）遠隔会議システム１０では、音データの送信元である端末装置２１では、音フラグがＯＦＦである状態で、通信状況が変化したと判断された場合、第二ジッタフラグがＯＮにセットされる（図６のＳ７３：Ｙｅｓ，Ｓ８３：Ｙｅｓ，Ｓ８７参照）。遠隔会議の相手先となる端末装置２２では、通信状況が変化したと判断された場合、ジッタリクエストが送信される（図１２のＳ２１９：Ｙｅｓ，Ｓ２２１参照）。端末装置２１では、ジッタリクエストが取得された場合、第二ジッタフラグがＯＮにセットされる（図６のＳ８５：Ｙｅｓ，Ｓ８７参照）。端末装置２１では、第二ジッタフラグがＯＮである場合、第一ジッタフラグがＯＮにセットされ、生成されたダミーデータが、音データと同じ周期で繰り返して送信される（図７のＳ９１：Ｙｅｓ，Ｓ９３，Ｓ９５，Ｓ９７：Ｙｅｓ，Ｓ９９，Ｓ１０３：Ｎｏ参照）。ダミーデータが送信されている状態で、音フラグがＯＮに変化した場合、第二ジッタフラグは、ＯＦＦにセットされる（図７のＳ９９，Ｓ１０１：Ｙｅｓ，Ｓ１０７参照）。第二ジッタフラグがＯＦＦである場合、ダミーデータは送信されない（図７のＳ９１：Ｎｏ，Ｓ９９未実行参照）。
【００８８】
そのため、音データが送信されておらず、その結果、ネットワーク９０に対する負荷が低い状態であっても、通信状況が変化した場合、ネットワーク９０に対する負荷を、音データが送信されている場合に近づけることができる。このような状態で、変化した通信状況に応じたジッタ値を算出することができる。端末装置２２では、算出されたジッタ値に対応する設定情報に従い、受信バッファ量を設定（更新）することができる。端末装置２１で集音された音の音フレームが無音状態から有音状態へと変化した場合、端末装置２２では、受信バッファ量が、変化したタイミングにおける通信状況に合った値に設定されたジッタバッファに、端末装置２１からの音データをデコードして取得された音フレームを記憶させることができる。音データの送信の開始に合わせ、ダミーデータの送信を停止させることができる。
【００８９】
＜変形例＞
実施形態は、次のようにすることもできる。以下に示す変形例のうちの幾つかの構成は、適宜組み合わせて採用することもできる。以下では、上記とは異なる点を説明することとし、同様の点についての説明は、適宜省略する。
【００９０】
（１）上記では、遠隔会議システム１０で実施される遠隔会議を、遠隔会議に参加する端末装置２１，２２が直接通信するＰ２Ｐ方式とした。遠隔会議システムは、遠隔会議に参加する端末装置２１，２２がサーバ装置７０を介して通信する構成としてもよい。このような構成の遠隔会議システムでは、例えば、端末装置２１で集音された音の音フレームから生成された音データは、端末装置２１からサーバ装置７０に送信される。サーバ装置７０は、端末装置２１からの音データを受信後、この音データを、端末装置２２に送信する。端末装置２２で集音された音の音フレームから生成された音データは、端末装置２２からサーバ装置７０に送信される。サーバ装置７０は、端末装置２２からの音データを受信後、この音データを、端末装置２１に送信する。
【００９１】
サーバ装置７０は、サーバ装置７０と通信可能に接続中の端末装置の端末ＩＤが登録された接続リストを記憶する。接続リストは、会議ＩＤに関連付けて記憶される。従って、所定の会議ＩＤに関連付けられた接続リストには、その会議ＩＤによって識別された遠隔会議に参加中の端末装置の端末ＩＤが登録される。サーバ装置７０は、この接続リストに従い、音データの送信元の端末装置以外の端末装置に、受信された音データを送信する。所定の端末装置において、サーバ装置７０との接続が切断された場合、その端末装置の端末ＩＤは、接続リストから消去される。
【００９２】
図３〜図１２に示す各処理によって、端末装置２１，２２のうち、音データの送信先となる端末装置で、ジッタバッファの受信バッファ量を、上記同様に設定する構成は、遠隔会議がサーバ装置７０を介して実施される遠隔会議システムに採用することもできる。この場合、図３〜図１２に示す各処理において、端末装置２１，２２のうちの一方の端末装置から送信される各種のデータ等（図３のＳ１９、図７のＳ９９、図８のＳ１２７、図１０のＳ１６７，Ｓ１７９、図１１のＳ１９３、図１２のＳ２２１参照）は、サーバ装置７０を介して他方の端末装置に送信される。このような構成では、サーバ装置７０は、各種のデータ等を中継するだけである。従って、サーバ装置７０の処理負荷が高くなることを抑制することができる。
【００９３】
この他、端末装置２１，２２がサーバ装置７０を介して通信する遠隔会議システムでは、第一算出処理及び第二算出処理（図８及び図９参照）又は第三算出処理及び第四算出処理（図１０及び図１１参照）によるジッタ値の算出は、次に記載の第一態様又は第二態様のように行うようにしてもよい。第一態様は、第一算出処理及び第二算出処理（図８及び図９参照）に対応する。第二態様は、第三算出処理及び第四算出処理（図１０及び図１１参照）に対応する。第一態様と第二態様の説明では、端末装置２１を音データの送信元の端末装置とし、端末装置２２を音データの送信先の端末装置とする。
【００９４】
第一態様では、端末装置２１は、第一算出処理を実行し、図８のＳ１２７で算出データをサーバ装置７０に送信する。サーバ装置７０は、端末装置２１からの算出データを受信し、第二算出処理を実行する。この場合、図９のＳ１４９では、ジッタ値が算出されると、サーバ装置７０では、算出されたジッタ値に対応する設定情報が、端末装置２２に送信される。図９のＳ１５１に対応する判断は、上述した接続リストに従い行われる。即ち、サーバ装置７０では、接続リストに少なくとも１個の端末ＩＤが登録されている場合、Ｓ１５１に対応する判断は、否定される（図９のＳ１５１：Ｎｏ参照）。一方、接続リストに端末ＩＤが登録されていない場合、Ｓ１５１に対応する判断は、肯定される（図９のＳ１５１：Ｙｅｓ参照）。端末装置２２では、サーバ装置７０からの設定情報が受信される。サーバ装置７０は、第二算出処理を実行しつつ、第一算出処理を実行する。サーバ装置７０では、図８のＳ１２１に対応する判断は、端末装置２１からの算出データがサーバ装置７０の通信部を介して取得されているかに従い行われる。即ち、サーバ装置７０では、端末装置２１からの算出データが取得されている間、Ｓ１２１に対応する判断は、肯定される（図８のＳ１２１：Ｙｅｓ参照）。一方、サーバ装置７０では、端末装置２１からの算出データが取得されなくなった場合、Ｓ１２１に対応する判断は、否定される（図８のＳ１２１：Ｎｏ参照）。図８のＳ１２９に対応する処理は、図９のＳ１５１に関連して前述したように行われる。端末装置２２は、第一算出処理を実行中のサーバ装置７０から送信される算出データを受信しつつ、第二算出処理を実行する。端末装置２２では、サーバ装置７０からの設定情報から特定されるジッタ値と、自装置で算出されたジッタ値が合成されてジッタ値が算出される。合成されたジッタ値は、ＲＡＭ３３の第一領域に相当する端末装置２２のＲＡＭの所定領域に記憶される（図９のＳ１４９参照）。端末装置２２では、図１２に示す第三ジッタ処理が、上記同様に実行される。ジッタ値に対応する設定情報については、図１０のＳ１７９に関連して説明した通りである。
【００９５】
第二態様では、端末装置２１は、第三算出処理を実行し、図１０のＳ１６７で算出データをサーバ装置７０に送信する。サーバ装置７０は、端末装置２１からの算出データを受信し、第四算出処理を実行する。この場合、図１１のＳ１９７では、取得された設定データが端末装置２２に送信される。図１１のＳ１９９に対応する処理は、図９のＳ１５１に関連して上述したように行われる。端末装置２２では、サーバ装置７０からの設定データが受信される。サーバ装置７０は、第四算出処理を実行しつつ、第三算出処理を実行する。サーバ装置７０では、図１０のＳ１６１に対応する判断は、端末装置２１からの算出データがサーバ装置７０の通信部を介して取得されているかに従い行われる。即ち、サーバ装置７０では、端末装置２１からの算出データが取得されている間、Ｓ１６１に対応する判断は、肯定される（図１０のＳ１６１：Ｙｅｓ参照）。一方、サーバ装置７０では、端末装置２１からの算出データが取得されなくなった場合、Ｓ１６１に対応する判断は、否定される（図１０のＳ１６１：Ｎｏ参照）。図１０のＳ１８１に対応する処理は、図９のＳ１５１に関連して上述したように行われる。端末装置２２は、第三算出処理を実行中のサーバ装置７０から送信される算出データと設定データを受信しつつ、第四算出処理を実行する。端末装置２２では、サーバ装置７０からの設定データに含まれる設定情報から特定されるジッタ値と、自装置で算出されたジッタ値が合成されてジッタ値が算出される。合成されたジッタ値は、ＲＡＭ３３の第一領域に相当する端末装置２２のＲＡＭの所定領域に記憶される（図１１のＳ１９７参照）。端末装置２２では、図１２に示す第三ジッタ処理が、上記同様に実行される。
【００９６】
第一態様又は第二態様が採用される場合において、例えば、端末装置２２とサーバ装置７０の間の通信状況が変化することなく、端末装置２１とサーバ装置７０の間の通信状況が変化することも想定される。このような場合、端末装置２１とサーバ装置７０の間では、上述した第一態様又は第二態様の処理が行われる一方、サーバ装置７０と端末装置２２の間では、上述した第一態様又は第二態様の処理は行わないようにしてもよい。この場合、端末装置２２では、自装置で実行された第二算出処理又は第四算出処理によって記憶されたジッタ値が、合成後も継続して記憶される。端末装置２２では、端末装置２１とサーバ装置７０の間で、新たに実行された第一態様又は第二態様の処理におけるジッタ値と、自装置に記憶された前述のジッタ値を、再度合成してジッタ値が算出される。このような構成によれば、サーバ装置７０と端末装置２２の間を送受信されるデータの通信量を抑制することができる。
【００９７】
（２）上記では、第一ジッタ処理（図６参照）のＳ８３で通信状況が変化したかを判断した。Ｓ８３は、省略するようにしてもよい。第三ジッタ処理（図１２参照）のＳ２１９で通信状況が変化したかを判断し、通信状況が変化した場合（図１２のＳ２１９：Ｙｅｓ参照）、Ｓ２２１でジッタリクエストが送信される。Ｓ２１９とＳ２２１は、省略するようにしてもよい。この場合、図６のＳ８５も、省略される。Ｓ８３の判断が否定された場合（図６のＳ８３：Ｎｏ）、処理は、Ｓ８９に移行される。
【符号の説明】
【００９８】
１０  遠隔会議システム
２１，２２，２３  端末装置
３１  ＣＰＵ
３２  記憶装置
３３  ＲＡＭ
３４  表示部
３５  操作部
３６  スピーカ
３７  通信部
３８  計時部
３９  接続インターフェース（接続Ｉ／Ｆ）
４０  バス
４１  カメラ
４２  マイク
５０  遠隔会議画面
５１  撮影画像
５２  終了ボタン
５３  資料画像
７０  サーバ装置
９０  ネットワーク
【図１】
0006399001.tif 000002
【図２】
0006399001.tif 000003
【図３】
0006399001.tif 000004
【図４】
0006399001.tif 000005
【図５】
0006399001.tif 000006
【図６】
0006399001.tif 000007
【図７】
0006399001.tif 000008
【図８】
0006399001.tif 000009
【図９】
0006399001.tif 000010
【図１０】
0006399001.tif 000011
【図１１】
0006399001.tif 000012
【図１２】
0006399001.tif 000013