(57)【要約】【課題】  様々なデータ表現をスクリーンエリアインセット内に提示するための方法、アプリケーションインターフェース、および媒体を提供する。【解決手段】  インセットは、ピクチャインピクチャタイプの機能を提供して、永続的に閲覧可能な画面エリア内にビデオ、データ、ピクチャ、オーディオ、およびその他のデータ表現を提示する。ＡＰＩは、ソフトウェアコンポーネントがインセットを使用することを可能にする命令を含む。この方法は、インセットに関する１つまたは複数のイベント要求を受け取るステップと、それをソフトウェアアプリケーションまたはオペレーティングシステムに通信するステップと、イベント要求を満足する１つまたは複数のデータセットを受け取るステップと、データセットを元のソフトウェアアプリケーションに通信して、インセット内にデータ表現を提示するステップとを含む。【選択図】  図２Ａ
2004288197.tif 000002
【特許請求の範囲】
【請求項１】
１つまたは複数のコンピュータ実行可能コードセグメントが実装された１つまたは複数のコンピュータ可読媒体上に実装された、ソフトウェアアプリケーションに、オペレーティングシステムによって提示されるグラフィカルユーザインターフェース（ＧＵＩ）のスクリーンエリアインセット内にデータ表現を提示させることを可能にするアプリケーションプログラムインターフェース（ＡＰＩ）であって、前記スクリーンエリアインセット内にデータをレンダリングすることに関する１つまたは複数のイベント要求を前記ＧＵＩに通信する第１コードセグメントと、オーディオ再生を実行する、オーディオミキシングおよびサウンドレベルを含む１つまたは複数のオーディオイベント要求を前記オペレーティングシステムに通信する第２コードセグメントと、前記１つまたは複数のイベント要求に応答して前記スクリーンエリアインセット内に前記データ表現を提示することができるように、前記１つまたは複数のイベント要求それぞれを満たすのに必要な１つまたは複数のデータセットを受け取る第３コードセグメントとを含むことを特徴とするＡＰＩ。
【請求項２】
前記データ表現は、前記ソフトウェアアプリケーションから通信されるデータ表現であることを特徴とする請求項１に記載のＡＰＩ。
【請求項３】
前記データ表現は、ピクチャ、アルバムアートのセレクション、ビデオ、ストリーミングメディアプレゼンテーション、テレビジョン番組、環境属性表現、カメラフィード、ソフトウェアアプリケーションプレビュー、オーディオレンディション、アプライアンスステータス、呼出し元ＩＤメッセージ、エンターテイメント描写、またはゲーム関係の表現のうち少なくとも１つを含むことを特徴とする請求項２に記載のＡＰＩ。
【請求項４】
前記環境属性表現は少なくとも、温度読取り値および入口手段（ｅｎｔｒｙ−ｗａｙ−ｍｅａｎｓ）の状況からの選択を含むことを特徴とする請求項３に記載のＡＰＩ。
【請求項５】
前記１つまたは複数のイベント要求は、前記インセットをアクチベートする要求、前記インセットの画面位置を求める要求、前記インセットを準備して前記データ表現をレンダリングする要求、前記インセットを最小化および最大化することを含む前記インセットの寸法を調節する要求、前記インセットのピクチャ品質を調節する要求、前記第１ソフトウェアアプリケーションからデータの入力および出力を実行する要求、前記インセットをソフトウェアアプリケーション内のコンポーネントとして表示する要求、入力キーシーケンスに応答して前記データ表現を表示する要求、前記インセット内に提示すべきファイルに関する情報を求める要求、前記インセットの状態を保持または回復する要求、前記インセットとの通信を終了する要求、および通信可能に結合されたディスプレイ構成要素に前記データ表現を転送する要求のうち少なくとも１つを含み、前記ディスプレイ構成要素は、背景ディスプレイ、別のウィンドウ、リモートモニタを含む別のディスプレイ装置のうち少なくとも１つを含むことを特徴とする請求項３に記載のＡＰＩ。
【請求項６】
前記第２コードセグメントは、オーディオミキシングデータおよびサウンドレベルデータのうち１つまたは複数を含むことを特徴とする請求項５に記載のＡＰＩ。
【請求項７】
前記第３コードセグメントは、前記インセットをアクチベートする応答、前記インセットの表示に関する画面位置情報、前記インセットが前記データ表現をレンダリングする準備ができたことの応答、前記インセットの寸法が変更されていることの応答、前記第１ソフトウェアアプリケーションからのデータの入力および／または出力、ならびに前記インセット内に提示すべきファイルに関する情報のうち１つまたは複数を受け取るコードを含むことを特徴とする請求項５に記載のＡＰＩ。
【請求項８】
グラフィカルユーザインターフェース（ＧＵＩ）のスクリーンエリアインセット内にデータを提示する方法を実行するためのコンピュータ使用可能命令を含む、１つまたは複数のコンピュータ可読媒体上に実装された１組の１つまたは複数のアプリケーションプログラムインターフェース（ＡＰＩ）であって、前記方法は、前記スクリーンエリアインセットをアクチベートするアクチベートコマンドを受け取るステップと、データレンダリング命令を受け取るステップと、前記ＧＵＩから入力情報を通信するステップとを含み、それによって前記入力情報が、前記データレンダリング命令に従って前記スクリーンエリアインセット内にレンダリングされることを特徴とするＡＰＩ。
【請求項９】
前記アクチベートコマンドを受け取るステップは、前記インセットを具体化（ｓｕｂｓｔａｔｉａｔｅ、細分化）し、命名し、参照するためのコマンドを通信するステップを含むことを特徴とする請求項８に記載のＡＰＩ。
【請求項１０】
データレンダリング命令を受け取るステップは、前記インセットの状態を保持するための１つまたは複数のコマンドを通信するステップを含むことを特徴とする請求項９に記載のＡＰＩ。
【請求項１１】
データレンダリング命令を受け取るステップは、前記インセットの状態を復元するための１つまたは複数のコマンドを通信することをさらに含むことを特徴とする請求項１０に記載のＡＰＩ。
【請求項１２】
データレンダリング命令を受け取るステップは、前記インセットの操作を制御するためのコマンドを通信することを含むことを特徴とする請求項９に記載のＡＰＩ。
【請求項１３】
前記インセットの操作を制御するための前記コマンドは、再生の休止、再生の停止、再生の巻戻し、再生の早送り、前記インセット内に提示されたデータの記録、ボリュームの操作、再生の再開、および前記インセットのサイズ調整のうち１つまたは複数を実装するためのコンピュータコードを含むことを特徴とする請求項１２に記載のＡＰＩ。
【請求項１４】
通信可能に結合されたディスプレイ構成要素に前記入力情報を提示するステップをさらに含み、前記ディスプレイ構成要素は、背景ディスプレイ、別のウィンドウ、リモートモニタを含む別のディスプレイ装置のうち少なくとも１つを含むことを特徴とする請求項８に記載のＡＰＩ。
【請求項１５】
通信可能に結合されたディスプレイ装置上に表示すべきスクリーンエリアインセットにアクセスする要求をソフトウェアプログラムから受け取るステップと、前記スクリーンエリアインセットを使用するためのアクセスを前記ソフトウェアアプリケーションに許可するステップと、前記ソフトウェアアプリケーションから受け取った入力情報をどのように提示すべきかを指令するレンダリング命令を前記ソフトウェアアプリケーションから受け取るステップと、前記レンダリング命令に一致する前記入力情報をレンダリングするステップとを含むことを特徴とする方法。
【請求項１６】
前記インセットを永続的に表示するステップは、前記ディスプレイの前景で前記インセットを表示すると共に、前記ディスプレイの背景が変化するステップを含むことを特徴とする請求項１５に記載の方法。
【請求項１７】
前記レンダリング命令は、何を表示するかに関する命令と、どのように前記インセット内にデータ表現を示すかに関する命令と、オーディオ再生を実行する命令とを含むことを特徴とする請求項１５に記載の方法。
【請求項１８】
前記ディスプレイ装置上に複数のインセットを提示するステップをさらに含むことを特徴とする請求項１７に記載の方法。
【請求項１９】
通信可能に接続されたディスプレイ構成要素に前記複数のインセットのうち１つまたは複数を転送するステップをさらに含み、前記ディスプレイ構成要素は、背景ディスプレイ、別のウィンドウ、リモートモニタを含む別のディスプレイ装置のうち少なくとも１つを含むことを特徴とする請求項１８に記載の方法。
【請求項２０】
請求項１５に記載の方法を実行するためのコンピュータ使用可能命令が実装されることを特徴とする１つまたは複数のコンピュータ可読媒体。
【請求項２１】
コンピュータシステム環境内のディスプレイ装置上に１つまたは複数のメディア体験を提示するシステムであって、前記ディスプレイ装置の一部を占有する、前記メディア体験のうち１つまたは複数の提示専用のスクリーンエリアインセットと、ソフトウェアアプリケーションが前記スクリーンエリアインセットを利用するためのアプリケーションプログラムインターフェース（ＡＰＩ）と、前記ソフトウェアアプリケーションからのレンダリング命令を処理するための命令処理コンポーネントとを含むことを特徴とするシステム。
【請求項２２】
前記メディア体験は、ピクチャ、アルバムアートのセレクション、ビデオ、ストリーミングメディアプレゼンテーション、テレビジョン番組、環境属性表現、カメラフィード、ソフトウェアアプリケーションプレビュー、オーディオレンディション、アプライアンスステータス、呼出し元ＩＤメッセージ、エンターテイメント描写、またはゲーム関係の表現のうち少なくとも１つを含むことを特徴とする請求項２１に記載のシステム。
【請求項２３】
前記ディスプレイ装置上に複数のメディア体験を提示するためのプレゼンテーションコンポーネントをさらに含むことを特徴とする請求項２２に記載のシステム。
【請求項２４】
表示されるユーザインターフェースの有界部分内に様々なデータ表現を提示する画面インセットを表示する方法であって、前記インセットへのアクセスを要求するアクチベートコマンドをソフトウェアアプリケーションから受け取るステップと、前記ソフトウェアアプリケーションにアクセスを許可するコマンドを返すステップと、１つまたは複数の情報パラメータを有するインセット情報要求呼出しを受け取るステップと、１つまたは複数の取込み後情報パラメータを返すステップとを含み、それによって前記ソフトウェアアプリケーションによって通信されたデータを前記インセット内に提示することができることを特徴とする方法。
【請求項２５】
前記アクチベートコマンドは、少なくとも前記インセットを具体化し（ｓｕｂｓｔａｔｉａｔｅ、細分化）、命名し、参照するための１つまたは複数の命令を含むことを特徴とする請求項２４に記載の方法。
【請求項２６】
前記ソフトウェアアプリケーションによって通信されるデータは、視覚表現データを含むことを特徴とする請求項２５に記載の方法。
【請求項２７】
前記ソフトウェアアプリケーションによって通信されるデータは、オーディオ表現データをさらに含むことを特徴とする請求項２６に記載の方法。
【請求項２８】
前記表示されるインターフェースの複数の有界部分内に複数のメディア体験を提示するステップをさらに含むことを特徴とする請求項２４に記載の方法。
【請求項２９】
請求項２４に記載の方法を実行するためのコンピュータ使用可能命令が実装されることを特徴とする１つまたは複数のコンピュータ可読媒体。
【請求項３０】
ソフトウェアアプリケーションをオペレーティングシステムとインターフェースして、前記ソフトウェアアプリケーションがスクリーンエリアインセット内にデータ表現を永続的に表示させることを可能にするコンピュータ実行可能命令を有する１つまたは複数のコンピュータ可読媒体であって、前記ソフトウェアアプリケーションから前記オペレーティングシステムに、前記スクリーンエリアインセットに関する１つまたは複数のイベント要求を通信する命令と、前記オペレーティングシステムから前記第１ソフトウェアアプリケーションに、前記１つまたは複数のイベント要求のそれぞれを満たすのに必要な１つまたは複数のデータセットを通信する命令とを含み、それによって前記スクリーンエリアインセットは、前記画面エリア内に前記データ表現を提示することを特徴とするコンピュータ可読媒体。
【請求項３１】
前記データセットは、前記スクリーンエリアインセットのレイアウトを制御するためのエンドユーザ設定を含み、前記エンドユーザ設定は、前記スクリーンエリアインセットをサイズ変更し、前記スクリーンエリアインセットを閉じ、前記スクリーンエリアインセットをドッキングし、前記スクリーンエリアインセットの一部を移動し、前記スクリーンエリアインセットをフォーマットするための１つまたは複数の選択を含むことを特徴とする請求項３０に記載の媒体。
【請求項３２】
前記データ表現は、前記第１ソフトウェアアプリケーションから通信されたデータの表現であることを特徴とする請求項３０に記載の媒体。
【請求項３３】
前記第１ソフトウェアアプリケーションから通信されたデータの前記表現は、ピクチャ、アルバムアートのセレクション、ビデオ、ストリーミングメディアプレゼンテーション、テレビジョン番組、環境属性表現、カメラフィード、ソフトウェアアプリケーションプレビュー、オーディオレンディション、アプライアンスステータス、呼出し元ＩＤメッセージ、エンターテイメント描写、またはゲーム関係の表現のうち少なくとも１つを含むことを特徴とする請求項３２に記載の媒体。
【請求項３４】
前記１つまたは複数のイベント要求は、インセットプレゼンテーションソースを命名する要求を含むことを特徴とする請求項３３に記載の媒体。
【請求項３５】
前記１つまたは複数のイベント要求は、前記インセットをホストする要求を含むことを特徴とする請求項３３に記載の媒体。
【請求項３６】
前記インセットをホストするステップは、インターネットブラウザ、ナビゲーションバー、別のソフトウェアアプリケーション、およびユーザインターフェース要素のうち少なくとも１つの中に前記インセットを表示するステップを含むことを特徴とする請求項３５に記載の媒体。
【請求項３７】
ディスプレイ装置上に提示されるユーザインターフェースのスクリーンエリアインセット内にソフトウェアアプリケーションが様々なデータ表現を提示することを可能にするインターフェースであって、前記ソフトウェアアプリケーションから前記スクリーンエリアインセットに１つまたは複数のコマンドを通信するための手段と、情報を前記スクリーンエリアインセットに通信するための手段とを含み、それによって前記情報がレンダリングされ、前記インセット内に提示されることを特徴とするインターフェース。
【請求項３８】
レンダリングされる前記情報はオーディオデータを含むことを特徴とする請求項３７に記載のインターフェース。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明はソフトウェアアプリケーションプログラミングに関する。より詳細には、本発明は、ユーザインターフェースのスクリーンエリアインセット内にデータ表現を提示することを可能にするアプリケーションプログラムインターフェース（ＡＰＩ）を提供する。
【背景技術】
【０００２】
汎用コンピューティングシステム（コンピュータ）は、常により一層ユビキタスとなっている。コンピュータの機能が向上するにつれて、生活領域内にコンピュータを有することはより望ましくなりつつある。生活空間が制限されている場合、ステレオ装置、コンピュータ、テレビジョンなどエンターテイメント装置を複数有することはふさわしくないことがある。しかし、テレビジョン、ステレオシステムを取り除くことによって残されるエンターテイメントオプションギャップをコンピュータによって埋め合わせるべき場合、コンピュータは同等な機能を提供することができなければならない。
【０００３】
歴史的には、コンピュータはキーボードを介して入力を受け取ってきた。このキーボードはしばしば、中央演算処理装置およびモニタに物理的に取り付けられた。後にキーボードはコードでつながれ、それによってより高い柔軟性がユーザにもたらされた。キーボードと同様に、コンピュータのユーザインターフェースも発展した。ワシントン州レドモンドのＭｉｃｒｏｓｏｆｔ  Ｃｏｒｐｏｒａｔｉｏｎが提供するＷＩＮＤＯＷＳ（登録商標）オペレーティングシステムの多数のフレーバによって象徴されるように、ユーザインターフェースは、キャラクタベースからグラフィックベースに移行した。それでもなお、コンピュータオペレーティングパラダイムは、「２フィート（ｔｗｏ−ｆｏｏｔ）」ユーザインターフェース（２’ＵＩ）を提供するという域をほとんど出ていない。２’ＵＩとは、コンピュータを操作するユーザがディスプレイ装置から約２フィート離れることを企図するユーザインターフェースである。そのようなパラダイムは、今日のユーザの好みに常に適しているわけではない。
【０００４】
したがって、時代遅れのコンピュータ使用法のパラダイムに関連する問題を解決する、新しくて有用な製品を発明する作業が進行中である。例えば、遠距離ユーザインターフェース（ＤＵＩ）が説明されている（例えば、Parker等、User Interface For Operating A Computer From A Distance、米国特許出願第１０／１７４，６１９号明細書、２００２年６月１９日出願参照。）。ＤＵＩは、部屋中からコンピュータを操作するためのインターフェースを提供する。このような発明は、少なくともステレオ受信機、テレビジョン、ラジオ、およびＶＣＲをコンピュータに置き換えることを可能にすることによって資源を温存する。
【発明の開示】
【発明が解決しようとする課題】
【０００５】
例えばインターネット接続および／またはケーブルＴＶ接続を用いると、遠距離からリモート制御を使用することにより、コンピュータを使用してテレビジョン番組を視聴し、またはラジオ番組を聴取することができる。しかし、コンピュータは、テレビジョン、ステレオ、またはＶＣＲよりも多くの機能を提供することができるべきである。少なくとも１つの他の機能には、データ表現またはマルチメディア体験を、そのデータ表現の視聴だけに専念する必要なしに視聴またはプレビューできることが含まれる。コンピュータ動作環境においてピクチャインピクチャ（ＰＩＰ）タイプの機能が求められている。さらに、そのようなＰＩＰ機能を一般のコンピューティング環境で利用可能にするアプリケーションプログラムインターフェース（ＡＰＩ）が求められている。
【課題を解決するための手段】
【０００６】
本発明は一般に、様々なデータ表現に対するＰＩＰ機能をコンピュータシステムが提供することを可能にするＡＰＩに関する。「ＰＩＰ機能」という用語を「ＰＩＰ」単独と混同すべきではない。ＰＩＰは、２つのテレビジョン番組を同時に閲覧することを可能にするオプションである。本明細書では、「ＰＩＰ機能」とは、データをスクリーンエリアインセット内に提示することを可能にする本発明によって提供される機能の性質を伝えることを意図した用語である。したがって、本発明は、データ表現をユーザインターフェースの一部に提示することを可能にするインターフェースまたは１組のインターフェースである。
【０００７】
本発明は、諸技術分野においていくつかの実際的な応用例を提供する。その応用例には、第１のソフトウェアアプリケーションが第２のソフトウェアアプリケーションとインターフェースすることを可能にすることが含まれ、オペレーティングシステムが、ユーザインターフェースのインセットまたは一部にメディア体験を提示することが含まれる。そのようなインターフェースは、１つまたは複数のメディアプレゼンテーションをユーザインターフェースの一部に表示することを可能にすることによって表示資源を温存し、生産性を向上させ、マルチタスク処理を促進する。
【０００８】
添付の図面を参照しながら、以下で本発明を詳細に説明する。
【発明を実施するための最良の形態】
【０００９】
本発明は、グラフィカルユーザインターフェース（ＧＵＩ）のスクリーンエリアインセットを使用して様々なメディア体験またはデータ表現を提示するための、アプリケーション用インターフェースを提供する。好ましい実施形態では、ソフトウェアベンダがディスプレイのインセットにアクセスして、多数のメディアプレゼンテーションを表示し、そのようなプレゼンテーションを制御するための機能を提供することが可能となるように、このインターフェースは、ＷＩＮＤＯＷＳ（登録商標）オペレーティングシステムなどのオペレーティングシステムと共に使用される。本発明がＷＩＮＤＯＷＳ（登録商標）オペレーティングシステムに制限されると解釈すべきではない。むしろ、本発明は、ＬＩＮＵＸ、ＭＡＣＩＮＴＯＳＨ（登録商標）、Ｌｉｎｄｏｗｓ、ＵＮＩＸ（登録商標）、およびその他のオペレーティングシステム、ならびに組込みオペレーティングシステムを含むオペレーティングシステム一般に適用可能である。組込みオペレーティングシステムは、パーソナルエレクトロニクス、スマートフォン、携帯情報端末（ＰＤＡ）、パームトップコンピュータ、ページング装置、デジタルビデオレコーダ（ＤＶＲ）、スマートディスプレイ、ゲーム装置、および関連する技術分野の技術者にとって明らかなその他の装置を使用して本発明を実施するのに適した動作環境を提供する。例示的ＤＶＲユニットには、カリフォルニア州ＡｌｖｉｓｏのＴｉＶｏ  Ｉｎｃｏｒｐｏｒａｔｅｄが作成するＴＩＶＯユニットや、カリフォルニア州サンタクララのＳｏｎｉｃｂｌｕｅ  Ｉｎｃｏｒｐｏｒａｔｅｄが作成するＲＥＰＬＡＹユニットが含まれる。好ましい実施形態では、インセットはオペレーティングシステムの一部であり、本発明により、サードパーティのソフトウェアコンポーネントがインセットを使用することが可能となる。
【００１０】
本発明の一実施形態を簡単に説明したので、本発明のための例示的動作環境を以下で説明する。
【００１１】
例示的動作環境
図面を全般的に参照すると、様々な図で同様の参照番号によって同様の構成要素が特定され、特に最初に図１を参照すると、本発明を実施するための例示的動作環境が示されており、全体が動作環境１００と指定されている。コンピューティングシステム環境１００は、適切なコンピューティング環境の一例に過ぎず、本発明の使用または機能の範囲に関して何らかの限定を示唆するものではない。例示的動作環境１００に図示する構成要素のうちのいずれか１つ、あるいはそれらの組合せに関係する何らかの依存関係または要件をコンピューティング環境１００が有すると解釈すべきでもない。
【００１２】
本発明は、コンピュータによって実行されるプログラムモジュールなどのコンピュータコードまたはコンピュータ実行可能命令の一般的状況で説明することができる。一般に、プログラムモジュールは、ルーチン、プログラム、オブジェクト、コンポーネント、データ構造などを含み、特定のタスクを実行し、または特定の抽象データタイプを実装するコードを指す。さらに、ハンドヘルド装置、マルチプロセッサシステム、マイクロプロセッサベースの、またはプログラム可能な消費者向け電子機器、ミニコンピュータ、メインフレームコンピュータなどを含む様々なコンピュータシステム構成を用いて本発明を実施できることを当業者は理解されよう。本発明は、通信ネットワークを介してリンクされるリモート処理装置によってタスクが実行される分散コンピューティング環境でも実施することができる。分散コンピューティング環境では、プログラムモジュールは、メモリ記憶装置を含む、ローカルコンピュータの記憶媒体とリモートコンピュータの記憶媒体のどちらにも配置することができる。
【００１３】
図１を参照すると、本発明を実施するための例示的システム１００は、処理装置１２０と、システムメモリ１３０と、システムメモリ１３０を含む様々なシステム構成要素を処理装置１２０に結合するシステムバス１２１とを含むコンピュータ１１０の形態の汎用コンピューティング装置を含む。
【００１４】
コンピュータ１１０は通常、様々なコンピュータ可読媒体を含む。例えば、限定はしないが、コンピュータ可読媒体は、コンピュータ記憶媒体および通信媒体を含むことができる。コンピュータ記憶媒体の例には、限定はしないが、ランダムアクセスメモリ（ＲＡＭ）、読取り専用メモリ（ＲＯＭ）、電気消去可能プログラム可能読取り専用メモリ（ＥＥＰＲＯＭ）、フラッシュメモリ、またはその他のメモリ技術、ＣＤ−ＲＯＭ、デジタルバーサタイルディスク（ＤＶＤ）、またはその他の光／ホログラフィックディスク記憶装置、磁気カセット、磁気テープ、磁気ディスク記憶装置、またはその他の磁気記憶装置、あるいは、所望の情報を格納するのに使用することができ、コンピュータ１１０でアクセスすることができる他のどんな媒体も含まれる。システムメモリ１３０は、ＲＯＭ１３１やＲＡＭ１３２などの、揮発性および／または不揮発性メモリの形態のコンピュータ記憶媒体を含む。（始動中などに）コンピュータ１１０内の要素間で情報を転送する助けになる基本ルーチンを含む基本入出力システム１３３（ＢＩＯＳ）が、一般にＲＯＭ１３１内に格納される。ＲＡＭ１３２は一般に、処理装置１２０から即座にアクセス可能であり、かつ／または処理装置１２０が現在操作しているデータおよび／またはプログラムモジュールを含む。例えば、限定はしないが、図１に、オペレーティングシステム１３４、アプリケーションプログラム１３５、他のプログラムモジュール１３６、およびプログラムデータ１３７を示す。
【００１５】
コンピュータ１１０はまた、他の取外し可能／取外し不能な揮発性／不揮発性コンピュータ記憶媒体も含むことができる。単なる一例であるが、図１に、取外し不能不揮発性磁気媒体を読み書きするハードディスクドライブ１４１、取外し可能不揮発性磁気ディスク１５２を読み書きする磁気ディスクドライブ１５１、およびＣＤ−ＲＯＭまたは他の光媒体などの取外し可能不揮発性光ディスク１５６を読み書きする光ディスクドライブ１５５を示す。この例示的動作環境で使用することのできる他の取外し可能／取外し不能な揮発性／不揮発性コンピュータ記憶媒体には、限定はしないが、磁気テープカセット、フラッシュメモリユニット、デジタルバーサタイルディスク、デジタルビデオテープ、固体ＲＡＭ、固体ＲＯＭなどが含まれる。ハードディスクドライブ１４１は一般に、インターフェース１４０などの取外し不能メモリインターフェースを介してシステムバス１２１に接続される。磁気ディスクドライブ１５１および光ディスクドライブ１５５は一般に、インターフェース１５０などの取外し可能メモリインターフェースによってシステムバス１２１に接続される。
【００１６】
上述の図１に示すドライブと、それに関連するコンピュータ記憶媒体は、コンピュータ１１０に対して、コンピュータ可読命令、データ構造、プログラムモジュール、および他のデータの記憶を提供する。例えば、ハードディスクドライブ１４１が、オペレーティングシステム１４４、アプリケーションプログラム１４５、他のプログラムモジュール１４６、およびプログラムデータ１４７を格納する物として示されている。これらの構成要素は、オペレーティングシステム１３４、アプリケーションプログラム１３５、他のプログラムモジュール１３６、およびプログラムデータ１３７と同一にすることができ、あるいはそれらとは異なる物にすることができることに留意されたい。通常、ＲＡＭに格納されるオペレーティングシステム、アプリケーションプログラムなどは、ハードディスクドライブ１４１から読み取られる対応するシステム、プログラム、またはデータの部分であり、その部分は、所望の機能に応じてサイズおよび範囲が変化する。オペレーティングシステム１４４、アプリケーションプログラム１４５、他のプログラムモジュール１４６、およびプログラムデータ１４７には、少なくともこれらが相異なるコピーであることを示すために異なる番号を付けてある。ユーザは、キーボード１６２や、マウス、トラックボール、またはタッチパッドと一般に呼ばれるポインティングデバイス１６１や、ワイヤレス信号受信構成要素１６３などの入力装置を介して、コマンドおよび情報をコンピュータ１１０に入力することができる。他の入力装置（図示せず）には、マイクロフォン、ジョイスティック、ゲームパッド、サテライトディッシュ、スキャナなどを含めることができる。上記およびその他の入力装置はしばしば、システムバス１２１に結合されるユーザ入力インターフェース１６０を介して処理装置１２０に接続されるが、パラレルポート、ゲームポート、ＩＥＥＥ１３９Ａポート、ユニバーサルシリアルバス（ＵＳＢ）などの他のインターフェースおよびバス構造によって接続することもできる。
【００１７】
ディスプレイ装置１９１もまた、ビデオインターフェース１９０などのインターフェースを介してシステムバス１２１に接続される。ビデオインターフェース１９０はまた、着信ビデオ信号１８９も受諾することができる。ディスプレイ装置１９１は、モニタ、ＬＣＤ画面、ＴＦＴ画面、フラットパネルディスプレイ、従来型テレビジョン、またはスクリーンプロジェクタに限定されず、コンピュータ１１０の出力を表示するどんな装置でもよい。ディスプレイ装置１９１に加えて、コンピュータはまた、スピーカ１９７やプリンタ１９６などの他の周辺出力装置も含むことができ、その周辺出力装置は、出力周辺インターフェース１９５を介して接続することができる。
【００１８】
本発明のコンピュータ１１０は、リモートコンピュータ１８０などの１つまたは複数のリモートコンピュータへの論理接続を使用して、ネットワーク環境で動作することができる。リモートコンピュータ１８０はパーソナルコンピュータでよく、一般にコンピュータ１１０に関して上述した要素のうちの多くまたはすべてを含むが、図１にはメモリ記憶装置１８１だけを示してある。図１に示す論理接続は、ローカルエリアネットワーク（ＬＡＮ）１７１および広域ネットワーク（ＷＡＮ）１７３を含むが、大都市圏ネットワーク（ＭＡＮ）、イントラネット、またはインターネットへの接続などの他のネットワークも含むことができる。
【００１９】
ＬＡＮネットワーキング環境で使用する場合、パーソナルコンピュータ１１０は、ネットワークインターフェースまたはアダプタ１７０を介してＬＡＮ１７１に接続される。ＷＡＮネットワーキング環境で使用する場合、コンピュータ１１０は一般に、インターネットなどのＷＡＮ１７３を介して通信を確立するためのモデム１７２またはその他の手段を含む。モデム１７２は内蔵でも外付けでもよく、ネットワークインターフェース１７０またはその他の適切な機構を介してシステムバス１２１に接続することができる。モデム１７２は、ケーブルモデム、ＤＳＬモデム、またはその他のブロードバンド装置でよい。ネットワーク環境では、コンピュータ１１０に関して示したプログラムモジュールまたはその部分を、リモートメモリ記憶装置内に格納することができる。例えば、限定はしないが、図１に、リモートアプリケーションプログラム１８５をメモリ装置１８１上に常駐する物として示す。図示するネットワーク接続は例示的な物であって、コンピュータ間の通信リンクを確立するその他の手段も使用できることを理解されよう。
【００２０】
コンピュータ１１０のその他の内部構成要素を図示していないが、そのような構成要素および相互接続が周知であることを当業者は理解されよう。例えば、テレビジョンチューナカードやネットワークインターフェースカードなどの様々な拡張カードがコンピュータ１１０内に含まれるのが通常である。したがって、コンピュータ１１０の内部構成に関する追加の詳細を、本発明に関して開示する必要はない。
【００２１】
コンピュータ１１０をオンにし、またはリセットする場合、ＲＯＭ１３１内に格納されるＢＩＯＳ１３３は、ハードディスクドライブ１４１からＲＡＭ１３２にオペレーティングシステムまたはその必要な部分をロードするように処理装置１２０に指令する。オペレーティングシステム１４４と示すオペレーティングシステムのコピーした部分をＲＡＭ１３２にロードした後、処理装置１２０はオペレーティングシステムコードを実行し、オペレーティングシステム１３４のユーザインターフェースに関連する視覚的要素をディスプレイ装置１９１上に表示させる。通常、アプリケーションプログラム１４５がユーザによってオープンされる場合、プログラムコードと、関連するデータがハードディスクドライブ１４１から読み取られ、必要な部分がＲＡＭ１３２内にコピーされる。本明細書では、コピーされた部分を参照番号１３５で表す。
【００２２】
インセット提示用ＡＰＩ
前述のように、本発明は、１つまたは複数のコンピュータまたはその他の装置によって実行されるプログラムモジュールなどのコンピュータ実行可能命令の一般的状況で説明することができる。一般に、プログラムモジュールの機能は、様々な実施形態で望む通りに組み合わせ、または分散させることができる。
【００２３】
図２Ａに、ＤＵＩ外周２１０および一群の選択可能リンク２１２を有する遠距離ユーザインターフェース（ＤＵＩ）の一画面を示す。前述のように、例示的ＤＵＩが正式な出願で与えられている（例えば、Parker等、User Interface For Operating A Computer From A Distance、米国特許出願第１０／１７４，６１９号明細書、２００２年６月１９日出願参照。）。ＤＵＩにより、テレビジョンを視聴する距離からコンピュータを操作することが可能となる。本発明の好ましい実施形態では、スクリーンエリアインセット（インセット）２１４が、背景表示２１６が変化する間にメディア体験を永続的に表示することを可能にするＤＵＩの一側面として設けられる。しかし、本発明は、近くでのコンピュータ操作を実行するようにフォーマットされた従来のユーザインターフェースにも等しく適用可能である。
【００２４】
背景画面２１６の遷移を通じて永続的に表示されるインセット２１４が、図２Ｂ〜２Ｅのスクリーンショットを参照して示されている。図２Ｂは、図２Ａに示すＤＵＩのスクリーンショットである。フットボールゲームのテレビジョン番組を提示するインセット２１４が、例示的に示されている。図２Ｃは、同一のＤＵＩであるが、背景２１６が番組ガイドに変化し、インセット２１４が引き続きフットボールゲームを表示する別のスクリーンショットである。図２Ｄに、変化したさらに別の背景２１６（より詳細な一覧表示ページ）を示し、インセット２１４が引き続き永続的にフットボールゲームを表示していることを示す。多数の画面は多数の例を提供することができるが、図２Ｅに、インセット２１４が引き続きフットボールゲームを示している、ピクチャ表示背景画面の一例を示す。したがって、ユーザ入力に応答して背景ユーザインターフェース２１６が変化する場合であっても、インセット２１４は、１つまたは複数のイメージまたはイベントを表示することができる。
【００２５】
図２Ｆに、本発明が従来型の近くのユーザインターフェースにも等しく適用可能であることを示す。さらに、画面領域インセット２１４の複数のインスタンスも図２Ｆに示す。スクリーンエリアインセット２１４の様々なインスタンスは、同一のデータセットを描画することに制限されない。図２Ｆからわかるように、別個のデータ表現をインセット２１４の各インスタンス内に提示することができる。以下で説明するが、インセット２１４の任意のインスタンスを、完全に別々のディスプレイ装置を含むディスプレイ構成要素に向けて送ることができる。図２Ｇに、ＰＤＡなどの消費者用電子機器における本発明の例示的実装を示す。
【００２６】
したがって、インセット２１４の一機能は、ユーザインターフェースの有界領域中にデータ表現を示すことである。データ表現はテレビジョン番組に制限されない。むしろ、提示されるデータ表現は、オペレーティングシステムまたはその他の何らかのソフトウェアアプリケーションを含む任意のアプリケーションから通信される任意のデータ表現でよい。オーディオを含む通信されるデータ表現は少なくとも、ピクチャ、アルバムアート、ビデオ、ストリーミングメディアプレゼンテーション、テレビジョン番組、環境属性表現、カメラフィード、ソフトウェアアプリケーションプレビュー、オーディオレンディション、アプライアンスステータス、呼出し元ＩＤメッセージ、エンターテイメント描写、またはゲーム関係の表現でよい。
【００２７】
以下のいくつかの例によって本発明の例示的機能属性を例示する。これらの例が特許請求の範囲を限定すると解釈すべきではない。まず、呼び鈴（ｄｏｏｒｂｅｌｌ）信号の受信に応答して、インセット２１４内に来客のイメージを提示することができる。第２に、ワイヤレスＰＤＡ上でインスタントメッセージングセッションを行っている人のピクチャを提示することができる。
【００２８】
第３に、インセットがＴＶ番組などである場合、動画のオーバーレイが背景体験の上部に提示されるだけでなく、背景体験の一部とすることができる任意の音楽を用いた、ＴＶからのオーディオサウンドトラックのオーバーレイも提示される。このようにして、オペレーティングシステムは、インセット２１４を介して示されるポリスチェース（ｐｏｌｉｃｅ  ｃｈａｓｅ）のサウンドと、オペレーティングシステムのサウンド、またはバックグラウンドメディアプレーヤによって提供することのできる任意の音楽、さらにはインセット２１４の第２インスタンスから来る可能性のあるサウンドとをミキシングすることができる。
【００２９】
第４に、スライドショーをインセット２１４内に提示することができる。ビデオイメージ、ならびに音楽ファイルなどからの対応するオーディオを、インセット内に示すことができる。第５に、「アラームクロック」プレゼンテーションをインセット２１４を介して示すことができ、この場合、視覚データは文字盤を含むことがあり、オーディオは秒針の音またはアラームのビープ音となる。最後の例では、音楽をインセット２１４内に提示することができ、この場合、ビデオがカバーアートとなり、オーディオが歌自体となる。上記の例と似た変形形態、ならびに本発明に関する無数のその他の応用例を当業者は理解されよう。
【００３０】
様々なフォーマットやファイルタイプでピクチャを提示できることを当業者は理解されよう。例示的ファイルタイプには、ＧＩＦ、ＪＰＥＧ、ビットマップ、およびＴＩＦＦの各イメージが含まれるが、その他多数のファイルタイプが存在する。アルバムアートは、ＣＤ、テープカセット、またはアルバムのカバーに関連するアートであり、通常は、ある歌またはオーディオファイルに関連付けられる。ＣＤは通常、ピクチャまたはアートレンディションを有するＣＤカバーを含む。こうしたアートレンディションはまた、電気的にレンダリングすることもできる。電子アート形態は一般に、そのＣＤ上の歌に関連付けられる。それぞれの歌またはオーディオファイルが再生される場合、インセット２１４はこのアートを表示することができる。
【００３１】
インセット２１４のインスタンス内には、ビデオも提示することができる。予め録画されたビデオ、ならびにＤＶＤなどのその他の記憶媒体上に実装されたビデオをインセット２１４内に再生することができる。ＷＩＮＤＯＷＳ（登録商標）ムービーファイル、ＱＵＩＣＫＴＩＭＥ（登録商標）フォーマット、ＲＥＡＬ（登録商標）フォーマット、ＭＰＥＧファイル、またはＡＶＩファイルなどの様々なメディアフォーマットで記憶されたムービーをインセット２１４内で再生することができる。インセット２１４内にレンダリングし、表示することのできる追加のビデオフォーマットを当業者は理解されよう。
【００３２】
ストリーミングメディアは、本来の形態または圧縮した形態でインターネットなどのネットワークを介して送られ、到達時に表示される、一続きの動画および／またはサウンドである。ストリーミングメディアは少なくとも、ビデオおよびオーディオ、ならびにキャプション、ＵＲＬリンク、およびグラフィックスを含むことができる追加のトラックを包含する。ストリーミングメディアでは、ウェブユーザは通常、ビデオを見、サウンドを聴くことを開始する前に、大きなファイルをダウンロードするのを待つ必要がない。その代わりに、メディアは連続ストリームとして送信され、インセット２１４内に到達したときに再生される。多数の様々なプレーヤの中でも、インセット２１４を利用することができる２つの例示的ストリーミングビデオプロバイダは、ワシントン州シアトルのＲｅａｌＮｅｔｗｏｒｋｓ，Ｉｎｃ．およびカリフォルニア州キューパティーノのＡｐｐｌｅ  Ｃｏｍｐｕｔｅｒ，Ｉｎｃ．である。
【００３３】
前述のように、テレビジョン番組もインセット２１４内にレンダリングすることができる。テレビジョン番組には、単なる放送テレビジョン以上の物が企図される。テレビジョン番組には、衛星、高精細度テレビジョン（ＨＤＴＶ）、ケーブルテレビジョン（ＣＡＴＶ）、ペイパービューを介して受信するメディア、またはＶＣＲ、ＤＶＤプレーヤ、パーソナルビデオレコーダなどの外部装置から受け取るメディアが含まれる。
【００３４】
環境属性表現には、１つまたは複数の領域の温度状況、ドアや窓などの入口（ｅｎｔｒｙ  ｗａｙｓ）および入口手段（ｅｎｔｒｙ−ｗａｙ−ｍｅａｎｓ）の状況、照明設定、湿度設定、およびアプライアンス設定などの表現が含まれる。アプライアンス設定の例は、洗濯機が停止したこと、乾燥機が開始したこと、車庫ドアが開いたことなどについての通知である。他の環境型設定もインセット２１４内に提示することができる。したがって、本発明のエンドユーザは、ある部屋の温度を要求し、その温度をインセット２１４内に視覚的に表示させることができる。
【００３５】
カメラフィードをインセット２１４内にレンダリングすることもできる。個人および法人はしばしば、イメージを受信および送信するカメラを有する。ユーザがコンピュータを操作中に、こうしたイメージをインセット２１４内に表示することができる。本発明により、エンドユーザがユーザインターフェースのメインエリアでＴＶ番組を視聴すると同時に、インセット２１４で子供が外で游んでいるのを見ることが可能になる。
【００３６】
インセット２１４はソフトウェアアプリケーションのプレビューも提示することができる。ＷＩＮＤＯＷＳ（登録商標）アプリケーションの共通機能は、「Ａｌｔ−Ｔａｂ」機能である。Ａｌｔ−Ｔａｂ機能により、ユーザがａｌｔキーを押下中にＴａｂキーを押下することが可能となる。現在は、「Ａｌｔ−Ｔａｂ」は、現アプリケーションのアイコンだけしか提示しない。しかし、インセット２１４を使用して、アプリケーションのサムネイルプレゼンテーションを提示することができる。このような機能は、個人が同一アプリケーションの複数のインスタンスを開き、各アプリケーションの視覚表現を見たい場合に有用である。例えば、ユーザが同一アプリケーションの５つのインスタンスを開くが、各インスタンス内の文書が異なる場合、インセット２１４は、ユーザが次々に「Ａｌｔ−Ｔａｂ」を押下する場合に異なる文書のプレビューを提示することができる。
【００３７】
オーディオレンディションをインセット２１４内に提示することもできる。前述のアルバムアートなどの任意選択のアートをオーディオファイルに関連付けることができる。例示的オーディオファイルフォーマットには、．ＷＭＡ、．ＭＰ３、および．ＷＡＶフォーマットが含まれる。インセット２１４内にレンダリングし、提示することのできる追加のオーディオフォーマットを当業者は理解されよう。オーディオファイルの再生中、そのファイルに対する語をインセット２１４内に提示することができる。代替として、音楽のビートと一致するイメージまたはその他の様々な表現をインセット２１４内に提示することもできる。
【００３８】
前述のように、１つまたは複数のアプライアンスのステータスもインセット２１４内に提示することができる。家がよりスマートになり、より相互接続されるにつれて、様々なアプライアンスがフィードバックオプションを装備しつつある。こうしたフィードバックオプションを使用して、インセット２１４内にステータスプレゼンテーションを与えることができる。例えば、冷蔵庫が過度に高い温度に達した場合、警報をインセット２１４内に提示することができる。給湯器が漏れ始めた場合、プレゼンテーションをインセット２１４内に示すことができる。同様に、ネットワーク上に接続された他のコンピュータからのプレゼンテーションをインセット２１４内に提示することができる。アプライアンス型装置の様々なステータスをインセット２１４内に示すためのその他の無数の可能性を当業者は理解されよう。
【００３９】
インセット２１４を使用して、呼出し元ＩＤメッセージを提示することもできる。典型的な呼出し元ＩＤメッセージは、呼出し元の電話番号を含む。本発明を使用すると、ユーザは、コンピュータを操作し、電話呼出しを受け取り、少なくとも電話番号をインセット２１４内に提示させることができる。呼出し元のピクチャや呼出し元の名前などの追加の情報をインセットエリア２１４内に与えることもできる。
【００４０】
追加のエンターテイメント表現をインセット２１４内に追加できることも当業者は理解されよう。例えば、ピアツーピア活動をインセットエリア２１４内に提示することができる。インセット２１４はまた、ゲーム活動を示すのに使用することもできる。例えば、ユーザはコンピュータを操作すると同時に、インセットエリア内でゲームをプレイすることができる。インセットエリア内でプレイされるゲームに、リモート位置の追加のプレーヤに参加させることができ、各ユーザからの様々な表示がインセット２１４内に提示される。
【００４１】
インセット２１４とその可能な使用法を説明したので、次に、インセット２１４へのアクセスを説明する。ＡＰＩは、プログラマがアプリケーションからサービスを得ることを可能にするコマンドの集合である。ＡＰＩが、アプリケーションを作成する際に使用する関数、メッセージまたはコマンド、データ構造、および／またはデータタイプを含むことを当業者は理解されよう。こうしたアプリケーションは通常、オペレーティングシステムの下で動作する。ＡＰＩの１タイプは、別のＡＰＩ要求が格納されているメモリのブロックを指し示すコマンドを含む。ＡＰＩは、２つのコンポーネント間の機能インターフェースとして使用することができる。
【００４２】
図３Ａに、ＡＰＩ３１２およびオペレーティングシステム３１４を使用する例示的ソフトウェアアプリケーション３１０を示す。この好ましい実施形態では、ＡＰＩ３１２により、ソフトウェアアプリケーション３１０がオペレーティングシステム３１４とインターフェースし、インセット２１４内にデータ表現をレンダリングすることが可能となる。図３Ｂに、ＡＰＩ３１２を使用して、ソフトウェアアプリケーション３１０を、オペレーティングシステム３１４ではなく第２のソフトウェアアプリケーション３１６とインターフェースする代替実施形態を示す。少なくとも２つの実施形態を示したことの論点は、画面インセットエリア２１４がオペレーティングシステム３１４とインターフェースすることに制限されないことを示すことである。インセット２１４をオペレーティングシステム３１４と関連付けることが好ましいので、図３に示す実施形態を参照しながらさらに詳細を説明する。しかし、ソフトウェアアプリケーションをインセット２１４と関連付けるのに使用するＡＰＩ３１２を使用して、ソフトウェアアプリケーション３１０によって制御されるデータ表現を、ほぼどんなソフトウェアアプリケーションとも関連付けることができ、またはほぼどんなソフトウェアアプリケーションを用いてもレンダリングできることを当業者は容易に理解するであろうから、制限を以下の議論に付加すべきではない。
【００４３】
図３Ａに示すソフトウェアアプリケーション３１０は、アプリケーションプログラム１３５、アプリケーションプログラム１４５、または図１に示すその他の任意のプログラムデータのうちの１つでよい。同様に、オペレーティングシステム３１４は、オペレーティングシステム１３４またはオペレーティングシステム１４４でよい。ＡＰＩ３１２によってどのようにソフトウェアアプリケーションがオペレーティングシステムと対話することが可能となるかについての明確さおよび理解のしやすさを促進するために、オペレーティングシステム３１４の番号を付けてある。
【００４４】
図４に、本発明によって実施される方法の一実施形態を示す。ＡＰＩ３１２は、ソフトウェアアプリケーション３１０をオペレーティングシステム３１４とインターフェースする方法を実行して、データ表現をインセット２１４内に表示させる。ステップ４１４では、ソフトウェアアプリケーション３１０が、イベント要求をオペレーティングシステム３１４に通信する。以下でさらに詳細に説明するように、このイベント要求は、様々な形態を取ることができる。例えばイベント要求は、限定はしないが、処理呼出し、データ要求、または関数呼出しでよい。
【００４５】
１つまたは複数のイベント要求をオペレーティングシステム３１４に通信することができる。イベント要求は、インセット２１４に関係する。例えば、ＡＰＩ３１２は、インセットプレゼンテーションソースの命名を求める要求を含むことができる。例示的インセットプレゼンテーションソースには、ソフトウェアアプリケーション３１０自体、ビデオメモリ、ハードディスクドライブ１４１、光ディスク１５６、アプリケーションプログラム１３５または１４５、あるいは図１に示すその他のシステム構成要素が含まれる。
【００４６】
イベント要求はまた、インセット２１４をホストする要求またはホストしない要求も含むことができる。インセット２１４をホストすることは、インセット２１４をアプリケーションと関連付けることである。例示的ホスティング操作は、インターネットブラウザ内にインセット２１４を配置することでよい。このようにして、ユーザは、インターネットを読むと同時に、ブラウザ内のフレームとしてインセット２１４を見ることができる。フレーム化インセット２１４は、前述の様々なタイプのデータ表現のすべてを示すことができる。その他の例示的ホスティングオプションには、ナビゲーションバーまたは他の何らかのソフトウェアアプリケーション内のホスティングインセット２１４が含まれる。
【００４７】
ステップ４１２では、データセットが、オペレーティングシステム３１４からソフトウェアアプリケーション３１０に渡される。すなわち、それぞれのイベント要求を満たすのに必要な１つまたは複数のデータセットがソフトウェアアプリケーション３１０に送り返され、その結果、インセット２１４がディスプレイ装置上にデータ表現を提示することができる。データ表現は、少なくとも前述の形態のいずれでもよい。データセットは、プログラマティックコールを実行し、関数呼出しを満たし、かつ／または他の要求を確認する。
【００４８】
図５に、本発明によって実施される方法の代替実施形態を示す。この実施形態では、ＡＰＩ３１２が、第１ソフトウェアアプリケーション３１０を第２ソフトウェアアプリケーション３１６とインターフェースし、第１ソフトウェアアプリケーション３１０がインセット２１４内にデータ表現を永続的に提示させることを可能にする。本発明の範囲がオペレーティングシステム３１４との対話を超えて拡張されることを例示的に伝えるためにこの実施形態を与えたが、他のソフトウェア、ファームウェア、またはハードウェアとのインターフェースも企図される。
【００４９】
ステップ５１０では、ＡＰＩ３１２が、第１ソフトウェアアプリケーション３１０から１つまたは複数のイベント要求を受け取る。前述のように、イベント要求はインセット２１４に関係する。ステップ５１２では、イベント要求を第２ソフトウェアアプリケーション３１６に渡す。ステップ５１４では、１つまたは複数のイベント要求それぞれを満たすのに必要な１つまたは複数のデータセットを受け取る。データセットは、イベント要求を構成するプログラマティックコールおよび／または関数呼出しを実行する。ソフトウェアアプリケーション３１０は、インセット２１４内でデータをデータ表現にレンダリングするように要求する。データセットがこの情報を提供する。ステップ５１６では、ＡＰＩ３１２が、データセットをソフトウェアアプリケーション３１０に渡す。ソフトウェアアプリケーション３１０は、データセットを処理してデータ表現をインセット２１４内に提示する。データ表現は、環境属性表現を含むことができ、温度読取り値や入口手段の状況に制限されない。
【００５０】
データ表現をレンダリングするのに必要な情報を求めるイベント要求が、ソフトウェアアプリケーション３１０によって要求される。例示的イベント要求は、インセット２１４をアクチベートする要求、インセット２１４の画面位置情報を求める要求、データ表現をレンダリングするためにインセット２１４を準備する要求、インセット２１４を最小化および最大化することを含むインセット２１４の寸法を調整する要求、インセット２１４のピクチャ品質を調整する要求、ソフトウェアアプリケーション３１０からのデータの入力および出力を実行する要求、インセット２１４をソフトウェアアプリケーション内のコンポーネントとして表示する要求、入力キーシーケンスに応答してデータ表現を表示する要求、インセット２１４内に提示すべきファイルに関する情報を求める要求、インセットとの通信を終了する要求を含む。上述の列挙は単なる例であって、インセット２１４内で情報をあるデータ表現にレンダリングするための他の無数の要求を当業者は理解されよう。さらに、オペレーティングシステムは、類似のＡＰＩ属性要求を使用して、従来のエンドユーザ設定制御を公開することができる。こうした制御には、ウィンドウをサイズ変更し、または閉じる機能などが含まれる。
【００５１】
したがって、本発明により、上記で列挙したイベント要求がインセット２１４をアクチベートまた非アクチベートすることが可能となる。画面位置情報は、インセット２１４がディスプレイ装置上のどこに出現するか、または出現すべきかに関する情報を含む。メディアイベント準備コマンドは、インセット２１４をユーザインターフェース内に表示するよう準備する。本発明を使用して、インセット２１４の寸法を操作することができる。本発明を使用して、インセット２１４の色数、解像度、リフレッシュ速度などのピクチャ品質を変更することができる。ＡＰＩ３１２により、ソフトウェアアプリケーション３１０から第２ソフトウェアアプリケーション３１６へのデータの入力および出力も実行される。ＡＰＩ３１２を使用して、インセット２１４をソフトウェアアプリケーション内のコンポーネントとして表示することもできる。したがって、スライドショーまたはピクチャを、ワードプロセッシングプログラムまたはマルチメディアプレゼンテーションの一部としてインセット２１４内に提示することができる。
【００５２】
上記で簡潔に述べたように、インセット２１４は入力キーシーケンスに応答することができる。例えば、ユーザが「Ａｌｔ−Ｔａｂ」を押下したことに応答して、様々な開かれたアプリケーションのプレビューをインセット２１４内に提示することができる。そのようなプレゼンテーションにより、ユーザは、別々のアプリケーションが動作する様々なウィンドウの内容をより良く理解することができる。ＡＰＩ３１２を使用して、インセット２１４内にファイルを提示することができる。例えば、ユーザは、録画したビデオをアップロードすることができる。サードパーティソフトウェアアプリケーションが、ＡＰＩ３１２を使用して、ビデオを再呼出しし、それをインセット２１４内にレンダリングすることができる。上述の列挙は単なる例であって、情報をあるデータ表現にレンダリングするためのその他の無数の要求を行えることを当業者は理解されよう。
【００５３】
イベント要求のサブミットに応答して受け取った１つまたは複数のデータセットは、イベント要求を満たすのに必要な情報を含む。例えば、データセットは少なくとも、インセット２１４をアクチベートする応答、インセット２１４の表示に関する画面位置情報、インセット２１４がデータ表現をレンダリングする準備ができたという応答、インセット２１４の寸法が変更されているという応答、第１ソフトウェアアプリケーション３１０からの入出力データ、インセット２１４内に提示すべきファイルに関する情報を含むことができる。ソフトウェアアプリケーション３１０のイベント要求を満たすための、さらに多くの、または異なるデータセットを当業者は理解されよう。
【００５４】
図６に、本発明で実施することができる方法のさらに別の代替実施形態を示す。この実施形態では、ステップ６１０で、ソフトウェアアプリケーション３１０などのソフトウェアアプリケーションからアクチベートコマンドを受け取ってスクリーンエリアインセット２１４をアクチベートすることによってインセット２１４を使用する方法が与えられる。ステップ６１２では、ＡＰＩ３１２が、レンダリング命令をオペレーティングシステム３１４など別のコンポーネントに通信する。ステップ６１４では、ＡＰＩ３１２が、オペレーティングシステム３１４に入力情報を通信する。最後に、ステップ６１６で、レンダリング命令に一致する入力情報をインセット２１４内にレンダリングする。入力情報は、インセット２１４内にレンダリングすべきデータを含む。したがって入力情報は、前述のデータ、ビデオ、またはオーディオ情報でよい。任意選択のステップ６１８では、インセット２１４に伴うデータ表現をディスプレイ構成要素に転送することができる。例示的ディスプレイ構成要素は、主画面または背景ディスプレイ２１６、その他の任意のウィンドウ、あるいはリモートモニタなどの別のディスプレイ装置を含む。したがって、ユーザが、インターネットをブラウズ中に、インターネットを介してゲームをプレイする招待を受け、ゲームのプレビューをインセット２１４内に提示させ、ゲーム体験をさらに楽しむためにインセット２１４のデータ表現をＨＤＴＶユニット上に表示するよう指示することができる。上記およびその他の例に関するその他の可能性の繰り返しを当業者は理解されよう。
【００５５】
図７に、本発明によって実施される方法のさらに別の実施形態を示す。ステップ７１０では、ソフトウェアアプリケーション３１０からインセット２１４にアクセスするためのコマンドを受け取る。インセット２１４は、ディスプレイ装置上に永続的に表示することができる。ステップ７１２では、ＡＰＩ３１２により、インセット２１４を使用するためのアクセスをソフトウェアアプリケーション３１０に許可することが可能となる。インセット２１４と同様の複数のインセットをディスプレイ装置上に表示することができる。インセット２１４ごとにこれらのステップを実行する。ステップ７１４では、受け取った入力情報をどのように提示すべきかを指令するレンダリング命令をソフトウェアアプリケーション３１０から受け取る。最後にステップ７１６で、レンダリング命令に一致する入力情報をインセット２１４内にレンダリングする。任意選択のステップ７１８では、ステップ６１６と同様に、インセット２１４に伴うデータ表現をディスプレイ構成要素に転送することができる。
【００５６】
図８は、本発明によって実行される最後の例示的方法の流れ図を表す。ステップ８１０では、ソフトウェアアプリケーション３１０からアクチベートコマンドを受け取る。アクチベートコマンドは、インセット２１４にアクセスし、またはインセット２１４をアクチベートするためのコマンドである。本明細書で参照する上記およびその他のコマンドの構文を当業者は理解されよう。さらに、本明細書で説明する機能を、様々な構文を使用する様々なコンピュータ言語（Ｃ、Ｃ＋＋、Ｊａｖａ（登録商標）、ＢＡＳＩＣなど）で実装できることを当業者は理解されよう。例えば、ＷＩＮＤＯＷＳ（登録商標）環境に関する参考文献は、インターネットを介してｈｔｔｐ：／／ｗｗｗ．ｍｓｄｎ．ｍｉｃｒｏｓｏｆｔ．ｃｏｍ／で入手可能なＭＩＣＲＯＳＯＦＴ  ＤＥＶＥＬＯＰＥＲＳ’Ｓ  ＮＥＴＷＯＲＫ（ＭＳＤＮ（登録商標））を含めて豊富にある。
【００５７】
ＡＰＩ３１２は、ステップ８１２で、ソフトウェアアプリケーション３１０へのアクセスを許可する応答コマンドの戻しを実行する。このコマンドは、ソフトウェアアプリケーション３１０が１つまたは複数のインセット２１４にアクセスできることをソフトウェアアプリケーション３１０に通知する。次いでＡＰＩ３１２により、インセット情報要求呼出しを受け取ることが可能になる。インセット情報要求呼出しは、ソフトウェアアプリケーション３１０で使用可能な１つまたは複数の情報パラメータを有する。ステップ８１４では、ＡＰＩ３１２により、情報パラメータが取り込まれたインセット情報要求を返すことが可能となる。取込み後パラメータまたは戻りパラメータは、ソフトウェアアプリケーション３１０によって使用され、インセット２１４内にどのようにデータ表現を提示するかが決定される。最後に、本発明は、ステップ８１６でソフトウェアアプリケーションを使用してデータを通信し、その結果データをインセット２１４内に提示することができる。情報は、上述の様々なデータ表現のいずれでもよい。任意選択のステップ８１８では、ステップ６１６と同様に、インセット２１４に伴うデータ表現をディスプレイ構成要素に転送することができる。
【００５８】
理解できるであろうが、本明細書で説明したＡＰＩにより、ソフトウェアアプリケーションが第２のソフトウェアアプリケーションとインターフェースし、データ表現をスクリーンエリアインセット２１４内に永続的に提示させることが可能となる。加えて、インセット２１４は、背景ユーザインターフェースを使用してコンピュータを操作できるように維持しながら、メディア体験を楽しめるように提供される。本発明の応用例は多数ある。本発明は、ゲームハードウェア、およびスマートディスプレイなどのその他のハードウェアに関連するゲーム環境で実施することができる。
【００５９】
本発明を特定の実施形態に関して説明したが、それらはすべての点において、限定的ではなく例示的な物である。本発明の範囲から逸脱することなく、本発明に関する代替実施形態が当業者には明らかとなるであろう。
【００６０】
以上から、本発明が、前述の目的および対象すべて、ならびに明白でありこのシステムおよび方法に固有のその他の利点を達成するのに良く適合された物であることを理解されよう。ある機能およびサブコンビネーションが有用であり、その他の機能およびサブコンビネーションを参照することなく利用できることを理解されよう。このことが企図され、このことは特許請求の範囲内である。
【図面の簡単な説明】
【００６１】
【図１】本発明を実施する際に使用するのに適したコンピューティングシステム環境のブロック図である。
【図２Ａ】例示的遠距離ユーザインターフェース（ＤＵＩ）の図である。
【図２Ｂ】共通データ表現を複数画面にわたって永続的に表示できることを示す、同一の例示的ＤＵＩのスクリーンショットである。
【図２Ｃ】共通データ表現を複数画面にわたって永続的に表示できることを示す、同一の例示的ＤＵＩのスクリーンショットである。
【図２Ｄ】共通データ表現を複数画面にわたって永続的に表示できることを示す、同一の例示的ＤＵＩのスクリーンショットである。
【図２Ｅ】共通データ表現を複数画面にわたって永続的に表示できることを示す、同一の例示的ＤＵＩのスクリーンショットである。
【図２Ｆ】（ＤＵＩではなく）従来型ユーザインターフェースと共に実施される本発明を示し、任意選択で異なるデータ表現をそれぞれ提示する複数のインセットを同時に提示できることを示すスクリーンショットである。
【図２Ｇ】例示的消費者向け電子機器装置と共に実施される本発明を示す図である。
【図３Ａ】ソフトウェアアプリケーションとオペレーティングシステムの間で実装されるＡＰＩを示すブロック図である。
【図３Ｂ】第１ソフトウェアアプリケーションと第２ソフトウェアアプリケーションの間で実装されるＡＰＩを示すブロック図である。
【図４】本発明によって実施される例示的プロセスを示す流れ図である。
【図５】本発明によって実施される例示的プロセスを示す流れ図である。
【図６】本発明によって実施される例示的プロセスを示す流れ図である。
【図７】本発明によって実施される例示的プロセスを示す流れ図である。
【図８】本発明によって実施される例示的プロセスを示す流れ図である。
【符号の説明】
【００６２】
１００  コンピューティングシステム環境
１１０  コンピュータ
１２０  処理装置
１２１  システムバス
１３０  システムメモリ
１３１  ＲＯＭ
１３２  ＲＡＭ
１３３  ＢＩＯＳ
１３４、１４４  オペレーティングシステム
１３５、１４５  アプリケーションプログラム
１３６、１４６  他のプログラムモジュール
１３７、１４７  プログラムデータ
１４０、１５０  インターフェース
１４１  ハードディスクドライブ
１５１  磁気ディスクドライブ
１５２  取外し可能不揮発性磁気ディスク
１５５  光ディスクドライブ
１５６  取外し可能不揮発性光ディスク
１６０  ユーザ入力インターフェース
１６１  ポインティングデバイス
１６２  キーボード
１７０  ネットワークインターフェース／アダプタ
１７１  ＬＡＮ
１７２  モデム
１７３  ＷＡＮ
１８０  リモートコンピュータ
１８１  メモリ記憶装置
１８５  リモートアプリケーションプログラム
１９０  ビデオインターフェース
１９１  ディスプレイ装置
１９５  出力周辺インターフェース
１９６  プリンタ
１９７  スピーカ
２１０  ＤＵＩ外周
２１２  選択可能リンク
２１４  スクリーンエリアインセット（インセット）
２１６  背景表示
３１０  ソフトウェアアプリケーション
３１２  ＡＰＩ
３１４  オペレーティングシステム
３１６  第２のソフトウェアアプリケーション
【図１】
2004288197.tif 000003
【図２Ａ】
2004288197.tif 000004
【図３Ａ】
2004288197.tif 000005
【図３Ｂ】
2004288197.tif 000006
【図４】
2004288197.tif 000007
【図５】
2004288197.tif 000008
【図６】
2004288197.tif 000009
【図７】
2004288197.tif 000010
【図８】
2004288197.tif 000011
【図２Ｂ】
2004288197.tif 000012
【図２Ｃ】
2004288197.tif 000013
【図２Ｄ】
2004288197.tif 000014
【図２Ｅ】
2004288197.tif 000015
【図２Ｆ】
2004288197.tif 000016
【図２Ｇ】
2004288197.tif 000017