IP Force 特許公報掲載プロジェクト 2022.1.31 β版

知財求人 - 知財ポータルサイト「IP Force」

▶ マジック リープ, インコーポレイテッドの特許一覧

特許7472127画像鮮明度を維持するための画像サイズによってトリガされる明確化
(19)【発行国】日本国特許庁(JP)
(12)【公報種別】特許公報(B2)
(11)【特許番号】
(24)【登録日】2024-04-12
(45)【発行日】2024-04-22
(54)【発明の名称】画像鮮明度を維持するための画像サイズによってトリガされる明確化
(51)【国際特許分類】
   G06T 19/00 20110101AFI20240415BHJP
   G09G 5/00 20060101ALI20240415BHJP
   H04N 13/344 20180101ALI20240415BHJP
   H04N 13/139 20180101ALI20240415BHJP
   G06F 3/048 20130101ALI20240415BHJP
【FI】
G06T19/00 F
G09G5/00 550C
H04N13/344
H04N13/139
G06F3/048
【請求項の数】 28
(21)【出願番号】P 2021526564
(86)(22)【出願日】2019-11-13
(65)【公表番号】
(43)【公表日】2022-01-24
(86)【国際出願番号】 US2019061265
(87)【国際公開番号】W WO2020102412
(87)【国際公開日】2020-05-22
【審査請求日】2022-10-18
(31)【優先権主張番号】62/768,705
(32)【優先日】2018-11-16
(33)【優先権主張国・地域又は機関】US
(31)【優先権主張番号】62/842,844
(32)【優先日】2019-05-03
(33)【優先権主張国・地域又は機関】US
(73)【特許権者】
【識別番号】514108838
【氏名又は名称】マジック リープ, インコーポレイテッド
【氏名又は名称原語表記】Magic Leap,Inc.
【住所又は居所原語表記】7500 W SUNRISE BLVD,PLANTATION,FL 33322 USA
(74)【代理人】
【識別番号】100078282
【弁理士】
【氏名又は名称】山本 秀策
(74)【代理人】
【識別番号】100113413
【弁理士】
【氏名又は名称】森下 夏樹
(74)【代理人】
【識別番号】100181674
【弁理士】
【氏名又は名称】飯田 貴敏
(74)【代理人】
【識別番号】100181641
【弁理士】
【氏名又は名称】石川 大輔
(74)【代理人】
【識別番号】230113332
【弁護士】
【氏名又は名称】山本 健策
(72)【発明者】
【氏名】イドリス シャー, サイエド
(72)【発明者】
【氏名】カバニア, ヘンリカス
【審査官】佐野 潤一
(56)【参考文献】
【文献】特表2011-530131(JP,A)
【文献】特開2003-022453(JP,A)
【文献】特開2000-200131(JP,A)
【文献】特開2008-084302(JP,A)
(58)【調査した分野】(Int.Cl.,DB名)
G06T 15/00-19/00
H04N 13/00
G09G 3/00-5/00
G06F 3/048
(57)【特許請求の範囲】
【請求項1】
視認システムであって、
画像データを保持するためのコンテンツ源と、
アプリケーションの一部を形成するアプリケーションエンジンであって、前記アプリケーションエンジンは、前記コンテンツ源に通信可能に接続され、前記画像データを受信し、前記画像データに基づいて画像をレンダリングする、アプリケーションエンジンと、
ユーザに前記画像を表示するために前記アプリケーションエンジンに通信可能に接続されるディスプレイエンジンであって、前記画像は、第1のサイズを有し、前記画像は、前記第1のサイズより小さい第2のサイズに調節可能であり、前記ディスプレイエンジンは、前記ユーザに対する第1の仮想距離において、ユーザに前記画像を表示し、前記画像は、前記第1のサイズを有し、前記画像は、前記ユーザに対する第2の仮想距離まで移動可能であり、前記画像は、前記第1のサイズより小さい前記第2のサイズを有する、ディスプレイエンジンと、
前記第1のサイズから前記第2のサイズへの前記画像の調節を示す測定値として、前記ユーザに対する前記第2の仮想距離への前記画像の移動を検出する移動検出システムと、
前記第2の仮想距離に対応する選択フレームサイズを決定するフレームサイズ決定器と
を備え、前記アプリケーションは、前記検出に応答して、明確化ルーチンを実行し、前記画像の鮮明度を維持し、前記明確化ルーチンは、前記選択フレームサイズに基づいている、視認システム。
【請求項2】
前記アプリケーションは、
複数の距離と、個別の距離に対応する複数のフレームサイズとを有するルックアップテーブルと、
ルックアップアルゴリズムであって、前記ルックアップアルゴリズムは、前記ルックアップテーブルから前記第2の仮想距離に基づいて選択距離を決定し、前記選択フレームサイズが前記選択距離に対応するフレームサイズであることを決定する、ルックアップアルゴリズムと
を含む、請求項に記載の視認システム。
【請求項3】
前記アプリケーションは、前記第1の仮想距離から前記第2の仮想距離までの前記移動が、所定の最小閾値距離を上回る場合に限り、前記明確化ルーチンを実行する、請求項に記載の視認システム。
【請求項4】
前記アプリケーションは、前記第1の仮想距離から前記第2の仮想距離までの前記移動の間に所定の量の時間が経過した場合に限り、前記明確化ルーチンを実行し、前記移動は、所定の最小閾値距離を上回る、請求項に記載の視認システム。
【請求項5】
前記アプリケーションは、前記第1の仮想距離から前記第2の仮想距離までの前記移動が所定の最大閾値距離を下回る場合に限り、前記明確化ルーチンを実行する、請求項に記載の視認システム。
【請求項6】
前記画像は、前記ディスプレイエンジンとのユーザの相互作用によって、前記第1のサイズから前記第2のサイズに調節可能である、請求項1に記載の視認システム。
【請求項7】
前記アプリケーションは、
アプリケーション合成器であって、前記アプリケーション合成器は、前記フレームサイズ決定器から前記選択フレームサイズ、および前記アプリケーションエンジンから前記画像を受信し、前記選択フレームサイズに基づいて前記画像をスケーリングする、アプリケーション合成器
を含む、請求項に記載の視認システム。
【請求項8】
前記アプリケーションは、
前記アプリケーションエンジンから前記画像を受信するアプリケーションバッファであって、前記アプリケーション合成器は、前記アプリケーションバッファの中に前記画像描画する、アプリケーションバッファ
を含む、請求項に記載の視認システム。
【請求項9】
前記画像のサブセットをサンプリングするために、前記アプリケーションバッファが完全にサンプリングされる場合よりも少ない処理サイクルが要求され、より少ない電力が消費される、請求項に記載の視認システム。
【請求項10】
前記アプリケーションバッファは、前記画像が前記第1の仮想距離から前記第2の仮想距離まで移動されたときに変化していないままであるサイズを有する、請求項に記載の視認システム。
【請求項11】
前記ディスプレイエンジンは、前記画像がより大きくされるかまたはより小さくされるときに伸展動作を実行する、請求項10に記載の視認システム。
【請求項12】
前記ディスプレイエンジンに接続され、前記ユーザに前記画像を表示する立体視視認器をさらに備える、請求項に記載の視認システム。
【請求項13】
前記画像は、テキストを含む、請求項1に記載の視認システム。
【請求項14】
前記ディスプレイエンジンは、前記アプリケーションエンジンにスクリーンサイズを提供し、前記スクリーンサイズの変化は、前記画像の調節を示す前記測定値である、請求項1に記載の視認システム。
【請求項15】
コンテンツを視認する方法であって、
アプリケーションエンジンを用いて、コンテンツ源からの画像データに基づいて画像をレンダリングすることと、
ディスプレイエンジンを用いて、ユーザに前記画像を表示することであって、前記画像は、第1のサイズを有し、前記画像は、前記第1のサイズより小さい第2のサイズに調節可能であり、前記ディスプレイエンジンは、前記ユーザに対する第1の仮想距離において、ユーザに前記画像を表示し、前記画像は、前記第1のサイズを有し、前記画像は、前記ユーザに対する第2の仮想距離まで移動可能であり、前記画像は、前記第1のサイズより小さい第2のサイズを有する、ことと、
移動検出システムを用いて、前記第1のサイズから前記第2のサイズへの前記画像の調節を示す測定値として前記ユーザに対する前記第2の仮想距離への前記画像の移動を検出することと、
前記アプリケーションのフレームサイズ決定器を用いて、前記第2の仮想距離に対応する選択フレームサイズを決定することと、
アプリケーションを用いて、前記検出に応答して、明確化ルーチンを実行し、前記画像の鮮明度を維持することと
を含み、前記明確化ルーチンは、前記選択フレームサイズに基づいている、方法。
【請求項16】
前記アプリケーションは、
ルックアップアルゴリズムを用いて、複数の距離と、個別の距離に対応する複数のフレームサイズとを有するルックアップテーブルから、前記第2の仮想距離に基づいて、選択距離を決定することと、
前記ルックアップアルゴリズムを用いて、前記選択フレームサイズが前記選択距離に対応するフレームサイズであることを決定することと
を含む、請求項15に記載の方法。
【請求項17】
前記アプリケーションは、前記第1の仮想距離から前記第2の仮想距離までの前記移動が所定の最小閾値距離を上回る場合に限り、前記明確化ルーチンを実行する、請求項15に記載の方法。
【請求項18】
前記アプリケーションは、前記第1の仮想距離から前記第2の仮想距離までの前記移動の間に所定の量の時間が経過した場合に限り、前記明確化ルーチンを実行し、前記移動は、所定の最小閾値距離を上回る、請求項15に記載の方法。
【請求項19】
前記アプリケーションは、前記第1の仮想距離から前記第2の仮想距離までの前記移動が所定の最大閾値距離を下回る場合に限り、前記明確化ルーチンを実行する、請求項15に記載の方法。
【請求項20】
前記画像は、前記ディスプレイエンジンとのユーザの相互作用によって、前記第1のサイズから前記第2のサイズに調節可能である、請求項15に記載の方法。
【請求項21】
前記アプリケーションは、
前記アプリケーションのアプリケーション合成器を用いて、前記フレームサイズ決定器から前記選択フレームサイズを受信することと、
前記アプリケーションのアプリケーション合成器を用いて、前記選択フレームサイズに基づいて前記画像をスケーリングすることと
を含む、請求項15に記載の方法。
【請求項22】
前記アプリケーションのアプリケーションバッファを用いて、前記アプリケーションエンジンから前記画像を受信することであって、前記アプリケーション合成器は、前記アプリケーションバッファの中に前記画像描画する、こと
をさらに含む、請求項21に記載の方法。
【請求項23】
前記画像のサブセットをサンプリングするために、前記アプリケーションバッファが完全にサンプリングされる場合よりも少ない処理サイクルが要求され、より少ない電力が消費される、請求項22に記載の方法。
【請求項24】
前記アプリケーションバッファは、前記画像が前記第1の仮想距離から前記第2の仮想距離まで移動されたときに変化していないままであるサイズを有する、請求項22に記載の方法。
【請求項25】
前記ディスプレイエンジンは、前記画像がより大きくされるかまたはより小さくされるときに伸展動作を実行する、請求項24に記載の方法。
【請求項26】
前記ディスプレイエンジンに接続される立体視視認器を用いて、前記ユーザに前記画像を表示すること
をさらに含む、請求項15に記載の方法。
【請求項27】
前記画像は、テキストを含む、請求項15に記載の方法。
【請求項28】
前記ディスプレイエンジンは、前記アプリケーションエンジンにスクリーンサイズを提供し、前記スクリーンサイズの変化は、前記画像の調節を示す前記測定値である、請求項15に記載の方法。

【発明の詳細な説明】
【技術分野】
【0001】
(関連出願の相互参照)
本願は、その全てが参照することによってそれらの全体として本明細書に組み込まれる、2018年11月16に出願された、米国仮特許出願第62/768,705号、および2019年5月3日に出願された、米国仮特許出願第62/842,844号の優先権を主張する。
【0002】
本発明は、視認システムおよびコンテンツを視認する方法に関する。
【背景技術】
【0003】
パーソナルコンピュータは、通常、中央処理ユニットに接続される、ラップトップスクリーンまたは別個のスクリーンの形態における、独立型スクリーンを有する。ブラウザウィンドウおよびウェブページ内のコンテンツを表示する、ブラウザ、ウィンドウ内にテキストを伴うウィンドウを表示する、文書処理アプリケーション、または同等物等の画像を表示するアプリケーションが、ユーザが、典型的には、0.25メートル~1メートルの距離においてコンテンツを快適に読み取り得るように、そのようなコンテンツを表示するように設計される。ユーザがディスプレイからさらに離れるように移動すると、コンテンツは、単に、ユーザのビュー内でより小さい状態になる。
【0004】
3次元視認システムもまた、時として、コンテンツを視認するために使用される。3次元視認システムは、頭部搭載可能フレームと、ユーザの左眼および右眼の正面の左ディスプレイならびに右ディスプレイとを有してもよい。ディスプレイは、ユーザに深度の印象を与えるために相互とわずかに異なる画像または投影画像を生成してもよい。代替として、または加えて、個別のディスプレイは、焦点距離を種々の深度に調節してもよい。
【0005】
ユーザは、例えば、ユーザから2メートルの距離において、ウェブページを伴うブラウザウィンドウを受信することができる。加えて、ブラウザウィンドウは、ユーザに向かって、またはユーザから離れるように移動し、通常、頭部搭載可能ユニット上に位置する、センサとのユーザ相互作用が続き、ユーザの頭部ならびに/もしくはユーザの身体部分の移動を追跡することができる。
【発明の概要】
【課題を解決するための手段】
【0006】
本発明は、視認システムであって、画像データを保持するためのコンテンツ源と、アプリケーションの一部を形成する、アプリケーションエンジンであって、コンテンツ源に通信可能に接続され、画像データを受信し、画像データに基づいて画像をレンダリングする、アプリケーションエンジンと、ユーザに画像を表示するためにアプリケーションエンジンに通信可能に接続される、ディスプレイエンジンであって、画像は、第1のサイズを有し、画像は、第1のサイズより小さい、第2のサイズに調節可能である、ディスプレイエンジンと、第1のサイズから第2のサイズへの画像の調節を示す測定値を検出する、検出システムであって、アプリケーションは、検出に応答して、明確化ルーチンを実行し、画像の鮮明度を維持する、検出システムとを含む、視認システムを提供する。
【0007】
本発明はまた、コンテンツを視認する方法であって、アプリケーションエンジンを用いて、コンテンツ源からの画像データに基づいて画像をレンダリングするステップと、ディスプレイエンジンを用いて、ユーザに画像を表示するステップであって、画像は、第1のサイズを有し、画像は、第1のサイズより小さい、第2のサイズに調節可能である、ステップと、検出システムを用いて、第1のサイズから第2のサイズへの画像の調節を示す測定値を検出するステップと、アプリケーションを用いて、検出に基づいて、明確化ルーチンを実行し、画像の鮮明度を維持するステップとを含む、方法を提供する。
本発明は、例えば、以下の項目を提供する。
(項目1)
視認システムであって、
画像データを保持するためのコンテンツ源と、
アプリケーションの一部を形成するアプリケーションエンジンであって、前記アプリケーションエンジンは、前記コンテンツ源に通信可能に接続され、前記画像データを受信し、前記画像データに基づいて画像をレンダリングする、アプリケーションエンジンと、
ユーザに前記画像を表示するために前記アプリケーションエンジンに通信可能に接続されるディスプレイエンジンであって、前記画像は、第1のサイズを有し、前記画像は、前記第1のサイズより小さい第2のサイズに調節可能である、ディスプレイエンジンと、
前記第1のサイズから前記第2のサイズへの前記画像の調節を示す測定値を検出する検出システムであって、前記アプリケーションは、前記検出に応答して、明確化ルーチンを実行し、前記画像の鮮明度を維持する、検出システムと
を備える、視認システム。
(項目2)
前記ディスプレイエンジンは、前記ユーザに対する第1の仮想距離において、ユーザに前記画像を表示し、前記画像は、前記第1のサイズを有し、前記画像は、前記ユーザに対する第2の仮想距離まで移動可能であり、前記画像は、前記第1のサイズより小さい第2のサイズを有し、前記検出システムは、前記ユーザに対する前記第2の仮想距離への前記画像の移動を検出する移動検出システムである、項目1に記載の視認システム。
(項目3)
前記アプリケーションは、
前記第2の仮想距離に対応する選択フレームサイズを決定するフレームサイズ決定器であって、前記明確化ルーチンは、前記フレームサイズに基づく、フレームサイズ決定器
を含む、項目2に記載の視認システム。
(項目4)
前記アプリケーションは、
複数の距離と、個別の距離に対応する複数のフレームサイズとを有するルックアップテーブルと、
ルックアップアルゴリズムであって、前記ルックアップアルゴリズムは、前記ルックアップテーブルから前記第2の仮想距離に基づいて選択距離を決定し、前記選択フレームサイズが前記選択距離に対応するフレームサイズであることを決定する、ルックアップアルゴリズムと
を含む、項目3に記載の視認システム。
(項目5)
前記アプリケーションは、前記第1の仮想距離から前記第2の仮想距離までの前記移動が、所定の最小閾値距離を上回る場合に限り、前記明確化ルーチンを実行する、項目2に記載の視認システム。
(項目6)
前記アプリケーションは、所定の時間量が、前記第1の仮想距離から前記第2の仮想距離までの前記移動が所定の最小閾値距離を上回った後に経過した場合に限り、前記明確化ルーチンを実行する、項目5に記載の視認システム。
(項目7)
前記アプリケーションは、前記第1の仮想距離から前記第2の仮想距離までの前記移動が所定の最大閾値距離を下回る場合に限り、前記明確化ルーチンを実行する、項目2に記載の視認システム。
(項目8)
前記画像は、前記ディスプレイエンジンとのユーザの相互作用によって、前記第1のサイズから前記第2のサイズに調節可能である、項目1に記載の視認システム。
(項目9)
前記アプリケーションは、
アプリケーション合成器であって、前記アプリケーション合成器は、前記フレームサイズ決定器から前記選択フレームサイズ、および前記アプリケーションエンジンから前記画像を受信し、前記フレームサイズに基づいて前記画像をスケーリングする、アプリケーション合成器
を含む、項目3に記載の視認システム。
(項目10)
前記アプリケーションは、
前記アプリケーションエンジンから前記画像を受信するアプリケーションバッファであって、アプリケーション合成器は、前記アプリケーションバッファの中に前記画像のサブセットを描画し、前記サブセットは、前記選択フレームサイズに基づくサンプル間隔を有し、前記バッファが完全に書き込まれる場合より少ないピクセルを含む、アプリケーションバッファ
を含む、項目9に記載の視認システム。
(項目11)
前記サブセットをサンプリングするために、前記バッファが完全にサンプリングされる場合よりも少ない処理サイクルが要求され、より少ない電力が消費される、項目10に記載の視認システム。
(項目12)
前記アプリケーションバッファは、前記画像が前記第1の仮想距離から前記第2の仮想距離まで移動されたときに変化していないままであるサイズを有する、項目10に記載の視認システム。
(項目13)
前記ディスプレイエンジンは、前記画像が一連のサイクルの中で前記第1のサイズから前記第2のサイズに漸次調節され、前記バッファのより小さいセクションがサイクル毎に描画される伸展動作を実行する、項目12に記載の視認システム。
(項目14)
前記アプリケーションは、前記アプリケーションエンジンの中に前記フレームサイズを打ち込み、前記アプリケーションエンジンは、前記フレームサイズに基づいて、前記画像の鮮明度を維持するウィンドウ面積の再レイアウトを実施する、項目3に記載の視認システム。
(項目15)
前記ディスプレイエンジンに接続され、前記ユーザに前記画像を表示する立体視視認器をさらに備える、項目14に記載の視認システム。
(項目16)
前記画像は、テキストを含む、項目1に記載の視認システム。
(項目17)
前記ディスプレイエンジンは、前記アプリケーションエンジンにスクリーンサイズを提供し、前記スクリーンサイズの変化は、前記画像の調節を示す前記測定値である、項目1に記載の視認システム。
(項目18)
コンテンツを視認する方法であって、
アプリケーションエンジンを用いて、コンテンツ源からの画像データに基づいて画像をレンダリングすることと、
ディスプレイエンジンを用いて、ユーザに前記画像を表示することであって、前記画像は、第1のサイズを有し、前記画像は、前記第1のサイズより小さい第2のサイズに調節可能である、ことと、
検出システムを用いて、前記第1のサイズから前記第2のサイズへの前記画像の調節を示す測定値を検出することと、
アプリケーションを用いて、前記検出に応答して、明確化ルーチンを実行し、前記画像の鮮明度を維持することと
を含む、方法。
(項目19)
前記ディスプレイエンジンは、前記ユーザに対する第1の仮想距離において、ユーザに前記画像を表示し、前記画像は、前記第1のサイズを有し、前記画像は、前記ユーザに対する第2の仮想距離まで移動可能であり、前記画像は、前記第1のサイズより小さい第2のサイズを有し、前記検出システムは、前記ユーザに対する前記第2の仮想距離への前記画像の移動を検出する移動検出システムである、項目18に記載の方法。
(項目20)
前記アプリケーションは、
前記アプリケーションのフレームサイズ決定器を用いて、前記第2の仮想距離に対応する選択フレームサイズを決定することであって、前記明確化ルーチンは、前記フレームサイズに基づく、こと
を含む、項目19に記載の方法。
(項目21)
前記アプリケーションは、
ルックアップアルゴリズムを用いて、複数の距離と、個別の距離に対応する複数のフレームサイズとを有するルックアップテーブルから、前記第2の仮想距離に基づいて、選択距離を決定することと、
前記ルックアップアルゴリズムを用いて、前記選択フレームサイズが前記選択距離に対応するフレームサイズであることを決定することと
を含む、項目20に記載の方法。
(項目22)
前記アプリケーションは、前記第1の仮想距離から前記第2の仮想距離までの前記移動が所定の最小閾値距離を上回る場合に限り、前記明確化ルーチンを実行する、項目21に記載の方法。
(項目23)
前記アプリケーションは、所定の時間量が、前記第1の仮想距離から前記第2の仮想距離までの前記移動が所定の最小閾値距離を上回った後に経過した場合に限り、前記明確化ルーチンを実行する、項目22に記載の方法。
(項目24)
前記アプリケーションは、前記第1の仮想距離から前記第2の仮想距離までの前記移動が所定の最大閾値距離を下回る場合に限り、前記明確化ルーチンを実行する、項目19に記載の方法。
(項目25)
前記画像は、前記ディスプレイエンジンとのユーザの相互作用によって、前記第1のサイズから前記第2のサイズに調節可能である、項目18に記載の方法。
(項目26)
前記アプリケーションは、
前記アプリケーションのアプリケーション合成器を用いて、前記フレームサイズ決定器から前記選択フレームサイズを受信することと、
前記アプリケーションのアプリケーション合成器を用いて、前記フレームサイズに基づいて前記画像をスケーリングすることと
を含む、項目20に記載の方法。
(項目27)
前記アプリケーションのアプリケーションバッファを用いて、前記アプリケーションエンジンから前記画像を受信することであって、前記アプリケーション合成器は、前記アプリケーションバッファの中に前記画像のサブセットを描画し、前記サブセットは、前記選択フレームサイズに基づくサンプル間隔を有し、前記バッファが完全に書き込まれる場合より少ないピクセルを含む、こと
をさらに含む、項目26に記載の方法。
(項目28)
前記サブセットをサンプリングするために、前記バッファが完全にサンプリングされる場合よりも少ない処理サイクルが要求され、より少ない電力が消費される、項目27に記載の方法。
(項目29)
前記アプリケーションバッファは、前記画像が前記第1の仮想距離から前記第2の仮想距離まで移動されたときに変化していないままであるサイズを有する、項目27に記載の方法。
(項目30)
前記ディスプレイエンジンは、前記画像が一連のサイクルの中で前記第1のサイズから前記第2のサイズに漸次調節され、前記バッファのより小さいセクションがサイクル毎に描画される伸展動作を実行する、項目29に記載の方法。
(項目31)
前記アプリケーションを用いて、前記アプリケーションエンジンの中に前記フレームサイズを打ち込むことと、
前記アプリケーションエンジンを用いて、前記フレームサイズに基づいて、前記画像の鮮明度を維持するウィンドウ面積の再レイアウトを実施することと
をさらに含む、項目19に記載の方法。
(項目32)
前記ディスプレイエンジンに接続される立体視視認器を用いて、前記ユーザに前記画像を表示すること
をさらに含む、項目31に記載の方法。
(項目33)
前記画像は、テキストを含む、項目18に記載の方法。
(項目34)
前記ディスプレイエンジンは、前記アプリケーションエンジンにスクリーンサイズを提供し、前記スクリーンサイズの変化は、前記画像の調節を示す前記測定値である、項目18に記載の方法。
【図面の簡単な説明】
【0008】
本発明はさらに、付随の図面を参照して、実施例として説明される。
【0009】
図1図1は、本発明の第1の実施形態による、視認システムのブロック図である。
【0010】
図2A図2A、2B、および2Cは、図1の視認システムの機能を図示する、フローチャートである。
図2B図2A、2B、および2Cは、図1の視認システムの機能を図示する、フローチャートである。
図2C図2A、2B、および2Cは、図1の視認システムの機能を図示する、フローチャートである。
【0011】
図3A図3Aは、サイズ変更される前に表示される、画像を図示する。
【0012】
図3B図3Bは、サイズ変更され、その鮮明度を維持した後の画像を表示する。
【0013】
図3C図3Cは、その鮮明度を維持することなくサイズ変更されている、画像を図示する。
【0014】
図4図4A-4Fは、ブラウザウィンドウのコンテキスト内での再スケーリング側面を図示する。
【0015】
図5図5は、第1の実施形態を高レベルにおいて機能させるステップを図示する、フローチャートである。
【0016】
図6図6は、本発明の第2の実施形態による、視認システムのブロック図である。
【0017】
図7A図7Aおよび7Bは、図6の視認システムの機能を図示する、フローチャートである。
図7B図7Aおよび7Bは、図6の視認システムの機能を図示する、フローチャートである。
【0018】
図8図8は、本発明の一実施形態による、本発明のシステム内での用途を見出し得る、コンピュータの形態にある機械のブロック図である。
【発明を実施するための形態】
【0019】
付随の図面の図1は、コンテンツ源12と、ディスプレイエンジン16と、立体視視認器18と、アプリケーション20とを含む、本発明のある実施形態による、視認システム10を図示する。視認システム10は、再スケーリングルーチンを使用し、画像の鮮明度を維持してもよい。
【0020】
ディスプレイエンジン16およびアプリケーション20は、コンピュータ可読記憶媒体上に常駐し、視認システム10のプロセッサによって実行可能である、ソフトウェアシステムである。ディスプレイエンジン16およびアプリケーション20は、当業者によって一般的に理解されるであろうような呼出ならびにサブルーチンを通して、相互に通信可能に接続される。
【0021】
立体視視認器18は、物理的または無線接続を介してプロセッサに接続される、ハードウェアコンポーネントである。立体視視認器18はまた、ディスプレイエンジン16にも通信可能に接続される。
【0022】
アプリケーション20は、アプリケーションエンジン14と、アプリケーション合成器30と、フレームサイズ決定器32とを含む。
【0023】
コンテンツ源12は、プロセッサに接続される、ハードウェアコンポーネントである。コンテンツ源12はまた、アプリケーションエンジン14にも通信可能に接続される。コンテンツ源12は、画像データを保有することが可能である。そのような画像データは、例えば、写真または文書等の静止画像であってもよい。画像データは、代替として、ユーザが文書またはウェブページをスクロールすると移動する、文書もしくはウェブページ等の動画であってもよい、またはムービーを形成する画像の連続するフレームであってもよい。
【0024】
アプリケーションエンジン14は、例えば、画像データに基づいて画像をレンダリングすることが可能である、像ビューア、文書編集アプリケーション、ブラウザ、ムービービューア、または同等物であってもよい。
【0025】
ディスプレイエンジン16は、立体視視認器18に固有である、視野22の高さ(H)および幅(W)を決定する。視野22は、あるフレームサイズを有する、バッファテクスチャ24を有する。「フレームサイズ」は、概して、水平なピクセル(X´)の数および垂直のピクセル(Y´)の数の組み合わせを示すために当技術分野において使用される、用語である。
【0026】
アプリケーション合成器30は、アプリケーションバッファ28を有する。アプリケーション合成器30は、アプリケーションバッファ28の中に画像を描画する。ディスプレイエンジン16は、バッファテクスチャ24の座標を使用して、アプリケーションバッファ28の中で画像を伸展させ、次いで、ユーザに画像を表示する。
【0027】
立体視視認器18は、視認者の左眼および右眼の正面の左ディスプレイならびに右ディスプレイを伴う、視認者の頭部に搭載可能である、フレームを有してもよい。構成に応じて、眼の正面のディスプレイは、単一のディスプレイのように見えてもよく、眼あたり1つの、2つの異なる画像を投影するように構成されてもよい。立体視視認器18は、ディスプレイエンジン16から画像を受信し、視認者に、視野22内に画像を表示する。ディスプレイエンジン16は、ユーザに深度の知覚を与えるためにユーザの左眼および右眼にわずかに異なる画像を表示してもよい。ディスプレイエンジン16は、調節可能な深度視野における各画像を表示し、「輻輳・開散運動遠近調節」等の視覚関連強調に適応しながら、また、ユーザに深度の知覚を与えてもよい。バッファテクスチャ24内に表示される画像は、したがって、ユーザによって、ユーザから特定の仮想距離にあると知覚される。
【0028】
フレームサイズ決定器32は、テクスチャサイズ計算機26と、ルックアップテーブル34と、ルックアップアルゴリズム36とを含む。ルックアップテーブル34は、X列内に、複数の距離と、Y列内に、各フレームサイズが個別の距離に対応する、複数のフレームサイズとを有する。フレームサイズは、例えば、単一の方向におけるピクセル数(例えば、フレーム幅、またはフレーム高、もしくは対角線)によって表わされてもよい。フレームサイズは、次いで、例えば、固定されたアスペクト比を適用することによって、単に計算されてもよい。フレームサイズは、ユーザと仮想コンテンツとの間の距離の増加に伴って減少する。ルックアップアルゴリズム36は、入力として、ユーザと仮想コンテンツとの間の仮想距離を受信し、X列内の距離の中から、仮想距離に対応する選択距離を決定する。ルックアップアルゴリズム36は、次いで、選択距離に対応するフレームサイズを決定する。
【0029】
ルックアップテーブル34は、最初に、視認システム10上に画像を表示し、次いで、画像が立体視視認器18上を占有するピクセル数を測定することによって生成されている場合がある。画像が、ユーザから離れるように徐々に移動され、新しいフレームサイズが、測定されてもよい。距離および対応するピクセル数が、集約され、テーブルの中に置かれ、ルックアップテーブル34を形成し得る。ルックアップテーブルを生成する他の好適な方法も、使用され得る。ルックアップテーブル34およびルックアップアルゴリズム36は、代替として、ルックアップテーブル34およびルックアップアルゴリズム36と同一の機能を果たし得るが、スプライン補間アルゴリズムまたは同等物等の1つ以上の補間アルゴリズムを使用し得る、補間アルゴリズムと置換されてもよい。
【0030】
図2A、2B、および2Cは、視認システム10の機能をより詳細に示す。50において、ルックアップテーブル34が、メモリの中に記憶される。上記に記載されるように、ルックアップテーブル34は、複数の距離と、個別の距離に対応する、複数のフレームサイズとを有する。参照番号52は、画像データが、コンテンツ源12上に保持されることを表す。54において、アプリケーションエンジン14が、画像データに基づいて画像をレンダリングする。
【0031】
56において、アプリケーションバッファ28が、アプリケーションエンジン14から画像を受信する。アプリケーションバッファ28は、所定のサイズを有し、アプリケーションエンジン14からの画像が、アプリケーションバッファ28を満たす。
【0032】
60において、ディスプレイエンジン16が、ユーザに対する第1の仮想距離において、ユーザに画像を表示し、画像は、第1のサイズを有する。ディスプレイエンジン16は、例えば、デフォルト場所において、事前設定される最大表面を伴う、ブラウザウィンドウまたは文書ビューアウィンドウを表示してもよい。デフォルト場所は、ユーザが画像を視認し易い、事前選択される、ユーザにやさしい場所であってもよい。画像は、テキスト、像、および/または他の視覚コンテンツを含んでもよい。画像が、テキストを含む場合、画像は、好ましくは、ユーザが容易にテキストを読み取り得るように、ユーザからデフォルト距離において表示される。
【0033】
最大表面は、視認システム10が画像に割り当てる、最大の可能性として考えられるテクスチャであり得る。立体視視認器18は、1,280×960ピクセルの分解能を有してもよい。視認システム10は、所与のアプリケーション、ウィンドウ、またはコンテンツのタイプ(例えば、ブラウザウィンドウ)のために最大フレームサイズを割り当ててもよい。ブラウザアプリケーションは、(これが、他のアプリケーションウィンドウと同時に表示され得ることを意味する)ランドスケープアプリケーションであってもよい。ブラウザアプリケーションは、(1つのアプリケーションウィンドウが、視野全体を占める)没入型アプリケーションでなくてもよく、したがって、ブラウザウィンドウが、視野全体(例えば、1,280×960)を要することは決してないであろうと仮定され得、したがって、これが、1,280ピクセルよりわずかに小さく、これが、ブラウザウィンドウを含有しないであろう、視野の境界またはそのごく一部を可能にし得るため、1,120ピクセルの値(例えば、固定されたアスペクト比を伴う)が、選定され得る。1,280ピクセルより大きい最大表面フレームサイズを選定することは、立体視視認器18の分解能を超過し、その場合、視認システム10は、ユーザにコンテンツを表示するときの表示分解能に合致するように最小フィルタを適用し得、これは、ひいては、同等の分解能の画像を表示するために不必要な処理能力をもたらし得る(すなわち、1,280ピクセルの最大表面は、最小フィルタが1,280ピクセルに適用された後、1,120ピクセルと同等になる)。
【0034】
立体視視認器18は、実世界の物体に対する立体視視認器18の移動を検出する、いくつかのシステムを有してもよい。例えば、立体視視認器18は、立体視視認器18の加速度を検出する、1つ以上の加速度計と、その回転を検出する、ジャイロスコープとを伴う、慣性測定ユニットを有してもよい。加えて、立体視視認器18は、実世界の物体の画像を捕捉し、立体視視認器18のビュー内で実世界の物体の移動を追跡し得る、カメラシステムを有してもよい。これらのシステムは、実世界の物体に対する立体視視認器18の移動の検出を可能にする、「知能」を提供する。立体視視認器18が、実世界の物体に対して移動すると、ディスプレイエンジン16によって表示される画像もまた、立体視視認器18のビュー内で移動し得る。例えば、画像が壁上に位置するという印象をユーザに与える画像が、ユーザに表示される場合、およびユーザが、壁により近接するように歩行する場合、画像が表示される深度もまた、ユーザにより近接するように移動し、画像が壁上に留まっているという印象をユーザに与える。画像はまた、ユーザの視野内でより大きい状態にもなるであろう。
【0035】
また、ユーザがディスプレイエンジン16と相互作用し、画像のサイズを増加させることも、可能性として考えられる。立体視視認器18は、例えば、ユーザの手によって行われるジェスチャを捕捉し得る、1つ以上のカメラを有してもよく、視認システム10は、そのようなジェスチャを解釈し、画像のサイズを増加させてもよい。ユーザは、画像をユーザにより近接するように移動させることによって画像のサイズを増加させてもよい、または画像がユーザに対して定常の仮想距離に留まっている間、画像のサイズを増加させてもよい。
【0036】
画像が、より大きい状態になる(例えば、ユーザが、画像に向かって歩行する)場合、レンダリングされた分解能が、変化(例えば、増加)し得るが、アプリケーションバッファ28のサイズは、同一のままであり得る。従来的システムは、画像のぼやけを引き起こし得る、広義には、「ミップマッピング」と呼ばれる、組み込まれるサイズ変更特徴を使用し得る。ミップマッピングは、当技術分野において周知であるフィルタ、例えば、「平均フィルタ」、「ガウス平滑化フィルタ」、「双線形フィルタ」等のフィルタの使用を含み得る。例えば、ブラウザウィンドウが、さらに離れるように移動し、より少ないピクセルが、ブラウザウィンドウに利用可能である場合、第1の画像内の4つの隣接するピクセルが、第2の画像内で単一のピクセルとして表示される、平均化方法が、使用されてもよい。単一のピクセルは、(第1の画像の中に)元々表示された4つのピクセルの平均を表す、0~255の平均ピクセル値を与えられ、第2の画像の中にぼやけをもたらし得る。
【0037】
62において、画像が、ユーザに対する第2の仮想距離まで移動され、画像は、第1のサイズより小さい、第2のサイズを有する。所与の実施例では、ユーザは、壁からさらに離れるように移動し得、ディスプレイエンジン16は、画像をユーザのビュー内でユーザからさらに離れるように移動させることによって、画像が壁上に留まっているという印象を維持し得、その結果、また、画像をより小さくさせる。より少ないピクセルが、ここで、画像を表示するために利用可能である。従来的なミップマッピング技法は、4つの元々表示されていたピクセルを捉え、それらのピクセル値を平均化し、平均化された値を単一のピクセルとして表示し得る。そのようなピクセル値の平均化は、ぼやけをもたらし得る。
【0038】
従来的システムは、独立型コンピュータディスプレイ上に画像を表示する目的のために使用されている場合がある。例えば、ブラウザウィンドウが、従来的な独立型コンピュータディスプレイ上に表示されてもよい。ユーザは、次いで、制御を使用し、ウェブページを拡大または縮小してもよい。そのようなウェブページの拡大および縮小は、ミップマッピングフィルタリング技法をトリガし得る。ユーザが、独立型コンピュータディスプレイから離れるように移動すると、ブラウザウィンドウは、ユーザの眼の視野内でより小さい状態になるため、ユーザのビュー内でより小さい状態になる。ウィンドウは、加えて、ユーザが独立型コンピュータディスプレイから離れるように移動した結果として、より小さくされず、ウィンドウ内での拡大は、起こらない。ウィンドウは、独立型コンピュータディスプレイに対して静的なままであり、ユーザの眼の視野内のみにおいて、より小さい状態になる。結果として、ディスプレイ内の画像は、ユーザが独立型コンピュータディスプレイから離れるように移動したとき、よりぼやけた状態にならない。
【0039】
64において、アプリケーション20の移動検出システムが、ユーザに対する第2の仮想距離への画像の移動を検出する。移動の検出は、画像が、より小さい状態になりつつあることを示す測定値の検出である。画像の(より小さいまたはより大きい)サイズの変化は、(ぼやけと対照的な)画像の鮮明度を維持するための明確化ルーチンを必要とし得る。
【0040】
66において、ユーザは、加えて、ディスプレイエンジン16と相互作用し、画像のサイズを第1のサイズから第2のサイズに変化させ得る。68において、検出システムが、第1のサイズから第2のサイズへの調節を示す、測定値を検出する。70において、68における検出に応答して、倍率が、決定され、66における調節を考慮し得る。倍率は、最終的には、(随意に、サブルーチン64、74、76、および/または78を介して)サブルーチン82に送信され得、フレームサイズを決定するステップは、少なくとも部分的に、倍率によって決定され得る。倍率は、例えば、ユーザ操作の前および後に表示される画像の比率を計算することによって決定されてもよい。例えば、画像は、最初に、1,280ピクセル(例えば、フル分解能/フルバッファ)において表示されてもよい。画像は、ユーザから離れるように移動し、したがって、640ピクセル(ルックアップテーブル34によって、画像のユーザからの距離に基づいて決定され得る)になり得る。ユーザは、次いで、1.5の倍率で画像をより大きくするようにこれを伸展させ(すなわち、画像は、ここで、かつての状態より50%大きい)、640ピクセルを有する事前調節された画像と同一の距離において、960ピクセルを有する事後調節された画像をもたらしてもよい。ユーザは、ここで、画像に向かって歩行し得る。ルックアップテーブル34は、ブラウザウィンドウとユーザとの間の距離に基づいて、画像が750ピクセルであるべきであり、スケーリング比率が適用された後、スクリーンが、実際には、1,100ピクセルであるべきであると決定してもよい。ルックアップテーブル34からの、およびルックアップアルゴリズム36によって与えられる倍率は、したがって、スケーリング比率によって乗算される。特定の状況に応じて、画像は、60においてより小さく、66においてより大きい状態になり、60においてより小さく、66においてより小さい状態になり、60において変化していないままであり、66において拡大する、またはより小さい状態になる等となってもよい。さらなる議論の目的のために、66におけるユーザ相互作用の効果は、64における仮想距離の変化の検出のために無視され、仮想距離は、ユーザと仮想コンテンツ/画像との間の距離であり得る。
【0041】
74において、(随意に)第1の仮想距離から第2の仮想距離までの移動が、所定の最小閾値距離を上回るかどうかの決定が行われる。76において、(随意に)所定の最小閾値時間量が、第1の仮想距離からの移動と第2の仮想距離の移動との間に経過したかどうかの決定が行われる。所定の最小閾値距離は、例えば、0.25メートルであってもよい。所定の最小時間量は、例えば、1秒または1分であってもよい。74および76において参照される閾値は、過度に頻繁であり得る明確化更新に起因する、ジッタ経験を回避するように設定されてもよい。
【0042】
78において、(随意に)第1の仮想距離から第2の仮想距離までの移動が、所定の最大閾値距離を下回るかどうかの決定が行われる。所定の最大閾値距離は、例えば、4メートルであってもよい。第2の仮想距離が、4メートルを上回る場合、画像が、ユーザが読み取るために小さすぎであり得るため、明確化ルーチンが実行される必要性がない場合がある。特に、ウェブページ上または文書内のテキストが、ユーザには小さすぎて見えない場合がある。従来的なミップマッピング技法に起因するいかなる画像調節も、そのような技法から結果として生じるぼやけが、ユーザ経験に悪影響を及ぼさないであろうため、したがって、容認可能である。74、76、および78における閾値のうちの1つ以上のものが、ユーザ試験を通して決定されてもよい。74、76、および78を別の順序で実行すること、または動作のうちの1つ以上のものを排除することも、可能性として考えられ得る。
【0043】
説明される実施形態では、74、76、および78が、全て正であるという決定が行われる場合、本システムは、フレームサイズ決定器32が、第2の仮想距離に対応する選択フレームサイズを決定する、82に進む。例えば、第2の仮想距離に基づく技法、適切なレンダリングサイズとの合致に基づく技法、最終的なレンダリング分解能に基づく技法、コンテンツディスプレイのために利用可能なピクセル数に基づく技法等の種々の技法が、82において決定を行うために採用されてもよい。82における決定は、ルックアップアルゴリズム36が、(I)第2の仮想距離に基づいてルックアップテーブル34から選択距離を選択し、(II)選択された距離に対応するフレームサイズである、選択フレームサイズを決定する、84における決定を含む。選択されたフレームサイズは、次いで、明確化ルーチンのための基礎を形成する。
【0044】
ブロック94は、バッファサイズが、ブロック56において参照されたバッファサイズから変化していないままであることを示す。
【0045】
98において、アプリケーション20は、立体視視認器18を通してユーザに表示されるときに画像に配分されるフレームサイズに基づいて、画像の鮮明度を維持する、明確化ルーチンを実行する。明確化ルーチンが、64における、第2の仮想距離への画像の移動の検出に応答するものであることに留意されたい。100において、アプリケーション合成器30が、フレームサイズ決定器32から選択フレームサイズを受信する。本実施例では、フレームサイズ決定器32は、700の選択されたフレームサイズを提供されている。
【0046】
102において、テクスチャサイズ計算機26は、フレームサイズに基づいて、画像の座標を計算する。垂直座標および水平座標が、同一量調節され、画像の固定されたアスペクト比を維持してもよい。
【0047】
104において、アプリケーション合成器30が、アプリケーションバッファ28内に、新しい画像サイズにおける新しい画像を描画する。アプリケーションバッファ28のサイズは、依然として、ブロック94によって示されるように、変化していないままである。フレームサイズが1,120から1,000に縮小する、所与の実施例では、1,000ピクセルのみが、アプリケーションバッファ28の中に描画され、比例する調節が、画像の垂直軸上に行われる。更新された画像は、したがって、バッファ全体が使用される場合より少ないピクセルを有する。アプリケーションバッファ28の中により少ないピクセルを描画することによって、画像がバッファ全体を満たす場合よりも、少ない処理サイクルが、要求され、少ない電力が、消費される。
【0048】
105において、ピクセル数、サイズ、および/または分解能等の更新された画像情報が、アプリケーションと関連付けられるコンテンツに送信される。アプリケーションと関連付けられるコンテンツのいくつかの実施例は、アプリケーションプレビュー(例えば、アプリケーションアイコンのホバー上に現れ得る、アプリケーションのスクリーンショット)、ダイアログボックス(例えば、アプリケーションコンテンツがアクセスされ得ないこと、またはユーザ名ならびに/もしくはパスワードの要求を記載するボックス)、コントロールボックス、情報ボックス、他のポップアップ、および/または任意の他のウィジェットもしくはビュー、または、少なくとも部分的に、アプリケーションもしくはアプリケーションウィンドウの分解能および/またはサイズならびに/もしくはピクセル数に基づき得る、二次ウィンドウである。アプリケーションと関連付けられるコンテンツは、例えば、ユーザがファイルをナビゲートすることを可能にする、ダイアログボックスであってもよい。アプリケーションと関連付けられるコンテンツは、アプリケーションウィンドウ内のコンテンツでなくてもよく、アプリケーションウィンドウによってトリガおよび制御され得る、親子アプリケーションウィンドウ等の二次ウィンドウであってもよい。アプリケーションウィンドウと関連付けられるコンテンツは、ブラウザウィンドウのプレビューを表示するブラウザアプリケーション等のアプリケーションウィンドウのプレビューであってもよい。プレビューは、アプリケーション履歴特徴による使用のため、および/またはカーソルがアプリケーションアイコンにわたって重なると表示され得る、アプリケーションウィンドウのスクリーンショットとして生成されてもよい。106において、アプリケーション合成器30は、更新された画像(および対応するテクスチャ/UV座標)を伴う全体的バッファを、ユーザへの表示のためのディスプレイエンジン16に提供する。
【0049】
ある実装では、その中に画像が描画されていなかったバッファの部分を含む、バッファ全体を表示するプレビュー(例えば、スクリーンショット画像)をもたらし得る、105におけるルーチンをスキップすることが、有用であり得る。ルーチン105をスキップすることは、したがって、本システムが、アプリケーションウィンドウと関連付けられるコンテンツにUV座標を適用せず、したがって、プレビューが、全バッファフレーム(例えば、1,000×1,000ピクセル)を複製し、次いで、全バッファフレームをより小さいサイズ(例えば、50×50ピクセル)において描画することをもたらし得る。ルーチン105の包含は、プレビューが、更新された画像を含有するバッファフレームの部分のみを複製し、したがって、プレビューが、その中に画像が描画されていなかったバッファの部分を含むことを防止することを可能にし得る。
【0050】
アプリケーションと関連付けられるコンテンツがダイアログボックスであり、アプリケーションが1つ以上のブラウザウィンドウを表示するブラウザアプリケーションである、アプリケーションでは、ルーチン105をスキップすることは、ダイアログボックスが、ブラウザウィンドウのサイズならびに/もしくは分解能が更新される度にブラウザウィンドウに対して移動することをもたらし得る。例えば、ダイアログボックスは、アプリケーションウィンドウの右上の隅から開始してもよく、ユーザとブラウザウィンドウとの間の距離が増加した場合、ブラウザウィンドウの中心において現れてもよい。実施例として、ブラウザウィンドウは、1,000×1,000ピクセルの第1のサイズを有してもよく、ダイアログボックスは、200、200ピクセルにおいて開始してもよい。1,000×1,000ピクセルのブラウザウィンドウが、図2A-2Cに説明されるルーチンの全てまたは一部によって500×500にサイズ変更された場合、ダイアログボックスは、ルーチン105が実行されない場合、200、200に留まるであろう。フローにおけるルーチン105の含有を伴うと、ダイアログボックスは、100、100に移動し、ブラウザウィンドウに対するその比例場所を維持するであろう。
【0051】
88において、ディスプレイエンジン16が、伸展動作を実行する。伸展動作は、画像がより大きくされるとき、または画像がより小さくされるときに実行され得る。伸展動作は、ディスプレイエンジン16が、更新された画像を、テクスチャ座標を利用し、更新された画像が満たすアプリケーションバッファの部分を抽出することによって、ユーザによって視認されるような最終表示サイズに適合するように伸展させるときに実施され得る。非同期フレーム更新が、実行される場合、98における明確化ルーチンを実行するプロセスは、ディスプレイエンジンの第1のフレーム更新の間に生じ、88における伸展動作を実行するプロセスは、ディスプレイエンジンの異なるフレーム更新の間に生じる。非同期フレーム更新の本場合では、ユーザは、画像内のジッタの揺動等の視覚的異常に気付き得る。揺動を回避するために、88における伸展動作を実行し、98における明確化ルーチンを実行するプロセスが、ディスプレイエンジンの単一のフレーム更新、すなわち、同期フレーム更新内で生じてもよい。同期フレーム更新は、非同期フレーム更新と比較されると、表示される画像が、第1の分解能における第1の画像から第2の分解能における第2の画像に更新すると、より平滑な視覚遷移をもたらす。
【0052】
ディスプレイエンジンが、90において更新された画像を伸展させた後、更新された画像は、ユーザに表示されてもよい。
【0053】
92において、新しい仮想距離または仮想距離の変化が、検出され、プロセスは、ステップ74に一巡して戻る。
【0054】
図3Aは、サイズ変更される前の画像を図示する。図3Bでは、画像は、より小さくされている。画像は、図1のアプリケーション20によって実行される、図2Cの明確化ルーチン98のため、鮮明なままである。図3Cは、98における明確化ルーチンが採用されず、代わりに、ミップマッピングルーチンが、上記に説明されるように採用される場合、画像が、ぼやけることを図示する。上記に述べられるように、画像はまた、第2の仮想距離が最大閾値距離を上回るという決定が、図2Bの78において行われる場合、ぼやけた状態になることを可能にされ得る。
【0055】
図4A-4Fは、上記に参照されるある表示側面をより詳細に図示する。図4Aでは、実施例として、バッファが、1,000×800のフレームサイズを有し、空間全体(1,1)を満たす、テクスチャを有する。図4Bでは、画像が(ユーザへの)最終レンダリング場面内で表示されるであろう空間が、900×750のフレームサイズまで縮小されている。図4Cでは、画像が、ピクセル空間を満たす。いくつかの実施形態では、図1のディスプレイエンジン16が、より大きいテクスチャ(1,000×800)がより小さいブラウザウィンドウ(900×750)内に表示されるように、フィルタを適用することが要求され得る。したがって、フレームサイズの縮小が、存在する。コンテンツが、続いて、より小さくされる場合、本システムは、アプリケーション20によって実行される、98における明確化ルーチンがない状態において、独立型コンピュータディスプレイ上で起動するシステムのために要求される全てである、図4Bおよび4Cを繰り返すであろう。
【0056】
図4Dでは、フレームサイズ(すなわち、ユーザに画像を表示するために配分されるピクセル数)が、さらに縮小される(700×600)。図4Eに示されるように、バッファサイズは、変化していないままである(1,000×800)。しかしながら、テクスチャサイズは、いくつかの実施形態では、ルックアップテーブル34に従って調節される(800×700)。図4Fに示されるように、図1のディスプレイエンジン16は、より大きいテクスチャ(800×700)がより小さいブラウザウィンドウ(700×600)内に表示されるように、フィルタリングを適用してもよい。フィルタが、依然として、図4Fにおいて使用されるが、バッファの中の画像サイズと画像の最終レンダリングサイズとの間の差異は、ユーザが気付き得る画質の減少が存在しない程度に十分に近い。フルバッファ画像(1,000×800)が比較的に小さい最終レンダリングサイズ(例えば、700×600)において表示される必要がある状況では、フィルタは、画質をユーザが気付き得るレベルまで低減させ得る。いくつかの実施形態では、図4D-4Fが、繰り返されてもよく、ユーザと表示される画像との間の新しい距離が測定されると、フレームサイズが、更新されてもよい。いくつかの実施形態では、本システムは、画像が、閾値時間周期にわたって移動していなくなるまで画像サイズを調節することを待機してもよく、そのため、図4D-4Fは、ユーザに対するコンテンツの所与の移動に関して1度のみ、生じることが必要である。
【0057】
図5は、上記に説明される再スケーリングルーチンの高レベルフローチャートである。200において、アプリケーションコンテンツが、最終レンダリング場面の中のアプリケーションウィンドウ(またはプリズム)の中に表示される。202において、ユーザに対するアプリケーションウィンドウ/プリズムのサイズが、変更される。204において、ディスプレイエンジン16が、ユーザとアプリケーションウィンドウとの間の距離をアプリケーション20に通知する。206において、ユーザとアプリケーションウィンドウとの間の距離に基づいた、コンテンツの再スケーリングが、実行される。208において、ディスプレイエンジン16が、アプリケーションコンテンツを再表示する。
【0058】
図6は、本発明の別の実施形態による、視認システム10Aを図示する。図6の視認システム10Aは、多くの点において、図1の視認システム10に類似し、同様の参照番号が、同様または類似のコンポーネントを示す。
【0059】
図1を参照して議論されるように、ディスプレイエンジン16は、ユーザに、アプリケーション20のフレームサイズ決定器32までの距離を提供する。図6では、ディスプレイエンジン16Aは、ユーザに、アプリケーション20Aのフレームサイズ決定器32Aまでの距離を提供しない。代わりに、ディスプレイエンジン16Aは、フレームサイズ決定器32Aにスクリーンサイズを提供する。スクリーンサイズは、例えば、バッファテクスチャ24Aに対応するサイズであってもよい。
【0060】
フレームサイズ決定器32Aは、ユーザ距離に基づいてテクスチャサイズを決定する、ルックアップテーブルまたはルックアップアルゴリズムを有していない。代わりに、テクスチャサイズ計算機26Aが、ディスプレイエンジン16Aから受信されるスクリーンサイズを使用し、所望のテクスチャサイズを決定する。
【0061】
アプリケーションエンジン14Aは、フレームサイズ決定器32Aからテクスチャサイズを受信する。アプリケーション合成器30Aは、アプリケーションバッファ28Aの中に画像サイズを記述する。ディスプレイエンジン16Aは、アプリケーションバッファ28Aから画像を読み出し、バッファテクスチャ24A内でユーザに画像を表示する。
【0062】
図7Aおよび7Bは、図6の視認システム10Aの機能を図示する。図7Aおよび7Bにおいて実行される動作は、図2A、2B、ならびに2Cにおいて実行される動作に類似し、同様の参照番号が、同様または類似の動作を示す。図7Aおよび7Bによって表わされるアルゴリズムが、図2A、2B、ならびに2Cのアルゴリズムに含まれるある動作、特に、ブロック62-78における動作、ブロック84における動作、ブロック90および92における動作を省略する。
【0063】
図1の視認システム10は、テクスチャサイズが、種々の視認距離に適応するように調節され得るという利点を有する。しかしながら、視認距離は、常時、正確に検出されるわけではない、または高レベルの正確度で検出されるわけではない場合がある。図6の視認システム10Aは、スクリーンサイズが、厳密なサイズであり、より正確に計算され、ユーザに表示される、最終的テクスチャサイズをもたらすという利点を有する。スクリーンサイズは、依然として、ユーザの移動の検出に基づいて調節されてもよい。しかしながら、スクリーンサイズは、ユーザが、移動ベースの検出システムと関連付けられる、より少ない「ドリフト」または不正確度を伴って移動しないとき、安定したままである。ユーザは、したがって、ユーザに表示されるスクリーンサイズのより少ない変動性を知覚する。画像は、図1の視認システム10または図6の視認システム10Aのいずれかを使用して第1のサイズから第2のサイズに調節され得るが、図6の視認システム10Aを使用すると、画像サイズにより少ないジッタが起こる。
【0064】
図8は、機械に、本明細書に議論される方法論のうちの任意の1つ以上のものを実施させるための命令のセットが、いくつかの実施形態に従って実行され得る、コンピュータシステム900の例示的形態にある、機械の図式表現を示す。代替実施形態では、機械は、独立デバイスとして動作する、または他の機械に接続(例えば、ネットワーク化)されてもよい。さらに、単一の機械のみが、図示されているが、用語「機械」はまた、本明細書に議論される方法論のうちの任意の1つ以上のものを実施するための命令のセット(もしくは複数のセット)を個々またはともに実行する、任意の機械の集合を含むように捉えられるものとする。
【0065】
例示的コンピュータシステム900は、バス908を介して相互と通信する、プロセッサ902(例えば、中央処理ユニット(CPU)、グラフィック処理ユニット(GPU)、または両方)と、メインメモリ904(例えば、読取専用メモリ(ROM)、フラッシュメモリ、同期DRAM(SDRAM)またはRambus DRAM(RDRAM)等の動的ランダムアクセスメモリ(DRAM)等)と、静的メモリ906(例えば、フラッシュメモリ、静的ランダムアクセスメモリ(SRAM)等)とを含む。
【0066】
コンピュータシステム900はさらに、ディスクドライブユニット916と、ネットワークインターフェースデバイス920と含んでもよい。
【0067】
ディスクドライブユニット916は、その上に本明細書に説明される方法論または機能のうちの任意の1つ以上のものを具現化する、命令924(例えば、ソフトウェア)の1つ以上のセットが記憶される、機械可読媒体922を含む。ソフトウェアはまた、完全または少なくとも部分的に、コンピュータシステム900によるその実行の間に、メインメモリ904内、および/またはプロセッサ902内に常駐し、メインメモリ904ならびにプロセッサ902もまた、機械可読媒体を成し得る。
【0068】
ソフトウェアはさらに、ネットワークインターフェースデバイス920を介して、ネットワーク928を経由して、伝送または受信されてもよい。
【0069】
コンピュータシステム900は、プロジェクタを駆動し、レーザ光を発生させるために使用される、レーザドライバチップ950を含む。レーザドライバチップ950は、それ自体のデータストア960と、それ自体のプロセッサ962とを含む。
【0070】
いくつかの実施形態では、コンピュータシステム900および/または視認システム10は、米国特許出願第14/331218号(参照することによって本明細書に組み込まれる)に説明されるような複合現実システムの全てまたは一部であってもよい。
【0071】
ある例示的実施形態が、説明され、付随の図面に示されているが、そのような実施形態が、例証的に過ぎず、本発明を制限するものではないこと、および本発明が、修正が当業者に想起され得るため、示され、説明される具体的な構築物ならびに配列に制限されるものではないことを理解されたい。
図1
図2A
図2B
図2C
図3A
図3B
図3C
図4A-4F】
図5
図6
図7A
図7B
図8