上記の通り、物理的環境及びその中のオブジェクトの異なるビューを提供し、ユーザが、測定値などの注釈を物理的環境及びその中のオブジェクトに重ね、注釈と、物理的環境及びその中のオブジェクトとの双方向作用を可視化することを可能にすることにより、物理的環境、及びその中のオブジェクトを注釈してモデリングするのに、拡張現実環境は有用である。拡張現実及び/又は仮想現実を使用する、従来の注釈及びモデリング方法は多くの場合、機能性が制限されている。場合によっては、拡張現実を用いる従来の測定方法は、ユーザが、特定の特徴を構成するための測定の種類を明確にすることを必要とすることにより、機能性が限定されている。場合によっては、拡張現実を用いる、従来の注釈方法は、ユーザが注釈を追加するのに役立つガイドを提供しない、又は、現在のコンテキストを注釈進行と考ない静的な方法でガイドを提供する。場合によっては、拡張現実を用いる、従来の注釈方法は、作成された注釈の追跡を保持せず、ユーザは、過去の注釈行動を効率的に確認することができない。場合によっては、拡張現実を用いる、従来の注釈及び測定方法は、物理的表面の形状又は湾曲を考慮しない、直線の注釈及び測定に限定される。場合によっては、拡張現実を用いる、従来の注釈方法は、ユーザが追加する各注釈に対して、個別の入力を必要とする。場合によっては、物理的環境をモデリングする従来の方法はユーザに、モデリングプロセスの進行について十分なフィードバックを提供しない。場合によっては、略図などの、環境のモデルを確認する従来の方法は、視野内での、モデルの関係する様相を維持しない。本明細書にて開示する実施形態は、ユーザが、(例えば、よりスマートで洗練された機能性を提供することにより、ユーザが、より少ない入力で、拡張現実環境内で異なる操作を実施することを可能にすることにより、かつ/又は、ユーザインタフェースをシンプルにすることにより)拡張現実及び/又は仮想現実環境を使用して、環境を注釈、測定、及びモデリングするための直観的方法を提供する。更に、本明細書の実施形態は、ユーザに、測定又はモデリングされている物理的オブジェクトについての、及び、仮想/拡張現実環境内で実施されている操作についての、追加情報を提供する、改善されたフィードバックを提供する。
本明細書で記載されるシステム、方法、及びGUIは、複数の方法で、拡張現実及び/又は仮想現実環境との、ユーザインタフェースの双方向作用を改善する。例えば、これらは、物理的空間で特徴の自動検出を提供し、異なる種類の、検出された特徴、改善されたラベリング及びガイドに対する(例えば、改善された注釈配置に対する)適切な測定を行うことにより、ユーザが、測定情報と双方向作用して管理することを可能にすることにより、環境の表現の上に、関連する注釈及び測定値を見えるように維持することにより、並びに、ユーザに、環境をモデリングしながら、プロセスのモデリングの進行についての改善されたフィードバックを提供することにより、物理的環境を注釈及びモデリングするのを容易にする。
以下、図1A~図1B、図2A~2B、及び図3A~3Cは、例示的なデバイスの説明を提供する。図4A~4B、及び5A~5CN、6A~6Y、及び7A~7ATは、拡張現実環境などの環境、及びメディア項目を注釈し、測定し、かつモデリングすることと双方向作用するための、例示的なユーザインタフェースについて示す。図8A~8Fは、拡張現実を使用して、物理的環境の自動的に判定された測定値を表示する方法のフローダイヤグラムを示す。図9A~9Cは、拡張現実環境内で自動的に判定されたアンカー点に基づき、位置調整ガイドを提供するための方法のフローダイヤグラムを示す。図10A~10Cは、拡張現実環境内でのユーザ入力に応じて、動的位置調整ガイドを提供する方法のフローダイヤグラムを示す。図11A~11Eは、いくつかの実施形態に係る、拡張現実環境内のビュー内にある物理的特徴の種類に基づき、自動的に注釈モードを変更する方法のフローダイヤグラムを示す。図12A~12Cは、いくつかの実施形態に係る、注釈セッションの間に注釈配置ユーザインタフェースを使用して加えられた注釈の一覧を含む、セッション履歴を表示する方法のフローダイヤグラムを示す。図13A~13Dは、いくつかの実施形態に係る、物理的表面に沿って経路を測定し、物理的表面の形状及び湾曲を考慮に入れる方法のフローダイヤグラムを示す。図14A~14Dは、いくつかの実施形態に係る、以前にキャプチャしたメディアに表現される物理的特徴を測定する方法のフローダイヤグラムを示す。図15A~15Dは、いくつかの実施形態に係る、物理的環境をスキャンして、物理的環境をモデリングするための深度情報をキャプチャする方法のフローダイヤグラムを示す。図16A~16Eは、いくつかの実施形態に係る、環境の略図を確認し、これと双方向作用させる方法のフローダイヤグラムを示す。
図5A~5CN、6A~6Y、及び7A~7ATのユーザインタフェースを使用して、図8A~8F、9A~9C、10A~10C、11A~11C、12A~12C、13A~13D、14A~14D、15A~15D、及び16A~16Eのプロセスを示す。
例示的なデバイス
ここで、添付図面に実施例が示される実施形態への詳細な参照が行われる。以下の詳細な説明では、説明される様々な実施形態の完全な理解を提供するために数多くの具体的な詳細が記載されている。しかしながら、記載されている様々な実施形態は、これらの具体的な詳細を伴わずとも実践し得ることが、当業者には明らかであろう。他の例では、周知の方法、手順、構成要素、回路、及びネットワークは、実施形態の態様を不必要に不明瞭にしないよう詳細には説明されていない。
本明細書では、第1、第2などの用語は、いくつかの実施例で、様々な要素を説明するために使用されるが、これらの要素は、それらの用語によって限定されるべきではないことも理解されるであろう。これらの用語は、ある要素を別の要素と区別するためにのみ使用される。例えば、説明されている様々な実施形態の範囲から逸脱することなく、第1の接触は、第2の接触と称することができ、同様に、第2の接触は、第1の接触と称し得る。第1の接触及び第2の接触は両方とも接触であるが、文脈がそうではないことを明確に示さない限り、それらは同じ接触ではない。
本明細書に記載する様々な実施形態の説明で使用される術語は、特定の実施形態を説明することのみを目的とし、限定的であることは意図されていない。記載する様々な実施形態の説明及び添付の特許請求の範囲では、単数形の「a(1つ、一)」、「an(1つ、一)」、及び「the(その、この)」は、文脈上別途明白に記載しない限り、複数形も同様に含むことが意図される。また、本明細書で使用されるとき、用語「及び/又は」は、関連する列挙された項目のうちの1つ以上のいずれか及び全ての考えられる組み合わせを指し、かつこれを含むことを理解されたい。用語「includes(含む)」、「including(含む)」、「comprises(含む、備える)」、及び/又は「comprising(含む、備える)」は、本明細書で使用する場合、述べられた特徴、整数、ステップ、動作、要素、及び/又は構成要素の存在を指定するが、1つ以上の他の特徴、整数、ステップ、動作、要素、構成要素、及び/又はそれらのグループの存在又は追加を除外しないことが更に理解されるであろう。
本明細書に記載される場合、用語「if(~の場合)」は、任意選択で、文脈に依存して「when(~のとき)」、「upon(~すると)」、「in response to determining(~と判定したことに応じて)」、又は「in response to detecting(~を検出したことに応じて)」を意味するものと解釈される。同様に、「~と判定された場合(if it is determined)」又は「[記載の状態又はイベント]が検出された場合(if[a stated condition or event]is detected)」という語句は、任意選択的に、文脈に応じて、「~と判定したとき(upon determining)」若しくは「~と判定したことに応じて(in response to determining)」、又は「[記載の状態又はイベント]を検出したとき(upon detecting[the stated condition or event])」若しくは「[記載の状態又はイベント]を検出したことに応じて(in response to detecting[the stated condition or event])」を意味すると解釈される。
拡張及び/又は仮想現実のためのコンピュータシステムは、拡張及び/又は仮想現実環境を生成する電子デバイスを含む。電子デバイス、そのようなデバイス用のユーザインタフェース、及びそのようなデバイスを使用する関連するプロセスの実施形態が説明される。いくつかの実施形態では、デバイスは、PDA機能及び/又は音楽プレーヤ機能などの他の機能も含む、携帯電話などのポータブル通信デバイスである。ポータブル多機能デバイスの例示的な実施形態は、Cupertino、CaliforniaのApple Inc.からのiPhone(登録商標)、iPod Touch(登録商標)、及びiPad(登録商標)デバイスを含むが、これらに限定されない。タッチ感知面(例えば、タッチスクリーンディスプレイ及び/又はタッチパッド)を有するラップトップ又はタブレットコンピュータなどの他のポータブル電子デバイスが任意選択で使用される。いくつかの実施形態では、デバイスは、ポータブル通信デバイスではなく、タッチ感知面(例えば、タッチスクリーンディスプレイ及び/又はタッチパッド)を有し、1つ以上のカメラも含む又はそれと通信している、デスクトップコンピュータであることも理解されたい。
以下の説明では、ディスプレイ及びタッチ感知面を有する(かつ/又はそれらと通信している)電子デバイスを含むコンピュータシステムを説明する。しかしながら、コンピュータシステムは、物理キーボード、マウス、ジョイスティック、ワンドコントローラ、及び/又はユーザの手などのユーザの1つ以上の特徴の位置を追跡するカメラなどの、1つ以上の他の物理ユーザインタフェースデバイスを任意選択的に含むことを理解されたい。
デバイスは、典型的には、ゲームアプリケーション、メモ取りアプリケーション、描画アプリケーション、プレゼンテーションアプリケーション、ワードプロセッシングアプリケーション、スプレッドシートアプリケーション、電話アプリケーション、ビデオ会議アプリケーション、電子メールアプリケーション、インスタントメッセージングアプリケーション、トレーニングサポートアプリケーション、写真管理アプリケーション、デジタルカメラアプリケーション、デジタルビデオカメラアプリケーション、ウェブブラウジングアプリケーション、デジタル音楽プレーヤアプリケーション、及び/又はデジタルビデオプレーヤアプリケーションのうちの1つ以上などの、様々なアプリケーションをサポートする。
本デバイス上で実行される様々なアプリケーションは、タッチ感知面などの、少なくとも1つの共通の物理ユーザインタフェースデバイスを、任意選択的に使用する。タッチ感知面の1つ以上の機能、並びにデバイスによって表示される対応する情報は、アプリケーションごとに、及び/又はそれぞれのアプリケーション内で、任意選択的に、調整及び/又は変更される。このように、デバイスの共通の物理アーキテクチャ(タッチ感知面など)は、任意選択的に、ユーザにとって直観的かつ透明なユーザインタフェースを備える様々なアプリケーションをサポートする。
ここで、タッチ感知ディスプレイを備えるポータブルデバイスの実施形態に注意を向ける。図1Aは、いくつかの実施形態に係る、タッチ感知ディスプレイシステム112を有するポータブル多機能デバイス100を示すブロック図である。タッチ感知ディスプレイシステム112は、便宜上「タッチスクリーン」と呼ばれる場合があり、単にタッチ感知ディスプレイと呼ばれる場合もある。デバイス100は、メモリ102(任意選択で、1つ以上のコンピュータ可読記憶媒体を含む)、メモリコントローラ122、1つ以上の処理ユニット(CPU)120、周辺機器インタフェース118、RF回路108、音声回路110、スピーカ111、マイクロフォン113、入出力(I/O)サブシステム106、その他の入力又は制御デバイス116、及び外部ポート124を含む。デバイス100は、(例えば、1つ以上のカメラの一部として)1つ以上の光センサ164を任意選択的に含む。デバイス100は任意選択で、デバイス100(例えば、デバイス100のタッチ感知ディスプレイシステム112などのタッチ感知面)上の接触の強度を検出する1つ以上の強度センサ165を含む。デバイス100は、任意選択的に、デバイス100上で触知出力を生成する(例えばデバイス100のタッチ感知ディスプレイシステム112又はデバイス300のタッチパッド355などのタッチ感知面上で触知出力を生成する)1つ以上の触知出力生成器163を含む。これらの構成要素は、任意選択的に、1つ以上の通信バス又は信号ライン103を介して通信する。
本明細書及び特許請求の範囲で使用されるように、用語「触知出力」は、ユーザの触覚でユーザによって検出されることになる、デバイスの従前の位置に対するそのデバイスの物理的変位、デバイスの構成要素(例えば、タッチ感知面)の、そのデバイスの別の構成要素(例えば、筐体)に対する物理的変位、又は、デバイスの質量中心に対する構成要素の変位を指す。例えば、デバイス又はデバイスの構成要素が、タッチに敏感なユーザの表面(例えば、ユーザの手の指、掌、又は他の部分)に接触している状況では、物理的変位によって生成された触知出力は、そのデバイス又はデバイスの構成要素の物理的特性の認識される変化に相当する触感として、ユーザによって解釈されることになる。例えば、タッチ感知面(例えば、タッチ感知ディスプレイ又はトラックパッド)の移動は、ユーザによって、物理アクチュエータボタンの「ダウンクリック」又は「アップクリック」として、任意選択的に解釈される。場合によっては、ユーザの動作により物理的に押された(例えば、変位された)タッチ感知面に関連付けられた物理アクチュエータボタンの移動がないときでさえ、ユーザは「ダウンクリック」又は「アップクリック」などの触感を感じる。別の例として、タッチ感知面の移動は、タッチ感知面の平滑度に変化がない場合であっても、ユーザによって、そのタッチ感知面の「粗さ」として、任意選択的に解釈又は感知される。そのようなユーザによるタッチの解釈は、ユーザの個人的な感覚認知に左右されるが、大多数のユーザに共通する、多くのタッチの感覚認知が存在する。したがって、触知出力が、ユーザの特定の感覚認知(例えば、「アップクリック」「ダウンクリック」、「粗さ」)に対応するものと記述される場合、別途記載のない限り、生成された触知出力は、典型的な(又は、平均的な)ユーザの記述された感覚認知を生成するデバイス、又はデバイスの構成要素の物理的変位に対応する。触知出力を使用して触覚フィードバックをユーザに提供することで、デバイスの操作性が向上し、ユーザデバイスインタフェースがより効率的になり(例えば、デバイスを操作する/デバイスと相互作用するとき、ユーザが適切な入力を提供するのを助け、ユーザの誤りを低減させることによって)、加えて、ユーザがデバイスをより迅速かつ効率的に使用することを可能にすることによって、電力使用を低減させ、デバイスの電池寿命を改善する。
デバイス100は、ポータブル多機能デバイスの一例に過ぎず、デバイス100は、任意選択的に、示されているものよりも多くの構成要素又は少ない構成要素を有するものであり、任意選択的に、2つ以上の構成要素を組み合わせるものであり、又は、任意選択的に、それらの構成要素の異なる構成若しくは配置を有するものであることを理解されたい。図1Aに示す様々な構成要素は、1つ以上の信号処理回路及び/又は特定用途向け集積回路を含む、ハードウェア、ソフトウェア、ファームウェア、又はそれらの組み合わせで実装される。
メモリ102は、任意選択的に、高速ランダムアクセスメモリを含み、また任意選択的に、1つ以上の磁気ディスク記憶デバイス、フラッシュメモリデバイス、又は他の不揮発性ソリッドステートメモリデバイスなどの不揮発性メモリを含む。CPU(単数又は複数)120及び周辺機器インタフェース118などのデバイス100の他の構成要素によるメモリ102へのアクセスは任意選択で、メモリコントローラ122により制御される。
周辺機器インタフェース118が使用され、デバイスの入力及び出力周辺機器を、CPU(単数又は複数)120及びメモリ102と結合することができる。1つ以上のプロセッサ120は、メモリ102に記憶された様々なソフトウェアプログラム及び/又は命令セットを動作させる又は実行して、デバイス100のための様々な機能を実行し、データを処理する。
いくつかの実施形態では、周辺機器インタフェース118、CPU(単数又は複数)120、及びメモリコントローラ122は任意選択で、チップ104などの単一チップ上で実装される。いくつかの他の実施形態では、それらは別々のチップ上に任意選択的に実装される。
RF(radio frequency)(無線周波数)回路108は、電磁信号とも呼ばれるRF信号を送受信する。RF回路108は、電気信号を電磁信号に、又は電磁信号を電気信号に変換し、電磁信号を介して通信ネットワーク及び他の通信デバイスと通信する。RF回路108は、任意選択的に、これらの機能を実行するための周知の回路を含み、それらの回路としては、限定するものではないが、アンテナシステム、RF送受信機、1つ以上の増幅器、同調器、1つ以上の発振器、デジタル信号プロセッサ、CODECチップセット、加入者識別モジュール(subscriber identity module、SIM)カード、メモリなどが挙げられる。RF回路108は、任意選択的に、ワールドワイドウェブ(World Wide Web、WWW)とも呼ばれるインターネット、イントラネット、並びに/又はセルラー電話ネットワーク、無線ローカルエリアネットワーク(local area network、LAN)及び/若しくはメトロポリタンエリアネットワーク(metropolitan area network、MAN)などの無線ネットワークなどのネットワークと、また他のデバイスと、無線通信によって通信する。無線通信は任意選択で、移動通信のためのグローバルシステム(Global System for Mobile Communications、GSM)、拡張データGSM環境(Enhanced Data GSM Environment、EDGE)、高速ダウンリンクパケット接続(high-speed downlink packet access、HSDPA)、高速アップリンクパケット接続(high-speed uplink packet access、HSUPA)、Evolution,Data-Only(EV-DO)、HSPA、HSPA+、デュアルセルHSPA(Dual-Cell HSPA、DC-HSPDA)、ロングタームエボリューション(long term evolution、LTE)、近距離無線通信(near field communication、NFC)、広帯域符号分割多元接続(wideband code division multiple access、W-CDMA)、符号分割多元接続(code division multiple access、CDMA)、時分割多元接続(time division multiple access、TDMA)、Bluetooth、Wireless Fidelity(Wi-Fi)(例えば、IEEE 802.11a、IEEE 802.11ac、IEEE 802.11ax、IEEE 802.11b、IEEE 802.11g、及び/若しくはIEEE 802.11n)、ボイスオーバーインターネットプロトコル(voice over Internet Protocol、VoIP)、Wi-MAX、電子メールのためのプロトコル(例えば、インターネットメッセージアクセスプロトコル(Internet message access protocol、IMAP)及び/若しくはポストオフィスプロトコル(post office protocol、POP))、インスタントメッセージング(例えば、拡張可能メッセージング及びプレゼンスプロトコル(extensible messaging and presence protocol、XMPP)、インスタントメッセージング及びプレゼンス利用拡張向けセッション開始プロトコル(Session Initiation Protocol for Instant Messaging and Presence Leveraging Extensions、SIMPLE)、インスタントメッセージング及びプレゼンスサービス(Instant Messaging and Presence Service、IMPS))、並びに/又はショートメッセージサービス(Short Message Service、SMS)、あるいは本文書の出願日現在までにまだ開発されていない通信プロトコルを含む任意の他の適切な通信プロトコルを含むが、それらに限定されない、複数の通信規格、通信プロトコル、及び通信技術のうちのいずれかを使用する。
オーディオ回路110、スピーカ111、及びマイクロフォン113は、ユーザとデバイス100との間のオーディオインタフェースを提供する。オーディオ回路110は、周辺機器インタフェース118からオーディオデータを受信し、このオーディオデータを電気信号に変換し、この電気信号をスピーカ111に送信する。スピーカ111は、電気信号を人間の可聴音波に変換する。また、オーディオ回路110は、マイクロフォン113によって音波から変換された電気信号を受信する。オーディオ回路110は、電気信号をオーディオデータに変換し、このオーディオデータを処理のために周辺機器インタフェース118に送信する。オーディオデータは、任意選択的に、周辺機器インタフェース118によって、メモリ102及び/若しくはRF回路108から取り出され、かつ/又はメモリ102及び/若しくはRF回路108に伝送される。一部の実施形態では、オーディオ回路110はヘッドセットジャック(例えば図2Aの212)も含む。ヘッドセットジャックは、オーディオ回路110と、出力専用ヘッドホン又は出力(例えば片耳又は両耳用のヘッドホン)及び入力(例えばマイクロフォン)の両方を備えるヘッドセットなどの着脱可能なオーディオ入出力周辺機器との間のインタフェースを提供する。
I/Oサブシステム106は、タッチ感知ディスプレイシステム112及びその他の入力又は制御デバイス116などのデバイス100上の入出力周辺機器を周辺機器インタフェース118と結合する。I/Oサブシステム106は、任意選択的に、ディスプレイコントローラ156、光センサコントローラ158、強度センサコントローラ159、触覚フィードバックコントローラ161、及び他の入力若しくは制御デバイスのための1つ以上の入力コントローラ160を含む。1つ以上の入力コントローラ160は、他の入力若しくは制御デバイス116から電気信号を受信する、又は、他の入力若しくは制御デバイス116に電気信号を送信する。その他の入力又は制御デバイス116は任意選択で、物理的ボタン(例えば、プッシュボタン、ロッカボタンなど)、ダイヤル、スライダスイッチ、ジョイスティック、クリックホイールなどを含む。いくつかの代替的実施形態では、入力コントローラ(単数又は複数)160は任意選択で、キーボード、赤外線ポート、USBポート、スタイラス、及び/又はマウスなどのポインタデバイスのうちのいずれかと結合される(又は、いずれにも結合されない)。1つ以上のボタン(例えば図2Aの208)は、スピーカ111及び/又はマイクロフォン113の音量を制御するためのアップ/ダウンボタンを任意選択的に含む。1つ以上のボタンは、プッシュボタン(例えば図2Aの206)を任意選択的に含む。
タッチ感知ディスプレイシステム112は、デバイスとユーザの間の入力インタフェース及び出力インタフェースを提供する。ディスプレイコントローラ156は、タッチ感知ディスプレイシステム112から電気信号を受信し、及び/又はタッチ感知ディスプレイシステム112へ電気信号を送信する。タッチ感知ディスプレイシステム112は、ユーザに視覚出力を表示する。この視覚出力は、グラフィック、テキスト、アイコン、ビデオ、及びそれらの任意の組み合わせ(総称して「グラフィック」)を任意選択的に含む。いくつかの実施形態では、視覚出力の一部又は全ては、ユーザインタフェースオブジェクトに対応する。本明細書で使用されるように、用語「アフォーダンス」は、ユーザ-対話形式のグラフィカルユーザインタフェースオブジェクト(例えば、グラフィカルユーザインタフェースオブジェクトに向かって方向付けられた入力に応答するように構成されているグラフィカルユーザインタフェースオブジェクト)を指す。ユーザ対話形式のグラフィカルユーザインタフェースオブジェクトの例は、ボタン、スライダ、アイコン、選択可能メニュー項目、スイッチ、ハイパーリンク、又はその他のユーザインタフェース制御を含むが、それらに限定されない。
タッチ感知ディスプレイシステム112は、触覚及び/又は触知の接触に基づくユーザからの入力を受け付けるタッチ感知面、センサ、又はセンサのセットを有する。(メモリ102内の任意の関連するモジュール及び/又は命令セットと共に)タッチ感知ディスプレイシステム112及びディスプレイコントローラ156は、タッチ感知ディスプレイシステム112上の接触(及び、接触の任意の移動又は中断)を検出し、検出された接触をタッチ感知ディスプレイシステム112上で表示されるユーザインタフェースオブジェクト(例えば、1つ以上のソフトキー、アイコン、ウェブページ、又は画像)との相互作用に変換する。いくつかの実施形態では、タッチ感知ディスプレイシステム112とユーザとの間の接触点は、ユーザの指又はスタイラスに対応する。
タッチ感知ディスプレイシステム112は任意選択で、LCD(liquid crystal display)(液晶ディスプレイ)技術、LPD(light emitting polymer display)(発光ポリマディスプレイ)技術、又はLED(light emitting diode)(発光ダイオード)技術を使用するが、他の実施形態では、他のディスプレイ技術が使用される。タッチ感知ディスプレイシステム112及びディスプレイコントローラ156は任意選択で、容量技術、抵抗性技術、赤外線技術、及び表面音響波技術、並びに、タッチ感知ディスプレイシステム112との1つ以上の接触点を判定するためのその他の近接センサアレイ又は他の要素を含むが、これらに限定されない、現在既知の又は後に開発される複数のタッチ感知技術のうちのいずれかを使用して、接触及びその任意の移動又は中断を検出する。いくつかの実施形態では、Cupertino、CaliforniaのApple Inc.からのiPhone(登録商標)、iPod Touch(登録商標)、及びiPad(登録商標)などにおいて見られるような、投影型相互キャパシタンス検知技術が使用される。
タッチ感知ディスプレイシステム112は任意選択で、100dpiを超えるビデオ解像度を有する。いくつかの実施形態では、タッチスクリーンの映像解像度は、400dpiを超える(例えば、500dpi、800dpi、又はより高い)。ユーザは任意選択で、スタイラス、指などの任意の適切な物体又は付属物を使用して、タッチ感知ディスプレイシステム112と接触する。いくつかの実施形態では、ユーザインタフェースは、指に基づく接触及びジェスチャで機能するように設計されるが、これらは、タッチスクリーン上での指の接触面積がスタイラスの接触面積よりも大きいことに起因して、スタイラスに基づく入力よりも精度が低い場合がある。一部の実施形態では、デバイスは、指による粗い入力を、ユーザによって所望されているアクションを実行するための、正確なポインタ/カーソルの位置又はコマンドに変換する。
いくつかの実施形態では、タッチスクリーンに加えて、デバイス100は、任意選択的に、特定の機能をアクティブ化又は非アクティブ化するためのタッチパッドを含む。一部の実施形態では、タッチパッドは、タッチスクリーンとは異なり、視覚出力を表示しない、デバイスのタッチ感知エリアである。タッチパッドは任意選択で、タッチ感知ディスプレイシステム112と分離したタッチ感知面、又はタッチスクリーンによって形成されたタッチ感知面の延長である。
デバイス100は、様々な構成要素に電力を供給する電力システム162も含む。電力システム162は、任意選択的に、電力管理システム、1つ以上の電源(例えば、バッテリ、交流(AC))、再充電システム、停電検出回路、電力コンバータ又はインバータ、電力状態インジケータ(例えば、発光ダイオード(LED))、並びにポータブルデバイス内での電力の生成、管理、及び分配に関連付けられた任意の他の構成要素を含む。
デバイス100はまた、(例えば、1つ以上のカメラの一部として)1つ以上の光センサ164を任意選択的に含む。図1Aは、I/Oサブシステム106内の光センサコントローラ158と結合された光センサを示す。光センサ(単数又は複数)164は、任意選択で、電荷結合デバイス(CCD)又は相補的金属酸化物半導体(CMOS)フォトトランジスタを含む。光センサ(単数又は複数)164は、1つ以上のレンズを通じて投影された、環境からの光を受信し、画像を表すデータに光を変換する。撮像モジュール143(カメラモジュールとも呼ばれる)と連携して、光センサ(単数又は複数)164は任意選択で、静止画像及び/又はビデオをキャプチャする。いくつかの実施形態では、タッチスクリーンを静止画像及び/又はビデオ画像取得のためのビューファインダとして使用することができるように、光センサは、デバイスの前面上のタッチ感知ディスプレイシステム112の反対である、デバイス100の背面上に配置される。いくつかの実施形態では、ユーザの画像が取得されるように(例えば、自撮りのため、ユーザがタッチスクリーン上で他のビデオ会議参加者を見ている間のビデオ会議のためなど)、別の光センサがデバイスの前面に配置される。
デバイス100はまた、任意選択的に、1つ以上の接触強度センサ165を含む。図1Aは、I/Oサブシステム106内の強度センサコントローラ159と結合された接触強度センサを示す。接触強度センサ(単数又は複数)165は、1つ以上のピエゾ抵抗ひずみゲージ、電気容量式力センサ、電気力センサ、圧電力センサ、光学力センサ、容量式タッチ感知面、又は他の強度センサ(例えば、タッチ感知面上の接触の力(若しくは圧力)を測定するために使用されるセンサ)を任意選択で含む。接触強度センサ(単数又は複数)165は、環境から接触強度情報(例えば、圧力情報又は圧力情報のための代用)を受信する。いくつかの実施形態では、少なくとも1つの接触強度センサは、タッチ感知面(例えばタッチ感知ディスプレイシステム112)と並置される、又はそれに近接される。いくつかの実施形態では、少なくとも1つの接触強度センサは、デバイス100の前面上に位置するタッチスクリーンディスプレイシステム112の反対である、デバイス100の背面上に配置される。
また、デバイス100は、任意選択的に、1つ以上の近接センサ166を含む。図1Aは、周辺機器インタフェース118と結合された近接センサ166を示す。代わりに、近接センサ166は、I/Oサブシステム106内の入力コントローラ160と結合される。いくつかの実施形態では、多機能デバイスがユーザの耳の近くに配置されるとき(例えば、ユーザが電話通話を行っているとき)、近接センサは、タッチ感知ディスプレイシステム112をターンオフ及び無効にする。
デバイス100は、任意選択で、1つ以上の触知出力生成器163を含む。図1Aは、I/Oサブシステム106内の触覚フィードバックコントローラ161と結合され触知出力生成器を示す。いくつかの実施形態では、触知出力生成器(単数又は複数)163は、スピーカ若しくは他のオーディオ構成要素などの1つ以上の電気音響デバイス、及び/又はモータ、ソレノイド、電気活性ポリマー、圧電アクチュエータ、静電アクチュエータ、若しくは他の触知出力生成構成要素(例えば、デバイス上で電気信号を触知出力に変換する構成要素)などの、エネルギを線形の動きに変換する電気機械デバイスを含む。触知出力生成器(単数又は複数)163は、触覚フィードバックモジュール133から触知フィードバック生成命令を受信し、デバイス100のユーザが感知できる触知出力をデバイス100上で生成する。いくつかの実施形態では、少なくとも1つの触知出力生成器は、タッチ感知面(例えば、タッチ感知ディスプレイシステム112)と並置される、又はそれに近接しており、任意選択的に、タッチ感知面を垂直方向(例えば、デバイス100の表面の内/外)に、又は水平方向(例えば、デバイス100の表面と同じ平面内の前後)に移動させることによって、触知出力を生成する。いくつかの実施形態では、少なくとも1つの触知出力生成器センサは、デバイス100の前面上に位置するタッチ感知ディスプレイシステム112の反対である、デバイス100の背面上に配置される。
デバイス100はまた、デバイスの位置(例えば、位置、及び向き又は姿勢)に関する情報を得るための、1つ以上の加速度計167、ジャイロスコープ168、及び/又は磁気計169(例えば、慣性測定ユニット(inertial measurement unit、IMU)の一部として)を、任意選択的に含む。図1Aは、周辺機器インタフェース118に結合された、センサ167、168、及び169を示す。あるいは、センサ167、168、及び169は、I/Oサブシステム106内の入力コントローラ160に、任意選択的に結合される。いくつかの実施形態では、情報は、1つ以上の加速度計から受信されたデータの分析に基づいて、縦長ビュー又は横長ビュー内でタッチスクリーンディスプレイ上に表示される。デバイス100は、任意選択で、デバイス100の場所に関する情報を取得するためのGPS(若しくはGLONASS又は他の全地球的航法システム)受信機を含む。
いくつかの実施形態では、メモリ102に記憶されたソフトウェア構成要素は、オペレーティングシステム126、通信モジュール(又は、命令セット)128、接触/動きモジュール(又は、命令セット)130、グラフィックモジュール(又は、命令セット)132、触覚フィードバックモジュール(又は、命令セット)133、テキスト入力モジュール(又は、命令セット)134、全地球測位システム(Global Positioning System)(GPS)モジュール(又は、命令セット)135、及びアプリケーション(又は、命令セット)136を含む。更に、いくつかの実施形態では、図1A及び図3に示されるように、メモリ102は、デバイス/グローバル内部状態157を記憶する。デバイス/グローバル内部状態157は、現在アクティブ状態のアプリケーションがある場合に、どのアプリケーションがアクティブであるかを示すアクティブアプリケーション状態、どのアプリケーション、ビュー、又は他の情報がタッチ感知ディスプレイシステム112の様々な領域を占有しているかを示す表示状態、デバイスの様々なセンサ及びその他の入力又は制御デバイス116から取得される情報を含むセンサ状態、並びにデバイスの姿勢(例えば、位置及び/又は姿勢)に関する位置及び/若しくは位置情報、のうちの1つ以上を含む。
オペレーティングシステム126(例えば、iOS、Android、Darwin、RTXC、LINUX、UNIX、OS X、WINDOWS、又はVxWorksなどの組み込みオペレーティングシステム)は、全体的なシステムタスク(例えば、メモリ管理、記憶デバイス制御、電力管理など)を制御及び管理するための様々なソフトウェア構成要素及び/又はドライバを含み、様々なハードウェア構成要素とソフトウェア構成要素の間の通信を促進する。
通信モジュール128は、1つ以上の外部ポート124を介して他のデバイスとの通信を容易にし、RF回路108及び/又は外部ポート124が受信したデータを処理するための様々なソフトウェア構成要素をも含む。外部ポート124(例えば、ユニバーサルシリアルバス(Universal Serial Bus、USB)、FIREWIRE(登録商標)など)は、直接的に、又はネットワーク(例えばインターネット、無線LANなど)を介して間接的に、他のデバイスに結合するように適合されている。いくつかの実施形態では、外部ポートは、Cupertino、CaliforniaのApple Inc.からのいくつかのiPhone(登録商標)、iPod Touch(登録商標)、及びiPad(登録商標)デバイス内で使用される30ピンコネクタと同一若しくは類似した、及び/又は互換性のあるマルチピン(例えば、30ピン)コネクタである。いくつかの実施形態では、外部ポートは、Cupertino、CaliforniaのApple Inc.からのいくつかのiPhone(登録商標)、iPod Touch(登録商標)、及びiPad(登録商標)デバイスにおいて使用されるLightningコネクタと同一若しくは類似した、及び/又は互換性のあるLightningコネクタである。いくつかの実施形態では、外部ポートは、Cupertino、CaliforniaのApple Inc.からのいくつかの電子デバイス内で使用されるUSB Type-Cコネクタと同一若しくは類似した、かつ/又は互換性のあるUSB Type-Cコネクタである。
接触/動きモジュール130は任意選択で、タッチ感知ディスプレイシステム112との接触(ディスプレイコントローラ156と連携して)、及び他のタッチ感知デバイスとの接触(例えば、タッチパッド又は物理クリックホイール)を検出する。接触/動きモジュール130は、接触が発生したかを判定すること(例えば、指ダウンイベントを検出する)、接触の強度を判定すること(例えば、接触の力若しくは圧力、又は接触の力若しくは圧力に代替するもの)、接触の移動があるかを判定すること及びタッチ感知面を横切る移動を追跡すること(例えば、1つ以上の指のドラッグイベントを検出する)、及び接触が停止したかどうかを判定すること(例えば、指アップイベント又は接触の中断を検出する)などの、接触の検出(例えば、指又はスタイラスによる)に関連する様々な動作を実行するためのソフトウェア構成要素を含む。接触/動きモジュール130は、タッチ感知面から接触データを受信する。一連の接触データによって表される、接触点の移動を判定することは、任意選択的に、接触点の速さ(大きさ)、速度(大きさ及び方向)、及び/又は加速度(大きさ及び/又は方向の変化)を判定することを含む。これらの動作は、任意選択で、単一の接触(例えば、1本の指の接触又はスタイラスの接触)又は複数の同時接触(例えば、「マルチタッチ」/複数の指の接触)に適用される。いくつかの実施形態では、接触/動きモジュール130及びディスプレイコントローラ156は、タッチパッド上の接触を検出する。
接触/動きモジュール130は、任意選択的に、ユーザによるジェスチャ入力を検出する。タッチ感知面上の異なるジェスチャは、異なる接触パターンを有する(例えば検出される接触の動き、タイミング、及び/又は強度が異なる)。したがって、ジェスチャは、任意選択的に、特定の接触パターンを検出することによって検出される。例えば、指のタップジェスチャを検出することは、フィンガダウンイベントを検出し、続いて(例えば、アイコンの位置での)そのフィンガダウンイベントと同一の位置(又は、実質的に同一の位置)でのフィンガアップ(リフトオフ)イベントを検出することを含む。別の実施例として、タッチ感知面上の指のスワイプジェスチャを検出することは、フィンガダウンイベントを検出し、続いて1つ以上の指のドラッグイベントを検出し、その後、フィンガアップ(リフトオフ)イベントを検出することを含む。同様に、タップ、スワイプ、ドラッグ、及び他のジェスチャは、任意選択で、スタイラスに対して、スタイラスに対する特定の接触パターンを検出することにより、検出される。
いくつかの実施形態では、指のタップジェスチャを検出することは、指ダウンイベントを検出することと指アップイベントを検出することとの間の時間の長さに依存するが、指ダウンイベントを検出することと指アップイベントを検出することとの間の指の接触の強度とは関連しない。いくつかの実施形態では、タップジェスチャは、タップの間の指の接触の強度が、軽い押圧又は深い押圧強度閾値などの所与の強度閾値を満たす(名目上の接触検出強度閾値よりも大きい)かに関わらず、指ダウンイベントと指アップイベントの間の時間の長さが予め定められた値よりも短い(例えば、0.1、0.2、0.3、0.4又は0.5秒よりも短い)との判定に従い検出される。したがって、指のタップジェスチャは、特定の入力基準が満たされるために、接触の特性強度が所与の強度閾値を満たすことを必要としない特定の入力基準を満たすことができる。明確にするために、タップジェスチャにおける指の接触は一般的に、指ダウンイベントを検出するために、それを下回ると接触が検出されない名目上の接触検出強度閾値を満たす必要がある。同様の分析は、スタイラスによるタップジェスチャ又は他の接触を検出することに適用される。デバイスがタッチ感知面上をホバリングする指又はスタイラスの接触を検出することが可能なケースでは、名目上の接触検出強度閾値は任意選択で、指又はスタイラスとタッチ感知面の間の物理的接触に対応しない。
同様の方式で、同一の概念が他のタイプのジェスチャに適用される。例えば、スワイプジェスチャ、ピンチジェスチャ、デピンチジェスチャ、及び/又は長い押圧ジェスチャは任意選択で、ジェスチャに含まれる接触の強度と関係しない、又は認識されるためにジェスチャを実行する接触が強度閾値に到達することを必要としないのいずれかである基準を満たすことに基づいて検出される。例えば、スワイプジェスチャは、1つ以上の接触の移動量に基づいて検出され、ピンチジェスチャは、相互に向かう2つ以上の接触の移動に基づいて検出され、デピンチジェスチャは、相互に離れる2つ以上の接触の移動に基づいて検出され、長い押圧ジェスチャは、閾値移動量よりも小さいタッチ感知面上の接触の期間に基づいて検出される。したがって、特定のジェスチャ認識基準が満たされるために、接触(単数又は複数)の強度が対応する強度閾値を満たすことを特定のジェスチャ認識基準が必要としないという記述は、ジェスチャにおける接触(複数可)が対応する強度閾値に到達しない場合に特定のジェスチャ認識基準が満たされることが可能であること、及びジェスチャにおける接触のうちの1つ以上が対応する強度閾値に到達する、又は強度閾値を超える状況で満たされることも可能であることを意味する。いくつかの実施形態では、タップジェスチャは、接触が所定の時間期間の間にそれぞれの強度閾値を上回るか又は下回るかに関わらず、指ダウンイベント及び指アップイベントが所定の時間期間内で検出されたという判定に基づいて検出され、スワイプジェスチャは、接触が接触の移動の終わりにそれぞれの強度閾値を上回る場合でさえ、接触の移動が所定の大きさよりも大きいという判定に基づいて検出される。ジェスチャの検出がジェスチャを実行する接触の強度によって影響される実施態様でさえ(例えば、接触の強度が強度閾値を上回るときにデバイスが長い押圧をより素早く検出し、又は接触の強度がより高いときにデバイスがタップ入力の検出に遅れる)、接触が特定の強度閾値に到達しない状況でジェスチャを認識する基準を満たすことができる限り(例えば、ジェスチャを認識するために要する時間量が変化する場合でさえ)、それらのジェスチャの検出は、接触が特定の強度閾値に到達することを必要としない。
接触強度閾値、期間閾値、及び移動閾値は、一部の状況では、同一の入力要素又は領域に方向付けられる2つ以上の異なるジェスチャを区別するためのヒューリスティックを作成するために、様々な異なる組み合わせで組み合わされ、それによって、同一の入力要素との複数の異なる相互作用がより豊かなセットのユーザ相互作用及び応答を提供するように有効化される。ジェスチャ認識基準の特定のセットが、その特定のジェスチャ認識基準が満たされるために接触(単数又は複数)の強度がそれぞれの強度閾値を満たすことを必要としないという記述は、ジェスチャがそれぞれの強度閾値を超える強度を有する接触を含むときに満たされる基準を有する他のジェスチャを識別するための他の強度に依存するジェスチャ認識基準をそれと同時に評価することを排除しない。例えば、いくつかの状況では、第1のジェスチャ認識基準が満たされるために、接触(単数又は複数)の強度が対応する強度閾値を満たすことを必要としない第1のジェスチャのための第1のジェスチャ認識基準は、対応する強度閾値に到達する接触(複数可)に依存する第2のジェスチャのための第2のジェスチャ認識基準との競争関係にある。そのような競争では、ジェスチャは任意選択で、第2のジェスチャのための第2のジェスチャ認識基準が最初に満たされる場合に、第1のジェスチャのための第1のジェスチャ認識基準を満たすものとして認識されない。例えば、接触が所定の移動量を移動する前に接触が対応する強度閾値に到達する場合、スワイプジェスチャではなく深い押圧ジェスチャが検出される。逆に、接触が対応する強度閾値に到達する前に接触が所定の移動量を移動する場合、深い押圧ジェスチャではなくスワイプジェスチャが検出される。そのような状況でさえ、第1のジェスチャのための第1のジェスチャ認識基準は、第1のジェスチャ認識基準が満たされるために、接触(単数又は複数)の強度が対応する強度閾値を満たすことをなおも必要としないが、これは、ジェスチャの終わりまで接触が対応する強度閾値を下回ったままであった場合(例えば、対応する強度閾値を上回る強度まで増加しない接触を有するスワイプジェスチャ)、ジェスチャは、スワイプジェスチャとして第1のジェスチャ認識基準によって認識されているからである。そのようにして、特定のジェスチャ認識基準が満たされるために、接触(単数又は複数)の強度が対応する強度閾値を満たすことを必要としない特定のジェスチャ認識基準は、(A)いくつかの状況では、強度閾値(例えば、タップジェスチャのための)に関して接触の強度を無視し、及び/又は(B)いくつかの状況では、特定のジェスチャ認識基準が入力に対応するジェスチャ(例えば、認識のための深い押圧ジェスチャと競争する長い押圧ジェスチャのための)を認識する前に、強度依存ジェスチャ認識基準の競争するセット(例えば、深い押圧ジェスチャのための)が強度依存ジェスチャに対応するものとして入力を認識する場合、特定のジェスチャ認識基準(例えば、長い押圧ジェスチャのための)が機能しないという意味で、強度閾値に関して接触の強度になおも依存している。
加速度計167、ジャイロスコープ168、及び/又は磁気計169と連動して、姿勢モジュール131は、特定の座標系内のデバイスの姿勢(例えば、ロール、ピッチ、ヨー、及び/又は位置)などの、デバイスに関する姿勢情報を任意選択的に検出する。姿勢モジュール131は、デバイスの位置の検出及びデバイスの姿勢の変化の検出に関係する、様々な動作を実行するためのソフトウェア構成要素を含む。
グラフィックモジュール132は、表示されるグラフィックの視覚的影響(例えば、輝度、透明度、彩度、コントラスト、又は他の視覚特性)を変更するための構成要素を含む、タッチ感知ディスプレイシステム112又は他のディスプレイ上でグラフィックをレンダリング及び表示するための様々な既知のソフトウェア構成要素を含む。本明細書で使用される場合、用語「グラフィック」は、テキスト、ウェブページ、アイコン(ソフトキーを含むユーザインタフェースオブジェクトなど)、デジタル画像、ビデオ、及びアニメーションなどを含むがこれらに限定されない、ユーザに対して表示することができるいずれかのオブジェクトを含む。
いくつかの実施形態では、グラフィックモジュール132は、使用されることになるグラフィックを表すデータを記憶する。各グラフィックには、任意選択的に、対応するコードが割り当てられる。グラフィックモジュール132は、アプリケーションなどから、必要に応じて、座標データ及び他のグラフィック特性データと共に、表示されることとなるグラフィックを指定する1つ以上のコードを受信し、次にディスプレイコントローラ156に出力する画面の画像データを生成する。
触覚フィードバックモジュール133は、デバイス100とのユーザ双方向作用に応じて、触知出力生成器(単数又は複数)163を使用してデバイス100上の1つ以上の位置において触知出力を作成する命令(例えば、触覚フィードバックコントローラ161によって使用される命令)を生成する様々なソフトウェア構成要素を含む。
テキスト入力モジュール134は、任意選択で、グラフィックモジュール132の構成要素であり、様々なアプリケーション(例えば、連絡先137、電子メール140、IM141、ブラウザ147、及びテキスト入力を必要とする任意の他のアプリケーション)でテキストを入力するためのソフトキーボードを提供する。
GPSモジュール135は、デバイスの位置を判定し、この情報を、様々なアプリケーションで使用するために(例えば、位置に基づく電話発信で使用するために電話138へ、写真/ビデオのメタデータとしてカメラ143へ、並びに、気象ウィジェット、地域のイエローページウィジェット、及びマップ/ナビゲーションウィジェットなどの、位置に基づくサービスを提供するアプリケーションへ)提供する。
仮想/拡張現実モジュール145は、拡張現実機能、いくつかの実施形態では、仮想現実機能を実装するアプリケーション136に、仮想現実論理及び/又は拡張現実論理を提供する。仮想/拡張現実モジュール145は、1つ以上のカメラの視野の少なくとも一部分の表現への、仮想ユーザインタフェースオブジェクトなどの仮想コンテンツの重ね合わせを容易にする。例えば、仮想/拡張現実モジュール145からの支援により、1つ以上のカメラの視野の少なくとも一部分の表現は、対応する物理的オブジェクトを含んでもよく、仮想ユーザインタフェースオブジェクトは、1つ以上のカメラの視野内の対応する物理的オブジェクトに基づいて判定される、表示された拡張現実環境、又はコンピュータシステムの少なくとも一部分の姿勢(例えば、ユーザインタフェースをコンピュータシステムのユーザに表示するために使用される表示装置の姿勢)に基づいて判定される、仮想現実環境内の位置に表示されてもよい。
アプリケーション136は、任意選択的に、以下のモジュール(又は命令セット)又はそれらのサブセット若しくはスーパーセットを含む。
●連絡先モジュール137(アドレス帳又は連絡先リストと呼ばれることもある)、
●電話モジュール138、
●テレビ会議モジュール139、
●電子メールクライアントモジュール140、
●インスタントメッセージング(IM)モジュール141、
●トレーニングサポートモジュール142、
●静止画像及び/又はビデオ画像用のカメラモジュール143、
●画像管理モジュール144、
●ブラウザモジュール147、
●カレンダモジュール148、
●気象ウィジェット149-1、株価ウィジェット149-2、計算機ウィジェット149-3、アラーム時計ウィジェット149-4、辞書ウィジェット149-5、及びユーザによって取得された他のウィジェット、並びにユーザ作成ウィジェット149-6のうちの1つ以上を任意選択的に含む、ウィジェットモジュール149、
●ユーザ作成ウィジェット149-6を作成するためのウィジェット作成モジュール150、
●検索モジュール151、
●任意選択的にビデオプレーヤモジュール及び音楽プレーヤモジュールから構成されている、ビデオ及び音楽プレーヤモジュール152、
●メモモジュール153、
●地図モジュール154、及び/又は
●オンラインビデオモジュール155、
●注釈及びモデリングモジュール195、及び/又は
●飛行時間(「ToF」)センサモジュール196。
任意選択的にメモリ102に記憶される他のアプリケーション136の例としては、他のワードプロセッシングアプリケーション、他の画像編集アプリケーション、描画アプリケーション、プレゼンテーションアプリケーション、JAVA(登録商標)対応アプリケーション、暗号化、デジタル著作権管理、音声認識、及び音声複製が挙げられる。
タッチ感知ディスプレイシステム112、ディスプレイコントローラ156、接触モジュール130、グラフィックモジュール132、及びテキスト入力モジュール134と共に、連絡先モジュール137は、(例えば、メモリ102又はメモリ370内の連絡先モジュール137のアプリケーション内部状態192に記憶される)アドレス帳又は連絡先リストを管理するための実行可能命令を含み、それには、アドレス帳に名前(単数又は複数)を加えること、アドレス帳から名前(単数又は複数)を削除すること、電話番号(単数又は複数)、電子メールアドレス(単数又は複数)、実際の住所(単数又は複数)、又は他の情報を名前に関連付けること、画像を名前に関連付けること、名前を分類して並べ替えること、電話番号及び/又は電子メールアドレスを提供して、電話138、ビデオ会議139、電子メール140、又はIM141による通信を開始及び/若しくは促進すること、などが含まれる。
RF回路108、音声回路110、スピーカ111、マイクロフォン113、タッチ感知ディスプレイシステム112、ディスプレイコントローラ156、接触モジュール130、グラフィックモジュール132、及びテキスト入力モジュール134と連携して、電話モジュール138は、電話番号に対応する一連の文字を入力し、アドレス帳137内の1つ以上の電話番号にアクセスし、入力されている電話番号を変更し、それぞれの電話番号をダイヤルし、会話を実行し、会話が完了したときに切断し又は電話を切る実行可能命令を含む。上述のように、無線通信は、任意選択で、複数の通信規格、プロトコル、及び技術のうちのいずれかを使用する。
RF回路108、音声回路110、スピーカ111、マイクロフォン113、タッチ感知ディスプレイシステム112、ディスプレイコントローラ156、光センサ(単数又は複数)164、光センサコントローラ158、接触モジュール130、グラフィックモジュール132、テキスト入力モジュール134、連絡先リスト137、及び電話モジュール138と連携して、ビデオ会議モジュール139は、ユーザの命令に従って、ユーザと1人以上の他の参加者の間のビデオ会議を開始し、行い、終了する実行可能命令を含む。
RF回路108、タッチ感知ディスプレイシステム112、ディスプレイコントローラ156、接触モジュール130、グラフィックモジュール132、及びテキスト入力モジュール134と連携して、電子メールクライアントモジュール140は、ユーザの指示に応じて、電子メールを作成し、送信し、受信し、管理する実行可能命令を含む。画像管理モジュール144と連携して、電子メールクライアントモジュール140は、カメラモジュール143で撮影された静止画像又はビデオ画像を有する電子メールの作成及び送信を非常に容易にする。
RF回路108、タッチ感知ディスプレイシステム112、ディスプレイコントローラ156、接触モジュール130、グラフィックモジュール132、及びテキスト入力モジュール134と連携して、インスタントメッセージモジュール141は、インスタントメッセージに対応する一連の文字を入力し、前に入力された文字を修正し、それぞれのインスタントメッセージを送信し(例えば、電話ベースのインスタントメッセージのためのショートメッセージサービス(SMS)若しくはマルチメディアメッセージサービス(Multimedia Message Service、MMS)プロトコルを使用して、又はインターネットベースのインスタントメッセージのためのXMPP、SIMPLE、Apple Push Notification Service(APNs)、若しくはIMPSを使用して)、インスタントメッセージを受信し、受信したインスタントメッセージを見る実行可能命令を含む。いくつかの実施形態では、送信及び/又は受信されたインスタントメッセージは任意選択で、MMS及び/又は拡張メッセージングサービス(Enhanced Messaging Service、EMS)でサポートされるような、グラフィック、写真、音声ファイル、ビデオファイル、及び/又は他の添付ファイルを含む。本明細書で使用される場合、「インスタントメッセージ」は、電話ベースのメッセージ(例えば、SMS又はMMSを使用して送信されたメッセージ)及びインターネットベースのメッセージ(例えば、XMPP、SIMPLE、APNs、又はIMPSを使用して送信されたメッセージ)の両方を指す。
RF回路108、タッチ感知ディスプレイシステム112、ディスプレイコントローラ156、接触モジュール130、グラフィックモジュール132、テキスト入力モジュール134、GPSモジュール135、マップモジュール154、並びにビデオ及び音楽プレーヤモジュール152と連携して、トレーニングサポートモジュール142は、トレーニングを作成し(例えば、時間、距離、及び/又はカロリー消費目標を有する)、(スポーツデバイス及びスマートウォッチ内の)トレーニングセンサと通信し、トレーニングセンサデータを受信し、トレーニングをモニタするために使用されるセンサを較正し、トレーニング用の音楽を選択して再生し、並びに、トレーニングデータを表示し、記憶し、及び送信する、実行可能命令を含む。
タッチ感知ディスプレイシステム112、ディスプレイコントローラ156、光センサ(単数又は複数)164、光センサコントローラ158、接触モジュール130、グラフィックモジュール132、及び画像管理モジュール144と共に、カメラモジュール143は、静止画像又はビデオ(ビデオストリームを含む)をキャプチャしてメモリ102にそれらを記憶する、静止画像又はビデオの特性を変更する、及び/又はメモリ102から静止画像若しくはビデオを削除する、実行可能命令を含む。
タッチ感知ディスプレイシステム112、ディスプレイコントローラ156、接触モジュール130、グラフィックモジュール132、テキスト入力モジュール134、及びカメラモジュール143と共に、画像管理モジュール144は、静止画像及び/又はビデオ画像を配置し、変更し(例えば、編集し)、又はその他の方式で操作し、ラベルを付け、削除し、提示し(例えば、デジタルスライドショー又はアルバム内で)、並びに記憶する、実行可能命令を含む。
RF回路108、タッチ感知ディスプレイシステム112、ディスプレイコントローラ156、接触モジュール130、グラフィックモジュール132、及びテキスト入力モジュール134と共に、ブラウザモジュール147は、ウェブページ又はそれらの一部、並びにウェブページにリンクされた添付ファイル及び他のファイルの、検索、リンク付け、受信、及び表示を含め、ユーザの命令に従って、インターネットをブラウズする、実行可能命令を含む。
RF回路108、タッチ感知ディスプレイシステム112、ディスプレイコントローラ156、接触モジュール130、グラフィックモジュール132、テキスト入力モジュール134、電子メールクライアントモジュール140、及びブラウザモジュール147と共に、カレンダモジュール148は、ユーザの命令に従って、カレンダ及びカレンダに関連付けられたデータ(例えば、カレンダ項目、するべきことのリストなど)を作成、表示、変更、及び記憶する、実行可能命令を含む。
RF回路108、タッチ感知ディスプレイシステム112、ディスプレイコントローラ156、接触モジュール130、グラフィックモジュール132、テキスト入力モジュール134、及びブラウザモジュール147と共に、ウィジェットモジュール149は、任意選択で、ユーザによってダウンロードされ使用されるミニアプリケーション(例えば、気象ウィジェット149-1、株価ウィジェット149-2、計算機ウィジェット149-3、アラーム時計ウィジェット149-4、及び辞書ウィジェット149-5)、又はユーザによって作成されるミニアプリケーション(例えば、ユーザ作成ウィジェット149-6)である。いくつかの実施形態では、ウィジェットは、HTML(Hypertext Markup Language、ハイパーテキストマークアップ言語)ファイル、CSS(Cascading Style Sheets、カスケーディングスタイルシート)ファイル、及びJavaScriptファイルを含む。いくつかの実施形態では、ウィジェットは、XML(Extensible Markup Language、拡張可能マークアップ言語)ファイル及びJavaScriptファイル(例えば、Yahoo!ウィジェット)を含む。
RF回路108、タッチ感知ディスプレイシステム112、ディスプレイコントローラ156、接触モジュール130、グラフィックモジュール132、テキスト入力モジュール134、及びブラウザモジュール147と連携して、ウィジェット作成モジュール150は、ウィジェットを作成する(例えば、ウェブページのユーザ指定部分をウィジェットに変える)実行可能命令を含む。
タッチ感知ディスプレイシステム112、ディスプレイコントローラ156、接触モジュール130、グラフィックモジュール132、及びテキスト入力モジュール134と連携して、検索モジュール151は、ユーザの命令に従って、1つ以上の検索基準(例えば、1つ以上のユーザ指定の検索語句)と一致する、メモリ102内のテキスト、音楽、サウンド、画像、ビデオ、及び/又は他のファイルを検索する実行可能命令を含む。
タッチ感知ディスプレイシステム112、ディスプレイコントローラ156、接触モジュール130、グラフィックモジュール132、音声回路110、スピーカ111、RF回路108、及びブラウザモジュール147と連携して、ビデオ及び音楽プレーヤモジュール152は、MP3又はAACファイルなどの1つ以上のファイル形式で記憶された記録された音楽又は他のサウンドファイルをユーザがダウンロード及び再生することを可能にする実行可能命令、並びにビデオを表示し、提示し、又はその他の方式で再生する(例えば、タッチ感知ディスプレイシステム112上で、又は無線で若しくは外部ポート124を介して接続された外部のディスプレイ上で)実行可能命令を含む。いくつかの実施形態では、デバイス100は、任意選択的に、iPod(Apple Inc.の商標)などのMP3プレーヤの機能を含む。
タッチ感知ディスプレイシステム112、ディスプレイコントローラ156、接触モジュール130、グラフィックモジュール132、及びテキスト入力モジュール134と連携して、メモモジュール153は、ユーザの命令に従って、メモ、するべきことのリストなどを作成及び管理する実行可能命令を含む。
RF回路108、タッチ感知ディスプレイシステム112、ディスプレイコントローラ156、接触モジュール130、グラフィックモジュール132、テキスト入力モジュール134、GPSモジュール135、及びブラウザモジュール147と連携して、マップモジュール154は、ユーザの命令に従って、地図及び地図と関連付けられたデータ(例えば、運転方向、特定の位置における又はその近くの店舗及び対象となる他の地点についてのデータ、並びに位置に基づく他のデータ)を受信し、表示し、変更し、及び記憶するために使用され得る。
タッチ感知ディスプレイシステム112、ディスプレイコントローラ156、接触モジュール130、グラフィックモジュール132、音声回路110、スピーカ111、RF回路108、テキスト入力モジュール134、電子メールクライアントモジュール140、及びブラウザモジュール147と連携して、オンラインビデオモジュール155は、ユーザがH.264などの1つ以上のファイル形式のオンラインビデオにアクセスし、閲覧し、受信し(例えば、ストリーミング及び/又はダウンロードにより)、再生し(例えば、タッチスクリーン112上で、又は無線で若しくは外部ポート124を介して接続された外部のディスプレイ上で)、特定のオンラインビデオへのリンクを有する電子メールを送信し、別の方法で管理することを可能にする実行可能命令を含む。いくつかの実施形態では、特定のオンラインビデオへのリンクを送信するために、電子メールクライアントモジュール140ではなく、インスタントメッセージングモジュール141が使用される。
タッチ感知ディスプレイシステム112、ディスプレイコントローラ156、接触モジュール130、グラフィックモジュール132、カメラモジュール143、画像管理モジュール152、ビデオ&音楽プレーヤモジュール152、及び仮想/拡張現実モジュール145と連携して、注釈及びモデリングモジュール195は、本明細書でより詳細に記載されるように、ユーザが、物理的環境及び/又はその中の物理的オブジェクトをモデリングし、拡張現実及び/又は仮想現実内で、物理的環境及び/又はその中の物理的オブジェクトの表現(例えば、ライブ、又は以前にキャプチャされた)を注釈する(例えば、それを測定する、その上に描画する、及び/又はそれに仮想オブジェクトを加え、その中の仮想オブジェクトを操作する)ことを可能にする実行可能な命令を含む。
カメラモジュール143と連携して、ToFセンサモジュール196は、物理的環境の深度情報をキャプチャするための、実行可能な命令を含む。いくつかの実施形態では、ToFセンサモジュール196は、カメラモジュール143と連携して稼働し、物理的環境の深度情報を提供する。
上記特定されたモジュール及びアプリケーションの各々は、上記説明された1つ以上の機能、並びに本出願で説明される方法(例えば、コンピュータにより実行される方法、及び本明細書で説明される他の情報処理方法)を実行する実行可能な命令セットに対応する。それらのモジュール(すなわち、命令セット)は、別々のソフトウェアプログラム、手順、又はモジュールとして実装される必要はなく、よって、それらのモジュールの様々なサブセットは、任意選択で、様々な実施形態において、組み合わされ、又はその他の方式で再配置される。いくつかの実施形態では、メモリ102は、任意選択で、上記で特定されたモジュール及びデータ構造のサブセットを記憶する。更に、メモリ102は、上記で説明されていない追加のモジュール及びデータ構造を任意選択的に記憶する。
いくつかの実施形態では、デバイス100は、そのデバイスにおける既定の機能のセットの動作がタッチスクリーン及び/又はタッチパッドのみを介して実行されるデバイスである。デバイス100が動作するための主要な入力コントロールデバイスとしてタッチスクリーン及び/又はタッチパッドを使用することにより、任意選択的に、デバイス100上の物理的な入力コントロールデバイス(プッシュボタン、ダイヤルなど)の数が削減される。
タッチスクリーン及び/又はタッチパッドを通じてのみ実行される既定の機能のセットは、任意選択的に、ユーザインタフェース間のナビゲーションを含む。いくつかの実施形態では、タッチパッドは、ユーザによってタッチされたときに、デバイス100上に表示される任意のユーザインタフェースから、メインメニュー、ホームメニュー、又はルートメニューにデバイス100をナビゲートする。そのような実施形態では、「メニューボタン」は、タッチ感知面を使用して実装される。いくつかの他の実施形態では、メニューボタンは、タッチ感知面の代わりに、物理プッシュボタン又はその他の物理入力コントロールデバイスである。
図1Bは、いくつかの実施形態に係る、イベント処理のための例示的な構成要素を示すブロック図である。いくつかの実施形態では、メモリ102(図1Aにおける)又は370(図3A)は、イベントソート部170(例えば、オペレーティングシステム126内)及びそれぞれのアプリケーション136-1(例えば、上述したアプリケーション136、137~155、380~390のいずれか)を含む。
イベントソート部170は、イベント情報を受信し、イベント情報が配信されるアプリケーション136-1、及びアプリケーション136-1のアプリケーションビュー191を判定する。イベントソート部170は、イベントモニタ171及びイベントディスパッチャモジュール174を含む。いくつかの実施形態では、アプリケーション136-1は、アプリケーションがアクティブ又は実行中のとき、タッチ感知ディスプレイシステム112上で表示される現在のアプリケーションビュー(単数又は複数)を示す、アプリケーション内部状態192を含む。いくつかの実施形態では、デバイス/グローバル内部状態157は、どのアプリケーション(単数又は複数)が現在アクティブであるかを判定するためにイベントソート部170によって使用され、アプリケーション内部状態192は、イベント情報が配信されるアプリケーションビュー191を判定するためにイベントソート部170によって使用される。
いくつかの実施形態では、アプリケーション内部状態192は、アプリケーション136-1が実行を再開するときに使用すべき再開情報、アプリケーション136-1によって表示されている情報を示す又は表示する準備ができたユーザインタフェース状態情報、ユーザがアプリケーション136-1の前の状態又はビューに戻ることを可能にする状態キュー、及びユーザによって行われた前のアクションのリドゥ/アンドゥキューのうちの1つ以上などの追加の情報を含む。
イベントモニタ171は、周辺機器インタフェース118からイベント情報を受信する。イベント情報は、サブイベント(例えば、マルチタッチジェスチャの一部としての、タッチ感知ディスプレイシステム112上のユーザのタッチ)についての情報を含む。周辺機器インタフェース118は、I/Oサブシステム106、又は近接センサ166、加速度計(単数又は複数)167、及び/若しくは(オーディオ回路110を介した)マイクロフォン113などのセンサから受信する情報を送信する。周辺機器インタフェース118がI/Oサブシステム106から受信する情報は、タッチ感知ディスプレイシステム112又はタッチ感知面からの情報を含む。
いくつかの実施形態では、イベントモニタ171は、所定の間隔で周辺機器インタフェース118に要求を送信する。それに応じて、周辺機器インタフェース118は、イベント情報を送信する。他の実施形態では、周辺機器インタフェース118は、重要なイベント(例えば、予め定められたノイズ閾値を上回り、及び/又は予め定められた期間よりも長い入力を受信すること)が存在するときのみ、イベント情報を送信する。
いくつかの実施形態では、イベントソート部170はまた、ヒットビュー判定モジュール172及び/又はアクティブイベント認識部判定モジュール173を含む。
ヒットビュー判定モジュール172は、タッチ感知ディスプレイシステム112が2つ以上のビューを表示するとき、1つ以上のビュー内のどこにおいてサブイベントが発生したかを判定するためのソフトウェア手順を提供する。ビューは、ユーザがディスプレイ上で見ることができる制御装置及び他の要素から構成されている。
アプリケーションに関連付けられたユーザインタフェースの別の態様は、本明細書ではアプリケーションビュー又はユーザインタフェースウインドウと呼ばれることもあるビューのセットであり、その中で情報が表示され、タッチに基づくジェスチャが生じる。タッチが検出される(それぞれのアプリケーションの)アプリケーションビューは、任意選択的に、アプリケーションのプログラム階層又はビュー階層内のプログラムレベルに対応する。例えば、タッチが検出される最下位レベルビューは、任意選択的に、ヒットビューと呼ばれ、また、適切な入力として認識されるイベントのセットは、任意選択的に、タッチによるジェスチャを開始する初期タッチのヒットビューに少なくとも部分的に基づいて決定される。
ヒットビュー判定モジュール172は、タッチに基づくジェスチャのサブイベントに関連する情報を受信する。アプリケーションが階層状に構成された複数のビューを有するとき、ヒットビュー判定モジュール172は、サブイベントを処理すべき階層内の最下位のビューとして、ヒットビューを特定する。ほとんどの状況では、ヒットビューは、開始するサブイベント(すなわち、イベント又は潜在的なイベントを形成する一連のサブイベントにおける最初のサブイベント)が発生する最下位レベルのビューである。ヒットビューがヒットビュー判定モジュールによって特定されると、ヒットビューは典型的には、それがヒットビューとして特定された同一のタッチ又は入力元に関連する全てのサブイベントを受信する。
アクティブイベント認識部判定モジュール173は、ビュー階層内のどのビュー(単数又は複数)がサブイベントの特定のシーケンスを受信すべきかを判定する。いくつかの実施形態では、アクティブイベント認識部判定モジュール173は、ヒットビューのみがサブイベントの特定のシーケンスを受信すべきであると判定する。他の実施形態では、アクティブイベント認識部判定モジュール173は、サブイベントの物理的位置を含む全てのビューがアクティブに関わりがあるビューであると判定し、したがって、全てのアクティブに関わりがあるビューが、サブイベントの特定のシーケンスを受信すべきであると判定する。他の実施形態では、タッチサブイベントが1つの特定のビューに関連付けられたエリアに完全に限定された場合でも、階層内の上位のビューは、依然としてアクティブに関わりがあるビューであり続ける。
イベントディスパッチャモジュール174は、イベント情報をイベント認識部(例えばイベント認識部180)にディスパッチする。アクティブイベント認識部判定モジュール173を含む実施形態では、イベントディスパッチャモジュール174は、アクティブイベント認識部判定モジュール173により判定されたイベント認識部にイベント情報を配信する。いくつかの実施形態では、イベントディスパッチャモジュール174は、それぞれのイベント受信部モジュール182によって取り出されたイベント情報をイベント待ち行列に記憶する。
いくつかの実施形態では、オペレーティングシステム126は、イベントソート部170を含む。あるいは、アプリケーション136-1がイベントソート部170を含む。更に他の実施形態では、イベントソート部170は、独立型のモジュールであり、又は接触/動きモジュール130などのメモリ102内に記憶されている別のモジュールの一部分である。
いくつかの実施形態では、アプリケーション136-1は、それぞれがアプリケーションのユーザインタフェースのそれぞれのビュー内で発生するタッチイベントを処理するための命令を含む、複数のイベント処理部190及び1つ以上のアプリケーションビュー191を含む。アプリケーション136-1の各アプリケーションビュー191は、1つ以上のイベント認識部180を含む。典型的には、それぞれのアプリケーションビュー191は、複数のイベント認識部180を含む。他の実施形態では、イベント認識部180のうちの1つ以上は、ユーザインタフェースキット、又は、アプリケーション136-1が方法及び他の属性を継承する上位レベルのオブジェクトなどの、別個のモジュールの一部である。いくつかの実施形態では、それぞれのイベント処理部190は、データ更新部176、オブジェクト更新部177、GUI更新部178、及び/又はイベントソート部170から受信されたイベントデータ179、のうちの1つ以上を含む。イベント処理部190は任意選択で、アプリケーション内部状態192を更新するために、データ更新部176、オブジェクト更新部177、又はGUI更新部178を利用し、又は呼び出す。代わりに、アプリケーションビュー191のうちの1つ以上は、1つ以上のそれぞれのイベント処理部190を含む。また、いくつかの実施形態では、データ更新部176、オブジェクト更新部177、及びGUI更新部178のうちの1つ以上は、それぞれのアプリケーションビュー191に含まれる。
それぞれのイベント認識部180は、イベントソート部170からイベント情報(例えば、イベントデータ179)を受信し、イベント情報からイベントを特定する。イベント認識部180は、イベント受信部182及びイベント比較部184を含む。いくつかの実施形態では、イベント認識部180はまた、メタデータ183及びイベント配信命令188(任意選択的にサブイベント配信命令を含む)の少なくともサブセットも含む。
イベント受信部182は、イベントソート部170からイベント情報を受信する。イベント情報は、サブイベント、例えば、タッチ又はタッチの移動についての情報を含む。サブイベントに応じて、イベント情報はまた、サブイベントの位置などの追加の情報を含む。サブイベントがタッチの動きに関わるとき、イベント情報はまた任意選択的に、サブイベントの速さ及び方向を含む。一部の実施形態では、イベントは、1つの向きから別の向きへの(例えば、縦向きから横向きへ、又はその逆の)デバイスの回転を含み、イベント情報は、デバイスの現在の姿勢(例えば、位置及び向き)についての対応する情報を含む。
イベント比較部184は、イベント情報を、定義済みのイベント又はサブイベントの定義と比較し、その比較に基づいて、イベント又はサブイベントを判定するか、あるいはイベント又はサブイベントの状態を判定若しくは更新する。いくつかの実施形態では、イベント比較部184は、イベント定義186を含む。イベント定義186は、例えばイベント1(187-1)及びイベント2(187-2)などのイベント(例えば、既定のサブイベントのシーケンス)の定義を含む。いくつかの実施形態では、イベント187におけるサブイベントは、例えば、タッチの始め、タッチの終わり、タッチの移動、タッチの中止、及び複数のタッチを含む。一実施例では、イベント1(187-1)についての定義は、表示されたオブジェクト上のダブルタップである。ダブルタップは、例えば、表示されたオブジェクト上の予め定められた段階についての第1のタッチ(タッチの始め)、予め定められた段階についての第1のリフトオフ(タッチの終わり)、表示されたオブジェクト上の予め定められた段階についての第2のタッチ(タッチの始め)、及び予め定められた段階についての第2のリフトオフ(タッチの終わり)を含む。別の実施例では、イベント2(187-2)の定義は、表示されたオブジェクト上のドラッグである。ドラッグは、例えば、表示されたオブジェクト上の予め定められた段階についてのタッチ(又は、接触)、タッチ感知ディスプレイシステム112を横切るタッチの移動、及びタッチのリフトオフ(タッチの終わり)を含む。いくつかの実施形態では、イベントは、1つ以上の関連付けられたイベント処理部190に関する情報も含む。
いくつかの実施形態では、イベント定義187は、それぞれのユーザインタフェースオブジェクトについてのイベントの定義を含む。いくつかの実施形態では、イベント比較部184は、どのユーザインタフェースオブジェクトがサブイベントに関連付けられているかを判定するヒットテストを実行する。例えば、3つのユーザインタフェースオブジェクトがタッチ感知ディスプレイシステム112上で表示されるアプリケーションビューにおいて、タッチ感知ディスプレイシステム112上でタッチが検出されたとき、イベント比較部184は、3つのユーザインタフェースオブジェクトのうちのどれがタッチ(サブイベント)と関連付けられているかを判定するためにヒットテストを実行する。表示された各オブジェクトが、それぞれのイベント処理部190に関連付けられている場合、イベント比較部は、ヒットテストの結果を用いて、どのイベント処理部190をアクティブ化すべきかを判定する。例えば、イベント比較部184は、ヒットテストをトリガするサブイベント及びオブジェクトに関連付けられたイベント処理部を選択する。
いくつかの実施形態では、それぞれのイベント187の定義は、一連のサブイベントがイベント認識部のイベントタイプに対応するかどうかが判定されるまで、イベント情報の配信を遅らせる遅延アクションも含む。
それぞれのイベント認識部180が一連のサブイベントがイベント定義186のイベントのいずれとも一致しないと判断した場合、それぞれのイベント認識部180は、イベント不可能、イベント失敗、又はイベント終了の状態に入り、その後は、タッチに基づくジェスチャの次のサブイベントを無視する。この状況では、ヒットビューについてアクティブのままである他のイベント認識部があれば、そのイベント認識部は、進行中のタッチによるジェスチャのサブイベントの追跡及び処理を続行する。
いくつかの実施形態では、それぞれのイベント認識部180は、イベント配信システムがどのようにサブイベント配信を実行すべきかをアクティブに関与しているイベント認識部に示す構成可能なプロパティ、フラグ、及び/又はリストを有するメタデータ183を含む。いくつかの実施形態では、メタデータ183は、イベント認識部が互いにどのように対話するか、又はイベント認識部が互いにどのように対話することが可能となるかを示す構成可能なプロパティ、フラグ、及び/又はリストを含む。いくつかの実施形態では、メタデータ183は、サブイベントがビュー階層又はプログラム階層における多様なレベルに配信されるかを示す構成可能なプロパティ、フラグ、及び/又はリストを含む。
いくつかの実施形態では、それぞれのイベント認識部180は、イベントの1つ以上の特定のサブイベントが認識されるときに、イベントに関連付けられたイベント処理部190をアクティブ化する。いくつかの実施形態では、それぞれのイベント認識部180は、イベントに関連付けられたイベント情報をイベント処理部190に配信する。イベント処理部190をアクティブ化することは、それぞれのヒットビューにサブイベントを送信する(及び、送信を延期する)こととは別個である。いくつかの実施形態では、イベント認識部180は、認識したイベントに関連付けられたフラグを投入し、そのフラグに関連付けられたイベント処理部190は、そのフラグを捕らえ、既定のプロセスを実行する。
いくつかの実施形態では、イベント配信命令188は、イベント処理部をアクティブ化することなくサブイベントについてのイベント情報を配信するサブイベント配信命令を含む。代わりに、サブイベント配信命令は、一連のサブイベントと関連付けられたイベント処理部に、又はアクティブに関与しているビューにイベント情報を配信する。一連のサブイベント又はアクティブに関与しているビューと関連付けられたイベント処理部は、イベント情報を受信し、所定の処理を実行する。
いくつかの実施形態では、データ更新部176は、アプリケーション136-1で使用されるデータを作成及び更新する。例えば、データ更新部176は、連絡先モジュール137で使用される電話番号を更新するか、又はビデオ及び音楽プレーヤモジュール152で使用されるビデオファイルを記憶する。いくつかの実施形態では、オブジェクト更新部177は、アプリケーション136-1で使用されるオブジェクトを作成及び更新する。例えば、オブジェクト更新部177は、新たなユーザインタフェースオブジェクトを作成し、又はユーザインタフェースオブジェクトの位置を更新する。GUI更新部178は、GUIを更新する。例えば、GUI更新部178は、表示情報を準備し、タッチ感知ディスプレイ上に表示するために表示情報をグラフィックモジュール132に送る。
いくつかの実施形態では、イベント処理部(単数又は複数)190は、データ更新部176、オブジェクト更新部177、及びGUI更新部178を含む又はそれらへのアクセスを有する。いくつかの実施形態では、データ更新部176、オブジェクト更新部177、及びGUI更新部178は、それぞれのアプリケーション136-1又はアプリケーションビュー191の単一モジュールに含まれる。他の実施形態では、それらは、2つ以上のソフトウェアモジュールに含まれる。
タッチ感知ディスプレイ上のユーザのタッチのイベント処理に関する前述の記載は、入力デバイスを用いて多機能デバイス100を動作させるための他の形態のユーザ入力にも適用されるが、その全てがタッチスクリーン上で開始されるわけではないことを理解されたい。例えば、キーボードの単一又は複数の押圧若しくは保持と任意選択的に連携される、マウスの移動及びマウスボタンの押圧、タッチパッド上のタップ、ドラッグ、スクロールなどの接触の移動、ペンスタイラス入力、1つ以上のカメラによって取得されたビデオ画像のリアルタイム解析に基づく入力、デバイスの移動、口頭による命令、検出された眼球運動、バイオメトリック入力、並びに/又はそれらの任意の組み合わせを、任意選択的に、認識するイベントを定義するサブイベントに対応する入力として利用する。
図2Aは、一部の実施形態に係る、タッチスクリーン(例えば、タッチ感知ディスプレイシステム112、図1A)を有するポータブル多機能デバイス100(例えば、デバイス100の前面のビュー)を示す。タッチスクリーンは、任意選択的に、ユーザインタフェース(user interface、UI)200内に1つ以上のグラフィックを表示する。これらの実施形態、並びに後述する実施形態では、ユーザは、例えば、1本以上の指202(図には、正確な縮尺率では描かれていない)又は1つ以上のスタイラス203(図には、正確な縮尺率では描かれていない)を用いて、グラフィック上でジェスチャを行うことにより、グラフィックのうちの1つ以上を選択することが可能になる。一部の実施形態では、1つ以上のグラフィックの選択は、ユーザが、その1つ以上のグラフィックとの接触を中断する場合に実施される。いくつかの実施形態では、ジェスチャは、1回以上のタップ、1回以上のスワイプ(左から右へ、右から左へ、上向きに及び/若しくは下向きに)、並びに/又は、デバイス100と接触した指のローリング(右から左へ、左から右へ、上向きに及び/若しくは下向きに)を、任意選択で含む。一部の実装形態又は状況では、グラフィックとの不測の接触は、そのグラフィックを選択するものではない。例えば、選択に対応するジェスチャがタップである場合、アプリケーションアイコンの上をスイープするスワイプジェスチャは、任意選択的に、対応するアプリケーションを選択するものではない。
デバイス100は、任意選択で、「ホーム」又はメニューボタン204などの1つ以上の物理的ボタンも含む。前述のように、メニューボタン204は、任意選択で、デバイス100上で任意選択的に実行される、アプリケーションのセットにおける任意のアプリケーション136にナビゲートするために使用される。あるいは、いくつかの実施形態では、メニューボタンは、タッチスクリーンディスプレイ上で表示されるGUI内のソフトキーとして実装される。
いくつかの実施形態では、デバイス100は、タッチスクリーンディスプレイ、メニューボタン204(ホームボタン204と呼ばれる場合がある)、デバイスへの電源供給のオン/オフ及びデバイスのロックのためのプッシュボタン206、音量調節ボタン(単数又は複数)208、加入者識別モジュール(SIM)カードスロット210、ヘッドセットジャック212、ドッキング/充電用外部ポート124を含む。プッシュボタン206は、任意選択的に、ボタンを押し下げて、既定の期間にわたってボタンを押し下げた状態に保持することによって、デバイスの電源をオン/オフするため、ボタンを押し下げて、既定の時間が経過する前にボタンを解放することによってデバイスをロックするため、及び/又はデバイスをロック解除する、若しくはロック解除プロセスを開始するために、使用される。いくつかの実施形態では、デバイス100は、マイクロフォン113を通して、一部の機能をアクティブ化又は非アクティブ化するための口頭入力をも受け入れる。デバイス100はまた任意選択で、タッチ感知ディスプレイシステム112上の接触の強度を検出する1つ以上の接触強度センサ165、及び/又はデバイス100のユーザに対する触知出力を生成する1つ以上の触知出力生成器163を含む。
図2Bは、任意選択的に、光センサ164-1及び164-2、並びにフライト時間(「ToF」)センサ220を含む、ポータブル多機能デバイス100(例えば、デバイス100の背面のビュー)を示す。光センサ(例えばカメラ)164-1及び164-2が、物理的環境の表現(例えば画像又はビデオ)を同時にキャプチャするとき、ポータブル多機能デバイスは、光センサにより同時にキャプチャされた情報間での不一致(例えば、捕獲画像間での不一致)から、深度情報を判定することができる。光センサ164-1及び164-2を使用して判定した不一致により提供される深度情報(例えば画像)は、正確性を欠いている場合があるものの、通常は高解像度を提供する。画像どうしの不一致により提供される深度情報の正確性を改善するために、フライト時間センサ220を任意選択的に、光センサ164-1及び164-2と連携して使用する。ToFセンサ220は波形(例えば、発光ダイオード(LED)又はレーザーからの光)を放出し、波形(例えば光)の反射(単数又は複数)が、ToFセンサ220に戻ってくるのにかかる時間を測定する。深度情報は、光がToFセンサ220に戻ってくるのにかかる、測定した時間から判定される。ToFセンサは通常、高い正確性(例えば、測定した距離又は深度に関して、1cm又はそれより良好な正確性)を提供するが、高解像度を欠いている場合がある(例えば、ToFセンサ220は任意選択的に、光センサ164の解像度の4分の1、又は光センサ164の解像度の4分の1未満、又は光センサ164の解像度の16分の1、又は光センサ164の解像度の16分の1未満である解像度を有する)。それ故、ToFセンサからの深度情報を、光センサ(例えばカメラ)を使用して判定した不一致により提供される深度情報(例えば画像)と組み合わせることにより、正確であり、かつ高解像度も有する深度マップが提供される。
図3Aは、いくつかの実施形態に係る、ディスプレイ及びタッチ感知面を有する例示的な多機能デバイスのブロック図である。デバイス300は、ポータブル型である必要はない。いくつかの実施形態では、デバイス300は、ラップトップコンピュータ、デスクトップコンピュータ、タブレットコンピュータ、マルチメディアプレーヤデバイス、ナビゲーションデバイス、教育的デバイス(子供の学習玩具など)、ゲームシステム、又は制御デバイス(例えば、家庭用又は業務用コントローラ)である。デバイス300は、典型的には、1つ以上の処理ユニット(CPU)310と、1つ以上のネットワーク又は他の通信インタフェース360と、メモリ370と、及びこれらの構成要素を相互接続するための1つ以上の通信バス320とを含む。通信バス320は、任意選択的に、システム構成要素間の通信を相互接続及び制御する回路(チップセットと呼ばれることもある)を含む。デバイス300は、任意選択的にタッチスクリーンディスプレイであるディスプレイ340を含む、入出力(input/output、I/O)インタフェース330を含む。また、I/Oインタフェース330は、キーボード及び/又はマウス(又は、他のポインティング機器)350及びタッチパッド355、(例えば、図1Aに関連して上述されている触覚出力生成器(1つ又は複数)163に類似した)デバイス300上で触覚出力を生成するための触覚出力生成器357、センサ359(例えば、光センサ、加速度センサ、近接センサ、タッチ感知センサ、及び/又は図1Aに関連して上述されている類似のものに同様の接触強度センサ、及び任意選択的に、図2Bに関連して上述されているフライト時間センサ220)を、任意選択的に含む。メモリ370は、DRAM、SRAM、DDR RAM、又は他のランダムアクセスソリッドステートメモリデバイスなどの高速ランダムアクセスメモリを含み、任意選択で、1つ以上の磁気ディスク記憶デバイス、光ディスク記憶デバイス、フラッシュメモリデバイス、又は他の不揮発性ソリッドステート記憶デバイスなどの不揮発性メモリを含む。メモリ370は、任意選択で、CPU(単数又は複数)310からリモートに位置する1つ以上の記憶デバイスを含む。いくつかの実施形態では、メモリ370は、ポータブル多機能デバイス100(図1A)のメモリ102に記憶されたプログラム、モジュール、及びデータ構造に類似するプログラム、モジュール、及びデータ構造、又はそれらのサブセットを記憶する。更に、メモリ370は、任意選択で、ポータブル多機能デバイス100のメモリ102に存在しない追加のプログラム、モジュール、及びデータ構造を記憶する。例えば、デバイス300のメモリ370は任意選択で、描画モジュール380、プレゼンテーションモジュール382、ワードプロセッシングモジュール384、ウェブサイト作成モジュール386、ディスクオーサリングモジュール388、及び/又はスプレッドシートモジュール390を記憶するが、ポータブル多機能デバイス100(図1A)のメモリ102は、任意選択で、それらのモジュールを記憶しない。
上記特定された図3Aにおける要素の各々は、任意選択で、前に言及したメモリデバイスのうちの1つ以上に記憶される。上記で特定されたモジュールの各々は、上記で説明された機能を実行する命令セットに対応する。上記で特定されたモジュール又はプログラム(すなわち、命令セット)は、別個のソフトウェアプログラム、手順、又はモジュールとして実装される必要はなく、したがって、それらのモジュールの様々なサブセットは、任意選択で、様々な実施形態において組み合わされるか、又はその他の方式で再配置される。いくつかの実施形態では、メモリ370は、任意選択で、上記で特定されたモジュール及びデータ構造のサブセットを記憶する。更に、メモリ370は、上記で説明されていない追加のモジュール及びデータ構造を任意選択的に記憶する。
図3B~図3Cは、いくつかの実施形態に係る、例示的なコンピュータシステム301のブロック図である。
いくつかの実施形態では、コンピュータシステム301は、以下のものを含む、及び/又はそれらと通信している。
●入力デバイス(単数又は複数)(302及び/又は307、例えば、タッチ感知式リモートコントロールなどのタッチ感知面、若しくは表示生成コンポーネントとしても機能するタッチスクリーンディスプレイ、マウス、ジョイスティック、ワンドコントローラ、及び/又はユーザの手などのユーザの1つ以上の特徴の位置を追跡するカメラ)、
●仮想/拡張現実論理303(例えば、仮想/拡張現実モジュール145)、
●仮想ユーザインタフェース要素をユーザに表示するための表示生成コンポーネント(単数又は複数)(304及び/又は308、例えば、ディスプレイ、プロジェクタ、ヘッドマウントディスプレイ、ヘッドアップディスプレイなど)、
●デバイスの視野の画像、例えば、仮想ユーザインタフェース要素の配置を判定し、デバイスの姿勢を判定し、及び/又はカメラ(単数又は複数)が位置する物理的環境の一部分を表示するために使用される画像をキャプチャするためのカメラ(単数又は複数)(例えば、305及び/又は311)、
●物理的環境に対するデバイスの姿勢及び/又はデバイスの姿勢の変化を判定するための姿勢センサ(単数又は複数)(例えば、306及び/又は311)。
いくつかの実施形態では、コンピュータシステム301(例えばカメラ(単数又は複数)305及び/又は311)は、図2Bを参照して上述たように深度情報をキャプチャするための、フライト時間センサ(例えばフライト時間センサ220、図2B)を含み、かつ/又はこれと連通している。
いくつかのコンピュータシステム(例えば、図3Bの301-a)では、入力デバイス(単数又は複数)302、仮想/拡張現実論理303、表示生成コンポーネント(単数又は複数)304、カメラ(単数又は複数)305、及び姿勢センサ(単数又は複数)306は全て、コンピュータシステム(例えば、スマートフォン又はタブレットなどの図1A~図1Bのポータブル多機能デバイス100又は図3のデバイス300)に統合される。
いくつかのコンピュータシステム(例えば、301-b)では、統合された入力デバイス(単数又は複数)302、仮想/拡張現実論理303、表示生成コンポーネント(単数又は複数)304、カメラ(単数又は複数)305、及び姿勢センサ(単数又は複数)306に加えて、コンピュータシステムはまた、タッチ感知面、ワンド、リモートコントロールなどの別個の入力デバイス(単数又は複数)307、並びに/又は物理的環境上に仮想オブジェクトを重ね合わせる仮想現実ヘッドセット若しくは拡張現実眼鏡などの別個の表示生成コンポーネント(単数又は複数)308などの、コンピュータシステムとは別個の追加のデバイスと通信している。
いくつかのコンピュータシステム(例えば、図3Cの301-c)では、入力デバイス(単数又は複数)307、表示生成コンポーネント(単数又は複数)309、カメラ(単数又は複数)311、及び/又は姿勢センサ(単数又は複数)312は、コンピュータシステムとは別個であり、かつコンピュータシステムと通信している。いくつかの実施形態では、コンピュータシステム301内の構成要素、及びコンピュータシステムと通信している構成要素の他の組み合わせが使用される。例えば、いくつかの実施形態では、表示生成コンポーネント(単数又は複数)309、カメラ(単数又は複数)311、及び姿勢センサ(単数又は複数)312は、コンピュータシステムと統合された又はコンピュータシステムと通信しているのいずれかであるヘッドセットに組み込まれる。
いくつかの実施形態では、図5A~図5CNを参照して後述する動作の全ては、仮想/拡張現実論理303を有する単一のコンピューティングデバイス(例えば、図3Bを参照して後述するコンピュータシステム301-a)上で実行される。しかしながら、しばしば、異なる複数のコンピューティングデバイスが一緒にリンクされて、図5A~5CN、6A~6Y、7A~7ATを参照して後述する動作を実行する(例えば、仮想/拡張現実論理303を有するコンピューティングデバイスは、ディスプレイ450を有する別個のコンピューティングデバイス及び/又はタッチ感知面451を有する別個のコンピューティングデバイスと通信する)ことを理解されたい。これらの実施形態のいずれかでは、図5A~5CN、6A~6Y、7A~7ATを参照して後述するコンピューティングデバイスは、仮想/拡張現実論理303を含むコンピューティングデバイス(単数又は複数)である。加えて、各種実施形態では、仮想/拡張現実論理303は、別個の複数のモジュール又はコンピューティングデバイスの間で分割されてもよいことを理解されたい。しかしながら、本明細書の説明の目的のために、仮想/拡張現実論理303は、実施形態の他の態様を不必要に不明瞭にしないように、単一のコンピューティングデバイス内に存在するものとして主に言及される。
いくつかの実施形態では、仮想/拡張現実論理303は、解釈された入力を受信し、これらの解釈された入力に応じて、その後グラフィカルユーザインタフェースをディスプレイ上で更新するために使用される、解釈された入力に従ってグラフィカルユーザインタフェースを更新するための命令を生成する、1つ以上のモジュール(例えば、図1Bを参照してより詳細に上述したような1つ以上のオブジェクト更新部177及び1つ以上のGUI更新部178を含む1つ以上のイベント処理部190)を含む。いくつかの実施形態では、(例えば、図1A及び図3の接触動きモジュール130によって)検出され、(例えば、図1Bのイベント認識部180によって)認識され、かつ/又は(例えば、図1Bのイベントソート部170によって)配信された入力に対する解釈された入力は、ディスプレイ上のグラフィカルユーザインタフェースを更新するために使用される。いくつかの実施形態では、解釈された入力は、コンピューティングデバイスにおけるモジュールによって生成される(例えば、コンピューティングデバイスは、未加工の接触入力データからジェスチャを識別するように、未加工の接触入力データを受信する)。いくつかの実施形態では、解釈された入力の一部又は全ては、解釈された入力としてコンピューティングデバイスによって受信される(例えば、タッチ感知面451を含むコンピューティングデバイスは、未加工の接触入力データからジェスチャを識別するように、未加工の接触入力データを処理し、仮想/拡張現実論理303を含むコンピューティングデバイスにジェスチャを示す情報を送信する)。
いくつかの実施形態では、ディスプレイ及びタッチ感知面の両方が、仮想/拡張現実論理303を含むコンピュータシステム(例えば、図3Bの301-a)と統合される。例えば、コンピュータシステムは、統合されたディスプレイ(例えば、図3の340)及びタッチパッド(例えば、図3の355)を有するデスクトップコンピュータ又はラップトップコンピュータであってもよい。別の例として、コンピューティングデバイスは、タッチスクリーン(例えば、図2Aの112)を有するポータブル多機能デバイス100(例えば、スマートフォン、PDA、タブレットコンピュータなど)であってもよい。
いくつかの実施形態では、タッチ感知面は、コンピュータシステムと統合され、ディスプレイは、仮想/拡張現実論理303を含むコンピュータシステムと統合されない。例えば、コンピュータシステムは、統合されたタッチパッド(例えば、図3の355)が別個のディスプレイ(例えば、コンピュータモニタ、テレビなど)に(有線又は無線接続を介して)接続された、デバイス300(例えば、デスクトップコンピュータ又はラップトップコンピュータ)であってもよい。別の例として、コンピュータシステムは、タッチスクリーン(例えば、図2Aの112)が別個のディスプレイ(例えば、コンピュータモニタ、テレビなど)に(有線又は無線接続を介して)接続された、ポータブル多機能デバイス100(例えば、スマートフォン、PDA、タブレットコンピュータなど)であってもよい。
いくつかの実施形態では、ディスプレイは、コンピュータシステムと統合され、タッチ感知面は、仮想/拡張現実論理303を含むコンピュータシステムと統合されない。例えば、コンピュータシステムは、統合されたタッチディスプレイ(例えば、図3の340)が別個のタッチ感知面(例えば、遠隔のタッチパッド、ポータブル多機能デバイスなど)に(有線又は無線接続を介して)接続された、デバイス300(例えば、デスクトップコンピュータ、ラップトップコンピュータ、一体型セットトップボックスを有するテレビ)であってもよい。別の例として、コンピュータシステムは、タッチスクリーン(例えば、図2Aの112)が別個のタッチ感知面(例えば、遠隔のタッチパッド、遠隔のタッチパッドとして機能するタッチスクリーンを有する別のポータブル多機能デバイスなど)に(有線又は無線接続を介して)接続された、ポータブル多機能デバイス100(例えば、スマートフォン、PDA、タブレットコンピュータなど)であってもよい。
いくつかの実施形態では、ディスプレイ又はタッチ感知面のいずれもが、仮想/拡張現実論理303を含むコンピュータシステム(例えば、図3Cの301-c)と統合されない。例えば、コンピュータシステムは、別個のタッチ感知面(例えば、遠隔のタッチパッド、ポータブル多機能デバイスなど)及び別個のディスプレイ(例えば、コンピュータモニタ、テレビなど)に(有線又は無線接続を介して)接続された、独立型コンピューティングデバイス300(例えば、セットトップボックス、ゲームコンソールなど)であってもよい。
いくつかの実施形態では、コンピュータシステムは、一体型オーディオシステム(例えば、ポータブル多機能デバイス100内のオーディオ回路110及びスピーカ111)を有する。いくつかの実施形態では、コンピューティングデバイスは、コンピューティングデバイスとは別個のオーディオシステムと通信している。いくつかの実施形態では、オーディオシステム(例えば、テレビユニット内に統合されたオーディオシステム)は、別個のディスプレイと統合される。いくつかの実施形態では、オーディオシステム(例えば、ステレオシステム)は、コンピュータシステム及びディスプレイとは別個の独立型システムである。
ここで、ポータブル多機能デバイス100上で任意選択的に実装されるユーザインタフェース(「UI」)の実施形態に着目する。
図4Aは、いくつかの実施形態に係る、ポータブル多機能デバイス100上のアプリケーションのメニューのための例示的なユーザインタフェースを示す。同様のユーザインタフェースは、デバイス300上に任意選択的に実装される。いくつかの実施形態では、ユーザインタフェース400は、以下の要素、又はそれらのサブセット若しくはスーパーセットを含む。
●セルラー信号及びWi-Fi信号などの無線通信(単数又は複数)のための信号強度インジケータ(単数又は複数)、
●時間、
●Bluetooth(登録商標)インジケータ、
●バッテリ状態インジケータ、
●以下のような、頻繁に使用されるアプリケーションのアイコンを有するトレイ408
○不在着信又はボイスメールメッセージの数のインジケータ414を任意選択的に含む、「電話」とラベル付けされた、電話モジュール138のアイコン416、
○未読電子メールの数のインジケータ410を任意選択的に含む、「メール」とラベル付けされた、電子メールクライアントモジュール140のアイコン418、
○「ブラウザ」とラベル付けされた、ブラウザモジュール147のアイコン420、また、
○「音楽」とラベル付けされたビデオ及び音楽プレーヤモジュール152のアイコン422、また、
●以下のような、他のアプリケーションのアイコン、
○「メッセージ」とラベル付けされた、IMモジュール141のアイコン424、
○「カレンダ」とラベル付けされた、カレンダモジュール148のアイコン426、
○「写真」とラベル付けされた、画像管理モジュール144のアイコン428、
○「カメラ」とラベル付けされた、カメラモジュール143のアイコン430、
○「オンラインビデオ」とラベル付けされた、オンラインビデオモジュール155のアイコン432、
○「株価」とラベル付けされた、株価ウィジェット149-2のアイコン434、
○「マップ」とラベル付けされた、マップモジュール154のアイコン436、
○「天気」とラベル付けされた、気象ウィジェット149-1のアイコン438、
○「時計」とラベル付けされた、アラーム時計ウィジェット149-4のアイコン440、
○「トレーニングサポート」とラベル付けされた、トレーニングサポートモジュール142のアイコン442、
○「メモ」とラベル付けされた、メモモジュール153のアイコン444、また、
○デバイス100及びその様々なアプリケーション136についての設定へのアクセスを提供する、「設定」とラベル付けされた、設定アプリケーション又はモジュールのアイコン446。
図4Aに示されたアイコンのラベルは単なる例に過ぎないことに留意されたい。例えば、他のラベルが任意選択的に、様々なアプリケーションアイコンに使用される。一部の実施形態では、それぞれのアプリケーションアイコンに関するラベルは、それぞれのアプリケーションアイコンに対応するアプリケーションの名前を含む。一部の実施形態では、特定のアプリケーションアイコンのラベルは、その特定のアプリケーションアイコンに対応するアプリケーションの名前とは異なる。
図4Bは、ディスプレイ450とは別個のタッチ感知面451(例えば、タブレット又はタッチパッド355、図3A)を有するデバイス(例えば、デバイス300、図3A)上の例示的なユーザインタフェースを示す。以下の実施例のうちの多くはタッチスクリーンディスプレイ112上の入力(タッチ感知面とディスプレイとが組み合わされている場合)を参照して与えられるが、いくつかの実施形態では、デバイスは、図4Bに示すように、ディスプレイと分離したタッチ感知面上の入力を検出する。いくつかの実施形態では、タッチ感知面(例えば、図4Bにおける451)は、ディスプレイ(例えば、450)上の主軸(例えば、図4Bにおける453)に対応する主軸(例えば、図4Bにおける452)を有する。それらの実施形態によれば、デバイスは、ディスプレイ上のそれぞれの位置に対応する位置(例えば、図4Bにおいて、460は468に対応し、462は470に対応する)におけるタッチ感知面451との接触(例えば、図4Bにおける460及び462)を検出する。このように、タッチ感知面がディスプレイと分離しているとき、タッチ感知面(例えば、図4Bにおける451)上でデバイスによって検出されたユーザ入力(例えば、接触460及び462、及びそれらの移動)は、多機能デバイスのディスプレイ(例えば、図4Bにおける450)上でユーザインタフェースを操作するためにデバイスによって使用される。同様の方法が、本明細書に記載の他のユーザインタフェースに任意選択的に使用されることを理解されたい。
加えて、以下の実施例は、主に指入力(例えば、指の接触、指のタップジェスチャ、指のスワイプジェスチャなど)を参照して与えられるが、いくつかの実施形態では、それらの指の入力のうちの1つ以上は、別の入力デバイスからの入力(例えば、マウスに基づく入力又はスタイラス入力、周囲の物理的環境に対するデバイス又はデバイスの1つ以上のカメラの移動)、及び又は、1つ以上のカメラを使用して追跡される、デバイスに対するユーザ移動と置換されることを理解されたい。例えば、スワイプジェスチャは、(例えば、接触の代わりの)マウスクリックに続けた、(例えば、接触の移動の代わりの)スワイプの経路に沿ったカーソルの移動によって、又は、ユーザ自身の手を特定の向きに移動させることを伴う、手のジェスチャによって、任意選択的に置き換えられる。別の例として、タップジェスチャは、任意選択的に、(例えば、接触を検出して、それに続いて接触の検出を停止する代わりに)カーソルがタップジェスチャの位置の上に位置する間はマウスクリックと置き換えられる、又は、タップジェスチャを表す、対応する手のジェスチャによって置き換えられる。同様に、複数のユーザ入力が同時に検出されるとき、複数の特定の種類の入力デバイスが、任意選択的に、同時に使用され、又は異なる種類の複数の入力デバイスが、任意選択的に、同時に使用されることを理解されたい。
本明細書で使用される「フォーカスセレクタ」という用語は、ユーザが対話しているユーザインタフェースの現在の部分を示す入力要素を指す。カーソル又は他のロケーションマーカーを含むいくつかの実装形態では、カーソルは、カーソルが特定のユーザインタフェース要素(例えば、ボタン、ウィンドウ、スライダ、又は他のユーザインタフェース要素)の上にある間に、タッチ感知面(例えば、図3Aにおけるタッチパッド355、又は図4Bにおけるタッチ感知面451)上で入力(例えば、押圧入力)が検出されると、特定のユーザインタフェース要素が検出された入力に従って調整されるように、「フォーカスセレクタ」として機能する。タッチスクリーンディスプレイ上のユーザインタフェース要素との直接的な相互作用を有効化するタッチスクリーンディスプレイ(例えば、図1Aにおけるタッチ感知ディスプレイシステム112、又は図4Aにおけるタッチスクリーン)を含むいくつかの実装形態では、タッチスクリーン上で検出された接触は、入力(例えば、接触による押圧入力)がタッチスクリーンディスプレイ上で特定のユーザインタフェース要素(例えば、ボタン、ウィンドウ、スライダ、又は他のユーザインタフェース要素)の位置において検出されると、特定のユーザインタフェース要素が検出された入力に従って調製されるように、「フォーカスセレクタ」として機能する。いくつかの実装では、タッチスクリーンディスプレイ上の対応するカーソルの移動又は接触の移動なしに、(例えば、タブキー又は矢印キーを使ってフォーカスを1つのボタンから別のボタンに移動させることにより)フォーカスが、ユーザインタフェースの1つの領域からユーザインタフェースの別の領域に移動される。これらの実装形態では、フォーカスセレクタは、ユーザインタフェースの種々の領域間でのフォーカスの移動に従って移動する。フォーカスセレクタによってとられる具体的な形態とは関わりなく、フォーカスセレクタは一般的に、ユーザインタフェースとのユーザの意図した相互作用を通信するために(例えば、ユーザが相互作用することを意図しているユーザインタフェースの要素をデバイスに示すことによって)、ユーザによって制御されるユーザインタフェース要素(又は、タッチスクリーンディスプレイ上の接触)である。例えば、タッチ感知面(例えば、タッチパッド又はタッチスクリーン)上で押圧入力が検出されている間の、対応のボタンの上のフォーカスセレクタ(例えば、カーソル、接触、又は選択ボックス)の位置は、その対応のボタンを(そのデバイスのディスプレイ上に示される他のユーザインタフェース要素ではなく)アクティブ化することをユーザが意図していることを示すものである。いくつかの実施形態では、フォーカスインジケータ(例えば、カーソル又は選択インジケータ)は、1つ以上の入力デバイスから受信した入力によって影響を受けることになるユーザインタフェースの現在の部分を示すように、表示装置を介して表示される。
ユーザインタフェース及び関連するプロセス
ここで、表示生成コンポーネント(例えば、ディスプレイ、プロジェクタ、ヘッドマウントディスプレイ、ヘッドアップディスプレイなどので表示装置)と、1つ以上のカメラ(例えば、カメラの視野内にあるコンテンツの少なくとも一部分のライブプレビューを連続的に提供し、かつ任意選択的に、カメラの視野内のコンテンツをキャプチャする画像フレームの1つ以上のストリームを含むビデオ出力を生成するビデオカメラ)と、1つ以上の入力デバイス(例えば、タッチ感知式リモートコントロールなどのタッチ感知面、若しくは表示生成コンポーネントとしても機能するタッチスクリーンディスプレイ、マウス、ジョイスティック、ワンドコントローラ、及び/又はユーザの手などのユーザの1つ以上の特徴の位置を追跡するカメラ)と、任意選択的に、1つ以上の姿勢センサと、任意選択的に、タッチ感知面との接触の強度を検出する1つ以上のセンサと、任意選択的に、1つ以上の触知出力生成器と、を含む(かつ/又はそれらと通信している)コンピュータシステム(例えば、ポータブル多機能デバイス100(図1A)、デバイス300(図3A)、又はコンピュータシステム301(図3B))上に実装することができる、ユーザインタフェース(「UI」)及び関連するプロセスの実施形態に注意を向ける。
図5A~5CN、6A~6Y、及び7A~7ATは、いくつかの実施形態に係る、物理的環境などの環境を注釈し、測定し、かつモデリングするための例示的なユーザインタフェースを示す。これらの図のユーザインタフェースは、図8A~8F、9A~9C、10A~10C、11A~11E、12A~12C、13A~13D、14A~14D、15A~15D、及び16A~16Eのプロセスを含む、以下で説明するプロセスを示すために使用される。説明の便宜上、実施形態のいくつかは、タッチ感知ディスプレイシステム112を有するデバイス上で実行される操作を参照して議論される。そのような実施形態では、フォーカスセレクタは任意選択で、それぞれの指若しくはスタイラスの接触、指若しくはスタイラスの接触に対応する代表的な点(例えば、それぞれの接触の面心若しくはそれぞれの接触と関連付けられた点)、又はタッチ感知ディスプレイシステム112上で検出された2つ以上の接触の面心である。しかしながら、同様の操作は任意選択で、フォーカスセレクタと共に、ディスプレイ450上の図に示されるユーザインタフェースを表示する間、タッチ感知面451上の接触を検出したことに応じて、ディスプレイ450及び別々のタッチ感知面451を有するデバイス上で実行される。
図5A~5CNは、いくつかの実施形態に係る、拡張現実を使用して物理的環境を注釈及び測定するための、例示的なユーザインタフェースを示す図である。
図5Aは、測定アプリケーション448を備えたホーム画面ユーザインタフェースを示す。図5Bは、アイコン448の上の入力81を示す。図5Cは、アイコン448の上の入力581に対する応答を示す。図5Cは、ポータブル多機能デバイス100が、拡張現実ビュー500を表示していることを示す。拡張現実ビュー500は、ポータブル多機能デバイス100の1つ以上の光センサ164の視野の中にある、(例えば、1つ以上の光センサ164、又は1つ以上の光センサ164のいずれか1つの、現在選択されている光センサの視野の中にある、又は任意選択的に、2つ以上の光センサ164の、組み合わされた視野の中にある)3次元の物理的環境501に基づいて作成される。この拡張現実ビュー500を使用して、測定値、縁部マーキング、表面マーキング、バウンディングボックスなどの注釈を、3次元の物理的環境501内で見出されるオブジェクトの表現の上部に重ねる。
3次元の物理的環境501は、テレビスタンド502-1、テレビ(及び/又は、任意の他の種類のディスプレイ)502-2、ソファ502-3、枕502-4、テーブル502-5、ランプ502-6、並びに雑誌502-7などの、複数の項目を含む。拡張現実ビュー500は、複数の項目の、対応する表現を含む。複数の項目の、これらの対応する表現は、テレビスタンド503-1(不明瞭化した)、テレビ503-2(不明瞭化した)、ソファ503-3、枕503-4、テーブル503-5、ランプ503-6、及び雑誌503-7である。複数の項目の、これらの対応する表現は、これらのオブジェクトの測定値(例えばメトリック)が判定されていることを示す、これらを囲む波線の輪郭569を有する。ポータブル多機能デバイス100上に示される拡張現実ビュー500は、拡張現実ビュー500に重なる、複数のユーザインタフェースオブジェクトを有する。これらのユーザインタフェースオブジェクトをそれぞれ使用して、拡張現実で表示されているものを制御する、及びまた、ユーザが、3次元の物理的環境501に示されるオブジェクトの測定値を取り込み、重ねるのを補助する。測定値に関して使用されるとき、用語「取り込む」「取り込むこと」、及び「取り込まれた」とは、それぞれ、「生成する」「生成すること」、及び「生成した」を意味する、又は含むことと理解されるべきである。動詞として使用されるとき、用語「重なり合う」及び「重なり合っている」とは、それぞれ、「の上に表示する」、及び「の上に表示すること」を意味する、又は含む、あるいは代替的に、表示された拡張現実ユーザインタフェース又は仮想現実ユーザインタフェースに、(例えばオブジェクト、領域などが)重なっているように現れるように表現されることを意味するものと理解されなければならない。
いくつかの実施形態では、拡張現実ビュー500に表示される(又はこれに重なり合う)別のユーザインタフェース要素は、モードインジケーションユーザインタフェース505である。いくつかの実施形態では、ユーザが、アイコン505(例えば、505-1~505-5)により、図5Cの例で示されているこのような5つの測定モードを切り替えることができる、複数の異なる測定モード用のアイコン505が、モードインジケーションユーザインタフェース505内に表示される。測定モードは本明細書において、注釈モードと呼ばれる場合がある。それぞれの測定モードは、対応する測定モードアイコン505を選択することにより、例えば、自動測定モードアイコン505-1、3次元測定モードアイコン505-2、2次元表面測定モードアイコン505-3、2地点測定モードアイコン505-4、及び、フロアプラン測定モードアイコン505-5を選択することにより、選択される。自動測定モードアイコン505-1は、選択されたときに、ポータブル多機能デバイス100が、どの表面又はオブジェクトに、レチクル(例えば、図5E及びその後の多くの図で示す、レチクル504)が重なっているか(例えば、3次元オブジェクト、2次元表面など)を自動的に検出させるようにすることができ、その判定に基づき、デバイスは、表面又はオブジェクトが測定可能であるということを自動的に示すことができる。レチクル504は、場合によっては単に「配置ユーザインタフェース要素」と呼ばれる、注釈配置ユーザインタフェース要素の例である。例えば、自動測定モードアイコンが選択されたとき、デバイスは、何を測定しているかに応じて、測定モードを切り替えることができる(例えば、レチクルがテーブル表面の上にあるとき、2次元測定値が表示され、レチクルがソファの上を移動するとき、3次元測定値が示される)。いくつかの実施形態では、レチクルは、レチクル504が上にあるオブジェクトに基づき、外観を変える。いくつかの実施形態では、ユーザが自動モードを無視して、どの種類の測定を行うかを手動で特定したい、という例が存在する可能性がある。これが起こるとき、ユーザは、3次元測定モードアイコン505-2、2次元表面測定モードアイコン505-3、又は2地点測定モードアイコン505-4などのそれぞれの測定モードアイコン505をタップすることで、測定モードを切り替えることができる。いくつかの実施形態では、ユーザは、任意の向きにスワイプをして、モードを変更することもできる。3次元測定モードアイコン505-2、2次元表面測定モードアイコン505-3、及び2地点測定モードアイコン505-4は、選択されたときに、ユーザが、デバイス100を命令して、それぞれ、3次元(例えば長さ、幅、及び高さ)、2次元(例えば、長さ、幅、若しくは高さのいずれかから選択される2次元)、又は、ある点から別の点への1次元(例えば、テーブルの縁部の長さ)のいずれかにおいて、1つ以上の測定値を生成することができるようになる。いくつかの実施形態では、フロアプラン測定モードアイコン505-5は、選択されたときに、ユーザが、デバイス100を使用して3次元の物理的環境501をスキャンし、フロアプラン(例えば鳥瞰図)を作成することができるようになる。いくつかの実施形態では、レチクル504(例えば、図5Eを参照のこと)は、どの測定モードをユーザが選択したかに応じて視覚的に変化し、これにより、ユーザに、どの測定モードが現在使用注であるかを示す。いくつかの実施形態では、これらのモードアイコンのどれが選択されたかを示すために、選択インジケータ537が、選択されたアイコンの回りに表示される。
いくつかの実施形態では、拡張現実ビュー500内に表示される(又はこれに重なり合う)別のユーザインタフェース要素は、測定リストボタン506であり、これは、選択されたときに、デバイス100に、現在の注釈セッションの間に取得された全ての測定値(例えばメトリック)の一覧を表示させるようにする。いくつかの実施形態では、拡張現実ビュー500に表示される(又はこれに重なり合う)別のユーザインタフェース要素は、場合によっては本明細書で「注釈作成ボタン508」と呼ばれる、測定値固定ユーザインタフェースオブジェクト508であり、これは、選択されたときに、所定の位置、例えばレチクル504の位置、又はレチクル504の焦点504-1の位置(例えば、図5BUを参照のこと)にて、測定点を落とす。いくつかの実施形態では、拡張現実ビュー500に表示される(又はこれに重なり合う)別のユーザインタフェース要素は、アンドゥユーザインタフェースオブジェクト507であり、これは選択されたときに、直近に落とされた測定点を取り除く。最後に、いくつかの実施形態では、拡張現実ビュー500に表示される(又はこれに重なり合う)別のユーザインタフェース要素は、選択されたときに、(例えばあらゆる)表示される測定値を含む、拡張現実ビュー500を、ビデオフォーマット、画像フォーマット、又は他の好適なフォーマットに記録する、記録ユーザインタフェースオブジェクト550である。この記録を次に、メッセージ送受信アプリケーション、Eメール、又は別のユーザにデータを転送するその他の好適な方法により、他のデバイス上でユーザと共有することができる。
図5Dは、異なる向きでの、同じ3次元の物理的環境501(例えば、ポータブル多機能デバイス100の向きにより判定される、カメラの現在の視野のリアルタイム表現)を示す。図5Cから図5Dへの遷移は、ユーザが、異なる向きでポータブル多機能デバイス100を保持していることを意味し、これにより、1つ以上の光センサ164が、3次元の物理的環境501の異なる部分を確認できるようになる。示すように、この他の向きでは、3次元の物理的環境501内の玄関502-8、窓502-9(部分的に不明瞭化されている)、及び犬502-10はここで、1つ以上の光センサ164の視野の中にあり、対応する表現503-8(玄関)、502-9(窓)、及び502-10(犬)は、拡張現実ビュー500にて示される。複数の項目の、これらの対応する表現は、これらの項目/オブジェクトの測定値(例えばメトリック)が判定されていることを示す、これらを囲む波線の輪郭569を有する。
図5Eは、自動測定モードアイコン505-1が選択されたポータブル多機能デバイス100を示し、デバイス100及びその1つ以上の光センサ164が、テーブル503-5に移動して近づいた後の、拡張現実ビュー500を示す。ユーザインタフェースオブジェクトの1つはレチクル504であり、ユーザに、挿入された(例えば落とされた)場合に、どこで測定が開始するかを示す。
図5Fは、デバイス100がテーブル509の縁部に移動して近づいた後の、拡張現実ビュー500を示す。デバイス100の1つ以上の光センサ164は、テーブル509の縁部に移動して近づくため、デバイス100は、テーブル全体がもはや見えないことを認識し、代わりに、選択するための、縁部のインジケーション570を提供する。図5Fでは示されないものの、いくつかの実施形態では、縁部領域が完全に見えており、物理的オブジェクトのテーブル509に隣接する他の部分が完全に見えていない場合、物理的オブジェクト(例えばテーブル509)の縁部領域(例えば、第1の縁部)の表現完全に見えない領域に隣接した縁部領域の、視覚的に強調をやめた(例えば影の付いた)部分を含む。いくつかの実施形態では、縁部領域内の点(例えば、第1の縁部を表す)は、物理的オブジェクトの第2の部分に接近するにつれ、漸進的に強調をやめる(例えば、物理的オブジェクトの第1の部分と第2の部分との境界からの第1の距離である、縁部領域の第1の点は、境界からの、第1の距離よりも大きい第2の距離である縁部領域内の第2の点に対して、視覚的に強調がやめられる)。
図5Gは、インジケーション570により特定されるテーブル509の縁部の測定値を固定するための測定値固定ユーザインタフェースオブジェクト508の上に入力571を備えた、拡張現実ビュー500を示す。
図5Hは、インジケーション570により特定されるテーブル509の縁部を選択するための測定値固定ユーザインタフェースオブジェクト508の上への入力571に応答する、拡張現実ビュー500を示す。図5Hに示すように、インジケーション570はもう拡張現実ビュー500には表示されておらず、代わりに、ここでは拡張現実ビュー500は、テーブル509の縁部を特定する、強調された線572、及び、デバイス100により測定された、テーブル縁部の測定された長さ(例えば4フィート)を表現する注釈を含む。
図5I~5K、及び5L~5Nは、図5Hの拡張現実ビュー500の代替実施形態であり、ここでは、最初の測定が行われた後で、潜在的な対応する測定値の追加のインジケーションが示される。いくつかの実施形態では、1つ以上の光センサ164が3次元の物理的環境501に対して移動するとき、デバイス100は自動的に、1つ以上の光センサの移動の前に、以前に視野に完全に存在せず、(現在)測定可能な、他の関連する表面があるか否かを検出する。デバイスが、測定可能な関連する表面を検出するときに、追加のインジケーションが、拡張現実ビュー500に示される場合がある。例えば、図5Iにおいて、デバイス100が移動され、デバイス100の1つ以上の光センサ164が、ビューの中にテーブルの表面560を有する。図5I~5Kは、アニメーション化された遷移がテーブルの表面560を覆わせるレチクル504を示す。図5Kは、アニメーションが終了したこと、及び、テーブルの表面560の回りの、得られるインジケーション561を示し、ユーザに、テーブルの測定値を固定することが可能であることを伝える。いくつかの実施形態では、その他の関連する表面が測定可能なインジケーションとしては、図5Kに示す、テーブルの表面560の別の縁部の長さを表現する追加の測定値などの、1つ以上の追加の測定値の表現が挙げられる。図5L~5Nは、ここでは1つ以上の光センサ164又はデバイス100のビュー内にある、テーブル503-3の全体を示す。図5L~5Nは、テーブル全体を覆うように変化する、レチクル504の外観(例えば、外観のアニメーションによる変化)を示す。図5Nは、レチクル504の外観の変化が完了したこと、及び、テーブル503-3全体の回りで得られる追加のインジケーション562を示し、ユーザに、テーブルの測定値を固定することが可能であることを伝える。図5Mは、レチクル504の外観の、アニメーションによる変化の中間段階を示す。
テーブル503-3全体の回りに示されるインジケーション562に関して、図5K又は図5Nのいずれかのユーザが、測定値固定ユーザインタフェースオブジェクト508を選択する必要があるとき、示された表面又はオブジェクトが測定され、生成した測定値(単数又は複数)を表現する注釈が拡張現実ビュー500に加えられるであろう。
図5Oは、1つ以上の光センサ164がテーブル509の縁部に移動して近づくとき、拡張現実ビュー500内の強調された線572が更なる詳細を含むことを示す。いくつかの実施形態では、これらの更なる詳細はチェックマーク510である。これらのチェックマーク510は、測定値の増分(例えば、1インチ、2インチ、及び3インチ)を表す。いくつかの実施形態では、これらのチェックマークを表示することはいつでも、ユーザインタフェースを乱雑にするため、デバイス100と、オブジェクト又はオブジェクトの特徴(例えばテーブル509の縁部)との閾値距離が満たされるときに、チェックマークは表示される。更に、いくつかの実施形態において、表示されるチェックマークの粒状性は、1つ以上の光センサ164の、オブジェクトの特徴のオブジェクトへの近接性にもまた左右される(例えば、いくつかの実施形態では、デバイス100がオブジェクトに近づくと、デバイス100の光センサと、オブジェクトとの距離が、1つ以上の更なる(例えば短い)閾値距離を満たすため、より多くのチェックマークが表示される)。
図5Pは、1つ以上の光センサ164が、テーブル509の縁部などのオブジェクト又はオブジェクトの特徴に、移動して近づく(例えば、物理的特徴からの第1の距離に、又はそれ以内にある)ことを、デバイス100が判定するときの、拡張現実ビュー500にデバイス100により表示される、更なるチェックマーク563を示す。いくつかの実施形態では、更なるチェックマーク563を使用して、オブジェクト(例えばテーブル509)の更なる測定値を取得することができる。図5Pは、デバイス100がテーブル509から遠く離れて配置されたときには、以前に表示されなかった、1.8インチのマークをスナップするレチクル504もまた示す。
図5Qは、チェックマーク、又は追加のチェックマークが拡張現実ビュー500に表示されるときに、ユーザが、所望の測定点上に、レチクル504をより正確に配置することができることを示す。例えば、デバイス100がテーブル509の縁部に移動して近づくと、レチクルは、より小さい測定の増加をスナップすることができる。ここで、レチクルは2インチのマークをスナップしている。
図5Rは、レチクル504が特定のチェックマーク510-1(例えば、2インチ)にスナップされている間の、測定値固定ユーザインタフェースオブジェクト508における入力511を示す。
図5Sは、レチクル504が特定のチェックマーク510-1にスナップされている間の、測定値固定ユーザインタフェースオブジェクト508における入力511に対する応答(例えば、拡張現実ビュー500への注釈の追加)を示す。特に、この例において、点564は、測定値固定ユーザインタフェースオブジェクト508が選択されたときに、拡張現実ビュー500内に表示される。この点は、レチクル504がスナップされた位置に配置される。
図5Tは、デバイス100の1つ以上の光センサ164がテーブル509の縁部から移動して遠く離れた後、テーブル584の縁部が依然として、1つ以上の光センサ164のビュー内にある、拡張現実ビュー500を示す。更に、いくつかの実施形態において、又は、所定の基準が満たされたときの特定の状況において、注釈(例えば、測定値)の配置を補助するためのガイド線585が、拡張現実ビュー500に表示される。この例において、1つ以上の光センサがテーブル509の縁部から移動して離れると、チェックマーク510及び追加のチェックマーク563は、表示が停止する。しかし、以前に追加された注釈(例えば、以前はチェックマーク510-1に配置されていた、点564)は、チェックマーク510及び追加のチェックマーク563が表示されなくなっても、表示され続ける。
図5Uは、依然として自動測定モードアイコン505-1が選択されているポータブル多機能デバイス100を示し、また、以前に測定されたオブジェクトよりも、異なるオブジェクト(この例ではテレビスタンド502-1及びテレビ502-2)の近くに配置されている、デバイス100及びその1つ以上の光センサ164を示す。図5Uは、拡張現実ビュー500内のテレビの表現503-2の上のレチクル504を示す。いくつかの実施形態では、レチクル504はテレビの表現503-2の上にあるものの、デバイス100は自動的にテレビを検出し、(デバイス100により作成された)テレビの測定値が固定される準備ができていることを判定する。
図5U~図5Wは、テレビの測定値が固定される準備ができていることを示す、レチクル504の外観の、アニメーションによる変化を示す。図5Vは、レチクル504の外観のアニメーションによる変化が進行していることを示す。いくつかの実施形態では、アニメーションが完了すると、インジケーション(例えばバウンディングボックス565)が、拡張現実ビュー500内のテレビの表現503-2の回りに表示される。いくつかの実施形態では、インジケーション(例えばバウンディングボックス565)は、オブジェクト(例えばテレビ)の表面が固定可能であることを意味する、陰影の付いたフィルを有することができる。いくつかの実施形態では、デバイス100は、1つ以上のカメラのビュー内のオブジェクトがテレビであることを判定し、その判定に応じて、テレビの対角線の長さが、拡張現実ビュー500内の(例えば、これに追加された)注釈として表示される。いくつかの実施形態では、検出された特定のオブジェクトと関連する、他の一般的に使用される測定値(例えば、人の特定の測定値)もまた、通常表示される測定値(例えば長さ、幅、高さ、及び体積)に加えて、表示することができる。図5Wは、テレビ503-2の測定値に固定するための、測定値固定ユーザインタフェースオブジェクト508上の入力566もまた示す。
図5Xは、固定されたテレビの測定値を示す。いくつかの実施形態では、測定値が固定されたことを示すために、デバイス100は破線のインジケーション(例えばバウンディングボックス)565を、実線のインジケーション(例えばバウンディングボックス)565-1で置き換える。更に、いくつかの実施形態では、レチクル504は、インジケーション(例えばバウンディングボックス)565が固定された後で、再表示される。デバイス100がその後移動して、異なるオブジェクト(例えばテレビスタンド)が、デバイスの1つ以上のカメラのビュー内にあるとき、レチクル504は分裂して、異なるオブジェクト(例えばテレビスタンド)の回りの新しいボックスを表示し、以前に測定されたオブジェクト(例えばテレビ503-2)は、点線で拡張現実ビュー500内に再表示され、かつ/又は、点線を有するバウンディングボックスにより囲まれる。いくつかの実施形態では、ユーザが新しいオブジェクト(例えばテレビスタンド)に固定すると、以前に測定されたオブジェクトの、拡張現実ビュー500内での表現は、対応するインジケーション(例えばバウンディングボックス)565により囲まれることが停止する。いくつかの実施形態では、拡張現実ビュー500内での、以前に測定されたオブジェクトの表現は、新しいオブジェクトとは異なる、点線のバウンディングボックスを有する。いくつかの実施形態では、以前に測定されたオブジェクトの表現は、新しいオブジェクトと同じ点線のバウンディングボックスを有する。いくつかの実施形態では、ユーザがデバイス100を移動して、レチクル504が、以前に測定されたオブジェクトの測定値を固定することなく、以前に測定されたオブジェクトの表現の上からはなくなると、以前に測定されたオブジェクトの表現は、デバイスの1つ以上のカメラの視野の中に依然として存在する程度に、少なくともオブジェクトの周辺部で実線により表示される、及び/又は、レチクルが、デバイスにより測定可能な新しいオブジェクトの上に移動するまで、実線のボックス内に表示される。いくつかの実施形態では、拡張現実ビュー500が、以前に測定されたオブジェクトと新しいオブジェクトの両方の表現を含むとき、以前に測定されたオブジェクトは、新しいオブジェクトの周りに表示されるバウンディングボックスとは異なる点のパターンを有するバウンディングボックスにより、拡張現実ビュー500内に表示される。いくつかの実施形態では、以前に測定されたオブジェクトは、新しいオブジェクトの周りに表示されるバウンディングボックスと同じ点のパターンを有するバウンディングボックスにより、拡張現実ビュー500内に表示される。
図5Yは、玄関502-8が、デバイスの1つ以上の光センサ164のビュー内にある、別の向きのポータブル多機能デバイス100を示し、玄関の表現503-8は、拡張現実ビュー500内に示される。この向きで、窓502-9及び犬502-10は、デバイス100の1つ以上の光センサ164のビューの中にある。図5Yは、依然として自動測定モードアイコン505-1が選択されているポータブル多機能デバイス100を示す。図5Yは、玄関に立っている人の表現512もまた示す。人が1つ以上の光センサ164のビューの中にいることをデバイスが検出した後で、人は自動的に測定される。いくつかの実施形態では、レチクル(図5Yでは示されない)を、人の表現512の上に配置することにより、ポータブル多機能デバイス100を、人の表現512の回りのバウンディング線に配置させて、その人が測定可能であることを示す。
いくつかの実施形態では、人512がビューの中にいることを自動的に検出するのに応じて、人512の高さを示す測定アニメーションが示される。図5Z~図5ABは、人512の高さの表現が、どのように拡張現実ビュー500に追加されるかのアニメーションを示す。図5Zは、拡張現実ビュー500内での、人512が立っているフロアにおける測定マーカー513を示す。いくつかの実施形態では、測定マーカー513が人512の頭上に移動すると、対応する測定された距離が表示される。図5AAは、対応する、部分的に測定された高さが表示されている、人512の表現のおよそウエストラインに移動する測定マーカー513を示す。図5ABは、測定マーカー513が人512の頭上に移動すると、アニメーションが完了することを示す。アニメーションが完了すると、対応する測定された距離の、拡張現実ビュー500内での表現は、変化するのを停止する。いくつかの実施形態では、測定マーカー513が人512の頭上に移動して近づくと、測定アニメーションはより遅いペースで移動する。
図5AC~5AGは、人の高さ以外の(又はこれに加えての)メトリックが測定される実施形態を描写している。図5ACにおいて、人512は、何かがどれほど大きいか(例えば、「魚がこの大きさである」)を述べているかのように、手514を離したまま維持している。人512は手514を離して維持しながら、何かの測定値を表していることを、ポータブル多機能デバイス100は自動的に検出する。これに応じて、ポータブル多機能デバイス100は拡張現実ビュー500に、人512の手514の間の、第1の測定値(例えば3インチ)を表示させる。
図5ADは、手514異なる距離で離して維持している人512を示す。結果的に、ポータブル多機能デバイス100は拡張現実ビュー500に、人512の手514の間の、第2の測定値(例えば6インチ)を表示させる。この測定値の変化は、リアルタイムで生じることができる。
図5AEは、人の頭部515が、1つ以上の光センサ164のビューの中にある、別の向きのポータブル多機能デバイス100を示す。いくつかの実施形態では、所定の基準(例えば、ユーザの顔からの1つ以上のカメラの距離に関する、又は、人の顔の表現により占められる拡張現実ビュー500の部分に関する、又は、人の顔の上へのレチクル504の配置に関する)が満たされるとき、瞳孔間距離(「IPD」)516が自動的に、拡張現実ビュー500に表示される。
図5AFは、人の足517が、1つ以上の光センサ164のビューの中にある、別の向きのポータブル多機能デバイス100を示す。いくつかの実施形態では、所定の基準(例えば、ユーザの足517からの1つ以上のカメラの距離に関する、又は、人の足の表現により占められる拡張現実ビュー500の部分に関する、又は、人の足の上へのレチクル504の配置に関する)が満たされるとき、足のサイズ(又は靴のサイズ)518が拡張現実ビュー500に表示される。
図5AGは、犬502-10が、1つ以上の光センサ164のビューの中にある、別の向きのポータブル多機能デバイス100を示す。いくつかの実施形態では、所定の基準(例えば、犬からの1つ以上のカメラの距離に関する、又は、犬の表現により占められる拡張現実ビュー500の部分に関する、又は、犬の表現503-10の上へのレチクル504の配置に関する)が満たされるとき、犬503-10の測定値を固定可能であることを、ポータブル多機能デバイス100は示す。いくつかの実施形態では、自動的に示される測定値は、犬503-10の胸囲518、及び/又は、犬503-10の胸部から、尻尾の付け根までの長さ519である。任意選択的に、更なる、又はより少ない測定値(例えば、首の外周だけ)を示すことができる。
図5AH~5BOは、ソファ及びソファの表現、それらの様々な部分、並びに、ソファに関して表示される様々な注釈を描写する一方、ソファは3次元物理的オブジェクトの一例でしかなく、これらの図に関して表示され、描写される様々な特徴は、広範囲の物理的オブジェクトの拡張現実ビューにも等しく適用可能であることが理解されるべきである。図5AHは、ソファ502-3が、1つ以上の光センサ164のビューの中にある、別の向きのポータブル多機能デバイス100を示す。図5AH、5AI、及び5AJは、レチクル504が3次元オブジェクトの上に配置されることをデバイスが検出するときに生じるアニメーションを示す。図5AJは、バウンディングボックス589により置き換えられた(又は、外観が変更されてバウンディングボックス589になった)、図5AH及び5AIのレチクル504を示す。図5AKは、2地点測定モードアイコン505-4の上のタップ入力520を示す。図5ALは、2地点測定モードアイコン505-4の上のタップ入力520に対する応答を示す。図5ALは、2地点測定モードアイコン505-4が選択され、レチクル504が視覚的に、2地点測定モードレチクル504-2に変化して、変化したモードを反映することを示す。
図5AMは、ソファがデバイス100の1つ以上の光センサ164のビュー内にある、ポータブル多機能デバイス100を示す。いくつかの実施形態では、図5ALから図5AMへの遷移は、2地点測定モードレチクル504-2が、拡張現実ビュー500内のソファの表現503-3の外側縁部521の上ではなく、この付近に表示されるように、デバイス100、及び、その1つ以上のカメラの、ソファに近い位置への移動、及びソファの横に斜め移動することにより引き起こされる。図5ANは、ソファの外側縁部521にスナップされた2地点測定モードレチクル504-2を示す。このスナップは、レチクル504-2が、拡張現実ビュー500内の検出された縁部に対する閾値距離に達するときに生じる。図5ANは、レチクル504-2が外側縁部521の上にあるとき、本明細書ではガイドとも呼ばれるガイド線(単数又は複数)522が、外側縁部521に沿って示されていることを示す。
図5AOは、ソファがデバイス100の1つ以上の光センサ164のビュー内にある、ポータブル多機能デバイス100を示す。更に、2地点測定モードレチクル504-2がここでは、ソファの表現503-3の外側角部523の閾値距離内ではなく、この付近に表示されている。図5APは、アンカー点の例である、外側角部523にスナップされた2地点測定モードレチクル504-2を示す。このスナップは、レチクル504-2が、拡張現実ビュー500内の、ソファの検出された角部の閾値距離内に(例えば、デバイス100の移動及び/又はデバイス100の向きの変化により)配置されるときに生じる。図5APは、レチクル504-2が、ソファの表示表現の外側角部523などのアンカー点の上にあるとき、ガイド又はガイド線524が、アンカー点に対応するオブジェクトの縁部、例えば、外側角部523に対応するソファの全ての縁部に沿って示されることを示す。角部523は、ソファの複数の表面が交わる特徴にも対応し、図5APに示すガイド524は、アンカー点である角部523から、これらの表面のそれぞれに垂直な向きに延びるガイドを含むことに注意する。
図5AQは、選択されたときに、点を、2地点測定モードレチクル504-2の位置に落とす、測定値固定ユーザインタフェースオブジェクト508の上の入力525を示す。点を、2地点測定モードレチクル504-2の位置に落とすことに応じて、図5ARに示すように、落とされている点の前に、以前に表示されていない追加のガイド(例えば、垂直ガイド526-1、水平ガイド526-2、及び水平ガイド526-3)が、拡張現実ビュー500内に表示される。図5ARに示す例においては、ガイド526用のアンカー点は、ソファの2つの表面(例えば、ソファのアームの上面と、ソファの、不明瞭化した垂直側面)が交わる、ソファの縁部に位置し、図5ARに示すガイド526は、アンカー点から、これらの表面のそれぞれに垂直な向きに延びるガイドを含むことに注意する。
図5ASは、水平ガイド526-3に沿って移動するレチクル504-2を示すが、レチクル504-2が、別の幾何学的特徴566(例えば、ソファのアームの末端)に達したときには、更なるガイドが表示される。図5ASにおいて、追加の垂直ガイド567-1、及び水平ガイド567-2が表示される。
図5ATは、(例えば、デバイス100の移動に応じて)水平ガイド526-3に沿って移動するレチクル504-2を示し、幾何学的特徴566を過ぎたレチクル504-2の移動に応じて(図5AS)、別のガイド(例えば垂直ガイド567-1、水平ガイド567-2-2)の表示が停止される。更に、レチクル504-2が水平ガイド526-3に沿って移動を続けると、デバイス100の対応する移動に応じて、水平ガイド526-3は、漸進的に長くなる測定線527で重ねられる。
図5AUは、ソファ503-3の別の外側縁部528をスナップする、測定線527及びレチクル504-2を示す。いくつかの実施形態では、レチクル504-2がソファ503-3の別の外側縁部528にスナップされると、新しいガイドが表示される。図5AUは、レチクル504-2がソファ503-3の別の外側縁部528の上にある間の、測定値固定ユーザインタフェースオブジェクト508における入力529も示す。拡張現実ビュー500内での測定値固定ユーザインタフェースオブジェクト508の表示は、測定線527線がもう長くはならず、測定が完了して固定することができることを意味している。図5AUはまた、レチクル504-2の潜在的な、将来的な配置を補助するためのガイド568も示す。図5AVは、測定の完了後、ガイド568が依然として表示され、ユーザが次の測定値を配置するのを補助することができることを示す。
図5AWは、表示されている測定530を示す。測定値530は、測定線527線の最終の長さに対応する。図5AWは、ここでは、物理的環境内の測定可能な物理的オブジェクトの表現に重なっていないレチクル504-2もまた示し、結果として、ガイドは表示されない。
図5AXは、デバイス100の1つ以上の光センサ164のビュー内にある、ソファの表現503-3を含む、ポータブル多機能デバイス100を示す。更に、2地点測定モードレチクル504-2はここで、ソファのあらゆる縁部、又はカウチのクッション531から離れた、カウチクッション531上に表示される。2地点測定モードレチクル504-2が選択されている間、垂直ガイド533が表示される。図5AYは、測定リストボタン506の上の入力534を示す。
図5AZは、測定値リストユーザインタフェースオブジェクト506の上の入力534への応答の例を示す。簡素化のため、及び、ポータブル多機能デバイス100のより大きなビューを示すために、図5AZでは、ポータブル多機能デバイス100の背景における物理的環境501を取り除いている。図5AZはユーザインタフェース591にて、注釈セッション(例えば、セッションは、アプリケーションが前景で稼働している期間である)の間に取得された、測定値のリストを表示する。測定値ユーザインタフェース590の一覧の中には、現在のセッションの間に取得される、測定値のスクロール可能なリストがある。スクロール可能なリストが、同時に表示可能な量を超える測定値を含むとき、取得された測定値のサブセットのみが、同時に表示される。図5AZに示す例において、現在表示されている測定値は、以下の通りである:「直線測定値」ユーザインタフェースオブジェクト591-2;「ソファ測定値」ユーザインタフェースオブジェクト591-3;「ペット測定値」ユーザインタフェースオブジェクト591-4;及び、「手の分離」ユーザインタフェースオブジェクト591-5。いくつかの実施形態では、測定値の名称は自動的に生成されて、ユーザインタフェース591に含められ、測定されている、検出されたオブジェクトに基づく。例えば、デバイスは、ペット、ソファ、靴、又は他のオブジェクトがいつ測定され、測定値に適宜名前(例えば「犬の測定値」「ソファの測定値」「靴の測定値」、又は「ペットの測定値」)を付けられるかを伝えることができる。いくつかの実施形態では、ユーザインタフェース591の各測定値は、どの種類の測定値(例えば、3次元の測定値、2次元の測定値、又は、2次元曲がり測定値など)が取得されたのかを示すアイコンもまた含む。
図5BAは、ユーザインタフェース591内の測定値のリスト内に位置する、「ペットの測定値」ユーザインタフェースオブジェクト591-4の上の入力592を示す。図5BBは、それぞれの測定値リストユーザインタフェースオブジェクト(例えば、「ペットの測定値」ユーザインタフェースオブジェクト591-4)の上の入力592に応じて表示される、詳細のオブジェクト測定値(例えば、「ペットの測定値」)ユーザインタフェース593を示す。「ペットの測定値」ユーザインタフェース593は、編集可能な測定値名称セクション593-1を含む。測定値の名称を編集するために、編集するユーザインタフェースアイコン593-2に入力を行い、測定値の名称を編集することができる。いくつかの実施形態では、測定値は、最初にアイコンをクリックすることなく、編集可能であることができる。図5BBは、測定値(例えば、ペットの測定値)のリスト593-3もまた示す。いくつかの実施形態では、測定値ユーザインタフェース591のリスト内に以前に表示されていない、追加の測定値が、詳細のオブジェクト測定値ユーザインタフェース593内に表示される。この例において、詳細のオブジェクト測定値ユーザインタフェース593における、表示される測定値としては、胸部直径;胸部から尻尾、頭の高さ、及び襟のサイズが挙げられる。更に、「リストに戻る」ユーザインタフェースオブジェクト593-4が表示され、これが選択されると、図5BAに示すように、以前のユーザインタフェースを表示する。この測定値、及び他の測定値を他人と(例えば、Eメール、又はテキストメッセージにより)共有するための、共有ユーザインタフェースオブジェクト593-5もまた存在する。最後に、測定値ユーザインタフェース591の一覧、又は「ペットの測定値」ユーザインタフェース593を閉じるための、出口アイコン593-6もまた存在する。
図5BCは、測定値の名称を編集するための、ユーザインタフェースアイコン593-2(入力594により不明瞭化されている)入力594を示す。図5BDは、測定値の名称を編集するためのユーザインタフェースアイコン593-2が「完了」ユーザインタフェースオブジェクト593-7に変わり、測定値の名称の編集が可能になったことを示すことを示す。図5BE及び5BFは、「ペットの測定値」から「ローラのサイズ」に再編集されている、編集可能な測定値名称セクション593-1を示す。いくつかの実施形態では、再編集は、表示されるユーザインタフェースの少なくとも一部の上で表示される、又は、再度縮尺変更したユーザインタフェース593と同時に表示される、仮想キーボード(これらの図では示されない)にて受信される入力に応じて生じる。いくつかの実施形態では、外部キーボードを使用することができる。
図5BFは、「完了」ユーザインタフェースオブジェクト593-7にて受信されている入力594を示す。「完了」ユーザインタフェースオブジェクト593-7にて入力を受信するのに応じて、図5BGに示すように、編集ユーザインタフェースアイコン593-2が、「完了」ユーザインタフェースオブジェクト593-7に置き換わる。
図5BH及び5BIは、スワイプジェスチャ595-1及び595-2(この例では、上向きに移動するスワイプジェスチャ)を示す。スワイプジェスチャ、例えばスワイプジェスチャ595-1及び595-2に応じて、追加のオプション593-8を表示するユーザインタフェース要素が、図5BJに示すように、明瞭化される。得られたユーザインタフェース(一例を図5BJに示す)は、測定値を、写真検視/編集アプリケーション内で検視するための写真として保存するための、「写真に保存」ユーザインタフェースオブジェクト593-9;測定値を、ローカル又は遠隔のどちらかでファイルシステムに保管するための、「ファイルに保存」ユーザインタフェースオブジェクト593-10;及び/又は、測定値を(例えばEメール又はテキストメッセージで)共有するための、「測定値共有」ユーザインタフェースオブジェクト593-11などの、追加のオプション(例えばユーザインタフェースオブジェクト)を含む。
図5BKは、「リストに戻る」ユーザインタフェースオブジェクト593-4(入力596により、部分的に不明瞭化されている)の上に生じる入力596を示す。図5BLは、「リストに戻る」ユーザインタフェースオブジェクト593-4の選択に対する応答の一例を示す。図5BLはここで、「ペットの測定値」ユーザインタフェースオブジェクト591-4が「ローラのサイズ」に再編集されている、測定値ユーザインタフェース591のリストを示す。
図5BMは、測定値ユーザインタフェース591の一覧内の、それぞれのユーザインタフェース要素の上の(例えば、「手の分離測定値」ユーザインタフェースオブジェクト591-5の上の)、この例では左向きの、スワイプジェスチャを示す。左向きのスワイプ597-1を示すものの、任意の他の好適なスワイプ方向もまた使用することができることが、理解されなければならない。いくつかの実施形態では、左向きなどの、所定の向きのスワイプを使用して、それぞれの測定値を検出することができることを示す。図5BNは、左向きに続く、左向きのスワイプ597-2を示す。上でスワイプジェスチャが実施されている、それぞれのユーザインタフェースオブジェクト591-5が、スワイプに従い左の向き597-2に移動すると、削除通知598の表示が開始される。いくつかの実施形態では、スワイプされて完全にビューから消えると、削除通知598は、それぞれのユーザインタフェースオブジェクト(例えば「手の分離」ユーザインタフェースオブジェクト591-5)全体を置き換える。
それぞれのユーザインタフェースオブジェクト(例えば「手の分離」ユーザインタフェースオブジェクト591-5)がスワイプされてディスプレイから消えた(例えば、取り除かれた、又は削除された後)、故に、ユーザインタフェース591の測定値のリストから削除された後、測定値のリストにおいて、その測定値の下にあった測定値が、削除された(それぞれの)ユーザインタフェースオブジェクトにより以前占有されていた位置に、ここで表示されることを、図5BOは示す。例えば、図5BOは、「手の分離測定」ユーザインタフェースオブジェクト591-5の代わりに、「靴のサイズ」ユーザインタフェース要素599がここで表示されていることを示す。
図5BPは、測定アプリケーション448の編集に応答した、ホーム画面ユーザインタフェースの再表示を示す。
図5BQは、測定アプリケーションを再開するために測定アプリケーションアイコン448に向けられる別の入力の、入力535を示す。測定アプリケーションを再開した後で、測定アプリケーション448のユーザインタフェース536が、例えば図5BRに示すように表示される。いくつかの実施形態では、測定アプリケーション448を終了することで、場合によっては測定値セッションとも呼ばれる注釈セッションの終了がマークされ、これは転じて、そのセッションがクリアされている間に取得される注釈(例えば測定値)のリストをもたらす。いくつかの実施形態では、測定アプリケーションの再開により、新しい注釈セッションが開始する。
図5BRは、デバイス100の1つ以上のカメラの視野の中にある、3次元の物理的環境501の一部のビューを含む、拡張現実ビュー500を含む、測定アプリケーション448のユーザインタフェース536を示す。図5BRに示すように、自動測定モードアイコン505-1の上の選択インジケータ537により示される通り、測定アプリケーションは自動測定モードで稼働している。
図5BSは、測定アプリケーションの3次元測定モードに対応する3次元測定モードアイコン505-2に向けられる、入力538を示す。
図5BTは、入力538に応じて3次元測定モードで稼働している、測定アプリケーションのユーザインタフェース536を示す。いくつかの実施形態では、図5BTに示すように、3次元測定モードでの稼働は、3次元測定モードアイコン505-2の上の選択インジケータ537により示される。図5BTでも示すように、いくつかの実施形態では、3次元測定モードでの稼働は、図5BTに示すような6つに分けられた外観などの、3次元測定に関連する外観を有するレチクル504により示される。
図5BUは、例えば、図5BTに示す位置から、図5BUに示す位置へのデバイスの移動に応答した、図5BTにおいて、物理的環境501と比較して異なる位置にあるデバイス100(例えば、デバイス100の1つ以上のカメラ)を示す。したがって、ユーザインタフェース536に表示される1つ以上のカメラのライブビューは、ここで1つ以上のカメラの視野の中にある物理的環境501の部分を反映するように更新されている。図5BUにおいて、注釈配置ユーザインタフェース要素(例えばレチクル504、より具体的には、レチクル504内の焦点504-1)は、テーブル502-5の表現503-5の一部の上にある。テーブル502-5は、デバイス100の1つ以上のカメラのビューの中に完全にある。
図5BV~5BXは、デバイス100により(及び任意選択的に、ユーザインタフェース536が、テーブル502-5の全て、又は実質的に全ての表現を含む、という判定に従い)測定可能な、テーブル502-5などの、3次元オブジェクトの表現の一部の上にレチクル504が表示されるように配置されている、デバイス100の1つ以上のカメラに従い、テーブル502-5の3次元測定を開始しているデバイス100を示す。例えば、図5BV~5BXは、レチクル504が、テーブル502-5の表現503-5に重なったインジケーション565-2(例えば、図5BWに示す、3次元物体の角部におけるマークを含む第1のインジケーション、及び/又は、図5BXに示す、バウンディングボックス565-3などの、第2のインジケーション)に変換された、アニメーションの進行を示し、テーブル502-5の1つ以上の測定値がデバイス100により作成可能であることを示す。
図5BYは、例えば、図5BTに示されている位置から、図5BXに示されている位置まで、そして次に、図5BYに示されている位置に移動されているデバイス100に応じて、図5BTとは、物理的環境501に対して異なる位置にあるデバイス100を示す。例えば、デバイス100は図5BYにおいて、図5BXにおけるよりも、(デバイス100により不明瞭化している)テーブル502-5の近くにある。したがって、ユーザインタフェース536に表示される1つ以上のカメラのライブビューは、ここで1つ以上のカメラの視野の中にある物理的環境501の部分を反映するように更新されている。図5BYにおいて、デバイス100が図5BXに示す位置にあるときよりも、テーブル502-5は、1つ以上のカメラの視野の中にある部分が少ない。いくつかの実施形態では、測定アプリケーションは、テーブル503-5の部分表現の一部の上に表示されているレチクル504に従い、2次元測定モードに自動的に遷移し、ここで、部分表現503-5は、少なくとも閾値量の、テーブルの第3の寸法のビューを含むことなく、少なくとも閾値量のテーブル502-5の2次元表面(例えばテーブルトップ)のビューを含む。
図5BZ及び5CAは、テーブル502-5に対して、図5BYと同様の距離にあり、レチクル504(例えば、より具体的には、図5CAに示すように、レチクル504の焦点504-1)が、テーブル502-5上に位置する雑誌502-7の(デバイス100により不明瞭化された)表現503-7の一部の上にあるように、わずかに右側に移動したデバイス100を示す。雑誌502-7は、デバイス100の1つ以上のカメラのビュー内に完全にある。
図5CAは、焦点504-1を含むレチクル504が、デバイス100により測定可能な2次元の特徴、例えば雑誌502-7の表現の一部の上に表示されるように位置しているデバイス100の1つ以上のカメラに従うと(及び任意選択的に、ユーザインタフェース536が、2次元の特徴の全て又は実質的に全ての表現を含む、という判定に従うと)、例えば、2次元測定モードアイコン505-3の上の選択インジケータ537により、及び別の例として、図5CAに示す、4つにセグメント化された外観などの、2次元測定に関連する外観を有するレチクル504により示されるように、測定アプリケーションは(例えば、図5BZに示す3次元測定モードから)2次元測定モードに遷移していることを示す。雑誌502-7は物理的環境501では3次元オブジェクトであるものの、雑誌502-7は十分に薄く、雑誌502-7のページの2次元領域が、雑誌502-7の測定値の3次元集合よりも、デバイス100のユーザが関心のある可能性が高いということに注意する。したがって、いくつかの実施形態では、雑誌502-7などの薄い3次元オブジェクトはデバイス100により、3次元オブジェクトではなく2次元特徴であるとみなされる。
図5CA~5CDは、レチクル504が雑誌の表現503-7の一部の上に表示されるように配置されている、デバイス100の1つ以上のカメラに従い、雑誌502-7の2次元測定値の作成を開始しているデバイス100を示す。例えば、図5CB~5CDは、レチクル504が、雑誌502-7の表現503-7に重なった(例えば、図5CCでインジケーション565-4により、及び図5CDでインジケーション565-5により示される)インジケーションに変形したアニメーションの進行を示し、雑誌502-7の1つ以上の測定値がデバイス100により作成可能であることを示す。
図5CEは、測定アプリケーションの1次元測定モードに対応する2地点(例えば1次元)測定モードアイコン505-4に向けられる入力539を示す。
入力539に応じて、測定アプリケーションは1次元測定モードに遷移する。したがって、図5CFにおいて、選択インジケータ537は2地点測定モードアイコン505-4の上に表示される。図5CFは、入力539に応答した、測定アプリケーションのユーザインタフェース552の遷移もまた示す。いくつかの実施形態によれば、対応するアイコンを選択することによる、測定モードの手動選択に応じて、測定アプリケーションがある測定モード(例えば、手動選択が受信されているときに測定アプリケーションが稼働する測定モード)から、別の測定モード(例えば、選択された測定モード)に遷移している間に、アニメーション化された遷移が表示される。いくつかの実施形態では、測定モード間でのアニメーション化された遷移は、測定モードが自動的に遷移している間に表示されない(例えば、図5BZの3次元測定モードから図5CAの2次元測定モードに自動遷移している間に、アニメーション化された遷移は表示されなかった)。いくつかの実施形態では、表示された遷移は、ユーザインタフェース536の1つ以上の部分のぼやけを含む。図5CFにおける具体的な例において、表示された遷移は、(例えば、任意選択的に、測定アプリケーションの制御のぼやけ及び/又はボケを有さない)デバイス100の1つ以上のカメラの視野の表現の、ぼやけ及び/又はボケを含む。更に、いくつかの実施形態において、図5CBにおける例示的な遷移におけるように、レチクル504は、手動で選択された測定モードへの遷移の間に、表示されるのを停止する。
図5CGは、1次元測定モードで稼働している測定アプリケーションの、ユーザインタフェース536を示す。したがって、レチクル504は、図5CGに示す、2つにセグメント化された外観のような、1次元(例えば2地点)測定と関連した外観を伴い、表示される。
図5CHは、例えば、図5CGに示す場所から図5CHに示す位置への、デバイス100の移動により、物理的環境501に対して、図5CGとは異なる位置にあるデバイス100を示す。したがって、ユーザインタフェース536に表示される1つ以上のカメラのライブビューは、ここで1つ以上のカメラの視野の中にある物理的環境501の部分を反映するように更新されている。図5CHにおいて、デバイス100は、レチクル504(例えば、より具体的にはレチクル504の焦点504-1)が、ランプ502-6の表現503-6のある箇所の上にあるように配置される。
図5CIは、注釈作成ボタン508に向けられ、測定値注釈の作成を開始するための入力540を示し、レチクル504の焦点504-1の現在位置は、1次元測定用の始点を示す。図5CHに示す例において、始点は、ランプ541の足元における、物理的環境501の位置である。
図5CJは、ユーザインタフェース536内で、図5CIを参照して記載されているように、始点から延び、かつ、レチクル504の焦点504-1に対応する物理的環境501内の現在点に延びる、測定値の表現546である、注釈(例えば測定注釈)を追加することを示す。測定値の表現546は、測定値セグメント547、及びラベル548を含む。測定値セグメント547は、測定が依然として進行している(例えば、1次元測定の終点がまだ特定されていない)ことを示す外観(例えば破線)を有して表示される。ラベル548は、測定値の現在の長さ(例えば、物理的環境501内での始点と現在点との距離)を示す。
図5CKは、注釈作成ボタン508に向けられ、測定値注釈の作成を終了する、又は完結するための入力540を示し、レチクル504の焦点501-4は、図5CHで開始され、図5CJで進行していた1次元測定の終点を特定している。図5CKに示す例において、終点は、ランプ541の上部における、物理的環境501内の位置である。
図5CLは、測定セグメント543が、測定が終了したことを示す外観(例えば、塗りつぶされた外観)を有して表示されているのに従い、レチクル504の焦点501-4が、測定のための終点を特定している間に入力540に応答した、測定値の完成した表現542を示す。
図5CMは、測定リストボタン506に向けられた入力544を示す。
図5CNでは、簡素化のため、及び、デバイス100のより大きなビューを示すため、デバイス100の背景の物理的環境501は除いている。図5CNにおいて、入力544に応じて、デバイス100は測定値リストユーザインタフェース545を表示する。図5CNに示す例において、測定値リストユーザインタフェース545は、測定アプリケーション、及び/又は1つ以上のカメラのライブビュー用の制御(例えば、モードインジケーションユーザインタフェース505、測定リストボタン506、アンドゥユーザインタフェースオブジェクト507、測定値固定ユーザインタフェースオブジェクト508、及び記録ユーザインタフェースオブジェクト550)などのユーザインタフェース536の、1つ以上の他の部分と同時に、測定アプリケーションのユーザインタフェース536の一部の上に表示されている。図5BQを参照して、本明細書に記載した測定アプリケーションを再開するため、図5CNにおける測定値リストユーザインタフェース545は、現在の測定セッションの間に作成された測定値のみをリスト化している。したがって、図5CNの測定値リストユーザインタフェース545は、直線測定値543(5CJ~5CLを参照して記載)を含む。図5CNの測定値リストユーザインタフェース536は、以前に終了した(例えば、図5BP及び5BQを参照して記載されている)以前の測定セッションの間に作成された、図5A~5BOを参照して記載した測定値のいずれもを含まない。
図6A~6Yは、非直線表面(例えば曲面)を測定し、いくつかの実施形態に係る、以前にキャプチャしたメディア項目からの測定値情報を取り出すための例示的なユーザインタフェースを示す。
図6Aは、自動測定モードアイコン605-1の入力650による選択を示す。自動測定モードアイコン605-1は、選択されたときに、ポータブル多機能デバイス100が、レチクルが重なっている表面又はオブジェクト(例えば、3次元オブジェクト、2次元表面など)を自動的に検出させるようにすることができ、その判定に基づき、デバイスは、表面又はオブジェクトが測定可能であるということを自動的に示すことができる。3次元測定モードアイコン605-2、2次元表面測定モードアイコン605-3、及び2地点測定モードアイコン605-4は、選択されたときに、ユーザが、それぞれ、3次元(例えば長さ、幅、及び高さ)、2次元(例えば、長さ、幅、若しくは高さのいずれかから選択される2次元)、又は、ある点から別の点(例えば、テーブルの縁部の長さ)のいずれかにおいて、測定することができるようになる。いくつかの実施形態では、フロアプラン測定モードアイコン605-5も存在し、これは選択されたときに、ユーザが、3次元の物理的環境601をスキャンしてフロアプラン(例えば鳥瞰図)を作成することができるようになる。いくつかの実施形態では、これらのモードアイコンのいずれかの組み合わせを表示することができる。例えば、いくつかの実施形態では、自動モード及びフロアプランモードのみを表示することができる。いくつかの実施形態では、曲面モードなどの、更なるモードアイコンを追加することができる。
図6Bは、自動測定モードアイコン605-1が検出された後での、デバイス操作のいくつかの態様を示す。図6Bは、ポータブル多機能デバイス100が、拡張現実ビュー600を表示していることを示す。拡張現実ビュー600は、1つ以上の光センサ164の視野の中にある、3次元の物理的環境601に基づいて作成される。この拡張現実ビュー600を使用して、注釈(例えば測定値、バウンディングボックスなど)を、3次元の物理的環境601にて見出されるオブジェクト上、又はその付近に表示する。
図6Bは、3次元の物理的環境601が、テレビスタンド602-1、テレビ(及び/又は、任意の他の種類のディスプレイ)602-2、ソファ602-3、枕602-4、テーブル602-5、ランプ602-6、並びに雑誌602-7などの、複数の項目を含むこともまた示す。拡張現実ビュー600は、3次元の物理的環境601に表示される複数の項目の、対応する表現を含む。この例において、複数の項目の対応する表現としては、テレビスタンド603-1、テレビ603-2、ソファ603-3、枕603-4、テーブル603-5、ランプ603-6、及び雑誌603-7の表現が挙げられる。ポータブル多機能デバイス100上に示される拡張現実ビュー600は、拡張現実ビュー600に重なる、複数のユーザインタフェースオブジェクトを有する。これらのユーザインタフェースオブジェクトを使用して、拡張現実で表示されているものを制御する、及びまた、ユーザが、3次元の物理的環境601に示されるオブジェクトの測定値(例えばメトリック)を取り込み、重ね合わせるのを補助する。いくつかの実施形態では、ユーザインタフェースオブジェクトの1つは、測定値が、挿入された(例えば落とされた)場合に開始する場所をユーザに示す、注釈配置ユーザインタフェース(例えばレチクル604)である。
具体的には、図6Bは、2地点測定モードアイコン605-4がここでは選択されず、選択インジケータ635がここでは自動測定モードアイコン605-1の上にあることを示す。いくつかの実施形態では、レチクル604は、どのモードをユーザが選択したかに応じて視覚的に変化し、ユーザに、どのモードが現在使用されているかを示す。図6Bは、3次元空間に表面が続く、ソファのクッションの表面638に一致した、部分的に曲線状のガイド636もまた示す。
図6Cは、自動測定モードアイコン605-1が選択されている間の、測定値固定ユーザインタフェースオブジェクト608上の入力640を示す。
図6Dは、測定値固定ユーザインタフェースオブジェクト608上の入力640への応答を示す。測定値固定ユーザインタフェースオブジェクト608上の入力640に応じて、ソファのクッションの表面638に一致した、部分的に曲線状のガイド636は、完全に曲線状のガイド642で置き換えられる。この曲線状のガイド642は、曲線状のガイド642が、ある点から別の点への距離を測定するための、まっすぐな(例えば直線)ガイド線とは対象的に、ソファの表面の局面に一致した表面を覆いながら、ソファの曲面に沿って測定を行うのに好適である(例えば、物理的表面の不規則な形状を考慮に入れる局面の測定値は、直線の2地点測定値よりも長くなる)。
図6Eは、図6Dの垂直面又は平面から、図6Eの水平表面又は平面まで移動する、完全に曲線状のガイド642に沿って移動するレチクル604を示す。更に、チェックマーク644-1はまた、任意選択的に、曲線状のガイド642の少なくとも一部に沿って表示される。また、任意選択的に、ライブ測定値読出し646もまた表示して、ガイド642の始点から、レチクル604の電流までの距離を示すことができる。
図6Fは、完全に曲線状のガイド642に沿って移動を続けるレチクル604を示し、チェックマーク644-2が、ガイドの始点と、レチクルの焦点504-1の現在の位置との間で、曲線状のガイド642の一部に沿って表示される。また、任意選択的に、ライブ測定値読出し647もまた表示して、ガイド642の始点から、レチクル604の電流までの距離を示すことができる。
図6Gは、測定値固定ユーザインタフェースオブジェクト608上の入力640を示す。このような入力は、測定が完了していることを示す。図6Hは、測定値固定ユーザインタフェースオブジェクト608上の入力640への応答を示す。具体的には、図6Hは、場合によっては「完了した測定値」とも呼ばれる、固定測定値648を示す。
図6I~6Yは、保存されたメディア項目(例えば写真、動画など)の中で、測定値をどのように確認可能かを示す。図6Iは、写真アプリケーションアイコン428を含む、ホーム画面に戻るデバイス100を示す。
図6Jは、メディアアプリケーションアイコン428上の入力651を示す。図6Kは、メディアアプリケーションアイコン上の入力651に応じて、写真アプリケーションユーザインタフェース653がデバイス100上に表示されることを示す。メディアアプリケーションユーザインタフェース653内で、第1のメディア項目655-1が選択され、拡張ビューで表示される。更に、サムネイルスクラバーバー657が、第1のメディア項目655-1の下に表示される。スクラバーバー657を使用して、メディア項目のサムネイル画像(例えば、第1のメディア項目サムネイル656-1、第2のメディア項目サムネイル656-2、第3のメディア項目サムネイル656-3、及び第4のメディア項目サムネイル656-4)を表示する。これらのサムネイル画像はそれぞれ、第1のメディア項目655-1、第2のメディア項目655-2(図6Qを参照のこと)、第3のメディア項目655-3(図6Tを参照のこと)、及び第4のメディア項目655-4(図6Xを参照のこと)に対応する。これらのサムネイル画像のそれぞれ1つは、選択された際に、デバイス100に、選択されたメディア項目を拡張ビューで表示させる。
図6Kは、ユーザインタフェース653と双方向作用させるための、複数のユーザインタフェースオブジェクトもまた示す。まず、メディア項目を共有するために、共有ボタン658が表示される。次にディスプレイ測定ボタン660が表示され、これは選択された際に、拡張されたメディア項目に対して利用可能な全ての測定値を表示する。次に、ユーザが好むメディア項目を選択するための、イイネボタン660が表示される。次に、削除アイコン662が表示され、選択された際に、ビュー内のメディア(例えば、拡張されたメディア項目)を削除させる。
図6Kは、第1のメディア項目655-1内で、テレビスタンド603-1の部分表示が示され、ソファ603-3は完全に見え、テーブル603-5は部分的に表示され、ランプ603-6は完全に見え、雑誌603-7もまた完全に見えることもまた示す。
図6Lは、測定ボタン660上の入力666を示す。図6Mは、入力666の受信に応じて、(1)測定ボタン660が選択された(アクティベートされた)状態で表示され、(2)第1のメディア項目655-1が、利用可能な全ての測定値、例えば、第1のメディア項目により表される物理的環境の一部における物理的特徴などの、深度情報といった情報を含む、第1のメディア項目に基づく測定値に重なっていることを示す。いくつかの実施形態では、測定ボタン660を、トグル切り替えにより、利用可能な測定値を表示するか、又は隠すかのいずれかを行うことができる。具体的には、測定ボタン660はここで、選択インジケータ670により囲まれている。第1のメディア項目に対して利用可能な測定値としては、ソファの測定値672が挙げられる。
図6Nは、追加の測定値をもたらすための、テーブル603-5上の入力674を示す。図6Oは、入力674に応じて、メディアアプリケーションユーザインタフェース653内で更なる測定値が示されないことを示す。いくつかの実施形態では、測定ボタン660が選択されるときに全ての測定値が表示されるため、更なる測定値は、入力674に応じて表示されない。
図6Pは、拡張状態で第2のメディア項目655-2をもたらすための、第2のメディア項目サムネイル656-2上の入力676を示す。図6Qは、第1のメディア項目655-1の表示を置き換える、第2のメディア項目655-2を示す。更に、測定ボタン660は、別のメディア項目が表示されると非アクティブ化される。いくつかの実施形態では、任意選択的に、測定ボタン660は、メディア項目を通して変化するときに、持続的にアクティブ化されることができる(例えば、それぞれのメディア項目が選択されるときに、利用可能な測定値が自動的に表示される)。図6Qは、第2のメディア項目655-2にて測定値を表示させるための、測定ボタン660上の入力678もまた示す。第2のメディア項目655-2は、第1のメディア項目655-1と同じ物理的環境の異なる部分に対応するメディア項目である。第2のメディア項目655-2は、ソファ603-3の部分表示、並びに、テーブル603-5、ランプ603-6、及び雑誌603-7の完全ビューを含む。図6Qは、スクラバーバー657が、図6K~6P内の位置からスクロールされて、第2のメディア項目サムネイル656-2が選択されていることを示していることもまた示す。
図6Rは、入力678に応じて、第2のメディア項目655-2内で利用可能な測定値が表示されることを示す。この第2のメディア項目655-2において、メディア項目は、テーブル603-5及びランプ603-6のみの測定値680を判定するのに十分な、深度情報などの情報を含む。図6Rは、測定ボタン660がここでは選択インジケータ670により囲まれていることもまた示す。
図6Sは、拡張状態で第3のメディア項目655-3をもたらすための、第3のメディア項目サムネイル656-3上の入力682を示す。図6Tは、第2のメディア項目655-2の表示を置き換える、第3のメディア項目655-3を示す。更に、測定ボタン660は、別のメディア項目が表示されると非アクティブ化される。いくつかの実施形態では、任意選択的に、測定ボタン660は、メディア項目を通して変化するときに、持続的にアクティブ化されることができる(例えば、それぞれのメディア項目が選択されるときに、利用可能な測定値が自動的に表示される)。第3のメディア項目655-3は、第1のメディア項目655-1及び第2のメディア項目655-2と同じ物理的環境の別の部分の、メディア項目である。第3のメディア項目655-3は、テーブル603-5の部分表示を含み、第1のメディア項目655-1及び第2のメディア項目655-2で示される他のオブジェクトを含まない。図6Tは、スクラバーバー657が新しい位置までスクロールされ、第3のメディア項目サムネイル656-3が選択されていることを示していることもまた示す。
図6Uは、第3のメディア項目655-2にて測定値を表示させるための、測定ボタン660上の入力684もまた示す。図6Vは、入力684に応じて、利用可能な測定値が表示されることを示す。第3のメディア項目655-3は、テーブル603-5の測定値686が、入力684に応じて判定及び表示されることを可能にする、テーブル603-5の一部のみの測定値を判定するのに十分な、深度情報などの情報を含む。図6Vは、測定ボタン660がここでは選択インジケータ670により囲まれていることもまた示す。
図6Wは、拡張状態で第4のメディア項目655-4をもたらすための、第4のメディア項目サムネイル656-4上の入力688を示す。図6Xは、第3のメディア項目655-3の表示を置き換える第4のメディア項目655-4を示す。第4のメディア項目655-4は、第1のメディア項目655-1、第2のメディア項目655-2、及び第3のメディア項目655-3の物理的環境とは異なる物理的環境の、メディア項目である。第4のメディア項目655-4は、建物692の表示を含む。
図6Yは、入力690に応じて、利用可能な測定値が表示されることを示す。この第4のメディア項目655-4において、建物692の物理的特徴に関する、深度情報などの情報が記録され、測定値694の判定及び表示が可能となる。図6Yは、測定ボタン660がここでは選択インジケータ670により囲まれていることもまた示す。
図7A~7ATは、いくつかの実施形態に係る、環境をスキャン及びモデリングし、生成したその略図と双方向作用させるための、例示的なユーザインタフェースを示す。
図7Aは、図5CGからの例示的な遷移を示す。特に、2地点測定モードアイコン505-4の上に表示される(例えば、輪郭が描かれる)選択インジケータ537により示されるように、測定アプリケーションが1次元測定モードで稼働している間の、図7Aは、測定アプリケーションのユーザインタフェース700を示す。図7Aは、デバイス100の1つ以上のカメラのライブビューに対応する(例えば、及び測定アプリケーションの制御のいずれにも対応しない)、ユーザインタフェース700の位置における入力702(例えばスワイプジェスチャ)もまた示す。
入力702(図7A)に応じて、測定アプリケーションは、モードインジケーションユーザインタフェース705にて次の測定モードに遷移する。図7Aに示す例において、2地点測定モードの後の次の測定モードは、フロアプランモデリングモードアイコン505-5により表現される、フロアプランモデリングモード(本明細書では「フロアプラン測定モード」とも呼ばれる)である。したがって、図7Bは、フロアプランモデリングモードアイコン505-5の上に表示された選択インジケータ537を示す。更に、いくつかの実施形態において、フロアプラン測定モードは、アクティベートされたときに、環境スキャンをトグルにより切り替える、スキャン開始/停止ボタン704を含む(例えば、スキャンが進行していない間、スキャン開始/停止ボタン704は、スキャンを開始するためのスキャン開始ボタンとして表示され、スキャンが進行している間、スキャン開始/停止ボタン704は、スキャンを終了するためのスキャン停止ボタンとして表示される)。
図7Bは、アニメーション化された遷移が表示され、ある測定モードから別の測定モードに測定アプリケーションを遷移させる(例えば、遷移中の)いくつかの実施形態に係る、(例えば、1つ以上のカメラの視野の中で検出されるオブジェクトに自動的に基づくのではなく、ユーザ入力に応答した)ユーザインタフェース700の例示的な遷移もまた示す。図7Bの例において、表示された遷移は、図5CFを参照して本明細書で記載されるような、デバイス100の1つ以上のカメラのライブビューを一時的に(例えば、1秒未満、又は2秒未満の時間周期の間)ぼやけさせる、かつ/又はぼかすことを含む。
図7C~7Dは、測定アプリケーションがフロアプランモデリングモードに遷移する際の、フロアプランモデリングに関連する外観に対する1次元測定(図7A)と関連した外観からの、レチクル706の遷移を示す。図7Cに示す例において、レチクル706は、セグメントが706の中心から外側に向かって移動している、4つのセグメント化された外観に変化しており、図7Dに示す例において、レチクル706の4つのセグメントは、長方形又は矩形の角の外に移動している。
図7D~7Gは、ユーザが、回りの物理的環境を移動させている間に、物理的環境をスキャンして、物理的環境のフロアプラン708を漸進的にマップアウトするプロセスを示す、例示的なレチクルのアニメーションを示す。いくつかの実施形態では、レチクルのアニメーションは、物理的環境をスキャンする前に、測定アプリケーションからフロアプランモデリングモードに遷移する際に表示される。いくつかの実施形態では、レチクルのアニメーションは繰り返しループする(例えば、図7D、図7E、及び図7Fに示すように、レチクルのアニメーションが全て再生された後で、レチクルのアニメーションは、図7Gに示すように、最初から再始動する)。いくつかの実施形態では、測定アプリケーションがフロアプランモデリングモードにある間に、かつ、物理的環境のスキャンが進行していないときはいつでも、レチクルのアニメーションは再生される。(例えば、レチクルのアニメーションは、物理的環境のスキャンが終了した後、かつ、後続の、物理的環境のスキャンが開始する前に、リプレイされる)いくつかの実施形態では、ユーザに、物理的環境の移動を促す命令(例えば、物理的環境の表現の回りを移動するユーザの表現のアニメーション)が表示される。
図7Gは、物理的環境701のスキャンを開始させるようにスキャン開始ボタン704-1を指令する入力710を示す。
入力710(図7G)に応じて、物理的環境701をスキャンして、使用してフロアプランを生成可能な、物理的環境701を示す情報(例えば深さ、又は他のトポロジー情報)をキャプチャすることが開始される。図7Hにおいて、スキャンされた(例えば、情報がキャプチャされた)物理的環境701の一部は、ユーザインタフェース700内の1つ以上のカメラの視野の表現上に表示される重ね合わせ712により、示される。重ね合わせ712は、スキャンされた物理的環境701の一部(単数又は複数)の、一人称斜視図を提供する。更に、差し込み714は、スキャンされた物理的環境701の一部(単数又は複数)の、異なるビュー(例えば俯瞰図)を提供するマップ716を含む。マップ716は任意選択的に、マップ716に対する、及びそれ故、物理的環境701に対する、デバイス100の1つ以上のカメラの、現在のカメラ位置718及び/又は現在のカメラ視野720を示す。更に、図7Hに示すように、いくつかの実施形態では、テレビ502-2及びテレビスタンド502-1などの、物理的環境701内の大きなオブジェクト(例えば、これらのオブジェクトの縁部)は、ユーザインタフェース700の重ね合わせ712内で、視覚的に強調されて(例えばハイライトされて)いる。
図7Iは、デバイス100(例えば、デバイス100の1つ以上のカメラ)が、物理的環境701に対して移動する(例えば、テレビ502-2に面する状態から、方向を変えてソファ502-3に面する)際の、図7Hからの遷移を示す。デバイス100が移動すると、デバイス100は、ユーザインタフェース700の重ね合わせ712の拡張により示されるように、そして、いくつかの実施形態では、差し込み714内のマップ722を更新して、物理的環境701の、更にキャプチャされた部分の表現を含むことに反映されるように、物理的環境701の追加の部分を示す情報をキャプチャする。例えば、ソファ502-3(例えば、ソファ502-3の縁部)は、ユーザインタフェース700の重ね合わせ712内で視覚的に強調される。テレビ502-2及びテレビスタンド502-1の縁部もまた、視覚的に強調されるが、この例では、ソファ502-3よりも弱い程度に強調され、これらの物理的特徴がデバイスによりまずキャプチャされたために、経時的に薄れる。最初は、図7Hにおいてテレビ502-2及びテレビスタンド502-1と同程度の視覚的強調を伴って表示されていた、ソファ502-3の視覚的強調もまた、図7K~7Lにおいて示すように、経時的に薄れる。更に、図7Iに示す例において、マップ722は、物理的環境701内でのデバイス100の水平移動及び回転に従い、差し込み714内で並進運動及び回転をして、カメラの場所718及びカメラの視野720が、差し込み714に対して静止したままとなる。
図7Jは、図7Hからの代替遷移を示す。図7Iとは対象的に、図7Jでのマップ716は、差し込み714内で回転しない。代わりに、マップ716は、図7Hと同じ向きで図7Jの差し込み714内で表示され、カメラの向き718及びカメラの視野720がマップ716に対して、故に差し込み714に対して変化し、物理的環境701内でのデバイス100の水平移動及び回転を反映する。
図7Kは、ボール724による、図7H又は7Jにおける1つ以上のカメラの視野からの、1つ以上のカメラの視野の変化を示し、物理的環境701、及び1つ以上のカメラの視野に入る物理的オブジェクト(例えばボール724)を通して移動し、デバイス100のユーザインタフェース700に表示される1つ以上のカメラのライブビューにて反映される。
図7Lは、物理的環境701での物理的オブジェクト(例えばボール724)の移動の検出に応じて、デバイス100が、スキャン中にユーザに物理的環境701でオブジェクトを移動しないように指示するアラート726(例えば「室内でものを動かさないで下さい」)を表示することを示す。デバイスによる物理的環境のスキャン中に物理的環境を移動するオブジェクトは、物理的環境についての情報の正確なキャプチャを妨げ、加えて、特にオブジェクトが素早く移動している際に、オブジェクトそのものをスキャンするのが困難であり、それ故に、正確なフロアプラン生成を妨げる。
図7Mは、物理的環境701、例えば、図7Lにおける遷移での、デバイス100の連続した移動の結果、及び、ユーザインタフェース700内での重ね合わせ712の更なる拡張、及び、差し込み714内でのマップ716の更なる更新を含む、物理的環境701の更なる部分に関する情報のキャプチャを示す。図7Mは、ユーザインタフェース700の重ね合わせ712内で視覚的に強調されたテーブル502-5の縁部もまた示す。視覚的強調は、図7Nに示すように、経時的に減少する。
図7Mにおいて、デバイス100の1つ以上のカメラの視野の中にある物理的環境701の部分は、鏡728を含む。図7Nにおいて、1つ以上のカメラの視野が鏡を含むという判定に従い(例えば、1つ以上のカメラの視野の表現が鏡の表現を含む、という判定に従い)、デバイス100は、1つ以上のカメラ(例えば、デバイス100の表示の中心点又は領域に対応する、1つ以上のカメラの焦点)を、スキャン中に物理的環境内で鏡に対して向けないようにユーザに指示するアラート730(例えば、「鏡に向けないで下さい」)を表示する。
図7Oは、物理的環境701、例えば、図7Mにおける遷移での、デバイス100の連続した移動の結果、及び、ユーザインタフェース700内での重ね合わせ712の更なる拡張、及び、差し込み714内でのマップ716の更なる更新を含む、物理的環境701の更なる部分に関する情報のキャプチャを示す。
図7Pは、物理的環境701、例えば、図7Oにおける遷移での、デバイス100の連続した移動の結果、及び、ユーザインタフェース700内での重ね合わせ712の更なる拡張、及び、差し込み714内でのマップ716の更なる更新を含む、物理的環境701の更なる部分に関する情報のキャプチャを示す。デバイス100(例えばデバイス100の1つ以上のカメラ)があまりに速く移動して、デバイスによる、物理的環境701についての正確な情報のキャプチャができない、という判定に従い、デバイス100は、デバイス100の移動を遅くし、物理的環境701についての情報をデバイス100時間がキャプチャできるようにユーザに指示するアラート732(例えば「速度を遅くして下さい」)を表示する。
図7Qは、物理的環境701、例えば、図7Pにおける遷移での、デバイス100の連続した、そして遅くなった移動の結果、及び、ユーザインタフェース700内での重ね合わせ712の更なる拡張、及び、差し込み714内でのマップ716の更なる更新を含む、物理的環境701の更なる部分に関する情報のキャプチャを示す。
図7Rにおいて、デバイス100は、例えば、図7Oと図7Pとの間における、マップ716の欠落部分736により示されるように、あまりに速く移動している1つ以上のカメラが原因で、1つ以上のカメラが、情報が完全にキャプチャされなかった物理的環境701の部分を過ぎて移動したという判定に従い、アラート734(例えば「戻って、欠落しているスポットをスキャンして下さい」)を表示する。
図7Sは、アラート734(図7R)に応じて、デバイス100はユーザにより移動され、カメラの向き718により示される、図7Oのデバイス100の位置と、図7Pのデバイス100の位置との間の物理的環境701の位置に戻り、物理的環境701の欠落した部分についての情報のキャプチャを再度試みることを示す。図7P~7Rにおいて、物理的環境701の情報は少なくとも部分的に欠落していたものの、重ね合わせ712は連続した領域として表示されることに注意する。すなわち、いくつかの実施形態では、アラート734などのアラートは、重ね合わせ712内の穴又は隙間を表示して、欠落した情報の領域を示す代わりに、ユーザに、物理的環境701の欠落した部分を再スキャンするよう指示するために提供される。
図7Sにおいて、デバイス100の1つ以上のカメラのフィールド内にある物理的環境701の部分は、デバイス100(例えばその1つ以上のカメラ)が現在位置している、現在の部屋の出口を含む。いくつかの実施形態では、デバイス100はユーザに、デバイス100が現在配置されている部屋(例えば、ユーザがデバイス100を把持している部屋)と、隣接する部屋との間の入口をマークさせる。隣接する部屋の間にある入口をユーザがマークすることができる例示的なメカニズムを図7Tに示す。ここでは、デバイス100はユーザに、ユーザが、物理的環境701内の現在の部屋から、戸口740を通って別の部屋に移動するのか否かを示すように要請するプロンプト738を表示する。図7Uは、ユーザが隣接する部屋に移動するのを断る、「いいえ」ボタン744に向けられる入力742を示す。
図7Vは、物理的環境701での、デバイス100の連続した移動の結果を示す。図7Vにおいて、ユーザインタフェース700の1つ以上のカメラのライブビュー内に大きく見える窓748により、及び、カメラの視野720が壁746の表現750に向かって面している、壁746の表現750の近くにある、マップ716内のカメラの向き718により示されるように、デバイス100の1つ以上のカメラは、物理的環境701の壁746の近くに位置している。図7Wにおいて、1つ以上のカメラの視野の中のオブジェクトが、1つ以上のカメラに近づきすぎているという判定に従い、デバイス100は、ユーザに、図7Xに示すように、1つ以上のカメラを視野の中のオブジェクトから離して移動するように促すアラート749(例えば「近すぎます」)を表示する。
図7Yは、物理的環境701、例えば、図7Sにおける遷移での、デバイス100の連続した移動の結果を示す。図7Yにおいて、デバイス100の1つ以上のカメラの視野の中にある物理的環境701の部分は、階段吹き抜け747を含み、これは、デバイス100が現在位置している現在の部屋の出口である。いくつかの実施形態では、1つ以上のカメラの視野が、隣接する(例えば内側の)部屋への入口以外の、現在の部屋の出口(例えば外側の出口、又は異なる建物の階への階段)、例えば階段吹き抜け747を含むという判定に従い、デバイス100は、ユーザに、スキャン中にその出口を通って現在の部屋を離れないように指示するアラートを表示する。図7Zに示す例において、デバイス100は、ユーザに、スキャン中に階段吹き抜け747を通って建物の上層階に行かないように指示するアラート745(例えば「上に行かないで下さい」)を表示する。別の例において、デバイス100は、ユーザに、スキャン中に階段を通って建物の下層階に行かないように指示するアラート(例えば「下に行かないで下さい」)を表示する。更に別の例において、デバイス100は、ユーザに、スキャン中に屋外に出ないように指示するアラート(例えば「屋外に行かないで下さい」)を表示する。
図7AAは、物理的環境701、例えば、図7Yにおける遷移での、デバイス100の連続した移動の結果、及び、ユーザインタフェース700内での重ね合わせ712の更なる拡張、及び、差し込み714内でのマップ716の更なる更新を含む、物理的環境701の更なる部分に関する情報のキャプチャを示す。
図7ABは、例えば、ユーザインタフェース700内での重ね合わせ712を、重ね合わせ712が、現在の部屋の物理的環境701の表現の各部分の上に表示されるように拡張すること、及び更に、差し込み714内のマップ716を更新して、マップ716が、物理的環境701の現在の部屋の完全なビューを提供するようにすることを含む、図7AAからの遷移、及び、物理的環境701の最終部分の情報のキャプチャにおける、物理的環境701での、デバイス100の連続した移動の結果を示す。図7ABは、物理的環境701のスキャンを終了するようにスキャン停止ボタン704-2を指令する入力743もまた示す。入力743に応じて、物理的環境701のスキャンが終了し、いくつかの実施形態では、スキャンプロセス中に、物理的環境701についてキャプチャされた情報を使用して、フロアプランが生成され表示される。図7AC~7ATを参照して、本明細書で更に詳細に、そのようなフロアプランの例を説明する。
図7ACは、(図7A~7ABを参照して上述したように)部屋をスキャンしている間に入手した情報を使用して、フロアプランユーザインタフェース751を表示するポータブル多機能デバイス100を示す。フロアプランユーザインタフェース751は、それぞれの部屋、例えば「家族部屋」752」のフロアプランを含む。それぞれの部屋のフロアプランは、バウンディング外側壁753-1~753-5の複数の測定値(例えば、それらの長さ、及びそれぞれに対するそれらの角度)、扉754、固定具755(例えば鏡)、並びに窓756を含む。更に、それぞれの部屋のフロアプランは、テーブル757、ソファ758、テレビ759、及びテレビスタンド760などの、それぞれの部屋の中の物理的オブジェクトの測定値を含む。この例において、階段761もまた、それぞれの部屋のフロアプランにて示されている。フロアプラン測定値に加えて、フロアプランユーザインタフェース751は、オプションユーザインタフェースオブジェクト762を含み、これは選択されたときに、表示されたフロアプランの視覚的属性を変化させるための制御を表示する。情報ボックス763もまた表示され、これは、物理的環境763-1に対するフロアプランの縮尺に関する情報(例えば、図7ACにおいて縮尺は、物理的環境の1インチが、視覚的フロアプランの10フィートに等しい)、及び、(例えば、コンパス又はコンパスポインタの表現として示される)基線方向763-2に対する部屋の向きを含む。最後に「終了」ボタン765があり、これは、選択されたときにフロアプランユーザインタフェース751を閉じ、また、ユーザに、フロアプランを写真アプリケーションに保存させるか、フロアプランをファイル収納場所にローカル若しくはリモートで保存させるか、又はフロアプランを削除するかのいずれかを促す。
図7ADは、フロアプランユーザインタフェース751の上、特に、それぞれの部屋のフロアプランの上に生じる、脱つまみジェスチャ766-1及び766-2を示す。図7AEは、脱つまみジェスチャ766-1及び766-2に対する応答を示す。脱つまみジェスチャ766-1及び766-2に応じて、部屋は再度縮尺を変更する。しかし、いくつかの実施形態では、文字ラベル及び線の厚さは、フロアプランと同じ速度で再度縮尺変更されない。図7AEは、脱つまみジェスチャ766-1及び766-2が継続していることもまた示す。図7AFは、脱つまみジェスチャ766-1及び766-2の継続に対する応答を示す。しかし、部屋が再度縮尺変更する脱つまみジェスチャ766-1及び766-2の継続に応じて、文字ラベル及び線の厚さは再び、フロアプランと同じ速度で再度縮尺変更しない。図7AFは、脱つまみジェスチャ766-1及び766-2の移動の停止に応答した、それぞれの部屋の再度の縮尺変更の停止、又は終了を示す。図7AFは、更新されている物理的環境763-1に対する、フロアプランの縮尺もまた示す。
図7AGは、それぞれの部屋の、再度縮尺変更されたフロアプランの描画縮尺が、新しい再度縮尺変更された閾値に、又は、描画縮尺の所定のセット内での、それぞれの描画縮尺に自動的にスナップされていることを示す。図7AGに示す例において、新しい再度縮尺変更された閾値は、物理的環境での6フィートが、仮想フロアプランでの1インチに等しいものとして定義される。再度縮尺変更された環境において、新しい縮尺設定は、更新されている物理的環境763-1に対するフロアプランの縮尺により反映される。
いくつかの実施形態では、図7AC~7AGに示すように、スキャンしたオブジェクト(例えばテーブル及びソファ)のうちの1つ以上は、デバイスにより自動的に識別され、その識別に基づき、かつ、人の介入なしに、フロアプランにおけるこれらのオブジェクトの表示表現が、タイトル又は名称に指定される。結果的に、ユーザが、指定されたオブジェクトのタイトル又は名称を、ユーザにより特定されるタイトル又は名称に変更したいと考える場合が存在する場合がある。図7AH~図7AJは、そのような双方向作用を示す。
図7AHは、識別されたオブジェクトの、表示された名称の上の入力767を示し、この例では「テーブル」768-1としてラベルされている。図7AIは得られたユーザインタフェースを示し、ユーザが、識別されたオブジェクトの名称を変更することができる。いくつかの実施形態では、名称の変更(例えば別のタイトル付け)は、基礎をなすフロアプランユーザインタフェース751に重なっている、又は、基礎をなすフロアプランユーザインタフェース751の再度縮尺変更したバージョンと同時に表示される仮想キーボードにて受信される入力に応じて生じる。いくつかの実施形態では、基礎をなすフロアプランユーザインタフェース751の重なり、又は再度の縮尺変更を引き起こさない、外部キーボードを使用することができる。図7AJは、「テーブル」768-1とラベルされ、今は「コーヒーテーブル」768-2とラベルされている、識別されたオブジェクトを示す。
図7AKは、パニング入力769(例えば、この例では右方向に動いている、一本指でスワイプする入力)を示す。図7ALは、パニング入力769に対する応答を示す。図7ALは、それぞれの部屋(例えば、この例では「家族部屋」752)のフロアプランが、パニング入力769に従い移動されていることを示す。図7ALは、それぞれの部屋のフロアプランの上に連続するパニング入力769もまた示す。図7AMは、パニング入力769の連続に対する応答を示す。「家族部屋」752のフロアプランは、ディスプレイにはもう完全に表示されていない。いくつかの実施形態では、図7AMに示すように、パニング入力769が、それぞれの部屋のフロアプランの一部を表示されないようにする、という判定に従い、それらの元の位置がもう表示されていないにもかかわらず、それらを表示し続けるために、測定値が移動される。更に、いくつかの実施形態において、それぞれの部屋のタイトル又は名称(例えば、「家族部屋」タイトル752-1)は移動され、元の位置がもはや表示されていないにもかかわらず、タイトル又は名称はディスプレイに残ったままである。
図7ANは、扉754上のタップ入力770を示す。図7ANの扉は、「家族部屋」752に対して内開きの扉754を示す。タップ入力770に応じて、図7AOは、「家族部屋」752に対して外開きの扉754を示す。換言すれば、扉の上でタップ入力をすることで、その扉の開閉の向きを変更することができる。
図7APは、オプションユーザインタフェースオブジェクト762上の入力771を示す。図7AQは、オプションユーザインタフェースオブジェクト762上の入力771に対する応答を示す。図7AQでは、オプションユーザインタフェースオブジェクト762が、拡張されたオプションユーザインタフェース772により置き換えられている、又はこれと重なり合っている。拡張されたオプションユーザインタフェース772は、手描きトグル772-1、追加の測定値トグル772-2、及び、家具表示トグル772-4を含む。手描きトグル772-1は、アクティブ化位置に切り替えられると、フロアプランを、手描き(例えばスケッチ)されたかのように現すことで、フロアプランの外観を変化させる。追加の測定値トグル772-2は、アクティブ化位置に切り替えられると、元々表示されていなかった追加の直線測定値(例えばメトリック)を表示する。いくつかの実施形態では、追加の測定値トグル772-2は、アクティブ化位置に切り替えられると、元々表示されていなかった追加の角度(例えば、90度の角度以外の角度)を表示する。家具表示トグル772-4は、選択された際に、デバイスにより識別されたそれぞれの部屋における家具を、それぞれの部屋のフロアプランに表示させる。
図7ARは、追加の測定値トグル772-3の上に入力773を示す。図7ASは、入力773に対する応答を示す。上述の通り、追加の測定値トグル772-3は、アクティブ化位置に切り替えられると、元々表示されていなかった追加の直線測定値(例えばメトリック)を(フロアプランに)表示する。図7ASは、フロアプランに表示されている追加の測定値を示す。例えば、含まれる新しい測定値としては、テーブル757の対角線の長さ776、固定具755(例えばミラー)の幅777、及び、窓756の幅778がある。具体的な追加の測定値はこの例において示すものの、多くの他の測定値を、示した測定値に加えて、又はそれらの代わりに、示すことができる。
図7ATは、追加の測定値トグル772-2上の入力775が、90度以外の角度を表示させる、代替の実施形態を示す。例えば、図7ATは、追加の測定値トグル772-2のアクティブ化に応じて表示されている、追加の角度(774-1及び774-2)を示す。いくつかの実施形態では、これらの追加の角度は、室内で、90度より大きい、又は90度未満(例えば45度、又は135度)であると判定される角度である。
図8A~8Fは、いくつかの実施形態に係る、拡張現実を使用して、自動的に判定された物理的環境の測定値を表示する方法800を示すフローダイヤグラムである。方法800は、表示装置(例えば、ディスプレイ(任意選択的にタッチ感知式)、プロジェクタ、ヘッドマウントディスプレイ、ヘッドアップディスプレイなど、例えば、タッチスクリーン112(図1A)、ディスプレイ340(図3A)、又は表示生成コンポーネント(単数又は複数)304(図3B))、1つ以上のカメラ(例えば、光センサ(単数又は複数)164(図1A)又はカメラ(単数又は複数)305(図3B))、及び任意選択的に、1つ以上の深度検知デバイス、例えば深度センサ(例えば、フライト時間センサ220(図2B)などの、1つ以上の深度センサ)を備えるコンピュータシステム(例えば、ポータブル多機能デバイス100(図1A)、デバイス300(図3A)、又はコンピュータシステム301(図3B))にて実施される。方法800における一部の動作は、任意選択で組み合わされ、及び/又は、一部の動作の順序は、任意選択で変更される。
本明細書中に記載のように、方法800は、注釈配置ユーザインタフェース内のレチクル(例えば、図5I~5Nを参照して記載されているようなレチクル504)が、測定可能な物理的特徴の表現の上にあるときを示し、物理的特徴の1つ以上の測定値を実施する要求に応じて、ユーザが、測定値の種類を(例えば、注釈配置ユーザインタフェースの特定の注釈モードを選択することなく)特定するための入力の提供を必要とすることなく、物理的特徴が判定された特徴の種類に基づき、物理的特徴を構成する測定値の種類を自動的に判定する。更なるユーザの入力を必要とせず、1組の条件が満たされたときに操作を(例えば自動的に)実施することにより、システムの操作性が向上し、ユーザとデバイスのインタフェースがより効率的となり(例えば、ユーザが意図する結果を達成することを補助することにより、そして、システムの操作時/システムとの双方向作用時にユーザの失敗を減らすことにより)、これによって更に、ユーザがデバイスをより素早く、そして効率的に使用することが可能となって、デバイスの電力使用が低下し電池寿命が向上する。
コンピュータシステムは、表示装置を介して、注釈配置ユーザインタフェース(例えば、拡張現実測定アプリケーションのユーザインタフェース)を表示する(802)。注釈配置ユーザインタフェースは、(例えば、図5C及び5Dに示すような)1つ以上のカメラの視野の中にある3次元の物理的環境の一部の表現を含む、1つ以上のカメラの視野の表現であって、視野の表現は、1つ以上のカメラの視野の中での変化に基づき、経時的に更新される、視野の表現(例えば、視野の表現は、視野の中での物理的環境の変化に基づき、かつ/又は、物理的環境のどの一部が視野の中にあるかを変化させる、1つ以上のカメラの移動に基づき、更新されたライブビューである)、及び、(例えば、レチクルの点又は他のマーカーを介して)仮想注釈(例えば、測定値の表現)が、(例えば、図5R~5Sを参照して記載されているような)注釈配置入力の受信に応じて、視野の表現に配置される位置を示す、配置ユーザインタフェース要素(例えばレチクル504)を含む。
いくつかの実施形態では、注釈配置ユーザインタフェースを表示している間に、コンピュータシステムは、物理的環境に対する1つ以上のカメラの第1の移動を検出する(804)。
物理的環境に対する1つ以上のカメラの第1の移動を検出したことに応じて、コンピュータシステムは、(例えば、図5C及び5Dを参照して記載されているように)1つ以上のカメラの第1の移動に基づき、視野の表現を更新する(806)。
(例えば、デバイス100の移動に基づき配置されているレチクル504を参照して記載されている)配置ユーザインタフェース要素が、測定可能な物理的環境内の物理的特徴の表現の少なくとも一部の上にあるという判定に従い、コンピュータシステムは、物理的特徴の表現の1つ以上の様相に従って配置ユーザインタフェース要素の外観を変化させる(808)(例えば、物理的特徴の表現の1つ以上の様相と合わせる、又はこれに適合させる、例えば、物理的特徴の1つ以上の縁部、頭頂、境界などを強調又はマークして、物理的特徴の表現を、視野の表現に対して視覚的に強調させる、並びに/又は、長さ、高さ、面積、及び/若しくは体積測定値などの物理的特徴に関して実施するであろうある種の測定値を示す)(例えば、図5I~5N、5T~5X、及び5AI~5AJにて変化するレチクル504を参照して記載されているように)。
注釈配置ユーザインタフェースを表示している間に、コンピュータシステムは、(例えば、図5G~5H、5R~5T、及び5W~5Xを参照して記載されているように)物理的特徴の1つ以上の測定を実施することの要求を含む注釈配置入力を受信する(810)。
いくつかの実施形態では、1つ以上の測定は、1つ以上の測定の実施を要求するユーザの入力に関係なく(例えば、この前に、又はこれを受信することなく)、システムにより実施される。いくつかの実施形態では、受信した注釈配置入力は、(例えば、物理的特徴の1つ以上の測定を実施する要求の代わりに)物理的特徴の1つ以上の測定値を表示する要求を含む。別の方法で述べたように、いくつかの実施形態では、注釈配置入力であるユーザ入力は、システムにより既に実施又は判定された1つ以上の測定値の1つ以上の表現を追加する、又は表示する要求を含む、又はこれに対応する。
物理的特徴の1つ以上の測定を実施する要求に対応する入力を受信したことに応じて(812)、物理的特徴が第1の種類の物理的特徴(例えば、物理的オブジェクトの縁部)であるという判定に従い(814)、コンピュータシステムは、物理的特徴の表現の上に、第1の測定値の種類の、第1の1組の1つ以上の測定値の表現(例えば物理的特徴)((例えば、図5F~5H及び図5S~5Tを参照して記載するように)例えば、2地点の距離を測定する1次元測定値の種類、例えば、テーブルなどのオブジェクトの縁部の長さ)を表示し、物理的特徴が、第1の種類の物理的特徴とは異なる、第2の種類の物理的特徴(例えば、テーブル、壁、窓などの物理的オブジェクトの2次元表面)であるという判定に従い(816)、コンピュータシステムは、物理的特徴の表現の上に、(例えば、図5I~5Kを参照して記載されているような、)第1の測定値の種類とは異なる、第2の測定値の種類の、第2の1組の1つ以上の測定値の表現(例えば物理的特徴)(例えば2次元表面の面積を測定する、2次元測定値の種類など、及び任意選択的に、例えば、1つ以上のカメラの視野の中にある表面の縁部の長さの、1つ以上の2地点の距離)を表示する。いくつかの実施形態では、第1の種類の特徴は、1つの家具(822)、人(824)、又は人の一部(例えば人の顔、目(828)、片手若しくは両手(832)、又は片足若しくは両足(830))、動物(826)などといった特徴の種類の1つなどの、いずれかの種類の特徴であることができる。このような特徴、及びこれらの測定の例については、図5F~5ALを参照して記載されている。いくつかの実施形態では、第2の種類の特徴は、第2の種類の特徴が、第1の種類の特徴とは異なっているのであれば、同じ組の特徴の種類のいずれか1つであることができる。
いくつかの実施形態では、物理的特徴は、第1のそれぞれの種類の物理的特徴であり(818)、物理的特徴は、1つ以上のカメラの視野の中にある物理的環境における、物理的オブジェクトの第1の部分(例えば、第1寸法に対応する)であり、物理的オブジェクトの第2の部分(例えば、第2寸法に対応する)は、1つ以上のカメラの視野の中に最大でも部分的にあり(例えば、第2の部分は視野の中に完全にはない)、これらの例を、図5F~5Nに示す。いくつかの実施形態では、物理的特徴の表現の上に、(例えば、第1のそれぞれの種類の物理的特徴である物理的特徴に従った)第1のそれぞれの測定値の種類の測定値の、第1のそれぞれの1組の、1つ以上の表現を表示した後、コンピュータシステムは、物理的オブジェクトの第2の部分が(例えば完全に)1つ以上のカメラの視野の中にあるような、物理的環境に対する1つ以上のカメラの第2の移動を検出する。いくつかの実施形態では、1つ以上のカメラの第2の移動を検出したことに応じて、コンピュータシステムは、1つ以上のカメラの第2の移動に基づき、視野の表現に、物理的オブジェクトの第2の部分の表現を含む物理的オブジェクトの表現(例えば、及び任意選択的に、1つ以上のカメラの視野の中にある、第1の部分などの、物理的オブジェクトの1つ以上の他の部分の表現)を表示することを含む、視野の表現を更新する。
いくつかの実施形態では、配置ユーザインタフェース要素(例えばレチクル504)が、物理的オブジェクトの表現の少なくとも一部の上にあるという判定に従い(例えば、及び、物理的オブジェクトを測定可能であるという判定に従い)、コンピュータシステムは、物理的オブジェクトの第2の部分を含む物理的オブジェクトの表現の1つ以上の様相に従い、配置ユーザインタフェース要素の外観を変更し(例えば、第1の部分などの、物理的オブジェクトの任意の他の部分の表示表現の様相に加えて、アラインする、又はこれに一致させることにより、第2の部分の表現の1つ以上の様相を考慮に入れる、例えば、物理的オブジェクトの部分(単数又は複数)の、1つ以上縁部、頭頂、境界などを強調又はマークして、物理的オブジェクトの表現を、視野の表現に対して視覚的に強調させる、並びに/又は、長さ、高さ、面積、及び/若しくは体積測定値などの物理的オブジェクトに関して実施するであろうある種の測定値を示し)、これらの例は、図5F~5Tを参照して上述されている。
いくつかの実施形態では、物理的オブジェクトの表現を含む注釈配置ユーザインタフェースを表示している間に、コンピュータシステムは、物理的オブジェクトの1つ以上の測定を実施する要求を含む、第2の注釈配置入力を受信する。いくつかの実施形態では、物理的オブジェクトの1つ以上の測定を実施する要求に対応する入力を受信したことに応じて、コンピュータシステムは、物理的オブジェクトの表現の上に、物理的オブジェクトの第2の部分に基づく第2のそれぞれの測定値の種類の、第2のそれぞれの1組の1つ以上の測定値の表現を表示し、これらの例は、図5I~5Nを参照して上述されている。
いくつかの実施形態では、第2のそれぞれの測定値の種類は、1つ以上のカメラの視野の中にある物理的オブジェクトの、第2の部分、及び、第1の部分などの任意の他の部分に基づく。いくつかの実施形態では、物理的オブジェクトの第1の部分が、1つ以上のカメラの視野の中にないのであれば、第2のそれぞれの測定値の種類は、物理的オブジェクトの第1の部分ではなく、物理的オブジェクトの第2の部分に基づく。いくつかの実施形態では、第2のそれぞれの測定値の種類は、第1の部分に関して以前に入手した情報を使用することで、第1の部分が1つ以上のカメラの視野の中にある(例えば残っている)か否かに関係なく、物理的オブジェクトの第2の部分及び第1の部分に基づく。例えば、物理的オブジェクトの第1の部分は物理的オブジェクトの第1の縁部であり、第1のそれぞれの測定値の種類は、2地点の距離(例えば、第1の縁部の長さ)を測定する。この例のいくつかのシナリオにおいて、物理的オブジェクトの第2の部分は、第1の縁部に隣接した物理的オブジェクトの第2の縁部であり、第2のそれぞれの測定値の種類は、面積(例えば、少なくとも第1の縁部及び第2の縁部により画定される物理的オブジェクトの表面)、並びに、任意選択的に、第1の縁部の長さ及び第2の縁部の長さを測定する。第2の例において、物理的オブジェクトの第1の部分は物理的オブジェクトの第1表面であり、第1のそれぞれの測定値の種類は、(例えば、図5I~5Nを参照して上述するように)第1表面の面積(及び、任意選択的に、第1表面の縁部(単数又は複数)の長さ(単数又は複数))を測定する。この第2の例のいくつかのシナリオにおいて、物理的オブジェクトの第2の部分は、第1表面に付随する物理的オブジェクトの縁部であり、第2のそれぞれの測定値の種類は、物理的オブジェクトの体積、及び、任意選択的に、第1表面の面積、第1表面の縁部(単数又は複数)の長さ(単数又は複数)、及び/又は付随する縁部の長さを測定する。
1つ以上のカメラの移動により、1つ以上のカメラの視野の中に物理的オブジェクトの更なる部分がもたされると、配置ユーザインタフェース要素の外観を変更して、物理的オブジェクトの更なる部分を考慮に入れることで、物理的オブジェクトの異なる種類の測定値が利用可能になったことを示す視覚的フィードバックがユーザに提供され、異なる種類の測定値が自動的に作成可能となることで、ユーザが、複雑なメニュー階層を通ってナビゲーションする必要なく、更なる制御オプションにアクセスすることができるようになる。追加で表示される制御を伴うユーザインタフェースを取り散らかすことなく、かつ、更なるユーザ入力を必要とすることなく、1組の条件が満たされたときに、改善された視覚的フィードバックをユーザに提供すること、並びに、更なる制御オプションを(例えば自動的に)提供することにより、システムの操作性が向上し、ユーザとデバイスのインタフェースがより効率的となり(例えば、ユーザが意図する結果を達成することを補助することにより、そして、システムの操作時/システムとの双方向作用時にユーザの失敗を減らすことにより)、これによって更に、ユーザがデバイスをより素早く、そして効率的に使用することが可能となって、デバイスの電力使用が低下し電池寿命が向上する。
いくつかの実施形態では、物理的環境内の物理的オブジェクトの第1の部分は、1つ以上のカメラの視野の中にあり(820)、物理的オブジェクトの第1の部分は、1つ以上のカメラの視野の中にない、又は、視野の中に部分的にしかない、物理的オブジェクトの第2の部分に隣接した縁部領域を含む(例えば、1つ以上のカメラの視野は、物理的オブジェクトの部分ビューを含む)。いくつかの実施形態において、コンピュータシステムは、1つ以上のカメラの視野の中の表現に、(例えば、図5F~5Gを参照して記載されているように)物理的オブジェクトの第2の部分に隣接した縁部領域の表現の、視覚的強調を止める(例えば退色する)ことを含む、物理的オブジェクトの第1の部分の表現を表示する。いくつかの実施形態では、縁部領域内の点は、物理的オブジェクトの第2の部分に接近するにつれ、漸進的に強調をやめる(例えば、物理的オブジェクトの第1の部分と第2の部分との境界からの第1の距離である、縁部領域の第1の点は、境界からの、第1の距離よりも大きい第2の距離である縁部領域内の第2の点に対して、視覚的に強調がやめられる)。
ビューの中にない物理的オブジェクトの一部に隣接した物理的オブジェクトの、目視できる部分の表現の視覚的強調を止める(例えば退色する)ことにより、物理的オブジェクトがビュー内に完全にないことをユーザに知らせ、ユーザが、物理的オブジェクトをより完全に見たい、及び/又は測定したいのであれば、1つ以上のカメラを移動するようにユーザに促す、視覚的フィードバックが提供される。改善された視覚的フィードバックをユーザに提供することにより、システムの操作性が向上し、ユーザとデバイスのインタフェースがより効率的となり(例えば、ユーザが意図する結果を達成することを補助することにより、そして、システムの操作時/システムとの双方向作用時にユーザの失敗を減らすことにより)、これによって更に、ユーザがデバイスをより素早く、そして効率的に使用することが可能となって、デバイスの電力使用が低下し電池寿命が向上する。
いくつかの実施形態では、物理的特徴が第1の種類の物理的特徴であるという判定は、物理的特徴が1つの家具であることをシステムにより判定することを含み(822)、第1の測定値の種類の測定値は、物理的特徴の高さ、幅、深さ、及び体積のうちの1つ以上を含む。
1つの家具であると判定された物理的特徴(例えば物理的オブジェクト)の、高さ、幅、深さ、及び/又は体積の測定を実施することにより、ユーザが入力を提供して、どの種類(単数又は複数)の測定値をユーザが物理的特徴から作成したいのかを特定する必要なく、その種類に等しく、ユーザが関心のある可能性が高い物理的特徴の寸法及び様相を測定する、優れた測定機能性が提供される。追加で表示される制御を伴うユーザインタフェースを取り散らかすことなく、かつ、更なるユーザ入力を必要とすることなく、1組の条件が満たされたときに、操作を(例えば自動的に)実施することにより、システムの操作性が向上し、ユーザとデバイスのインタフェースがより効率的となり(例えば、ユーザが意図する結果を達成することを補助することにより、そして、システムの操作時/システムとの双方向作用時にユーザの失敗を減らすことにより)、これによって更に、ユーザがデバイスをより素早く、そして効率的に使用することが可能となって、デバイスの電力使用が低下し電池寿命が向上する。
いくつかの実施形態では、物理的特徴が第1の種類の物理的特徴であるという判定は、物理的特徴が人であることをシステムにより判定することを含み(824)、第1の測定値の種類の測定値は、人の足元(例えば、人の足の底部、又は、立っている若しくは座っている間に人の足が配置される表面)と、人の頭頂(例えば、人の頭部の頭頂)との距離を含む。いくつかの実施形態では、人の足元から人の頭頂までの距離の表現は、(例えば、図5Z~5ABを参照して記載されているような)人の足元から人の頭頂までの測定値セグメント、及び/又は、距離を占める文字ラベルを含む。いくつかの実施形態では、人が立っているのであれば、人の足元から人の頭頂までの距離は、人の身長である。いくつかの実施形態では、人が座っているのであれば、人の足元から人の頭頂までの距離は、着席中の人の高さである。いくつかの実施形態では、人に対する、1組の測定値の表現としては、人の足元のインジケーション(例えば、人の足の底部、又は、人の足が置かれている表面を示す注釈)が挙げられる。いくつかの実施形態では、人の足元は、ユーザが、人の足元の位置をマークするための入力を必要とすることなく、システムにより自動的に識別される。
システムにより人であると判定された物理的特徴の高さ測定を実施することにより、ユーザが入力を提供して、どの種類(単数又は複数)の測定値をユーザが物理的特徴から作成したいのかを特定する必要なく、その種類に等しく、ユーザが関心のある可能性が高い物理的特徴の寸法及び様相を測定する、優れた測定機能性が提供される。追加で表示される制御を伴うユーザインタフェースを取り散らかすことなく、かつ、更なるユーザ入力を必要とすることなく、1組の条件が満たされたときに、操作を(例えば自動的に)実施することにより、システムの操作性が向上し、ユーザとデバイスのインタフェースがより効率的となり(例えば、ユーザが意図する結果を達成することを補助することにより、そして、システムの操作時/システムとの双方向作用時にユーザの失敗を減らすことにより)、これによって更に、ユーザがデバイスをより素早く、そして効率的に使用することが可能となって、デバイスの電力使用が低下し電池寿命が向上する。
いくつかの実施形態では、物理的特徴が第1の種類の物理的特徴であるという判定は、物理的特徴が動物(例えば、犬又は猫などのペット)であることをシステムにより判定することを含み(826)、第1の測定値の種類の測定値は、(例えば、図5AGを参照して記載されているような)動物の首の外周、動物の胸の外周、及び動物の長さ(例えば、動物の首の付け根から動物の尻尾の付け根までの、動物の背中の長さ)のうちの1つ以上を含む。
システムにより動物(例えばペット)であると判定された物理的特徴の、首の外周、胸の周辺、周囲、及び長さの測定を実施することにより、ユーザが入力を提供して、どの種類(単数又は複数)の測定値をユーザが物理的特徴から作成したいのかを特定する必要なく、(例えば、ペット用の衣服及びアクセサリーの選択において)その種類に等しく、ユーザが関心のある可能性が高い物理的特徴の寸法及び様相を測定する、優れた測定機能性が提供される。追加で表示される制御を伴うユーザインタフェースを取り散らかすことなく、かつ、更なるユーザ入力を必要とすることなく、1組の条件が満たされたときに、操作を(例えば自動的に)実施することにより、システムの操作性が向上し、ユーザとデバイスのインタフェースがより効率的となり(例えば、ユーザが意図する結果を達成することを補助することにより、そして、システムの操作時/システムとの双方向作用時にユーザの失敗を減らすことにより)、これによって更に、ユーザがデバイスをより素早く、そして効率的に使用することが可能となって、デバイスの電力使用が低下し電池寿命が向上する。
いくつかの実施形態では、物理的特徴が第1の種類の物理的特徴であるという判定は、物理的特徴が人の顔であることをシステムにより判定することを含み(828)、第1の測定値の種類の測定値としては、(例えば、図5AEを参照して記載されているような)人の第1の目の第1の瞳孔と、人の第2の目の第2の瞳孔との距離(例えば、「瞳孔距離(PD)」又は「瞳孔間距離(IPD)」とも呼ばれる、瞳孔の中心間の距離)が挙げられる。
システムにより人の顔及び目であると判定された物理的特徴の瞳孔間距離測定を実施することにより、ユーザが入力を提供して、どの種類(単数又は複数)の測定値をユーザが物理的特徴から作成したいのかを特定する必要なく、(例えば、眼鏡の選択における)その種類に等しく、ユーザが関心のある可能性が高い物理的特徴の寸法及び様相を測定する、優れた測定機能性が提供される。追加で表示される制御を伴うユーザインタフェースを取り散らかすことなく、かつ、更なるユーザ入力を必要とすることなく、1組の条件が満たされたときに、操作を(例えば自動的に)実施することにより、システムの操作性が向上し、ユーザとデバイスのインタフェースがより効率的となり(例えば、ユーザが意図する結果を達成することを補助することにより、そして、システムの操作時/システムとの双方向作用時にユーザの失敗を減らすことにより)、これによって更に、ユーザがデバイスをより素早く、そして効率的に使用することが可能となって、デバイスの電力使用が低下し電池寿命が向上する。
いくつかの実施形態では、物理的特徴が第1の種類の物理的特徴であるという判定は、物理的特徴が人の足であることをシステムにより判定することを含み(830)、第1の測定値の種類の測定値は、(例えば、図5AFを参照して記載されているような)足の長さを含む。いくつかの実施形態では、足の長さの表現は、足の長さに対応する靴のサイズとして表示される(例えば、靴のサイズは、例えば、システムが定めた、又は任意選択的に、ユーザが定めた設定に従い、人の現在の地理的位置、又は、以前に定めた地理的位置若しくは領域に関するサイズチャートに基づいて判定される)。
システムにより人の足であると判定された物理的特徴の、(例えば、任意選択的に、裸足なのか靴を履いているのかを考慮して)長さ又は靴のサイズ測定を実施することにより、ユーザが入力を提供して、どの種類(単数又は複数)の測定値をユーザが物理的特徴から作成したいのかを特定する必要なく、(例えば、一足の靴の選択における)その種類に等しく、ユーザが関心のある可能性が高い物理的特徴の寸法及び様相を測定する、優れた測定機能性が提供される。追加で表示される制御を伴うユーザインタフェースを取り散らかすことなく、かつ、更なるユーザ入力を必要とすることなく、1組の条件が満たされたときに、操作を(例えば自動的に)実施することにより、システムの操作性が向上し、ユーザとデバイスのインタフェースがより効率的となり(例えば、ユーザが意図する結果を達成することを補助することにより、そして、システムの操作時/システムとの双方向作用時にユーザの失敗を減らすことにより)、これによって更に、ユーザがデバイスをより素早く、そして効率的に使用することが可能となって、デバイスの電力使用が低下し電池寿命が向上する。
いくつかの実施形態では、物理的特徴が第1の種類の物理的特徴であるという判定は、物理的特徴が、空間内で離れた(例えば、同一人物の)第1の手及び第2の手を含むという、システムによる判定を含み(832)、第1の測定値の種類の測定値は、(例えば、図5AC~5ADを参照して記載されているような)第1の手と第2の手との距離(例えば、第1の手の掌の中心と、第2の手の掌の中心との距離といった、第1及び第2の手の上にある、対応する点どうしの距離)を含む。
システムにより、(例えば、掌どうしが面している)1組の手を含めると判定された物理的特徴の2つの手どうしの距離測定を実施することにより、ユーザが入力を提供して、どの種類(単数又は複数)の測定値をユーザが物理的特徴から作成したいのかを特定する必要なく、その種類に等しく、ユーザが関心のある可能性が高い物理的特徴の寸法及び様相(例えば、1つ以上のカメラの視野の中のサブジェクトが、自身の手を離して握っており、オブジェクトのサイズを示している場所)を測定する、優れた測定機能性が提供される。追加で表示される制御を伴うユーザインタフェースを取り散らかすことなく、かつ、更なるユーザ入力を必要とすることなく、1組の条件が満たされたときに、操作を(例えば自動的に)実施することにより、システムの操作性が向上し、ユーザとデバイスのインタフェースがより効率的となり(例えば、ユーザが意図する結果を達成することを補助することにより、そして、システムの操作時/システムとの双方向作用時にユーザの失敗を減らすことにより)、これによって更に、ユーザがデバイスをより素早く、そして効率的に使用することが可能となって、デバイスの電力使用が低下し電池寿命が向上する。
いくつかの実施形態では、物理的特徴(834)の表現の上に、それぞれの1組の、測定値の1つ以上の表現を表示している間に(ここで、それぞれの1組は、第1の測定値の表現を含み、1つ以上のカメラが物理的特徴から第1の距離に位置する間に(例えば、第1の距離が、第1レベルの詳細に対応する第1の範囲の距離の中にあるという判定に従い)、第1の表現が(例えば任意選択的に)、第1レベルの詳細(例えば第1の粒度)を使用して表示される、第1の測定値ラベル及び第1の測定値セグメントを含む)、コンピュータシステムは、1つ以上のカメラを、物理的特徴から、第1の距離未満の第2の距離に配置する、1つ以上のカメラの移動を検出する(例えば、1つ以上のカメラは、測定値の第1の表現に対応する物理的特徴の部分の近くに移動している)。いくつかの実施形態では、(例えば、第2の距離が、第2レベルの詳細に対応する、第1の範囲の距離とは異なる第2の範囲の距離の中にあるという判定に従い)1つ以上のカメラが物理的特徴から第2の距離に位置する間に、コンピュータシステムは、第1の測定値ラベルの表示を取り止める。あるいは、いくつかの実施形態では、第1の測定値ラベルの表示が維持される。いくつかの実施形態では、1つ以上のカメラが物理的特徴から第2の距離に位置する間に、コンピュータシステムは、(例えば、図5O~5Tを参照して上述するように)第1レベルの詳細とは異なる(例えば、これより大きい)第2レベルの詳細を使用して、第1の測定値セグメントを表示する(例えば、第2レベルの詳細は、第1の粒度よりも細い第2の粒度と関連する)。
異なるレベルの詳細を使用して(例えば、複数の1組の、異なる粒度の縮尺マーカーと共に)、物理的特徴の測定値を、1つ以上のカメラどうしの距離、及び物理的特徴の変化として表示することにより、ユーザが入力を提供して、ユーザが測定値を確認したい詳細のレベルを特定する必要なく、現在の距離に関連し、かつ、ユーザが関心のある可能性が高い、あるレベルの詳細における測定値についての情報(例えば、それぞれのレベルの粒度における縮尺マーカー)を優れて提供する。更に、測定値セグメント用の縮尺マーカーを表示する際に、測定値セグメントに対する測定値レベルの表示を停止することにより、ユーザインタフェース内での混乱を低減し、縮尺マーカーを不明瞭化する測定値を回避する、又はその逆となる。追加で表示される制御を伴うユーザインタフェースを取り散らかすことなく、かつ、更なるユーザ入力を必要とすることなく、1組の条件が満たされたときに、操作を(例えば自動的に)実施することにより、システムの操作性が向上し、ユーザとデバイスのインタフェースがより効率的となり(例えば、ユーザが意図する結果を達成することを補助することにより、そして、システムの操作時/システムとの双方向作用時にユーザの失敗を減らすことにより)、これによって更に、ユーザがデバイスをより素早く、そして効率的に使用することが可能となって、デバイスの電力使用が低下し電池寿命が向上する。
いくつかの実施形態では、第2レベルの詳細を使用して第1の測定値セグメントを表示することは、(例えば、図5P~5Sを参照して記載されているように)第1の測定値セグメントに沿った間隔にて、1組の縮尺マーカー(例えば、チェックマーク)を表示することを含む(836)。いくつかの実施形態では、第2レベルの詳細を使用して第1の測定値セグメントを表示している間に、(例えば、配置ユーザインタフェース要素、又は配置ユーザインタフェース要素の選択インジケータは、それぞれの縮尺マーカーの閾値距離、又はそれぞれの縮尺マーカーのアンカー点の中にある)配置ユーザインタフェース要素がそれぞれの縮尺マーカーの上にあるという、システムによる判定に従い(例えば、配置ユーザインタフェース要素が単一の縮尺マーカーの上にあるという判定に従い、又は、配置ユーザインタフェース要素の中心と、それぞれの縮尺マーカーとの距離が、配置ユーザインタフェース要素の中心と、1組の縮尺マーカーのうちの任意の他の縮尺マーカーとの距離よりも短いという判定に従い)、(例えば、レチクルをアンカー点にスナップすること(ここで、スナップすることは例えば、レチクルを注釈配置ユーザインタフェース内の既定の位置からアンカー点に移動すること、又は、レチクルの選択インジケータ(例えば点若しくは他のマーカー)を、レチクル内の既定の位置(例えば、レチクルの中心)から、アンカー点(例えば、レチクルの別の部分とは独立して移動されている選択インジケータ)に移動すること、及び/又は、レチクルの輪郭に対して選択インジケータを拡大することを含む)により)注釈配置入力を受信したことに応じて、コンピュータシステムは配置ユーザインタフェース要素の外観を変化させ、注釈が、それぞれの縮尺マーカー上のアンカー点(例えば、縮尺マーカーの中点又は終点)に配置されることを示す。例を図5P~5Tに示す。
配置ユーザインタフェース要素を、測定値セグメントに対して表示されるそれぞれの縮尺マーカー上のアンカー点にスナップすることにより、特定されたアンカー点に注釈が追加されることをユーザに示す視覚的フィードバックが提供され、ユーザが配置ユーザインタフェース要素を注意深く配置する必要なく、典型的には、測定値(例えばフィート若しくはインチ、メートル若しくはセンチメートル、又はその単純な端数)に沿った有用な基準点である、縮尺マーカーにより特定される位置においてユーザが注釈を追加するのを容易にする。改善された視覚的フィードバックをユーザに提供すること、並びに、1組の条件が満たされたときに操作を(例えば自動的に)実施することにより、操作を実施するのに必要な入力の数、及び/又は程度を低減することにより、システムの操作性が向上し、ユーザとデバイスのインタフェースがより効率的となり(例えば、ユーザが意図する結果を達成することを補助することにより、そして、システムの操作時/システムとの双方向作用時にユーザの失敗を減らすことにより)、これによって更に、ユーザがデバイスをより素早く、そして効率的に使用することが可能となって、デバイスの電力使用が低下し電池寿命が向上する。
いくつかの実施形態では、第2レベルの詳細を使用して第1の測定値セグメントを表示している間に(838)、コンピュータシステムは、第2レベルの詳細により示され、物理的環境内のそれぞれの物理的位置に対応する、視野の表現内のそれぞれの位置において注釈を追加する要求に対応する入力(例えば注釈配置入力)を受信する(例えば、第2レベルの詳細を使用して第1の測定値セグメントを表示することは、第1の測定値セグメントに沿った間隔で1組の縮尺マーカー(例えばチェックマーク)を表示することを含み、入力は、例えば、ユーザが、それぞれの縮尺マーカーの上にレチクルを移動することにより、及び、レチクルがそれぞれの縮尺マーカーにスナップされている間に、注釈配置入力を提供することにより、それぞれの縮尺マーカーにて注釈を追加する要求に対応する)。いくつかの実施形態では、注釈を追加する要求に対応する入力に応じて、コンピュータシステムは、第2レベルの詳細により示されるそれぞれの位置において注釈を追加する。
いくつかの実施形態では、注釈を追加した後で、コンピュータシステムは、(例えば、図5O~5Pを参照して記載されているような)物理的特徴から第1の距離において(又は、代替的にその距離以内に)1つ以上のカメラを配置する、1つ以上のカメラの移動を検出する。いくつかの実施形態では、物理的特徴から第1の距離に1つ以上のカメラを配置する、1つ以上のカメラの移動の検出に応じて、コンピュータシステムは、1つ以上のカメラの移動に基づき視野の表現を更新する(例えば、図5S~5Tを参照して記載されているように、部分的に離れて移動することでチェックマークが消える場合)。いくつかの実施形態では、1つ以上のカメラが物理的特徴から第1の距離に(又は、代替的にその距離以内に)位置する間に(例えば、第3の距離が、第1レベルの詳細に対応する第1の範囲の距離の中にあるという判定に従い)、コンピュータシステムは、それぞれの位置が第1レベルの詳細により示されているか否かに関係なく、第1レベルの詳細、第1の測定値ラベル、及び、(例えば、第2レベルの詳細により以前示されていた)物理的環境内のそれぞれの物理的位置に対応する、更新された視野の表現の中のそれぞれの位置における注釈を使用して第1の測定値セグメントを表示する(例えば、第1レベルの詳細を使用して第1の測定値セグメントを表示することは、第1の測定値セグメントに沿った、第2レベルの詳細の間隔よりも長い間隔で、任意の縮尺マーカーを表示すること、又は異なる1組の縮尺マーカーを表示することを取り止めることを含み、注釈は、第1レベルの詳細が、注釈の位置に対応する縮尺マーカーを含まない場合であっても、1つ以上のカメラを移動して第1の距離に戻す前と同じ、それぞれの物理的位置に対応する視野の表現内の位置にて維持される)。
1つ以上のカメラが(例えば、測定された物理的特徴から遠くに)移動した場合であっても、それぞれの縮尺マーカーが表示されないように、測定値に沿ったそれぞれの縮尺マーカー上のアンカー点に追加された注釈を維持することにより、測定値に沿って、注釈が、ユーザが、過剰に詳述された測定値を含むユーザインタフェースを乱雑にすることなく、ユーザが有用で以前にマークした基準点(例えばフィート若しくはインチ、メートル若しくはセンチメートル、又はその単純な端数)に位置することをユーザに示す、改善された視覚的フィードバックを提供する。改善された視覚的フィードバックをユーザに提供することにより、システムの操作性が向上し、ユーザとデバイスのインタフェースがより効率的となり(例えば、ユーザが意図する結果を達成することを補助することにより、そして、システムの操作時/システムとの双方向作用時にユーザの失敗を減らすことにより)、これによって更に、ユーザがデバイスをより素早く、そして効率的に使用することが可能となって、デバイスの電力使用が低下し電池寿命が向上する。
図8A~図8Fにおける動作について説明された特定の順序は単なる例であり、説明された順序は、動作を実行することができる唯一の順序であることを示すことを意図するものではないことを理解されたい。当業者であれば、本明細書に記載される動作を再順序付けるための様々な方法を認識するであろう。加えて、本明細書に記載される他の方法(例えば、方法900、1000、1100、1200、1300、1400、1500、及び1600)に関して本明細書に記載される他のプロセスの詳細はまた、図8A~図8Fに関して上述した方法800にも、類似の様式で適用可能であることに留意されたい。例えば、方法800を参照して上述したユーザインタフェース、ユーザインタフェース要素、その中の物理的環境及び特徴及びオブジェクト、特徴の種類、注釈、測定値の表現、測定値の種類、並びに縮尺マーカーは、任意選択的に、本明細書で記載される他の方法(例えば、方法900、1000、1100、1200、1300、1400、1500、及び1600)を参照して本明細書で記載される、ユーザインタフェース、ユーザインタフェース要素、その中の物理的環境及び特徴及びオブジェクト、特徴の種類、注釈、測定値の表現、測定値の種類、並びに縮尺マーカーの特性のうちの1つ以上を有する。簡潔にするために、それらの詳細はここでは繰り返さない。
図9A~9Cは、いくつかの実施形態に係る、拡張現実環境内で自動的に判定されたアンカー点に基づき、位置調整ガイドを提供する方法900を示すフローダイヤグラムである。方法900は、表示装置(例えば、ディスプレイ(任意選択的にタッチ感知式)、プロジェクタ、ヘッドマウントディスプレイ、ヘッドアップディスプレイなど、例えば、タッチスクリーン112(図1A)、ディスプレイ340(図3A)、又は表示生成コンポーネント(単数又は複数)304(図3B))、1つ以上のカメラ(例えば、光センサ(単数又は複数)164(図1A)又はカメラ(単数又は複数)305(図3B))、及び任意選択的に、1つ以上の深度検知デバイス、例えば深度センサ(例えば、フライト時間センサ220(図2B)などの、1つ以上の深度センサ)を備えるコンピュータシステム(例えば、ポータブル多機能デバイス100(図1A)、デバイス300(図3A)、又はコンピュータシステム301(図3B))にて実施される。方法900における一部の動作は、任意選択で組み合わされ、及び/又は、一部の動作の順序は、任意選択で変更される。
本明細書に記載されるように、注釈配置ユーザインタフェース内のレチクルが、物理的特徴の表現のアンカー点にスナップされると、方法900は、アンカー点から1つ以上の向きに延びる1組のガイドを表示して、(例えば、図5AN及び5APを参照して記載されるように)物理的特徴の1つ以上の測定を行うことが可能な向きを特定する視覚的フィードバックをユーザに提供し、故に、ユーザが関心を持ち得る測定をユーザが行うのを補助する。更に、方法900は、ユーザが、どの種類のガイドを表示するかを特定する入力の提供を必要とすることなく、物理的特徴がどの種類の特徴であるか判定されることに基づき、異なるガイドを優れて表示する。改善された視覚的フィードバックをユーザに提供し、更なるユーザの入力を必要とすることなく操作を(例えば自動的に)実施することにより、システムの操作性が向上し、ユーザとデバイスのインタフェースがより効率的となり(例えば、ユーザが意図する結果を達成することを補助することにより、そして、システムの操作時/システムとの双方向作用時にユーザの失敗を減らすことにより)、これによって更に、ユーザがデバイスをより素早く、そして効率的に使用することが可能となって、デバイスの電力使用が低下し電池寿命が向上する。
コンピュータシステムは、表示装置を介して、注釈配置ユーザインタフェース(例えば、拡張現実測定アプリケーションのユーザインタフェース)を表示する(902)。注釈配置ユーザインタフェースは、(例えば、図5AM~5AYを参照して記載するように)1つ以上のカメラの視野の中にある3次元の物理的環境の一部の表現を含む、1つ以上のカメラの視野の表現であって、視野の表現は、1つ以上のカメラの視野の中での変化に基づき、経時的に更新される、視野の表現(例えば、視野の表現は、視野の中での物理的環境の変化に基づき、かつ/又は、物理的環境のどの一部が視野の中にあるかを変化させる、1つ以上のカメラの移動に基づき、更新されたライブビューである);及び、(例えば、レチクルの点又は他のマーカーを介して)仮想注釈(例えば、測定値の表現)が、(例えば、図5AU~5AQを参照して記載されているような)注釈配置入力の受信に応じて、視野の表現に配置される位置を示す、配置ユーザインタフェース要素(例えばレチクル)を含む。
注釈配置ユーザインタフェースを表示している間に、コンピュータシステムは、物理的環境に対する1つ以上のカメラの移動を検出する(904)。
物理的環境に対する1つ以上のカメラの移動を検出したことに応じて(906)、コンピュータシステムは、(例えば、図5AM~5AYを参照して記載されているように)1つ以上のカメラの移動に基づき、視野の表現を更新する(908)。
物理的環境に対する1つ以上のカメラの移動を検出したことに応じて(906)、配置ユーザインタフェース要素(例えば、配置ユーザインタフェース要素の少なくとも一部)が、物理的環境内の第1の種類の特徴(例えば、物理的環境内の物理的オブジェクトの縁部)の表現の少なくとも一部の上にある(910)(例えば、配置ユーザインタフェース要素、又は配置ユーザインタフェース要素の選択インジケータは、それぞれの縮尺マーカーの閾値距離、又はそれぞれの縮尺マーカーのアンカー点の中にある)という判定に従い、コンピュータシステムは、配置ユーザインタフェース要素の外観を変化させて、注釈配置入力(例えば、レチクルを、第1の種類の特徴に対応するアンカー点にスナップすること(ここで、レチクルをスナップすることは例えば、レチクルを注釈配置ユーザインタフェース内の既定の位置からアンカー点に移動すること、又は、レチクルの選択インジケータ(例えば点若しくは他のマーカー)を、レチクル内の既定の位置(例えば、レチクルの中心)から、アンカー点(例えば、レチクルの別の部分とは独立して移動されている選択インジケータ)に移動すること、及び/又は、レチクルの輪郭に対して選択インジケータを拡大することを含む))に応じて、(例えば、第1の種類の特徴の表現の一部の中の)第1の種類の特徴に対応するアンカー点に配置される注釈を示し、第1の種類の特徴の表現(例えば、物理的オブジェクトの縁部の少なくとも一部に沿った単一のガイド)の少なくとも一部に対応する、第1の1組の、1つ以上のガイドを表示する。いくつかの実施形態では、第1の1組の1つ以上のガイドにおける各ガイドは、(例えば、第1の1組が複数のガイドを含み、ガイドがアンカー点にて交わる、又は交差する場合に)(例えば、図5AN及び5APを参照して記載されているような)アンカー点の位置を含む。
物理的環境に対する1つ以上のカメラの移動を検出したことに応じて(906)、配置ユーザインタフェース要素(例えば、配置ユーザインタフェース要素の少なくとも一部)が、第1の種類の特徴(例えば、物理的環境内の物理的オブジェクト頭頂(例えば角部)(例えば、図5AO及び5APに示す、ソファの角部523)とは異なる第2の種類の特徴の表現の少なくとも一部の上にあるという判定に従い、コンピュータシステムは、配置ユーザインタフェース要素の外観を変更して、注釈が、注釈配置入力(例えば、レチクルを、第2の種類の特徴に対応するアンカー点にスナップすること)に応じて、(例えば、第2の種類の特徴の表現の一部の中にある)第2の種類の特徴に対応するアンカー点に配置されることを示し、第2の種類の特徴の表現の少なくとも一部に対応する、第1の1組の、1つ以上のガイドとは異なる、第2の1組の、1つ以上のガイド(例えば、物理的オブジェクトの頭頂に付随する、異なる縁部又はその一部に沿った、複数の別個のガイド)を表示する(912)(例えば、図5APに示すガイドを、図5Aに示すものと比較のこと)。いくつかの実施形態では、第2の1組の1つ以上のガイドは、注釈配置入力を受信して、(例えば、図5AN及び5APを参照して記載されているような)第2の種類の特徴に対応するアンカー点に注釈を配置する前に表示される。いくつかの実施形態では、第2の1組の1つ以上のガイドにおける各ガイドは、(例えば、第2の1組が複数のガイドを含み、ガイドがアンカー点にて交わる場合に)アンカー点の位置を含む(例えば、ここにて交差する、又は終点を有する)。いくつかの実施形態では、第2の1組の1つ以上のガイドは、第1の1組の1つ以上のガイドにおけるガイドの種類(単数又は複数)とは異なる、少なくとも1種のガイドを含む。いくつかの実施形態では、第2の1組のガイドは、(例えば、図5AN、5AP~5AS、及び5AUを参照して記載されているように)第1の1組のガイド(例えば1個のガイド)とは異なる数のガイド(例えば、2、3、又はそれより多くのガイド)を含む。
いくつかの実施形態では、アンカー点が物理的環境内の1つ以上の縁部に位置するという判定に従い(914)(例えば、アンカー点は、単一の縁部に沿った点、又は、複数の縁部が交わる点(例えば頭頂))である)、表示されるそれぞれの組の1つ以上のガイドは、1つ以上の縁部の各縁部に対して、(例えば、図5AN、5AP~5AS、及び5AUに示すように)それぞれの縁部に沿ったアンカー点から延びるそれぞれのガイドを含む。例えば、それぞれの種類の特徴が、物理的環境内の物理的オブジェクトの縁部である場合、アンカー点は縁部に沿った点であり、それぞれの組の1つ以上のガイドは、縁部に対応するガイドを含む(例えば、ガイドは縁部の表現に沿って表示される(例えば、この上に重なり合う))。別の例において、それぞれの種類の特徴が、物理的環境内の物理的オブジェクトの頭頂である場合、それぞれの組の1つ以上のガイドは、(例えば、図5APを参照して記載されているような)頭頂に付随する(例えば全ての)縁部に対応する複数のガイドを含む(例えば、付随する各縁部に関して、それぞれのガイドはそれぞれの縁部の表現に沿って表示される)。
アンカー点がその上に位置する各縁部に沿って、アンカー点から延びるガイドを表示することにより、縁部を識別する視覚的フィードバックがユーザに提供され、故に、ユーザが関心を持ち得る1つ以上の測定値の向きが作成され得る。改善された視覚的フィードバックをユーザに提供することにより、システムの操作性が向上し、ユーザとデバイスのインタフェースがより効率的となり(例えば、ユーザが意図する結果を達成することを補助することにより、そして、システムの操作時/システムとの双方向作用時にユーザの失敗を減らすことにより)、これによって更に、ユーザがデバイスをより素早く、そして効率的に使用することが可能となって、デバイスの電力使用が低下し電池寿命が向上する。
いくつかの実施形態では、アンカー点が、少なくとも物理的環境内で第1に検出された表面と、物理的環境内で第2に検出された表面とが交わる箇所に位置する(例えば、アンカー点が、第1及び第2の物理的表面が交わる縁部に沿った点である、又は、アンカー点が、第1及び第2の表面を含む3つ以上の表面が交わる頭頂である)という判定に従い(916)、表示されるそれぞれの組の1つ以上のガイドは、(例えば、図5AP及び5ARに示すように)少なくとも、アンカー点から、第1の検出された表面に垂直な向きに延びる第1のガイド、及び、アンカー点から、第2の検出された表面に垂直な向きに延びる第2のガイドを含む。いくつかの実施形態では、それぞれの組の1つ以上のガイドは、アンカー点にて交わる、2つ以上の検出された表面に垂直なそれぞれの向きにアンカー点から延びる、それぞれのガイドを含み、例を図5AP、5AR~5AS、及び5AUに示す。例えば、アンカー点が、物理的環境内で第1の検出された表面、第2の検出された表面、及び第3の検出された表面全てが交わる、3次元物理的オブジェクトの頭頂に対応する場合、それぞれの組の1つ以上のガイドは、(例えば、図5AP、5AR~5AS、及び5AUに示すように)第1のガイド、第2のガイド、及び、第3の検出された表面に垂直な第3の向きにアンカー点から延びる、第3のガイドを含む。
アンカー点が位置する箇所にて交わる表面から垂直に延びるガイドを表示することにより、ユーザが関心を持ち得る1つ以上の測定値が作成される向きを識別する視覚的フィードバックが、ユーザに提供される。改善された視覚的フィードバックをユーザに提供することにより、システムの操作性が向上し、ユーザとデバイスのインタフェースがより効率的となり(例えば、ユーザが意図する結果を達成することを補助することにより、そして、システムの操作時/システムとの双方向作用時にユーザの失敗を減らすことにより)、これによって更に、ユーザがデバイスをより素早く、そして効率的に使用することが可能となって、デバイスの電力使用が低下し電池寿命が向上する。
いくつかの実施形態では、物理的環境に対する1つ以上のカメラの移動を検出したことに応じて(918)、かつ、配置ユーザインタフェース要素(例えば、配置ユーザインタフェース要素の少なくとも一部)が、第1の種類の特徴及び第2の種類の特徴とは異なる、物理的環境内の第3の種類の特徴(例えば、物理的表面の縁部から離れた、物理的環境内の物理的表面)の表現の少なくとも一部の上にあるという判定に従い(ここで、配置ユーザインタフェース要素は、注釈配置入力を受信したことに応じて、仮想注釈が配置される視野の表現内の、それぞれの位置を示す)、コンピュータシステムは、(例えば、図5AX~5AYに示すように)第3の種類の特徴から(例えば、物理的環境内での)垂直方向に対応する視野の表現内での向きに、それぞれの位置から延びるガイドを表示する。
フォーカスの点が、物理的表面の任意の縁部から離れた物理的表面上の位置に対応するときに、レチクルのフォーカスの点から垂直に延びるガイドを(例えば、任意選択的に、レチクルを任意のアンカー点にスナップすることなく)表示することにより、フォーカスの点が物理的表面の任意の縁部から離れており、ユーザが関心を持ち得る測定値が作成され得る向きを識別する視覚的フィードバックがユーザに提供される。改善された視覚的フィードバックをユーザに提供することにより、システムの操作性が向上し、ユーザとデバイスのインタフェースがより効率的となり(例えば、ユーザが意図する結果を達成することを補助することにより、そして、システムの操作時/システムとの双方向作用時にユーザの失敗を減らすことにより)、これによって更に、ユーザがデバイスをより素早く、そして効率的に使用することが可能となって、デバイスの電力使用が低下し電池寿命が向上する。
いくつかの実施形態では、それぞれの組の1つ以上のガイドを表示することは、それぞれの組における各ガイドに対して、それぞれのガイドの第2の部分に対して、それぞれのガイドの第1の部分を視覚的に強調することを含み(920)、ここで、(例えば、図5AS~5AUに示すように)第1の部分は、物理的環境内で物理的オブジェクトにより占有される物理的空間内での位置に対応し(例えば、これを示す、ここから(仮想感覚で)延びる、又はこの上に重なって表示される)、第2の部分は、物理的環境内で、物理的オブジェクトにより占有されない(例えば、任意の固体オブジェクト又は液体により占有されず、空気又は他の気体によってのみ占有される)物理的空間内での位置に対応する(例えば、これを示す、ここから(仮想感覚で)延びる、又はこの上に重なって表示される)。
物理的オブジェクトにより占有されない位置に対応するガイドの部分に対して、物理的オブジェクトにより占有される位置に対応するガイドの部分(例えば、空気を通って延びるのではなく、オブジェクトと交差するガイドの部分)を視覚的に強調することにより、(例えば、5AN、5AP~5AS、5AU~5AV、及び5AX~5AYに示すように)ユーザに、物理的オブジェクトに対するガイドの位置、及び、物理的オブジェクトの表現により占有され得るガイドの部分の視認性の改善についての視覚的フィードバックが提供される。改善された視覚的フィードバックをユーザに提供することにより、システムの操作性が向上し、ユーザとデバイスのインタフェースがより効率的となり(例えば、ユーザが意図する結果を達成することを補助することにより、そして、システムの操作時/システムとの双方向作用時にユーザの失敗を減らすことにより)、これによって更に、ユーザがデバイスをより素早く、そして効率的に使用することが可能となって、デバイスの電力使用が低下し電池寿命が向上する。
(例えば、それぞれの組の1つ以上のガイドにおけるそれぞれの各ガイドに関する)いくつかの実施形態では、それぞれのガイドの第2の部分は、それぞれのガイドの第1の部分(例えば、第1の部分の終点)から第1の距離の第1の点、及び、それぞれのガイドの第1の部分(例えば、第1の部分の終点)から、第1の距離より大きい第2の距離の第2の点を含み、(922)第2の点は、第1の点に対して視覚的に強調をやめている(例えば影が付いている)(例えば、かつ両方の点が、それぞれのガイドの第1の部分に対して視覚的に強調をやめている)。いくつかの実施形態では、物理的オブジェクト(例えば、第1の部分が対応する物理的オブジェクト)から離れた物理的環境の中の物理的空間の点に対応する、第2の部分に沿った点は、(例えば、図5AR~5ASに示すように)物理的オブジェクトに近い物理的空間の点に対応する第2の部分に沿った点に対して、視覚的に強調をやめている。いくつかの実施形態では、物理的オブジェクトから「離れて」延びれば延びるほどそれぞれのガイドの第2の部分は漸進的に強調をやめる(例えば、影が付く)(例えば、第2の部分に沿った点は、物理的空間内で対応する点が、物理的オブジェクトから遠く離れれば離れるほど、漸進的に影が付く。別の言い方をすれば、いくつかのシナリオにおいて、それぞれのガイドの第2の部分は、注釈配置ユーザインタフェース内での物理的オブジェクトの表現から遠くに延びれば延びるほど、漸進的に影が付く)。
物理的オブジェクトにより占有されていない位置に対応するガイドの部分を、漸進的に視覚的に強調をやめることにより、強調をやめた部分が、ユーザが測定値を作成するのにさほど関心がない可能性がある領域又は向きを示す視覚的フィードバックが、ユーザに提供される。改善された視覚的フィードバックをユーザに提供することにより、システムの操作性が向上し、ユーザとデバイスのインタフェースがより効率的となり(例えば、ユーザが意図する結果を達成することを補助することにより、そして、システムの操作時/システムとの双方向作用時にユーザの失敗を減らすことにより)、これによって更に、ユーザがデバイスをより素早く、そして効率的に使用することが可能となって、デバイスの電力使用が低下し電池寿命が向上する。
いくつかの実施形態では、それぞれの組の1つ以上のガイドを表示することは、(例えば、図5AR~5AUに示すように)経時的にアンカー点から漸進的に延びる1つ以上のガイドを示すアニメーションを表示することを含む(924)。いくつかの実施形態では、アニメーションは、それぞれの組の1つ以上のガイドが最初に、それぞれの種類の特徴に対応するアンカー点に関する配置ユーザインタフェース要素の外観の変化と組み合わせて表示されるときに、再生される。いくつかの実施形態では、アニメーションが再生された後に、配置ユーザインタフェース要素が、それぞれの種類の特徴の表現の部分の上に維持されながら、それぞれの組の1つ以上のガイドの表示が(例えば、アニメーションなしで)維持される(例えば、1つ以上のカメラの移動により、配置ユーザインタフェース要素が、アンカー点を含まない1つ以上のカメラの視野の表現の異なる部分に表示されるまで)。
レチクルのフォーカスの点(場合によってはアンカー点である)から、経時的に漸進的に延びる1つ以上のガイドを示すアニメーションを表示することにより、1つ以上のカメラを移動して、ユーザが関心を持ち得る測定値を作成する向きを示す視覚的フィードバックが、ユーザに提供される。改善された視覚的フィードバックをユーザに提供することにより、システムの操作性が向上し、ユーザとデバイスのインタフェースがより効率的となり(例えば、ユーザが意図する結果を達成することを補助することにより、そして、システムの操作時/システムとの双方向作用時にユーザの失敗を減らすことにより)、これによって更に、ユーザがデバイスをより素早く、そして効率的に使用することが可能となって、デバイスの電力使用が低下し電池寿命が向上する。
図9A~図9Cにおける動作について説明された特定の順序は単なる例であり、説明された順序は、動作を実行することができる唯一の順序であることを示すことを意図するものではないことを理解されたい。当業者であれば、本明細書に記載される動作を再順序付けるための様々な方法を認識するであろう。加えて、本明細書に記載される他の方法(例えば、方法800、1000、1100、1200、1300、1400、1500、及び1600)に関して本明細書に記載される他のプロセスの詳細はまた、図9A~図9Cに関して上述した方法900にも、類似の様式で適用可能であることに留意されたい。例えば、方法900を参照して上述したユーザインタフェース、ユーザインタフェース要素、その中の物理的環境及び特徴及びオブジェクト、特徴の種類、ガイド、アニメーション、並びに注釈は、任意選択的に、本明細書で記載される他の方法(例えば、方法800、1000、1100、1200、1300、1400、1500、及び1600)を参照して本明細書で記載される、ユーザインタフェース、ユーザインタフェース要素、その中の物理的環境及び特徴及びオブジェクト、特徴の種類、ガイド、アニメーション、並びに注釈の特性のうちの1つ以上を有する。簡潔にするために、それらの詳細はここでは繰り返さない。
図10A~10Cは、いくつかの実施形態に係る、拡張現実環境内でのユーザ入力に応じて、動的位置調整ガイドを提供する方法1000を示すフローダイヤグラムである。方法1000は、表示装置(例えば、ディスプレイ(任意選択的にタッチ感知式)、プロジェクタ、ヘッドマウントディスプレイ、ヘッドアップディスプレイなど、例えば、タッチスクリーン112(図1A)、ディスプレイ340(図3A)、又は表示生成コンポーネント(単数又は複数)304(図3B))、1つ以上のカメラ(例えば、光センサ(単数又は複数)164(図1A)又はカメラ(単数又は複数)305(図3B))、及び任意選択的に、1つ以上の深度検知デバイス、例えば深度センサ(例えば、フライト時間センサ220(図2B)などの、1つ以上の深度センサ)を備えるコンピュータシステム(例えば、ポータブル多機能デバイス100(図1A)、デバイス300(図3A)、又はコンピュータシステム301(図3B))にて実施される。方法1000における一部の動作は、任意選択で組み合わされ、及び/又は、一部の動作の順序は、任意選択で変更される。
本明細書に記載されるように、方法1000は、部分的には、以前に表示されなかった1つ以上のガイドを表示することで、注釈がレチクルにより示される位置に追加されるときにどのガイドが表示されるかを優れて変更し、追加されている注釈の前に対象となる可能性のある向きとは異なり得る、注釈の位置から関心を持つ、対象となる向きを識別する視覚的フィードバックを、ユーザに提供する。改善された視覚的フィードバックをユーザに提供し、更なるユーザの入力を必要とすることなく操作を(例えば自動的に)実施することにより、システムの操作性が向上し、ユーザとデバイスのインタフェースがより効率的となり(例えば、ユーザが意図する結果を達成することを補助することにより、そして、システムの操作時/システムとの双方向作用時にユーザの失敗を減らすことにより)、これによって更に、ユーザがデバイスをより素早く、そして効率的に使用することが可能となって、デバイスの電力使用が低下し電池寿命が向上する。
コンピュータシステム(1002)は、表示装置を介して、注釈配置ユーザインタフェース(例えば、拡張現実測定アプリケーションのユーザインタフェース)を表示し、注釈配置ユーザインタフェースは、1つ以上のカメラの視野の中にある3次元の物理的環境の一部の表現を含む、1つ以上のカメラの視野の表現であって、視野の表現は、1つ以上のカメラの視野の中での変化に基づき、経時的に更新される、視野の表現(例えば、視野の表現は、視野の中での物理的環境の変化に基づき、かつ/又は、物理的環境のどの一部が視野の中にあるかを変化させる、1つ以上のカメラの移動に基づき、更新されたライブビューである);及び、(例えば、レチクルの点又は他のマーカーを介して)仮想注釈(例えば、測定値の表現)が、注釈配置入力の受信に応じて、視野の表現に配置される位置を示す、配置ユーザインタフェース要素(例えばレチクル504-2)を含む。
配置ユーザインタフェース要素が、(例えば、物理的環境内の第1の物理的位置に対応する)視野の表現の第1の位置(例えば、第1のアンカー点)を示す間に、コンピュータシステムは、(例えば、図5AQに示すように)第1の注釈配置入力(例えば、視野の表現の第1の位置における、仮想測定点などの仮想注釈を追加する要求に対応する入力)を受信する(1004)。
第1の注釈配置入力を受信したことに応じて(1006)、コンピュータシステムは、(例えば、図5ARに記載されているように)視野の表現の第1の位置において(例えば仮想)注釈(例えば、測定点)を表示し(1008)、視野の表現の第1の位置から延びる1つ以上の第1のガイド(例えば、測定ガイド)を表示する(1010)。いくつかの実施形態では、1つ以上の第1のガイドは、(例えば、図5ARに記載されているように)視野の表現内での注釈の落下位置に対応する、第1の物理的位置から物理的空間を通って延びる半直線(例えば、又は線若しくは線分)に沿った物理的環境内での物理的位置を示す。いくつかの実施形態では、配置ユーザインタフェース要素(例えばレチクル)が、(例えば、図5AO~5ARに示すように)ガイドの半直線の閾値距離内にある物理的位置に対応する場合、配置ユーザインタフェース要素は、それぞれのガイド(例えば、「ガイドにスナップする」)に沿って位置を示すように制約される(例えば、配置ユーザインタフェース要素は、半直線の閾値距離内にある物理的位置に対応する視野の表現の位置を示す)
いくつかの実施形態では、配置ユーザインタフェース要素が、視野の表現の第1の位置を示す間に、第1の注釈配置入力を受信する前に、コンピュータシステムは、視野の表現の第1の位置から延びる1つ以上の第2のガイド(例えば、測定ガイド)(例えば、方法900を参照して記載されている1つ以上のガイド)を表示し(1012)、第1の注釈配置入力を受信したことに応じて、コンピュータシステムは、1つ以上の第2のガイドの少なくともサブセットの表示を中止する。いくつかの実施形態では、1つ以上の第2のガイド全てが、第1の注釈配置入力に応じて、(例えば、図5AU~5AVに示すように)表示が中止される(例えば、1つ以上の第1のガイドは、1つ以上の第2のガイドとは完全に異なっている)。いくつかの実施形態では、1つ以上の第2のガイドの第1サブセットの表示が中止され、第1の注釈配置入力を受信したことに応じて表示される1つ以上の第1のガイドは、(例えば、図5AU~5AVに示すように)第1サブセットの表示が中止された後に表示されたままの、1つ以上の第2のガイドの第2サブセットである。
いくつかの実施形態では、第1の注釈配置入力を受信し、第1の位置にて注釈を、及び、第1の位置から延びる1つ以上の第1のガイドを表示した後、システムは1つ以上のカメラの移動を検出し、配置ユーザインタフェース要素は、(例えば、物理的環境の第2の物理的位置に対応する)視野の表現の中で、第1の位置とは異なる第2の位置(例えば、第1のアンカー点とは異なる第2のアンカー点)を示す。いくつかの実施形態では、配置ユーザインタフェース要素が第2の位置を示す間に、かつ、注釈配置入力を受信する前に、システムは、(例えば、図5ASに示すように)第2の位置から延びる(例えば、1つ以上の第1のガイドに類似する、又は、1つ以上の第2のガイドに類似する)それぞれの組の1つ以上のガイドを表示する。いくつかの実施形態では、配置ユーザインタフェース要素が第2の位置を示す間に第2の注釈配置入力を受信したことに応じて、システムは、(例えば、図5AU~5AVに示すように)第2の位置から延びる(例えば、1つ以上の第2のガイドに類似の、又は、1つ以上の第1のガイドに類似の)異なる組の1つ以上のガイドを表示する。
注釈を追加する前に表示された1つ以上のガイドを移動することで、取り除かれた、延びたガイドがユーザにとってもはや関心のない可能性があり、ユーザが、不必要なガイドを取り除くための入力を提供する必要なく、ユーザインタフェースが不必要なガイドで混乱することを避ける指示を示す視覚的フィードバックが、ユーザに提供される。改善された視覚的フィードバックをユーザに提供し、更なるユーザの入力を必要とすることなく操作を(例えば自動的に)実施することにより、システムの操作性が向上し、ユーザとデバイスのインタフェースがより効率的となり(例えば、ユーザが意図する結果を達成することを補助することにより、そして、システムの操作時/システムとの双方向作用時にユーザの失敗を減らすことにより)、これによって更に、ユーザがデバイスをより素早く、そして効率的に使用することが可能となって、デバイスの電力使用が低下し電池寿命が向上する。
いくつかの実施形態では、第1の注釈配置入力を検出し、視野の表現の第1の位置から延びる1つ以上の第1のガイドを表示した後で(1014)、コンピュータシステムは、物理的環境に対する1つ以上のカメラの移動を検出し、物理的環境に対する1つ以上のカメラの移動を検出したことに応じて、コンピュータシステムは、(例えば、図5AV~5AWに示すように)(例えば、1つ以上のカメラの移動方向に延びないガイドの表示を中止することを含む)1つ以上の第1のガイドのサブセットを表示することを中止する。
1つ以上のカメラの移動に応じて1つ以上のガイドを取り除くことにより、ユーザが、不必要なガイドを取り除くための入力の提供を必要とせず、(例えば、移動方向とは異なる向きに延びる、取り除かれたガイドにより)ユーザにとってもはや関心のない可能性の高いガイドを表示することを避ける。操作を(例えば自動的に)実施し、ユーザインタフェースでの混乱を低減することにより、システムの操作性が向上し、ユーザとデバイスのインタフェースがより効率的となり(例えば、ユーザが意図する結果を達成することを補助することにより、そして、システムの操作時/システムとの双方向作用時にユーザの失敗を減らすことにより)、これによって更に、ユーザがデバイスをより素早く、そして効率的に使用することが可能となって、デバイスの電力使用が低下し電池寿命が向上する。
いくつかの実施形態では、物理的環境に対する1つ以上のカメラの移動は、第1の向きへの移動を含み(1016)、1つ以上の第1のガイドのサブセットの表示を中止することは、(例えば、図5ATに示すように)第1の向きに延びないあらゆるガイドの表示を中止することを含む。例えば、物理的空間内で垂直線に対応する複数のガイドが表示され、1つ以上のカメラの移動が、垂直線のうちの1つに対応する向きへのものである場合において、その垂直線に関するガイドの表示は維持され、他の垂直線(単数又は複数)に対応するガイドの表示は中止される。
1つ以上のカメラの移動方向以外への向きに延びる1つ以上のガイドを取り除くことにより、ユーザが、不必要なガイドを取り除くための入力を提供する必要なく、ユーザにとってもはや関心のない可能性の高いガイドの表示を避ける。操作を(例えば自動的に)実施し、ユーザインタフェースでの混乱を低減することにより、システムの操作性が向上し、ユーザとデバイスのインタフェースがより効率的となり(例えば、ユーザが意図する結果を達成することを補助することにより、そして、システムの操作時/システムとの双方向作用時にユーザの失敗を減らすことにより)、これによって更に、ユーザがデバイスをより素早く、そして効率的に使用することが可能となって、デバイスの電力使用が低下し電池寿命が向上する。
いくつかの実施形態では、1つ以上のカメラの移動に従い、配置ユーザインタフェース要素は、第1の位置とは異なる第2の位置を示し(1018)、1つ以上の第1のガイドのサブセットの表示を中止することは、(例えば、図5AR~5ASに示すように)第1の位置に対応し、第2の位置に対応しない、1つ以上の第1のガイドのうちのあらゆるガイドの表示を中止することを含む。
1つ以上のカメラの移動が、配置ユーザインタフェース要素をその位置から離して移動するときに、特定の位置から延びる1つ以上のガイドを取り除くことにより、ユーザが、不必要なガイドを取り除くための入力を提供する必要なく、ユーザにとってもはや関心のない可能性の高いガイドの表示を避ける。操作を(例えば自動的に)実施し、ユーザインタフェースでの混乱を低減することにより、システムの操作性が向上し、ユーザとデバイスのインタフェースがより効率的となり(例えば、ユーザが意図する結果を達成することを補助することにより、そして、システムの操作時/システムとの双方向作用時にユーザの失敗を減らすことにより)、これによって更に、ユーザがデバイスをより素早く、そして効率的に使用することが可能となって、デバイスの電力使用が低下し電池寿命が向上する。
いくつかの実施形態では、第1の注釈配置入力を検出し、視野の表現の第1の位置から延びる1つ以上の第1のガイドを表示した後で、コンピュータシステムは、第1の向きへの移動を含む、物理的環境に対する1つ以上のカメラの移動を検出し(1020)、第1の向きへのへの1つ以上のカメラの移動の検出に応じて、1つ以上の第1のガイドのそれぞれのガイドが第1の向きに延びるという判定に従い、コンピュータシステムは、(例えば、図5AS~5AUに示すように)それぞれのガイドの少なくとも一部の表示を維持する。
1つ以上のカメラの移動方向に延びる1つ以上のガイドの表示を続けることにより、関心のある可能性がある向きを識別する視覚的フィードバックをユーザに提供し、1つ以上のカメラを同じ向きにユーザが移動させ続けるのを補助する。改善された視覚的フィードバックをユーザに提供することにより、システムの操作性が向上し、ユーザとデバイスのインタフェースがより効率的となり(例えば、ユーザが意図する結果を達成することを補助することにより、そして、システムの操作時/システムとの双方向作用時にユーザの失敗を減らすことにより)、これによって更に、ユーザがデバイスをより素早く、そして効率的に使用することが可能となって、デバイスの電力使用が低下し電池寿命が向上する。
いくつかの実施形態では、それぞれのガイドの少なくとも一部の表示を維持することは、(例えば、図5AR~5ASに示すように)第1の位置から第1の向きに延びるそれぞれのガイドの部分(例えば、任意の部分)の表示を維持することと、第1の位置から第1の向きとは反対の向きに延びるそれぞれのガイドの部分(例えば、任意の部分)の表示を中止することと、を含む(1022)。例えば、第1のガイドは、第1の位置を含む線に従い、その線は、第1の位置から第1の向きに延びる第1の半直線、及び、第1の位置から、第1の半直線とは正反対(例えば、180度)の向きに延びる第2の半直線を含み、1つ以上のカメラの移動を検出したことに応じて、第1の半直線に対応する(例えば、これに重なり合う)第1のガイドの第1の部分は表示が続けられ、第2の半直線に対応する(例えば、これと重なり合う)第1のガイドの第2の部分は、表示が中止される。
1つ以上のカメラの移動方向に延びるガイドが表示される場合、(例えば、1つ以上のカメラの移動とは逆の半直線に沿って)1つ以上のカメラの移動方向とは反対に追加される注釈から延びるガイドの一部を取り除くことにより、ユーザが、不必要なガイドを取り除くための入力を提供する必要なく、ユーザにとってもはや関心のない可能性の高いガイド及びガイドの一部の表示を避ける。操作を(例えば自動的に)実施し、ユーザインタフェースでの混乱を低減することにより、システムの操作性が向上し、ユーザとデバイスのインタフェースがより効率的となり(例えば、ユーザが意図する結果を達成することを補助することにより、そして、システムの操作時/システムとの双方向作用時にユーザの失敗を減らすことにより)、これによって更に、ユーザがデバイスをより素早く、そして効率的に使用することが可能となって、デバイスの電力使用が低下し電池寿命が向上する。
図10A~図10Cにおける動作について説明された特定の順序は単なる例であり、説明された順序は、動作を実行することができる唯一の順序であることを示すことを意図するものではないことを理解されたい。当業者であれば、本明細書に記載される動作を再順序付けるための様々な方法を認識するであろう。加えて、本明細書に記載される他の方法(例えば、方法800、900、1100、1200、1300、1400、1500、及び1600)に関して本明細書に記載される他のプロセスの詳細はまた、図10A~図10Cに関して上述した方法1000にも、類似の様式で適用可能であることに留意されたい。例えば、方法1000を参照して上述したユーザインタフェース、ユーザインタフェース要素、その中の物理的環境及び特徴及びオブジェクト、特徴の種類、ガイド、アニメーション、並びに注釈は、任意選択的に、本明細書で記載される他の方法(例えば、方法800、900、1100、1200、1300、1400、1500、及び1600)を参照して本明細書で記載される特性のうちの1つ以上を有する。簡潔にするために、それらの詳細はここでは繰り返さない。
図11A~11Eは、いくつかの実施形態に係る、拡張現実環境内の検視内にある物理的特徴の種類に基づき、自動的に注釈モードを変更する方法1100を示すフローダイヤグラムである。方法1100は、表示装置(例えば、ディスプレイ(任意選択的にタッチ感知式)、プロジェクタ、ヘッドマウントディスプレイ、ヘッドアップディスプレイなど、例えば、タッチスクリーン112(図1A)、ディスプレイ340(図3A)、又は表示生成コンポーネント(単数又は複数)304(図3B))、1つ以上のカメラ(例えば、光センサ(単数又は複数)164(図1A)又はカメラ(単数又は複数)305(図3B))、及び任意選択的に、1つ以上の深度検知デバイス、例えば深度センサ(例えば、フライト時間センサ220(図2B)などの、1つ以上の深度センサ)を備えるコンピュータシステム(例えば、ポータブル多機能デバイス100(図1A)、デバイス300(図3A)、又はコンピュータシステム301(図3B))にて実施される。方法1100における一部の動作は、任意選択で組み合わされ、及び/又は、一部の動作の順序は、任意選択で変更される。
本明細書に記載されるように、方法1100は、レチクルが移動されると、レチクルが配置される異なる種類の物理的特徴に基づいて、注釈配置ユーザインタフェースの注釈モードを優れて変更し、これにより、(例えば、図5BT~5CDに示すように)レチクルのフォーカスの点にある物理的特徴の種類についての視覚的フィードバックをユーザに提供し、ユーザが、どの注釈モードを使用するかを特定する入力を提供する必要なく、ユーザが、物理的特徴を、特定の種類の物理的特徴に関係する注釈で注釈するのを補助する。改善された視覚的フィードバックをユーザに提供し、更なるユーザの入力を必要とすることなく操作を(例えば自動的に)実施することにより、システムの操作性が向上し、ユーザとデバイスのインタフェースがより効率的となり(例えば、ユーザが意図する結果を達成することを補助することにより、そして、システムの操作時/システムとの双方向作用時にユーザの失敗を減らすことにより)、これによって更に、ユーザがデバイスをより素早く、そして効率的に使用することが可能となって、デバイスの電力使用が低下し電池寿命が向上する。
コンピュータシステムは、表示装置を介して、注釈配置ユーザインタフェース(例えば、拡張現実測定プリケーションのユーザインタフェース)を表示し(1102)、注釈配置ユーザインタフェースは、1つ以上のカメラの視野の中にある3次元の物理的環境の一部の表現を含む、1つ以上のカメラの視野の表現であって、視野の表現は、1つ以上のカメラの視野の中での変化に基づき、経時的に更新される、視野の表現(例えば、視野の表現は、視野の中での物理的環境の変化に基づき、かつ/又は、物理的環境のどの一部が視野の中にあるかを変化させる、1つ以上のカメラの移動に基づき、更新されたライブビューである);及び、(例えば、図5BT~5BZ、及び5CG~5CHに示すように)仮想注釈(例えば、測定点又はセグメント)が、注釈配置入力を受信したことに応じて、視野の表現に配置される場所を示す、配置ユーザインタフェース要素(例えばレチクル)を含む。
注釈配置ユーザインタフェースを表示している間に、(例えば、図5BT~5BZ、及び5CG~5CHに示すように)コンピュータシステムは、物理的環境に対する1つ以上のカメラの移動を検出する(1104)。
物理的環境に対する1つ以上のカメラの移動を検出したことに応じて(1106)、コンピュータシステムは、(例えば、図5BU~5BXに示すように)1つ以上のカメラの移動に基づき視野の表現を更新し、配置ユーザインタフェース要素が、物理的環境内にある第1の種類の物理的特徴(例えば3次元オブジェクト)の表現の少なくとも一部の上にあるという判定に従い、注釈配置ユーザインタフェースが、第1の種類の注釈の追加と関連する第1の注釈モード(長さ、幅、高さ、面積、及び/又は体積の測定値などの3次元オブジェクトの測定値の追加と関連した3次元測定モード)で稼働していることを示す、第1モードのインジケーション(例えば、現在の注釈モードを示す、配置ユーザインタフェース要素及び/又は選択インジケータの、モードに依存した外観)を表示する。いくつかの実施形態では、第1モードのインジケーションは、注釈配置ユーザインタフェースを第1の注釈モードに遷移することと組み合わされて表示される(例えば、第1の注釈モード以外のそれぞれの注釈モードから、及び任意選択的に、それぞれの注釈モードに対するそれぞれのモードインジケーションの表示を中止することと組み合わされて)。
第1モードのインジケーションを表示している間に、コンピュータシステムは、(例えば、図5BX~5BYに示すように)物理的環境に対する1つ以上のカメラの後続の移動を検出する(1108)。
物理的環境に対する1つ以上のカメラの後続の移動を検出したことに応じて(1110)、コンピュータシステムは、(例えば、図5BZ~5CDに示すように)1つ以上のカメラの後続の移動に基づき視野の表現を更新し、配置ユーザインタフェース要素が、物理的環境内の第2の種類の物理的特徴の表現(例えば、3次元物理的オブジェクトの2次元(例えば平面又は平坦な)表面)の少なくとも一部の上にあるという判定に従い、注釈配置ユーザインタフェースが、第1の種類とは異なる第2の種類の注釈を追加することと関連する、第1の注釈モードとは異なる第2の注釈モードで稼働していることを示す、第2モードのインジケーション(例えば現在の注釈モードを示す配置ユーザインタフェース要素及び/又は選択インジケータの、注釈モードに依存した外観)を表示する(例えば、第2モードのインジケーションは、物理的オブジェクトの長さ、幅、及び/又は表面積の測定値などの、2次元オブジェクトの特徴の測定値の追加に関連する2次元測定モードを示す)(例えば、第2モードのインジケーションは、注釈配置ユーザインタフェースの、第1の注釈モードから第2の注釈モードへの遷移、及び、第1モードのインジケーションの表示の中止と組み合わせて表示される)。
いくつかの実施形態では、上述の種類の物理的特徴としては、3次元オブジェクト、2次元(例えば、平面、平坦)表面、1次元の特徴(例えば、直線状のオブジェクトの縁部)、フロアプランなど(例えば、図5BU~5BXに示すテーブル、並びに、図5BX~5BZ、及び5CA~5CDに示す雑誌の物理的特徴)が挙げられる。いくつかの実施形態では、配置ユーザインタフェース要素が、物理的環境内の第3の種類の物理的特徴(例えば、1次元オブジェクト)の表現の少なくとも一部の上にある(例えば、その上に移動した)という判定に従い、注釈配置ユーザインタフェースが、(例えば、図5CH~5CLに示すように)第3の種類の注釈の追加に関連する第3の注釈モード(例えば、物理的環境での線分の長さの測定値などの、1次元オブジェクトの特徴(例えば物理的オブジェクトの直線縁部)の測定値の追加と関連する1次元測定モード)で稼働しているというインジケーションが表示される。
いくつかの実施形態では、それぞれの種類の物理的特徴は3次元オブジェクトであり(1112)、配置ユーザインタフェース要素が3次元オブジェクトの表現の少なくとも一部の上にあるという判定に従い表示されるそれぞれのモードインジケーションは、(例えば、図5BZに示すように)注釈配置ユーザインタフェースが、3次元オブジェクトの注釈(例えば、3次元物理的オブジェクトの、1つ以上の表面の長さ、幅、高さ、面積、及び/又は体積の測定値)の追加と関連するそれぞれの注釈モードで稼働していることを示す。
3次元オブジェクトの上に配置されているレチクルに従い、注釈モードを3次元オブジェクト注釈モードに自動的に変更することにより、ユーザが、3次元の特徴を注釈することが可能になり、どの注釈モードを使用するかを特定する入力をユーザが提供する必要なく、注釈が、フォーカスの点にある特定の種類の物理的特徴に確実に関連することを補助する。ユーザインタフェースが、追加で表示される制御により混乱することなく、又は、更なるユーザの入力を必要とすることなく、更なる制御オプションを(例えば自動的に)提供することにより、システムの操作性が向上し、ユーザとデバイスのインタフェースがより効率的となり(例えば、ユーザが意図する結果を達成することを補助することにより、そして、システムの操作時/システムとの双方向作用時にユーザの失敗を減らすことにより)、これによって更に、ユーザがデバイスをより素早く、そして効率的に使用することが可能となって、デバイスの電力使用が低下し電池寿命が向上する。
いくつかの実施形態では、それぞれの種類の物理的特徴は2次元表面であり(1114)、配置ユーザインタフェース要素が2次元表面の表現の少なくとも一部の上にあるという判定に従い表示されるそれぞれのモードインジケーションは、(例えば、図5CA~5CDに示すように)注釈配置ユーザインタフェースが、2次元表面の注釈(例えば、物理的表面の長さ、幅、及び/又は面積の測定値)の追加に関連するそれぞれの注釈モードで稼働していることを示す。
2次元の特徴の上に配置されているレチクルに従い、注釈モードを2次元表面(例えば面積)注釈モードに自動的に変更することにより、ユーザが、2次元の特徴を注釈することが可能になり、どの注釈モードを使用するかを特定する入力をユーザが提供する必要なく、注釈が、フォーカスの点にある特定の種類の物理的特徴に確実に関連することを補助する。ユーザインタフェースが、追加で表示される制御により混乱することなく、又は、更なるユーザの入力を必要とすることなく、更なる制御オプションを(例えば自動的に)提供することにより、システムの操作性が向上し、ユーザとデバイスのインタフェースがより効率的となり(例えば、ユーザが意図する結果を達成することを補助することにより、そして、システムの操作時/システムとの双方向作用時にユーザの失敗を減らすことにより)、これによって更に、ユーザがデバイスをより素早く、そして効率的に使用することが可能となって、デバイスの電力使用が低下し電池寿命が向上する。
いくつかの実施形態では、それぞれの種類の物理的特徴は、1次元の特徴(例えば、2つの表面が交わる直線縁部などの線分)であり(1116)、配置ユーザインタフェース要素が1次元の特徴の表現の少なくとも一部の上にあるという判定に従い表示されるそれぞれのモードインジケーションは、(例えば、図5CH~5CLに示すように)注釈配置ユーザインタフェースが、1次元の特徴の注釈(例えば、視野の表現内で、ユーザ入力により選択される一対の測定点に対応する物理的位置の距離の測定値(例えば、物理的環境内の線分の長さ))の追加と関連するそれぞれの注釈モードで稼働していることを示す。
1次元の特徴の上に配置されているレチクルに従い、注釈モードを1次元(例えば2地点)距離注釈モードに自動的に変更することにより、ユーザが、1次元の特徴を注釈することが可能になり、どの注釈モードを使用するかを特定する入力をユーザが提供する必要なく、注釈が、フォーカスの点にある特定の種類の物理的特徴に確実に関連することを補助する。ユーザインタフェースが、追加で表示される制御により混乱することなく、又は、更なるユーザの入力を必要とすることなく、更なる制御オプションを(例えば自動的に)提供することにより、システムの操作性が向上し、ユーザとデバイスのインタフェースがより効率的となり(例えば、ユーザが意図する結果を達成することを補助することにより、そして、システムの操作時/システムとの双方向作用時にユーザの失敗を減らすことにより)、これによって更に、ユーザがデバイスをより素早く、そして効率的に使用することが可能となって、デバイスの電力使用が低下し電池寿命が向上する。
いくつかの実施形態では、コンピュータシステムは、正投影モデリングモードを選択する要求に対応する入力を受信し(1118)、正投影モデリングモードを選択する要求に対応する入力の受信に応じて、コンピュータシステムは、注釈配置ユーザインタフェースが正投影モデリングモードで稼働していることを示すインジケーションを表示する。注釈配置ユーザインタフェースが正投影モデリングモードで稼働しているというインジケーションは、方法1500を参照して、本明細書で更に詳細に記載される。いくつかの実施形態では、正投影モデリングモードは、物理的環境についての情報(例えば深度情報)がキャプチャされ、任意選択的にこれを使用して、物理的環境の正投影ビュー(例えば上部正投影ビュー、又はフロアプラン)を生成するモードである。いくつかの実施形態では、正投影モデリングモードを選択する要求に対応する入力は、正投影モデリングモードに対応するそれぞれのユーザインタフェース要素を選択する、又は、現在の(例えば、正投影モデリングモードではない)注釈モードから、次の、又は以前の注釈モード(例えば、かつ、正投影モデリングモードはそれぞれ、次の、又は以前の注釈モードである)に遷移することを要求するユーザ入力を含む。いくつかの実施形態では、正投影モデリングモードを選択する要求に対応する入力は、注釈配置ユーザインタフェースが、正投影モデリングモードと関連するある種類の物理的特徴(例えば、物理的環境の床)の表現の少なくとも一部の上にくるように、1つ以上のカメラを移動することを含む。
注釈配置ユーザインタフェースの正投影モデリングモードを提供し、注釈配置ユーザインタフェースが、その選択に応じて正投影モデリングモードで稼働しているインジケーションを表示することにより、ユーザに更なる制御オプション、及び、注釈配置ユーザインタフェースが稼働している現在の注釈モードについての改善された視覚的フィードバックが提供される。改善された視覚的フィードバックをユーザに提供することにより、システムの操作性が向上し、ユーザとデバイスのインタフェースがより効率的となり(例えば、ユーザが意図する結果を達成することを補助することにより、そして、システムの操作時/システムとの双方向作用時にユーザの失敗を減らすことにより)、これによって更に、ユーザがデバイスをより素早く、そして効率的に使用することが可能となって、デバイスの電力使用が低下し電池寿命が向上する。
いくつかの実施形態では、注釈配置ユーザインタフェースは、第1及び第2の注釈モードを含む複数の注釈モードのそれぞれの注釈モードに各々が対応する、複数のユーザインタフェース要素を含み(1120)、第2モードのインジケーションを表示することは、第2の注釈モードに対応する複数のユーザインタフェース要素のそれぞれのユーザインタフェース要素の上に、選択インジケータ(例えば、図5CA及び5CFの選択インジケータ537)を表示することを含む。いくつかの実施形態では、注釈配置ユーザインタフェースが第2の注釈モードで稼働していることを示す第2モードのインジケーションを表示している間に、コンピュータシステムは、第2の注釈モードとは異なる第3の注釈モードを選択する要求に対応するユーザ入力を受信する(例えば、第3の注釈モードは、第2の注釈モード以外の複数の注釈モードのうちのいずれか1つである)。いくつかの実施形態では、第3の注釈モードを選択する要求に対応するユーザ入力の受信に応じて、コンピュータシステムは、複数のユーザインタフェース要素内で、第3の注釈モードに対応する第3のユーザインタフェース要素の上に選択インジケータを表示する(ここで、第3のユーザ要素は、それぞれのユーザ要素とは異なる)(例えば、第3のユーザインタフェース要素は、それぞれのユーザインタフェース要素外の複数のユーザインタフェース要素のうちの任意の1つである)ことを含む、注釈配置ユーザインタフェースが第3の注釈モードで稼働していることのインジケーションを表示する。
いくつかの実施形態では、第3の注釈モードを選択する要求に対応するユーザ入力は、1つ以上のカメラの移動以外のユーザ入力である。いくつかの実施形態では、ユーザ入力は、第3のユーザインタフェース要素に対応するタッチ感知面上の位置におけるタッチ入力(例えばタップジェスチャ)を含む。いくつかの実施形態では、ユーザ入力は、(例えば、図7A~7Dを参照して記載されているように)(例えば、複数の注釈モードの所定の順序に従い)複数の注釈モードにおける次の、又は以前の注釈モードへの遷移を要求する、(例えば、必ずしも第3のユーザインタフェース要素である必要はないが)注釈配置ユーザインタフェースに対応する位置におけるタッチ感知面を交差する移動を含むタッチ入力(例えばスワイプジェスチャ)を含む。いくつかの実施形態では、タッチ入力の第1の向きへの移動は、次のモードへの遷移の要求に対応する。いくつかの実施形態では、タッチ入力の、第1の向きとは反対の第2方向への移動は、以前の注釈モードへの遷移の要求に対応する。いくつかの実施形態では、ユーザ入力を受信したことに応じて、アニメーション化された遷移(例えば、注釈ユーザインタフェースを簡潔にぼやけさせる、かつ/又はぼかすこと)が表示され、第2の注釈モードから、ユーザが選択した第3の注釈モードへの遷移を示す。いくつかの実施形態では、ユーザ入力の受信に応じて注釈配置ユーザインタフェースから第3の注釈モードに遷移するに従い、配置ユーザインタフェース要素の外観が、第2の注釈モードに対応する外観から第3の注釈モードに対応する外観に変化する。
注釈配置ユーザインタフェースのそれぞれの注釈モードに各々対応し、注釈配置ユーザインタフェースを、対応するそれぞれの注釈モードにアクティベーション可能な複数のユーザインタフェース要素を表示することにより、ユーザが複雑なメニュー階層をナビゲートする必要なく、利用可能な注釈配置ユーザインタフェースの機能性に素早くかつ容易に、ユーザがアクセスできる。更なる制御オプションを提供し、操作を実施するのに必要な入力数が減少することにより、システムの操作性が向上し、ユーザとデバイスのインタフェースがより効率的となり(例えば、ユーザが意図する結果を達成することを補助することにより、そして、システムの操作時/システムとの双方向作用時にユーザの失敗を減らすことにより)、これによって更に、ユーザがデバイスをより素早く、そして効率的に使用することが可能となって、デバイスの電力使用が低下し電池寿命が向上する。
いくつかの実施形態では、注釈配置ユーザインタフェースは、第1及び第2の注釈モードを含む複数の注釈モードのそれぞれの注釈モードに各々が対応する、複数のユーザインタフェース要素を含み(1122)、第1モードのインジケーションを表示することは、注釈配置ユーザインタフェース要素(例えばレチクル504)を、第1の注釈モードと関連する第1の外観で表示することを含み、第2モードのインジケーションを表示することは、注釈配置ユーザインタフェース要素を、第2の注釈モードと関連する、第1の外観とは異なる第2の外観で表示することを含む(例えば、図5BU~5BV、5CA~5CD、及び5CG~5CMは、3つの異なる注釈モードに対して3つの異なる外観を有するレチクル504を示す)。
異なる注釈モードに対して異なる外観で配置ユーザインタフェース要素を表示することにより、注釈配置ユーザインタフェースが稼働している現在の注釈モードについて、及び、注釈配置ユーザインタフェースの(例えば、レチクルにより示される)フォーカスの点における、及び測定され得る特徴の種類についての視覚的フィードバックが、ユーザに提供される。改善された視覚的フィードバックをユーザに提供することにより、システムの操作性が向上し、ユーザとデバイスのインタフェースがより効率的となり(例えば、ユーザが意図する結果を達成することを補助することにより、そして、システムの操作時/システムとの双方向作用時にユーザの失敗を減らすことにより)、これによって更に、ユーザがデバイスをより素早く、そして効率的に使用することが可能となって、デバイスの電力使用が低下し電池寿命が向上する。
いくつかの実施形態では、第1モードのインジケーションを表示することは、(例えば、図5BTに示すように)第1の注釈モードに対応する複数のユーザインタフェース要素の第1のユーザインタフェース要素の上に選択インジケータ(例えば選択インジケータ537)を表示することを含む(1124)。いくつかの実施形態では、注釈配置ユーザインタフェース要素が、第1の種類の物理的オブジェクトの表現の少なくとも一部の上にあるという判定の前に受信した、第1のユーザインタフェース要素を選択する要求、又は、注釈モードを第1の注釈モードに変更する要求に対応する、(例えば図5BSに示す)ユーザ入力に応じて、選択インジケータが第1のユーザインタフェース要素の上に表示される。いくつかの実施形態では、選択インジケータは、注釈配置ユーザインタフェース要素が、第1の種類の物理的オブジェクトの表現の少なくとも一部の上にあるという判定に従い、(例えば、第1のユーザインタフェース要素を選択する要求に対応するユーザ入力を受信することなく)第1のユーザインタフェース要素の上に表示される。いくつかの実施形態では、注釈配置ユーザインタフェースが第4の注釈モード(例えば自動測定モード)で(例えば、ここでもまた)稼働していないという判定に従い、選択インジケータは、第1のユーザインタフェース要素の上に表示される。
いくつかの実施形態では、第2モードのインジケーションを表示することは、(例えば図5CAに示すように)第2の注釈モードに対応する、複数のユーザインタフェース要素のうちの、第1のユーザインタフェース要素とは異なる第2のユーザインタフェース要素の上に選択インジケータを表示することを含む。いくつかの実施形態では、選択インジケータは、配置ユーザインタフェース要素が、第2の種類の物理的オブジェクトの表現の少なくとも一部の上にあるという判定に従い、(例えば、第2のユーザインタフェース要素を選択する要求に対応するユーザ入力を受信することなく)第2のユーザインタフェース要素の上に表示される。いくつかの実施形態では、注釈配置ユーザインタフェースが第4の注釈モード(例えば自動測定モード)で(例えば、ここでもまた)稼働していないという判定に従い、選択インジケータは、第2のユーザインタフェース要素の上に表示される。
注釈モードが変化すると、異なる注釈モードの注釈配置ユーザインタフェースを表現する異なるユーザインタフェース要素の上に選択インジケータを表示することにより、注釈配置ユーザインタフェースが稼働している現在の注釈モードについての視覚的フィードバックがユーザに提供される。改善された視覚的フィードバックをユーザに提供することにより、システムの操作性が向上し、ユーザとデバイスのインタフェースがより効率的となり(例えば、ユーザが意図する結果を達成することを補助することにより、そして、システムの操作時/システムとの双方向作用時にユーザの失敗を減らすことにより)、これによって更に、ユーザがデバイスをより素早く、そして効率的に使用することが可能となって、デバイスの電力使用が低下し電池寿命が向上する。
いくつかの実施形態では、第1モードのインジケーションを表示することは、(例えば、自動測定モードアイコン605-1の上に選択インジケータ635がある、図6Bに示すように)第1の注釈モード及び第2の注釈モードとは異なる、第4の注釈モード(例えば、どの種類のオブジェクトが、配置ユーザインタフェース要素の位置における視野の表現の中にあるかに基づき、測定モードが(例えば、複数の注釈モードの他の注釈モードとの間で)自動的に変更される、自動測定モード)に対応する、複数のユーザインタフェース要素のうちの第4のユーザインタフェース要素の上に選択インジケータを表示することを含む(1126)。いくつかの実施形態では、第2モードのインジケーションを表示することは、第4の注釈モードに対応するユーザインタフェース要素(例えば、同じ自動測定モードに対応する、同じユーザインタフェース要素)の上に選択インジケータを表示することを含む。いくつかの実施形態では、第4の注釈モードは、(例えば、どの種類のオブジェクトが、配置ユーザインタフェース要素の位置における視野の表現の中にあるかに基づき)注釈モードが複数の注釈モードの中の他の注釈モードと自動的に変わるモードの操作であり、故に、第4の注釈モードでの操作は、第1の注釈モード又は第2の注釈モードなどの別の注釈モードにおける操作と同時であることができ、選択インジケータは、自動的に注釈モードを変更する間は(例えば、異なる注釈モードに対応する異なるユーザインタフェース要素がユーザにより手動で選択されるまで)、第4の注釈モードに対応するユーザインタフェース要素の上に表示されたままである。
特定の注釈モードの注釈配置ユーザインタフェースを表現する同じユーザインタフェース要素の上に選択インジケータの表示を維持しながら、異なる注釈モードに対して異なる外観で配置ユーザインタフェース要素を表示することにより、注釈配置ユーザインタフェースの(例えば、レチクルにより示される)フォーカスの点における、及び、測定され得る特徴の種類についての視覚的フィードバックもまた、ユーザに提供しながら、(例えば、選択インジケータにより示される)注釈配置ユーザインタフェースが稼働している現在の注釈モードが、複数の種類の注釈を追加することができるものであるという視覚的フィードバックをユーザに提供する。改善された視覚的フィードバックをユーザに提供することにより、システムの操作性が向上し、ユーザとデバイスのインタフェースがより効率的となり(例えば、ユーザが意図する結果を達成することを補助することにより、そして、システムの操作時/システムとの双方向作用時にユーザの失敗を減らすことにより)、これによって更に、ユーザがデバイスをより素早く、そして効率的に使用することが可能となって、デバイスの電力使用が低下し電池寿命が向上する。
図11A~11Eにおける動作について説明された特定の順序は単なる例であり、説明された順序は、動作を実行することができる唯一の順序であることを示すことを意図するものではないことを理解されたい。当業者であれば、本明細書に記載される動作を再順序付けるための様々な方法を認識するであろう。加えて、本明細書に記載される他の方法(例えば、方法800、900、1000、1200、1300、1400、1500、及び1600)に関して本明細書に記載される他のプロセスの詳細はまた、図11A~図11Eに関して上述した方法1100にも、類似の様式で適用可能であることに留意されたい。例えば、方法1100を参照して上述したユーザインタフェース、ユーザインタフェース要素、その中の物理的環境及び特徴及びオブジェクト、特徴の種類、注釈モード、並びにモードインジケーションは任意選択的に、本明細書で記載される他の方法(例えば、方法800、900、1000、1200、1300、1400、1500、及び1600)を参照して上述したユーザインタフェース、ユーザインタフェース要素、その中の物理的環境及び特徴及びオブジェクト、特徴の種類、注釈モード、並びにモードインジケーションの特性のうちの1つ以上を有する。簡潔にするために、それらの詳細はここでは繰り返さない。
図12A~12Cは、いくつかの実施形態に係る、注釈セッションの間に注釈配置ユーザインタフェースを使用して加えられた注釈の一覧を含む、セッション履歴を表示する方法1200を示す。方法1200は、表示装置(例えば、ディスプレイ(任意選択的にタッチ感知式)、プロジェクタ、ヘッドマウントディスプレイ、ヘッドアップディスプレイなど、例えば、タッチスクリーン112(図1A)、ディスプレイ340(図3A)、又は表示生成コンポーネント(単数又は複数)304(図3B))、1つ以上のカメラ(例えば、光センサ(単数又は複数)164(図1A)又はカメラ(単数又は複数)305(図3B))、及び任意選択的に、1つ以上の深度検知デバイス、例えば深度センサ(例えば、フライト時間センサ220(図2B)などの、1つ以上の深度センサ)を備えるコンピュータシステム(例えば、ポータブル多機能デバイス100(図1A)、デバイス300(図3A)、又はコンピュータシステム301(図3B))にて実施される。方法1200における一部の動作は、任意選択で組み合わされ、及び/又は、一部の動作の順序は、任意選択で変更される。
本明細書に記載されるように、方法1200は、システムが、現在の注釈セッションの間に注釈配置ユーザインタフェースに追加された全ての注釈のリスト(例えばスクロール可能なリスト)を提示し、ユーザが、複雑なメニュー階層をナビゲートする必要なく、又は、各注釈を個別に配置して双方向作用させる必要なく、ユーザが、一緒に注釈を確認し、注釈を管理(例えば名称変更、削除など)することを可能にする(例えば図5AZに示すような)セッション履歴ユーザインタフェースを提供する。操作を実施するのに必要な入力数を減少させながら、ユーザインタフェースが多数の表示される制御で混乱することなく、更なる制御オプションを提供することにより、システムの操作性が向上し、ユーザとデバイスのインタフェースがより効率的となり(例えば、ユーザが意図する結果を達成することを補助することにより、そして、システムの操作時/システムとの双方向作用時にユーザの失敗を減らすことにより)、これによって更に、ユーザがデバイスをより素早く、そして効率的に使用することが可能となって、デバイスの電力使用が低下し電池寿命が向上する。
コンピュータシステムは、注釈配置ユーザインタフェース(例えば、拡張現実測定アプリケーションのユーザインタフェース、又は、イメージ確認アプリケーションなどの別のアプリケーションの拡張現実測定モードのユーザインタフェース)を表示する要求に対応する第1の入力(例えば、図5AYに示すような、測定リストボタン506上での入力534)を受信する(1202)。
第1の入力を受信したことに応じて、コンピュータシステムは、表示装置を介して、注釈配置ユーザインタフェースを表示し(1204)、注釈配置ユーザインタフェースは、1つ以上のカメラの視野の中にある3次元の物理的環境の一部の表現を含む、1つ以上のカメラの視野の表現であって、視野の表現は、視野の中での変化に基づき、経時的に更新される、視野の表現(例えば、視野の表現は、視野の中での物理的環境の変化に基づき、かつ/又は、物理的環境のどの一部が視野の中にあるかを変化させる、1つ以上のカメラの移動に基づき、更新されたライブビューである)、(例えば、レチクルの点又は他のマーカーを介して)仮想注釈(例えば、測定値の表現)が、注釈配置入力の受信に応じて、視野の表現に配置される位置を示す、インタフェース要素(例えばレチクル);及び、(例えば、アクティベーションして現在の注釈セッションの間に作成される注釈のリストを表示可能な)セッション履歴ユーザインタフェース要素を含む(例えば、図5C~5AYのいずれかに示すような)。
注釈配置ユーザインタフェースを表示する間(例えば、表示装置の更新速度、及び/又は1つ以上のカメラの視野の変化に基づき、注釈配置ユーザインタフェースを連続して更新することを含む、注釈配置ユーザインタフェースを同時に表示する間)、コンピュータシステムは、視野の表現を注釈する複数の要求に対応する1組の入力を受信し(1206)、1組の入力を受信したことに応じて、コンピュータシステムは、第1の注釈及び第2の注釈を、1つ以上のカメラの視野の表現に追加する。いくつかの実施形態では、第1の注釈(例えば、第1の測定値の第1の表現)及び第2の注釈(例えば、第2の測定値の第2の表現)は、同時に表示される。いくつかの実施形態では、第1の注釈は、第2の注釈が表示される前に表示が中止される。いくつかの実施形態では、第1の注釈は第2の注釈とは別個である(例えば、第1の注釈は第2の注釈と接続していない、かつ/又は、第1の注釈は3次元の物理的環境の第1の部分と関連している、及び、第2の注釈は、3次元の物理的環境の第1の部分とは異なる3次元の物理的環境の第2の部分と関連している)(例えば、図5E~5AXは、取得されている測定値を示す)。
第1の注釈及び第2の注釈を、1つ以上のカメラの視野の表現に加えた後で(又は、いくつかの実施形態では、物理的環境の第1の部分及び第2の部分を測定した後で、及び任意選択的に、第1の測定値の第1の表現、及び/又は第2の測定値の第2の表現を表示した後で)(及び任意選択的に、注釈配置ユーザインタフェースの表示を続けながら)、コンピュータシステムは、(例えば図5AY~5AZに示すように)セッション履歴ユーザインタフェース要素のアクティブ化に対応する入力を受信する(1208)。
いくつかの実施形態では、セッション履歴ユーザインタフェース要素のアクティブ化に対応する入力を受信したことに応じて、コンピュータシステムは、(例えば、注釈配置ユーザインタフェースの少なくとも一部の上に)(例えば、図5AZに示すように)第1の注釈の表現及び第2の注釈の表現を同時に表示することを含む、第1の注釈及び第2の注釈を含む注釈のリストの少なくとも一部を表示する(1210)。いくつかの実施形態では、注釈のリスト(例えば、又はその一部)は、注釈配置ユーザインタフェースの表示を続けながら表示される(例えば、リストは注釈配置ユーザインタフェース内で、又は、注釈配置ユーザインタフェースに部分的に重なり合うユーザインタフェース内で表示される)。いくつかの実施形態では、リストは、注釈配置ユーザインタフェースの表示を置き換えるユーザインタフェース内で表示される。
いくつかの実施形態では、システムは、(例えば、物理的環境の第1の部分に対応する視野の表現の第1の部分を測定する第1の要求を含み、物理的環境の第2の部分に対応する視野の表現の第2の部分を測定する第2の要求を含む)視野の表現を測定する複数の要求に対応する1組の入力を受信する(例えば、図5E~5AXは、取得されている測定値を示す)。いくつかの実施形態では、1組の入力を受信したことに応じて、システムは、任意選択的に、物理的環境第1の部分の第1の測定値の第1の表現を表示する(例えば、視野の表現に追加する)物理的環境の第1の部分を測定し、任意選択的に、物理的環境の第2の部分の第2の測定値の第2の表現を表示する、物理的環境の第2の部分を測定する。いくつかの実施形態では、第1の測定値の第1の表現及び第2の測定値の第2の表現は同時に表示される。いくつかの実施形態では、第1の測定値の第1の表現は、第2の測定値の第2の表現が表示される前に表示が中止される。いくつかの実施形態では、第1の測定値の第1の表現は第2の測定値の第2の表現とは別個である。いくつかの実施形態では、第1の部分及び第2の部分を測定した後で、及び任意選択的に、第1の測定値の第1の表現及び/又は第2の測定値の第2の表現を表示した後で(及び任意選択的に、注釈配置ユーザインタフェースの表示を続けながら)、システムは、セッション履歴ユーザインタフェース要素のアクティブ化に対応する入力を受信し、これに応じて、システムは、第1の測定値及び第2の測定値を含む測定値のリストの少なくとも一部(例えば、一部又は全て)を表示する。いくつかの実施形態では、測定値のリストの少なくとも一部を表示することは、(例えば、図5AZに示すように)第1の測定値の表現(例えば、第1の測定値に対応し、第1の測定値の第1の表現を含む第1のリスト要素)、及び、第2の測定値の表現(例えば、第2の測定値に対応し、第2の測定値の第2の表現を含む第2のリスト要素)を同時に表示することを含む。
いくつかの実施形態では、注釈のリストの表示される部分は、(例えば、図5AZに示すように)注釈配置ユーザインタフェースの一部の上に(例えば、リストユーザインタフェースパネル内に)表示される(1212)。いくつかの実施形態では、注釈のリストの表示される部分は、注釈のリスト全体を含む。いくつかの実施形態では、注釈のリストの表示される部分は、注釈のリスト内の、部分的な1組の注釈を含み、リスト内での追加の注釈は、リストをスクロールすることで確認可能である(例えば、表示されている注釈のリストをスクロール要求に対応する、上方又は下方ドラッグジェスチャなどの入力に応じて、追加の注釈が表示され、対応する数の表示されている注釈の表示が中止される)。いくつかの実施形態では、注釈のリストの少なくとも一部を表示することにより、ディスプレイ上での注釈配置ユーザインタフェースの表示が置き換わる。
現在の注釈セッションの間に注釈配置ユーザインタフェースに追加されている注釈のリストを、注釈配置ユーザインタフェースの一部の上に提示することにより、注釈配置ユーザインタフェースを使用するために、ユーザが注釈のリストを出る必要なく、ユーザが、(例えば、背景の1つ以上のカメラのライブビューにより)注釈配置ユーザインタフェースの少なくとも一部を確認し続け、かつこれと双方向作用することも可能にしながら、ユーザが、注釈のリストを確認し、これと双方向作用することが可能となる。操作を実施するのに必要な入力数を減少させる更なる制御オプションを提供することにより、システムの操作性が向上し、ユーザとデバイスのインタフェースがより効率的となり(例えば、ユーザが意図する結果を達成することを補助することにより、そして、システムの操作時/システムとの双方向作用時にユーザの失敗を減らすことにより)、これによって更に、ユーザがデバイスをより素早く、そして効率的に使用することが可能となって、デバイスの電力使用が低下し電池寿命が向上する。
いくつかの実施形態では、注釈のリスト内のそれぞれの注釈は、物理的環境内の物理的特徴に対応し(1214)、注釈のリストの表示される部分の中に表示されるそれぞれの注釈の表現は、物理的特徴を記載する文字ラベルを含み、この例を図5AZに示す。いくつかの実施形態では、文字ラベルの文字は、1つ以上のカメラの視野の表現の上で実施される特徴及びオブジェクトの認識(例えば、1つ以上のカメラの視野の表現の中の物理的特徴の表現の上で実施されるオブジェクト認識を含む)に基づき、システムにより定性的に(例えば自動的に)判定される。いくつかの実施形態では、注釈のリスト内の各リスト項目は、それぞれの物理的特徴に対応し、表示される場合、(例えば、図5AZ~5BAに示すように)対応する物理的特徴を記載する文字ラベルを含む。
注釈された物理的特徴の説明を注釈のリストの中に提供することにより、任意選択的に、ユーザが情報を特定する必要なくシステムにより作成された物理的特徴についての判定に基づき、ユーザが注釈した物理的特徴についての情報を含む視覚的フィードバックが、ユーザに提供される。ユーザに改善された視覚的フィードバックを提供し、任意選択的に、更なるユーザの入力を必要とせず、1組の条件が満たされたときに操作を(例えば自動的に)実施することにより、システムの操作性が向上し、ユーザとデバイスのインタフェースがより効率的となり(例えば、ユーザが意図する結果を達成することを補助することにより、そして、システムの操作時/システムとの双方向作用時にユーザの失敗を減らすことにより)、これによって更に、ユーザがデバイスをより素早く、そして効率的に使用することが可能となって、デバイスの電力使用が低下し電池寿命が向上する。
いくつかの実施形態では、物理的特徴は物理的オブジェクトであり(1216)、物理的特徴を記載する文字ラベルは、(例えば、図5AZ~5BAに示すように)物理的オブジェクトをそれぞれの種類のオブジェクト(例えば椅子、テーブル、ランプなど)に分類する。
注釈された物理的特徴の説明を分類することにより、任意選択的に、ユーザが情報を特定する必要なくシステムにより作成された物理的特徴についての判定に基づき、ユーザが注釈した物理的特徴についての情報を含む視覚的フィードバックが、ユーザに提供される。ユーザに改善された視覚的フィードバックを提供し、任意選択的に、更なるユーザの入力を必要とせず、1組の条件が満たされたときに操作を(例えば自動的に)実施することにより、システムの操作性が向上し、ユーザとデバイスのインタフェースがより効率的となり(例えば、ユーザが意図する結果を達成することを補助することにより、そして、システムの操作時/システムとの双方向作用時にユーザの失敗を減らすことにより)、これによって更に、ユーザがデバイスをより素早く、そして効率的に使用することが可能となって、デバイスの電力使用が低下し電池寿命が向上する。
いくつかの実施形態では、それぞれの注釈は物理的特徴の測定値に対応し(1218)、それぞれの注釈の表現は、(例えば、図5AZ~5BAに示すような)測定値の数値を含む。いくつかの実施形態では、測定値の数値は、物理的特徴及び物理的環境についての深度情報を使用して物理的特徴を測定するシステムにより定量的に(例えば自動的に)判定される。いくつかの実施形態では、それぞれの注釈の表現内での文字ラベルは、任意選択的に、物理的特徴の表現上で実施されるオブジェクト認識に基づく、測定値を、ある種類の測定値(例えば、高さ、幅、深さ、角度、面積、体積など)に分類することを含み、これらの例を図5AZ~5BAに示す。
物理的特徴の測定値を物理的特徴の注釈の一部として提供することにより、任意選択的に、ユーザが情報を特定する必要なくシステムにより作成された物理的特徴についての判定に基づき、ユーザが注釈した物理的特徴についての情報を含む視覚的フィードバックが、ユーザに提供される。ユーザに改善された視覚的フィードバックを提供し、任意選択的に、更なるユーザの入力を必要とせず、1組の条件が満たされたときに操作を(例えば自動的に)実施することにより、システムの操作性が向上し、ユーザとデバイスのインタフェースがより効率的となり(例えば、ユーザが意図する結果を達成することを補助することにより、そして、システムの操作時/システムとの双方向作用時にユーザの失敗を減らすことにより)、これによって更に、ユーザがデバイスをより素早く、そして効率的に使用することが可能となって、デバイスの電力使用が低下し電池寿命が向上する。
いくつかの実施形態では、コンピュータシステムは、注釈のリストの表示される部分におけるそれぞれの注釈の表現に対応する位置において、第1の入力(例えばタップジェスチャ)を受信し(1220)、第1の入力を受信したことに応じて(例えば、及び、入力が、タップジェスチャなどの特定の種類のジェスチャであるという判定に従い)、コンピュータシステムは、(例えば、図5BA~5BBを参照して記載されているように)他の注釈の表現を表示すること(例えば、注釈のリスト内の注釈の任意の他の表示表現の表示を中止すること)なく、それぞれの注釈の表現を表示する。いくつかの実施形態では、他の注釈の表現の表示は、(例えば、図5BA~5BBを参照して記載されているように)第1の入力を受信したことに応じてそれぞれの注釈の表現を表示している間に維持される(例えば、任意選択的に、それぞれの注釈についての追加の情報を含む、それぞれの注釈の表現は、注釈のリストの表示される部分以外の注釈ユーザインタフェースの異なる部分の中で、又はその上で表示され、注釈のリストの表示される部分は任意選択的に維持される)。
他の注釈の表現を表示することなく、注釈のリストからの単一の注釈の表現を表示することにより、気を逸らすことなく、単一の注釈についての情報が提供され、単一の注釈のみと双方向作用するのが容易になり、任意選択的に、ユーザに提示される単一の注釈についての、更なる双方向作用オプションが可能となる。ユーザに改善された視覚的フィードバックを提供し、追加で表示される制御を有するユーザインタフェースを混乱させることなく、追加の制御オプションを提供することにより、システムの操作性が向上し、ユーザとデバイスのインタフェースがより効率的となり(例えば、ユーザが意図する結果を達成することを補助することにより、そして、システムの操作時/システムとの双方向作用時にユーザの失敗を減らすことにより)、これによって更に、ユーザがデバイスをより素早く、そして効率的に使用することが可能となって、デバイスの電力使用が低下し電池寿命が向上する。
いくつかの実施形態では、それぞれの注釈の表現は、それぞれの注釈(例えば、それぞれの注釈の名前、又は、それぞれの注釈が対応する物理的特徴の説明)を記載する文字ラベルを含む(1222)。いくつかの実施形態では、他の注釈の表現を表示せずに、それぞれの注釈の表現を表示している間に、コンピュータシステムは、それぞれの注釈について記載する文字ラベルに対応する位置において、第2の入力(例えば、第2のタップジェスチャ)を受信し、第2の入力を受信したことに応じて(例えば、及び、第2の入力が、タップジェスチャなどの特定の種類のジェスチャであるという判定に従い)、コンピュータシステムは、(例えば、図5BB~5BGを参照して記載されているように)文字ラベルの文字を編集する(例えば、文字ラベルの現在の文字を表示する文字編集領域を表示し、任意選択的に、キーボードユーザインタフェースを表示する)ために、1組のユーザインタフェース要素を表示する。
ユーザが、注釈のために文字ラベルを編集することができることにより、ユーザが、注釈がユーザインタフェース内でラベルされる方法を制御するようになり、後のレビュー時に注釈をユーザにどれがより良く知らせるかについての注釈に、ユーザが好む、又はより簡単に理解できる名称を割り当てることが可能となる。(例えば、任意選択的に、ラベルの選択時のユーザインタフェース要素を編集する文字を表示し、かつ任意選択的に、ユーザが編集を終えた後でユーザインタフェース要素を編集する文字を隠すことにより)ユーザに改善された視覚的フィードバックを提供し、追加で表示される制御を有するユーザインタフェースを混乱させることなく、追加の制御オプションを提供することにより、システムの操作性が向上し、ユーザとデバイスのインタフェースがより効率的となり(例えば、ユーザが意図する結果を達成することを補助することにより、そして、システムの操作時/システムとの双方向作用時にユーザの失敗を減らすことにより)、これによって更に、ユーザがデバイスをより素早く、そして効率的に使用することが可能となって、デバイスの電力使用が低下し電池寿命が向上する。
いくつかの実施形態では、他の注釈の表現を表示せずに、それぞれの注釈の表現を表示している間に、コンピュータシステムは、それぞれの注釈に対応する位置で、(例えば、上方ドラッグジェスチャなどのそれぞれの注釈と双方向作用するための追加のオプションを表示する要求に対応する)第3の入力を受信し(1224)、第3の入力を受信したことに応じて(例えば、及び、第3の入力が特定の種類のジェスチャ(例えば、第2の入力とは異なる種類のジェスチャ)であるという判定に従い)、コンピュータシステムは、(例えば、図5BH~5BJに示すように)(例えば、それぞれの注釈の表現が表示されるユーザインタフェースの部分を拡大し、拡大部分の中で追加のユーザインタフェース要素を表示する)それぞれの注釈に対する追加のオプションに対応する、1組のユーザインタフェース要素を表示する。
いくつかの実施形態では、それぞれの注釈の表現は、それぞれの注釈に対応する物理的特徴の1つ以上の測定値を含み、それぞれの注釈に対する追加のオプションは、追加の測定値を含む。例えば、対応する物理的特徴は3次元物理的オブジェクトであり、それぞれの注釈の表現は、物理的オブジェクトの長さ、幅、及び/又は高さの測定値を含み、追加のオプションは、物理的オブジェクトの1つ以上の表面の面積、及び/又は物理的オブジェクトの体積の測定値を含む。いくつかの実施形態では、追加のオプションは、それぞれの注釈と双方向作用するためのオプションを含み、それぞれの注釈についての情報を共有するためのオプションを含み、これらとしては例えば、それぞれの注釈についての情報をコピーするためのユーザインタフェース要素、それぞれの注釈についての情報を含むメッセージの送信を開始するためのユーザインタフェース要素(例えばSMS/MMS、Eメールなど)、及び/又は、それぞれの注釈についての情報を含むファイルの(例えば、近隣のシステムへの)無線伝送を開始するためのユーザインタフェース要素が挙げられる。いくつかの実施形態では、他の注釈の表現の表示は、第3の入力を受信したことに応じてそれぞれの注釈と双方向作用するための追加のオプションに相当する1組のユーザインタフェース要素を表示している間に維持される(例えば、それぞれの注釈の表現、及び/又は、追加の双方向作用オプションは、注釈のリストの表示される部分ではなく、注釈ユーザインタフェースの異なる部分の中で、又はその上で表示され、注釈のリストの表示される部分は任意選択的に維持される)。
単一の注釈の表示表現に対応する入力に応じて注釈と双方向作用するための追加のオプションを提供することにより、リスト内の他の注釈から気を逸らすことなく、単一の注釈用の追加のオプションが提供され、単一の注釈のみと双方向作用することが容易になり、同時に、リスト内に他の注釈の表現もまた表示されている間に、追加のオプションでユーザインタフェースが混乱することも回避される。追加で表示される制御を有するユーザインタフェースを混乱させることなく、追加の制御オプションを提供することにより、システムの操作性が向上し、ユーザとデバイスのインタフェースがより効率的となり(例えば、ユーザが意図する結果を達成することを補助することにより、そして、システムの操作時/システムとの相互作用時にユーザの失敗を減らすことにより)、これによって更に、ユーザがデバイスをより素早く、そして効率的に使用することが可能となって、デバイスの電力使用が低下し電池寿命が向上する。
いくつかの実施形態では、コンピュータシステムは、注釈のリスト内でのそれぞれの注釈の表現に対応する位置において、第1の種類のジェスチャ(例えば、スワイプジェスチャ)である入力を受信し(1226)、第1の種類のジェスチャである入力を受信したことに応じて、コンピュータシステムは、(例えば、図5BM~5BOを参照して上述されるように)注釈のリストの表示される部分から、それぞれの注釈の表現を取り除く。
特定の種類のジェスチャである入力に応じて注釈の表現を取り除くことにより、注釈を削除するための専用のユーザインタフェース要素の表示を必要とすることなく、又は、ユーザが、複雑なメニュー階層をナビゲートする必要なく、もう欲されていない、又は必要とされていない注釈を、ユーザが速やかに削除することができる。操作を実施する前に必要な入力数を減少させ、追加で表示される制御を有するユーザインタフェースを混乱させることなく、追加の制御オプションを提供することにより、システムの操作性が向上し、ユーザとデバイスのインタフェースがより効率的となり(例えば、ユーザが意図する結果を達成することを補助することにより、そして、システムの操作時/システムとの相互作用時にユーザの失敗を減らすことにより)、これによって更に、ユーザがデバイスをより素早く、そして効率的に使用することが可能となって、デバイスの電力使用が低下し電池寿命が向上する。
いくつかの実施形態では、注釈配置ユーザインタフェースは、1つ以上の第3の注釈が、1つ以上のカメラの視野の表現に追加される、前の(例えば第2の)注釈セッションに関連して注釈配置ユーザインタフェースを表示した後で開始される注釈セッション(例えば、第1の注釈セッション)に関連して表示される(1228)。いくつかの実施形態では、第1の注釈及び第2の注釈を含む注釈のリストは、前の注釈セッションの間に追加された1つ以上の第3の注釈を含まない。いくつかの実施形態では、現在の注釈セッションが終了するとき、及び/又は新しい注釈セッションが開始するときに、現在の注釈セッションの間に追加される注釈のリストはクリアされる。いくつかの実施形態では、注釈配置ユーザインタフェースの表示を中止すること(例えば、注釈配置ユーザインタフェースが関連付けられたアプリケーションのユーザインタフェースであるときに、アプリケーションを閉じること)により、現在の注釈セッションが終了する。いくつかの実施形態では、注釈配置ユーザインタフェースの表示を開始すること(例えば、関連付けられたアプリケーションを再開すること)により、(例えば、図5BQを参照して上述するように)新規の注釈セッションが開始される。
前の注釈セッションの間に追加された注釈を表示することなく、既に関係ない、又は正確でない場合がある古い注釈についての情報を提供しない、整った方法で、現在の注釈セッションの間に追加された注釈のみを、注釈のリスト内に表示することにより、作成された最近の注釈についての(及び、場合によっては、物理的環境を示す情報の連続した、及び/又は局在化したキャプチャを必要とする視覚的路程測定における制限により、正確なままである測定値といったデータについての)情報がユーザに提供される。改善された視覚的フィードバックをユーザに提供することにより、システムの操作性が向上し、ユーザとデバイスのインタフェースがより効率的となり(例えば、ユーザが意図する結果を達成することを補助することにより、そして、システムの操作時/システムとの双方向作用時にユーザの失敗を減らすことにより)、これによって更に、ユーザがデバイスをより素早く、そして効率的に使用することが可能となって、デバイスの電力使用が低下し電池寿命が向上する。
図12A~図12Cにおける動作について説明された特定の順序は単なる例であり、説明された順序は、動作を実行することができる唯一の順序であることを示すことを意図するものではないことを理解されたい。当業者であれば、本明細書に記載される動作を再順序付けるための様々な方法を認識するであろう。加えて、本明細書に記載される他の方法(例えば、方法800、900、1000、1100、1300、1400、1500、及び1600)に関して本明細書に記載される他のプロセスの詳細はまた、図12A~図12Cに関して上述した方法1200にも、類似の様式で適用可能であることに留意されたい。例えば、方法1200を参照して上述したユーザインタフェース、ユーザインタフェース要素、その中の物理的環境及び特徴及びオブジェクト、注釈、文字ラベル、並びに測定値は任意選択的に、本明細書で記載される他の方法(例えば、方法800、900、1000、1100、1300、1400、1500、及び1600)を参照して上述したユーザインタフェース、ユーザインタフェース要素、その中の物理的環境及び特徴及びオブジェクト、注釈、文字ラベル、並びに測定値の特性のうちの1つ以上を有する。簡潔にするために、それらの詳細はここでは繰り返さない。
図13A~13Dは、いくつかの実施形態に係る、物理的表面に沿って経路を測定し、物理的表面の形状及び湾曲を考慮に入れる方法1300を示すフローダイヤグラムである。方法1300は、表示装置(例えば、ディスプレイ(任意選択的にタッチ感知式)、プロジェクタ、ヘッドマウントディスプレイ、ヘッドアップディスプレイなど、例えば、タッチスクリーン112(図1A)、ディスプレイ340(図3A)、又は表示生成コンポーネント(単数又は複数)304(図3B))、1つ以上のカメラ(例えば、光センサ(単数又は複数)164(図1A)又はカメラ(単数又は複数)305(図3B))、及び任意選択的に、1つ以上の深度検知デバイス、例えば深度センサ(例えば、フライト時間センサ220(図2B)などの、1つ以上の深度センサ)を備えるコンピュータシステム(例えば、ポータブル多機能デバイス100(図1A)、デバイス300(図3A)、又はコンピュータシステム301(図3B))にて実施される。方法1300における一部の動作は、任意選択で組み合わされ、及び/又は、一部の動作の順序は、任意選択で変更される。
本明細書に記載されるように、方法1300は、視野の表現内の、ユーザが特定した点又は位置に対応する、物理的環境内の異なる物理的位置間の距離を測定し、異なる物理的位置が平坦でない物理的表面上に位置する場合、物理的位置間の測定値は、物理的表面の形状を自動的に考慮に入れるため、ユーザが物理的環境をより正確に測定するのを補助する、改善された測定機能性が提供される。更なるユーザの入力を必要とせず、1組の条件が満たされたときに操作を(例えば自動的に)実施することにより、システムの操作性が向上し、ユーザとデバイスのインタフェースがより効率的となり(例えば、ユーザが意図する結果を達成することを補助することにより、そして、システムの操作時/システムとの双方向作用時にユーザの失敗を減らすことにより)、これによって更に、ユーザがデバイスをより素早く、そして効率的に使用することが可能となって、デバイスの電力使用が低下し電池寿命が向上する。
コンピュータシステムは、表示装置を介して、注釈配置ユーザインタフェース(例えば、拡張現実測定アプリケーションのユーザインタフェース)であって、注釈配置ユーザインタフェースが(例えば、図6Aに示すような)1つ以上のカメラの視野の表現を含み、視野の表現は、1つ以上のカメラの視野の中にある3次元物理的環境の一部の表現を含む、注釈配置ユーザインタフェースを表示する(1302)。視野の表現は、1つ以上のカメラの視野の中での変化に基づき、経時的に更新される(例えば、視野の表現は、視野の中での物理的環境の変化に基づき、かつ/又は、物理的環境のどの一部が視野の中にあるかを変化させる、1つ以上のカメラの移動に基づき、更新されたライブビューである)。
いくつかの実施形態では、コンピュータシステムは、視野の表現の第1の位置から、視野の表現の第1の位置とは異なる第2の位置までを測定する要求に対応する、1つ以上の第1の入力を受信し(1304)、(例えば、図6C~6Hに示すように)視野の表現の第1の位置は、物理的環境の(例えば、検出された)物理的表面上の第1の物理的位置に対応し、視野の表現の第2の位置は、物理的表面上の、第1の物理的位置とは異なる第2の物理的位置に対応する。
いくつかの実施形態では、1つ以上の第1の入力を受信したことに応じて、コンピュータシステムは、表示装置を介して、物理的表面が平坦な表面でない(例えば、物理的表面が少なくとも部分的に曲線状である、及び/又は2つ以上の交差する表面を含む)という判定に従い、(例えば、図6B~6Hを参照して上述するように)第1の測定値の表現を表示するときに、物理的表面の(例えば、第1の物理的位置から第2の物理的位置までの経路に沿った、第1の物理的位置と第2の物理的位置の間の)形状を考慮に入れることを含む、視野の表現の第1の位置から、視野の表現の第2の位置までの第1の測定値の表現を表示する(1306)(例えば、第1の測定値の表現は、第1の物理的位置から第2の物理的位置までの経路の長さを含む)。
いくつかの実施形態では、第1の測定値の表現は、物理的表面に対応する(例えば、一致する)疑似的表面を測定する。いくつかの実施形態では、第1の測定値の表現は、(例えば、本明細書で記載される方法論及びセンサのいずれかを使用して入手される、物理的表面についての深度情報を含む)物理的環境についての深度情報に従って成約される測定値セグメントを含む。いくつかの実施形態では、物理的表面が平坦な表面でないという判定に従い、測定は、(例えば、図6Dを参照して上述するような)物理的環境内の非直線経路に対応する経路に従う。いくつかの実施形態では、物理的表面が平坦な表面であるという判定に従い、測定は、物理的環境内の直線経路に(例えば、平坦な経路に沿って)従う。いくつかの実施形態では、第1の測定値の表現は、(例えば、図6E~6Hを参照して上述するように)第1の測定値について記載するラベル(例えば、物理的表面に沿って制約される第1の測定値の長さを示すラベル)を含む。いくつかの実施形態では、物理的表面の形状は、システムの1つ以上の深度センサを使用して入手した深度情報などの、物理的環境を示す情報から判定される。
いくつかの実施形態では、第1の測定値の表現を表示すること(1306)は、物理的環境内の、第1の物理的位置から第2の物理的位置に延びる第1の経路の表現を表示すること(1308)(例えば、測定値セグメントを表示すること)を含み、物理的表面が平坦な表面でないという判定に従い、第1の経路の表現は、(例えば、図6B~6Hを参照して上述するように)第1の物理的位置と第2の物理的位置の間の物理的表面の形状に基づき判定される形状を有する(例えば、第1の経路は、3次元空間内の物理的表面の湾曲に基づき、物理的表面の形状に従う)。
物理的表面が平坦でない場合、ユーザが特定した複数の点の間の物理的表面の形状に基づいて判定される形状を有する経路の表現を表示することを含む、物理的位置に対応する、ユーザが特定した複数の点の間の測定値の経路の表現を表示することにより、ユーザに、測定経路を示す視覚的フィードバック、及び、適用可能な場合、測定経路が直線でない(例えば、測定経路が平坦でない表面に沿っている)ことを示す視覚的フィードバックが提供される。改善された視覚的フィードバックをユーザに提供することにより、システムの操作性が向上し、ユーザとデバイスのインタフェースがより効率的となり(例えば、ユーザが意図する結果を達成することを補助することにより、そして、システムの操作時/システムとの双方向作用時にユーザの失敗を減らすことにより)、これによって更に、ユーザがデバイスをより素早く、そして効率的に使用することが可能となって、デバイスの電力使用が低下し電池寿命が向上する。
いくつかの実施形態では、第1の経路は、(例えば、図6B~6Hを参照して記載するように)第1の物理的位置と第2の物理的位置の間の物理的表面の形状に一致する(1310)(例えば、これを追跡する、又はこれに従う)。いくつかの実施形態では、第1の経路は、第1の物理的位置と第2の物理的位置の間の物理的表面に沿った最短経路であると(例えばシステムにより)判定された経路である。いくつかの実施形態では、第1の経路は、第1の物理的位置から第2の物理的位置への直接経路(例えば、物理的空間を通る最短経路)の、物理的表面への投影である。
特に、物理的表面が平坦でない場合に、ユーザが特定した複数の点の間の測定の経路を、ユーザが特定した複数の点の間の物理的表面の形状に一致させることにより、(例えば、図6B~6Hを参照して記載するように)ユーザに、測定経路が、平坦ない物理的表面に沿っており、測定値が物理的表面の不規則な形状を考慮に入れていることを示す視覚的フィードバックが提供される。改善された視覚的フィードバックをユーザに提供することにより、システムの操作性が向上し、ユーザとデバイスのインタフェースがより効率的となり(例えば、ユーザが意図する結果を達成することを補助することにより、そして、システムの操作時/システムとの双方向作用時にユーザの失敗を減らすことにより)、これによって更に、ユーザがデバイスをより素早く、そして効率的に使用することが可能となって、デバイスの電力使用が低下し電池寿命が向上する。
いくつかの実施形態では、コンピュータシステムは、(例えば、第1の経路の表現の表示の一部として、又はこれと組み合わせて)第1の経路の表現に沿った間隔にて、1つ以上の縮尺マーカーを表示し(1312)、ここで、物理的表面が平坦な表面でないという判定に従い、1つ以上の縮尺マーカーが表示される間隔は、物理的表面の形状を考慮する(例えば、縮尺マーカーは、第1の物理的位置と第2の物理的位置の間の物理的表面に沿って規則的な間隔を示す第1の経路の表現に沿った間隔にて表示されるが、物理的表面の形状(例えば湾曲)によって、縮尺マーカーが表示される間隔は、表示されるユーザインタフェース内で不規則に間隙を介しているように見える場合がある)。いくつかの実施形態では、物理的表面が平坦な表面であるという判定に従い、縮尺マーカーは、第1の経路の表現に沿った規則的な間隔で表示される(例えば、間隔は、第1の位置と第2の位置の間の物理的表面に沿った規則的な間隔を示し、規則的に間隙を介しているようにも見える)。いくつかの実施形態では、(例えば、それぞれの組の縮尺マーカーの)1つ以上の縮尺マーカーは、(例えば、図5O及び8A~8Fを参照して記載される)例えば、方法800を参照を参照して記載されるように、1つ以上のカメラが、物理的表面に沿った第1の経路から閾値範囲の距離の中にあるという判定に従い、表示される。
ユーザが特定した複数の点の間の測定値の経路の表現に沿って縮尺マーカーを表示すること、及び、例えば、わずかに不規則に間隙を介した間隔で縮尺マーカーを表示することにより、ユーザが特定した複数の点の間の物理的表面の形状を考慮に入れるような方法で縮尺マーカーを表示することにより、測定値の程度(例えば長さ)についての追加の詳細、及び、測定経路が直線でないというインジケーションがユーザに提供される。改善された視覚的フィードバックをユーザに提供することにより、システムの操作性が向上し、ユーザとデバイスのインタフェースがより効率的となり(例えば、ユーザが意図する結果を達成することを補助することにより、そして、システムの操作時/システムとの双方向作用時にユーザの失敗を減らすことにより)、これによって更に、ユーザがデバイスをより素早く、そして効率的に使用することが可能となって、デバイスの電力使用が低下し電池寿命が向上する。
いくつかの実施形態では、コンピュータシステムは、視野の表現の第1の位置から、視野の表現の第3の位置までを測定する要求に対応する1つ以上の第2の入力を受信し(1314)、ここで、第3の位置は、第1の位置及び第2の位置とは異なり、物理的環境の物理的表面上の第3の物理的位置に対応する。いくつかの実施形態では、1つ以上の第2の入力を受信したことに応じて、コンピュータシステムは、表示装置を介して、視野の表現の第1の位置から視野の表現の第3の位置までの、第2の測定値の表現を表示する。いくつかの実施形態では、第2の測定値の表現を表示することは、物理的環境内に、第1の経路とは異なる第2の経路の表現を表示することを含み、第2の経路は、第1の物理的位置から第3の物理的位置に延び、第1の物理的位置と第3の物理的位置の間の物理的表面の形状に一致し、第2の経路の表現の形状は、第1の経路の表現の形状とは異なる。
第2の対の物理的位置の間にある第2の経路の表現の形状とは異なる形状を有する、第1の対の物理的位置の間にある第1の経路の表現を表示することにより、経路が異なる経路であること、経路の少なくとも1つが、平坦でない物理的表面に沿っていること、及び、2つの経路の測定値が、経路が従う対応する物理的表面(単数又は複数)の不規則な形状を考慮に入れることを示す視覚的フィードバックがユーザに提供される。改善された視覚的フィードバックをユーザに提供することにより、システムの操作性が向上し、ユーザとデバイスのインタフェースがより効率的となり(例えば、ユーザが意図する結果を達成することを補助することにより、そして、システムの操作時/システムとの双方向作用時にユーザの失敗を減らすことにより)、これによって更に、ユーザがデバイスをより素早く、そして効率的に使用することが可能となって、デバイスの電力使用が低下し電池寿命が向上する。
いくつかの実施形態では、1つ以上の第1の入力は、注釈配置ユーザインタフェースが第1のモード(例えば、曲線状の測定モード)で稼働している間に受信される(1316)(例えば、物理的表面の形状を考慮に入れることは、注釈配置ユーザインタフェースが第1のモードで稼働しているという判定、及び、物理的表面が平坦な表面ではないという判定に従い、実施される)。いくつかの実施形態では、コンピュータシステムは、視野の表現の第1の位置から、視野の表現の第2の位置までを測定する要求に対応する1つ以上の第3の入力を受信し、1つ以上の第3の入力を受信したことに応じて、1つ以上の第3の入力が、第1のモードとは異なる第2のモード(例えば、直線測定モード)で注釈配置ユーザインタフェースが稼働している間に受信されたという判定に従い、コンピュータシステムは、表示装置を介して、物理的表面の形状を考慮に入れることなく、第3の測定値の表現を表示する。いくつかの実施形態では、物理的表面の形状を考慮しない第3の測定値の値は、(例えば、物理的表面が平坦な表面でない場合に)物理的表面の形状を考慮する第1の測定値の値とは異なる。いくつかの実施形態では、1つ以上の第3の入力が、注釈配置ユーザインタフェースが第1のモード(例えば、曲線状の測定モード)で稼働している間に受信されたという判定に従い、物理的表面の形状を考慮に入れる測定値の表現が表示される。
直線でない経路(例えば曲線状の経路)に沿った測定を可能にし、測定値が、直線である経路に沿って作成される操作モードとは異なる別個の操作モードを提供することにより、ユーザに、より多くの測定機能性が提供され、異なるモードに対して、測定値の異なる種類の表現(例えば、直線測定モードにあるときの、表面形状を考慮しない測定値の表現とは対象的に、曲線状の測定モードにあるときの、表面形状を考慮に入れる測定値の表現)を表示することにより、現在の操作モード、及び、測定経路が直線であるか否かを示す視覚的フィードバックがユーザに提供される。更なる制御オプション、及び改善された視覚的フィードバックをユーザに提供することにより、システムの操作性が向上し、ユーザとデバイスのインタフェースがより効率的となり(例えば、ユーザが意図する結果を達成することを補助することにより、そして、システムの操作時/システムとの相互作用時にユーザの失敗を減らすことにより)、これによって更に、ユーザがデバイスをより素早く、そして効率的に使用することが可能となって、デバイスの電力使用が低下し電池寿命が向上する。
いくつかの実施形態では、1つ以上の第1の入力は、視野の表現の中で第1の位置を選択する入力、及び、視野の表現の中で第2の位置を選択する入力からなる(1318)。いくつかの実施形態では、1つ以上の第1の入力は、視野の表現の中で第1の位置を選択する入力、及び、物理的表面の形状を特定する入力を含むことなく、視野の表現の中で第2の位置を選択する入力を含む。いくつかの実施形態では、1つ以上の第1の入力は、注釈モードを曲線状の測定モードに遷移する要求に対応する入力を受信した後、及び、注釈配置ユーザインタフェースが曲線状の測定モードで稼働している間に受信される。いくつかの実施形態では、物理的表面の形状は、(例えば、物理的表面の形状についての情報をユーザが提供する必要なく)1つ以上の深度センサを使用するシステムにより入手した、物理的環境を示す情報(例えば深度情報)に基づき、システムにより判定される。
物理的表面の形状を特定することをユーザが必要とすることなく、ユーザが特定した複数の点の間の物理的表面の形状を考慮に入れる、ユーザが特定した2つの点の間の測定値の表現を表示することにより、ユーザが、より迅速かつ正確に物理的環境を測定するのを補助する、測定機能性が提供される。1組の状態が、操作を実施するのに必要な入力数を減少させる方法で満たされたときに操作を(例えば自動的に)実施することにより、システムの操作性が向上し、ユーザとデバイスのインタフェースがより効率的となり(例えば、ユーザが意図する結果を達成することを補助することにより、そして、システムの操作時/システムとの相互作用時にユーザの失敗を減らすことにより)、これによって更に、ユーザがデバイスをより素早く、そして効率的に使用することが可能となって、デバイスの電力使用が低下し電池寿命が向上する。
いくつかの実施形態では、第1の測定値は、第1の物理的位置から第2の物理的位置への経路を測定し(1320)、経路の一部は、物理的環境内の第1の物理的位置及び第2の物理的位置を通過する直線に沿った向きとは異なる(例えば、これに対して垂直な)第1の向きに、少なくとも部分的に延びる。いくつかの実施形態では、経路は、直線と、その直線に対して垂直な線とを含む平面における2次元であり、経路はその平面の中で、直線の片側を(例えば、垂直線と直線の交点から延びる、垂直線の第1の半直線(半線)の向きを)向いている。いくつかの実施形態では、物理的表面は、第1の物理的位置と第2の物理的位置の間で凹状である(例えば、第1の物理的位置と第2の物理的位置の間の直線線分が、例えば空気により、物理的表面の上を通過する)。
経路が、物理的位置を通過する直線から曲線状に離れる場合、物理的位置に対応するユーザが特定した複数の点の間の測定値の経路の表現を表示することにより、測定経路が直線でないことを示す視覚的フィードバックがユーザに提供される。改善された視覚的フィードバックをユーザに提供することにより、システムの操作性が向上し、ユーザとデバイスのインタフェースがより効率的となり(例えば、ユーザが意図する結果を達成することを補助することにより、そして、システムの操作時/システムとの双方向作用時にユーザの失敗を減らすことにより)、これによって更に、ユーザがデバイスをより素早く、そして効率的に使用することが可能となって、デバイスの電力使用が低下し電池寿命が向上する。
いくつかの実施形態では、第1の測定値は、第1の物理的位置から第2の物理的位置への経路を測定し(1322)、経路の一部は、物理的環境内の第1の物理的位置及び第2の物理的位置を通過する直線(例えば、図6Fにおいて、曲線状のガイド642に沿って延びる経路)に対して垂直な第2の向きに延びる。いくつかの実施形態では、経路は、直線と、その直線に対して垂直な線とを含む平面における2次元であり、経路は、経路の端点においてのみ直線と交わる。いくつかの実施形態では、物理的表面は、第1の物理的位置と第2の物理的位置の間で凸状である(例えば、第1の物理的位置と第2の物理的位置の間の直線線分は、その外面が物理的表面を含む物理的オブジェクトを通って、物理的表面の下を通過する)。
経路が、物理的位置を通過する直線から曲線状に離れる場合、物理的位置に対応するユーザが特定した複数の点の間の測定値の経路の表現を表示することにより、測定経路が直線でないことを示す視覚的フィードバックがユーザに提供される。改善された視覚的フィードバックをユーザに提供することにより、システムの操作性が向上し、ユーザとデバイスのインタフェースがより効率的となり(例えば、ユーザが意図する結果を達成することを補助することにより、そして、システムの操作時/システムとの双方向作用時にユーザの失敗を減らすことにより)、これによって更に、ユーザがデバイスをより素早く、そして効率的に使用することが可能となって、デバイスの電力使用が低下し電池寿命が向上する。
いくつかの実施形態では、第1の測定値は、第1の物理的位置から第2の物理的位置への経路を測定し(1324)、経路は、少なくとも部分的に、物理的環境内で第1の物理的位置及び第2の物理的位置を通過する直線に対して垂直な第1の向きに、及び、少なくとも部分的に、直線に垂直であり、第1の向きと反対の第2の向きに延びる(例えば、図6Hに示すように)。いくつかの実施形態では、経路は、直線と、その直線に対して垂直な線とを含む平面における2次元であり、経路は、その直線の両側の平面の中にある(例えば、経路は、3つ以上の点(例えば、経路の終点、及び少なくとも1つ他の点)において、直線と交わる、又は交差する))。いくつかの実施形態では、第1の物理的位置と第2の物理的位置の間の物理的表面は、部分的に凸状であり、部分的に凹状である(例えば、第1の物理的位置と第2の物理的位置の間の直線線分の1つ以上の部分は、その外面が物理的表面を含む物理的オブジェクトを通って、物理的表面の下を通過し、直線線分の1つ以上の部分は、物理的表面の上を通過する)。
経路が、物理的位置を通過する直線から曲線状に離れる場合、物理的位置に対応するユーザが特定した複数の点の間の測定値の経路の表現を表示することにより、測定経路が直線でないことを示す視覚的フィードバックがユーザに提供される。改善された視覚的フィードバックをユーザに提供することにより、システムの操作性が向上し、ユーザとデバイスのインタフェースがより効率的となり(例えば、ユーザが意図する結果を達成することを補助することにより、そして、システムの操作時/システムとの双方向作用時にユーザの失敗を減らすことにより)、これによって更に、ユーザがデバイスをより素早く、そして効率的に使用することが可能となって、デバイスの電力使用が低下し電池寿命が向上する。
いくつかの実施形態では、コンピュータシステムは、(例えば、図6Dに示すように)物理的表面の形状を示す視野の表現の上の(例えば、視野の表現内での、物理的表面の表現の上の)ガイドを表示する(1326)。いくつかの実施形態では、ガイドは、物理的表面が平坦な表面ではないという判定に従い表示される。方法900を参照して本明細書に記載するように、いくつかの実施形態では、ガイドは、視野の表現の中での第1の位置を示す注釈ユーザインタフェースの配置ユーザインタフェース要素に応じて(例えば、第1の位置への配置ユーザインタフェース要素の移動、及び/又は、第1の位置への配置ユーザインタフェース要素のスナップに基づき)表示される。方法1000を参照して本明細書に記載するように、いくつかの実施形態では、ガイドは、視野の表現内の第1の位置において注釈する(例えば、測定値を追加する)要求に対応する入力(例えば、配置ユーザインタフェース要素が第1の位置を示す間に受信する注釈配置入力)に応じて表示される。
特に、物理的表面が平坦でない場合に、物理的表面の形状を示すガイドを表示することにより、物理的表面の形状だけでなく、フォーカスの現在点から開始する、又はこれを含む注釈又は測定の、可能性のある形状もまた示す視覚的フィードバックが、ユーザに提供される。改善された視覚的フィードバックをユーザに提供することにより、システムの操作性が向上し、ユーザとデバイスのインタフェースがより効率的となり(例えば、ユーザが意図する結果を達成することを補助することにより、そして、システムの操作時/システムとの双方向作用時にユーザの失敗を減らすことにより)、これによって更に、ユーザがデバイスをより素早く、そして効率的に使用することが可能となって、デバイスの電力使用が低下し電池寿命が向上する。
いくつかの実施形態では、注釈配置ユーザインタフェースは、(例えば、レチクルの点又は他のマーカーを介して)仮想注釈(例えば、測定点、又は他の測定値の表現)が、注釈配置入力の受信に応じて、視野の表現に配置される位置を示す、注釈配置ユーザインタフェース要素(例えばレチクル)を含む(1328)。注釈配置ユーザインタフェース要素が視野の表現の中のそれぞれの位置を示す間、視野の表現の中のそれぞれの位置が、平坦な表面ではない物理的表面上のそれぞれの物理的位置に対応するという判定に従い、配置ユーザインタフェース要素は、(例えば、図6B~6Gに示すように)物理的表面の形状を示す(例えば、配置ユーザインタフェース要素の外観は、例えば、配置ユーザインタフェース要素が物理的表面に投影される、又はこの上に投影されるように見えるように、物理的表面の形状に基づく(例えば、これに一致する、又はこの輪郭を示す))。
特に、物理的表面が平坦でない場合に、物理的表面の形状を示す外観を有する配置ユーザインタフェース要素を表示することにより、(例えば、配置ユーザインタフェース要素により示されるように)物理的表面の形状だけでなく、フォーカスの現在点から開始する、又はこれを含む注釈又は測定の、可能性のある形状もまた示す視覚的フィードバックが、ユーザに提供される。改善された視覚的フィードバックをユーザに提供することにより、システムの操作性が向上し、ユーザとデバイスのインタフェースがより効率的となり(例えば、ユーザが意図する結果を達成することを補助することにより、そして、システムの操作時/システムとの双方向作用時にユーザの失敗を減らすことにより)、これによって更に、ユーザがデバイスをより素早く、そして効率的に使用することが可能となって、デバイスの電力使用が低下し電池寿命が向上する。
図13A~13Dにおける動作について説明された特定の順序は単なる例であり、説明された順序は、動作を実行することができる唯一の順序であることを示すことを意図するものではないことを理解されたい。当業者であれば、本明細書に記載される動作を再順序付けるための様々な方法を認識するであろう。加えて、本明細書に記載される他の方法(例えば、方法800、900、1000、1100、1200、1400、1500、及び1600)に関して本明細書に記載される他のプロセスの詳細はまた、図13A~図13Dに関して上述した方法1300にも、類似の様式で適用可能であることに留意されたい。例えば、方法1300を参照して上述したユーザインタフェース、ユーザインタフェース要素、その中の物理的環境及び特徴及びオブジェクト、物理的表面、経路、注釈モード、注釈、測定値の表現、縮尺マーカー、並びにガイドは任意選択的に、本明細書で記載される他の方法(例えば、方法800、900、1000、1100、1200、1400、1500、及び1600)を参照して本明細書で記載される、ユーザインタフェース、ユーザインタフェース要素、その中の物理的環境及び特徴及びオブジェクト、物理的表面、経路、注釈モード、注釈、測定値の表現、縮尺マーカー、並びにガイドの特性の1つ以上を有する。簡潔にするために、それらの詳細はここでは繰り返さない。
図14A~14Dは、いくつかの実施形態に係る、以前にキャプチャしたメディアに表現される物理的特徴を測定する方法1400を示すフローダイヤグラムである。方法1400は、表示装置(例えば、ディスプレイ(任意選択的にタッチ感知式)、プロジェクタ、ヘッドマウントディスプレイ、ヘッドアップディスプレイなど、例えば、タッチスクリーン112(図1A)、ディスプレイ340(図3A)、又は表示生成コンポーネント(単数又は複数)304(図3B))、1つ以上のカメラ(例えば、光センサ(単数又は複数)164(図1A)又はカメラ(単数又は複数)305(図3B))、及び任意選択的に、1つ以上の深度検知デバイス、例えば深度センサ(例えば、フライト時間センサ220(図2B)などの、1つ以上の深度センサ)を備えるコンピュータシステム(例えば、ポータブル多機能デバイス100(図1A)、デバイス300(図3A)、又はコンピュータシステム301(図3B))にて実施される。方法1400の一部の操作が、任意選択的に、組み合わされ、及び/又は、一部の動作の順序が、任意選択的に変えられる。
本明細書に記載されるように、方法1400は、以前にキャプチャしたメディア(例えば、写真、又はビデオのフレームなどの画像)の表現を表示する要求に応じて、以前にキャプチャしたメディア内に表現される1つ以上の物理的特徴の測定値を(例えば、自動的に)を表示し、これにより、いくつかの実施形態では、ユーザが、測定値の表示を要求する任意の(以前にキャプチャしたメディア自体の表現の表示を要求する入力以外の)入力のユーザによる提供を必要とすることなく、画像内でキャプチャされた物理的特徴の寸法についての情報がユーザに提供される。必要な入力数を減少させる方法で、又は、更なるユーザ入力を全く必要とすることなく、操作を実施することにより、システムの操作性が向上し、ユーザとデバイスのインタフェースがより効率的となり(例えば、ユーザが意図する結果を達成することを補助することにより、そして、システムの操作時/システムとの相互作用時にユーザの失敗を減らすことにより)、これによって更に、ユーザがデバイスをより素早く、そして効率的に使用することが可能となって、デバイスの電力使用が低下し電池寿命が向上する。
コンピュータシステムは、表示装置を介して、(例えば、図6Kに示すように)コンピュータシステム上で実行するアプリケーションの第1のユーザインタフェースを表示する(1402)。
アプリケーションの第1のユーザインタフェースを表示している間に、コンピュータシステムは、(例えば、図6L~6Mを参照して記載されているように)第1の以前にキャプチャしたメディア(例えば、静止画像)の、注釈された表現を表示するためのアプリケーションの第2のユーザインタフェースを表示する要求に対応する1つ以上の入力を受信する(1404)。いくつかの実施形態では、アプリケーションはメディア(例えば画像又は動画)検視アプリケーションであり、第1のユーザインタフェースは、メディア検視ユーザインタフェースである。いくつかの実施形態では、1つ以上の入力は、メディア検視アプリケーションのユーザインタフェース内に注釈ユーザインタフェースを表示する要求(例えば、メディア検視アプリケーションの、測定モードなどの注釈モードを可能にする要求)に対応する。
第1の以前にキャプチャしたメディアの、注釈された表現を表示するために、第2のユーザインタフェースを表示する要求に対応する、1つ以上の入力を受信したことに応じて、コンピュータシステムは、第1の以前にキャプチャしたメディア(例えば静止画像)の注釈された表現を表示することであって、第1の以前にキャプチャしたメディアの注釈された表現が、第1の以前にキャプチャしたメディアがキャプチャされた3次元の物理的環境の第1の部分の表現を含む、表示することと、第1の以前にキャプチャしたメディアの表現が、測定可能な物理的環境内の、1つ以上の第1の物理的特徴に対応する1つ以上の領域を含むという判定に従い(例えば、物理的環境内の物理的特徴についての深度情報を含む、又はこれと関連している、以前にキャプチャしたメディアに基づき)、(例えば、図6M~6P、6R~6S、6V、6W、及び6Yに示すように)1つ以上の第1の物理的特徴の測定値の1つ以上の表現を(例えば自動的に)表示することと、を含む、第2のユーザインタフェースを表示することを含む(1406)。
いくつかの実施形態では、(例えば、第2のユーザインタフェースを表示する要求とは別個の)1つ以上の物理的特徴を測定する要求に対応するユーザ入力が受信されているか否かに関係なく、システムは、測定値の1つ以上の表現を表示する。いくつかの実施形態では、それぞれの物理的特徴が測定可能であると判定することは、システムの1つ以上の深度センサを使用してそれぞれの物理的特徴について入手し、任意選択的に、それぞれの物理的特徴の表現を含む、以前にキャプチャした対応するメディアに含まれる、又はこれと関連している深度情報などの、それぞれの物理的特徴を示す情報に基づき、それぞれの物理的特徴がシステムにより測定可能であると判定することを含む。いくつかの実施形態では、それぞれの物理的特徴が測定不可能であると判定することは、それぞれの物理的特徴の表現を含む、以前にキャプチャした対応するメディアに含まれている、又はこれと関連付けられている深度情報などの、それぞれの物理的特徴を示す不十分な情報(例えば、不完全な、忠実性を欠いている、又はこれらを合わせて欠いている情報)に基づき(例えば、これが原因で)、それぞれの物理的特徴がシステムにより測定不可能であると判定することを含む。
いくつかの実施形態では、測定値の1つ以上の表現を表示することは、(例えば、1つ以上の物理的特徴の第1の物理的特徴の)第1の測定値の第1の表現と、(例えば、1つ以上の物理的特徴の第2の物理的特徴の)第2の測定値の第2の表現と、を同時に表示することを含む(1408)(例えば、図6M~6P、6S、6V、6W、及び6Yに示すように)。いくつかの実施形態では、測定値の1つ以上の表現を表示することは、以前にキャプチャしたメディアの表現を注釈するために第2のユーザインタフェースを表示する要求に対応する1つ以上の入力を受信したことに応じて、(例えば、第1及び第2の測定値を含む)複数(例えば、2つ、3つ、4つ、5つ、又はそれより多く)の測定値のそれぞれの表現を同時に表示することを含む。
測定値の複数の表現を同時に表示することにより、ユーザが、各測定値を個別に順に表示し検視する要求する入力を提供する必要なく、画像の複数の様相(例えば、画像内にキャプチャされた複数の物理的特徴)の寸法についての情報がユーザに提供される。必要な入力数を減少させる方法で、又は、更なるユーザ入力を全く必要とすることなく、操作を実施することにより、システムの操作性が向上し、ユーザとデバイスのインタフェースがより効率的となり(例えば、ユーザが意図する結果を達成することを補助することにより、そして、システムの操作時/システムとの相互作用時にユーザの失敗を減らすことにより)、これによって更に、ユーザがデバイスをより素早く、そして効率的に使用することが可能となって、デバイスの電力使用が低下し電池寿命が向上する。
いくつかの実施形態では、第1の以前にキャプチャしたメディアの表現が、測定を可能にする情報が入手できない(例えば、以前にキャプチャしたメディアが、物理的特徴についての深度情報を含まない、又はこれと関連していない)物理的環境内における、1つ以上の第1の物理的特徴に対応する1つ以上の領域を含むという判定に従い、コンピュータシステムは、(例えば、図6U~6Vを参照して記載されるように)測定不可能な1つ以上の物理的特徴の測定値の1つ以上(例えば任意)の表現を表示することを取り止める(1410)。
(例えば、物理的特徴に対して利用可能な深度情報が不十分であることにより)システムが測定不可能なそれらの物理的特徴に対する測定値の表現の表示を取り止めることにより、ユーザインタフェースを混乱させ、システムが適切に作成可能であった測定値の表現から気を逸らすであろう不正確な情報をユーザに提供することを回避する。改善された視覚的フィードバックをユーザに提供し、ユーザインタフェースの混乱を低下させることにより、システムの操作性が向上し、ユーザとデバイスのインタフェースがより効率的となり(例えば、ユーザが意図する結果を達成することを補助することにより、そして、システムの操作時/システムとの相互作用時にユーザの失敗を減らすことにより)、これによって更に、ユーザがデバイスをより素早く、そして効率的に使用することが可能となって、デバイスの電力使用が低下し電池寿命が向上する。
いくつかの実施形態では、第1の以前にキャプチャしたメディアの表現は、(図6K~6Yを参照して上述するように)それぞれの物理的特徴の表現を含む(1412)。いくつかの実施形態では、コンピュータシステムは、それぞれの物理的特徴を測定する要求に対応するユーザ入力を受信し、ユーザ入力を受信したことに応じて、それぞれの物理的特徴に対応する測定値の表現の表示を中止する(例えば、それぞれの物理的特徴を測定する要求に対応するユーザ入力を無視する)。いくつかの実施形態では、物理的特徴を測定する要求に対応するユーザ入力が無視される。
物理的特徴を測定することを要求するユーザ入力に応じて以前にキャプチャしたメディアの表現内に、物理的特徴に対する測定値の表現を追加することを中止することにより、(例えば、測定可能な全ての物理的特徴に対する測定値が、既に自動的に表示されている実施形態において)要求された物理的特徴がシステムにより測定不可能であるというフィードバックがユーザに提供される。改善された視覚的フィードバックをユーザに提供することにより、システムの操作性が向上し、ユーザとデバイスのインタフェースがより効率的となり(例えば、ユーザが意図する結果を達成することを補助することにより、そして、システムの操作時/システムとの双方向作用時にユーザの失敗を減らすことにより)、これによって更に、ユーザがデバイスをより素早く、そして効率的に使用することが可能となって、デバイスの電力使用が低下し電池寿命が向上する。
いくつかの実施形態では、コンピュータシステムは、(例えば、図6P~6Rを参照して上述するように)第2の以前にキャプチャしたメディアの表現を表示する要求に対応する、1つ以上の入力を受信する(1414)。いくつかの実施形態では、1つ以上の入力は、第1の以前にキャプチャしたメディアの表現を表示することから、第2の以前にキャプチャしたメディアの表現を表示することに切り替える要求に対応する。いくつかの実施形態では、1つ以上の入力は、第2の以前にキャプチャしたメディアの表現に対応するユーザインタフェース要素(例えばサムネイル画像)の選択を含む。いくつかの実施形態では、1つ以上の入力は、以前にキャプチャしたメディアのリスト又は集合の中の、以前にキャプチャしたメディアの次の、又は以前の以前にキャプチャしたメディアにナビゲートすることと関連するジェスチャを含む(第2の以前にキャプチャしたメディアの表現は、リスト又は集合の中の、次の、又は以前の表現である)。
いくつかの実施形態では、第2の以前にキャプチャしたメディアの表現を表示する要求に対応する、1つ以上の入力を受信したことに応じて、コンピュータシステムは、第2の以前にキャプチャしたメディアの表現であって、第2の以前にキャプチャしたメディアの表現は、3次元の物理的環境の第1の部分(例えば、第1のメディアの表現の中でキャプチャされた同じ部分)の表現を含む、第2の以前にキャプチャしたメディアの表現と、第2の以前にキャプチャしたメディアの表現は、測定可能な物理的環境内の複数の物理的特徴に対応する複数の領域であって、複数の物理的特徴が、測定可能な第1の以前にキャプチャしたメディアの1つ以上の第1の物理的特徴、及び、測定可能な少なくとも1つの追加の物理的特徴を含む複数の領域と、を表示する(例えば、第2の以前にキャプチャしたメディアは、物理的環境についてのより多くの情報を含む、又はこれらと関連している)。いくつかの実施形態では、第2の以前にキャプチャしたメディアは、(例えば、図6M~6P、及び6R~6Sに示すように)第1の以前にキャプチャしたメディアよりも多くの、測定可能な物理的特徴の表現を含む。
いくつかの実施形態では、第2の以前にキャプチャしたメディア内でキャプチャされた測定可能な物理的特徴は、第1の以前にキャプチャしたメディアの測定可能な物理的特徴のスーパーセットである。いくつかの実施形態では、測定可能な物理的特徴に対応する、第2の以前にキャプチャしたメディアの表現の中の領域の数は、測定可能な物理的特徴に対応する、第1の以前にキャプチャしたメディアの表現の中の領域の数より多い。いくつかの実施形態では、第1の以前にキャプチャしたメディアよりも、第2の以前にキャプチャしたメディアにて、物理的環境についてのより多くの情報が入手可能である、可能性のある理由としては、室内での照明の改善、物理的環境内での物理的オブジェクト又は縁部などの、特徴のより高い解像度、又は高い視認性を可能にする、1つ以上のカメラ又は深度センサの位置の変化、1つ以上のカメラ又は深度センサを不明瞭化する要素の除去などが挙げられる。
いくつかの実施形態では、第2の以前にキャプチャしたメディアの表現を表示する要求に対応する、1つ以上の入力を受信したことに応じて、コンピュータシステムは、(例えば、図6R~6Sに示すように)(例えば、複数の物理的特徴の各々の測定値のそれぞれの表現を表示することにより)複数の物理的特徴の測定値の、複数の表現を表示する。
(例えば、より多くの深度情報を含むことにより)測定可能なより多くの物理的特徴をキャプチャするメディアの表現の表示に切り替えるときに、より多くの数の物理的特徴に対する、測定値のより多くの表現を表示することにより、物理的特徴についてより多くの情報を含むメディアの異なる表現が表示されているという視覚的フィードバックがユーザに提供され、ユーザが、追加情報の表示を要求する入力を提供する必要なく、メディアの、現在の表示表現にてキャプチャされた特定の物理的特徴の寸法についての追加情報が、ユーザに提供される。更なるユーザ入力を必要とすることなく、改善された視覚的フィードバックを(例えば自動的に)提供することにより、システムの操作性が向上し、ユーザとデバイスのインタフェースがより効率的となり(例えば、ユーザが意図する結果を達成することを補助することにより、そして、システムの操作時/システムとの相互作用時にユーザの失敗を減らすことにより)、これによって更に、ユーザがデバイスをより素早く、そして効率的に使用することが可能となって、デバイスの電力使用が低下し電池寿命が向上する。
いくつかの実施形態では、コンピュータシステムは、(例えば、図6S~6Tを参照して上述するように)第3の以前にキャプチャしたメディアの表現を表示する要求に対応する、1つ以上の入力を受信する(1416)。いくつかの実施形態では、1つ以上の入力は、以前にキャプチャしたメディア(例えば、第1又は第2の以前にキャプチャしたメディア)の現在の表示表現を表示することから、第3の以前にキャプチャしたメディアの表現を表示することに切り替える要求に対応する。いくつかの実施形態では、1つ以上の入力は、第3の以前にキャプチャしたメディアの表現に対応するユーザインタフェース要素(例えばサムネイル画像)の選択を含む。いくつかの実施形態では、1つ以上の入力は、以前にキャプチャしたメディアのリスト又は集合の中の、以前にキャプチャしたメディアの次の、又は以前の以前にキャプチャしたメディアにナビゲートすることと関連するジェスチャを含む(第3の以前にキャプチャしたメディアの表現は、リスト又は集合の中の、次の、又は以前の表現である)。
いくつかの実施形態では、第3の以前にキャプチャしたメディアの表現を表示する要求に対応する、1つ以上の入力を受信したことに応じて、コンピュータシステムは、第3の以前にキャプチャしたメディアの表現であって、第3の以前にキャプチャしたメディアの表現は、3次元の物理的環境の第1の部分(例えば、第1のメディアの表現及び第3のメディアの表現の中でキャプチャされた同じ部分)の表現を含む、第3の以前にキャプチャしたメディアの表現を表示し、第3の以前にキャプチャしたメディアの表現は、測定可能な、1つ以上の第1の物理的特徴とは異なる、物理的環境内の1つ以上の第2の物理的特徴に対応する1つ以上の領域を含む(例えば、第3の以前にキャプチャしたメディアは、第1の以前にキャプチャしたメディアとは異なる物理的環境についての情報を含む、又はこれと関連している)(例えば、図6M~6P、及び6V~6Wに示すように)。
いくつかの実施形態では、第3の以前にキャプチャしたメディアの表現を表示する要求に対応する、1つ以上の入力を受信したことに応じて、コンピュータシステムは、(例えば、図6V~6Wに示すように)(例えば、1つ以上の第2の物理的特徴の各々の測定値のそれぞれの表現を表示することにより)1つ以上の第2の物理的特徴の測定値の1つ以上の表現を表示する。いくつかの実施形態では、1つ以上の第2の物理的特徴は、1つ以上の第1の物理的特徴の中にない、少なくとも1つの物理的特徴を含む。いくつかの実施形態では、1つ以上の第1の物理的特徴は、1つ以上の第2の物理的特徴の中にない、少なくとも1つの物理的特徴を含む。いくつかの実施形態では、1つ以上の第2の物理的特徴は、1つ以上の第1の物理的特徴の中にもある少なくとも1つの物理的特徴を含む。いくつかの実施形態では、第1の以前にキャプチャしたメディアよりも、第3の以前にキャプチャしたメディアにて、物理的環境について異なる情報が入手可能である、可能性のある理由としては、室内での照明の変化、物理的環境内での物理的オブジェクト又は縁部などの、特徴の異なる解像度、又は視認性を可能にする、1つ以上のカメラ又は深度センサの位置の変化、1つ以上のカメラ又は深度センサを不明瞭化する要素の追加又は除去などが挙げられる。
測定可能な異なる物理的特徴をキャプチャするメディアの表現の表示に切り替えるとき、異なる物理的特徴に対して、測定値の異なる表現を表示することにより、物理的特徴について異なる情報を含むメディアの異なる表現が表示されているという視覚的フィードバックがユーザに提供され、ユーザが、異なる情報の表示を要求する入力を提供する必要なく、メディアの、現在表示されている表現にてキャプチャされた特定の物理的特徴の寸法についての情報が、ユーザに提供される。更なるユーザ入力を必要とすることなく、改善された視覚的フィードバックを(例えば自動的に)提供することにより、システムの操作性が向上し、ユーザとデバイスのインタフェースがより効率的となり(例えば、ユーザが意図する結果を達成することを補助することにより、そして、システムの操作時/システムとの相互作用時にユーザの失敗を減らすことにより)、これによって更に、ユーザがデバイスをより素早く、そして効率的に使用することが可能となって、デバイスの電力使用が低下し電池寿命が向上する。
いくつかの実施形態では、コンピュータシステムは、第4の以前にキャプチャしたメディアの表現を表示する要求に対応する1つ以上の入力を受信する(1418)。いくつかの実施形態では、第4の以前にキャプチャしたメディアの表現を表示する要求に対応する、1つ以上の入力を受信したことに応じて、コンピュータシステムは、第4の以前にキャプチャしたメディアの表現であって、第4の以前にキャプチャしたメディアの表現は、3次元の物理的環境の第1の部分(例えば、第1のメディアの表現の中でキャプチャされた同じ部分)の表現を含む、第4の以前にキャプチャしたメディアの表現を表示し、第4の以前にキャプチャしたメディアの表現は、測定可能な、第1の以前にキャプチャしたメディアの1つ以上の物理的特徴のサブセットに対応する1つ以上の領域を含む(例えば、第4の以前にキャプチャしたメディアは、物理的環境についてのより少ない情報を含む、又はこれらと関連している)。いくつかの実施形態では、第4の以前にキャプチャしたメディアは、第1の以前にキャプチャしたメディアよりも、測定可能な物理的特徴のより少ない表現を含む。いくつかの実施形態では、測定可能な物理的特徴に対応する、第4の以前にキャプチャしたメディアの表現の中の領域の数は、測定可能な物理的特徴に対応する、第1の以前にキャプチャしたメディアの表現の中の領域の数より少ない。
いくつかの実施形態では、第4の以前にキャプチャしたメディアの表現を表示する要求に対応する、1つ以上の入力を受信したことに応じて、コンピュータシステムは、1つ以上の物理的特徴のサブセットの測定値の1つ以上の表現を表示する(例えば、第4のメディアに関しては、第1のメディアよりも、測定値のより少ない表現が表示される)。いくつかの実施形態では、第1の以前にキャプチャしたメディアよりも、第4の以前にキャプチャしたメディアにて、物理的環境についてより少ない情報が入手可能である、可能性のある理由としては、室内での照明の減少、物理的環境内での物理的オブジェクト又は縁部などの、特徴の低い解像度、又はより少ない視認性を可能にする、1つ以上のカメラ又は深度センサの位置の変化、1つ以上のカメラ又は深度センサを不明瞭化する要素の追加又は除去などが挙げられる。
測定可能なより少ない物理的特徴をキャプチャするメディアの表現の表示に切り替えるとき、より少数の物理的特徴に対する、測定値のより少ない表現を表示することにより、物理的特徴についてより少ない情報を含むメディアの異なる表現が表示されているという視覚的フィードバックがユーザに提供され、ユーザが情報の表示を要求する入力を提供する必要なく、メディアの、現在表示されている表現にてキャプチャされた特定の物理的特徴の寸法についての情報が、ユーザに提供される。更なるユーザ入力を必要とすることなく、改善された視覚的フィードバックを(例えば自動的に)提供することにより、システムの操作性が向上し、ユーザとデバイスのインタフェースがより効率的となり(例えば、ユーザが意図する結果を達成することを補助することにより、そして、システムの操作時/システムとの相互作用時にユーザの失敗を減らすことにより)、これによって更に、ユーザがデバイスをより素早く、そして効率的に使用することが可能となって、デバイスの電力使用が低下し電池寿命が向上する。
いくつかの実施形態では、コンピュータシステムは、(例えば、図6Wに示すように)第5の以前にキャプチャしたメディアの表現を表示する要求に対応する1つ以上の入力を受信する(1420)。いくつかの実施形態では、第5の以前にキャプチャしたメディアの表現を表示する要求に対応する、1つ以上の入力を受信したことに応じて、コンピュータシステムは、第5の以前にキャプチャしたメディアの表現であって、第5の以前にキャプチャしたメディアの表現は、3次元の物理的環境の、第1の部分とは異なる第2の部分の表現(又は、いくつかの実施形態では、第1のメディアでキャプチャされたものとは異なる3次元環境の表現)を含む、第5の以前にキャプチャしたメディアの表現を表示し(例えば、第5の以前にキャプチャしたメディアの表現は、物理的環境の第1の部分の表現を含まない)、第5の以前にキャプチャしたメディアの表現が、測定可能な物理的環境の第2の部分内の1つ以上の物理的特徴に対応する1つ以上の領域を含む、という判定に従い、コンピュータシステムは、(例えば、図6Yに示すように)物理的環境の第2の部分の中の、1つ以上の物理的特徴の測定値の1つ以上の表現を表示する。いくつかの実施形態では、物理的環境の第2の部分の中の物理的特徴の測定値は、物理的環境の第1の部分の中の物理的特徴の測定値とは異なっている。
測定可能な異なる物理的特徴をキャプチャするメディアの表現の表示に切り替えるとき、特に、メディアが物理的環境の異なる部分(又は、異なる物理的環境を合わせて)キャプチャする場合、異なる物理的特徴に対して、測定値の異なる表現を表示することにより、物理的特徴について異なる情報を含むメディアの異なる表現が表示されているという視覚的フィードバックがユーザに提供され、ユーザが、異なる情報の表示を要求する入力を提供する必要なく、メディアの、現在表示されている表現にてキャプチャされた特定の物理的特徴の寸法についての情報が、ユーザに提供される。更なるユーザ入力を必要とすることなく、改善された視覚的フィードバックを(例えば自動的に)提供することにより、システムの操作性が向上し、ユーザとデバイスのインタフェースがより効率的となり(例えば、ユーザが意図する結果を達成することを補助することにより、そして、システムの操作時/システムとの相互作用時にユーザの失敗を減らすことにより)、これによって更に、ユーザがデバイスをより素早く、そして効率的に使用することが可能となって、デバイスの電力使用が低下し電池寿命が向上する。
いくつかの実施形態では、第1の以前にキャプチャしたメディアの表現(1422)は、写真(例えば静止画像)又は動画(例えば、一続きの画像を含む)のうちの1つである。
例えば、以前にキャプチャした写真又は動画と関連する、又はこの中に含まれる、キャプチャされた深度情報に基づき、以前にキャプチャした写真及びビデオで表現される1つ以上の物理的特徴の測定値を表示することにより、ユーザが、追加の詳細を具体的にキャプチャする入力を提供する必要なく、写真及び動画についての更なる詳細が、ユーザに提供される。改善された視覚的フィードバックをユーザに提供し、操作を実施するのに必要な入力数が減少することにより、システムの操作性が向上し、ユーザとデバイスのインタフェースがより効率的となり(例えば、ユーザが意図する結果を達成することを補助することにより、そして、システムの操作時/システムとの相互作用時にユーザの失敗を減らすことにより)、これによって更に、ユーザがデバイスをより素早く、そして効率的に使用することが可能となって、デバイスの電力使用が低下し電池寿命が向上する。
いくつかの実施形態では、アプリケーションは、メディア(例えば画像及び/又は動画)検視アプリケーションであり(1424)、アプリケーションの第1のユーザインタフェースは、第1の以前にキャプチャしたメディアを検視するためのユーザインタフェースであり、1つ以上の入力は、メディア検視アプリケーションの注釈(例えば測定)モードを可能にする要求に対応する(例えば、メディア検視アプリケーションの第1のユーザインタフェースに表示される注釈モードユーザインタフェース要素のアクティブ化)。
メディア検視アプリケーション内のメディアの表現を検視するためのユーザインタフェースからアクセス可能な、メディアの注釈された表現を検視又は表示するためのユーザインタフェースを提供することにより、デフォルトでより多くの詳細情報を表示することなく、検視されているメディアの表現についての、より多くの詳細情報を確認するオプションが、ユーザに提供される。更なる制御オプションを提供して、ユーザインタフェースが、過剰の詳細で混乱するのを緩和することにより、システムの操作性が向上し、ユーザとデバイスのインタフェースがより効率的となり(例えば、ユーザが意図する結果を達成することを補助することにより、そして、システムの操作時/システムとの相互作用時にユーザの失敗を減らすことにより)、これによって更に、ユーザがデバイスをより素早く、そして効率的に使用することが可能となって、デバイスの電力使用が低下し電池寿命が向上する。
いくつかの実施形態では、アプリケーションは、注釈アプリケーション(例えば測定値アプリケーション)であり(1426)、第1のユーザインタフェースは、コンピュータシステムの1つ以上のカメラの視野の表現(例えば、1つ以上のカメラの視野の中での変化を反映するように更新された、ライブビューである視野の表現)に、注釈(例えば測定値の表現)を追加するためのユーザインタフェースであり、1つ以上の入力は、第1の以前にキャプチャしたメディアの表現を表示するための要求に対応する(例えば、以前にキャプチャしたメディアの表現は、例えば、第1のユーザインタフェース内で表示され、以前にキャプチャしたメディアに対応するユーザインタフェース要素の選択により、注釈アプリケーションの第1のユーザインタフェースからアクセス可能である)。いくつかの実施形態では、注釈アプリケーションの第1のユーザインタフェースに表示されるメディアキャプチャユーザインタフェース要素のアクティブ化に応じて、以前にキャプチャしたメディアがキャプチャされた。
注釈アプリケーション内の1つ以上のカメラの視野の表現を注釈するために、ユーザインタフェースからアクセス可能なメディアの注釈された表現を検視又は表示するためのユーザインタフェースを提供することにより、ユーザが、注釈アプリケーションを出て、個別のメディア検視アプリケーションを起動する必要なく、同じ注釈アプリケーション内で、視野以前に注釈された表現などの、メディアの、以前にキャプチャされ、以前に注釈された表現を再訪問するオプションがユーザに提供される。操作を実行するのに必要な入力数を減少させることにより、システムの操作性が向上し、ユーザとデバイスのインタフェースがより効率的となり(例えば、ユーザが意図する結果を達成することを補助することにより、そして、システムの操作時/システムとの双方向作用時にユーザの失敗を減らすことにより)、これによって更に、ユーザがデバイスをより素早く、そして効率的に使用することが可能となって、デバイスの電力使用が低下し電池寿命が向上する。
図14A~図14Dにおける動作について説明された特定の順序は単なる例であり、説明された順序は、動作を実行することができる唯一の順序であることを示すことを意図するものではないことを理解されたい。当業者であれば、本明細書に記載される動作を再順序付けるための様々な方法を認識するであろう。加えて、本明細書に記載される他の方法(例えば、方法800、900、1000、1100、1200、1300、1500、及び1600)に関して本明細書に記載される他のプロセスの詳細はまた、図14A~図14Dに関して上述した方法1400にも、類似の様式で適用可能であることに留意されたい。例えば、方法1400を参照して上述したアプリケーション、ユーザインタフェース、ユーザインタフェース要素、その中の物理的環境及び特徴及びオブジェクト、メディア、注釈、並びに測定値の表現は任意選択的に、本明細書で記載される他の方法(例えば、方法800、900、1000、1100、1200、1300、1500、及び1600)を参照して本明細書で記載される、アプリケーション、ユーザインタフェース、ユーザインタフェース要素、その中の物理的環境及び特徴及びオブジェクト、メディア、注釈、並びに測定値の表現の特性のうちの1つ以上を有する。簡潔にするために、それらの詳細はここでは繰り返さない。
図15A~図15Dは、いくつかの実施形態に係る、物理的環境をスキャンして、物理的環境をモデリングするための深度情報をキャプチャする方法1500を示すフローダイヤグラムである。方法1500は、表示装置(例えば、ディスプレイ(任意選択的にタッチ感知式)、プロジェクタ、ヘッドマウントディスプレイ、ヘッドアップディスプレイなど、例えば、タッチスクリーン112(図1A)、ディスプレイ340(図3A)、又は表示生成コンポーネント(単数又は複数)304(図3B))、1つ以上のカメラ(例えば、光センサ(単数又は複数)164(図1A)又はカメラ(単数又は複数)305(図3B))、及び任意選択的に、1つ以上の深度検知デバイス、例えば深度センサ(例えば、フライト時間センサ220(図2B)などの、1つ以上の深度センサ)を備えるコンピュータシステム(例えば、ポータブル多機能デバイス100(図1A)、デバイス300(図3A)、又はコンピュータシステム301(図3B))にて実施される。方法1500における一部の動作は、任意選択で組み合わされ、及び/又は、一部の動作の順序は、任意選択で変更される。
本明細書に記載されるように、物理的環境が、キャプチャされた深度情報に対してスキャンされると、方法1500は物理的環境の表現を表示して深度情報がキャプチャされた物理的環境の一部の表現の上に完全に重なり合ったスキャンの程度のインジケーションを表示し、深度情報が追加の部分に対してキャプチャされると、物理的環境のそれらの追加の部分の表現に重なり合うインジケーションを更新する。その上に重なり合ったインジケーションを有する、スキャンされた部分の表現、及び、スキャンされていない物理的環境の部分の表現を含む物理的環境の表現を表示することにより、(例えば、図7H~7Jに示すように)ユーザを物理的環境内に向けさせるのを補助し、物理的環境のどの部分がスキャンされ、どの部分がスキャンされていないかについてのフィードバックをユーザに提供し、これにより、ユーザが、どの向き(単数又は複数)に移動して、又はどの向き(単数又は複数)に変えて、深度情報キャプチャプロセスを進行させるべきかが知らされる。改善された視覚的フィードバックをユーザに提供することにより、システムの操作性が向上し、ユーザとデバイスのインタフェースがより効率的となり(例えば、ユーザが意図する結果を達成することを補助することにより、そして、システムの操作時/システムとの双方向作用時にユーザの失敗を減らすことにより)、これによって更に、ユーザがデバイスをより素早く、そして効率的に使用することが可能となって、デバイスの電力使用が低下し電池寿命が向上する。
コンピュータシステムは、ユーザインタフェース(例えば、拡張現実測定アプリケーションのユーザインタフェース)の第1領域に、1つ以上のカメラの視野の表現であって、1つ以上のカメラが3次元の物理的環境にあり、視野の表現が、(例えば図7Aに示すように)1つ以上のカメラの視野の中にある物理的環境の第1のそれぞれの部分の第1視野(例えば第1の人の斜視図)を含む、1つ以上のカメラの視野の表現を表示する(1502)。
コンピュータシステムは、物理的環境の第1のそれぞれの部分の第1サブセットを示す深度情報をキャプチャする(1504)(例えば、第1サブセットは、物理的環境の第1のそれぞれの部分の一部又は全てを含むことができる)。
いくつかの実施形態では、コンピュータシステムは、視野の表現の上に、第1サブセットの表現を含む視野の表現の少なくとも第1の部分の上に重ねられた第1のインジケーションを表示することと(例えば、視野の表現の第1の部分は、深度情報がキャプチャされている第1サブセットを含む、物理的環境の部分(単数又は複数)に対応する)、(例えば、物理的環境の表現の第2の部分の上にある)重なった第1のインジケーションなしで、(例えば、深度情報がキャプチャされていない物理的環境の部分(単数又は複数)に対応する)視野の表現の少なくとも第2の部分を表示することと、を含む、(例えば、第1サブセットを示す深度情報が、第1サブセットを示す深度情報のキャプチャに従いキャプチャされていることを示すことを含む)深度情報がキャプチャされている物理的環境の第1のそれぞれの部分の程度を示す、第1のインジケーションを表示する(1506)。いくつかの実施形態では、第1のインジケーションは、境界が、深度情報がキャプチャされている(例えば、システムの1つ以上のカメラ及び/又は1つ以上の深度センサによりスキャンされている)物理的環境の程度を示す領域(例えば連続した領域)である。いくつかの実施形態では、第1のインジケーションは、(例えば、図7H~7Mを参照して記載されているように)視野の表現の第1の部分が部分的に目に見えるように(例えば、第1のインジケーションの重なり合い「を通して」下にある、及び目に見えるかのように)、部分的に透明(例えば半透明)である。
いくつかの実施形態では、コンピュータシステムは、視野を移動させて、物理的環境の第2のそれぞれの部分を含める、1つ以上のカメラの移動を検出する(1508)。いくつかの実施形態では、第2のそれぞれの部分は、物理的環境の第1のそれぞれの部分とは異なる。いくつかの実施形態では、第2のそれぞれの部分は、(例えば図7H~7Iに示すように)物理的環境の第1のそれぞれの部分と部分的に重なり合う。
いくつかの実施形態では、1つ以上のカメラの移動を検出したことに応じて(1510)、コンピュータシステムは、1つ以上のカメラの視野の表現を更新して、物理的環境の第2のそれぞれの部分の第1視野(例えば、第1の人の斜視図)を含めるようにし、物理的環境の第2のそれぞれの部分の第2サブセットを示す深度情報をキャプチャし(例えば、第2サブセットは、物理的環境の第2のそれぞれの部分のいくつか又は全てを含む)、視野の表現の第2の部分に重なり合った第1のインジケーションを表示することであって、視野の表現の第2の部分が、第2サブセットの表現を含む、表示することを含む、視野の更新された表現の上に表示される、第1のインジケーションを更新し、深度情報がキャプチャされた物理的環境の第2のそれぞれの部分の程度を示す(例えば、第1のインジケーションは更新されて、第2サブセットに関する深度情報がキャプチャされていることを示す)(例えば、視野の表現の第2の部分は、深度情報がキャプチャされている第2サブセットを含む、物理的環境の部分(単数又は複数)に対応する)(例えば、図7H~7Iに示すように)。いくつかの実施形態では、1つ以上のカメラの移動の後で、視野の表現の第1の部分が(例えば完全に、又は部分的に)表示されたままである場合、第1のインジケーションは、(例えば図7H~7Iに示すように)視野の表現の第1及び第2の部分の両方の上に表示される。いくつかの実施形態では、第1のインジケーションを更新することは、深度情報が、物理的環境の追加の部分に対してキャプチャされると、(例えば、図7H~7I、7M、7Q、7S、及び7Xに示すように)第1のインジケーションを漸進的に拡張するアニメーションを表示して、視野の表現の中の物理的環境の追加の部分の表現を覆うことを含む。
いくつかの実施形態では、コンピュータシステムは、視野の表現の中に、(例えば、図7H~7ABに示すように)深度情報がキャプチャされていない物理的環境の1つ以上の部分の1つ以上の表現を表示する(1512)。いくつかの実施形態では、(例えば、図7H~7R、及び7X~7AAを参照して記載するように)物理的環境のそれぞれの部分に関して深度情報がキャプチャされないとき、又は、キャプチャされた深度情報が不十分である(例えば、不完全である、かつ/又は忠実性を欠いている)とき、深度情報は、物理的環境のそれぞれの部分に関してはキャプチャされない。いくつかの実施形態では、視野の表現が、深度情報がキャプチャされていない物理的環境の1つ以上の部分の1つ以上の表現を含むという判定に従い、コンピュータシステムは、1つ以上の部分の表現の上に重なり合った第1のインジケーションなしで、1つ以上の部分の表現を表現する。例えば、方法1500の操作1506を参照して上述するように、視野の表現の上に、深度情報がキャプチャされた物理的環境の第1のそれぞれの部分の程度を示す第1のインジケーションを表示するとき、第1のインジケーションは、深度情報がキャプチャされている物理的環境の部分(単数又は複数)に対応する視野の表現の少なくとも第1の部分に重なり合い、深度情報がキャプチャされていない物理的環境の部分(単数又は複数)に対応する視野の表現の少なくとも第2の部分に重なり合っていない。同様に、いくつかの状況において、第1のインジケーションを更新して、深度情報がキャプチャされている物理的環境の第2のそれぞれの部分の程度を示した後で、第1のインジケーションは、(例えば、図7H~7R、及び7X~7ABを参照して示すように)深度情報がキャプチャされている物理的環境の部分(単数又は複数)に対応する視野の更新された表現の少なくとも第1の部分に重なり合い、深度情報がキャプチャされていない物理的環境の部分(単数又は複数)に対応する視野の更新された表現の少なくとも第2の部分に重なり合っていない(例えば、視野の更新された表現の少なくとも第2の部分は、第1のインジケーションが重なり合わず表示される)。
スキャンされていない物理的環境の部分の表現を表示することにより、ユーザが、物理的環境部のこれらの部分をプレビューし、これらの部分をスキャンするか否かを率直に判断することが可能となり、これらは、これらの部分が既にスキャンされた後まで、物理的環境の部分の表現が保留された場合だと、可能ではない場合がある。これにより、ユーザを物理的環境内に向けさせるのを補助する視覚的フィードバックが提供され、スキャンを続けるか否かを判断する能力を通して、ユーザがスキャンのより多くの制御を行えるようになる。ユーザに改善された視覚的フィードバックを提供し、追加で表示される制御を有するユーザインタフェースを混乱させることなく、追加の制御オプションを提供することにより、システムの操作性が向上し、ユーザとデバイスのインタフェースがより効率的となり(例えば、ユーザが意図する結果を達成することを補助することにより、そして、システムの操作時/システムとの双方向作用時にユーザの失敗を減らすことにより)、これによって更に、ユーザがデバイスをより素早く、そして効率的に使用することが可能となって、デバイスの電力使用が低下し電池寿命が向上する。
いくつかの実施形態では、コンピュータシステムは、第1のインジケーションの1つ以上の縁部を滑らかにする(1514)。例えば、深度情報がキャプチャされた物理的環境の部分が不規則な(例えば、ぎざぎざな、又は粗い)縁部を有する場合でも、第1のインジケーションは(例えば、図7A~7ABを参照して記載するように)滑らかな縁部と共に表示される。
第1のインジケーションの縁部を滑らかにすることにより、フィードバックを過剰に詳細にせず、故に気を逸らすことなく、物理的環境のどの部分がスキャンされているのかについてのフィードバックがユーザに提供され、ユーザがどの向き(単数又は複数)に移動して、又はどの向き(単数又は複数)に変えて、深度情報キャプチャプロセスを進行させるべきかが、ユーザに知らせられる。(例えば、第1のインジケーションのぎざぎざの、又は粗い縁部により)ユーザインタフェースを混乱させずに、ユーザに改善された視覚的フィードバックを提供することにより、システムの操作性が向上し、ユーザとデバイスのインタフェースがより効率的となり(例えば、ユーザが意図する結果を達成することを補助することにより、そして、システムの操作時/システムとの相互作用時にユーザの失敗を減らすことにより)、これによって更に、ユーザがデバイスをより素早く、そして効率的に使用することが可能となって、デバイスの電力使用が低下し電池寿命が向上する。
いくつかの実施形態では、第1のインジケーションは(例えば、図7Hに示すように)連続した領域である(1516)(例えば、及び視野の表現とユーザインタフェースの連続した領域に重なり合っている)。例えば、深度情報が、物理的環境の一部の、少なくとも最も外側(例えば縁部)領域に関してキャプチャされる場合、キャプチャされた部分の中央の1つ以上領域に関して深度情報が欠落している場合でも、第1のインジケーションは、物理的環境の部分全体の表現の上に重なり合っている(例えば、第1のインジケーションは連続しており、拡張して縁部領域を覆う)。
第1のインジケーションを連続した領域として提示することにより、フィードバックを過剰に詳細にせず、故に気を逸らすことなく、物理的環境のどの部分がスキャンされているのかについてのフィードバックがユーザに提供され、ユーザがどの向き(単数又は複数)に移動して、又はどの向き(単数又は複数)に変えて、深度情報キャプチャプロセスを進行させるべきかが、ユーザに知らせられる。物理的環境の1つ以上の部分に関する深度情報が不十分である場合、第1のインジケーション内で、対応する穴又は隙間を表示する代わりに、アラートが代替的に提供され(例えば、操作1538を参照して本明細書に記載するように)、1つ以上のカメラを、深度情報が完全にキャプチャされていない物理的環境の部分に向けてリダイレクトさせるように促すことができる。(例えば、第1のインジケーションにおける切れ目により、あるいは、ぎざぎざの、又は粗い縁部により)ユーザインタフェースを混乱させずに、ユーザに改善された視覚的フィードバックを提供することにより、システムの操作性が向上し、ユーザとデバイスのインタフェースがより効率的となり(例えば、ユーザが意図する結果を達成することを補助することにより、そして、システムの操作時/システムとの相互作用時にユーザの失敗を減らすことにより)、これによって更に、ユーザがデバイスをより素早く、そして効率的に使用することが可能となって、デバイスの電力使用が低下し電池寿命が向上する。
いくつかの実施形態では、1つ以上のカメラの移動を検出する前に(及び、任意選択的に、物理的環境の第1のそれぞれの部分の第1サブセットを示す深度情報をキャプチャする前、及び/又は1つ以上のカメラの視野の表現を表示する前に)、コンピュータシステムは、ユーザに、1つ以上のカメラを物理的環境の回りで移動させるように促す命令を表示する(1518)。いくつかの実施形態では、命令は、物理的環境の表現の回りを移動するユーザの表現のアニメーションを含む。いくつかの実施形態では、命令は、(例えば、図7Rに示すように)ユーザに、自身の回りの物理的環境を移動するように命令する文字を含む。
ユーザに、1つ以上のカメラを物理的環境の回りで移動させて、(例えば、任意選択的に、正投影モデリングモードに遷移する際に)物理的環境についての深度情報をキャプチャすることを促す命令を表示することにより、ユーザに、深度情報キャプチャプロセスを進めるのに必要なアクションを実施するように促す視覚的フィードバックが、ユーザに提供される。改善された視覚的フィードバックをユーザに提供することにより、システムの操作性が向上し、ユーザとデバイスのインタフェースがより効率的となり(例えば、ユーザが意図する結果を達成することを補助することにより、そして、システムの操作時/システムとの双方向作用時にユーザの失敗を減らすことにより)、これによって更に、ユーザがデバイスをより素早く、そして効率的に使用することが可能となって、デバイスの電力使用が低下し電池寿命が向上する。
いくつかの実施形態では、コンピュータシステムは、(例えば、図7Gを参照して記載されているように)アクティブ化されたときに、1つ以上のカメラが位置する物理的環境を示す(例えば、1つ以上のカメラの視野の中にある物理的環境の1つ以上の部分を示す)深度情報のキャプチャを開始する第1のユーザインタフェース要素(例えば、キャプチャ、又はスキャン開始ユーザインタフェース要素)を表示する(1520)。いくつかの実施形態では、第1のユーザインタフェース要素は、ユーザに、1つ以上のカメラを物理的環境の回りで移動させるように促す命令を表示している間に表示される。いくつかの実施形態では、コンピュータシステムは、第1のユーザインタフェース要素をアクティブにする入力を受信し、第1のユーザインタフェース要素をアクティブにする入力を受信した後で(例えば、受信に応じて)、コンピュータシステムは、物理的環境を示す深度情報をキャプチャし、ここで、深度情報をキャプチャすることは、1つ以上のカメラの移動に従い、第1サブセットを示す深度情報をキャプチャすることと、第2サブセットを示す深度情報をキャプチャすることと、を含む。
アクティブ化されたときに、周囲の物理的環境についての深度情報のキャプチャを開始する第1のユーザインタフェース要素を表示することにより、ユーザが、複雑なメニュー階層をナビゲートする必要なく、深度情報キャプチャプロセスの際に、ユーザがすぐに制御を行える。操作を実施するのに必要な入力数を減少させる更なる制御オプションを提供することにより、システムの操作性が向上し、ユーザとデバイスのインタフェースがより効率的となり(例えば、ユーザが意図する結果を達成することを補助することにより、そして、システムの操作時/システムとの双方向作用時にユーザの失敗を減らすことにより)、これによって更に、ユーザがデバイスをより素早く、そして効率的に使用することが可能となって、デバイスの電力使用が低下し電池寿命が向上する。
いくつかの実施形態では、コンピュータシステムは、アクティブ化されたときに、深度情報がキャプチャされている物理的環境の部分の正投影ビューを(例えば、生成して)表示することを開始する、第2のユーザインタフェース要素(例えば、図7ABにおけるスキャン停止ボタン704-2などの、キャプチャ、又はスキャン終了ユーザインタフェース要素を表示する(1522)。いくつかの実施形態では、第2のユーザインタフェース要素は、物理的環境を示す深度情報をキャプチャする間に(例えば、第1のユーザインタフェース要素の表示及びアクティブ化の後に)表示される。いくつかの実施形態では、コンピュータシステムは、第2のユーザインタフェース要素をアクティブにする入力を受信し、第2のユーザインタフェース要素をアクティブにする入力を受信した後で(例えば、受信に応じて)、コンピュータシステムは、物理的環境(の、例えば少なくとも一部)の正投影ビューを表示する。いくつかの実施形態では、コンピュータシステムは、第2のユーザインタフェース要素をアクティブにする入力に応じて、例えば、正投影ビューを表示する前に、物理的環境を示すキャプチャされた深度情報に基づき、物理的環境の正投影ビューを生成する。いくつかの実施形態では、第2のユーザインタフェース要素のアクティブ化により、深度情報のキャプチャが終了する(例えば、キャプチャ開始ユーザインタフェース要素の後続のアクティブ化、又は、それぞれのアプリケーションの異なるモードへの遷移まで)。
アクティブ化されたときに、キャプチャされた深度情報に基づき周囲の物理的環境の正投影ビューの表示をもたらし、かつ任意選択的に、深度情報キャプチャセッションの終了をもたらす、第2のユーザインタフェース要素を表示することにより、ユーザが、複雑なメニュー階層をナビゲートする必要なく、キャプチャされた深度情報に基づく正投影ビューが表示される深度情報キャプチャプロセス内での点を、ユーザがすぐに制御を行える。操作を実施するのに必要な入力数を減少させる更なる制御オプションを提供することにより、システムの操作性が向上し、ユーザとデバイスのインタフェースがより効率的となり(例えば、ユーザが意図する結果を達成することを補助することにより、そして、システムの操作時/システムとの双方向作用時にユーザの失敗を減らすことにより)、これによって更に、ユーザがデバイスをより素早く、そして効率的に使用することが可能となって、デバイスの電力使用が低下し電池寿命が向上する。
いくつかの実施形態では、第1のインジケーションを表示する(1524)コンピュータシステムは、視野の表現の中で検出された、1組の所定の特徴の種類(例えば、1組の所定の特徴の種類は、物理的オブジェクトの縁部を含む)の物理的特徴の表現に重なり合った第1のインジケーションの一部を、視覚的に強調することを含む(例えば、上に第1のインジケーションが表示される領域内の、オブジェクトの縁部などの、1つ以上の特定の種類の特徴の表現は、オブジェクトの表面などの、他の種類の特徴の表現に対して、視覚的に強調される)。いくつかの実施形態では、視覚的強調は、(例えば、図7H~7I、及び7Nを参照して記載されているように)(例えば、特徴が識別された後で、経時的にフェードアウトする、簡潔な強調表示又はフラッシュを伴い)所定の期間表示される。
特定の種類の物理的特徴の表現に重なり合った第1のインジケーションの一部を視覚的に強調することにより、ユーザが特に関心を持ち得る、物理的特徴についての深度情報がキャプチャされたというフィードバックがユーザに提供され、場合によっては、物理的環境内でオブジェクトにぶつからずにに、スキャン中に物理的環境の回りをユーザがナビゲートするのもまた補助する。改善された視覚的フィードバックをユーザに提供することにより、システムの操作性が向上し、ユーザとデバイスのインタフェースがより効率的となり(例えば、ユーザが意図する結果を達成することを補助することにより、そして、システムの操作時/システムとの双方向作用時にユーザの失敗を減らすことにより)、これによって更に、ユーザがデバイスをより素早く、そして効率的に使用することが可能となって、デバイスの電力使用が低下し電池寿命が向上する。
いくつかの実施形態では、物理的特徴の表現に重なり合った第1のインジケーションの一部を視覚的に強調することは、第1のインジケーションの部分を所定の期間(例えば、0.5~2.0秒、又は0.5~5.0秒の時間周期)、強調表示することを含む(1526)。
物理的環境のキャプチャされた表現内での切れ目に基づく、物理的環境でのエッジ検出の性質、及び、得られる、物理的縁部に対応する、キャプチャされた深度情報での切れ目の可能性により、キャプチャした深度情報に基づき、第1のインジケーションを重なり合いとして表示することにより、第1のインジケーションにて欠陥及び切れ目がもたらされる可能性がある。所定の(例えば、最初の手短な)時間周期の間、縁部の表現に重なり合った第1のインジケーションの部分を強調すること(例えば、及び任意選択的に滑らかにすること)により、フィードバックを過剰に詳細にせず、故に気を逸らすことなく、ユーザが特に関心を持ち得る、物理的特徴についての深度情報がキャプチャされたというフィードバックがユーザに提供される。(例えば、第1のインジケーションにおける切れ目により)ユーザインタフェースを混乱させずに、ユーザに改善された視覚的フィードバックを提供することにより、システムの操作性が向上し、ユーザとデバイスのインタフェースがより効率的となり(例えば、ユーザが意図する結果を達成することを補助することにより、そして、システムの操作時/システムとの相互作用時にユーザの失敗を減らすことにより)、これによって更に、ユーザがデバイスをより素早く、そして効率的に使用することが可能となって、デバイスの電力使用が低下し電池寿命が向上する。
いくつかの実施形態では、コンピュータシステムは、(例えば、図7H~7Iを参照して記載するように)経時的に、第1のインジケーションの一部の視覚的強調を漸進的に中止する(1528)。いくつかの実施形態では、視覚的強調は、所定の期間表示され、その後、物理的特徴の表現に重なり合った第1のインジケーションの一部が、第1のインジケーションの他の部分に対して視覚的に強調されていないように、取り除かれる(例えば、漸進的に衰える)。
第1のインジケーションの視覚的に強調された部分の視覚的強調を、経時的に漸進的に低下させることにより、ユーザが関心を既に持っていない可能性のある物理的特徴の表現の視覚的強調の継続、及び、ユーザインタフェースでの視覚的強調の蓄積が避けられる。更なるユーザの入力を必要とせず、1組の条件が満たされたときに操作を実施することにより、かつ、ユーザインタフェースでの混乱を低下させることにより、システムの操作性が向上し、ユーザとデバイスのインタフェースがより効率的となり(例えば、ユーザが意図する結果を達成することを補助することにより、そして、システムの操作時/システムとの双方向作用時にユーザの失敗を減らすことにより)、これによって更に、ユーザがデバイスをより素早く、そして効率的に使用することが可能となって、デバイスの電力使用が低下し電池寿命が向上する。
いくつかの実施形態では、ユーザインタフェースは、(例えば、コンピュータシステム上で実行する)それぞれのアプリケーションのユーザインタフェースであり(1530)、第1のインジケーションを表示すること(例えば、操作1506)、1つ以上のカメラの移動を検出すること(例えば、操作1508)、及び、1つ以上のカメラの移動の検出に応じて、視野の表現を更新し、第2サブセットを示す深度情報をキャプチャし、第1のインジケーションを更新すること(例えば、操作1510)は、それぞれのアプリケーションが、それぞれのアプリケーションの複数のモードの第1のモード(例えば、正投影モデリングモード)にて稼働している間に実施される。いくつかの実施形態では、正投影モデリングモードにおいて、システムは、物理的環境を示す情報(例えば深度情報)をキャプチャし、任意選択的に、キャプチャした情報から、物理的環境の正投影ビューを生成する。いくつかの実施形態では、生成した正投影ビューは平面正投影ビュー(例えばフロアプラン)であり、正投影モデリングモードはフロアプランモードである。いくつかの実施形態では、視野の表現を表示すること、及び、第1サブセットを示す深度情報をキャプチャすること(例えば、操作1504)もまた、それぞれのアプリケーションが第1のモードで稼働している間に実施される。いくつかの実施形態では、それぞれのアプリケーションの複数のモードは、正投影モデリングモードに加えて、(例えば、図5C及び7Aを参照して上述するように)1次元注釈(例えば、測定)モード、2次元注釈モード、3次元注釈モード、及び/又は自動注釈モードを含む。
特に、それぞれのアプリケーションが、そのモードに対応する、表示されるユーザインタフェース要素のアクティブ化により、深度情報キャプチャモードに遷移する実施形態において、それぞれのアプリケーションの一部として物理的環境を示す深度情報をキャプチャするための操作モードを提供することにより、ユーザが、複雑なメニュー階層をナビゲートする必要なく、ユーザが、システムの深度情報キャプチャ能力に素早くかつ容易にアクセスできる。更なる制御オプションを提供し、操作を実施するのに必要な入力数が減少することにより、システムの操作性が向上し、ユーザとデバイスのインタフェースがより効率的となり(例えば、ユーザが意図する結果を達成することを補助することにより、そして、システムの操作時/システムとの双方向作用時にユーザの失敗を減らすことにより)、これによって更に、ユーザがデバイスをより素早く、そして効率的に使用することが可能となって、デバイスの電力使用が低下し電池寿命が向上する。
いくつかの実施形態では、コンピュータシステムは、ユーザインタフェースの第2領域に、物理的環境(の、例えば少なくとも一部)の第2のビュー(例えば、上視図又はフロアプラン図とも呼ばれる、平面正投影ビュー)の表現を表示し(1532)、物理的環境の第1のそれぞれの部分の第1サブセットを示す深度情報をキャプチャするに従い、第2のビューの表現は、(例えば、第2のビューの表現に第1サブセットの表現を表示することにより)第1サブセットがキャプチャされていることを示す深度情報を示すことを含む、深度情報がキャプチャされている物理的環境の程度を示し、及び、1つ以上のカメラの移動の検出に応じて、コンピュータシステムは、物理的環境(の、例えば、少なくとも一部)の第2のビュー(例えば、平面正投影ビュー)を更新し、(例えば、第2のビューの表現を更新して、第1サブセットの表現に加えて第2サブセットの表現を含めることにより)第1サブセット及び第2サブセットを示す深度情報がキャプチャされていることを示すことを含む、深度情報がキャプチャされている物理的環境の程度を示す(例えば、図7H~7Iに示すように)。
いくつかの実施形態では、ユーザインタフェースの第2領域は、ユーザインタフェースの第1領域と少なくとも部分的に重なり合う(例えば、第2のビューの表現は、ユーザインタフェースの第1領域の少なくとも一部の上に表示される)。いくつかの実施形態では、システムは、ユーザインタフェースの第2領域に、1つ以上のカメラの現在の位置(いくつかの実施形態では、システムの現在の位置である)のインジケーション(例えば表現)を表示し、ここで、現在の位置のインジケーションは任意選択的に、1つ以上のカメラが移動すると更新される。いくつかの実施形態では、システムは、ユーザインタフェースの第2領域に、1つ以上のカメラの現在の視野のインジケーション(例えば表現)を表示し、現在の視野のインジケーションは任意選択的に、1つ以上のカメラが移動すると更新される。
1つ以上のカメラが物理的環境の回りで移動すると、深度情報がキャプチャされている物理的環境の程度を反映するように更新される物理的環境の第2のビューの表現を表示することにより、第1視野及び第1のインジケーションによりユーザに提供されるフィードバックを補助する、スキャンの程度についてのフィードバックがユーザに提供される。例えば、第1視野が、第1の人の斜視図(例えば、1つ以上のカメラの視野のライブビュー)を含み、第2のビューが、1つ以上のカメラが移動すると地図に精密に示される物理的環境の平面正投影ビューを含む場合、第2のビューは、第1視野により伝達されていない場合がある、1つ以上のカメラの視野の外側にある物理的環境の部分についての情報を提供する。第2のビューが、物理的環境内での1つ以上のカメラの位置及び視野を示すいくつかの実施形態では、第2のビューは、ユーザがどの向き(単数又は複数)に移動して、又はどの向き(単数又は複数)に変えて、深度情報キャプチャプロセスを進行させるべきかについても、ユーザに示す。改善された視覚的フィードバックをユーザに提供することにより、システムの操作性が向上し、ユーザとデバイスのインタフェースがより効率的となり(例えば、ユーザが意図する結果を達成することを補助することにより、そして、システムの操作時/システムとの双方向作用時にユーザの失敗を減らすことにより)、これによって更に、ユーザがデバイスをより素早く、そして効率的に使用することが可能となって、デバイスの電力使用が低下し電池寿命が向上する。
いくつかの実施形態では、1つ以上のカメラの移動は、それぞれの量(例えば、回転のそれぞれの数の角度)により、それぞれの軸(例えば偏揺れ軸)を中心にする、1つ以上のカメラの回転を含む(1534)。1つ以上のカメラの移動を検出したことに応じて、コンピュータシステムは、(例えば、ユーザインタフェースの第2領域内で)(例えば、図7Iに示すように)物理的環境の第2のビューの表現をそれぞれの量で回転させる。
物理的環境の第2のビューの表現を回転させて、1つ以上のカメラのそれぞれの軸(例えば偏揺れ軸)を中心に1つ以上のカメラを回転させることにより、第2のビューの特定の向き(例えば、正のy方向、すなわちユーザインタフェース内の「上向き」)が、第1視野の特定の向き(例えば、1つ以上のカメラが面する、z軸がユーザインタフェース「の中に」沿っている「前」向きに対応する向き)と、連続して相関しているという点において、第2のビューを、ユーザの参照フレームに向けられるナビゲーションビューとして提供し、これにより、ユーザが物理的環境をナビゲートするのを補助する視覚的フィードバックが提供される。改善された視覚的フィードバックをユーザに提供することにより、システムの操作性が向上し、ユーザとデバイスのインタフェースがより効率的となり(例えば、ユーザが意図する結果を達成することを補助することにより、そして、システムの操作時/システムとの双方向作用時にユーザの失敗を減らすことにより)、これによって更に、ユーザがデバイスをより素早く、そして効率的に使用することが可能となって、デバイスの電力使用が低下し電池寿命が向上する。
いくつかの実施形態では、1つ以上のカメラの移動は、偏揺れ軸を中心とした、1つ以上のカメラのそれぞれの量(例えば、回転のそれぞれの数の角度)での回転を含み(1536)、1つ以上のカメラの移動を検出したことに応じて、(例えば、図7Jに示すように)(例えば、物理的環境の第2のビューの表現を第1の度数回転することなく、物理的環境の第2のビューの表現を表示することにより)コンピュータシステムはユーザインタフェース内で、物理的環境の第2のビューの向きを維持する(例えば、接触させたままとする)。
物理的環境の第2のビューの表現の向きを(例えば、回転させることなく)維持することで第2のビューが、固定された向きのマップビューとして提供され、第2のビューの表現が、1つ以上のカメラの現在の視野のインジケーションを含むいくつかの実施形態では、視野のインジケーションを(例えば、第2のビューの表現の代わりに)回転させることにより、物理的環境内での固定された参照方向(例えば、北などの基線方向)に対するユーザの向きを示す視覚的フィードバックが、ユーザに提供される。改善された視覚的フィードバックをユーザに提供することにより、システムの操作性が向上し、ユーザとデバイスのインタフェースがより効率的となり(例えば、ユーザが意図する結果を達成することを補助することにより、そして、システムの操作時/システムとの双方向作用時にユーザの失敗を減らすことにより)、これによって更に、ユーザがデバイスをより素早く、そして効率的に使用することが可能となって、デバイスの電力使用が低下し電池寿命が向上する。
いくつかの実施形態では(例えば、1つ以上のカメラの移動の検出に応じて)、コンピュータシステムは、1つ以上のカメラの位置又は移動についての情報を含む1つ以上のアラートを表示する(1538)。いくつかの実施形態では、1つ以上のアラートは、(例えば、図7L、7N、7P、7R、7T-7U、7W、及び7Zを参照して記載するように)本明細書で記載されるアラートのうちの1つ以上を含む。
いくつかの実施形態では、1つ以上のアラートは、1つ以上のカメラから、1つ以上のカメラの視野の中にあるオブジェクト(例えば、1つ以上のカメラの視野の中心などの、所定の位置にあるオブジェクト)までの距離が、(例えば図7Wを参照して記載されているように)閾値距離の外にある(例えば、1つ以上のカメラが、視野の中のオブジェクトに対して近すぎる、又は遠すぎる)ことを示すアラートを含む。いくつかの実施形態では、視野の中のオブジェクトに対して1つ以上のカメラが近すぎることに基づき、エラー状態が生じたという判定に従い、(例えば、図7Wを参照して記載されるように)1つ以上のカメラが、視野の中のオブジェクトに近すぎることを示す(例えば、ユーザに、1つ以上のカメラをオブジェクトから離して移動するように促す)アラートが表示される。いくつかの実施形態では、視野の中のオブジェクトに対して1つ以上のカメラが遠すぎることに基づき、エラー状態が生じたという判定に従い、1つ以上のカメラが、視野の中のオブジェクトに遠すぎることを示す(例えば、ユーザに、1つ以上のカメラをオブジェクトに近づけて移動するように促す)アラートが表示される。
いくつかの実施形態では、1つ以上のアラートは、(例えば、図7Pを参照して記載されているように)1つ以上のカメラの移動速度が閾値速度の外にある(例えば、1つ以上のカメラの移動が速すぎて、物理的環境についての正確な深度情報をキャプチャすることができない)ことを示すアラートを含む。いくつかの実施形態では、閾値速度より速く移動する1つ以上のカメラに基づき、エラー状態が生じたという判定に従い、(例えば、図7Pに示すように)1つ以上のカメラが速く移動しすぎている(例えば、ユーザに、1つ以上のカメラの移動を遅くするように促す)アラートが表示される。
いくつかの実施形態では、1つ以上のアラートは、(例えば、7T及び7Zを参照して記載するように)1つ以上のカメラが、物理的環境(の、例えばサブセット)の所定の部分の中にとどまる必要がある(例えば、1つ以上のカメラは、1つ以上のカメラの現在位置から上又は下の階といった、異なるレベルの物理的環境に移動する必要がある、及び/又は、1つ以上のカメラは、物理的環境が内部空間である場合、外に移動してはならない)ことを示すアラートを含む。いくつかの実施形態では、1つ以上のカメラが物理的環境の中にとどまる必要があることを示すアラートは、1つ以上のカメラが、(例えば、図7Zを参照して記載されているように)階段吹き抜け又は戸口などの、物理的環境の境界に接近いるという判定に従い(例えば、1つ以上のカメラが境界を超えて移動してはならないことを警告するために)表示される。
いくつかの実施形態では、1つ以上のアラートは、1つ以上のカメラの視野が、物理的環境内の1つ以上の反射表面(例えば1つ以上の鏡)から逸れる必要があることを示すアラートを含む。いくつかの実施形態では、1つ以上のカメラが鏡から逸れる必要があることを示すアラートは、(例えば、図7Nを参照して記載されるように)1つ以上のカメラの視野が鏡を含むという判定に従い表示される。
いくつかの実施形態では、1つ以上のアラートは、1つ以上のカメラの視野の中のオブジェクトが、(例えば、図7K~7Lを参照して記載されているように)(例えば、物理的環境の壁及び床などの、物理的環境の固定要素に対して、閾値移動量未満で)実質的に静置されたままである必要があることを示すアラートを含む。いくつかの実施形態では、1つ以上のカメラの視野の中のオブジェクトが、静置されたままである必要があることを示すアラートは、(例えば、図7K~7Lを参照して記載されるように)1つ以上のカメラの視野の中の1つ以上のオブジェクトが移動したという判定に従い表示される。
いくつかの実施形態では、1つ以上のアラートは、(例えば、図7Rを参照して記載されているように)(例えば、それぞれの部分に関する深度情報が完全に、又は十分にキャプチャされていないという判定に従い)以前の位置における、1つ以上のカメラの視野の中にあった物理的環境のそれぞれの部分に対する、少なくともいくつかの深度情報がキャプチャされていない、1つ以上のカメラの以前の位置に、1つ以上のカメラが(例えば、現在の深度情報キャプチャセッションの間に)移動する(例えば、戻る)必要があることを示すアラートを含む。
いくつかの実施形態では、1つ以上のアラートは、(例えば、現在の深度情報キャプチャセッションに対して)物理的環境を示す深度情報のキャプチャが開始したときに、1つ以上のカメラが位置した初期位置に、1つ以上のカメラが移動する(例えば、戻る)必要があることを示すアラートを含む。いくつかの実施形態では、システムが複数のカメラを含む場合、1つ以上のカメラの「位置」とは、複数のカメラの各々のそれぞれの位置を含む、1組の位置(例えば、特定のカメラ配置)を意味する。いくつかの実施形態では、初期位置は、例えば、第1のユーザインタフェース要素(例えば、スキャン開始ユーザインタフェース要素)の、最も近い以前のアクティブ化に応じて、1つ以上のカメラが、深度情報キャプチャの最も近い開始時に位置していた位置である。
1つ以上のカメラの位置又は移動についての情報を含む1つ以上のアラートを提供することにより、ユーザが、深度情報キャプチャプロセスの間に、キャプチャされた深度情報の正確性を改善するようにガイドされる。改善された視覚的フィードバックをユーザに提供することにより、システムの操作性が向上し、ユーザとデバイスのインタフェースがより効率的となり(例えば、ユーザが意図する結果を達成することを補助することにより、そして、システムの操作時/システムとの双方向作用時にユーザの失敗を減らすことにより)、これによって更に、ユーザがデバイスをより素早く、そして効率的に使用することが可能となって、デバイスの電力使用が低下し電池寿命が向上する。
いくつかの実施形態では、コンピュータシステムは、(例えば、図7T~7Uを参照して記載されているように)物理的環境内の第1の空間(例えば第1の部屋)と、第1の空間とは異なり、これに隣接する、物理的環境内の第2の空間(例えば、第2の、隣接する部屋)との境界を示すユーザ入力を受信する(1540)。いくつかの実施形態では、(例えば、第2のユーザインタフェース要素のアクティブ化に応じて)第1の空間と第2の空間との境界を示すユーザ入力を受信した後で表示される、物理的環境の正投影ビューは、(例えば、図7S~7Uを参照して記載されるように)第1の空間と第2の空間との境界のインジケーションを含む。
いくつかの実施形態では、生成した正投影ビューは、(例えば、図7U~7Vを参照して記載されるように)第2の空間(例えば、又は、物理的環境内の任意の他の空間)の表現を含むことなく、第1の空間の境界まで拡張する物理的環境の表現である。いくつかの実施形態では、第1の空間と第2の空間との境界を示すユーザ入力を受信した後で、1つ以上のカメラは第2の空間の周りを移動し、システムは、第2の空間の一部である物理的環境の少なくとも一部を示す深度情報をキャプチャする。いくつかの実施形態では、(例えば、第2の空間の少なくとも一部をスキャンした後の、第2のユーザインタフェース要素のアクティブ化の後に表示される)生成された正投影ビューは、第1の空間に隣接した第2の空間の少なくとも一部の表現を含み、任意選択的に、第1の空間と第2の空間との境界を示す。より一般的には、いくつかの実施形態では、生成した正投影ビューは、物理的環境内の隣接する物理的空間の境界を定める(例えば、物理的環境は建物の内部であり、生成した正投影ビューは、スキャンされた建物の中の隣接する部屋又は空間の境界及び/又は入口を定めるフロアプランである)。
深度情報がキャプチャされている物理的環境の中の異なる空間どうしの境界を示すユーザ入力を受け入れることにより、深度情報がキャプチャされている物理的環境の程度を、ユーザが制御を行え、キャプチャされた深度情報に基づき後で生成された物理的環境のモデルのどこに、境界が示されるはずかを、ユーザが特定することが可能となり、加えて、物理的環境内の異なる特徴の相対位置を、システムが正確に判定することも補助する。更なる制御オプション、及び改善された視覚的フィードバックをユーザに提供することにより、システムの操作性が向上し、ユーザとデバイスのインタフェースがより効率的となり(例えば、ユーザが意図する結果を達成することを補助することにより、そして、システムの操作時/システムとの相互作用時にユーザの失敗を減らすことにより)、これによって更に、ユーザがデバイスをより素早く、そして効率的に使用することが可能となって、デバイスの電力使用が低下し電池寿命が向上する。
図15A~図15Dにおける動作について説明された特定の順序は単なる例であり、説明された順序は、動作を実行することができる唯一の順序であることを示すことを意図するものではないことを理解されたい。当業者であれば、本明細書に記載される動作を再順序付けるための様々な方法を認識するであろう。加えて、本明細書に記載される他の方法(例えば、方法800、900、1000、1100、1200、1300、1400、及び1600)に関して本明細書に記載される他のプロセスの詳細はまた、図15A~図15Dに関して上述した方法1500にも、類似の様式で適用可能であることに留意されたい。例えば、方法1500を参照して上述したユーザインタフェース、ユーザインタフェース要素、その中の物理的環境及び特徴及びオブジェクト、物理的環境のビュー、注釈アプリケーションモード、並びにアラートは任意選択的に、本明細書で記載される他の方法(例えば、方法800、900、1000、1100、1200、1300、1400、及び1600)を参照して本明細書で記載されるユーザインタフェース、ユーザインタフェース要素、その中の物理的環境及び特徴及びオブジェクト、物理的環境のビュー、注釈アプリケーションモード、並びにアラートの特性のうちの1つ以上を有する。簡潔にするために、それらの詳細はここでは繰り返さない。
図16A~16Eは、いくつかの実施形態に係る、環境の略図を確認し、これと相互作用させる方法1600を示すフローダイヤグラムである。方法1600は、表示装置(例えば、ディスプレイ(任意選択的にタッチ感知式)、プロジェクタ、ヘッドマウントディスプレイ、ヘッドアップディスプレイなど、例えば、タッチスクリーン112(図1A)、ディスプレイ340(図3A)、又は表示生成コンポーネント(単数又は複数)304(図3B))、1つ以上のカメラ(例えば、光センサ(単数又は複数)164(図1A)又はカメラ(単数又は複数)305(図3B))、及び任意選択的に、1つ以上の深度検知デバイス、例えば深度センサ(例えば、フライト時間センサ220(図2B)などの、1つ以上の深度センサ)を備えるコンピュータシステム(例えば、ポータブル多機能デバイス100(図1A)、デバイス300(図3A)、又はコンピュータシステム301(図3B))にて実施される。方法1600における一部の動作は、任意選択で組み合わされ、及び/又は、一部の動作の順序は、任意選択で変更される。
本明細書に記載されるように、表示されている略図の一部が変化しても(例えば、略図がズーム又は移動されても)、メトリックに対応する特徴の表現が、略図に少なくとも部分的に配置されたままであり続けるのであれば、方法1600は、環境の略図におけるメトリックの表現を移動する。こうすることにより、ユーザが、少なくとも部分的にビューから移動したメトリックの表現を、手動で再配置又は再表示する必要なく、方法はユーザに、略図の、任意のそれぞれの表示される部分において少なくとも部分的に見える特徴を記載する情報(例えば、対応するメトリックの表現)を、継続して提供する。更なるユーザの入力を必要とせず、1組の条件が満たされたときに操作を(例えば自動的に)実施することにより、システムの操作性が向上し、ユーザとデバイスのインタフェースがより効率的となり(例えば、ユーザが意図する結果を達成することを補助することにより、そして、システムの操作時/システムとの双方向作用時にユーザの失敗を減らすことにより)、これによって更に、ユーザがデバイスをより素早く、そして効率的に使用することが可能となって、デバイスの電力使用が低下し電池寿命が向上する。
コンピュータシステムは、環境の略図の第1の部分を表示し(1602)、略図の第1の部分は、環境内の第1の特徴の第1の表現(例えば、床又は部屋)、及び、第1の特徴(例えば、床面積の寸法)に対応し、環境の略図の第1の部分の中の第1の位置(例えば、物理的環境内の第1の物理的位置に対応する、正投影ビューの第1の部分の中の第1の位置)にて表示される、第1のメトリック表現を含む。いくつかの例を図7ACに示す。
コンピュータシステムは、(図7AD~7AFを参照して記載されているように)環境の略図の第2の部分を表示する要求(例えば、略図をズームイン若しくはズームアウト、及び/又はスクロール(例えば、水平移動)するといった、1つ以上の変換を実施する要求)に対応する第1の入力を受信する(1604)。
第1の入力を受信したことに応じて、コンピュータシステムは、環境の略図の第2の部分(例えば、略図の第1の部分において略図の1つ以上の変換を実施した結果に対応する、略図の第2の部分)を表示し(1606)、第1の特徴の第1の表現の一部が、環境の略図の第2の部分に表示され、環境の略図の第2の部分が第1の位置を含まない(例えば、第1の物理的位置が物理的環境の正投影ビューの第2の部分に含まれない)という判定に従い、コンピュータシステムは、(例えば、図7AK~7AMに示すように)環境の略図の第2の部分内の第2の位置にて、第1のメトリックの表現を表示する。いくつかの実施形態では、略図は、斜視図(例えば、図7Iに示すようなライブ又はシミュレーションした、一人称カメラビュー)とは異なる、(例えば、図7AKに示すような)環境の正投影ビューである。いくつかの実施形態では、第1の特徴の第1の表現の一部が、略図の第2の部分に表示されるという判定、及び、略図の第2の部分が第1の位置を含むという判定に従い、コンピュータシステムは、略図の第2の部分の中の第1の位置における、第1のメトリックの表現を表示する。
いくつかの実施形態では、環境の略図は、物理的環境の正投影ビュー(例えば、上視図又はフロアプランビューとも呼ばれる、平面正投影ビュー)であり(1608),正投影ビューは、1つ以上のカメラの視野表現(例えば、1つ以上のカメラが移動すると更新される視野の表現)に基づいて生成され、物理的環境の1つ以上の主たる特徴(例えば、壁、床、天井、扉、窓などの、構造上移動できない特徴)の表現を含む。いくつかの実施形態では、物理的環境の正投影ビューは、物理的環境を示す深度情報に基づき生成され、例えば方法1500を使用してキャプチャされる。
システムの1つ以上のカメラの視野の表現に基づき、物理的環境の正投影ビューである略図を表示することにより、ユーザが、物理的環境(の、例えばパラメータ及び寸法)についての情報を手動で入力する必要なく、システムの1つ以上のカメラが、システムにより入手した物理的環境についての情報に基づき配置される物理的環境のモデリングが可能となる。更なるユーザの入力を必要とせず、1組の条件が満たされたときに操作を(例えば自動的に)実施することにより、システムの操作性が向上し、ユーザとデバイスのインタフェースがより効率的となり(例えば、ユーザが意図する結果を達成することを補助することにより、そして、システムの操作時/システムとの双方向作用時にユーザの失敗を減らすことにより)、これによって更に、ユーザがデバイスをより素早く、そして効率的に使用することが可能となって、デバイスの電力使用が低下し電池寿命が向上する。
いくつかの実施形態では、略図の第1の部分は、(例えば、第1の特徴の第1の表現とは異なる)環境内の第2の特徴の第2の表現、及び、第2の特徴に対応し、環境の略図の第1の部分の(例えば、第1の位置とは異なる)第3の位置にて表示される(例えば、第1のメトリックとは異なる)第2のメトリックの表現を更に含む(1610)(例えば、第1の特徴の第1の表現、及び、第1のメトリックの表現と同時に表示される)。いくつかの実施形態では、略図の第1の部分は、環境内の特徴の、任意数のそれぞれの表現、及び、対応するメトリックの表現を含む。いくつかの実施形態では、略図の第1の部分は、(例えば、方法1500の操作1522を参照して本明細書に記載されているように)略図を表示する要求に対応する入力に応じて表示され、対応するメトリックの表現を有する、特徴の複数の表現は、(例えば、図7AB~7ACを参照して記載されているように)略図を表示する要求に対応する入力以外の、追加の入力を必要とすることなく、略図の第1の部分に同時に表示される。
複数のメトリックの表現を同時に表示することにより、ユーザが、各特徴についての情報を別々に、又は順に表示する要求を必要とすることなく、ユーザに、環境内の複数の特徴についての情報が提供される。操作を実行するのに必要な入力数を減少させることにより、システムの操作性が向上し、ユーザとデバイスのインタフェースがより効率的となり(例えば、ユーザが意図する結果を達成することを補助することにより、そして、システムの操作時/システムとの双方向作用時にユーザの失敗を減らすことにより)、これによって更に、ユーザがデバイスをより素早く、そして効率的に使用することが可能となって、デバイスの電力使用が低下し電池寿命が向上する。
いくつかの実施形態では、第1の入力を受信したことに応じて、第2の特徴の第2の表現の一部が、環境の略図の第2の部分に表示され、環境の略図の第2の部分が第3の位置を含む、という判定に従い、コンピュータシステムは、(例えば、図7AK~7AMを参照して記載されているように)環境の略図の第2の部分の第3の位置において、第2のメトリックの表現を表示する(1612)。いくつかの実施形態では、環境の略図の表示を第1の部分から第2の部分に移動させることにより、(例えば、第1の特徴の対応する第1の表現の少なくとも一部が、略図の第2の部分のビューの中に少なくとも部分的にある間、)あるメトリック(例えば、第1のメトリック)の表現が少なくとも部分的にビューの外側に移動されるものの、1つ以上の他のメトリック(例えば第2のメトリック)の表現がビューの、少なくとも部分的に外側への移動は生じない(例えば、第2のメトリックの表現、及び、第2の特徴の、対応する第2の表現は、略図の第2の部分のビューの中に完全にある)。したがって、少なくとも部分的にビューの外側に移動したメトリック(例えば、第1のメトリック)の表現は、ビューの中にとどまるように(例えば、第1の位置から第2の位置に)移動するものの、他のメトリック(単数又は複数)(例えば、第2のメトリック)は、同じ位置(単数又は複数)(例えば、第3の位置)のままであり、依然としてビューの中に(例えば、完全にビューの中に)ある(例えば、図7AK~7ANに示すように)。
略図の表示される部分に、少なくとも部分的に見えるままである第1の特徴の第1の表現に対応する、第1のメトリックの表現を移動させて、メトリックの表現がビューの中に完全にとどまったままにすることにより、ユーザが、第1のメトリックの表現を手動で再配置又は再表示する必要なく、別様においては少なくとも部分的にビューの外側に移動しているであろう、第1の特徴についての情報がユーザに提供される。更に、略図に対して、対応する特徴が略図内に提示されたままであり、少なくとも部分的にビューの外側に移動していない、第2のメトリックの表現の位置を維持することにより、略図の部分が、メトリックの過剰な移動なく表示される変化の視覚的フィードバックが、ユーザに提供される。1組の状況が満たされているときに、更なるユーザ入力を必要とすることなく操作を(例えば自動的に)実施し、改善された視覚的フィードバックをユーザに提供することにより、システムの操作性が向上し、ユーザとデバイスのインタフェースがより効率的となり(例えば、ユーザが意図する結果を達成することを補助することにより、そして、システムの操作時/システムとの相互作用時にユーザの失敗を減らすことにより)、これによって更に、ユーザがデバイスをより素早く、そして効率的に使用することが可能となって、デバイスの電力使用が低下し電池寿命が向上する。
いくつかの実施形態では、第1の入力を受信したことに応じて、第2の特徴の第2の表現の一部が、環境の略図の第2の部分に表示され、環境の略図の第2の部分が第3の位置を含まない、という判定に従い、コンピュータシステムは、環境の略図の第2の部分の第4の位置において、第2のメトリックの表現を表示する(1614)。いくつかの実施形態では、環境の略図の表示を第1の部分から第2の部分に移動させることにより、略図の第2の部分の中で少なくとも部分的にビューの中にある(例えば、とどまっている)、特徴の表現(例えば、第1の特徴及び第2の特徴)に対応する、複数のメトリック(例えば、第1のメトリック及び第2のメトリック)の表現が、少なくとも部分的にビューの外に移動される。したがって、メトリック(例えば第1及び第2のメトリック)の表現は、(例えば、略図の第2の部分内で、少なくとも部分的にビューの中にある特徴の対応する表現に従い)、ビューの中にある(例えば、とどまる)ように(例えば、それぞれ第1の位置から第2の位置、及び第3の位置から第4の位置に)移動する。
略図の表示される部分の中で、少なくとも部分的にビューの中にとどまる特徴の表現に対応する、複数のメトリックの表現を移動させて、メトリックの表現が完全にビューの中にとどまるようにすることにより、別様において少なくとも部分的にビューの外側に移動しているであろう各メトリックの表現を、ユーザが手動で再配置又は再表示することを必要とすることなく、ユーザに特徴についての情報が提供される。更なるユーザの入力を必要とせず、1組の条件が満たされたときに操作を(例えば自動的に)実施することにより、システムの操作性が向上し、ユーザとデバイスのインタフェースがより効率的となり(例えば、ユーザが意図する結果を達成することを補助することにより、そして、システムの操作時/システムとの双方向作用時にユーザの失敗を減らすことにより)、これによって更に、ユーザがデバイスをより素早く、そして効率的に使用することが可能となって、デバイスの電力使用が低下し電池寿命が向上する。
いくつかの実施形態では、又はいくつかの状況においては、略図の第1の部分は、(例えば、第1の特徴の第1の表現、及び第2の特徴の第2の表現とは異なる)環境内の第3の特徴の第3の表現、並びに、環境の略図内の、第3の特徴に対応し、第1の部分の(例えば、第1の位置及び第3の位置とは異なる)第5の位置にて表示される、(例えば、第1のメトリック及び第2のメトリックとは異なる)第3のメトリックの表現を更に含む(1616)。第3の特徴の第3の表現の一部が、環境の略図の第2の部分で表示され、環境の略図の第2の部分が第5の位置を含むという判定に従い、コンピュータシステムは、環境の略図の第2の部分の第5の位置において、第3のメトリックの表現を表示する。
いくつかの実施形態では、又はいくつかの状況においては、環境の略図の表示を第1の部分から第2の部分に移動させることにより、略図の第2の部分の中で少なくとも部分的にビューの中にある特徴(例えば、第1及び第2の特徴)に対応する、いくつかのメトリック(例えば、第1及び第2のメトリック)の表現が、少なくとも部分的にビューの外に移動されるものの、略図の第2の部分の中で少なくとも部分的にビューの中にある1つ以上の他の特徴(例えば第3の特徴)に対応する、1つ以上の他のメトリック(例えば第3のメトリック)の表現は、少なくとも部分的にビューの外に移動されない(例えば、第3の位置における第3のメトリックの表現は、略図の第2の部分の中で完全にビューの中にとどまる)。したがって、少なくとも部分的にビューの外に移動したメトリック(例えば、第1及び第2のメトリック)の表現は、ビューの中に(例えば完全に)あるように移動するものの、少なくとも部分的にビューの外に移動していないメトリック(例えば第3のメトリック)の表現は、依然としてビューの中にある同じ位置(単数又は複数)にとどまる(例えば、図7AK~7AMは、環境の略図の表示の偏移に応じて移動した、ソファの長さのメトリックを示すものの、コーヒーテーブルの長さのメトリックは、環境の略図の偏移前にそうであったように、環境に対して同じ位置にとどまり続ける)。
略図の表示される部分の中で、少なくとも部分的にビューの中にとどまる特徴の表現に対応する、複数のメトリックの表現を移動させて、メトリックの表現が完全にビューの中にとどまるようにすることにより、別様において少なくとも部分的にビューの外側に移動しているであろう各メトリックの表現を、ユーザが手動で再配置又は再表示することを必要とせずに、ユーザに特徴についての情報が提供される。更に、対応する特徴が略図内で提示されたままであり、少なくとも部分的にビューの外に移動していない1つ以上の他のメトリックの表現のそれぞれの位置を、略図に対して維持することにより、略図の部分が、メトリックの過剰な移動なく表示される変化の視覚的フィードバックが、ユーザに提供される。1組の条件が満たされているときに、更なるユーザ入力を必要とすることなく操作を(例えば自動的に)実施し、改善された視覚的フィードバックをユーザに提供することにより、システムの操作性が向上し、ユーザとデバイスのインタフェースがより効率的となり(例えば、ユーザが意図する結果を達成することを補助することにより、そして、システムの操作時/システムとの相互作用時にユーザの失敗を減らすことにより)、これによって更に、ユーザがデバイスをより素早く、そして効率的に使用することが可能となって、デバイスの電力使用が低下し電池寿命が向上する。
いくつかの実施形態では、略図の第1の部分は、第1の縮尺(例えば、本明細書において更に詳述するように、ズーム縮尺又は描画縮尺)にて表示され(1618)、略図の第1の部分の第1の位置にて表示される、第1のメトリックの表現は、第1の文字サイズにて表示される文字を含み、第1の入力は、略図の縮尺を変更する要求に対応する、ズーム入力(例えば、システムのタッチ感知面などの入力装置を通して受信する、つまみ又は脱つまみジェスチャ)を含み、第1の入力を受信したことに応じて、略図の第2の部分が、第1の縮尺とは異なる第2の縮尺で表示され、略図の第2の部分の第2の位置にて表示される、第1のメトリックの表現は、第1の文字サイズで表示される文字を含む。いくつかの実施形態では、略図の縮尺を変更する要求に対応する、ズーム入力(例えば、システムのタッチ感知面などの入力装置を通して受信する、つまみ又は脱つまみジェスチャ)を受信したことに応じて、システムは、(例えば、図7AD~7AFに示すように)(例えば、略図がズームされると、略図内での文字以外の要素の縮尺を変更し、メトリックの表現の一部である文字ラベルなどの、略図内での文字の縮尺を維持して)略図に表示される文字の縮尺を変更することなく、略図の縮尺を変更する。
環境の略図をズームする間に文字を固定サイズにて維持することにより、ユーザインタフェースにて表示される情報量を最適化しながら、文字の可読性が向上する。例えば、略図がズームインするにつれて、文字サイズが比例して大きくなることは、テキストが部分的にビューの外にズームされる(例えば、文字が大きすぎてユーザインタフェース内に適合できない)結果をもたらし得、かつ/又は、これは、略図の大きな割合を占め、略図内での他の要素(例えば、環境内での特徴の表現)の表示を不明瞭化する、若しくは妨げる。別の例において、略図がズームアウトするにつれて、文字サイズが比例して小さくなることにより、略図をズームアウトすることでビューにもたらされた、略図要素の中でもとりわけ、小さくて読めない、又は、識別するのが困難な文字がもたらされ得る。読解可能な文字を維持して、ユーザインタフェースの混乱を回避することにより、ユーザに改善された視覚的フィードバックを提供することにより、システムの操作性が向上し、ユーザとデバイスのインタフェースがより効率的となり(例えば、ユーザが意図する結果を達成することを補助することにより、そして、システムの操作時/システムとの相互作用時にユーザの失敗を減らすことにより)、これによって更に、ユーザがデバイスをより素早く、そして効率的に使用することが可能となって、デバイスの電力使用が低下し電池寿命が向上する。
いくつかの実施形態では、又はいくつかの状況においては、略図の第1の部分は、第1の縮尺で表示され(1620)、第1の縮尺に対応する第1の線の厚さにて表示される1つ以上の線(例えば、文字とは異なる描画線)を含み、第1の入力は、略図の縮尺を変更する要求に対応する、ズーム入力(例えば、システムのタッチ感知面などの入力装置を通して受信する、つまみ又は脱つまみジェスチャ)を含み、第1の入力を受信したことに応じて、略図の第2の部分が、第1の縮尺とは異なる第2の縮尺で表示される。第2の縮尺に対応する第2の線の厚さが閾値の線の厚さを超える(例えば、最大の線の厚さより大きい、又は、最小の線の厚さより小さい)という判定に従い、略図の第2の部分における1つ以上の線は、(例えば最大でも)閾値の線の厚さにて表示され(例えば、略図の第2の部分の線は、閾値の線の厚さより大きくは表示されない)、第2の線の厚さが閾値の線の厚さを超えないという判定に従い、略図の第2の部分における1つ以上の線は、第2の線の厚さにて表示される。
いくつかの実施形態では、略図の縮尺を変更する要求に対応する、ズーム入力(例えば、システムのタッチ感知面などの入力装置を通して受信する、つまみ又は脱つまみジェスチャ)を受信したことに応じて、システムは、略図の規模を変更する(略図の縮尺の変更に従い(例えば、これに比例して)略図内の線の、線の厚さを変更することを含む)。いくつかの実施形態では、線の厚さの変更は、閾値の線の厚さに限定されない(例えば、ズームアウトするとき、線の厚さを減少させることにより、最小の線の厚さ未満の線の厚さが得られ、線の厚さは、閾値の最小の線の厚さまでしか減少せず、別の例において、ズームインするときに、線の厚さが増加することで、最大の線の厚さを超える線の厚さがもたらされる場合、線の厚さは、閾値の最大の線の厚さまでしか増加しない)。
環境の略図をズームする間に線の厚さを再設計することにより、概して直観的なズーム経験がもたらされ、線の厚さを閾値厚さ(例えば、閾値の最大の線の厚さと、閾値の最小の線の厚さとの間の所定の範囲)に限定することにより、ユーザインタフェースに表示される情報量を最適化しながら、略図の可読性が改善される。例えば、略図がズームインするにつれて、無制限に線の厚さを比例して増加させることにより、略図の多くの部分を占める不必要な太線が生じ、略図内での他の要素(例えば環境内での特徴の他の表現、及び/又は特徴を説明する文字)の表示が不明瞭化する、又は妨げられる可能性がある。別の例において、略図がズームアウトするにつれて、線の厚さを比例して減少させることにより、略図をズームアウトすることでビューにもたらされた、略図要素の中でもとりわけ、薄すぎてはっきりと見えない、又は、識別するのが困難な線がもたらされ得る。略図の可読性を向上し、ユーザインタフェースの混乱を回避することで、改善された視覚的フィードバックをユーザに提供することにより、システムの操作性が向上し、ユーザとデバイスのインタフェースがより効率的となり(例えば、ユーザが意図する結果を達成することを補助することにより、そして、システムの操作時/システムとの相互作用時にユーザの失敗を減らすことにより)、これによって更に、ユーザがデバイスをより素早く、そして効率的に使用することが可能となって、デバイスの電力使用が低下し電池寿命が向上する。
いくつかの実施形態では、略図の第1の部分は、所定の組の描画縮尺の、第1の描画縮尺にて表示される(1622)。いくつかの実施形態では、それぞれの描画縮尺は、略図内の単位長さ(例えば1インチ)により表現されている、環境内のそれぞれの距離(例えば、長さが何フィートであるか)を特定する。あるいは、いくつかの実施形態において、それぞれの描画縮尺は、環境内での単位距離(例えば、長さが1フィート)を表現する、略図内のそれぞれの長さ(例えば、1インチのそれぞれの分数)を特定する。いくつかの実施形態では、それぞれの描画縮尺にて、略図のそれぞれの部分を表示している間に、それぞれの描画縮尺のインジケーションが表示される。いくつかの実施形態では、それぞれの描画縮尺の表示されるインジケーションは、略図のズーム縮尺が変更されると更新される。
いくつかの実施形態では、第1の入力は、略図の縮尺を変更する要求に対応するズーム入力を含み、第1の入力を受信したことに応じて、ズーム入力が、略図の縮尺を、所定の組の描画縮尺における第2の描画縮尺の閾値内(例えば、それぞれの縮尺が第2の描画縮尺に等しいか否かに関係なく)(例えば、所定の組の描画縮尺からの第2の描画縮尺を含み(例えば、これを中心にし)、所定の組の描画縮尺の任意の他の縮尺を含まない、縮尺の範囲内)にある、それぞれの縮尺に変更する要求に対応するという判定に従い、コンピュータシステムは、(例えば、略図の縮尺を第2の描画縮尺にスナップして)第2の描画縮尺にて、略図の第2の部分を表示する。
いくつかの実施形態では、又はいくつかの状況においては(例えば、ズーム入力における移動量に基づき)、第2の描画縮尺は第1の描画縮尺である。いくつかの実施形態では、第2の描画縮尺は第1の描画縮尺とは異なる。いくつかの実施形態では、略図の要求されたそれぞれの縮尺が、所定の組の描画縮尺内のそれぞれの描画縮尺の閾値の外にある場合、システムは、それぞれの描画縮尺にて略図を表示する(例えば、略図の縮尺が、所定の組から描画縮尺にスナップされていない、所定の組の連続した描画縮尺間でのある範囲の縮尺が存在する)。いくつかの実施形態では、所定の組の描画縮尺は、略図の長さと、対応する、環境内で表現された距離との整数比(例えば、単純な分数)(例えば、環境内で整数のフィート数を表現する、略図における1インチ、環境内で整数のメートル数を表現する、略図内での1センチメートル、又は、環境内で1フィートを表現する1インチの単純な分数(例えば1/2、1/4、1/6など)など)に対応する描画縮尺を含む。いくつかの実施形態では、所定の組の描画縮尺は、略図の長さと、対応する、環境内で表現された距離との整数比(例えば、単純な分数)に対応する描画縮尺のみを含む。
略図のズーム縮尺を、(例えば、略図の長さと、環境内での対応する表現された距離との整数比又は単純な分数に対応する)所定の描画縮尺にスナップすることにより、環境の略図を検視するのに有用なズーム縮尺を示す視覚的フィードバックがユーザに提供され、ユーザが、より素早くかつ容易に、所定の描画縮尺のうちの1つを選択するのを補助する。改善された視覚的フィードバックをユーザに提供し、操作を実施するのに必要な入力数及び/又は程度が減少することにより、システムの操作性が向上し、ユーザとデバイスのインタフェースがより効率的となり(例えば、ユーザが意図する結果を達成することを補助することにより、そして、システムの操作時/システムとの相互作用時にユーザの失敗を減らすことにより)、これによって更に、ユーザがデバイスをより素早く、そして効率的に使用することが可能となって、デバイスの電力使用が低下し電池寿命が向上する。
いくつかの実施形態では、コンピュータシステムは、略図のそれぞれの部分に、(例えば、扉又は固定具などの、所定の種類の特徴である)環境内のそれぞれの特徴の表現を表示し(1624)、ここで、それぞれの特徴の表現の視覚的性質(例えば向き)は、(例えば、図7AN~7AOを参照して記載されているように)それぞれの特徴の性質(例えば、環境内での扉の向き)の第1の値に対応する、第1の値(例えば、扉の向きは、第1の向きに開いているものとして表示され、このような開口は、隣接する部屋に対して外向きである)を有する。いくつかの実施形態では、コンピュータシステムは、それぞれの特徴の表現の選択に対応する入力(例えば、それぞれの特徴の表現に対応する、タッチ感知面上での、ある位置におけるタップ入力などの、それぞれの特徴の表現に向けられる入力)を受信し、それぞれの特徴の表現の選択に対応する入力を受信したことに応じて、コンピュータシステムは、第1の値とは異なる第2の値を有する視覚的性質を有するそれぞれの特徴の表現を表示し(例えば、扉の表現の向きを変えて第2の向きに開け(例えば、隣接する部屋に対して内向きへの開口))、ここで、それぞれの特徴の表現の視覚的性質の第2の値は、それぞれの特徴の性質の第2の値に対応する。
いくつかの実施形態では、所定の種類のそれぞれの特徴の表現は、少なくとも簡潔に、視覚的に強調され、それらが(例えば、その選択に対応する入力により)編集可能であることを示す。いくつかの実施形態では、それぞれの特徴の表現に対応する異なる種類の入力に対応して、システムは、視覚的性質の値を変更してそれぞれの特徴の表現を(例えば自動的に)修正する代わりに、それぞれの特徴の表現を編集するためのユーザインタフェースを表示する。いくつかの実施形態では、所定の種類の特徴であるそれぞれの特徴の表現ではなく、文字領域の選択に応じて、システムは、(例えば、図7AH~7AJを参照して記載されているように)文字領域の視覚的性質の値を(例えば自動的に)変更するのではなく、文字領域で文字を編集するためのユーザインタフェースを表示する。
特徴の表示表現の、向きを変更するなどの、視覚的性質の値を修正して、特徴の表現を選択する(例えば、ユーザからの)入力に応じて、環境内での特徴の対応する性質(例えば向き)の異なる値を反映することにより、環境内の特徴が、略図内でどのように表現されるかの制御が行えるようになり、環境の略図が正確に、環境内の特徴を描写する。更なる制御でユーザインタフェースを混乱させることなく更なる制御オプションを提供し、操作を行うのに必要な入力数を減少させることにより、システムの操作性が向上し、ユーザとデバイスのインタフェースがより効率的となり(例えば、ユーザが意図する結果を達成することを補助することにより、そして、システムの操作時/システムとの相互作用時にユーザの失敗を減らすことにより)、これによって更に、ユーザがデバイスをより素早く、そして効率的に使用することが可能となって、デバイスの電力使用が低下し電池寿命が向上する。
いくつかの実施形態では、略図は、略図を説明する文字ラベル(例えば、表題欄などの、文字領域)を含み(1626)、方法は、略図の表示される部分が、文字ラベルを表示するための略図内の規定の位置を含むか否かに関係なく、略図の表示される部分に重なり合った文字ラベルを表示する。いくつかの実施形態では、略図全体が表示されるときに、文字ラベルは規定の位置で表示される。いくつかの実施形態では、(例えば、略図をズームする、変換する、回転する、又は別の方法で変換する要求に対応する入力に応じて)表示される略図の部分が変化すると、(例えば、図7AH~7AJを参照して記載されるように)略図のどの部分が表示されるかに関係なく、文字ラベルは、任意選択的に、略図のそれぞれの部分が表示される表示装置又はユーザインタフェースに対して所定の位置において、略図のそれぞれの表示される部分にて表示される、又はこれに重なり合う。
略図のどの部分が表示されるか、及び、表示される部分が、文字ラベルの規定の表示位置を含むか否かに関係なく、略図全体を説明する文字ラベル(例えば表題欄)を連続して表示することにより、文字ラベルにより伝達する情報を得るために、別様において、複雑なメニュー階層をナビゲートする必要があり得る、追加の入力をユーザが提供する必要なく、どの略図(又はその一部)が表示されているかについて知らせる視覚的フィードバックがユーザに提供される。更なるユーザ入力を必要とすることなく、ビュー内で文字ラベル(例えば表題欄)を維持することにより、改善された視覚的フィードバックをユーザに提供することで、文字ラベルにより伝達される情報を検視するのに必要な入力数を減少させることにより、システムの操作性が向上し、ユーザとデバイスのインタフェースがより効率的となり(例えば、ユーザが意図する結果を達成することを補助することにより、そして、システムの操作時/システムとの相互作用時にユーザの失敗を減らすことにより)、これによって更に、ユーザがデバイスをより素早く、そして効率的に使用することが可能となって、デバイスの電力使用が低下し電池寿命が向上する。
いくつかの実施形態では、環境の略図(例えば、略図の任意の表示される部分)は、機械的描写スタイル(例えば、線がきれいかつくっきりと描かれており、文字が印刷用フォントを使用して表示される、正式な工業用描写)である第1の描写スタイルで表示される(1628)。いくつかの実施形態では、ユーザ入力を通して略図に対して提供される、手描き又は手書き要素(例えば文字など)は、オブジェクト及び/又は文字認識を試用して、機械的描写スタイルの要素に変換される(例えば、ユーザの手の動きに従う手書き文字は印刷用フォントに変換され、手書き文字の代わりに機械的描写スタイルの略図にて表示される)。いくつかの実施形態では、コンピュータシステムは、手描きスタイルである第2の描画スタイル(例えば、線及び文字が、手描きされたかのように見え(例えば、ユーザの手の動きに厳密に従い)、任意選択的に、鉛筆を使用して描画されたかのように様式化される、くだけたラフスケッチ)で略図を表示する要求に対応する入力を受信する。いくつかの実施形態では、第2の描画スタイルで略図を表示する要求に対応する入力は、第2の描画スタイルに対応し、アクティブ化されたときに、第2の描画スタイルに表示されている略図をもたらす、ユーザインタフェース要素のアクティブ化を含む。いくつかの実施形態では、ユーザインタフェース要素のアクティブ化は、第1の描写スタイルと第2の描画スタイルとの描画スタイルをトグルする。いくつかの実施形態では、第2の描画スタイルで略図を表示する要求に対応する入力を受信したことに応じて、コンピュータシステムは、第2の描画スタイルで略図(例えば、又は略図の一部)を表示する。
手描きスタイルで略図を表示することにより、略図の手描き版の情報が、(例えば、正式な機械的描写スタイルにより提案され得る)所定の正確性基準を満たすよりも適切であることをユーザに伝達する視覚的フィードバックが提供される。改善されたフィードバックをユーザに提供することにより、システムの操作性が向上し、ユーザとデバイスのインタフェースがより効率的となり(例えば、ユーザが意図する結果を達成することを補助することにより、そして、システムの操作時/システムとの双方向作用時にユーザの失敗を減らすことにより)、これによって更に、ユーザがデバイスをより素早く、そして効率的に使用することが可能となって、デバイスの電力使用が低下し電池寿命が向上する。
いくつかの実施形態では、第1のメトリックを含む(1630)第1の1組の(例えば1つ以上の)メトリックの表現の表示が可能となり、第2の1組の(例えば1つ以上の)メトリックの表現のディスプレイへの表示は不可能である。いくつかの実施形態では、コンピュータシステムは、第2の1組のメトリックの表現の表示を可能にする要求に対応する入力を受信し、第2の1組のメトリックの表現を表示する要求に対応する入力の受信に応じて、コンピュータシステムは、(例えば図7AR~7ATを参照して記載されるように)第2の1組のメトリックの各々のメトリックに対して、それぞれのメトリックの表現を表示する。いくつかの実施形態では、第1の1組のメトリックの表現の表示は既定で可能であり、不可能にすることはできない。いくつかの実施形態では、第2の1組のメトリックの表現の表示は、(例えば図7AR~7ATを参照して記載されるように)ユーザ入力により可能にする、又は不可能にすることができる。いくつかの実施形態では、(例えば、図7AR~7ATを参照して記載されているように)第2の1組のメトリックの表現を表示する要求に対応する入力は、第2の1組のメトリックに対応するユーザインタフェースのアクティブ化を含む(例えば、ユーザインタフェース要素のアクティブ化は、第2の1組のメトリックの表現の表示をトグルによりオンオフで切り替える)。
既定でユーザに表現される必要がない追加のメトリック(例えば、環境の追加の寸法)が、システムに利用可能となる、又はシステムにより判定可能である場合、追加のメトリックの表示を可能にする(例えばユーザからの)入力に応じて、追加のメトリックを表示することにより、要求されたときのみユーザに追加のメトリックが提示され、ユーザインタフェースが、別様においてあまりに多くの情報で混乱するのを回避する。ユーザインタフェースを不必要に混乱させることなく、ユーザの制御下にて改善された視覚的フィードバックを提供することにより、システムの操作性が向上し、ユーザとデバイスのインタフェースがより効率的となり(例えば、ユーザが意図する結果を達成することを補助することにより、そして、システムの操作時/システムとの相互作用時にユーザの失敗を減らすことにより)、これによって更に、ユーザがデバイスをより素早く、そして効率的に使用することが可能となって、デバイスの電力使用が低下し電池寿命が向上する。
いくつかの実施形態では、略図のそれぞれの表示される部分は、環境内の角部(例えば、環境内の2つ以上の壁がゼロ以外の角度で交わる箇所)の表現を含む(1632)。いくつかの実施形態では、角部が直角を形成する(例えば、角部の角度測定が90度又は270度である)という判定に従い、コンピュータシステムは、角部の角度測定の表示を取り止め、角部が直角を形成しない(例えば、角部が、90度又は270度以外の鋭角若しくは鈍角、又は優角を形成する)という判定に従い、コンピュータシステムは、角部の角度測定を表示する。いくつかの実施形態では、メトリック(例えば角度測定)は、直角でない略図の表示される部分にて表現される各々の角部に対して表示される。いくつかの実施形態では、(例えば、図7ATを参照して記載されているように)角度メトリックは、第2の1組のメトリックの一部であり、第2の1組のメトリックの表現の表示が可能であるときに表示され、既定で表示される第1の1組のメトリックの一部ではない。
追加の(例えば、環境内の角部に対応する角度などの、特定の種類の)メトリックが入手可能である、又はシステムにより判定可能である場合、追加のメトリックのサブセットのみ(例えば、直角ではない角度のみに対する角度値)の表現を表示することにより、表示表現のないメトリックが既存の、又は標準的な値(例えば、壁が交わる角度に対して90又は270度)を有することもまた示唆しながら、メトリックのサブセットの値をユーザに知らせる視覚的フィードバックが提供され、これにより、表示されるもの以上に追加情報が伝達される。ユーザインタフェースの混乱を低下させる方法で、改善された視覚的フィードバックをユーザに提供することにより、システムの操作性が向上し、ユーザとデバイスのインタフェースがより効率的となり(例えば、ユーザが意図する結果を達成することを補助することにより、そして、システムの操作時/システムとの相互作用時にユーザの失敗を減らすことにより)、これによって更に、ユーザがデバイスをより素早く、そして効率的に使用することが可能となって、デバイスの電力使用が低下し電池寿命が向上する。
いくつかの実施形態では、環境は、1個以上の家具を含む(1634)(例えば、略図は、環境内の1個以上の家具を表現するデータを含む、又はこれと関連している)。いくつかの実施形態では、コンピュータシステムは、環境内で家具の表現の表示を(例えばオン又はオフに)トグルする要求に対応する入力を受信し、環境内で家具の表現の表示をトグルする要求に対応する入力を受信したことに応じて、1個以上の家具の表現が略図に表示されるという判定に従い、コンピュータシステムは、略図内での、1個以上の家具の表現の表示を中止し(例えば、家具の表現の表示を止め)、1個以上の家具の表現が略図に表示されないという判定に従い、コンピュータシステムは、(例えば、図7AH~7AJに従って記載されるように)略図内に、1個以上の家具の表現を表示する(例えば、家具の表現の表示のスイッチを入れる)。
既定で必ずしも表示される必要のない、略図の追加の要素(特定の種類の特徴、例えば、家具、又はより一般的には、複数の所定の部類の家具における、それぞれの部類の特徴の要素である特徴などの、環境内での表現)の表示が利用可能である場合、追加の要素の表示を可能にする(例えばユーザからの)入力に応じて、追加の要素を表示することにより、要求されたときのみユーザに追加の要素が提示され、ユーザインタフェースが、別様においてあまりに多くの情報で混乱するのを回避する。ユーザインタフェースを不必要に混乱させることなく、ユーザの制御下にて改善された視覚的フィードバックを提供することにより、システムの操作性が向上し、ユーザとデバイスのインタフェースがより効率的となり(例えば、ユーザが意図する結果を達成することを補助することにより、そして、システムの操作時/システムとの相互作用時にユーザの失敗を減らすことにより)、これによって更に、ユーザがデバイスをより素早く、そして効率的に使用することが可能となって、デバイスの電力使用が低下し電池寿命が向上する。
図16A~図16Eにおける動作について説明された特定の順序は単なる例であり、説明された順序は、動作を実行することができる唯一の順序であることを示すことを意図するものではないことを理解されたい。当業者であれば、本明細書に記載される動作を再順序付けるための様々な方法を認識するであろう。加えて、本明細書に記載される他の方法(例えば、方法800、900、1000、1100、1200、1300、1400、及び1500)に関して本明細書に記載される他のプロセスの詳細はまた、図16A~図16Eに関して上述した方法1600にも、類似の様式で適用可能であることに留意されたい。例えば、方法1600を参照して上述したユーザインタフェース、その中の環境(例えば物理的環境)及び特徴及びオブジェクト、並びにメトリック(例えば測定値)は任意選択的に、本明細書で記載される他の方法(例えば、方法800、900、1000、1100、1200、1300、1400、及び1500)を参照して本明細書で記載される、ユーザインタフェース、その中の環境(例えば物理的環境)及び特徴及びオブジェクト、並びにメトリック(例えば測定値)の特性のうちの1つ以上を有する。簡潔にするために、それらの詳細はここでは繰り返さない。
上記は、説明を目的として、特定の実施形態を参照して記述されている。しかしながら、上記の例示的な論考は、網羅的であること、又は開示される厳密な形態に本発明を限定することを意図するものではない。上記の教示を考慮して、多くの修正及び変形が可能である。本発明の原理及びその実際的な応用を最良の形で説明し、それによって他の当業者が、想到される特定の用途に適した様々な変更で本発明及び様々な記載された実施形態を最良の形で使用することを有効化するために、これらの実施形態を選択し記載した。