(57)【要約】ビデオ会議レートマッチングが提供され得る。ビデオ会議サーバは、ビデオソースストリームをビデオ会議におけるクライアントから受信し得る。サーバは、各クライアントの能力を分析し、それらの能力に基づいて、ビデオストリームを選択して、各クライアントに送信し得る。例えば、高精細度ビデオストリームを符号化し且つ復号化することができるクライアントは、３つのソースビデオストリーム、すなわち、高精細度のストリーム、中解像度のストリーム、及び低解像度のストリームを提供し得る。サーバは、低解像度のストリームだけを低量の利用可能なバンド幅を有するクライアントに送信し得る。サーバは、高精細度のストリームに対して十分なバンド幅を有するものの高精細度ビデオストリームを復号化する能力を欠いている別のクライアントに、中解像度のストリームを送信し得る。
2012512561.tif 000002
【特許請求の範囲】
【請求項１】
複数のクライアントにデータを提供する方法であって、
複数のデータストリームを受信するステップと、
前記複数のクライアントのうちの少なくとも１つに関連付けられた少なくとも１つの能力を分析するステップと、
前記分析された少なくとも１つの能力に基づいて、前記複数のクライアントのうちの前記少なくとも１つに送信する前記複数のデータストリームのうちの少なくとも１つを選択するステップと、
前記複数のデータストリームのうちの前記選択された少なくとも１つを、前記複数のクライアントのうちの前記少なくとも１つに送信するステップと
を含むことを特徴とする方法。
【請求項２】
前記複数のクライアントのうちの前記少なくとも１つに関連付けられた少なくとも１つの能力を分析する前記ステップは、前記複数のクライアントのうちの少なくとも１つに関連付けられた少なくとも１つの通信媒体のバンド幅を分析するステップを含むことを特徴とする請求項１に記載の方法。
【請求項３】
前記複数のクライアントのうちの少なくとも１つに関連付けられた前記少なくとも１つの通信媒体は、イントラネット及びインターネットのうち少なくとも１つを含むことを特徴とする請求項２に記載の方法。
【請求項４】
前記複数のクライアントのうちの前記少なくとも１つに関連付けられた前記少なくとも１つの能力を分析する前記ステップは、前記複数のクライアントのうちの少なくとも１つと関連付けられたデータ処理能力を分析するステップを含むことを特徴とする請求項１に記載の方法。
【請求項５】
前記複数のクライアントのうちの前記少なくとも１つに関連付けられた前記少なくとも１つの能力を分析する前記ステップは、少なくとも１つのビデオ復号能力を判定する能力を含むことを特徴とする請求項１に記載の方法。
【請求項６】
前記複数のクライアントのうちの少なくとも１つの第１のクライアントは、複数データストリームに関連付けられており、
前記複数のデータストリームのうちの少なくとも１つの第１のデータストリームは、前記複数のデータストリームのうちの少なくとも１つの第２のデータストリームの高解像バージョンを含むことを特徴とする請求項１に記載の方法。
【請求項７】
前記複数のクライアントのうちの前記少なくとも１つに関連付けられた前記少なくとも１つの能力を分析する前記ステップは、前記複数のクライアントのうちの前記少なくとも１つの第２のクライアントが、前記少なくとも１つの第１のデータストリームを復号化することができるかどうかを判定するステップを含むことを特徴とする請求項６に記載の方法。
【請求項８】
前記複数のクライアントのうちの前記少なくとも１つに関連付けられた前記少なくとも１つの能力を分析する前記ステップは、前記複数のクライアントのうちの少なくとも１つの第２のクライアントが、前記少なくとも１つの第１のデータストリームを受信するのに十分なバンド幅を有しているかどうかを判定するステップを含むことを特徴とする請求項６に記載の方法。
【請求項９】
実行されるとビデオストリームを複数のクライアントに提供する方法を実行する一連の命令を記憶するコンピュータ可読媒体であって、
前記一連の命令によって実行される前記方法は、
少なくとも１つのビデオストリームを前記複数のの各々から受信するステップと、
前記複数のクライアントの各々に関連付けられたビデオ会議能力データを収集するステップと、
前記複数のクライアントの各々に関連付けられた前記収集されたビデオ会議能力データに応じて、前記複数のクライアントの各々へ送信する少なくとも１つのビデオストリームを選択するステップと、
当該選択された少なくとも１つのビデオストリームを、前記複数のクライアントの各々へ送信するステップと
を含むことを特徴とするコンピュータ可読媒体。
【請求項１０】
前記方法が、
少なくとも１つの第１のビデオストリーム及び少なくとも１つの第２のビデオストリームを、前記複数のクライアントのうちの少なくとも１つから受信するステップをさらに含み、
前記少なくとも１つの第１のビデオストリームは、前記少なくとも１つの第２のデータストリームの高解像バージョンを含むことを特徴とする請求項９に記載のコンピュータ可読媒体。
【請求項１１】
前記方法が、
前記複数のクライアントのうちの少なくとも１つが、少なくとも１つの第１のデータストリームを含む前記フレームのすべてを受信するのに十分なバンド幅を有しているかどうかを判定するステップと、
前記複数のクライアントのうちの前記少なくとも１つが、前記少なくとも１つの第１のデータストリームを含む前記フレームのすべてを受信するのに十分なバンド幅を有していると判定することに応答して、前記少なくとも１つのビデオストリームを、前記複数のクライアントのうちの前記少なくとも１つに送信するステップと
をさらに含むことを特徴とする請求項９に記載のコンピュータ可読媒体。
【請求項１２】
前記方法が、
前記複数のクライアントのうちの前記少なくとも１つが、前記少なくとも１つの第１のデータストリームを含む前記フレームのすべてを受信するのに十分なバンド幅を有していないと判定することに応答して、少なくとも１つの第２のビデオストリームを、前記複数のクライアントのうちの前記少なくとも１つに送信するステップをさらに含み、
前記少なくとも１つの第２のデータストリームは、前記少なくとも１つの第１のデータストリームの低解像バージョンを含むことを特徴とする請求項１１に記載のコンピュータ可読媒体。
【請求項１３】
前記方法が、
前記複数のクライアントのうちの前記少なくとも１つが、前記少なくとも１つの第１のデータストリームを含む前記フレームのすべてを受信するのに十分なバンド幅を有していないと判定することに応答して、前記少なくとも１つのビデオストリームを、前記複数のクライアントのうちの前記少なくとも１つに送信するステップに先立って、前記ビデオストリームから１秒あたり少なくとも１つのフレームを削除するステップをさらに含むことを特徴とする請求項１１に記載のコンピュータ可読媒体。
【請求項１４】
前記方法が、
前記複数のクライアントの各々に対して、少なくとも１つの使用中のビデオ復号化アルゴリズムを判定するステップと、
前記複数のクライアントの各々に対して、前記複数のクライアントの各々に関連付けられた少なくとも１つのビデオ符号化アルゴリズムを判定するステップと、
前記複数のクライアントのうちの少なくとも１つによって使用中であると判定された前記複数のクライアントのうちの少なくとも１つが、前記複数のクライアントの各々に関連付けられた前記少なくとも１つのビデオ符号化アルゴリズムに対して、少なくとも１つのビデオストリームを符号化するよう命令するステップと
をさらに含むことを特徴とする請求項９に記載のコンピュータ可読媒体。
【請求項１５】
ビデオ会議においてレートマッチングを提供するシステムであって、
前記システムは、
記憶装置と、
ネットワーク接続デバイスと、
前記記憶装置と接続された処理ユニットと、を含み、
前記処理ユニットは、
前記ネットワーク接続デバイスを介してシステムに対して動作可能なように接続された少なくとも１つの第１のビデオ会議クライアント及び少なくとも１つの第２のビデオ会議クライアントを登録し、
複数のビデオストリームを前記少なくとも１つの第１のビデオ会議クライアントから受信し、
前記少なくとも１つの第２のビデオ会議クライアントに対して確立された少なくとも一つの能力に基づいて、前記少なくとも１つの第２のビデオ会議クライアントが前記少なくとも１つの第１のビデオストリームを受信することができるかどうかを判定し、
前記少なくとも１つの第２のビデオ会議クライアントが前記少なくとも１つの第１のビデオストリームを受信することができると判定することに応答して、前記少なくとも１つの第１のビデオストリームを前記システムによって復号化することなく、前記少なくとも１つの第１のビデオストリームを前記少なくとも１つの第２のビデオ会議クライアントに送信するよう動作し、
前記少なくとも１つの第１のビデオ会議クライアント及び前記少なくとも１つの第２のビデオ会議クライアントを登録するように動作することは、前記少なくとも１つの第１のビデオ会議クライアント及び前記少なくとも１つの第２のビデオ会議クライアントに対して少なくとも１つの能力を確立するように動作することを含み、
前記少なくとも１つの能力は、利用可能なバンド幅、最高符号化分解能、及び最高復号化分解能のうち少なくとも１つを含み、
前記複数のデータストリームは少なくとも１つの第１のビデオストリーム及び少なくとも１つの第２のビデオストリームを含み、
前記少なくとも１つの第１のビデオストリームは前記少なくとも１つの第２のビデオストリームよりも高い解像度のビデオストリームを含み、
前記少なくとも１つの第２のビデオ会議クライアントが前記少なくとも１つの第１のビデオストリームを受信することができると判定するよう動作をすることは、前記少なくとも１つの第２のビデオ会議クライアントが前記少なくとも１つの第１のビデオストリームを復号化することができるかどうか、及び、少なくとも１つのＢフレームを前記少なくとも１つの第１のビデオストリームからドロップすることなく、前記少なくとも１つの第２のビデオ会議クライアントが、前記少なくとも１つの第１のビデオストリームを受信するのに十分なバンド幅を有しているかどうかのうちの少なくとも１つを判定するように動作することを含むことを特徴とするシステム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、ビデオ会議システムに関する。
【背景技術】
【０００２】
ビデオ会議におけるレートマッチング（ｒａｔｅ  ｍａｔｃｈｉｎｇ）は、ビデオ会議のパフォーマンスを改善する処理である。ある状況において、インターネットを介して接続されたビデオ会議クライアントは、変動する量のバンド幅を有し得るものの、他のクライアントは、安定した量のバンド幅と共に企業イントラネット上に存在している。インターネットクライアントは、イントラネットクライアントと同じクオリティのビデオストリームを受信することができないかもしれないので、ビデオ会議システムは、参加するすべてのクライアントに対して、ビデオのクオリティを、最低のレベルで稼動するクライアントが処理し得るレベルまで下げざるを得ない。すなわち、システムは、イントラネットクライアントが自身の能力に妥協しかつ自身の能力を犠牲にするようにせざるを得ず、低解像度且つ低フレームレートの低ビットレートで単に符号化し／受信するようにせざるを得ない。
【０００３】
例えば、イントラネットに対して、クライアントは、１秒当たり３０フレーム（ｆｐｓ）のフレームレートにて、ＶＧＡ解像度（１フレームあたり６４０×４８０ピクセル）にて符号化し且つ再生することができるかもしれない。インターネットクライアントは、１５ｆｐｓレートのＣＩＦ解像度（３２０×２４０）にて符号化し且つ受信できるだけであるかもしれない。従来の戦略は、あらゆるクライアントがより低いＣＩＦ解像度で符号化し且つ受信するよう強制することであり、又は、ビデオ会議システムが代替のフレームをＶＧＡ解像度のストリームからドロップすることである。
【発明の概要】
【０００４】
ビデオ会議レートマッチングが提供され得る。本概要は、発明の詳細な説明においてさらに後述する単純化した形態で概念の選択を導くために与えられている。この発明の概要は、特許請求の範囲に記載された発明の重要な特色若しくは本質的な特徴を特定することは意図していないし、特許請求の範囲に記載された発明の範囲を限定する目的で用いられるものでもない。
【０００５】
ビデオ会議レートマッチングが提供され得る。ビデオ会議サーバは、ビデオソースストリームを、ビデオ会議におけるクライアントから受信し得る。サーバは、その能力に基づいて、各クライアントの能力を分析し、ビデオストリームを選択して、各クライアントに送信し得る。例えば、高精細度ビデオストリームを符号化し且つ復号化することができるクライアントは、３つのソースビデオストリーム、すなわち、高精細度のストリーム、中解像度のストリーム、及び低解像度のストリームを提供し得る。サーバは、低解像度のストリームだけを低量の利用可能なバンド幅を有するクライアントに送信し得る。サーバは、中解像度のストリームを、高精細度のストリームに対して十分なバンド幅を有するものの、高精細度のビデオストリームを復号化する能力を欠いている別のクライアントに送信し得る。
【０００６】
本概要及び以下の詳細な説明は、実施例を与え且つ説明するに過ぎない。従って、本概要及び以下の詳細な説明は、限定的に考慮されるべきではない。さらに、本明細書で説明したものに加えて、特徴又は変形が提供され得る。例えば、実施形態は、詳細な説明で記述された種々の特徴の結合及び下位の結合も対象とする。
【０００７】
本開示の一部に組み込まれ且つ本開示の一部を構成する添付図面は、本発明の様々な実施形態を図示している。
【図面の簡単な説明】
【０００８】
【図１】動作環境のブロック図である。
【図２Ａ】異なるフレームタイプを使用するビデオストリーム符号化アルゴリズムを示す図である。
【図２Ｂ】異なるフレームタイプを使用するビデオストリーム符号化アルゴリズムを示す図である。
【図２Ｃ】異なるフレームタイプを使用するビデオストリーム符号化アルゴリズムを示す図である。
【図３】ビデオ会議レートマッチングを示す図である。
【図４】ビデオ会議においてレートマッチングを提供する方法のフロー図である。
【図５】データストリームをクライアントに対して選択する図４の方法において使用されるサブルーチンのフロー図である。
【図６】コンピュータデバイスを含むシステムのブロック図である。
【発明を実施するための形態】
【０００９】
以下の詳細な説明は添付図面を参照する。可能である限り、同一の参照番号が、図面及び以下の説明文において使用され、同一又は類似の要素に対して付されている。本発明の実施形態が説明され得るものの、変更したり、適応したり、そして他の方法によって実装され得る。例えば、置換、付加、又は修正が図示された要素に対してなされ得るし、本明細書に記載された方法は、開示された方法を置換し、方法の順序を変更し、さらなるステージを付加することによって、変更され得る。従って、以下の詳細な説明は本発明を限定しない。本発明の適切な範囲は、添付した特許請求の範囲によって画定される。
【００１０】
ビデオ会議レートマッチングが提供され得る。本発明の実施形態によれば、マルチプルビットレート（ＭＢＲ：ｍｕｌｔｉｐｌｅ  ｂｉｔ  ｒａｔｅ）スキームが、データを受信し且つ処理するクライアントの能力に一致するクライアントにデータを流すように使用され得る。
【００１１】
図１は動作環境のブロック図である。この動作環境は、ビデオ会議環境１００を含み得る。ビデオ会議環境１００は、イントラネットネットワーク接続１１５を介して接続されたイントラネットクライアント１１０及びビデオ会議サーバ１２０を含み得る。ビデオ会議環境１００は、第１のインターネットクライアント１３０、第２のインターネットクライアント１４０、及び第３のインターネットクライアント１５０をさらに含み得る。インターネットクライアントの各々は、インターネット１６０を介してビデオ会議サーバ１２０に接続され得る。本発明の実施形態によれば、以下において図６に関してさらに詳細に説明するように、ビデオ会議サーバ１２０、イントラネットクライアント１１０、第１のインターネットクライアント１３０、第２のインターネットクライアント１４０、及び、第３のインターネットクライアント１５０は、各々がコンピュータデバイス６００を含み得る。
【００１２】
ビデオ会議環境１００は、複数のクライアントが互いにデータストリームを共有したいと望む場合に使用され得る。各々のクライアントは、ビデオ会議サーバ１２０に接続し得る。ビデオ会議サーバ１２０は、どのクライアントが接続されており、各々のクライアントの能力が何であるかに関するリストを保持し得る。本発明の実施形態によれば、ビデオ会議サーバ１２０は、クライアントの能力におけるあらゆる変化を定期的に更新し得る。例えば、ビデオ会議サーバ１２０は、イントラネットネットワーク接続１１５を分析し得るし、イントラネットクライアント１１０が先に判定された利用可能なバンド幅よりもより大きな利用可能なバンド幅を有し得ることを判定し得る。ビデオ会議サーバ１２０は、データ共有を容易にする際に使用するため、その情報を記憶し得る。ビデオ会議サーバ１２０には、どのクライアントに、データストリームをビデオ会議サーバ１２０に送信し、かつ、データストリームを各々の接続されたクライアントへ送信する責任があり得るかどうかを判定する責任があり得る。
【００１３】
各クライアントは、少なくとも１つのデータストリームを符号化して、ビデオ会議サーバ１２０に送信し得る。例えば、各クライアントは、クライアントに接続されたウェブカメラ及び／又はマイクロホン等のオーディオ／ビデオ入力を有し得る。当該入力が、（オーディオを含み得る）ビデオストリームを生成し、ビデオストリームをビデオ会議サーバ１２０に送信する前に、ビデオストリームを符号化するのに使用され得る。ビデオ会議サーバ１２０は、符号化されたストリームを各クライアントから受信し、どのストリームを各クライアントに中継すべきかを判定し得る。例えば、イントラネットクライアント１１０は、現在話している人を含む一連のビデオフレームとしてビデオストリームを符号化し得る。ビデオ会議サーバ１２０は、現在の話し手が示す符号化されたストリームをイントラネットクライアント１１０から第１のインターネットクライアント１３０、第２のインターネットクライアント１４０、及び第３のインターネットクライアント１５０に送信し得る。ビデオ会議サーバ１２０は、第１のインターネットクライアント１３０、第２のインターネットクライアント１４０、及び第３のインターネットクライアント１５０の各々からの符号化されたソースストリームを、イントラネット１１０へ送信して、聴衆メンバを示し得る。
【００１４】
図２Ａ−２Ｃは、異なるフレームタイプを使用するビデオストリーム符号化アルゴリズムを示す図である。ビデオストリームは、一連のビデオフレームとして符号化され得る。当該一連のビデオフレームにおいて、各フレームは単一の画像を含み得る。各フレームはデータのビットによって表され得る。ビデオストリームは符号化され得るので、ビデオストリームのソースを表す目的で、すべてのフレームのデータのすべてのビットを送信する必要はない。異なるフレームタイプが、ビデオストリームを符号化及び／又は圧縮するのに使用され得る。
【００１５】
フレームのタイプは、Ｉ‐フレーム、Ｐ‐フレーム、及びＢ‐フレームを含み得る。Ｉ‐フレームはイントラ‐フレームを表しており、ビデオストリームにおける他のフレームを全く参照することなく、それ自身によって復号化され得るフレームを含み得る。Ｐ‐フレームは、予測フレーム（Ｐｒｅｄｉｃｔｅｄ  Ｆｒａｍｅ）を表しており、ビデオストリームにおける少なくとも１つの先のフレームを参照することによって符号化され得る。Ｂ‐フレームは、双方向予測フレーム（Ｂｉｄｉｒｅｃｔｉｏｎａｌ  Ｐｒｅｄｉｃｔｅｄ  Ｆｒａｍｅ）を表しており、ビデオストリームにおける少なくとも１つの先のフレーム及び少なくとも後のフレームを参照することによって符号化され得る。
【００１６】
図２Ａは、Ｉ（イントラフレーム）フレーム２１０を含む。Ｉ‐フレーム２１０は、他のフレームを参照することなく符号化され得るし、他のあらゆるフレームとは独立して、復号化され得る。Ｉフレームは、ビデオストリームにおけるランダム・アクセスを可能にし得る。Ｉ‐フレームは、最大サイズのフレームであり、最小サイズに圧縮されたフレームであり得る。
【００１７】
図２Ｂは、Ｐ（予想）フレーム２３０を含む。Ｐ‐フレーム２３０は、リファレンスとして先のフレーム２２０を使用して符号化され得るし、先のフレームが利用可能である場合には、正確に単に復号化され得る。Ｐフレーム２３０は、Ｉフレーム２１０よりも小さく且つより圧縮され得る。先のフレーム２２０は、Ｉ‐フレーム及び／又はＰ‐フレームを含み得る。
【００１８】
図２Ｃは、Ｂ（双方向）フレーム２５０を含む。Ｂ‐フレーム２５０は、先のフレーム２４０と次のフレーム２６０からの情報を使用して符号化され得る。先のフレーム２４０と次のフレーム２６０が利用可能である場合、Ｂ‐フレーム２５０は、正しく復号化され得る。Ｂフレーム２５０は、Ｐ‐フレーム２３０及びＩ‐フレーム２１０よりも小さくて、より圧縮され得る。
【００１９】
ビデオストリームを符号化するのに異なったフレームタイプを使用することは、クライアントに送信されるデータ量を低減するために、２つの後のフレーム間に大きな類似性があるソースを利用し得る。例えば、イントラネットクライアント１１０は、静的な背景の前で話している人に関するビデオストリームを符号化し、転送しているかもしれない。話している人があまり動いていないかもしれないという理由で、ビデオストリームは、先のフレーム２２０と比べてイメージにおける変化を表すデータのビットのみを含み得る、Ｐ‐フレーム２３０を使用することで符号化され得る。
【００２０】
図３は、ビデオ会議レートマッチングを示す図である。図１に関して上述したように、テレビ会議システム１００は、イントラネットクライアント１１０、ビデオ会議サーバ１２０、第１のインターネットクライアント１３０、および第２のインターネットクライアント１４０を含み得る。本発明の実施形態によれば、テレビ会議システム１００におけるクライアントは、異なるバンド幅及び／又は異なるビデオ符号化能力及び／又は異なるビデオ復号化能力で接続し得る。テレビ会議システム１００における各クライアントは、ビデオ会議サーバ１２０を用いて登録し得るし、利用可能なバンド幅、最高符号化分解能、最高復号化分解能、及び、利用可能なデータの符号化アルゴリズム及び／又は復号化アルゴリズム等の少なくとも１つの能力を確立し得る。例えば、イントラネットクライアント１１０はビデオ会議サーバ１２０を用いて登録し得るし、３０ｆｐｓのＶＧＡ（６４０×４８０）解像度と１５ｆｐｓのＣＩＦ（３２０×２４０）解像度を有するビデオストリームを符号化し／復号化する能力を用いて、２Ｍｂｐｓの利用可能なバンド幅を確立し得る。第１のインターネットクライアント１３０は、ビデオ会議サーバ１２０を用いて登録し得るし、３０ｆｐｓの７２０ｐ（１２８０×７２０）解像度、３０ｆｐｓのＶＧＡ（６４０×４８０）解像度、及び１５ｆｐｓのＣＩＦ解像度（３２０×２４０）を有するビデオストリームを符号化し／復号化する能力を用いて、１５０Ｋｂｐｓの利用可能なバンド幅を確立し得る。第２のインターネットクライアント１４０は、ビデオ会議サーバ１２０を用いて登録し得るし、１５ｆｐｓのＣＩＦ解像度（３２０×２４０）でのビデオストリームを符号化し／復号化する能力を用いて、２００Ｋｂｐｓの利用可能なバンド幅を確立し得る。
【００２１】
本発明の実施形態によれば、クライアントは、自身が復号化し得ないビデオストリームを符号化し得うるし、その逆も同様である。例えば、第２のインターネットクライアント１４０は、ＶＧＡ解像度のビデオストリームを受信し、かつ、符号化し得るものの、ＣＩＦ解像度のビデオストリームを符号化することができるにすぎないかもしれない。このシナリオにおいて、イントラネットクライアント１１０及び第１のインターネットクライアント１３０は、ビデオ会議サーバ１２０が第２のインターネットクライアント１４０に送信し得るＶＧＡ解像度で単一のビデオストリームを符号化のみし得る。第２のインターネットクライアント１４０からのＣＩＦ解像度符号化ビデオストリームは、イントラネットクライアント１１０及び第１のインターネットクライアント１３０に送信され続け得る。
【００２２】
ビデオ会議コールが確立されて、各クライアントの能力がビデオ会議サーバ１２０を用いて登録された後に、ビデオ会議サーバ１２０は、各クライアントに対して符号化要求を通信し得る。例えば、イントラネットクライアント１１０及び第１のインターネットクライアント１３０は、各々が２つのビデオストリームを符号化して、それらをビデオ会議サーバ１２０に送信するよう要求され得る。当該２つのビデオストリームのうち、ビデオストリームの第１のバージョンは、３０ｆｐｓのＶＧＡ解像度で符号化され得るし、ビデオストリームの第２のバージョンは、１５ｆｐｓのＣＩＦ解像度で符号化され得る。第２のインターネットクライアント１４０は、１５ｆｐｓのＣＩＦ解像度で１つのビデオストリームを符号化するよう要求され得る。
【００２３】
ビデオ会議サーバ１２０は、次に、各クライアントからストリームを受信し、各クライアントがどの符号化アルゴリズムを復号化することができるかを判定するなど各クライアントの登録された能力及び／又は判定された能力に基づいて、少なくとも１つの受信されたストリームを選択して、各クライアントに送信し得る。例えば、ビデオ会議サーバ１２０は、第２のインターネットクライアント１４０がＣＩＦ解像度のビデオストリームを復号化することができるにすぎないと判定し得るし、一方、イントラネットクライアント１１０及び第１のインターネットクライアントがＶＧＡ解像度及びＣＩＦ解像度のビデオストリームの双方を復号化することができると判定し得る。ビデオ会議サーバ１２０は、次いで、第２のインターネットクライアント１４０から受信されたＣＩＦ解像度のストリームを、イントラネットクライアント１１０及び第１のインターネットクライアント１３０に送信し得る。ビデオ会議サーバ１２０は、イントラネットクライアント１１０からのＶＧＡ解像度のストリームを第１のインターネットクライアント１３０に送信し得るし、次いで、イントラネットクライアント１１０からのＣＩＦストリームを第２のインターネットクライアント１４０に送信し得る。同様に、ビデオ会議サーバ１２０は、第１のインターネットクライアント１３０からのＶＧＡ解像度のストリームをイントラネットクライアント１１０に送信し得るし、第１のインターネットクライアント１３０からのＣＩＦストリームを第２のインターネットクライアント１４０に送信し得る。
【００２４】
ビデオ会議サーバ１２０は、各クライアントがビデオストリームを受信するのに十分のバンド幅を有するかどうか判定し得るし、その判定に基づいて異なるストリームを選択し得る。本発明のさらなる実施形態によれば、ビデオ会議サーバ１２０及び／又は第１のインターネットクライアント１３０等のクライアントの１つは、バンド幅の利用可能な量を定期的に再評価し得る。例えば、ビデオ会議サーバ１２０は、第１のインターネットクライアント１３０に利用可能なバンド幅が１５０Ｋｂｐｓから７５Ｋｂｐｓに下がったと判定し得るし、ＶＧＡ解像度のビデオストリームの代わりに、イントラネットクライアント１１０から第１のインターネットクライアント１３０へのＣＩＦ解像度のビデオストリームの送信を開始し得る。
【００２５】
ビデオ会議サーバ１２０は、また、定期的に、各クライアントの符号化能力／復号化能力を定期的に再評価し得るし、各クライアントのビデオストリームに対して要求されている符号化アルゴリズムを動的に変更し得る。例えば、第２のインターネットクライアント１４０は、ＣＩＦ解像度のビデオストリームを、イントラネットクライアント１１０及び第１のインターネットクライアント１３０から受信するクライアントに過ぎないかもしれない。第２のインターネットクライアント１４０がビデオ会議コールからドロップアウトする場合、ビデオ会議サーバ１２０は、イントラネットクライアント１１０及び第１のインターネットクライアントが、それぞれのビデオストリームのＣＩＦ解像度バージョンを符号化し且つ送信するのを停止することを要求し得る。
【００２６】
本発明の実施形態によれば、ビデオ会議サーバ１２０は、ビデオ会議コールに関連付けられた少なくとも１つのクライアントに命令して、ビデオ会議コールに関連付けられた他のクライアントのうちの少なくとも１つによって使用中であると判定されたビデオストリームを符号化し得る。例えば、ビデオ会議サーバ１２０は、第２のインターネットクライアント１４０がＣＩＦ復号化を現在使用していることを判定し得る。ビデオ会議サーバ１２０は、ＣＩＦ解像度のストリームを符号化するよう第１のインターネットクライアント１３０に命令して、第２インターネットサーバ１４０に中継され得るビデオ会議サーバ１２０へ送信し得る。
【００２７】
さらに、本発明の実施形態によれば、ビデオ会議サーバ１２０は、ビデオストリームをクライアントに送信する前に、ビデオストリームを変更し得る。例えば、イントラネットクライアント１１０は、７２Ｏｐ、ＶＧＡ及びＣＩＦ解像度で符号化することができ、送信することが可能であり得るし、利用可能で大きく且つ安定した量のバンド幅を有し得る。第１のインターネットクライアント１３０は、７２Ｏｐ、ＶＧＡ及びＣＩＦ解像度で受信することができ、復号化することが可能であり得るものの、非常に変化しやすい量の利用可能なバンド幅を有し得る。第１のインターネットクライアント１３０に利用可能なバンド幅が低減するので、ビデオ会議サーバ１２０は、利用可能な量のバンド幅に最も適合するように、イントラネットクライアント１１０から第１のインターネットクライアント１３０へ中継されたビデオストリームを変更し得る。例えば、最低量の利用可能なバンド幅から最高量の利用可能なバンド幅にいたるまで、ビデオ会議サーバは以下のロジックを使用し得る。
【００２８】
１．変更されていない７２０ｐストリームを送信する。  
２．７２０ｐストリームに対して１つのＢフレームをドロップする。  
３．７２０ｐストリームに対して２つのＢフレームをドロップする。  
４．変更されていないＶＧＡストリームを送信する。  
５．ＶＧＡストリームに対して１つのＢフレームをドロップする  
６．ＶＧＡストリームに対して２つのＢフレームをドロップする。  
７．変更されていないＣＩＦストリームを送信する。  
８．ＣＩＦストリームに対して１つのＢフレームをドロップする。  
９．ＣＩＦストリームに対して２つのＢフレームをドロップする。  
１０．７２０ｐストリームに対してすべてのＢフレーム及びＰフレームをドロップする（Ｉフレームを保持するだけである）。  
１１．ＶＧＡストリームに対してすべてのＢフレーム及びＰフレームをドロップする（Ｉフレームを保持するだけである）。  
１２．ＣＩＦストリームに対してすべてのＢフレーム及びＰフレームをドロップする（Ｉフレームを保持するだけである）。
【００２９】
各クライアントに送られたストリームの選択は、各クライアントの視聴の好み並びにクライアントの能力に依存し得る。例えば、第１のインターネットクライアント１３０は、テレビ会議システム１００において並んだ他の２人の参加者を同時に見れるように構成され得、第２のインターネットクライアント１４０は、現在のスピーカを示すだけに構成され得る。その場合、ビデオ会議サーバは、イントラネットクライアント１１０からのＶＧＡ解像度のストリーム及第２のインターネットクライアント１４０からのＣＩＦ解像度のストリームを、第１のインターネットクライアント１３０に送信し得る。それらクライアントの各々がビデオ会議コールで話している際に、第２のインターネットクライアント１４０は、イントラネットクライアント１１０及び第１のインターネットクライアント１３０からのＣＩＦ解像度のストリームの一方を受信し得る。
【００３０】
図４は、ビデオ会議レートマッチングを提供する本発明の実施形態に係る方法４００において実行される典型的なステージについて詳しく説明フロー図である。方法４００は、図６を参照して以下にさらに詳細に説明するコンピュータデバイス６００を使用して実行され得る。方法４００のステージを実装する方法を、以下により詳細に説明する。方法４００は、開始ブロック４１０で開始し、ステージ４２０に進み得る。ステージ４２０において、コンピュータデバイス６００は、少なくとも１つのクライアントを登録し得る。例えば、少なくとも１つのクライアントは、ネットワーク接続を介してコンピュータデバイス６００に動作可能となるよう接続され得るし、コンピュータデバイス６００によって設けられたビデオ会議コールの参加者に要求し得る。
【００３１】
ステージ４２０から、方法４００はステージ４３０に進み得る。ステージ４３０においてコンピュータデバイス６００は、各々の登録されたクライアントの能力を収集し、かつ／又は、分析し得る。例えば、コンピュータデバイス６００は、各クライアントに対して利用可能なバンド幅の量を判定し得る。また、コンピュータデバイス６００は、各クライアントについて、ビデオの符号化能力及び／又はビデオの復号化能力及び／又はデータ処理速度等のデータ処理能力を判定し得る。ビデオの符号化能力及び／又はビデオの復号化能力は、最高解像度を含み得る。
【００３２】
ステージ４３０から、方法４００は、ステージ４４０に進み得る。ステージ４４０においてコンピュータデバイス６００は、データストリームを、少なくとも１つのクライアントから受信し得る。例えば、コンピュータデバイス６００は、ビデオストリームをソースクライアントから受信し得る。各クライアントは、少なくとも１つのストリームを送信し得るし、各クライアントは、異なる解像度のビデオストリーム等、複数のバージョンのデータストリームを送信するよう動作し得る。
【００３３】
ステージ４４０から、方法４００はサブルーチン４５０に進み得る。サブルーチン４５０において、コンピュータデバイス６００はデータストリームを選択して、少なくとも１つのクライアントに送信し得る。例えば、コンピュータデバイス６００は、１つのクライアントが高解像度バージョンのビデオストリームを第２のクライアントから受信するのに十分なバンド幅を有しないと判定し得る。そして、コンピュータデバイス６００は、高解像度バージョンのビデオストリームを選択して送信し得る。サブルーチン４５０に関する詳細については、図５に関して以下に説明され得る。
【００３４】
サブルーチン４５０から、方法４００は、ステージ４６０に進み得る。ステージ４６０において、コンピュータデバイス６００は、選択されたストリームをクライアントに送信し得る。例えば、コンピュータデバイス６００は、ネットワーク接続上の１つのクライアントから受信されたビデオストリームを第２のクライアントに中継し得る。
【００３５】
ステージ４６０から、方法４００は、ステージ４７０に進み得る。ステージ４７０においてコンピュータデバイス６００は、クライアントの能力が変化したかどうか判定し得る。コンピュータデバイス６００は、クライアントの能力及び／又はシステムの要求が変化したと判定する場合、方法４００は、サブルーチン４５０に戻り得る。サブルーチン４５０において、コンピュータデバイス６００は、異なるビデオストリームを選択して、クライアントに送信し得る。例えば、コンピュータデバイス６００は、ＣＩＦ復号化を利用するビデオ会議コールにおける唯一のクライアントがドロップしたと判定し得る。コンピュータデバイス６００は、ビデオ会議コールにおけるすべての他のクライアントが、ＣＩＦ符号化ストリームを送信するのを停止することを要求し得る。本発明の実施形態によれば、クライアントの利用可能なバンド幅が低減し得るし、クライアントは、コンピュータデバイス６００にこの発生を知らせ得る。コンピュータデバイス６００は、そのクライアントに対してより低い解像度のデータストリームを選択し、かつ／又は、そのクライアントに対して現在選択されたデータストリームを変更して、低減されたバンド幅を考慮し得る。
【００３６】
ステージ４７０から、方法４００はステージ４８０で終了し得る。
【００３７】
図５は、データストリームをクライアントに対して選択するための、図４の方法において使用されるサブルーチンのフロー図である。ステージ４４０から、コンピュータデバイス６００は、サブルーチン４５０に入り得る。ステージ５１０において、コンピュータデバイス６００は、少なくとも１つのクライアントに対して、符号化する能力及び／又は復号化する能力を収集し得る。少なくとも１つのクライアントは、イントラネットクライアント１１０等の別のコンピュータデバイス６１８を含み得る。例えば、コンピュータデバイス６００は、イントラネットクライアント１１０がＶＧＡ及びＣＩＦ解像度で符号化することができ、かつ、７２０ｐ、ＶＧＡ、及びＣＩＦ解像度で復号化することができると判定し得る。
【００３８】
ステージ５１０から、サブルーチン４５０はステージ５２０に進み得る。ステージ５２０において、コンピュータデバイス６００は、少なくとも１つのクライアントのための利用可能な量のバンド幅を判定し得る。例えば、コンピュータデバイス６００は、イントラネットクライアント１１０がデータストリームを送信するのに利用可能な４００Ｋｂｐｓ及びデータストリームを受信するのに利用可能な７５０Ｋｂｐｓを有すると判定し得る。
【００３９】
ステージ５２０から、サブルーチン４５０はステージ５３０に進み得る。ステージ５３０において、コンピュータデバイス６００は、クライアントに利用可能な最高解像度のデータストリームを選択し得る。例えば、第１のインターネットクライアントは、３つのデータストリーム、すなわち、７２０ｐ解像度のビデオストリーム、ＶＧＡ解像度のビデオストリーム、及びＣＩＦ解像度のビデオストリームをコンピュータデバイス６００に送信し得る。コンピュータデバイスは、イントラネットクライアント１１０に送信するために、７２０ｐの解像度のビデオストリームを最初に選択し得る。
【００４０】
ステージ５３０から、サブルーチン４５０はステージ５４０に進み得る。ステージ５４０において、コンピュータデバイス６００は、クライアントが選択されたストリームを処理することができるかどうかを判定し得る。例えば、コンピュータデバイス６００は、イントラネットクライアント１１０が選択された７２０ｐの解像度のビデオストリームを復号化することができるかどうかを判定し得る。ステージ５４０において、コンピュータデバイス６００は、クライアントは選択されたビデオストリームを処理し得ないと判定し得る場合、サブルーチン５４０はステージ５３０に戻り得る。ステージ５３０において、コンピュータデバイス６００は、７２０ｐ解像度のビデオストリームのＶＧＡ解像度バージョン等の代替的データストリームを選択し得る。
【００４１】
ステージ５４０において、コンピュータデバイス６００が、クライアントが選択されたストリームを処理し得ると判定し得る場合、サブルーチン４５０はステージ５５０に進み得る。ステージ５５０において、コンピュータデバイス６００は、性能を低下させることなくクライアントが選択されたデータストリームを受信するのに利用可能な十分なバンド幅を有するかどうかを判定し得る。例えば、コンピュータデバイス６００は、クライアントが利用可能な７００Ｋｂｐｓのバンド幅を有していること、及び、ビデオにおいてほとんどスキップ及び／又はポーズすることなく実時間で７２０ｐの解像度のビデオストリームを受信し且つ再生するのに、これが十分なバンド幅であることを判定し得る。コンピュータデバイス６００が、クライアントが選択されたストリームに対してステージ５５０で十分なバンド幅を有すると判定する場合、サブルーチン４５０は、方法４００のステージ４６０に戻り得る。
【００４２】
ステージ５５０において、コンピュータデバイスが、クライアントが選択されたストリームを受信し且つ処理するのに十分なバンド幅を有していないと判定する場合、サブルーチン４５０はステージ５６０に進み得る。ステージ５６０において、コンピュータデバイス６００は、クライアントに選択されたストリームを送信する前に、選択されたストリームを変更し得る。例えば、コンピュータデバイス６００は、毎秒少なくとも１つのＢ‐フレームをビデオストリームから削除して、クライアントに送信されるデータ量を低減し得る。サブルーチン４５０はステージ５７０に進み得る。ステージ５７０において、コンピュータデバイス６００は、クライアントが変更されたデータストリームを受信するのに十分なバンド幅を有するかどうかを判定し得る。クライアントが変更されたストリームを受信するのに十分なバンド幅を有しない場合、サブルーチン４５０はステージ５３０に戻り得る。ステージ５３０において、コンピュータデバイス６００は、７２０ｐ解像度のビデオストリームのＶＧＡ解像度バージョン等の代替的データストリームを選択し得る。本発明の実施形態によれば、コンピュータデバイス６００は、追加フレームを排除し、かつ／又は、異なるタイプのフレームを排除し得るし、バンド幅制約条件がステージ５３０に戻る前に満たされ得るかどうかを判定し得る。ステージ５５０において、コンピュータデバイスが、クライアントが変更されたデータストリームを受信し且つ処理するのに十分なバンド幅を有すると判定する場合、サブルーチン４５０は、方法４００のステージ４６０に戻り得る。
【００４３】
本発明に係る実施形態は、データを複数のクライアントに提供するシステムを含み得る。システムは記憶装置と、当該記憶装置と接続された処理ユニットを含み得る。処理ユニットは、データストリームを受信するように動作し、複数のクライアントのうちの少なくとも１つと関連付けられた少なくとも１つの能力を分析するよう動作し得るし、当該分析された能力に基づいてデータストリームを選択して、クライアントに送信するよう動作し得るし、選択されたデータストリームをクライアントに送信するよう動作し得る。例えば、データストリームは、ビデオ会議データデータストリームであり得るし、各ストリームは複数のクライアントのうちの少なくとも１つと関連付けられ得る。少なくとも１つのクライアントは、異なる解像度のビデオストリーム等の異なるバージョンのデータストリームを含む複数のデータストリームを送信し得る。
【００４４】
クライアントは、企業イントラネット及び／又はインターネット等の通信媒体を介してシステムに接続し得る。システムは、複数のクライアントのうちの少なくとも１つと関連付けられた通信媒体の利用可能なバンド幅を分析するよう動作し得る。システムは、ビデオの符号化及び／又はビデオの復号化能力等の複数のクライアントのうちの少なくとも１つと関連付けられたデータ処理能力を分析するよう動作し得る。システムは、所定のクライアントが利用可能なデータストリームを復号化することができるかどうか、及び、クライアントが、別のクライアントによって要求されたアルゴリズムにおいてデータストリームを符号化することができるかどうかを判定し得る。
【００４５】
本発明に係る別の実施形態は、ビデオストリームを複数のクライアントに提供するシステムを含み得る。システムは記憶装置と、当該記憶装置と接続された処理ユニットを含み得る。処理ユニットは、少なくとも１つのビデオストリームを複数のクライアントの各々から受信するよう動作し得るし、複数のクライアントの各々に関連付けられたビデオ会議能力データを収集するよう動作し得るし、複数のクライアントの各々に関連付けられた該収集されたビデオ会議能力データに応じて、少なくとも１つのビデオストリームを選択して、複数のクライアントの各々に送信するよう動作し得るし、当該選択された少なくとも１つのビデオストリームを複数のクライアントの各々に送信するよう動作し得る。システムは、少なくとも１つの第１のビデオストリーム及び少なくとも１つの第２のビデオストリームを、複数のクライアントのうちの少なくとも１つから受信するよう動作し得る。少なくとも１つの第１のビデオストリームは、少なくとも１つの第２のデータストリームの高解像バージョンを含む。例えば、少なくとも１つの第１のビデオストリームは、１２８０×７２０及び／又は６４０×４８０の解像度で符号化されたビデオストリームを含み得る。そして、第２のビデオストリームは、３２０×２４０の解像度で符号化されたビデオストリームを含み得る。
【００４６】
システムは、複数のクライアントのうちの少なくとも１つが、少なくとも１つの第１のデータストリームを含むすべてのフレームを受信するのに十分なバンド幅を有しているかどうかを判定するようさらに動作し得る。複数のクライアントのうちの少なくとも１つが少なくとも１つのビデオストリームを含むすべてのフレームを受信するのに十分なバンド幅を有していると判定することに応答して、システムは、少なくとも１つのビデオストリームを、変更されていない複数のクライアントのうちの少なくとも１つに送信し得る。複数のクライアントのうちの少なくとも１つが、少なくとも１つの第１のデータストリームを含むフレームのすべてを受信するのに十分なバンド幅を有していない場合、システムは、少なくとも１つの第２の低解像度のビデオストリームを複数のクライアントのうちの少なくとも１つに送信し得る。本発明の実施形態によれば、複数のクライアントのうちの少なくとも１つが、少なくとも１つの第１のデータストリームを含むフレームのすべてを受信するのに十分なバンド幅を有していない場合、システムは、少なくとも１つのビデオストリームを、複数のクライアントのうちの少なくとも１つに送信するステップに先立って、毎秒少なくとも１つのフレームをビデオストリームから削除し得る。
【００４７】
システムは、複数のクライアントの各々に対して、少なくとも１つの使用中のビデオ復号化アルゴリズム及び少なくとも一つの利用可能なビデオ符号化アルゴリズムを判定するよう動作し得る。システムは、複数のクライアントのうちの少なくとも１つが、少なくとも１つのビデオ符号化アルゴリズムに対して、少なくとも１つのビデオストリームを符号化するよう命令し得る。当該少なくとも１つのビデオ符号化アルゴリズムは、複数のクライアントのうちの少なくとも１つによって使用中であると判定された複数のクライアントの各々に関連付けられている。例えば、１つのクライアントが現在ＣＩＦ復号化を使用して、ビデオストリームを受信し且つ処理している場合、システムは、少なくとも１つの他のクライアントがＣＩＦを符号化能力を用いて符号化するよう要求し、ＣＩＦ‐復号化クライアントに対して中継するために、システムにＣＩＦ‐符号化されたビデオストリームを送信し得る。
【００４８】
本発明に係るさらに別の実施形態は、ビデオ会議においてレートマッチングを提供するシステムを含み得る。システムは、記憶装置と、当該記憶装置と接続された処理ユニットとを含み得る。処理ユニットは、ネットワーク接続デバイスを介してシステムに対して動作可能なように接続された少なくとも１つの第１のビデオ会議クライアント及び少なくとも１つの第２のビデオ会議クライアントを登録するよう動作し得るし、複数のビデオストリームを少なくとも１つの第１のビデオ会議クライアントから受信するよう動作し得るし、少なくとも１つの第２のビデオ会議クライアントに対して確立された少なくとも一つの能力に基づいて、少なくとも１つの第２のビデオ会議クライアントが少なくとも１つの第１のビデオストリームを受信することができるかどうか判定するよう動作し得るし、少なくとも１つの第２のビデオ会議クライアントが少なくとも１つの第１のビデオストリームを受信することができると判定することに応答して、少なくとも１つの第１のビデオストリームをシステムによって復号化することなく、少なくとも１つの第１のビデオストリームを少なくとも１つの第２のビデオ会議クライアントに送信するよう動作し得る。システムは、少なくとも１つの第１のビデオ会議クライアント及び少なくとも１つの第２のビデオ会議クライアントに対して少なくとも１つの能力を確立するように動作し得る。少なくとも１つの能力は、利用可能なバンド幅、最高符号化分解能、及び最高復号化分解能のうち少なくとも１つを含む。複数のデータストリームは、少なくとも１つの第１のビデオストリームと少なくとも１つの第２のビデオストリームを含み得る。少なくとも１つの第１のビデオストリームは、少なくとも１つの第２のデータストリームよりも高い解像度のビデオストリームを含む。
【００４９】
システムは、少なくとも１つの第２のビデオ会議クライアントが少なくとも１つの第１のビデオストリームを復号化することができるかどうかを判定するよう動作し得る。本発明の実施形態によれば、システムは、少なくとも１つのＢフレームを少なくとも１つの第１のビデオストリームからドロップすることなく、少なくとも１つの第２のビデオ会議クライアントが少なくとも１つの第１のビデオストリームを受信するのに十分なバンド幅を有しているかどうかを判定するよう動作し得る。
【００５０】
図６は、コンピュータデバイス６００を含むシステムのブロック図である。本発明の実施形態によれば、前述の記憶装置及び処理ユニットは図６のコンピュータデバイス６００等のコンピュータデバイスにおいて実装され得る。ハードウェア、ソフトウェア、又はファームウェアのいかなる好適な組合せも、記憶装置及び処理ユニットを実装するのに使用され得る。例えば、記憶装置及び処理ユニットは、コンピュータデバイス６００と組み合わせて、コンピュータデバイス６００又は他のコンピュータデバイス６１８とともに実装され得る。前述のシステム、デバイス、及びプロセッサは、例であり、他のシステム、デバイス、及びプロセッサは、本発明の実施形態に係る前述の記憶装置及び処理ユニットを含み得る。さらに、コンピュータデバイス４００は、上述したように、システム１００の動作環境を含み得る。システム１００は、他の環境下で動作し得るし、コンピュータデバイス６００に制限されない。
【００５１】
図６を参照すると、本発明の実施形態に係るシステムはコンピュータデバイス６００等のコンピュータデバイスを含み得る。基本構成においては、コンピュータデバイス６００は少なくとも１つの処理ユニット６０２とシステムメモリ６０４を含み得る。コンピュータデバイスの構成及び形態に依存して、システムメモリ６０４は、揮発性メモリ（例えば、ランダムアクセスメモリ（ＲＡＭ））、不揮発性メモリ（例えば、リードオンリーメモリ（ＲＯＭ））、フラッシュメモリ、またはいかなる組み合わせを含み得るが、これらに限定されない。システムメモリ６０４は、オペレーティングシステム６０５、１つ以上のプログラミングモジュール６０６を含み得るし、バンド幅測定プログラム６０７を含み得る。オペレーティングシステム６０５は、例えば、制御コンピュータデバイス６００の動作に適合し得る。１つの実施形態において、プログラミングモジュール６０６は、例えば、データ分析モジュール及び／又はビデオ会議サーバ６２０を含み得る。さらに、本発明の実施形態は、グラフィックライブラリ、他のオペレーティングシステム、又は他のアプリケーションプログラムと連動して実行され得るし、特定のアプリケーション又はシステムに限定されない。この基本構成は破線６０８内のそれら要素によって図６に図示されている。
【００５２】
コンピュータデバイス６００は、さらなる特徴又は機能を有し得る。例えば、コンピュータデバイス６００は、例えば、磁気ディスク、光ディスク、又はテープ等の（脱着可能及び／又は脱着不可能な）追加のデータ記憶デバイスをも含み得る。かかる追加の記憶装置は、脱着可能な記憶装置６０９及び脱着不可能な記憶装置６１０によって、図６に図示されている。コンピュータ記憶媒体は、コンピュータ可読命令、データ構造、プログラムモジュール、若しくは他のデータ等の情報を記憶する全ての方法若しくは技術において実装された揮発性の若しくは不揮発性の脱着可能媒体及び脱着不可能媒体を含み得る。システムメモリ６０４、脱着可能な記憶装置６０９、及び脱着不可能な記憶装置６１０は、コンピュータ記憶媒体の一例（すなわち、記憶装置）である。コンピュータ記憶媒体は、ＲＡＭ、ＲＯＭ、電気的に消去可能な読み出し専用メモリ（ＥＥＰＲＯＭ）、フラッシュメモリ若しくは他のメモリ技術、ＣＤ−ＲＯＭ、デジタル多用途ディスク（ＤＶＤ）若しくは他の光学記憶装置、磁気カセット、磁気テープ、磁気ディスク記憶装置若しくは他の磁気記憶装置、又は、情報を記憶するのに使用され且つコンピュータデバイス６００からアクセスされ得るすべての他の媒体を含み得るが、これらに限定されない。かかるコンピュータ記憶媒体の全てが、デバイス６００の一部であり得る。また、コンピュータデバイス６００は、キーボード、マウス、ペン、音声入力装置、タッチ入力装置等の（複数の）入力装置６１２を有し得る。また、ディスプレイ、スピーカ、プリンタ等の（複数の）出力装置６１４が含まれ得る。前述のデバイスは典型例であり、他のデバイスも使用され得る。
【００５３】
コンピュータデバイス６００は、分散コンピュータ環境内のネットワーク、例えば、イントラネット若しくはインターネット上の他のコンピュータデバイス６１８と通信することができる通信接続６１６をも含み得る。通信接続６１６は通信媒体の１つの例である。通信媒体は、コンピュータの読取可能な指示、データ構造、プログラムモジュール又は伝送波若しくは他の転送機構等の変調されたデータ信号における他のデータによって具現化され得るし、あらゆる情報配信媒体をも含む。「変調されたデータ信号」とい用語は、信号における情報をエンコードするような手法で設定され又は変更された特性のうち１つ以上を有する信号を意味している。限定ではなく、例として、通信媒体は、有線ネットワーク若しくは直接有線接続等の有線媒体と、音声無線媒体、ラジオ周波数（ＲＦ）無線媒体、赤外線無線媒体、若しくは他の無線媒体等の無線媒体とを含み得る。本明細書に使用されるコンピュータ読取可能媒体という用語は、記憶媒体と通信媒体の両方を含み得る。
【００５４】
上述したように、オペレーティングシステム６０５を含む多数のプログラムモジュール及びデータファイルが、システムメモリ６０４内に記憶され得る。処理ユニット６０２上で実行中に、プログラミングモジュール６０６（例えば、ビデオ会議サーバ６２０）は、上述したように、例えば１つ以上の方法４００のステージを含む処理を実行し得る。上述したプロセスは一例であり、処理ユニット６０２は他のプロセスを実行し得る。使用され得る本発明の実施形態に係る他のプログラミングモジュールは、電子メールアプリケーション及び連絡アプリケーション、文書処理アプリケーション、表計算アプリケーション、データベースアプリケーション、スライドプレゼンテーションアプリケーション、並びにドローイングアプリケーションプログラム若しくはコンピュータ支援アプリケーションプログラム等を含み得る。
【００５５】
一般に、本発明の実施形態によれば、プログラムモジュールは、ルーチン、プログラム、要素、データ構造、及び、特定のタスクを実行し又は特定の抽象型データを実装し得る他のタイプの構造を含み得る。さらに、本発明の実施形態は、携帯デバイス、マルチプロセッサシステム、マイクロプロセッサベースの家庭用電化製品若しくはプログラム可能な家庭用電化製品、ミニコンピュータ、メインフレームコンピュータ等を含む他のコンピュータシステム構成によって実施され得る。本発明の実施形態は分散コンピュータ環境においても実行され得る。当該分散コンピュータ環境において、タスクは通信ネットワークを介してリンクされた遠隔処理デバイスによって実行される。分散コンピュータ環境においては、プログラムモジュールはローカル記憶デバイス及びリモートメモリ記憶デバイスの双方に設けられ得る。
【００５６】
さらに、本発明の実施形態は、離散的電子的要素と、論理ゲートを含むパッケージ化電子チップ若しくは集積化電子チップと、マイクロプロセッサを利用する回路とを含む電気回路内で実施され、或いは電子的要素若しくはマイクロプロセッサを含むシングルチップ上において実施され得る。また、本発明の実施形態は、例えば、ＡＮＤ、ＯＲ及びＮＯＴ等の論理演算を実行できる他の技術を使用して実施され得るし、機械技術、光学技術、流体技術、量子的技術を含むもののこれらに限定されず、実施され得る。さらに、本発明の実施形態は汎用コンピュータ内又はいかなる他の回路若しくはシステムにおいても実行され得る。
【００５７】
発明の実施形態は、例えば、コンピュータプロセス（方法）、コンピュータシステムとして、又は、コンピュータプログラム製品若しくはコンピュータ読取可能媒体等の製品として実装され得る。コンピュータプログラム製品は、コンピュータシステムによって読み込み可能なコンピュータ記憶媒体であり、且つコンピュータプロセスを実行する命令に関するコンピュータプログラムをコード化するコンピュータ記憶媒体であり得る。また、コンピュータプログラム製品はコンピュータシステムによって読み込み可能なキャリヤー上で伝播される信号であり得るし、コンピュータプロセスを実行する命令に関するコンピュータプログラムをコード化し得る。従って、本発明はハードウェア内及び／又は（ファームウェア、常駐ソフトウェア、マイクロコード等を含む）ソフトウェア内で具現化され得る。言い換えると、本発明の実施形態は、コンピュータ使用可能記憶媒体若しくはコンピュータ可読記憶媒体上のコンピュータプログラム製品の形態を取り得る。当該コンピュータ使用可能記憶媒体若しくはコンピュータ可読記憶媒体は、命令実行システムによる使用のための媒体若しくは命令実行システムに接続して使用するための媒体において具現化されたコンピュータ使用可能プログラムコード又はコンピュータ可読プログラムコードを有する。コンピュータ利用可能媒体若しくはコンピュータ可読媒体は、デバイス命令実行システム、装置、若しくはデバイスとの接続されることによって若しくは接続して、使用のためのプログラムを含み、記憶し、通信し、伝播し、又は移送することができる媒体であり得る。
【００５８】
コンピュータ利用可能媒体若しくはコンピュータ可読媒体は、電子的な、磁気的な、光学的な、電磁的な、赤外線の、半導体のシステム、装置、デバイス、又は伝搬媒体であり得るがこれらに限定されない。より特定のコンピュータ可読媒体の例（非完全なリスト）として、コンピュータ可読媒体は、１つ以上のワイヤを有する電気接続、携帯用コンピュータディスク、ランダムアクセスメモリ（ＲＡＭ）、リードオンリーメモリ（ＲＯＭ）、消去可能であり且つプログラム可能な読取り専用記憶装置（ＥＰＲＯＭ又はフラッシュメモリ）、光ファイバ、及び携帯用コンパクト読取り専用メモリ（ＣＤ‐ＲＯＭ）を含み得る。尚、コンピュータ利用可能媒体若しくはコンピュータ可読媒体は、紙又は別の適切な媒体でもあり得る。当該紙又は別の適切な媒体上に、プログラムは、例えば、紙の光学スキャン若しくは他の媒体を介して電子的に取り込まれて、コンパイルされ、解読され又は必要であれば適切な方法によって処理され、且つコンピュータメモリに記憶され得る。
【００５９】
本発明の実施形態は、例えば、本発明に係る方法、システム、及びコンピュータプログラム製品を示すブロック図及び／又は動作説明図を参照して、上記に説明されている。ブロックにおいて記された機能／動作は、フロー図において示されるように、順序が異なっても生じ得る。例えば、連続して示された２つのブロックは、実際には、実質的に同時に実行され、或いはかかるブロックは関連する機能／動作に依存して逆順で時には実行され得る。
【００６０】
本発明の特定の実施形態について説明してきたが、他の実施形態も存在し得る。さらに、本発明の実施形態は、メモリ及び他の記憶媒体に関連づけられているものとして説明してきたが、データは、ハードディスク、フロッピィディスク（登録商標）、若しくはＣＤ−ＲＯＭのような二次記憶装置等の他の形態のコンピュータ可読媒体、インターネットからの伝送波、又は他の形態のＲＡＭ若しくはＲＯＭに記憶され得るし、或いは読み込まれ得る。さらに、開示された方法のステージは、本発明から出発せずに、ステージの順序を変更したり且つ／又はステージを挿入したり若しくは削除することを含むいかなる手法においても変更され得る。
【００６１】
コードにおける著作権を含む全ての権利が出願人の財産に付与され且つ出願人の財産である。出願人は、本明細書に含まれるコードにおけるすべての権利を保持し且つ留保し、与えられた特許の再生品と接続してのみ、そして、他のいかなる目的のためにもマテリアルを再生する許可を与える。
【００６２】
明細書は複数の実施例を含むものの、本発明の範囲は以下に示す特許請求の範囲によって示されている。さらに、本発明が構造的特徴及び／又は方法の動作に対して特有の言語によって説明されてきたものの、特許請求の範囲は、上述した特定の特徴又は動作に限定されない。むしろ、上述した特有の特徴又は動作は本発明の実施形態の例示として開示されている。
【図１】
2012512561.tif 000003
【図２Ａ】
2012512561.tif 000004
【図２Ｂ】
2012512561.tif 000005
【図２Ｃ】
2012512561.tif 000006
【図３】
2012512561.tif 000007
【図４】
2012512561.tif 000008
【図５】
2012512561.tif 000009
【図６】
2012512561.tif 000010
【国際調査報告】
2012512561.tif 000011
2012512561.tif 000012