本開示において説明されるシステムは、非常に多くの点で特に有利である。第一に、このシステムは、ピンチ・ジェスチャといったジェスチャ(身振り手振り)を使用してビデオ閲覧ビューとデータ閲覧ビューとの間を参加者が切り換えることを可能にし、それにより、モバイル・ビデオ会議のセッションを含むマルチユーザ通信セッション中において一貫したシームレスなユーザ体験を提供することができる。
第二に、このシステムは、ビデオ・フレーム画像中のデータ画面を自動で検出することができる。このシステムにおいては、データ画面を最大解像度で画面表示するデータ閲覧ビューに切り換える前に、参加者はそのデータ画面をビデオ閲覧ビューで見ることができるので、データ画面に表示されるデータ・ストリームとビデオ閲覧ビューに表示されるビデオ・コンテンツとの間の関係を参加者が理解することがそのデータ画面により可能となる。その結果、本実施形態は、2つ以上のデータ・ストリームが存在する際に参加者が混乱する事態を回避することができる。例えば、会議室内の発表者が、プロジェクタの画面とホワイト・ボードの画面といった2つ以上のデータ画面間を頻繁に移動する場合に、本実施形態に係るシステムは、離れた位置に居る閲覧者の視線がビデオ閲覧ビューと投影画面内のデータ閲覧ビューとの間を行き来することによる混乱を解消し、またはビデオ閲覧ビューとホワイト・ボード上の画面に表示されたデータ閲覧ビューとの間を頻繁に切り換える際に、離れた位置に居る閲覧者の視線がプロジェクタの画面とホワイト・ボード上の画面との間を行き来することによる混乱を解消することができる。
第三に、このシステムは、埋め込み型のデータ・ストリームをサポートし、当該埋め込み型のデータ・ストリームをユーザに提供することができる。例えば、当該システムは、現在のミーティングのデータ・ストリームをデータ・ビュー・モードで視覚提示し得るが、現在のミーティングのデータ・ストリームは、ミーティングの様子を表示するたためのビデオ・クリップである。このビデオ・クリップには、以前のミーティング中に提示されたスライドおよびホワイト・ボードのストローク情報が埋め込まれている。当該システムは、データ・ビュー・モードから埋め込み型のデータ・ビュー・モードに切り換わって、上記のように埋め込まれたスライドおよびホワイト・ボードのストローク情報を最大解像度で現在のミーティングの参加者に提示することができる。当該システムは、これ以外にも非常に多くのその他の技術的利点を有し得る。
ビデオ閲覧ビューとデータ閲覧ビューとの間で画面表示を切り換えるためのシステムおよび方法が以下に説明される。以下の記述においては、説明の便宜上、本発明の完全な理解を提供するために、非常に多くの特定の詳細内容が述べられる。しかしながら、本発明に係る実施形態がこれらの特定の詳細内容なしに実現され得ることは当業者にとって明らかであろう。その他の例では、本発明に関する説明を曖昧にすることを回避するために構造および装置類がブロック図の形態で示される。例えば、本発明は、スマートフォンのようなモバイル機器および特定のソフトウェアおよびハードウェアに関連して以下の一実施形態において説明される。しかしながら、この説明は、データおよびコマンドを受信することができる任意のタイプのコンピューティング装置およびサービスを提供する任意の周辺デバイスについても同様に当てはまる。
本明細書における「一実施形態」または「一つの実施形態」についての言及は、その実施形態に関連して説明される特定の特徴、構造、または特性が少なくとも1つの実施形態に含まれることを意味する。本明細書における様々な箇所での「一実施形態において」という句の出現は、必ずしもそれら全てが同一の実施形態に言及しているとは限らない。
本発明に関する以下の詳細な説明の幾つかの部分は、コンピュータ・メモリ内のデータビットに対して実行される演算のアルゴリズムおよび記号表現の観点から提示される。これらのアルゴリズムによる説明および表現は、データ処理技術における当業者が、自身の研究開発成果の実質的内容を、当該技術分野における他の当業者に対して最も効果的に伝達するために使用する説明手段である。本明細書中において、および一般的な意味において、アルゴリズムとは、所望される結果を導くための一連の処理動作ステップから成る自己矛盾のない逐次的な系列であるものと考えられる。上述した処理動作ステップは、物理量の物理的な操作を要求するステップである。必ずとは限らないが通常であれば、これらの物理量は、記憶され、転送され、合成され、比較され、そうでなければ操作されることが可能な電気的な信号または磁気的な信号の形態をとる。主として用語についての一般的な使用法上の理由により、時としてこれらの信号を、ビット、値、要素、記号、文字、項、数、等と呼ぶことが便利であることが証明されている。
しかしながら、これらの用語および同様の用語の全てが、適切な物理量に関連付けられるべきであることに留意すべきであり、これらの用語および同様の用語の全てが、これらの物理量を呼称するために適用された便利な標示にすぎないことに留意すべきである。以下の議論から明らかであるように、そうではないとの特段の記載がない限り、本明細書中の説明全体を通して、「処理すること」または「コンピュータ処理すること」または「計算すること」または「決定すること」または「画面表示すること」、等といった用語を利用してなされる議論は、コンピュータ・システム(または同種の電子的コンピューティング装置)の動作および処理のことを指して言うものと理解され、そのようなコンピュータ・システムは、当該コンピュータ・システムのレジスタ内およびメモリ内の物理(電子)量として表現されたデータを操作して、当該コンピュータ・システムのメモリ内またはレジスタ内において同様に物理量として表現された他のデータへと変換する、またはその他の同様の情報記憶装置内、または送信/表示のための機器内において同様に物理量として表現された他のデータへと変換する。
本発明はまた、本明細書中において記述された一連の処理動作を実行するための装置に関する。この装置は、要求された目的のために特別に構築されることができ、またはこの装置は、コンピュータ内に記憶されたコンピュータ・プログラムによって選択的に起動されるかまたは再構成される汎用コンピュータを備えることが可能である。そのようなコンピュータ・プログラムは、以下のものだけに限定はされないないが、フロッピー(登録商標)ディスク、光学ディスク、CD−ROM、および磁気ディスクを含む任意のタイプのディスク、読み出し専用メモリ(ROM)、ランダム・アクセス・メモリ(RAM)、EPROM、EEPROM、磁気カードまたは光学カード、不揮発性メモリを有するUSBキーを含むフラッシュ・メモリ、または電子的命令コードを記憶するのに適した任意のタイプの記憶媒体などを含むコンピュータ読み取り可能記憶媒体に記憶されることが可能であり、上述したディスク装置類や記憶装置類の各々は、コンピュータ・システムのバスに結合される。
本発明に係る幾つかの実施形態は、完全にハードウェアによって実装される実施形態、完全にソフトウェアによって実装される実施形態、またはハードウェアとソフトウェアの要素の両方を含む実施形態などの多様な形態をとることができる。好ましい実施形態はソフトウェアで実現され、ソフトウェアは、ファームウェア、常駐ソフトウェア、マイクロコード、等を含むが、これらに限定されない。
さらに、本発明に係る幾つかの実施形態は、コンピュータで使用可能なまたはコンピュータで読み取り可能な媒体からアクセス可能な、コンピュータ・プログラム製品の形態をとることができ、当該コンピュータ・プログラム製品は、コンピュータまたは任意の命令実行システムによって実行されるプログラム・コードまたはそれらの機器と関連して使用するためのプログラム・コードを提供する。本発明を説明する便宜上の目的のため、コンピュータで使用可能なまたはコンピュータで読み取り可能な媒体は、命令実行システム、装置、またはデバイスによって実行される、またはそれらと関連して使用するためのプログラムを含み、記憶し、通信し、伝搬し、または伝送することが可能な任意の装置とすることができる。
プログラム・コードを記憶および/または実行するのに適したデータ処理システムは、システム・バスによってメモリ素子に直接的または間接的に結合される少なくとも1つのプロセッサを含むだろう。メモリ素子は、プログラム・コードを実際に実行している間に使用されるローカル・メモリ、大容量記憶装置、およびキャッシュ・メモリを含むことが可能であり、当該キャッシュ・メモリは、プログラム実行中にプログラム・コードが大容量記憶装置内から検索されなくてはならない回数を減じるために当該プログラム・コードの少なくとも一時的な記憶を提供する一時記憶メモリである。入力/出力デバイスすなわちI/Oデバイス(キーボード、ディスプレイ、ポインティングデバイス、等を含むがこれらに限定されない)は、直接的にシステムに結合されるか、または介在するI/Oコントローラを介してシステムに結合されるかのいずれかの方法によって結合され得る。
当該データ処理システムには、ネットワーク・アダプタがさらにに結合され、それによって、介在するプライベートネットワークまた公衆ネットワークを経由して、当該データ処理システムが、他のデータ処理システムまたはリモート・プリンタまたは記憶デバイスに結合されることを可能にし得る。モデム、ケーブル・モデム、およびイーサネット(登録商標)・カードは、現在利用可能なタイプのネットワーク・アダプタのほんの一部である。
最後に、本明細書に提示されるアルゴリズムおよび表示は、任意の特定のコンピュータまたは他の装置と固有に関連するものではない。様々な汎用システムが本明細書における教示に係るプログラムとともに使用されることもできるし、または、より特殊化された装置を構築して要求される方法のステップを実行することが便利であることが当業者にとって理解可能であろう。様々なこれらのシステムのために要求される構造は、以下の説明から明白であろう。加えて、本明細書は、任意の特定のプログラミング言語に関連して説明されるものではない。様々なプログラミング言語が本明細書に説明される様々な実施形態の教示を実装するために使用され得ることが理解されるだろう。
<システムの概要>
図1Aは、本発明に係る一実施形態に従って、ビデオ閲覧ビューとデータ閲覧ビューとの間で画面表示を切り換えるためのシステム100のブロック図を示す。図示されたシステム100は、ホスト135によってアクセス可能なホスティング・デバイス101と、登録サーバ130と、カメラ103と、表示デバイス107a〜107nと、参加者125a〜125nによってアクセス可能なモバイル機器115a〜115nとを含む。図1Aおよび残りの図面において、参照番号の後に続く文字、例えば「115a」の末尾の「a」は、その参照番号を有する複数の要素の中の特定のインスタンスへの言及を表現する。後続する文字のない本文中の参照番号、例えば「115」は、その参照番号を持つ複数の要素の中の一つ以上の不特定インスタンスへの一般的な言及を表現する。図示された実施形態において、システム100のこれらのエンティティは、ネットワーク105を介して通信可能に結合される。
ネットワーク105は、従来のタイプの有線ネットワークまたは無線ネットワークとすることが可能であり、そのネットワーク・トポロジが、スター型構成、トークンリング型構成、またはその他の構成を含み得る非常に多くの異なる構成を有することができる。さらに、ネットワーク105は、ローカル・エリア・ネットワーク(LAN)、広域ネットワーク(WAN)(例えば、インターネット)、および/または、複数のデバイスが互いに通信し得るように相互接続されたその他のデータ伝送経路を含み得る。本発明に係る幾つかの実施形態において、ネットワーク105は、ピア・ツー・ピア型ネットワークとすることが可能である。ネットワーク105はまた、様々な異なる通信プロトコルによってデータを送信する電気通信ネットワークに結合され得るか、またはそのような電気通信ネットワークを一部として含む。本発明に係る幾つかの実施形態において、ネットワーク105は、データを送信および受信するためのBluetooth(登録商標)通信ネットワークまたはセルラー通信ネットワークを含み、当該セルラー通信ネットワークは、ショート・メッセージング・サービス(SMS)、マルチメディア・メッセージング・サービス(MMS)、ハイパーテキスト・トランスファー・プロトコル(HTTP)、直接的なデータ接続、WAP、eメール、等を介した通信サービス機能を含む。図1Aは、モバイル機器115と、ホスティング・デバイス101と、登録サーバ130とに結合された、1つのネットワーク105を示すが、実際には、1つ以上のネットワーク105がこれらのエンティティに接続されるようにすることが可能である。
ホスティング環境137は、マルチユーザ通信セッションをホスティングするための環境とすることが可能である。マルチユーザ通信セッションの具体例は、ビデオ会議ミーティングのための通信セッションを含む。幾つかの具体例において、ホスティング環境137は、図1Aにおける破線のボックス内の全てのデバイスがユーザに視認可能な部屋である。例えば、ホスティング環境137は、会議室内に存在する1つ以上の表示デバイス107および1つ以上のカメラ103を含む会議室環境とすることが可能である。表示デバイス107の具体例は、プロジェクタ、電子式ホワイト・ボード、液晶ディスプレイ、および任意のその他の従来型表示デバイスを含むが、これらに限定されない。本発明に係る一実施形態において、カメラ103は、高性能のビデオ会議カメラである。カメラ103の具体例は、高解像度ビデオを取り込む高解像度(HD)ビデオカメラ、機械的に制御され得るパン・チルト・ズーム(PTZ)式カメラ、または、ホスティング環境137内においてマルチ・ビューまたはパノラマ・ビューを提供する一群のカメラのグループを含むが、これらに限定されない。2つの表示デバイス107と1つのカメラ103が図1Aに示されているが、ホスティング環境137は、1つ以上の表示デバイス107と1つ以上のカメラ103を含むことも可能である。
ホスティング・デバイス101、表示デバイス107a〜107n、およびカメラ103は、ホスティング環境137内に設置される。ホスティング・デバイス101は、信号線116を介して表示デバイス107aに通信可能に結合され、信号線118を介して表示デバイス107nに通信可能に結合され、信号線114を介してカメラ103に通信可能に結合される。表示デバイス107aは任意付加的に、信号線102を介して登録サーバ130に結合され、表示デバイス107nは任意付加的に、信号線104を介して登録サーバ130に結合され、カメラ103は任意付加的に、信号線112を介して登録サーバ130に結合される。
ホスティング・デバイス101は、プロセッサおよびメモリを含むコンピューティング装置とすることが可能であり、信号線131を介してネットワーク105に結合される。例えば、ホスティング・デバイス101は、ハードウェア・サーバである。さらに別の具体例では、ホスティング・デバイス101は、ラップトップ型コンピュータまたはデスクトップ型コンピュータである。ホスティング・デバイス101は、ホスト135(例えば、ミーティングを管理するユーザ)によってアクセスされる。ホスティング・デバイス101は、ホスティング・アプリケーション109と、ホスティング・アプリケーション109によって生成されたプレゼンテーションを記憶するための記憶デバイスとを含む。
ホスティング・アプリケーション109は、マルチユーザ通信セッションをホスティングするためのソフトウェアを含む。例えば、ホスティング・アプリケーション109は、ホスト135が管理し、1人以上の参加者125が1つ以上のモバイル機器115を使用して参加するビデオ会議ミーティングをホスティングする。さらに別の具体例では、ホスティング・アプリケーション109は、プレゼンテーションを行うためのスライドを生成する。
本発明に係る一実施形態において、ホスティング・アプリケーション109は、ホスティング環境137内に存在する1つ以上の表示デバイス107上の1つ以上のデータ画面内において、他の参加者125との間で共有されるデータを表示する。参加者125との間で共有されるデータは、テキストに基づいた文書、ウェブページ・コンテンツ、プレゼンテーションのスライド、ビデオ・クリップ、ストロークに基づいた手書きのコメント、および/または他のユーザの注釈、等を含むが、これらに限定されない。ホスティング環境137における1つ以上のデータ画面は、カメラ103を介して視認可能である。例えば、離れた位置に居る他の参加者125と共有されるプレゼンテーションのスライドは、壁に投影され、当該プレゼンテーションのスライドの投影(または、投影の少なくとも所定の部分)は、カメラ103の視野内にある。この場合においては、カメラ103は、当該プレゼンテーションのスライドの投影をビデオ・ストリームの1つ以上のビデオ・フレーム画像中に取り込むことができる。
さらに別の具体例において、会議室内のユーザが電子式ホワイト・ボードにコメントを書く場合、ホスティング・アプリケーション109は、当該電子式ホワイト・ボードがカメラ103から視認可能となるように、カメラ103を制御してその位置を移動させることができる。この場合においては、カメラ103は、当該電子式ホワイト・ボードに示されたコメントをビデオ・ストリーム内の1つ以上のビデオ・フレーム画像中に取り込むことができる。カメラ103は、ホスティング環境137を描写するビデオ・フレーム画像を含むビデオ・ストリームを取り込み、このビデオ・フレーム画像は、表示デバイス107のデータ画面および/またはホスティング・デバイス101のデータ画面の映像を含む。
本発明に係る一実施形態において、カメラ103は、ホスティング・デバイス101に対してビデオ・ストリームを送信し、それを契機としてホスティング・デバイス101は、登録サーバ130およびモバイル機器115のうちの1つ以上に対してビデオストリームを転送することとなる。本発明に係るさらに別の実施形態では、カメラ103は当該ビデオ・ストリームを登録サーバ130に対して直接送信する、および/または、当該ビデオ・ストリームをモバイル機器115に対してネットワーク105を介して送信する。さらなる別の実施形態では、カメラ103は、検出トリガ・イベントの発生に応答して、カメラ103によって取り込まれた最新のビデオ・フレーム画像を登録サーバ130に対して送信する。検出トリガ・イベントは、図2を参照しながら以下においてより詳細に説明される。
本発明に係る一実施形態において、ホスティング・アプリケーション109または表示デバイス107は、表示デバイス107のデータ画面に表示されたデータ・ストリームの高品質バージョンを取り込む。データ画面に表示されたデータ・ストリームのこの高品質バージョンは、データ画面に関連付けられたデータ・ストリームと呼ばれ、この高品質バージョンは、経時的に表示デバイス107のデータ画面に表示されたコンテンツを描写する一連のデータ画面の映像(例えば、スクリーン・ショット画像)を含む。上記のようなデータ画面のスクリーン・ショット画像は、特定の瞬間時間においてデータ画面上に表示されたコンテンツを描写する。それぞれ異なる瞬間時間においてデータ画面のそれぞれ異なるスクリーン・ショット画像が取り込まれ、データ画面の一連の異なる時点における複数のスクリーン・ショット画像は、データ画面に関連付けられたデータ・ストリームを形成する。幾つかの具体例において、データ画面のスクリーン・ショット画像の各々はまた、データ・ストリーム中に含まれる一つのデータ・フレームとも呼ばれ得る。
幾つかの具体例において、ホスティング・アプリケーション109は、スライドのプレゼンテーションを高解像度で表現する一連のスクリーン・ショット画像を、プレゼンテーション用のコンピューティング装置から直接取り込む。幾つかの追加の具体例では、電子式ホワイト・ボードの画面に表示された元のストローク情報を当該電子式ホワイト・ボードが取り込み、続いて、当該電子式ホワイト・ボードが、元のストローク情報を描写するスクリーン・ショット画像をホスティング・アプリケーション109に対して送信する。
本発明に係る一実施形態において、ホスティング・アプリケーション109は、データ画面に関連付けられたデータ・ストリームを、モバイル機器115および登録サーバ130のうちの1つ以上に対して送信する。さらに別の実施形態では、1つ以上のデータ画面画像を含むデータストリームをモバイル機器115および登録サーバ130のうちの1つ以上に対して表示デバイス107が直接送信する。例えば、表示デバイス107は、登録サーバ130に最も新しいデータ画面の映像を定期的に送信する。
本発明に係る一実施形態に従うならば、登録サーバ130上において参加アプリケーション123aを動作可能とすることができる。登録サーバ130は、プロセッサおよびメモリを含み、信号線106を介してネットワーク105に結合される。登録サーバ130は、登録された画像を記憶するためのデータベースを含む。登録サーバ130は、表示デバイス107を登録し、カメラ103からミーティングに関するビデオ映像情報のフィードを受信する。当該ビデオ映像情報のフィードは、1つ以上のビデオ・フレーム画像を含む。登録サーバ130は、画像マッチング・アルゴリズムを実行し、それにより、最新のビデオ・フレームと、表示デバイス107またはホスティング・デバイス101に関連付けられたデータ画面の最新のスクリーン・ショット画像との間における対応関係を見出す。マッチングが見出された場合には、マッチングした画像領域がビデオ・フレーム画像内においてハイライト表示され、モバイル機器115上において画面表示される。登録サーバ130は、図2および図3Aを参照しながら以下においてより詳細に説明される。
本発明に係るさらに別の実施形態に従うならば、モバイル機器115a内において参加アプリケーション123bが記憶されることが可能であり、参加アプリケーション123bは、信号線108を介してネットワーク105に接続される。モバイル機器115a、115bは、メモリおよびプロセッサを含む装置であって、限られた画面表示スペースを有するコンピューティング装置(例えば、ラップトップ型コンピュータ、タブレット型コンピュータ、携帯電話、スマートフォン、携帯情報端末(PDA)、モバイル型のeメールデバイス、またはネットワーク105にアクセス可能なその他の電子デバイス)である。モバイル機器115は、データを表示し、参加者125からのジェスチャを受信するためのタッチスクリーンを含む。ジェスチャの具体例は、タップ操作、ダブルタップ操作、長押し操作、スクロール操作、パン操作、フリック操作、二本指によるタップ操作、ピンチ・オープン操作、ピンチ・クローズ操作等を含むが、これらに限定されない。
図示された実施形態において、参加者125aは、モバイル機器115aと対話する。モバイル機器115nは、信号線110を介してネットワーク105と通信可能に結合される。参加者125nは、モバイル機器115nと対話する。参加者125は、ホスティング・デバイス101によってホスティングされたビデオ会議セッションのようなマルチユーザ通信セッションに参加するリモート・ユーザとすることが可能である。図1Aにおけるモバイル機器115a、115nは、具体例として使用されている。図1Aは、2つのモバイル機器115aおよび115nを示しているが、本開示は、1つ以上の任意の個数のモバイル機器115を有するシステム・アーキテクチャにも適用される。
本発明に係る一実施形態において、参加アプリケーション123は、参加アプリケーション123の一部が、モバイル機器115a、115nにおいてそれぞれ部分的に記憶され、参加アプリケーション123の別の一部が、登録サーバ130において部分的に記憶され得るように分散された形で記憶される。例えば、登録サーバ130が画面検出ステップを実行する一方で、モバイル機器115における参加アプリケーション123bは、ビデオ・ストリームまたはデータ・ストリームを表示するシンクライアント・アプリケーションとしての役割を果たす。モバイル機器115aにおける参加アプリケーション123bは、例えばブラウザで画像をレンダリング処理することにより、ビデオ・ストリームまたはデータ・ストリームを視覚的に提示するよう、ディスプレイ装置に指示する。参加アプリケーション123bは、参加者125からユーザ入力操作(例えば、ジェスチャ)を受信し、ユーザ入力操作の意味を解釈する。例えば、参加アプリケーション123bがビデオ・ストリームを現在表示中であると仮定する。参加アプリケーション123bが参加者125aからユーザ入力操作を受信して画面を非常に大きく拡大したのでユーザ入力操作が閾値を超えると、参加アプリケーション123bは、画面表示の対象となるストリームがホスティング・デバイス101のデータ・ストリームに切り換えられるべきであると決定する。参加アプリケーション123bは、ビデオ・ストリームからデータ・ストリームに切り換えることを示す命令を、登録サーバ130上の参加アプリケーション123aに対して送信する。
参加アプリケーション123は、マルチユーザ通信セッションに参加するためのコードおよびルーチンとすることが可能である。本発明に係る一実施形態において、参加アプリケーション123は、フィールド・プログラマブル・ゲート・アレイ(FPGA)または特定用途向け集積回路(ASIC)を含むハードウェアを使用して実現され得る。さらに別の実施形態において、参加アプリケーション123は、ハードウェアおよびソフトウェアの組み合わせを使用して実現され得る。本発明に係る様々な実施形態において、参加アプリケーション123は、デバイスおよびサーバの組み合わせにおいて記憶され、あるいはデバイスまたはサーバのいずれか一方の上に記憶され得る。
図1Bは、ビデオ閲覧ビューとデータ閲覧ビューとの間で画面表示を切り換えるためのシステムのさらに別の実施形態である。この実施形態では、ホスティング・デバイス101が存在しない。代わりに、モバイル機器115が、カメラ103および参加アプリケーション123bを備え得る。モバイル機器115は、信号線136、138をそれぞれ経由して、表示デバイス107a、107nに結合される。
参加者125は、モバイル機器115におけるカメラ103を起動し、カメラ103を表示デバイス107a、107nに向けて表示デバイス107a、107nのコンテンツを取り込むことができる。モバイル機器115は、信号線154を介して登録サーバ130に対して画像を直接送信し得る。例えば、そのような画像は、モバイル機器115からのクエリ(問い合わせ)としての役割を果たし得る。参加アプリケーション123は、取り込まれた画像を使用してビデオ閲覧ビューから画面を検出し、参加者125からジェスチャによる入力操作を受信することに応答してデータ閲覧ビューへと画面表示を切り換える。
<参加アプリケーションの実施例>
ここで図2を参照すると、参加アプリケーション123の例がより詳細に示されている。図2は、幾つかの例に係るコンピューティング装置200のブロック図であり、参加アプリケーション123、プロセッサ235、メモリ237、入力/出力デバイス241、通信ユニット239、および記憶デバイス243を含む。コンピューティング装置200のコンポーネントは、バス220によって通信可能に結合される。入力/出力デバイス241は、信号線242を介してバス200に通信可能に結合される。本発明に係る幾つかの実施形態において、コンピューティング装置200は、モバイル機器115および登録サーバ130のいずれか一方とすることが可能である。例えば、一実施形態において、登録サーバ130は、以下に説明されるコンポーネントの幾つかとともに参加アプリケーション123を含むことができ、モバイル機器115は、以下に説明される他のコンポーネントの幾つかを含むことが可能である。
プロセッサ235は、演算を実行し、表示デバイスに電子表示信号を提供するための、算術論理ユニット、マイクロプロセッサ、汎用コントローラ、または何らかの他のプロセッサ・アレイを含む。プロセッサ235は、他のコンポーネントとの通信のために信号線222を介してバス220に結合される。プロセッサ235は、データ信号を処理し、複合命令セット・コンピュータ(CISC)アーキテクチャ、縮小命令セット・コンピュータ(RISC)アーキテクチャ、または命令セットの組み合わせを実現するアーキテクチャを含む様々なコンピューティング・アーキテクチャを含み得る。図2は単一のプロセッサ235を含むが、複数のプロセッサ235が含まれていても良い。一実施形態においては、上記以外の他のプロセッサ、オペレーティング・システム、センサ機器、ディスプレイ装置、およびその他の物理的構成を採用することもまた可能である。
メモリ237は、プロセッサ235によって実行され得る命令および/またはデータを記憶する。メモリ237は、他のコンポーネントとの通信のために信号線224を介してバス220に結合される。命令および/またはデータは、本明細書に説明される技法を実行するためのプログラム・コードを含み得る。メモリ237は、ダイナミックランダム・アクセス・メモリ(DRAM)デバイス、スタティック・ランダム・アクセス・メモリ(SRAM)デバイス、フラッシュ・メモリ、またはその他の何らかのメモリ・デバイスとすることが可能である。幾つかの実施形態において、メモリ237はさらに、ハード・ディスク・ドライブ、フロッピー・ディスク・ドライブ、CD−ROMデバイス、DVD−ROMデバイス、DVD−RAMデバイス、DVD−RWデバイス、フラッシュ・メモリ・デバイス、または、より永続的な形で情報を記憶するための他の何らかの大容量記憶デバイスを含む不揮発性メモリまたは同様の永続的な記憶デバイスおよび媒体を含む。
通信ユニット239は、参加アプリケーション123がどこに記憶されるかに依存して、ホスティング・デバイス101、モバイル機器115、および登録サーバ130のうちの少なくとも1つとデータを送受信する。通信ユニット239は、信号線226を介してバス220に結合される。幾つかの実施形態において、通信ユニット239は、ネットワーク105または別個の通信チャネルへの直接的な物理接続のための通信ポートを含む。例えば、通信ユニット239は、モバイル機器115との有線通信のためのUSB、SD、CAT−5または同様の通信ポートを含む。幾つかの実施形態において、通信ユニット239は、IEEE802.11、IEEE802.16、BLUETOOTH(登録商標)、または別の適切な無線通信方法を含む、1つ以上の無線通信方法を使用して、モバイル機器115または他の通信チャネルとデータを交換するための無線トランシーバを含む。
幾つかの実施形態において、通信ユニット239は、ショート・メッセージング・サービス(SMS)、マルチメディア・メッセージング・サービス(MMS)、ハイパーテキスト・トランスファー・プロトコル(HTTP)、直接的なデータ接続、WAP、eメール、またはさらに別の適切なタイプの電子的通信サービス機能を介したものを含むセルラー通信ネットワークを経由してデータを送信および受信するためのセルラー通信トランシーバを含む。幾つかの実施形態において、通信ユニット239は、有線通信ポートおよび無線トランシーバを含む。通信ユニット239はまた、ファイルおよび/またはメディア・オブジェクトの配信のために、TCP/IP、HTTP、HTTPS、およびSMTP、等を含む標準的なネットワーク・プロトコルを使用して、ネットワーク105への他の従来的な接続機能を提供する。
記憶デバイス243は、本明細書中において説明される機能を提供するためのデータを記憶する非一時的なメモリとすることが可能である。記憶デバイス243は、ダイナミック・ランダム・アクセス・メモリ(DRAM)デバイス、スタティック・ランダム・アクセス・メモリ(SRAM)デバイス、フラッシュ・メモリ、またはその他の幾つかの種別のメモリ・デバイスとすることが可能である。幾つかの実施形態において、記憶デバイス243はさらに、ハード・ディスク・ドライブ、フロッピー・ディスク・ドライブ、CD−ROMデバイス、DVD−ROMデバイス、DVD−RAMデバイス、DVD−RWデバイス、フラッシュ・メモリ・デバイス、またはより永続的な形で情報を記憶するための他の何らかの大容量記憶デバイスを含む不揮発性メモリまたは同様の永続的な記憶デバイスおよび媒体を含む。
図示された実施形態において、記憶デバイス243は、信号線228を介してバス220と通信可能に結合される。一実施形態において、記憶デバイス243は、1つ以上のビデオ・フレーム画像を含むビデオ・ストリーム、1つ以上のデータ画面の画像を含むデータ・ストリーム、および1つ以上の検出トリガ・イベント等のうちの1つ以上を記憶する。記憶デバイス243は、本明細書中において説明される機能を提供するためのその他のデータを記憶することが可能である。例えば、記憶デバイス243は、プレゼンテーション、文書、オーディオ・クリップ、ビデオ・クリップ等といった、ビデオ会議用資料のコピーを記憶し得る。
図2において図示された実施形態において、参加アプリケーション123は、コントローラ202、ビュー提示モジュール204、画面検出モジュール206、ビュー切り換えモジュール208およびユーザ・インターフェース・モジュール210に加えてオプションとしてカメラ調節モジュール212を含む。参加アプリケーション123の上述した複数のコンポーネント同士は、バス220を介して通信可能に結合される。当業者は、上述したコンポーネントの一部が、モバイル機器115上に部分的に記憶されることが可能であり、上述したコンポーネントの残りの一部が登録サーバ130上に部分的に記憶されることが可能であることを認識するだろう。例えば、登録サーバ130上に記憶された参加アプリケーション123は、画面検出モジュール206を含むことが可能であり、モバイル機器115上に記憶された参加アプリケーション123は、残りのコンポーネントを含むことが可能である。
コントローラ202は、参加アプリケーション123とコンピューティング装置200内の他のコンポーネントとの間の通信を取り扱うためのルーチンを含むソフトウェアとすることが可能である。一実施形態において、コントローラ202は、参加アプリケーション123とコンピューティング措置200内の他のコンポーネントとの間の通信を取り扱うために後述する機能を実現するようプロセッサ235によって実行可能な命令のセットとすることが可能である。さらに別の実施形態において、コントローラ202は、コンピューティング装置200のメモリ237内に記憶されることが可能であり、プロセッサ235によってアクセス可能かつ実行可能であり得る。いずれの実施形態においても、コントローラ202は、信号線230を介して、プロセッサ235とコンピューティング装置200内の他のコンポーネントとの間における協働および通信を実現するように適合し得る。
一実施形態において、コントローラ202は、通信ユニット239を介して、モバイル機器115、ホスティング・デバイス101、および登録サーバ130のうちの1つ以上とデータを送受信する。例えば、コントローラ202は、通信ユニット239を介して、モバイル機器115上で操作を行う参加者125からユーザ入力操作を受信し、当該ユーザ入力操作をビュー切り換えモジュール208に送信する。別の例では、コントローラ202は、ユーザ・インターフェース・モジュール210から、ユーザ・インターフェースを参加者125に提供するためのグラフィカル・データを受信し、当該グラフィカル・データをモバイル機器115に送信し、それを契機として、モバイル機器115は、当該ユーザ・インターフェースを参加者125に対して視覚的に提示する。
一実施形態において、コントローラ202は、参加アプリケーション123内の他のコンポーネントからデータを受信し、そのデータを記憶デバイス243内に記憶する。例えば、コントローラ202は、画面検出モジュール206から1つ以上の検出トリガ・イベントを表すデータを受信し、そのデータを記憶デバイス243内に記憶する。さらに別の実施形態において、コントローラ202は、記憶デバイス243の中からデータを検索し、そのデータを参加アプリケーション123内の他のコンポーネントに送信する。例えば、コントローラ202は、記憶デバイス243中からデータ・ストリームを検索し、参加者125にデータ・ストリームを視覚提示するためのビュー提示モジュール204に対してそのデータ・ストリームを送信する。
ビュー提示モジュール204は、モバイル機器115上においてビデオ閲覧ビューまたはデータ閲覧ビューを提示するためのルーチンを含むソフトウェアとすることが可能である。一実施形態において、ビュー提示モジュール204は、モバイル機器115上においてデータ閲覧ビューまたはビデオ閲覧ビューを提示するための後述する機能を実現するようプロセッサ235によって実行可能な命令のセットとすることが可能である。さらに別の実施形態において、ビュー提示モジュール204は、コンピューティング装置200のメモリ237内に記憶されることが可能であり、プロセッサ235によってアクセス可能かつ実行可能であり得る。いずれの実施形態においても、ビュー提示モジュール204は、信号線232を介して、プロセッサ235とコンピューティング装置200内の他のコンポーネントとの間の協働および通信を実現するように適合し得る。
ビデオ・ビュー・モードは、マルチユーザ通信セッションに関連付けられたビデオ・データを参加者125に視覚的に提示する。例えば、ビデオ・ビュー・モードは、マルチユーザ通信セッションにおける他の参加者のビデオ・ストリームを、モバイル機器115上において全画面で参加者125に対して視覚的に提示する。別の例において、ビデオ・ビュー・モードは、ビデオ・ストリームをモバイル機器115上において最大解像度で視覚提示する。
本発明に係る一実施形態において、ビュー提示モジュール204は、参加者125がマルチユーザ通信セッションに加わることを示すデータを、参加者125に関連付けられたモバイル機器115から受信する。それに応答して、モバイル機器115は、ビデオ・ビュー・モードに遷移する。ビュー提示モジュール204は、カメラ103から直接的にまたはホスティング・デバイス101を介して1つ以上のビデオ・フレーム画像を含むビデオストリームを受信し、そのビデオ・ストリームをモバイル機器115のディスプレイ装置によって参加者125に対して視覚的に提示する。
幾つかの例では、カメラ103と同一のホスティング環境137内にある1つ以上のデータ画面は、ビデオ・ストリーム内の1つ以上のビデオ・フレーム画像の中に取り込まれ、当該1つ以上のビデオ・フレーム画像は、1つ以上のデータ画面を描写するサブ画像を含む。例えば、当該1つ以上のビデオ・フレーム画像は少なくとも、ホスティング・デバイス101のデータ画面の一部、壁に投影された画面の一部、および/または電子式ホワイト・ボードのデータ画面の一部を取り込む。別の例では、1つ以上のビデオ・フレーム画像は、ホスティング・デバイス101の全データ画面、壁に投影された画面全体、および/または電子式ホワイト・ボードのデータ画面全体を取り込む。
データ・ビュー・モードは、マルチユーザ通信セッションに関連付けられたデータ・ストリームを参加者125に対して視覚的に提示するモードである。例えば、データ・ビュー・モードは、マルチユーザ通信セッションの継続期間中に視覚提示されているスライドを有するデータ・ストリームを、モバイル機器115上において全画面表示で参加者125に対して視覚的に提示する。別の例では、データ・ビュー・モードは、データ・ストリームをモバイル機器115上において最大解像度で視覚提示する。
本発明に係る一実施形態において、ビュー提示モジュール204は、検出されたデータ画面の識別子(ID)に加えて、モバイル機器115において表示中のビューがビデオ閲覧ビューからデータ閲覧ビューに切り換えられるべきであることを示すビュー切り換え信号を、ビュー切り換えモジュール208から受信する。幾つかの実施形態において、ビュー提示モジュール204は、検出されたデータ画面に関連付けられたデータ・ストリームを、そのデータ画面に関連付けられた表示デバイス107から直接的に受信する。他の幾つかの実施形態において、ビュー提示モジュール204は、ホスティング・デバイス101を介してデータ・ストリームを受信する。ビュー切り換え信号を受信することに応答して、ビュー提示モジュール204は、モバイル機器115上においてビデオ・ストリームを視覚的に提示する動作を停止し、モバイル機器115上においてデータ画面に関連付けられたデータ・ストリームを視覚的に提示する動作を開始する。当該技術分野における当業者であれば認識可能なことであるが、本明細書中においてビデオ・ストリームまたはデータ・ストリームの視覚的な提示について説明する記載箇所は、表示のために通信ユニット239を介してモバイル機器115に対して送信されるグラフィカル・データを生成するようにビュー提示モジュール204がユーザ・インターフェース・モジュール210に対して指示する様子を表現することを意図している。
幾つかの例において、埋め込み型のデータ・ストリームがデータ・ストリーム中に含まれる。ビュー提示モジュール204は、ビュー切り換えモジュール208から、モバイル機器115において表示中のビューをデータ閲覧ビューから埋め込み型のデータ閲覧ビューに切り換えるようビュー提示モジュール204に指示するビュー切り換え信号を受信する。埋め込み型のデータ・ビュー・モードは、埋め込まれたデータ・ストリームを、モバイル機器115上において最大解像度または全画面表示で参加者125に対して視覚的に提示するモードである。ビュー切り換え信号を受信することに応答して、ビュー提示モジュール204は、モバイル機器115上において、データ・ストリームを視覚的に提示する動作を停止し、埋め込まれたデータストリームを視覚的に提示する動作を開始する。埋め込み型のデータ・ストリームは、ビデオ会議ミーティング、プレゼンテーション、ビデオ・クリップ、テキスト文書、プレゼンテーションのスライド、またはデータ・ストリーム中に埋め込まれた他の種別のデータとすることが可能である。
ビュー提示モジュール204は、別のビューを埋め込まれた埋め込み型のデータ閲覧ビューから再び通常のデータ閲覧ビューへと画面表示を切り換えるようビュー提示モジュール204に指示するビュー切り換え信号をビュー切り換えモジュール208から受信する。すると、ビュー提示モジュール204は、埋め込まれたデータ・ストリームを視覚的に提示する動作を停止し、モバイル機器115上において再度データ・ストリームを視覚的に提示する動作を開始する。一実施形態において、ビュー提示モジュール204は、モバイル機器115上において表示中のビューをデータ閲覧ビューからビデオ閲覧ビューに切り換えるようビュー提示モジュール204に指示するビュー切り換え信号をビュー切り換えモジュール208から受信する。当該ビュー切り換え信号に応答して、ビュー提示モジュール204は、モバイル機器115上において、データ・ストリームを視覚的に提示する動作を停止し、ビデオ・ストリームを視覚的に提示する動作を開始する。
画面検出モジュール206は、ビデオ・フレーム画像中に含まれるデータ画面の検出を実行するためのルーチンを含むソフトウェアとすることが可能である。一実施形態において、画面検出モジュール206は、ビデオ・フレーム画像中に含まれるデータ画面の検出を実行するために後述する機能を実現するようプロセッサ235によって実行可能な命令のセットとすることが可能である。さらに別の実施形態では、画面検出モジュール206は、コンピューティング装置200のメモリ237内に記憶されることが可能であり、プロセッサ235によってアクセス可能かつ実行可能であり得る。いずれの実施形態においても、画面検出モジュール206は、信号線234を介して、プロセッサ235とコンピューティング装置200内の他のコンポーネントとの間における協働および通信を実現するように適合し得る。
本発明に係る一実施形態において、画面検出モジュール206は、1つ以上の表示デバイス107を登録サーバ130に登録する。例えば、画面検出モジュール206は、表示デバイス107と共に、表示デバイス107に関連付けられたデバイス識別子、ユーザ、等を記録し、登録情報を記憶装置243内に記憶することが可能である。各表示デバイス107は、自身のデータ画面の新たに更新された画像を登録サーバ130に対して定期的に送信する。例えば、各表示デバイス107は、自身の最も新しいスクリーン・ショット画像を登録サーバ130に対して定期的に送信する。幾つかの例では、表示デバイス107は、自身のデータ画面の新たに更新されたスクリーン・ショット画像を、ホスティング・デバイス101を介して登録サーバ130に送信する。
本発明に係る一実施形態において、画面検出モジュール206は、トリガ・イベントの発生を検出する。例えば、そのようなイベントは、ビデオ・フレーム画像中の1つ以上のデータ画面の検出をトリガする検出トリガ・イベントであり得る。例えば、当該検出トリガ・イベントは、ビデオ・フレーム画像がデータ画面を含んでいるか否かを検出する動作を画面検出モジュール206に実行させる。検出トリガ・イベントの具体例は、カメラ103の動き(例えば、カメラ103のパン操作、ズーム操作またはチルト操作、カメラ103の移動等)、および/または、ビデオ・フレーム画像中の対象物の動き(例えば、壁に投影された画面の映像がビデオ・フレーム画像中に出現した、または電子式ホワイト・ボードが移動した等)を含むが、これらに限定されない。さらに別の例では、トリガ・イベントは、タイマに基づいて発生し得る。
検出トリガ・イベントの発生に応答して、画面検出モジュール206は、カメラ103から直接的にまたはホスティング・デバイス101を介して、ビデオ・ストリーム内の最新のビデオ・フレーム画像を受信する。幾つかの例において、画面検出モジュール206は、モバイル機器115またはビデオ・ストリームを提供するビデオ・サーバから、ビデオ・ストリーム内の最新のビデオ・フレーム画像を受信する。画面検出モジュール206は、検出トリガ・イベントの発生に応答して、最新のビデオ・フレーム画像中に含まれるデータ画面の検出を実行する。例えば、画面検出モジュール206は、データ画面の最新のスクリーン・ショット画像と最新のビデオ・フレーム画像とをマッチングすることによって、データ画面が最新のビデオ・フレーム画像中に現れているか否かを判定する。
幾つかの具体例では、登録サーバ130に登録された各データ画面について、画面検出モジュール206は、データ画面の最新のスクリーン・ショット画像とマッチングするサブ画像が最新のビデオ・フレーム画像中に現れているか否かを判定する。例えば、画面検出モジュール206は、最新のビデオ・フレーム画像がデータ画面を描写するサブ画像を含むか否かを判定する(例えば、画面検出モジュール206は、データ画面が最新のビデオ・フレーム画像によって取り込まれているか否かを判定する)。さらなる具体例では、画面検出モジュール206は、画像マッチング・アルゴリズムを実行して、最新のビデオ・フレーム画像とデータ画面の最新のスクリーン・ショット画像との間の対応関係を見出す。画面検出モジュール206が最新のビデオ・フレーム画像とデータ画面の最新のスクリーン・ショット画像との間におけるマッチングを見出すと、画面検出モジュール206は、モバイル機器115上においてビデオ・フレーム画像中のマッチングした領域をハイライト表示する。例えば、画面検出モジュール206は、モバイル機器115上においてビデオ・フレーム画像中の検出されたデータ画面をハイライト表示する。
一実施形態において、画面検出モジュール206は、画像マッチング・アルゴリズムをリアルタイムで実行する。画像マッチング・アルゴリズムの具体例としては、スケール不変特徴量変換(SIFT)アルゴリズムなどが含まれる。SIFTアルゴリズムは、最新のビデオ・フレーム画像とデータ画面の最新のスクリーン・ショット画像の両方の特徴点を抽出し、上記両方の画像からの特徴点が、k近傍法(KNN)に基づいてマッチングされ、ランダム・サンプル・コンセンサス(RANSAC)アルゴリズムを使用することによりコンセンサスが見付けられ、ホモグラフィ行列が決定される。画像マッチングのためにSIFT、KNN、およびRANSACをどのように使用するかについての追加の情報は、「Hess,R.,An Open―Source SIFT Library,Proceedings of the International Conference on Multimedia,October 2010,pp.1493―96」を参照することにより理解可能である。当業者は、上記以外の他の画像マッチング・アルゴリズムもまた使用可能であることを認識するだろう。
画像検出モジュール206がビデオ・フレーム画像中に存在する1つ以上のデータ画面を検出すると、画面検出モジュール206は、1つ以上のデータ画面とビデオ・フレーム画像との間における1つ以上のマッチングを含むマッチング結果を生成する。画面検出モジュール206は、1つ以上のマッチングの結果をモバイル機器115に通知し、モバイル機器115と、マッチングした1つのデータ画面を有する各表示デバイス107との間において、直接的な接続を確立する。画面検出モジュール206は、ビデオ・フレーム画像中における1つ以上のマッチングした領域をハイライト表示するが、各々のマッチング領域は、ビデオ・フレーム画像中に取り込まれた1つのデータ画面の位置に対応する。画面検出モジュール206は、ハイライト表示されたマッチング領域をモバイル機器115上において表示する。
本発明に係る別の実施形態では、カメラ103が静的に配置され、ホスティング環境137内の1つ以上のデータ画面を取り込むので、1つ以上のデータ画面の位置は、ビデオ・フレーム画像中において変化しないままである。画面検出モジュール206は、ホスティング環境137における静的な配置設定に基づいて1つ以上のデータ画面の存在を決定することができ、ビデオ・フレーム画像中の1つ以上のデータ画面の位置を事前キャリブレート処理することができる。画面検出モジュール206は、ビデオ・フレーム画像中において事前キャリブレート処理された位置に存在するビデオ・フレーム画像中の1つ以上のデータ画面をハイライト表示する。
画面検出モジュール206は、1つ以上の検出されたデータ画面を識別する1つ以上の画面IDと、ビデオ・フレーム画像中の1つ以上のマッチング領域を表すデータとを、ビュー切り換えモジュール208に対して送信する。さらに別の実施形態では、画面検出モジュール206は、1つ以上のデータ画面の事前キャリブレート処理された位置をビュー切り換えモジュール208に対して送信する。さらなる別の実施形態では、画面検出モジュール206は、1つ以上の画面ID、1つ以上のマッチング領域を表すデータ、および/または事前キャリブレート処理された位置を記憶装置243内に記憶する。
ビュー切り換えモジュール208は、モバイル機器115において表示中のビューをビデオ閲覧ビューとデータ閲覧ビューとの間で切り換えるためのルーチンを含むソフトウェアとすることが可能である。一実施形態において、ビュー切り換えモジュール208は、モバイル機器115において表示中のビューをビデオ閲覧ビューとデータ閲覧ビューとの間で切り換えるために後述する機能を実現するようプロセッサ235によって実行可能な命令のセットとすることが可能である。さらに別の実施形態において、ビュー切り換えモジュール208は、コンピューティング装置200のメモリ237内に記憶されることが可能であり、プロセッサ235によってアクセス可能かつ実行可能であり得る。いずれの実施形態においても、ビュー切り換えモジュール208は、信号線236を介して、プロセッサ235とコンピューティング装置200内の他のコンポーネントとの間における協働および通信を実現するように適合し得る。
一実施形態において、ビュー切り換えモジュール208は、1つ以上の検出されたデータ画面を識別する1つ以上の画面IDを表すデータに加えて、ビデオ・フレーム画像中の1つ以上の検出されたデータ画面に関連付けられた1つ以上のマッチング領域を表すデータを画面検出モジュール206から受信する。ビデオ・ビュー・モードにおいては、モバイル機器115は、ビデオ・フレーム画像のマッチング領域において1つ以上の検出されたデータ画面がハイライト表示された状態で、ビデオ・ストリームを参加者125に視覚的に提示する。参加者125が、モバイル機器115のタッチスクリーンを使用してデータ画面のハイライト表示されたマッチング領域内でジェスチャ(例えば、ピンチ・オープン・ジェスチャまたはダブル・タップ・ジェスチャ等)を実行すると、ビュー切り換えモジュール208は、参加者のジェスチャを、ビデオ閲覧ビューからデータ閲覧ビューに切り換えるためのコマンドとして解釈する。ビュー切り換えモジュール208は、当該コマンドを表すビュー切り換え信号を生成し、ビュー切り換え信号をビュー提示モジュール204に対して送信し、それを契機として、ビュー提示モジュール204は、データ閲覧ビューを参加者125に対して視覚的に提示する。一実施形態において、ビュー切り換えモジュール208は、ビデオ・フレーム画像中に検出されたデータ画面の一部が、所定の閾値よりも大きい(例えば、データ画面の大部分がビデオ・フレーム画像中に現れている)場合、ジェスチャを、ビデオ閲覧ビューからデータ閲覧ビューへと切り換えるためのコマンドとして解釈する。
例えば、参加者125がジェスチャを使用してビデオ・フレーム画像中に検出されたデータ画面にズーム・インし得るとするならば、それに応じて、ビデオ・フレーム画像を提示するビデオ閲覧ビューは、モバイル機器115のタッチスクリーン上において拡大表示される(スケール・アップする)。ビデオ・フレーム画像中において上記のようにスケール・アップしたデータ画面のサイズが所定の閾値に到達すると、ビュー切り換えモジュール208は、モバイル機器115において表示中のビューをビデオ閲覧ビューからデータ閲覧ビューへと自動的に切り換え、それを契機として、ビュー提示モジュール204は、検出されたデータ画面に関連付けられたデータ・ストリームをモバイル機器115上において視覚的に提示する。モバイル機器115は、それに応じてビデオ・ビュー・モードからデータ・ビュー・モードへと切り換わる。参加者125は、データ・ストリームへのズーム・イン操作、データ・ストリームのコピー操作、データ・ストリームのドラッグ操作等といった、ジェスチャをさらに実行して、データ・ストリームに対する操作を実行することが可能である。
データ・ビュー・モードにおいて、モバイル機器115は、参加者125に対してデータ・ストリームを視覚的に提示する。モバイル機器115のタッチスクリーンに表示されたデータ・ストリームに対して、参加者125がジェスチャ(例えば、ピンチ・クローズ・ジェスチャ、または終了アイコンをタップ操作すること等)を実行すると、ビュー切り換えモジュール208は、参加者のジェスチャを、データ閲覧ビューから再びビデオ閲覧ビューへと切り換えるためのコマンドとして解釈する。ビュー切り換えモジュール208は、当該コマンドを表すビュー切り換え信号を生成し、当該ビュー切り換え信号をビュー提示モジュール204に対して送信し、それを契機として、ビュー提示モジュール204は、ビデオ閲覧ビューを参加者125に対して視覚的に提示する。再度、画面検出モジュール206は、カメラ103から視認可能な1つ以上のデータ画面がビデオ・フレーム画像中に存在することを検出し、ビデオ・フレーム画像中の1つ以上のデータ画面をハイライト表示する。例えば、参加者125が、ジェスチャを使用してデータ・ストリームからズームアウトし得るとするならば、それに応じて、データ・ストリームを提示するデータ閲覧ビューがモバイル機器115のタッチスクリーン上において縮小表示される(スケール・ダウンする)。上記のようにスケール・ダウンしたデータ・ストリームのサイズが所定の閾値に到達すると、ビュー切り換えモジュール208は、モバイル機器115において表示中のビューをデータ閲覧ビューからビデオ閲覧ビューへと自動的に切り換え、それを契機として、ビュー提示モジュール204は、ビデオ・ストリームをモバイル機器115上において視覚的に提示する。
データ・ビュー・モードにおいては、提示されたデータ・ストリームが埋め込み型のデータ・ストリームを含む場合、参加者125は、埋め込まれたデータ・ストリームに対してジェスチャを使用して操作を実行し得る。ビュー切り換えモジュール208は、ジェスチャを、通常のデータ閲覧ビューから埋め込み型のデータ閲覧ビューへと切り換えるためのコマンドとして解釈する。ビュー切り換えモジュール208は、当該コマンドを表すビュー切り換え信号を生成し、当該ビュー切り換え信号をビュー提示モジュール204に対して送信し、それを契機として、ビュー提示モジュール204は、埋め込まれたデータ・ストリームを参加者125に対して最大解像度で視覚的に提示する。参加者125は、さらに別のジェスチャを実行して、埋め込み型のデータ閲覧ビューを終了し、通常のデータ閲覧ビューに戻ることが可能である。例えば、データ・ストリームが埋め込まれたビデオを含んでいる場合、参加者125は、データ・ビュー・モードにおいて、当該埋め込まれたビデオを表現するアイコンに対するタップ・オープン操作コマンドを発することができ、それを契機として、ビュー提示モジュール204は、当該埋め込まれたビデオをモバイル機器115において全画面表示で視覚的に提示する。当該埋め込まれたビデオを見た後に、参加者125は、埋め込み型のデータ閲覧ビューを終了して通常のデータ閲覧ビューに戻るピンチ・クローズ操作コマンドを発し得る。
ユーザ・インターフェース・モジュール210は、ユーザ・インターフェースを提供するためのグラフィカル・データを生成するためのルーチンを含むソフトウェアとすることが可能である。一実施形態において、ユーザ・インターフェース・モジュール210は、ユーザ・インターフェースを提供するためのグラフィカル・データを生成するために後述する機能を実現するようプロセッサ235によって実行可能な命令のセットとすることが可能である。さらに別の実施形態において、ユーザ・インターフェース・モジュール210は、コンピューティング装置200のメモリ237内に記憶されることが可能であり、プロセッサ235によってアクセス可能かつ実行可能であり得る。いずれの実施形態においても、ユーザ・インターフェース・モジュール210は、信号線238を介して、プロセッサ235とコンピューティング装置200内の他のコンポーネントとの間における協働および通信を実現するように適合し得る。
一実施形態において、ユーザ・インターフェース・モジュール210は、ビュー提示モジュール204から命令を受信して、ホスト135または参加者125等のようなユーザに対してユーザ・インターフェースを提供するためのグラフィカル・データを生成する。ユーザ・インターフェース・モジュール210は、当該グラフィカル・データをホスティング・デバイス101またはモバイル機器115に対して送信し、それを契機として、ホスティング・デバイス101またはモバイル機器115は、ユーザ・インターフェースをユーザに対して視覚的に提示する。例えば、ユーザ・インターフェース・モジュール210は、ビデオ・ストリームまたはデータ・ストリームを描写するユーザ・インターフェースを提供するためのグラフィカル・データを生成する。ユーザ・インターフェース・モジュール210は、当該グラフィカル・データをモバイル機器115に対して送信し、それを契機として、モバイル機器115は、ユーザ・インターフェースを介して参加者125にビデオ・ストリームまたはデータ・ストリームを視覚的に提示する。他の実施形態では、ユーザ・インターフェース・モジュール210は、他のユーザ・インターフェースをユーザに提供するためのグラフィカル・データを生成し得る。
オプションとして装備されるカメラ調節モジュール212は、カメラ103を調節するためのルーチンを含むソフトウェアとすることが可能である。一実施形態において、カメラ調節モジュール212は、カメラ103を調節するために以下に説明される機能を提供するようプロセッサ235によって実行可能な命令のセットとすることが可能である。さらに別の実施形態において、カメラ調節モジュール212は、コンピューティング装置200のメモリ237内に記憶されることが可能であり、プロセッサ235によってアクセス可能かつ実行可能であり得る。いずれの実施形態においても、カメラ調節モジュール212は、信号線240を介して、プロセッサ235とコンピューティング装置200内の他のコンポーネントとの間における協働および通信を実行するように適合し得る。
本発明に係る一実施形態において、参加者125は、ジェスチャを使用してカメラ103を操作し得る。例えば、参加者125は、モバイル機器115上に表示されたユーザ・インターフェースを介し、ジェスチャを実行してカメラ103の視野角を変えることができる。カメラ調節モジュール212は、参加者のジェスチャを表すデータを受信し、参加者のジェスチャを、カメラ103のパン操作、チルト操作、ズーム・イン操作、またはズーム・アウト操作などといったカメラ103の調節操作のためのコマンドとして解釈する。カメラ調節モジュール212は、参加者のジェスチャに従ってカメラ103の姿勢や位置を調節する。参加者125は、カメラ103がビデオ・フレーム画像中に1つ以上のデータ画面を取り込むようことができるようにカメラ103の姿勢や位置を調節することにより、1つ以上の表示デバイス107の1つ以上のデータ画面をカメラ103の視野内に保持することができる。
本明細書中において説明されるシステムの使用例には、第1の当事者(例えば、ホスト135)が、カメラ103と1つ以上のデータ画面とを装備した会議室内におり、第2の当事者(例えば、参加者125)が、スマートフォンまたはタブレット端末といったモバイル機器115を使用して遠隔地からモバイル・ユーザとしてビデオ会議に参加するビデオ会議のシナリオが含まれる。参加者125がビデオ会議に加わった後、参加アプリケーション123は、カメラ103からビデオ・ストリームを受信し、当該ビデオ・ストリームをモバイル機器115のタッチ・スクリーンによって参加者125に対して視覚的に提示する。参加アプリケーション123は、ビデオ・フレーム画像によって取り込まれた1つ以上のデータ画面を検出する。参加者125は、ビデオ・フレーム画像中においてハイライト表示された検出済みのデータ画面に向かってピンチ・オープン・ジェスチャのようなジェスチャを発して、それを契機として、モバイル機器115は、ビデオ閲覧ビューからデータ閲覧ビューに画面表示を切り換える。その後、参加アプリケーション123は、検出済みのデータ画面に関連付けられたデータ・ストリームを最大解像度で参加者125に対して視覚的に提示する。参加者125は、ピンチ・クローズ・ジェスチャのようなさらに別のジェスチャを発してデータ閲覧ビューから再びビデオ閲覧ビューに切り換えることが可能である。
本明細書中において説明されるシステムのさらに別の使用例には、画像に関連する情報を検索するための検索アプリケーションが含まれる。例えば、ユーザは、広告(例えば、自動車ブランドの広告)の画像を取り込み、当該広告に関連する情報を検索するよう検索アプリケーションに指示することが可能である。当該広告の画像は、コマーシャル・ビデオを表示するバナーおよび/またはデータ画面の画像を含み得る。検索アプリケーションは、当該広告の画像中に含まれるデータ画面を検出し、当該データ画面の画像中に表示されたコンテンツとマッチングする製品を識別するよう、画面検出モジュール206に指示することが可能である。検索アプリケーションは、1つ以上のデータベースから、識別された製品に関連する情報を検索し、関連する情報をユーザに提供することができる。本明細書中に説明されるシステムについては、上述した使用例以外のその他の使用例もまた実施可能である。
<グラフィック表現>
図3Aは、データ画面検出を実行するための処理の一実施形態をグラフィック表現300として図示している。参加者125がモバイル機器115を使用してマルチユーザ通信セッションに加わった後、カメラ103がモバイル機器115との間においてビデオ・ストリーム接続302を確立する。カメラ103は、ビデオ・ストリーム接続302を介してモバイル機器115に対してビデオ・ストリームを送信し、それを契機として、モバイル機器115は、ビデオ・ビュー・モードにおいて参加者125に対して当該ビデオ・ストリームを視覚的に提示する。表示デバイス107は、登録サーバ130に登録し、表示デバイス107に関連付けられたデータ画面の更新されたスクリーン・ショット画像304を登録サーバ130に定期的に対して送信する。図示された例では、表示デバイス107は、電子式ホワイト・ボードである。一実施形態において、登録サーバ130は、検出トリガ・イベントを検出する。例えば、登録サーバ130は、パン操作またはチルト操作といったカメラ103の動きを検出する。登録サーバ130は、検出トリガ・イベントに応答して、カメラ103から最新のビデオ・フレーム画像306を受信する。幾つかの例では、登録サーバ130は、モバイル機器115から最新のビデオ・フレーム画像306を受信する。
登録サーバ130は、画像マッチング方法を使用して、アクティブなデータ画面を動的に検出する。例えば、登録サーバ130は、画像マッチング・アルゴリズムを使用して、最新のビデオ・フレーム画像306と、ホスティング・デバイス101または表示デバイス107のいずれかから受信された最新のスクリーン・ショット画像との間の対応関係を見出す。最新のビデオ・フレーム画像306とデータ画面の最新のスクリーン・ショット画像との間のマッチング結果308が見出されると、登録サーバ130は、マッチング結果308をモバイル機器115に通知し、ビデオ・フレーム画像中の対応するデータ画面をハイライト表示する。例えば、登録サーバ130は、ボックス310を使用してビデオ・フレーム画像中に含まれる電子式ホワイト・ボードのデータ画面をハイライト表示する。データ画面に関連付けられた表示デバイス107は、モバイル機器115との間においてデータ・ストリーム接続312を確立する。表示デバイス107は、データ・ストリーム接続312を介してモバイル機器115に対してデータ・ストリームを送信し得る。
図3Bは、ジェスチャを使用してモバイル機器115上においてビデオ閲覧ビューとデータ閲覧ビューとの間で画面表示を切り換えるための一実施形態をグラフィック表現319として図示している。参加アプリケーション123は、参加者125からのジェスチャを解釈してシームレスなユーザ体験を達成する。この実施形態において、参加アプリケーション123は、第1のデータ・ストリームと第2のデータ・ストリームとを取り込み、カメラ103から取り込まれたビデオ・ストリームと共にモバイル機器115に対して送信する。第1のデータ・ストリームは、ホスティング・デバイス101(例えば、ラップトップ型PC)からの高品質のスクリーン・ショット画像を含み、第2のデータ・ストリームは、表示デバイス107(例えば、電子式ホワイト・ボード)からのストロークを含む。両方のデータ画面(ラップトップ型PCのデータ画面および電子式ホワイト・ボード上のデータ画面)は、カメラ103から視認可能である。一実施形態において、ホスティング・デバイス101からのスクリーン・ショット画像は、表示デバイス107のデータ画面を描写する埋め込まれた画像を含んでいる。
最初に、ビデオ閲覧ビューがモバイル機器115上において示され、ビデオ・フレーム画像320を参加者125に視覚的に提示する。例えば、ビデオ・フレーム画像320が、モバイル機器115の最大解像度または全画面で示される。図3Bに示すように、両方のデータ画面(ラップトップ型PCのデータ画面324および電子式ホワイト・ボードのデータ画面322)が、参加者のモバイル機器115上に表示されたビデオ・フレーム画像320の中において視認可能である。参加アプリケーション123は、ビデオ・フレーム画像中のデータ画面の存在をインテリジェントに検出し、参加者125に通知する。例えば、参加アプリケーション123は、ビデオ・フレーム画像320中のデータ画面322および324をハイライト表示する。
フェーズ(1)において、参加者125がラップトップ型PCのデータ画面324からさらなる詳細内容を得ようとする場合、彼または彼女は、ビデオ・フレーム画像320中に示されたラップトップ型PCのデータ画面324に向かってジェスチャ330を実行して、ラップトップ型PCのデータ画面324にズーム・インすることが可能である。ジェスチャ330の例は、ピンチ・ジェスチャまたはダブル・タップ・ジェスチャとすることが可能である。ジェスチャ330が実行されたことに応答して、モバイル機器115上におけるビデオ閲覧ビューが拡大表示される(スケール・アップする)。認識されたラップトップ型PCのデータ画面324のサイズが予め設定された閾値に到達すると、モバイル機器115は、ビデオ閲覧ビューからデータ閲覧ビューへと自動的に切り換わる。例えば、モバイル機器115において表示中のビューは、ビデオ・フレーム画像320を最大解像度で視覚提示している状態から、ラップトップ型PCのデータ画面324の高品質なスクリーン・ショット画像326を最大解像度で視覚提示する状態に切り換わる。参加アプリケーション123は、スクリーン・ショット画像326に向かって実行される任意のさらなるピンチ・ジェスチャまたはドラッグ・ジェスチャを、ラップトップ型PCのデータ画面324のスクリーン・ショット画像326に対するユーザ入力操作内容として解釈する。
フェーズ(2)において、参加者125がスクリーン・ショット画像326に向かってピンチ・ジェスチャのようなジェスチャ332を実行してデータ閲覧ビューからズーム・アウトし、ズーム・アウト操作による拡大縮小比(スケール比)が予め設定された閾値に到達すると、モバイル機器115は、データ閲覧ビューから再びビデオ閲覧ビューに切り換わる。再度、参加アプリケーション123が、モバイル機器115上においてビデオ・フレーム画像320を最大解像度で視覚的に提示し、ビデオ・フレーム画像320中の視認可能なデータ画面322および324を検出し、マーキングする。
フェーズ(3)において、参加者125は、ビデオ・フレーム画像320中のハイライト表示されたデータ画面322に向かってドラッグ・ジェスチャのようなジェスチャ334を実行し、それを契機として、モバイル機器115は、閾値量より大きいスケール比でビデオ閲覧ビューを拡大表示し、上述したジェスチャ334が実行されたことを契機として、モバイル機器115は、ビデオ・フレーム画像320を最大解像度で表示している状態から電子式ホワイト・ボードのスクリーン・ショット画像328を最大解像度で示すデータ閲覧ビューを表示する状態に切り換る。フェーズ(4)において、参加者125は、スクリーン・ショット画像328に向かってピンチ・ジェスチャのようなジェスチャ336を実行してデータ閲覧ビューからズーム・アウトし、ズームアウト量が閾値点に達したことによりデータ閲覧ビューから再びビデオ閲覧ビューに切り換えるようにモバイル機器115がトリガされるまで、データ閲覧ビューの画面表示スケールを減じさせる動作をモバイル機器115に実行させる。再度、モバイル機器115は、参加者125に対してビデオフレーム画像320を視覚的に提示する。
図4Aは、モバイル機器115上においてビデオ閲覧ビューを示すグラフィック・ユーザ・インターフェースの一実施形態をグラフィック表現400として図示している。当該ユーザ・インターフェースの具体例は、会議室を描写するビデオ・フレーム画像402を示している。ビデオ・フレーム画像402は、ホスト135と、会議室の壁に投影されたホスティング・デバイス101のデータ画面404とを描写する。データ画面404は、埋め込み型のデータ画面406を含む。参加者125がビデオ・フレーム画像402中に取り込まれたデータ画面404に対しジェスチャを実行すると、モバイル機器115は、ビデオ閲覧ビューから図4Bに示すデータ閲覧ビューへと切り換わる。
図4Bは、モバイル機器115上においてでデータ閲覧ビューを示すグラフィック・ユーザ・インターフェースの一実施形態をグラフィック表現420として図示している。この具体例では、データ画面404のスクリーン・ショット画像を含むデータ・ストリームが、モバイル機器115上において視覚的に提示される。データ・ストリームは、埋め込み型のデータ・ストリームを含むマルチユーザ通信セッションである。例えば、データ・ストリームは、埋め込まれたスライドを有する別の会議のビデオ・クリップである。埋め込まれたスライドを視覚提示する埋め込み型のデータ画面406が、データ画面404のスクリーン・ショット画像中に示される。
参加者125が図4Aに示すビデオ閲覧ビューから図4Bに示すデータ閲覧ビューに表示を切り換えると、ビデオ・クリップを含むデータ・ストリームが再生を開始する。一実施形態において、参加者125は、データ画面404のスクリーン・ショット画像に対しジェスチャ(例えば、ピンチ・ツー・クローズ・ジェスチャの操作)を実行することによって、図4Bに示すデータ閲覧ビューを終了し、図4Aに示すビデオ閲覧ビューに戻ることができる。一実施形態において、ビデオ・クリップが、埋め込まれたプレゼンテーションのスライドまたは埋め込まれたホワイト・ボードのストローク情報を含む場合、参加者125は、データ閲覧ビューにズームインし続けることが可能である。例えば、参加者125が、埋め込み型のデータ画面406に対しジェスチャを実行すると、モバイル機器115は、データ閲覧ビューから図4Cに示す埋め込み型のデータ閲覧ビューに表示を切り換えて、ビデオ・クリップ中に埋め込まれたスライドを視覚提示することが可能である。
図4Cは、モバイル機器115上において埋め込み型のデータ閲覧ビューを示すグラフィック・ユーザ・インターフェースの一実施形態をグラフィック表現440として図示している。この具体例では、埋め込まれたデータ画面406中に示されたスライドが参加者125に視覚的に提示される。参加者125は、埋め込まれたデータ画面406のスクリーン・ショット画像に対しジェスチャ(例えば、ピンチ・ツー・クローズ・ジェスチャの操作)を実行することによって、埋め込み型のデータ閲覧ビューを終了し、図4Bに示すデータ閲覧ビューに戻ることができる。
<本実施形態に係る方法>
図5は、マルチユーザ通信セッション中にジェスチャを使用してビデオ閲覧ビューとデータ閲覧ビューとの間で画面表示を切り換えるための方法500の一実施形態を示す流れ図である。一実施形態において、コントローラ202は、参加者125がマルチユーザ通信セッションに加わったことを示すデータを、参加者125に関連付けられたモバイル機器115から受信する(ステップ502)。ビュー提示モジュール204は、マルチユーザ通信セッション上のビデオ・ストリームをモバイル機器115上において視覚的に提示する(ステップ504)。例えば、ビュー提示モジュール204は、ビデオ・ストリームを画面表示するためのグラフィカル・データを生成するようユーザ・インターフェース・エンジン210に命令する。一実施形態において、画面検出モジュール206は、検出トリガ・イベントの発生の有無を判定する。コントローラ202は、検出トリガ・イベントの発生に応答して、ビデオ・ストリームからのビデオ・フレーム画像を受信する(ステップ506)。例えば、コントローラ202は、カメラ103からビデオ・ストリーム内の最新のビデオ・フレーム画像を受信する。画面検出モジュール206は、ビデオ・フレーム画像中の第1のデータ画面を検出する(ステップ508)。例えば、画面検出モジュール206は、ビデオ・フレーム画像が第1のデータ画面を取り込んでいると決定する。
コントローラ202は、モバイル機器115で実行された第1のジェスチャを表すデータを受信する(ステップ510)。例えば、コントローラ202は、ビデオ・フレーム画像中の第1のデータ画面に向かって参加者が実行したピンチ・ツー・オープン・ジェスチャの操作を表すデータを受信する。ビュー切り換えモジュール208は、第1のジェスチャに応答して、モバイル機器115において表示中のビューをビデオ閲覧ビューからデータ閲覧ビューに切り換える(ステップ512)。ビュー提示モジュール204は、モバイル機器115上において、第1のデータ画面に関連付けられた第1のデータ・ストリームを視覚的に提示する(ステップ514)。一実施形態では、第1のデータ・ストリームは、第1のデータ画面に関連付けられた表示デバイス107によって生成された第1のデータ画面の1つ以上の高解像度スクリーン・ショット画像を含む。
図6A〜図6Cは、マルチユーザ通信セッション中にジェスチャを使用してビデオ閲覧ビューとデータ閲覧ビューとの間で画面表示を切り換えるための方法600のさらに別の実施形態を示す流れ図である。図6Aを参照すると、コントローラ202は、参加者125がマルチユーザ通信セッションに加わったことを示すデータを、参加者125に関連付けられたモバイル機器115から受信する(ステップ602)。ビュー提示モジュール204は、モバイル機器115上において、マルチユーザ通信セッションのビデオ・ストリームを視覚的に提示する(ステップ604)。画面検出モジュール206は、登録サーバ130に対して表示デバイス107を登録する(ステップ606)。表示デバイス107は、ホスティング環境137においてマルチユーザ通信セッションのデータ・ストリームを視覚的に提示するためのデータ画面を含む。コントローラ202は、データ画面の画像を表示デバイス107から定期的に受信する(ステップ608)。例えば、コントローラ202は、データ画面のスクリーン・ショット画像を表示デバイス107から定期的に受信する。
画面検出モジュール206は、検出トリガ・イベントの発生を検出する(ステップ610)。コントローラ202は、検出トリガ・イベントの発生に応答して、カメラ103から最新のビデオ・フレーム画像を受信する(ステップ612)。画面検出モジュール206は、表示デバイス107から受信されたデータ画面の最新画像を使用して、最新のビデオ・フレーム画像の中からデータ画面を検出する動作を実行する(ステップ614)。
図6Bを参照すると、画面検出モジュール206は、最新のビデオフレーム画像中において、データ画面の最新画像とマッチングするサブ画像が見付かるか否かを決定する(ステップ616)。そのようなサブ画像が最新のビデオフレーム画像中に見付かった場合、方法600は、ステップ618に進む。そうでなければ、方法600は処理を終了する。図6B中のステップ618を参照すると、画面検出モジュール206は、データ画面の最新画像と最新のビデオ・フレーム画像との間のマッチングを示すマッチング結果を生成し、当該マッチング結果をモバイル機器115に通知する。画面検出モジュール206は、モバイル機器115とデータ画面に関連付けられた表示デバイス107との間においてデータを提供する。例えば、画面検出モジュール206は、デバイス同士の間における直接接続を確立する。一実施形態では、表示デバイス107は、データ画面に関連付けられたデータ・ストリームを、上述した直接接続を介してモバイル機器115に送信することができる。
コントローラ202は、ビデオ・フレーム画像中のデータ画面を描写するサブ画像に対し参加者125によって実行された第1のジェスチャを表すデータを受信する(ステップ622)。コントローラ202は、データ画面に関連付けられたデータ・ストリームを表示デバイス107から受信する(ステップ624)。ビュー切り換えモジュール208は、第1のジェスチャが閾値を上回ることに応答して、モバイル機器115において表示中のビューをビデオ閲覧ビューからデータ閲覧ビューに切り換える(ステップ626)。例えば、ユーザは、表示サイズを拡張したビューを、画面の中央で始動させ、画面全体の幅の半分以上移動させる。ビュー提示モジュール204は、データ画面に関連付けられたデータ・ストリームを、モバイル機器115上において視覚的に提示する(ステップ628)。
図6Cを参照すると、コントローラ202は、データ・ストリームに対し参加者125によって実行された第2のジェスチャを表すデータを受信する(ステップ630)。ビュー切り換えモジュール208は、第2のジェスチャが閾値を上回ることに応答して、モバイル機器115において表示中のビューを、データ閲覧ビューから再びビデオ閲覧ビューに切り換える(ステップ632)。ビュー提示モジュール204は、モバイル機器115上においてビデオ・ストリームを視覚的に提示する(ステップ634)。
図7は、マルチユーザ通信セッション内において実行される選択操作を使用して、2つの異なるデータ閲覧ビューのうちの一方とビデオ閲覧ビューとの間で画面表示を切り換えるための方法700の一実施形態を示す流れ図である。一実施形態において、コントローラ202は、第1の参加者、第2の参加者、および第3の参加者125がマルチユーザ通信セッションに加わったことを示すデータを受信する(ステップ702)。ビュー提示モジュール204は、マルチユーザ通信セッション上のビデオ・ストリームを、第3の参加者125に関連付けられたモバイル機器115上において視覚的に提示する(ステップ704)。例えば、ビュー提示モジュール204は、ビデオ・ストリームを表示するためのグラフィカル・データを生成するよう、ユーザ・インターフェース・エンジン210に命令する。一実施形態において、画面検出モジュール206は、検出トリガ・イベントの発生の有無を判定する。コントローラ202は、第1の参加者に関連付けられた第1のデバイスと第2の参加者に関連付けられた第2のデバイスとが送信元に含まれるビデオ・ストリームからのビデオ・フレーム画像を受信する(ステップ706)。例えば、コントローラ202は、カメラ103からビデオ・ストリームの最新のビデオ・フレーム画像を受信する。画面検出モジュール206は、ビデオ・フレーム画像中の第1のデバイスからの第1のデータ画面と第2のデバイスからの第2のデータ画面とを検出する(ステップ708)。
コントローラ202は、モバイル機器115上で実行された第1のデータ画面の選択操作を表すデータを受信する(ステップ710)。例えば、コントローラ202は、第3の参加者が第1のデータ閲覧ビューを見ることを望んでいることを示す入力操作であって、第1のデバイスの画像の中央において指で押圧する操作を表すデータを受信する。ビュー切り換えモジュール208は、当該選択操作に応答して、モバイル機器115において表示中のビューを、ビデオ閲覧ビューから第1のデータ画面に対応する第1のデータ閲覧ビューに切り換える(ステップ712)。ビュー提示モジュール204は、モバイル機器115上において第1のデータ・ストリームを視覚的に提示する(ステップ714)。
本発明に係る実施形態についての上記説明は、本発明を例示し、説明する目的で提示されている。上記説明は、網羅的であること意図しておらず、さらに、本明細書を開示されたとおりの実施形態に限定することを意図しているわけでもない。上述した教示内容を考慮するならば、本発明に係る実施形態に対して、多くの変更および変形を行うことが可能である。本発明に包含される実施形態の範囲は、本明細書において上述した「発明の詳細な説明」によってではなく、むしろ本願の請求項によって規定されることが意図される。当業者によって理解されるように、本発明の実施例は、本発明の技術思想または本質的な特性から逸脱せずに、その他の特定の形態で具体化されることができる。同様に、モジュール、ルーチン、特徴、属性、方法、および他の態様の、特定の名称および区分は、必須でもなければ有意でもなく、説明を実現するメカニズムまたはその特徴は、異なる名称、区分、および/または形式を有することができる。さらに、関連技術における当業者にとって明らかであるように、本明細書のモジュール、ルーチン、特徴、属性、方法、および他の態様は、ソフトウェア、ハードウェア、ファームウェア、またはその3つの任意の組み合わせとして実現されることができる。また、本明細書のコンポーネントの具体例は機能モジュールであるが、ソフトウェアとして実現される場合にあっては、当該コンポーネントは、スタンドアロン型のプログラムとして、より大きいプログラムの一部として、複数の別個のプログラムとして、静的または動的にリンクしたライブラリとして、カーネル・ローダブル・モジュールとして、デバイス・ドライバとして、および/または、コンピュータ・プログラミングの分野における当業者にとって現在または未来において周知のあらゆるいずれかの他の手法によって必然的に実現され得る。さらに、本明細書は、任意の特定のプログラミング言語における、または、任意の特定のオペレーティング・システムまたは環境のための実施形態に限定されるものでは決してない。したがって、本開示は、本明細書に記載された発明の範囲を限定するのではなく例示することを意図し、本開示の技術的範囲は、以下に記載された請求項において規定される。