(57)【要約】  少なくとも二つのソースコンピュータのそれぞれからの少なくとも一つのメディアソースを表示するべく、ソースコンピュータのうちの二つ以上に対して接続された無線対応型ディスプレイ上において同時に表示するシステム及び方法。メディアソースが、ソースコンピュータのそれぞれを介して選択される。メディアソースは、ソースクライアントコンピュータ上の画像全体未満であり、且つ、クライアントデータファイル、アプリケーション、又はビデオストリームを構成してもよい。選択されたメディアソースのそれぞれが、個々のライブメディアストリームとしてディスプレイに対して送信され、送信されたメディアストリームのそれぞれが、ディスプレイ上において同時にレンダリングされる。
2016511603.tif 000002
【特許請求の範囲】
【請求項１】
少なくとも二つのソースコンピュータのそれぞれから少なくとも一つのメディアソースを無線対応型ディスプレイ上において同時に表示する方法であって、
該ソースコンピュータのうちの二つ以上を該ディスプレイに対して無線で接続するステップと、
該ソースコンピュータのそれぞれを介して個々のメディアソースを選択するステップであって、該メディアソースのうちの少なくとも一つは、該ソースコンピュータのうちの一つに対して接続されたクライアント表示装置上において表示された画面の領域である、ステップと、
それぞれの該メディアソースの該ディスプレイ上における場所及びサイズを通知する該メディアソースのそれぞれごとのユーザ入力装置の設定に基づいて平行運動の大きさ及びスケールを通知する変形を判定するステップと、
該選択されたメディアソースのそれぞれを該ディスプレイに対して個々のライブメディアストリームとして送信するステップと、
該個々のメディアソースのうちのそれぞれのメディアソースの現時点の幾何学的状態を判定するべく、該変形を使用することにより、該ディスプレイ上において該送信されたメディアソースのそれぞれを同時にレンダリングするステップと、
を具備する方法。
【請求項２】
個々のライブメディアストリームとして、該ディスプレイに対して、該対応する変形と共に、該選択されたメディアソースのそれぞれを送信するステップと、
該個々のメディアソースの現時点の幾何学的状態を判定するべく、該変形を使用することにより、該ディスプレイ上において該送信されたメディアソースのそれぞれを同時にレンダリングするステップと、
を更に具備する、請求項１に記載の方法。
【請求項３】
該メディアソースは、画像ファイルである、請求項１に記載の方法。
【請求項４】
該メディアソースは、ソースコンピュータのディスプレイ全体である、請求項１に記載の方法。
【請求項５】
該メディアソースは、一つ又は複数のデータファイルである、請求項１に記載の方法。
【請求項６】
該ディスプレイに接続する該ソースコンピュータは、ユーザアイデンティティ及び該ディスプレイ上におけるメディア場所を含む情報を該ディスプレイに対して送信する、請求項１に記載の方法。
【請求項７】
無線対応型ディスプレイ上において少なくとも二つのソースコンピュータのそれぞれからの少なくとも一つのメディアソースを同時に表示する方法であって、
該ソースコンピュータのうちの一つに対して接続されたクライアント表示装置上において表示された画面の領域を有するメディアポストを公開するための要求を該ソースコンピュータのそれぞれからサーバに対して送信するステップと、
該メディアポストに対する該要求を受け取るステップと、
該新しいメディアポストを一意のユーザＩＤと関連付けるステップと、
該ソースコンピュータのうちの一つからのメディアポスト更新を含むデコード済みのメディアストリームを生成するステップと、
該対応する一意のユーザＩＤに基づいて該メディアポストを含む該デコード済みのメディアストリームを該ソースコンピュータのそれぞれに対して送信するステップと、
該メディアポストと共に該デコード済みのメディアストリームを受け取るステップと、
該ディスプレイ上において該メディアポストを更新するステップと、
公開されている画像に対応する画面ピクセルをキャプチャすることにより、該ソースコンピュータのうちの一つによって表示されたメディアフレームをキャプチャするステップと、
更新済みのビデオを該対応するメディアポスト内において表示するステップと、
を具備する方法。
【請求項８】
該メディアソースは、画像ファイルである、請求項７に記載の方法。
【請求項９】
該メディアソースは、ソースコンピュータのディスプレイ全体である、請求項７に記載の方法。
【請求項１０】
該メディアソースは、一つ又は複数のデータファイルである、請求項７に記載の方法。
【請求項１１】
該ディスプレイに対して接続する該ソースコンピュータは、ユーザアイデンティティ及び該ディスプレイ上におけるメディアポストの場所を含む情報を該ディスプレイに対して送信する、請求項７に記載の方法。
【請求項１２】
それぞれの該メディアソースの該ディスプレイ上における場所を通知する該メディアソースのそれぞれごとのユーザ入力装置の運動に基づいて平行運動の大きさ及び方向を通知する変形を判定するステップと、
個々のライブメディアストリームとして、該ディスプレイに対して、該対応する変形と共に、該選択されたメディアソースを送信するステップと、
該個々のメディアソースの現時点の幾何学的状態を判定するべく、該変形を使用することにより、該送信されたメディアソースのそれぞれを該ディスプレイ上において同時にレンダリングするステップと、
を具備する、請求項７に記載の方法。
【請求項１３】
該キャプチャ及び表示のステップは、該その他のステップのそれぞれとの関係において非同期に実行される、請求項７に記載の方法。
【発明の詳細な説明】
【技術分野】
【０００１】
本出願は、２０１３年２月２６日付けで出願された米国仮特許出願第６１／７６９，６０９号に対する優先権を主張するものであり、この特許文献の開示内容は、引用により、本明細書に包含される。
【背景技術】
【０００２】
世界中には、千二百万個を上回る数の会議室が存在しており、その大部分が、その現時点の情報表示解決策により、十分なサービスを享受していない。ビデオケーブルは、一つの装置からの単一のソースをディスプレイに搬送する能力を有するが、ビデオケーブルの物理的接続及び接続切断以外には、その装置から何をいつ表示するのかに関する制御がほとんど存在していない。ビデオスイッチングハードウェアは、異なるクライアントが単一の画面を同時に表示することを許容することにより、この問題の一部分を克服してはいるが、このハードウェアは、ビデオ送信規格によって制限されており、結果的に、それぞれの装置のユーザに対する制御の余地がほとんど残されていない。最後に、画面共有ソフトウェアは、ユーザがそれぞれの装置の画像をディスプレイに送信するためのある程度の能力を提供しているが、物理的ケーブルを、ソフトウェアにより、且つ、潜在的にはＩＰに基づいたネットワークにより、置換する以上のことをほとんど実行しはしない。潜在的に単一の装置からの複数ソースが、制限を伴うことなしに、接続された装置のうちのいずれかから制御され得る共通表示装置に対して同時に公開される能力を有する複数のユーザの間における協働のために同時のやり取りを許容するシステムが求められている。
【発明の概要】
【課題を解決するための手段】
【０００３】
本システムは、一般的な表示ハードウェア及びこのディスプレイに接続された標準的な演算装置を管理された共有プレゼンテーション及び協働環境に変換するソフトウェアを有する。一般的な通信、プレゼンテーション、及び管理システムに対してソフトウェアを提供することにより、ディスプレイは、パブリックインフラストラクチャの一部として機能することが可能であり、この結果、モバイルユーザは、公開メディアに接続することが可能であり、協力者と共有することが可能であり、且つ、相対的に良好に通信することができる。従って、本方法によれば、共有ストレージ、プリンタ、クラウドに基づいた演算などの一般的なＩＴインフラストラクチャのその他の態様と同様に、表示装置を使用及び管理することができる。
【０００４】
又、本システムは、様々な装置がこの表示インフラストラクチャに接続することを許容する様々な装置上においてインストールされるソフトウェアを伴っている。ソフトウェアは、単一の共有ディスプレイに対する多くのユーザ表示装置及び関連するメディアの相互接続を提供する。ユーザは、同一のディスプレイを同時に利用することが可能であり、この結果、潜在的に異なるデータセットを有する多くの異なる装置を同一のディスプレイ上において視覚的に比較することができる。本システムは、それぞれのユーザ表示装置が管理のやり取りを有することなしにこのタイプの同時メディア公開を可能にするべく、中央集中化された高度な状態及び制御管理システムを使用している。
【０００５】
それぞれのユーザ表示装置から任意の管理されたディスプレイへのメディアの選択的な公開に加えて、ユーザは、共有ディスプレイに対してポストされたそれぞれのメディア要素を同時に制御することができる。表示ソフトウェアは、状態更新をすべての接続されたユーザに対して送信していることから、それぞれの表示装置は、そのユーザによって公開されたものであってもよく或いは公開されたものでなくてもよいメディアを選択及び制御する能力を個々人に対して提供することができる。従って、本システムによれば、複数のユーザは、従来型のビデオスイッチャ、それぞれの装置の直接的なビデオケーブル配線、又は単純な画面共有アプリケーションによって課される制限を伴うことなしに、メディアを共有することが可能であり、協力することが可能であり、且つ、自由に通信することができる。
【０００６】
本システムが可能にする協働のタイプの一例として、一般的なＰＣに接続された単一のディスプレイを有する会議室を検討してみよう。三人のユーザは、それぞれ、一般的なＰＣによって供給される無線ネットワークに接続されたラップトップコンピュータを有する。本システムは、以下の動作を提供する。
【０００７】
・装置ソフトウェアを稼働させると共にユーザインタフェースを介して接続を選択することにより、ユーザは、表示分解能の不整合や物理的コネクタの正しいビデオケーブルの欠如にも拘らず、ディスプレイに対する接続を確立することができる。
【０００８】
・ユーザは、その表示装置上において稼働するアプリケーションのライブ出力を選択的に公開することができる。このアプリケーションのライブ画像は、画面上において公開される。
【０００９】
・第二ユーザは、この画像を選択することが可能であり、且つ、対話型のフリーフォーム制御スケールを使用することにより、その画像を再位置決めし、且つ、場合によっては、共有ディスプレイから削除することもできる。
【００１０】
・第三ユーザは、ビデオファイルを自身の装置から選択することが可能であり、且つ、ディスプレイ上に出現することになる。
【００１１】
・同時に、第二ユーザは、二つの異なるアプリケーションウィンドウを選択することが可能であり、且つ、これらをディスプレイに対して公開することができる。プレゼンテーションレイアウトのユーザ制御に基づいて、すべての三つの画像をライブで同時に提示してもよく、この結果、表示画面空間が適切に共有される。
【００１２】
既存のビデオスイッチングシステムとの相違点として、それぞれの接続された装置は、画像を共有ディスプレイに対して公開する能力のみならず、その他の装置との間において同時に共有ディスプレイを制御する能力をも有する。従来型のビデオスイッチングシステムは、様々なビデオ信号をキャプチャし、ルーティングし、且つ、表示する（通常は、既存のビデオ規格に基づいた）別個のビデオ入力を提供している。これらのソースは、従来型のビデオケーブルを通過していることから、広範な制御情報を搬送してはおらず、且つ、従って、ビデオソースは、ディスプレイを制御することができない。ビデオスイッチとの相違点として、本システムは、メディア（ビデオ、画像、アプリケーションウィンドウピクセル）、制御情報、及びその他のメタデータ（ユーザ情報やソースの場所など）を交換している。
【００１３】
ソフトウェアに基づいた画面共有アプリケーションとの相違点として、本システムは、すべての公開及び共有されたメディアに対するグループ制御を同時に提供する能力を有する。
【００１４】
一実施形態においては、無線対応型ディスプレイの組が、表示ソフトウェアモジュールを収容する一般的な演算装置に組み込まれているか、或いは、これに対して装着されている。少なくとも二つの異なる装置上にインストールされたクライアントソフトウェアモジュールにより、これらの装置は、ディスプレイモジュールに無線で接続することができる。表示モジュールは、二つの装置からの到来接続信号に基づいて、存在情報及び接続されたユーザに関するメタデータを任意選択で表示することができる。次いで、装置のユーザのそれぞれは、レンダリングのためにディスプレイに送信されるメディアソースを選択的に識別することができる。表示モジュールは、ライブメディアストリームを受け取り、且つ、接続されたユーザのうちのそれぞれによって制御される物理的表示装置上に、所定の位置及びスケールにおいて、且つ、視覚的効果を伴って、これらのストリームを同時にレンダリングする。
【図面の簡単な説明】
【００１５】
【図１】本システムの例示用のコンポーネントを示す図である。
【図２】本ホスト表示ソフトウェアの例示用のコンポーネントを示す図である。
【図３】本クライアントソフトウェアの例示用のコンポーネントを示す図である。
【図４】例示用のクライアント表示装置を示す図である。
【図５Ａ】クライアント表示装置上のアプリケーションウィンドウと共有表示装置上のそれぞれの対応する画像との間の特定の関係を示す例示用の図である。
【図５Ｂ】クライアント表示装置上のアプリケーションウィンドウと共有表示装置上のそれぞれの対応する画像との間の特定の関係を示す一代替実施形態の例示用の図である。
【図６】共有ディスプレイに接続する際に本システムによって実行される例示用のステップの組を示すフローチャートである。
【図７Ａ】共有ディスプレイに対する公開の際に本システムによって実行される例示用のステップの組を示すフローチャートである。
【図７Ｂ】共有ディスプレイ１０２上においてアプリケーションウィンドウを操作する際に一代替実施形態における本システムによって実行される例示用のステップの組を示すフローチャートである。
【発明を実施するための形態】
【００１６】
図１は、本システム１００の例示用のコンポーネントを示す図である。図１に示されているように、例示用の実施形態においては、本システムは、表示ソフトウェア１０５を含むホストコントローラ１０４によって制御される一つ又は複数の共有された表示装置１０２（図には、二つの装置１０２（１）及び１０２（２）のみが示されている）を有する。ホストコントローラ１０４は、一つ又は複数のサーバ１１５を介して共有表示装置１０２上においてローカル表示１０８を制御すると共に画像表示をも制御するべくクライアントソフトウェア１０７をそれぞれが実行する一つ又は複数のクライアントホストコンピュータ１１６との間において相互接続されたＰＣなどのコンピュータである。
【００１７】
クライアントホスト１１６は、アプリケーション、コンテキスト、及びその他の現時点の情報を一時的に保存するためのローカルメモリ１１１を含んでおり、且つ、メディアファイル１０９のローカルデータベース又はその他のリポジトリに対して接続されてもよい。通常、クライアントホストは、ＰＣ、ラップトップ、或いは、スマートフォン又はタブレットなどのハンドヘルド型装置と統合されている。この統合されたクライアントホスト１１６及びディスプレイ１０８は、以下においては、「クライアント表示装置」として、又は単に「クライアント」１０６として、呼称される。破線１２０は、クライアント１０６とホスト共有ディスプレイ１０２との間のネットワーク相互接続を示しており、これは、無線又は有線であってもよい。
【００１８】
図２は、本システム１００の動作を制御するホスト表示ソフトウェア１０５の例示用のコンポーネントを示す図である。図２に示されているように、例示用の実施形態においては、表示ソフトウェア１０５は、ネットワーキングソフトウェア２０４と、制御及び状態管理ソフトウェア２０５と、シーングラフ及び表示マネージャ２０４と、プレゼンテーションエンジン２０９と、を含む。
【００１９】
ネットワーキングソフトウェア２０４は、接続制御と、ホストコントローラ１０４とクライアント１０６との間において送信される情報パケットの受け取り／供給と、を提供する。ネットワーキングソフトウェア２０４は、クライアントに由来するパケット２１２を、クライアントソフトウェア１０７を実行するクライアントホスト１１６から受け取り、且つ、システムに由来するパケット２１１を、クライアントソフトウェア１０７を実行するクライアントホスト１１６に対して送信する。ビデオエンコーダ／デコーダ２０６は、パケット化された送信／受信ビデオ情報をエンコード／デコードする。
【００２０】
制御及び状態管理ソフトウェア２０５は、ユーザによって生成されたメディアストリーム及びその一意の識別子のそれぞれ、そのユーザクラス地球空間位置及びユーザ名などのそれぞれのユーザに関するメタデータ１２２、並びに、現時点において制御コマンドを提示しているユーザを含む共有ディスプレイのグローバルな状態を維持している。ユーザからのメッセージは、一貫性のある状態を常に保証するべく、制御及び状態管理モジュールに対する更新を起動する。更には、この状態は、すべての接続されているユーザによって定期的に共有される。これを実行する際に、それぞれの接続されているクライアントは、ディスプレイに対して共有されているすべてのメディアに関する情報（例えば、サムネイルとして維持されているすべてのメディアポストのリスト）を観察することが可能であり、且つ、場合によっては、その他の装置に由来するメディアを選択及び制御することもできる。
【００２１】
シーングラフ及び表示マネージャ２０８は、（図５Ａに示されている）表示装置１０２の画面５１０上において表示されたすべての視覚的要素の３Ｄの幾何学的状態を維持している。これには、ディスプレイに対してポストされたそれぞれのメディア要素の（２次元又は３次元の）位置、スケール、及び外観が含まれる。次いで、シーングラフ１１７内に保存されている情報に基づいて、これらの要素のそれぞれと関連するビデオデコーダ２０６に到来する実際のピクセルデータを対応するメディアポストの正しい視覚的位置に合成することができる。（例えば、そのフレームのライブビデオではなく、そのフレームに関するメタデータを表示するべくメディアフレームを回転させる）平行運動コマンド、スケール、及び視覚的効果キューを含む（クライアント１０６からの）メタデータ制御パケット１２２により、シーングラフ及び表示マネージャ２０８を変更することができる。
【００２２】
レイアウト制御及びその他のクライアントコマンドは、特定のポストされたメディア要素をシーングラフ１１７に追加するか又はこれから除去するべく、使用される。例えば、「プレゼンテーション」モードコマンドは、その位置及びスケールが画面５１０の物理的制約が許容するだけの大きさを有する単一の要素のみを含むシーングラフ１１７を構築する。シーングラフ１１７は、表示装置１０２の画面５１０上の現時点において接続されているメディアポスト４０８のレイアウトの標識を有する。「フリーフォーム」モードは、シーングラフ１１７を構築するが、この場合には、すべてのポストされたメディアは、ユーザによって制御され得るそれぞれの要素の個々の配置及びスケールオフセットに基づいて位置決めされる。
【００２３】
プレゼンテーションエンジン２０９は、デコードされたビデオを（デコーダ２０６から）取得し、且つ、現時点のシーングラフ１１７を一つ又は複数の共有表示装置１０２を駆動する合成ビデオ画像２１０としてレンダリングされる完全な合成表示に変換する。
【００２４】
図３は、本クライアントソフトウェア１０７の例示用のコンポーネントを示す図であり、本クライアントソフトウェア１０７は、ローカルディスプレイ１０８上におけるユーザビューのみならず、共有ディスプレイ１０２上において表示されるビデオ情報のフォーマットをも制御するべく、タブレットコンピュータ、ラップトップコンピュータ、スマートフォン、ＰＣ、又はこれらに類似したものなどのその独自のディスプレイを収容するリモート装置によって使用される。
【００２５】
図３に示されているように、例示用の一実施形態においては、クライアントソフトウェア１０７は、画像、ビデオ、及び文書などのメディアファイルを読み込むと共に公開するためのメディアファイルモジュール３２０を含む。クライアントソフトウェア１０７は、ディスプレイ１０８上のデスクトップピクセルをキャプチャするためのデスクトップピクセルキャプチャモジュール３２１と、共有ディスプレイ１０２上のアプリケーションウィンドウピクセルをキャプチャするためのアプリケーションキャプチャピクセルモジュール３２２と、を更に含む。この代わりに、ピクセルキャプチャモジュール３２３は、クライアントオペレーティングシステムのグラフィクスドライバに統合されてもよい。この結果、生成されるピクセルは、キャプチャモジュールに対して直接的に「フォーキング（fork）」され、且つ、レンダリングエンジンが、ピクセルをメモリの適切なセグメント内に直接的に生成する。
【００２６】
メディアファイル１０９は、ビデオエンコーダ／デコーダ３０６を介してエンコード及びデコードされ、且つ、クライアントソフトウェア１０７により、一つ又は複数のディスプレイ１０２に対して公開される。
【００２７】
ユーザインタフェース３０８は、制御選択肢とシステムのグローバルな状態とをローカルクライアントディスプレイ１０８を観察しているユーザに対して提示する。例えば、共有ディスプレイの様々なレイアウトを選択すると共に新しいメディアを選択的に公開するためのボタンが提示される。更には、変化についてユーザに警告すると共に新しく公開された要素に対する制御を提供するべく、（例えば、第二ユーザが新しいメディア要素を公開する際の）グローバル状態に対する更新が、ユーザインタフェースによって導出される。
【００２８】
ネットワーキング層３０２は、システムに由来するパケット２１１を、クライアントソフトウェア１０７を実行するクライアントホスト１０６から受け取り、且つ、クライアントに由来するパケット２１２を、クライアントソフトウェア１０７を実行するクライアントホスト１０６に対して送信する。
【００２９】
図４は、潜在的に、スマートフォン又はタブレットなどのハンドヘルド型装置、ラップトップ、或いは、パーソナルコンピュータ（ＰＣ）であってもよいクライアント表示装置１０６上のその他のアプリケーションとの関連において、クライアントディスプレイ１０８上に提示される例示用のユーザインタフェースを示す図である。図４に示されているように、例示用の実施形態においては、クライアント表示装置１０８は、選択されたメディアポスト４０８がその内部において表示されるアプリケーションウィンドウ４０９と、様々なボタン４０１〜４０５、４１３、４１４、及び４２１〜４１５がその内部において表示される、取り囲む（又は、部分的に取り囲む）表示エリアと、を含む。例示用の一実施形態においては、共有ディスプレイのリストに対して接続するためのボタン〔ボタン４０１〕と、アプリケーションウィンドウを共有（公開）するためのボタン〔ボタン４０２〕と、クライアントディスプレイウィンドウ４５０の全体を共有するためのボタン〔ボタン４０３〕と、クライアントメディアファイルを共有するためのボタン〔ボタン４０４〕と、ホストシステムから接続切断するためのボタン〔ボタン４０５〕と、共有ディスプレイの外観及びレイアウトを変更するように表示ソフトウェアに対して通知するためのボタン〔ボタン４２１〜４２５〕と、が含まれている。
【００３０】
例えば、ボタン４２１〜４２５を選択することにより、クライアントは、（潜在的に多くの）異なるメディアポストが一緒に表示される方式を変更することができる。「プレゼンテーション」モードボタン４２１は、選択されたメディアポスト４０８のみを表示すると共にすべてのその他のメディアポストを隠蔽するように、共有ディスプレイに対して指示する。「クアッドモード（Quadmode）」ボタン４２２は、（それぞれの要素が同一のサイズであるレギュラーグリッド内のボタン４１１のリストにおいて示されているように）選択された要素とその三つの隣接部分とを表示するように、サーバに対して指示する。「全表示」モードボタン４２３は、すべてのポストが画面上においてフィットすることを許容するサイズで３Ｄ円筒形グリッド内においてすべての要素を表示するように、サーバに対して指示する。「FlipBook」モデルボタン４２４は、その他のメディアポストが斜視モードにおいて回転され、且つ、選択された要素に先行及び後続する積層体としてレンダリングされる状態において、選択された要素を画面の大きな部分を占有するサイズでディスプレイのフォアグラウンドにおいて示すように、表示ソフトウェアに対して指示する。「フリーローム（Free Roam）」モードボタン４２５は、ジョイスティックコントローラ４３０を使用して個々にそれぞれの要素を位置決め及びスケーリングすることができるすべてのユーザによって定義されたその最後の位置及びスケールにおいてすべてのメディアを配置する。
【００３１】
例示用の一実施形態においては、クライアントディスプレイ１０８の下部セクションは、それぞれのクライアントがすべての公開されたメディア（その他のクライアントによって生成されたメディアを含む）のシステム共有状態を観察、選択、及び更新することを許容するべく、表示ソフトウェアからクライアントに送信されたメディアポストのサムネイルを表示するメディアプレビューバー４４０を含む。メディア共有ボックス４１２のそれぞれは、レイアウト及び表示設定に基づいて、即ち、例えば、レイアウトがクアッドビュー（画面上の四つのアイテム）に変化したことをクライアントに対して警告するサーバから到来する信号／ビデオに基づいて、共有ディスプレイ１０２上において現時点において公開されているメディアポストを示している。共有ボックス４１２によって現時点においてカバーされていないポストは、現時点のレイアウト設定に基づいた画面上において可視状態にはないが、共有表示セッションの一部分として留まり、継続的にライブ状態で更新され、且つ、ユーザによる選択又は制御を通じて共有ディスプレイ上のビュー内に配置され得る。ボタン４１３及び４１４によれば、ユーザは、メディアプレビューバー４４０内の公開されたメディアエントリを通じてスクロールすることが可能であり、この結果、サムネイルに対応するメディアポストのそれぞれが共有ディスプレイ上のビュー内に潜在的に配置される。
【００３２】
例えば、プレゼンテーションモードにおいては、一つの要素のみが、任意の所与の瞬間において、共有画面上に表示されるが、この場合に、ボックス４１２は、単一の要素（メディアポスト）のみをカバーしている。矢印４１４及び４１３を使用して様々な公開された要素のサムネイルのプレビューウィンドウを回転することにより、要素がエリア４１２内に「スライド」し、且つ、いまやエリア４１２内に存在している新しいサムネイルに対応するように表示内容を変更するべく、メッセージが表示ソフトウェアに対して送信される。
【００３３】
又、例示用の一実施形態においては、メディアプレビューバー４４０は、対応するサムネイルを左クリックすることにより、ユーザが任意の共有メディアポストを選択することを許容している。次いで、選択されたメディア要素は、大きなプレビューとしてウィンドウ４０９内に描画され、且つ、ジョイスティック４３０などのユーザ入力装置を介して制御され得る。フリーフォーム制御（「仮想」）ジョイスティック４３０は、ユーザがメディア及びアプリケーションウィンドウ４０９内に表示されているその他のタイプの画像を位置決め及びスケーリングすることを許容するユーザ入力装置として機能するソフトウェアによって生成された画像である。
【００３４】
図５Ａは、クライアント表示装置１０６（*）上のアプリケーションウィンドウ４０９〔ここで、「*」は、関係するアイテムの種類の任意の構成要素を表すワイルドカードインジケータである〕と共有ディスプレイ装置１０２上のその対応する画像との間の特定の関係を示す一代替実施形態の例示用の図である。図５Ａの例において示されているように、当初は（図の最上部のフレーム１に示されているように）、矢印５０１〜５０３によって示されているように、クライアント１用のディスプレイ装置１０６（１）は、「Ａ」とラベル付与されたメディアポスト４０８（１）を表示しており、ディスプレイ装置１０６（２）は、メディアポスト「Ｃ」４０８（２）を表示しており、且つ、ディスプレイ装置１０６（３）は、メディアポスト「Ｄ」４０８（３）を表示している。本実施形態においては、装置１０６（１）〜１０６（３）のユーザは、表示装置１０２に対してローカルな状態にあり、且つ、画面５１０を観察することができる。
【００３５】
フレーム２の左半分に示されているように、装置１０６（１）を使用しているクライアント１は、例えば、（１）（矢印５２１によって示されるように）、且つ、矢印５１１によって示されているように、ウィンドウＢの下方においてメディアポストＡを運動させてもよく、（２）ウィンドウＡをサイズ変更してもよく、且つ、（３）クライアント装置１０６（１）上のウィンドウＡを操作することにより、ウィンドウＡを拡大又は「ズームイン」してもよい。フレーム２の右半分に示されているように、装置１０６（１）のユーザは、運動させてもよく（矢印５２１）、且つ、矢印５１２によって示されているように、別のクライアントのウィンドウをサイズ変更又はズームインし、これにより、ウィンドウＤが装置１０６（３）を介してクライアント３によってポスト（公開）されたことを観察してもよい。異なるユーザによる上述の動作の任意のものが同時に発生してもよい。
【００３６】
表示装置１０２上において提示されたアイコン５０１（１）〜５０１（２）は、現時点において接続されているクライアント／ユーザを表している。
【００３７】
図５Ｂは、共有表示装置１０２上において示されているアプリケーションウィンドウとローカル及びリモートのクライアント表示装置１０６（*）上の対応する画像との間の特定の関係を示す一代替実施形態の例示用の図である。図５Ｂの例に示されているように、当初は（図の最上部のフレーム１に示されているように）、共有表示装置１０２は、リモートクライアント１０６（１）及びローカルクライアント１０６（２）（クライアント１及び２）からのメディアポストを表示している。メディアポストＡ及びＢは、クライアント１によって公開されたものであり、且つ、メディアポストＣは、クライアント２によって公開されたものである。
【００３８】
図５Ｂのフレーム１に示されているように、ローカルクライアント装置１０６（２）は、ウィンドウＣのみを表示しており、リモートクライアント装置１０６（１）は、クライアント２によって現時点においてポストされたアプリケーションであるアプリケーションウィンドウ４０９内の共有ディスプレイ画面５１０全体の画像を表示している。従って、クライアント１用の表示装置１０６（１）は、ディスプレイ１０２上において表示されているのと同一のフォーマットにおいて、「Ａ」、「Ｂ」、及び「Ｃ」とラベル付与されたメディアポスト４０８を表示している。本実施形態においては、装置１０６（*）の「リモート」ユーザは、通常、インターネット（又は、プライベートネットワーク）を介してサーバ１１５に接続されており、且つ、ユーザがディスプレイ１０２の画面５１２を観察できないように、ディスプレイ装置１０２から十分に離れたところに位置してもよい。
【００３９】
フレーム２において示されているように、装置１０６（１）を使用しているクライアント１は、例えば、上述のように、（１）（矢印５３１によって示されているように）メディアポストＡをウィンドウＢの下方において運動させてもよく、（２）矢印５３２によって示されているように、ウィンドウＡをサイズ変更してもよく、且つ、（３）クライアント装置１０６（１）上においてウィンドウＡを操作することにより、ウィンドウＡを拡大又は「ズームイン」してもよい。
【００４０】
図６は、共有ディスプレイに接続する際に本システムによって実行されるステップの例示用の組を示すフローチャートである。図６に示されているように、ステップ６３０において、ホスト表示ソフトウェア１０５は、ディスプレイ１０２及びその構成に関するアクセス情報を収容するアイデンティティパケット６５１をローカルネットワーク上において送信している。例示用の一実施形態においては、アイデンティティパケット６５１は、接続セットアップ（ポート番号やＩＰアドレスなど）のみならず、サーバ名、接続されるユーザの数、アイドル時間、並びに、セキュリティ及び認証状態（例えば、パスワードが必要であるかどうかや接続可能なユーザクラス）を含む任意選択のメタデータ１２３をも可能にするサーバに関する情報を収容している。
【００４１】
ステップ６１０において、クライアント１０６（*）は、アイデンティティパケット６５１を検出すると共にパケットデータを調査してネットワーク上において利用可能なサーバ１１５及び対応するディスプレイ１０２を判定することにより、ディスプレイ検出動作を開始している。ステップ６１５において、ユーザは、ローカルネットワーク上の利用可能なサーバ／ホストディスプレイのリストから共有ディスプレイ１０２を選択している。
【００４２】
ステップ６２０において、ユーザアクセス情報を収容する接続要求パケット６５２が、クライアントにより、選択されたサーバ１１５に対して送信されている。ブロック６３２によって示されているように、既定の遅延の後に、ホストサーバ１１５は、ステップ６３５において、クライアント１０６からの接続要求パケット６５２についてのチェックを継続している。要求パケット６５２が受信された際に、サーバ１１５は、アクセスが許可されたことを示すパケットによって応答するか、或いは、サーバがパスワードアクセスのために構成されている際には、パスワードを要求するパケットにより、応答する。サーバ１１５とクライアント１０６との間のプロセス接続は、複数の接続要求が同時に公開され得るように、別個の且つ並列のプロセスにおいて、発生する。
【００４３】
ステップ６４０において、本接続は、ディスプレイが新しいユーザを受け入れたことを反映するように表示ソフトウェア制御及び状態管理モジュール２０５を更新することにより、ディスプレイアクセスのために処理されている。ステップ６４５において、一意のユーザＩＤ（User ID：ＵＩＤ）６４６が生成され、且つ、そのユーザに関する視覚的情報が更新されており、例えば、クライアントホストのハードウェアタイプ、物理的場所、及び接続タイプを含むそのユーザに関する情報を反映した一意の識別色及びアイコンが選択される。この情報は、ディスプレイの近傍のその他のユーザに対して視覚的に通知するべく、ディスプレイに対してレンダリングされ得る。次いで、ＵＩＤ６４６がクライアント１０６に対して送信される。ステップ６５０において、ディスプレイに対してクライアント１０８によって公開されたビデオデータを反映するように、ディスプレイ１０２がグラフィカルに更新されている。
【００４４】
図７Ａは、共有ディスプレイ１０２に対して公開する際に本システムによって実行される例示用のステップの組を示すフローチャートである。図７Ａに示されているように、ステップ７１０において、クライアント１０６（*）は、（１）メディアファイル１０９内に保存されている新しいソースメディアファイル又はアプリケーション、画面領域、又は画面全体、或いは、（２）ディスプレイ１０２上のコントロールに対して既に公開されたポストを選択するべく、メディアプレビューバー４４０内のエントリをクリックすることにより、公開コマンドを起動している。
【００４５】
公開コマンドが選択された場合には、ステップ７１８において、クライアント１０６は、新しいメディアポスト（公開）要求７９２をサーバ１１５に対して送信する。ステップ７２０において、ディスク上においてメディアをデコードするか又は公開されるソース（メディア、アプリケーション、画面エリア）に対応する画面ピクセルをキャプチャすることにより、クライアントピクセルキャプチャモジュール３２３により、メディアフレーム７２６がキャプチャされている。ステップ７２５において、更新済みのビデオフレーム７２６は、接続が確立された状態において留まっている限り（ステップ７３０）、サーバ１１５及びホスト１０４に対して送信される。クライアント−ホスト接続が切断された場合に、ピクセルキャプチャは、終了し、且つ、ステップ７３５において、本クライアントのメディアポストの削除の必要性について通知するメッセージがホスト１０４に対して送信される。
【００４６】
メディア制御コマンドがステップ７１０において選択された場合には、ステップ７１２において、クライアント１０６は、任意のクライアント１０６（*）によって現在ポストされているメディアポストの制御を開始する。制御フローは、後述する図７Ｂのステップ７１３に示されているように、継続する。
【００４７】
ステップ７５０において、サーバ１１５は、メディアポスト要求パケット７９２を受け取っている。ステップ７５５において、表示ソフトウェア１０５は、自身が新しく生成されたウィンドウ４０８と関連付ける一意の識別子（ＵＩＤ）６４６を生成している。ステップ７６５において、サーバ１１５は、デコード済みのビデオストリーム７６６を更新のために生成している。ステップ７７０において、ホストサーバ１１５は、ポストされているメディアストリーム（並びに、そのＵＩＤ）を含む更なる表示状態情報と、接続されているユーザの数と、を含む更新７９４をクライアント１０６に対して送信している。
【００４８】
ステップ６４５（図６）において、サーバ１１５は、新しいメディアポストの生成をアクノリッジするべく、ＵＩＤ６４６をクライアント１０６に対して送信している。ステップ７７５において、ホストサーバ１１５は、ネットワーキング層を介してクライアント１０６からビデオストリーム７２６を受け取り、且つ、ピクセルデータフレーム７７６を生成するべく、そのタイプに基づいて、ビデオエンコーダ／デコーダモジュール２０６を介してデータをデコードしている。
【００４９】
ステップ７８０において、表示ソフトウェアは、クライアント装置１０６によってキャプチャされたアプリケーションビューに対応した可視フレームをディスプレイ１０２上において生成するべく、（シーングラフ１１７によって示されているように）ピクセルデータフレームをメディアポストの現時点の位置、スケール、オフセットに描画している。
【００５０】
ステップ７４０において、クライアント１０６は、更なる表示状態情報を含む更新を受け取り、且つ、ステップ７４２において、情報を更新／保存している。
【００５１】
この時点において、クライアント１０６は、ステップ７１０に戻り、且つ、別のウィンドウを公開してもよく（並びに、上述のステップの組によって継続してもよく）、或いは、ステップ７１２において、ジョイスティック（又は、その他のユーザ入力装置）４３０を運動させてもよく、且つ、図７Ｂの説明において後述するように、継続してもよい。
【００５２】
シェードが施されたエリア７０１内のステップ（ステップ７２０、７２５、７３０、７７５、７８０、７８５）は、非同期方式で実行される。又、ビデオストリームを収容するクライアント１０６からの継続したメッセージは、ネットワーキング層により、並行して受け取られ、且つ、ディスプレイ１０２上の共有メディアポストの新しい位置に描画されるピクセル更新を生成するべく、ビデオデコーダモジュール２０６により、デコードされる。メディアポストがアクティブ状態であることを中止した場合に（ステップ７８５）、メディアポストは、ステップ７９０において、ディスプレイ１０２から削除される。
【００５３】
例１：この例においては、二つのユーザＡ及びＢは、共有ディスプレイ１０２を同時に共有及び制御するべく、本方法を使用している。この例においては、ホスト表示ソフトウェア１０５は、共有ディスプレイに対して接続されたＰＣ１０４上において稼働している。ＰＣは、クライアント装置１０６Ａ及びＢと共に、ローカルネットワーク上に存在している。
【００５４】
〔ステップ７１０〕〔クライアントディスプレイ１０６（１）を使用している〕ユーザＡは、メディアポスト制御選択肢を選択し、且つ、ホストディスプレイに対して公開するべくアプリケーション又はメディアを選択する。
【００５５】
〔ステップ７１８〕ユーザＡは、そのインタフェース制御パネルから「公開」を選択し、且つ、新しいメディアポストを共有ディスプレイに追加（即ち、公開）するための要求をホストに対して送信している。
【００５６】
〔ステップ７２０〜７２５〕クライアントＡは、メディアポストのためにエンコードされたデータに対応するビデオストリーム７２６を送信するステップを開始している。
【００５７】
〔ステップ７５０〕サーバは、公開要求を受け取っている。
【００５８】
〔ステップ７５５〕共有表示ソフトウェアは、自身が新しく生成されたウィンドウと関連付ける一意の識別子（ＵＩＤ６４６）を生成し、且つ、〔ステップ６４５〕次いで、新しいメディアポストの生成をアクノリッジするべく、このＵＩＤをユーザＡに送信している。
【００５９】
〔ステップ７７５〕ホストサーバ１１５は、ビデオストリームをネットワーキング層を介してクライアントＡから受け取り、且つ、ピクセルデータフレーム７７６を生成するべく、そのタイプに基づいて、ビデオエンコーダ／デコーダモジュール２０６を介してデータをデコードしている。
【００６０】
〔ステップ７８０〕次いで、クライアントＡ上においてキャプチャされたアプリケーションビューに対応する可視状態のフレームをディスプレイ５１０上に生成するべく、ピクセルデータフレームが、メディアポストの現時点の位置、スケール、オフセットに描画されている。
【００６１】
〔ステップ７７０〕ホストサーバ１１５は、ポストされた新しいメディアストリーム（並びに、そのＵＩＤ６４６）を含む更なる表示状態情報と、接続されているユーザの数と、を含む更新をクライアントＡ及びその他の接続されたクライアントに対して送信している。
【００６２】
〔ステップ７４０〕クライアントＡは、更なる表示状態情報を含む更新を受け取り、且つ、情報を更新／保存している〔ステップ７４２〕。
【００６３】
この時点において、クライアントＡは、ステップ７１０に戻り、且つ、別のウィンドウを公開してもよく（並びに、ステップの上述の組によって継続してもよく）、或いは、ステップ７１２において、ジョイスティック（又は、その他のユーザ入力装置）４３０を運動させてもよく、且つ、後述するように、継続してもよい。クライアントＢは、クライアントＡについて上述した類似のステップの組を使用することにより、共有ディスプレイに対して接続する。
【００６４】
〔ステップ７４０〕クライアントＢは、（ステップ７７０からの）メディアポストＵＩＤ６４６及びホストディスプレイ１０２上において示されている対応するビデオフレームを含む情報をいまや収容している状態更新パケットを介してユーザインタフェースに対する更新を受け取る。
【００６５】
〔異なる選択を伴うステップ７１０〕ユーザＢは、メディアプレビューバー４４０内のエントリをクリックすることにより、メディアポストＵＩＤ６４６を選択している。
【００６６】
〔ステップ７１２〕ジョイスティックのドラッグにより、以下のものを含む〔ステップ７１３において〕サーバ１１５に送信されるメッセージが起動される。
（１）変形（即ち、平行運動）、及び
（２）操作されているメディアポストの一意の識別子〔ＵＩＤ６４６〕
【００６７】
〔ステップ７１４〕サーバは、このパケットを受け取り、且つ、制御及び状態管理モジュール２０５を使用することにより、これをデコードしている。（このモジュール内に保存されている）サーバの状態は、特定のＵＩＤ６４６に適用されたばかりの運動を反映するように、更新される。
【００６８】
〔ステップ７１５〕新しい状態をグラフィカルに描くように、シーングラフ１１７が更新される。
【００６９】
〔ステップ７８０〕次いで、プレゼンテーションエンジン２０９は、メディアの新しいグラフィカルな状態に従って、新しいシーンを描画している。
【００７０】
図７Ｂは、共有ディスプレイ１０２上においてメディアポストを操作する際に一代替実施形態における本システムによって実行される例示用のステップの組を示すフローチャートである。図７Ｂに示されているように、ステップ７１３において、矢印７２３によって示されているように、ジョイスティック４３０（又は、その他の入力装置）のドラッグにより、（１）変形（即ち、ユーザ入力ジョイスティックの運動に基づいた平行運動の大きさ及び方向）及び（２）操作されているメディアポストの一意の識別子〔ＵＤ〕６４６を収容するパケット７２３を含む、サーバ１１５に対して送信される、メッセージが起動されている。
【００７１】
ステップ７１４において、ホスト１０４は、クライアント１０６からパケット７２３を受け取り、パケットをデコードし、且つ、変形を正しいメディア要素の現時点の幾何学的且つ視覚的な外観状態に対して適用している。この例においては、メディア要素は、その要素について制御及び状態マネージャ２０５内に保存されている現時点の位置に対して平行運動を適用することにより、平行運動させられている。ステップ７１５において、シーングラフ１１７は、ディスプレイ１０２の新しい状態をグラフィカルに描画するように、更新されている。最後に、プレゼンテーションエンジン２０９は、更新されたばかりのものを含むすべてのメディア要素の視覚的な外観に関する情報を保持するシーングラフ１１７全体を解釈し、且つ、ディスプレイ１０２のための合成画像２１０を生成している。制御は、図７Ａのステップ７８０において再開している。
【００７２】
例２：二人のユーザＡ及びＢが、本方法を使用し、ディスプレイに接続すると共にこれを同時に共有及び制御する。
【００７３】
ホスト表示ソフトウェアは、共有ディスプレイに接続されているＰＣ上において稼働している。ＰＣは、クライアント装置Ａ及びＢと共に、ローカルネットワーク上に存在している。ホスト表示ソフトウェアは、ディスプレイに関するアクセス情報とその構成を収容する検出パケットをローカルネットワーク上において送信するステップを開始する。
【００７４】
１．クライアントＡは、ネットワーク上において入手可能な検出パケットを検出すると共にこれらをユーザが選択するように提示することにより、ホスト表示ソフトウェアに接続する。ユーザＡは、ローカルネットワーク上において入手可能なホストディスプレイのリストから共有ディスプレイを選択する。
【００７５】
２．ユーザアクセス情報を収容する接続パケットが表示ソフトウェアに対して送信される。
【００７６】
３．サーバ１１５は、このパケットを受け取り、且つ、アクセスの許可により、或いは、サーバがパスワードアクセス用に構成されている場合には、パスワードを要求するパケットにより、応答する。
【００７７】
４．サーバは、ポストされたメディアストリーム（並びに、そのＵＩＤ）を含むディスプレイの状態に関する更なる情報と、接続されているユーザの数と、を含む更新をクライアントＡに送信する。
【００７８】
５．クライアントＡは、許可されたアクセスと、更なる表示状態情報を含む更新と、を受け取る〔並びに、保存する〕。
【００７９】
６．クライアントＡは、共有ディスプレイの状態を反映するように、そのユーザインタフェースを更新する。
【００８０】
７．ユーザＡは、インタフェース制御パネルから「公開」を選択し、且つ、その後に、ディスプレイに対して公開するためのメディアポストを選択する。
【００８１】
８．ユーザＡは、アプリケーションウィンドウサイズに基づいて当初サイズ設定されている共有ディスプレイに新しいメディアポストを追加するべく、メッセージをディスプレイに送信する。
【００８２】
９．共有表示ソフトウェアは、自身がこの新しく生成されたウィンドウと関連付ける一意の識別子（ＵＩＤ）を生成する。
【００８３】
１０．次いで、共有ディスプレイは、新しいメディアポストの生成をアクノリッジするべく、この一意の識別子をユーザＡに対して送信する。
【００８４】
１１．次いで、クライアントＡは、ピクセルキャプチャメカニズムを選択されたメディアポストに対して装着し、且つ、ビデオエンコードエンジンに伝達されるピクセルデータのキャプチャを開始する。
【００８５】
１２．クライアントＡは、「ビデオストリーム」タイプをＵＩＤと関連付けるメッセージをディスプレイに対して送信する。
【００８６】
１３．クライアントＡは、メディアポスト用のエンコードされたデータに対応するビデオストリームを送信するステップを開始する。
【００８７】
１４．サーバ１１５は、ネットワーキング層を介してビデオストリームを受け取り、且つ、ピクセルデータフレームを生成するべく、そのタイプに基づいて、ビデオデコーダモジュールを介してデータをデコードする。
【００８８】
１５．次いで、クライアントＡ上においてキャプチャされたアプリケーションビューに対応する可視状態のフレームを生成するべく、ピクセルデータフレームがメディアポストの現時点の位置、スケール、オフセットに描画される。この新しいメディアポストは、現時点の表示レイアウト及びシーングラフ並びに現時点の状態によるその他の規則に基づいて、所定の位置、スケール、オフセットにおいて、且つ、その他の特殊な効果（境界、境界なし）を伴って、描画される。
【００８９】
１６．クライアントＢは、クライアントＡについて上述した類似のステップの組を使用することにより、共有ディスプレイに対して接続する。
【００９０】
１７．クライアントＢは、メディアポストＵＩＤ及びサーバ上において示されている対応するビデオフレームに関する情報をいまや収容している状態更新パケットを介して、ユーザインタフェースに対する更新を受け取る。
【００９１】
１８．ユーザＢは、ユーザインタフェースの下部のメディアプレビューバー内のエントリをクリックすることにより、メディアポストＵＩＤを選択する。
【００９２】
１９．ユーザＢは、メディアポストＵＩＤの位置／スケールを制御するためのジョイスティックを選択する。
【００９３】
２０．ジョイスティックをドラッグすることにより、以下のものを含むメッセージがサーバに対して送信される。
ａ．変形（即ち、ユーザ入力ジョイスティックの運動に基づいたジョイスティックの平行運動の大きさ及び方向）、及び
ｂ．操作されているメディアポストの一意の識別子〔ＵＩＤ〕
【００９４】
２１．サーバ１１５は、このパケットを受け取り、且つ、制御及び状態管理モジュール２０５を使用することにより、これをデコードする。（このモジュール内に保存されている）サーバの状態は、特定のＵＩＤに対して適用されたばかりの運動を反映するように、更新される。
【００９５】
２２．シーングラフは、新しい状態によって通知される効果を伴って、所定の位置及びスケールにおいてメディアポストを描画するべく、様々なメディアポスト／選択されたレイアウトの新しい状態をグラフィカルに描画するように、更新される。
【００９６】
２３．次いで、プレゼンテーションエンジン２０９は、メディアＵＩＤの新しいグラフィカルな状態に従って、新しいシーンを描画する。
【００９７】
本発明の特定の実施形態に関する以上の説明は、本発明のすべてを網羅し、或いは、本発明を開示された形態そのままに限定することを意図したものではない。請求項において使用されている用語は、本発明を本明細書に開示されている特定の実施形態に限定するものとして解釈してはならず、むしろ、本発明の範囲は、添付の請求項によって決定されることを要する。
【図１】
2016511603.tif 000003
【図２】
2016511603.tif 000004
【図３】
2016511603.tif 000005
【図４】
2016511603.tif 000006
【図５Ａ】
2016511603.tif 000007
【図５Ｂ】
2016511603.tif 000008
【図６】
2016511603.tif 000009
【図７Ａ】
2016511603.tif 000010
【図７Ｂ】
2016511603.tif 000011
【国際調査報告】
2016511603.tif 000012
2016511603.tif 000013
2016511603.tif 000014