(57)【要約】【課題】、映像の品質の低下を抑制しつつ、映像データの伝送速度を使用可能帯域以下に容易に調整可能な通信プログラム、通信装置、及び通信方法を提供する。【解決手段】サーバ装置のＣＰＵは、データ量が大きい複数の第１映像データ、及び、データ量が大きい第２映像データを、第１端末装置から受信する。ＣＰＵは、ネットワークにおける第２端末装置との間の帯域を示す流入量を特定する（Ｓ４１）。ＣＰＵは、複数の第２映像データのうち、第２端末装置に送信する第２映像データを選択するためのスキップ量を算出する（Ｓ４３）。ＣＰＵは、算出されたスキップ量が閾値Ｔｈ以上か判断する（Ｓ４５）。ＣＰＵは、閾値Ｔｈ以上の場合（Ｓ４５：ＹＥＳ）、第２映像データを第２端末装置に送信する（Ｓ５１）。ＣＰＵは、パラメータが閾値Ｔｈよりも小さい場合（Ｓ４５：ＮＯ）、複数の第１映像データを第２端末装置に送信する。【選択図】図５
2016127320.tif 000002
【特許請求の範囲】
【請求項１】
ネットワークを介して第１端末装置及び第２端末装置と通信可能な通信装置のコンピュータに、
第１映像の１フレーム分のデータを示す第１映像データ、及び、前記第１映像よりも単位時間当たりのデータ量が大きい第２映像の１フレーム分のデータを示す第２映像データを、前記第１端末装置から取得する第１取得ステップと、
前記ネットワークにおける前記第２端末装置との間の帯域を示す帯域情報を決定する第１決定ステップと、
前記第１取得ステップによって取得された複数の第２映像データのうち、前記第２端末装置に送信する第２映像データを選択するための選択パラメータを、前記第１決定ステップによって決定された前記帯域情報に基づいて決定する第２決定ステップと、
前記第２決定ステップによって決定された前記選択パラメータに基づいて選択される、前記送信する第２映像データの第１割合が、所定閾値以上か判断する第１判断ステップと、
前記第１判断ステップによって前記第１割合が前記所定閾値以上と判断されたことに応じ、前記選択パラメータに応じて選択される前記送信する第２映像データを、前記第２端末装置に送信し、前記第１判断ステップによって、前記第１割合が前記所定閾値よりも小さいと判断されたことに応じ、複数の第１映像データを前記第２端末装置に送信する送信ステップと
を実行させるための通信プログラム。
【請求項２】
前記第１判断ステップによって前記第１割合が前記所定閾値よりも小さいと判断された時点の前記帯域情報を、記憶部に記憶する記憶ステップを更に実行し、
前記第１決定ステップは、少なくとも、前記第２端末装置との間で送受信される計測データに基づいて前記帯域情報を決定し、
前記第１決定ステップによって決定された前記帯域情報によって示される帯域が、前記記憶ステップによって前記記憶部に記憶された前記帯域情報によって示される帯域よりも大きいか判断する第２判断ステップを更に実行し、
前記第２決定ステップは、前記第２判断ステップによって大きいと判断されたことに応じて、前記記憶ステップによって前記記憶部に記憶された前記帯域情報に基づいて前記選択パラメータを決定することを特徴とする請求項１に記載の通信プログラム。
【請求項３】
前記第１決定ステップは、少なくとも、前記第２端末装置に送信される前記複数の第２映像データの単位時間当たりの量である流出量に基づいて、前記帯域情報を決定することを特徴とする請求項１又は２に記載の通信プログラム。
【請求項４】
前記第２決定ステップは、前記流出量と、前記第１端末装置から受信される前記複数の第２映像データの単位時間当たりの量である流入量との比に基づいて、前記選択パラメータを決定することを特徴とする請求項３に記載の通信プログラム。
【請求項５】
前記第２決定ステップによって決定された前記選択パラメータが、所定の第１時間以上変化しなかったか判断する第３判断ステップを更に実行し、
前記第２決定ステップは、前記第３判断ステップによって、前記選択パラメータが前記第１時間以上変化しなかったと判断された場合、変化しなかった前記選択パラメータに対応する前記第１割合よりも大きい第２割合に対応する選択パラメータを新たに決定することを特徴とする請求項１から４の何れかに記載の通信プログラム。
【請求項６】
前記送信ステップによって、前記複数の第２映像データのうち最初の第２映像データが送信されてから、前記第１判断ステップによって前記第１割合が前記所定閾値よりも小さいと判断されるまでの経過時間が、所定の第２時間以上か判断する第４判断ステップを更に実行し、
前記第１決定ステップは、前記第４判断ステップによって前記経過時間が前記第２時間以上と判断された場合、前記計測データに基づいて前記帯域情報を決定することを特徴とする請求項２に記載の通信プログラム。
【請求項７】
ネットワークを介して第１端末装置及び第２端末装置と通信可能な通信装置であって、
第１映像の１フレーム分のデータを示す第１映像データ、及び、前記第１映像よりも単位時間当たりのデータ量が大きい第２映像の１フレーム分のデータを示す第２映像データを、前記第１端末装置から取得する第１取得手段と、
前記ネットワークにおける前記第２端末装置との間の帯域を示す帯域情報を決定する第１決定手段と、
前記第１取得手段によって取得された複数の第２映像データのうち、前記第２端末装置に送信する第２映像データを選択するための選択パラメータを、前記第１決定手段によって決定された前記帯域情報に基づいて決定する第２決定手段と、
前記第２決定手段によって決定された前記選択パラメータに基づいて選択される、前記送信する第２映像データの割合が、所定閾値以上か判断する第１判断手段と、
前記第１判断手段によって前記割合が前記所定閾値以上と判断されたことに応じ、前記選択パラメータに応じて選択される前記送信する第２映像データを、前記第２端末装置に送信し、前記第１判断手段によって、前記割合が前記所定閾値よりも小さいと判断されたことに応じ、複数の第１映像データを前記第２端末装置に送信する送信手段と
を備えたことを特徴とする通信装置。
【請求項８】
ネットワークを介して第１端末装置及び第２端末装置と通信を行うための通信方法であって、
第１映像の１フレーム分のデータを示す第１映像データ、及び、前記第１映像よりも単位時間当たりのデータ量が大きい第２映像の１フレーム分のデータを示す第２映像データを、前記第１端末装置から取得する第１取得ステップと、
前記ネットワークにおける前記第２端末装置との間の帯域を示す帯域情報を決定する第１決定ステップと、
前記第１取得ステップによって取得された複数の第２映像データのうち、前記第２端末装置に送信する第２映像データを選択するための選択パラメータを、前記第１決定ステップによって決定された前記帯域情報に基づいて決定する第２決定ステップと、
前記第２決定ステップによって決定された前記選択パラメータに基づいて、映像データの送信モードを第１モードと第２モードの何れか一方に決定する第３決定ステップであって、
前記選択パラメータに基づいて選択される、前記送信する第２映像データの割合が、所定閾値よりも小さい場合に、前記第１モードとして、前記第１映像データを送信すると決定し、
前記割合が前記所定閾値以上の場合に、前記第２モードとして、前記送信する複数の第２映像データを送信すると決定する、
第３決定ステップと、
前記第３決定ステップによって決定された前記送信モードに従って、映像データを前記第２端末装置に送信する送信ステップと、
を備えたことを特徴とする通信方法。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、映像データの通信を行うための通信プログラム、通信装置、及び、通信方法に関する。
【背景技術】
【０００２】
通信装置は、ネットワークを介してデータを送信する場合、ネットワークにおける使用可能な容量を超えないように、通信装置から送出するデータの伝送速度を調整することが望ましい。理由は、ネットワークにおける使用可能な容量を伝送速度が超えると、データの輻輳、遅延、ゆらぎ、パケットロス等の問題が生じ易くなるためである。以下、ネットワークにおける容量を「伝送路容量」という。ネットワークにおける使用可能な伝送路容量を、「使用可能帯域」という。
【０００３】
映像データのフレームレートを、使用可能帯域に応じて調節する技術が提案されている。例えば、特許文献１に記載されたテレビ会議システムにおいて、端末装置は、動画像の表示サイズに応じたコマンドを会議コントローラに送信する。会議コントローラは、端末装置から受信したコマンドに基づき、端末装置に送信する動画像データとして、低画質動画像データ又は高画質動画像データを選択する。会議コントローラは、使用可能帯域に応じて、選択された動画像データを送信するときのフレームレートを調整する。
【先行技術文献】
【特許文献】
【０００４】
【特許文献１】特開２０１２−１６９６９４号公報
【発明の概要】
【発明が解決しようとする課題】
【０００５】
上記のテレビ会議システムにおいて、端末装置からのコマンドに基づいて高画質動画像データが選択され且つ使用可能帯域が狭い場合を例に挙げる。この場合、低画質動画像データが選択され且つ使用可能帯域が広い場合と比較して、会議コントローラは、フレームレートを大幅に削減して高画質動画像データを送信することになる。この場合、端末装置において滑らかな動画像の表示を行うことができない可能性がある。
【０００６】
上記のテレビ会議システムにおいて、端末装置は、動画像の表示サイズの代わりに使用可能帯域に応じたコマンドを会議コントローラに送信することで、動画像データを要求する場合も考えられる。この場合、端末装置は、使用可能帯域が狭い場合に低画質動画像データを要求し、使用可能帯域が広い場合に高画質動画像データを要求する。これによって、会議コントローラによって動画像データが送信されるときのフレームレートが大幅に削減される可能性は低減される。しかし、この場合、低画質動画像データと高画質動画像データとの間のデータ量の差に起因して、次の２つの問題が発生する可能性がある。
【０００７】
１つ目は、輻輳等の発生によって使用可能帯域が一時的に狭くなったときに、低画質動画像データが端末装置から要求された場合の問題である。この場合、通常は使用可能帯域に余裕があるにも関わらず、端末装置で表示される動画像の品質が低下する可能性がある。２つ目は、使用可能帯域が広いときに高画質動画像データが端末装置から要求された場合の問題である。この場合、使用可能帯域が変動したことに応じ、使用可能帯域が高画質動画像データの容量を一時的に下回る可能性が、低画質動画像データの場合よりも高くなる。使用可能帯域が高画質動画像データの容量を一時的に下回った場合、輻輳等が再発する可能性がある。
【０００８】
本発明の目的は、映像の品質の低下を抑制しつつ、映像データの伝送速度を使用可能帯域以下に調整可能な通信プログラム、通信装置、及び通信方法を提供することにある。
【課題を解決するための手段】
【０００９】
本発明の第１態様に係る通信プログラムは、ネットワークを介して第１端末装置及び第２端末装置と通信可能な通信装置のコンピュータに、第１映像の１フレーム分のデータを示す第１映像データ、及び、前記第１映像よりも単位時間当たりのデータ量が大きい第２映像の１フレーム分のデータを示す第２映像データを、前記第１端末装置から取得する第１取得ステップと、前記ネットワークにおける前記第２端末装置との間の帯域を示す帯域情報を決定する第１決定ステップと、前記第１取得ステップによって取得された複数の第２映像データのうち、前記第２端末装置に送信する第２映像データを選択するための選択パラメータを、前記第１決定ステップによって決定された前記帯域情報に基づいて決定する第２決定ステップと、前記第２決定ステップによって決定された前記選択パラメータに基づいて選択される、前記送信する第２映像データの第１割合が、所定閾値以上か判断する第１判断ステップと、前記第１判断ステップによって前記第１割合が前記所定閾値以上と判断されたことに応じ、前記選択パラメータに応じて選択される前記送信する第２映像データを、前記第２端末装置に送信し、前記第１判断ステップによって、前記第１割合が前記所定閾値よりも小さいと判断されたことに応じ、複数の第１映像データを前記第２端末装置に送信する送信ステップとを実行させる。
【００１０】
第１態様によれば、第１端末装置は、基となる映像に対応する映像データとして、単位時間当たりのデータ量が相対的に小さい第１映像データ、及び、単位時間当たりのデータ量が相対的に大きい第２映像データを、通信装置に送信する。通信装置は、ネットワークにおける第２端末装置との間の帯域情報を決定し、帯域情報に基づいて選択パラメータを決定する。通信装置は、選択パラメータに対応する第１割合が所定閾値以上の場合、選択パラメータに応じて選択される第２映像データを、第２端末装置に送信する。一方、通信装置は、選択パラメータに対応する第１割合が所定閾値よりも小さい場合、複数の第１映像データを第２端末装置に送信する。
【００１１】
上記の場合、通信装置は、第２端末装置との間の帯域が相対的に小さい場合、単位時間当たりのデータ量が相対的に小さい複数の第１映像データを送信する。これによって、通信装置は、映像データの伝送速度を使用可能帯域以下に容易に調整することが可能となる。又、通信装置は、第２端末装置との間の帯域が相対的に大きい場合、単位時間当たりのデータ量が相対的に大きい複数の第２映像データを、選択的に送信する。通信装置は、複数の第２映像データの一部を送信することによって、第２映像データの容量が使用可能帯域を超えることを抑制する。このため、通信装置は、第２端末装置における映像の品質の低下を抑制できる。
【００１２】
本発明の第２態様に係る通信装置は、ネットワークを介して第１端末装置及び第２端末装置と通信可能な通信装置であって、第１映像の１フレーム分のデータを示す第１映像データ、及び、前記第１映像よりも単位時間当たりのデータ量が大きい第２映像の１フレーム分のデータを示す第２映像データを、前記第１端末装置から取得する第１取得手段と、前記ネットワークにおける前記第２端末装置との間の帯域を示す帯域情報を決定する第１決定手段と、前記第１取得手段によって取得された複数の第２映像データのうち、前記第２端末装置に送信する第２映像データを選択するための選択パラメータを、前記第１決定手段によって決定された前記帯域情報に基づいて決定する第２決定手段と、前記第２決定手段によって決定された前記選択パラメータに基づいて選択される、前記送信する第２映像データの割合が、所定閾値以上か判断する第１判断手段と、前記第１判断手段によって前記割合が前記所定閾値以上と判断されたことに応じ、前記選択パラメータに応じて選択される前記送信する第２映像データを、前記第２端末装置に送信し、前記第１判断手段によって、前記割合が前記所定閾値よりも小さいと判断されたことに応じ、複数の第１映像データを前記第２端末装置に送信する送信手段とを備えている。第２態様によれば、第１態様と同様の効果を奏することができる。
【００１３】
本発明の第３態様に係る通信方法は、ネットワークを介して第１端末装置及び第２端末装置と通信を行うための通信方法であって、第１映像の１フレーム分のデータを示す第１映像データ、及び、前記第１映像よりも単位時間当たりのデータ量が大きい第２映像の１フレーム分のデータを示す第２映像データを、前記第１端末装置から取得する第１取得ステップと、前記ネットワークにおける前記第２端末装置との間の帯域を示す帯域情報を決定する第１決定ステップと、前記第１取得ステップによって取得された複数の第２映像データのうち、前記第２端末装置に送信する第２映像データを選択するための選択パラメータを、前記第１決定ステップによって決定された前記帯域情報に基づいて決定する第２決定ステップと、前記第２決定ステップによって決定された前記選択パラメータに基づいて、映像データの送信モードを第１モードと第２モードの何れか一方に決定する第３決定ステップであって、前記選択パラメータに基づいて選択される、前記送信する第２映像データの割合が、所定閾値よりも小さい場合に、前記第１モードとして、前記第１映像データを送信すると決定し、前記割合が前記所定閾値以上の場合に、前記第２モードとして、前記送信する複数の第２映像データを送信すると決定する、第３決定ステップと、前記第３決定ステップによって決定された前記送信モードに従って、映像データを前記第２端末装置に送信する送信ステップと、を備えている。第３態様によれば、第１態様と同様の効果を奏することができる。
【図面の簡単な説明】
【００１４】
【図１】通信システム１の概要、及び、サーバ装置１１及び端末装置１２の電気的構成を示す図である。
【図２】サーバ装置１１及び端末装置１２Ａ、１２Ｂ間の通信の概要を示す図である。
【図３】メイン処理のフローチャートである。
【図４】転送処理のフローチャートである。
【図５】第２転送処理のフローチャートである。
【図６】算出処理のフローチャートである。
【図７】復帰処理のフローチャートである。
【発明を実施するための形態】
【００１５】
＜通信システム１の概要＞
図１を参照し、通信システム１について説明する。通信システム１は、サーバ装置１１、及び、端末装置１２Ａ、１２Ｂ、１２Ｃを備える。端末装置１２Ａ、１２Ｂ、１２Ｃを総称して「端末装置１２」という。サーバ装置１１、及び、端末装置１２は、ネットワーク１４を介して接続する。例えば、通信システム１は、端末装置１２のそれぞれのユーザ間でＷｅｂ会議を実現させるためのシステムである。以下では、端末装置１２Ａ、１２Ｂ、１２Ｃのそれぞれが共通のＷｅｂ会議に参加していることを前提として説明する。
【００１６】
サーバ装置１１は、周知のMulti-point Control Unit（ＭＣＵ）に対して、後述するメイン処理（図３〜図７参照）を含むＷｅｂ会議処理を実行させるためのアプリケーションのプログラムをインストールことで構成される。端末装置１２は、周知の汎用Personal Computer（ＰＣ）である。なお、サーバ装置１１は、汎用のサーバに対してプログラムをインストールすることで構成されてもよい。端末装置１２の少なくとも１つは、遠隔会議用の専用端末であってもよい。端末装置１２の少なくとも１つは、スマートフォン、タブレット端末等のモバイル端末であってもよい。
【００１７】
＜電気的構成＞
サーバ装置１１の電気的構成を説明する。サーバ装置１１は、サーバ装置１１の制御を司るＣＰＵ１１１を備える。ＣＰＵ１１１は、ＲＯＭ１１２、ＲＡＭ１１３、記憶部１１４、通信インターフェース（Ｉ／Ｆ）１１５、及び、ドライブ装置１１６と電気的に接続する。ＲＯＭ１１２には、ブートプログラム、Basic Input/Output System（ＢＩＯＳ）等が記憶される。ＲＡＭ１１３には、タイマやカウンタ、一時的なデータが記憶される。記憶部１１４には、ＣＰＵ１１１に処理を実行させるためのプログラム、及びＯＳが記憶される。記憶部１１４は、コンピュータが読み取り可能な非一時的な記憶媒体、たとえは、ハードディスク等で構成される。但し、記憶部１１４は、例えば、フラッシュメモリ及び／又はＲＯＭ等、他の非一時的な記憶媒体で構成されてもよい。非一時的な記憶媒体は、情報を記憶する期間に関わらず、情報を記憶可能な記憶媒体であればよい。非一時的な記憶媒体は、一時的な記憶媒体（例えば、伝送される信号）を含まなくてもよい。
【００１８】
通信Ｉ／Ｆ１１５は、サーバ装置１１がネットワーク１４に接続するためのインターフェース素子（例えば、ＬＡＮカードなど）である。ＣＰＵ１１１は、通信Ｉ／Ｆ１１５を介して、ネットワーク１４に接続する他の機器とデータの送受信を行う。ドライブ装置１１６は、半導体メモリ等のコンピュータが読み取り可能な記憶媒体１１６Ａに記憶された情報を読み出すことができる。ＣＰＵ１２１は、記憶媒体１１６Ａに記憶されたプログラムをドライブ装置１１６によって読み出し、記憶部１１４に記憶できる。
【００１９】
なお、ＣＰＵ１１１として、汎用的なプロセッサーが用いられてもよい。ＣＰＵ１１１によって実行される処理の一部は、他の電子部品（例えば、ＡＳＩＣ）によって実行されてもよい。ＣＰＵ１１１によって実行される処理は、複数の電子機器（つまり、複数のＣＰＵ）によって分散処理されてもよい。ＣＰＵ１２１によって実行されてもよい。プログラムは、例えば、ネットワーク１４に接続された別のサーバからダウンロードされて（即ち、伝送信号として送信され）、記憶部１１４に記憶されてもよい。この場合、プログラムは、別のサーバに備えられたハードディスクなどの非一時的な記憶媒体に保存されていることとなる。
【００２０】
端末装置１２の電気的構成を説明する。端末装置１２は、端末装置１２の制御を司るＣＰＵ１２１を備える。ＣＰＵ１２１は、ＲＯＭ１２２、ＲＡＭ１２３、記憶部１２４、カメラ１２５、表示部１２６、通信Ｉ／Ｆ１２７、入力部１２８、マイク１２９、スピーカ１３０、及び、ドライブ装置１３１と電気的に接続する。ＲＯＭ１２２には、ブートプログラム、ＢＩＯＳ等が記憶される。ＲＡＭ１２３には、タイマやカウンタ、フラグ情報、一時的なデータ等が記憶される。記憶部１２４は、コンピュータが読み取り可能な非一時的な記憶媒体、たとえは、ハードディスク等で構成される。記憶部１２４には、ＣＰＵ１２１に処理を実行させるためのプログラム、及びＯＳが記憶される。但し、記憶部１２４は、例えば、フラッシュメモリ及び／又はＲＯＭ等で構成されてもよい。
【００２１】
表示部１２６は、Liquid Crystal Display（ＬＣＤ）などのディスプレイである。通信Ｉ／Ｆ１２７は、端末装置１２がネットワーク１４に接続するためのインターフェース素子（例えば、ＬＡＮカードなど）、又は、端末装置１２がネットワーク１４に接続した図示外のアクセスポイントと接続して無線通信を行うためのインターフェース素子（例えば、Ｗｉ−Ｆｉ（登録商標）通信モデムなど）である。ＣＰＵ１２１は、通信Ｉ／Ｆ１２７を介して、ネットワーク１４に接続する他の機器とデータの送受信を行う。入力部１２８は、例えば、ボタン、キーボード、マウス、及び、タッチパネル等を含む。ドライブ装置１３１は、半導体メモリ等のコンピュータが読み取り可能な記憶媒体１３１Ａに記憶された情報を読み出すことができる。ＣＰＵ１２１は、記憶媒体１３１Ａに記憶されたプログラムをドライブ装置１３１によって読み出し、記憶部１２４に記憶できる。
【００２２】
なお、ＣＰＵ１２１として、汎用的なプロセッサーが用いられてもよい。ＣＰＵ１２１によって実行される処理の一部は、他の電子部品（例えば、ＡＳＩＣ）によって実行されてもよい。ＣＰＵ１２１によって実行される処理は、複数の電子機器（つまり、複数のＣＰＵ）によって分散処理されてもよい。ＣＰＵ１１１によって実行されてもよい。プログラムは、例えば、ネットワーク１４に接続された別のサーバからダウンロードされて（即ち、伝送信号として送信され）、記憶部１２４に記憶されてもよい。この場合、プログラムは、別のサーバに備えられたハードディスクなどの非一時的な記憶媒体に保存されていることとなる。
【００２３】
＜映像データの通信方法＞
サーバ装置１１及び端末装置１２Ａ、１２Ｂ、１２Ｃ間で実行される映像データの通信の概要について説明する。端末装置１２ＡのＣＰＵ１２１が、特定の映像を、Ｗｅｂ会議において端末装置１２Ｂ、１２Ｃと共有する場合を例に挙げる。「共有」とは、端末装置１２のそれぞれの表示部１２６に、特定の映像が表示されることを示す。以下、共有される特定の映像を、「共有映像」という。端末装置１２ＡのＣＰＵ１２１は、共有映像を共有する場合、共有映像のデータをサーバ装置１１に送信する。サーバ装置１１のＣＰＵ１１１は、端末装置１２Ａからデータを受信し、端末装置１２Ｂ、１２Ｃに転送する。本実施形態では、共有映像は、カメラ１２５による撮影に応じてサーバ装置１１に送信される撮影映像である。なお、共有映像は、記憶部１１４に予め記憶された動画像でもよい。
【００２４】
映像データの通信の詳細は、以下の通りである。端末装置１２ＡのＣＰＵ１２１は、カメラ１２５から取得される共有映像としての撮影映像を、所定のフォーマット（例えば、H.２６４などの動画規格）でエンコードすることで、１フレームの映像データを生成する。撮影映像は所定の時間間隔で逐次取得されるため、共有映像は、複数のフレームで構成される。このとき、ＣＰＵ１２１は、解像度、フレームレート、及び、圧縮度の少なくとも何れかを調整してエンコードすることによって、画質の異なる第１映像及び第２映像のそれぞれに対応する複数のフレームのデータを生成する。第２映像は、第１映像よりも単位時間当たりのデータ量が大きく、画質が良好である。具体的には、例えば第２映像は、第１映像よりも解像度が大きい。又、例えば第２映像は、第１映像よりもフレームレートが大きい。又、例えば第２映像は、第１映像よりも圧縮度が小さい。以下、第１映像に対応する１フレーム分のデータを、「第１映像データ」という。第２映像に対応する１フレーム分のデータを、「第２映像データ」という。第１映像データ及び第２映像データを総称して、「映像データ」という。
【００２５】
端末装置１２ＡのＣＰＵ１２１は、生成した複数の第１映像データ及び複数の第２映像データのそれぞれを、対応するフレームレートに応じた周期でサーバ装置１１に送信する。図１では、複数の第１映像データ２１が、フレームレートに応じた周期ｔ１で端末装置１２Ａからサーバ装置１１送信されている。又、複数の第２映像データ２２が、フレームレートに応じた周期であって周期ｔ１よりも短い周期ｔ２で、端末装置１２Ａからサーバ装置１１に送信されている。なお、本実施形態において、第１映像データと第２映像データとのそれぞれのデータ量は同一とする。
【００２６】
なお、本実施形態では、理解を容易とするために、上記のように周期ｔ２を周期ｔ１よりも短くした。しかしながら、第２映像が第１映像よりも単位時間当たりのデータ量が大きいという条件を満たす範囲内で、周期ｔ１、ｔ２の関係は変更可能である。従って、例えば、第２映像データのデータ量が第１映像データのデータ量よりも大きい場合、周期ｔ２は周期ｔ１以上となる場合もある。
【００２７】
サーバ装置１１のＣＰＵ１１１は、端末装置１２Ａから送信された複数の第１映像データ２１及び複数の第２映像データ２２を受信する。ＣＰＵ１１１は、サーバ装置１１と端末装置１２Ｂ、１２Ｃとの間のネットワーク１４の状態を特定する。ＣＰＵ１１１は、特定したネットワーク１４の状態に応じて、複数の第１映像データ２１及び複数の第２映像データ２２の何れかを選択する。なお、（１）ネットワーク１４の状態の詳細、（２）ＣＰＵ１１１がネットワーク１４の状態を特定する具体的な方法、及び、（３）特定したネットワーク１４の状態に応じてＣＰＵ１１１が映像データを選択する方法のそれぞれの詳細な説明は、後述する。
【００２８】
ＣＰＵ１１１は、選択した第１映像データ又は第２映像データを、端末装置１２Ｂ、１２Ｃに対して送信する。図１の場合、端末装置１２Ｂに対して、複数の第２映像データが送信され、端末装置１２Ｃに対して、複数の第１映像データが送信されている。ＣＰＵ１１１は、映像データの送信中のネットワーク１４の状態に応じて、送信する複数の映像データを、複数の第１映像データと複数の第２映像データとの間で切り替える場合がある。又、ＣＰＵ１１１は、複数の第２映像データを選択した場合、複数の第２映像データのうち一部のみ端末装置１２Ｂ、１２Ｃに送信し、残りを送信しない場合がある。なお、複数の第２映像データのうち一部のみ端末装置１２Ｂ、１２Ｃに送信される場合でも、ＣＰＵ１１１は、複数の第２映像データをデコードしない。このため、ＣＰＵ１１１は、複数の第２映像データの転送処理によって発生する可能性のある遅延を最小限に抑制できる。なお、（４）ＣＰＵ１１１が複数の第１映像データと複数の第２映像データとを切り替える方法、及び、（５）送信する第２映像データ及び送信しない第２映像データをＣＰＵ１１１が選択する方法のそれぞれの詳細な説明は、後述する。
【００２９】
端末装置１２Ｂ、１２ＣのＣＰＵ１２１は、サーバ装置１１から送信された複数の映像データを受信する。端末装置１２Ｂ、１２Ｃは、受信した複数の映像データをデコードし、表示部１２６に共有映像を表示させる。同時に、端末装置１２ＡのＣＰＵ１２１は、生成した複数の映像データに基づき、表示部１２６に共有映像を表示させる。以上のようにして、端末装置１２Ａ〜１２Ｃ間で共有映像が共有される。端末装置１２Ａ〜１２Ｃのそれぞれのユーザは、共有資料を見ながらＷｅｂ会議を行うことが可能となる。
【００３０】
前記した（１）（２）の詳細について説明する。ＣＰＵ１１１は、端末装置１２Ａから送信された複数の第２映像データを受信する場合の単位時間当たりのデータ量を特定する。以下、単位時間当たりに受信される複数の第２映像データのデータ量を、「流入量」という。具体的には、ＣＰＵ１１１は、端末装置１２Ａから送信された複数の第２映像データのそれぞれを受信する毎に、受信した第２映像データのデータ量と受信時刻とを対応付けてＲＡＭ１１３に記憶する。ＣＰＵ１１１は、１秒間に受信した複数の第２映像データのデータ量を、対応付けた受信時刻に基づいて抽出する。ＣＰＵ１１１は、抽出したデータ量の合計値を、流入量として算出する。
【００３１】
なお、流入量は、端末装置１２Ａとサーバ装置１１との間の使用可能帯域、及び、複数の第２映像データの単位時間当たりのデータ量のうち、小さい方と一致する。その理由は次の通りである。複数の第２映像データの単位時間当たりのデータ量が、端末装置１２Ａとサーバ装置１１との間の使用可能帯域よりも小さい場合、端末装置１２ＡのＣＰＵ１２１は、複数の第２映像データのそれぞれを遅滞なく送信できる。この場合、サーバ装置１１のＣＰＵ１１１によって複数の第２映像データが受信されたことに応じて特定される流入量は、より小さい側である、複数の第２映像データの単位時間当たりのデータ量と一致する。一方、複数の第２映像データの単位時間当たりのデータ量が、端末装置１２Ａとサーバ装置１１との間の使用可能帯域以上の場合、端末装置１２ＡのＣＰＵ１２１は、複数の第２映像データのそれぞれを遅滞なく送信できない。この場合、ＣＰＵ１２１は、複数の第２映像データの単位時間当たりのデータ量が、端末装置１２Ａとサーバ装置１１との間の使用可能帯域よりも小さくなった時点で、複数の第２映像データのそれぞれを送信する。この場合、端末装置１２Ａによる複数の第２映像データのそれぞれの送信に遅延が生じる。複数の第２映像データのそれぞれの送信に遅延が発生した場合、単位時間当たりに送信される第２映像データのデータ量は、遅延が生じない場合と比較して小さくなる。ＣＰＵ１２１は、端末装置１２Ａとサーバ装置１１との間の使用可能帯域に合わせて、複数の第２映像データを遅延させながら送信することになる。この場合、サーバ装置１１のＣＰＵ１１１によって複数の第２映像データが受信されたことに応じて特定される流入量は、より小さい側である、端末装置１２Ａとサーバ装置１１との間の使用可能帯域と一致する。
【００３２】
なお、流入量の算出方法は、上記の方法に限定されない。例えば、ＣＰＵ１１１は、Ｎ秒間（Ｎは１以外の任意の整数）に受信した複数の第２映像データのデータ量を抽出し、合計値をＮで除算することによって、流入量を算出してもよい。又、例えばＣＰＵ１１１は、次のようにして流入量を算出してもよい。ＣＰＵ１１１は、最初の第２映像データを受信した場合に、受信時刻を開始時刻としてＲＡＭ１１３に記憶してもよい。ＣＰＵ１１１は、複数の第２映像データのそれぞれを受信する度に、開始時刻から受信した第２映像データのデータ量の合計値を算出してもよい。ＣＰＵ１１１は、開始時刻からＮ秒間経過した場合に、合計値をＮで除算することによって、流入量を算出してもよい。ＣＰＵ１１１は、流入量を算出した場合、合計値をリセットしてもよい。ＣＰＵ１１１は、次に第２映像データを受信した受信時刻を、開始時刻としてＲＡＭ１１３に記憶し、開始時刻を更新してもよい。ＣＰＵ１１１は、上記の処理を繰り返すことによって、流入量をＮ秒周期で算出してもよい。
【００３３】
又、ＣＰＵ１１１は、単位時間当たりに受信される複数の第２映像データの量を、別の指標で示してもよい。例えば、ＣＰＵ１１１は、単位時間当たりに受信される複数の第２映像データのデータ量が、１０分割されたデータ量の範囲の何れに含まれるかを特定することによって、１０段階の何れかで流入量を示してもよい。又、ＣＰＵ１１１は、単位時間当たりに受信される複数の第２映像データの数によって流入量を示してもよい。
【００３４】
ＣＰＵ１１１は、端末装置１２Ｂ、１２Ｃに対して送信可能な複数の第２映像データの単位時間当たりのデータ量を特定する。以下、単位時間当たりに送信される複数の第２映像データのデータ量を、「流出量」という。具体的には、ＣＰＵ１１１は、端末装置１２Ｂ、１２Ｃに対して複数の第２映像データのそれぞれを送信する毎に、送信した第２映像データのデータ量に送信時刻を対応付けてＲＡＭ１１３に記憶する。ＣＰＵ１１１は、１秒間に送信した複数の第２映像データのデータ量を、対応付けた送信時刻に基づいて抽出する。ＣＰＵ１１１は、抽出したデータ量の合計値を、流出量として算出する。  
【００３５】
なお、流出量は、複数の第２映像データの単位時間当たりのデータ量、及び、サーバ装置１１と端末装置１２Ｂ、１２Ｃとの間の使用可能帯域のうち、小さい側と一致する。その理由は次の通りである。複数の第２映像データの単位時間当たりのデータ量が、サーバ装置１１と端末装置１２Ｂ、１２Ｃとの間の使用可能帯域よりも小さい場合、ＣＰＵ１１１は、複数の第２映像データのそれぞれを遅滞なく送信できる。この場合の流出量は、より小さい側である、複数の第２映像データの単位時間当たりのデータ量と一致する。一方、複数の第２映像データの単位時間当たりのデータ量が、サーバ装置１１と端末装置１２Ｂ、１２Ｃとの間の使用可能帯域以上の場合、ＣＰＵ１１１は、複数の第２映像データのそれぞれを遅滞なく送信することができない。この場合、ＣＰＵ１１１は、複数の第２映像データの単位時間当たりのデータ量が、サーバ装置１１と端末装置１２Ｂ、１２Ｃとの間の使用可能帯域よりも小さくなった時点で、複数の第２映像データのそれぞれを送信する。この場合、サーバ装置１１による複数の第２映像データのそれぞれの転送に遅延が生じる。複数の第２映像データのそれぞれの転送に遅延が発生した場合、単位時間当たりに送信される第２映像データのデータ量は、遅延が生じない場合と比較して小さくなる。ＣＰＵ１１１は、サーバ装置１１と端末装置１２Ｂ、１２Ｃとの間の使用可能帯域に合わせて、複数の第２映像データを遅延させながら送信することになる。この場合の流出量は、より小さい側である、サーバ装置１１と端末装置１２Ｂ、１２Ｃとの間の使用可能帯域と一致する。  
【００３６】
なお、ＣＰＵ１１１は、単位時間当たりに送信される複数の第２映像データの量を、別の指標で示してもよい。例えば、ＣＰＵ１１１は、単位時間当たりに送信される複数の第２映像データのデータ量が、１０分割されたデータ量の範囲の何れに含まれるかを特定することによって、１０段階の何れかで流出量を示してもよい。又、ＣＰＵ１１１は、単位時間当たりに送信される複数の第２映像データの数によって流出量を示してもよい。
【００３７】
ＣＰＵ１１１は、流入量及び流出量を特定した場合、流出量で流入量を除算した値「流入量／流出量」を算出する。以下、流出量で流入量を除算した値を、「スキップ量」という。
【００３８】
なお、複数の第２映像データの単位時間当たりのデータ量が一定であると仮定した場合の流出量は、サーバ装置１１と端末装置１２Ｂ、１２Ｃとの間の使用可能帯域が複数の第２映像データの単位時間当たりのデータ量よりも小さい場合に小さく、使用可能帯域が大きくなるに従って大きくなり、使用可能帯域が複数の第２映像データの単位時間当たりのデータ量以上の場合、複数の第２映像データの単位時間当たりのデータ量と一致する。このため、サーバ装置１１と端末装置１２Ｂ、１２Ｃとの間の使用可能帯域とスキップ量とは、使用可能帯域が複数の第２映像データの単位時間当たりのデータ量よりも小さい場合、反比例の関係を有する（図２参照）。このように、スキップ量は、サーバ装置１１と端末装置１２Ｂ、１２Ｃとの間の使用可能帯域に応じて変化する。このため、ＣＰＵ１１１は、サーバ装置１１と端末装置１２Ｂ、１２Ｃとの間のネットワーク１４の状態を示す使用可能帯域を、スキップ量を算出することによって特定する。なお、使用可能帯域が複数の第２映像データの以上の場合、流出量と流入量とは略一致し、スキップ量は「１」となる（図２参照）。
【００３９】
前記した（３）〜（５）の詳細について説明する。図２を参照し、端末装置１２Ｂに複数の映像データが送信される場合について、具体的に説明する。ＣＰＵ１１１は、算出したスキップ量が所定の閾値Ｔｈよりも小さい場合、複数の第２映像データを選択する。本実施形態の場合、閾値Ｔｈとして「５」が設定される。ＣＰＵ１１１は、選択した複数の第２映像データを、算出したスキップ量に応じて決定されるタイミングで、端末装置１２Ｂに１つずつ送信する。（区間５１、５２）。具体的には、ＣＰＵ１１１は、複数の第２映像データのそれぞれを受信する複数のタイミングのうち、「１／スキップ量」の割合で第２映像データを送信し、「１−１／スキップ量」の割合で第２映像データの送信を禁止する。
【００４０】
なお、上記のように、スキップ量の逆数「１／スキップ量」は、複数の第２映像データのうち送信する第２映像データの割合を示す。このため、スキップ量が所定の閾値Ｔｈよりも小さい場合とは、言い換えれば、複数の第２映像データのうち送信する第２映像データの割合が、所定閾値（閾値Ｔｈの逆数）以上の場合を示す。
【００４１】
具体例を挙げて説明する。例えば、算出されたスキップ量が「１」の場合、「１／スキップ量」は「１」となり、「１−１／スキップ量」は「０」となる。このため、ＣＰＵ１１１は、受信した全ての複数の第２映像データを、端末装置１２Ｂに送信する（区間５１）。
【００４２】
例えば、算出されたスキップ量が「１．５」の場合、「１／スキップ量」は「２／３」となり、「１−１／スキップ量」は「１／３」となる。このため、ＣＰＵ１１１は、複数の第２映像データのそれぞれを受信する複数のタイミングのうち、「２／３」の割合で第２映像データを送信し、「１／３」の割合で第２映像データの送信を禁止する。このため、ＣＰＵ１１１は、複数の第２映像データのそれぞれを受信する複数のタイミングで、「送信５２Ａ」「送信５２Ｂ」（禁止５２Ｃ）「送信５２Ｄ」「送信５２Ｅ」（禁止５２Ｆ）・・・のように複数の第２映像データを送信する（区間５２）。
【００４３】
例えば、算出されたスキップ量が「２．５」の場合、「１／スキップ量」は「２／５」となり、「１−１／スキップ量」は「３／５」となる。このため、ＣＰＵ１１１は、複数の第２映像データのそれぞれを受信する複数のタイミングのうち、「２／５」の割合で第２映像データを送信し、「３／５」の割合で第２映像データの送信を禁止する。このため、ＣＰＵ１１１は、複数の第２映像データのそれぞれを受信する複数のタイミングで、「送信」「禁止」「禁止」「送信」「禁止」「送信」「送信」「禁止」「送信」「禁止」・・・のように複数の第２映像データを送信する。
【００４４】
使用可能帯域が徐々に小さくなることに応じて、スキップ量が閾値Ｔｈ以上となった場合（タイミング５３）を例に挙げる。このため、スキップ量が所定の閾値Ｔｈ以上の場合とは、言い換えれば、複数の第２映像データのうち送信する第２映像データの割合が、所定閾値（閾値Ｔｈの逆数）よりも小さいことを示す。
【００４５】
この場合、ＣＰＵ１１１は、端末装置１２Ｂに送信する映像データを、複数の第２映像データから複数の第１映像データに切り替える。ＣＰＵ１１１は、複数の第１映像データのそれぞれを受信する複数のタイミングで、複数の第１映像データのそれぞれを端末装置１２Ｂに送信する（区間５４）。
【００４６】
ＣＰＵ１１１は、第２映像データを最初に送信したタイミング５０から、複数の第１映像データに切り替えたタイミング５３までの間の経過時間ｔ１１を特定する。ＣＰＵ１１１は、経過時間ｔ１１に応じて、複数の第１映像データを継続して送信するか、又は、複数の第２映像データに切り替えて送信するかを判断する。
【００４７】
具体的な判断の方法、及び、その理由は、次の通りである。サーバ装置１１と端末装置１２Ｂとの間の伝送路容量が、複数の第２映像データの単位時間当たりのデータ量と比べて元々小さい場合がある。このような場合として、例えば、サーバ装置１１と端末装置１２Ｂとの間のネットワーク１４が、ＩＳＤＮ回線やＡＤＳＬ回線等の容量の小さい伝送路で形成される場合が挙げられる。なお、経過時間ｔ１１が所定の第２時間よりも小さい場合、サーバ装置１１と端末装置１２Ｂとの間の伝送路容量が、複数の第２映像データの単位時間当たりのデータ量と比べて元々小さい可能性が高い。なお、本実施形態の場合、第２時間として「１０秒」が設定される。このため、ＣＰＵ１１１は、経過時間ｔ１１が第２時間よりも小さい場合、複数の第１映像データを継続して送信すると判断する。
【００４８】
一方、サーバ装置１１と端末装置１２Ｂとの間の伝送路容量が、複数の第２映像データの単位時間当たりのデータ量と比べて元々大きい場合がある。このような場合として、例えば、サーバ装置１１と端末装置１２Ｂとの間の伝送路が、ＩＳＤＮ回線やＡＤＳＬ回線等よりも容量の大きい光回線である場合が挙げられる。この場合、データの輻輳、遅延、ゆらぎ、パケットロス等の発生によって伝送路の通信状態が一時的に悪化し、スキップ量が一時的に閾値Ｔｈ以上となった可能性がある。また、この場合、伝送路の通信状態の改善によって、複数の第２映像データの単位時間当たりのデータ量よりも使用可能帯域が大きくなる可能性がある。なお、経過時間ｔ１１が第２時間以上の場合、複数の第２映像データよりも伝送路容量が元々大きい可能性が高い。このため、ＣＰＵ１１１は、経過時間ｔ１１が第２時間以上の場合、複数の第２映像データに切り替えて通信を行うかを判断するために、端末装置１２Ｂとの間で計測通信５６を実行する。
【００４９】
計測通信５６は、サーバ装置１１から端末装置１２Ｂに対して複数の計測データを送信した場合の流出量を特定することによって実行される。複数の計測データは、複数の第２映像データと異なる、計測専用のデータである。複数の計測データの単位時間当たりのデータ量は、少なくとも、複数の第２映像データから複数の第１映像データに切り替える直前のタイミング５３における流出量よりも大きく設定される。計測通信によって特定された流出量を、「計測流出量」という。
【００５０】
ＣＰＵ１１１は、複数の第２映像データを複数の第１映像データに切り替えたタイミング５３での流出量５３Ａと、計測通信５６によって特定された計測流出量５６Ａとを比較する。以下、複数の第２映像データを複数の第１映像データに切り替えたタイミングでの流出量を、「最終流出量」という。ＣＰＵ１１１は、計測流出量５６Ａが最終流出量５３Ａ以下の場合、端末装置１２Ｂに対して、複数の第１映像データを継続して送信すると判断する。その理由は、計測流出量５６Ａが最終流出量５３Ａ以下の場合、タイミング５５における使用可能帯域は、タイミング５３における使用可能帯域と同一か、タイミング５３における使用可能帯域よりも悪化している可能性があるためである。この場合、ＣＰＵ１１１は、所定の第３時間の周期で計測通信を繰り返し実行する。なお、本実施形態の場合、第３時間として「５分」が設定される。計測時間が第３時間の周期で行われる理由は、計測通信によってネットワーク１４に通信負荷がかかる頻度を調整するためである。
【００５１】
一方、ＣＰＵ１１１は、計測流出量５６Ａが最終流出量５３Ａよりも大きい場合、端末装置１２Ｂに送信する複数の映像データを、複数の第１映像データから複数の第２映像データに切り替えると判断する。その理由は、計測流出量５５Ａが最終流出量５３Ａよりも大きい場合、タイミング５５における使用可能帯域は、タイミング５３における使用可能帯域よりも大きくなっている可能性があるためである。
【００５２】
図２では、端末装置１２Ｂに対して送信する複数の映像データが、タイミング５５で複数の第２映像データに切り替えられた場合が示されている。この場合、ＣＰＵ１１１は、区間５１、５２の場合と同じ方法でスキップ量を算出し、算出したスキップ量に応じて決定されるタイミングで、端末装置１２Ｂに複数の第２映像データを１つずつ送信する（区間５７、５８）。例えば、ＣＰＵ１１１は、算出されたスキップ量が「１」よりも大きい場合（区間５７）、「１／スキップ量」で示される割合で第２映像データを送信し、「１−１／スキップ量」で示される割合で、第２映像データの送信を禁止する。又、ＣＰＵ１１１は、例えば、算出されたスキップ量が「１」の場合（区間５８）、サーバ装置１１から端末装置１２Ｂに対して、複数の第２映像データのそれぞれを受信する全てのタイミングで、複数の第２映像データのそれぞれを送信する。
＜メイン処理＞
【００５３】
サーバ装置１１のＣＰＵ１１１によって実行される処理について説明する。ＣＰＵ１１１は、Ｗｅｂ会議への参加を要求するコマンドを端末装置１２から受信した場合、記憶部１１４に記憶されたプログラムを実行する。コマンドには、会議室を識別する会議ＩＤ、及び、コマンドを送信した端末装置１２の装置ＩＤが含まれる。これによって、ＣＰＵ１１１は、端末装置１２のそれぞれのユーザ間でＷｅｂ会議を実行させるためのＷｅｂ会議処理を開始する。Ｗｅｂ会議処理において、ＣＰＵ１１１は、コマンドに含まれる会議ＩＤ及び装置ＩＤを関連付け、ＲＡＭ１１３の参加テーブルに記憶する。
【００５４】
Ｗｅｂ会議処理では、Ｗｅｂ会議に対して端末装置１２を新規に参加させるための処理、Ｗｅｂ会議に対する端末装置１２の参加を中止させるための処理、及び、後述するメイン処理（図３〜図７参照）等が含まれる。以下では、理解を容易とするため、端末装置１２Ａ、１２Ｂ、１２Ｃのそれぞれからコマンドが送信されることに応じて、端末装置１２Ａ、１２Ｂ、１２ＣがＷｅｂ会議に参加した場合を例に挙げて説明する。又、端末装置１２Ａから複数の映像データが送信され、この複数の映像データがサーバ装置１１において受信される場合を例に挙げて説明する。なお、複数の映像データには、それぞれの順番を示す順番情報が「１」から順に付加されることとする。
【００５５】
ＣＰＵ１１１は、後述するメイン処理の実行時、ＲＡＭ１１３に設定された変数（動作モード、スキップ量、流入量、流出量、計測流出量、最終流出量、変更時刻、初転送時刻、原因フラグ、復帰時刻、ＯＫ値、及び、ＮＧ値に情報を記憶し、必要な場合に参照する。ＣＰＵ１１１は、上記のＷｅｂ会議処理の開始時、「転送モード」として、第２転送モードを示すデータを記憶する。ＣＰＵ１１１は、Ｗｅｂ会議の開始時、スキップ量、流入量、流出量、計測流出量、最終流出量、原因、変更時刻、初転送時刻、及び、復帰時刻として、ＮＵＬＬを記憶する。ＣＰＵ１１１は、Ｗｅｂ会議の開始時、ＯＫ値、及び、ＮＧ値として、「０」を記憶する。
【００５６】
図３から図７のフローチャートを参照し、サーバ装置１１のＣＰＵ１１１によって実行されるメイン処理について説明する。メイン処理は、複数の映像データ（複数の第１映像データ又は複数の第２映像データ）のそれぞれが端末装置１２Ａから送信されたことを検出した場合、記憶部１１４に記憶されたプログラムをＣＰＵ１１１が実行することによって開始される。メイン処理は、複数の映像データのそれぞれが検出される度に実行される。映像データには、映像データを送信した端末装置１２の装置ＩＤが含まれる。
【００５７】
図３に示すように、ＣＰＵ１１１は、端末装置１２Ａから送信された映像データを受信する（Ｓ１０）。ＣＰＵ１１１は、受信した映像データに含まれる装置ＩＤを特定する。ＣＰＵ１１１は、ＲＡＭ１１３の参加テーブルのうち、特定した装置ＩＤに関連付けられた会議ＩＤを特定する。ＣＰＵ１１１は、参加テーブルに基づき、特定した会議ＩＤと同じ会議ＩＤに関連付けられた装置ＩＤを更に特定し、Ｗｅｂ会議に参加する端末装置１２Ａ、１２Ｂ、１２Ｃを特定する。ＣＰＵ１１１は、特定した端末装置１２Ａ、１２Ｂ、１２Ｃのうち、映像データを送信した端末装置１２Ａを除く端末装置１２Ｂ、１２Ｃのそれぞれに対して、受信した映像データを転送したか判断する（Ｓ１１）。ＣＰＵ１１１は、端末装置１２Ｂ、１２Ｃのそれぞれに対して映像データを転送していないと判断した場合（Ｓ１１：ＮＯ）、映像データを転送していない端末装置１２Ｂ、１２Ｃの何れかを選択する（Ｓ１３）。ＣＰＵ１１１は、転送処理（図４参照）を実行する（Ｓ１５）。
【００５８】
図４を参照し、転送処理について説明する。ＣＰＵ１１１は、Ｓ１０（図３参照）の処理によって第２映像データを受信したか判断する（Ｓ２１）。ＣＰＵ１１１は、Ｓ１０の処理によって第１映像データを受信した場合、第２映像データを受信していないと判断する（Ｓ２１：ＮＯ）。ＣＰＵ１１１は、第１転送モードを示す情報が、動作モードとしてＲＡＭ１１３に記憶されているか判断する（Ｓ２７）。なお、Ｗｅｂ会議処理の開始時、第２転送モードを示す情報が動作モードとしてＲＡＭ１１３に記憶される。第１転送モードを示す情報を動作モードとしてＲＡＭ１１３に記憶する処理は、Ｓ５７（図５参照）、後述）の処理によって実行される。又、第２転送モードを示す情報を動作モードとしてＲＡＭ１１３に記憶する処理は、Ｓ９９（図７参照）、後述）の処理によって実行される。ＣＰＵ１１１は、Ｓ５７の処理を実行していないか、又は、Ｓ５７の処理の実行後、Ｓ９９の処理を実行している場合、第１転送モードを示す情報が動作モードとしてＲＡＭ１１３に記憶されていないと判断する（Ｓ２７：ＮＯ）。この場合、ＣＰＵ１１１は処理をＳ３１に進める。
【００５９】
一方、ＣＰＵ１１１は、Ｓ１０（図３参照）の処理によって第２映像データを受信したと判断した場合（Ｓ２１：ＹＥＳ）、第２転送モードを示す情報が動作モードとしてＲＡＭ１１３に記憶されているか判断する（Ｓ２３）。ＣＰＵ１１１は、Ｓ５７（図５参照）、後述）の処理を実行していないか、又は、Ｓ５７の処理の実行後、Ｓ９９の処理を実行している場合、第２転送モードを示す情報が動作モードとしてＲＡＭ１１３記憶されていると判断する（Ｓ２３：ＹＥＳ）。ＣＰＵ１１１は、第２転送処理（図５参照）を実行する（Ｓ２５）。
【００６０】
図５を参照し、第２転送処理について説明する。ＣＰＵ１１１は流入量を特定し、ＲＡＭ１１３に記憶する（Ｓ４１）。なお、図２を参照して説明したように、ＣＰＵ１１１は、１秒間に受信した複数の第２映像データのデータ量の合計値を、流入量として算出する。このため、ＣＰＵ１１１は、複数の第２映像データの受信が開始されてからの経過時間が１秒未満の場合、流入量を算出できない。この場合、ＣＰＵ１１１は、流入量としてＮＵＬＬをＲＡＭ１１３に記憶する。ＣＰＵ１１１は算出処理（図６参照）を実行する（Ｓ４３）。
【００６１】
図６を参照し、算出処理について説明する。ＣＰＵ１１１は、ＮＵＬＬ以外の値が流入量としてＲＡＭ１１３に記憶されているか判断する（Ｓ７１）。ＣＰＵ１１１は、流入量としてＮＵＬＬ以外の値が記憶されていないと判断した場合（Ｓ７１：ＮＯ）、スキップ量として「１」をＲＡＭ１１３に記憶する（Ｓ８５）。ＣＰＵ１１１は算出処理を終了させ、処理を第２転送処理（図５参照）に戻す。
【００６２】
図５に示すように、算出処理（Ｓ４３）の終了後、ＣＰＵ１１１は、ＲＡＭ１１３に記憶されたスキップ量が閾値Ｔｈ（＝５）よりも小さいか判断する（Ｓ４５）。なお、この時点では、Ｓ８５の処理によって、スキップ量として「１」が記憶されている。ＣＰＵ１１１は、スキップ量が閾値Ｔｈよりも小さいと判断する（Ｓ４５：ＹＥＳ）。ＣＰＵ１１１は、Ｓ１０（図３参照）の処理によって受信した第２映像データを送信するか否かを、スキップ量に基づいて判断する（Ｓ４７）。
【００６３】
なお、図２を参照して説明したように、スキップ量が「１」の場合、ＣＰＵ１１１は、受信した全ての複数の第２映像データを送信することになる（区間５１、５８（図２参照））。このため、ＣＰＵ１１１は、第２映像データを送信すると判断する（Ｓ４７：ＹＥＳ）。
【００６４】
ＣＰＵ１１１は、第２映像データの送信をＯＳに対して指示する。ＯＳは、Ｓ１３（図３参照）の処理によって選択された端末装置１２Ｂ、１２Ｃの何れかとサーバ装置１１との間の使用可能帯域に応じ、第２映像データが送信可能か否かを示す情報を、メイン処理に通知する。具体的には、ＯＳは、使用可能帯域が第２映像データの単位時間当たりのデータ量以上の場合、送信可能であることを示す情報をメイン処理に通知する。一方、ＯＳは、使用可能帯域が第２映像データの単位時間当たりのデータ量よりも小さい場合、送信不可能であることを示す情報をメイン処理に通知する。ＣＰＵ１１１は、ＯＳから通知された取得した情報に応じて、第２映像データが送信可能か否かを判断し、流出量を特定する（Ｓ４９）。ＣＰＵ１１１は、ＯＳによって第２映像データが送信不可能と判断された場合、第２映像データが可能となるまで、ＯＳに対して第２映像データの送信を繰り返し指示する。これによって、送信した第２映像データのデータ量がＲＡＭ１１３に記録されるタイミングが遅れ、単位時間当たりにＲＡＭ１１３に記憶されるデータ量が減少する。この場合に特定される流出量は、流入量より小さくなる。ＣＰＵ１１１は、特定した流出量をＲＡＭ１１３に記憶する（Ｓ４９）。
【００６５】
なお、図２を参照して説明したように、ＣＰＵ１１１は、１秒間に送信した複数の第２映像データのデータ量の合計値を、流出量として算出する。このため、ＣＰＵ１１１は、複数の第２映像データの送信が開始されてからの経過時間が１秒未満の場合、流出量を算出できない。この場合、ＣＰＵ１１１は、流出量としてＮＵＬＬをＲＡＭ１１３に記憶する。
【００６６】
ＣＰＵ１１１は、ＯＳによって第２映像データが送信可能と判断された場合、ＯＳの機能に基づいて、Ｓ１０（図３参照）の処理によって受信した第２映像データを、Ｓ１３の処理によって選択された端末装置１２Ｂ、１２Ｃの何れかに対して転送する（Ｓ５１）。
【００６７】
ＣＰＵ１１１は、Ｓ５１の処理によって転送した第２映像データが、複数の第２映像データのうち最初の第２映像データであるかを、順番情報に基づいて判断する（Ｓ５３）。ＣＰＵ１１１は、Ｓ５１の処理によって転送した第２映像データに「１」を示す順番情報が付加されている場合、最初の第２映像データを転送したと判断する（Ｓ５３：ＹＥＳ）。ＣＰＵ１１１は、現在時刻をＯＳから取得し、初転送時刻としてＲＡＭ１１３に記憶する（Ｓ５５）。なお、初転送時刻は、図２のタイミング５０の時刻に対応する。ＣＰＵ１１１は第２転送処理を終了させ、処理を転送処理（図４参照）に戻す。
【００６８】
一方、ＣＰＵ１１１は、Ｓ５１の処理によって転送した第２映像データに「１」以外の順番情報が付加されている場合、最初の第２映像データを転送していないと判断する（Ｓ５３：ＮＯ）。この場合、ＣＰＵ１１１は第２転送処理を終了させ、処理を転送処理（図４参照）に戻す。
【００６９】
図４に示すように、ＣＰＵ１１１は、第２転送処理（Ｓ２５）の終了後、第１転送モードを示す情報が動作モードとしてＲＡＭ１１３に記憶されているか判断する（Ｓ３１）。ＣＰＵ１１１は、Ｓ５７の処理を実行していないか、又は、Ｓ５７の処理の実行後、Ｓ９９の処理を実行している場合、第１転送モードを示す情報が動作モードとしてＲＡＭ１１３に記憶されていないと判断する（Ｓ３１：ＮＯ）。この場合、ＣＰＵ１１１は転送処理を終了させ、処理をメイン処理（図３参照）に戻す。
【００７０】
図３に示すように、ＣＰＵ１１１は、転送処理（Ｓ１５）の終了後、処理をＳ１１に戻す。ＣＰＵ１１１は、端末装置１２Ｂ、１２Ｃのそれぞれに対して映像データを転送したと判断した場合（Ｓ１１：ＹＥＳ）、メイン処理を終了させる。
【００７１】
第２転送モードを示す情報が動作モードとしてＲＡＭ１１３に記憶されている状態で、複数の第２映像データのそれぞれが繰り返し受信された場合（Ｓ１０、図３参照）、転送処理（図４参照）、及び、第２転送処理（図５参照）が繰り返し実行される。そして、図５に示す第２転送処理のＳ４３の処理によって、算出処理（図６参照）が繰り返し実行される。
【００７２】
ＣＰＵ１１１は、流入量としてＮＵＬＬ以外の値がＲＡＭ１１３に記憶されていると判断した場合（Ｓ７１：ＹＥＳ）、ＮＵＬＬ以外の値が流出量としてＲＡＭ１１３に記憶されているか判断する（Ｓ７３）。ＣＰＵ１１１は、ＮＵＬＬ以外の値が流出量としてＲＡＭ１１３に記憶されていないと判断した場合（Ｓ７３：ＮＯ）、スキップ量として「１」をＲＡＭ１１３に記憶する（Ｓ８５）。ＣＰＵ１１１は算出処理を終了させ、処理を第２転送処理（図５参照）に戻す。
【００７３】
一方、ＣＰＵ１１１は、流出量としてＮＵＬＬ以外の値がＲＡＭ１１３に記憶されていると判断した場合（Ｓ７３：ＹＥＳ）、流出量で流入量を除算することによって、スキップ量を算出する（Ｓ７５）。ＣＰＵ１１１は、算出したスキップ量と、ＲＡＭ１１３に記憶されたスキップ量とが相違するか判断する（Ｓ７７）。
【００７４】
なお、Ｗｅｂ会議処理の開始時、スキップ量としてＮＵＬＬがＲＡＭ１１３に記憶されている。従って、ＣＰＵ１１１は、Ｓ７５の処理によって最初にスキップ量を算出した場合、算出したスキップ量とＲＡＭ１１３に記憶されたスキップ量とが相違すると判断する（Ｓ７７：ＹＥＳ）。この場合、ＣＰＵ１１１は、現在時刻をＯＳから取得し、変更時刻としてＲＡＭ１１３に記憶する（Ｓ７９）。又、ＣＰＵ１１１は、Ｓ７５の処理によってスキップ量が２回以上算出されている場合でも、算出したスキップ量とＲＡＭ１１３に記憶されたスキップ量とが相違する場合（Ｓ７７：ＹＥＳ）、変更時刻をＲＡＭ１１３に記憶する（Ｓ７９）。ＣＰＵ１１１は、Ｓ７５の処理によって算出したスキップ量をＲＡＭ１１３に記憶することによって、スキップ量を更新する。ＣＰＵ１１１は算出処理を終了させ、処理を転送処理（図５参照）に戻す。
【００７５】
一方、Ｓ７５の処理によってスキップ量が２回以上算出されている場合であって、算出したスキップ量と、ＲＡＭ１１３に記憶されたスキップ量とが相違しない場合もある。ＣＰＵ１１１は、算出したスキップ量と、ＲＡＭ１１３に記憶されたスキップ量とが相違しないと判断した場合（Ｓ７７：ＮＯ）、現在時刻をＯＳから取得する。ＣＰＵ１１１は、取得した現在時刻から、Ｓ７９の処理によってＲＡＭ１１３に記憶した変更時刻までの経過時間を算出する。ＣＰＵ１１１は、算出した経過時間が所定の第１時間よりも大きいか判断する（Ｓ８１）。本実施形態の場合、第１時間として「３００秒」が設定される。
【００７６】
ＣＰＵ１１１は、算出した経過時間が第１時間よりも大きいと判断した場合（Ｓ８１：ＹＥＳ）、ＲＡＭ１１３に記憶されたスキップ量から所定数を減算し、スキップ量を減少させる（Ｓ８３）。本実施形態の場合、所定数として「１」が設定される。ＣＰＵ１１１は算出処理を終了させ、処理を第２転送処理（図５参照）に戻す。一方、ＣＰＵ１１１は、算出した経過時間が第１時間以下と判断した場合（Ｓ８１：ＮＯ）、算出処理を終了させ、処理を第２転送処理（図５参照）に戻す。
【００７７】
図５に示すように、ＣＰＵ１１１は、算出処理（Ｓ４３）の終了後、ＲＡＭ１１３に記憶されたスキップ量が閾値Ｔｈよりも小さいか判断する（Ｓ４５）。なお、上記で説明したように、スキップ量の逆数「１／スキップ量」は、複数の第２映像データのうち送信する第２映像データの割合を示す。従って、スキップ量が閾値Ｔｈよりも小さい場合とは、言い換えれば、複数の第２映像データのうち送信する第２映像データの割合が所定閾値以上であることを示す。
【００７８】
ＣＰＵ１１１は、スキップ量が閾値Ｔｈよりも小さいと判断した場合（Ｓ４５：ＹＥＳ）、Ｓ１０（図３参照）の処理によって受信した第２映像データを送信するか否かを、スキップ量に基づいて判断する（Ｓ４７）。ＣＰＵ１１１は、第２映像データを送信すると判断した場合（Ｓ４７：ＹＥＳ）、Ｓ４９〜Ｓ５５の処理を実行する。一方、ＣＰＵ１１１は、第２映像データを送信しないと判断した場合（Ｓ４７：ＮＯ）、第２転送処理を終了させ、処理を転送処理（図４参照）に戻す。
【００７９】
ＲＡＭ１１３に記憶されたスキップ量が「１」よりも大きい場合におけるＳ４７の処理について、具体的に説明する。ＣＰＵ１１１は、ＲＡＭ１１３に記憶されたスキップ量から「１」減算し、比較スキップ量として算出する。ＣＰＵ１１１は、ＯＫ値及びＮＧ値を使用し、以下の（ａ）〜（ｄ）の規則に基づいて、第２受信データを送信するか否かを判断する。なお、ＣＰＵ１１１は、第２映像データを送信した場合、ＯＫ値に「１」加算し、第２映像データを送信しない場合、ＮＧ値に「１」加算する。
【００８０】
（ａ）ＯＫ値とＮＧ値とを加算した値が「０」の場合、送信すると判断する。
（ｂ）ＮＧ値／ＯＫ値の算出結果が、比較スキップ量よりも大きい場合、送信すると判断する。
（ｃ）ＮＧ値／ＯＫ値の算出結果が、比較スキップ量よりも小さい場合、送信しないと判断する。
（ｄ）ＮＧ値／ＯＫ値の算出結果が比較スキップ量と一致する場合、ＯＫ値及びＮＧ値のそれぞれを「０」に設定し、（ａ）の判断を行う。
【００８１】
スキップ量として「２．５」がＲＡＭ１１３に記憶された状態で、１番目から６番目の第２映像データが受信された場合を例に挙げ、具体的に説明する。ＣＰＵ１１１は、比較スキップ量として、「１．５」（＝２．５−１）を算出する。
【００８２】
ＣＰＵ１１１は、１番目の第２映像データを受信した場合、（ａ）の条件を満たす（ＯＫ値＝ＮＧ値＝０）ので、１番目の第２映像データを送信すると判断する。ＣＰＵ１１１は、ＯＫ値に「１」加算して「１」とする。ＣＰＵ１１１は、２番目の第２映像データを受信した場合、（ｃ）の条件を満たす（（ＮＧ値（＝０）／ＯＫ値（＝１））＜「１．５」）ので、２番目の第２映像データを送信しないと判断する。ＣＰＵ１１１は、ＮＧ値に「１」加算して「１」とする。ＣＰＵ１１１は、３番目の第２映像データを受信した場合、（ｃ）の条件を満たす（（ＮＧ値（＝１）／ＯＫ値（＝１））＜「１．５」）ので、１番目の第２映像データを送信しないと判断する。ＣＰＵ１１１は、ＮＧ値に「１」加算して「２」とする。ＣＰＵ１１１は、４番目の第２映像データを受信した場合、（ｂ）の条件を満たす（（ＮＧ値（＝２）／ＯＫ値（＝１））＞「１．５」）ので、４番目の第２映像データを送信すると判断する。ＣＰＵ１１１は、ＯＫ値に「１」加算して「２」とする。ＣＰＵ１１１は、５番目の第２映像データを受信した場合、（ｃ）の条件を満たす（（ＮＧ値（＝２）／ＯＫ値（＝２））＜「１．５」）ので、５番目の第２映像データを送信しないと判断する。ＣＰＵ１１１は、ＮＧ値に「１」加算して「３」とする。ＣＰＵ１１１は、６番目の第２映像データを受信した場合、（ｄ）の条件を満たす（（ＮＧ値（＝３）／ＯＫ値（＝２））＝「１．５」）ので、ＯＫ値及びＮＧ値として「０」を設定し、（ａ）の判断に基づき、６番目の第２映像データを送信すると判断する。
【００８３】
一方、ＣＰＵ１１１は、ＲＡＭ１１３に記憶されたスキップ量が閾値Ｔｈ以上と判断した場合（Ｓ４５：ＮＯ）、第１転送モードであることを示す情報を、動作モードとしてＲＡＭ１１３に記憶する（Ｓ５７）。なお、上記で説明したように、スキップ量の逆数「１／スキップ量」は、複数の第２映像データのうち送信する第２映像データの割合を示す。従って、スキップ量が閾値Ｔｈ以上の場合とは、言い換えれば、複数の第２映像データのうち送信する第２映像データの割合が所定閾値よりも小さいことを示す。ＣＰＵ１１１は、ＲＡＭ１１３に記憶された流出量を、最終流出量としてＲＡＭ１１３に記憶する（Ｓ５９）。
【００８４】
ＣＰＵ１１１は、現在時刻をＯＳから取得する。ＣＰＵ１１１は、取得した現在時刻から、Ｓ５５の処理によってＲＡＭ１１３に記憶した初転送時刻までの経過時間を算出する。なお、算出される経過時間は、図２における経過時間ｔ１１に対応する。ＣＰＵ１１１は、算出した経過時間が所定の第２時間よりも小さいか判断する（Ｓ６１）。ＣＰＵ１１１は、算出した経過時間が第２時間よりも小さいと判断した場合（Ｓ６１：ＹＥＳ）、原因フラグとして「１」をＲＡＭ１１３に記憶する（Ｓ６３）。ＣＰＵ１１１は、第２転送処理を終了させ、処理を転送処理（図４参照）に戻す。ＣＰＵ１１１は、算出した経過時間が第２時間以上と判断した場合（Ｓ６１：ＮＯ）、原因フラグとして「２」をＲＡＭ１１３に記憶する（Ｓ６５）。ＣＰＵ１１１は、第２転送処理を終了させ、処理を転送処理（図４参照）に戻す。
【００８５】
図４に示すように、ＣＰＵ１１１は、第２転送処理（Ｓ２５）の終了後、第１転送モードを示す情報が動作モードとしてＲＡＭ１１３に記憶されているか判断する（Ｓ３１）。ＣＰＵ１１１は、第１転送モードを示す情報が動作モードとしてＲＡＭ１１３に記憶されていると判断した場合（Ｓ３１：ＹＥＳ）、復帰処理（図７参照）を実行する（Ｓ３３）。
【００８６】
図７を参照し、復帰処理について説明する。ＣＰＵ１１１は、「２」を示す原因フラグがＲＡＭ１１３に記憶されているか判断する（Ｓ９１）。ＣＰＵ１１１は、「２」を示す原因フラグがＲＡＭ１１３に記憶されていると判断した場合（Ｓ９１：ＹＥＳ）、現在時刻をＯＳから取得する。ＣＰＵ１１１は、取得した現在時刻から、ＲＡＭ１１３に記憶された復帰時刻までの経過時間を算出する。ＣＰＵ１１１は、算出した経過時間が第３時間よりも大きいか判断する（Ｓ９３）。
【００８７】
ＣＰＵ１１１は、算出した経過時間が第３時間よりも大きいと判断した場合（Ｓ９３：ＹＥＳ）、Ｓ１３（図３参照）の処理によって選択された端末装置１２Ｂ、１２Ｃとの何れかとの間で計測通信を実行し（Ｓ９５）、計測流出量を特定する。なお、Ｗｅｂ会議処理の開始時、復帰時刻としてＮＵＬＬが記憶される。又、復帰時刻は、後述するＳ１０３の処理によって記憶される。従って、ＣＰＵ１１１は、Ｓ１０３を実行しておらず、復帰時刻にＮＵＬＬが記憶されている場合、経過時間は第３時間よりも大きいと判断する（Ｓ９３：ＹＥＳ）。この場合、ＣＰＵ１１１は、計測通信を実行して、計測流出量を特定する。ＣＰＵ１１１は、特定した計測流出量を、ＲＡＭ１１３に記憶する。ＣＰＵ１１１は、Ｓ９５の計測通信に応じてＲＡＭ１１３に記憶した計測流出量が、Ｓ５９（図５参照）の処理によってＲＡＭ１１３に記憶した最終流出量よりも大きいか判断する（Ｓ９７）。
【００８８】
ＣＰＵ１１１は、計測流出量が最終流出量よりも大きいと判断した場合（Ｓ９７：ＹＥＳ）、第２転送モードを示す情報を動作モードとしてＲＡＭ１１３に記憶する（Ｓ９９）。ＣＰＵ１１１は、ＲＡＭ１１３に記憶された最終流出量を、流出量としてＲＡＭ１１３に記憶する（Ｓ１０１）。ＣＰＵ１１１は、現在時刻をＯＳから取得し、復帰時刻としてＲＡＭ１１３に記憶する（Ｓ１０３）。ＣＰＵ１１１は復帰処理を終了させ、処理を転送処理（図４参照）に戻す。図４に示すように、ＣＰＵ１１１は、復帰処理の終了後、処理をメイン処理（図３参照）に戻す。
【００８９】
一方、図７に示すように、ＣＰＵ１１１は、Ｓ９１の処理によって、「１」を示す原因フラグがＲＡＭ１１３に記憶されていると判断した場合（Ｓ９１：ＮＯ）、復帰処理を終了させ、処理を転送処理（図４参照）に戻す。ＣＰＵ１１１は、Ｓ９３の処理によって、現在時刻から復帰時刻までの経過時間が第３時間以下と判断した場合（Ｓ９３：ＮＯ）、復帰処理を終了させ、処理を転送処理（図４参照）に戻す。ＣＰＵ１１１は、計測流出量が最終流出量以下と判断した場合（Ｓ９７：ＮＯ）、復帰処理を終了させ、処理を転送処理（図４参照）に戻す。これらの場合、第１転送モードを示す情報が動作モードとしてＲＡＭ１１３に記憶された状態が維持される。図４に示すように、ＣＰＵ１１１は、復帰処理の終了後、処理をメイン処理（図３参照）に戻す。
【００９０】
ＣＰＵ１１１は、端末装置１２Ａから送信される映像データを受信する毎に、メイン処理（図３参照）を実行する。第１転送モードを示す情報が動作モードとしてＲＡＭ１１３に記憶された状態で、第１映像データが受信され、転送処理（Ｓ１５参照）が実行された場合を例に挙げる。この場合、図４に示すように、ＣＰＵ１１１は、Ｓ１０（図３参照）の処理によって第２映像データを受信したか判断する（Ｓ２１）。ＣＰＵ１１１は、第１映像データを受信した場合、第２映像データを受信していないと判断する（Ｓ２１：ＮＯ）。ＣＰＵ１１１は、第１転送モードを示す情報が、動作モードとしてＲＡＭ１１３に記憶されているか判断する（Ｓ２７）。ＣＰＵ１１１は、第１転送モードを示す情報が動作モードとしてＲＡＭ１１３に記憶されていると判断した場合（Ｓ２７：ＹＥＳ）。受信した第１映像データを、Ｓ１３（図３参照）の処理によって選択された端末装置１２Ｂ、１２Ｃの何れかに転送する（Ｓ２９）。ＣＰＵ１１１は処理をＳ３１に進める。
【００９１】
第１転送モードを示す情報が動作モードとしてＲＡＭ１１３に記憶された状態で、第２映像データが受信され、転送処理（Ｓ１５参照）が実行された場合を例に挙げる。この場合、図４に示すように、ＣＰＵ１１１は、Ｓ１０（図３参照）の処理によって第２映像データを受信したか判断する（Ｓ２１）。ＣＰＵ１１１は、第２映像データを受信したと判断した場合（Ｓ２１：ＹＥＳ）、第２転送モードを示す情報が動作モードとしてＲＡＭ１１３に記憶されているか判断する（Ｓ２３）。ＣＰＵ１１１は、第１転送モードを示す情報が動作モードとしてＲＡＭ１１３記憶されていると判断した場合（Ｓ２３：ＮＯ）、処理をＳ３１に進める。
【００９２】
＜本実施形態の主たる効果＞
以上説明したように、サーバ装置１１のＣＰＵ１１１は、単位時間当たりのデータ量が相対的に小さい複数の第１映像データ、及び、単位時間当たりのデータ量が相対的に大きい複数の第２映像データを、端末装置１２Ａから受信する（Ｓ１０）。ＣＰＵ１１１は、流入量及び流出量を特定し（Ｓ４１、Ｓ４９）、スキップ量を算出する（Ｓ７５）。ＣＰＵ１１１は、スキップ量が閾値Ｔｈよりも小さい場合（Ｓ４５：ＹＥＳ）、スキップ量に応じて選択される複数の第２映像データを、端末装置１２Ｂ、１２Ｃに送信する（Ｓ５１）。なお、スキップ量の逆数「１／スキップ量」は、複数の第２映像データのうち送信しない第２映像データの割合を示す。従って、スキップ量が閾値Ｔｈよりも小さい場合は、言い換えれば、複数の第２映像データのうち送信する第２映像データの割合が所定閾値以上であることを示す。一方、ＣＰＵ１１１は、スキップ量が閾値Ｔｈ以上の場合（Ｓ４５：ＮＯ）、複数の第１映像データを端末装置１２Ｂ、１２Ｃに送信する（Ｓ２９）。なお、スキップ量が閾値Ｔｈ以上の場合は、言い換えれば、複数の第２映像データのうち送信する第２映像データの割合が、所定の閾値よりも小さいことを示す。
【００９３】
上記の場合、ＣＰＵ１１１は、端末装置１２Ｂ、１２Ｃとの間の使用可能帯域が相対的に小さい場合、単位時間当たりのデータ量が相対的に小さい複数の第１映像データを送信する。これによって、ＣＰＵ１１１は、映像データの伝送容量を使用可能帯域以下に容易に調整することが可能となる。又、ＣＰＵ１１１は、端末装置１２Ｂ、１２Ｃとの間の使用可能帯域が相対的に大きい場合、単位時間当たりのデータ量が相対的に大きい複数の第２映像データを、選択的に送信する。ＣＰＵ１１１は、複数の第２映像データの一部を送信することによって、映像データの単位時間当たりのデータ量が使用可能帯域を超えることを抑制できる。このため、ＣＰＵ１１１は、端末装置１２Ｂ、１２Ｃにおける映像の品質の低下を抑制できる。
【００９４】
スキップ量が閾値Ｔｈ以上となった場合（Ｓ４５：ＮＯ）、使用可能帯域が減少していることになる。この場合、ＣＰＵ１１１は、この時点での流出量を、最終流出量としてＲＡＭ１１３に記憶し（Ｓ５９）、複数の第１映像データを端末装置１２Ｂ、１２Ｃに送信する（Ｓ２９）。又、ＣＰＵ１１１は、端末装置１２Ｂ、１２Ｃとの間で計測通信を行うことによって、計測流出量を特定する（Ｓ９５）。計測流出量が最終流出量よりも大きい場合（Ｓ９７：ＹＥＳ）、最終流出量をＲＡＭ１１３に記憶したとき、言い換えれば、スキップ量が閾値Ｔｈ以上となったときと比べて、使用可能帯域は増加したことになる。そこでＣＰＵ１１１は、最終流出量を流出量としてＲＡＭ１１３に記憶し（Ｓ１０１）、この流出量に基づいて、スキップ量を算出する（Ｓ７５）。ＣＰＵ１１１は、算出したスキップ量に基づいて選択された複数の第２映像データを、端末装置１２Ｂ、１２Ｃに送信する（Ｓ５１）。
【００９５】
上記の処理を実行することによって、ＣＰＵ１１１は、使用可能帯域が小さい状態から大きい状態に回復したときに、端末装置１２Ｂ、１２Ｃに送信する映像データを、複数の第１映像データから複数の第２映像データに切り替えることができる（Ｓ９９）。又、ＣＰＵ１１１は、最終流出量に基づいてスキップ量を算出することによって、スキップ量が閾値Ｔｈ以上となったときの流出量に基づいてスキップ量を算出できる。このため、ＣＰＵ１１１は、複数の第２映像データの単位時間当たりのデータ量が使用可能帯域以上となることを更に抑制できる。従って、ＣＰＵ１１１は、複数の第２映像データを送信することによる輻輳等の発生を抑制できる。
【００９６】
ＣＰＵ１１１は、複数の第２映像データの送受信によって特定した流入量及び流出量に基づいて、スキップ量を算出する（Ｓ７５）。この場合、ＣＰＵ１１１は、端末装置１２Ｂ、１２Ｃとの間で計測通信を行うことなく、使用可能帯域に対応するスキップ量を算出できる。従って、ＣＰＵ１１１は、ネットワーク１４における端末装置１２Ｂ、１２Ｃとの間の通信負荷が計測通信によって増大することを抑制しつつ、ネットワーク１４の状態を特定できる。
【００９７】
ＣＰＵ１１１は、スキップ量が変化しない状態での経過時間が第１時間以上の場合（Ｓ８１：ＹＥＳ）、スキップ量から所定量「１」を減算し、スキップ量を減少させる（Ｓ８３）。この場合、ＣＰＵ１１１は、スキップ量が第１時間以上変化しない場合に、送信しない第２映像データの割合を小さくできる。この場合、ＣＰＵ１１１は、使用可能帯域が小さい状態から大きい状態に回復したときに、より多くの複数の第２映像データを端末装置１２Ｂ、１２Ｃに送信できる。
【００９８】
ＣＰＵ１１１は、第２映像データが最初に送信されてからの経過時間が第２時間よりも大きい場合（Ｓ６１：ＹＥＳ）、原因フラグに「２」を記憶し（Ｓ６５）、計測通信を実行する（Ｓ９５）。この場合、サーバ装置１１と端末装置１２との間の伝送路容量が、複数の第２映像データの単位時間当たりのデータ量と比べて元々大きい可能性が高い。この場合、データの輻輳、遅延、ゆらぎ、パケットロス等の発生によって伝送路の通信状態が一時的に悪化し、スキップ量が一時的に閾値Ｔｈ以上となった可能性がある。従って、ＣＰＵ１１１は、このような場合に計測通信を実行することによって、動作モードを、第２映像データが送信されるモードに変更できる（Ｓ９９）。従って、ＣＰＵ１１１は、伝送路の使用可能帯域を適切に特定し、適切な映像データを転送できる。
【００９９】
＜変形例＞
なお、本発明は上記の実施形態に限定されず、種々の変更が可能である。上記のメイン処理は、Ｗｅｂ会議処理に含まれる処理に限定されない。例えば、ＣＰＵ１１１は、ネットワーク１４に接続する端末装置１２間での映像データを中継転送するのみの処理を行う場合にも、上記のメイン処理を実行してもよい。
【０１００】
上記の実施形態では、端末装置１２Ａから送信された複数の映像データのそれぞれが、サーバ装置１１のＣＰＵ１１１によって受信され、端末装置１２Ｂ、１２Ｃに転送された。これに対し、複数の映像データは、端末装置１２Ｂ、１２Ｃから送信されてもよい。なお、例えば、複数の映像データが端末装置１２Ｂから送信された場合、複数の映像データのそれぞれは、サーバ装置１１のＣＰＵ１１１によって受信され、端末装置１２Ａ、１２Ｃに転送される。例えば、複数の映像データが端末装置１２Ｃから送信された場合、複数の映像データのそれぞれは、サーバ装置１１のＣＰＵ１１１によって受信され、端末装置１２Ａ、１２Ｂに転送される。
【０１０１】
例えばＣＰＵ１１１は、「流出量／流入量」を算出することによって、スキップ量の代わりに送信割合を算出してもよい（Ｓ７５）。この場合、送信割合は、複数の第２映像データのうち端末装置１２に送信する第２映像データの割合を示す。ＣＰＵ１１１は、周期ｔ２のそれぞれのタイミングのうち、送信割合分のタイミングで、第２映像データを送信してもよい（Ｓ５１）。即ち、送信割合は、複数の第２映像データのうち端末装置１２に送信する第２映像データを直接的に選択するパラメータであるといえる。なお、本発明は、スキップ量又は送信割合の他にも、複数の第２映像データのうち端末装置１２に送信する第２映像データを選択するための他の指標、又は、複数の第２映像データのうち端末装置１２に送信しない第２映像データを選択するための他の指標を使用できる。
【０１０２】
上記の実施形態において、ＣＰＵ１１１は、流入量及び流出量に基づいて算出したスキップ量と閾値Ｔｈとを比較することによって、動作モードを第１転送モード又は第２転送モードに設定した（Ｓ４５）。これに対し、ＣＰＵ１１１は、送信割合と所定閾値を比較することによって、動作モードを第１転送モード又は第２転送モードに設定してもよい（Ｓ４５）。具体的には、例えばＣＰＵ１１１は、送信割合が０．２以上の場合（Ｓ４５：ＹＥＳ）、第２転送モードで動作し、複数の第２映像データを端末装置１２に転送してもよい（Ｓ５１）。一方、ＣＰＵ１１１は、送信割合が０．２未満の場合（Ｓ４５：ＮＯ）、第１転送モードを示す情報を動作モードとしてＲＡＭ１１３に記憶し（Ｓ５７）、第１映像データを端末装置１２に転送してもよい（Ｓ２９）。
【０１０３】
ＣＰＵ１１１は、Ｓ４５の処理によってスキップ量と閾値Ｔｈとを比較する代わりに、流出量を所定の閾値と比較してもよい。ＣＰＵ１１１は、流出量と所定の閾値を比較することによって、動作モードを第１転送モード又は第２転送モードに設定してもよい（Ｓ４５）。具体的には、例えばＣＰＵ１１１は、流出量が所定の閾値よりも大きい場合（Ｓ４５：ＹＥＳ）、第２転送モードで動作し、複数の第２映像データを端末装置１２に転送してもよい（Ｓ５１）。一方、ＣＰＵ１１１は、流出量が所定の閾値以下の場合（Ｓ４５：ＮＯ）、第１転送モードを示す情報を動作モードとしてＲＡＭ１１３に記憶し（Ｓ５７）、第１映像データを端末装置１２に転送してもよい（Ｓ２９）。
【０１０４】
ＣＰＵ１１１は、スキップ量を算出する（Ｓ４３）代わりに、使用可能帯域を直接計測してもよい。ＣＰＵ１１１は、計測した使用可能帯域と所定の閾値とを比較することによって、動作モードを第１転送モード又は第２転送モードに設定してもよい。なお、使用可能帯域の計測方式には種々の方式を用いることができる。一例として、以下の文献に記載されている帯域の計測方式を用いることができる。
「津川知朗、ＣａｏＬｅ  Ｔｈａｎｈ  Ｍａｎ、長谷川剛、村田正幸、「インラインネットワーク計測手法ＩｍＴＣＰおよびその応用手法の実装および性能評価」、電子情報通信学会技術研究報告（ＩＮ２００５−１２０）、ｐ．７９−８４、２００５年１２月」
【０１０５】
上記文献に記載されている計測方式では、複数のパケットが、送信間隔を徐々に長くしながら、または徐々に短くしながら、サーバ装置１１から端末装置１２に対して順次送信される。例えば、送信間隔を徐々に長くしながら複数のパケットを送信すると、送信ビットレートが使用可能帯域よりも大きい間は、端末装置１２がパケットの各々を受信する間隔（受信間隔）は、サーバ装置１１における送信間隔よりも長くなる。しかし、送信間隔が長くなり、送信ビットレートが使用可能帯域以下となれば、受信間隔と送信間隔とが同一となる。よって、「受信間隔−送信間隔」の値が変化する時点のデータの送信ビットレートを使用可能帯域として計測することができる。
【０１０６】
ＣＰＵ１１１は、計測通信（Ｓ９５）を実行する場合にも、上記のように使用可能帯域を直接計測してもよい。又、ＣＰＵ１１１は、Ｓ５９の処理によって、スキップ量の代わりに計測された使用可能帯域をＲＡＭ１１３に記憶してもよい。ＣＰＵ１１１は、計測した使用可能帯域と、Ｓ５９の処理によってＲＡＭ１１３に記憶した使用可能帯域とを比較することによって、動作モードを第２転送モードに変更するか判断してもよい。
【０１０７】
上記の実施形態において、ＣＰＵ１１１は、計測通信（Ｓ９５）に応じて動作モードを第２転送モードに切り替え（Ｓ９９）、最終流出量を流出量としてＲＡＭ１１３に記憶し（Ｓ１０１）、この流出量に基づいてスキップ量を算出した（Ｓ７５）。これに対し、ＣＰＵ１１１はＳ１０１の処理を実行しなくてもよい。これによって、ＣＰＵ１１１は、計測通信（Ｓ９５）の直前に特定された流出量、即ち、計測通信の時点でＲＡＭ１１３に記憶された流出量に基づいて、スキップ量を算出してもよい。
【０１０８】
上記の実施形態において、ＣＰＵ１１１は、Ｓ７７の処理によって、スキップ量が相違するか判断した。これに対し、ＣＰＵ１１１は、スキップ量の相違量が所定範囲を超えたか判断してもよい。ＣＰＵ１１１は、スキップ量の相違量が所定範囲を超えた場合（Ｓ７７：ＹＥＳ）、変更時刻をＲＡＭ１１３に記憶してもよい。
【０１０９】
上記の実施形態において、ＣＰＵ１１１は、第２映像データが最初に送信されてからの経過時間が第２時間よりも大きい場合（Ｓ６１：ＹＥＳ）、計測通信を実行した（Ｓ９５）。これに対し、ＣＰＵ１１１は、第２映像データが最初に送信されてからの経過時間に関わらず、計測通信を実行してもよい。
【０１１０】
上記の実施形態において、端末装置１２ＡのＣＰＵ１２１は、フレーム間差分化方式を使用して映像をエンコードし、複数の第２映像データを送信してもよい。つまり、生成される複数の第２映像データには、Ｉフレーム、Ｐフレーム、Ｂフレームの何れかに対応するデータが含まれていてもよい。この場合、サーバ装置１１のＣＰＵ１１１は、Ｓ４７の処理によって送信するか否か判断する場合に対象とする第２映像データを、Ｉフレームに対応する第２映像データのみとしてもよい。又、ＣＰＵ１１１は、Ｐフレーム、Ｂフレームの何れかに対応する第２映像データを、Ｓ４７の処理によって送信するか否か判断する場合の対象としてもよい。
【０１１１】
ＣＰＵ１１１は、計測通信（Ｓ９５）を行う場合、Ｗｅｂ会議で使用される各種データを、計測データとして含めてもよい。例えば、ＣＰＵ１１１は、Ｗｅｂ会議で使用される音声データ、共有資料データ等を含む計測データを用いて計測通信を実行してもよい。
【０１１２】
なお、上記実施形態において閾値Ｔｈとして設定された値は変更できる。例えば、閾値Ｔｈは、「５」よりも小さい何れかの値、又は、「５」よりも大きい何れかの値であってもよい。閾値Ｔｈは、映像データの種別（撮影映像、コンテンツ映像等）によって切り替えられてもよい。閾値Ｔｈは、端末装置１２の使用者によって任意の値に設定可能であってもよい。上記実施形態において第１時間として設定された値は変更できる。例えば、第１時間は、「３００秒」よりも小さい何れかの値、又は、「３００秒」よりも大きい何れかの値であってもよい。上記実施形態において第２時間として設定された値は変更できる。例えば、第２時間は、「１０秒」よりも小さい何れかの値、又は、「１０秒」よりも大きい何れかの値であってもよい。第２時間は、ネットワーク１４の種別（ＩＳＤＮ回線、ＡＤＳＬ回線、光回線等）によって切り替えられてもよい。第２時間は、端末装置１２の使用者によって任意の値に設定可能であってもよい。上記実施形態において第３時間として設定された値は変更できる。例えば、第３時間は、「５分」よりも小さい何れかの値、又は、「５分」よりも大きい何れかの値であってもよい。第３時間は、ネットワーク１４の種別（ＩＳＤＮ回線、ＡＤＳＬ回線、光回線等）によって切り替えられてもよい。第３時間は、端末装置１２の使用者によって任意の値に設定可能であってもよい。上記実施形態のＳ８３の処理によってスキップ量を更新するときの所定数として設定された値は変更できる。例えば、所定数は、「２」以上の何れかの値であってもよい。
＜その他＞
【０１１３】
スキップ量は本発明の「選択パラメータ」の一例である。Ｓ１０の処理は本発明の「第１取得ステップ」の一例である。Ｓ４１、Ｓ４９、Ｓ９５の処理は本発明の「第１決定ステップ」の一例である。Ｓ４３の処理は本発明の「第２決定ステップ」の一例である。Ｓ４５の処理は本発明の「第１判断ステップ」の一例である。Ｓ２９、Ｓ５１の処理は本発明の「送信ステップ」の一例である。Ｓ５９の処理は本発明の「記憶ステップ」の一例である。Ｓ９７の処理は本発明の「第２判断ステップ」の一例である。Ｓ８１の処理は本発明の「第３判断ステップ」の一例である。Ｓ６１の処理は本発明の「第４判断ステップ」の一例である。
【０１１４】
Ｓ１０の処理を行うＣＰＵ１１１は本発明の「第１取得手段」の一例である。Ｓ４１、Ｓ４９、Ｓ９５の処理を行うＣＰＵ１１１は本発明の「第１決定手段」の一例である。Ｓ４３の処理を行うＣＰＵ１１１は本発明の「第２決定手段」の一例である。Ｓ４５の処理を行うＣＰＵ１１１は本発明の「第１判断手段」の一例である。Ｓ２９、Ｓ５１の処理を行うＣＰＵ１１１は本発明の「送信手段」の一例である。
【符号の説明】
【０１１５】
１        ：通信システム
１１      ：サーバ装置
１２、１２Ａ、１２Ｂ、１２Ｃ    ：端末装置
２１      ：第１映像データ
２２      ：第２映像データ
１１１    ：ＣＰＵ
１１４    ：記憶部
【図１】
2016127320.tif 000003
【図２】
2016127320.tif 000004
【図３】
2016127320.tif 000005
【図４】
2016127320.tif 000006
【図５】
2016127320.tif 000007
【図６】
2016127320.tif 000008
【図７】
2016127320.tif 000009