本出願は、2017年5月16日に出願された、「Image Data for Enhanced User Interactions」と題する米国特許仮出願第62/507,148号に対する優先権を主張するものであり、この出願は、その全体が参照により本明細書に組み込まれる。
以下の説明は、例示的な方法、パラメータなどについて記載する。しかしながら、そのような説明は、本開示の範囲に対する限定として意図されるものではなく、代わりに例示的な実施形態の説明として提供されることを認識されたい。
特定の瞬間の視覚的表現を単に保存するためだけでなく、アバター及び/又は画像データを使用するための効率的な方法及びインタフェースを提供する電子デバイスが必要とされていている。以下に説明する技術のうちのいくつかの実施形態を使用することにより、アバター及び/又は画像データを用いて、電子デバイス及び他のユーザとのユーザ対話を拡張することができる。そのような技術は、他のユーザと通信し、彼らの電子デバイスと対話するためにアバター及び/又は画像データを使用しているユーザの認識的負担を軽減し、それによって生産性を向上させることができる。更に、このような技法は、普通なら冗長なユーザ入力に浪費されるプロセッサ及び電池の電力を低減させることができる。
以下、図1A~図1B、図2、図3、図4A~図4B、及び図5A~図5Bにより、以下に記載される、ユーザ対話を拡張するために画像データを使用する技術を実行するための例示的なデバイスの説明を提供する。
図6A~図6Jは、アバターを有するメッセージに対するユーザステータス情報を通信するための例示的なユーザインタフェースを示す。図7A~図7Bは、いくつかの実施形態に係る、アバターを有するメッセージに対するユーザステータス情報を通信するための方法を示すフロー図である。図6A~図6Gにおけるユーザインタフェースは、図7A~図7Bにおけるプロセスを含む、以下において説明されるプロセスを例示するために用いられる。
図9A~図9Lは、3Dモデルを構築するデータをキャプチャするための例示的なユーザインタフェースを示す。図10A~図10Bは、いくつかの実施形態に係る、3Dモデルを構築するデータをキャプチャするための方法を示すフロー図である。図9A~図9Lにおけるユーザインタフェースは、図10A~図10Bにおけるプロセスを含む、以下において説明されるプロセスを例示するために用いられる。
図12A~図12Jは、ユーザに基づいてデータ及びアプリケーションへのアクセスを制限するための例示的なユーザインタフェースを示す。図13A~図13Bは、いくつかの実施形態に係る、ユーザに基づいてデータ及びアプリケーションへのアクセスを制限するための方法を示すフロー図である。図12A~図12Jにおけるユーザインタフェースは、図13A~図13Bにおけるプロセスを含む、以下において説明されるプロセスを例示するために用いられる。
図16A~図16Gは、キャプチャされた画像データ及び1つ以上の基準のセットに基づいて、動作の実行を制限する例示的なユーザインタフェースを示す。図17A~図17Bは、いくつかの実施形態による、キャプチャされた画像データ及び1つ以上の基準のセットに基づいて、動作の実行を制限する方法を示すフロー図である。図16A~図16Gのユーザインタフェースは、図17A~図17Bのプロセスを含む後述するプロセスを示す。
図18A~図18Lは、セキュリティ強化ベースのキャプチャされた画像データ及び1つ以上の認可基準のセットの例示的なユーザインタフェースを示す。図19A~図19Bは、いくつかの実施形態による、セキュリティ強化ベースのキャプチャされた画像データ及び1つ以上の認可基準のセットの方法を示すフロー図である。図18A~図18Lのユーザインタフェースは、図19A~図19Bのプロセスを含む後述するプロセスを示す。
図20A~図20Fは、キャプチャされた画像データに基づいて、電子デバイス上のイベントに対応するアラート条件を処理する例示的なユーザインタフェース及びシーンを示す。図21A~図21Bは、いくつかの実施形態による、キャプチャされた画像データに基づいて、電子デバイス上のイベントに対応するアラート条件を処理する方法を示すフロー図である。図20A~図20Fのユーザインタフェースは、図21A~図21Bのプロセスを含む後述するプロセスを示す。
図22A~図22Fは、キャプチャされた画像データに基づいて、曖昧な音声コマンドを実行する例示的なユーザインタフェース及びシーンを示す。図23A~図23Bは、いくつかの実施形態による、キャプチャされた画像データに基づいて、曖昧な音声コマンドを実行する方法を示すフロー図である。図22A~図22Fのユーザインタフェースは、図23A~図23Bのプロセスを含む後述するプロセスを示す。
図24A~図24Hは、高ダイナミックレンジ(HDR)画像を生成する例示的なユーザインタフェース及びキャプチャされた画像データを示す。図25A~図24Bは、いくつかの実施形態による、高ダイナミックレンジ(HDR)画像を生成する方法を示すフロー図である。図24A~図24Hのユーザインタフェースは、図25A~図25Bのプロセスを含む後述するプロセスを示す。
図26A~図26Kは、コンポジット画像を生成する例示的なユーザインタフェース、シーン、及びキャプチャされた画像データを示す。図27A~図27Bは、いくつかの実施形態による、コンポジット画像を生成する方法を示すフロー図である。図26A~図26Kのユーザインタフェースは、図27A~図27Bのプロセスを含む後述するプロセスを示す。
以下の説明では、様々な要素について説明するために、「第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機能及び/又は音楽プレーヤ機能などの他の機能も含む、携帯電話などのポータブル通信デバイスである。ポータブル多機能デバイスの例示的な実施形態としては、カリフォルニア州クパチーノのApple Inc.からのiPhone(登録商標)、iPod Touch(登録商標)、及びiPad(登録商標)のデバイスが挙げられるが、これらに限定されない。任意選択的に、タッチ感知面を有するラップトップ又はタブレットコンピュータ(例えば、タッチスクリーンディスプレイ及び/又はタッチパッド)などの他のポータブル電子デバイスも使用される。また、いくつかの実施形態では、デバイスはポータブル通信デバイスではなく、タッチ感知面を有するデスクトップコンピュータ(例えば、タッチスクリーンディスプレイ及び/又はタッチパッド)であることも理解されたい。
以下の論考では、ディスプレイ及びタッチ感知面を含む電子デバイスについて説明する。しかしながら、電子デバイスは、任意選択的に、物理キーボード、マウス、及び/又はジョイスティックなどの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つ以上の光センサ164を含む。デバイス100は、任意選択的に、デバイス100上の接触の強度を検出する1つ以上の接触強度センサ165(例えば、デバイス100のタッチ感知ディスプレイシステム112などのタッチ感知面)を含む。デバイス100は、任意選択的に、デバイス100上で触知出力を生成する(例えばデバイス100のタッチ感知ディスプレイシステム112又はデバイス300のタッチパッド355などのタッチ感知面上で触知出力を生成する)1つ以上の触知出力生成器167を含む。これらの構成要素は、任意選択的に、1つ以上の通信バス又は信号ライン103を介して通信する。
本明細書及び特許請求の範囲では、タッチ感知面上の接触の「強度」という用語は、タッチ感知面上の接触(例えば、指の接触)の力若しくは圧力(単位面積当たりの力)、又はタッチ感知面上の接触の力若しくは圧力に対する代理(プロキシ)を指す。接触の強度は、少なくとも4つの別個の値を含み、より典型的には、数百の(例えば、少なくとも256の)別個の値を含む、値の範囲を有する。接触の強度は、任意選択的に、様々な手法、及び様々なセンサ又はセンサの組合せを使用して、特定(又は測定)される。例えば、タッチ感知面の下又はそれに隣接する1つ以上の力センサは、任意選択的に、タッチ感知面上の様々なポイントにおける力を測定するために使用される。いくつかの実装形態では、複数の力センサからの力測定値は、接触の推定される力を判定するために組み合わされる(例えば、加重平均)。同様に、スタイラスの感圧性先端部は、任意選択的に、タッチ感知面上のスタイラスの圧力を特定するために使用される。あるいは、タッチ感知面上で検出される接触エリアのサイズ及び/若しくはその変化、接触に近接するタッチ感知面の電気容量及び/若しくはその変化、並びに/又は、接触に近接するタッチ感知面の抵抗及び/若しくはその変化は、任意選択的に、タッチ感知面上の接触の力又は圧力の代替物として使用される。いくつかの実装形態では、接触の力又は圧力のための代替測定値は、強度閾値を超えているかどうかを判定するために直接使用される(例えば、強度閾値は、代替測定値に対応する単位で記述される)。いくつかの実装形態では、接触力又は圧力に対する代理測定は、推定される力又は圧力に変換され、推定される力又は圧力は、強度閾値を超過したかどうかを判定するために使用される(例えば、強度閾値は、圧力の単位で測定される圧力閾値である)。接触の強度をユーザ入力の属性として使用することにより、アフォーダンスを(例えば、タッチ感知ディスプレイ上に)表示するための、及び/又は、ユーザ入力を(例えば、タッチ感知ディスプレイ、タッチ感知面、又は、ノブ若しくはボタンなどの物理的/機械的制御部を介して)受信するための面積が制限されている、低減されたサイズのデバイス上で、通常であればユーザによってアクセスすることが不可能であり得る追加のデバイス機能への、ユーザのアクセスが可能となる。
本明細書及び特許請求の範囲で使用されるように、用語「触知出力」は、ユーザの触覚でユーザによって検出されることになる、デバイスの従前の位置に対するそのデバイスの物理的変位、デバイスの構成要素(例えば、タッチ感知面)の、そのデバイスの別の構成要素(例えば、筐体)に対する物理的変位、又は、デバイスの質量中心に対する構成要素の変位を指す。例えば、デバイス又はデバイスの構成要素が、タッチに敏感なユーザの表面(例えば、ユーザの手の指、手のひら、又は他の部分)に接触している状況では、物理的変位によって生成された触知出力は、そのデバイス又はデバイスの構成要素の物理的特性の認識される変化に相当する触感として、ユーザによって解釈されることになる。例えば、タッチ感知面(例えば、タッチ感知ディスプレイ又はトラックパッド)の移動は、ユーザによって、物理アクチュエータボタンの「ダウンクリック」又は「アップクリック」として、任意選択的に解釈される。いくつかの場合、ユーザの動作により物理的に押された(例えば、変位された)タッチ感知面に関連付けられた物理アクチュエータボタンの移動がない時でさえ、ユーザは「ダウンクリック」又は「アップクリック」などの触感を感じる。別の例として、タッチ感知面の移動は、タッチ感知面の平滑度に変化がない場合であっても、ユーザによって、そのタッチ感知面の「粗さ」として、任意選択的に解釈又は感知される。そのようなユーザによるタッチの解釈は、ユーザの個人的な感覚認知に左右されるが、大多数のユーザに共通する、多くのタッチの感覚認知が存在する。従って、触知出力が、ユーザの特定の感覚認知(例えば、「アップクリック」「ダウンクリック」、「粗さ」)に対応するものと記述される場合、別途記載のない限り、生成された触知出力は、典型的な(又は、平均的な)ユーザの記述された感覚認知を生成するデバイス、又はデバイスの構成要素の物理的変位に対応する。
デバイス100は、ポータブル多機能デバイスの一例に過ぎず、デバイス100は、任意選択的に、示されているものよりも多くの構成要素又は少ない構成要素を有するものであり、任意選択的に、2つ以上の構成要素を組合せるものであり、又は、任意選択的に、それらの構成要素の異なる構成若しくは配置を有するものであることを理解されたい。図1Aに示す様々な構成要素は、1つ以上の信号処理回路及び/又は特定用途向け集積回路を含む、ハードウェア、ソフトウェア、又はハードウェアとソフトウェアの両方の組合せで実施される。
メモリ102は、任意選択的に、高速ランダムアクセスメモリを含み、また任意選択的に、1つ以上の磁気ディスク記憶デバイス、フラッシュメモリデバイス、又は他の不揮発性ソリッドステートメモリデバイスなどの不揮発性メモリを含む。メモリコントローラ122は、任意選択的に、デバイス100の他の構成要素によるメモリ102へのアクセスを制御する。
周辺機器インタフェース118は、デバイスの入力及び出力周辺機器をCPU120及びメモリ102に結合するために使用することができる。1つ以上のプロセッサ120は、メモリ102に記憶された様々なソフトウェアプログラム及び/又は命令セットを動作させる、又は実行して、デバイス100のための様々な機能を実行し、データを処理する。いくつかの実施形態では、周辺機器インタフェース118、CPU120、及びメモリコントローラ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)などの無線ネットワークなどのネットワークと、また他のデバイスと、無線通信によって通信する。RF回路108は、任意選択的に、短距離通信無線機などによって近距離通信(near field communication、NFC)フィールドを検出するよく知られている回路を含む。無線通信は、任意選択的に、それだけに限定されるものではないが、動き通信用のグローバルシステム(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)、近距離通信(NFC)、広帯域符号分割多元接続(wideband code division multiple access、W-CDMA)、符号分割多元接続(code division multiple access、CDMA)、時分割多元接続(time division multiple access、TDMA)、Bluetooth(登録商標)、Bluetoothローエネルギ(Bluetooth Low Energy、BTLE(登録商標))、ワイヤレスフィデリティ(Wireless Fidelity、Wi-Fi(登録商標))(例えば、IEEE 802.11a、IEEE 802.11b、IEEE 802.11g、IEEE 802.11n、及び/若しくはIEEE 802.11ac)、ボイスオーバインターネットプロトコル(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はまた、ヘッドセットジャック(例えば、図2の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つ以上のボタン(例えば、図2の208)は、任意選択的に、スピーカ111及び/又はマイクロフォン113の音量コントロールのための上下ボタンを含む。1つ以上のボタンは、任意選択的に、プッシュボタン(例えば、図2の206)を含む。
全体として参照により本明細書に組み込まれている、2005年12月23日出願の米国特許出願第11/322,549号、「Unlocking a Device by Performing Gestures on an Unlock Image」、米国特許第7,657,849号に記載されているように、プッシュボタンの素早い押下は、任意選択的に、タッチスクリーン112のロックを係合解除し、又は任意選択的に、タッチスクリーン上のジェスチャを使用してデバイスをアンロックするプロセスを開始する。プッシュボタン(例えば、206)のより長い押下は、任意選択的に、デバイス100への電力をオン又はオフにする。ボタンのうちの1つ以上の機能性は、任意選択的に、ユーザによってカスタマイズ可能である。タッチスクリーン112は、仮想又はソフトボタン及び1つ以上のソフトキーボードを実施するために使用される。
タッチ感知ディスプレイ112は、デバイスとユーザとの間の入力インタフェース及び出力インタフェースを提供する。ディスプレイコントローラ156は、タッチスクリーン112からの電気信号の受信及び/又はタッチスクリーン112への電気信号の送信を行う。タッチスクリーン112は、ユーザに対して視覚出力を表示する。この視覚出力は、グラフィック、テキスト、アイコン、ビデオ、及びそれらの任意の組合せ(総称して「グラフィック」)を任意選択的に含む。いくつかの実施形態では、視覚出力の一部又はすべては、任意選択的に、ユーザインタフェースオブジェクトに対応する。
タッチスクリーン112は、触覚及び/又は触知接触に基づいてユーザからの入力を受信するタッチ感知面、センサ、又は1組のセンサを有する。タッチスクリーン112及びディスプレイコントローラ156は(あらゆる関連モジュール及び/又はメモリ102内の命令セットとともに)、タッチスクリーン112上の接触(及び接触のあらゆる動き又は中断)を検出し、検出した接触を、タッチスクリーン112上に表示されるユーザインタフェースオブジェクトとの対話(例えば、1つ以上のソフトキー、アイコン、ウェブページ、又は画像)に変換する。例示的な実施形態では、タッチスクリーン112とユーザとの間の接触点は、ユーザの指に対応する。
タッチスクリーン112は、任意選択的に、LCD(液晶ディスプレイ)技術、LPD(発光ポリマーディスプレイ)技術、又はLED(発光ダイオード)技術を使用するが、他の実施形態では、他のディスプレイ技術も使用される。タッチスクリーン112及びディスプレイコントローラ156は、任意選択的に、それだけに限定されるものではないが、容量性、抵抗性、赤外線、及び表面音波の技術、並びにタッチスクリーン112との1つ以上の接触点を判定する他の近接センサアレイ又は他の要素を含む、現在知られている又は今後開発される複数のタッチ感知技術のうちのいずれかを使用して、接触及びそのあらゆる動き又は中断を検出する。例示的な実施形態では、カリフォルニア州クパチーノのApple Inc.からのiPhone(登録商標)及びiPod Touch(登録商標)に見られるものなどの、投影型相互静電容量感知技術が使用される。
タッチスクリーン112のいくつかの実施形態におけるタッチ感知ディスプレイは、任意選択的に、それぞれ全体として参照により本明細書に組み込まれている、米国特許第6,323,846号(Westermanら)、第6,570,557号(Westermanら)、及び/若しくは第6,677,932号(Westerman)、並びに/又は米国特許公報第2002/0015024A1号という米国特許に記載されているマルチタッチ感知タッチパッドに類似している。しかしながら、タッチスクリーン112はデバイス100からの視覚出力を表示するのに対して、タッチ感知タッチパッドは視覚出力を提供しない。
タッチスクリーン112のいくつかの実施形態におけるタッチ感知ディスプレイは、(1)2006年5月2日出願の米国特許出願第11/381,313号、「Multipoint Touch Surface Controller」、(2)2004年5月6日出願の米国特許出願第10/840,862号、「Multipoint Touchscreen」、(3)2004年7月30日出願の米国特許出願第10/903,964号、「Gestures For Touch Sensitive Input Devices」、(4)2005年1月31日出願の米国特許出願第11/048,264号、「Gestures For Touch Sensitive Input Devices」、(5)2005年1月18日出願の米国特許出願第11/038,590号、「Mode-Based Graphical User Interfaces For Touch Sensitive Input Devices」、(6)2005年9月16日出願の米国特許出願第11/228,758号、「Virtual Input Device Placement On A Touch Screen User Interface」、(7)2005年9月16日出願の米国特許出願第11/228,700号、「Operation Of A Computer With A Touch Screen Interface」、(8)2005年9月16日出願の米国特許出願第11/228,737号、「Activating Virtual Keys Of A Touch-Screen Virtual Keyboard」、及び(9)2006年3月3日出願の米国特許出願第11/367,749号、「Multi-Functional Hand-Held Device」という出願に記載されている。これらの出願はすべて、全体として参照により本明細書に組み込まれている。
タッチスクリーン112は、任意選択的に、100dpiを超えるビデオ解像度を有する。いくつかの実施形態では、タッチスクリーンは、約160dpiのビデオ解像度を有する。ユーザは、任意選択的に、スタイラス、指などの任意の適した物体又は付属物を使用して、タッチスクリーン112に接触する。いくつかの実施形態では、ユーザインタフェースは、指ベースの接触及びジェスチャを主に扱うように設計されるが、これは、タッチスクリーン上の指の接触面積がより大きいため、スタイラスベースの入力ほど精密でない可能性がある。いくつかの実施形態では、デバイスは、指に基づく粗い入力を、ユーザによって所望されているアクションを実行するための、正確なポインタ/カーソルの位置又はコマンドに変換する。
いくつかの実施形態では、タッチスクリーンに加えて、デバイス100は、任意選択的に、特定の機能をアクティブ化又は非アクティブ化するためのタッチパッド(図示せず)を含む。いくつかの実施形態では、タッチパッドは、タッチスクリーンとは異なり、視覚出力を表示しない、装置のタッチ感知エリアである。タッチパッドは、任意選択的に、タッチスクリーン112又はタッチスクリーンによって形成されるタッチ感知面の拡張部とは別個のタッチ感知面である。
デバイス100は、また、様々なコンポーネントに電力を供給する電力システム162を含む。電力システム162は、任意選択的に、電力管理システム、1つ以上の電源(例えば、バッテリ、交流(AC))、再充電システム、停電検出回路、電力コンバータ又はインバータ、電力状態インジケータ(例えば、発光ダイオード(LED))、並びにポータブルデバイス内での電力の生成、管理、及び分配に関連付けられた任意の他の構成要素を含む。
また、デバイス100は、任意選択的に、1つ以上の光センサ164を含む。図1Aは、I/Oサブシステム106内の光センサコントローラ158に結合された光センサを示す。光センサ164は、任意選択的に、電荷結合デバイス(charge-coupled device、CCD)又は相補的金属酸化物半導体(complementary metal-oxide semiconductor、CMOS)フォトトランジスタを含む。光センサ164は、1つ以上のレンズを通って投影された環境からの光を受信し、その光を、画像を表すデータに変換する。光センサ164は、撮像モジュール143(カメラモジュールとも呼ばれる)と連動して、任意選択的に、静止画像又はビデオをキャプチャする。いくつかの実施形態では、光センサは、デバイスの前面にあるタッチスクリーンディスプレイ112とは反対に、デバイス100の裏面に位置し、従ってタッチスクリーンディスプレイは、静止画像及び/又はビデオ画像の取得のためのビューファインダとして使用することが有効である。いくつかの実施形態では、光センサは、デバイスの前面には位置し、従ってユーザの画像が、任意選択的に、テレビ会議のために入手され、ユーザは、他のテレビ会議参加者をタッチスクリーンディスプレイ上で見る。いくつかの実施形態では、光センサ164の位置は、ユーザによって(例えば、デバイスハウジング内でレンズ及びセンサを回転させることによって)変更することができ、従って単一の光センサ164が、タッチスクリーンディスプレイとともに、テレビ会議にも静止画像及び/又はビデオ画像の取得にも使用される。
また、デバイス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に結合される。近接センサ166は、任意選択的に、全体として参照により本明細書に組み込まれている、米国特許出願第11/241,839号、「Proximity Detector In Handheld Device」、第11/240,788号、「Proximity Detector In Handheld Device」第11/620,702号、「Using Ambient Light Sensor To Augment Proximity Sensor Output」、第11/586,862号、「Automated Response To And Sensing Of User Activity In Portable Devices」、及び同第11/638,251号、「Methods And Systems For Automatic Configuration Of Peripherals」で説明されるように機能するものであり、これらの出願は、全体が参照により本明細書に組み込まれる。いくつかの実施形態では、近接センサは、多機能デバイスがユーザの耳付近に配置されたとき(例えば、ユーザが電話をかけているとき)、タッチスクリーン112をオフにして無効化する。
また、デバイス100は、任意選択的に、1つ以上の触知出力生成器167を含む。図1Aは、I/Oサブシステム106内の触覚フィードバックコントローラ161に結合された触知出力生成器を示す。触知出力生成器167は、任意選択的に、スピーカ若しくは他のオーディオ構成要素などの1つ以上の電気音響デバイス、及び/又はモータ、ソレノイド、電気活性ポリマー、圧電アクチュエータ、静電アクチュエータ、若しくは他の触知出力生成構成要素(例えば、デバイス上で電気信号を触知出力に変換する構成要素)などのエネルギを直線の動きに変換する電気機械デバイスを含む。接触強度センサ165は、触覚フィードバックモジュール133から触知フィードバック生成命令を受信し、デバイス100のユーザが感知することが可能な触知出力をデバイス100上に生成する。いくつかの実施形態では、少なくとも1つの触知出力生成器は、タッチ感知面(例えば、タッチ感知ディスプレイシステム112)に配置されているか、又はそれに近接しており、任意選択的に、タッチ感知面を垂直方向(例えば、デバイス100の表面の内/外)に、又は水平方向(例えば、デバイス100の表面と同じ平面内の前後)に動かすことによって、触知出力を生成する。いくつかの実施形態では、少なくとも1つの触知出力生成器センサは、デバイス100の前面に位置するタッチスクリーンディスプレイ112とは反対に、デバイス100の裏面に位置する。
また、デバイス100は、任意選択的に、1つ以上の加速度計168を含む。図1Aは、周辺機器インタフェース118に結合された加速度計168を示す。代わりに、加速度計168は、任意選択的に、I/Oサブシステム106内の入力コントローラ160に結合される。加速度計168は、任意選択的に、どちらも全体として参照により本明細書に組み込まれている、米国特許公開第20050190059号、「Acceleration-based Theft Detection System for Portable Electronic Devices」、及び米国特許公開第20060017692号、「Methods And Apparatuses For Operating A Portable Device Based On An Accelerometer」に記載されているように機能する。いくつかの実施形態では、情報は、1つ以上の加速度計から受信したデータの分析に基づいて、ポートレートビュー又はランドスケープビューでタッチスクリーンディスプレイ上に表示される。デバイス100は任意選択で、加速度計(単数又は複数)168に加えて、磁気計(図示せず)並びにデバイス100の位置及び向き(例えば、縦向き又は横向き)に関する情報を取得するためのGPS(又はGLONASS又は他のグローバルナビゲーションシステム)受信機(図示せず)を含む。
いくつかの実施形態では、メモリ102内に記憶されているソフトウェア構成要素は、オペレーティングシステム126、通信モジュール(又は命令セット)128、接触/動きモジュール(又は命令セット)130、グラフィックモジュール(又は命令セット)132、テキスト入力モジュール(又は命令セット)134、全地球測位システム(Global Positioning System、GPS)モジュール(又は命令セット)135、及びアプリケーション(又は命令セット)136を含む。更に、いくつかの実施形態では、図1A及び図3に示されるように、メモリ102(図1A)又はメモリ370(図3)は、デバイス/グローバル内部状態157を記憶する。デバイス/グローバル内部状態157は、現在アクティブ状態のアプリケーションがある場合に、どのアプリケーションがアクティブであるかを示す、アクティブアプリケーション状態、どのアプリケーション、ビュー、又は他の情報がタッチスクリーンディスプレイ112の様々な領域を占有しているかを示すディスプレイ状態、デバイスの様々なセンサ及び入力コントロールデバイス116から入手した情報を含むセンサ状態、並びにデバイスの場所及び/又は姿勢に関する場所情報のうちの1つ以上を含む。
オペレーティングシステム126(例えば、Darwin(登録商標)、RTXC(登録商標)、LINUX(登録商標)、UNIX(登録商標)、OS X(登録商標)、iOS(登録商標)、WINDOWS(登録商標)、又はVxWorks(登録商標)などの組み込み型オペレーティングシステム)は、通常のシステムタスク(例えば、メモリ管理、記憶デバイスの制御、電力管理など)を制御及び管理する様々なソフトウェア構成要素及び/又はドライバを含み、様々なハードウェアとソフトウェア構成要素との間の通信を容易にする。
通信モジュール128は、1つ以上の外部ポート124を介して他のデバイスとの通信を容易にし、RF回路108及び/又は外部ポート124が受信したデータを処理するための様々なソフトウェア構成要素をも含む。外部ポート124(例えばユニバーサルシリアルバス(Universal Serial Bus、USB)、FIREWIRE(登録商標)など)は、直接的に、又はネットワーク(例えばインターネット、無線LANなど)を介して間接的に、他のデバイスに連結するように適合されている。いくつかの実施形態では、外部ポートは、iPod(登録商標)(Apple Inc.の商標)デバイス上で使用される30ピンコネクタと同じ若しくは類似であり、かつ/又はそれに適合しているマルチピン(例えば、30ピン)コネクタである。
接触/動きモジュール130は、任意選択的に、タッチスクリーン112(ディスプレイコントローラ156と連動して)及び他のタッチ感知デバイス(例えば、タッチパッド又は物理クリックホイール)との接触を検出する。接触/動きモジュール130は、接触が生じたかを判定すること(例えば、指を下ろすイベントを検出すること)、接触の強度(例えば、接触の力若しくは圧力、又は接触の力若しくは圧力の代替物)を判定すること、接触の移動が存在するかを判定し、タッチ感知面を横断する移動を追跡すること(例えば、指をドラッグする1つ以上のイベントを検出すること)、及び接触が停止したかを判定すること(例えば、指を上げるイベント又は接触の中断を検出すること)などの、接触の検出に関する様々な動作を実行する、様々なソフトウェア構成要素を含む。接触/動きモジュール130は、タッチ感知面から接触データを受信する。一連の接触データによって表される、接触点の移動を判定することは、任意選択的に、接触点の速さ(大きさ)、速度(大きさ及び方向)、及び/又は加速度(大きさ及び/又は方向の変化)を判定することを含む。これらの動作は、任意選択的に、単一の接触(例えば、1本の指の接触)又は複数の同時接触(例えば、「マルチタッチ」/複数の指の接触)に適用される。いくつかの実施形態では、接触/動きモジュール130及びディスプレイコントローラ156は、タッチパッド上の接触を検出する。
いくつかの実施形態では、接触/動きモジュール130は、1つ以上の強度閾値のセットを使用して、ユーザによって操作が実行されたかどうかを判定する(例えば、ユーザがアイコン上で「クリック」したかどうかを判定する)。いくつかの実施形態では、強度閾値の少なくとも1つのサブセットが、ソフトウェアパラメータに従って判定される(例えば、強度閾値は、特定の物理アクチュエータのアクティブ化閾値によって判定されるのではなく、デバイス100の物理ハードウェアを変化させることなく調整することができる)。例えば、トラックパッド又はタッチスクリーンディスプレイのマウス「クリック」閾値は、トラックパッド又はタッチスクリーンディスプレイハードウェアを変化させることなく、広範囲の所定の閾値のうちのいずれかに設定することができる。加えて、いくつかの実装形態では、デバイスのユーザは、1組の強度閾値の1つ以上を調整するソフトウェア設定が提供される(例えば、システムレベルのクリック「強度」パラメータによって、個々の強度閾値を調整すること、及び/又は複数の強度閾値を一度に調整することによる)。
接触/動きモジュール130は、任意選択的に、ユーザによるジェスチャ入力を検出する。タッチ感知面上の異なるジェスチャは、異なる接触パターンを有する(例えば検出される接触の動き、タイミング、及び/又は強度が異なる)。従って、ジェスチャは、任意選択的に、特定の接触パターンを検出することによって検出される。例えば、指タップジェスチャを検出することは、指ダウンイベントを検出し、それに続いて指ダウンイベントと同じ位置(又は実質上同じ位置)(例えば、アイコンの位置)で指アップ(リフトオフ)イベントを検出することを含む。別の例として、タッチ感知面上で指スワイプジェスチャを検出することは、指ダウンイベントを検出し、それに続いて1つ以上の指ドラッグイベントを検出し、その後それに続いて指アップ(リフトオフ)イベントを検出することを含む。
グラフィックモジュール132は、表示されるグラフィックの視覚的な影響(例えば、輝度、透明度、彩度、コントラスト、又は他の視覚的特性)を変化させる構成要素を含めて、タッチスクリーン112又は他のディスプレイ上にグラフィックをレンダリング及び表示する様々な知られているソフトウェア構成要素を含む。本明細書では、「グラフィック」という用語は、それだけに限定されるものではないが、文字、ウェブページ、アイコン(ソフトキーを含むユーザインタフェースオブジェクトなど)、デジタル画像、ビデオ、アニメーションなどを含む、ユーザに表示することができる任意のオブジェクトを含む。
いくつかの実施形態では、グラフィックモジュール132は、使用されることになるグラフィックを表すデータを記憶する。各グラフィックには、任意選択的に、対応するコードが割り当てられる。グラフィックモジュール132は、アプリケーションなどから、必要に応じて、座標データ及び他のグラフィック特性データと共に、表示されることとなるグラフィックを指定する1つ以上のコードを受信し、次にディスプレイコントローラ156に出力するスクリーンの画像データを生成する。
触覚フィードバックモジュール133は、デバイス100とのユーザ対話に応じて、デバイス100上の1つ以上の場所で触知出力を生成するために、触知出力生成器(単数又は複数)167によって使用される命令を生成するための、様々なソフトウェア構成要素を含む。
テキスト入力モジュール134は、任意選択で、グラフィックモジュール132の構成要素であり、様々なアプリケーション(例えば、連絡先137、電子メール140、IM141、ブラウザ147、及びテキスト入力を必要とする任意の他のアプリケーション)でテキストを入力するためのソフトキーボードを提供する。
GPSモジュール135は、デバイスの位置を判定し、この情報を様々なアプリケーションで使用するために(例えば、位置に基づくダイヤル発呼で使用するために電話138へ、画像/ビデオのメタデータとしてカメラ143へ、並びに、天気ウィジェット、地域のイエローページウィジェット、及び地図/ナビゲーションウィジェットなどの、位置に基づくサービスを提供するアプリケーションへ)提供する。
アプリケーション136は、任意選択的に、以下のモジュール(又は命令セット)又はそれらのサブセット若しくはスーパーセットを含む。
●連絡先モジュール137(アドレス帳又は連絡先リストと呼ばれることもある)、
●電話モジュール138、
●テレビ会議モジュール139、
●電子メールクライアントモジュール140、
●インスタントメッセージング(Instant messaging、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。
任意選択的にメモリ102に記憶される他のアプリケーション136の例としては、他のワードプロセッシングアプリケーション、他の画像編集アプリケーション、描画アプリケーション、プレゼンテーションアプリケーション、JAVA(登録商標)対応アプリケーション、暗号化、デジタル著作権管理、音声認識、及び音声複製が挙げられる。
タッチスクリーン112、ディスプレイコントローラ156、接触/動きモジュール130、グラフィックモジュール132、及びテキスト入力モジュール134と連動して、連絡先モジュール137は、任意選択的に、アドレス帳に名前(単数又は複数)を追加すること、アドレス帳から名前(単数又は複数)を削除すること、電話番号(単数又は複数)、電子メールアドレス(単数又は複数)、住所(単数又は複数)、又は他の情報を名前に関連付けること、画像を名前に関連付けること、名前を分類して並べ替えること、電話番号又は電子メールアドレスを提供して、電話138、テレビ会議モジュール139、電子メール140、又はIM141による通信を開始及び/又は促進することなどを含めて、アドレス帳又は連絡先リスト(例えば、メモリ102又はメモリ370内の連絡先モジュール137のアプリケーション内部状態192内に記憶される)を管理するために使用される。
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は、インスタントメッセージに対応する文字シーケンスの入力、以前に入力された文字の修正、それぞれのインスタントメッセージの送信(例えば、電話通信ベースのインスタントメッセージ向けのショートメッセージサービス(Short Message Service、SMS)若しくはマルチメディアメッセージサービス(Multimedia Message Service、MMS)プロトコル、又はインターネットベースのインスタントメッセージ向けのXMPP、SIMPLE、若しくはIMPSを使用する)、インスタントメッセージの受信、及び受信したインスタントメッセージの閲覧のための実行可能な命令を含む。いくつかの実施形態では、送信及び/又は受信されるインスタントメッセージは、任意選択的に、MMS及び/又は拡張メッセージングサービス(Enhanced Messaging Service、EMS)でサポートされるグラフィック、写真、オーディオファイル、ビデオファイル、及び/又は他の添付ファイルを含む。本明細書では、「インスタントメッセージング」とは、電話通信ベースのメッセージ(例えば、SMS又はMMSを使用して送信されるメッセージ)と、インターネットベースのメッセージ(例えば、XMPP、SIMPLE、又はIMPSを使用して送信されるメッセージ)との両方を指す。
RF回路108、タッチスクリーン112、ディスプレイコントローラ156、接触/動きモジュール130、グラフィックモジュール132、テキスト入力モジュール134、GPSモジュール135、地図モジュール154、及び音楽プレーヤモジュールと連動して、トレーニングサポートモジュール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社の商標)などの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は、ユーザが特定のオンラインビデオへのアクセス、特定のオンラインビデオのブラウジング、受信(例えば、ストリーミング及び/又はダウンロードによる)、再生(例えば、タッチスクリーン上又は外部ポート124を介して接続された外部ディスプレイ上)、特定のオンラインビデオへのリンクを有する電子メールの送信、並びにH.264などの1つ以上のファイル形式のオンラインビデオの他の管理を行うことを可能にする命令を含む。いくつかの実施形態では、特定のオンラインビデオへのリンクを送信するために、電子メールクライアントモジュール140ではなく、インスタントメッセージングモジュール141が使用される。オンラインビデオアプリケーションについての追加の説明は、その内容が全体として参照により本明細書に組み込まれている、2007年6月20日出願の米国仮特許出願第60/936,562号、「Portable Multifunction Device,Method,and Graphical User Interface for Playing Online Videos」、及び2007年12月31日出願の米国特許出願第11/968,067号、「Portable Multifunction Device,Method,and Graphical User Interface for Playing Online Videos」において見ることができる。
上記で特定したモジュール及びアプリケーションはそれぞれ、前述した1つ以上の機能及び本出願に記載する方法(例えば、本明細書に記載するコンピュータにより実施される方法及び他の情報処理方法)を実行する1組の実行可能な命令に対応する。これらのモジュール(例えば、命令セット)は、別個のソフトウェアプログラム、手順、又はモジュールとして実施する必要はなく、従って、様々な実施形態において、これらのモジュールの様々なサブセットが、任意選択的に、組み合わされ、又は他の形で再構成される。例えば、ビデオプレーヤモジュールは、任意選択的に、音楽プレーヤモジュールと組み合わされて、単一のモジュール(例えば、図1Aのビデオ及び音楽プレーヤモジュール152)にされる。いくつかの実施形態では、メモリ102は、任意選択的に、上記で特定したモジュール及びデータ構造のサブセットを記憶する。更に、メモリ102は、上記で説明されていない追加のモジュール及びデータ構造を任意選択的に記憶する。
いくつかの実施形態では、デバイス100は、そのデバイスにおける所定の機能のセットの動作がタッチスクリーン及び/又はタッチパッドのみを通じて実行されるデバイスである。デバイス100が動作するための主要な入力コントロールデバイスとしてタッチスクリーン及び/又はタッチパッドを使用することにより、任意選択的に、デバイス100上の物理的な入力コントロールデバイス(プッシュボタン、ダイヤルなど)の数が削減される。
タッチスクリーン及び/又はタッチパッドを通じてのみ実行される所定の機能のセットは、任意選択的に、ユーザインタフェース間のナビゲーションを含む。いくつかの実施形態では、タッチパッドは、ユーザによってタッチされたときに、デバイス100上に表示される任意のユーザインタフェースから、メインメニュー、ホームメニュー、又はルートメニューにデバイス100をナビゲートする。このような実施形態では、「メニューボタン」は、タッチパッドを使用して実装される。いくつかの他の実施形態では、メニューボタンは、タッチパッドではなく、物理プッシュボタン又はその他の物理入力コントロールデバイスである。
図1Bは、いくつかの実施形態によるイベント処理のための例示的な構成要素を示すブロック図である。いくつかの実施形態では、メモリ102(図1A)又は370(図3)は、イベントソータ170(例えば、オペレーティングシステム126内)と、それぞれのアプリケーション136-1(例えば、前述のアプリケーション137~151、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、加速度計(単数又は複数)168、及び/若しくは(オーディオ回路110を介した)マイクロフォン113などのセンサから受信する情報を伝送する。周辺機器インタフェース118がI/Oサブシステム106から受信する情報は、タッチ感知ディスプレイ112又はタッチ感知面からの情報を含む。
いくつかの実施形態では、イベントモニタ171は、所定の間隔で周辺機器インタフェース118に要求を送信する。それに応じて、周辺機器インタフェース118は、イベント情報を伝送する。他の実施形態では、周辺機器インタフェース118は、重要なイベント(例えば、所定のノイズ閾値を上回る及び/又は所定の持続時間を超える入力の受信)があるときのみイベント情報を送信する。
いくつかの実施形態では、イベントソータ170はまた、ヒットビュー判定モジュール172及び/又はアクティブイベント認識部判定モジュール173を含む。
ヒットビュー判定モジュール172は、タッチ感知ディスプレイ112が2つ以上のビューを表示するとき、サブイベントが1つ以上のビュー内のどこで行われたかを判定するソフトウェア手順を提供する。ビューは、ユーザがディスプレイ上で見ることができる制御装置及び他の要素から構成されている。
アプリケーションに関連付けられたユーザインタフェースの別の態様は、本明細書ではアプリケーションビュー又はユーザインタフェースウィンドウと呼ばれることもあるビューのセットであり、その中で情報が表示され、タッチに基づくジェスチャが生じる。タッチが検出される(それぞれのアプリケーションの)アプリケーションビューは、任意選択的に、アプリケーションのプログラム階層又はビュー階層内のプログラムレベルに対応する。例えば、タッチが検出される最下位レベルビューは、任意選択的に、ヒットビューと呼ばれ、また、適切な入力として認識されるイベントのセットは、任意選択的に、タッチによるジェスチャを開始する初期タッチのヒットビューに少なくとも部分的に基づいて決定される。
ヒットビュー判定モジュール172は、タッチに基づくジェスチャのサブイベントに関連する情報を受信する。アプリケーションが階層状に構成された複数のビューを有するときには、ヒットビュー判定モジュール172は、サブイベントを処理すべき階層内の最下位のビューとして、ヒットビューを特定する。ほとんどの状況では、ヒットビューは、開始サブイベント(例えば、イベント又は潜在的イベントを形成するサブイベントシーケンス内の第1のサブイベント)が行われる最も低いレベルのビューである。ヒットビューがヒットビュー判定モジュール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は、任意選択的に、データ更新部176、オブジェクト更新部177、又はGUI更新部178を利用し又は呼び出して、アプリケーション内部状態192を更新する。別法として、アプリケーションビュー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は、どのユーザインタフェースオブジェクトがサブイベントに関連付けられているかを判定するヒットテストを実行する。例えば、タッチ感知ディスプレイ112上に、3つのユーザインタフェースオブジェクトが表示されているアプリケーションビューでは、タッチ感知ディスプレイ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で使用される電話番号を更新する、又はビデオプレーヤモジュールで使用されるビデオファイルを記憶する。いくつかの実施形態では、オブジェクト更新部177は、アプリケーション136-1で使用されるオブジェクトを作成及び更新する。例えば、オブジェクト更新部177は、新たなユーザインタフェースオブジェクトを作成するか、又はユーザインタフェースオブジェクトの位置を更新する。GUI更新部178は、GUIを更新する。例えば、GUI更新部178は、表示情報を準備し、タッチ感知ディスプレイ上に表示するために表示情報をグラフィックモジュール132に送る。
いくつかの実施形態では、イベント処理部(単数又は複数)190は、データ更新部176、オブジェクト更新部177、及びGUI更新部178を含むか又はそれらへのアクセスを有する。いくつかの実施形態では、データ更新部176、オブジェクト更新部177、及びGUI更新部178は、それぞれのアプリケーション136-1又はアプリケーションビュー191の単一モジュールに含まれる。他の実施形態では、それらは、2つ以上のソフトウェアモジュールに含まれる。
タッチ感知ディスプレイ上のユーザタッチのイベント処理に関する上記の論考は、入力デバイスを有する多機能デバイス100を動作させるためのユーザ入力の他の形態にも当てはまり、それらのユーザ入力は、必ずしもすべてがタッチスクリーン上で開始されるとは限らないことが理解されよう。例えば、キーボードの単一又は複数の押圧若しくは保持と任意選択的に連携される、マウスの移動及びマウスボタンの押圧、タッチパッド上のタップ、ドラッグ、スクロールなどの接触の動き、ペンスタイラス入力、デバイスの移動、口頭による命令、検出された目の動き、バイオメトリック入力、並びに/又はそれらの任意の組合せを、任意選択的に、認識するイベントを定義するサブイベントに対応する入力として利用する。
図2は、いくつかの実施形態によるタッチスクリーン112を有するポータブル多機能デバイス100を示す。タッチスクリーンは、任意選択的に、ユーザインタフェース(user interface、UI)200内に1つ以上のグラフィックを表示する。本実施形態、並びに以下で説明される他の実施形態では、ユーザは、例えば、1本以上の指202(図には正確な縮尺では描かれていない)又は1つ以上のスタイラス203(図には正確な縮尺では描かれていない)を使用して、グラフィック上でジェスチャを実施することによって、それらのグラフィックのうちの1つ以上を選択することが可能となる。いくつかの実施形態では、1つ以上のグラフィックの選択は、ユーザが、その1つ以上のグラフィックとの接触を中断する場合に実施される。いくつかの実施形態では、ジェスチャは、任意選択的に、1つ以上のタップ、1つ以上のスワイプ(左から右、右から左、上向き、及び/若しくは下向き)、並びに/又はデバイス100と接触した指のロール(右から左、左から右、上向き、及び/若しくは下向き)を含む。いくつかの実装形態又は状況では、グラフィックとの不測の接触は、そのグラフィックを選択するものではない。例えば、選択に対応するジェスチャがタップである場合、アプリケーションアイコンの上をスイープするスワイプジェスチャは、任意選択的に、対応するアプリケーションを選択するものではない。
デバイス100はまた、任意選択的に、「ホーム」ボタン又はメニューボタン204などの1つ以上の物理ボタンを含む。前述したように、メニューボタン204は、任意選択的に、任意選択的にデバイス100上で実行される1組のアプリケーション内の任意のアプリケーション136へナビゲートするために使用される。別法として、いくつかの実施形態では、メニューボタンは、タッチスクリーン112上に表示されるGUI内のソフトキーとして実施される。
いくつかの実施形態では、デバイス100は、タッチスクリーン112、メニューボタン204、デバイスの電源をオン/オフにしてデバイスをロックするプッシュボタン206、音量調整ボタン208、加入者識別モジュール(SIM)カードスロット210、ヘッドセットジャック212、及びドッキング/充電用外部ポート124を含む。プッシュボタン206は、任意選択的に、ボタンを押し下げて、所定の期間にわたってボタンを押し下げた状態に保持することによって、デバイスの電源をオン/オフするため、ボタンを押し下げて、所定の期間が経過する前にボタンを解放することによって、デバイスをロックするため、及び/又はデバイスをロック解除する、若しくはロック解除プロセスを開始するために、使用される。代替的実施形態では、デバイス100はまた、マイクロフォン113を介して、一部の機能をアクティブ化又は非アクティブ化するための口頭入力も受け入れる。デバイス100はまた、任意選択的に、タッチスクリーン112上の接触の強度を検出する1つ以上の接触強度センサ165、及び/又はデバイス100のユーザに対する触知出力を生成する1つ以上の触知出力生成器167を含む。
図3は、いくつかの実施形態によるディスプレイ及びタッチ感知面を有する例示的な多機能デバイスのブロック図である。デバイス300は、ポータブル型である必要はない。いくつかの実施形態では、デバイス300は、ラップトップコンピュータ、デスクトップコンピュータ、タブレットコンピュータ、マルチメディア再生デバイス、ナビゲーションデバイス、教育的デバイス(子供の学習玩具など)、ゲームシステム、又はコントロールデバイス(例えば、家庭用又は業務用コントローラ)である。デバイス300は、典型的には、1つ以上の処理ユニット(CPU)310、1つ以上のネットワーク又は他の通信インタフェース360、メモリ370、及びこれらの構成要素を相互接続する1つ以上の通信バス320を含む。通信バス320は、任意選択的に、システム構成要素間の通信を相互接続及び制御する回路(チップセットと呼ばれることもある)を含む。デバイス300は、ディスプレイ340を備える入出力(I/O)インタフェース330を含み、ディスプレイ340は、典型的には、タッチスクリーンディスプレイである。I/Oインタフェース330はまた、任意選択的に、キーボード及び/又はマウス(若しくは他のポインティングデバイス)350と、タッチパッド355と、デバイス300上に触知出力を生成する触知出力生成器357(例えば、図1Aを参照して前述した触知出力生成器167に類似している)と、センサ359(例えば、図1Aを参照して前述した接触強度センサ165に類似している光、加速度、近接、タッチ感知、及び/又は接触強度センサ)とを含む。メモリ370は、DRAM、SRAM、DDR RAM、又は他のランダムアクセスソリッドステートメモリデバイスなどの高速ランダムアクセスメモリを含み、任意選択的に、1つ以上の磁気ディスク記憶デバイス、光ディスク記憶デバイス、フラッシュメモリデバイス、又は他の不揮発性ソリッドステート記憶デバイスなどの不揮発性メモリを含む。メモリ370は、CPU310からリモートに位置する1つ以上の記憶デバイスを任意選択的に含む。いくつかの実施形態では、メモリ370は、ポータブル多機能デバイス100(図1A)のメモリ102内に記憶されているプログラム、モジュール、及びデータ構造に類似したプログラム、モジュール、及びデータ構造、又はそのサブセットを記憶する。更に、メモリ370は任意選択で、ポータブル多機能デバイス100のメモリ102に存在しない追加のプログラム、モジュール、及びデータ構造を記憶する。例えば、デバイス300のメモリ370は、任意選択的に、描画モジュール380、プレゼンテーションモジュール382、ワードプロセッシングモジュール384、ウェブサイト作成モジュール386、ディスクオーサリングモジュール388、及び/又はスプレッドシートモジュール390を記憶するのに対して、ポータブル多機能デバイス100(図1A)のメモリ102は、任意選択的に、これらのモジュールを記憶しない。
図3の上記で特定した要素はそれぞれ、任意選択的に、前述したメモリデバイスのうちの1つ以上の中に記憶される。上記で特定したモジュールはそれぞれ、前述した機能を実行する1組の命令に対応する。上記で特定したモジュール又はプログラム(例えば、命令セット)は、別個のソフトウェアプログラム、手順、又はモジュールとして実施する必要はなく、従って様々な実施形態では、これらのモジュールの様々なサブセットは、任意選択的に、組み合わされ、又は他の形で再構成される。いくつかの実施形態では、メモリ370は、任意選択的に、上記で特定したモジュール及びデータ構造のサブセットを記憶する。更に、メモリ370は、上記で説明されていない追加のモジュール及びデータ構造を任意選択的に記憶する。
次に、任意選択的に例えばポータブル多機能デバイス100上で実施されるユーザインタフェースの実施形態に注意を向ける。
図4Aは、いくつかの実施形態によるポータブル多機能デバイス100上のアプリケーションのメニューの例示的なユーザインタフェースを示す。同様のユーザインタフェースは、デバイス300上に任意選択的に実装される。いくつかの実施形態では、ユーザインタフェース400は、以下の要素、又はそれらのサブセット若しくはスーパーセットを含む。
●セルラー信号及びWi-Fi信号などの無線通信(単数又は複数)のための信号強度インジケータ(単数又は複数)402、
●時刻404、
●Bluetoothインジケータ405、
●バッテリ状態インジケータ406、
●以下のような、頻繁に使用されるアプリケーションのアイコンを有するトレイ408、
○不在着信又はボイスメールメッセージの数のインジケータ414を任意選択的に含む、「電話」とラベル付けされた、電話モジュール138のアイコン416、
○未読電子メールの数のインジケータ410を任意選択的に含む、「メール」とラベル付けされた、電子メールクライアントモジュール140のアイコン418、
○「ブラウザ」とラベル付けされた、ブラウザモジュール147のアイコン420、及び
○「iPod」とラベル付けされた、iPod(Apple Inc.の商標)モジュール152とも称されるビデオ及び音楽プレーヤモジュール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に示すアイコンラベルは、単なる例示であることに留意されたい。例えば、ビデオ及び音楽プレーヤモジュール152のためのアイコン422は、「音楽」又は「音楽プレーヤ」と表示される、他のラベルが、様々なアプリケーションアイコンのために、任意選択的に使用される。いくつかの実施形態では、それぞれのアプリケーションアイコンに関するラベルは、それぞれのアプリケーションアイコンに対応するアプリケーションの名前を含む。いくつかの実施形態では、特定のアプリケーションアイコンのラベルは、その特定のアプリケーションアイコンに対応するアプリケーションの名前とは異なる。
図4Bは、ディスプレイ450(例えば、タッチスクリーンディスプレイ112)とは別個のタッチ感知面451(例えば、図3のタブレット又はタッチパッド355)を有するデバイス(例えば、図3のデバイス300)上の例示的なユーザインタフェースを示す。デバイス300はまた、任意選択的に、タッチ感知面451上の接触の強度を検出する1つ以上の接触強度センサ(例えば、センサ359のうちの1つ以上)、及び/又はデバイス300のユーザに対する触知出力を生成する1つ以上の触知出力生成器357を含む。
以下の例のうちのいくつかは、タッチスクリーンディスプレイ112(タッチ感知面及びディスプレイが組み合わされている)上の入力を参照して与えられるが、いくつかの実施形態では、デバイスは、図4Bに示すディスプレイとは別個のタッチ感知面上の入力を検出する。いくつかの実施形態では、タッチ感知面(例えば、図4Bの451)は、ディスプレイ(例えば、450)上の1次軸(例えば、図4Bの453)に対応する1次軸(例えば、図4Bの452)を有する。これらの実施形態によれば、デバイスは、ディスプレイ上のそれぞれの場所に対応する場所(例えば、図4Bでは、460は468に対応し、462は470に対応する)で、タッチ感知面451との接触(例えば、図4Bの460及び462)を検出する。このようにして、タッチ感知面(例えば、図4Bの451)上でデバイスによって検出されるユーザ入力(例えば、接触460及び462、並びにこれらの動き)は、タッチ感知面がディスプレイとは別個であるとき、多機能デバイスのディスプレイ(例えば、図4Bの450)上のユーザインタフェースを操作するために、デバイスによって使用される。同様の方法が、本明細書に記載の他のユーザインタフェースに任意選択的に使用されることを理解されたい。
加えて、以下の例は、主に指入力(例えば、指接触、指タップジェスチャ、指スワイプジェスチャ)を参照して与えられるが、いくつかの実施形態では、指入力のうちの1つ以上は、別の入力デバイスからの入力(例えば、マウスベースの入力又はスタイラス入力)に置き換えられることを理解されたい。例えば、スワイプジェスチャは、(例えば、接触の代わりの)マウスクリックに続けた、(例えば、接触の移動の代わりの)スワイプの経路に沿ったカーソルの移動によって、任意選択的に置き換えられる。別の例として、タップジェスチャは、任意選択的に、カーソルがタップジェスチャの位置の上に位置する間はマウスクリックと置き換えられる(例えば、接触を検出して、それに続いて接触の検出を停止する代わりに)。同様に、複数のユーザ入力が同時に検出されるとき、複数のコンピュータマウスが、任意選択的に、同時に使用され、又はマウス及び指の接触が、任意選択的に、同時に使用されることを理解されたい。
図5Aは、例示的なパーソナル電子デバイス500を示す。デバイス500は、本体502を含む。いくつかの実施形態では、デバイス500は、デバイス100及びデバイス300(例えば、図1A~図4B)に関して説明された特徴のいくつか又は全てを含むことができる。いくつかの実施形態では、デバイス500は、タッチ感知ディスプレイスクリーン504、以下タッチスクリーン504を有する。タッチスクリーン504に対する別法又は追加として、デバイス500は、ディスプレイ及びタッチ感知面を有する。デバイス100及び300と同様に、いくつかの実施形態では、タッチスクリーン504(又はタッチ感知面)は、任意選択的に、加えられている接触(例えば、タッチ)の強度を検出する1つ以上の強度センサを含む。タッチスクリーン504(又はタッチ感知面)の1つ以上の強度センサは、タッチの強度を表す出力データを提供することができる。デバイス500のユーザインタフェースは、タッチの強度に基づいてタッチに応答することができ、これは、異なる強度のタッチが、デバイス500上で異なるユーザインタフェース動作を呼び出すことができることを意味する。
タッチ強度を検出及び処理する例示的な技法は、例えば、それぞれ全体として参照により本明細書に組み込まれている、国際特許第WO/2013/169849号として公開された、2013年5月8日出願の国際特許出願第PCT/US2013/040061号、「Device,Method,and Graphical User Interface for Displaying User Interface Objects Corresponding to an Application」、及び国際特許第WO/2014/105276号として公開された、2013年11月11日出願の国際特許出願第PCT/US2013/069483号、「Device,Method,and Graphical User Interface for Transitioning Between Touch Input to Display Output Relationships」という関連出願に見られる。
いくつかの実施形態では、デバイス500は、1つ以上の入力機構506及び508を有する。入力機構506及び508は、含まれる場合、物理的機構とすることができる。物理的入力機構の例としては、プッシュボタン及び回転可能機構が挙げられる。いくつかの実施形態では、デバイス500は、1つ以上のアタッチメント機構を有する。そのようなアタッチメント機構は、含まれる場合、例えば帽子、アイウェア、イアリング、ネックレス、シャツ、ジャケット、ブレスレット、腕時計のバンド、チェーン、ズボン、ベルト、靴、財布、バックパックなどにデバイス500を取り付けることを可能にすることができる。これらのアタッチメント機構は、ユーザがデバイス500を着用することを可能にする。
図5Bは、例示的なパーソナル電子デバイス500を示す。いくつかの実施形態では、デバイス500は、図1A、図1B、及び図3に関して説明された構成要素のいくつか又は全てを含み得る。デバイス500は、I/Oセクション514を1つ以上のコンピュータプロセッサ516及びメモリ518に動作可能に結合するバス512を有する。I/Oセクション514は、ディスプレイ504に接続することができ、ディスプレイ504は、タッチ感知構成要素522と、任意選択的に強度センサ524(例えば、接触強度センサ)とを有することができる。加えて、I/Oセクション514は、Wi-Fi、Bluetooth、近距離通信(NFC)、セルラー、及び/又は他の無線通信技法を使用してアプリケーション及びオペレーティングシステムデータを受信する通信ユニット530に接続することができる。デバイス500は、入力機構506及び/又は508を含むことができる。入力機構506は、任意選択的に、例えば回転可能入力デバイス又は押下可能及び回転可能入力デバイスである。いくつかの例では、入力機構508は、任意選択的にボタンである。
いくつかの例では、入力機構508は、任意選択的にマイクロフォンである。パーソナル電子デバイス500は、任意選択的に、GPSセンサ532、加速度計534、方向センサ540(例えば、コンパス)、ジャイロスコープ536、動きセンサ538、及び/又はこれらの組合せなどの様々なセンサを含み、これらのセンサはすべて、I/Oセクション514に動作可能に接続することができる。
パーソナル電子デバイス500のメモリ518は、コンピュータ実行可能命令を記憶するための1つ以上の非一時的コンピュータ可読記憶媒体を含むことができ、それらの命令は、1つ以上のコンピュータプロセッサ516によって実行されると、例えば、コンピュータプロセッサに、プロセス700、1000、及びプロセス1300(図7A~図7B、図10A~図10B、及び図13A~図13B)を含めた、以下に説明する技術を実行させることができる。パーソナル電子デバイス500は、図5Bの構成要素及び構成に限定されるものではなく、他の又は追加の構成要素を複数の構成で含むことができる。
本明細書において使用するとき、用語「アフォーダンス」は、デバイス100、300及び/又は500(図1A、図3及び図5A)のディスプレイスクリーン上に任意選択的に表示されるユーザ対話式のグラフィカルユーザインタフェースオブジェクトを指す。例えば、画像(例えば、アイコン)、ボタン、及び文字(例えば、ハイパーリンク)はそれぞれ、意選択的に、アフォーダンスを構成する。
本明細書で使用される「フォーカスセレクタ」という用語は、ユーザが対話しているユーザインタフェースの現在の部分を示す入力要素を指す。カーソル又は他の場所マーカを含むいくつかの実装形態では、カーソルが「フォーカスセレクタ」として作用し、従ってカーソルが特定のユーザインタフェース要素(例えば、ボタン、ウィンドウ、スライダ、又は他のユーザインタフェース要素)の上に位置する間に、タッチ感知面(例えば、図3のタッチパッド355又は図4Bのタッチ感知面451)上で入力(例えば、押下入力)が検出されたとき、特定のユーザインタフェース要素が、検出された入力に従って調整される。タッチスクリーンディスプレイ上のユーザインタフェース要素との直接対話を有効化するタッチスクリーンディスプレイ(例えば、図1Aのタッチ感知ディスプレイシステム112又は図4Aのタッチスクリーン112)を含むいくつかの実装形態では、タッチスクリーン上の検出された接触が「フォーカスセレクタ」として作用し、従ってタッチスクリーンディスプレイ上の特定のユーザインタフェース要素(例えば、ボタン、ウィンドウ、スライダ、又は他のユーザインタフェース要素)の場所で入力(例えば、接触による押下入力)が検出されたとき、特定のユーザインタフェース要素が、検出された入力に従って調整される。いくつかの実装形態では、タッチスクリーンディスプレイ上の対応するカーソルの動き又は接触の動き(例えば、フォーカスを1つのボタンから別のボタンへ動かすためにタブキー又は矢印キーを使用することによる)なく、フォーカスがユーザインタフェースの1つの領域からユーザインタフェースの別の領域へ動かされ、これらの実装形態では、フォーカスセレクタは、ユーザインタフェースの種々の領域間でのフォーカスの移動に従って移動する。フォーカスセレクタがとる特有の形態に関わらず、フォーカスセレクタは、概して、ユーザインタフェース要素(又はタッチスクリーンディスプレイ上の接触)であり、ユーザの意図する対話をユーザインタフェースによって通信するように、ユーザによって制御される(例えば、ユーザが対話することを意図しているユーザインタフェースの要素をデバイスに示すことによる)。例えば、タッチ感知面(例えば、タッチパッド又はタッチスクリーン)上で押圧入力が検出されている間の、対応のボタンの上のフォーカスセレクタ(例えば、カーソル、接触、又は選択ボックス)の位置は、その対応のボタンを(そのデバイスのディスプレイ上に示される他のユーザインタフェース要素ではなく)アクティブ化することをユーザが意図していることを示すものである。
本明細書及び特許請求の範囲で使用される、接触の「特性強度」という用語は、接触の1つ以上の強度に基づく、その接触の特性を指す。いくつかの実施形態では、特性強度は複数の強度サンプルに基づく。特性強度は、任意選択的に、既定の数の強度サンプル、すなわち、既定のイベント(例えば、接触を検出した後、接触のリフトオフを検出する前、接触の移動の開始を検出する前若しくは後、接触の終了を検出する前、接触の強度の増大を検出する前若しくは後、及び/又は、接触の強度の減少を検出する前若しくは後の)に関連する既定の時間期間(例えば、0.05、0.1、0.2、0.5、1、2、5、10秒)の間に収集された強度サンプルのセットに基づく。接触の特性強度は、任意選択的に、接触の強度の最大値、接触の強度の平均(mean)値、接触の強度の平均(average)値、接触の強度の上位10パーセンタイル値、接触の強度の最大の2分の1の値、接触の強度の最大の90パーセントの値などのうちの1つ以上に基づいている。いくつかの実施形態では、特性強度を特定する際に(例えば、特性強度が経時的な接触の強度の平均であるときに)、接触の持続期間が使用される。いくつかの実施形態では、特性強度は、ユーザによって操作が実行されたかどうかを判定するために、1つ以上の強度閾値のセットと比較される。例えば、1組の1つ以上の強度閾値は、任意選択的に、第1の強度閾値及び第2の強度閾値を含む。この例では、第1の閾値を超過しない特性強度を有する接触は、第1の動作をもたらし、第1の強度閾値を超過するが第2の強度閾値を超過しない特性強度を有する接触は、第2の動作をもたらし、第2の閾値を超過する特性強度を有する接触は、第3の動作をもたらす。いくつかの実施形態では、特性強度と1つ以上の閾値との間の比較は、第1の動作を実行するべきか、それとも第2の動作を実行するべきかを判定するために使用されるのではなく、1つ以上の動作を実行するべきか否か(例えば、それぞれの動作を実行するべきか、それともそれぞれの動作を実行するのを取り止めるべきか)を判定するために使用される。
図5Cは、複数の強度センサ524A~524Dによってタッチ感知ディスプレイスクリーン504上で複数の接触552A~552Eを検出することを示す。図5Cは、追加として、強度単位に対する強度センサ524A~524Dの現在の強度測定値を示す強度ダイアグラムを含む。この例では、強度センサ524A及び524Dの強度測定値はそれぞれ9強度単位であり、強度センサ524B及び524Cの強度測定値はそれぞれ7強度単位である。いくつかの実装形態では、集約強度は、複数の強度センサ524A~524Dの強度測定値の和であり、この例では32強度単位である。いくつかの実施形態では、各接触に、集約強度の一部分であるそれぞれの強度が割り当てられる。図5Dは、力の中心554からの距離に基づいて、集約強度を接触552A~552Eに割り当てることを示す。この例では、接触552A、552B、及び552Eのそれぞれに、集約強度の8強度単位の接触の強度が割り当てられ、接触552C及び552Dのそれぞれに、集約強度の4強度単位の接触の強度が割り当てられる。より一般的には、一部の実装例では、各接触jは、所定の数学関数Ij=A・(Dj/ΣDi)に従って、合計の強度Aの一部分である、それぞれの強度Ijが割り当てられ、ここで、Djは、力の中心からそれぞれの接触jまでの距離であり、ΣDiは、力の中心から全てのそれぞれ接触(例えば、i=1から最後まで)までの距離の和である。図5C~図5Dを参照して説明した動作は、デバイス100、300又は500と類似若しくは同一の電子デバイスを使用して行うことができる。いくつかの実施形態では、接触の特性強度は、接触の1つ以上の強度に基づいている。いくつかの実施形態では、強度センサは、単一の特性強度(例えば、単一の接触の単一の特性強度)を判定するために使用される。強度ダイアグラムは、表示ユーザインタフェースの一部ではなく、読み手の助けになるように図5C~5Dに含まれていることに留意されたい。
いくつかの実施形態では、特性強度を特定する目的のために、ジェスチャの一部分が識別される。例えば、タッチ感知面は、任意選択的に、開始場所から遷移して終了場所に到達する連続するスワイプ接触を受信し、その時点で接触の強度が増大する。この例では、終了場所での接触の特性強度は、任意選択的に、スワイプ接触全体ではなく、連続するスワイプ接触の一部分のみ(例えば、スワイプ接触のうち終了場所の部分のみ)に基づいている。いくつかの実施形態では、任意選択的に、接触の特性強度を判定する前に、平滑化アルゴリズムがスワイプ接触の強度に適用される。例えば、平滑化アルゴリズムは、任意選択的に、非加重移動平均平滑化アルゴリズム、三角平滑化アルゴリズム、中央値フィルタ平滑化アルゴリズム、及び/又は指数平滑化アルゴリズムのうちの1つ以上を含む。いくつかの状況では、これらの平滑化アルゴリズムは、特性強度を特定する目的のために、スワイプ接触の強度の小幅な上昇又は降下を排除する。
タッチ感知面上の接触の強度は、任意選択的に、接触検出強度閾値、軽い押下の強度閾値、深い押下の強度閾値、及び/又は1つ以上の他の強度閾値などの1つ以上の強度閾値に対して特徴付けられる。いくつかの実施形態では、軽い押圧強度閾値は、通常、物理マウスのボタン又はトラックパッドをクリックすることに関連付けられた動作をデバイスが実行する強度に相当する。いくつかの実施形態では、深い押圧強度閾値は、通常、物理マウスのボタン又はトラックパッドをクリックすることに関連付けられた動作とは異なる動作をデバイスが実行する強度に相当する。いくつかの実施形態では、軽い押下の強度閾値を下回る(例えば、それを下回ると接触が検出されなくなる公称接触検出強度閾値を上回る)特性強度を有する接触が検出されたとき、デバイスは、軽い押下の強度閾値又は深い押下の強度閾値に関連付けられた動作を実行することなく、タッチ感知面上の接触の動きに従ってフォーカスセレクタを動かす。一般に、特に明記しない限り、これらの強度閾値は、ユーザインタフェース図の様々なセットの間で一貫している。
軽い押下の強度閾値を下回る強度から、軽い押下の強度閾値と深い押下の強度閾値との間の強度への、接触の特性強度の増大は、「軽い押下」の入力と呼ばれることがある。深い押下の強度閾値を下回る強度から、深い押下の強度閾値を上回る強度への、接触の特性強度の増大は、「深い押下」の入力と呼ばれることがある。接触検出強度閾値を下回る強度から、接触検出強度閾値と軽い押下の強度閾値との間の強度への、接触の特性強度の増大は、タッチ面上の接触の検出と呼ばれることがある。接触検出強度閾値を上回る強度から、接触検出強度閾値を下回る強度への、接触の特性強度の減少は、タッチ面からの接触のリフトオフの検出と呼ばれることがある。いくつかの実施形態では、接触検出強度閾値はゼロである。いくつかの実施形態では、接触検出強度閾値は、ゼロより大きい。
本明細書に記載するいくつかの実施形態では、それぞれの押下入力を含むジェスチャを検出したことに応じて、又はそれぞれの接触(若しくは複数の接触)によって実行されたそれぞれの押下入力を検出したことに応じて、1つ以上の動作が実行され、それぞれの押下入力は、押下入力強度閾値を上回る接触(又は複数の接触)の強度の増大を検出したことに少なくとも部分的に基づいて検出される。いくつかの実施形態では、それぞれの動作は、押下入力強度閾値を上回るそれぞれの接触の強度の増大(例えば、それぞれの押下入力の「ダウンストローク」)を検出したことに応じて実行される。いくつかの実施形態では、押下入力は、押下入力強度閾値を上回るそれぞれの接触の強度の増大、及びそれに続く押下入力強度閾値を下回る接触の強度の減少を含み、それぞれの動作は、それに続く押下入力閾値を下回るそれぞれの接触の強度の減少(例えば、それぞれの押下入力の「アップストローク」)を検出したことに応じて実行される。
図5E~5Hは、図5Eの軽い押下の強度閾値(例えば、「ITL」)を下回る強度から、図5Hの深い押下の強度閾値(例えば、「ITD」)を上回る強度への、接触562の強度の増大に対応する押下入力を含むジェスチャの検出を示す。接触562によって実行されるジェスチャは、タッチ感知面560上で検出され、所定の領域574内に表示されたアプリケーションアイコン572A~572Dを含む表示ユーザインタフェース570上では、アプリ2に対応するアプリケーションアイコン572Bの上にカーソル576が表示される。いくつかの実施形態では、ジェスチャは、タッチ感知ディスプレイ504上に検出される。強度センサは、タッチ感知面560上の接触の強度を検出する。デバイスは、接触562の強度が深い押下の強度閾値(例えば、「ITD」)を上回ってピークに達したと判定する。接触562は、タッチ感知面560上で維持される。ジェスチャの検出に応じて、ジェスチャ中に深い押下の強度閾値(例えば、「ITD」)を上回る強度を有する接触562に従って、図5F~5Hに示すように、アプリ2に対して最近開いた文書の縮尺が低減された表現578A~578C(例えば、サムネイル)が表示される。いくつかの実施形態では、1つ以上の強度閾値と比較されるこの強度は、接触の特性強度である。接触562に対する強度ダイアグラムは、表示ユーザインタフェースの一部ではなく、読み手の助けになるように図5E~5Hに含まれていることに留意されたい。
いくつかの実施形態では、表現578A~578Cの表示は、アニメーションを含む。例えば、図5Fに示すように、表現578Aが、アプリケーションアイコン572Bに近接して最初に表示される。アニメーションが進むにつれて、図5Gに示すように、表現578Aは上方へ動き、表現578Bが、アプリケーションアイコン572Bに近接して表示される。次いで、図5Hに示すように、表現578Aが上方へ動き、表現578Bが表現578Aに向かって上方へ動き、表現578Cが、アプリケーションアイコン572Bに近接して表示される。表現578A~578Cは、アイコン572Bの上にアレイを形成する。いくつかの実施形態では、アニメーションは、図5F~5Gに示すように、接触562の強度に従って進行し、接触562の強度が深い押下の強度閾値(例えば、「ITD」)に向かって増大するにつれて、表現578A~578Cが現れ、上方へ動く。いくつかの実施形態では、アニメーションの進行が基づいている強度は、接触の特性強度である。図5E~5Hを参照して説明する動作は、デバイス100、300、又は500に類似又は同一の電子デバイスを使用して実行することができる。
いくつかの実施形態では、デバイスは、「ジッタ」と呼ばれる場合がある偶発的な入力を回避するために強度ヒステリシスを採用し、デバイスは、押圧入力強度閾値との既定の関係を有するヒステリシス強度閾値を定義又は選択する(例えば、ヒステリシス強度閾値は、押圧入力強度閾値よりも低いX強度単位であり、又はヒステリシス強度閾値は、押圧入力強度閾値の75%、90%、若しくは何らかの妥当な割合である)。従って、いくつかの実施形態では、押下入力は、押下入力強度閾値を上回るそれぞれの接触の強度の増大、及びそれに続く押下入力強度閾値に対応するヒステリシス強度閾値を下回る接触の強度の減少を含み、それぞれの動作は、それに続くヒステリシス強度閾値を下回るそれぞれの接触の強度の減少(例えば、それぞれの押下入力の「アップストローク」)を検出したことに応じて実行される。同様に、いくつかの実施形態では、押下入力は、デバイスが、ヒステリシス強度閾値以下の強度から押下入力強度閾値以上の強度への接触の強度の増大、及び任意選択的に、その後のヒステリシス強度以下の強度への接触の強度の減少を検出するときにのみ検出され、それぞれの動作は、押下入力(例えば、状況に応じて、接触の強度の増大又は接触の強度の減少)を検出したことに応じて実行される。
説明を容易にするために、押下入力強度閾値に関連付けられた押下入力、又は押下入力を含むジェスチャに応じて実行される動作の説明は、任意選択的に、押下入力強度閾値を上回る接触の強度の増大、ヒステリシス強度閾値を下回る強度から押下入力強度閾値を上回る強度への接触の強度の増大、押下入力強度閾値を下回る接触の強度の減少、及び/又は押下入力強度閾値に対応するヒステリシス強度閾値を下回る接触の強度の減少のいずれかを検出したことに応じてトリガされる。更に、押圧入力強度閾値を下回る接触の強度の減少を検出したことに応じて実行されるように動作が記載される例では、動作は、任意選択的に、押圧入力強度閾値に対応し、かつそれよりも低いヒステリシス強度閾値を下回る接触の強度の減少を検出したことに応じて実行される。
次に、ポータブル多機能デバイス100、デバイス300、又はデバイス500などの電子デバイス上で実施されるユーザインタフェース(「UI」)及び関連プロセスの実施形態に注意を向ける。
図6A~図6Jは、いくつかの実施形態に係る、メッセージに対するユーザステータス情報を通信するための例示的なユーザインタフェースを示す。これらの図におけるユーザインタフェースは、図7A~図7Bにおけるプロセスを含む、後述のプロセスを例示するために使用される。
図6Aは、いくつかの例では前述のデバイス100、デバイス300、又はデバイス500の特定のフォームファクタである、デバイス600を示す。デバイス600は、いくつかの実施形態ではタッチ感知ディスプレイであるディスプレイ601と、画像センサ602とを含む。加えて、デバイス600のいくつかの実施形態では、画像センサ602と共に、追加のセンサ(例えば、深度センサ、IRセンサなど)、及び/又は他の構成要素(例えば、フラッシュ又はIRエミッタ)が存在する。
図6Aでは、デバイス600は、「Joe」という名前の連絡先のデバイスと通信するメッセージングインタフェース603をディスプレイ601上に表示する。メッセージングインタフェース603は、戻るボタン604、ユーザ名605、ユーザ写真606、及び連絡先情報ボタン607を含む。ユーザが戻るボタン604を選択したことに応じて、例えば、ディスプレイ601上の戻るボタン604上にタッチすることにより、メッセージングインタフェース603が、最近のメッセージが表示され、及び/又は通信するために他の連絡先が選択される、メインメッセージング画面に戻る。ユーザ名605及びユーザ写真606は、メッセージングインタフェース603が通信するように構成されている他のユーザを示す。ユーザ写真606は、例えば、他のユーザに対するアバター(例えば、絵文字、若しくは非写実的なグラフィック表現などの他のグラフィック表現)、他のユーザの写真、又は他の連絡先に関連付けられた何らかの他の画像である。ユーザが連絡先情報ボタン607を選択したことに応じて、他のユーザに関連付けられたオプション、設定、及び他のアクションにアクセス可能である。いくつかの例では、連絡先情報ボタン607により、ユーザが他の通信チャネルを使用して他のユーザとの通信を開始することを可能にするユーザインタフェースページを、デバイス600に開かせ、ユーザが特定の種類の情報(例えば、現在位置)を他のユーザに送信することを可能にし、ユーザが他のユーザに対する通信設定を変更することを可能にし、及び/又はユーザが他のユーザとの以前の通信に関する情報をレビューすることを可能にする。
メッセージングインタフェース603は、図6Aでは空であるメッセージエリア608と、メッセージ入力領域609とを含む。メッセージ入力領域は、写真ボタン610、描画ボタン611、ステッカー/絵文字ボタン612、テキスト入力フィールド613、及び音声認識ボタン614を含む。写真ボタン610は、ユーザが既存の画像/ビデオを選択すること、又は新しい画像/ビデオをキャプチャして他のユーザへのメッセージに含めることを可能にする。描画ボタン611は、ユーザがスケッチを作成して他のユーザへのメッセージに含めることを可能にする。ステッカー/絵文字ボタン612により、ユーザが、他のユーザへのメッセージに含めるためにステッカー及び/又は絵文字を選択することを可能にする。テキスト入力フィールド613は、ユーザが他のユーザへのメッセージに含まれることになるテキストをユーザが入力することを可能にする。図6Aでは、テキスト入力フィールド613は、他のユーザに送信されることになるテキストメッセージの種類を示す単語「iMessage(登録商標)」を含む。音声認識ボタン614は、ユーザが、テキストを手動で入力する代わりに、デバイス600に話しかけることによってテキスト入力フィールド613のテキストを入力できるようにする。
図6Bに示すように、図6Aのタッチ615などのテキスト入力フィールド613を選択するユーザ入力に応じて、キーボード616がディスプレイ601上に表示される。加えて、テキスト入力フィールド613がディスプレイの上方に移動し、図6Aの写真ボタン610、描画ボタン611、及びステッカー/絵文字ボタン612を隠すことによって拡大する。これらのボタンは、ユーザが展開ボタン617を選択すると再表示される。また、いくつかの例では、カーソル(図示せず)が、テキスト入力フィールド613の内部に表示される。
図6Cに示すように、キーボード616上の文字選択に応じて(例えば、文字「H」及び「I」上の、図6Bのタッチ618及び619などのキーボード616上のタッチをそれぞれ介して)、選択した文字を含めるようにテキスト入力フィールド613が更新される。加えて、音声認識ボタン614(図6B)が送信ボタン620に置き換えられ、送信ボタン620が、入力されたテキスト、及び画像データなどの他のデータを含む現在入力されているメッセージを他のユーザに送信する。
図6Dは、キーボード616の追加のタッチを介する追加のテキスト入力の後の、メッセージングインタフェース603を示す。テキスト入力フィールド613は、追加の入力されたテキストを含む。
ユーザがテキスト入力フィールド613にテキストを入力すると、ユーザは、例えばディスプレイ601上のタッチ621を介して送信ボタン620を選択することによって、メッセージの送信準備が整ったことを示す。それに応じて、デバイス600は、図6Dの例では、テキスト入力フィールド613内のテキストを含むメッセージを用意する。いったんメッセージを送信する準備ができると、デバイス600は、メッセージを他のユーザ(図6A~図6Fの例の場合では、「Joe」という名前の他のユーザ)に送信する。メッセージの一部として又は別個のデータ送信としてのいずれかで、デバイス600はまた、デバイス600のユーザのステータスデータ(例えば、デバイス600に現在関連付けられているユーザアカウントに関連付けられたステータスデータ)を他のユーザに送信する。いくつかの実施形態では、ユーザのステータスデータは、身体的状態(例えば、疲れた、病気、暑い、寒い、退屈)、又は感情的状態(例えば、幸せ、悲しい、心配、怒り)を表す。
ステータスデータは、任意の数のソースから取得することができる。一実施例では、ステータスデータは、ユーザにステータスのリストを提示し、ユーザ又はユーザが送信しているメッセージの内容を表すステータスのうちの1つをユーザが選択できるようにすることによって、取得される。換言すれば、ユーザが送信ボタン620を選択した後、デバイス600は、ユーザがテキスト入力フィールド613のテキストを含むコンテンツを有するメッセージと関連付けて送信することを選択できるステータスのリストでユーザを促す。別の例では、ステータスデータを取得するために、デバイス600はユーザに対するステータスデータを自動的に判定するように構成されている。いくつかの例では、デバイス600は、(例えば、メッセージングアプリケーションを介して)メッセージの内容に基づいて、1つ以上の画像センサ(例えば、図6Aの画像センサ602)を使用してユーザの画像データに基づいて、及び/又はデバイス600に利用可能な他のコンテキスト情報(例えば、カレンダエントリ、天気、時間帯/年、場所など)に基づいて、ステータスデータを判定する。デバイス600は、画像センサ602、又はバイオメトリックセンサなどの他のセンサからのデータを使用して、顔の表情を識別するため、又はユーザステータスを判定するための生理学的データ(例えば、心拍数又は体温)を取得するために、顔認識を実行することができる。いくつかの例では、ユーザステータスは、ユーザにとって個人的なものであり、ユーザに関連するオブジェクト(例えば、電子デバイス)には関連付けられていない。いったんユーザステータスデータが判定されると、ユーザステータスデータはメッセージと関連付けられ、メッセージと共に(例えば、メッセージの一部として)、又はメッセージとは別個に(例えば、メッセージの送信前に、メッセージの送信後に、若しくはメッセージの送信と同時に)のいずれかで、他のユーザに送信される。
図6Eに示すように、他のユーザへのメッセージ送った後、テキスト入力フィールド613のテキストを含む、メッセージ内容が、テキストボックス622内に表示されたメッセージエリア608内に表示される。テキストボックス622は、任意選択的に、メッセージの他の非テキストコンテンツ(例えば、画像、アニメーション、ビデオなど)も含む。テキストボックス622の表示に加えて、テキストボックス622に隣接してアバター623も表示される(例えば、メッセージがアバターの口から出る)。一部の実施形態において、アバター623は、デバイス600のユーザを表す、予め定義された(例えば、ベースラインの)アバター又はアバターモデル(例えば、ワイヤ、メッシュ、又は構造モデル)に基づいて、生成される。加えて、アバター623は、テキストボックス622内のメッセージに関連付けられたユーザステータスデータに基づいている。例えば、テキストボックス622内のメッセージに対するユーザステータスデータは同情的であった。メッセージングアプリケーションは、笑顔のアバターがこのステータスデータに最も適していると判定した。従って、アバター623は、笑顔と温かい表情を表すように生成された。いくつかの例では、生成されたアバターは、アクセサリ(例えば、雨中の傘、ビーチにいるときのサングラス、ハロウィーンのときの衣装、又は誰かにハッピーバースデーを祈るときの贈り物)を含むことができる。いくつかの例では、生成されたアバターはアニメーションアバターである。
図6Fは、メッセージ及び関連するステータスデータが「Joe」という名前の他のユーザから受信された(例えば、他のユーザ「Joe」に関連付けられた電子デバイスから受信された)後のメッセージングインタフェース603を示す。メッセージエリア608内のテキストボックス624に、メッセージの内容が表示される。また、関連するアバター625がテキストボックス624に隣接して表示される。アバター623のように、アバター625は、デバイス600のユーザではなくて、定義済み(例えば、ベースライン)のアバター又はアバターモデルが「ジョー」を表す場合を除いて、予め定義されたアバター又はアバターモデルに基づく。予め定義されたアバター又はアバターモデルは、任意選択的に、デバイス600のユーザによって設定されるか、又は他のユーザ若しくはリモートサーバによって提供される。デバイス600は、任意選択的に、予め定義されたアバター又はアバターモデルをローカルに記憶する、あるいは、必要に応じて、予め定義されたアバター又はアバターモデルを検索する。デバイス600がJoeなどの別のユーザからメッセージを受信すると、デバイス600上のメッセージアプリケーションは、以前に定義されたアバター又はアバターモデルをロードし、それを修正又は使用して、受信メッセージに関連付けられたユーザステータスデータに基づいてアバターを生成する。上述のユーザステータスデータの送信と同様に、別のユーザから受信したメッセージに対するユーザステータスデータは、メッセージの一部として、又はメッセージとは別個に(例えば、メッセージの前、メッセージの後、若しくはメッセージと同時に)受信することができる。
他のユーザに対するユーザステータスデータは、任意選択的に、他のユーザのデバイス(例えば、「Joeの」デバイス)が判定を行うことを除いて、ユーザに関して上述したのと同様の方法で判定される。テキストボックス624に関連付けられたメッセージに対して、他のユーザのデバイスは、ユーザステータスが賛成で感謝していると判定した。
アバター623と同様に、アバター625はユーザステータスデータに基づいている。アバター625の場合では、メッセージングアプリケーションは、賛成で感謝しているユーザステータスデータに基づいて、笑顔とサムズアップを含むようにアバター625を生成した。加えて、アバター625は、アニメーションアバターである(矢印は、アバターの親指のアニメーション化された揺れを表す)。
いくつかの実施形態では、アバター625は、任意選択的にデバイス600上に保存され、他のユーザと関連付けられる。例えば、ユーザ写真606は、アバター625又はその後に連絡先に対して生成されたアバターに置き換えられる。他のユーザの情報が(例えば、他のアプリケーションに、又は連絡先リストに)表示されるときはいつでも、最も最近に受信された、他のユーザに対するユーザステータスデータを表すアバターが表示される。
図6Gは、デバイス600のユーザが入力し、「Joe」という名前の他のユーザに別のメッセージを送信した後の、メッセージングインタフェース603を示す。メッセージエリア608内のテキストボックス626に、メッセージの内容が表示される。加えて、アバター627は、テキストボックス626に隣接して表示され、テキストボックス626に関連付けられたメッセージが送信されたときのユーザのユーザステータスデータに基づいて生成される。この場合、デバイス600は、(例えば、メッセージングアプリケーションによってプログラムされたように)ユーザステータスが悲しいと判定した。このステータスに基づいて、アバター627は、アバター623と比較して悲しい表情を有するように生成された(例えば、目、眉、及び口は全て、悲しい表情を反映するように変更された)。アバター627は、アバター623と比較して新しいユーザステータスデータを反映しているが、アバター623は変更されないままである。換言すれば、デバイス600が更新されたユーザステータスデータを受信したにもかかわらず、アバター623は同じままである。そのような実施形態では、たとえステータスデータがその後更新されても、アバター623の不変のステータスは、ユーザのステータスの履歴記録として機能することができる。
いくつかの実施形態では、アバター623及び627は、新しいベースラインアバター又はアバターモデルに基づいて更新することができる。例えば、デバイス600のユーザが彼のあごひげを剃り、それに従ってベースラインアバター又はアバターモデルを更新する場合、アバター623及び627はそのあごひげを削除するように更新されるが、ユーザステータスデータに基づく表情及び他の特徴はそのままである(とはいえ、それらは新しいベースラインアバター又はアバターモデルに基づいて変更できる)。いくつかの実施形態では、アバター623及び627などの以前に生成されたアバターは、たとえベースラインアバター又はアバターモデルが更新されたときでも更新されない。
図6Gは、デバイス600のユーザが「Joe」という名前の他のユーザから別のメッセージを受信した後の、メッセージングインタフェース603を示す。メッセージエリア608内のテキストボックス628に、メッセージの内容が表示される。加えて、アバター629は、テキストボックス628に隣接して表示され、受信されテキストボックス628に表されるメッセージに関連付けられている他のユーザのユーザステータスデータに基づいて生成される。他のユーザが申し訳なさそうにしたことを示すユーザステータスデータに基づいて、関係のある表情を有するようにアバター629が生成された。アバター629は、アバター625と比較して他のユーザに対する新しいユーザステータスデータを反映しているが、アバター625は変更されないままである。図6Gに示すように、デバイス600が更新されたユーザステータスデータを受信したにもかかわらず、アバター625は同じままである。このように、特定のメッセージを設定したときにユーザのステータスを判定することは簡単である。この結果、ユーザがメッセージをより速く検索し理解することを可能にする、より効率的なインタフェースを提供することができる。
いくつかの実施形態では、アバター625及び629は、新しいベースラインアバター又はアバターモデルに基づいて更新することができる。例えば、他のユーザが眼鏡をかけ始め、それに従ってベースラインアバター又はアバターモデルを更新する場合、他のユーザが新しいベースラインアバター又はアバターモデルを送出し、アバター625及び629は眼鏡を追加するように更新されるが、ユーザステータスデータに基づく表情及び他の特徴はそのままである(とはいえ、それらは新しいベースラインアバター又はアバターモデルに基づいて変更できる)。いくつかの実施形態では、アバター625及び629などの以前に生成されたアバターは、たとえ他のユーザに対するベースラインアバター又はアバターモデルが更新されたときでも更新されない。
図6Iは、編集ボタン631、タイトル632、作成ボタン633、及びアフォーダンス634~636を含む、メッセージアプリケーションインタフェース630を示す。インタフェース630は、図6Hの戻るボタン604の選択に応じて、任意選択的に表示される。インタフェース630の編集ボタン631を選択すると、ユーザは特定の連絡先アフォーダンスを選択し、選択されたアフォーダンスに関連付けられた連絡先情報に対して操作(例えば、削除)を実行することができるようになる。タイトル632は、メッセージアプリケーションの名前を提供する。作成ボタン633を選択することにより、ユーザは新しいメッセージを作成し、そのメッセージの受信者を選択することができるようになる。
アフォーダンス634~636は、異なるリモートユーザに対する連絡先情報を表示する。この例では、各アフォーダンスは、ユーザ名、他のユーザとの最も最近の通信の要約、他のユーザと関連付けられたグラフィック要素、及び最も最近の通信の時間などの連絡先情報を含む。いくつかの実施形態では、グラフィック要素は、他のユーザに対して最も最近に生成されたアバターである。例えば、「Joe Smith」に対するアフォーダンス634は、図6Hのテキストボックス629に関連付けられたメッセージと共に受信されたユーザステータスに基づいて、「Joe Smith」に対して最も最近に生成された、アバター629を含む。このアバターは、インタフェース630内の連絡先リストが他のユーザの最も最新の状況を反映しているアバターを常に含むように、その後に受信されたユーザステータスデータに基づく、その後に生成されたアバターで、任意選択的に更新される。
アフォーダンスのうちの1つを選択すると、メッセージングインタフェース603の表示に戻る。例えば、連絡先アフォーダンス634を選択すると、図6Hに示すようにメッセージングインタフェース603の表示に戻ることになる。
アフォーダンス635は、関連付けられたアバターを有しない。代わりに、アバターを表示する代わりにモノグラム637が表示される。
図6Jは、新しいベースラインアバター又はアバターモデルが「Joe」用に受信された後の、他のユーザ「Joe」用のメッセージングインタフェース603を示す。この例では、Joeは口ひげを生やしており、それに応じて彼のアバターを更新している。新しいベースラインアバター又はアバターモデルの受信に応じて、デバイス600は、例えば、メッセージングプログラムを介して、Joeの新しい口ひげを反映するように、アバター625及び629をアバター638及び639で更新した。アバター628及び629は、対応するメッセージと共に受信されたユーザステータスデータに基づいている。図6Jに示す例では、これは、顔の表情が同じままであることを意味する。
図7A~図7Bは、いくつかの実施形態に係る、電子デバイスを使用する拡張されたメッセージングインタフェースのための方法を示すフロー図である。方法700は、ディスプレイを有するデバイス(例えば、100、300、500)で実行される。方法700のいくつかの動作は、任意選択的に組み合わされ、いくつかの動作の順序は、任意選択的に変更され、いくつかの動作は、任意選択的に省略される。
後述するように、方法700は、メッセージに対するユーザステータス情報を通信するための直感的方法を提供する。この方法は、ステータス情報を通信するためのユーザの認識的負担を軽減し、それによって、より効率的なヒューマンマシンインタフェースを作り出す。バッテリ動作コンピューティングデバイスの場合、ユーザがメッセージをより早くより効率的に理解して応答できるようにすることで、電力が節約され、バッテリ充電の時間間隔が増加する。
ディスプレイ(例えば、デバイス600のディスプレイ601)を有する電子デバイス(例えば、図6A~図6Jのデバイス600)は、第1のユーザ(例えば、デバイス600の所有者又はユーザ)に関連付けられる。電子デバイスは、第2のユーザ(例えば、図6Aのユーザ名605及びユーザ写真606を有する他のユーザ)から第1のメッセージ(例えば、図6F~図6Jのテキストボックス624に関連付けられたメッセージ)(例えば、SMSメッセージ、MMSメッセージ、iMessage(登録商標)、又は他の種類のメッセージ)を受信する(702)。第1のメッセージは、第1のコンテンツ(例えば、図6F~図6Hのテキストボックス624内のコンテンツ)を含む。いくつかの実施形態によると、第2のユーザは、第1のメッセージと第2のメッセージとを送信するソース電子デバイスと関連付けられている。
電子デバイスは、第2のユーザに対する第1のステータスデータ(例えば、感情的若しくは身体的な状態、又は他のユーザに関連付けられた若しくは他のユーザには個人的な他の状態)を受信する(704)。第1のステータスデータは、第1のメッセージと関連付けられ、第1のコンテンツとは別個である(例えば、第1のステータスデータは、コンテンツとは別個のメッセージの一部として送信されるか、又は、メッセージとは別個に送信されるが、メッセージに対するものとしてのステータスデータの識別を可能にする方法で送信される)。ステータスデータは、任意の数のソースから取得することができる。いくつかの実施形態では、ステータスデータは、ユーザにステータスのリストを提示し、ユーザ又はユーザが送信しているメッセージの内容を表すステータスのうちの1つをユーザが選択できるようにすることによって、取得される。いくつかの実施形態では、ステータスデータを取得するために、電子デバイスは、例えば、1つ以上の画像センサ(例えば、図6Aの画像センサ602)を使用してユーザの画像データに基づいて、及び/又は、電子デバイスに利用可能な他のコンテキスト情報(例えば、カレンダエントリ、天気、時間帯/年、場所など)に基づいて、ユーザに対するステータスデータを自動的に判定するように構成されている。任意選択的に、画像センサ602、又はバイオメトリックセンサなどの他のセンサからのデータを使用して、顔の表情を識別するため、又はユーザステータスを判定するための生理学的データ(例えば、心拍数又は体温)を取得するために、顔認識を実行することができる。いくつかの実施形態では、ユーザステータスは、ユーザにとって個人的なものであり、ユーザに関連するオブジェクト(例えば、電子デバイス)には関連付けられていない。いったんユーザステータスデータが判定されると、ユーザステータスデータはメッセージと関連付けられ、メッセージと共に(例えば、メッセージの一部として)、又はメッセージとは別個に(例えば、メッセージの送信前に、メッセージの送信後に、若しくはメッセージの送信と同時に)のいずれかで、他のユーザに送信される。
電子デバイスのディスプレイは、第1のコンテンツ(例えば、テキストボックス624内のコンテンツ)、及び第1のアバター(例えば、図6F~図6Hのアバター624)(例えば、絵文字又は他のグラフィック表現)を含む、第1のメッセージを表示する(706)。第1のアバターは第1のステータスデータに基づき、表示された第1のアバターは表示された第1のメッセージに隣接している(例えば、メッセージはアバターの口から出てくる)。
第1のメッセージ及び第1のアバターを表示した後、電子デバイスは、第2のユーザから第2のメッセージ(例えば、別のSMSメッセージ、MMSメッセージ、iMessage(登録商標)、又は他の種類のメッセージ)を受信し(708)、ここで、第2のメッセージは第2のコンテンツ(例えば、図6Hのテキストボックス629内のコンテキスト)を含む。
電子デバイスは、送信者に対する第2のステータスデータ(例えば、感情的又は身体的な状態)を受信し(710)、ここで、第2のステータスは第2のメッセージに関連付けられており、第2のコンテンツとは別個である。いくつかの実施形態において、第2のステータスデータは、第1のステータスデータと同様の方法で生成され、送信される。
第1のメッセージ及び第1のアバターの表示を維持しながら、電子デバイスのディスプレイは、第2のコンテンツ(例えば、図6Hのテキストボックス629)及び第2のアバター(例えば、図6Hのアバター629)(例えば、絵文字又は他のグラフィック表現)を含む第2のメッセージを表示し(712)、ここで、表示された第2のアバターは表示された第2のメッセージに隣接し(例えば、メッセージはアバターの口から出てくる)、第2のアバターは第2のステータスデータに基づき、第1のアバターと第2のアバターとは異なる。異なるメッセージに対して異なるユーザステータスに基づき異なるアバターを含めることによって、電子デバイスの操作性が、ディスプレイ上に提示される情報量を増大することで拡張される。例えば、ユーザは、メッセージのテキスト内容を読む必要なしに、メッセージを迅速に走査し、アバターに基づいてメッセージに関連付けられた何らかのコンテキストを判定することができる。電子デバイスのこの改善された操作性によって、ユーザがデバイスをより迅速かつ効率的に使用することを可能にすることで、操作性をより効率的にし、電力使用量を低減し、デバイスのバッテリ寿命を改善する。例えば、異なるメッセージに対する異なるアバターは、ユーザが特定のステータスに関連付けられていることを知っている特定のメッセージを、ユーザが見つけようとしているときに役立ち得る(例えば、悲しいメッセージは、場合によっては悲しいアバターを有することになる)。加えて、メッセージが複数の意味を持つと解釈され得る場合、メッセージ特有のアバターは、読者がメッセージの意味を正確に解釈するのを助けることができる。
いくつかの実施形態によれば、電子デバイスは、第2のユーザに対する連絡先情報(例えば、図6Jのアフォーダンス633の情報)を含むユーザのセットに対する連絡先情報(例えば、図6I)(例えば、電話番号、電子メールアドレス、ユーザ名、最近の通信など)を表示し(720)、ここで、第2のアバター(例えば、アバター629)は、第2のユーザに対する連絡先情報と共に表示される。いくつかの実施形態では、第2のユーザのステータスにおける変化を検出すると、第2のアバターは、第2のユーザ用の第3のアバターに置き換えられる。新しいアバターが受信されたときに第2のユーザのアバターを更新することによって、電子デバイスのユーザはまた、第2のユーザの最も最近のステータスを表すアバターへのアクセスを有する。これによって、最後の通信中に第2のユーザのステータスを判定するために電子デバイスのユーザが古いメッセージをレビューする必要性を排除することで、より効率的なインタフェースを提供する。このように、所望の情報を取り出すためにユーザは電子デバイスとの対話を少なくする必要があるため、ユーザがデバイスをより迅速かつより効率的に使用できるようにすることで、電子デバイスをより効率的にし、電力使用量を低減し、デバイスのバッテリ寿命を改善する。
いくつかの実施形態では、電子デバイスは、第1のアバター又は第1のステータスデータの、第2のユーザの連絡先情報との第1の関連付けを記憶し(例えば、第1のアバター又は第1のステータスデータを、データベース内の連絡先情報と、又は連絡先情報の一部としてリンクさせる)、第2のアバター又は第2のステータスデータの、第2のユーザの連絡先情報との第2の関連付けを記憶する(例えば、第1のアバター又は第1のステータスデータを、データベース内の連絡先情報と、又は連絡先情報の一部としてリンクさせる)。
いくつかの実施形態によれば、電子デバイスは、第2のユーザに対する第1のアバターモデル(例えば、ワイヤメッシュ、パラメータ化モデル)を受信し、第1のアバターモデルと第1のステータスデータとに基づいて第1のアバター(例えば、625)(例えば、笑顔などの第1の表情の第2のユーザのように見えるアバター)を生成し、第1のアバターモデルと第2のステータスデータとに基づいて第2のアバター(例えば、629)を生成する。(例えば、しかめっ面などの第2の表情を有する第2のユーザのように見えるアバター)。いくつかの実施形態によれば、電子デバイスは、第1のステータスデータを所定のアバターモデル(例えば、電子デバイス上の既存のアバター)上にマッピングして、第1のアバター(例えば、625)を作成する。アバターモデルを使用することによって、新しいアバターが生成されるたびにベースラインアバターが受信又は生成される必要がないので、電子デバイスは、受信したステータスデータに基づいて第2のユーザアバターをより効率的に生成することができる。このように、電子デバイスは、アバターを生成するのに必要な処理電力を制限することによって、より効率的で、より省電力で、より長い電池寿命を有する。
いくつかの実施形態によれば、電子デバイスは、第2のユーザに対する第2のアバターモデル(例えば、ワイヤメッシュ、パラメータ化モデル)を受信し(722)、第2のアバターモデル及び第1のステータスデータに基づいて、更新された第1のアバター(例えば、637)を生成する(724)。電子デバイスは、第2のアバターモデルと第2のステータスデータとに基づいて、更新された第2のアバター(例えば、638)を生成する(726)。電子デバイスはまた、第1のコンテンツを含む第1のメッセージと共に、第1のアバター(例えば、図6J)の代わりに、更新された第1のアバターを表示する(728)(例えば、メッセージの内容及びアバターに関連するコンテキスト情報を変更しないままで、表示されたアバターを更新する)。いくつかの実施形態によれば、第1のアバター(例えば、625)及び第2のアバター(629)は、第2のユーザの身体的外観を表す(例えば、アバターは第2のユーザの外観を反映している)。第2のユーザに対するベースラインアバターの更新を可能にすることによって、メッセージングインタフェースは、アバターが第2のユーザの現在のアバターを常に反映することを確実にする。これによって、電子デバイスのユーザが第2のユーザに関連付けられている複数の異なるベースラインアバターを認識する必要性を排除することで、より効率的なインタフェースを提供する。これにより、ユーザは、電子デバイスとより迅速かつ効率的に対話することができ、電子デバイスをより効率的にし、電力使用量を低減し、デバイスの電池寿命を改善する。
いくつかの実施形態によれば、第1のステータスデータは、第2のユーザの第1のバイオメトリック特性(例えば、深度情報、顔認識、心拍数など)に基づいている(716)。いくつかの実施形態によれば、第1のステータスデータは、送信者の光学的画像又は深度画像に基づいている。いくつかの実施形態によれば、第1のステータスデータは、第2のユーザが第1のメッセージを作成及び/又は送信した時の(例えば、顔マップ(例えば、様々な顔の特徴の描写)に基づく)第2のユーザの検出された表情に基づいている(714)。いくつかの実施形態によれば、第2のステータスデータは、第2のユーザが第2のメッセージを作成及び/又は送信した時の(例えば、顔マップ(例えば、様々な顔の特徴の描写)に基づく)第2のユーザの検出された表情に基づいている(718)。第1のステータスデータを生成するために第2のユーザのバイオメトリック特性又は画像データを使用することによって、ステータスデータを判定及び/又は入力するための第2のユーザの負担を最小化することで、メッセージングインタフェースが拡張される。加えて、バイオメトリック特性を使用することは、他の方法と比較して、第2のユーザに対して、より細かい、及び/又は正確なステータスを提供することができる。このように、電子デバイスは、電子デバイスをより効率的にし、電力使用量を低減し、電池寿命を改善する、改良されたマンマシンインタフェースを提供する。
いくつかの実施形態によれば、電子デバイスは、第1のステータスデータに基づいて、第1のアバターに対する1つ以上の特性(例えば、アバター629又は638の悲しい表情のための目、口、及び眉)(例えば、表情又はアクセサリ)を選択する(例えば、所定のアバターを選択する、又は新しいアバターを生成する)。いくつかの実施形態によれば、電子デバイスは、第2のステータスデータに基づいて、第2のアバターに対する1つ以上の特性を選択し(例えば、既存のアバターを選択する、又は新しいアバターを生成する)、第2のステータスデータは、第2のバイオメトリック特性(例えば、深度情報、顔認識、心拍数など)に基づいている。いくつかの実施形態によれば、第1のステータスデータは、第2のユーザの感情(例えば、幸せ、悲しい、笑顔など)を表しているす。アバター全体を選択する代わりにアバターの特性を選択することによって、電子デバイスは、特定のステータスに関連する特性のサブセットを変更するだけで、ステータスに基づいた新しいアバターをより効率的に生成する。このように、電子デバイスは、アバターを生成するのに必要な処理電力を制限することによって、より効率的で、より省電力で、より長い電池寿命を有する。
いくつかの実施形態によれば、第1のアバターは、アニメーションアバター(例えば、629又は638)(例えば、一連の記録された表情に基づくQuicktime(登録商標)ベースのアバター、GIFアバターなど)である。アニメーションアバターを使用することによって、第1のアバターのステータスが表すことができるステータスの範囲及び粒度が増大され、それによって、より効率的な第1のアバター及びメッセージングインタフェースとなる。
いくつかの実施形態によれば、電子デバイスは、第1のユーザから、かつ、電子デバイス上で、第3のメッセージ(例えば、第2のユーザの第1のメッセージ624に返信するメッセージ626)に対する第3のコンテンツ(例えば、図6G及び図6Hのテキストボックス626内のコンテンツ)を受信する。電子デバイスは、第1のユーザに対する第3のステータスデータを生成し、第3のステータスデータを第3のメッセージと関連付ける(例えば、それらを一緒に送信するか、又はメッセージとステータスデータとを相互参照する)。電子デバイスは、第3のステータスデータを第2のユーザに送信する第3のメッセージを第2のユーザに送信する。いくつかの実施形態によれば、電子デバイスは、第3のコンテンツ(例えば、図6G及び図6Hのテキストボックス626内のコンテンツ)を含む第3のメッセージと第3のアバター(例えば、図6G及び図6Hのアバター627)とを、ディスプレイ上に同時に表示する。第3のアバターは第3のステータスデータに基づき、第3のメッセージ及び第3のアバターは、第2のメッセージ及び第2のアバターと同時に表示される。異なるメッセージに対して異なるユーザステータスに基づき異なるアバターを含めることによって、電子デバイスの操作性が、ディスプレイ上に提示される情報量を増大することで拡張される。例えば、ユーザは、メッセージのテキスト内容を読む必要なしに、メッセージを迅速に走査し、アバターに基づいてメッセージに関連付けられた何らかのコンテキストを判定することができる。電子デバイスのこの改善された操作性によって、ユーザがデバイスをより迅速かつ効率的に使用することを可能にすることで、操作性をより効率的にし、電力使用量を低減し、デバイスのバッテリ寿命を改善する。例えば、異なるメッセージに対する異なるアバターは、ユーザが特定のステータスに関連付けられていることを知っている特定のメッセージを、ユーザが見つけようとしているときに役立ち得る(例えば、悲しいメッセージは、場合によっては悲しいアバターを有することになる)。加えて、メッセージが複数の意味を持つと解釈され得る場合、メッセージ特有のアバターは、読者がメッセージの意味を正確な解釈するのを助けることができる。
いくつかの実施形態によると、第1のメッセージ及び第1のアバター(例えば、625)を表示することは、第1のメッセージを、第1のアバターの口から出てくるテキストバブル(例えば、624)として表示することを含む。第1のアバターの口から出てくる第1のメッセージを表示することは、メッセージングインタフェースの最小限のレビューであっても、第1のアバターと第1のメッセージとの間の関連付けを明確にすることを可能にする。
いくつかの実施形態によれば、図8は、説明される様々な実施形態の原理に従って構成された電子デバイス800の例示的な機能ブロック図を示す。いくつかの実施形態によれば、電子デバイス800の機能ブロックは、前述の技術を実行するように構成されている。デバイス800の機能ブロックは、説明される様々な例の原理を実行するために、ハードウェア、ソフトウェア、又はハードウェアとソフトウェアとの組合せによって、任意選択的に実装される。図8で説明する機能ブロックは、説明される様々な例の原理を実施するために、任意選択的に、組み合わされ、又はサブブロックに分離されることが当業者には理解される。従って、本明細書の記載は、本明細書に記載されている機能ブロックの任意の可能な組合せ若しくは分離、又は更なる定義を任意選択的にサポートする。
図8に示されるように、電子デバイス800は、ディスプレイユニット802と、ディスプレイユニット802に結合された処理ユニット804とを含む。いくつかの実施形態において、処理ユニット804は、受信ユニット806、表示可能化ユニット808、生成ユニット810、選択ユニット812、マッピングユニット814、関連付けユニット816、及び送信ユニット818を含む。
処理ユニット804は、第2のユーザから、第1のコンテンツを含む第1のメッセージを(例えば、受信ユニット806を使用して)受信し、第2のユーザに対する第1のステータスデータであって、第1のメッセージに関連付けられ、第1のコンテンツとは別個である、第1のステータスデータを(例えば、受信ユニット806を使用して)受信し、第1のコンテンツを含む第1のメッセージと第1のアバターとを、ディスプレイ上に(例えば、表示可能化ユニット808を使用して)同時に表示することを可能化し、ここで、第1のアバターは第1のステータスデータに基づき、表示された第1のアバターは表示された第1のメッセージに隣接し、第1のメッセージ及び第1のアバターを表示した後、第2のユーザから第2のコンテンツを含む第2のメッセージを(例えば、受信ユニット806を使用して)受信し、第2のユーザに対する第2のステータスデータを(例えば、受信ユニット806を使用して)受信し、ここで、第2のステータスは第2のメッセージに関連付けられ、第2のコンテンツとは別個であり、第1のメッセージ及び第1のアバターの表示を維持しながら、第2のコンテンツを含む第2のメッセージと第2のアバターとをディスプレイ上に(例えば、表示可能化ユニット808を使用して)表示し、ここで、表示された第2のアバターは表示された第2のメッセージに隣接し、第2のアバターは第2のステータスデータに基づき、第1のアバターと第2のアバターとは異なる、ように構成されている。
いくつかの実施形態では、処理ユニット804は、第2のユーザの連絡先情報を含むユーザのセットの連絡先情報を(例えば、表示可能化ユニット808を使用して)表示するように更に構成され、第2のアバターは、第2のユーザの連絡先情報と共に表示される。
いくつかの実施形態では、処理ユニット804は、第2のユーザに対する第1のアバターモデルを(例えば、受信ユニット806を使用して)受信し、第1のアバターモデルと第1のステータスデータとに基づいて第1のアバターを(例えば、生成ユニット810を使用して)生成し、第1のアバターモデルと第2のステータスデータとに基づいて第2のアバターを生成する、ように更に構成されている。
いくつかの実施形態では、処理ユニット804は、第2のユーザに対する第2のアバターモデルを(例えば、受信ユニット806を使用して)受信し、第2のアバターモデルと第1のステータスデータとに基づいて、更新された第1のアバターを(例えば、生成ユニット810を使用して)生成し、第2のアバターモデルと第2のステータスデータとに基づいて、更新された第2のアバターを(例えば、生成ユニット810を使用して)生成し、第1のコンテンツを含む第1のメッセージと共に、第1のアバターの代わりに、更新された第1のアバターを(例えば、表示可能化ユニット808を使用して)表示する、ように更に構成されている。
いくつかの実施形態では、第1のステータスデータは、第2のユーザの第1のバイオメトリック特性に基づいている。
いくつかの実施形態では、処理ユニット804は、第1のステータスデータに基づいて、第1のアバターに対する1つ以上の特性を(例えば、選択ユニット812を使用して)選択するように更に構成されている。
いくつかの実施形態では、処理ユニット804は、第2のステータスデータに基づいて、第2のアバターに対する1つ以上の特性を(例えば、選択ユニット812を使用して)選択するように更に構成され、ここで、第2のステータスデータは第2のバイオメトリック特性に基づいている。
いくつかの実施形態では、第1のアバターはアニメーションアバターである。
いくつかの実施形態では、第1のステータスデータは、第2のユーザの光学的画像又は深度画像に基づいている。
いくつかの実施形態において、処理ユニット804は、第1のステータスデータを所定のアバターモデル上に(例えば、マッピングユニット814を使用して)マッピングして、第1のアバターを作成するように更に構成されている。
いくつかの実施形態では、第1のステータスデータは、第2のユーザの感情を表す。
いくつかの実施形態では、第1のステータスデータは、第2のユーザが第1のメッセージを作成及び/又は送信した時の第2のユーザの検出された表情に基づいている。
いくつかの実施形態では、第2のステータスデータは、第2のユーザが第2のメッセージを作成及び/又は送信した時の第2のユーザの検出された表情に基づいている。
いくつかの実施形態では、処理ユニット804は、第1のユーザから、かつ、電子デバイス上で、第3のメッセージに対する第3のコンテンツを(例えば、受信ユニット806を使用して)受信し、第1のユーザに対する第3のステータスデータを(例えば、生成ユニット810を使用して)生成し、第3のステータスデータを第3のメッセージと(例えば、関連付けユニット816を使用して)関連付け、第3のメッセージを第2のユーザに(例えば、送信ユニット818を使用して)送信し、第2のユーザに第3のステータスデータを(例えば、送信ユニット818を使用して)送信する、ように更に構成されている。
いくつかの実施形態では、処理ユニット804は、第3のコンテンツを含む第3のメッセージと第3のアバターとを(例えば、表示可能化ユニット808を使用して)同時に表示するように更に構成されており、第3のアバターは第3のステータスデータに基づき、第3のメッセージ及び第3のアバターは、第2のメッセージ及び第2のアバターと同時に表示される。
いくつかの実施形態では、第1のアバター及び第2のアバターは、第2のユーザの身体的外観を表す。
いくつかの実施形態では、第1のメッセージ及び第1のアバターの表示は、第1のメッセージを、第1のアバターの口から出てくるテキストバブルとして表示することを含む。
いくつかの実施形態では、第2のユーザは、第1のメッセージと第2のメッセージとを送信するソース電子デバイスと関連付けられている。
図7A~図7Bにおける動作について記載された特定の順序は単なる例示あり、記載された順序は、動作を実行することができる唯一の順序であることを示すことを意図するものではないことを理解されたい。当業者であれば、本明細書に記載される動作を再順序付けるための様々な方法を認識するであろう。加えて、本明細書に記載される他の方法(例えば、方法1000、1300、1700、1900、2100、2300、2500、2700)に関して本明細書に記載される他の処理の詳細はまた、図7A~図7Bに関して上記した方法700にも、類似の様式で適用可能であることに留意されたい。例えば、方法700を参照して上述したメッセージ及びコンテンツは、いくつかの場合には、本明細書に記載される他の方法(例えば、方法1700、1900、2100、2300)を参照して、本明細書に記載される動作(例えば、セキュリティ強化を適用すること、音声コマンドで指定された機能を実行すること、アクションを確認すること)で動作させることができる。簡潔にするために、それらの詳細はここでは繰り返さない。
上述した情報処理方法での演算は、汎用プロセッサ(例えば、図1A、図3、図5Aに関して説明したように)又は特定用途向けチップなどの情報処理装置内の1つ以上の機能モジュールを実行させることによって、任意選択的に実行される。更に、図7A~図7Bを参照して上述した演算は、図1A~図1Bで示した構成要素によって、任意選択的に実行される。例えば、第1のステータスデータ及び第2のステータスを受信することは、イベントソータ170、イベント認識部180、及びイベント処理部190によって、任意選択的に実行される。イベントソータ170内のイベントモニタ171は、タッチ感知面604上の接触を検出し、イベントディスパッチャモジュール174は、イベント情報をアプリケーション136ー1に伝送する。アプリケーション136ー1のそれぞれのイベント認識部180は、イベント情報をそれぞれのイベント定義186と比較し、タッチ感知面上の第1の位置での第1の接触が、ユーザインタフェース上のオブジェクトの選択などの所定のイベント又はサブイベントに対応するか否かを判定する。対応する既定のイベント又はサブイベントが検出されると、イベント認識部180は、そのイベント又はサブイベントの検出に関連付けられたイベント処理部190をアクティブ化する。イベント処理部190は、アプリケーション内部状態192を更新するために、更新部176又はオブジェクト更新部177を、任意選択的に利用又は呼び出す。いくつかの実施形態では、イベント処理部190は、アプリケーションにより表示されるものを更新するために、対応するGUI更新部178にアクセスする。同様に、当業者にとって、他の処理が図1A~図1Bに示された構成要素に基づいてどのように実装できるかは明らかであろう。
図9A~図9Kは、いくつかの実施形態に係る、3Dモデルを構築するデータをキャプチャするための例示的なユーザインタフェースを示す。これらの図におけるユーザインタフェースは、図10A~図10Bにおけるプロセスを含む、以下において説明されるプロセスを例示するために用いられる。
図9Aは、いくつかの例では上述のデバイス100、デバイス300、又はデバイス500の特定のフォームファクタである、デバイス900を示す。デバイス900は、いくつかの例ではタッチ感知ディスプレイであるディスプレイ901と、画像センサ902とを含む。加えて、デバイス900のいくつかの実施形態では、画像センサ902と共に、追加のセンサ(例えば、深度センサ、IRセンサなど)、及び/又は他の構成要素(例えば、フラッシュ又はIRエミッタ)が存在する。
図9Aでは、ディスプレイ901は、どのように進行するかについての命令を含む走査プログラムの走査インタフェース903、及びこれまでに3Dモデルに対してキャプチャされてきたデータを示す画像データ領域904を表示している。画像データ領域904は、データ追加ボタン905を含む。
図9Bは、図9Aに描かれたデバイス900を反対側から描く。デバイス900のこの側には、画像センサ906、光センサ907、及びフラッシュ908が存在する。いくつかの例では、画像センサ906は、高品質の可視光センサである。任意選択的に、IRなどの他の種類の光もキャプチャする。画像センサ906はまた、任意選択的に、飛行時間又は他の技術を使用して深度情報をキャプチャするように構成されている。いくつかの例では、光センサ907を使用して照明特性を判定し、照明特性を使用して画像センサ906を好適に構成し、動作させることができる。フラッシュ908は、画像センサ906に可視光フラッシュを提供する。いくつかの例では、フラッシュ908はまた、光センサ907から測定されたデータに基づいて構成されている。いくつかの実施形態では、図9Bに描いた構成要素に加えて、他の構成要素(例えば、追加の画像センサ、IR検出器、IRエミッタなど)も存在する。
図9Cは、例えば、ディスプレイ901上のタッチ909を介してデータ追加ボタン905(図9A)が選択された後の、走査インタフェース903を示す。図9Cでは、走査インタフェース903は、データをどのように追加するかを決定するために4つのアフォーダンス(アフォーダンス911~914)のうちの1つを選択する命令910を含む。アフォーダンス911により、ユーザは既にデバイス900上に記憶されている画像データを選択することができるようになる。アフォーダンス912により、ユーザは、リモートデバイスに既に存在する画像データを選択すること(例えば、インターネット検索をすること、特定のリモートサーバにアクセスすること、又は特定のリモートデバイスから選択すること)ができるようになる。アフォーダンス913により、ユーザは、例えば画像センサ902又は画像センサ906(図9C)を使用して、新しいデータをキャプチャすることができるようになる。アフォーダンス914は、ユーザを、図9Aに描かれたインタフェースのステータスに戻す。
図9Dは、アフォーダンス913(図9C)が、例えばディスプレイ901上のタッチ915を介して選択された後の、走査インタフェース903を示す。図9Dでは、走査インタフェース903は、キャプチャする画像データの種類を選択するための4つのアフォーダンス(916~919)を提供する。アフォーダンス916は、静止画像を選択する。アフォーダンス917は、ビデオ画像データを選択する。アフォーダンス918は、パノラマ画像データを選択する。アフォーダンス919は、走査インタフェースを図9Cに示す状態に戻す。
図9Eは、アフォーダンス916(図9D)が、例えばディスプレイ901上のタッチ920を介して選択された後の、走査インタフェース903を示す。図9Eでは、画像センサ906(図9B)を使用してシーン920の一部をキャプチャするために、キャプチャインタフェースがディスプレイ901上に表示される。ビューファインダ921は、画像センサ906(図9B)の現在の視野を表す。この例では、デバイス900のホームボタン922は、ビューファインダ921内の画像データをキャプチャするために使用される。例えば、ユーザがホームボタン922を押下したこと(例えば、押下923)に応じて、ビューファインダ921に表示されたデータによって表される画像データがキャプチャされ、デバイス900に保存される。同様のインタフェースが、図9Dに関して説明された他の種類の画像キャプチャに利用可能である。画像センサ906によってキャプチャされた可視光又は他の種類の光を表すデータに加えて、画像データはまた、位置データ(例えば、GPSデータ)及び方位データ(例えば、加速度計、ジャイロスコープ、及び/又は電子コンパスから収集されたデータ)などの位置データを、任意選択的に含む。
図9Fは、図9Eに示す画像データがキャプチャされた後の、走査インタフェース903を示す。図9Eに関して説明したようにキャプチャされた画像データの表現924は、今、画像データ領域904にある。図9Fでは、走査インタフェース903が、図9A及び図9C~図9Dに関して説明したプロセスを介して、写真キャプチャ状態に既に戻っている。図9Eと比較して、デバイス900はターゲットに対して移動している。ディスプレイ901は、ビューファインダ921が、同じターゲットであるがシーン920と比較して異なる角度である、シーン925の一部に向けられていることを示す(図9E)。いくつかの例では、ホームボタン922は、ビューファインダ921に表される画像データをキャプチャするために使用される。
図9Gは、表現926によって表された画像データがキャプチャされた後の、走査インタフェース903を示す。表現924及び926によって表される画像データに基づいて、デバイス900は、走査プログラムを介して、画像データ内のターゲットの3Dモデルの構築に使用するために好適なアルゴリズムを判定する。走査プログラムは、好適なアルゴリズムを判定するときに、様々なファクタを考慮に入れる。一実施例では、画像データの種類(例えば、静止画像対ビデオ対パノラマ)がファクタである。別の例では、画像データがキャプチャされたときにデバイス900があった向き及び/又は位置がファクタである。画像データが深度情報及び画像データ量を含むかどうかなどの他のファクタもまた、様々な実施形態において考慮される。
図9Gはまた、モデルプレビュー928を含む3Dモデルプレビュー領域927を含み、モデルプレビュー928は、異なる角度及び視点から見られるように操作することができる。例えば、ディスプレイ901上のタッチアンドドラッグ929に応じて、図9Hに示すようにモデルプレビュー928が回転されるが、これは、画像データキャプチャが不完全なことによりモデルプレビュー928が完成していないことを示す。いくつかの実施形態では、モデルを完成させるために、ユーザは、データ追加ボタン905を選択して追加の画像データを追加する。
図9Iは、図9Hのデータ追加ボタン905の選択後の走査インタフェース903を示す。図9Iでは、デバイス900は、これまでにキャプチャされた静止画像データに基づいて、静止画像アルゴリズムがモデルを構築するのに最も適していると判定した。従って、走査インタフェース903は、モデルを構築する際に最も有用となるであろう種類の追加の画像データを取得する命令929を、ユーザに表示している。他の例では、走査インタフェース903は、ビデオデータ又はパノラマデータ画像データを代わりに取得する命令及び/又は提案を提供する。走査インタフェース903はまた、任意選択的に、最も有用な画像データを取得するためにデバイス900をどのように位置決めするかについての命令を提供する。図9Cに関して説明したのと同じキャプチャオプションもまた、表示される。
図9Iのアフォーダンス912の選択に応じて、ディスプレイ901上のタッチ930を介して、走査インタフェース903は、図9Jに示すリモート選択インタフェース931を表示する。リモート選択インタフェース931は、リモート位置から入手可能な画像データを示す表現932~934を含む。表現932~934は、現在構築しているモデルに潜在的に関連する画像データを表すように決定される。例えば、デバイス900は、その位置を使用して同じおおよその位置にキャプチャされた他の画像データを判定するリモートサーバに、その位置を任意選択的に送信する。別の例として、デバイス900は、任意選択的に、既にキャプチャされている画像データの一部又は全てを送信する。次いで、リモートサーバは画像認識を実行して、関連性があるかもしれない他の画像データを判定する。更に別の例として、標準的なインターネット検索は、ユーザによって提供された検索基準を使用して実行される。いくつかの実施形態において、リモート選択インタフェース931は、インターネット検索の結果を表示するウェブブラウザインタフェースとして実装される。選択インタフェース931のいくつかの例では、インタフェース上でのスワイプジェスチャにより、利用可能な追加の画像データを通してユーザがスクロールすることを可能にする。図9Jの表現932に関連付けられた画像データの選択に応じてデバイス900は、図9Kの表現935によって示すように、それぞれの画像データを取り出し、それをモデルを構築するために利用可能な画像データに追加する。
図9Kでは、3Dモデルプレビュー領域927が、利用可能な画像データに基づく新しいモデル、モデルプレビュー936で更新されている。図9Lは、図9G及び図9Hに関して上述したように、例えば、ディスプレイ901上のタッチを介して、ユーザがモデルを回転させた後のモデルプレビュー936を示す。いくつかの場合には、モデルプレビュー936は、図9Gに関して先に選択された走査プログラムを介して、デバイス900とは異なるアルゴリズムを使用して構築される。
図10A~図10Bは、いくつかの実施形態に係る、電子デバイスを使用してオブジェクトの3Dモデルを構築するための方法を示すフロー図である。方法1000は、ディスプレイ及び1つ以上の画像センサを有するデバイス(例えば、100、300、500)において実行される。方法1000のいくつかの動作は、任意選択的に組み合わされ、いくつかの動作の順序は、任意選択的に変更され、いくつかの動作は、任意選択的に省略される。
以下に説明するように、方法1000は、オブジェクトの3Dモデルを構築するための直感的な方法を提供する。この方法は、オブジェクトの3Dモデルを構築するユーザの認識的負担を軽減し、それによって、より効率的なヒューマンマシンインタフェースを作成する。バッテリ動作コンピューティングデバイスの場合、ユーザがより速くより効率的にオブジェクトの3Dモデルを構成できるようにすることで、電力が節約され、バッテリ充電の時間間隔が増加する。
1つ以上の画像センサ(例えば、902、906)、メモリ、及びディスプレイ(例えば、901)を有する電子デバイス(例えば、900)は、電子デバイスの1つ以上の画像センサ(例えば、902、906)(例えば、深度センサ、光センサ、IRセンサ)から、第1の画像データ(例えば、921、904)(例えば、光データ、深度データ、及び任意選択的に位置データを有する静止画又はビデオ)をキャプチャする(1002)。第1の画像データは、第1の視点(例えば、図9E)からのオブジェクト(例えば、920)の第1の光学的画像データを含む。
電子デバイスはまた、電子デバイスの1つ以上の画像センサ(例えば、921、904)(例えば、深度センサ、光センサ)から、第2の画像データ(例えば、921、926)をキャプチャし(1004)、ここで、第2の画像データは、第1の視点とは異なる第2の視点(例えば、図9F)からのオブジェクトの第2の光学的画像光データを含む。
電子デバイスは、第1の視点から第2の視点への視点の変化に基づいて、アルゴリズム(例えば、異なるキャプチャをスティッチするアルゴリズム、パンニングデータを使用するアルゴリズム)を選択し(1006)、このアルゴリズムに基づいて、オブジェクトの3Dモデリングを継続するために必要な追加の画像データ(例えば、図9I)を判定する。
最後に、電子デバイスは、選択されたアルゴリズムに基づいて判定された追加の画像データをキャプチャする命令を提供する視覚フィードバック(929)を、ディスプレイ上に表示する(1010)。オブジェクトをモデル化するために必要とされる追加のデータについてユーザに命令を提供することによって、電子デバイスは、ユーザの認識的負担を軽減するように拡張され、どのような更なる画像データ(例えば、画像データの種類及び画像データの位置)が必要であるかを判定する。これにより、ユーザが正確なモデルの作成に成功するであろう可能性が高まる。
いくつかの実施形態によれば、電子デバイスは、(例えば、画像センサ又はリモートサーバから)第3のデータ(例えば、935)を受信する(1018)。第3のデータは、第3の視点からのオブジェクトの第3の光学的画像データを含む。電子デバイスは、第3の視点に基づいて、更新されたアルゴリズム(例えば、異なるキャプチャをスティッチするアルゴリズム、パンニングデータを使用するアルゴリズム)を選択する(1020)。更新されたアルゴリズムは、アルゴリズムとは異なる。更新されたアルゴリズムに基づいて、電子デバイスは、オブジェクトの3Dモデリングを継続するために必要とされる、追加の画像データとは異なる更新された追加の画像データを判定する(1022)。電子デバイスは、更新された追加の画像データをキャプチャするための更新された命令を提供する視覚フィードバックを、ディスプレイ上に表示し(1024)、ここで、更新された命令は、更新されたアルゴリズムを選択する前に表示された命令とは異なる。第3のデータに基づいて、更新されたアルゴリズムを選択することにより、モデルを構築する電子デバイスの能力は、利用可能な画像データに基づいて、モデルがどのように構築されるかを調整することによって向上する。このように、キャプチャされた画像データに基づいたアルゴリズムに基づく電子デバイスのモデル構築は、より効率的で、より省電力であり、電池寿命を改善する。
いくつかの実施形態によれば、電子デバイスは、選択された更新されたアルゴリズムを使用して、第1の画像データ(例えば、924)、第2の画像データ(例えば、926)、及び第3の画像データ(例えば、935)に基づいて、オブジェクトの3Dモデル(例えば936)を構築する。
いくつかの実施形態によれば、電子デバイスは、第1の画像データ(例えば、924)(例えば、位置データ)の少なくとも一部をリモートサーバに送信し、第3のデータ(例えば、932)がオブジェクト(例えば、図9J)に利用可能であるという指標をリモートサーバから受信する。いくつかの実施形態では、第3のデータは他のユーザから入手可能なデータからのものである。他のユーザからのデータを使用することによって、電子デバイスは、既に利用可能であるデータを再キャプチャする必要なく、モデルをより効率的に構築することができる。このように、電子デバイスは、より効率的で、より省電力で、より長い電池寿命を有する。加えて、電子デバイスは、既に利用可能ではない、又はユーザがキャプチャすることが困難であり得る追加のデータをユーザがキャプチャする必要性を排除することによって、ユーザの負担を軽減する。
いくつかの実施形態によると、更新された追加の画像データをキャプチャするための更新された命令を提供する視覚フィードバックを、ディスプレイ上で表示することは、電子デバイスが、第1のアルゴリズムが選択されているという判定に従って、第1の命令セット(例えば、929)を表示し(1014)、第1のアルゴリズムとは異なる第2のアルゴリズムが選択されているという判定に従って、視覚フィードバックが、第1の命令セットとは異なる第2の命令セットを含む(1016)、こととを含む(例えば、ユーザに、カメラを定点の周囲で回転させたり又はオブジェクトの静止画像を撮ったりするのではなく、カメラを水平にスライドするように促す)。
いくつかの実施形態によれば、第1の画像データは、第1の視点からのオブジェクトの第1の深度画像データを含む(1012)。
いくつかの実施形態によれば、電子デバイスは、第1の視点(例えば、図9Eの視点)(例えば、向き又は相対位置)に対する第1の位置データ(例えば、GPS、傾斜、方位データ)を(例えば、センサ又は画像データから)取得する。
いくつかの実施形態によれば、アルゴリズムを選択することはまた、第1の位置データに基づいている。
いくつかの実施形態によれば、電子デバイスは、第2の視点(例えば、図9Fの視点)(例えば、向き又は相対位置)に対する第2の位置データ(例えば、GPS、傾斜、方位データ)をキャプチャし、ここで、第2の画像データは、第2の視点からのオブジェクトの第2の深度画像データを含み、アルゴリズムを選択することもまた第2の位置データに基づいている。
いくつかの実施形態によれば、電子デバイスは、選択されたアルゴリズムを使用して、第1の画像データ(例えば、924)、第2の画像データ(例えば、926)、及び追加の画像データ(例えば、935)に基づいて、オブジェクトの3Dモデル(例えば、936)を構築し、その3Dモデルをメモリに記憶する。いくつかの実施形態では、3Dモデルのグラフィック表現(例えば936)がユーザに表示される(例えば、ユーザがオブジェクトを走査している間に、部分的に生成された3Dモデルがユーザに表示されて、ユーザがオブジェクトの走査を完了するのを助け、及び/又は、3Dモデルを表示するための表示されたアフォーダンスのアクティブ化などの、モデルを表示するための検出された要求に任意選択的に応じて、ユーザがオブジェクトの走査を完了した後に、完成した3Dモデルがユーザに表示される)。
いくつかの実施形態によると、アルゴリズムを選択することは、第1の画像データ及び第2の画像データがオブジェクトの走査からのものであることを示す、第1の視点から第2の視点への変化に基づいて、走査ベースのアルゴリズムを選択することを含む。
いくつかの実施形態によると、アルゴリズムを選択することは、第1の視点と第2の視点が離散画像に対するもの(例えば、図9E及び図9Fに示す視点)であることを示す、第1の視点から第2の視点への変化に基づいて、離散画像ベースのアルゴリズムを選択することを含む。
いくつかの実施形態によれば、電子デバイスは、オブジェクトにタッチしている第1の画像データ内のサポート(例えば、手又はテーブル)を識別し、選択されたアルゴリズムを使用して、第1の画像データ及び第2の画像データに基づいてオブジェクトの3Dモデルを構築する。3Dモデルは、第1のオブジェクトにタッチするサポートを含まない(例えば、3Dモデルは、第1のオブジェクトの一部ではなく、サポートの一部であると判定された検出点を除外することによって少なくとも部分的に生成される)。オブジェクトのモデルにおける第1のオブジェクトにタッチしているサポートを含まないことによって、電子デバイスは、ユーザに関係のない余分な詳細を含まないことによって、ユーザにとってより有用なモデルを生成することができるように拡張される。このように、ユーザは後で手動でサポートを取り外す必要がないので、電子デバイスをより効率的にし、より省電力で、より長いバッテリ寿命を有するようになる。
いくつかの実施形態によれば、電子デバイスは、オブジェクト(例えば、921)のライブ画像を含む第1のウィンドウを、電子デバイスのディスプレイ上に表示し、オブジェクトの(例えば、完全な、又は部分的なのいずれかの)モデル(例えば、927)の画像を含む第2のウィンドウを、ディスプレイ上に表示し、ここで、モデルは、第1の画像データ及び第2の画像データに基づいている。いくつかの実施形態では、追加の画像がキャプチャされてオブジェクトのモデルが改善されるにつれて、オブジェクトのモデルの画像が更新される。このフィードバックにより、少なくともいくつかのケースでは、スキャンの品質が向上するかもしれない、走査の進行及びデバイスの動作の種類に関してリアルタイムのフィードバックをユーザに提供することによって、ユーザはオブジェクトをより正確に走査することができ、それによってより正確なモデルとなる。
いくつかの実施形態によれば、図11は、説明される様々な実施形態の原理に従って構成された電子デバイス1100の例示的な機能ブロック図を示す。いくつかの実施形態によれば、電子デバイス1100の機能ブロックは、前述の技術を実行するように構成されている。デバイス1100の機能ブロックは、説明される様々な例の原理を実行するために、ハードウェア、ソフトウェア、又はハードウェアとソフトウェアとの組合せによって、任意選択的に実装される。図11で説明する機能ブロックは、説明される様々な例の原理を実施するために、任意選択的に、組み合わされ、又はサブブロックに分離されることが当業者には理解される。従って、本明細書の記載は、本明細書に記載されている機能ブロックの任意の可能な組合せ若しくは分離、又は更なる定義を任意選択的にサポートする。
図11に示されるように、電子デバイス1100は、ディスプレイユニット1102と、ディスプレイユニット1102に結合された処理ユニット1104とを含む。いくつかの実施形態では、処理ユニット1104は、キャプチャユニット1106、選択有効化ユニット1108、判定ユニット1110、表示可能化ユニット1112、受信ユニット1114、構築ユニット1116、送信ユニット1118、取得ユニット1022、記憶ユニット1124、及び識別ユニット1126を含む。
処理ユニット1104は、電子デバイスの1つ以上の画像センサから、第1の画像データであって、第1の視点からのオブジェクトの第1の光学的画像データを含む、第1の画像データを(例えば、キャプチャユニット1006を使用して)キャプチャし、電子デバイスの1つ以上の画像センサから、第2の画像データであって、第1の視点とは異なる第2の視点からのオブジェクトの第2の光学的画像光データを含む、第2の画像データを(例えば、キャプチャユニット1106を使用して)キャプチャし、第1の視点から第2の視点への視点の変化に基づいて、アルゴリズムを(例えば、選択ユニット1108を使用して)選択し、このアルゴリズムに基づいて、オブジェクトの3Dモデリングを継続するために必要な追加の画像データを(例えば、判定ユニット1110を用いて)判定し、選択されたアルゴリズムに基づいて判定された追加の画像データをキャプチャする命令を提供する視覚フィードバックをディスプレイ上に(例えば、表示可能化ユニット1112を使用して)表示する、ように構成されている。
いくつかの実施形態では、処理ユニット1104は、第3の視点からのオブジェクトの第3の光学的画像データを含む、第3のデータを(例えば、受信ユニット1114を使用して)受信し、第3の視点に基づいて、アルゴリズムとは異なる更新されたアルゴリズムを(例えば、選択ユニット1108を使用して)選択し、更新されたアルゴリズムに基づいて、オブジェクトの3Dモデリングを継続するために必要とされる、追加の画像データとは異なる更新された追加の画像データを(例えば、判定ユニット1110を使用して)判定し、更新された追加の画像データをキャプチャするための更新された命令を提供する視覚フィードバックを、ディスプレイ上に(例えば、表示可能化ユニット1112を使用して)表示し、ここで、更新された命令は、更新されたアルゴリズムを選択する前に表示された命令とは異なる、ように更に構成されている。
いくつかの実施形態では、処理ユニット1104は、選択された更新されたアルゴリズムを使用して、第1の画像データ、第2の画像データ、第3の画像データ、及び更新された追加の画像データに基づいて、オブジェクトの3Dモデルを(例えば、構築ユニット1116を使用して)構築するように更に構成されている。
いくつかの実施形態では、処理ユニット1104は、第1の画像データの少なくとも一部をリモートサーバに(例えば、送信ユニット1118を使用して)送信し、第3のデータがオブジェクトに利用可能であるという指標をリモートサーバから(例えば、受信ユニット1114を使用して)受信する、ように更に構成されている。
いくつかの実施形態では、更新された追加の画像データをキャプチャするための更新された命令を提供する視覚フィードバックの、ディスプレイ上での表示は、第1のアルゴリズムが選択されているという判定に従って、第1の命令セットを表示することと、第1のアルゴリズムとは異なる第2のアルゴリズムが選択されているという判定に従って、視覚フィードバックが、第1の命令セットとは異なる第2の命令セットを含むことと、を含む。
いくつかの実施形態では、第1の画像データは、第1の視点からのオブジェクトの第1の深度画像データを含む。
いくつかの実施形態では、処理ユニット1104は、第1の視点に対する第1の位置データを(例えば、取得ユニット1122を使用して)取得するように、更に構成されている。
いくつかの実施形態では、アルゴリズムを選択することはまた、第1の位置データに基づいている。
いくつかの実施形態では、処理ユニット1104は、第2の視点に対する第2の位置データを(例えば、キャプチャユニット1106を使用して)キャプチャするように更に構成されており、第2の画像データは、第2の視点からのオブジェクトの第2の深度画像データを含み、アルゴリズムを選択することはまた、第2の位置データに基づいている。
いくつかの実施形態では、処理ユニット1104は、選択されたアルゴリズムを使用して、第1の画像データ、第2の画像データ、及び追加の画像データに基づいて、オブジェクトの3Dモデルを(例えば、構築ユニット1116を使用して)構築し、その3Dモデルをメモリに(例えば、記憶ユニット1124を使用して)記憶する、ように更に構成されている。
いくつかの実施形態では、アルゴリズムを選択することは、第1の画像データ及び第2の画像データがオブジェクトの走査からのものであることを示す、第1の視点から第2の視点への変化に基づいて、走査ベースのアルゴリズムを選択することを含む。
いくつかの実施形態では、アルゴリズムを選択することは、第1の視点と第2の視点が離散画像に対するものであることを示す、第1の視点から第2の視点への変化に基づいて、離散画像ベースのアルゴリズムを選択することを含む。
いくつかの実施形態では、処理ユニット1104は、オブジェクトにタッチしている第1の画像データ内のサポートを(例えば、識別ユニット1126を使用して)識別し、選択されたアルゴリズムを使用して、第1の画像データ及び第2の画像データに基づいて、オブジェクトの3Dモデルを(例えば、構築ユニット1116を使用して)構築する、ように更に構成されており、3Dモデルは第1のオブジェクトにタッチしているサポートを含まない。
いくつかの実施形態では、処理ユニット1104は、オブジェクトのライブ画像を含む第1のウィンドウを、電子デバイスのディスプレイ上に(例えば、表示可能化ユニット1112を使用して)表示し、オブジェクトのモデルの画像を含む第2のウィンドウを、ディスプレイ上に(例えば、表示可能化ユニット1112を使用して)表示するように更に構成されており、モデルは第1の画像データ及び第2の画像データに基づいている。
図10A~図10Bにおける動作について記載された特定の順序は単なる例示あり、記載された順序は、動作を実行することができる唯一の順序であることを示すことを意図するものではないことを理解されたい。当業者であれば、本明細書に記載される動作を再順序付けるための様々な方法を認識するであろう。加えて、本明細書に記載される他の方法(例えば、方法700、1300、1700、1900、2100、2300、2500、2700)に関して本明細書に記載される他の処理の詳細はまた、図10A~図10Bに関して上記した方法1000にも、類似の様式で適用可能であることに留意されたい。例えば、方法1000を参照して上述した第1の画像データ及び第2の画像データをキャプチャすることは任意選択的に、本明細書に記載される他の方法(例えば、方法2500及び2700)を参照して、本明細書に記載されるキャプチャされた画像データの特性のうちの1つ以上を有する。簡潔にするために、それらの詳細はここでは繰り返さない。
上述した情報処理方法での演算は、汎用プロセッサ(例えば、図1A、3、5Aに関して説明したように)又は特定用途向けチップなどの情報処理装置内の1つ以上の機能モジュールを実行させることによって、任意選択的に実行される。更に、図10A~図10Bを参照して上述した演算は、図1A~図1Bで示した構成要素によって、任意選択的に実行される。例えば、第1及び第2の画像データをキャプチャさせる入力は、イベントソータ170、イベント認識部180、及びイベント処理部190によって、任意選択的に実行される。イベントソータ170内のイベントモニタ171は、タッチ感知面604上の接触を検出し、イベントディスパッチャモジュール174は、イベント情報をアプリケーション136ー1に伝送する。アプリケーション136ー1のそれぞれのイベント認識部180は、イベント情報をそれぞれのイベント定義186と比較し、タッチ感知面上の第1の位置での第1の接触が、ユーザインタフェース上のオブジェクトの選択などの所定のイベント又はサブイベントに対応するか否かを判定する。対応する既定のイベント又はサブイベントが検出されると、イベント認識部180は、そのイベント又はサブイベントの検出に関連付けられたイベント処理部190をアクティブ化する。イベント処理部190は、アプリケーション内部状態192を更新するために、更新部176又はオブジェクト更新部177を、任意選択的に利用又は呼び出す。いくつかの実施形態では、イベント処理部190は、アプリケーションにより表示されるものを更新するために、対応するGUI更新部178にアクセスする。同様に、当業者にとって、他の処理が図1A~図1Bに示された構成要素に基づいてどのように実装できるかは明らかであろう。
図12A~図12Jは、いくつかの実施形態に係る、ユーザに基づいてデータ及びアプリケーションへのアクセスを制限するための例示的なユーザインタフェースを示す。これらの図におけるユーザインタフェースは、図13A~図13Bにおけるプロセスを含む、以下において説明されるプロセスを例示するために用いられる。
図12Aは、ディスプレイ1201、画像センサ1202、及びホームボタン1204を有する、デバイス1200を示す。いくつかの実施形態では、ディスプレイ1201は、タッチ感知ディスプレイである。いくつかの実施形態では、ホームボタン1204はディスプレイ1201とは別個の機械的ボタンであり、ホームボタン1204上に指を置いたユーザを識別するための指紋センサを含む。いくつかの実施形態では、ホームボタン1204はディスプレイ1201と一体化されており、更に指紋センサを含む。図12Aでは、デバイス1200は、ディスプレイ1201上にロック画面インタフェース1203を表示している。ロック画面インタフェース1203は、デバイス1200が制限された機能でロック状態にあるときに表示される。例えば、デバイス1200上の大部分のアプリケーション、及び他の機能へのアクセスは、ロック状態では許可されない。しかしながら、いくつかの例では、いくつかのアプリケーション(例えば、カメラアプリケーション)又は機能(例えば、緊急番号への発呼)は利用可能である。ロック状態から許可されるこれらのアプリケーション及び機能は、任意選択的に、ロック画面インタフェース1203に現れるボタン(図示せず)、又はロック画面インタフェース1203上の他のジェスチャ(例えば、スワイプ)を介してアクセスされる。いくつかの場合では、デバイス1200は、ホームボタン1204内に存在する指紋センサによって測定された指紋データの認証を介してロック解除される。他の場合では、デバイス1200は、ピンコードインタフェース(図示せず)を介して入力されたピンコードの認証を介してロック解除される。いくつかの実施形態では、画像センサ1202は、デバイス1200を使用してユーザの画像データをキャプチャするように構成されている。次いで、画像データはデバイス1200で処理され、画像データ又は正規ユーザに対する他のデータと比較される。画像データがユーザを認証することを可能にする場合には、デバイス1200をロック解除することもできる。
図12Bは、例えば、図12Aに関して説明された技術のうちの1つを使用して、デバイス1200がロック解除された後に、ホーム画面インタフェース1205を表示しているデバイス1200を示す。ホーム画面インタフェース1205は、アイコン1206に関連付けられた写真アプリケーションを含む、デバイス1200上にインストールされたアプリケーション用の複数のアイコンを含む。例えば、1206の位置におけるディスプレイ1201上のタッチ1207を介してアイコン1206を選択したことに応じて、写真アプリケーションが起動されるか、又は写真アプリケーションが既に起動されている場合には写真アプリケーションが表示される。
図12Cは、写真アプリケーションを表示するデバイス1200であって、より具体的には、追加ボタン1209、タイトル1210、検索ボタン1211、及び編集ボタン1212を含む、写真アルバムインタフェース1208を示す。追加ボタン1209を選択すると、追加の写真アルバムの作成を可能にするアルバム追加インタフェースが表示される。タイトル1210は、そのインタフェースをアルバムインタフェースとして識別する。検索ボタン1210を選択すると、写真アプリケーション内の写真の検索を可能にする検索インタフェースが表示される。編集ボタン1212を選択すると、アルバムの削除又は他の機能を可能にするアルバム編集インタフェースが可能化される。
写真アルバムインタフェース1208はまた、写真アプリケーション内のそれぞれの写真アルバムをそれぞれ表すサムネイル1213~1216を含む。いくつかの例では、各サムネイルは、そのアルバム内に存在する写真のより小さいバージョンである。サムネイル1213~1216はまた、例えば、ディスプレイ1201上のタッチを介して選択可能である。
図12Dは、サムネイル1213(図12C)を選択した後の写真アプリケーションを示す。戻るボタン1218、タイトル1219、及び選択ボタン1220を含む、写真選択インタフェース1217が表示される。戻るボタン1218を選択すると、写真アプリケーションはアルバムインタフェース1208(図12C)に戻る。タイトル1219は、写真選択インタフェース1217に表示されている現在のアルバムを識別する。選択ボタン1220を選択すると、ユーザは、現在のアルバム内の複数の写真を選択し、選択された写真に対して操作(例えば、削除)を実行することができるようになる。
写真アルバムインタフェース1217はまた、アルバム内の各写真をそれぞれ表すサムネイル1221~1232を含む。いくつかの例では、各サムネイルは、そのアルバム内に存在する写真のより小さいバージョンである。サムネイル1221~1232はまた、例えば、ディスプレイ1201上のタッチを介して選択可能である。
図12Eは、サムネイル1227(図12D)を選択した後の写真アプリケーションを示す。戻るボタン1235、写真情報1236、及び詳細ボタン1237を含む、写真インタフェース1234が表示される。戻るボタン1235を選択すると、写真アプリケーションが写真選択インタフェース1217(図12D)に戻る。写真情報1235は、現在表示されている写真に関する場所及び時間などの情報を提供する(1238)。詳細ボタン1237を選択すると、関連する写真又は写真内で識別された人物などの、現在表示されている写真(1238)についての追加情報を提供する詳細インタフェースが表示される。
写真インタフェース1234はまた、現在選択されている写真、写真1238の表示を含む。このインタフェースはまた、写真1238のサムネイル1239、及びアルバム内の他の写真のうちのいくつかを表す他の縮小サイズのサムネイル1240を含む、プレビュー領域を含む。いくつかの実施形態では、アルバム内の全ての写真に対して、プレビュー領域内にサムネイルを表示するのに十分な余地がない場合、ユーザは、例えば、プレビュー領域上で、ディスプレイ1201上のスワイプジェスチャを介して、サムネイル間をスクロールすることができる。
写真インタフェース1234を表示している間、デバイス1200のユーザは、写真1238から離れてアルバム内の次の写真(例えば、図12Dのサムネイル1228によって表される写真)にナビゲーションするように、インタフェースに要求することができる。いくつかの例では、現在の写真から離れるナビゲーション要求は、現在選択されている写真(例えば、図12Eの場合には写真1238)上で受信されたディスプレイ1201上のジェスチャである。一実施例では、スワイプジェスチャ1241が受信される。スワイプジェスチャ1241を受信したことに応じて、デバイス1200は、画像センサ1202を使用して画像データをキャプチャする。他の例では、画像データは、現在の写真から離れるナビゲーション要求を受信する前に、キャプチャされる。
いったん画像データがキャプチャされ、現在選択されている写真から離れるナビゲーション要求が受信されると、デバイス1200は、(例えば、認証プログラムを介して)コンテンツロック基準のセットが満たされているかどうかを判定する。いくつかの例では、コンテンツロック基準のセットは、キャプチャされた画像の分析に基づいて、不正ユーザがデバイス1200を使用していると検出された場合に満たされる基準を含む。他の例では、(例えば、キャプチャされた画像データを分析することによって)正規ユーザがいないこと、デバイスの向き又は移動(例えば、デバイスのハンドオフ又はデバイスが平坦に横たわっていることの検出)、正規ユーザが最後に検出されてからの時間遅延、及び/又は表示されているコンテンツに関連付けられた情報(例えば、センシティブな内容又は個人的な内容はより厳しい基準のセットを有し得る)の検出など、他の基準もまた使用される。
コンテンツロック基準のセットが満たされていない(例えば、キャプチャされた画像データに基づいて、不正ユーザがデバイスを使用しているとして検出されない)という判定に応じて、現在選択されているコンテンツから離れるナビゲーションを進めることが許可される。これは、図12F及び図12Gに描かれている。
具体的には、図12Fにおいて、スワイプジェスチャ1241(図12E)に応じて、写真インタフェース1234が写真1238から、アルバム内の次の写真、写真1242に遷移する。加えて、写真1238に関連付けられたサムネイル1239は、写真1242に関連付けられたサムネイル1243が大きくなるにつれて縮小する。
図12Gは、以前に選択されたコンテンツ(図12Eの写真1238)から、新たに選択されたコンテンツ(写真1242)への完了したナビゲーションを示す。写真インタフェース1234の写真情報は、写真1242に関連付けられた写真情報1244で更新されている。
一方、コンテンツロック基準のセットが満たされている(例えば、キャプチャされた画像データに基づいて、不正ユーザがデバイスを使用しているとして検出される)という判定に応じて、現在選択されているコンテンツから離れるナビゲーションが拒否される。これは図12Hに描かれている。
図12Hでは、デバイス1200は、コンテンツロック基準のセットが満たされていると判定した。例えば、図12Eのスワイプジェスチャ1241を介して、現在選択されているコンテンツ(写真1238)から離れるナビゲーション要求に応じて、デバイス1200は、図12F及び図12Gに関して説明したように、アルバム内の次の写真を示さない。加えて、サムネイル付き写真プレビュー領域1239は、要求に応じて更新されない。いくつかの実施形態では、写真プレビュー領域は完全に隠れている。スワイプジェスチャの停止に応じて、写真1238は、図12Eに示すようにディスプレイ1201の中央に戻る。いったんコンテンツロック基準のセットがもはや満たされなくなると、写真1238から離れるナビゲーションを行う機能が再び許可される。
現在表示されているコンテンツ又は選択されているコンテンツから離れるナビゲーションを防止することに加えて、いくつかの実施形態では、デバイス1200の他の機能を制限又は変更するために、他の潜在的に異なるロック基準のセットも使用される。例えば、ロック基準のセットは、アプリケーションを終了する、別の開いているアプリケーションに切り替える、又は新しいアプリケーションを起動する機能などの、デバイスの機能に関連付けられている。このロック基準のセットが満たされると、デバイスの関連付け機能は無効化される。別の例では、ロック基準のセットは、読み出し専用構成などの、デバイス上のアプリケーションの構成に関連付けられている。このロック基準のセットが満たされると、アプリケーションの構成が切り替わる(例えば、アプリケーションの機能が制限される、あるいはアプリケーションが読み出し/書き込み構成から読み出し専用構成に切り替わる)。更に別の例では、ロック基準のセットは、現在の機能以外のデバイスの全ての他の機能をロックすることに関連付けられている(例えば、デバイスが写真を表示している場合、これはおそらく、デバイスをロックすること以外に、そのデバイスで許可されている唯一の機能である)。
図12I及び図12Jは、ロック基準のセットの別の適用例を示す。図12Iでは、通信は、iMessageメッセージの形で受信されている。デバイス1200は、ロック基準のセットが満たされていないと判定した。このように、デバイス1200は、通信が受信されたことを示し、メッセージの内容及び送信者をプレビューするための通知1245を表示する。対照的に、図12Jでは、デバイス1200は、同じロック基準のセットが満たされていると判定した。このロック基準のセットは、通信についての通知を表示するかどうか、あるいは表示する通知の種類が何であるかに関連付けられている。図12Jでは、通知1246は、メッセージの内容又は誰がメッセージを送信したかを示すことなく、メッセージ又は通信が受信されたことを示すだけである。いくつかの実施形態では、通知の表示は、ロック基準が満たされることに応じて完全に抑制される。
関連するロック基準のセットがもはや満たされなくなると、デバイス1200及びそのアプリケーションの制限された機能及び特徴が、任意選択的に復元される。いくつかの実施形態では、例えば、ピンコード又は指紋識別を使用してデバイスがロック解除されると、制限された機能及び特徴も復元される。
図13A~図13Bは、いくつかの実施形態に係る、電子デバイスを使用しているユーザに基づいてデータ及びアプリケーションへのアクセスを制限するための方法を示すフロー図である。方法1300は、ディスプレイ及び画像センサを有するデバイス(例えば、100、300、500)において実行される。方法1300のいくつかの動作は、任意選択的に組み合わされ、いくつかの動作の順序は、任意選択的に変更され、いくつかの動作は、任意選択的に省略される。
後述するように、方法1300は、デバイスを使用しているユーザに基づいて、データ及びアプリケーションへのアクセスを制限するための直感的な方法を提供する。この方法は、デバイスを使用しているユーザに基づいて、データ及びアプリケーションへのアクセスを制限することに対するユーザの認識的負担を低減し、それによって、より効率的なヒューマンマシンインタフェースを作成する。バッテリ動作コンピューティングデバイスの場合、デバイスを使用しているユーザに基づいて、データ及びアプリケーションへのアクセスを、ユーザがより速くより効率的に制限することを可能にすることによって、電力を節約し、バッテリ充電の時間間隔を増加させる。
ディスプレイ(例えば、1201)と1つ以上の画像センサ(例えば、1202)とを有する電子デバイス(例えば、1200)は、アプリケーション(例えば、写真、写真共有アプリケーション、メッセージングアプリケーション)にコンテンツ(例えば、1238)(例えば、写真)をディスプレイ上に表示する。電子デバイスは、アプリケーションが第1の構成(例えば、通常の構成)にある間に、コンテンツを表示する(1302)。コンテンツを表示しながら、電子デバイスは、電子デバイスの1つ以上の画像センサ(例えば、1202)から画像データ(例えば、画像及び/又は深度情報)をキャプチャする(1304)。画像データをキャプチャした後、電子デバイスは、コンテンツから離れるナビゲーション要求(例えば、1241)を受信する(1306)。コンテンツから離れるナビゲーション要求(例えば、異なる写真へのスワイプ、又は異なるウェブページへの移動)を受信したことに応じて、電子デバイスは、第1のコンテンツロック基準のセットが満たされているという判定に従って、コンテンツ(例えば、1238)の表示を維持しながら、コンテンツから離れるナビゲーション(例えば、図12F)(例えば、異なる写真へのスワイプ、又は異なるウェブページへの移動)を防止し(1310)、第1のコンテンツロック基準のセットは、不正ユーザがデバイスを使用していることをキャプチャされた画像データが示すときに満たされる第1の基準を含み、第1のコンテンツロック基準のセットが満たされていないという判定に従って、要求に従いコンテンツから離れるナビゲーションを行う(例えば、図12F~図12G)(1312)。一定の基準が満たされるときにコンテンツから離れるナビゲーションを防止することによって、正規ユーザがアクセスを許可しようとしているコンテンツの閲覧をなおも可能化しながら他のコンテンツへのアクセスを防止することにより電子デバイスのセキュリティが高められる(例えば、正規ユーザがデバイスを使用していないときに、他の写真へのアクセスを防止する)。
いくつかの実施形態によれば、コンテンツから離れるナビゲーションを行う電子デバイスは、現在表示されているコンテンツを並進させること(例えば、タッチ感知面上のドラッグジェスチャなどのスクロール入力に応じて、地図又はリストをスクロールすること)を含む。いくつかの実施形態によれば、コンテンツから離れるナビゲーションを行う電子デバイスは、アプリケーション(例えば、図12F)におけるコンテンツアイテム(例えば、1238及び1242)間の切り替えを含む(例えば、タッチ感知面上でのスワイプジェスチャなどの次のコンテンツアイテム入力に基づいて、本又はpdf内のページ、カメラロール内の写真、ブラウザ内のウェブページを通じて切り替える)。
いくつかの実施形態によれば、電子デバイスは、第1のコンテンツロック基準のセットがもはや満たされないという判定に従って、コンテンツから離れるナビゲーション(例えば、図12F~図12G)(例えば、異なる写真へのスワイプ、又は異なるWebページへの移動)を可能にする(1314)。
いくつかの実施形態によれば、第1のロック基準のセットは、電子デバイスの正規ユーザがそのデバイスを使用していないことをキャプチャされた画像データが示す(例えば、正規ユーザの顔が、1秒、15秒、又は1分などの所定の時間量を超えて、カメラの視野内で検出されない)ときに満たされる第2の基準を含む。いくつかの実施形態によれば、第1のロック基準のセットは、不正ユーザが存在し、かつ、正規ユーザが存在しないことをキャプチャされた画像データが示すときに満たされる第3の基準を含む(例えば、正規ユーザとして認識されないユーザの顔は、正規ユーザの顔がカメラの視野内に検出されることなく、カメラの視野内で検出される)。いくつかの実施形態では、含まれる基準のうちのいずれかが満たされると、第1のロック基準のセットが満たされる。いくつかの実施形態では、含まれる全ての基準が満たされるときにのみ、第1のロック基準のセットが満たされる。第1のロック基準のセットに複数のロック基準を含めることによって、電子デバイスが、コンテンツを他人に見せるユーザ機能と、他人への閲覧をユーザが望まないコンテンツへのアクセス防止との間に対するバランスを可能にする柔軟なセキュリティレベルを提供することで、電子デバイスを拡張させる。
いくつかの実施形態によれば、第1のロック基準のセットは、正規ユーザが存在するか否かにかかわらず不正ユーザが存在することをキャプチャされた画像データが示すときに満たされる(例えば、第1の基準が満たされる場合、第1のロック基準のセットが満たされる)。いくつかの実施形態によれば、電子デバイスは、電子デバイスの不正ユーザの存在をキャプチャされた画像データが示すかどうかを判定する。
いくつかの実施形態によれば、電子デバイスは、第2のコンテンツロック基準のセットが満たされているという判定に従って、電子デバイスの少なくとも1つの機能(図12I及び12J)を無効化する(1316)(例えば、通知の表示を抑制する)。いくつかの実施形態によれば、電子デバイスは、(例えば、他のセットと同じ又は異なる)第4のコンテンツロック基準のセットが満たされているという判定に従って、アプリケーション内のコンテンツを表示し続けながら、電子デバイスの他の機能(例えば、スリープ/起動ボタン機能を除く全ての他の機能)をロックする(1320)。いくつかの実施形態によれば、第4の基準が満たされていることに従って、電子デバイス上のアプリケーション間のナビゲーションを防止し、第5の基準が満たされていることに従って、アプリケーション内のナビゲーション(例えば、図12Eの写真ビューから図12Dのアルバムビューへ戻る遷移)を防止する。例えば、第4の基準(従って、第5のロック基準のセット)が満たされると、ユーザがホームボタンを押してもデバイスはホーム画面に戻らない。代わりに、アプリケーション表示が残るか、又はデバイスがロックされてロックインタフェース(例えば、1203)が表示されるか、のいずれかである。例えば、第4のコンテンツロック基準のセットは、画像データが、電子デバイスを使用している正規ユーザがいないことを示すときに満たされる。第4のコンテンツロック基準のセットが満たされたことに応じて、アプリケーション間の切り替え及び/又は通知の閲覧が無効化される。電子デバイスの1つ以上の機能を無効化又はロックすることによって、他の人が電子デバイス上のコンテンツを閲覧することをユーザが許可しているときに、一定の機能へのアクセスを制限することにより電子デバイスのセキュリティが高められる。例えば、表示された画像を閲覧するために別の人にユーザが電子デバイスを提供しており、電子デバイスが通話を受信した場合、電子デバイスは、ユーザ(例えば、正規ユーザ)が電子デバイスを使用していないと判定し、通話に応答することを防止することができる。
いくつかの実施形態によれば、第1のロック基準のセットと第2のロック基準のセットとは異なる(例えば、第1のロック基準のセットが満たされることは、画像データが、正規ユーザが存在するかどうかにかかわらず、不正ユーザが電子デバイスを使用していることを示し、画像データが、不正ユーザが存在するかどうかにかかわらず、正規ユーザが電子デバイスを使用していないことを示す場合、第2のロック基準のセットが満たされる)。
いくつかの実施形態によれば、電子デバイスは、第3のコンテンツロック基準のセットが満たされているという判定に従って、アプリケーションを、第1の構成(例えば、図12F)と比較してアプリケーションの動作を制限する第2の構成(例えば、図12G)に切り替える(1318)(例えば、不正ユーザ及び正規ユーザが存在する場合、ナビゲーションがロックされ、正規ユーザなしに不正ユーザが存在する場合、デバイス全体がロックされる)。
いくつかの実施形態によれば、電子デバイスは、(例えば、他のセットと同じ又は異なる)第5のコンテンツロック基準のセットが満たされているという判定に従って、電子デバイスにおいて受信された通信に関する通知の表示(例えば、通知トリガ条件を検出すること、及びコンテンツロック基準が満たされているという判定に従って、通知の提示を抑制すること/コンテンツロック基準が満たされていないという判定に従って、通知を提示すること(例えば、可聴、触知、又は視覚的出力を介して))を防止する(1322)。
いくつかの実施形態によれば、第5のロック基準のセットは、不正ユーザが電子デバイスを使用していることをキャプチャされた画像データが示すときに満たされる第4の基準を含み、第5のロック基準のセットは、第4の基準が満たされるときに満たされ、第1のロック基準のセットは、キャプチャされた画像データが正規ユーザの不在を示すときに満たされる第5の基準を含む。例えば、第5のロック基準のセットの第4の基準は、キャプチャされた画像データに正規ユーザ以外のユーザが存在することを電子デバイスからキャプチャされた画像データが示すときに満たされる(例えば、画像データは、(正規ユーザの有無にかかわらず)不正ユーザが電子デバイスの前のカメラの視野内にいることを示す)。加えて、第5のロック基準のセットにおける他の基準が満たされるかどうかにかかわらず、第4の基準が満たされる限り、第5のロック基準のセットが満たされる(例えば、不正ユーザがキャプチャされた画像データに存在する限り、第5のロック基準のセットを満たすために他の基準が満たされる必要はない)。
いくつかの実施形態によれば、画像データは光学的データ及び深度データを含み、第1のコンテンツロック基準のセットが満たされているかどうかを判定することは光学データ及び深度データに基づいている。いくつかの実施形態では、光学的データは第1の解像度を有する第1のカメラによって提供され、深度データは第1の解像度よりも低い第2の解像度を有する第2のカメラによって提供される。いくつかの実施形態では、深度データは、既知の距離だけ離れて配置されている2つのカメラからの画像の組み合わせによって生成される。いくつかの実施形態では、深度データ及び光学的データは、同じカメラによって生成される。
いくつかの実施形態によれば、コンテンツから離れるナビゲーションを行う電子デバイスは、ホーム画面(例えば、1205)を表示するためにアプリケーションを切り替えること、又はアプリケーション(例えば、図12C~図12Jの写真アプリケーション)を閉じること(例えば、ホームボタンなどのボタンの繰り返しのアクティブ化によってトリガされるマルチタスクモードにおけるアプリケーション間の切り替え、又はホームボタンなどのボタンのアクティブ化によってトリガされるアプリケーション起動ユーザインタフェースへの転出)を含む。
いくつかの実施形態によれば、電子デバイスは、電子デバイスの正規ユーザに関連付けられたロック解除情報(例えば、ピンコード、パスワード、又は指紋情報若しくは虹彩情報などのバイオメトリック情報)を受信し、ロック解除情報が真正かどうかを判定し、ロック解除情報が真正であるという判定に従って、コンテンツ(例えば、1238)から離れる(例えば、電子デバイスを通常動作に戻す)ナビゲーション(例えば、図12F)(例えば、異なる写真にスワイプすること、又は異なるウェブページに行くこと)を可能化する。
図13A~図13Bにおける動作について記載された特定の順序は単なる例示あり、記載された順序は、動作を実行することができる唯一の順序であることを示すことを意図するものではないことを理解されたい。当業者であれば、本明細書に記載される動作を再順序付けるための様々な方法を認識するであろう。加えて、本明細書に記載される他の方法(例えば、方法700、1000、1700、1900、2100、2300、2500、2700)に関して本明細書に記載される他の処理の詳細はまた、図13A~図13Bに関して上記した方法1300にも、類似の様式で適用可能であることに留意されたい。例えば、コンテンツロック基準、及び方法1300を参照して上述したキャプチャされた画像データに基づいて、基準が満たされているかどうかの判定は任意選択的に、本明細書に記載される他の方法(例えば、方法1700、1900、2100)を参照して、本明細書に記載される認可基準及びアラート基準及び関連付けられた判定の特性のうちの1つ以上を有する。簡潔にするために、それらの詳細はここでは繰り返さない。
上述した情報処理方法での演算は、汎用プロセッサ(例えば、図1A、図3、図5Aに対して説明したように)又は特定用途向けチップなどの情報処理装置内の1つ以上の機能モジュールを実行させることによって、任意選択的に実行される。更に、図13A~図13Bを参照して上述した演算は、図1A~図1Bで示した構成要素によって、任意選択的に実行される。例えば、コンテンツから離れるナビゲーション要求を受信することは、イベントソータ170、イベント認識部180、及びイベント処理部190によって、任意選択的に実行される。イベントソータ170内のイベントモニタ171は、タッチ感知面604上の接触を検出し、イベントディスパッチャモジュール174は、イベント情報をアプリケーション136ー1に伝送する。アプリケーション136ー1のそれぞれのイベント認識部180は、イベント情報をそれぞれのイベント定義186と比較し、タッチ感知面上の第1の位置での第1の接触が、ユーザインタフェース上のオブジェクトの選択などの所定のイベント又はサブイベントに対応するか否かを判定する。対応する既定のイベント又はサブイベントが検出されると、イベント認識部180は、そのイベント又はサブイベントの検出に関連付けられたイベント処理部190をアクティブ化する。イベント処理部190は、アプリケーション内部状態192を更新するために、更新部176又はオブジェクト更新部177を、任意選択的に利用又は呼び出す。いくつかの実施形態では、イベント処理部190は、アプリケーションにより表示されるものを更新するために、対応するGUI更新部178にアクセスする。同様に、当業者にとって、他の処理が図1A~図1Bに示された構成要素に基づいてどのように実装できるかは明らかであろう。
いくつかの実施形態によれば、図14は、説明される様々な実施形態の原理に従って構成された電子デバイス1400の例示的な機能ブロック図を示す。いくつかの実施形態によれば、電子デバイス1400の機能ブロックは、前述の技術を実行するように構成されている。デバイス1400の機能ブロックは、説明される様々な例の原理を実行するために、ハードウェア、ソフトウェア、又はハードウェアとソフトウェアとの組合せによって、任意選択的に実装される。図14で説明する機能ブロックは、説明される様々な例の原理を実施するために、任意選択的に、組み合わされ、又はサブブロックに分離されることが当業者には理解される。したがって、本明細書の記載は、本明細書に記載されている機能ブロックの任意の可能な組合せ若しくは分離、又は更なる定義を任意選択的にサポートする。
図14に示されるように、電子デバイス1400は、ディスプレイユニット1402と、ディスプレイユニット1402に結合された処理ユニット1404とを含む。いくつかの実施形態では、処理ユニット1404は、表示可能化ユニット1406、キャプチャユニット1408、受信ユニット1410、防止ユニット1412、ナビゲーションユニット1414、許可ユニット1416、無効化ユニット1418、ロックユニット1420、防止ユニット1422、判定ユニット1424、切り替えユニット1126、及び可能化ユニット1128を含む。
1404に構成された処理ユニットは、(例えば、表示可能化ユニット1406を使用して)アプリケーション内のコンテンツをディスプレイ上に表示し、ここで、コンテンツは、アプリケーションが第1の構成にある間に表示しコンテンツを表示しながら、電子デバイスの1つ以上の画像センサから画像データを(例えば、キャプチャユニット1408を使用して)キャプチャし、画像データをキャプチャした後、コンテンツから離れるナビゲーション要求を(例えば、受信ユニット1410を使用して)受信し、コンテンツから離れるナビゲーション要求を受信したことに応じて、第1のコンテンツロック基準のセットが満たされているという判定に従って、コンテンツの表示を維持しながら、コンテンツから離れるナビゲーションを(例えば、防止ユニット1412を使用して)防止し、第1のコンテンツロック基準のセットは、不正ユーザがデバイスを使用していることをキャプチャされた画像データが示すときに満たされる第1の基準を含み、第1のコンテンツロック基準のセットが満たされていないという判定に従って、要求に従いコンテンツから離れるナビゲーションを(例えば、ナビゲーションユニット1414を使用して)行う、ように構成されている。
いくつかの実施形態では、処理ユニット1404は、第1のコンテンツロック基準のセットがもはや満たされないという判定に従って、コンテンツから離れるナビゲーションを(例えば、許可ユニット1416を使用して)可能にするように更に構成されている。
いくつかの実施形態では、第1のロック基準のセットは、電子デバイスの正規ユーザがデバイスを使用していないことをキャプチャされた画像データが示すときに満たされる第2の基準を含む。
いくつかの実施形態では、第1のロック基準のセットは、不正ユーザが存在し、かつ、正規ユーザが存在しないことをキャプチャされた画像データが示すときに満たされる第3の基準を含む。
いくつかの実施形態では、第1のロック基準のセットは、正規ユーザが存在するか否かにかかわらず不正ユーザが存在することをキャプチャされた画像データが示すときに満たされる。
いくつかの実施形態では、処理ユニット1404は、第2のコンテンツロック基準のセットが満たされたという判定に従って、電子デバイスの少なくとも1つの機能を(例えば、無効化ユニット1418を使用して)無効化するように更に構成されている。
いくつかの実施形態では、第1のロック基準のセットと第2のロック基準のセットとは異なる。
いくつかの実施形態では、処理ユニット1404は、第3のコンテンツロック基準のセットが満たされているという判定に従って、アプリケーションを、第1の構成と比較してアプリケーションの動作を制限する第2の構成に(例えば、切り替えユニット1126を使用して)切り替えるように更に構成されている。
いくつかの実施形態では、処理ユニット1404は、第4のコンテンツロック基準のセットが満たされているという判定に従って、アプリケーション内にコンテンツを表示し続けながら、電子デバイスの他の機能を(例えば、ロックユニット1420を使用して)ロックするように更に構成される。
いくつかの実施形態では、処理ユニット1404は、第5のコンテンツロック基準のセットが満たされたという判定に従って、電子デバイスにおいて受信された通信に関連する通知の表示を(例えば、防止ユニット1412を使用して)防止するように更に構成されている。
いくつかの実施形態では、第5のロック基準のセットは、不正ユーザが電子デバイスを使用していることをキャプチャされた画像データが示すときに満たされる第4の基準を含み、第5のロック基準のセットは、第4の基準が満たされる場合に満たされ、第1のロック基準のセットは、キャプチャされた画像データが正規ユーザの不在を示すときに満たされる第5の基準を含む。
いくつかの実施形態では、処理ユニット1404は、第4の基準が満たされているという判定に従って、電子デバイス上のアプリケーション間のナビゲーションを(例えば、防止ユニット1412を使用して)防止し、第5の基準が満たされているという判定に従って、アプリケーション内のナビゲーションを(例えば、防止ユニット1412を使用して)防止する、ように更に構成されている。
いくつかの実施形態では、処理ユニット1404は、電子デバイスの不正ユーザの存在をキャプチャされた画像データが示すかどうかを(例えば、判定ユニット1124を使用して)判定するように更に構成されている。
いくつかの実施形態では、画像データは光学データ及び深度データを含み、第1のコンテンツロック基準のセットが満たされているかどうかを判定することは光学データ及び深度データに基づいている。
いくつかの実施形態では、コンテンツから離れるナビゲーションが、現在表示されているコンテンツを並進させることを含む。
いくつかの実施形態では、コンテンツから離れるナビゲーションが、アプリケーション内のコンテンツアイテム間を切り替えることを含む。
いくつかの実施形態では、コンテンツから離れるナビゲーションが、アプリケーションを切り替えること、又はホーム画面を表示するためにアプリケーションを閉じることを含む。
いくつかの実施形態では、処理ユニット1404は、電子デバイスの正規ユーザに関連付けられたロック解除情報を(例えば、受信ユニット1410を使用して)受信し、ロック解除情報が真正であるかどうかを(例えば、判定ユニット1124を使用して)判定し、ロック解除情報が真正であるという判定に従って、コンテンツから離れるナビゲーションを(例えば、可能化ユニット1128を使用して)可能化する、ように更に構成されている。
方法1700(図16A~図16G及び17A~図17Bに対して後述する)、1900(図18A~図18L及び19A~図19Bに対して後述する)、2100(図20A~図20F及び21A~図21Bに対して後述する)、及び2300(図22A~図22E及び23A~図23Bに対して後述する)は、キャプチャされた画像データを使用して、電子デバイスが様々な入力及び他の情報を解釈すべきかを判定する。入力を受信したことに応答して、所定の時間間隔で、他の情報(例えば、メッセージ又はアラート)を受信したことに応答して、又は他の状況下で、を含む任意の時点で、画像データをキャプチャすることができる。いくつかの実施形態では、電子デバイスは、対応するユーザ入力が電子デバイスおいて受信されたときに、電子デバイスのカメラの視野内に存在するシーンを表すキャプチャされた画像データを分析する。分析により、キャプチャされた画像データ及び/又はキャプチャされた画像データ内に表される特定のオブジェクト(例えば、人々、壁上のオブジェクト、建物など)に関する特性を識別する。図15A~図15Fは、キャプチャされた画像データで識別することができる人々及び他のオブジェクトの特性の例を示す。いくつかの実施形態では、電子デバイスは、ユーザ入力、アラート、メッセージ、及び通知などの入力及び他の情報を処理する方法を判定する際に、これらの特性又は他の識別された特性のうちの1つ以上を使用する。
図15Aでは、いくつかの実施形態では、上述のデバイス100、300、又は500である電子デバイス1500は、電子デバイス1500の前面に面する視野1504(破線で示される)を有するカメラ1502を含む(例えば、カメラ1502は、前面カメラである)。いくつかの実施形態では、電子デバイス1500はまた、背面に面しているが、そうでなければカメラ1502と同じである第2のカメラを含む。カメラ1502は、各々が、電磁スペクトル又は深度データの1つ以上の帯域内の光(例えば、カメラから視野内の点までの距離)などのシーンの特性を感知及び/又は検出する1つ以上の画像センサを含む。一実施例では、カメラ1502は、可視光を表す画像データをキャプチャする可視光センサを含む。別の例では、カメラ1502は、可視光を表す画像データをキャプチャする可視光センサ及びIR光を表す画像データをキャプチャする赤外線(IR)センサを含む。別の例では、カメラ1502は、可視光センサからキャプチャされた関連付けられた可視光データの深度データを提供する飛行時間センサ(例えば、IRセンサの一部として)を含む。図15Aのカメラ1502からのキャプチャされた画像データは、ユーザ1506を含む。キャプチャされた画像データに基づいて、電子デバイス1500は、ユーザが認可されたユーザであること、ユーザが電子デバイスを見ている(例えば、ユーザの眼1508は、一般に、電子デバイスのディスプレイ又は電子デバイスのみに向けられている)、ユーザが電子デバイスを使用している(例えば、電子デバイスに向けられているユーザの眼及び動きに基づいて、ユーザが電子デバイスと対話していることを示す)、又は他の特性などのキャプチャされたシーンの1つ以上の特性を識別する。
いくつかの実施形態では、電子デバイス1500は、深度データ及び可視光データを含む画像データを使用して、特性を判定する。一実施例では、電子デバイス1500は、画像データを分析して、可視光及び深度データに基づいてユーザの頭部の位置及び向きを判定し、ユーザの眼が可視光データに基づいてポインティングしている方向を判定する。これらのファクタ、及び任意選択的に他の要因に基づいて、電子デバイス1500は、ユーザが電子デバイスのディスプレイを見ているかどうかを判定する。いくつかの実施形態では、電子デバイス1500は、これらのファクタ、及び任意選択的に他のファクタを使用して、電子デバイス1500のディスプレイ上のどこにユーザがフォーカスしているかを判定する。
上述の飛行時間技術に加えて、関連付けられた可視光データの深度データを測定するか、又は他の種類の画像データから深度データを抽出するために、他の技術を使用することができる。例えば、2つ以上の画像センサを使用して、視差技術を使用することができる。別の例として、IRエミッタ及びIR検出器を使用して、スペックル技術のスペックルを使用することができる。別の例として、カメラの焦点情報を使用して深度情報を判定することができる。カメラ1502内の1つ以上のセンサから判定された任意の深度情報は、キャプチャされた画像データの一部として任意選択的に記憶される。
図15Bでは、電子デバイス1500は、図15Aに関してキャプチャされたシーンと同様のシーンを表す画像データをキャプチャする。しかしながら、ユーザ1506は、ユーザの眼1508によって示されるように電子デバイス1500を見ていない。このシーンを表すキャプチャされた画像データにおいて、電子デバイス1500は、ユーザ1506が認可されたユーザである、ユーザ1506が電子デバイスを見ていない、又は他の特性などの特性を識別する。
図15Cでは、電子デバイス1500は、バッグ1510の内部から画像データをキャプチャする。このシーンを表すキャプチャされた画像データにおいて、電子デバイス1500は、その視野1504が遮蔽されている又は認可されたユーザが存在しないなどの特性を識別する。
図15Dでは、電子デバイス1500は、図15A及び図15Bに関してキャプチャされたシーンと同様のシーンを表す画像データをキャプチャする。しかしながら、ユーザ1506(図15A~図15B)は、カメラ1502の視野1504にはもはや存在しない。代わりに、ユーザ1512が存在する。このシーンを表すキャプチャされた画像データにおいて、電子デバイス1500は、ユーザ1512が認可されたユーザでない、ユーザ1512が電子デバイスを見ている、認可されたユーザが存在しない、又は他の特性などの特性を識別する。
図15Eでは、電子デバイス1500は、対象のオブジェクトを表さない画像データをキャプチャする(例えば、電子デバイス1500は、天井又は空のみが視野1504内にあるように、カメラ1502がテーブル上に上向きにある)。このシーンを表すキャプチャされた画像データにおいて、電子デバイス1500は、認可されたユーザが存在しない、未認可のユーザが存在しない、カメラの視野が遮蔽されていない、又は他の特性などの特性を識別する。
図15Fでは、電子デバイス1500は、ユーザ1506及びユーザ1512の両方を表すシーンを表す画像データをキャプチャする。このシーンを表すキャプチャされた画像データにおいて、電子デバイス1500は、ユーザ1512が認可されたユーザでない、ユーザ1506が認可されたユーザでない、ユーザ1506及びユーザ1512の各々が電子デバイスを見ている、認可されたユーザが存在しない、又は他の特性などの特性を識別する。
図16A~図16Gは、1つ以上の認可基準のセットに基づいて、動作の実行を制限する例示的なユーザインタフェースを示す。図17A~図17Bは、いくつかの実施形態による、1つ以上の認可基準のセットに基づいて、動作の実行を制限する方法を示すフロー図である。図16A~図16Gのユーザインタフェースは、図17A~図17Bのプロセスを含む後述するプロセスを示す。
図16Aは、いくつかの例では前述のデバイス100、デバイス300、又はデバイス500の特定のフォームファクタである、デバイス1500(図15A~図15F参照)を示す。デバイス1500は、いくつかの実施形態ではタッチ感知ディスプレイである、ディスプレイ1501と、カメラ1502とを含む(図15A~図15F関して説明される)。加えて、デバイス1500のいくつかの実施形態では、カメラ1502と共に、追加のセンサ及び/又は他の構成要素(例えば、フラッシュ若しくはIRエミッタ)が存在する。
図16Aにおいて、デバイス1500は、ディスプレイ1501上に電子メールユーザインタフェース1600を表示する。電子メールユーザインタフェース1600は、それぞれの電子メールメッセージに対応するグラフィック表現1602~1608を含む。グラフィック表現は、送信者、対応する電子メールの件名からの情報、及び電子メールメッセージが受信された時間を識別する情報を含む。グラフィック表現1602~1604は、それぞれ、未読のインジケータ1609~1611を含む。
図16B~図16Eは、グラフィック表現1602上で受信したジェスチャに応答するデバイス1500を示す。接触1612がタッチ感知ディスプレイ1501にタッチし(図16B)、タッチ感知ディスプレイを横切るように動かす(図16C~図16E)と、いくつかのアフォーダンスが表示される。具体的には、図16C及び図16Dに示すように、タッチ感知ディスプレイ1501から接触を離さずに、グラフィック要素1603を横切って接触1612を動かした後に、ゴミ箱ボタン1614、フラグボタン1615、及びmoreボタン1616が表示される。ゴミ箱ボタン1614を選択すると、グラフィック表現1603に関連付けられた電子メールメッセージをゴミ箱フォルダに移動し、電子メールメッセージを削除するか、又は電子メールメッセージを消去する。フラグボタン1615を選択すると、フラグを電子メールメッセージに関連付けさせる(例えば、追加のインジケータをグラフィック表現1603内に表示させる)。モアボタン1616を選択すると、例えば、返信、転送、電子メールメッセージを既読とマーク、メッセージの移動、又は通知のオプションなどの、関連付けられた電子メールメッセージのオプションの追加メニューを表示させる。
デバイスが、図16C又は図16Dに示される場所でタッチ感知ディスプレイ1501から接触1612が離れたことを検出すると、デバイスは、例えば、タッチ感知ディスプレイ1501上のボタンの場所上のタップジェスチャを介して、ユーザがボタンのいずれかを選択するための静的場所にボタン1614~1616の表示を維持する。一方、図16Eに示すように、デバイスが、離れずにグラフィック表現1603を横切って動く接触1612を検出し続ける場合、図16Eに示すように、デバイスは、フラグボタン1615及びモアボタン1616をもはや表示しなくなる。これは、接触1612がタッチ感知ディスプレイ1501から離れると、デバイスは、ゴミ箱ボタン1614に関連付けられた機能を実行することを示す。
デバイスが図16Eの接触1612がタッチ感知ディスプレイ1501から離れたことを検出した後、デバイス1500は、キャプチャされた画像データに基づいて、削除ボタン1614に関連付けられたアクションを実行する前に1つ以上の基準のセットが満たされているかどうかを判定する。いくつかの実施形態では、デバイス1500は、(例えば、図16Dにゴミ箱ボタン1614が表示されている間にタップジェスチャを介して)ゴミ箱ボタン1614が直接選択されるときと類似の判定が実行される。1つ以上の基準のセットのいくつかの例では、1つ以上の基準のセットは、実行されるアクションが認可されたユーザの要求にあることを確実にする1つ以上の認可基準のセットである。1つ以上の基準のセットのいくつかの例では、1つ以上の基準のセットは、認可されたユーザの顔がデバイスの前面カメラの視野内にあり、ユーザがデバイスを見ていることを必要とする1つの基準である。この基準が満たされているかどうかを判定するために、デバイス1500は、接触1612に対応するジェスチャ入力が受信される前、間、又は後に、カメラ1502でキャプチャされた画像データを分析する。例えば、画像データは、ジェスチャの開始又は終了に応答して、アクションが実行されるべきかの判定に応答して、画像データをキャプチャするためのいくらかの所定の間隔に応答して、又はキャプチャされた画像データとの要求アクションの関連付けを可能にする他のファクタに基づいて、任意選択的にキャプチャされた。画像データがキャプチャされると、データを分析して、キャプチャされた画像データ内で認可された顔が検出されたかどうかを判定する。例えば、可視光、不可視光、深度、又は任意の他の種類の画像データの任意の組み合わせを表すデータを分析して、キャプチャされた画像データ内に顔があるかどうかを判定する。顔が検出された場合、キャプチャされた画像データを更に分析して、顔が認可されたユーザに属するかどうかを判定する。例えば、キャプチャされた画像データ内で検出された顔の特徴は、以前にデバイス1500に登録された認可されたユーザの1つ以上の顔のデータを記憶するデータベースからの特徴と比較され得る。顔が認可されたユーザに属する場合、デバイス1500は、キャプチャされた画像データを更に分析して、認可されたユーザがデバイス1500を見ているかどうかを判定する。上述のように、削除ボタンが選択されたときに、認可されたユーザがデバイス1500を見ていると判定された場合、削除機能が実行される。
図16Fは、上記例に対する電子メールユーザインタフェース1600の例示的な応答を示す。図16Fは、図16Eに示すように、接触1612がタッチ感知面1501にもはやタッチしていない後の電子メールユーザインタフェース1600を示す。図15Aに対応するシーン1620は、デバイス1500がカメラ1502を用いて画像データをキャプチャしたときのユーザのステータスを表す。具体的には、シーン1620を表すカメラ1502からのキャプチャされた画像データは、グラフィック表現1603に対応する電子メールメッセージを削除するための要求が受信されたときに、デバイス1500を見ている許可されたユーザの顔を示す。1つ以上の基準のセットは、削除要求が受信されたときに、認証されたユーザの顔をデバイス1500で見る必要がある単一の基準であるため、1つ以上の基準のセットは、キャプチャされた画像データのデバイス1500の分析に基づいて満たされる。したがって、図16Fに示すように、グラフィック表現1603に対応する電子メールメッセージは削除され、電子メールユーザインタフェース1600内にもはや表示されず、異なる電子メールに対応するグラフィック表現1618が電子メールユーザインタフェース1600に追加される。この結果は、カメラが図15Fで表されるシーンをキャプチャした場合、同じであろう(例えば、図15Fは、未認可のユーザも含むものの、ディスプレイを見ている認可されたユーザを含む)。
図16Gは、上記の例示的な1つ以上の基準のセットが満たされない場合の例を示す。具体的には、シーン1622(図15Bに対応する)に示すように、キャプチャされた画像データは、認可されたユーザの顔を示しているが、認可されたユーザは、デバイスを見ていない。したがって、1つ以上の認可基準のセットが満たされていない。この場合、デバイス1500は、ユーザが実際に要求されたアクションを実行したいことを確認するようにユーザに促す。例えば、図16Gに示すように、デバイス1500は、グラフィック表現1603に対応する電子メールメッセージが削除されるべきであることを確認するようにユーザに促すメッセージング1624を表示する。ユーザが削除ボタン1626を介して削除を確認した場合、デバイス1500は、図16Fに示すように、グラフィック表現1603に関連付けられた電子メールメッセージを削除し、電子メールユーザインタフェース1600を更新する。ユーザが代わりにキャンセルボタン1628を選択すると、デバイス1500は、要求された削除アクションを実行せず、代わりに、電子メールユーザインタフェース1600を図16Aに示す状態に戻す。図15C~図15Eに表される他のシーンのいずれかがキャプチャされた場合に、これらのシーンのいずれも、カメラの視野内にデバイスをまた見ている認可されたユーザを含まないため、この同じ確認プロセスが生じるだろう。いくつかの実施形態では、電子デバイス1500は、異なる方法で満たされてない1つ以上の基準のセットに応答する。例えば、電子デバイス1500は、任意選択的に、ユーザにパスワード/ピンプロンプトによる認証を促し、ユーザに指紋情報を提供するよう要求し、ユーザに前面カメラのビュー内に顔を位置付けるように促し、デバイスをロック状態に入らせるか、又は要求を無視させることができる。
上記の1つ以上の基準のセットは単一の基準のみを含んでいたが、他の実施形態では、1つ以上の基準のセットは、異なる基準又は複数の基準を含む。一例として、1つ以上の基準のセットは、認可されたユーザの顔がキャプチャされた画像データ内に存在するときに満たされる基準を含む(認可されたユーザがデバイスを見ているかどうかに関係ない)。別の例では、1つ以上の基準のセットは、認可されたユーザの顔がキャプチャされた画像データ内にあり、未認可の又は認識されていないユーザの顔がキャプチャされた画像データ内にないという基準を含む。別の例では、1つ以上の基準のセットは、カメラの視野が遮蔽されていないことのみを必要とする。例えば、図15Eによって表されるシーンがキャプチャされた場合に満たされるであろうが、図15Cで表されるシーンがキャプチャされた場合に満たされない場合に満たされないであろう。
図16A~図16Fは、電子メールユーザインタフェースに関する方法1700の一例を示すが、同様のプロセスが、写真アルバムインタフェース、他のメッセージングインタフェース、ファイルマネージャーインタフェース、音楽又はビデオインタフェース、又は任意の他のインタフェースなどの任意の数のユーザインタフェースに適用することができる。同様に、上記の例示的なアクションは削除アクションであるが、同じプロセスが任意の数の他のアクション又はアクションのクラスに適用することができる。可能なアクションの例としては、コンテンツを削除すること、コンテンツを消去すること、コンテンツを送信すること、コンテンツを移動させること、コンテンツのステータスを変更すること(例えば、既読とマークすること)、コンテンツを破棄すること、デバイスをオフにすること、アプリケーションをアンインストールすること、アプリケーションをリセットすること、デバイスの設定を変更すること、アプリケーション若しくはデバイス上のOSの設定を変更すること、又は他のアクションが挙げられる。可能なクラスのアクションの例としては、破壊的アクション、リモートデバイスにデータを送信するアクション、デバイス又はそのコンテンツに潜在的に有害なアクション、及びリモートユーザとの通信を開始するアクションが挙げられる。
図17A~図17Bは、いくつかの実施形態による、1つ以上の認可基準のセットに基づいて、動作の実行を制限する方法を示すフロー図である。方法1700は、ディスプレイとカメラとを備えたデバイス(例えば、100、300、500、1500)にて実行される。方法1700のいくつかの動作は、任意選択的に組み合わされ、いくつかの動作の順序は、任意選択的に変更され、いくつかの動作は、任意選択的に省略される。
後述するように、方法1700は、1つ以上の認可基準のセットに基づいて、動作の実行を制限するための直感的方法を提供する。この方法は、1つ以上の認可基準のセットに基づいて、動作の実行を制限するユーザの認識的負担を軽減し、それにより更に効果的なヒューマンマシンインタフェースをもたらす。バッテリ動作式のコンピューティングデバイスの場合、ユーザが動作をより速くかつより効率的に実行できるようにすることで、電力が節約され、バッテリ充電の間隔が長くなる。
ディスプレイ(例えば、1501)とカメラ(例えば、1502)とを有する電子デバイス(例えば、1500)は、1つ以上の可視光センサ、IRセンサ、飛行時間センサ、又はこれらの及び他のセンサの組み合わせ)を含み、ディスプレイ上にコンテンツ(例えば、1602~1608)の表現を含むユーザインタフェース(例えば、1600)を表示する(1702)。いくつかの実施形態では、デバイスは、ユーザインタフェースが表示されたときに既にロック解除状態にある。
コンテンツ(例えば、アイテム1603に関連付けられた電子メールメッセージ)のグラフィック表現(例えば、アイテム1603)(例えば、リスト内のアイコン、サムネイル、又はアイテム)を含むユーザインタフェース(例えば、1600)を表示している間に、電子デバイスは、コンテンツに対して既定のアクション(例えば、データを削除すること、メモリをフォーマットすること、アプリケーションを閉じること、デバイスの電源を切ること、アプリケーションをアンインストールすること、データの保存を拒否すること)を実行する要求(例えば、特定のジェスチャ、コマンドの入力、アフォーダンスの選択)に対応する第1ユーザ入力(例えば、1612)(例えば、タッチ感知面上でのジェスチャなどのタッチ入力、従来のキーボード、マウス入力、音声入力、又はいくつかの他の種類の入力などの機械的ボタン入力)を電子デバイス上で受信する(1704)。いくつかの実施形態では、コンテンツは、電子メールメッセージ、連絡先、又は写真である。
第1ユーザ入力を受信したことに応答して(1706)、カメラ(例えば、1502)によってキャプチャされた、キャプチャされた画像データに基づいて(例えば、可視光データ、IR光データ、深度画像データ、及び/又はキャプチャされた画像データ内に記憶された他のデータを使用した顔認識などの画像分析を使用して)、認可基準のセットが満たされたという判定に従って、電子デバイスは、既定のアクション(例えば、コンテンツの削除、消去、既読とマーク、ナビゲート、又は移動)を実行する(1708)(例えば、図16Fに示すように)。認可基準は、キャプチャされた画像データが、カメラの前に認可されたユーザの顔が存在し、かつユーザ入力が受信された時点でディスプレイを見ていたことを示すときに満たされる基準を含む(例えば、図15A)。いくつかの実施形態では、認可基準のセットは、1つ以上の基準を含む。いくつかの実施形態では、認可基準の例は、認可されたユーザが電子デバイスを使用していることを含み、認可されたユーザが電子デバイスを見ていること、未認可のユーザ(又はいくつかの例では、任意の他のユーザ)がまたデバイスを使用しておらず認可されたユーザがデバイスを使用していること、未認可のユーザ(又はいくつかの例では、任意の他のユーザ)がデバイス(又はいくつかの例では、デバイスの付近)を見ておらず認可されたユーザがデバイスを使用していること、未認可のユーザがデバイスを使用していないこと、認可されたユーザが閾値時間量内にデバイスを使用したこと)を含む。キャプチャされた画像データに基づいて、認可基準のセットが満たされていないという判定に従って、電子デバイスは、既定のアクションの実行を取り止める(図16G)(1710)。
認可されたユーザが電子デバイスの前におり見ているどうかを判定することは、アクションが誤った入力によって不注意に実行されず、デバイスを使用することが認可されていない人によって実行されないことを確実にする。これは、データへのアクセスを可能にする前に、認可された方法及び認可された人物でデバイスが使用されていることを保証することによって、データセキュリティ及びデータプライバシーを提供する。加えて、キャプチャされた画像データに基づいて実行される認証及び検証を行うことにより、電子デバイスのインタフェースは、デバイス上で実行されるアクションを認証及び検証するために必要なユーザ入力をより少なくすることによって改善される。ユーザが電子デバイスのディスプレイを見ることを確実にすることにより、フォールスポジティブが生じ得る可能性が高い。例えば、ユーザがキャプチャされた画像データ内に存在する場合、ユーザは電子デバイスを使用しているように見え得るが、ユーザの存在は、ユーザが実際に電子デバイスを使用していることを保証しない。代わりに、ユーザの注意は他の場所であってもよい。ユーザがキャプチャされた画像データ内に存在し、かつ電子デバイスのディスプレイを見ているかどうかを判定することは、ユーザが電子デバイスを実際に使用している可能性を高める。これにより、デバイス上のデータのセキュリティが改善され、ユーザが電子デバイスを実際に使用していない場合には、アクションが不注意に実行されないことを確実にする。
いくつかの実施形態では、電子デバイスは、第1ユーザ入力が受信された時間に対応する時点で、カメラによりキャプチャされた画像データ(例えば、シーン1620に対応する画像データ)をキャプチャする(1718)。いくつかの実施形態では、画像データは、ユーザ入力(例えば、1612)を受信する前にキャプチャされ、画像データは、ユーザ入力を受信したことに応答して、ユーザ入力がデータに対する破壊的アクション(例えば、ゴミ箱ボタン1614に対応するアクション)の要求に対応するとの判定に応答して、上記のいくつかの組み合わせで、又は他のファクタに基づくいくつかの他の時点で、ユーザ入力を受信した後にキャプチャされる。
いくつかの実施形態では、既定のアクションは破壊的アクションである。いくつかの実施形態では、既定のアクションは、電子デバイス又は他の場所からコンテンツを削除又は消去するためのものである(1712)。いくつかの実施形態では、既定のアクションは、電子デバイスからコンテンツに関連付けられたアカウントを除去するためのものである。いくつかの実施形態では、既定のアクションは、コンテンツを消去又は削除する要求(例えば、ゴミ箱ボタン1614に対応するアクション)である。いくつかの実施形態では、データを削除することは、ストレージ上のデータへのアクセスを除去することを含み、消去することは、ストレージからデータを除去することである。いくつかの実施形態では、既定のアクションは、コンテンツに関連付けられたユーザインタフェースの特定のビューにナビゲートすることを含む。いくつかの実施形態では、ユーザインタフェースは、地図アプリケーションであり、ユーザインタフェースナビゲーション動作は、表示された地図の移動、ナビゲーション方向の変更、ナビゲーション指示の提供の停止、又は他のナビゲーション動作の実行の要求に対応する。いくつかの実施形態では、ユーザインタフェースは、写真アプリケーションであり、ユーザインタフェースナビゲーション動作は、写真の切り替え、写真アルバム、写真の削除、写真の編集、又は他の写真編集動作の実行の要求である。破壊的動作が実行される前に、ユーザがデバイスの前に存在し及び/又はデバイスを見みていることを必要とすることは、デバイスの動作を強化する。例えば、この技術は、そうでなければデバイスから所望のコンテンツを除去する不注意なアクションを防止することによって、データ信頼性を向上させる。これにより、デバイス上の必要なデータの利用可能性が改善され、不注意に削除又は除去されたデータを検索することに関連するユーザの認識的負担を軽減する。改善されたデータ信頼性及びセキュリティ提供することより、デバイスの操作性を高め、ユーザ-デバイスインタフェースを更に効率的にし(例えば、意図されていない結果を避けることを支援することによって、)加えて、ユーザがデバイスを更に素早くかつ効率的に使用することを可能にすることによってデバイスの電力消費を削減し、バッテリ寿命を改善する。
いくつかの実施形態では、ディスプレイはタッチ感知ディスプレイ(例えば、ディスプレイ1501)であり、第1ユーザ入力は、タッチ感知ディスプレイ上のジェスチャ(例えば、1612)である。例えば、ユーザ入力は、オブジェクト上でのスワイプ(例えば、図16A~図16Eの1612)、アフォーダンスの確認、削除、若しくは除去、又は他の種類のジェスチャなどのアフォーダンスのタップである。タッチ感知ディスプレイを備えるデバイスは、上記の方法から具体的に利益を得る。例えば、そのような画面を有する電子デバイスがポケット内に置かれたり、水に晒されたり、他の状況にある場合、電子デバイス上のタッチ感知ディスプレイは、不注意にアクティブ化さる場合があり、アクションが不注意に実行される場合がある。タッチ感知ディスプレイを備える電子デバイスのユーザがデバイスの前におり及び/又はデバイスを見ていることを検証することによって、電子デバイスは、不注意なアクションの数を低減することによって改善される。
いくつかの実施形態では、認可基準のセットが満たされていないという判定(キャプチャされた画像データに基づく)は、キャプチャされた画像データが、カメラの前に認可されたユーザの顔が存在した(例えば、図15C、図15D、及び図15E)こと又は認可されたユーザが、ユーザ入力が受信された時点でディスプレイを見ていなかった(例えば、シーン1622)ことを示さないという判定を含む。認可されたユーザが、電子デバイスによってキャプチャされた画像データ内に存在することを保証することは、認可されたユーザが要求されたアクションに関与しない可能性が高い場合に、特定のアクションを防止することによって、電子デバイス上のデータのセキュリティを高める。認可されたユーザが電子デバイスを見ていることを保証することで、認可されたユーザが存在するだけでなく、電子デバイスにも注意を払うことも保証することによって、別のレベルのセキュリティを提供する。これにより、認可されたユーザの近くで起こる未認可のユーザによって要求される破壊的アクションなどのアクションを防止し、認可されたユーザが電子デバイスに積極的に注意を払わない場合に偶発的に要求される不注意なアクションの実行を防止する。更に、キャプチャされた画像データを使用してこの改善されたデータセキュリティを実装することによって、電子デバイスは、追加のユーザ入力を必要とすることなく又はユーザインタフェースに複雑性を追加することなく、強化されたデータセキュリティを提供することによって改善される。
いくつかの実施形態では、第1ユーザ入力を受信したことに応答して、キャプチャされた画像データに基づいて、認可基準のセットが満たされていないという判定に従って、電子デバイスは、ユーザに認証を促す(例えば、1624)。いくつかの実施形態では、第1ユーザ入力を受信したことに応答して、キャプチャされた画像データに基づいて、認可基準のセットが満たされていないという判定に従って、電子デバイスは、ユーザにカメラを見ることによる認証を促す(例えば、1624)。いくつかの実施形態では、既定のアクションは、既定のアクションは、アプリケーションを起動するか、又は写真アプリケーション内の新しい写真グラフにナビゲートする。ユーザ入力が受信されたときにカメラの前に認可されたユーザがいない場合、又は別法として、認可されたユーザが、ユーザ入力が受信された時点でディスプレイを見ていなかった場合、デバイスは、ユーザにデバイスのカメラを見ることによる認証を促す。いくつかの実施形態では、ユーザは、ピンコード若しくはパスワードを入力するように促されるか、又は指紋などの他の認証情報を提供するように促される。いくつかの実施形態では、(キャプチャされた画像データに基づいて、)認可基準のセットが満たされていないという判定に従って、電子デバイスをロック状態に切り替える。いくつかの実施形態では、既定のアクションは、既定のアクションは、アプリケーションを起動するか、又は写真アプリケーション内の新しい写真グラフにナビゲートする。ユーザ入力が受信されたときにカメラの前に認可されたユーザがいない場合、又は別法として、認可されたユーザが、ユーザ入力が受信された時点でディスプレイを見ていなかった場合、デバイスは、デバイスの動作を制限して電子デバイス上のデータを保護し、電子デバイス上のデータへの更なるアクセス試行を防止するロックモードに切り替えられる。認可基準が満たされていない場合にアクションが実行されるべきかを確認するようにユーザに促すことにより、上記のデータ信頼性及びセキュリティの利益をもたらすが、一方で、要求されたアクションが実行されるべきではないというデバイスの判定を無効にするための容易なプロセスもまた提供する(例えば、照明条件がキャプチャされた画像データ内のユーザを検出するのにデバイスにとって十分でない、又はユーザの外観が、デバイスがユーザをもはや認識しないように変更されている場合)。この技術により、デバイスの操作性を高め、ユーザ-デバイスインタフェースを更に効率的にし(例えば、デバイスを操作/対話するときにデバイスの判定を無効にする方法を提供することにより意図した結果を達成できるようにユーザを支援し、ユーザの誤りを削減することによって)、加えて、ユーザがデバイスを更に素早くかつ効率的に使用することを可能にすることによってデバイスの電力消費を削減し、バッテリ寿命を改善する。
いくつかの実施形態では、キャプチャされた画像データに基づいて、認可基準のセットが満たされていないという判定に従って、電子デバイスは、既定のアクションの確認インタフェース(例えば、1624)を表示する(1714)。いくつかの実施形態では、既定のアクションは、既定のアクションは、アプリケーションを起動するか、又は写真アプリケーション内の新しい写真グラフにナビゲートする。ユーザ入力が受信されたときにカメラの前に認可されたユーザがいない場合、又は別法として、認可されたユーザが、ユーザ入力が受信された時点でディスプレイを見ていなかった場合、デバイスは、ユーザに既定のアクションが実行されるべきかの確認を促す。
いくつかの実施形態では、ユーザインタフェースは、複数のデータオブジェクトを表すグラフィック要素(図16A)(例えば、垂直若しくは水平列のリスト、又はグリッド)のリストを含む(例えば、いくつかの実施形態では、リストは、電子メール情報(送信者、件名、時間、及び/又は他の情報)又はサムネイル又は写真アルバムカバーなどの複数の写真要素を含むボックスなどの複数の電子メールグラフィック要素を表示する)。コンテンツの表現は、グラフィック要素のうちの1つであり、コンテンツは、複数のデータオブジェクトの関連付けられたデータオブジェクト(例えば、電子メールメッセージ、写真、又は写真アルバム)である。
いくつかの実施形態では、電子デバイスは、コンテンツの表現上に強度閾値を超える第2ユーザ入力を受信する(1720)(例えば、コンテンツに関連付けられた情報又はコンテンツ自体を共有する要求に対応するアフォーダンス、又はコンテンツに関連付けられた特定の機能を実行する要求に対応するアフォーダンスなどの、アフォーダンスを有し、任意選択的に他の様々なアフォーダンスが表示されるメニュー表示する)。電子デバイスは、第2入力を受信した後、第2ユーザ入力に応答してコンテンツにアクセスするために、キャプチャされた画像データが、カメラの前に認可されたユーザの顔が存在し、かつディスプレイを見ていることを示すことを要求することによって、コンテンツへのアクセスを制限する(例えば、コンテンツにアクセスするには、アクセス基準のセットを満たしている必要があるという指標を電子デバイス上に記憶すること)(例えば、コンテンツが写真であるケースで、セキュリティフラグが写真に関連付けられる場合、写真の閲覧、共有、又は削除などの写真へのアクセスを試みると、電子デバイスは、アクセスが許可される前に許可された認可されたユーザがデバイスのディスプレイを見ていることを検証する)(1722)。いくつかの実施形態では、第2入力を受信したことに応答して、電子デバイスは、セキュリティ強化のために関連付けられたアイコン、アプリケーション、又は機能をマークする要求に対応するアフォーダンスを表示する。電子デバイスは、アフォーダンスの選択に応答して、電子デバイス上のセキュリティ強化の指標を記憶する。いくつかの実施形態では、第1ユーザ入力を受信したことに応答して、電子デバイスは、コンテンツに対してセキュリティ強化の指標が存在するかどうかである。ユーザが、強度閾値に達する接触に基づいて、デバイス上のコンテンツ及び/又はアクションのセキュリティ強化を可能にできるようにすることにより、ユーザがコンテンツ及び/又はアクションに対するセキュリティ強化を不注意に誤って適用する可能性が低減される。加えて、強度閾値により、依然として、ユーザはデバイスとの最小数の対話でセキュリティ強化を迅速に適用することができる。上記により、デバイスの操作性を高め、ユーザ-デバイスインタフェースを更に効率的にし(例えば、デバイスを操作/対話するときに最小限の対話で意図した結果を達成できるようにユーザを支援し、ユーザの誤りを削減することによって)、加えて、ユーザがデバイスを更に素早くかつ効率的に使用することを可能にすることによってデバイスの電力消費を削減し、バッテリ寿命を改善する。
いくつかの実施形態では、認可基準のセットは、キャプチャされた画像データ内の顔が、デバイスに以前に登録された1つ以上の認可された顔に対応するという基準を更に含む(1716)。いくつかの実施形態では、登録プロセスは、認可されたユーザの顔に関する情報をキャプチャし、分析し、記憶するために以前に使用された。
図17A~図17Bにおける動作について記載された特定の順序は単なる例示あり、記載された順序は、動作を実行することができる唯一の順序であることを示すことを意図するものではないことを理解されたい。当業者であれば、本明細書に記載される動作を再順序付けるための様々な方法を認識するであろう。加えて、本明細書に記載される他の方法(例えば、方法700、1000、1300、1900、2100、2300、2500、2700)に関して本明細書に記載される他の処理の詳細はまた、図17A~図17Bに関して上記した方法1700にも、類似の様式で適用可能であることに留意されたい。例えば、認可基準、及び方法1700を参照して上述したキャプチャされた画像データに基づいて、基準が満たされているかどうかの判定は任意選択的に、本明細書に記載される他の方法(例えば、方法700、1900、2100)を参照して、本明細書に記載される認可/アラート/コンテンツロック基準のセット及びこれらの基準が満たされているかどうかの判定の特性のうちの1つ以上を有する。簡潔にするために、それらの詳細はここでは繰り返さない。
上述した情報処理方法での演算は、汎用プロセッサ(例えば、図1A、図3、図5Aに関して説明したように)又は特定用途向けチップなどの情報処理装置内の1つ以上の機能モジュールを実行させることによって、任意選択的に実行される。更に、図17A~図17Bを参照して上述した演算は、図1A~図1Bで示した構成要素によって、任意選択的に実行される。例えば、第1入力を受信することは、イベントソータ170、イベント認識部180、及びイベント処理部190によって、任意選択的に実行される。イベントソータ170内のイベントモニタ171は、タッチ感知面604上の接触を検出し、イベントディスパッチャモジュール174は、イベント情報をアプリケーション136ー1に伝送する。アプリケーション136ー1のそれぞれのイベント認識部180は、イベント情報をそれぞれのイベント定義186と比較し、タッチ感知面上の第1の位置での第1の接触が、ユーザインタフェース上のオブジェクトの選択などの所定のイベント又はサブイベントに対応するか否かを判定する。対応する既定のイベント又はサブイベントが検出されると、イベント認識部180は、そのイベント又はサブイベントの検出に関連付けられたイベント処理部190をアクティブ化する。イベント処理部190は、アプリケーション内部状態192を更新するために、更新部176又はオブジェクト更新部177を、任意選択的に利用又は呼び出す。いくつかの実施形態では、イベント処理部190は、アプリケーションにより表示されるものを更新するために、対応するGUI更新部178にアクセスする。同様に、当業者にとって、他の処理が図1A~図1Bに示された構成要素に基づいてどのように実装できるかは明らかであろう。
図18A~図18Lは、ユーザインタフェースのグラフィック要素に関連付けられた機能のセキュリティ強化のための例示的なユーザインタフェースを示す。図19A~図19Bは、いくつかの実施形態による、ユーザインタフェースのグラフィック要素に関連付けられた機能のセキュリティ強化の方法を示すフロー図である。図18A~図18Lのユーザインタフェースは、図17A~図17Bのプロセスを含む後述するプロセスを示す。
図18Aは、いくつかの例では前述のデバイス100、デバイス300、又はデバイス500の特定のフォームファクタである、デバイス1500(図15A~図15F参照)を示す。デバイス1500は、タッチ感知ディスプレイであるディスプレイ1501と、カメラ1502とを含む(図15A~図15F関して説明される)。加えて、デバイス1500のいくつかの実施形態では、カメラ1502と共に、追加のセンサ及び/又は他の構成要素(例えば、フラッシュ若しくはIRエミッタ)が存在する。
図18Aでは、デバイス1500は、アイコン1801~1812の形態のグラフィカル要素を含むホーム画面インタフェース1800を表示する。アイコン1801~1807及び1809~1812は、デバイス1500上のアプリケーションに対応する。例えば、アイコン1802はカメラアプリケーションに対応し、アイコン1805はバンキングアプリケーションに対応する。アイコン1808は、デバイス1500上の他のアプリケーションに対応する追加のアイコンを含むフォルダに対応する(図18Jを参照)。アプリケーションに対応するアイコンのうちの1つを選択するユーザ入力(例えば、タップジェスチャ)に応答して、デバイス1500は、アプリケーションが以前に実行されているが、現在バックグラウンドにある場合には、アプリケーションを実行するか、又はアプリケーションをフォアグラウンドにすることのいずれかによって、対応するアプリケーションを表示する要求としてユーザ入力を解釈する。
図18Bでは、ジェスチャ入力は、タッチ感知ディスプレイ1501上でアイコン1805上の接触1814の形態で受信される。ジェスチャ入力がタップジェスチャである場合、アイコン1805に対応するバンキングアプリケーションが表示される。一方、ジェスチャ入力が、図18C及び図18Dに関して説明したような接触時間基準又は接触時間基準などの基準を満たす場合、図18Eに示すように、アイコン1805に関連付けられた機能のメニュー又はアイコン1805に対応するアプリケーションを表示することなど、他のアクションがアイコン1805に対して実行される。
図18Cは、第1の接触強度閾値基準を満たすユーザインタフェース1800への接触1814の応答を示す。具体的には、指標1816は、接触1814が第1の閾値に達したことを示すように表示される。加えて、ユーザインタフェース1800の残りの部分は任意選択的に、接触強度が第1の閾値を超え、アイコン1805に対応することを示すために変更される(例えば、ぼかしをかけられるか、又はグレーアウトされる)。
図18Dは、第1の閾値より大きい第2の接触強度閾値基準を満たすユーザインタフェース1800への接触1814の応答を示す。具体的には、アイコン1805のメニュー1818が表示される。メニュー1818は、共有ボタン1820及びロックボタン1822の2つのアフォーダンスを含む。
接触1814が第2の閾値を満たすか又はそれを超えた後、及び接触1814がタッチ感知ディスプレイ1501と接触しなくなった後に、メニュー1818は、ユーザがメニューボタンのうちの1つを選択することを可能にするために表示されたままである。いくつかの実施形態では、共有ボタン1820を選択するユーザ入力(例えば、タップジェスチャ)に応答して、アイコン1805に対応するアプリケーション又はアプリケーションに関連付けられたデータを共有するためのオプションを提供する追加のメニューが表示される。
ロックボタン1822を選択するユーザ入力(例えば、図18Fの接触1824によって表されるタップジェスチャ)に応答して、機能、アプリケーション、又はアイコン1805に関連付けられた他のデータがセキュリティ強化の対象であることを示すデータをデバイス1500上に記憶させる。例えば、図18Fの場合、アイコン1805に対応するバンキングアプリケーションの表示がセキュリティ強化の対象であることを示すために、セキュリティフラグ又は他のデータが記憶される。
図18Gは、図18Fのロックボタン1822の選択後のユーザインタフェース1800を示す。具体的には、ロック指標1826は、ここで、アイコン1805に関連付けられた機能がセキュリティ強化の対象であることをユーザに示すためにアイコン1805と共に表示される。
図18Hは、デバイス1500が、「ソーシャル」フォルダに対応するアイコン1808と関連付けられた機能がセキュリティ強化の対象であることを示すユーザ入力を受信した後のユーザインタフェース1800を示す。例えば、アイコン1805に関連付けられた機能に対してセキュリティ強化を割り当てることに関して記載された同一又は類似のプロセスもまた、アイコン1808に適用される。図18Hでは、ロック指標1828は、アイコン1808に関連付けられた機能がセキュリティ強化の対象であることをユーザに示すためにアイコン1808と共に表示される。
図18Iでは、接触1830の形態のジェスチャ入力がアイコン1808上に受信される。ジェスチャ入力がタップジェスチャである場合、デバイス1500は、アイコン1808に関連付けられた要求された機能(例えば、フォルダのコンテンツを表示すること)がセキュリティ強化の対象かどうかを判定する。例えば、デバイス1500上(例えば、データベース内又は他の場所)に記憶されたセキュリティフラグ又は他のセキュリティ指標がアイコン1808又は対応するフォルダのために存在する場合、デバイス1500は、要求された機能がセキュリティ強化の対象であると判定し、要求された機能を実行するかどうかを判定する前に、後述するように、更なる分析を実行する。そうでなければ、デバイス1500は、要求された機能がセキュリティ強化の対象でないと判定し、要求された機能を実行する(例えば、図18Jに示すように、デバイス1500は、フォルダ1808のコンテンツを表示する)。
要求された機能がセキュリティ強化されたデバイスの対象であるという判定に応答して、デバイス1500は、カメラ1502でキャプチャされた画像データを分析する。デバイス1500は更に、キャプチャされた画像データの分析に基づいて1つ以上の認可基準のセットが満たされているかどうかを判定する。例えば、1つ以上の認可のセットが、認可されたユーザの顔がキャプチャされた画像データ内にあることを必要とする単一の基準である場合、デバイス1500は、キャプチャされた画像データを分析して、認可されたユーザの顔が存在するかどうかを判定する。認可されたユーザの顔が存在する場合(例えば、図15Bに対応する図18Jのシーン1832によって表されるように)、デバイス1500は、図18Jに示すように、要求された機能を実行する(例えば、選択されたフォルダのディスプレイコンテンツ1834、これは図18Jのアイコン1836~1838を含む)。認可されたユーザの顔が存在しない場合(例えば、図15Dに対応する図18Kのシーン1840によって表されるように)、デバイス1500は、図18Kに示すように、ユーザに追加の認証を実行するように促す。具体的には、図18Kは、要求された機能を完了させるために、ユーザに認証を促すメッセージ1842を示す。ユーザがOKボタン1844を選択した場合、デバイス1500は、図18Lに示すように、タッチ感知ディスプレイ1501に認証インタフェース1848を表示させる。ユーザがキャンセルボタン1846を選択すると、デバイス1500は、ユーザインタフェース1800を図18Hに示す状態に戻る。
いくつかの実施形態では、電子デバイス1500は、異なる方法で満たされてない1つ以上の認可基準のセットに応答する。例えば、電子デバイス1500は、任意選択的に、ユーザに特定の方法(例えば、指紋)による認証を促し、ユーザに前面カメラのビュー内に顔を位置付けるように促し、デバイスをロック状態に入らせ、又は機能を実行する要求を無視する。
上記の1つ以上の認可基準のセットは、認可されたユーザの顔がキャプチャされた画像データ内にある単一の基準のみを含んでいたが、他の実施形態では、1つ以上の認可基準のセットは、異なる基準又は複数の基準を含む。一例として、1つ以上の認可基準のセットは、認可されたユーザの顔がキャプチャされた画像データ内に存在し、かつ認可されたユーザがデバイスを見ているときに満たされる基準を含む。別の例では、1つ以上の認可基準のセットは、認可されたユーザの顔がキャプチャされた画像データ内にあり、未認可の又は認識されていないユーザの顔がキャプチャされた画像データ内にないという基準を含む(例えば、図15Fに表されるシーンはこの基準を満たさないだろう)。別の例では、1つ以上の認可基準のセットは、カメラの視野が未認可のユーザの顔を含まないことを必要とする(例えば、図15A~図15C、及び図15Eよって表されるシーンはこの基準を満たす)。
図18A~図18Lは、ホーム画面からのアプリケーション又はフォルダのコンテンツを表示することに関する一例を示すが、同様のプロセスが、写真アルバムインタフェース、メッセージングインタフェース、ファイルマネージャーインタフェース、音楽又はビデオインタフェース、又は任意の他のインタフェースなどの任意の数のユーザインタフェースに適用することができる。同様に、上記の例示的な機能は表示又は閲覧アクションであるが、同じプロセスが任意の数の他のアクションに適用することができる。可能なアクションの例としては、コンテンツを削除すること、コンテンツを消去すること、コンテンツを送信すること、コンテンツを移動させること、コンテンツのステータスを変更すること(例えば、既読とマークすること)、コンテンツを破棄すること、デバイスをオフにすること、アプリケーションをアンインストールすること、アプリケーションをリセットすること、デバイスの設定を変更すること、アプリケーション若しくはデバイス上のOSの設定を変更すること、又は他のアクションが挙げられる。
図19A~図19Bは、いくつかの実施形態による、ユーザインタフェースのグラフィック要素に関連付けられた機能のセキュリティ強化の方法を示すフロー図である。方法1700は、ディスプレイとカメラとを備えたデバイス(例えば、100、300、500、1500)にて実行される。方法1900のいくつかの動作は、任意選択的に組み合わされ、いくつかの動作の順序は、任意選択的に変更され、いくつかの動作は、任意選択的に省略される。
後述するように、方法1900は、ユーザインタフェースのグラフィック要素に関連付けられた機能のセキュリティ強化のための直感的方法を提供する。この方法は、ユーザインタフェースのグラフィック要素に関連付けられた機能のセキュリティ強化に対するユーザの認識的負担を軽減し、それによって、より効率的なヒューマンマシンインタフェースを作成する。バッテリ動作コンピューティングデバイスでは、ユーザがユーザインタフェースのグラフィック要素に関連付けられた機能のセキュリティをより素早く効率的に強化できるようにするので、電力を節約し、バッテリの充電間の時間を延ばす。
ディスプレイ(例えば、1501)とカメラ(例えば、1502)(例えば、1つ以上の可視光センサ、IRセンサ、飛行時間センサ、又はこれらの及び他のセンサの組み合わせを含むカメラ)とを有する電子デバイス(例えば、1500)は、ディスプレイ上に機能(例えば、アプリケーションを実行する、実行中のアプリケーションをフォアグラウンドにする、フォルダのコンテンツを閲覧する、設定の値を変更する、コンテンツを閲覧する、コンテンツからナビゲートする)を表すグラフィカルユーザインタフェース要素(例えば、1808)(例えば、アプリケーションアイコン、フォルダアイコン、アフォーダンス、コンテンツ)を表示する(1902)。いくつかの実施形態では、デバイスは、既にロック解除状態にある(例えば、図18A)。
ディスプレイ上にグラフィカルユーザインタフェース要素を表示している間に、電子デバイスは、機能を実行する要求に対応する第1ユーザ入力(例えば、タッチ感知画上でのジェスチャなどのタッチ入力(例えば、1830)、従来のキーボード、マウス入力、音声入力、又はいくつかの他の種類の入力などの機械的ボタン入力)を受信する(1904)。
第1ユーザ入力(例えば、1830)を受信したことに応答して(1906)、機能(例えば、アイコン1808に関連付けられた機能)がセキュリティ強化の対象であり(例えば、機能がセキュリティフラグ又は認可基準が機能を実行する前にチェックされるべきであることを示す設定に関連付けられる)、かつキャプチャされた画像データ(例えば、可視光データ、IR光データ、飛行時間データ、深度データ、若しくはこれらの組み合わせ又は電子デバイス上のカメラからキャプチャされた他の種類のデータ)が、ユーザ入力が受信された時点でカメラの前に認可されたユーザの顔が存在した(例えば、図15A~図15B、及び図15F)ことを示すことを含む認可基準のセットが満たされているという判定に従って、電子デバイスは、機能を実行する(例えば、図18Jに1834を表示する)(1908)。いくつかの実施形態では、認可基準のセットは、1つの基準又は2つ以上の基準を含む。いくつかの実施形態では、認可基準の例は、認可されたユーザが電子デバイスを使用していることを含み、認可されたユーザが電子デバイスを見ていること、未認可のユーザ(又はいくつかの例では、任意の他のユーザ)がまたデバイスを使用しておらず認可されたユーザがデバイスを使用していること、未認可のユーザ(又はいくつかの例では、任意の他のユーザ)がデバイス(又はいくつかの例では、デバイスの付近)を見ておらず認可されたユーザがデバイスを使用していること、未認可のユーザがデバイスを使用していないこと、認可されたユーザが閾値時間量内にデバイスを使用したこと)を含む。認可されたユーザが電子デバイスの前におり見ているどうかを判定することは、アクションが誤った入力によって不注意に実行されず、デバイスを使用することが認可されていない人によって実行されないことを確実にする。これにより、より良好なデータセキュリティ及びデータプライバシーが提供される。加えて、キャプチャされた画像データに基づいて実行される認証及び検証を行うことにより、電子デバイスのインタフェースは、デバイス上で実行されるアクションを認証及び検証するために必要なユーザ入力をより少なくすることによって改善される。更に、要素ごとにセキュリティ強化機能を適用することにより、電子デバイスのコンピューティング要件は、それによって、電子デバイスをより効率的にし、例えば、バッテリ寿命を改善する。機能がセキュリティ強化の対象であり、かつ認可基準のセットが満たされていないという判定に従って、電子デバイスは、機能の実行を取り止める(例えば、図18K)(1910)。機能がセキュリティ強化されていないという判定に従って、電子デバイスは、認可基準のセットが満たされているか否かにかかわらず、機能を実行する(例えば、図18J)(1912)。
いくつかの実施形態では、電子デバイスは、第1ユーザ入力が受信された時間に対応する時点で、1つ以上の画像センサによりキャプチャされた画像データ(例えば、シーン1832に対応する画像データ)をキャプチャする。いくつかの実施形態では、画像データは、ユーザ入力を受信する前にキャプチャされ、画像データは、ユーザ入力を受信したことに応答して、ユーザ入力がデータに対する破壊的アクションの要求に対応するとの判定に応答して、上記のいくつかの組み合わせで、又は他のファクタに基づくいくつかの他の時点で、ユーザ入力を受信した後にキャプチャされる。第1ユーザ入力が受信された時点で画像データをキャプチャすることは、第1ユーザ入力に関与するユーザが、キャプチャされた画像データ内に存在する可能性を増大させる。キャプチャされた画像データが第1ユーザ入力を提供するユーザを含む機会を増大させることにより、デバイスの操作性を高め、ユーザ-デバイスインタフェースを更に効率的にし(例えば、デバイスが、第1ユーザ入力に関与するユーザのキャプチャされた画像データが認可基準を満たすかどうかを判定し、デバイスとの操作/対話時の不注意又は未認可のアクションを回避することを可能にすることによって)、加えて、ユーザがデバイスを更に素早くかつ効率的に使用することを可能にすることによってデバイスの電力消費を削減し、バッテリ寿命を改善する。
いくつかの実施形態では、認可基準のセットは、キャプチャされた画像データが、認可されたユーザが第1ユーザ入力が受信された時点でディスプレイを見ていることを示す基準を更に含む(例えば、図15A)(1916)。ユーザが電子デバイスのディスプレイを見ることを確実にすることにより、フォールスポジティブが生じ得る可能性が高い。例えば、ユーザがキャプチャされた画像データ内に存在する場合、ユーザは電子デバイスを使用しているように見え得るが、ユーザの存在は、ユーザが実際に電子デバイスを使用していることを保証しない。代わりに、ユーザの注意は他の場所であってもよい。ユーザがキャプチャされた画像データ内に存在し、かつ電子デバイスのディスプレイを見ているかどうかを判定することは、ユーザが電子デバイスを実際に使用している可能性を高める。これにより、デバイス上のデータのセキュリティが改善され、ユーザが電子デバイスを実際に使用していない場合には、アクションが不注意に実行されないことを確実にする。
いくつかの実施形態では、グラフィカルユーザインタフェース要素は、アプリケーションのグラフィック表現(例えば、アプリケーションアイコン、アイコン1805)であり、機能は、アプリケーションを開始するか、又はフォアグラウンドにないアプリケーションをフォアグラウンドにする(1914)。アプリケーションにセキュリティ強化を適用することにより、アプリケーションを通じてアクセス可能なデータ(ローカル及びリモート)をより良好に保護することができる。ユーザにセキュリティ強化を提供することにより、デバイスの操作性を高め、ユーザ-デバイスインタフェースを更に効率的にし(例えば、デバイスを操作/対話するときに、機密データへのアクセスをより良く保護することにより、意図した結果を達成できるようにユーザを支援し、ユーザの誤りを削減することによって)、加えて、ユーザがデバイスを更に素早くかつ効率的に使用することを可能にすることによってデバイスの電力消費を削減し、バッテリ寿命を改善する。
いくつかの実施形態では、グラフィカルユーザインタフェース要素(1918)は、フォルダのグラフィック表現(例えば、1808)(例えば、フォルダアイコン)であり、機能は、ユーザインタフェース要素に対応するフォルダのコンテンツを表示することである(例えば、図18J)。いくつかの実施形態では、電子デバイスは、グラフィカルユーザインタフェース(例えば、1800)(例えば、電子デバイスのホーム画面)を表示し、グラフィカルユーザインタフェース要素は、フォルダのアイコンである。例えば、フォルダは、写真、テキストドキュメント、電子メール、音楽、ビデオなどの、1つ以上のアプリケーション用のアイコン(例えば、1836~1838)又は1つ以上のデータアイテムを含むことができる。フォルダのコンテンツを表示する前に、例えば、タッチ感知面上をタッチすることによりフォルダアイコンを選択することに応答して、上述のように認証基準のセットがチェックされる。認証基準が満たされている場合、フォルダのコンテンツが表示される。認証基準が満たされていない場合、フォルダのコンテンツが示されない。いくつかの実施形態では、グラフィカルユーザインタフェース要素は別法として、アプリケーションアイコンである。対応するアプリケーションの起動又は切り替え(アプリケーションが既に実行されている場合)の前に、例えば、アプリケーションアイコンを選択するタッチ感知面上でのジェスチャに応答して、上述のように認証基準のセットがチェックされる。認証基準が満たされている場合、アプリケーションが起動され、又はアプリケーションが以前に起動されている場合、アプリケーションがフォアグラウンドにされる。認証基準が満たされていない場合、アプリケーションは起動されず、アプリケーションが以前に起動されている場合であっても、フォアグラウンドにされない。フォルダにセキュリティ強化を適用することにより、機密アプリケーション及びコンテンツをグループ化することによって更に効率的に保護できるようにする。ユーザにセキュリティ強化を提供することにより、デバイスの操作性を高め、ユーザ-デバイスインタフェースを更に効率的にし(例えば、デバイスを操作/対話するときに、機密データへのアクセスをより良く保護することにより、意図した結果を達成できるようにユーザを支援し、ユーザの誤りを削減することによって)、加えて、ユーザがデバイスを更に素早くかつ効率的に使用することを可能にすることによってデバイスの電力消費を削減し、バッテリ寿命を改善する。
いくつかの実施形態では、認可基準のセットが満たされていないという判定(キャプチャされた画像データに基づく)は、キャプチャされた画像データが、ユーザ入力が受信された時点でカメラの前に認可されたユーザの顔が存在した(例えば、図15C~図15E)ことを示さないという判定を含む。
いくつかの実施形態では、キャプチャされた画像データに基づいて、認可基準のセットが満たされていないという判定に従って、電子デバイスは、ユーザに認証を促し(例えば、1842)、任意選択的に認証インタフェース(例えば、1848)を表示する。いくつかの実施形態では、(キャプチャされた画像データに基づいて、)認可基準のセットが満たされていないという判定に従って、電子デバイスをロック状態に切り替える。いくつかの実施形態では、例えば、キャプチャされた画像データ内に認可されたユーザが存在しない又はいくつかの他の基準の失敗によって、1つ以上の認可基準のセットが満たされていない場合、電子デバイスを、ロック解除状態にある電子デバイスと比較して、電子デバイスの機能を制限するロック状態に切り替える)。いくつかの実施形態では、キャプチャされた画像データに基づいて、認可基準のセットが満たされていないという判定に従って、電子デバイスは、カメラ視野内にユーザの顔を位置付けることによってユーザに認証を促す。いくつかの実施形態では、例えば、キャプチャされた画像データ内に認可されたユーザが存在しない又はいくつかの他の基準の失敗によって、1つ以上の認可基準のセットが満たされていない場合、電子デバイスは、ユーザにユーザの顔をカメラの視野内に置くように指示するメッセージボックスを表示する。いくつかの実施形態では、メッセージボックスはまた、ユーザにカメラを見るように指示する。認可基準が満たされていない場合にユーザに認証を促すことにより、上記のデータセキュリティ及び保護の利益をもたらすが、一方で、要求されたアクションが実行されるべきではないというデバイスの判定を無効にするための容易な解決策もまた提供する(例えば、照明条件がキャプチャされた画像データ内のユーザを検出するのにデバイスにとって十分でない、又はユーザの外観が、デバイスがユーザをもはや認識しないように変更されている場合)。この技術により、デバイスの操作性を高め、ユーザ-デバイスインタフェースを更に効率的にし(例えば、デバイスを操作/対話するときにデバイスの判定を無効にする方法を提供することにより意図した結果を達成できるようにユーザを支援し、ユーザの誤りを削減することによって)、加えて、ユーザがデバイスを更に素早くかつ効率的に使用することを可能にすることによってデバイスの電力消費を削減し、バッテリ寿命を改善する。
いくつかの実施形態では、電子デバイスは、グラフィカルユーザインタフェース要素上に強度閾値を超える第2ユーザ入力を受信する(1920)。それに応じて、例えば、対象のアイコン若しくはアプリケーションをセキュリティ強化の対象とする要求に対応するアフォーダンス(例えば、1820)、コンテンツに関連付けられた情報(例えば、1822)若しくはコンテンツ自体を共有する要求に対応するアフォーダンス、又はコンテンツに関連付けられた特定の機能を実行する要求に対応するアフォーダンスなどの様々なアフォーダンス(例えば、1820及び1822)が表示されたメニュー(例えば、1818)を表示する。電子デバイスは、第2入力を受信した後、グラフィカルユーザインタフェース要素に関連付けられた機能がセキュリティ強化の対象であるという指標を電子デバイス上に記憶する(例えば、コンテンツが写真であるケースで、セキュリティフラグが写真に関連付けられる場合、写真の閲覧、共有、又は削除などの写真へのアクセスを試みると、電子デバイスは、アクセスが許可される前に許可された認可されたユーザがデバイスのディスプレイを見ていることを検証する)(1922)。任意選択的に、電子デバイスはまた、アイコン又はアイコンに関連付けられたコンテンツ/アプリケーションがセキュリティ強化の対象であることを示すインジケータ(例えば、1826)を表示させる。ユーザが、強度閾値に達する接触に基づいて、デバイス上のコンテンツ及び/又はアクションのセキュリティ強化を可能にできるようにすることにより、ユーザがコンテンツ及び/又はアクションに対するセキュリティ強化を不注意に誤って適用する可能性が低減される。加えて、強度閾値により、依然として、ユーザはデバイスとの最小数の対話でセキュリティ強化を迅速に適用することができる。上記により、デバイスの操作性を高め、ユーザ-デバイスインタフェースを更に効率的にし(例えば、デバイスを操作/対話するときに最小限の対話で意図した結果を達成できるようにユーザを支援し、ユーザの誤りを削減することによって)、加えて、ユーザがデバイスを更に素早くかつ効率的に使用することを可能にすることによってデバイスの電力消費を削減し、バッテリ寿命を改善する。
いくつかの実施形態では、第2入力を受信したことに応答して、電子デバイスは、セキュリティ強化のための要求に対応するアフォーダンスの選択に応答して発生する指標を電子デバイス上に記憶する。
図19A~図19Bにおける動作について記載された特定の順序は単なる例示あり、記載された順序は、動作を実行することができる唯一の順序であることを示すことを意図するものではないことを理解されたい。当業者であれば、本明細書に記載される動作を再順序付けるための様々な方法を認識するであろう。加えて、本明細書に記載される他の方法(例えば、方法700、1000、1300、1700、2100、2300、2500、2700)に関して本明細書に記載される他の処理の詳細はまた、図19A~図19Bに関して上記した方法1900にも、類似の様式で適用可能であることに留意されたい。例えば、認可基準のセット、及び方法1900を参照して上述した認可基準のセットが満たされているかどうかの判定は任意選択的に、本明細書に記載される他の方法(例えば、方法700、1700、2100)を参照して、本明細書に記載される認可/アラート/コンテンツロック基準のセット及びこれらの基準が満たされているかどうかの判定の特性のうちの1つ以上を有する。簡潔にするために、それらの詳細はここでは繰り返さない。
上述した情報処理方法での演算は、汎用プロセッサ(例えば、図1A、図3、図5Aに関して説明したように)又は特定用途向けチップなどの情報処理装置内の1つ以上の機能モジュールを実行させることによって、任意選択的に実行される。更に、図19A~図19Bを参照して上述した演算は、図1A~図1Bで示した構成要素によって、任意選択的に実行される。例えば、第1ユーザ入力を受信することは、イベントソータ170、イベント認識部180、及びイベント処理部190によって、任意選択的に実行される。イベントソータ170内のイベントモニタ171は、タッチ感知面604上の接触を検出し、イベントディスパッチャモジュール174は、イベント情報をアプリケーション136ー1に伝送する。アプリケーション136ー1のそれぞれのイベント認識部180は、イベント情報をそれぞれのイベント定義186と比較し、タッチ感知面上の第1の位置での第1の接触が、ユーザインタフェース上のオブジェクトの選択などの所定のイベント又はサブイベントに対応するか否かを判定する。対応する既定のイベント又はサブイベントが検出されると、イベント認識部180は、そのイベント又はサブイベントの検出に関連付けられたイベント処理部190をアクティブ化する。イベント処理部190は、アプリケーション内部状態192を更新するために、更新部176又はオブジェクト更新部177を、任意選択的に利用又は呼び出す。いくつかの実施形態では、イベント処理部190は、アプリケーションにより表示されるものを更新するために、対応するGUI更新部178にアクセスする。同様に、当業者には、図1A~図1Bに示した構成要素に基づいて他の処理がどのように実施され得るかは明らかであろう。
図20A~図20Cは、デバイス1500にて検出されたアラート条件に応答する例示的なユーザインタフェースを示す。図20D~図20Fは、複数のデバイスにわたって検出されたアラート条件に応答する例を示すシーンを示す。図21A~図21Bは、アラート条件に応答する方法を示すフロー図である。図20A~図20Cのユーザインタフェース及び図20D~図20Fのシーンは、図21A~図21Bのプロセスを含む後述するプロセスを示す。
図20Aは、いくつかの例では前述のデバイス100、デバイス300、又はデバイス500の特定のフォームファクタである、デバイス1500(例えば、図15A~図15F参照)を示す。デバイス1500は、いくつかの実施形態ではタッチ感知ディスプレイである、ディスプレイ1501と、カメラ1502とを含む(図15A~図15F関して説明される)。加えて、デバイス1500のいくつかの実施形態では、カメラ1502と共に、追加のセンサ及び/又は他の構成要素(例えば、フラッシュ若しくはIRエミッタ)が存在する。
図20Aにおいて、デバイス1500は、ディスプレイ1501上にロックインタフェース2000を表示する。デバイス1500は、デバイス1500がロック状態にあるときに、ロックインタフェース2000を表示する。いくつかの実施形態では、デバイス1500がロック状態にあるとき、デバイス1500の機能は、デバイス1500の全機能と比較して制限される。一実施例では、ロック状態にあるとき、デバイス1500は、カメラプログラム及び緊急電話へのアクセスはできるが、全ての他の機能へのアクセスは無効化又は防止される。ロックインタフェース2000は一例として使用されるが、アラート条件に応答するための本明細書に記載されるプロセスは、ホーム画面インタフェース又はアプリケーションインタフェースなどの他のインタフェースにも適用することができる。
デバイス1500がアラート条件を検出すると、デバイス1500は、キャプチャされた画像データ(例えば、カメラ1502からキャプチャされた画像データ)の分析に基づいて、どのようにアラート条件に応答するかを判定する。いくつかの実施形態では、アラート条件は、デバイス1500上で発生したイベントに対応する。イベントの例としては、通知(例えば、ソーシャルメディア又はニュース通知)、トリガされるアラーム/タイマー(例えば、時間又は場所に基づいて)を受信すること、及び通信要求(例えば、オーディオ/ビデオ通信要求)を受信することが挙げられる。アラート条件の例は、これらの例示的なイベントのうちのいずれかの発生から生成されるアラートである。図20A~図20Cに示される実施例の場合、アラート条件は、デバイス1500における新しいメッセージの受信から生成されたアラートに対応する。
メッセージの受信に対応するアラート条件の発生を検出した後、デバイス1500は、キャプチャされた画像データに基づいてアラート条件にどのように応答するか、及び1つ以上のアラート基準のセットが満たされているかどうかを判定する。1つ以上のアラート基準のセットが満たされている場合、デバイス1500は、第1の方法で応答する(例えば、所定の技法を用いてアラートを表示又は通信する)。1つ以上のアラート基準のセットが満たされていない場合、デバイス1500は、第2の方法で応答する(例えば、アラートを表示又は通信を取り止める)。
一実施例では、1つ以上のアラート基準のセットは、認可されたユーザの顔がキャプチャされた画像データ内に存在するときに満たされる基準を含み、キャプチャされた画像データは、認可されたユーザがデバイスを見ていることを示し(これは、いくつかの実施形態では、2つの基準として処理される)、これは、図15A内のシーンに対応する。デバイス1500が、キャプチャされた画像データの分析に基づいて、この基準が満たされたと判定した場合、デバイス1500は、図20Bに示されるように、ロック画面インタフェース2000上に通知を表示することによって、第1の方法でメッセージの受信に対応するアラート条件に応答する。図20Bでは、デバイス1500は、通知2002を表示させる。通知2002は、通知サマリーエリア2004及びアプリケーション識別エリア2006を含む。通知サマリーエリア2004は、リモートユーザ識別2008(例えば、メッセージの送信者)及びメッセージサマリー2010(例えば、メッセージが長い場合、メッセージの抜粋、又はメッセージが短い場合、メッセージ全体)を含む。アプリケーション識別エリア2006は、アプリケーション識別2012(例えば、受信したメッセージが意図されるアプリケーション)及びアプリケーションアイコン2014(例えば、アプリケーション識別2012によって識別されたアプリケーションに対応するグラフィカル要素)を含む。
上記の実施例では、デバイス1500が、キャプチャされた画像データが、認可されたユーザの顔が存在しないか、又は認可されたユーザの顔が存在するが、認可されたユーザがデバイス1500を見ていないことを示すと判定した場合、1つ以上のアラート基準のセットは満たされない。この場合、デバイス1500は、図20Cに示されるように、ロック画面インタフェース2000上に異なる通知を表示することによって、第1の方法とは異なる第2の方法でのメッセージの受信に対応するアラート条件に応答する。図20Cでは、デバイス1500は、通知2016を表示させ、この通知は、通知2016がアプリケーション識別エリア2006のみを含むことを除いて、図20Bの通知2002と同様である。いくつかの実施形態では、通知2016は、より多くの(例えば、送信者又は時間)、又はより少ない情報(例えば、受信したメッセージに対応するアプリケーションの識別がない)を含む。
デバイス1500上の可視通知(図20B及び図20C中のものなど)に加えて、デバイス1500はまた、可聴又は触覚アラートを有するアラート条件に応答してもよい。加えて、ユーザに関連付けられた他のデバイスはまた、デバイス1500で発生した同じイベントに対応するアラート条件を検出してもよい。例えば、図20Dでは、デバイス1500は、フィードバック2018(例えば、触覚又は可聴フィードバック)を提供することによって、メッセージの受信に対応する検出されたアラート条件に応答している。加えて、腕時計2020及びコンピュータ2024(スピーカ2026を有する)は、フィードバック2022(例えば、触覚又は可聴フィードバック)及び可聴フィードバック2028をそれぞれ提供することによって、同じメッセージの受信に対応する類似のアラート条件に応答している。図20Dに示す応答は、ユーザ1506がデバイス1500を見ていない、又はいくつかの実施形態では、任意の他のデバイスを見ていないという判定(例えば、デバイス1500による)に基づいている。任意選択的に、この判定は、1つ以上のアラート基準のセットが満たされているかどうかの判定の一部として行われるか、又は1つ以上の異なる基準での別個の判定(例えば、認可されたユーザがデバイスを見ているかどうか)の一部として行われる。
図20Eは、ユーザ1506がここでデバイス1500を見ていることを除いて、図20Dと同じシーンを示す。デバイス1500がキャプチャされた画像データを分析し、ユーザ1506が現在デバイス1500を見ている又はユーザ1506が所定時間量にわたってデバイス1500を見ているという判定に応答して、デバイス1500は、ユーザ1506がデバイス1500上の通知を見ていた又はフィードバック2020及び可聴フィードバック2028が低減されるべきであることを示すデータを腕時計2020及びコンピュータ2024に送信する。それに応じて、図20Eに示すように、腕時計2020及びコンピュータ2024は、提供されるフィードバックの強度(例えば、音量又は振幅)を低減する。別法として、又はユーザ1506が更に時間閾値にわたってデバイスを見た後、デバイス1500は、ユーザ1506が閾値時間量にわたってデバイス1500上の通知を見ていた又はフィードバック2020及び可聴フィードバック2028が排除されるべきであることを示すデータを腕時計2020及びコンピュータ2024に送信する。それに応じて、図20Fに示すように、腕時計2020及びコンピュータ2024は、フィードバックを提供するのを停止する。
いくつかの実施形態では、デバイス1500は、アイテムのステータスを変更すること(例えば、電子メールメッセージを既読とマークすること)、アイテムのステータスに関する通信を送信すること(例えば、既読通知を送信すること)、ディスプレイの電源を付けること(例えば、ユーザがデバイスを見ている若しくはカメラの視野内にいるときに、ディスプレイをオンにするが、ユーザがカメラの視野内に存在しない場合には、ディスプレイをオンにしないこと)、又はアラートの通知を異なるデバイスに転送することなどの他の方法でアラート条件に応答する。
図21A~図21Bは、いくつかの実施形態による、電子デバイスにて検出されたアラート条件に応答するための方法を示すフロー図である。方法2100は、ディスプレイとカメラとを備えたデバイス(例えば、100、300、500、1500)にて実行される。方法2100のいくつかの動作は、任意選択的に組み合わされ、いくつかの動作の順序は、任意選択的に変更され、いくつかの動作は、任意選択的に省略される。
後述するように、方法2100は、電子デバイスにて検出されたアラート条件に応答するための直感的方法を提供する。この方法は、電子デバイスにて検出されたアラート条件に応答するユーザの認識的負担を軽減し、それによって、より効率的なヒューマン-マシンインタフェースを作り出す。バッテリ動作式のコンピューティングデバイスの場合には、電子デバイスが電子デバイスにて検出されたアラート条件に応答することを可能にすることにより、電力が節約され、バッテリ充電の間隔が増す。
ディスプレイ(例えば、1501)と1つ以上のカメラ1502(例えば、可視光センサ、IRセンサ、及び/又は飛行時間センサを有する)とを有する電子デバイス(例えば、1500)は、グラフィカルユーザインタフェース(例えば、2000)(例えば、オペレーティングシステムホーム画面、ロック画面、写真閲覧アプリケーション、電子メールアプリケーション、ウェブブラウザアプリケーション、地図アプリケーション、又はナビゲーションアプリケーション)を表示させる。電子デバイスは、デバイスにおいて発生したイベント(例えば、(電子メール、テキスト、又は他のメッセージなど)新しいメッセージを受信する、ニュースアイテムが利用可能である、予定の若しくは満期のカレンダイベント、アラームが期限切れになった若しくはトリガされた、又はソーシャルメディア通知を受信した)に対応するアラート条件(例えば、着信通信を受信したか、又はカレンダイベントなどのいくつかの動作のタイミング又は場所の基準が満たされている)の発生を検出する(2102)。
アラート条件の発生を検出したことに応答して(2104)、(キャプチャされた画像データに基づいて(例えば、可視光データ、IR光データ、深度画像データ、及び/又はキャプチャされた画像データ内に記憶された他のデータを使用した顔認識などの画像分析を使用して))アラート基準のセットが満たされたという判定に従って、電子デバイスは、第1の方法(例えば、通知2002の表示)でアラート条件に応答する(2106)。いくつかの実施形態では、アラート基準のセットでは、キャプチャされた画像データが、ユーザの顔がカメラの前に存在することを示す(例えば、15A~15B及び15F)必要がある。いくつかの実施形態では、認可基準のセットは、1つの基準又は2つ以上の基準を含む。いくつかの実施形態では、認可基準の例は、認可されたユーザが電子デバイスを使用していることを含み、認可されたユーザが電子デバイスを見ていること、未認可のユーザ(又はいくつかの例では、任意の他のユーザ)がまたデバイスを使用しておらず認可されたユーザがデバイスを使用していること、未認可のユーザ(又はいくつかの例では、任意の他のユーザ)がデバイス(又はいくつかの例では、デバイスの付近)を見ておらず認可されたユーザがデバイスを使用していること、未認可のユーザがデバイスを使用していないこと、認可されたユーザが閾値時間量内にデバイスを使用したこと)、(例えば、バナーをグラフィカルユーザインタフェース上に表示すること(バナーは任意選択的に、通知のコンテンツ、通知のソース、通知に関連付けられたアプリケーションなど)、触覚フィードバックを提供すること、可聴フィードバックを提供すること、上述の任意の組み合わせ、及び/又は他のアクションを含む。(キャプチャされた画像データに基づいて)アラート基準のセットが満たされていないという判定に従って、電子デバイスは、第1の方法とは異なる第2の方法(例えば、通知2016の表示)でアラート条件に応答する(例えば、通知が受信されたことの任意の指標を提供することを取り止めること、通知のコンテンツ及び/又はソースについての詳細を含まない通知のバナーを表示すること)(2108)。いくつかの実施形態では、第1の方法及び第2の方法は、少なくとも1つのステップにおいて異なるが、共通の他のステップも有する。いくつかの実施形態では、第1の方法及び第2の方法は、全てのステップにおいて異なり、第1の方法と第2の方法との間でステップが共有されない。
アラート条件を処理する前にユーザが存在するかどうかを判定することにより、マンマシンインタフェースが改善され、データプライバシーが増大し、電子デバイスの性能を向上させる。例えば、アラート条件に応答する前にユーザが電子デバイスのディスプレイの前に存在するかどうかを判定することにより、適切な応答(例えば、適切な通知が表示されるか、又は他の通知が提供される)ことを確実にする。例えば、ユーザがキャプチャされた画像データ内に存在する場合、通知バナーを表示することは、ユーザへの中断を最小限にしながらアラート条件をユーザに通知する。対照的に、ユーザがキャプチャされた画像データ内に存在しない場合、触覚又は可聴通知は、ユーザがアラート条件を通知される可能性がより高いため、より好適であり得る。これは、より効率的で、煩わしくないマン-マシンインタフェースを提供する。別の例として、特定の方法でアラート条件に応答する前にユーザが存在することを確実にすること(例えば、通知バナーを表示すること)によって、ユーザが存在しないときに機密情報が表示されないことを確実にすることによって、データのプライバシーを増大させる。同様に、ディスプレイをオンにし、通知を表示するのを回避することにより、電力消費を削減し、バッテリ寿命を長くして、電子デバイスの性能を向上させる。
いくつかの実施形態では、アラート条件の発生を検出した後に、電子デバイスは、キャプチャされた画像データ(例えば、図20Dのユーザ1506の画像データ)を1つ以上の画像センサでキャプチャする(2110)。いくつかの実施形態では、画像データは、アラート条件を検出する前にキャプチャされ、画像データは、アラート条件を検出したことに応答して、上記のいくつかの組み合わせに応答して、又は他のファクタに基づくいくつかの他の時点で、アラート条件を検出した後にキャプチャされる。アラート条件が検出された時点で画像データをキャプチャすることにより、デバイスは現在利用可能な情報に基づいてアラートを処理することが可能になる。これにより、デバイスの操作性を高め、ユーザ-デバイスインタフェースを更に効率的にし(例えば、適切な方法でユーザに通知し、キャプチャされた画像データ内のユーザに基づいてより良いデータプライバシーを提供することによって)、加えて、有用でない方法でユーザに通知できないようにすることによってデバイスの電力消費を削減し、バッテリ寿命を改善する。
いくつかの実施形態では、アラート基準のセットは、キャプチャされた画像データが、認可されたユーザがデバイスを使用していることを示す基準を更に含む。いくつかの実施形態では、キャプチャされた画像データが、認可されたユーザがデバイスを使用していることを示すかどうかを判定することは、認可されたユーザがキャプチャされた画像データ内に存在するかどうか(例えば、図20Dのユーザ1506の存在)に基づく。いくつかの実施形態では、キャプチャされた画像データが、認可されたユーザがデバイスを使用していることを示すかどうかを判定することは、許可されたユーザがキャプチャされた画像データ内で電子デバイスのディスプレイを見ているか(例えば、図15B)どうかの判定に基づく)。認可されたユーザがデバイスを使用しているときに満たされる基準をチェックすることにより、デバイスは、最も適切な方法でアラート条件を処理することができる。これにより、デバイスの操作性を高め、ユーザ-デバイスインタフェースを更に効率的にし(例えば、ユーザがデバイスを使用しているときに気をそらす通知を提供せず、ユーザがデバイスを使用していないときにより人目をひく通知を提供することにより、ユーザの認識的負担を軽減することによって)、加えて、ユーザがデバイスを更に素早くかつ効率的に使用することを可能にすることによってデバイスの電力消費を削減し、バッテリ寿命を改善する。
いくつかの実施形態では、アラート基準のセットは、キャプチャされた画像データが、ユーザが電子デバイスのディスプレイを見ている(例えば、図15B)ことを示す基準を更に含む(例えば、顔の向きに基づいて、ユーザの眼が開いているかどうか、及び/又はユーザの眼がデバイスのディスプレイに向けられていることを示す視線情報)。認可されたユーザがデバイスを見ているときに満たされる基準をチェックすることにより、デバイスは、最も適切な方法でアラート条件を処理することができる。これにより、デバイスの操作性を高め、ユーザ-デバイスインタフェースを更に効率的にし(例えば、ユーザがデバイスを見ているときは、気をそらしにくい非可聴通知などを提供し、ユーザがデバイスを見ていないときは、より人目をひく通知を提供することによって)、加えて、ユーザがデバイスを更に素早くかつ効率的に使用することを可能にすることによってデバイスの電力消費を削減し、バッテリ寿命を改善する。
いくつかの実施形態では、第1の方法でアラート条件に応答することは、グラフィカルユーザインタフェース上のディスプレイの上部にわたり、アラート条件についてのアラート条件に対応する通知を表示すること(例えば、関連付けられたアプリケーション、関連付けられたユーザ、アラート条件のサマリー、又は変更条件若しくはそれに対応するイベントに関連付けられたデータなどの情報を有するバナー(例えば、通知2002)を表示すること)を含み、第2の方法でアラート条件に応答することは、アラート基準のセットが満たされるまで(例えば、電子デバイスが、キャプチャされた画像データが、認可されたユーザ(又はいくつかの場合には、他のユーザ)が電子デバイスのディスプレイを見ていることを示すと判定するまで)、アラート条件に対応する通知の表示を遅延させることを含む。キャプチャされた画像データに対する電子デバイスの応答に基づいて、適切なとき(例えば、認可されたユーザが存在するとき)にのみアラート条件についての情報を提供することにより、データプライバシーを高め、適切な条件(例えば、だれかが情報を受信するために存在するとき)でのみコンピューティングリソースを消費し、これによりバッテリ電力を節約することにより、電子デバイスの機能及び性能を改善する。
いくつかの実施形態では、アラート条件は、電子メール又はテキストメッセージ(例えば、通知2002に関連付けられたメッセージ)の受信であり、第1の方法でアラート条件に応答することは、アラート条件に対応する通知(例えば、通知2002)を表示することと、電子メール又はテキストメッセージを既読とマークすることとを含み、第2の方法でアラート条件を処理することは、アラート条件に対応する通知を表示することと、電子メール又はテキストメッセージを既読とマークするのを取り止めることとを含む。例えば、アラート条件が、新しいメッセージ(SMSメッセージ、インスタントメッセージ、又はチャットメッセージなど)の受信に対応するイベントのためのものである場合、第1の方法では、新しいメッセージに対して通知が表示され、新しいメッセージは既読とマークされるが、第2の方法では、第1の方法の通知と同じ又は異なる通知が、メッセージを既読とマークすることなく(例えば、未読とマークされたメッセージを残して)新しいメッセージに対して表示される。キャプチャされた画像データに基づいて、受信された電子メール又はテキストメッセージのステータスを更新することにより、ユーザは、ユーザ入力をより少なくせずに受信メッセージを管理することができる(例えば、単に電子デバイスを見ることによって)。これは、より効率的で、ユーザがタスクをより迅速に完了することができるマン-マシンインタフェースを提供する。
いくつかの実施形態では、第1の方法でアラート条件に応答することは、電子メール又はテキストメッセージが既読とマークされたというメッセージを電子メール又はテキストメッセージの送信者に送信すること(例えば、電子メール又はテキストメッセージが受信者によって読まれたことを示す「既読通知」を送信者に送信すること)を含む。アラート基準が満たされたときにメッセージの送信者にメッセージを送信することにより、より正確にメッセージを送信することができる。これにより、デバイスの操作性を高め、ユーザ-デバイスインタフェースを更に効率的にし(例えば、より正確に既読通知を提供し、対応するメッセージが未読である場合には既読通知の形態での不正確なデータの送信を減らすことによって)、加えて、ユーザがデバイスを更に素早くかつ効率的に使用することを可能にすることによってデバイスの電力消費を削減し、バッテリ寿命を改善する。
いくつかの実施形態では、アラート基準のセットは、キャプチャされた画像データが、ユーザが少なくとも閾値時間量にわたって電子デバイスのディスプレイを見ていることを示す基準を含む(例えば、図20D~図20F)。例えば、アラート条件が、新しいメッセージ(例えば、サマリー2004に対応するメッセージ)(SMSメッセージ、インスタントメッセージ、又はチャットメッセージなど)の受信に対応するイベントのためのものである場合、第1の方法では、イベントの通知が表示され(例えば、図20B)、通知が表示されている間に、ユーザが少なくとも閾値時間量にわたってディスプレイを見ている場合、メッセージが読まれたことを示すメッセージをメッセージの送信者に送信する(例えば、ユーザが閾値時間量にわたって図20Bのデバイス600を見ており、任意選択的に、メッセージ全体が表示された場合、デバイス600は、メッセージの送信者に既読通知を送信する)。別の例として、アラート条件が、新しいメッセージの受信に対応するイベントのためのものであり、グラフィカルユーザインタフェースは、新しいメッセージに対応するメッセージングプログラムである場合、第1の方法では、新しいメッセージを表示することができ、新しいメッセージが表示されている間に、キャプチャされた画像データに基づいて、ユーザが少なくとも閾値期間にわたってディスプレイを見ていると判定される場合、既読通知メッセージを新しいメッセージの送信者に送信する。更なるユーザ入力を必要とすることなく、ユーザが所定のおおよその時間にわたって電子デバイスのディスプレイを見たときに既読通知を送信することにより、デバイスの操作性を高める。既読通知を送信する前に、ユーザが閾値時間量にわたって電子デバイスのディスプレイを見るまで待機することにより、ユーザがアラートを見たり読んだりする可能性を増加させることによって、既読通知の信頼性を向上させる。
いくつかの実施形態では、第1の方法でアラート条件に応答することは、電子デバイスが、アラート条件が検出されたことを示す通知(例えば、オーディオ、視覚、又は触覚フィードバック、図20Dのフィードバック2018)を生成することと、ユーザがアラート条件を通知されたことを示す通知を外部電子デバイスに送信することと、を含む(例えば、これにより、他のデバイスは、可聴又は触覚フィードバックを提供する代わりにフィードバックのみを表示するなど、同一のフィードバック又は生成された削除されたフィードバックを生成しないようにする)(2112)。いくつかの実施形態では、第2の方法でアラート条件を処理することは、電子デバイスが、ユーザがアラート条件を通知されたことを示す通知を外部デバイスに送信せずに、アラート条件が検出されたことを示す通知を生成することを含む(例えば、ユーザがスマートフォン及びタブレットコンピュータなどの複数のデバイスに関連付けられている場合、電話及びタブレットは両方とも、同じイベントに関連するそれぞれのデバイス上のアラート条件が発生したという通知をユーザに生成し得る)(2114)。ユーザがアラートを見たかどうかを他のデバイスに示すことにより、電子デバイス及び他のデバイスとのユーザの対話は、単に電子デバイスを見ることによってアラートを消音又は消すことができることで簡略化される。これにより、ユーザの認識的負担を軽減し、改善されたマン-マシンインタフェースを提供する。
いくつかの実施形態では、第2の方法でアラート条件に応答することは、電子デバイスがオーディオ通知(例えば、リングトーン、音楽、又は他の可聴サウンド)を提供することを含む(例えば、図20Dの2018)(2116)。いくつかの実施形態では、オーディオ通知の提供を処理した後、(後続のキャプチャされた画像データに基づいて)ユーザが電子デバイスのディスプレイを見ているという判定に従って(例えば、キャプチャされた画像データに基づいて)、電子デバイスは、オーディオ通知の音量を低減する(例えば、図20Eの2018、及び別個に図20F)。可聴通知を提供することにより、デバイスを見ていない又はデバイスを使用していないユーザへのより人目をひく通知を可能にし、これにより、デバイスの操作性を高め、ユーザ-デバイスインタフェースを更に効率的にし(例えば、フィードバックが最も効果的である可能性が高い場合に、触覚フィードバックを使用してユーザにアラートすることによって)、加えて、ユーザがデバイスを更に素早くかつ効率的に使用することを可能にすることによってデバイスの電力消費を削減し、バッテリ寿命を改善する。
いくつかの実施形態では、第2の方法でアラート条件に応答することは、電子デバイスが触覚通知(例えば、電話の1回のブザー又は連続のブザー)を提供することを含む(例えば、図20Dの2018)(2118)。いくつかの実施形態では、触覚通知を提供した後、(後続のキャプチャされた画像データに基づいて)ユーザが電子デバイスのディスプレイを見ているという判定に従って、電子デバイスは、触覚通知の大きさを低減する(例えば、図20Eの2018、及び別個に図20F)。触覚通知を提供することにより、デバイスを見ていない又はデバイスを使用していないユーザへのより人目をひく通知を可能にし、これにより、デバイスの操作性を高め、ユーザ-デバイスインタフェースを更に効率的にし(例えば、フィードバックが最も効果的である可能性が高い場合に、触覚フィードバックを使用してユーザにアラートすることによって)、加えて、ユーザがデバイスを更に素早くかつ効率的に使用することを可能にすることによってデバイスの電力消費を削減し、バッテリ寿命を改善する。
いくつかの実施形態では、第2の方法でアラート条件に応答することは、電子デバイスが、アラート条件が検出されたことを示す第1の通知であって、第1の通知(例えば、図20Cの2016)は第1の情報のセット(例えば、2012及び2014)を含む、第1の通知を生成することと、を含み、第1の通知を生成した後、(カメラによってキャプチャされた、後続のキャプチャされた画像データに基づいて)ユーザが電子デバイスのディスプレイを見ている(例えば、図15A)という判定に従って、電子デバイスが、アラート条件に関連付けられた第2の通知(例えば、図20Bの2002)であって、第2の通知は第1の情報のセットに存在しない第2の情報のセット(例えば、2004)を含む、第2の通知を生成することと、を含む。例えば、例えば、電子デバイスで受信した新しいメッセージに対して通知が表示されるが、通知が新しいメッセージを送信した人を示さない場合、新しいメッセージの送信者は、ユーザが電子デバイスのディスプレイを見た後に表示される。ユーザがいくつかの基準を満たした後にユーザに追加情報を提供することにより、マン-マシンインタフェースは、情報にアクセスするのに必要なユーザからの対話をより少なくすることによって改善される。例えば、ユーザが電子デバイスのディスプレイを見た後に自動的にアラートについての追加情報を表示することは、より効率的で煩わしさが少ないマン-マシンインタフェースを提供することによって、電子デバイスの動作を改善する。
いくつかの実施形態では、アラート条件は、満たされている予め設定されたアラーム条件を含み、第2の方法でアラート条件に応答することは、通知(例えば、図20Dの2018)(例えば、触覚、オーディオ及び/又は視覚通知)を出力することを含む。通知を提供した後、(後続のキャプチャされた画像データに基づいて)ユーザが電子デバイスのディスプレイを見ているという判定に従って、電子デバイスは、通知の大きさを低減する(例えば、図20E及び図20F)(例えば、知覚通知のパラメータを下方に調節する、又は知覚通知を停止する)。これにより、ユーザの認識的負担が少ないアラーム条件に応答するために、対話をほとんど必要としない(又はデバイスを見ている以外の対話を必要としない)改善されたヒューマンマシンインタフェースを提供することによって、電子デバイスを強化する。
いくつかの実施形態では、イベントは、トリガされている予め設定されたアラームである(2122)。ユーザが電子デバイスのディスプレイを見ているという判定に応答して、電子デバイスは、アラームをスヌーズする(例えば、アラームがトリガされたことを通知するのをやめ、未来のある期間でトリガするためのアラームをリセットするのをやめること、又は未来のある期間に異なるアラームをトリガするのをやめること)。デバイスがユーザがデバイスのディスプレイを見ていることを判定するときにアラームをスヌーズすることは、フォールスポジティブ(例えば、スヌーズ機能の不注意によるアクティブ化)を低減し、デバイスの操作性を高め、ユーザ-デバイスインタフェースをより効率的にし(例えば、最小限の対話で意図された結果を達成するようにユーザを支援することによって)、加えて、ユーザがデバイスを更に素早くかつ効率的に使用することを可能にすることによってデバイスの電力消費を削減し、バッテリ寿命を改善する。
いくつかの実施形態では、第2の方法(例えば、図20C)でアラート条件を処理した後、かつユーザが電子デバイスのディスプレイを見ているという判定に応答して、電子デバイスは、第1の方法(例えば、図20B)でアラート条件を処理する(2124)。例えば、メッセージが受信されたときに、ユーザが最初に電子デバイスを見ていない場合(例えば、図20D)(この例ではアラート条件である)、電子デバイスは、メッセージ(例えば、図20C)の詳細なしの通知バナーを表示することによって、アラート条件に応答することができる。しかしながら、ユーザがその後電子デバイスのディスプレイを見る場合、電子デバイスは、受信メッセージのコンテンツのサマリーを含むように表示された通知を更新することによって、アラート条件に更に応答することができる(図20B)。ユーザがデバイスを見た後に第1の方法でアラートを処理することは、デバイスの操作性を高め、データプライバシーを改善し(例えば、潜在的に機密性の高いサマリーを未認可のユーザに表示しないことによって)、ユーザ-デバイスインタフェースをより効率的にし(例えば、最小限の対話でアラート/通知についての追加の情報を得るようにユーザを支援することによって)、加えて、ユーザがデバイスを更に素早くかつ効率的に使用することを可能にすることによってデバイスの電力消費を削減し、バッテリ寿命を改善する。
いくつかの実施形態では、グラフィカルユーザインタフェースは、ロック画面インタフェース(例えば、図20A)である(例えば、通知は、ロック画面インタフェースの未通知領域に表示される)。いくつかの実施形態では、グラフィカルユーザインタフェースは、ホーム画面(例えば、図18A)インタフェース又はアプリケーションインタフェース(例えば、図22A)、及びグラフィカルユーザインタフェースの一部分の上にポップアップし、その後、ユーザがそれらと対話しない場合、所定期間の後に自動的に表示を停止する通知である。デバイスがロックされるときに上記のアラート条件処理技術を適用することは、より良好なデータプライバシーを提供することによって、デバイスの操作性が向上する。例えば、デバイスがロックされている場合、ユーザがデバイスを使用せず、潜在的にデバイスを使用しないことを意味する可能性が高い。この状況では、認可されたユーザがデバイスを見ていることをデバイスが確認することができない限り、デバイスは、アラート条件についての限定された情報のみを提供することによって、データプライバシーを改善することができる。
図21A~図21Bにおける動作について記載された特定の順序は単なる例示あり、記載された順序は、動作を実行することができる唯一の順序であることを示すことを意図するものではないことを理解されたい。当業者であれば、本明細書に記載される動作を再順序付けるための様々な方法を認識するであろう。加えて、本明細書に記載される他の方法(例えば、方法700、1000、1300、1700、1900、2300、2500、2700)に関して本明細書に記載される他の処理の詳細はまた、図21A~図21Bに関して上記した方法2100にも、類似の様式で適用可能であることに留意されたい。例えば、アラート基準のセット、及び方法2100を参照して上述したキャプチャされた画像データに基づいて、これらの基準が満たされているかどうかは任意選択的に、本明細書に記載される他の方法(例えば、方法700、1700、1900)を参照して、本明細書に記載されるコンテンツロック/認可基準及びこれらの基準が満たされているかどうかの判定の特性のうちの1つ以上を有する。簡潔にするために、それらの詳細はここでは繰り返さない。
上述した情報処理方法での演算は、汎用プロセッサ(例えば、図1A、図3、図5Aに対して説明したように)又は特定用途向けチップなどの情報処理装置内の1つ以上の機能モジュールを実行させることによって、任意選択的に実行される。更に、図21A~図21Bを参照して上述した演算は、図1A~図1Bで示した構成要素によって、任意選択的に実行される。例えば、アラート条件の発生を検出することは、イベントソータ170、イベント認識部180、及びイベント処理部190によって、任意選択的に実行される。イベントソータ170内のイベントモニタ171は、タッチ感知面604上の接触を検出し、イベントディスパッチャモジュール174は、イベント情報をアプリケーション136ー1に伝送する。アプリケーション136ー1のそれぞれのイベント認識部180は、イベント情報をそれぞれのイベント定義186と比較し、タッチ感知面上の第1の位置での第1の接触が、ユーザインタフェース上のオブジェクトの選択などの所定のイベント又はサブイベントに対応するか否かを判定する。対応する既定のイベント又はサブイベントが検出されると、イベント認識部180は、そのイベント又はサブイベントの検出に関連付けられたイベント処理部190をアクティブ化する。イベント処理部190は、アプリケーション内部状態192を更新するために、更新部176又はオブジェクト更新部177を、任意選択的に利用又は呼び出す。いくつかの実施形態では、イベント処理部190は、アプリケーションにより表示されるものを更新するために、対応するGUI更新部178にアクセスする。同様に、当業者にとって、他のプロセスが、図1A~図1Bに示す構成要素に基づいて、どのように実施され得るかは明らかであろう。
図22A~図22Fは、キャプチャされた画像を使用して、曖昧な音声コマンドを曖昧性除去する例示的なインタフェース及びプロセスを示す。図23A~図23Bは、いくつかの実施形態による、キャプチャされた画像を使用して、曖昧な音声コマンドを曖昧性除去する方法を示すフロー図である。図22A~図22Fのユーザインタフェース及びシーンは、図23A~図23Bのプロセスを含む後述するプロセスを示す。
図22Aは、いくつかの例では前述のデバイス100、デバイス300、デバイス500、デバイス1500の特定のフォームファクタである、デバイス2200を示す。デバイス2200は、いくつかの実施形態ではタッチ感知ディスプレイである、ディスプレイ2201と、カメラ2202(いくつかの実施形態では、図15Aのカメラ1502)とを含む。加えて、デバイス2200のいくつかの実施形態では、カメラ2202と共に、追加のセンサ及び/又は他の構成要素(例えば、フラッシュ若しくはIRエミッタ)が存在する。
図22Aにおいて、デバイス2200は、ディスプレイ2201上に写真閲覧インタフェース2203を表示する。写真閲覧インタフェース2203は、現在選択されているアルバム内にある写真に対応するサムネイル2205~2216を含む。写真閲覧インタフェース2203は、選択ボタン2204を含む。選択ボタン2204を選択するユーザ入力を受信することに応答して、写真閲覧インタフェース2203は、タッチ感知面2201上のタッチ入力を介して1つ以上のサムネイルを選択すること、及び選択されたサムネイルに対応する写真を削除又は共有することなどの、様々な動作を実行するためのアフォーダンスを含むように更新される。
手動で選択された(例えば、図22Aの選択ボタン2204を選択後)写真に対応する写真に対して削除する、共有する、又は他の動作を実行する代替として、図22Bは、写真の削除を要求する音声コマンド2224を提供するユーザ2222を示す。しかしながら、音声コマンド2224(「ヘイSiri、写真を削除して。」)は、デバイス2200のディスプレイ上に表示された複数の写真が存在する場合には、どの写真を削除すべきかについての十分な情報を提供しない。図22Bでは、デバイス2200は、デバイス2200のディスプレイ上のどのアイテムをユーザ2222が見ているか(例えば、ユーザ2222が見ている方向2226で示されるアイテム)に基づいて、カメラ2202を使用してキャプチャされた画像データを使用して、どのアイテム(例えば、写真)をユーザ2222(カメラ2202の視野2220内に現れる)が参照しているかを判定する。
デバイス2200が、ユーザ2222が(例えば、任意選択的に深度データを含む、キャプチャされた画像データに基づいて)見ていた特定のアイテムを判定した場合、デバイス2200は、特定のアイテムに関連付けられたコンテンツ上で受信された音声コマンド(例えば、音声コマンド2224)内で指定された機能を実行しようと試みる。例えば、音声コマンド2224の場合、指定された機能は削除される。デバイス2200が、ユーザ2222がユーザ2222のキャプチャされた画像データに基づいて、サムネイル2205を見ていた場合、デバイス2200は、図22Dに示すように、サムネイル2205に関連付けられた写真を削除し、写真閲覧インタフェースを更新する。任意選択的に、図22Cに示すように、音声コマンドからアクションを実行する前に、デバイス2200は、ユーザ2222が音声コマンド2224を提供しているときに見ていたアイテムとして、サムネイル2205を識別する視覚指標2228を含むように、写真閲覧インタフェース2203を更新する。確認プロンプト2230はまた、ユーザに尋ねるように表示されて、識別されたコンテンツ上でアクションを実行すべきであることを確認する。いくつかの実施形態では、デバイスが画像データに基づいて対象アイテムを識別すると、確認プロンプトを提供せずに動作(例えば、削除)が実行される。削除ボタン2232を選択する入力が受信された場合、識別されたコンテンツは削除され、写真閲覧インタフェース2203は、図22Dに示すように更新される。図22Dは、サムネイル2205に関連付けられた写真が、サムネイル2205をもはや表示せず、残りのサムネイルを再配列し、サムネイル2217を表示して、サムネイル2205の除去によって作成されたスペースを満たすことにより削除されたことを示す。キャンセルボタン2234を選択する入力が受信された場合、識別されたコンテンツは削除されず、写真閲覧インタフェース2203は図22Aに示すような状態に戻る。
図22Eは、音声コマンド(例えば、音声コマンド2236)を受信するデバイス2200の別の例を示す。音声コマンド2224(図22B)と同様に、音声コマンド2236(「削除します。」)は、要求された機能(「削除」)を指定するが、どのアイテムと共に又はどのアイテム上で機能を実行するかについては曖昧である。音声コマンド2236を受信すると、デバイス2200は、キャプチャされた画像データを分析して、音声コマンド2236が受信されたときにユーザ2222が見ているアイテム(例えば、方向2238がユーザ2222を見ていることを示すデバイス2200のディスプレイ上のアイテム)を判定する。デバイス2200が、ユーザ2222がユーザ2222のキャプチャされた画像データに基づいて、サムネイル2211を見ていた場合、デバイス2200は、サムネイル2211に関連付けられた写真を削除し、写真閲覧インタフェースを更新して、サムネイル2211を削除する。任意選択的に、図22Fに示すように、音声コマンドからアクションを実行する前に、デバイス2200は、ユーザ2222が音声コマンド2236を提供しているときに見ていたアイテムとして、サムネイル2211を識別する視覚指標2240を含むように、写真閲覧インタフェース2203を更新する。確認プロンプト2242はまた、ユーザに尋ねるように表示されて、識別されたコンテンツ上でアクションを実行すべきであることを確認する。削除ボタン2244を選択する入力が受信された場合、識別されたコンテンツは削除され、写真閲覧インタフェース2203は更新される(例えば、サムネイル2211に関連付けられた写真が、サムネイル2211をもはや表示せず、残りのサムネイルを再配列し、任意の追加のサムネイルを表示して、サムネイル2211の除去によって作成されたスペースを満たすことにより削除されたことを示すように更新される)。キャンセルボタン2246を選択する入力が受信された場合、識別されたコンテンツは削除されず、写真閲覧インタフェース2203は図22Dに示すような状態に戻る。
図23A~図23Bは、いくつかの実施形態による、キャプチャされた画像を使用して、曖昧な音声コマンドを曖昧性除去する方法を示すフロー図である。方法2300は、ディスプレイとカメラとを備えたデバイス(例えば、100、300、500)にて実行される。方法2300のいくつかの動作は、任意選択的に組み合わされ、いくつかの動作の順序は、任意選択的に変更され、いくつかの動作は、任意選択的に省略される。
後述するように、方法2300は、キャプチャされた画像を使用して、曖昧な音声コマンドを曖昧性除去する直感的な方法を提供する。この方法は、電子デバイスにて検出されたアラート条件に応答するユーザの認識的負担を軽減し、それによって、より効率的なヒューマン-マシンインタフェースを作り出す。バッテリ駆動のコンピューティングデバイスの場合、電子デバイスがキャプチャされた画像を使用して、曖昧な音声コマンドを曖昧性除去することを可能にすることにより、電力が節約され、バッテリ充電の時間間隔が増加する。
ディスプレイ(例えば、2201)とカメラ2202(例えば、可視光センサ、IRセンサ、飛行時間センサを有する)とマイクロフォンとを有する電子デバイス(例えば、2200)は、第1のGUI要素(例えば、2205)及び第2のGUI要素(例えば、2206)を含む複数のユーザインタフェース要素(例えば、図22Aの2205~2216及び他の要素)(例えば、アフォーダンス、アイコン、及び他のGUI要素を含む、写真、連絡先、メッセージ、アプリケーションなどのグラフィック又はテクスチャ要素)を含むユーザインタフェース(例えば、2203)(例えば、オペレーティングシステムホーム画面、写真閲覧アプリケーション、電子メールアプリケーション、ウェブブラウザアプリケーション、地図アプリケーション、又はナビゲーションアプリケーション)を表示させる。
電子デバイスは、マイクロフォンを介して機能を実行する要求に対応する口頭ユーザ入力(例えば、2224)(例えば、音声コマンド)を受信する(例えば、メッセージ又は写真を送信するため、電子メールを移動するため、メッセージに応答するため、連絡先に電話するためなど)(2304)。入力は、第1のユーザインタフェース要素(例えば、2205)又は第2のユーザインタフェース要素(例えば、2206)に対して実行され得るアクション(例えば、「この写真を削除する」、「この写真を送信する」、「そのメッセージに応答する」、「これに応答する」、「彼女に返信する」、「彼に電話する」、「それについてリマインドする」、「無視する」)を実行する要求を含む(例えば、口頭ユーザ入力は、「彼に午後6時でどう?とメッセージする」であり、第1及び第2のGUI要素は、2人の異なる男性のリモートユーザの連絡先又は彼らからのメッセージに対応するか、又は口頭ユーザ入力は、「このメッセージに『結構です』と返信する」であり、第1及び第2のGUI要素は、2つの異なるメッセージに対応する)。マイクロフォンを介して受信したユーザ入力は、デバイスが、第1のユーザインタフェース要素又は第2のGUI要素に対してアクションを実行するかどうかを判定することを可能にする情報を含まない(例えば、ユーザ入力は、機能が実行される少なくとも2つのGUI要素のどちらに関しても曖昧である(ディスプレイに表示されている2つ以上のGUI要素に適用できる代名詞又は他の単語の使用など))。
マイクロフォンを介して口頭ユーザ入力を受信したことに応答して(2306)、口頭ユーザ入力が受信されたときに対応する時点(例えば、ユーザ入力を受信する直前、ユーザ入力を受信した直後、又はユーザ入力を受信している間)でキャプチャされた画像データが、ユーザが第1のユーザインタフェース要素(例えば、2226)を見ていることを示すとの判定に従って、電子デバイスは、第1のユーザインタフェース要素(例えば、図22C)に関連付けられたデータ(例えば、写真、電話番号、電子メールアドレス、インスタントメッセージユーザ名、テキストメッセージ)を用いて要求された機能を実行する(2308)。口頭ユーザ入力が受信されたときに対応する時点でキャプチャされた画像データが、ユーザが第2のユーザインタフェース要素を見ていることを示すとの判定に従って、電子デバイスは、第2のユーザインタフェース要素に関連付けられたデータ(例えば、写真、電話番号、電子メールアドレス、テキストメッセージ)を用いて要求された機能を実行する(2310)。いくつかの実施形態では、電子デバイスは、カメラからの画像データ(例えば、可視光データ、IR光データ、深度画像データなど)をキャプチャする(2318)。
キャプチャされた画像データから要求機能の対象である要素を判定することにより、マン-マシンインタフェースは、電子デバイス上で機能を実行するために必要なユーザ入力の数及び要求されるユーザ入力の複雑さを低減することによって改善される。例えば、要求された機能のターゲットを曖昧に指定できるようにすることで、ユーザが機能ターゲットの曖昧な指定を判定する必要がないので、電子デバイスとのユーザの対話を単純化する。
いくつかの実施形態では、口頭ユーザ入力が受信されたときに対応する時点でキャプチャされた画像データが、ユーザが電子デバイスを見ていない(例えば、図15B)ことを示すとの判定に従って、電子デバイスは、ユーザに明確化を提供するように促す(例えば、プロンプト2230に似ていますが、削除する写真を選択するようユーザに尋ねる)(2312)。例えば、電子デバイスは、要求された機能が実行されるべきコンテンツに対応するグラフィックオブジェクトを(例えば、タッチジェスチャを介して)選択するようにユーザに尋ねるメッセージを表示する。これにより、音声要求が曖昧であり、使用が電子デバイスを見ていない場合であっても、電子デバイスがユーザの音声要求に応答することを可能にすることによって、デバイスの操作性を高める。これにより、ユーザ入力が曖昧である場合であっても、より幅広いユーザ入力に適切に応答する改善されたマン-マシンインタフェースを提供することによって、ユーザとのより持続的な対話を可能にする。
いくつかの実施形態では、電子デバイスは、マイクロフォンを介して機能を実行する追加の要求に対応する追加の口頭ユーザ入力を受信し(2314)、入力は、第3のインタフェース要素に対してアクションを実行する要求を含み、マイクロフォンを介して受信された追加のユーザ入力は、電子デバイスが、第3のユーザインタフェース要素に対するアクションを判定することを可能にする情報を含む(例えば、図22Aが表示されている間の「アルバムの削除」では、1つのアルバムのみを参照することができる)。電子デバイスは、追加の口頭ユーザ入力が受信されたときに対応する時点でキャプチャされた画像データのコンテンツに関係なく、追加の要求された機能を実行する(2316)。画像データのコンテンツに関係なく、追加の要求機能を実行することにより、ユーザは、ユーザのフォーカスがどこに位置するかについて心配することなく音声コマンドを提供することを可能にする。これにより、デバイスの操作性を高め、ユーザ-デバイスインタフェースを更に効率的にし(例えば、画面上の特定のオブジェクトを見なければならないことに関連付けられたユーザの認識的負担を軽減し、画像データを処理しない(又は更にキャプチャすることさえしない)ことでコンピューティングリソースの負荷を軽減することによって)、加えて、ユーザがデバイスを更に素早くかつ効率的に使用することを可能にすることによってデバイスの電力消費を削減し、バッテリ寿命を改善する。
いくつかの実施形態では、口頭ユーザ入力(例えば、図22Eの2236)は、複数のユーザインタフェース要素(例えば、図22B及び図22E)のうちのユーザインタフェース要素に対する曖昧な参照(例えば、「それ」)を含む。いくつかの実施形態では、要求は、ディスプレイ上に表示された複数のメッセージの表現がある場合、「応答を送信する」、又はディスプレイ上に表示された複数のカレンダイベント若しくはto doアイテムがある場合、「それについてリマインドする」などの第1及び第2のGUI要素の両方に適用可能なユーザインタフェース要素への参照を含む(例えば、「それ」は、図22Fのインタフェースで表されるフォト(phots)のいずれかを指し得る)。いくつかの実施形態では、要求は、実行する機能の識別を含む(例えば、要求は、「削除」、「送信」、「返信」、「移動」、「リマインド」など、及び/又は、任意選択的に、宛先、受信者、機能の実行方法、又は他の情報などの機能を更に改良する他のデータを含む)。
いくつかの実施形態では、第1のユーザインタフェース要素(例えば、図6Iの634)は第1ユーザに対応し、第2のユーザインタフェース要素(例えば、図6Iの635)は第2ユーザに対応する(2320)。いくつかの実施形態では、GUIは、メッセージングアプリケーションであり、第1及び第2のGUI要素は、第1のユーザ及び第2のユーザからの異なるメッセージを表す。実行され得る機能の例としては、識別されたメッセージに返信を送信すること、又は対応するメッセージを送信したユーザに発信することを含む。いくつかの実施形態では、第1のユーザインタフェース要素に関連付けられたデータは第1の連絡先情報に対応し、第2のユーザインタフェース要素に関連付けられたデータは第2の連絡先情報に対応する。いくつかの実施形態では、GUIは、連絡先情報インタフェースであり、第1及び第2のGUI要素は、誰の連絡先情報が電子デバイス上に記憶されている異なるユーザに対応する。識別されたGUI要素で実行され得る機能の例としては、メッセージを送信すること、又は関連付けられた連絡先情報内の情報に基づいて識別されたユーザに発信することを含む。いくつかの実施形態では、機能は通信機能(例えば、メッセージの送信、メッセージへの返信、ユーザへの発信、写真の共有など)である。
いくつかの実施形態では、第1のユーザインタフェース要素(例えば、図22Aの2205)は第1の写真に対応し、第2のユーザインタフェース要素(例えば、図22Aの2206)は第2の写真に対応する。いくつかの実施形態では、GUIは、写真アルバムアプリケーション(例えば、2203)であり、第1及び第2のGUI要素は、電子デバイス上に記憶され、ディスプレイ上に表示された異なる写真に対応する(図22A)。実行可能な機能の例としては、削除、移動、共有、送信、編集などが挙げられる。いくつかの実施形態では、機能は、データを削除する機能である。
図23A~図23Bにおける動作について記載された特定の順序は単なる例示あり、記載された順序は、動作を実行することができる唯一の順序であることを示すことを意図するものではないことを理解されたい。当業者であれば、本明細書に記載される動作を再順序付けるための様々な方法を認識するであろう。加えて、本明細書に記載される他の方法(例えば、方法700、1000、1300、1700、1900、2100、2500、2700)に関して本明細書に記載される他の処理の詳細はまた、図23A~図23Bに関して上記した方法2300にも、類似の様式で適用可能であることに留意されたい。例えば、方法2300を参照して上述したユーザが見ているかどうかの判定は任意選択的に、本明細書に記載される他の方法(例えば、方法1700、1900)を参照して、本明細書に記載される認可されたユーザがデバイスを見ているかどうかを判定するためのキャプチャされた画像データの分析の特性のうちの1つ以上を有する。簡潔にするために、それらの詳細はここでは繰り返さない。
上述した情報処理方法での演算は、汎用プロセッサ(例えば、図1A、3、5Aに関して説明したように)又は特定用途向けチップなどの情報処理装置内の1つ以上の機能モジュールを実行させることによって、任意選択的に実行される。更に、図23A~23Bを参照して上述した演算は、図1A~図1Bに示す構成要素によって、任意選択的に実行される。例えば、アラート条件の発生を検出することは、イベントソータ170、イベント認識部180、及びイベント処理部190によって、任意選択的に実行される。イベントソータ170内のイベントモニタ171は、タッチ感知面604上の接触を検出し、イベントディスパッチャモジュール174は、イベント情報をアプリケーション136ー1に伝送する。アプリケーション136ー1のそれぞれのイベント認識部180は、イベント情報をそれぞれのイベント定義186と比較し、タッチ感知面上の第1の位置での第1の接触が、ユーザインタフェース上のオブジェクトの選択などの所定のイベント又はサブイベントに対応するか否かを判定する。対応する既定のイベント又はサブイベントが検出されると、イベント認識部180は、そのイベント又はサブイベントの検出に関連付けられたイベント処理部190をアクティブ化する。イベント処理部190は、アプリケーション内部状態192を更新するために、更新部176又はオブジェクト更新部177を、任意選択的に利用又は呼び出す。いくつかの実施形態では、イベント処理部190は、アプリケーションにより表示されるものを更新するために、対応するGUI更新部178にアクセスする。同様に、当業者にとって、他のプロセスが、図1A~図1Bに示す構成要素に基づいて、どのように実施され得るかは明らかであろう。
図24A~図24Hは、高ダイナミックレンジ(HDR)画像を生成する例示的なユーザインタフェース及びキャプチャされた画像データを示す。図25A~図25Bは、いくつかの実施形態による、HDR画像を生成する方法を示すフロー図である。図24A~図24Hのユーザインタフェースは、図25A~図25Bのプロセスを含む後述するプロセスを示す。
図24Aは、いくつかの例では前述のデバイス100、デバイス300、デバイス500、デバイス1500の特定のフォームファクタである、デバイス2400を示す。デバイス2400は、タッチ感知ディスプレイであるディスプレイ2401と、カメラ(例えば、図24Bに示すデバイス2400の背面上のカメラ2402)とを含む。いくつかの実施形態では、カメラ2402は、カメラ1502と同じ種類のカメラである(図15A)。加えて、デバイス2400のいくつかの実施形態では、カメラ2402と共に、追加のセンサ及び/又は他の構成要素(例えば、フラッシュ若しくはIRエミッタ)が存在する。
図24Aでは、デバイス2400は、タッチ感知ディスプレイ2401上にカメラアプリケーションインタフェース2403を表示する。カメラアプリケーションインタフェース2403は、カメラ2402の視野内にあるシーンを反映するプレビュー領域2404を含む(図24B)。シーンは、人2406、木2408、山2410、及び太陽2412を含む。焦点インジケータ2414は、シーンカメラ2402が現在焦点を当てられている場所を示す。図24Aでは、焦点インジケータ2414は、カメラ2402が現在人2406に焦点を当てられていることを示す。図24Aのシーンの場合、太陽2412は、山2410が明るく照らされるような位置にあり、また、太陽2412は、人2406及び木2408の背後にあり、両方がシーン内でそれら自体の影内にある。カメラ2402の焦点が人2406上にあるため、カメラ2402の露出設定もまた人2406に設定される。これらの露出設定は、人2406及び木2408(それら自体の影内にある)に対して良好に機能するが、これらの露出設定により、山2410(並びに場合によっては、雲及び/又は太陽)が露出し過ぎる(例えば、色あせるか又はフェードする)。これは、図24Aでは山、雲、及び太陽の点線によって表される。カメラアプリケーションインタフェース2403はまた、図24Dに対して説明したHDRボタン2416と、カメラ2402にカメラ2402の視野内のシーンを表す画像データをキャプチャさせるシャッターボタン2418とを含む。
接触2420の形態でのジェスチャ入力の受信に応答して、デバイス2400は、図24Cに示すように、接触2402の位置に対応するようにカメラ2402の焦点を変更する。図24Cでは、焦点インジケータ2414の位置が移動して、カメラ2402(図24B)の焦点が現在山2410にあることを示す。加えて、露出設定は、これらが適切に露出されるように、山2410に基づいて現在設定されるが、人2406及び木2408は露出不足である(例えば、暗い)。これは、図24Dで人2406及び木2408の太い線によって表される。
HDRボタン2416上の接触2422の形態でのジェスチャ入力の受信に応答して、カメラアプリケーションは、シーンの異なる部分が異なるカメラ設定(例えば、露出設定)でキャプチャされるように、図24Dに示すHDRモードに切り替わり、これにより、より多くのシーンがシーンのそれぞれの部分に適したカメラ設定でキャプチャされる。図24Dでは、カメラアプリケーションインタフェース2403は、カメラアプリケーションがHDRモードであることを示すためのHDRインジケータ2424の表示を含む。シーンの異なる部分は、シーンのそれぞれの部分における照明条件に合わせて調整された異なるカメラ設定でキャプチャされるため、シーンの画像データのうちのより多くは、適切なカメラ設定でキャプチャされる。例えば、図24Dのシーンでは、人2406、木2408、及び山2410は全て、正確な露出設定を有するように見える。
シャッターボタン2418上の接触2426の形態でのジェスチャ入力の受信に応答して、デバイス2400は、カメラ2402(図24B)を使用して、カメラ2402の視野内のシーンについて画像データをキャプチャする。HDR画像を作成するために、デバイス2400は、カメラ2402(図24B)から少なくとも2回画像データをキャプチャする。第1の画像データは、シーンの第1の領域の分析に基づくカメラ設定の第1のセットを用いてカメラ2402からキャプチャされる。第2の画像データは、シーンの第1の領域とは異なる第2の領域の分析に基づくカメラ設定の第2のセットを用いてカメラ2402からキャプチャされる。いくつかの場合には、第1の領域は、第2の領域の逆であり、第1の領域及び第2の領域は重ならないが、また互いに逆ではなく、又は第1の領域及び第2の領域は重なるが、完全には重ならない。いくつかの実施形態では、第1の領域は、カメラからの距離の範囲内にあるシーン内の領域を表し、第2の領域は、カメラからの距離の異なる範囲内にあるシーン内の領域を表す。カメラからシーン内の様々な点までの距離は、シーンの深度データに基づいて判定され得る。深度データは、カメラ2402内又は外の1つ以上のセンサ(例えば、飛行時間センサ又はスペックルベースのセンサ)から判定され得る。別法として、シーンの深度データは、視差(例えば、2つ以上のカメラ又は1つのカメラ内に2つ以上の画像センサを使用して)又は焦点距離測定などの他の技術に基づくことができる。
図24Eは、シーンの異なる領域の設定を判定するために使用される例示的な第1の領域及び例示的な第2の領域を示す。図24Eでは、キャプチャされた画像データ2428は、キャプチャ画像データ2428にもある関連付けられた可視光データ(図24Eに示す)の深度データ(図示せず)を含む。深度データは、キャプチャされた画像データ(及びシーン)を2つの領域に分割するために使用される。領域2430は、木までの距離よりも長い距離(例えば、領域2430内の距離の範囲は、木までの距離よりも長い距離の範囲である)にあるシーンの部分を表示する。領域2432は、木までの距離以下の距離(例えば、領域2432内の距離の範囲は、木までの距離以下の距離の範囲である)にあるシーンの部分を表示する。次いで、デバイス2400は、キャプチャされた画像データ2428を分析して、第1の領域2430及び第2の領域2432のカメラ設定を判定する。カメラ設定は、露出、ホワイトバランス、ISO、開口などの任意の1つ以上のカメラ設定を含むことができる。第1のカメラ設定は、少なくとも1つのカメラ設定が2つの間で異なる(例えば、露光が異なる)という点で、第2のカメラ設定とは異なる。
第1及び第2のカメラ設定が判定されると、デバイス2400は、第1のカメラ設定及び第2のカメラ設定をそれぞれ使用して、カメラ2402から第1の画像データ及び第2の画像データをキャプチャする。例えば、図24Fでは、キャプチャされた画像データ2434は、山及び太陽に最も適切なカメラ設定(例えば、図24Eの領域2430に基づくカメラ設定)を使用してキャプチャされ、キャプチャされた画像データ2434内の太い線によって示されるように、人及び木を露出不足のままにする。引き続き図24Fを参照すると、キャプチャされた画像データ2436は、人及び木に最も適切なカメラ設定(例えば、図24Eの領域2432に基づくカメラ設定)を使用してキャプチャされ、キャプチャされた画像データ2436内の破線によって示されるように、山及び木を過度に露出したままにする。
デバイス2400がキャプチャされた画像データ2434及びキャプチャされた画像データ2436を取得すると、デバイス2400は、画像データを組み合わせてHDR画像を生成する。例えば、領域2430(図24E)に対応するキャプチャ画像データ2434(図24F)の部分と、領域2440(図24E)に対応するキャプチャ画像データ2436(図24F)の部分とは、一緒に組み合わされ(例えば、スティッチされ)、任意選択的に後処理されて、デバイス2400が後の閲覧又は共有のために記憶するHDR画像を生成する。別の例として、デバイス2400は、標準、ディゾルブ、又は乗算及び画面ブレンドモードなどのブレンドモードを用いて画像データをブレンドすることによって、キャプチャされた画像データ2434及びキャプチャされた画像データ2436を組み合わせる。
デバイス2400がキャプチャされた画像データ2434及びキャプチャされた画像データ2436を組み合わせて、HDR画像を生成した後(又は間)、デバイス2400は、図24Dに関して再度説明したように、図24Gに示すように、カメラアプリケーションインタフェース2403を表示する。写真閲覧ボタン2438(最近キャプチャされた写真のサムネイルであり得る)上の接触2440の形態でのジェスチャ入力の受信に応答して、デバイス2400は、図24Hに示すように、カメラアプリケーションインタフェース2403の表示を、HDR画像2444を表示する写真閲覧インタフェース2442で置き換える。
図25A~図25Bは、いくつかの実施形態による、HDR画像を生成する方法を示すフロー図である。方法2500は、ディスプレイとカメラとを備えたデバイス(例えば、100、300、500)にて実行される。方法2500のいくつかの動作は、任意選択的に組み合わされ、いくつかの動作の順序は、任意選択的に変更され、いくつかの動作は、任意選択的に省略される。
後述するように、方法2500は、HDR画像を生成する直感的方法を提供する。この方法は、HDR画像を生成する際のユーザの認識的負担を軽減し、それによって、より効率的なヒューマンマシンインタフェースを作り出す。バッテリ動作式のコンピューティングデバイスの場合には、電子デバイスがHDR画像を生成することを可能にすることにより、電力が節約され、バッテリ充電の間隔が長くなる。
電子デバイス(例えば、2400)は、ディスプレイと、1つ以上の画像センサ(例えば、可視光センサ、可視スペクトルの外側の光センサ(赤外線光センサなど)、及び/又は非光センサ(飛行時間センサ又は他の深度センサなど)を含むカメラ(例えば、2402)とを有する。シーン(例えば、2404)がカメラの視野内にある間に、電子デバイスは、カメラで画像データをキャプチャする要求(例えば、タッチ感知ディスプレイ上に表示された物理ボタンのアクティブ化又はアフォーダンスの選択)を受信する(2502)。
画像データをキャプチャする要求に応答して、電子デバイスは、シーンに対応する画像データ(例えば、可視光データ、非可視光データ(IRデータなど)、及び/又は深度データ(飛行時間データなど))をキャプチャする(2504)。画像データをキャプチャすることは、電子デバイスが、画像センサから第1の距離である第1の深度領域(例えば、例えば深度情報により判定されたような1つ以上の画像センサからの距離の範囲)に対応すると判定されたシーン(例えば、第1の部分が最適化されているが、別の部分は最適化されていない露出レベルが選択される)の第1の部分(例えば、2430)の外観に基づいて選択された第1の画像キャプチャ設定(例えば、露出レベル、露出時間、ISO、開口寸法、焦点距離などのカメラの1つ以上の設定)を用いて第1の画像データ(例えば、2434)をキャプチャすることを含む(2506)。電子デバイスは、第1の画像キャプチャ設定とは異なる第2の画像キャプチャ設定(例えば、第1の画像キャプチャ設定に対応する画像キャプチャ設定のセットと異なる少なくとも1つの設定を有する画像キャプチャ設定のセット又は第1の画像キャプチャ設定に対応する画像キャプチャ設定のセットと完全に異なる画像キャプチャ設定のセット)を用いて(例えば、第1の画像データと同一又は異なる種類の)第2の画像データ(例えば、2436)をキャプチャする(2508)。第2の画像キャプチャ設定は、カメラから第2の距離である第2の深度領域に対応すると判定されたシーンの第2の部分(例えば、2432)の外観に基づいて選択される。シーンに対応する画像データをキャプチャした後、電子デバイスは、ディスプレイ上にシーンの画像(例えば、2444)を表示させ、シーンの画像は、第1の画像データと第2の画像データとを組み合わせることによって生成される(例えば、第1の画像データはクロップされ、それにより、クロップされた第1の画像データがシーンの第1の部分に対応する第1の画像データを表し、クロップされた第1の画像データが第2の画像データに重なり、任意選択的にブレンドされる)。第1の画像データに使用される設定とは異なる設定で第2の画像データをキャプチャすることにより、ユーザがシーンのより大きい部分に適合された好適な設定を使用して画像データをキャプチャすることを可能にする。これにより、デバイスの操作性を高め、ユーザ-デバイスインタフェースを更に効率的にし(例えば、ユーザが適切なカメラ設定でキャプチャされた画像のより大きな部分を有する画像を作成することを可能にし、複数の画像を撮影し、それらを後で組み合わせる必要性を防止することによって)、加えて、ユーザがデバイスを更に素早くかつ効率的に使用することを可能にすることによってデバイスの電力消費を削減し、バッテリ寿命を改善する。
いくつかの実施形態では、電子デバイスは、少なくとも画像データをキャプチャする要求が受信される時間に対応する時点でライブプレビュー(例えば、図24D)を表示させる(2514)。いくつかの実施形態では、ライブ画像データはカメラからキャプチャされ、ディスプレイ上に表示される。
いくつかの実施形態では、画像データをキャプチャする要求は、シャッターボタン(例えば、2418)(例えば、仮想シャッターボタン又はシャッターボタンとして機能する物理ボタン)の選択である(2510)。いくつかの実施形態では、カメラアプリケーションが表示されており、仮想シャッターボタン用の表示されたアフォーダンスを含むカメラアプリケーションが表示されている。アフォーダンス(例えば、仮想シャッターボタン上でのタップジェスチャ)の選択に応答して、第1及び第2の画像データがキャプチャされる。
いくつかの実施形態では、第1の画像データ及び第2の画像データはそれぞれ、シーンの第1及び第2の部分の両方に対応する画像データを含み、シーンの第1の部分に対応するシーンの画像の一部分は、第1の画像データからのデータの割合をより多く含み、及び/又はシーンの第2の部分に対応するシーンの画像の一部分は、第2の画像データからのデータの割合をより多く含む(2512)。いくつかの実施形態では、合成画像シーンでは、第1の画像データからの第1の領域は、第1の部分内の第2の画像データよりも高い第1の画像データを重み付けするブレンド機能を使用することによって、第2の画像データ内の対応領域よりも強調される。いくつかの実施形態では、合成画像シーンでは、第2の画像データからの第2の領域は、第2の部分内の第1の画像データよりも高い第2の画像データを重み付けするブレンド機能を使用することによって、第1の画像データ内の対応領域よりも強調される。
いくつかの実施形態では、電子デバイスは、視差計算からの距離情報に基づいて、第1の深度領域を判定する(2518)。いくつかの実施形態では、カメラは、2つ以上の画像センサを使用して、画像データをキャプチャし、2つ以上の画像センサの間の視差を使用して、深度データを生成する。いくつかの実施形態では、電子デバイスは、深度センサからの距離情報に基づいて、第1の深度領域を判定する(例えば、カメラはスペックルベースのセンサ又は飛行時間センサを含む)。いくつかの実施形態では、第1の深度領域は、第1の距離値の範囲(例えば、カメラから5m未満、又は1m~1.5m)に対応する。いくつかの実施形態では、第2の深度領域は、第1の距離値の範囲とは異なる第2の距離値の範囲に対応する。(例えば、カメラから5m超、又は6m~10m)。いくつかの実施形態では、第1の深度領域及び第2の深度領域は、互いに排他的である(例えば、図24E)(例えば、第1の深度領域はシーンの下半分であり、第2の深度領域は上部3番目(upper third)である)。
いくつかの実施形態では、第1の画像キャプチャ設定は、露出レベル、開口寸法、ISOレベル、及び焦点距離からなる群から選択される設定(又は画像データがどのようにキャプチャされるかに影響を及ぼす他の設定)を含む(2520)。いくつかの実施形態では、第2の画像キャプチャ設定は、第1の画像キャプチャ設定における対応する設定とは異なる露出、開口寸法、ISOレベル、又は焦点距離のうちの少なくとも1つの設定(又は画像データがどのようにキャプチャされるかに影響を及ぼす他の設定)を含む(2522)。
いくつかの実施形態では、第1の画像キャプチャ設定は、第1の画像データをキャプチャする前にキャプチャされた第3の画像データ(例えば、2428)に基づく(2524)。いくつかの実施形態では、第3の画像データは、第1の画像データ及び第2の画像データの前にキャプチャされる。次いで、第3の画像データを分析して、第1及び第2の領域及び対応する画像キャプチャ設定を決定する。いくつかの実施形態では、第3の画像データは、上記のライブプレビュー画像データである。いくつかの実施形態では、第1の画像キャプチャ設定は、第1の深度領域に対応する第3の画像データ内の画像データに基づき(例えば、第3の画像データ内の第1の深度領域に対応する領域を分析して、第1の画像キャプチャ設定に対して最適な画像キャプチャ設定を判定する)、第2の画像キャプチャ設定は、第2の深度領域に対応する第3の画像データの領域内の画像データに基づく(例えば、第3の画像データ内の第2の深度領域に対応する領域を分析して、第2の画像キャプチャ設定に対して最適な画像キャプチャ設定を判定する)。いくつかの実施形態では、第1の画像データ、第2の画像データ、及びシーンの画像は、同じ解像度を有する(例えば、第1の画像データ、第2の画像データ、シーンの画像は、同一の水平寸法及び垂直寸法に配置された同じ数のピクセルを有する)。第3の画像データを使用して、第1の画像データ及び第2の画像データをキャプチャするために使用する設定を判定することにより、デバイスは、シーン自体を表すデータを使用して、シーンの2つ以上の部分についての適切なカメラ設定を判定することができる。これにより、デバイスの操作性を高め(キャプチャされた画像データを使用して、2セットのカメラ設定を判定することにより、画像データの追加の分析を回避する)、更に、ユーザがデバイスをより素早くかつ効率的に使用することを可能にすることでデバイスの電力使用量を削減し、電池寿命を改善する。
図25A~図25Bにおける動作について記載された特定の順序は単なる例示あり、記載された順序は、動作を実行することができる唯一の順序であることを示すことを意図するものではないことを理解されたい。当業者であれば、本明細書に記載される動作を再順序付けるための様々な方法を認識するであろう。加えて、本明細書に記載される他の方法(例えば、方法700、1000、1300、1700、1900、2100、2300、2700)に関して本明細書に記載される他の処理の詳細はまた、図25A~図25Bに関して上記した方法2500にも、類似の様式で適用可能であることに留意されたい。例えば、方法2500を参照して上述した画像データのキャプチャは任意選択的に、本明細書に記載される他の方法(例えば、方法2700)を参照して、本明細書に記載される画像データのキャプチャの特性のうちの1つ以上を有する。簡潔にするために、それらの詳細はここでは繰り返さない。
上述した情報処理方法での演算は、汎用プロセッサ(例えば、図1A、図3、図5Aに関して説明したように)又は特定用途向けチップなどの情報処理装置内の1つ以上の機能モジュールを実行させることによって、任意選択的に実行される。更に、図25A~図25Bを参照して上述した演算は、図1A~図1Bで示した構成要素によって、任意選択的に実行される。例えば、カメラで画像データをキャプチャする要求を受信することは、イベントソータ170、イベント認識部180、及びイベント処理部190によって、任意選択的に実行される。イベントソータ170内のイベントモニタ171は、タッチ感知面604上の接触を検出し、イベントディスパッチャモジュール174は、イベント情報をアプリケーション136ー1に伝送する。アプリケーション136ー1のそれぞれのイベント認識部180は、イベント情報をそれぞれのイベント定義186と比較し、タッチ感知面上の第1の位置での第1の接触が、ユーザインタフェース上のオブジェクトの選択などの所定のイベント又はサブイベントに対応するか否かを判定する。対応する既定のイベント又はサブイベントが検出されると、イベント認識部180は、そのイベント又はサブイベントの検出に関連付けられたイベント処理部190をアクティブ化する。イベント処理部190は、アプリケーション内部状態192を更新するために、更新部176又はオブジェクト更新部177を、任意選択的に利用又は呼び出す。いくつかの実施形態では、イベント処理部190は、アプリケーションにより表示されるものを更新するために、対応するGUI更新部178にアクセスする。同様に、当業者には、図1A~図1Bに示した構成要素に基づいて他の処理がどのように実施され得るかは明らかであろう。
図26A~図26Kは、深度データに基づいてコンポジット画像を生成する例示的なユーザインタフェース、シーン、及びキャプチャされた画像データを示す。図27A~図27Bは、深度データに基づいてコンポジット画像を生成する方法を示すフロー図である。図26A~図26Kのユーザインタフェース、シーン、及びキャプチャされた画像データは、図27A~図27Bのプロセスを含む後述するプロセスを示す。
図26Aは、いくつかの例では前述のデバイス100、デバイス300、デバイス500、デバイス1500の特定のフォームファクタである、ユーザ保持デバイス2600を示す。デバイス2600は、タッチ感知ディスプレイであるディスプレイ2601と、デバイス2600の前面に面するカメラ2601と、図26Cに示すデバイス2600の背面上のカメラ2604とを含む。加えて、デバイス2600のいくつかの実施形態では、カメラ2602及びカメラ2604と共に、追加のセンサ及び/又は他の構成要素(例えば、フラッシュ若しくはIRエミッタ)が存在する。カメラ2602は、デバイス2600の前面のシーンを包含する視野2603を有する。カメラ2604は、デバイス2600の後面のシーン2606を包含する視野2605を有する。いくつかの実施形態では、カメラ2602及びカメラ2604は、図15Aのカメラ1502と同じ種類のカメラである。
図26Bは、デバイス2600が、タッチ感知ディスプレイ2601上にカメラアプリケーションインタフェース2607を表示することを示す。カメラアプリケーションインタフェース2607は、カメラ2604の視野2605内のシーン2606を表す画像データ2608の表示を含む(図26C)。カメラアプリケーションインタフェース2607はまた、シャッターボタン2614及びコンポジットモードボタン2610を含む。コンポジットモードボタン2610上の接触2612の形態でのジェスチャ入力の受信に応答して、カメラアプリケーションは、図26D又は図26Eに示すように、コンポジットモードに入る。
図26Cは、カメラ2604を含むデバイス2600の背面を示す。カメラ2604は、図26Aに示すように、デバイス2600の後面のシーンを包含する視野2605を有する。
図26Dは、カメラアプリケーションがコンポジットモードに入った後のカメラアプリケーションインタフェース2607を示す。カメラ2604からの画像データ2608に加えて、カメラアプリケーションインタフェース2607はまた、現在、カメラ2602からキャプチャされた画像データ2616を含む。画像データ2616は、デバイス2600を保持しているデバイス2600のユーザを示す(図26Aを参照)。
図26Eは、カメラアプリケーションがコンポジットモードに入った後のカメラアプリケーションインタフェース2607の代替的実施形態を示す。図26Dとは対照的に、図26Eでは、カメラアプリケーションインタフェース2607は、画像データ2608と画像データ2616の画像データ部分2617とを表示することによって、画像データ2608と画像データ2616とのコンポジットのプレビューを提供する。
カメラアプリケーションインタフェース2607内のプレビューは、任意選択的に、デバイス2600が移動されると更新する「ライブ」プレビューである。例えば、図26Fでは、デバイス2600は、図26Eと比較して傾斜している。それに応じて、カメラアプリケーションインタフェース2600内のプレビューは、カメラの視野内にある新しいシーンを反映するように更新される。
図26Eに存在するものと同じ傾斜に戻った後のデバイス2600を示す図26Gでは、デバイス2600は、シャッターボタン2614上の接触2618の形態のジェスチャ入力を受信する。それに応じて、デバイス2600はカメラ2602及びカメラ2604から画像データをキャプチャする。
図26Hは、背面カメラ2604からキャプチャされた画像データ2620を示す。画像データ2620は、カメラ2604の視野2605(図26A)内のシーンのものである(図26C)。デバイス2600は、画像データ2620の深度データを使用して、カメラ2604からの距離の範囲内にあるシーンの一部分に対応する画像データ2620内の第1の領域を判定する。例えば、デバイス2600は、深度データを使用して、画像データ2620の部分2622がカメラ2604の1.5m以内であると判定する。
図26Iは、前面カメラ2602からキャプチャされた画像データ2624を示す。画像データ2624は、カメラ2602の視野2603(図26A)内のシーンのものである。画像データ2620及び2624をキャプチャした後、デバイス2600は、画像データ2620と画像データ2624とを組み合わせて、コンポジット画像を表す画像データを作成する。一実施例では、デバイス2600は、画像データ2626に示すように、画像データ2624上に画像データ2620の部分2622を重ねることによって、画像データ2620と画像データ2624とを組み合わせ、これは、デバイス2600が後に閲覧又は共有するために記憶する。別の例では、デバイス2600は、画像データ2620の一部分(例えば、深度データに基づいて判定された)を画像データ2624とブレンドする。デバイス2600は、任意選択的に、異なるブレンドモードを使用して、画像データ2620の別の異なる部分(例えば、深度データに基づいても判定された)と画像データ2624とを任意選択的にブレンドする。
デバイス2600がキャプチャされた画像データ2620の一部分及びキャプチャされた画像データ2624を組み合わせて、コンポジット画像を生成した後(又は間)、デバイス2600は、図26Jに関して説明したように、図26Eに示すように、カメラアプリケーションインタフェース2607を表示する。写真閲覧ボタン2628(最近キャプチャされた画像のサムネイルであり得る)上の接触2630(図26J)の形態でのジェスチャ入力の受信に応答して、デバイス2600は、図26Kに示すように、カメラアプリケーションインタフェース2607の表示を、コンポジット画像データ2626を表示する写真閲覧インタフェース2632で置き換える。
図27A~図27Bは、いくつかの実施形態による、深度データに基づいてコンポジット画像を生成する方法を示すフロー図である。方法2700は、ディスプレイとカメラとを備えたデバイス(例えば、100、300、500、2600)にて実行される。方法2700のいくつかの動作は、任意選択的に組み合わされ、いくつかの動作の順序は、任意選択的に変更され、いくつかの動作は、任意選択的に省略される。
後述するように、方法2700は、深度データに基づいてコンポジット画像を生成するための直感的な方法を提供する。この方法は、深度データに基づいてコンポジット画像を生成するユーザの認識的負担を低減し、それにより更に効果的なヒューマンマシンインタフェースをもたらす。バッテリ駆動のコンピューティングデバイスの場合、電子デバイスが深度データに基づいてコンポジット画像を生成することを可能にすることにより、電力が節約され、バッテリ充電の時間間隔が増加する。
電子デバイス(例えば、2600)は、電子デバイスの第1の側(例えば、前側又はディスプレイと同じ側)上に第1のカメラ(例えば、2602)(例えば、可視光センサ、可視スペクトルの外側の光センサ(赤外線光センサなど)、及び/又は非光センサ(飛行時間センサ又は他の深度センサなど)を有する前面カメラ)と、電子デバイスの第1の側と反対側の第2の側(例えば、後側又はディスプレイの反対側)上に第2のカメラ(例えば、2604)(例えば、可視光センサ、可視スペクトルの外側の光センサ(赤外線光センサなど)、及び/又は非光センサ(飛行時間センサ又は他の深度センサなど)を有する背面カメラ)と、を有する。いくつかの実施形態では、電子デバイスのディスプレイは、電子デバイスの第1の側にある(2720)。例えば、第1のカメラは、ユーザが電子デバイスのディスプレイの前面に位置するときに電子デバイスのユーザに面している。
第1のシーン(例えば、電子デバイスのユーザのシーン)が第1のカメラの視野(例えば、2603)内にあり、第1のシーンとは異なる第2のシーン(例えば、電子デバイスのユーザが表示したいシーン)が第2のカメラの視野(例えば、2605)内にある間に(2702)、電子デバイスは、第1のカメラを用いて第1のシーンの第1の画像データ(2620)をキャプチャし(2704)、第1の画像データは、深度画像データ(例えば、飛行時間情報、距離情報、第1のカメラ内の複数の画像センサの視差から導出したデータなど)及び可視光画像データ(例えば、第1のカメラ内の1つ以上の可視光センサからの)を含み、深度画像データは、第1の画像データの第1の部分(例えば、2622)が、第1のカメラからの第1の距離である第1の深度領域(例えば、深度画像データにより判定されたようなカメラからの距離の範囲)にあるシーンの第1の部分に対応し、画像データの第2の部分が、第1の距離とは異なる第1の画像センサからの第2の距離である第2の深度領域にあるシーンの第2の部分に対応することを示し、第2のカメラからの第2のシーンの第2の画像データ(例えば、2624)をキャプチャする(例えば、第1の画像データのキャプチャと同時に、又は密接に連続して、任意選択的に、単一のユーザ入力に応答して)(2706)。第1の画像データ及び第2の画像データをキャプチャした後、電子デバイスは、第2の画像データと第1の画像データの第1の部分とを組み合わせて、合成画像(例えば、2626)を作成する(例えば、クロップされた第1の画像データを第2のキャプチャされた画像データ上に重ねて、第1のクロップされた第1の画像データが第2のキャプチャされた画像データの一部であるように見えるようにする)(2708)。第1の画像データと第2の画像データとを組み合わせることにより、ユーザは、別の方法で作成することがユーザにとって困難又は不可能であろう画像を作成できる。これにより、デバイスの操作性を高め、ユーザ-デバイスインタフェースを更に効率的にし(例えば、ユーザが他の方法でキャプチャできなかった画像を作成でき、更なるユーザ対話なしで画像を作成できるようにすることによって)、加えて、ユーザがデバイスを更に素早くかつ効率的に使用することを可能にすることによってデバイスの電力消費を削減し、バッテリ寿命を改善する。
いくつかの実施形態では、第2の画像データと第1の画像データの第1の部分とを組み合わせることは、深度画像データに基づいて第1の画像データをクロッピングすること(例えば、深度画像データ内の浅い深度によって表される人に基づいて、キャプチャされた第1の画像データ内の人をクロッピングすること)を含む。いくつかの実施形態では、画像データをクロッピングすることは、第1の深度領域に基づく(例えば、第1の画像データ内のデータを分析して、深度データを判定する、又は深度画像データが第1の画像データ内に記憶されているときに第1の画像データから深度画像データを抽出する)。
いくつかの実施形態では、電子デバイスは、合成画像を作成する前に、第1の画像データの照明パラメータを修正する(2710)。例えば、例えば、太陽などの光源が、一方の側から第1の画像データを照明するが、光源は、反対側などの異なる側から第2の画像データを照明する場合、第1の画像データの第1の部分内の照明は、画像処理技術を使用して調整される。照明に対する修正は、第1の画像データの第1の部分と第2の画像データとを組み合わせる前又は後に行うことができる。いくつかの実施形態では、照明は、第1の画像データの第1の部分における輝度又は他の画像特性が、第2の画像データ内の輝度又は対応する特性に一致するか、又はは別の方法で基づくように修正される。いくつかの実施形態では、第1の画像データの照明パラメータを修正することは、第2の画像データ内で検出された光の方向に基づく。いくつかの実施形態では、第1の画像データの照明パラメータを修正することは、第2の画像データ内で検出された光の輝度に基づく。いくつかの実施形態では、第1の画像データの照明パラメータを修正することは、第1の画像データの深度画像データに基づく。第1の画像データの照明パラメータを修正することにより、2つの別個の画像から作成された画像のように見えず、単一のキャプチャの結果である画像のように見える合成画像の作成を可能にする。これにより、デバイスの操作性を高め、ユーザ-デバイスインタフェースを更に効率的にし(例えば、デバイスを操作/対話するときに最小限の対話で意図した結果を達成できるようにユーザを支援し、ユーザの誤りを削減することによって)、加えて、ユーザがデバイスを更に素早くかつ効率的に使用することを可能にすることによってデバイスの電力消費を削減し、バッテリ寿命を改善する。
いくつかの実施形態では、電子デバイスは、合成画像(例えば、2626)を電子デバイスのディスプレイ(例えば、26K)上に表示させる(例えば、第1の画像データ内のキャプチャされたユーザを第2の画像データ内のキャプチャされたシーンと共に表示する)(2712)。いくつかの実施形態では、第1の画像データをキャプチャすること、及び第2の画像データをキャプチャすることは、単一のユーザ入力(例えば、2618)に応答して発生する(例えば、両方の画像データは、同時に、又は実質的に同時にキャプチャされる)(2718)。いくつかの実施形態では、単一のユーザ入力は、第1又は第2のカメラ(例えば、図26G)からの画像データに基づいてライブプレビュー(例えば、第1の画像データ、第2の画像データ、又は第1の画像データ及び第2の画像データの一部分のコンポジットのライブプレビュー)を表示している間に受信される。いくつかの実施形態では、合成画像は、第1の画像データの第2の部分に基づくものではなく、第2の部分は、第1の部分に重ならない。
いくつかの実施形態では、合成画像の第1の部分は、第2の画像データよりも第1の画像データからのデータの割合をより多く含む(2716)。いくつかの実施形態では、合成画像の一部分は、第1の画像データからのデータを使用して、第2の画像データからのデータの割合(又は割合なし)をより少なくして主に構築又は完全に構築される。例えば、第1の画像データは、前面カメラからキャプチャされ、電子デバイスのユーザを含む画像データをキャプチャする。第2の画像データは、背面カメラからキャプチャされ、ユーザが表示したいシーンの画像データをキャプチャする。第1の画像データの深度データを使用して、前面カメラからの距離の範囲に対応する画像データを含むように第1の画像データをクロップする。クロップされた第1の画像データは、次いで、例えば、クロップされた第1の画像データを第2の画像データ上に重ね、任意選択的に、1つ以上のブレンド機能を使用することによって、第2の画像データと組み合わされる。いくつかの実施形態では、第1の画像データは、電子デバイスのユーザの画像データを含む(例えば、図26H)(2714)。第2のカメラからの別の画像キャプチャとは対照的に、第1のカメラによる1つの画像キャプチャからのデータを主に使用することにより、第1のカメラが第2のカメラよりも良好(例えば、より高感度、より高品質、より高い解像度)である高品質/解像度の画像を可能にする。加えて、2つの別個のカメラを使用することにより、異なる視野を有する画像で、単一のカメラがキャプチャできない画像データをキャプチャすることを可能にする。これにより、他の方法でキャプチャできなかった描写シーンのより良いコンポジット画像を提供することにより、デバイスの操作性を高める。
いくつかの実施形態では、第2の画像データと第1の画像データの第1の部分とを組み合わせることは、第1のブレンド設定に基づく。いくつかの実施形態では、電子デバイスは、第1のブレンド設定とは異なる第2のブレンド設定に基づいて、第2の画像データと第1の画像データの第2の部分を組み合わせる。いくつかの実施形態では、第1の画像データの第1の部分は、第1の重み付け係数又は第1のブレンドモードで第2の画像データと組み合わされる。第1の画像データの第2の部分は、第1の重み付け係数とは異なる(例えば、より小さい)第2の重み付け係数、又は異なる第2のブレンドモードに基づいて、第2の画像データと組み合わされる。シーンの異なる部分について異なるブレンド設定を使用すると同時に、シーンについて第1及び第2のキャプチャされた画像データを組み合わせることにより、シーンの異なる部分について特定のブレンド設定を選択することによって、より現実的なコンポジット画像を可能にする。これにより、より良いコンポジット画像を提供することにより、デバイスの操作性を高める。
上記は、説明を目的として、特定の実施形態を参照して記述されている。しかしながら、上記の例示的な論考は、網羅的であること、又は開示される厳密な形態に本発明を限定することを意図するものではない。上記の教示を考慮して、多くの修正及び変形が可能である。これらの実施形態は、本技術の原理、及びその実際の適用を最もよく説明するために、選択及び記載されている。それにより、他の当業者は、意図された具体的な用途に適するような様々な修正を用いて、本技術及び様々な実施形態を最も良好に利用することが可能となる。
添付図面を参照して、本開示及び例を十分に説明してきたが、様々な変更及び修正が、当業者には明らかとなるであろうことに留意されたい。そのような変更及び修正は、特許請求の範囲によって定義されるような、本開示及び例の範囲内に含まれるものとして理解されたい。
上述のように、本技術の一態様は、ユーザが求める内容又はユーザが関心を持つ可能性のある任意の他の内容に関するユーザへの配信を改善するために、種々のソースから入手可能なデータを収集及び使用することである。本開示は、いくつかの例において、この収集されたデータは、特定の人物を一意に特定する個人情報データ、又は特定の人物と通信する若しくはその所在を突き止めるために使用できる個人情報データを含み得ることを想到している。そのような個人情報データとしては、人口統計データ、位置に基づくデータ、電話番号、電子メールアドレス、自宅の住所、又は任意の他の識別情報を挙げることができる。
本開示は、本技術におけるそのような個人情報データの使用がユーザの利益になる使用であり得る点を認識するものである。例えば、よりユーザの興味を引く対象のコンテンツを配信するために、個人情報データが使用されてもよい。したがって、そのような個人情報データの使用は、配信されるコンテンツの意図的な制御を可能にする。更には、ユーザに利益をもたらす、個人情報データに関する他の使用もまた、本開示によって想到される。
本開示は、そのような個人情報データの収集、分析、開示、転送、記憶、又は他の使用目的の責任を負うエンティティが、適切に規定されたプライバシーのポリシー及び/又はプライバシーの慣行に準拠すると更に想到する。具体的には、そのようなエンティティは、個人情報データを秘密として厳重に保守するための、業界又は政府の要件を満たしているか又は上回るものとして一般に認識されている、プライバシーのポリシー及び慣行を実施し、一貫して使用するべきである。例えば、ユーザからの個人情報は、そのエンティティの合法的かつ正当な使用のために収集されるべきであり、それらの合法的使用を除いて、共用又は販売されるべきではない。更には、そのような収集は、ユーザに告知して同意を得た後にのみ実施するべきである。加えて、そのようなエンティティは、そのような個人情報データへのアクセスを保護して安全化し、その個人情報データへのアクセス権を有する他者が、それらのプライバシーのポリシー及び手順を遵守することを保証するための、あらゆる必要な措置を講じるであろう。更には、そのようなエンティティは、広く受け入れられているプライバシーのポリシー及び慣行に対する自身の遵守を証明するために、第三者による評価を自らが受けることができる。
前述のことがらにも関わらず、本開示はまた、個人情報データの使用又は個人情報データへのアクセスを、ユーザが選択的に阻止する実施形態も想到する。すなわち、本開示は、そのような個人情報データへのアクセスを防止又は阻止するように、ハードウェア要素及び/又はソフトウェア要素を提供することができると想到する。例えば、広告配信サービスの場合において、本技術は、ユーザが、サービスの登録の間、個人情報データの収集への参加の「オプトイン」又は「オプトアウト」を選択することを可能とするように構成することができる。別の実施例では、ユーザは、対象のコンテンツ配信サービスに対して位置情報を提供しないことを選択してもよい。更に別の実施例では、ユーザは、正確な位置情報を提供しないが位置のゾーン情報の転送は許可することを選択してもよい。
それゆえ、本開示は、1つ以上の様々な開示された実施形態を実施するための、個人情報データの使用を広範に網羅するものではあるが、本開示はまた、そのような個人情報データにアクセスすることを必要とせずに、それらの様々な実施形態を実施することもまた可能であることを想到している。すなわち、本技術の様々な実施形態は、そのような個人情報データの全て又は一部分が欠如することにより、実施不可能となるものではない。例えば、ユーザに関連付けられたデバイスによって要求されるコンテンツなどの非個人情報データ若しくは必要最小限の個人情報、コンテンツ配信サービスが入手可能な他の非個人情報、又は公的に入手可能な情報に基づき嗜好を推測することによって、コンテンツを選択し、ユーザへ配信することができる。