(57)【特許請求の範囲】
【請求項１】
１又は複数のプロセッサーと、システムメモリーと、表示面を有する表示装置と、アプリケーションとを含んだコンピューターシステムにおいて、ユーザーインターフェースの提示を調整するための方法であって、
前記アプリケーションのユーザーインターフェースを表すユーザーインターフェースデータを、前記表示面における提示のために前記表示装置へ供給する動作と、
前記ユーザーインターフェースデータの提示の後に１又は複数のエンティティの位置が変化したことを表す近接度データにアクセスする動作であって、前記１又は複数のエンティティの位置の変化は、前記１又は複数のエンティティのそれぞれを前記表示装置に対して新たな位置に配置させる、動作と、
前記近接度データに基づいて前記ユーザーインターフェースのための調整されたユーザーインターフェースデータを構築する動作であって、前記調整されたユーザーインターフェースデータは、前記表示装置に対する前記１又は複数のエンティティの位置の変化に基づいて前記表示面に提示するのに相応しいものであると判定され、調整されたユーザーインターフェースデータを構築する前記動作は、前記ユーザーインターフェースデータを見る延長時間期間を前記１又は複数のエンティティに与えるために、前記ユーザーインターフェースデータから新たなユーザーインターフェースデータへ循環するタイミングを前記１又は複数のエンティティの前記新たな位置に基づいて変更する動作を含む、動作と、
前記１又は複数のエンティティの位置の変化に応答して、前記表示面における前記ユーザーインターフェースの提示を調整するために、前記調整されたユーザーインターフェースデータを前記表示装置へ供給する動作であって、前記調整されたユーザーインターフェースデータは、少なくとも、除去されるコンテンツに対応する新たな要約データで置換されるコンテンツを前記ユーザーインターフェースデータから除去することによって、前記表示装置に前に提示された前記ユーザーインターフェースデータを置換及び要約し、前記調整されたユーザーインターフェースデータは、前記ユーザーインターフェースデータに前に提示されて除去された１又は複数の他の用語を置換及び要約する少なくとも１つの新たな用語を含む、動作と、
を含む方法。
【請求項２】
近接度データにアクセスする前記動作は、前記１又は複数のエンティティの位置データを含んだ１又は複数のメッセージを近接度フレームワークから受け取る動作を含む、請求項１に記載の方法。
【請求項３】
前記１又は複数のエンティティのそれぞれについて、
近接度フレームワークが、前記表示装置に対するエンティティの近接を検出するように構成された１又は複数のセンサーからセンサーデータを受け取る動作と、
前記近接度フレームワークが、前記センサーデータから前記エンティティについての近接度データを構築する動作と、
前記近接度フレームワークが、前記近接度データを含んだメッセージを前記アプリケーションへ送る動作と、
を更に含む、請求項２に記載の方法。
【請求項４】
調整されたユーザーインターフェースデータを構築する前記動作は、平均化モデルを使用して、前記近接度データに基づいて前記ユーザーインターフェースデータの更新を提示するのに相応しい縮尺を決定する動作を含む、請求項１に記載の方法。
【請求項５】
調整されたユーザーインターフェースデータを構築する前記動作は、平均化モデルを使用して、前記近接度データに基づいて前記ユーザーインターフェースデータの更新に含ませるのに相応しいコンテンツを特定する動作を含む、請求項１に記載の方法。
【請求項６】
前記ユーザーインターフェースデータの提示の後に１又は複数のエンティティの位置が変化したことを表す近接度データにアクセスする前記動作は、前記ユーザーインターフェースデータの提示の後に前記表示面から少なくとも１つのエンティティへの角度が変化したことの指示を受け取る動作を含む、請求項１に記載の方法。
【請求項７】
前記位置の情報に基づいて前記アプリケーションのためのユーザーインターフェースデータの更新を構築する前記動作は、平均化モデルを使用して、前記１又は複数のエンティティの前記新たな位置に基づいて前記ユーザーインターフェースデータの更新を提示するのに相応しい縮尺を決定する動作を含む、請求項１に記載の方法。
【請求項８】
調整されたユーザーインターフェースデータを前記位置の情報に基づいて構築する前記動作は、平均化モデルを使用して、前記１又は複数のエンティティの前記新たな位置に基づいて前記ユーザーインターフェースデータの更新に含ませるのに相応しいコンテンツを特定する動作を含む、請求項１に記載の方法。
【請求項９】
調整されたユーザーインターフェースデータを構築する前記動作は、前記近接度データに基づいて前記ユーザーインターフェースデータの縮尺を変更する動作を含む、請求項１に記載の方法。
【請求項１０】
コンピューティングシステムの１又は複数のプロセッサーによって実行可能なコンピューター実行可能命令を備えたコンピュータープログラムであって、前記コンピューター実行可能命令は、
１又は複数のエンティティの位置に関連する近接度データを取得するように構成された近接度フレームワークと、
前記コンピューティングシステムの表示装置にインターフェースデータを供給するように構成された提示モジュールと、
前記近接度データに少なくとも部分的に基づいて、前記表示装置に表示された前記インターフェースデータを調整するように構成された調整モジュールと、
をインスタンス化するように実行可能であり、
前記コンピューター実行可能命令は、更に、前記コンピューティングシステムに、
アプリケーションのユーザーインターフェースを表すユーザーインターフェースデータを、前記表示装置の表示面における提示のために前記表示装置へ供給するステップと、
前記ユーザーインターフェースデータの提示の後に１又は複数のエンティティの位置が変化したことを表す前記近接度データにアクセスするステップであって、前記１又は複数のエンティティの位置の変化は、前記１又は複数のエンティティのそれぞれを前記表示装置に対して新たな位置に配置させる、ステップと、
前記近接度データに基づいて前記ユーザーインターフェースのための調整されたユーザーインターフェースデータを構築するステップであって、前記調整されたユーザーインターフェースデータは、前記表示装置に対する前記１又は複数のエンティティの位置の変化に基づいて前記表示面に提示するのに相応しいものであると判定され、調整されたユーザーインターフェースデータを構築する前記動作は、前記ユーザーインターフェースデータを見る延長時間期間を前記１又は複数のエンティティに与えるために、前記ユーザーインターフェースデータから新たなユーザーインターフェースデータへ循環するタイミングを前記１又は複数のエンティティの前記新たな位置に基づいて変更する動作を含む、ステップと、
前記１又は複数のエンティティの位置の変化に応答して、前記表示面における前記ユーザーインターフェースの提示を調整するために、前記調整されたユーザーインターフェースデータを前記表示装置へ供給するステップであって、前記調整されたユーザーインターフェースデータは、少なくとも、除去されるコンテンツに対応する新たな要約データで置換されるコンテンツを前記ユーザーインターフェースデータから除去することによって、前記表示装置に前に提示された前記ユーザーインターフェースデータを置換及び要約し、前記調整されたユーザーインターフェースデータは、前記ユーザーインターフェースデータに前に提示されて除去された１又は複数の他の用語を置換及び要約する少なくとも１つの新たな用語を含む、ステップと、
を実施させるように構成される、コンピュータープログラム。
【請求項１１】
前記コンピューター実行可能命令は、更に、前記コンピューティングシステムに、前記表示装置に対する前記複数のエンティティの全ての位置の間の距離を平均化する平均化モデルに基づいて、前記ユーザーインターフェースのための前記調整されたユーザーインターフェースデータを構築するステップを実施させるように前記１又は複数のプロセッサーによって実行可能である、請求項１０に記載のコンピュータープログラム。
【請求項１２】
実行されると前記コンピューターシステムに調整されたユーザーインターフェースデータを構築させるコンピューター実行可能命令は、実行されると前記コンピューターシステムに前記ユーザーインターフェースデータの縮尺を減じさせるコンピューター実行可能命令を含む、請求項１１に記載のコンピュータープログラム。
【請求項１３】
実行されると前記コンピューターシステムに調整されたユーザーインターフェースデータを構築させるコンピューター実行可能命令は、実行されると前記コンピューターシステムに前記ユーザーインターフェースデータの縮尺を増大させるコンピューター実行可能命令を含む、請求項１１に記載のコンピュータープログラム。
【請求項１４】
アプリケーションのユーザーインターフェースを表すインターフェースデータを表示するための表示面を備えて構成された表示装置と、
１又は複数のエンティティの位置に関連する近接度データを取得するように構成された近接度フレームワークと、
前記表示装置にインターフェースデータを供給するように構成された提示モジュールと、
前記近接度データに少なくとも部分的に基づいて、前記表示装置に表示された前記インターフェースデータを調整するように構成された調整モジュールと、
１又は複数のプロセッサーと、
前記１又は複数のプロセッサーによって実行可能なコンピューター実行可能命令が格納された１又は複数の記憶装置と、
を備えたコンピューティングシステムであって、
前記コンピューター実行可能命令は、前記コンピューティングシステムに、
前記表示装置に前記ユーザーインターフェースデータを供給するステップと、
前記ユーザーインターフェースデータの提示の後に１又は複数のエンティティの位置が変化したことを表す前記近接度データにアクセスするステップであって、前記１又は複数のエンティティの位置の変化は、前記１又は複数のエンティティのそれぞれを前記表示装置に対して新たな位置に配置させる、ステップと、
前記近接度データに基づいて前記ユーザーインターフェースのための調整されたユーザーインターフェースデータを構築するステップであって、前記調整されたユーザーインターフェースデータは、前記表示装置に対する前記１又は複数のエンティティの位置の変化に基づいて前記表示面に提示するのに相応しいものであると判定され、調整されたユーザーインターフェースデータを構築する前記動作は、前記ユーザーインターフェースデータを見る延長時間期間を前記１又は複数のエンティティに与えるために、前記ユーザーインターフェースデータから新たなユーザーインターフェースデータへ循環するタイミングを前記１又は複数のエンティティの前記新たな位置に基づいて変更する動作を含む、ステップと、
前記１又は複数のエンティティの位置の変化に応答して、前記表示面における前記ユーザーインターフェースの提示を調整するために、前記調整されたユーザーインターフェースデータを前記表示装置へ供給するステップであって、前記調整されたユーザーインターフェースデータは、少なくとも、除去されるコンテンツに対応する新たな要約データで置換されるコンテンツを前記ユーザーインターフェースデータから除去することによって、前記表示装置に前に提示された前記ユーザーインターフェースデータを置換及び要約し、前記調整されたユーザーインターフェースデータは、前記ユーザーインターフェースデータに前に提示されて除去された１又は複数の他の用語を置換及び要約する少なくとも１つの新たな用語を含む、ステップと、
を実施させるように実行可能である、コンピューティングシステム。
【発明の詳細な説明】
【背景技術】
【０００１】
[0001]  コンピューターシステムとその関連技術は、社会の多くの側面に影響を及ぼしている。まったくのところ、コンピューターシステムの情報処理能力は、我々の暮らし方や働き方を変貌させた。コンピューターシステムは、今では一般に、コンピューターシステムの出現以前には人手で行われた多数の作業（例えば、文書作成、スケジュール管理、会計処理等）を実施する。最近では、コンピューターシステムは、相互に、及び他の電子デバイスに結合されて、当該コンピューターシステムと他の電子デバイスが電子データを伝送することが可能な有線、無線両方のコンピューターネットワークを形成している。その結果、多くのコンピューティング作業の実施は、多数の異なるコンピューターシステム及び／又は多数の異なるコンピューティング環境にわたって分散している。
【０００２】
[0002]  ほとんどのアプリケーションは、ユーザーが当該アプリケーションと対話するのを可能にするある種類のユーザーインターフェースを表示デバイスに提示する。アプリケーションのユーザーインターフェースは、一般に、特定のユーザー距離に対して最適化される傾向にある。即ち、ユーザーインターフェースは、特定のユーザー体験とユーザー距離を念頭において（例えば、テレビは１０フィート、電子書籍は２フィート、デジタルサイネージは３０フィート等）開発される。
【０００３】
[0003]  いくつかのアプリケーションでは、固定サイズ構成のユーザーインターフェース要素、例えば車両のリアビューカメラ、又はスマートフォンのユーザーインターフェース表面を有効化／無効化するために、距離及び／又は近接度が用いられることが可能である。例えば、スマートフォンでは、ユーザーが近接センサーに近付いた時に、タッチ表面が無効化されることが可能である。これは、ユーザーが音声通話をすべくスマートフォンを彼らの顔の近くへ動かした時に、タッチ表面を無効化するために用いられることが可能である。
【発明の概要】
【０００４】
[0004]  本発明は、エンティティの位置に基づいてユーザーインターフェースを調整するための方法、システム、及びコンピュータープログラム製品にわたる。ユーザーインターフェースデータが、表示面における提示のために表示装置へ供給される。ユーザーインターフェースデータは、アプリケーションのユーザーインターフェースを表す。近接度データがアクセスされる。近接度データは、ユーザーインターフェースデータの提示の後に１又は複数のエンティティの位置が変化したことを表す。１又は複数のエンティティの位置の変化は、１又は複数のエンティティのそれぞれを表示装置に対して新たな位置に配置させる。
【０００５】
[0005]  調整されたユーザーインターフェースデータが、近接度データに基づいてユーザーインターフェースのために構築される。調整されたユーザーインターフェースデータは、１又は複数のエンティティの表示装置に対する新たな位置に基づいて表示面に提示するのに相応しいものであると判定される。１又は複数のエンティティの位置の変化に応答して、表示面におけるユーザーインターフェースの提示を調整するために、調整されたユーザーインターフェースデータが表示装置へ供給される。
【０００６】
[0006]  この概要は、詳細な説明において更に後述される概念からの選抜を簡略な形で導入するために提供される。この概要は、請求された主題の主要な特徴又は本質的な特徴を特定することを意図したものではなく、また、請求された主題の有効範囲を決定する際の助けとして用いられることを意図したものでもない。
【０００７】
[0007]  本発明の更なる特徴と利点は、以下の説明に記載され、また当該説明からその一部が明白であり、又は、本発明の実践によって習得されることができる。本発明の特徴と利点は、添付された特許請求の範囲に特に指摘された手段と組み合わせを用いて、実現され取得されることができる。本発明のこれらの及び他の特徴は、以下の説明と添付された特許請求の範囲からより完全に明らかとなり、又は以下に記載される本発明の実践によって習得されることができる。
【０００８】
[0008]  本発明の前述された及び他の利点と特徴が取得されることの可能なやり方を説明するために、上で簡潔に説明された本発明のより詳しい説明が、添付された図面に例示される本発明の特定の実施態様を参照して提供される。これらの図面は本発明の典型的な実施態様のみを表し、したがってその範囲を限定するものとみなされてはならない、ということを理解しながら、本発明は、添付図面の使用を通じて更に特定且つ詳細に記述され説明される。
【図面の簡単な説明】
【０００９】
【図１】図１は、エンティティの位置に基づくユーザーインターフェースの調整を容易化する例示的なコンピューターアーキテクチャーを示す。
【図２】図２は、エンティティの位置に基づくユーザーインターフェースの調整のための例示的な方法のフローチャートを示す。
【図３】図３は、エンティティの位置に基づくユーザーインターフェースの調整を容易化する例示的なコンピューターアーキテクチャーを示す。
【図４Ａ】図４Ａは、ユーザーインターフェースデータの縮小の例を示す。
【図４Ｂ】図４Ｂは、ユーザーインターフェースデータの拡大の例を示す。
【図５】図５は、近接度データをアプリケーションに供給するためのコンポーネントの例示的な構成を示す。
【発明を実施するための形態】
【００１０】
[0015]  本発明は、エンティティの位置に基づいてユーザーインターフェースを調整するための方法、システム、及びコンピュータープログラム製品にわたる。ユーザーインターフェースデータが、表示面における提示のために表示装置へ供給される。ユーザーインターフェースデータは、アプリケーションのユーザーインターフェースを表す。近接度データがアクセスされる。近接度データは、ユーザーインターフェースデータの提示の後に１又は複数のエンティティの位置が変化したことを表す。１又は複数のエンティティの位置の変化は、１又は複数のエンティティのそれぞれを表示装置に対して新たな位置に配置させる。
【００１１】
[0016]  調整されたユーザーインターフェースデータが、近接度データに基づいてユーザーインターフェースのために構築される。調整されたユーザーインターフェースデータは、１又は複数のエンティティの表示装置に対する新たな位置に基づいて表示面に提示するのに相応しいものであると判定される。１又は複数のエンティティの位置の変化に応答して、表示面におけるユーザーインターフェースの提示を調整するために、調整されたユーザーインターフェースデータが表示装置へ供給される。
【００１２】
[0017]  本発明の実施態様は、以下でより詳細に論じられるように、例えば１又は複数のプロセッサーとシステムメモリーなどのような、コンピューターハードウェアを含んだ専用若しくは汎用コンピューターを含み、又はそれらを利用することができる。本発明の範囲内にある実施態様はまた、コンピューター実行可能命令及び／又はデータ構造を伝搬又は格納するための、物理的なコンピューター読み取り可能媒体及び他のコンピューター読み取り可能媒体も含む。そのようなコンピューター読み取り可能媒体は、汎用又は専用コンピューターシステムによってアクセスされることのできる任意の利用可能な媒体であり得る。コンピューター実行可能命令を格納するコンピューター読み取り可能媒体は、コンピューター記憶媒体（装置）である。コンピューター実行可能命令を伝搬するコンピューター読み取り可能媒体は、伝送媒体である。このように、限定ではなく例として、本発明の実施態様は、少なくとも２つの明確に異なる種類のコンピューター読み取り可能媒体、即ちコンピューター記憶媒体（装置）及び伝送媒体を含むことが可能である。
【００１３】
[0018]  コンピューター記憶媒体（装置）は、ＲＡＭ、ＲＯＭ、ＥＥＰＲＯＭ、ＣＤ−ＲＯＭ若しくは他の光ディスク記憶装置、磁気ディスク記憶装置若しくは他の磁気記憶装置、又は、コンピューター実行可能命令若しくはデータ構造の形態による所望のプログラムコード手段を格納するのに使用可能であり、汎用若しくは専用コンピューターによってアクセス可能な任意の他の媒体を含む。
【００１４】
[0019]  「ネットワーク」は、コンピューターシステム及び／又はモジュール及び／又は他の電子デバイス間で電子データの転送を可能にする１又は複数のデータリンクとして定義される。情報がネットワーク又は別の通信接続（有線、無線、又は有線若しくは無線の組み合わせの何れか）を介してコンピューターへ転送又は提供される時、当該コンピューターは、然るべく、その接続を伝送媒体として捉える。伝送媒体は、コンピューター実行可能命令若しくはデータ構造の形態による所望のプログラムコード手段を伝搬するのに使用可能であり、汎用若しくは専用コンピューターによってアクセス可能な、ネットワーク及び／又はデータリンクを含むことが可能である。上記の組み合わせも、コンピューター読み取り可能媒体の範囲内に含まれるべきである。
【００１５】
[0020]  更に、様々なコンピューターシステムコンポーネントに到達すると、コンピューター実行可能命令又はデータ構造の形態によるプログラムコード手段は、伝送媒体からコンピューター記憶媒体（装置）へ（又はその反対に）自動的に転送されることが可能である。例えば、ネットワーク若しくはデータリンクを介して受信されたコンピューター実行可能命令又はデータ構造は、ネットワークインターフェースモジュール（例えば「ＮＩＣ」）内のＲＡＭにバッファリングされ、次いで最終的に、コンピューターシステムのＲＡＭ及び／又は揮発性のより低いコンピューターシステムのコンピューター記憶媒体（装置）へ転送されることが可能である。このように、コンピューター記憶媒体（装置）は、伝送媒体をも利用する（又は伝送媒体をまさに主として利用する）コンピューターシステムコンポーネントに含まれることが可能である、ということが理解されるべきである。
【００１６】
[0021]  コンピューター実行可能命令は、例えば、プロセッサーにおいて実行された場合に、汎用コンピューター、専用コンピューター、又は専用処理デバイスに、ある機能又はある一群の機能を実施させる命令及びデータを含む。コンピューター実行可能命令は、例えば、バイナリーデータ、アセンブリー言語などの中間フォーマット命令、又はソースコードであることすらあり得る。構造的な特徴及び／又は方法論的行為に特有の言い回しで本主題が説明されてきたが、添付された特許請求の範囲において定義される本主題は必ずしも上述された説明された特徴又は行為に限定されるものではない、ということは理解されなければならない。それどころか、当該説明された特徴及び行為は、特許請求の範囲を具体化する例示的な形として開示されているのである。
【００１７】
[0022]  本発明は、パーソナルコンピューター、デスクトップコンピューター、ラップトップコンピューター、メッセージ処理装置、携帯型デバイス、マルチプロセッサーシステム、マイクロプロセッサーベースの又はプログラム可能な家庭用電子機器、ネットワークＰＣ、ミニコンピューター、メインフレームコンピューター、携帯電話端末、ＰＤＡ、ページャー、ルーター、スイッチ、デジタル標識、ビデオゲームコンソール等を含む多くの種類のコンピューターシステム構成によって、ネットワークコンピューティング環境において実践されることができる、ということを当業者は認識するだろう。本発明はまた、ネットワークを通じて（有線データ接続、無線データ接続、又は有線及び無線データ接続の組み合わせの何れかによって）接続されたローカル及びリモートのコンピューターシステムの両方がタスクを実施する、分散システム環境において実践されることもできる。分散システム環境では、プログラムモジュールは、ローカル及びリモート両方のメモリー記憶装置に配置されることができる。
【００１８】
[0023]  本発明の実施態様は、アプリケーション（又はオペレーティングシステム）にエンティティの距離／近接度データを提供する。アプリケーションは、次いで、近接度データに基づいてコンテンツを適切に縮尺変更することが可能である。オペレーティングシステムは、距離／近接度認識ハードウェアセンサー（ＩＲ、レーダー、静電容量、カメラ、その他）のための距離／近接度ドライバーフレームワークを保有する。装置は、近接度フレームワークに入力を与える１又は複数のセンサーと一緒に出荷されることが可能である。あるセンサーは、固定位置（例えばデジタルサイネージ）に対してより相応しい場合がある。他のセンサーは、移動位置（ロボット工学／モバイル装置）に対してより相応しい場合がある。近接度フレームワークは、センサーデータから、距離／近接度／閲覧者数の計算を実施する。
【００１９】
[0024]  こうして、オペレーティングシステムの近接度フレームワークは、近接度データを実行中のアプリケーションに提供することが可能である。近接度データは、メッセージ、イベントとして、又は他のメカニズムを通じて公開されることが可能である。近接度データを公開しているメッセージ／イベントと共に縮尺データが提供されることが可能である。あるいはまた、アプリケーションが、近接度データに基づいて縮尺データを決定することが可能である。縮尺データは、純粋な距離（インチ／フィート／メートル）として、又は装置からの相対距離として、及び／又は、センサーが単一の距離点（１ユーザー）若しくは複数のユーザー（カメラ、レーダー）に関する入力を供給できるかどうかに基づくセンサー情報の配列として、提供／決定されることが可能である。アプリケーション内のＵＩ要素の縮尺変更は、アプリケーションの種類／コンテンツに基づくことが可能である。例えば、あるアプリケーションは、ユーザー体験を縮尺変更しないことを選ぶことができ、他のアプリケーションは、この機能をアプリケーションＵＩ（例えばデジタルサイネージ）のコア要素として実装することができる。
【００２０】
[0025]  図１は、エンティティの位置に基づくユーザーインターフェースの調整を容易化する例示的なコンピューターアーキテクチャー１００を示す。図１を参照すると、コンピューターアーキテクチャー１００は、コンピューターシステム１０１と外部センサー１１２を含む。コンピューターシステム１０１と外部センサー１１２のそれぞれは、例えばローカルエリアネットワーク（「ＬＡＮ」）、ワイドエリアネットワーク（「ＷＡＮ」）、更にはインターネットといったようなネットワークを介して相互に接続されている（又はその一部分である）。したがって、コンピューターシステム１０１及び外部センサー１１２のみならず、任意の他の接続されたコンピューターシステムとそのコンポーネントは、メッセージ関連データを生成し、ネットワークを介してメッセージ関連データ（例えば、インターネットプロトコル（「ＩＰ」）データグラム、及びＩＰデータグラムを利用する他のより上位レイヤーのプロトコル、例えばトランスミッションコントロールプロトコル（「ＴＣＰ」）、ハイパーテキストトランスファープロトコル（「ＨＴＴＰ」）、シンプルメールトランスファープロトコル（「ＳＭＴＰ」）等）を交換することが可能である。
【００２１】
[0026]  図示されているように、コンピューターシステム１０１は、近接度フレームワーク１０２と、アプリケーション１０３と、表示装置１０７と、内部センサー１１１とを含む。近接度フレームワーク１０２は、（例えば内部センサー１１１及び／又は外部センサー１１２のうちの１又は複数のセンサーから）センサー出力を受け取るように構成されている。センサー出力から、近接度フレームワーク１０２は、１又は複数のエンティティ（例えば、１又は複数の人、１又は複数の車両、１又は複数の他の物体等、又はそれらの組み合わせ）についての近接度データを構築することが可能である。近接度データは、表示装置１０７に対する当該１又は複数のエンティティの角度及び／又は位置を表すことが可能である。近接度フレームワーク１０２は、利用可能な近接度データをアプリケーション（例えばアプリケーション１０３）に公開することが可能である。近接度データは、メッセージ、イベントの形で、又は他のメカニズムを通じて公開されることが可能である。
【００２２】
[0027]  内部センサー１１１及び外部センサー１１２は、限定ではないが、赤外（「ＩＲ」）センサー、レーダー、静電容量センサー、カメラ、全地球測位システム（「ＧＰＳ」）センサー、超音波センサー、レーザーセンサー、及び光検知測距（「ＬＩＤＡＲ」）センサーを含む、任意の数の様々な種類のセンサーを含むことが可能である。内部センサー１１１は、コンピューターシステム１０１のところに、又は、更にはコンピューターシステム１０１の内部に、物理的に配置されることが可能である。例えば、コンピューターシステム１０１は、表示面１０８の近傍の方向を向いたカメラを有することが可能である。外部センサー１１２は、コンピューターシステム１０１からある距離だけ離れて物理的に配置されることが可能である。例えば、ＧＰＳセンサーが、表示面１０８の前を通り過ぎる車両の内部に配置されることが可能である。
【００２３】
[0028]  図示されているように、アプリケーション１０３は、ＵＩ提示モジュール１０４とＵＩ調整モジュール１０６を含む。概して言えば、ＵＩ提示モジュール１０４は、ユーザーインターフェースデータを、表示面１０８上に表示するために表示装置１０７へ送るように構成されている。ＵＩ調整モジュール１０６は、現在のユーザーインターフェースデータにアクセスすると共に、近接度フレームワーク１０２からの近接度データにアクセスすることが可能である。現在のユーザーインターフェースデータ及び近接度データから、ＵＩ調整モジュール１０６は、表示面１０８に提示するその後のユーザーインターフェースデータをどのように適切に調整するかを決定することが可能である。例えば、ＵＩ調整モジュール１０６は、アクセスされた近接度データに基づいて、表示面１０８に提示されるユーザーインターフェースデータの縮尺、内容、及びタイミングのうちの１又は複数を調整することが可能である。
【００２４】
[0029]  表示装置１０７は、コンピューターモニター、テレビ、若しくはデジタル標識などの汎用又は専用表示装置であり得る。表示装置１０７は、コンピューターシステム１０１に物理的に統合されることが可能であり、又は、外部接続（例えば映像ケーブル）を通じてコンピューターシステム１０１に接続されることが可能である。ユーザーインターフェースデータは、例えば、コンピューターモニターの画面、テレビの画面、デジタル標識の画面などの表示面１０８に提示される。表示面１０８は、表示装置１０７及び／又はコンピューターシステム１０１の他のコンポーネントに対して特定方向に向けられることが可能である。
【００２５】
[0030]  いくつかの実施態様では、表示面１０８はまた、特定表示エリアを有することも可能である。この特定表示エリアは、提示されたＵＩデータが人に認知可能である表示面１０８からの距離範囲及び／又は角度範囲を表すことが可能である。特定表示エリアの中では、提示されたＵＩデータをエンティティが位置を変えるにつれて調整するように、近接度データが用いられることが可能である。表示面１０８の特定表示エリア内にエンティティが存在しない場合、表示面１０８におけるＵＩデータの提示を停止するように、ＵＩの調整が用いられることが可能である。
【００２６】
[0031]  図２は、エンティティの位置に基づくユーザーインターフェースの調整のための例示的な方法２００のフローチャートを示す。方法２００は、コンピューターアーキテクチャー１００のコンポーネント及びデータに関して説明される。
【００２７】
[0032]  方法２００は、アプリケーションのユーザーインターフェースを表すユーザーインターフェースデータを表示面に提示する動作を含む（動作２０１）。エンティティ１２１（例えば人又は車両）は、表示装置１０７に関して相対位置１３１に存在することが可能である。エンティティ１２１が相対位置１３１に存在する時に、ＵＩ提示モジュール１０４は、ＵＩデータ１４１を表示装置１０７へ送ることが可能である。表示装置１０７は、ＵＩデータ１４１（アプリケーション１０３のユーザーインターフェース）を表示面１０８に表示することが可能である。
【００２８】
[0033]  ＵＩ提示モジュール１０４はまた、ＵＩデータ１４１をＵＩ調整モジュール１０６へも送ることが可能である。
[0034]  ＵＩデータ１４１の提示の後、エンティティ１２１は、（例えば歩行による移動又は車両による移動に伴って）位置の変化１２２を経験することが可能である。位置の変化１２２によって、エンティティ１２１は、表示装置１０７に関して相対位置１３２に存在することになる。位置の変化１２２は、相対位置１３１からの距離及び／又は角度の変化であり得る。内部センサー１１１及び／又は外部センサー１１２のうちの１又は複数のセンサーは、位置の変化１２２、及び／又はエンティティ１２１が相対位置１３２に存在することを検出することが可能である。当該１又は複数のセンサーは、センサー出力を近接度フレームワーク１０２へ供給することが可能である。このセンサー出力から、近接度フレームワーク１０２は、近接度データ１４２を構築することが可能である。
【００２９】
[0035]  方法２００は、ユーザーインターフェースデータの提示の後に１又は複数のエンティティの位置が変化したことを表す近接度データにアクセスする動作を含み、当該１又は複数のエンティティの位置の変化は、当該１又は複数のエンティティのそれぞれを表示装置に対して新たな位置に配置させる（動作２０２）。例えば、ＵＩ調整モジュール１０６は、近接度データ１４２にアクセスすることが可能である。近接度データ１４２は、ＵＩデータ１４１の提示の後にエンティティ１２１が相対位置１３１から相対位置１３２へ移動したことを、ＵＩ調整モジュール１０６に示す。
【００３０】
[0036]  方法２００は、近接度データに基づいてアプリケーションのためにユーザーインターフェースデータの更新を構築する動作を含み、ユーザーインターフェースデータの更新は、１又は複数のエンティティの表示装置に対する新たな位置に基づいて表示面に提示するのに相応しいものである（動作２０３）。例えば、ＵＩ調整モジュール１０６は、ＵＩデータ１４１をどのように調整するか（例えば、縮尺を変更する、コンテンツを追加する、コンテンツを除去する、一時停止する等）をＵＩ提示モジュール１０４に示すことが可能である。ＵＩデータ１４１をどのように調整するかの指示から、ＵＩ提示モジュール１０４は、調整されたＵＩデータ１４３を構築することが可能である。調整されたＵＩデータ１４３は、相対位置１３２に存在しているエンティティ１２１に基づいて表示面１０８に提示するのに相応しいものとなることが可能である。
【００３１】
[0037]  図示されているように、エンティティ１２１は、位置の変化１２２の後に幾分表示装置１０７に近付いている。それ故、ＵＩデータ１４１に対する相応しい調整は、ＵＩデータ１４１のサイズを縮小することであり得る。即ち、エンティティ１２１は今や表示装置１０７に近付いているので、エンティティ１２１は、より小さい縮尺で提示されたＵＩデータを認知することが可能である。ＵＩデータをより小さい縮尺で提示することの副作用は、より多くのＵＩデータが提示可能であることである。即ち、ＵＩデータをより小さい縮尺で提示することで、表示面１０８にスペースが空く。このように、調整されたＵＩデータ１４３は、ＵＩデータ１４１をより小さい縮尺で提示するように構成されることが可能である。
【００３２】
[0038]  空いたスペースは、表示面１０８に既に提示されているよりも多くのものを提示するのに用いられることが可能である。例えば、もしＵＩデータ１４１が文章の段落の一部分であるなら、その段落のより多く及びできる限り全てが提示されることが可能である。このように、調整されたＵＩデータ１４３は、より小さい縮尺でより多くのＵＩデータ１４１を提示するように構成されることも可能である。あるいはまた、空いたスペースは、異なる及び／又は追加のコンテンツを表示面１０８に提示するのに用いられることが可能である。例えば、既に提示された文章の中に図形を含ませることが可能である。このように、調整されたＵＩデータ１４３は、ＵＩデータ１４１を補うための他のＵＩデータ要素を提示するように構成されることも可能である。
【００３３】
[0039]  あるいはまた、もしエンティティ１２１が表示装置１０７からより遠くへ移動したなら、ＵＩデータ１４１に対する相応しい調整は、ＵＩデータ１４１のサイズを拡大することであり得る。即ち、エンティティ１２１は今や表示装置１０７からより遠くにあるので、エンティティ１２１は、前に用いられた縮尺で提示されているＵＩデータをもう認知することができない。ＵＩデータをより大きい縮尺で提示することの副作用は、より少ないＵＩデータしか提示可能でないことである。即ち、ＵＩデータをより大きい縮尺で提示する場合、提示された各要素は、表示面１０８でより多くのスペースを消費する。このように、調整されたＵＩデータ１４３は、ＵＩデータ１４１の一部分をより大きい縮尺で提示するように構成されることが可能である。これに代えて、又は組み合わせて、調整されたＵＩデータ１４３は、他の前のＵＩデータ要素（例えば図形）を除去するように構成されることが可能である。
【００３４】
[0040]  ＵＩ提示モジュール１０４は、調整されたＵＩデータ１４３を表示装置１０７へ送ることが可能である。
[0041]  方法２００は、１又は複数のエンティティの位置の変化に応答して、ユーザーインターフェースを更新するためにユーザーインターフェースデータの更新を表示面に提示する動作を含む（動作２０４）。例えば、表示装置１０７は、位置の変化１２２に応答して、アプリケーション１０３のユーザーインターフェースを更新するために表示面１０８に調整されたＵＩデータ１４３を提示することが可能である。図示されているように、調整されたＵＩデータ１４３に対しては、ＵＩデータ１４１に対してよりも多くの文章が表示される。エンティティ１２１は位置の変化１２２の後に幾分表示装置１０７に近付いているので、エンティティ１２１は、ＵＩデータをより小さい縮尺で認知できる可能性がより高い。
【００３５】
[0042]  複数のエンティティが表示面に対する表示エリア内に存在する場合、ＵＩデータを縮尺変更するのに、最も遠いエンティティの距離が用いられることが可能であり、最も近いエンティティの距離が用いられることが可能であり、又は平均化（例えば平均化モデル）が用いられることが可能である。平均化を用いると、ＵＩデータは、どの１つのエンティティに対しても最適に縮尺変更されることができないが、複数のエンティティに対しては十分に縮尺変更されることが可能である。例えば、エンティティ１５１（例えば、人、車両、又は他の物体）は、表示装置１０７に関して相対位置１５２に存在することが可能である。相対位置１３２においてエンティティ１２１を検出することに加えて、内部センサー１１１及び／又は外部センサー１１２のうちの１又は複数のセンサーは、エンティティ１５１が相対位置１５２に存在することを検出することも可能である。当該１又は複数のセンサーは、エンティティ１２１及びエンティティ１５１の両方についてのセンサー出力を近接度フレームワーク１０２へ供給することが可能である。エンティティ１２１及びエンティティ１５１の両方についてのセンサー出力から、近接度フレームワーク１０２は、近接度データ１４２を構築することが可能である。
【００３６】
[0043]  ＵＩ調整モジュール１０６は、近接度データ１４２にアクセスすることが可能である。近接度データ１４２は、ＵＩデータ１４１の提示の後にエンティティ１２１が相対位置１３２に存在し、エンティティ１５１が相対位置１５２に存在することを、ＵＩ調整モジュール１０６に示す。ＵＩ調整モジュール１０６は、相対位置１３２及び１５２によって表される距離を平均化して、ＵＩ調整を構築するのに用いるための距離を決定することが可能である。ＵＩ調整モジュール１０６は、この平均化距離に基づいてＵＩデータ１４１をどのように調整するか（例えば、縮尺を変更する、コンテンツを追加する、コンテンツを除去する、一時停止する等）をＵＩ提示モジュール１０４に示すことが可能である。ＵＩデータ１４１をどのように調整するかの指示から、ＵＩ提示モジュール１０４は、調整されたＵＩデータ１４３を構築することが可能である。調整されたＵＩデータ１４３は、相対位置１３２に存在しているエンティティ１２１及び位置１５２に存在しているエンティティ１５１に基づいて表示面１０８に提示するのに相応しい（必ずしも、どの１つのエンティティに対しても最適ではないが）ものとなることが可能である。
【００３７】
[0044]  例えば、エンティティ１２１は表示装置１０８から１０フィートに存在し、エンティティ１５１は表示装置１０８から２０フィートに存在するかもしれない。それ故に、ＵＩ調整モジュール１０６は、ＵＩデータが１５フィート（即ち（１０＋２０）／２）に存在するエンティティに対して縮尺変更されるべきであることを示すことが可能である。エンティティ１２１又はエンティティ１５１のいずれに対しても最適ではないが、１５フィートに存在するエンティティに対して縮尺変更することによって、エンティティ１２１及び１５１の両方が、調整されたＵＩデータ１４３を適切に認知することを可能にすることができる。
【００３８】
[0045]  図３は、エンティティの位置に基づくユーザーインターフェースの調整を容易化する例示的なコンピューターアーキテクチャー３００を示す。図３を参照すると、コンピューターアーキテクチャー３００は、デジタル標識３０１と、近接度フレームワーク３０２と、センサー３１１を含む。デジタル標識３０１、近接度フレームワーク３０２、及びセンサー３１１のそれぞれは、例えばローカルエリアネットワーク（「ＬＡＮ」）、ワイドエリアネットワーク（「ＷＡＮ」）、更にはインターネットといったようなネットワークを介して相互に接続されている（又はその一部分である）。したがって、デジタル標識３０１、近接度フレームワーク３０２、及びセンサー３１１のみならず、任意の他の接続されたコンピューターシステムとそのコンポーネントは、メッセージ関連データを生成し、ネットワークを介してメッセージ関連データ（例えば、インターネットプロトコル（「ＩＰ」）データグラム、及びＩＰデータグラムを利用する他のより上位レイヤーのプロトコル、例えばトランスミッションコントロールプロトコル（「ＴＣＰ」）、ハイパーテキストトランスファープロトコル（「ＨＴＴＰ」）、シンプルメールトランスファープロトコル（「ＳＭＴＰ」）等）を交換することが可能である。
【００３９】
[0046]  アプリケーション３０３は、タイマー間隔に基づいて表示面３０８（例えば広告掲示板サイズのデジタルスクリーン）上で多数の広告の提示をループ（循環）する広告アプリケーションであり得る。タイマー間隔は、当該多数の広告のそれぞれがある特定の時間期間の間表示面３０８に提示されるように、設定されることが可能である。
【００４０】
[0047]  道路３０９上の車両が表示面３０８に接近することが可能である。例えば、図示されているように、車両３２１、３３１、及び３４１が表示面３０８に接近中である。センサー３１１のうちの１又は複数が、車両３２１、３３１、及び３４１の接近を検出し、車両３２１、３３１、及び３４１のそれぞれについてのセンサー出力を近接度フレームワーク３０２へ供給することが可能である。このセンサー出力から、近接度フレームワーク３０２は、車両３２１、３３１、及び３４１に対する近接度データを構築することが可能である。近接度データから、ＵＩ調整モジュール３０６は、表示面における広告の提示をどのように調整するかを決定することが可能である。次いで、ＵＩ提示モジュール１０４は、調整されたＵＩデータを提示することが可能である。
【００４１】
[0048]  いくつかの実施態様では、受け取られた近接度データに基づいて、ＵＩ調整モジュール３０６は、車両３２１、３３１、及び３４１のうちの１又は複数が、現在提示されている広告を完全に読み取るのに十分な時間を有しなかったと判定する。これに応答して、ＵＩ調整モジュール３０６は、（たとえもう次の広告の時間であるとタイマー間隔が示しているとしても、）現在提示されている広告を読み取る追加時間を車両３２１、３３１、及び３４１に与えるために、ループが一時停止される（これにより上記特定の時間期間を延長する）べきであることを決定することが可能である。これに代えて、又は組み合わせて、車両３２１、３３１、及び３４１が表示面３０８へ近付くにつれて、表示面３０８に提示されるコンテンツが、より多くのコンテキストを提供するように縮小されることが可能である。
【００４２】
[0049]  いくつかの実施態様では、ＵＩ調整モジュール３０６は、距離３２２、３３２、及び３４２に基づいてＵＩデータをどのように縮尺変更するかを決定するための平均化モデルを使用する。他の実施態様では、調整モジュール３０６は、距離３２２（最も近い車両の距離）に基づいてＵＩデータをどのように縮尺変更するかを決定することが可能である。更なる実施態様では、調整モジュール３０６は、距離３４２（最も遠い車両の距離）に基づいてＵＩデータをどのように縮尺変更するかを決定することが可能である。ある特定の距離内に表示面３０８へ接近する車両が存在しない場合、ＵＩ調整モジュール３０６は、表示面３０８が非アクティブになるべきであることを決定することが可能である。
【００４３】
[0050]  図４Ａは、ユーザーインターフェースデータの縮小の例を示す。図示されているように、ＵＩ４０１からＵＩ４０２へ縮小する場合、更なる文章が追加されると共にワシントン記念塔の実際の写真が含まれることが可能である。図４Ｂは、ユーザーインターフェースデータの拡大の例を示す。図示されているように、ＵＩ４１１からＵＩ４１２へ拡大する場合、コルベットの写真が除去され、文章が要約される。
【００４４】
[0051]  図５は、近接度データをアプリケーションに供給するためのコンポーネント５００の例示的な構成を示す。図示されているように、ハードウェア５０１は、前述されたセンサーのいずれかを含む１又は複数のセンサーを含むことが可能である。センサーは、ＵＳＢ、シリアル、イーサーネット（登録商標）、（例えば自動車ネットワークからの）外部バス、及びＩ２Ｃを含む、様々なメカニズムのいずれかを用いてカーネル５０２（例えばオペレーティングシステムカーネル）に接続されることが可能である。ハードウェア５０１内のセンサーは、センサー出力をカーネル５０２へ送ることが可能である。
【００４５】
[0052]  ドライバー５０３Ａ、５０３Ｂ、５０３Ｃ、及び５０３Ｄは、ハードウェア５０１内のベンダー固有センサーと相互動作するのに用いられるベンダー固有ドライバーであり得る。ドライバー５０３Ａは、クラウドサービス５０７と対話して、ハードウェア５０６からセンサー入力を取得する。全てのドライバーは、出力を近接度フレームワーク５０４へ与えることが可能である。近接度フレームワーク５０４は、ドライバー出力から近接度データ５４２を構築することが可能である。その後、近接度データ５４２はアプリケーション５０８Ａ、５０８Ｂ、及び５０８Ｃに利用可能となり、これらのアプリケーションは、近接度データ５４２を用いてＵＩデータに対する調整を行うことが可能である。
【００４６】
[0053]  アプリケーションは、様々な方法で近接度データにアクセスすることが可能である。いくつかの実施態様では、アプリケーションは、（例えば照会ＡＰＩを用いて）近接度フレームワーク５０４に近接度データを照会する。他の実施態様では、近接度フレームワーク５０４が、構築後の近接度データをあらゆる既知のアプリケーションに通知する。更なる実施態様では、近接度データは、パブリッシュ／サブスクライブ（「ｐｕｂ／ｓｕｂ」）メカニズムを用いて提供される。アプリケーションは、関心のある近接度データに登録する。関心のある近接度データが変化した場合、近接度フレームワーク５０４が、登録されたアプリケーションに当該変化を通知する。
【００４７】
[0054]  本発明は、その趣旨又は本質的特徴から逸脱することなく他の特定の形態で具現化されることができる。説明された実施態様は、あらゆる点において例示的で非限定的なものとしてのみ見做されなければならない。したがって、本発明の範囲は、前述の説明によってではなく、添付された特許請求の範囲によって示される。特許請求の範囲の均等の意義及び射程の中に入るあらゆる変更は、それらの範囲内に包含されなければならない。
【図１】
0006046725.tif 000002
【図２】
0006046725.tif 000003
【図３】
0006046725.tif 000004
【図４Ａ】
0006046725.tif 000005
【図４Ｂ】
0006046725.tif 000006
【図５】
0006046725.tif 000007