(57)【要約】  映像、アニメーションなどを含む変化するビジュアルコンテンツをオーバーレイとして表示するための技法について論じる。ビジュアル表示に含まれる変化するビジュアルコンテンツを、ビジュアル表示に含まれる他のビジュアル要素から識別することができる。変化するビジュアルコンテンツをクライアント用のオーバーレイとして表示することに関連付けられた利用可能なリソースに基づいて、変化するビジュアルコンテンツを操作することができる。
2011507401.tif 000002
【特許請求の範囲】
【請求項１】
リモート表示のために、変化するビジュアルコンテンツを識別するステップと、
利用可能なリソースに従って前記変化するビジュアルコンテンツを操作して、前記変化するビジュアルコンテンツをオーバーレイとしてリモートで表示するステップと
を含むことを特徴とする方法。
【請求項２】
前記識別は、更新頻度、アスペクト比、ウィンドウ識別名、またはプロセス名のうちの少なくとも１つに基づくことを特徴とする請求項１に記載の方法。
【請求項３】
前記変化するビジュアルコンテンツは、発見的に識別されることを特徴とする請求項１に記載の方法。
【請求項４】
前記変化するビジュアルコンテンツのオーバーレイを、タイムスタンプによって、対応するオーディオコンテンツに合わせるステップをさらに含むことを特徴とする請求項１に記載の方法。
【請求項５】
前記変化するビジュアルコンテンツは、アニメーションまたは映像コンテンツのうちの少なくとも１つであることを特徴とする請求項１に記載の方法。
【請求項６】
前記オーバーレイは、子映像ウィンドウ検出またはジオメトリトラッキングのうちの少なくとも１つを実装することを特徴とする請求項１に記載の方法。
【請求項７】
前記利用可能なリソースは、利用可能な帯域幅、利用可能な処理能力、利用可能な復号器、または利用可能な符号器のうちの少なくとも１つを含むことを特徴とする請求項１に記載の方法。
【請求項８】
前記操作は、前記変化するビジュアルコンテンツを構成するデータを圧縮するステップ、またはフレームをドロップするステップのうちの少なくとも１つであることを特徴とする請求項１に記載の方法。
【請求項９】
前記変化するビジュアルコンテンツは、操作の前に圧縮されていないことを特徴とする請求項１に記載の方法。
【請求項１０】
実行時に、コンピューティングシステムに、
圧縮されていない変化するビジュアルコンテンツを他のビジュアルコンテンツから識別し、
利用可能なリソースに基づいて前記圧縮されていない変化するビジュアルコンテンツを操作して、前記操作された変化するビジュアルコンテンツのリモート表示を他のビジュアルコンテンツの上にオーバーレイするよう指示するコンピュータ実行可能命令を含む
ことを特徴とする１つまたは複数のコンピュータ可読メディア。
【請求項１１】
発見的識別が使用されることを特徴とする請求項１０に記載の１つまたは複数のコンピュータ可読メディア。
【請求項１２】
前記圧縮されていない変化するビジュアルコンテンツのビットマップは、所定の更新レートにおいて変化することを特徴とする請求項１０に記載の１つまたは複数のコンピュータ可読メディア。
【請求項１３】
前記操作は、データ圧縮またはフレームドロップのうちの少なくとも１つを含むことを特徴とする請求項１０に記載の１つまたは複数のコンピュータ可読メディア。
【請求項１４】
前記圧縮されていない変化するビジュアルコンテンツは、他のビジュアルコンテンツまたは所定のフレームレートと比較した変化の速度のうちの少なくとも１つに基づいて識別されることを特徴とする請求項１０に記載の１つまたは複数のコンピュータ可読メディア。
【請求項１５】
前記操作は、利用可能な帯域幅、利用可能な処理能力、利用可能な復号器、または利用可能な符号器のうちの少なくとも１つの根拠となることを特徴とする請求項１０に記載の１つまたは複数のコンピュータ可読メディア。
【請求項１６】
ビジュアルコンテンツに含まれる変化する映像を識別するための映像検出モジュールと、
利用可能な通信リソースに基づいて前記識別された変化する映像の符号化を指示するように構成されたハンドラモジュールであって、前記符号化は、前記変化する映像がリモートで表示されるときにはオーバーレイとして表示されるようにする命令を含む、ハンドラモジュールと
を含むことを特徴とするシステム。
【請求項１７】
前記ハンドラモジュールから、リモートクライアントデバイスのための前記オーバーレイを再現するように構成されたリモートハンドラモジュールをさらに含むことを特徴とする請求項１６に記載のシステム。
【請求項１８】
前記映像検出モジュールは、更新頻度、アスペクト比、ウィンドウ識別名、またはプロセス名のうちの少なくとも１つに基づいて、前記変化する映像を識別することを特徴とする請求項１６に記載のシステム。
【請求項１９】
符号化された変化する映像の映像位置またはジオメトリのうちの少なくとも１つを含むように構成された映像符号器をさらに含むことを特徴とする請求項１６に記載のシステム。
【請求項２０】
前記映像符号器は、利用可能な帯域幅、利用可能な処理能力、利用可能な復号器、または利用可能な符号器のうちの少なくとも１つに基づいて、前記変化する映像を圧縮すること、または送信のためにフレームをドロップすることのうちの少なくとも１つを行うように構成されていることを特徴とする請求項１９に記載のシステム。
【発明の詳細な説明】
【背景技術】
【０００１】
ターミナルサーバセッションにおいて映像コンテンツを通信することは、その映像コンテンツを構成する比較的大量のデータが他のビジュアルコンテンツと共に頻繁に更新されることがあるために、効率が良くないことがある。たとえば、映像データが、テキストなどの他の画面コンテンツと共にリフレッシュされ、通信されることがある。追加のコンテンツが映像コンテンツと同じレートで変化しない場合であっても、その追加のコンテンツが映像コンテンツと共に通信されることがある。
【発明の概要】
【課題を解決するための手段】
【０００２】
映像、アニメーションなどを含む変化するビジュアルコンテンツをオーバーレイとして表示するための技法について論じる。ビジュアル表示に含まれる変化するビジュアルコンテンツを、ビジュアル表示に含まれる他のビジュアル要素から識別することができる。変化するビジュアルコンテンツをクライアント用のオーバーレイとして表示することに関連付けられた利用可能なリソースに基づいて、変化するビジュアルコンテンツを操作することができる。
【０００３】
本概要は、以下の詳細な説明でさらに説明する選択された概念を、簡略化した形式で導入するために示される。本概要は、特許請求される主題の主要な特徴または重要な特徴を特定することも、特許請求される主題の範囲を決定する支援として使用されることも意図していない。
【図面の簡単な説明】
【０００４】
【図１】変化するビジュアルコンテンツを使用することができる例示的な実装形態における環境を示す図である。
【図２】変化するビジュアルコンテンツを通信するときの例示的なデータ流れを示すフローチャートである。
【図３】変化するビジュアルコンテンツを通信する例示的な実装形態の手続きを示すフローチャートである。
【図４】ビジュアルコンテンツをオーバーレイとして通信する例示的な実装形態の手続きを示すフローチャートである。
【発明を実施するための形態】
【０００５】
添付の図面を参照して、詳細な説明を記述する。図面では、参照番号の左端の数字が、その参照番号が最初に現れる図を特定する。説明および図面における異なる事例中の同じ参照番号の使用は、類似の、または同一のアイテムを示すことができる。
【０００６】
概説
これにより、閾値に基づいて、または他のビジュアルコンテンツと比較して、頻繁に変化する映像コンテンツ、アニメーションなどを含むことができる、変化するビジュアルコンテンツのリモート表示を可能にすることができる技法を説明する。たとえば、識別された変化するビジュアルコンテンツを、リモートデバイス上にオーバーレイとして表示することができる。変化しないか、変化する映像コンテンツのレートよりも低いレートで変化するか、または変化閾値に満たないことがある他のビジュアルコンテンツと、変化するビジュアルコンテンツとを、異なって扱うことができる。変化するビジュアルコンテンツをオーバーレイとして表示することにより、利用できるリソースに基づいて、コンテンツを構成するデータを、変化するコンテンツ（たとえば映像）として取り扱うことを可能にできる。利用可能なリソースを効率的に使用できるように、変化するビジュアルコンテンツを操作し、通信することができる。
【０００７】
実装形態では、識別モジュールを含むシステムが、変化するビジュアルコンテンツを識別することができる。たとえば、設定された閾値を超える画面更新を含むアニメーションを、そのアニメーションのコンテンツを表すビットマップのアスペクト比に基づいて識別することができる。このようにして、変化するアニメーションを他のビジュアルコンテンツから識別し、その上で操作することができる。識別されたビジュアルコンテンツを、利用可能なリソースに応じて操作することができる。操作には、コンテンツを構成するデータを圧縮すること、たとえば映像フレームのドロップの更新などを含むことができる。これらの操作は、変化するビジュアルコンテンツを取り扱うのに利用可能なリソースに応じて実装することができる。
【０００８】
例示的な環境
図１は、変化するビジュアルコンテンツをリモートで表示することができる例示的な実装形態における環境１００を示す。図２は、本明細書で論じる例示的な実装形態によって実行することができる例示的な技法およびデータの流れを示す。システム１０２は、ビジュアルコンテンツ中に、変化するビジュアルコンテンツが含まれるかどうかを判定するための映像検出モジュール１０４を含むことができる。
【０００９】
たとえば、画面更新ハンドラ１０６が、映像コンテンツ、および（変化しないことがある）他のビジュアルコンテンツを提供すると、映像検出モジュール１０４が、提供されたビジュアルコンテンツ内にある変化する映像コンテンツの存在を識別することができる。主に映像コンテンツについて論じるが、例示的な変化するビジュアルコンテンツには、限定はしないが、他のビジュアルデータと比較して変化するか、または設定された閾値（たとえば変化なし）を超えて変化することがあるなどの、アニメーション、トランジション（たとえばＰＯＷＥＲＰＯＩＮＴ（Ｍｉｃｒｏｓｏｆｔ  Ｃｏｒｐｏｒａｔｉｏｎ、レドモンド、ＷＡ）トランジション）などを含むことができる。
【００１０】
本明細書で論じるように変化するビジュアルコンテンツが取り扱われる間、画面更新ハンドラモジュール１０６は、テキスト、グラフィカルオブジェクトなどの他のビジュアルコンテンツを、ディスプレイ用のリモートクライアント１０８に転送することができる。たとえば、前出のビジュアルコンポーネントがごくわずかに変化するか、または変化しない場合、こうした他のビジュアルコンテンツを、映像、アニメーションまたは他の変化するビジュアルコンテンツと比較して、より少ない頻度で更新することができる。他のビジュアルコンテンツを異なって扱うことにより、変化するビジュアルコンテンツおよび他のビジュアルコンテンツの両方に共通の圧縮方式が適用される場合と比較して、さまざまな圧縮方式の影響を最小限にすることができる。
【００１１】
変化するビジュアルコンテンツに関連付けられたオーディオコンテンツを取得するために、オーディオハンドラモジュール１１０を含むことができる。オーディオコンテンツを変化するビジュアルコンテンツから別個に取り扱うことができるため、コンテンツをコンテンツに特定のやり方で取り扱うことができる。圧縮されていない映像クリップについては、リモートクライアントデバイス１０８に表示する際にタイムスタンプを使用してオーディオデータを対応する映像データと同期させるその後の再結合のために、オーディオデータを映像データから分離することができる。
【００１２】
映像検出モジュール１０４を使用して変化するビジュアルコンテンツを識別することにより、基礎データを他のビジュアルコンテンツとは異なって取り扱うことを可能にすることができる。変化するビジュアルコンテンツ（たとえば映像１１２）を第１のやり方で処理し通信することができる一方で、変化しないか、または最小限に変化するビジュアルコンテンツを、異なるやり方、すなわち第２のやり方で扱うことができる。その結果、他のコンテンツが過度にリソースを消費しないことが可能になり、変化するビジュアルコンテンツを、変化するビジュアルコンテンツに特定のやり方において取り扱うことを可能にできる。
【００１３】
映像検出モジュール１０４は、圧縮されていない状態で変化するビジュアル情報を識別することができる。他のビジュアルコンテンツを、変化するビジュアルコンテンツのレートよりも低いレートにおいて更新して、それにより送信されている全体のデータを最小限にすることができる。
【００１４】
映像コンテンツ、または他の変化するビジュアルコンテンツを、タスクの実行に利用可能な通信リソースを含むコンピューティングリソースに基づいて、符号化するおよび／または通信することができる。その結果、変化するビジュアルコンテンツを変化するビジュアルコンテンツに特定のやり方で取り扱う一方で、システムの符号化能力（符号器１１４〜１１８など）および通信リソース（たとえばネットワーク１２０）を、コンピューティングリソースを完全に停止させることなく効率的に使用することができる。たとえば、ディスプレイが、フラッシュ映像、ならびにテキストおよびグラフィカルオブジェクトを含む場合、このテキストおよびグラフィカルオブジェクトは、映像コンテンツと比較して、または変化しないコンテンツから変化を区別するのに使用される閾値更新レートと比較して、変化しないか、またはめったに変化しないことがある。変化しないか、または最小限に変化するコンテンツの例には、限定はしないが、変化するビジュアルコンテンツと比較して、変化しないか、またはより少ない頻度で変化することがあるテキスト、グラフィカルオブジェクトなどを含むことができる。
【００１５】
一例では、運転される車の映像１１２をウィンドウに表示し、その一方でユーザがディーラにコンタクトする、見積りを受け取ることを可能にするテキストおよびグラフィカルオブジェクト１２２をディスプレイの他の部分に表示することができる。相対的に、他のビジュアルコンテンツと、またはいくつかの規準と比較して、ディスプレイの映像部分は頻繁に変化することがある。テキストおよびグラフィカルオブジェクトは、同様の比較または所定の画面更新標準に基づいて、変化しないままでいるか、またはまれにしか変化しないことがある。
【００１６】
映像検出モジュール１０４は、さまざまな規準に基づいて、ビジュアルコンテンツが変化していることを識別することができる。例示的な規準には、限定はしないが、画面更新頻度、アスペクト比、ウィンドウクラス名、画面更新のプロセス名などを含むことができる。さらに、映像コンテンツ検出モジュール１０４は、変化するコンテンツがプレイを停止したか、または一時停止されたかどうかを判定することができる。変化するコンテンツが停止した場合、映像検出モジュール１０４は、変化するビジュアルコンテンツを表示するためのウィンドウが、クライアントデバイス上で再現されるときに終了されるべきであることを識別することができる。変化するコンテンツのプレイが単に一時停止される場合は、たとえ表示されるコンテンツがなかったり、またはオーバーレイがブラックアウトされることがあっても、変化するコンテンツをクライアントデバイス上にオーバーレイで表示したままでいることができる。
【００１７】
画面更新頻度を、たとえば、フィルムの毎秒２４フレーム、欧州テレビの毎秒２５フレーム、アメリカのテレビの毎秒３０フレームなどの、毎秒の画面更新の回数によって識別することができる。実装形態では、画面更新レートを、ビジュアルコンテンツが変化しているかどうかを判定するための閾値として使用することができる。上記の例は、例示的であるにすぎない。実装形態では、識別のために、規準の組合せを使用することができる。さらなる例では、変化するビジュアルコンテンツを発見的に識別することができる。
【００１８】
変化するビジュアルコンテンツのアスペクト比を、ビジュアルコンテンツを表すビットマップのアスペクト比によって識別することができる。たとえば、４：３比は標準テレビのコンテンツを示すことができ、１６：９比はワイド画面の変化するコンテンツを示すことができる。ウィンドウクラス名は、ビジュアルコンテンツが表示されるべき画面を、少なくとも部分的に覆うことになるウィンドウを表示するのに使用されるレンダラの名前を含むことができる。ウィンドウが４：３比を有し、毎秒約２４フレームで更新している場合に、変化するビジュアルコンテンツを識別することができる。
【００１９】
ハンドラモジュール１２４は、識別された変化するビジュアルコンテンツの操作を指示することができる。たとえば、一旦識別されると、アニメーションのコンテンツを、データを通信することを含む処理に利用可能なコンピューティングリソースに基づいて、ハンドラモジュールが指示するように操作することができる。操作には、（映像のための）フレームをドロップすること、または（アニメーションのための）画面更新、コンテンツを圧縮すること、変化するビジュアルコンテンツを送信しないこと、特定の符号化方式の使用などを含むことができる。たとえば、アニメーションまたは映像を表すビットマップをドロップすることができる。
【００２０】
たとえば、比較的大量の帯域幅が利用可能な場合、ハンドラモジュール１２４は、１つまたは複数の符号器１１４〜１１８モジュールに単純な符号化方式（たとえばロッシー符号化技法）を実装するよう指示して、変化するビジュアルコンテンツのためのプロセッサオーバヘッドを最小限にすることができる。対照的に、利用可能な帯域幅が限られている場合は、リソース集中型の符号化技法を使用して、帯域幅の消費を最小限にすることができる。他の非関連タスクなどに専用のリソースを含む要因の組合せもまた考慮することができる。たとえば、符号器モジュール「１〜Ｎ」である１１４〜１１８は、限定はしないが、映像コデック１（ＶＣ１）、ＭＰＥＧ（ｍｏｖｉｎｇ  ｐｉｃｔｕｒｅ  ｅｘｐｅｒｔｓ  ｇｒｏｕｐ）、ＪＰＥＧ（ｊｏｉｎｔ  ｐｈｏｔｏｇｒａｐｈｉｃ  ｅｘｐｅｒｔｓ  ｇｒｏｕｐ）などを含むさまざまな形式を実装することができる。
【００２１】
ビジュアルコンテンツを構成するデータに、制御情報を含めることができる。制御情報は、変化するビジュアルコンテンツをどのようにリモートで表示すべきかを指示するためのデータを含むことができる。たとえば、制御情報には、変化するデータを表示するためのオーバーレイのサイズ、ディスプレイ上のオーバーレイの位置、タイムスタンプなど（たとえばリモートクライアント１０８上の車の映像１３６などのオーバーレイ）を含むことができる。１つまたは複数の符号器モジュールは、リモートクライアントに対する通信のために、変化するビジュアルコンテンツデータと共に制御情報を符号化することができる。たとえば、リモートで表示される場合、変化するビジュアルコンテンツを含むビジュアルコンテンツは、サーバのビジュアルデータの構成をミラーリングすることができる。つまり、サーバ画面更新ハンドラ１０６によってビジュアルコンテンツが取得されたため、オーバーレイならびに他のビジュアルコンテンツをクライアント上に表示することができる。さらなる実装形態では、制御データを別個に送信することができる。すなわち、コンテンツデータおよび制御データなどを転送するデータストリームの分離された部分において、オーディオおよびビジュアルコンテンツの同期を可能にするタイムスタンプと送信することができる。
【００２２】
リソースモニタモジュール１２６が、コンピューティングリソースの利用可能性をモニタすることができる。このコンピューティングリソースは、ビジュアルコンテンツをリモートで表示することに関連付けられた通信リソースを含む。たとえば、サーバシステムに含まれるリソースモニタモジュール１２６は、ハンドラモジュール１２４に、リモートクライアント上にビジュアルコンテンツを表示することに関連付けられたコンピューティングリソースの指示を送信することができる。たとえば、帯域幅が限られている場合、ハンドラモジュール１２４は、リソースモニタによって決定されたリソースに基づいて、フレームをドロップすること、特定の符号化技法を使用することなどを選択することができる。適切なリソースの指示には、限定はしないが、通信帯域幅（たとえばネットワーク１２０）の利用可能性、利用可能なプロセッサリソース（たとえばサーバリソースおよび／またはクライアントリソース）、利用可能な符号器などに関する指示を含むことができる。このようにして、ハンドラモジュール１２４は、コンピューティングリソースに対応できないほどの負担をかけたり、またはコンピューティングリソースを過度に消費することなく、変化するビジュアルコンテンツをリモートで表示するのに利用可能なリソースにアクセスすることができる。リソースモニタモジュール１２６を使用することにより、変化するビジュアルコンテンツをどのように通信するべきか、どの変化するビジュアルコンテンツを通信するかなどを、利用可能なコンピューティングリソースに従って調整することができる。変化するビジュアルコンテンツは、リソースの利用可能性に基づいてリモートクライアントに提供されるので、リソースの使用は変化することがある。
【００２３】
リモートクライアント１０８は、復号された変化するビジュアルコンテンツをどのように表示するかを決定するクライアントハンドラモジュール１２８を含むことができる。たとえば、クライアントハンドラモジュール１２８は、コンテンツデータと共に符号化された制御データに基づいて、クライアント復号器「１〜Ｎ」である１３０〜１３２によって復号される変化するコンテンツを、オーバーレイとして表示することができる。上記のやり方において、クライアントハンドラモジュール１２８は、変化するビジュアルコンテンツを再構成することができる。それにより、コンテンツがサーバ１０２に関連付けられたディスプレイに表示されることになるかのように、変化するビジュアルコンテンツの表示がサーバ１０２の表示と合致する。たとえば、サイズ、アスペクト比などを、変化する映像コンテンツに含まれる制御データによって指定することができる。制御データは、変化するビジュアルコンテンツをどのように表示するかを決定する際に、クライアントハンドラモジュールが対応して使用できる、子映像ウィンドウ（ｃｈｉｌｄ  ｖｉｄｅｏ  ｗｉｎｄｏｗ）検出、ジオメトリトラッキング（ｇｅｏｍｅｔｒｙ  ｔｒａｃｋｉｎｇ）に関連した情報を含むことができる。該当する場合には、マルチメディアを調和させるためのタイムスタンプを使用して、変化するビジュアルコンテンツにオーディオを再結合することができる。
【００２４】
クライアント画面ハンドラ１３４は、該当する場合には、サーバ画面更新ハンドラから他のビジュアルデータを受信することができる。たとえば、映像がクライアントディスプレイ上にオーバーレイとして表示されている間に、テキスト、グラフィカルオブジェクトなどを、オーバーレイに対する「バックグラウンド」として表示することができる。すなわち、映像が分離されてそれを個々に扱うことができる間、おおむね変化しないビジュアルコンテンツ部分を、ディスプレイの少なくとも一部を覆う映像コンテンツ部分と共に、クライアントディスプレイ上に表示することができる。オーバーレイおよび他のビジュアルコンテンツは、存在する場合には、サーバ画面更新ハンドラモジュール１０６からのコンテンツと合わせてクライアント上に表示されるように、配置および構成することができる。
【００２５】
一般に、本明細書で説明されるいずれの機能も、ソフトウエア、ファームウエア、ハードウエア（たとえば固定論理回路）、手動処理、またはこれらの実装の組合せを使用して実現することができる。本明細書で使用される用語「モジュール」、「機能性」および「論理」は、一般に、ソフトウエア、ファームウエア、ハードウエア、またはそれらの組合せを表す。ソフトウエア実装の場合、たとえば、モジュール、機能性、または論理がプロセッサ（たとえば１つまたは複数のＣＰＵ）上で実行されるとき、それらは指定されたタスクを実行するプログラムコードを表す。プログラムコードを、たとえば有形のメモリなどの、１つまたは複数のコンピュータ可読メモリデバイスに記憶することができる。
【００２６】
以下の議論では、上述したシステムおよびデバイスを利用して実現することができる変換技法を説明する。手続きのそれぞれの態様は、ハードウエア、ファームウエア、またはソフトウエア、もしくはそれらの組合せにおいて実装することができる。手続きは、１つまたは複数のデバイスによって実行される動作を指定する一組のブロックとして示され、それぞれのブロックによる動作を実行するために示される順序には必ずしも限定されない。
【００２７】
例示的な手続き
以下の議論では、上述したシステムおよびデバイスを利用して実現することができる方法論を説明する。手続きのそれぞれの態様は、ハードウエア、ファームウエア、またはソフトウエア、もしくはそれらの組合せにおいて実装することができる。手続きは、１つまたは複数のデバイスによって実行される動作を指定する一組のブロックとして示され、それぞれのブロックによる動作を実行するために示される順序には必ずしも限定されない。さまざまな他の例がまた企図される。
【００２８】
図３は、変化するビジュアルデータをオーバーレイとして提供するための例示的な手続きを開示する。設定された標準、または他のビジュアルコンテンツと比較して、頻繁に変化することがある変化するビジュアルコンテンツを表示することにより、利用可能なコンピューティングリソースに従ってデータの取扱いを調整しながら、変化するビジュアルデータを構成するデータを低いレベルで取り扱うことを可能にする。たとえば、ビジュアル表示を、ウェブサーバから映像コンテンツにアクセスするクライアントデバイス上にリモートで表示することができる。
【００２９】
（変化しないか、またはごくわずかなレートで変化する）他のビジュアルコンテンツに含まれることがある変化するビジュアルコンテンツを、画面更新３０２の一部として、圧縮されていない状態で識別する（３０４）ことができる。たとえば、変化するビジュアルコンテンツには、限定はしないが、おおむね規則的な間隔で更新する映像、トランジション、アニメーションなどを含むことができる。変化するビジュアルコンテンツは、該当する場合には、変化しないビジュアルコンテンツ、最小限に変化するコンテンツと対照をなし、またはいくつかの設定された標準（たとえば変化または画面更新のレート）と比較することができる。変化するビジュアルコンテンツの識別３０４は、更新頻度、コンテンツのアスペクト比、ウィンドウ識別名、プロセス名などに少なくとも部分的に基づくことができる。変化するビジュアルコンテンツの識別と併用して発見的方法を使用することができる。
【００３０】
例では、上記の規準の組合せを考慮することができる。変化するビジュアルコンテンツの識別３０４は、ウィンドウのアスペクト比が映画またはフィルムのディスプレイのアスペクト比と合うかどうか、および着信画面更新のプロセス名が映像プレイヤのプロセス名と合うかどうかに基づくことができる。たとえば、コンテンツが４：３のアスペクト比にある場合、および更新のためのプロセス名がテレビ放送をプレイするためのプレイヤに関連付けられたプロセス名と合う場合、たとえば、変化するコンテンツの再生プレイが瞬間的に一時停止している場合であっても、ビジュアルコンテンツを変化するコンテンツとして識別することができる。例示のプロセス名には、限定はしないが、ＷＩＮＤＯＷＳ（登録商標）  ＭＥＤＩＡ  ＣＥＮＴＥＲ（Ｍｉｃｒｏｓｏｆｔ  Ｃｏｒｐｏｒａｔｉｏｎ、レドモンド、ＷＡ）などを含むことができる。変化するビジュアルコンテンツが存在しないか、またはビジュアルコンテンツがフローを停止している場合、他のコンテンツの更新が行われたり、または停止している変化するコンテンツからオーバーレイが解除される（３０６）ことがある。
【００３１】
利用可能なリソースを評価する（３０８）ことができる。特定の操作および／または選択された圧縮方式３１０は、リモート表示を取り扱うコンピューティングリソースのパラメータに従うことができる。たとえば、利用可能性を決定するために、コンピューティングリソースを評価する（３０８）ことができる。変化するビジュアルコンテンツを操作するおよび／または変化するビジュアルコンテンツの符号化を指示する（３１０）際に、考慮することができる例示的なコンピューティングリソースのパラメータには、限定はしないが、サーバリソース、クライアントリソース、および通信リソースが含まれる。たとえば、通信することができるデータと比較して、比較的少ない帯域幅しか利用可能でない場合は、変化するビジュアルコンテンツを操作すること（３１０）の一部として、映像を停止する（３１２）またはフレームをドロップすることなどにより、変化するビジュアルコンテンツを送信しないことがある。
【００３２】
したがって、変化する映像コンテンツまたはアニメーションコンテンツを、他のビジュアルコンテンツが他の技法によって取り扱われている間、利用可能なコンピューティングリソース３０８に基づいて取り扱うことができる。たとえば、最小限に変化するテキストおよびグラフィカルオブジェクトを、クライアント表示のために別個に転送することができる。該当する場合、他のビジュアルコンテンツを異なるやり方で取り扱うことができる。たとえば、最小限に変化する映像コンテンツを、異なるレートで更新する、または別個に通信することができる。このようにして、クライアントのビジュアル表示がビジュアルコンテンツを提供するリモートソースのビジュアル表示と合うように、変化するビジュアルコンテンツが、最小限に変化するコンテンツの上にオーバーレイされることがある。実装形態では、ビジュアル表示が識別におけるビジュアルコンテンツのビジュアル表示と合うように、変化するビジュアルコンテンツ、および他のビジュアルコンテンツを（たとえばオーバーレイにある変化するコンテンツと共に）再現することができる。他の例では、最小限に変化するコンテンツが、変化するコンテンツの上にオーバーレイされることがある。上記の例には、変化するコンテンツの上にオーバーレイされる通知ポップアップ（たとえばＯＵＴＬＯＯＫ（Ｍｉｃｒｏｓｏｆｔ  Ｃｏｒｐｏｒａｔｉｏｎ、レドモンド、ＷＡ）通知ウィンドウ）などの不規則領域を含むことができる。このようにして、変化するコンテンツは、変化しないコンテンツによって部分的に隠されることがある。
【００３３】
識別された変化するビジュアルコンテンツを、要求に応じて操作する（３１０）ことができる。たとえば、操作には、変化するビジュアルコンテンツを圧縮すること、変化するビジュアルコンテンツのためのフレームをドロップすること、または画面更新や変化するビジュアルコンテンツのプレイを一時停止すること（３１２）などを含むことができる。たとえば、オーバーレイされる映像またはアニメーションが、ディスプレイの特定の場所にあるクライアント上に現れ、指定されたサイズ、アスペクト比などを合わせるように、変化するビジュアルコンテンツを操作する（３１０）ことができる。実装形態では、変化するビジュアルコンテンツを表示するためのオーバーレイを作成する際に、子ウィンドウ検出、ジオメトリトラッキング、または類似した技法を使用することができる。上述の技法は、変化するビジュアルコンテンツを低いレベルでリモートすることを可能にすることができる。
【００３４】
リソースについて考慮する例示的な点には、限定はしないが、特定の符号化技法を選択すること、または帯域幅の消費を最小限にするためにフレームをドロップすること、サーバによって取り扱われている他のタスクに基づいて変化するビジュアルコンテンツを操作することが含まれる。たとえば、帯域幅が限られている場合には、ロッシー圧縮方式を使用することができる。これにより、コンテンツの符号化（３１０）がより集中していることがある間、削減された帯域幅の消費を主要な考慮事項とすることができる。
【００３５】
変化するビジュアルコンテンツを、クライアントに対する通信のために符号化する（３１０）ことができる。たとえば、制御データおよび変化するビジュアルコンテンツを構成するデータを、リモートクライアントに対する通信３１２のために、さまざまな技法により符号化することができる。他の例では、制御データおよびコンテンツデータを個々に通信することができる。符号化／符号化の指示には、リモート表示のためにコンテンツを符号化する、および／または圧縮するための、ＶＣ１  ＭＰＥＧなどの技法の使用を含むことができる。
【００３６】
オーディオコンテンツを別個に取り扱い、通信することができる。たとえば、タイムスタンプをオーディオおよび映像コンテンツに関連付けることができ、オーディオコンテンツの表示を、映像、アニメーション、もしくは他の変化するビジュアルコンテンツと再同期させたり、または合わせるのに、タイムスタンプを使用することができる。
【００３７】
クライアントの観点からは、変化するビジュアルコンテンツを、変化しないか、または最小限のやり方で変化するビジュアルコンテンツの上に重なるオーバーレイとして表示することができる。たとえば、クライアントは、オーバーレイとしての表示のために、変化するビジュアルコンテンツを復号する（３１４）ことができる。オーバーレイを、ビジュアルコンテンツを提供するサーバシステムによって転送される制御情報に基づいて再現することができる。たとえば、ビジュアルコンテンツが、識別３０４で構成され、配置されたように見えるように、子ウィンドウトラッキング技法、ジオメトリトラッキング技法を使用して、変化するビジュアルコンテンツを生成する、および／または再現することができる。
【００３８】
オーディオコンテンツが、たとえばマルチメディア表示のアニメーションまたは映像コンテンツと関連付けられた場合、オーディオを、変化するビジュアルコンテンツと再結合する（３１６）ことができる。たとえば、オーディオデータおよびビジュアルデータにそれぞれ結びついた対応するタイムスタンプを使用して、クライアントによる表示のためにオーディオおよび映像を再同期させることができる。オーディオコンテンツは、送信のために圧縮されていることがある。たとえば、別個のデータストリームにおいて転送される圧縮されたオーディオコンテンツを解凍し、タイムスタンプを映像コンテンツとの再結合に使用することができる。さらなる例では、圧縮されたオーディオおよび圧縮された変化する映像コンテンツを、共通のデータストリームにおいて送信することができる。
【００３９】
図４は、変化するビジュアルデータをオーバーレイとして提供するための例示的な手続きおよび命令を開示する。たとえば、以下で論じる技法を、変化する映像、アニメーション、または他の変化するビジュアルコンテンツのリモート表示のための一組のコンピュータ実行可能命令として実装することができる。
【００４０】
画面更新４０２に含まれる圧縮されていない変化するビジュアルコンテンツを、画面更新頻度、アスペクト比、ウィンドウ名などを含む規準を基にして、他のビジュアルコンポーネントから識別する（４０４）ことができる。画面の一部がウィンドウで覆われている場合には、画面更新のプロセス名もまた考慮することができる。上記の識別パラメータまたは規準の組合せを考慮することができる。たとえば、他のビジュアルコンテンツが実質的に変化しないままでいることがある間、映像を表すビットマップのフレーム更新頻度に基づいて、映像を識別することができる。発見的学習法を使用して、変化するビジュアルコンテンツの識別を向上させることができる。変化するビジュアルコンテンツが識別されない場合、変化しないか、または最小限にのみ変化することがある他のビジュアルコンテンツを、クライアントデバイス４０６に対して独立して通信することができる。たとえば、映像がプレイを停止した場合、他のグラフィカル要素を更新することができ、それ以前に映像を表示していたオーバーレイを解除する（４０６）ことができる。
【００４１】
識別４０４と同時に、ビジュアルコンテンツを通信しリモートで表示することに関与したさまざまなコンピューティングリソースを検査して（４０８）、そのコンピューティングリソースが変化するビジュアルコンテンツを取り扱うのに利用可能かどうかを判定することができる。リソースについて考慮する点には、限定はしないが、符号器の利用可能性、ネットワーク帯域幅、クライアントパラメータ、利用可能なサーバプロセッサ能力などを含むことができる。十分なコンピューティングリソースが利用可能でない場合、変化するビジュアルコンテンツが通信されないことがある（４１２）。たとえば、コンテンツを通信するネットワークが十分なスループットを有しない場合、映像コンテンツの変化を含む画面更新が送信されないことがある。
【００４２】
コンピューティングリソースが利用可能な場合、変化するビジュアルコンテンツを取り扱う、および／または通信するのに関与したコンピュータリソースに基づいて（４０８）、変化するビジュアルコンテンツを構成する圧縮されていないデータを操作する（４１０）ことができる。たとえば、操作４１０には、リソースの利用可能性に従って、特定の符号化技法を使うよう符号器に指示すること、フレームをドロップすること、または画面更新や変化するビジュアルコンテンツを通信しないこと（４１２）、制御情報を含む変化するビジュアルコンテンツデータを圧縮すること、などを含むことができる。
【００４３】
制御情報は、変化するビジュアルコンテンツの再現において、クライアントを指示するのに使用できる子ウィンドウ検出および／またはジオメトリトラッキングに関連したデータを含むことができる。実装形態では、制御情報を変化するビジュアルコンテンツを構成するデータと共に符号化することができる。一方他の例では、制御データを、変化するビジュアルコンテンツを構成するデータと同一の広さで（ｃｏ−ｅｘｔｅｎｓｉｖｅｌｙ）通信することができる。制御データは、変化するビジュアルコンテンツがクライアントによってどのように再現されるべきかを指定することができる。たとえば、制御データは、映像を表示するためのオーバーレイのサイズ、オーバーレイのアスペクト比、オーバーレイの位置などのうちの１つまたは複数を示すことができる。
【００４４】
最小限に変化するか、または変化しない他のビジュアル要素を、別個に取り扱うことができる。たとえば、映像コンテンツを第１のやり方で取り扱うことができる一方、変化しないグラフィカル要素を第２のやり方で取り扱い、および／または通信することができる。たとえば、最小限に変化するアイテムを、異なる方法論により、異なる更新間隔などで通信することができる。
【００４５】
オーディオコンテンツが変化するビジュアルコンテンツと関連付けられている場合、変化するビジュアルコンテンツを、別個に取り扱うことができるオーディオコンテンツと調和させるために、タイムスタンプ４１４を実装することができる。たとえば、オーディオを、クライアントデバイス上の映像オーバーレイと合わせることができるように、タイムスタンプを映像に含めることができる。このようにして、本明細書で論じられるように、変化するビジュアルコンテンツを取り扱い、および／または通信することができる一方で、オーディオはオーディオに特定のやり方で通信することができる。
【００４６】
符号化された変化するビジュアルコンテンツは、決定されたコンピューティングリソースに従って通信することができる（４１６）。たとえば、（変化するビジュアルコンテンツと比較して）比較的大量のネットワーク帯域幅が利用可能な場合、符号化／復号化するのにより少ないコンピューティングリソースを使用する、より単純なアルゴリズムを使用することができる。一方で、帯域幅が不足している場合には、帯域幅の消費はより少なくて済むが、符号器および／または復号器に負担をかけることがある、より複雑なアルゴリズムを使用することができる。
【００４７】
クライアント側から、オーバーレイとしての表示のために、クライアントが、変化するビジュアルコンテンツを復号する（４１８）ことができる。変化するビジュアルコンテンツを、変化しないか、または最小限のやり方で変化するビジュアルコンテンツの上に重なるオーバーレイとして表示することができる。オーバーレイを、ビジュアルコンテンツを提供するサーバシステムによって転送される制御情報に基づいて再現することができる。たとえば、ビジュアルコンテンツが、画面更新４０２で構成され、配置されたように見えるように、子ウィンドウトラッキング技法、ジオメトリトラッキング技法を使用して、変化するビジュアルコンテンツを生成したり、および／または再現することができる。変化しないか、最小限に変化するコンテンツなどの他のビジュアルコンテンツが、変化するビジュアルコンテンツの上にオーバーレイされることがある。たとえば、ポップアップウィンドウが、変化するビジュアルコンテンツのオーバーレイの一部を隠すことがある。
【００４８】
オーディオコンテンツが、たとえばマルチメディア表示のアニメーションまたは映像コンテンツと関連付けられている場合、オーディオを、変化するビジュアルコンテンツと合わせる（４２０）ことができる。たとえば、オーディオデータおよびビジュアルデータにそれぞれ結びついている対応するタイムスタンプを使用して、クライアントによる表示のために、オーバーレイにあるオーディオおよび映像を再同期させることができる。
【００４９】
結論
本発明を構造的特徴および／または方法論的動作に固有の言語で説明してきたが、添付の特許請求の範囲に規定される本発明は、必ずしも説明された特定の特徴または動作に限定されないことを理解するべきである。むしろ、特定の特徴および動作は、特許請求される本発明を実装するための例示的な形態として開示される。
【図１】
2011507401.tif 000003
【図２】
2011507401.tif 000004
【図３】
2011507401.tif 000005
【図４】
2011507401.tif 000006
【国際調査報告】
2011507401.tif 000007
2011507401.tif 000008