以下の説明は、例示的な方法、パラメータなどについて記載する。しかしながら、そのような説明は、本開示の範囲に対する限定として意図されるものではなく、むしろ例示的な実施形態の説明として提供されることを認識されたい。
様々なアプリケーションユーザインタフェースにアバターを表示するための効率的な方法及びインタフェースを提供する電子デバイスが必要とされている。例えば、既存のアプリケーションはアバターを表示するが、多くの場合、アバターを表示するためのプロセスは煩雑で非効率的である。更に、このようなプロセスは、アバターと他のユーザインタフェースとのシームレスな統合を提供しない。本明細書では、様々なアプリケーションユーザインタフェースにアバターを表示するための技術が開示される。そのような技術は、様々なアプリケーションユーザインタフェースでアバターを使用するユーザの認知的負担を軽減し、それによって生産性を高めることができる。更に、そのような技術は、普通なら冗長なユーザ入力に浪費されるプロセッサ及びバッテリの電力を低減することができる。
以下の図1A~図1B、図2、図3、図4A~図4B、及び図5A~図5Bは、様々なアプリケーションユーザインタフェースにアバターを表示するための例示的なデバイスの説明を提供する。図6A~図6Vは、いくつかの実施形態に係る、ステッカーアプリケーションユーザインタフェース及びアバターキーボードアプリケーションユーザインタフェースにアバターを表示するための例示的なユーザインタフェースを示す。図7は、いくつかの実施形態に係る、ステッカーアプリケーションユーザインタフェースにアバターを表示するための方法を示すフロー図である。図8は、いくつかの実施形態に係る、アバターキーボードアプリケーションユーザインタフェースにアバターを表示するための方法を示すフロー図である。図6A~図6Vのユーザインタフェースは、図7~図8のプロセスを含む、後述するプロセスを示すために使用される。図9A~図9AGは、いくつかの実施形態に係る、連絡先アプリケーションユーザインタフェースにアバターを表示するための例示的なユーザインタフェースを示す。図10は、いくつかの実施形態に係る、連絡先アプリケーションユーザインタフェースにアバターを表示するための方法を示すフロー図である。図9A~図9AGのユーザインタフェースは、図10のプロセスを含む、後述のプロセスを示すために使用される。図11A~図11ADは、いくつかの実施形態に係る、アバター編集アプリケーションユーザインタフェースにアバターを表示するための例示的なユーザインタフェースを示す。図12は、いくつかの実施形態に係る、アバター編集アプリケーションユーザインタフェースにアバターを表示するための方法を示すフロー図である。図13は、いくつかの実施形態に係る、アバター編集アプリケーションユーザインタフェースにアバターを表示するための方法を示すフロー図である。図11A~図11ADのユーザインタフェースは、図12及び図13のプロセスを含む、以下のプロセスを示すために使用される。図14A~14Eは、いくつかの実施形態に係る、仮想アバターを表示するための例示的なユーザインタフェースを示す。図15は、いくつかの実施形態に係る、仮想アバターを表示するための方法を示すフロー図である。図14A~図14Eのユーザインタフェースは、図15のプロセスを含む以下のプロセスを示すために使用される。図16A~16Xは、いくつかの実施形態に係る、連絡先情報を共有するための例示的デバイス及びユーザインタフェースを示す。図17は、いくつかの実施形態に係る、電子デバイスを使用して連絡先情報を提供するための方法を示すフロー図である。図18は、いくつかの実施形態に係る、電子デバイスを使用して連絡先情報を受信するための方法を示すフロー図である。図16A~図16Xの例示的なデバイス及びユーザインタフェースは、図17及び図18のプロセスを含む、以下のプロセスを示すために用いられる。
以下の説明では、様々な要素について説明するために、「第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)(例えば、IEEE802.11a、IEEE802.11b、IEEE802.11g、IEEE802.11n、及び/若しくはIEEE802.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、深度カメラコントローラ169、強度センサコントローラ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は、触感及び/又は触知接触に基づくユーザからの入力を受け入れるタッチ感知面、センサ、又はセンサのセットを有する。タッチスクリーン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/0015024(A1)号に記載されているマルチタッチ感知タッチパッドに類似している。しかし、タッチスクリーン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つ以上の深度カメラセンサ175もまた含む。図1Aは、I/Oサブシステム106内の深度カメラコントローラ169に結合された深度カメラセンサを示す。深度カメラセンサ175は、環境からデータを受信して、視点(例えば、深度カメラセンサ)からのシーン内の対象物(例えば、顔面)の3次元モデルを作成する。いくつかの実施形態では、撮像モジュール143(カメラモジュールとも呼ばれる)と連携して、深度カメラセンサ175は、任意選択的に、撮像モジュール143によってキャプチャされた画像の異なる部分の深度マップを決定するために使用される。いくつかの実施形態では、ユーザが他のテレビ会議参加者をタッチスクリーンディスプレイ上で見る間に、任意選択的に、深度情報を有するユーザの画像をテレビ会議のために取得し、また、深度マップデータを有する自撮り画像をキャプチャするために、デバイス100の前面に深度カメラセンサが配置されている。いくつかの実施形態では、深度カメラセンサ175は、デバイスの背面に、あるいはデバイス100の背面及び前面に配置される。いくつかの実施形態では、深度カメラセンサ175の位置は、ユーザによって(例えば、デバイスハウジング内でレンズ及びセンサを回転させることによって)変更することができ、したがって深度カメラセンサ175が、タッチスクリーンディスプレイと共に、テレビ会議にも静止画像及び/又は動画の取得にも使用される。
いくつかの実施形態では、深度マップ(例えば、深度マップ画像)は、視点(例えば、カメラ、光センサ、深度カメラセンサ)からのシーン内のオブジェクトの距離に関する情報(例えば、値)を含む。深度マップの一実施形態では、各深度ピクセルは、その対応する2次元ピクセルが配置されている、その視点のZ軸における位置を定義するものである。いくつかの実施形態では、深度マップは画素で構成されており、各画素は、値(例えば、0~255)によって定義される。例えば、値「0」は、「3次元」シーン内で最も遠い場所に配置されているピクセルを表し、値「255」は、その「3次元」シーン内で視点(例えば、カメラ、光センサ、深度カメラセンサ)の最も近くに配置されているピクセルを表す。他の実施形態では、深度マップは、シーン内のオブジェクトと視点の平面との間の距離を表す。いくつかの実施形態では、深度マップは、深度カメラから見た、対象オブジェクトの様々な特徴部の相対深度(例えば、ユーザの顔面の目、鼻、口、耳の相対深度)に関する情報を含む。いくつかの実施形態では、深度マップは、z方向での対象オブジェクトの輪郭をデバイスが決定することを可能にする、情報を含む。
デバイス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を含む。更に、いくつかの実施形態では、メモリ102(図1A)又は370(図3)は、図1A及び図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つ以上を調整するソフトウェア設定が提供される。
接触/動きモジュール130は、任意選択的に、ユーザによるジェスチャ入力を検出する。タッチ感知面上の異なるジェスチャは、異なる接触パターンを有する(例えば検出される接触の動き、タイミング、及び/又は強度が異なる)。したがって、ジェスチャは、任意選択的に、特定の接触パターンを検出することによって検出される。例えば、指タップジェスチャを検出することは、指ダウンイベントを検出し、それに続いて指ダウンイベントと同じ位置(又は実質的に同じ位置)(例えば、アイコンの位置)で指アップ(リフトオフ)イベントを検出することを含む。別の例として、タッチ感知面上で指スワイプジェスチャを検出することは、指ダウンイベントを検出し、それに続いて1つ以上の指ドラッグイベントを検出し、その後それに続いて指アップ(リフトオフ)イベントを検出することを含む。
グラフィックモジュール132は、表示されるグラフィックの視覚的な影響(例えば、輝度、透明度、彩度、コントラスト、又は他の視覚的特性)を変化させる構成要素を含む、タッチスクリーン112又は他のディスプレイ上にグラフィックをレンダリング及び表示する様々な既知のソフトウェア構成要素を含む。本明細書では、「グラフィック」という用語は、それだけに限定されるものではないが、テキスト、ウェブページ、アイコン(ソフトキーを含むユーザインタフェースオブジェクトなど)、デジタル画像、動画、アニメーションなどを含む、ユーザに表示することができる任意のオブジェクトを含む。
いくつかの実施形態では、グラフィックモジュール132は、使用されることになるグラフィックを表すデータを記憶する。各グラフィックには、任意選択的に、対応するコードが割り当てられる。グラフィックモジュール132は、アプリケーションなどから、必要に応じて、座標データ及び他のグラフィック特性データと共に、表示されることとなるグラフィックを指定する1つ以上のコードを受信し、次にディスプレイコントローラ156に出力する画面の画像データを生成する。
触覚フィードバックモジュール133は、触知出力生成器167によって使用される命令を生成するための様々なソフトウェア構成要素を含み、触知出力生成器167は、ユーザのデバイス100との対話に応じて、デバイス100上の1つ以上の位置での触知出力を生成する。
テキスト入力モジュール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(登録商標)対応アプリケーション、暗号化、デジタル著作権管理、音声認識、及び音声複製が挙げられる。
連絡先モジュール137は、タッチスクリーン112、ディスプレイコントローラ156、接触/動きモジュール130、グラフィックモジュール132、及びテキスト入力モジュール134と連携して、任意選択的に、アドレス帳又は連絡先リストを(例えば、メモリ102又はメモリ370内の連絡先モジュール137のアプリケーション内部状態192内に記憶して)管理するために使用される。連絡先モジュール137による管理には、
アドレス帳に名前を追加すること、アドレス帳から名前(単数又は複数)を削除すること、電話番号(単数又は複数)、電子メールアドレス(単数又は複数)、実際の住所(単数又は複数)、又は他の情報を名前に関連付けること、画像を名前に関連付けること、名前を分類して並べ替えること、電話番号又は電子メールアドレスを提供して、電話138、テレビ会議モジュール139、電子メール140、又はIM141による通信を開始且つ/又は促進すること、などが含まれる。
電話モジュール138は、RF回路108、オーディオ回路110、スピーカ111、マイクロフォン113、タッチスクリーン112、ディスプレイコントローラ156、接触/動きモジュール130、グラフィックモジュール132、及びテキスト入力モジュール134と連携して、任意選択的に、電話番号に対応する文字シーケンスの入力、連絡先モジュール137内の1つ以上の電話番号へのアクセス、入力された電話番号の修正、それぞれの電話番号のダイヤル、通話の実行、並びに通話終了時の接続切断及び通話停止のために使用される。前述したように、無線通信は、任意選択的に、複数の通信規格、プロトコル、及び技術のうちのいずれかを使用する。
テレビ会議モジュール139は、RF回路108、オーディオ回路110、スピーカ111、マイクロフォン113、タッチスクリーン112、ディスプレイコントローラ156、光センサ164、光センサコントローラ158、接触/動きモジュール130、グラフィックモジュール132、テキスト入力モジュール134、連絡先モジュール137、及び電話モジュール138と連携して、ユーザの指示に従ってユーザと1人以上の他の参加者との間のテレビ会議を開始、実行、及び終了するための実行可能な命令を含む。
電子メールクライアントモジュール140は、RF回路108、タッチスクリーン112、ディスプレイコントローラ156、接触/動きモジュール130、グラフィックモジュール132、及びテキスト入力モジュール134と連携して、ユーザの指示に応じて電子メールを作成、送信、受信、及び管理するための実行可能な命令を含む。画像管理モジュール144と連携して、電子メールクライアントモジュール140は、カメラモジュール143で撮影された静止画像又は動画画像を有する電子メールの作成及び送信を非常に容易にする。
インスタントメッセージングモジュール141は、RF回路108、タッチスクリーン112、ディスプレイコントローラ156、接触/動きモジュール130、グラフィックモジュール132、及びテキスト入力モジュール134と連携して、インスタントメッセージに対応する文字シーケンスの入力、以前に入力された文字の修正、(例えば、電話通信ベースのインスタントメッセージ向けのショートメッセージサービス(Short Message Service、SMS)若しくはマルチメディアメッセージサービス(Multimedia Message Service、MMS)プロトコル、又はインターネットベースのインスタントメッセージ向けのXMPP、SIMPLE、若しくはIMPSを使用する)それぞれのインスタントメッセージの送信、インスタントメッセージの受信、及び受信したインスタントメッセージの閲覧のための実行可能な命令を含む。いくつかの実施形態では、送信される及び/又は受信されるインスタントメッセージは、任意選択的に、MMS及び/又は拡張メッセージングサービス(Enhanced Messaging Service、EMS)でサポートされるようなグラフィック、写真、オーディオファイル、動画ファイル、及び/又は他の添付ファイルを含む。本明細書では、「インスタントメッセージング」とは、電話通信ベースのメッセージ(例えば、SMS又はMMSを使用して送信されるメッセージ)と、インターネットベースのメッセージ(例えば、XMPP、SIMPLE、又はIMPSを使用して送信されるメッセージ)との両方を指す。
トレーニングサポートモジュール142は、RF回路108、タッチスクリーン112、ディスプレイコントローラ156、接触/動きモジュール130、グラフィックモジュール132、テキスト入力モジュール134、GPSモジュール135、地図モジュール154、及び音楽プレーヤモジュールと連携して、トレーニング(例えば、時間、距離、及び/又はカロリー燃焼の目標を有する)を作成し、トレーニングセンサ(スポーツデバイス)と通信し、トレーニングセンサデータを受信し、トレーニングをモニタするために使用されるセンサを較正し、トレーニングのための音楽を選択及び再生し、並びに、トレーニングデータを表示、記憶、及び送信するための実行可能な命令を含む。
カメラモジュール143は、タッチスクリーン112、ディスプレイコントローラ156、光センサ164、光センサコントローラ158、接触/動きモジュール130、グラフィックモジュール132、及び画像管理モジュール144と連携して、静止画像若しくは(動画ストリームを含む)動画のキャプチャ及びメモリ102内への記憶、静止画像若しくは動画の特性の修正、又はメモリ102からの静止画像若しくは動画の削除のための実行可能な命令を含む。
画像管理モジュール144は、タッチスクリーン112、ディスプレイコントローラ156、接触/動きモジュール130、グラフィックモジュール132、テキスト入力モジュール134、及びカメラモジュール143と連携して、静止画像及び/若しくは動画の配置、修正(例えば、編集)、又はその他の操作、ラベル付け、削除、(例えば、デジタルスライドショー若しくはアルバムにおける)提示、及び記憶のための実行可能な命令を含む。
ブラウザモジュール147は、RF回路108、タッチスクリーン112、ディスプレイコントローラ156、接触/動きモジュール130、グラフィックモジュール132、及びテキスト入力モジュール134と連携して、ウェブページ又はその一部分、並びにウェブページにリンクされた添付ファイル及び他のファイルの検索、リンク、受信、及び表示を含む、ユーザの指示に従ってインターネットをブラウジングするための実行可能な命令を含む。
カレンダーモジュール148は、RF回路108、タッチスクリーン112、ディスプレイコントローラ156、接触/動きモジュール130、グラフィックモジュール132、テキスト入力モジュール134、電子メールクライアントモジュール140、及びブラウザモジュール147と連携して、ユーザの指示に従って、カレンダー及びカレンダーに関連付けられたデータ(例えば、カレンダーエントリ、to-doリストなど)を作成、表示、修正、及び記憶するための実行可能な命令を含む。
ウィジェットモジュール149は、RF回路108、タッチスクリーン112、ディスプレイコントローラ156、接触/動きモジュール130、グラフィックモジュール132、テキスト入力モジュール134、及びブラウザモジュール147と連携して、任意選択的に、ユーザによってダウンロード及び使用されるミニアプリケーション(例えば、気象ウィジェット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!ウィジェット)を含む。
ウィジェットクリエータモジュール150は、RF回路108、タッチスクリーン112、ディスプレイコントローラ156、接触/動きモジュール130、グラフィックモジュール132、テキスト入力モジュール134、及びブラウザモジュール147と連携して、任意選択的に、ウィジェットを作成する(例えば、ウェブページのユーザ指定部分をウィジェットにする)ために、ユーザによって使用される。
検索モジュール151は、タッチスクリーン112、ディスプレイコントローラ156、接触/動きモジュール130、グラフィックモジュール132、及びテキスト入力モジュール134と連携して、ユーザの指示に従って1つ以上の検索基準(例えば、1つ以上のユーザ指定検索語)と一致するメモリ102内のテキスト、音楽、サウンド、画像、動画、及び/又は他のファイルを検索するための実行可能な命令を含む。
動画及び音楽プレーヤモジュール152は、タッチスクリーン112、ディスプレイコントローラ156、接触/動きモジュール130、グラフィックモジュール132、オーディオ回路110、スピーカ111、RF回路108、及びブラウザモジュール147と連携して、MP3又はAACファイルなどの1つ以上のファイル形式で記憶された録音済みの音楽及び他のサウンドファイルをユーザがダウンロード及び再生できるようにする実行可能な命令、並びに動画を(例えば、タッチスクリーン112上又は外部ポート124を介して接続された外部のディスプレイ上に)表示、提示、又は別の方法で再生するための実行可能な命令を含む。いくつかの実施形態では、デバイス100は、任意選択的に、iPod(Apple Inc.の商標)などのMP3プレーヤの機能を含む。
メモモジュール153は、タッチスクリーン112、ディスプレイコントローラ156、接触/動きモジュール130、グラフィックモジュール132、及びテキスト入力モジュール134と連携して、ユーザの指示に従ってメモ、to-doリストなどを作成及び管理するための実行可能な命令を含む。
地図モジュール154は、RF回路108、タッチスクリーン112、ディスプレイコントローラ156、接触/動きモジュール130、グラフィックモジュール132、テキスト入力モジュール134、GPSモジュール135、及びブラウザモジュール147と連携して、任意選択的に、ユーザの指示に従って、地図及び地図に関連付けられたデータ(例えば、運転の道順、特定の場所又はその付近の店舗及び他の見どころに関するデータ、並びに他の位置ベースのデータ)を受信、表示、修正、及び記憶するために使用される。
オンラインビデオモジュール155は、タッチスクリーン112、ディスプレイコントローラ156、接触/動きモジュール130、グラフィックモジュール132、オーディオ回路110、スピーカ111、RF回路108、テキスト入力モジュール134、電子メールクライアントモジュール140、及びブラウザモジュール147と連携して、ユーザが特定のオンラインビデオへのアクセス、特定のオンラインビデオのブラウジング、(例えば、ストリーミング及び/又はダウンロードによる)受信、(例えば、タッチスクリーン上又は外部ポート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つ以上の機能及び本出願に記載した方法(例えば、本明細書に記載したコンピュータにより実装される方法及び他の情報処理方法)を実行する実行可能な命令のセットに対応する。これらのモジュール(例えば、命令セット)は、別個のソフトウェアプログラム、手順、又はモジュールとして実装される必要はなく、したがって、様々な実施形態において、これらのモジュールの様々なサブセットが、任意選択的に、組み合わされ、又は別の方法で再構成される。例えば、動画プレーヤモジュールは、任意選択的に、音楽プレーヤモジュールと組み合わされて、単一のモジュール(例えば、図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つ以上のグラフィックとの接触を中断する場合に実施される。いくつかの実施形態では、ジェスチャは、デバイス100と接触した指の、1回以上のタップ、1回以上のスワイプ(左から右へ、右から左へ、上向きに及び/若しくは下向きに)、並びに/又は、ローリング(右から左へ、左から右へ、上向きに及び/若しくは下向きに)を、任意選択的に含む。一部の実装形態又は状況では、グラフィックとの不測の接触は、そのグラフィックを選択するものではない。例えば、選択に対応するジェスチャがタップである場合、アプリケーションアイコンの上をスイープするスワイプジェスチャは、任意選択的に、対応するアプリケーションを選択するものではない。
デバイス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上に触知出力を生成する(例えば、図1Aを参照して前述した触知出力生成器167に類似している)触知出力生成器357と、センサ359(例えば、光、加速度、近接、タッチ感知、及び/又は図1Aを参照して前述した、接触強度センサ165に類似している接触強度センサ)とを含む。メモリ370は、DRAM、SRAM、DDR RAM、又は他のランダムアクセスソリッドステートメモリデバイスなどの高速ランダムアクセスメモリを含み、任意選択的に、1つ以上の磁気ディスク記憶デバイス、光ディスク記憶デバイス、フラッシュメモリデバイス、又は他の不揮発性ソリッドステート記憶デバイスなどの不揮発性メモリを含む。メモリ370は、任意選択で、CPU(単数又は複数)310からリモートに位置する1つ以上の記憶デバイスを含む。いくつかの実施形態では、メモリ370は、ポータブル多機能デバイス100(図1A)のメモリ102内に記憶されているプログラム、モジュール、及びデータ構造に類似したプログラム、モジュール、及びデータ構造、又はそのサブセットを記憶する。更に、メモリ370は、任意選択で、ポータブル多機能デバイス100のメモリ102に存在しない追加のプログラム、モジュール、及びデータ構造を記憶する。例えば、デバイス300のメモリ370は、任意選択的に、描画モジュール380、プレゼンテーションモジュール382、ワードプロセッシングモジュール384、ウェブサイト作成モジュール386、ディスクオーサリングモジュール388、及び/又はスプレッドシートモジュール390を記憶するのに対して、ポータブル多機能デバイス100(図1A)のメモリ102は、任意選択的に、これらのモジュールを記憶しない。
図3の上記で特定した要素はそれぞれ、任意選択的に、前述したメモリデバイスのうちの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、800、1000、1200、1300、1500、1700、及びプロセス1800(図7、図8、図10、図12、図13、図15、図17、及び図18)を含む後述の技術を行わせることができる。コンピュータ可読記憶媒体は、命令実行システム、装置、若しくはデバイスによって、又は命令実行システム、装置、若しくはデバイスに関連して、使用されるコンピュータ実行可能命令を、有形に含み又は記憶することができる任意の媒体であり得る。いくつかの実施例では、記憶媒体は、一時的コンピュータ可読記憶媒体である。いくつかの実施例では、記憶媒体は、非一時的コンピュータ可読記憶媒体である。非一時的コンピュータ可読記憶媒体は、それらに限定されるものではないが、磁気、光学、及び/又は半導体記憶装置を含むことができる。そのような記憶装置の例としては、磁気ディスク、CD、DVD、又はBlu-ray(登録商標)技術に基づく光学ディスク、並びにフラッシュ、ソリッドステートドライブなどの常駐ソリッドステートメモリなどが挙げられる。パーソナル電子デバイス500は、図5Bの構成要素及び構成に限定されるものではなく、他の又は追加の構成要素を複数の構成で含むことができる。
本明細書で使用される「アフォーダンス」という用語は、任意選択的に、デバイス100、300、及び/又は500(図1A、図3、及び図5A~図5B)のディスプレイスクリーンに表示されるユーザ対話グラフィックユーザインタフェースオブジェクトを指す。例えば、画像(例えば、アイコン)、ボタン、及びテキスト(例えば、ハイパーリンク)はそれぞれ、任意選択的に、アフォーダンスを構成する。
本明細書で使用される「フォーカスセレクタ」という用語は、ユーザが対話しているユーザインタフェースの現在の部分を示す入力要素を指す。カーソル又は他の位置マーカを含むいくつかの実装形態では、カーソルが「フォーカスセレクタ」として作用し、したがってカーソルが特定のユーザインタフェース要素(例えば、ボタン、ウィンドウ、スライダ、又は他のユーザインタフェース要素)の上に位置する間に、入力(例えば、押下入力)がタッチ感知面(例えば、図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の強度閾値及び第2の強度閾値を含む。この例では、第1の閾値を超えない特性強度を有する接触は第1の動作をもたらし、第1の強度閾値を上回るが第2の強度閾値を超えない特性強度を有する接触は第2の動作をもたらし、第2の閾値を超える特性強度を有する接触は第3の動作をもたらす。いくつかの実施形態では、特性強度と1つ以上の閾値との間の比較は、第1の動作を実行するべきか、それとも第2の動作を実行するべきかを判定するために使用されるのではなく、1つ以上の動作を実行するべきか否か(例えば、それぞれの動作を実行するべきか、それともそれぞれの動作を実行するのを見送るべきか)を判定するために使用される。
一部の実施形態では、特性強度を判定する目的のために、ジェスチャの一部分が特定される。例えば、タッチ感知面は、任意選択的に、開始位置から遷移して終了位置に到達し、その位置で接触の強度が増大している、連続するスワイプ接触を受信する。この例では、終了位置での接触の特性強度は、任意選択的に、スワイプ接触全体ではなく、連続するスワイプ接触の一部分のみ(例えば、スワイプ接触のうち終了位置の部分のみ)に基づいている。いくつかの実施形態では、任意選択的に、接触の特性強度を判定する前に、平滑化アルゴリズムがスワイプ接触の強度に適用される。例えば、平滑化アルゴリズムは、任意選択的に、非加重移動平均平滑化アルゴリズム、三角平滑化アルゴリズム、中央値フィルタ平滑化アルゴリズム、及び/又は指数平滑化アルゴリズムのうちの1つ以上を含む。いくつかの状況では、これらの平滑化アルゴリズムは、特性強度を判定する目的のために、スワイプ接触強度の幅の狭いスパイク又は下落を排除する。
タッチ感知面上の接触の強度は、任意選択的に、接触検出強度閾値、軽い押下強度閾値、深い押下強度閾値、及び/又は1つ以上の他の強度閾値などの1つ以上の強度閾値に対して特徴付けられる。一部の実施形態では、軽い押下強度閾値は、通常、物理マウスのボタン又はトラックパッドをクリックすることに関連付けられた動作をデバイスが実行する強度に相当する。一部の実施形態では、深い押下強度閾値は、通常、物理マウスのボタン又はトラックパッドをクリックすることに関連付けられた動作とは異なる動作をデバイスが実行する強度に相当する。いくつかの実施形態では、軽い押下強度閾値を下回る(例えば、且つそれを下回ると接触が検出されなくなる公称接触検出強度閾値を上回る)特性強度を有する接触が検出されたとき、デバイスは、タッチ感知面上の接触の移動に従い、軽い押下強度閾値又は深い押下強度閾値に関連付けられた動作を実行することなく、フォーカスセレクタを動かす。一般に、特に明記しない限り、これらの強度閾値は、ユーザインタフェースの値の様々なセットの間で一貫している。
軽い押下強度閾値を下回る強度から、軽い押下強度閾値と深い押下強度閾値との間の強度への、接触の特性強度の増大は、「軽い押下」の入力と呼ばれることがある。深い押下強度閾値を下回る強度から、深い押下強度閾値を上回る強度への、接触の特性強度の増大は、「深い押下」の入力と呼ばれることがある。接触検出強度閾値を下回る強度から、接触検出強度閾値と軽い押下強度閾値との間の強度への、接触の特性強度の増大は、タッチ面上の接触の検出と呼ばれることがある。接触検出強度閾値を上回る強度から、接触検出強度閾値を下回る強度への、接触の特性強度の減少は、タッチ面からの接触のリフトオフの検出と呼ばれることがある。いくつかの実施形態では、接触検出強度閾値はゼロである。いくつかの実施形態では、接触検出強度閾値はゼロより大きい。
本明細書に記載するいくつかの実施形態では、それぞれの押下入力を含むジェスチャを検出したことに応じて、又はそれぞれの接触(若しくは複数の接触)によって実行されたそれぞれの押下入力を検出したことに応じて、1つ以上の動作が実行され、それぞれの押下入力は、押下入力強度閾値を上回る接触(又は複数の接触)の強度の増大を検出したことに少なくとも部分的に基づいて検出される。いくつかの実施形態では、それぞれの動作は、押下入力強度閾値を上回るそれぞれの接触の強度の増大(例えば、それぞれの押下入力の「ダウンストローク」)を検出したことに応じて実行される。いくつかの実施形態では、押下入力は、押下入力強度閾値を上回るそれぞれの接触の強度の増大、及びそれに続く押下入力強度閾値を下回る接触の強度の減少を含み、それぞれの動作は、それに続く押下入力閾値を下回るそれぞれの接触の強度の減少(例えば、それぞれの押下入力の「アップストローク」)を検出したことに応じて実行される。
一部の実施形態では、デバイスは、「ジッタ」と呼ばれる場合がある偶発的な入力を回避するために強度ヒステリシスを採用し、デバイスは、押下入力強度閾値との既定の関係を有するヒステリシス強度閾値を定義又は選択する(例えば、ヒステリシス強度閾値は、押下入力強度閾値よりもX強度単位低い、又はヒステリシス強度閾値は、押下入力強度閾値の75%、90%、若しくはなんらかの妥当な割合である)。したがって、いくつかの実施形態では、押下入力は、押下入力強度閾値を上回るそれぞれの接触の強度の増大、及びそれに続く押下入力強度閾値に対応するヒステリシス強度閾値を下回る接触の強度の減少を含み、それぞれの動作は、それに続くヒステリシス強度閾値を下回るそれぞれの接触の強度の減少(例えば、それぞれの押下入力の「アップストローク」)を検出したことに応じて実行される。同様に、一部の実施形態では、押下入力は、デバイスが、ヒステリシス強度閾値以下の強度から押下入力強度閾値以上の強度への接触の強度の増大、及び任意選択的に、その後のヒステリシス強度以下の強度への接触の強度の減少を検出するときにのみ検出され、それぞれの動作は、押下入力(例えば、状況に応じて、接触の強度の増大又は接触の強度の減少)を検出したことに応じて実行される。
説明を容易にするために、押下入力強度閾値に関連付けられた押下入力、又は押下入力を含むジェスチャに応じて実行される動作の説明は、任意選択的に、押下入力強度閾値を上回る接触の強度の増大、ヒステリシス強度閾値を下回る強度から押下入力強度閾値を上回る強度への接触の強度の増大、押下入力強度閾値を下回る接触の強度の減少、及び/又は押下入力強度閾値に対応するヒステリシス強度閾値を下回る接触の強度の減少のいずれかを検出したことに応じてトリガされる。更に、押下入力強度閾値を下回る接触の強度の減少を検出したことに応じて実行されるように動作が記載される例では、動作は、任意選択的に、押下入力強度閾値に対応し、且つそれよりも低いヒステリシス強度閾値を下回る接触の強度の減少を検出したことに応じて実行される。
次に、ポータブル多機能デバイス100、デバイス300、又はデバイス500などの電子デバイス上で実施されるユーザインタフェース(「UI」)及び関連プロセスの実施形態に注意を向ける。
図6A~図6Vは、いくつかの実施形態に係る、ステッカーアプリケーションユーザインタフェース及びアバターキーボードアプリケーションユーザインタフェースにアバターを表示するための例示的なユーザインタフェースを示す。これらの図におけるユーザインタフェースは、図7及び図8におけるプロセスを含む、後述するプロセスを説明するために使用される。
図6A~図6Vは、図6Aに示す電子デバイス600などの電子デバイス上に表示することができる、1つ以上のユーザインタフェースへの例示的なユーザ入力及び対応する変更を示す。デバイス600はディスプレイ601を含み、ディスプレイ601は、場合によってはタッチ感知ディスプレイであり、カメラ602は、いくつかの実施形態では、光スペクトルの一部分(例えば、可視光、赤外光、又は紫外光)を表すデータをキャプチャすることができる画像センサを含む。いくつかの実施形態では、カメラ602は、複数の画像センサ及び/又はその他の種類のセンサを含む。いくつかの実施形態では、感知された光を表すデータをキャプチャすることに加えて、カメラ602は、深度データなどの他の種類のデータをキャプチャすることができる。例えば、いくつかの実施形態では、カメラ602は、スペックル、飛行時間、視差、又はフォーカスに基づく技術も使用して、深度データをキャプチャする。カメラ602を使用してデバイス600がキャプチャする画像データは、カメラの視野内のシーンについての光スペクトルの一部に対応するデータを含む。また、いくつかの実施形態では、キャプチャされた画像データは、光データに関する深度データも含む。いくつかの他の実施形態では、キャプチャされた画像データは、光スペクトルの一部のデータに関する深度データを決定又は生成するのに十分なデータを含む。いくつかの実施形態では、デバイス600は、デバイス100、300、又は500の1つ以上の特徴を含む。
いくつかの例では、電子デバイス600は、赤外線カメラ、サーモグラフィカメラ、又はこれらの組み合わせなどの深度カメラを含む。いくつかの実施例では、デバイスは、IRフラッド光、構造化光プロジェクタ、又はそれらの組み合わせなどの発光デバイス(例えば、光プロジェクタ)を更に含む。発光デバイスは、任意選択的に、可視光カメラ及び深度カメラ(例えば、IRカメラ)によって画像のキャプチャ中に被写体を照らすために使用され、深度カメラ及び可視光カメラからの情報は、可視光カメラによってキャプチャされた被写体の異なる部分の深度マップを判定するために使用される。いくつかの実施形態では、本明細書に記載する照明効果は、後ろ向きの画像に対する2つのカメラ(例えば、2つの可視光カメラ)からの不一致情報、及び前向きの画像(例えば、セルフィ画像)に対する可視光カメラからの画像データと組み合わせた深度カメラからの深度情報を使用して表示される。いくつかの実施形態では、2つの可視光カメラを使用して深度情報を判定するときと、深度カメラを使用して深度情報を判定するときに、同じユーザインタフェースが使用され、照明効果を生成するときに使用される情報を判定するために劇的に異なる技術を使用したときでも、一貫したエクスペリエンスをユーザに提供する。いくつかの実施形態では、照明効果のうちの1つが適用された状態でカメラユーザインタフェースを表示しながら、デバイスは、カメラ切り替えアフォーダンスの選択を検出し、前向きのカメラ(例えば、深度カメラ及び可視光カメラ)から後ろ向きのカメラ(例えば、互いから隔置された2つの可視光カメラ)へ切り替え(又は逆も同様である)、照明効果を適用するためのユーザインタフェース制御の表示を維持しながら、前向きのカメラの視野から後ろ向きのカメラの視野へ表示を置き換える(又は逆も同様である)。
図6Aでは、デバイス600は、メッセージングアプリケーションのユーザインタフェースであるメッセージングユーザインタフェース603を表示している。メッセージングユーザインタフェース603は、メッセージ会話のパーティ間で通信されるメッセージを表示するためのメッセージ領域603-1、メッセージ会話内の通信用に構成されているコンテンツを表示するためのメッセージ構成領域603-2、及び様々なキーボードインタフェースを表示するためのキーボード領域603-3を含む。図6A~6Hに示す実施形態では、メッセージは、第1の受信者607-1とのメッセージ会話に対応する。
図6Aでは、デバイス600は、アフォーダンス606上の入力604(例えば、タップジェスチャ)を検出し、それに応じて、図6Bに示されるように、キーボード領域603-3にアバターキーボード605を表示する。
アバターキーボード605は、メッセージユーザインタフェース603で通信するために選択することができる様々なグラフィックオブジェクトを含む。アバターキーボード605は、メッセージユーザインタフェース603で通信するために選択することができる絵文字609のセットを表示する絵文字領域608、ステッカー612を表示するステッカー領域610、及び選択されるとステッカーユーザインタフェース615(図6Cに示す)を表示するステッカーアプリケーションアフォーダンス614を含む。
図6Bに示されるように、ステッカー領域610は、メッセージユーザインタフェース603で通信するために選択することができるステッカー612を含む。ステッカー領域610に表示されるステッカーはそれぞれ、デバイス600で利用可能な様々なアバターに基づく外観を有する。ステッカーはまた、ステッカーの外観が基づくアバターのポーズ又は表情を含む。例えば、驚いた表情を有するサルアバターの外観を有するサルステッカー612-1が表示され、ハートの目を有するうんこアバターの外観を有するうんこステッカー612-2が表示され、中立ポーズのロボットアバターの外観を有するロボットステッカー612-3が表示される。
いくつかの実施形態では、デバイス600は、いくつかの要因に基づいて、ステッカー領域610内に様々なステッカー612を選択的に表示する。例えば、いくつかの実施形態では、デバイス600は、例えば、最近作成されたステッカー(例えば、最近作成されたアバターに対して推奨/提案されたステッカー)、及びユーザによって頻繁に又は最近使用されたステッカーなどの使用履歴に基づいて、個々のステッカーを選択的に表示する。いくつかの実施形態では、デバイス600は、様々なステッカーポーズがステッカー領域610に表されるように、異なるステッカー612を選択的に表示する。
デバイス600はまた、デバイス600で利用可能なアバターのタイプに基づいて、ステッカー領域610に様々なステッカー612を選択的に表示する。例えば、様々なタイプのアバターは、人間以外のキャラクターに基づく、人間のキャラクターに基づく、ユーザが作成した(例えば、ユーザによって作成され及び/又はカスタマイズ可能)、又は既定の(例えば、ユーザによって作成されていない又はカスタマイズできない)アバターを含むことができる。図6Bに示す実施形態では、サルステッカー612-1、うんこステッカー612-2、及びロボットステッカー612-3はそれぞれ、人間以外のキャラクターである既定のアバターに基づく外観を有する。
デバイス600は、デバイス600で利用可能なアバター用のステッカー612を表示する。したがって、デバイス600で特定のアバターが利用できない場合、ステッカー領域610はそのアバターのステッカーを含まない。例えば、図6Bでは、デバイスは、ユーザ作成アバター又は人間のキャラクターに基づくアバターを含まず、したがって、そのようなアバター用のステッカーを表示しない。以下により詳細に説明するように、このようなアバターがデバイス600で利用可能である場合、ステッカー領域610は、アバター用の1つ以上のステッカーを表示する。
ステッカー領域610はまた、ステッカーアプリケーションアフォーダンス614を含む。ステッカーアプリケーションアフォーダンス614は、様々なステッカーの表現を含む外観を有する。例えば、図6Bでは、ステッカーアプリケーションアフォーダンス614は、異なるステッカーの表現614-1を含む。デバイス600は、いくつかの要因に基づいて、ステッカーアプリケーションアフォーダンス614に様々なステッカー表現を選択的に表示する。例えば、いくつかの実施形態では、あるタイプのアバターがデバイス600で利用できない場合、デバイスは、デバイス600で利用できないタイプのアバターの例に基づいてステッカーの表現を表示する。例えば、図6Bでは、ユーザ作成タイプ又は人間ベースタイプのアバターはデバイス600で利用できず、デバイス600は、異なるユーザ作成及び人間ベースアバター用のステッカーの表現614-1を表示する。いくつかの実施形態では、新しいアバターが作成されると、デバイス600は、新たに作成されたアバターに基づくステッカーの表現を含むようにステッカーアプリケーションアフォーダンス614を更新する。いくつかの実施形態では、デバイス600は、異なるタイプのアバター用のステッカーの表現を表示する。いくつかの実施形態では、デバイス600は、様々なステッカーポーズがステッカーアプリケーションアフォーダンス614に表されるように、異なるステッカー表現を選択的に表示する。いくつかの実施形態では、ステッカーの表現は、ステッカーアプリケーションアフォーダンス614にわたって異なる表現が個別に循環する、アニメーション化されたシーケンスで表示される。
図6Bでは、デバイス600は、ステッカーアプリケーションアフォーダンス614上の入力616を検出し、それに応じて、アバターキーボード605の表示を置き換え、図6Cに示されるように、ステッカーユーザインタフェース615で構成領域603-2を構成する。
図6Cに示されるように、デバイス600は、ステッカーのセットの表現622を有する領域618と、領域618内のステッカー表現のうちの選択されたものに対応するステッカーを有するステッカー領域620とを有するステッカーユーザインタフェース615を表示する。表現622は、デバイス600で利用可能なステッカーのセットに対応する。ユーザは、異なる表現622を選択することによって(例えば、領域618内の対応する表現622に触れることによって、又はステッカー領域620上で水平にスワイプすることによって)、ステッカーの異なるセットを見ることができる。異なる表現622が選択されると、デバイス600は、選択された表現622を示すように領域618を更新し、選択された表現に対応するステッカーを表示するようにステッカー領域620を更新する。図6Cでは、第1の領域618でサル表現622-1が選択され、ステッカー領域620にサルステッカー624が表示されている。いくつかの実施形態では、笑顔、ウィンク、手を振るなどのわずかなアニメーションを有するステッカー624が示されている。サルステッカー624は、びっくりサルステッカー624-1に示されるびっくりポーズなどの様々なポーズを含む。
いくつかの実施形態では、デバイス600は、最初にステッカーユーザインタフェース615が表示されたときに領域618を表示し、その後領域618を隠す(例えば、インタフェース615のその後のインスタンスについては最初に領域618を表示しない)。ユーザは、図6Lに示されるように、ステッカー領域620上にドラッグすることによって、デバイス600に領域618を再表示させることができる。
ここで図6C~6Eを参照すると、領域618は、新しいアバターを作成するように選択することができる作成アフォーダンス626を更に含む。図示のように、領域618は、ユーザ作成タイプ又は人間ベースタイプのアバターの表現を含まず、それは、そのようなアバターがデバイス600で現在利用できないためである。したがって、デバイス600は、図6C~6Eに示す異なる表現によって示されるように、作成アフォーダンス626から延び、パドルにわたって循環するアバターの表現628-1のアニメーションを有するパドル628を表示する。このアニメーションは、ユーザ作成又は人間ベースタイプのアバターがデバイス600で利用できないというインジケーションをユーザに提供し、パドル628を選択してアバターを作成することをユーザに促す。
図6Eでは、デバイス600は作成アフォーダンス626上の入力630を検出し、それに応じて、図6Fに示されるようにアバター作成ユーザインタフェース632を表示する。デバイス600は、図6Gに示されるように、アバター作成ユーザインタフェース632内の入力634によって一般的に表される入力を検出して、様々なアバター特徴を選択し、それにより新しいアバター、ビーニー帽アバター636を構築/作成する。終了アフォーダンス640上の入力638に応じて、デバイス600は、アバター作成ユーザインタフェース632を出て、図6Hのメッセージングユーザインタフェース603に戻り、領域618で選択されたビーニー帽アバター636の表現622-2と、ビーニー帽アバター636の外観を有するが、それぞれのビーニー帽ステッカー642の各々に対して異なるポーズを有するビーニー帽ステッカー642と、を含むように更新されたステッカーユーザインタフェース615を示す。ビーニー帽ステッカー642は、図6Cに示すサルステッカーと同じステッカーポーズのうちの多くを含む。いくつかの実施形態では、ビーニー帽アバター636を作成した後、新しいアバターは、例えば、連絡先アプリケーション、カメラアプリケーション、メディア閲覧アプリケーション、及びデバイス600上の他のアプリケーションなどの他のアプリケーションを含む、デバイス600での使用に利用可能である。更に、ビーニー帽アバター636を更新することができ、他のアプリケーションに含まれるビーニー帽アバター636に対する更新が行われる。
図6Hでは、デバイス600は、ビーニー帽アバター636の外観及び「サムズアップ」ポーズを有するステッカーである、サムズアップビーニー帽ステッカー642-1上の入力644を検出する。いくつかの実施形態では、サムズアップビーニー帽ステッカー642-1の選択は、デバイス600に、メッセージ会話にステッカーを追加させる(例えば、第1の受信者607-1に送信するために)。いくつかの実施形態では、ビーニー帽ステッカー642-1上のサムズアップの選択により、デバイス600は、図6Iに示されるように、アバターキーボード605内にサムズアップビーニー帽ステッカー642-1を表示させる。
図6I~図6Vは、メッセージが第2の受信者607-2とのメッセージ会話に対応する実施形態のメッセージングユーザインタフェース603を示す。図6Iでは、デバイス600は、サルステッカー612-1の代わりにサムズアップビーニー帽ステッカー642-1を有するアバターキーボード605を表示する。更に、デバイス600は、ビーニー帽アバター636の表現614-2を含むようにステッカーアプリケーションアフォーダンス614の表示を更新する。いくつかの実施形態では、表現614-2は、最近使用されたサムズアップビーニー帽ステッカー642-1の外観を有する。いくつかの実施形態では、表現614-2は、最近作成されたビーニー帽アバター636に利用可能な他のステッカーの外観を有する。
図6Iでは、デバイス600は、サムズアップビーニー帽ステッカー642-1のサムネイル上の入力646を検出し、それに応じて、ビーニー帽ステッカープレビュー650を示すステッカープレビューインタフェースを表示する。いくつかの実施形態では、ユーザは、ビーニー帽ステッカープレビュー650上でタップアンドホールドジェスチャを実行して、ビーニー帽ステッカープレビュー650の目を見張った外観を作成することができ、その後、これをメッセージ領域603-1にドラッグして、メッセージ会話にビーニー帽ステッカーを追加することができる。いくつかの実施形態では、ユーザは、(例えば、入力654を介して)送信アフォーダンス652を選択して、図6Kに示されるように、メッセージ会話にビーニー帽ステッカー642-1を追加することができる。
図6Kでは、デバイス600は、ステッカーアプリケーションアフォーダンス614上の入力656を検出し、これに応じて、ステッカーユーザインタフェース615を表示する。いくつかの実施形態では、デバイス600は、絵文字609の表示を中止し、絵文字領域608にステッカー(例えば、ビーニー帽アバター636に対応するビーニー帽ステッカー642)を表示する。
図6Lでは、デバイス600は、ビーニー帽ステッカー642を有するステッカーユーザインタフェース615を表示する。図6Lに示す実施形態では、デバイス600は、(例えば、図6Cで)以前に表示されたステッカーユーザインタフェースを有しているため、最初に領域618を表示しない。更に、デバイス600は、すぐに明らかになるように、第2のユーザ作成アバターを作成した(例えば、図6E~6Gに関連して上述したものと同様の方法でアバター作成ユーザインタフェースにアクセスして対話するための一連の入力を受信した結果として)。ドラッグ入力658に応じて、デバイスはビーニー帽ステッカー642をスクロールし、図6Mでは、選択された状態を有するビーニー帽表現622-2と、ユーザが作成した女性アバターに基づく女性ステッカーのセットに対応する女性表現622-3とを含む表現622を有する領域618を表示する。
図6Mでは、デバイス600は、作成アフォーダンス626上の入力660を検出して、少年アバターを作成するためのプロセスを開始する。少年アバターを作成するためのプロセスは、アバターを作成するための上記のプロセスと同様であり、簡潔にするために、ここでは繰り返さない。デバイス600が少年アバターを作成した後、図6Nに示されるように、ステッカーユーザインタフェース615を表示する。図6Nは、選択された状態を有する少年表現622-4を含むように更新された領域618と、新しい少年アバターに基づくポーズのセットを含む少年ステッカー662を含むように更新されたステッカー領域620とを示す。
図6Nでは、デバイス600は、スクロール入力664を検出し、それに応じて、ステッカー領域620をスクロールして、図6Oに示されるように、追加の少年ステッカー662及び編集アフォーダンス665を表示する。
図6Oでは、デバイス600は、編集アフォーダンス665上の入力668を検出し、それに応じて、少年アバター672及び図6Pに示されるように少年アバター672の外観を変更するように選択することができる選択可能な髪型オプション674のセットを示すアバター編集ユーザインタフェース670(アバター作成ユーザインタフェース632に類似)を表示する。
図6Pでは、図6Qに示されるように、デバイス600は、アフロ髪型オプション674-1上の入力676を検出し、それに応じて、アフロ髪型を有するように少年アバター672を変更する。デバイス600は、図6Qの終了アフォーダンス680上の入力678を検出し、それに応じて、アバター編集ユーザインタフェース670を出て、図6Rに示されるように、更新されたステッカーユーザインタフェース615を有するメッセージングユーザインタフェース603を表示する。
図6Rでは、デバイス600は、アフロ髪型で更新された少年ステッカー662を示すステッカーユーザインタフェース615を表示する。デバイス600は、ハンドル684上のドラッグ入力682を検出し、それに応じて、図6Sに示されるようにステッカーユーザインタフェース615を拡張する。
図6Sは、アフロ髪型で更新された追加の少年ステッカー662を示す。デバイス600は、ドラッグ入力686(例えば、下方へのドラッグ)を検出し、それに応じて、ステッカー662をスクロールし、図6Tに示されるように、サムズアップ少年ステッカー662-1及びハート目の少年ステッカー662-2を含む追加の少年ステッカー662を表示する。
図6Tでは、ステッカーユーザインタフェース615は、アフロ髪型を含むように更新される、少年表現622-4を含む領域618を示す。デバイス600は、ロボット表現622-5上の入力688を検出し、それに応じて、図6Uに示されるように、ロボット表現622-5を選択し、少年ステッカー662をロボットステッカー690に置き換える。いくつかの実施形態では、ロボット表現622-5を選択することができ、ステッカー領域620上での1つ以上の水平スワイプジェスチャに応じて、対応するロボットステッカー690が表示される。
図6Uでは、デバイス600は、ロボットアバターに基づく外観を有するロボットステッカー690を表示し、これは、前述したように、人間以外のキャラクターに基づく既定のアバターである。いくつかの実施形態では、そのようなアバターに基づくステッカー(例えば、既定のアバター又は人間以外のキャラクターに基づくアバター)は、ユーザ作成アバター又は人間のキャラクターに基づくアバターに基づくステッカーのポーズに一致するポーズを有するいくつかのステッカーを含む。例えば、ロボットステッカー690は様々なポーズを含み、いくつかのロボットステッカーは、いくつかの少年ステッカー662と同じポーズを有する。例えば、ハート目ロボットステッカー690-1は、ハート目少年ステッカー662-2と同じポーズを有する(例えば、両方のステッカーは、目の上にハートがある笑顔の表情を含む)。ロボットステッカー690-1及び少年ステッカー662-2は両方とも、異なる外観を有する(例えば、ロボットステッカー690-1はロボットの外観を有するが、少年ステッカー662-2は少年の外観を有する)が同じポーズを有することに留意されたい。更に、いくつかの実施形態では、既定のアバター又は人間以外のキャラクターに基づくアバターに基づくステッカーは、任意選択的に、ユーザ作成アバター又は人間のキャラクターに基づくアバターに基づくステッカーに含まれる特定のポーズを除外する。例えば、ロボットステッカー690は、サムズアップポーズを含まない。いくつかの実施形態では、除外されたステッカーポーズは、頭部以外の人間の特徴(例えば、手)を含むものである。
いくつかの実施形態では、既定のアバター又は人間以外のキャラクターに基づくアバターに基づくステッカーのセットは全て、同じ又は類似のポーズを有するステッカーを有する。例えば、このようなアバターの全ては、ハート目のステッカーを含み、サムズアップステッカーを除外する。いくつかの実施形態では、特定のステッカーは、ステッカーの異なるセットについて同じポーズを有するが、ステッカーの外観が基づいている特定のアバターにカスタマイズされる。例えば、ロボットステッカー690は、他のステッカーセットの対応するポーズに類似しているびっくりロボットステッカー690-2を含む(例えば、図6Eは、サルのびっくりサルステッカー624-1を示し、図6Tは、少年アバターのびっくりステッカーを示す)が、ステッカーは、ステッカーの外観が基づいているアバターの特性に対応するカスタム外観を有する。例えば、びっくりロボットステッカー690-2は、ロボットの頭部から爆発する歯車、ボルト、及びバネなどの機械的部品692を示す外観を含む。いくつかの実施形態では、類似のタイプの他のアバター(例えば、人間以外のキャラクターに基づく、既定の)は、同様のポーズを含むことができるが、アバターの特性に特に基づく異なるカスタム外観(例えば、キラキラパウダーを有するびっくりユニコーンステッカー)を有する。
いくつかの実施形態では、ユーザ作成アバター又は人間以外のキャラクターに基づくアバターに基づくステッカーは全て、同じポーズを有するステッカーを有する。例えば、ビーニー帽ステッカー642に示されるステッカーポーズは、少年ステッカー662に示されるステッカーポーズと同じである(例えば、同じポーズであるが、異なるアバターに基づく異なる外観)。
図6Uでは、デバイス600は、ビーニー帽表現622-2上の入力694を検出し、それに応じて、図6Vに示されるように、領域618で選択されたビーニー帽表現622-2と、ステッカー領域620内のロボットステッカー690を置き換えるビーニー帽ステッカー642を表示する。ビーニー帽ステッカー642は、サムズアップ少年ステッカー662-1に対応するサムズアップビーニー帽ステッカー642-1、及びハート目少年ステッカー662-2に対応するハート目ビーニー帽ステッカー642-2を含む、少年ステッカー662と同じポーズを含む。
図7は、いくつかの実施形態に係る、電子デバイスを使用してステッカーアプリケーションユーザインタフェースにアバターを表示するための方法を示すフロー図である。方法700は、ディスプレイ及び入力デバイスを備えたデバイス(例えば、100、300、500、600)において実行される。方法700のいくつかの動作は、任意選択的に組み合わされ、いくつかの動作の順序は、任意選択的に変更され、いくつかの動作は、任意選択的に省略される。
下で説明されているように、方法700は、ステッカーアプリケーションインタフェース内にアバターを表示するための直感的な方法を提供する。この方法は、ステッカーアプリケーション内にアバターを表示する際のユーザの認識的負担を軽減し、それにより、より効率的なヒューマン-マシンユーザインタフェースを作り出す。バッテリ動作式コンピューティングデバイスの場合、ユーザがより高速且つ効率的にステッカーアプリケーションユーザインタフェース内にアバターを表示することが可能になることにより、電力が節約され、バッテリ充電の間隔が長くなる。
電子デバイス(例えば、600)は、1つ以上の入力デバイス(例えば、601)を介して、ステッカーユーザインタフェース(例えば、615)(例えば、例えばメッセージングアプリケーションなどのアプリケーションで使用するために選択することができるステッカーを表示する単一のユーザインタフェース)を表示する要求(例えば、616、656)(例えば、ステッカーユーザインタフェースの表示に関連付けられたユーザインタフェースオブジェクト(例えば、アフォーダンス)の選択)(例えば、ステッカーのセットの表現の選択)(例えば、ステッカーのセットの表現を表示するためのステッカーのセット上のジェスチャ)を受信する(702)。
ステッカーユーザインタフェースを表示する要求の受信に応じて、電子デバイス(例えば、600)は、表示デバイス(例えば、601)を介して、ユーザ作成アバターに基づくステッカーの複数のセット(例えば、ユーザによって作成及び、任意選択的に、カスタマイズできるアバター)の表現(例えば、622)を含むステッカーユーザインタフェース(例えば、615)を表示する(704)。いくつかの実施形態では、ユーザ作成アバターは、カスタマイズ可能な(例えば、選択可能又は構成可能な)アバター特徴を含む。いくつかの実施形態では、ユーザ作成アバターは、人間のキャラクターを表すようにモデル化されたアバターを含み、カスタマイズ可能なアバター特徴は、人間の身体的特性に概ね対応する。例えば、そのようなアバターは、様々な身体的な人間の特徴又は特性を有する個人の表現(例えば、浅黒い肌の色及び長い茶色の直毛を有する高齢の女性)を含んでよい。そのようなアバターは、通常は人間の外観に関連付けられる様々な人間以外の特性(例えば、装飾用の拡張、帽子、眼鏡など)を有する個人の表現も含む。ユーザ作成アバターは、アバターの特徴を選択するためのユーザからの入力なしに作成されるアバターを含まない。
いくつかの実施形態では、ユーザ作成アバターに基づくステッカーの複数のセットの表現は、ユーザインタフェースの第1の領域(例えば、618)(例えば、ステッカーカルーセル)内に表示される。いくつかの実施形態では、第1の領域は、ユーザ作成アバターではないアバター(例えば、ユーザによって作成又はカスタマイズできないアバター)に基づくステッカーのセットの1つ以上の表現(例えば、622-1)を更に含む。いくつかの実施形態では、ステッカーカルーセルは、ステッカーのセット及びステッカーカルーセル内に表示される他のオプションの追加の表現を表示するために、(例えば、スワイプジェスチャなどのジェスチャに応じて)(例えば、水平方向に)スクロールすることができることができる。いくつかの実施形態では、ユーザによって作成又はカスタマイズすることができないアバターは、人間以外のキャラクターを表すためにモデル化されたアバターを含む。いくつかの実施形態では、人間以外のキャラクターを表すようにモデル化されたアバターは、例えば、擬人化された構成(例えば、定型化された動物、定型化されたロボット、又は通常は無生物若しくは非人間的オブジェクトの定型化)である人間以外のキャラクターを含む。いくつかの実施形態では、このようなアバターは、一般的に人間以外の特性及び特徴に対応するカスタマイズ可能な(例えば、選択可能又は構成可能な)アバター特徴を有するアバターを含む。いくつかの実施形態では、このようなアバターは、人間のアバターのカスタマイズ可能な特徴のいくつかが、人間以外の特性(例えば、化粧品による増強、帽子、眼鏡、又は人間の外観に典型的に関連付けられている他の非人間的オブジェクト)を含む場合であっても、様々な物理的、ヒトの特徴又は特性(例えば、丸顔及び短いウェービーヘアを有する若い子供)の表現を含まない。ユーザ作成アバターではないアバターに基づくステッカーのセットの1つ以上の表現を有する第1の領域を表示することは、アプリケーション内に表示するためのステッカーの位置決め及び選択の技術的タスクを実行するための入力の数を減らす。タスクを実行するために必要な入力の数が減ることにより、デバイスの操作性が高められ、ユーザ-デバイスインタフェースを(例えば、デバイスを操作する/デバイスと対話するときにユーザが適切な入力を行うのを支援し、ユーザの誤りを削減することによって)より効率的にし、加えて、ユーザがデバイスをより迅速且つ効率的に使用できるようにすることによって、デバイスの電力使用が抑えられ、バッテリ寿命が改善される。
いくつかの実施形態では、第1の領域は、選択されると、ユーザ作成アバター(例えば、新しいユーザ作成アバター)を作成するためのユーザインタフェース(例えば、632)を表示する、作成ユーザインタフェースオブジェクト(例えば、626)(例えば、作成アフォーダンス)を更に含む。そのような作成ユーザインタフェースオブジェクトを表示することは、アバターを作成する技術的タスクを実行するためにユーザインタフェースにアクセスするために必要な入力の数を減らす。タスクを実行するために必要な入力の数が減ることにより、デバイスの操作性が高められ、ユーザ-デバイスインタフェースを(例えば、デバイスを操作する/デバイスと対話するときにユーザが適切な入力を行うのを支援し、ユーザの誤りを削減することによって)より効率的にし、加えて、ユーザがデバイスをより迅速且つ効率的に使用できるようにすることによって、デバイスの電力使用が抑えられ、バッテリ寿命が改善される。
いくつかの実施形態では、新しいユーザ作成アバターの作成を検出した後、電子デバイスは、第1の領域に、新しいユーザ作成アバターに基づくステッカーのセットの表現(例えば、622-4)を表示する。
いくつかの実施形態では、ステッカーユーザインタフェース(例えば、615)を表示することは、ステッカーユーザインタフェースを表示する要求が、(例えば、電子デバイスがステッカーユーザインタフェースを表示する要求を最初に受信したときに)ステッカーユーザインタフェースを表示する第1の受信された要求(例えば、616)であるという判定に従って、第1の領域(例えば、618)を有するステッカーユーザインタフェースを表示することを更に含む。いくつかの実施形態では、ステッカーユーザインタフェースを表示することは、ステッカーユーザインタフェースを表示する要求が、(例えば、電子デバイスがステッカーユーザインタフェースを表示する要求を最初ではなく受信したときに)ステッカーユーザインタフェースを表示する後続の受信された要求(例えば、656)であるという判定に従って、ステッカーユーザインタフェースを第1の領域なしに表示することを更に含む(例えば、図6Lのステッカーユーザインタフェース615を参照)。
いくつかの実施形態では、ステッカーユーザインタフェースを第1の領域なしに表示している間(例えば、図6Lのステッカーユーザインタフェース615を参照)(例えば、ステッカーユーザインタフェースはステッカーを示して表示されるが、ステッカーの表現ではない)、電子デバイスは第1の入力(例えば、658)を受信する。いくつかの実施形態では、第1の入力を検出したことに応じて、第1の入力が基準の第1のセット(例えば、入力は、下方向への移動を含み、表示されたステッカーに由来する)を満たすという判定に従って、電子デバイスは、第1の領域を表示する(例えば、第1の領域を含むようにステッカーユーザインタフェースを更新する)(例えば、図6Mを参照)。
いくつかの実施形態では、第1のアバター(例えば、ビーニー帽アバター636)に基づくステッカーのセットは、ステッカーポーズの第1のセット(例えば、ステッカー642に示されるポーズ)を有し、第2のアバターに基づくステッカーのセットは、ステッカーポーズの第1のセット(例えば、ステッカー662に示されるポーズ)を有する(例えば、ユーザ作成アバターに基づくステッカーの全てのセットは、同じポーズ及び顔の表情を有するが、各ステッカーのセットが基づいている特定のユーザ作成アバターに基づく異なる外観を有する)。いくつかの実施形態では、ユーザ作成アバターに基づくステッカーのセットのそれぞれ1つが、ユーザ作成アバターに基づくステッカーの複数のセットの表現のそれぞれ1つの選択を検出したことに応じて表示される。ユーザ作成アバターに基づくステッカーのセットの表現の選択を検出したことに応じてステッカーのセットを表示することは、ステッカーを作成する技術的タスクを実行するための入力の数を減らす。タスクを実行するために必要な入力の数が減ることにより、デバイスの操作性が高められ、ユーザ-デバイスインタフェースを(例えば、デバイスを操作する/デバイスと対話するときにユーザが適切な入力を行うのを支援し、ユーザの誤りを削減することによって)より効率的にし、加えて、ユーザがデバイスをより迅速且つ効率的に使用できるようにすることによって、デバイスの電力使用が抑えられ、バッテリ寿命が改善される。
いくつかの実施形態では、ステッカーユーザインタフェース(例えば、615)を表示することは、第1の既定のアバター(例えば、ロボットアバター)(例えば、既定又は既存のアバター、ユーザによって作成されていないアバター、ユーザによって作成することができないアバター)に基づくステッカーのセットの表現(例えば、662-5)を表示することを更に含む。いくつかの実施形態では、ユーザによって作成又はカスタマイズすることができないアバターは、人間以外のキャラクターを表すためにモデル化されたアバターを含む。いくつかの実施形態では、人間以外のキャラクターを表すようにモデル化されたアバターは、例えば、擬人化された構成(例えば、定型化された動物、定型化されたロボット、又は通常は無生物若しくは非人間的オブジェクトの定型化)である人間以外のキャラクターを含む。いくつかの実施形態では、このようなアバターは、一般的に人間以外の特性及び特徴に対応するカスタマイズ可能な(例えば、選択可能又は構成可能な)アバター特徴を有するアバターを含む。いくつかの実施形態では、このようなアバターは、人間のアバターのカスタマイズ可能な特徴のいくつかが、人間以外の特性(例えば、化粧品による増強、帽子、眼鏡、又は人間の外観に典型的に関連付けられている他の非人間的オブジェクト)を含む場合であっても、様々な物理的、ヒトの特徴又は特性(例えば、丸顔及び短いウェービーヘアを有する若い子供)の表現を含まない。いくつかの実施形態では、第1の既定のアバターに基づくステッカーのセット(例えば、690)は、ステッカーポーズの第1のセットとは異なるステッカーポーズの第2のセット(例えば、図6Uのステッカー690を参照)を有する(例えば、既定のアバターのステッカーのセットのそれぞれは、ポーズ及び顔の表情のセットを有する)(例えば、図6Tのステッカー662を参照)(例えば、既定のアバターのステッカーのセット用のポーズ及び顔の表情の集合は、ユーザ作成アバターのステッカーのセット用のポーズ及び顔の表情の集合とは異なる)。いくつかの実施形態では、既定のアバターのステッカーのセット用のポーズ及び顔の表情のサブセットは、ユーザ作成アバターのステッカーのセット用のポーズ及び顔の表情のサブセットと同じである(例えば、ステッカーポーズ及び顔の表情のいくつかは、既定のアバターのステッカーのセット、及びユーザ作成アバターのステッカーのセットに共通である)。いくつかの実施形態では、既定のアバターのステッカーのそれぞれのセット用のポーズ及び顔の表情のサブセットは、既定のアバターのステッカーの他のセット用のポーズ及び顔の表情のサブセットと同じである(例えば、ステッカーポーズ及び顔の表情のいくつかは、既定のアバターのステッカーの異なるセットに共通である)。いくつかの実施形態では、第1の非ユーザ作成アバターに基づくステッカーのセットが、第1の非ユーザ作成アバターに基づくステッカーのセットの表現の選択を検出したことに応じて表示される。
いくつかの実施形態では、第1の既定のアバター(例えば、ユニコーンアバターなどの、ユーザによって作成されていないアニメーション化されたキャラクターを表すアバター)に基づくステッカーのセット(例えば、690)は、第1のステッカーポーズ(例えば、びっくりロボットステッカー690-2)(例えば、爆発する頭部のポーズ/表情を示すステッカー)を有するステッカーを含む。いくつかの実施形態では、ステッカーユーザインタフェースを表示することは、第2の既定のアバター(例えば、図6Cのステッカー624を参照)(例えば、ロボットアバターなどのユーザによって作成されていないアニメーション化されたキャラクターを表すアバター、ユーザによって作成又はカスタマイズできないアバター)に基づくステッカーのセットの表現を表示することを更に含む。いくつかの実施形態では、ユーザによって作成又はカスタマイズすることができないアバターは、人間以外のキャラクターを表すためにモデル化されたアバターを含む。いくつかの実施形態では、人間以外のキャラクターを表すようにモデル化されたアバターは、例えば、擬人化された構成(例えば、定型化された動物、定型化されたロボット、又は通常は無生物若しくは非人間的オブジェクトの定型化)である人間以外のキャラクターを含む。いくつかの実施形態では、このようなアバターは、一般的に人間以外の特性及び特徴に対応するカスタマイズ可能な(例えば、選択可能又は構成可能な)アバター特徴を有するアバターを含む。いくつかの実施形態では、このようなアバターは、人間のアバターのカスタマイズ可能な特徴のいくつかが、人間以外の特性(例えば、化粧品による増強、帽子、眼鏡、又は人間の外観に典型的に関連付けられている他の非人間的オブジェクト)を含む場合であっても、様々な物理的、ヒトの特徴又は特性(例えば、丸顔及び短いウェービーヘアを有する若い子供)の表現を含まない。いくつかの実施形態では、第2の既定のアバターに基づくステッカーのセットは、第1のステッカーポーズを有するステッカーを含む(例えば、図6Cのびっくりサルステッカー624-1を参照)。いくつかの実施形態では、第1の既定のアバター用の第1のステッカーポーズを有するステッカーは、第2の既定のアバター用の第1のステッカーポーズを有するステッカーに含まれない、第1の既定のアバターに対応するグラフィック要素(例えば、機械的部品692)(例えば、キラキラパウダー又は歯車)を含む。いくつかの実施形態では、既定のアバター用のステッカーのセットは、ステッカーのセットに固有であり、且つ既定のアバターに固有の特性のセットを組み込むステッカーを含む。例えば、「びっくり」ユニコーンステッカーの場合、ステッカーは、ユニコーンの頭部の上部が取り除かれたユニコーンの頭部の外観を有し、ユニコーンの脳から発散するキラキラパウダーを含むユニコーンの脳の爆発状態を表示する。「びっくり」ステッカーにおけるキラキラパウダーの外観は、ユニコーンステッカーに固有であり、ユニコーンアバターの神秘的な特性に対応する。別の例として、「びっくり」ロボットステッカーの場合、ステッカーは、上部が取り除かれたロボットの頭部の外観を有し、ロボットの脳から飛び出る歯車を含むロボットの脳の爆発状態を表示する。「びっくり」ステッカーにおける歯車の外観は、ロボットステッカーに固有であり、ロボットアバターの機械的特性に対応する。
いくつかの実施形態では、ステッカーポーズの第1のセットは、ステッカーポーズの第2のセットに含まれない少なくとも1つのステッカーポーズ(例えば、サムズアップステッカー662-1)(例えば、手を含むステッカーポーズ)を含む。いくつかの実施形態では、除外されたステッカーポーズは、頭部以外の身体部分を表示するポーズを含む。このようなポーズを有するステッカーは、例えば、「サムズアップ」ステッカー、「グータッチ」ステッカー、「ハグ」ステッカーなどを含むことができる。
いくつかの実施形態では、ステッカーユーザインタフェースを表示することは、キーボード表示領域(例えば、605)を表示することを更に含み、キーボード表示領域は、複数の絵文字(例えば、609)と、ユーザ作成アバターに基づくステッカーの複数のセットの表現(例えば、ステッカー領域610)とを含む。いくつかの実施形態では、電子デバイスは、ユーザ作成アバターに基づくステッカーの複数のセットの表現(例えば、図6Kの614-2)のうちの1つの選択(例えば、656)を検出する。いくつかの実施形態では、ユーザ作成アバターに基づくステッカーの複数のセットの表現のうちの1つの選択を検出したことに応じて、電子デバイスは、キーボード表示領域に、ユーザ作成アバターに基づくステッカーのセット内の複数のステッカー(例えば、642)を表示する。いくつかの実施形態では、キーボード表示領域に複数のステッカーを表示することは、絵文字の表示を中止することを含む。いくつかの実施形態では、複数のステッカーが表示されるとき、ステッカーのセットの表現は、キーボード表示領域内の異なる場所に表示される。ユーザ作成アバターに基づくステッカーの複数のセットの表現の1つの選択を検出したことに応じて、キーボード表示領域内のユーザ作成アバターに基づくステッカーのセット内の複数のステッカーは、メッセージングアプリケーションにおける通信のためのステッカーを作成する技術的タスクを実行するための入力の数を(例えば、所望のステッカーの位置を特定し選択するために必要なメニューオプションの数を減らすことによって)低減する。タスクを実行するために必要な入力の数が減ることにより、デバイスの操作性が高められ、ユーザ-デバイスインタフェースを(例えば、デバイスを操作する/デバイスと対話するときにユーザが適切な入力を行うのを支援し、ユーザの誤りを削減することによって)より効率的にし、加えて、ユーザがデバイスをより迅速且つ効率的に使用できるようにすることによって、デバイスの電力使用が抑えられ、バッテリ寿命が改善される。
ステッカーユーザインタフェース(例えば、615)を表示すること(704)は、ユーザが第1のアバター(例えば、ビーニー帽アバター636)(例えば、男性をモデル化するためにユーザによって作成されたアバター)及び第2のアバター(例えば、女性をモデル化するためにユーザによって作成されたアバター)を含む2つ以上のユーザ作成アバターの第1のセットを作成したという判定に従って、ステッカーの第1の複数のセットの表現(例えば、622)(例えば、対応するステッカーのセットが基づいている、例えば、ユーザ作成アバターの表現などのアバターの静的表現)を表示すること(706)(例えば、同時に表示する)を含む。ステッカーの第1の複数のセットの表現は、第1のアバターに基づくステッカーのセットの表現(例えば、622-2)(例えば、静的ポーズと第1のアバターを作成するために使用される特徴(例えば、ハット、サングラス、髪型/カラー、肌の色調など)を含む第1のアバターに基づく外観とを有する第1のアバターの静的表現)と、第2のアバターに基づくステッカーのセットの表現(例えば、622-3)(例えば、静的ポーズと第2のアバターを作成するために使用される特徴(例えば、ハット、サングラス、髪型/カラー、肌の色調など)を含む第2のアバターに基づく外観とを有する第2のアバターの静的表現)とを含む。アバターのセットが作成されたときにステッカーのセットの表現を表示することは、メッセージングアプリケーションにおける通信のためのステッカーを作成し選択する技術的タスクを実行するための入力の数を(例えば、所望のステッカーの位置を特定し選択するために必要なメニューオプションの数を減らすことによって)減らす。タスクを実行するために必要な入力の数が減ることにより、デバイスの操作性が高められ、ユーザ-デバイスインタフェースを(例えば、デバイスを操作する/デバイスと対話するときにユーザが適切な入力を行うのを支援し、ユーザの誤りを削減することによって)より効率的にし、加えて、ユーザがデバイスをより迅速且つ効率的に使用できるようにすることによって、デバイスの電力使用が抑えられ、バッテリ寿命が改善される。
ステッカーユーザインタフェース(例えば、615)を表示すること(704)は、ユーザが、2つ以上のユーザ作成アバターの第1のセット(例えば、子供をモデル化するためにユーザによって作成されたアバター)に含まれない第3のアバター(例えば、少年アバター672)を含む2つ以上のユーザ作成アバターの第2のセットを作成したという判定に従って、ステッカーの第1の複数のセットの表現とは異なるステッカーの第2の複数のセットの表現を(例えば、同時に)表示すること(708)を含む。いくつかの実施形態では、ステッカーの第2の複数のセットの表現は、ステッカーの第1の複数のセットの表現に含まれなかった第3のアバターに基づくステッカーのセットの表現(例えば、622-4)を含む(例えば、静的ポーズと第3のアバターを作成するために使用される特徴(例えば、ハット、サングラス、髪型/カラー、肌の色調など)を含む第3のアバターに基づく外観とを有する第3のアバターの静的表現)。いくつかの実施形態では、それぞれのアバターに基づくステッカーのセット、及びステッカーのセットの対応する表現は、それぞれのアバター(例えば、第1、第2、及び第3のアバター)の作成を検出したことに応じて(例えば、自動的に(例えば、アバターが作成された後に後続のユーザ入力なしに))作成される。いくつかの実施形態では、ステッカーの第1及び/又は第2の複数のセットの表現は、ユーザが作成していないアバターの表現を含む。新しいアバターが作成されたときにステッカーのセットの異なる表現を表示することは、メッセージングアプリケーションにおける通信のためのステッカーを作成し選択する技術的タスクを実行するための入力の数を(例えば、所望のステッカーの位置を特定し選択するために必要なメニューオプションの数を減らすことによって)減らす。タスクを実行するために必要な入力の数が減ることにより、デバイスの操作性が高められ、ユーザ-デバイスインタフェースを(例えば、デバイスを操作する/デバイスと対話するときにユーザが適切な入力を行うのを支援し、ユーザの誤りを削減することによって)より効率的にし、加えて、ユーザがデバイスをより迅速且つ効率的に使用できるようにすることによって、デバイスの電力使用が抑えられ、バッテリ寿命が改善される。
いくつかの実施形態では、電子デバイスは、第1のアバター(例えば、図6Uのビーニー帽表現622-2)に基づくステッカーのセットの表現の選択(例えば、694)(例えば、第1、第2、又は第3のアバターに基づくステッカーのセットの表現のうちの1つの選択)を検出する。いくつかの実施形態では、表現は、デフォルトで(例えば、ステッカーユーザインタフェースの表示時に)選択される。いくつかの実施形態では、表現は、ユーザ入力に応じて選択される。いくつかの実施形態では、第1のアバターに基づくステッカーのセットの表現の選択を検出したことに応じて、電子デバイスは、選択された表現(例えば、622-2)と、第1のアバター(例えば、アバター(ユーザ作成アバター)に基づく外観を有し、異なるポーズ及び顔の表情を有するグラフィックオブジェクト)に基づくステッカーのセット内の複数のステッカー(例えば、642)とを同時に表示し、複数のステッカーは、第1のアバターに基づく外観を有する。いくつかの実施形態では、ステッカーは、表現のうちの選択された1つに対応する(例えば、ステッカーは、選択された表現に関連付けられたアバターに基づく外観を有する)。異なる表現が選択されると、以前に選択された表現に関連付けられたステッカーは、新たに選択された表現に関連付けられたステッカーのセットに置き換えられる。いくつかの実施形態では、ステッカーは、特定の表情、感情、心情などを伝えるためにアバターの外観を変更するために表示される追加の特徴を含む。例えば、ステッカーは、アバターの目の上にハートを含んで愛を伝えるか、アバターの目の下に涙を含んで悲しみを伝えることができる。いくつかの実施形態では、ステッカーは、アバターの全体的な認識可能な表現を依然として保持しながら、アバターの一部分を変更するなど、アバターの外観に対するわずかな変更を含む。そのような変更の1つの例は、ステッカーがアバターの頭部の上部が取り除かれ、アバターの脳の爆発状態を表示するアバターの表現である「びっくり」ステッカーである。
いくつかの実施形態では、第1のアバターに基づくステッカーのセット内の複数のステッカーは、第1のポーズ(例えば、サムズアップポーズ)と第1のアバターに基づく外観とを有する第1のステッカー(例えば、642-1)と、第1のポーズとは異なる第2のポーズ(例えば、ハート目)と第1のアバター(例えば、ビーニー帽アバター636)に基づく外観とを有する第2のステッカー(例えば、642-2)とを含む(例えば、ステッカーのセット内のステッカーは、異なるポーズのセット及び第1のアバターに基づく外観を有する)。いくつかの実施形態では、第1のアバターに基づくステッカーのセット内の複数のステッカーを表示している間に、電子デバイスは、第2のアバターに基づくステッカーのセットの表現(例えば、622-4)の選択を検出する。いくつかの実施形態では、第2のアバターに基づくステッカーのセットの表現の選択を検出したことに応じて、電子デバイスは、第1のアバターに基づくステッカーのセット内の複数のステッカーの表示を中止する。いくつかの実施形態では、第2のアバターに基づくステッカーのセットの表現の選択を検出したことに応じて、電子デバイスは、第2のアバターに基づくステッカーのセット内の複数のステッカー(例えば、662)を表示する。いくつかの実施形態では、第2のアバターに基づくステッカーのセットは、第1のポーズ(例えば、サムズアップポーズ)と、第2のアバター(例えば、少年アバター672)に基づく外観とを有する第3のステッカー(例えば、662-1)と、第2のポーズ(例えば、ハート目)と、第2のアバターに基づく外観とを有する第4のステッカー(例えば、662-2)とを含む(例えば、第1のアバターの外観及びポーズのセットを有するステッカーの第1のセットは、ポーズの同じセットを有するが、代わりに第2のアバターに基づく外観を有するステッカーの第2のセットに置き換えられる)。ポーズの同じセットを有するが、それぞれのアバター(例えば、ユーザ作成アバター)に基づく異なる外観を有するステッカーを表示することにより、ユーザは、異なる外観を有するアバターのステッカーを用いてユーザの個人的及び芸術的な好みを依然として尊重しながら、ポーズに基づく既知の心情を表現するためにメッセージを迅速且つ容易に作成することができる。これは、カスタムメッセージを作成するための改善された制御スキームを提供し、これは、カスタムメッセージを作成するために必要な入力を、異なる制御スキーム(例えば、個々のカスタムポーズの作成を必要とする制御スキーム)が使用された場合で必要とされるよりも少なくすることができる。更に、このタイプの制御は、例えば、テキスト会話又はビデオ会話などの会話の間にリアルタイムで行うことができるが、ステッカーを構築する手動制御は、会話が始まる前又は終了した後に行う必要がある。タスクを実行するために必要な入力の数が減ることにより、デバイスの操作性が高められ、ユーザ-デバイスインタフェースを(例えば、デバイスを操作する/デバイスと対話するときにユーザが適切な入力を行うのを支援し、ユーザの誤りを削減することによって)より効率的にし、加えて、ユーザがデバイスをより迅速且つ効率的に使用できるようにすることによって、デバイスの電力使用が抑えられ、バッテリ寿命が改善される。
いくつかの実施形態では、複数のステッカーのうちの1つ以上がアニメーション化される(例えば、ステッカーは、ウィンク、手を振ること、表情を作ることなどを示している)。
いくつかの実施形態では、ステッカーユーザインタフェースを表示した後、電子デバイスは、ステッカーユーザインタフェースを再表示する要求(例えば、638)を受信する。いくつかの実施形態では、ステッカーユーザインタフェースを再表示する要求を受信したことに応じて、電子デバイスは、表示デバイスを介して、ステッカーユーザインタフェースを再表示する(例えば、ステッカーユーザインタフェース615が図6Hで再表示される)。いくつかの実施形態では、ステッカーユーザインタフェースを再表示することは、ユーザが、2つ以上のユーザ作成アバターの第1又は第2のセットに含まれない第4のアバター(例えば、636)を作成した(例えば、ユーザは新しいアバターを作成した)という判定に従って、ステッカーの第3の複数のセットの表現(例えば、図6Hに示す表現622)を(例えば、同時に)表示する。いくつかの実施形態では、ステッカーの第3の複数のセットの表現は、ステッカーの第1又は第2の複数のセットの表現に含まれなかった第4のアバターに基づくステッカーのセットの表現(例えば、622-2)を含む(例えば、別の例として、ステッカーユーザインタフェース615は、少年アバター672を作成するための一連の入力を受信した後、図6Nで再表示され、新たに表示された少年表現622-4及び少年ステッカー662を含む)。いくつかの実施形態では、ステッカーのセットの表現を表示することは、第4のアバターに基づく(例えば、その外観を有する)ステッカーのセットの少なくとも一部分を同時に表示することを含む。例えば、ステッカーUIが再表示されると、第4のアバターに基づくステッカーのセットの表現が選択され、セット内のステッカーの少なくとも一部は、第4のアバターの外観に基づく異なる外観を有して表示される。ユーザがアバターを作成した後にステッカーを表示するためにステッカーユーザインタフェースを再表示することは、(例えば、メッセージ会話で送信するために)ステッカーを作成する技術的タスクを実行するための入力の数を減らす。タスクを実行するために必要な入力の数が減ることにより、デバイスの操作性が高められ、ユーザ-デバイスインタフェースを(例えば、デバイスを操作する/デバイスと対話するときにユーザが適切な入力を行うのを支援し、ユーザの誤りを削減することによって)より効率的にし、加えて、ユーザがデバイスをより迅速且つ効率的に使用できるようにすることによって、デバイスの電力使用が抑えられ、バッテリ寿命が改善される。
いくつかの実施形態では、第1のアバターに基づくステッカーのセットの表現(例えば、622-2)は、第1のアバターに基づくステッカーのセット内のステッカーのうちの1つの外観を有する。いくつかの実施形態では、第2のアバターに基づくステッカーのセットの表現(例えば、622-4)は、第2のアバターに基づくステッカーのセット内のステッカーのうちの1つの外観を有する。いくつかの実施形態では、第3のアバターに基づくステッカーのセットの表現は、第3のアバターに基づくステッカーのセット内のステッカーのうちの1つの外観を有する。
いくつかの実施形態では、ステッカーユーザインタフェースを表示することは、選択されると、それぞれのユーザ作成アバターを編集するための編集インタフェース(例えば、670)を表示する編集ユーザインタフェースオブジェクト(例えば、665)(例えば、編集アフォーダンス)を表示することを更に含む。
いくつかの実施形態では、ステッカーユーザインタフェースを表示することは、それぞれのユーザ作成アバター(例えば、672)に基づくステッカーのセット内の複数のステッカー(例えば、662)を表示することを更に含み、複数のステッカーは、それぞれのユーザ作成アバター(例えば、図6Oの少年ステッカー662)の第1の外観に基づく外観を有する。いくつかの実施形態では、ステッカーユーザインタフェースを表示することは、第1の外観から第2の外観(例えば、第1の髪型から第2の髪型へ)に、それぞれのユーザ作成アバターを編集する要求に対応する一連の入力(例えば、668、676、678)(例えば、編集アフォーダンスの選択及びそれぞれのユーザ作成アバターを編集するための編集インタフェースとの相互作用を含む一連の入力)を検出することを更に含む。いくつかの実施形態では、ステッカーユーザインタフェースを表示することは、それぞれのユーザ作成アバターに基づくステッカーのセット内の複数のステッカーを表示する(例えば、編集インタフェースを出る)要求(例えば、678)を検出すること(例えば、それぞれのユーザ作成アバターに基づくステッカーのセットの表現の選択を検出すること)を更に含む。いくつかの実施形態では、ステッカーユーザインタフェースを表示することは、それぞれのユーザ作成アバターに基づくステッカーのセット内の複数のステッカーを表示する要求を検出したことに応じて、複数のステッカー(例えば、図6Rのステッカー662)を、それぞれのユーザ作成アバターに基づくステッカーのセット内に表示することを更に含む。いくつかの実施形態では、ステッカーのセットのステッカーは、それぞれのユーザ作成アバターの第2の外観に基づく更新された外観を有する(例えば、第2の髪型を有する図6Rのステッカー662)(例えば、それぞれのユーザ作成アバターが変更/更新されたとき、それぞれのユーザ作成アバターに基づくステッカーのセット内のステッカーは変更/更新される)。いくつかの実施形態では、それぞれのユーザ作成アバターに基づくステッカーのセットの表現の外観は、それぞれのユーザ作成アバターが変更/更新されたときに更新される。ユーザがアバターを作成/更新した後のステッカーの表現の外観を自動的に更新することにより、ステッカーを作成する技術的タスクを実行するための入力の数が減る。タスクを実行するために必要な入力の数が減ることにより、デバイスの操作性が高められ、ユーザ-デバイスインタフェースを(例えば、デバイスを操作する/デバイスと対話するときにユーザが適切な入力を行うのを支援し、ユーザの誤りを削減することによって)より効率的にし、加えて、ユーザがデバイスをより迅速且つ効率的に使用できるようにすることによって、デバイスの電力使用が抑えられ、バッテリ寿命が改善される。
いくつかの実施形態では、編集インタフェース(例えば、670)を使用してそれぞれのユーザ作成アバターを編集することは、ステッカーユーザインタフェース及びステッカーユーザインタフェース以外のユーザインタフェース内のそれぞれのユーザ作成アバターの外観を変更する(例えば、編集インタフェースは、それぞれのユーザ作成アバターが、例えば、カメラアプリケーション、ビデオ通信アプリケーション、メッセージングアプリケーション、メディア表示アプリケーションなどの異なるアプリケーションに表示されるインスタンスを含む、オペレーティングシステム全体のそれぞれのユーザ作成アバターの外観を変更する)。例えば、カメラアプリケーション及びビデオ通信アプリケーションでは、それぞれのユーザ作成アバターの表現をカメラの視野内に表示することができる。それぞれのユーザ作成アバターの外観がステッカーユーザインタフェースで変更されると、それぞれのユーザ作成アバターの外観への変更は、カメラアプリケーション及びビデオ通信アプリケーションにおけるそれぞれのユーザ作成アバターの表現にも適用される。メッセージングアプリケーションでは、メッセージ会話の参加者は、それぞれのユーザ作成アバターを使用して表すことができる。それぞれのユーザ作成アバターの外観がステッカーユーザインタフェースで変更されると、それぞれのユーザ作成アバターの外観への変更は、メッセージングアプリケーションのメッセージ会話内のそれぞれのユーザ作成アバターにも適用される。写真閲覧アプリケーション又はビデオ閲覧アプリケーションなどのメディア表示アプリケーションは、メディアアイテム内のそれぞれのユーザ作成アバターの表現を含むことができる。それぞれのユーザ作成アバターの外観がステッカーユーザインタフェースで変更されると、それぞれのユーザ作成アバターの外観への変更は、メディア表示アプリケーションで閲覧したメディアアイテム内のそれぞれのユーザ作成アバターの表現にも適用される。ステッカーユーザインタフェース内のアバターに行われた変更を検出したことに応じて、様々なユーザインタフェース全体を通してアバターの外観を更新することは、異なるアプリケーションで使用するアバターを作成又は更新する技術的タスクを実行するための入力の数を減らす。タスクを実行するために必要な入力の数が減ることにより、デバイスの操作性が高められ、ユーザ-デバイスインタフェースを(例えば、デバイスを操作する/デバイスと対話するときにユーザが適切な入力を行うのを支援し、ユーザの誤りを削減することによって)より効率的にし、加えて、ユーザがデバイスをより迅速且つ効率的に使用できるようにすることによって、デバイスの電力使用が抑えられ、バッテリ寿命が改善される。
方法700に関連して上述したプロセスの詳細(例えば、図7)はまた、後述する方法にも類似する方式で適用可能であることに留意されたい。例えば、方法800、1000、1200、1300、1500、1700及び1800は、方法700を参照して上述した様々な方法の特性のうちの1つ以上を任意選択的に含む。例えば、ステッカーは、上述したものと同様の方法でユーザインタフェースに表示及び使用することができる。簡潔にするために、これらの詳細は、以下で繰り返さない。
図8は、いくつかの実施形態に係る、電子デバイスを使用してアバターキーボードアプリケーションユーザインタフェースにアバターを表示するための方法を示すフロー図である。方法800は、ディスプレイ及び1つ以上の入力デバイスを備えたデバイス(例えば、100、300、500、600)にて実行される。方法800のいくつかの動作は、任意選択的に組み合わされ、いくつかの動作の順序は、任意選択的に変更され、いくつかの動作は、任意選択的に省略される。
下で説明されているように、方法800は、アバターキーボードアプリケーションユーザインタフェース内にアバターを表示するための直感的な方法を提供する。この方法は、アバターキーボードアプリケーションユーザインタフェース内にアバターを表示する際のユーザの認識的負担を軽減し、それにより、より効率的なヒューマン-マシンインタフェースを作り出す。バッテリ動作式コンピューティングデバイスの場合、ユーザがより高速且つ効率的にアバターキーボードアプリケーションユーザインタフェース内にアバターを表示することが可能になることにより、電力が節約され、バッテリ充電の間隔が長くなる。
電子デバイス(例えば、600)は、表示デバイス(例えば、601)を介して、コンテンツ作成ユーザインタフェース(例えば、603)(例えば、ドキュメント作成ユーザインタフェース又はメッセージ構成ユーザインタフェース)(例えば、単一のインタフェース画面)を表示する(802)。
コンテンツ作成ユーザインタフェース(例えば、603)を表示している間に、電子デバイス(例えば、600)は、1つ以上の入力デバイスを介して、第1の表示領域(例えば、605)(例えば、キーボード表示領域)(例えば、絵文字キーボード表示領域)(例えば、ステッカーキーボード表示領域)を表示する要求(例えば、604)を受信する(804)。いくつかの実施形態では、第1の表示領域は、コンテンツ作成ユーザインタフェースへの挿入のための既定のコンテンツに対応する複数のグラフィックオブジェクト(例えば、612、609)(例えば、ステッカー)(例えば、絵文字)を含む。
要求の受信に応じて、第1の表示領域(例えば、605)を表示すること(804)は、要求の受信に応じて、表示デバイス(例えば、601)を介して、電子デバイス(例えば、600)で利用可能なアバター(例えば、例えば人間のキャラクターを表すためにモデル化されたアバター、人間以外のキャラクターを表すためにモデル化されたアバター、ユーザによって作成及び/又はカスタマイズ可能なアバター、ユーザによって作成又はカスタマイズできないアバターなどのアバター)のセットに基づく外観を有するグラフィックオブジェクト(例えば、612)(例えば、ステッカー)の第1のサブセット(例えば、第1の表示領域内の複数のグラフィックオブジェクトのサブセット)を含む第1の表示領域を表示する(806)(例えば、それぞれのアバターに基づく外観を有し、且つ異なるポーズ及び顔の表情を有するステッカー)。いくつかの実施形態では、ステッカーは、特定の表情、感情、心情などを伝えるためにそれぞれのアバターを変更するために表示される追加の特徴を含む。例えば、ステッカーは、アバターの目の上にハートを含んで愛を伝えるか、アバターの目の下に涙を含んで悲しみを伝えることができる。いくつかの実施形態では、ステッカーは、アバターの全体的な認識可能な表現を依然として保持しながら、アバターの一部分を変更するなど、アバターの外観に対するわずかな変更を含む。そのような変更の1つの例は、ステッカーがアバターの頭部の上部が取り除かれ、アバターの脳の爆発状態を表示するアバターの表現である「びっくり」ステッカーである。いくつかの実施形態では、人間を表すためにモデル化されたアバターは、一般に人間の身体的特性に対応するカスタマイズ可能な(例えば、選択又は構成可能な)アバター特徴を含む。例えば、そのようなアバターは、様々な身体的な人間の特徴又は特性を有する個人の表現(例えば、浅黒い肌の色及び長い茶色の直毛を有する高齢の女性)を含んでよい。そのようなアバターは、通常は人間の外観に関連付けられる様々な人間以外の特性(例えば、装飾用の拡張、帽子、眼鏡など)を有する個人の表現も含む。いくつかの実施形態では、そのようなアバターは、定型化された動物、定型化されたロボット、又は通常は無生物若しくは非人間的対象物の定型化などの、擬人化された構成を含まない。いくつかの実施形態では、人間以外のキャラクターを表すようにモデル化されたアバターは、例えば、擬人化された構成(例えば、定型化された動物、定型化されたロボット、又は通常は無生物若しくは非人間的オブジェクトの定型化)である人間以外のキャラクターを含む。いくつかの実施形態では、このようなアバターは、一般的に人間以外の特性及び特徴に対応するカスタマイズ可能な(例えば、選択可能又は構成可能な)アバター特徴を有するアバターを含む。いくつかの実施形態では、このようなアバターは、人間のアバターのカスタマイズ可能な特徴のいくつかが、人間以外の特性(例えば、化粧品による増強、帽子、眼鏡、又は人間の外観に典型的に関連付けられている他の非人間的オブジェクト)を含む場合であっても、様々な物理的、ヒトの特徴又は特性(例えば、丸顔及び短いウェービーヘアを有する若い子供)の表現を含まない。
電子デバイスで利用可能なアバターのセットに基づく外観を有するグラフィックオブジェクト(例えば、612)の第1のサブセット(例えば、610)を含む第1の表示領域(例えば、605)を表示すること(806)は、アバターのセットが第1のタイプのアバター(例えば、電子デバイスのユーザによって作成及び/又はカスタマイズすることができるアバター)(例えば、人間のキャラクターを表すためにモデル化されたアバター)を含むという判定に従って、第1のタイプのアバター(例えば、ビーニー帽アバター636)に基づく外観を有する第1のサブセット内のグラフィックオブジェクト(例えば、図6Iの642-1)の1つ(例えば、1つ以上)を表示する(808)。いくつかの実施形態では、アバターのセットが、カスタマイズ可能で、作成可能で、及び/又は人間のキャラクターを表すようにモデル化されたものを含む場合、表示されるステッカーは、アバターに由来する(例えば、アバターに基づく外観を有する)1つ以上のステッカーを含む。いくつかの実施形態では、これらは、第1のタイプのステッカーと呼ばれる。いくつかの実施形態では、第1のタイプのステッカーは、第1のタイプのステッカーの使用履歴に基づいて電子デバイスによって提案されるステッカーを含む(例えば、最近及び/又は頻繁に使用されているステッカーを提案する)。
電子デバイスにおいて利用可能なアバターのセットに基づく外観を有するグラフィックオブジェクト(例えば、612)の第1のサブセットを含む第1の表示領域(例えば、605)を表示する(806)ことは、アバターのセットが第1のタイプのアバターを含まないという判定に従って、第1のタイプとは異なる、第2のタイプのアバター(例えば、電子デバイスのユーザによって作成及び/又はカスタマイズできないアバター)(例えば、人間以外のキャラクターを表すようにモデル化されたアバター)に基づく外観を有する第1のサブセット内のグラフィックオブジェクト(例えば、612-1、612-2、612-3)を、第1のタイプのアバターに基づく外観を有する第1のサブセット内のグラフィックオブジェクトのうちの1つ(例えば、1つ以上)を表示することなく、表示すること(810)を含む。いくつかの実施形態では、アバターのセットが、カスタマイズ可能で、作成可能で、及び/又は人間を表すようにモデル化されたものを含まない場合、表示されるステッカーは、人間以外のキャラクターであるアバター及び/又はユーザによって作成されていない又はカスタマイズできないアバターに由来する(例えば、アバターに基づく外観を有する)。いくつかの実施形態では、これらは、第2のタイプのステッカーと呼ばれる。第1のタイプのアバターが利用できないときに第2のタイプのアバターのみを表示することは、第1のタイプのアバターがデバイスにおいて現在利用可能でないというフィードバックをユーザに提供し、ユーザに第1のタイプのアバターを作成するように促す。改善されたフィードバックを提供することにより、デバイスの操作性が向上し、(例えば、デバイスを操作する/デバイスと対話するときにユーザが適切な入力を行うのを支援しユーザの誤りを削減することによって)ユーザ-デバイスインタフェースがより効率的になり、このことにより更に、ユーザがデバイスをより迅速且つ効率的に使用可能になることによって、電力使用量を削減し、デバイスのバッテリ寿命を改善する。
いくつかの実施形態では、第1のタイプのアバターは、ユーザ作成アバター(例えば、ビーニー帽アバター636、少年アバター672)(例えば、ユーザによって作成、及び任意選択的にカスタマイズされ得るアバター)であり、第2のタイプのアバターは、既定のアバター(例えば、ロボット、サル、うんこ)(例えば、ユーザ作成アバター以外のタイプのアバター)(例えば、電子デバイスのユーザによって作成及び/又はカスタマイズできないアバター)である。いくつかの実施形態では、ユーザ作成アバターは、カスタマイズ可能な(例えば、選択可能又は構成可能な)アバター特徴を含む。
いくつかの実施形態では、第1のタイプのアバターは、人間のキャラクター(例えば、ビーニー帽アバター636、少年アバター672)(例えば、ヒトを表すためにモデル化されたアバター)に基づいており、第2のタイプのアバターは、人間以外のキャラクター(例えば、サル、うんこ、ロボット)(例えば、ブタ、ネコ、イヌ、サメなどの動物、ユニコーン、ドラゴン、及びエイリアンなどの神秘的なキャラクター、ロボット及びうんこなどの擬人化されたオブジェクト、及び/又は絵文字などの様式化された表現を表すためにモデル化されたアバター)に基づく。いくつかの実施形態では、人間以外のキャラクターを表すようにモデル化されたアバターは、例えば、擬人化された構成(例えば、定型化された動物、定型化されたロボット、又は通常は無生物若しくは非人間的オブジェクトの定型化)である人間以外のキャラクターを含む。いくつかの実施形態では、このようなアバターは、一般的に人間以外の特性及び特徴に対応するカスタマイズ可能な(例えば、選択可能又は構成可能な)アバター特徴を有するアバターを含む。いくつかの実施形態では、このようなアバターは、人間のアバターのカスタマイズ可能な特徴のいくつかが、人間以外の特性(例えば、化粧品による増強、帽子、眼鏡、又は人間の外観に典型的に関連付けられている他の非人間的オブジェクト)を含む場合であっても、様々な物理的、ヒトの特徴又は特性(例えば、丸顔及び短いウェービーヘアを有する若い子供)の表現を含まない。
いくつかの実施形態では、第1の表示領域を表示することは、ステッカーユーザインタフェースオブジェクト(例えば、614)(例えば、ステッカーアフォーダンス)を表示することを更に含む。いくつかの実施形態では、電子デバイスは、ステッカーユーザインタフェースオブジェクトに向けられた入力(例えば、616、656)を受信する。いくつかの実施形態では、ステッカーユーザインタフェースオブジェクトに向けられた入力の受信に応じて、電子デバイスは、第1の表示領域(例えば、605)の表示を中止する。いくつかの実施形態では、ステッカーユーザインタフェースオブジェクトに向けられた入力を受信したことに応じて、電子デバイスは、ステッカーユーザインタフェース(例えば、615)(例えば、コンテンツ作成ユーザインタフェース内で使用するために選択され得るステッカーを表示するユーザインタフェース)を表示する。いくつかの実施形態では、ステッカーユーザインタフェースは、コンテンツ作成ユーザインタフェースへの挿入のための既定のコンテンツに対応する第2の複数のグラフィックオブジェクト(例えば、ステッカー624、ステッカー642)を含む。いくつかの実施形態では、ステッカーユーザインタフェースは、コンテンツ作成ユーザインタフェースの一部分(例えば、メッセージ表示領域)と同時に表示される。いくつかの実施形態では、ステッカーユーザインタフェースは、ステッカーキーボード表示領域を置き換える。コンテンツ作成ユーザインタフェースへの挿入のための既定のコンテンツに対応するグラフィックオブジェクトのセットを表示することにより、ユーザは、既定のコンテンツに基づく心情を表現するためにメッセージを迅速且つ容易に構成することができる。これは、メッセージを作成するための改善された制御スキームを提供し、これは、メッセージを作成するために必要な入力を、異なる制御スキーム(例えば、個々のカスタムコンテンツの作成を必要とする制御スキーム)が使用された場合で必要とされるよりも少なくすることができる。更に、このタイプの制御は、例えば、テキスト会話又はビデオ会話などの会話の間にリアルタイムで行うことができるが、グラフィックオブジェクトを構築する手動制御は、会話が始まる前又は終了した後に行う必要がある。
いくつかの実施形態では、ステッカーユーザインタフェースオブジェクトを表示することは、第1のタイプのアバターの複数の表現(例えば、614-1、614-2)を含む第1の外観(例えば、図6Bの614)を有するステッカーユーザインタフェースオブジェクトを表示することを含む(例えば、ステッカーアフォーダンスは、第1のタイプのアバターの外観に基づくステッカーの表現を含む)。いくつかの実施形態では、アフォーダンスはまた、第2のタイプのアバターの1つ以上の表現を含む。第1のタイプのアバターの複数の表現を有するステッカーユーザインタフェースオブジェクトを表示することは、ステッカーユーザインタフェースオブジェクトの選択により、ユーザが第1のタイプのアバターのステッカーにアクセスできるようになるというフィードバックをユーザに提供する。改善されたフィードバックを提供することにより、デバイスの操作性が向上し、(例えば、デバイスを操作する/デバイスと対話するときにユーザが適切な入力を行うのを支援しユーザの誤りを削減することによって)ユーザ-デバイスインタフェースがより効率的になり、このことにより更に、ユーザがデバイスをより迅速且つ効率的に使用可能になることによって、電力使用量を削減し、デバイスのバッテリ寿命を改善する。
いくつかの実施形態では、第1の外観(例えば、図6Bの614)を有するステッカーユーザインタフェースオブジェクト(例えば、614)を表示した後、電子デバイスは、第1のタイプの第3のアバター(例えば、636)を作成する要求に対応する一連の入力を受信する。いくつかの実施形態では、電子デバイスは、第1の表示領域を再表示する要求(例えば、644)を受信する。いくつかの実施形態では、第1の表示領域を再表示する要求を受信したことに応じて、電子デバイスは、第1のタイプの第3のアバターの表現(例えば、614-2)を含む第2の外観(例えば、図6Iの614)を有するステッカーユーザインタフェースオブジェクト(例えば、614)を表示する(例えば、キーボード表示領域は、ステッカーユーザインタフェースオブジェクトを有するように再表示され、ステッカーユーザインタフェースオブジェクトは、第1のタイプの作成されたアバターに基づく外観を有するステッカーの表現を含む)。いくつかの実施形態では、ステッカーユーザインタフェースオブジェクトはまた、第1のタイプのアバターの1つ以上の表現を含む。いくつかの実施形態では、ステッカーユーザインタフェースオブジェクトはまた、第2のタイプのアバターの1つ以上の表現を含む。新たに作成されたアバターを反映するように更新された異なる外観を有するステッカーユーザインタフェースオブジェクトを再表示することは、追加のアバターを作成することにより、追加のアバターを表示するためにステッカーユーザインタフェースオブジェクトが更新されるというフィードバックをユーザに提供する。改善されたフィードバックを提供することにより、デバイスの操作性が向上し、(例えば、デバイスを操作する/デバイスと対話するときにユーザが適切な入力を行うのを支援しユーザの誤りを削減することによって)ユーザ-デバイスインタフェースがより効率的になり、このことにより更に、ユーザがデバイスをより迅速且つ効率的に使用可能になることによって、電力使用量を削減し、デバイスのバッテリ寿命を改善する。
いくつかの実施形態では、第1の外観を有するステッカーユーザインタフェースオブジェクト(例えば、614)を表示することは、第1のタイプのアバターの表現及び第2のタイプのアバターの表現のアニメーション化されたシーケンスを表示することを含む。いくつかの実施形態では、アニメーションは、アニメーション(例えば、笑顔、動きなど)を有するステッカーユーザインタフェースオブジェクト上の第1のステッカーの表現を示すこと、次いで、第1のステッカーの表現をアニメーションを有する第2のステッカーの表現に置き換えることなどを含む。いくつかの実施形態では、アニメーションにおけるステッカーの表現は、第1のタイプのステッカーの表現及び第2のタイプのステッカーの表現を含む。アバターの表現が循環して表示されるアニメーションを有するステッカーユーザインタフェースオブジェクトを表示することは、そのようなアバターがデバイスで利用できないというフィードバックをユーザに提供し、ステッカーユーザインタフェースオブジェクトの選択によってユーザがそのようなアバターを作成できることをユーザに知らせる。改善されたフィードバックを提供することにより、デバイスの操作性が向上し、(例えば、デバイスを操作する/デバイスと対話するときにユーザが適切な入力を行うのを支援しユーザの誤りを削減することによって)ユーザ-デバイスインタフェースがより効率的になり、このことにより更に、ユーザがデバイスをより迅速且つ効率的に使用可能になることによって、電力使用量を削減し、デバイスのバッテリ寿命を改善する。
いくつかの実施形態では、ステッカーユーザインタフェース(例えば、615)を表示することは、アバターのセットが第1のタイプのアバターを含まないという判定に従って、選択されると、第1のタイプのアバターを作成するための作成ユーザインタフェース(例えば、632)を表示する、作成ユーザインタフェースオブジェクト(例えば、626)(例えば、作成アフォーダンス)を表示することを更に含む。いくつかの実施形態では、アバターのセットが第1のタイプのアバターを含まない場合、第2のタイプのアバター用のステッカーのセットの複数の表現(例えば、図6Cの622)(例えば、622-1、622-5)が、ステッカーユーザインタフェース内に表示される。いくつかの実施形態では、第2のタイプのアバター用のステッカーのセットの表現のうちの1つは、選択された状態を有して表示され、選択された表現に対応する第2のタイプのステッカーのセット(例えば、624、690)が表示される。
いくつかの実施形態では、第1の表示領域を表示することは、複数の絵文字(例えば、609)(例えば、既定のカテゴリ内の既定の絵文字、又は以前のユーザ活動(例えば、最近/頻繁に使用された)に基づいて選択された既定の絵文字)を表示することを更に含む。
いくつかの実施形態では、第1のタイプとは異なる第2のタイプのアバターに基づく外観を有する第1のサブセット内のグラフィックオブジェクトを表示した後、第1のタイプのアバターに基づく外観を有する第1のサブセット内のグラフィックオブジェクトのうちの1つを表示することなく、電子デバイスは、第1のタイプの第1のアバターを作成する要求に対応する一連の入力(例えば、630、634、638)を受信する(例えば、第1のタイプのアバター(例えば、ユーザ作成アバター)の作成を検出する)。いくつかの実施形態では、一連の入力を受信したことに応じて、電子デバイスは、第1のタイプの第1のアバター(例えば、636)を作成し、第1のアバターをアバターのセットに追加する。いくつかの実施形態では、第1のタイプの第1のアバターを作成した後、電子デバイスは、第1の表示領域(例えば、605)を再表示する要求(例えば、644)を受信する。いくつかの実施形態では、第1の表示領域を再表示する要求を受信したことに応じて、電子デバイスは、第1の表示領域をグラフィックオブジェクトの第1のサブセット(例えば、612)と共に表示する。いくつかの実施形態では、グラフィックオブジェクトの第1のサブセットは、第1のタイプの第1のアバターに基づく外観を有する第1のグラフィックオブジェクト(例えば、図6Iの642-1)を含む(例えば、キーボードが再表示され、グラフィックオブジェクトのサブセットは、新たに作成されたアバターに基づく外観を有するステッカーを含む)。いくつかの実施形態では、第1のタイプのアバター(例えば、新たに作成されたアバター)に基づくステッカーには、第2のタイプのステッカーよりも高い優先度が割り当てられる。いくつかの実施形態では、キーボード表示領域は、ステッカーの優先度に基づいて電子デバイスによって提案されるステッカーを含む。新たに作成されたアバターのステッカーで更新された第1の表示領域を表示することは、メッセージで通信するためにステッカーが選択できるということをユーザに知らせるフィードバックを与える。更に、これは、新たに作成されたアバターのためのステッカーを作成する技術的タスクを実行するための入力の数を減らす。改善されたフィードバックを提供し、タスクを実行するために必要な入力の数が減ることにより、デバイスの操作性が高められ、ユーザ-デバイスインタフェースを(例えば、デバイスを操作する/デバイスと対話するときにユーザが適切な入力を行うのを支援し、ユーザの誤りを削減することによって)より効率的にし、加えて、ユーザがデバイスをより迅速且つ効率的に使用できるようにすることによって、デバイスの電力使用が抑えられ、バッテリ寿命が改善される。
いくつかの実施形態では、第1のタイプとは異なる第2のタイプのアバターに基づく外観を有する第1のサブセット内のグラフィックオブジェクトを表示(例えば、612)した後、第1のタイプのアバターに基づく外観を有する第1のサブセット内のグラフィックオブジェクトのうちの1つを表示することなく、電子デバイスは、第1のタイプ(例えば、第1のタイプのアバターに基づく外観を有するステッカー)の第2のアバターに対応するグラフィックオブジェクト(例えば、642-1)の(例えば、ドキュメント作成ユーザインタフェース又はメッセージ構成ユーザインタフェースなどのコンテンツ作成ユーザインタフェース内での)使用(例えば、ステッカーを送信すること、ステッカーを作成することなど)に対応する一連の入力(例えば、644)を受信する。いくつかの実施形態では、第1のタイプの第2のアバターに対応するグラフィックオブジェクトの使用に対応する一連の入力を受信した後、電子デバイスは、第1の表示領域を再表示する要求を受信する。いくつかの実施形態では、第1の表示領域を再表示する要求を受信したことに応じて、電子デバイスは、第1の表示領域をグラフィックオブジェクトの第1のサブセットと共に表示し、グラフィックオブジェクトの第1のサブセットは、第1のタイプの第2のアバターに対応するグラフィックオブジェクト(例えば、642-1)を含む(例えば、キーボードが再表示され、グラフィックオブジェクトのサブセットは、使用されたステッカーを含む)。いくつかの実施形態では、キーボード表示領域は、第1のタイプ(又は第2のタイプ)のステッカーの使用履歴に基づいて電子デバイスによって提案されるステッカーを含む(例えば、最近及び/又は頻繁に使用されているステッカーを提案する)。以前に使用されたステッカーで更新された第1の表示領域を表示することは、後続の通信においてステッカーの位置を特定し、送信するために必要な入力の数を減らす。タスクを実行するために必要な入力の数が減ることにより、デバイスの操作性が高められ、ユーザ-デバイスインタフェースを(例えば、デバイスを操作する/デバイスと対話するときにユーザが適切な入力を行うのを支援し、ユーザの誤りを削減することによって)より効率的にし、加えて、ユーザがデバイスをより迅速且つ効率的に使用できるようにすることによって、デバイスの電力使用が抑えられ、バッテリ寿命が改善される。
いくつかの実施形態では、電子デバイスで利用可能なアバターのセットに基づく外観を有するグラフィックオブジェクトのうちのそれぞれの1つの第1のインスタンス(例えば、図6Iの642-1)を表示している間に、電子デバイスは、グラフィックオブジェクトのうちのそれぞれの1つの第1のインスタンスに向けられた第1のタイプの入力(例えば、646)(例えば、タップジェスチャ)を受信する。いくつかの実施形態では、第1のタイプの入力を受信したことに応じて、電子デバイスは、グラフィックオブジェクトのうちのそれぞれの1つの第2のインスタンス(例えば、650)を表示する(例えば、グラフィックオブジェクトのうちのそれぞれの1つのプレビューが、グラフィックオブジェクトのうちのそれぞれの1つに対応するステッカーを送信することなく表示される)。いくつかの実施形態では、キーボード表示領域内の他のグラフィックオブジェクト(例えば、絵文字)は、第1のタイプの入力(例えば、タップジェスチャ)に応答する。例えば、絵文字は、タップジェスチャを使用して選択することができる。第1のタイプの入力を受信したことに応じて、グラフィックオブジェクトのそれぞれの1つの第2のインスタンスを表示することは、グラフィックオブジェクト及びキーボード上に表示された絵文字と対話するための一貫性を維持する。これは、キーボード表示領域に提示された異なるグラフィックオブジェクトと対話するための直感的なインタフェースを提供し、これにより精通度が上がることでデバイスの操作性が改善され、ユーザ-デバイスインタフェースを(例えば、デバイスを操作する/デバイスと対話するときに適切な入力を提供するようにユーザを支援し、ユーザの誤りを削減することによって)更に効率的にし、加えて、ユーザがデバイスを更に素早く且つ効率的に使用することを可能にすることによってデバイスの電力使用を削減し、バッテリ寿命を改善する。
いくつかの実施形態では、グラフィックオブジェクトのうちのそれぞれの1つの第2のインスタンス(例えば、650)を表示している間に、電子デバイスは、グラフィックオブジェクトのうちのそれぞれの1つの第2のインスタンスに向けられた第2の入力を受信し、第2の入力は、静止している第1の部分と、それに続く第2の入力の移動を含む第2の部分とを含む。いくつかの実施形態では、第2の入力を受信したことに応じて、第2の入力が第1の基準(例えば、第2の入力の第1の部分は、閾値時間量にわたって、グラフィックオブジェクトのうちのそれぞれの1つの第2のインスタンスの位置において静止しており、第2の入力の第2の部分は、コンテンツ作成ユーザインタフェースのメッセージング領域に対応する位置への移動を含む)を満たすという判定に従って、電子デバイスは、グラフィックオブジェクトのうちのそれぞれの1つに対応するステッカーを受信ユーザに送信する。例えば、図6J及び6Kでは、デバイス600は、ユーザがプレビュー650をタッチして保持する(送信するためのステッカーを選択するようにデバイス600をトリガする)と、メッセージング会話においてビーニー帽ステッカー642-1を第2の受信者607-2に送信し、次いで、メッセージ領域603-1に連絡先をドラッグする。いくつかの実施形態では、第2の入力を受信したことに応じて、第2の入力が第1の基準を満たさないという判定に従って、電子デバイスは、グラフィックオブジェクトのうちのそれぞれの1つに対応するステッカーを受信ユーザに送信することを取り止める。例えば、以前の例を参照すると、ユーザがデバイス600をトリガしてステッカーを選択するのに十分に長くプレビュー650上の連絡先を維持しない場合、デバイス600は、ユーザがメッセージ領域603-1に連絡先をドラッグした場合でも、メッセージング会話においてステッカー642-1を第2の受信者607-2に送信しない。第2の入力が第1の基準を満たさないときにステッカーを送信することを取り止めることは、ステッカーの偶発的な送信の可能性を低減し、これによりデバイスの操作性が高められ、ユーザ-デバイスインタフェースを(例えば、デバイスを操作する/デバイスと対話するときにユーザが適切な入力を行うのを支援し、ユーザの誤りを削減することによって)より効率的にし、加えて、ユーザがデバイスをより迅速且つ効率的に使用できるようにすることによって、デバイスの電力使用が抑えられ、バッテリ寿命が改善される。
いくつかの実施形態では、グラフィックオブジェクトのうちのそれぞれの1つの第2のインスタンス(例えば、650)を表示することは、送信ユーザインタフェースオブジェクト(例えば、652)(例えば、送信アフォーダンス)を表示することを更に含む。いくつかの実施形態では、電子デバイスは、送信ユーザインタフェースオブジェクトに向けられた入力(例えば、654)を受信する。いくつかの実施形態では、送信ユーザインタフェースオブジェクトに向けられた入力を受信したことに応じて、電子デバイスは、グラフィックオブジェクトのうちのそれぞれの1つに対応するステッカーを受信ユーザに送信する。
方法800に関して上述したプロセス(図8)の詳細はまた、上述及び後述する方法にも、類似の方式で適用可能であることに留意されたい。例えば、方法700、1000、1200、1300、1500、1700及び1800は、方法800を参照して上述した様々な方法の特性のうちの1つ以上を任意選択的に含む。例えば、ステッカーは、上述したものと同様の方法でユーザインタフェースに表示及び使用することができる。簡潔にするために、これらの詳細は、以下で繰り返さない。
図9A~図9AGは、いくつかの実施形態に係る、連絡先アプリケーションユーザインタフェースにアバターを表示するための例示的なユーザインタフェースを示す。これらの図のユーザインタフェースは、図10のプロセスを含む後述のプロセスを例示するために使用される。
図9Aは、電子デバイス上の連絡先アプリケーション内で利用可能な連絡先のリストを示す連絡先ユーザインタフェース902を(例えば、ディスプレイ601に)表示する電子デバイス600を示す。連絡先アプリケーションは、連絡可能ユーザを管理するためのアプリケーションである。
図9Aでは、デバイスは、入力904(例えば、タップジェスチャ)を検出し、それに応じて、連絡先アプリケーションのための新しい連絡先を作成するための新しい連絡先ユーザインタフェース906を図9Bで表示する。
図9Bに示されるように、新しい連絡先ユーザインタフェース906は、データフィールド908及び領域910を含み、この領域910は、任意選択的に、新しい連絡先の表現を表示する。表現は、例えば、メッセージングアプリケーション、連絡先のリスト、電子メール、又は連絡先が表現され得る他のインスタンスなどの様々なユーザインタフェースに連絡先を表すように表示することができる。
図9Cは、新しい連絡先ユーザインタフェースの名前フィールドに入力された新しい連絡先に関する情報を示す。図9Cに示されるように、新しい連絡先のそれぞれの下の名前及び苗字として「ジェーン・アップルシード」が入力される。名前情報を受信した後、デバイス600は、新しい連絡先名「ジェーン・アップルシード」に対応するイニシャル「JA」を有するモノグラム表現を表示するように領域910を更新する。
図9Cでは、デバイス600は、電話番号オプション上の入力912(例えば、タップジェスチャ)を検出し、図9Dに示されるように、新しい連絡先ジェーン・アップルシードの電話番号に入力するためのキーボードを表示する。
いくつかの実施形態では、新しい連絡先表現は、新しい連絡先ユーザインタフェース906から領域910を選択することによって編集することができる。例えば、図9Dは、領域910上の入力914を検出するデバイス600を示す。
領域910上の入力914を検出したことに応じて、デバイス600は、図9Eに見られるように、新しい連絡先の表現(例えば、ジェーン・アップルシード)の外観を変更するための表現編集ユーザインタフェース915を表示する。いくつかの実施形態では、ユーザインタフェース915を使用して、既存の連絡先(例えば、新しい連絡先ではない)の表現の外観を編集することができることが理解されるべきである。
ユーザインタフェース915は、現在の表現916を含む。現在の表現916は、連絡先の表現の現在の外観を表す。したがって、ユーザインタフェース915を出ると(例えば、終了アフォーダンス917を選択したことに応じて)、デバイス600の様々なユーザインタフェース全体を通して示されるような連絡先の表現(例えば、新しい連絡先ユーザインタフェース906の領域910に現れるものなど)は、現在の表現916に示される外観を有する。以下で詳細に論じられるように、現在の表現916は、ユーザインタフェース915における一連のユーザ入力に応じて更新される。しかしながら、そのような更新は破棄することができ、連絡先の表現は、キャンセルアフォーダンス918の選択を検出したことに応じて、その以前の(例えば、ユーザインタフェース915を表示する前に領域910に示された)外観に戻る。
図9Eでは、現在の表現916は、新しい連絡先ユーザインタフェース906に以前に表示されたモノグラムオプションの外観を有する。図9F~図9AFは、本開示の様々な実施形態による、現在の表現916を変更するための一連の入力を示す。
ユーザインタフェース915は、現在の表現916を変更するための選択可能オプションのセットを更に含む。オプションの第1のセット921は、選択されると、現在の表現916として設定するアバターを選択するためのプロセスを開始するオプションを含む。オプションの第2のセット922は、一般に、選択されると、現在の表現916として非アバター表現を選択するためのプロセスを開始するオプションを含む。非アバター表現の例は、写真及びモノグラムを含む。いくつかの実施形態では、オプション922の第2のセットは、使用履歴に基づいて決定されるオプションのサブセットを含むことができる。例えば、以前に(例えば最近)使用されたオプション及び/又はユーザによって頻繁に使用されるオプションを含むサブセット。このような実施形態では、オプションのサブセットはアバターオプション(例えば、最近使用されたアバターオプション)を含むことができる。いくつかの実施形態では、オプション922の第2のセットは、新しい連絡先に利用可能な情報に基づいてユーザに推奨されるオプションを含むことができる。例えば、オプションは、連絡先の写真、連絡先に送信された若しくは連絡先から受信された写真/ステッカー/アバター、連絡先に関連付けられたアバター、又は連絡先に以前に使用された他の表現を含むことができる。いくつかの実施形態では、オプションは、例えば、連絡先との通信からのメッセージングメタデータからのコンテンツなど、デバイス600において利用可能な情報に基づいて推奨される。
図9Eでは、デバイス600は、サルアバターオプション921-1上の入力924(例えば、タップジェスチャ)を検出し、それに応じて、選択されたアバターオプションのポーズオプションを選択するためのインタフェースを表示する。いくつかの実施形態では、デバイス600は、異なるタイプのポーズインタフェースを表示することができる。例えば、デバイス600のカメラ602が深度データ(例えば、ユーザの顔のポーズの変更をキャプチャするためのデータ)をキャプチャするように構成されている場合、デバイス600は、ユーザが表示されたアバターを制御して所望のポーズを達成することを可能にする、ライブポーズインタフェースを表示する。カメラ602が深度データをキャプチャするように構成されていない実施形態では、デバイス600は、選択されたアバターオプションの複数の既定のポーズを含む、定型のポーズインタフェースを表示する。
図9Fでは、デバイス600は、選択されたアバターオプションに対応する外観を有するアバター928、キャプチャアフォーダンス930、及びキャンセルアフォーダンス932を含む、ライブポーズインタフェース926を表示する。図9Fでは、アバター928は、入力924を介して選択されたサルアバターオプション921-1に対応する。以下でより詳細に論じられるように、アバター928は、ユーザの顔の動き(例えば、カメラ602を介してキャプチャされる)を追跡し、ユーザの顔のポーズの変更に基づいて更新される。図9Fでは、アバター928は、ユーザの顔によって制御される笑顔ポーズを有する(例えば、ユーザの顔は同様の笑顔ポーズを有する)。
図9Fでは、デバイス600は、キャンセルアフォーダンス932上の入力934を検出し、それに応じて、図9Gに示されるように、現在の表現916を更新することなく、表現編集ユーザインタフェース915に戻る。
図9Gでは、デバイス600は、女性アバターオプション921-2上の入力936を検出し、それに応じて、図9Gで選択された女性アバターオプション921-2に対応する外観を有するアバター928を有する図9Hのライブポーズユーザインタフェース926を表示する。図9Hでは、アバター928は、アバターの舌が突き出ているポーズを有する。この実施形態では、アバター928は、カメラ602を介して検出される顔のポーズの変更(例えば、顔の表情の変更及び顔の特徴の動き)を通じて、ユーザの顔によって制御される。したがって、ユーザは、カメラ602の視野内の顔の特徴を動かすことによってアバター928に対する様々なポーズオプションの表示を制御することができ、デバイス600にアバター928のポーズに対応する変更を表示させる。
図9Iでは、デバイス600は、笑顔及び頭の傾きを含むポーズを有するユーザの顔を(例えば、カメラ602を介して)検出し、同じポーズをとるようにアバター928を変更する。デバイス600は、キャプチャアフォーダンス930上の入力938を検出し、これにより、デバイス600は、アバター928の現在のポーズ(例えば、キャプチャアフォーダンス930が選択されたときのアバター928のポーズ)を選択する。
図9Jは、定型のポーズインタフェース940を使用して選択された女性アバターオプション921-2のポーズを選択するための代替の実施形態を示す。例えば、カメラ602が深度データ(例えば、ユーザの顔を追跡するために使用されるデータ)をキャプチャするように構成されていない場合、定型のポーズインタフェース940は、ライブポーズインタフェース926の代わりに(例えば、女性アバターオプション921-2上の入力936に応じて)表示される。定型のポーズインタフェース940では、デバイス600は、様々な既定のアバターポーズ942-1~942-6を表示する。図9Jでは、デバイス600は、笑顔の頭傾けポーズに対応する既定のアバターポーズ642-3を選択する入力944を検出する。
図9I又は9Jでアバターポーズをキャプチャした後、デバイス600は、図9Kに示されるように、選択されたアバターポーズ948の位置及びスケールを変更するためのスケーリングユーザインタフェース946を表示する。いくつかの実施形態では、アバターポーズ948は、スケーリングインタフェース946を表示している間に検出されたスワイプに応じて移動される(例えば、円形フレーム内で移動される)。いくつかの実施形態では、アバターポーズ948は、スケーリングインタフェース946を表示している間に検出されたピンチアウトジェスチャ又はピンチインジェスチャに応じてスケーリングされる(例えば、ズームイン又はズームアウトされる)。選択されたアバターポーズ948の位置及びスケールを確認する入力950を検出した後、デバイス600は、図9Lの背景オプション952-1~952-6を表示し、アバター表現の背景オプションの選択を(例えば、背景オプション952-3の入力954を介して)検出し、図9Mの表現編集ユーザインタフェース915に戻る。
図9Mに示されるように、表現編集ユーザインタフェース915は、女性アバターオプション921-2の選択及びカスタマイズに基づいて更新される。例えば、現在の表現916の外観は、図9G~9Lで行われた様々な選択及び/又は入力に基づいて更新される。具体的には、現在の表現916は、図9Gに示すモノグラムの外観から図9Mの外観に変更され、笑顔及び頭傾けポーズを有し、位置付けられ、スケーリングされ、選択された背景オプション952-3を有する女性のアバターオプションを示す。更に、オプションの第2のセット922は、現在の表現916の以前の外観を表すモノグラムオプション922-1を含むように更新される。すなわち、モノグラムオプション922-1は選択可能な非アバターオプションであり、選択された場合、以前に表示されたモノグラムオプションの外観(例えば、図9Gに示される)を有するように現在の表現916を更新する。オプションの第2のセット922の残りの非アバターオプションは、オプションのセット内のモノグラムオプション922-1の表示に対応するようにシフトされ、(例えば、オプションの第1のセット921をディスプレイ601から押すことを回避するために)以前に表示された非アバターオプションは、セットから除去される。
いくつかの実施形態では、ユーザは、現在の表現916として選択するためのアバターを作成することができる。例えば、図9Mでは、デバイス600は、アバター作成オプション921-3を選択する入力956を検出し、図9Nのアバター作成ユーザインタフェース958を表示する(図6Fに示すアバター作成ユーザインタフェース632と同様)。デバイス600は、図9Nのアバター作成ユーザインタフェース958内の入力959によって一般的に表される入力を検出して、図9Oに示される新しいアバター960を構築/作成する。終了アフォーダンス963上の入力962に応じて、デバイス600は、アバター作成ユーザインタフェース958を出て、図9Pの表現編集ユーザインタフェース915に戻り、新しいアバター960の外観を有するように更新された現在の表現916を示す。いくつかの実施形態では、新しいアバター960を作成した後、新しいアバターは、例えば、メッセージングアプリケーション、カメラアプリケーション、メディア閲覧アプリケーション、及びデバイス600上の他のアプリケーションなどの他のアプリケーションを含む、電子デバイス600での使用に利用可能である。更に、新しいアバター960を更新することができ、他のアプリケーションに含まれる新しいアバター960に対する更新が行われる。
更に、オプションの第1のセット921は、新しいアバター960の表現である新しいアバターオプション921-4を含むように図9Pで更新され、オプションの第2のセット922は、現在の表現916の以前の外観に対応する女性アバターオプション922-2を含むように更新される。前述のように、オプションの第2のセット922内の選択可能オプションのいくつかは、女性アバターオプション922-2の追加に対応するようにシフトされる。いくつかの実施形態では、以前に使用された表現オプションは、最上段922a(例えば、隣接するカメラオプション922-3又は隣接するモノグラムオプション922-1)の位置でオプションの第2のセット922に追加される。
図9Pで、デバイス600は、モノグラムオプション922-1上の入力964を検出し、図9Qの背景オプション965を表示する。(例えば、入力967を介して)背景オプションの選択を検出した後、デバイス600は、図9Rにおいて、モノグラム表現に表示された文字のための異なるフォントオプション966を表示する。(例えば、入力969を介して)フォントスタイルの選択を検出した後、デバイス600は、図9Sの表現編集ユーザインタフェース915を再び表示し、選択されたモノグラムオプションで更新された現在の表現916、及びオプションの第2のセット922に追加された新しいアバターオプション922-4を示す。
図9Sでは、デバイス600は、写真オプション922-5上の入力968を検出する。いくつかの実施形態では、写真オプション922-5は、デバイス600で利用可能な写真のサムネイルビューを表す。いくつかの実施形態では、写真は、連絡先の写真(例えば、ジェーン・アップルシードの写真)として(例えば、自動画像認識を介して)識別される。いくつかの実施形態では、写真オプション922-5は、連絡先について最近使用された連絡先表現である。
入力968を検出したことに応じて、デバイス600は、図9Tでは、選択され、選択された写真オプションに適用され得る異なるフィルタオプション972を有するフィルタユーザインタフェース970を表示する。デバイスは、フィルタオプション972のうちの1つを選択する入力974を検出し、図9Uに示されるように、選択されたフィルタオプションを写真に適用する。現在の表現915は、選択された写真オプション922-5を有するが選択されたフィルタオプション972で変更されて図9Uに表示される。オプションの第2のセット922は、現在の表現916の以前の外観を表す最近のモノグラムオプション922-6で更新される。
図9Uでは、デバイス600は、終了アフォーダンス917上の入力975を検出し、表現編集ユーザインタフェース915を出る。
図9Vでは、デバイス600は、連絡先のための連絡先カード976(例えば、ジェーン・アップルシード)を、図9Uの現在の表現916の外観を有する連絡先表現978と共に表示する。
図9Vでは、デバイス600は、編集アフォーダンス982上の入力980を検出し、それに応じて、図9Wの表現編集ユーザインタフェース915を表示する。
図9Wでは、デバイス600は、カメラオプション922-3上の入力984を検出し、それに応じて、デバイス600のカメラ(例えば、カメラ602)の視野内でキャプチャされた画像データの表現を示すカメラユーザインタフェース986を表示する。デバイス600は、キャプチャアフォーダンス988上の入力987を検出し、スケーリングユーザインタフェース990を用いて図9Yに表示された画像989をキャプチャする。
図9Yでは、デバイス600は、図9Zの様々なフィルタオプション992と共に表示される画像989のスケーリングされた(及び移動された)部分を選択する入力991を検出する。デバイス600は、ノーフィルタオプション992-1の選択を検出し、それに応じて、図9Y~9Zでキャプチャされ選択されて現在の表現916として設定されたフィルタなし画像を有する、図9AAの表現編集ユーザインタフェース915を表示する。オプションの第2のセット922は、現在の表現916の以前の外観を表すフィルタリングされた写真オプション922-7を含むように更新される。
図9AAでは、デバイス600は、デバイス600上で利用可能なフォトライブラリにアクセスするためのアフォーダンスである、全てのアフォーダンス994上の入力993を検出する。これに応じて、デバイス600は、図9ABの写真アルバムユーザインタフェース995を表示する。図9AB及び9ACでは、デバイス600は、デバイス600で利用可能なアルバムからの写真の選択を検出し、図9ADのスケーリングユーザインタフェース990に選択された写真の表現996を表示する。
デバイス600は、表現996のスケーリング及び移動(例えば、トリミング)を検出し、図9ADにおける入力997に応じて、スケーリング及び移動された画像の選択を検出する。
図9AEでは、デバイス600は、フィルタオプションを表示し、フィルタオプションのうちの1つの選択を検出し、上記のステップで作成され、図9AA~9AEに示される画像を有する現在の表現916を表示する。オプションの第2のセット922は、以前の写真オプション922-8で更新される。
デバイス600は、終了アフォーダンス917上の入力998を検出し、図9AGでは、図9AA~9AEで行われた選択によって作成された連絡先表現の外観で更新された連絡先表現978を有する連絡先カード976を表示する。
図10は、いくつかの実施形態に係る、電子デバイスを使用して連絡先アプリケーションユーザインタフェースにアバターを表示するための方法を示すフロー図である。方法1000は、ディスプレイ及び1つ以上の入力デバイス(例えば、601、602)を備えたデバイス(例えば、100、300、500、600)にて実行される。方法1000のいくつかの動作は、任意選択的に組み合わされ、いくつかの動作の順序は、任意選択的に変更され、いくつかの動作は、任意選択的に省略される。
下で説明されているように、方法1000は、連絡先アプリケーションユーザインタフェース内にアバターを表示するための直感的な方法を提供する。この方法は、連絡先アプリケーションユーザインタフェース内にアバターを表示する際のユーザの認識的負担を軽減し、それにより、より効率的なヒューマン-マシンインタフェースを作り出す。バッテリ動作式コンピューティングデバイスの場合、ユーザがより高速且つ効率的に連絡先アプリケーションユーザインタフェース内にアバターを表示することが可能になることにより、電力が節約され、バッテリ充電の間隔が長くなる。
電子デバイス(例えば、600)は、表示デバイス(例えば、601)を介して、連絡可能ユーザ編集ユーザインタフェース(例えば、915)(例えば、連絡可能ユーザについて電子デバイスにおいて情報を編集するためのインタフェース(例えば、電話、電子メール、メッセージングなどを介して連絡するための)、単一のインタフェース画面)を表示する(1002)。いくつかの実施形態では、連絡可能ユーザ編集ユーザインタフェースは、アバター表現オプション(例えば921-2)を含む連絡可能ユーザについての1つ以上の表現オプション(例えば、921)(例えば、ユーザインタフェースオブジェクト(アフォーダンス))を含む(例えば、同時に含む)(例えば、アバター表現オプションは、選択されると、連絡可能ユーザの表現として使用するアバターを選択するためのプロセスを開始するユーザインタフェースオブジェクト(例えば、アフォーダンス)である)。いくつかの実施形態では、アバター表現オプションは、アバター(例えば、人間のキャラクターを表すためにモデル化されたアバター、人間以外のキャラクターを表すためにモデル化されたアバター、ユーザによって作成及び/又はカスタマイズ可能なアバター、及びユーザによって作成又はカスタマイズできないアバターなどのアバター)の外観を有する。いくつかの実施形態では、人間を表すためにモデル化されたアバターは、一般に人間の身体的特性に対応するカスタマイズ可能な(例えば、選択可能又は構成可能な)アバター特徴を含む。例えば、そのようなアバターは、様々な身体的な人間の特徴又は特性を有する個人の表現(例えば、浅黒い肌の色及び長い茶色の直毛を有する高齢の女性)を含んでよい。そのようなアバターは、通常は人間の外観に関連付けられる様々な人間以外の特性(例えば、装飾用の拡張、帽子、眼鏡など)を有する個人の表現も含む。いくつかの実施形態では、そのようなアバターは、定型化された動物、定型化されたロボット、又は通常は無生物若しくは非人間的対象物の定型化などの、擬人化された構成を含まない。いくつかの実施形態では、人間以外のキャラクターを表すようにモデル化されたアバターは、例えば、擬人化された構成(例えば、定型化された動物、定型化されたロボット、又は通常は無生物若しくは非人間的オブジェクトの定型化)である人間以外のキャラクターを含む。いくつかの実施形態では、このようなアバターは、一般的に人間以外の特性及び特徴に対応するカスタマイズ可能な(例えば、選択可能又は構成可能な)アバター特徴を有するアバターを含む。いくつかの実施形態では、このようなアバターは、人間のアバターのカスタマイズ可能な特徴のいくつかが、人間以外の特性(例えば、化粧品による増強、帽子、眼鏡、又は人間の外観に典型的に関連付けられている他の非人間的オブジェクト)を含む場合であっても、様々な物理的、ヒトの特徴又は特性(例えば、丸顔及び短いウェービーヘアを有する若い子供)の表現を含まない。
いくつかの実施形態では、連絡可能ユーザ編集ユーザインタフェース(例えば、915)は、連絡可能ユーザ(例えば、916)の第1の表現(例えば、画像、モノグラム、又は連絡可能ユーザへの視覚的関連付けを提供する他の記号)を更に含む。いくつかの実施形態では、連絡可能ユーザの表現は、連絡可能ユーザを表すために、他のユーザインタフェース(例えば、電話アプリケーションUI、メッセージングアプリケーションUIなど)に(典型的にはスクリーン上の小さな領域に)表示される。いくつかの実施形態では、連絡可能ユーザの第1の表現は、連絡可能ユーザインタフェースで連絡可能ユーザの表現として使用するために選択されたアバター(例えば、921-2)に置き換えられる。
いくつかの実施形態では、1つ以上の表現オプションは、非アバターオプション(例えば、922-1、922-3、922-5、922-6、922-7、922-8)(アバターに対応しない連絡可能ユーザ表現オプション)を含む(例えば、非アバターオプションは、連絡可能ユーザインタフェースで連絡可能ユーザの表現として使用するために選択するためのアバターではない写真、モノグラム、又は他のオプションに関連付けられている)。いくつかの実施形態では、電子デバイス(例えば、600)は、1つ以上の入力デバイス(例えば、601)を介して、非アバターオプションの選択(例えば、964、968、984、993)を検出する。いくつかの実施形態では、非アバターオプションの選択を検出したことに応じて、電子デバイスは、連絡可能ユーザインタフェースで連絡可能ユーザの表現として使用するアバター(例えば、写真、モノグラムなど)以外の表現オプションを選択するプロセスを開始する。
いくつかの実施形態では、1つ以上の表現オプションは、連絡可能ユーザに関する情報に基づいて選択された複数のオプション(例えば、922)を含む。
いくつかの実施形態では、連絡可能ユーザに関する情報に基づいて選択された複数のオプションは、連絡可能ユーザの最近使用された表現(例えば、922-1、922-2、922-4、922-6、922-7、922-8)(例えば、連絡可能ユーザの表現を選択する所定の時間又は所定の数のインスタンス内で以前に使用された連絡可能ユーザの表現)を含む。いくつかの実施形態では、連絡可能ユーザについて表現が選択された後、この表現は、連絡可能ユーザの最近使用された表現の集合に追加される。最近選択された連絡可能ユーザの表現を、連絡可能ユーザのために最近使用された表現の集合に追加すると、最近選択された表現の後続の使用のために必要とされる入力の数が減る(例えば、表現を作成又はアクセスするために必要とされる入力を減らす)。入力の数が減ることにより、デバイスの操作性が高められ、ユーザ-デバイスインタフェースを(例えば、デバイスを操作する/デバイスと対話するときに適切な入力をもたらすようにユーザを支援し、ユーザの誤りを減らすことによって)より効率的にし、加えて、ユーザがデバイスをより迅速且つ効率的に使用できるようにすることによって、デバイスの電力使用が抑えられ、バッテリ寿命が改善される。
いくつかの実施形態では、連絡可能ユーザに関する情報に基づいて選択された複数のオプションは、連絡可能ユーザに関連付けられていると識別された電子デバイスにおいて利用可能なメディアアイテム(例えば、922-5)(例えば、連絡可能ユーザの写真)を含む。いくつかの実施形態では、連絡可能ユーザに関する情報に基づいて選択された複数のオプションは、連絡可能ユーザに関連付けられているものとして識別され、特定の品質基準(例えば、写真は主に連絡可能ユーザを撮影しており、写真は焦点が合っているなど)を満たすメディアアイテムを含む。いくつかの実施形態では、メディアアイテムは、連絡可能ユーザに対応する。例えば、メディアアイテムは、ユーザの写真を含む。別の実施例として、メディアアイテムは、連絡可能ユーザとの間で以前に(例えば、最近)送受信された。連絡可能ユーザの表現としての潜在的な使用のために最近通信されたメディアアイテムを表示することは、メディアアイテムの後続の使用に必要とされる入力の数を減らす(例えば、表現を作成又はアクセスするために必要とされる入力を減らす)。入力の数が減ることにより、デバイスの操作性が高められ、ユーザ-デバイスインタフェースを(例えば、デバイスを操作する/デバイスと対話するときに適切な入力をもたらすようにユーザを支援し、ユーザの誤りを減らすことによって)より効率的にし、加えて、ユーザがデバイスをより迅速且つ効率的に使用できるようにすることによって、デバイスの電力使用が抑えられ、バッテリ寿命が改善される。
いくつかの実施形態では、連絡可能ユーザに関する情報は、連絡可能ユーザとのメッセージング通信セッションからの情報を含む。いくつかの実施形態では、アイテムは、ステッカー、写真、又は連絡可能ユーザとの通信からのメッセージングメタデータを含む他のコンテンツを含む。
いくつかの実施形態では、1つ以上の表現オプションは、モノグラム表現オプション(例えば、922-1、922-6)(例えば、連絡可能ユーザに関連付けられた名前(例えば、下の名前、苗字、ミドルネーム)に対応するイニシャルを有するモノグラムである連絡可能ユーザの表現)を含む。
いくつかの実施形態では、1つ以上の表現オプションは、メディアアイテムオプション(例えば、922-5、922-7、922-8)を含む(例えば、連絡可能ユーザに関連付けられた写真(例えば、連絡可能ユーザの写真の集合)から、連絡可能ユーザに関連付けられた写真(例えば、連絡可能ユーザの写真)を選択する)。
いくつかの実施形態では、メディアアイテムオプションの選択を検出した後に、電子デバイス(例えば、600)は、表示デバイス(例えば、601)を介して、選択されたメディアアイテムオプションに関連付けられたメディアアイテムにフィルタ効果を適用するための複数のフィルタオプションを表示する。いくつかの実施形態では、フィルタ効果は、メディアアイテム上にフィルタ効果を重ね合わせることによって、メディアアイテムに適用される。いくつかの実施形態では、フィルタ効果は、メディアアイテム内の背景、並びにメディアアイテムに含まれ得る任意の適用された視覚効果(例えば、アバター、ステッカーなど)の両方に変更を適用する。いくつかの実施形態では、フィルタは、メディアアイテムの外観を変更する(例えば、コミックブックフィルタ、スケッチ描画フィルタ、白黒フィルタ、グレースケールフィルタなどを適用する)。いくつかの実施形態では、フィルタは、メディアアイテムの現実感を低減するフィルタ(例えば、スケッチフィルタ又はコミックブックフィルタ)である。いくつかの実施形態では、フィルタは、メディアアイテムの3D効果(例えば、平坦化)を低減するフィルタである。選択された後にメディアアイテムオプションを変更するためのフィルタオプションを表示することは、異なる制御スキームが使用された場合に選択されたメディアアイテムをカスタマイズするために必要とされる入力の数を減らす(例えば、カスタマイズユーザインタフェースへのナビゲーション及び選択されたメディアアイテムの表示及び変更のための異なる制御の選択)。タスクを実行するために必要な入力の数が減ることにより、デバイスの操作性が高められ、ユーザ-デバイスインタフェースを(例えば、デバイスを操作する/デバイスと対話するときにユーザが適切な入力を行うのを支援し、ユーザの誤りを削減することによって)より効率的にし、加えて、ユーザがデバイスをより迅速且つ効率的に使用できるようにすることによって、デバイスの電力使用が抑えられ、バッテリ寿命が改善される。
電子デバイスは、1つ以上の入力デバイス(例えば、601)を介して、アバター表現オプション(例えば、921-2)の選択(例えば、936)を検出する(1004)。
アバター表現オプション(例えば、921-2)の選択を検出したことに応じて、電子デバイス(例えば、600)は、連絡可能ユーザインタフェース内の連絡可能ユーザの表現として使用するアバターを選択するためのプロセスを開始する(1006)。
連絡可能ユーザインタフェース内の連絡可能ユーザの表現としてアバターを選択するためのプロセスの一部として、電子デバイスは、1つ以上の入力デバイス(例えば、601、602)を介して、シミュレートされた3次元アバター(例えば、図9Mの928、916、図9Pの960、916)の選択に対応する1つ以上の入力(例えば、936、938、944、950、954、956、959、962、図9Hのアバター928を制御する画像データ)のシーケンスを受信する(1008)。
いくつかの実施形態では、シミュレートされた3次元アバターの選択に応じて、電子デバイス(例えば、600)は、表示デバイス(例えば、601)を介して、複数の異なるポーズから、シミュレートされた3次元アバターのポーズを選択するための1つ以上のコントロール(例えば、942-1~942-6)(例えば、930)を含むポージングユーザインタフェース(例えば、926、940)(例えば、異なる既定のポーズに対応する複数のユーザインタフェースオブジェクト(例えば、アフォーダンス))(例えば、電子デバイスのカメラを使用してポーズをキャプチャするためのキャプチャアフォーダンス)を表示する(1010)。アバターを選択した後に複数の異なるポーズからアバターのポーズを選択するためのポーズインタフェースを表示することは、異なる制御スキームが使用された場合に選択されたアバターをカスタマイズするために必要とされる入力の数を減らす(例えば、カスタマイズユーザインタフェースへのナビゲーション及び選択されたアバターの表示及び変更のための異なる制御の選択)。タスクを実行するために必要な入力の数が減ることにより、デバイスの操作性が高められ、ユーザ-デバイスインタフェースを(例えば、デバイスを操作する/デバイスと対話するときにユーザが適切な入力を行うのを支援し、ユーザの誤りを削減することによって)より効率的にし、加えて、ユーザがデバイスをより迅速且つ効率的に使用できるようにすることによって、デバイスの電力使用が抑えられ、バッテリ寿命が改善される。
いくつかの実施形態では、1つ以上のコントロールは、第1の既定のポーズに対応する第1のポーズユーザインタフェースオブジェクト(例えば、942-1)(例えば、第1のポーズアフォーダンス)と、第1の既定のポーズとは異なる第2の既定のポーズに対応する第2のポーズユーザインタフェースオブジェクト(例えば、942-2)(例えば、第2のポーズアフォーダンス)とを含む。いくつかの実施形態では、ポーズアフォーダンスのうちの1つの選択を検出したことに応じて、シミュレートされた3次元アバターは、選択されたポーズアフォーダンスに対応するポーズを有するように設定される(例えば、表示される)。
いくつかの実施形態では、1つ以上の入力デバイスは、カメラ(例えば、602)を含む。いくつかの実施形態では、1つ以上のコントロールはキャプチャユーザインタフェースオブジェクト(例えば、630)(例えば、キャプチャアフォーダンス)を含み、これは、選択されると、キャプチャユーザインタフェースオブジェクトが選択された時点でカメラの視野内で検出された顔のポーズに基づく、シミュレートされた3次元アバターのポーズを選択する(例えば、図9H及び9Iを参照)。いくつかの実施形態では、ポージングユーザインタフェースを表示することは、キャプチャアフォーダンス及びシミュレートされた3次元アバターを表示することを含み、シミュレートされた3次元アバターは、カメラの視野内で検出された顔のポーズの検出された変更に反応する(例えば、顔の異なる検出されたポーズは、3次元アバターにポーズを割り当てるために選択され得る複数の異なるポーズに対応する)。キャプチャアフォーダンスが選択されると、電子デバイスは、キャプチャアフォーダンスが選択された時点でシミュレートされた3次元アバターのポーズを選択する。カメラの視野内で検出された顔に基づいてアバターのためのポーズを選択するキャプチャユーザインタフェースオブジェクトを表示することは、電子デバイスのディスプレイ上で連絡可能ユーザの表現を構成するための制御スキームを提供し、システムは、ユーザの顔の特徴の変更(及びそれらの変更の大きさ及び/又は方向)の形態で入力を検出し、処理し、反復フィードバックループを介して、アバターの外観(例えば、変更されたポーズ)の形態で所望の出力を提供する一方で、ユーザインタフェースの手動操作(例えば、ディスプレイ上にタッチ入力を提供する)の必要性を排除する。これは、顔の動きを使用してアバターを制御及び/又は構成するためにディスプレイを操作する方法に関する、改善された視覚フィードバックをユーザに提供する。このことによりデバイスの操作性が向上し、(例えば、デバイスを操作する/デバイスと対話するときにユーザが適切な入力を行うのを支援しユーザの誤りを削減することによって)ユーザ-デバイスインタフェースがより効率的になり、このことにより更に、ユーザがデバイスをより素早く且つ効率的に使用可能になることによって、デバイスの電力使用量が削減されバッテリ寿命が改善される。更に、この制御スキームは、異なるアニメーション制御スキームが使用された場合(例えば、アニメーションシーケンスの各フレームに対する個々の制御点の操作を必要とする制御スキーム)に必要とされるよりも、アバターのポーズを作成又は制御するために、より少ない入力を必要とすることができる。更に、このタイプの制御は、例えば、テキスト会話又はビデオ会話などの会話の間にリアルタイムで行うことができるが、アバターの手動アニメーション制御は、会話が始まる前又は終了した後に行う必要がある。
いくつかの実施形態では、複数の異なるポーズ(例えば、図9Iの938)(例えば、図9Jの944)からシミュレートされた3次元アバターのポーズを選択した後、電子デバイスは、選択されたポーズを有するシミュレートされた3次元アバターを、連絡可能ユーザの表現(例えば、図9Mの916)として設定する(例えば、選択されたポーズを有するシミュレートされた3次元アバターの外観を有する連絡可能ユーザの表現を表示し、選択されたポーズの3次元アバターが連絡可能ユーザを表すために使用されるように、選択されたポーズのシミュレートされた3次元アバターを連絡可能ユーザと関連付ける)。
いくつかの実施形態では、ポージングユーザインタフェース(例えば、926)を表示することは、第1のアバター(例えば、921-1)がシミュレートされた3次元アバターとして選択された(例えば、第1のアバターに対応するアバターアフォーダンスが選択された)という判定に従って、ポージングユーザインタフェースに第1のアバター(例えば、図9Fの928)の少なくとも1つの表現を表示する(例えば、選択のための少なくとも1つのポーズを有する第1のアバターの表現を表示する)。いくつかの実施形態では、ポージングユーザインタフェースを表示することは、第2のアバター(例えば、921-2)(例えば、第1のアバターとは異なるアバター)がシミュレートされた3次元アバターとして選択された(例えば、第2のアバターに対応するアバターアフォーダンスが選択された)という判定に従って、ポージングユーザインタフェースに第2のアバター(例えば、図9Hの928)の少なくとも1つの表現を表示する(例えば、選択のための少なくとも1つのポーズを有する第2のアバターの表現を表示する)(例えば、第1のアバターの表現を表示することなく)。第1のアバターの表現を表示することなく選択のためのポーズを有する第2のアバターの表現を表示することは、ポーズの変更が第1のアバターではなく第2のアバターの外観に影響を及ぼすという視覚フィードバックをユーザに提供する。改善されたフィードバックを提供することにより、デバイスの操作性が向上し、(例えば、デバイスを操作する/デバイスと対話するときにユーザが適切な入力を行うのを支援しユーザの誤りを削減することによって)ユーザ-デバイスインタフェースがより効率的になり、このことにより更に、ユーザがデバイスをより迅速且つ効率的に使用可能になることによって、電力使用量を削減し、デバイスのバッテリ寿命を改善する。
いくつかの実施形態では、連絡可能ユーザ編集ユーザインタフェース(例えば、915)を表示する前に、電子デバイス(例えば、600)は、第1のユーザ作成アバターを作成する要求に対応する一連の入力(例えば、例えば、異なるアプリケーションのユーザインタフェース(例えば、図6Fのアバター作成ユーザインタフェース632、図11A~11ADのアバター編集ユーザインタフェース11002)で検出される、第1のユーザ作成アバターを作成するための一連の入力)(例えば、956)を検出する。いくつかの実施形態では、電子デバイスは、連絡可能ユーザ編集ユーザインタフェースを表示する要求(例えば、914)(例えば、962)を受信する。いくつかの実施形態では、連絡可能ユーザ編集ユーザインタフェースを表示する要求を受信したことに応じて、電子デバイスは、第1のユーザ作成アバター(例えば、921-1、921-4)を含む連絡可能ユーザ編集ユーザインタフェースを表示する。ユーザがアバターを作成/更新した後に第1のユーザ作成アバターを含む連絡可能ユーザ編集ユーザインタフェースを表示することは、連絡可能ユーザの表現として使用するアバターを作成する技術的タスクを実行するための入力の数を減らす。タスクを実行するために必要な入力の数が減ることにより、デバイスの操作性が高められ、ユーザ-デバイスインタフェースを(例えば、デバイスを操作する/デバイスと対話するときにユーザが適切な入力を行うのを支援し、ユーザの誤りを削減することによって)より効率的にし、加えて、ユーザがデバイスをより迅速且つ効率的に使用できるようにすることによって、デバイスの電力使用が抑えられ、バッテリ寿命が改善される。
いくつかの実施形態では、シミュレートされた3次元アバターの選択に対応する1つ以上の入力のシーケンスは、ユーザ作成アバターのセット(例えば、921-4、921-2、図9Gのオプション921-3に隣接する少女アバター、図9Gのアバターオプション921-2に隣接するスパイキーヘアアバター)からの第1のユーザ作成アバター(921-4、921-2)の選択(例えば、936)に対応する入力を含む。
いくつかの実施形態では、シミュレートされた3次元アバターの選択に対応する1つ以上の入力のシーケンスは、新しいアバターを作成することに対応する入力のセット(例えば、956、959、962)を含む(例えば、アバターはアバター作成ユーザインタフェースに向けられた一連のユーザ入力を検出したことに応じて作成される)。いくつかの実施形態では、連絡可能ユーザ編集ユーザインタフェースが表示された後に新しいアバターが作成される(例えば、連絡可能ユーザ編集ユーザインタフェースディスプレイが表示されている間に、アバター作成ユーザインタフェースにアクセスし、新しいアバターを作成するために一連の入力が受信される)。いくつかの実施形態では、新たに作成されたアバターは、シミュレートされた3次元アバターとして使用するために選択される。連絡可能ユーザ編集ユーザインタフェース内に新しいアバターを作成することは、連絡可能ユーザの表現を作成する技術的タスクを実行するための入力の数を低減する。これは、カスタム表現を作成するための改善された制御スキームを提供し、これは、カスタム表現を生成するのに、異なる制御スキームが使用された場合に必要とされるよりも少ない入力を必要とすることができる(例えば、選択のために連絡可能ユーザ編集ユーザインタフェースにロードすることができるアバターを作成及びカスタマイズするために異なるアプリケーションへのナビゲーションを必要とする制御スキーム)。更に、このタイプの制御は、例えば、テキスト会話又はビデオ会話などの会話の間にリアルタイムで行うことができるが、ステッカーを構築する手動制御は、会話が始まる前又は終了した後に行う必要がある。このことによりデバイスの操作性が向上し、(例えば、デバイスを操作する/デバイスと対話するときにユーザが適切な入力を行うのを支援しユーザの誤りを削減することによって)ユーザ-デバイスインタフェースがより効率的になり、このことにより更に、ユーザがデバイスをより素早く且つ効率的に使用可能になることによって、デバイスの電力使用量が削減されバッテリ寿命が改善される。
いくつかの実施形態では、複数の異なるポーズからシミュレートされた3次元アバターのポーズを選択した後、電子デバイス(例えば、600)は、表示デバイス(例えば、601)を介して、選択されると(例えば、図9Lの952-3)、連絡可能ユーザの表現の背景領域の外観(例えば、色、形状、及び/又は質感)を変更する背景オプション(例えば、954)を表示する(例えば、図9Mの更新された916を参照)。
いくつかの実施形態では、1つ以上のコントロールを含むポージングユーザインタフェースを表示することは、1つ以上の入力デバイス(例えば、602)が深度カメラセンサ(例えば、図1Aの深度カメラセンサ175)(例えば、深度カメラ)を含むとの判定に従って、表示デバイス(例えば、601)を介して、深度カメラセンサの視野内で検出された顔のポーズの変更に応じてシミュレートされた3次元アバターがポーズを変更する、動的外観を有するシミュレートされた3次元アバター(例えば、図9H及び図9Iのアバター928)を表示することを含む(例えば、シミュレートされた3次元アバターは、深度カメラで検出された顔のポーズの変更をミラーリングする)。いくつかの実施形態では、1つ以上のコントロールは、選択されると、キャプチャアフォーダンスが選択された時点で深度カメラの視野内で検出された顔のポーズに基づく、シミュレートされた3次元アバターのポーズをキャプチャするキャプチャアフォーダンスを有して表示される。いくつかの実施形態では、1つ以上のコントロールを含むポージングユーザインタフェースを表示することは、1つ以上の入力デバイスが深度カメラセンサを含まないという判定に従って、表示デバイスを介して、第3の既定のポーズ(例えば、第1の既定のポーズ)に対応する第3のポーズユーザインタフェースオブジェクト(例えば、942-3)(例えば、第3のポーズアフォーダンス)(例えば、第1のポーズアフォーダンス)と、第3の既定のポーズとは異なる第4の既定のポーズ(例えば、第2の既定のポーズ)に対応する第4のポーズユーザインタフェースオブジェクト(942-4)(例えば、第4のポーズアフォーダンス)(例えば、第2のポーズアフォーダンス)とを表示する(例えば、1つ以上のコントロールは、複数の既定のポーズのうちの1つを有するシミュレートされた3次元アバターの外観をそれぞれ有する複数のアフォーダンスとして表示している)。いくつかの実施形態では、ポーズアフォーダンスのうちの1つの選択を検出したことに応じて、シミュレートされた3次元アバターは、選択されたポーズアフォーダンスに対応するポーズに設定される。第3の既定のポーズに対応する第3のポーズユーザインタフェースオブジェクトと、第4の既定のポーズに対応する第4のポーズユーザインタフェースオブジェクトとを含むポージングユーザインタフェースを表示することは、様々な選択可能なポーズオプションを提供し、連絡可能ユーザの表現を作成する技術的タスクを実行するためのポーズを選択するための入力の数を減らす。タスクを実行するために必要な入力の数が減ることにより、デバイスの操作性が高められ、ユーザ-デバイスインタフェースを(例えば、デバイスを操作する/デバイスと対話するときにユーザが適切な入力を行うのを支援し、ユーザの誤りを削減することによって)より効率的にし、加えて、ユーザがデバイスをより迅速且つ効率的に使用できるようにすることによって、デバイスの電力使用が抑えられ、バッテリ寿命が改善される。
いくつかの実施形態では、深度カメラは、深度カメラの視野内に配置された被写体の深度データ(例えば、被写体の他の部分、及び/又は1つ以上のカメラの視野内の他のオブジェクトに対する、被写体の1つ以上の部分の相対的深度の位置決めに関する情報)を含む深度データに対応する画像データ(例えば、画像データは、可視光カメラ及び深度カメラによってキャプチャされたデータを含む)(例えば、深度アスペクト(例えば、RGBデータから独立した深度データ)を含む画像データ)をキャプチャする。一部の実施形態では、画像データは、少なくとも2つの成分、すなわち、キャプチャされた画像の視覚特性を符号化するRGB成分、及びキャプチャされた画像内の要素の相対的な空間的関係についての情報を符号化する深度データ(例えば、深度データは、ユーザが前景にあることを符号化し、ユーザの背後に位置する木などの背景要素は、背景にある)を含む。いくつかの実施形態では、画像データは、RGB構成要素を含まない深度データを含む。一部の実施形態では、深度データは深度マップである。いくつかの実施形態では、深度マップ(例えば、深度マップ画像)は、視点(例えば、カメラ)からのシーン内のオブジェクトの距離に関連する情報(例えば、値)を含む。深度マップの一実施形態では、各深度ピクセルは、その対応する2次元ピクセルが配置されている、その視点のZ軸における位置を定義するものである。いくつかの実施形態では、深度マップは画素で構成されており、各画素は、値(例えば、0~255)によって定義される。例えば、「0」の値は、「3次元」シーン内の最も遠い場所に配置されているピクセルを表し、「255」の値は、「3次元」シーン内の視点(例えば、カメラ)の最も近くに配置されているピクセルを表す。他の例では、深度マップは、シーン内のオブジェクトと視点の平面との間の距離を表す。いくつかの実施形態では、深度マップは、深度カメラから見た、対象オブジェクトの様々な特徴部の相対深度(例えば、ユーザの顔面の目、鼻、口、耳の相対深度)に関する情報を含む。いくつかの実施形態では、深度マップは、z方向での対象オブジェクトの輪郭をデバイスが決定することを可能にする、情報を含む。一部の実施形態では、深度データは、カメラ表示領域内の被写体の表現を含む、第1の深度成分(例えば、カメラ表示領域内の被写体の空間位置を符号化する深度データの第1の部分、前景又は特定のオブジェクトなどの、深度マップの離散部分を形成する複数の深度ピクセル)を有する。一部の実施形態では、深度データは、第1の深度成分とは別個の、第2の深度成分(例えば、カメラ表示領域内の背景の空間位置を符号化する深度データの第2の部分、背景などの、深度マップの離散部分を形成する複数の深度ピクセル)を有し、第2の深度アスペクトは、カメラ表示領域における背景の表現を含む。いくつかの実施形態では、第1の深度アスペクト及び第2の深度アスペクトは、カメラ表示領域内の被写体とカメラ表示領域内の背景との間の空間的関係を判定するために使用される。この空間的関係は、被写体を背景から区別するために使用することができる。この区別は、例えば、異なる視覚効果(例えば、深度成分を有する視覚効果)を被写体及び背景に適用するために利用することができる。一部の実施形態では、第1の深度成分に対応しない画像データの全ての領域(例えば、深度カメラの範囲外である画像データの領域)は、深度マップからセグメント化される(例えば、除外される)。一部の実施形態では、深度データは、深度マップ又は深度マスクの形態である。
方法1000に関して上述したプロセス(図10)の詳細はまた、上述及び後述する方法にも、類似の方式で適用可能であることに留意されたい。例えば、方法700、800、1200、1300、1500、1700及び1800は、方法1000を参照して上述した様々な方法の特性のうちの1つ以上を任意選択的に含む。例えば、アバターは、上述したものと同様の方法でユーザインタフェースに表示及び使用することができる。簡潔にするために、これらの詳細は、以下で繰り返さない。
図11A~図11ADは、いくつかの実施形態に係る、アバター編集アプリケーションユーザインタフェースにアバターを表示するための例示的なユーザインタフェースを示す。これらの図におけるユーザインタフェースは、図12及び図13におけるプロセスを含む、後述するプロセスを説明するために使用される。
図11Aは、アバター11005の特徴を編集するためのアバター編集ユーザインタフェース11002を(例えば、ディスプレイ601上に)表示する電子デバイス600を示す。アバター編集ユーザインタフェース11002は、それぞれ図6F、図6P、及び図9Nに示される、アバター作成ユーザインタフェース603、アバター編集ユーザインタフェース670、及びアバター作成ユーザインタフェース958と同様である。アバター編集ユーザインタフェース11002を使用してアバター11005を編集するための詳細が以下に提供される。類似の編集ユーザインタフェース内のアバターを編集するための更なる詳細は、米国特許出願公開第16/1162221号に提供されており、これは、全ての目的のために参照により本明細書に組み込まれる。
アバター編集ユーザインタフェース11002は、アバター11005及び選択可能なアバター特徴メニューオプション11006を有するアバター表示領域11004を含む。アバター編集ユーザインタフェース11002は、アバター11005の特徴を変更するように選択することができる様々な特徴オプションを含むアバターオプション領域11008を更に含む。図11Aでは、唇メニューオプション11006-1が選択され、アバターオプション領域11008は選択可能な唇オプション11010を表示する。アバター11005は、肌の色や髪が選択されておらず、顔のしわ11007及び眉毛11009を有する顔を含む外観を有する。アバター11005はまた、選択された唇オプション11010-2に対応する唇を有する口11014を有する。
特徴オプション(例えば、唇オプション11010)は、それぞれの特徴オプションが選択された場合、アバター(例えば、アバター11005)の可能性のある外観を表す外観を有する。特徴オプションの外観は、特徴オプションが選択されると動的に(例えば、リアルタイムで)更新することができる。
選択可能な特徴オプションは、アバター特徴(例えば、図11Aに示されるアバターの唇の特徴)の対応する特性を変更するためのオプションに対応する。特徴オプション(例えば、厚い唇オプション11010-1)が選択されると、特性(例えば、唇の形状/サイズ)は、対応する値(例えば、厚さ)が割り当てられ、変更された特性は、表示された特性の表現を含むアバター11005及び(例えば、アバターオプション領域11008内の)他の特徴オプションへの表示された変更に反映される。現在の例を続けると、厚い唇オプション11010-1の選択を検出したことに応じて、デバイス600は、アバター11005の唇を厚い唇に変更し、唇を示す任意の表示された特徴オプションもまた、厚い唇を表示するように更新される。
図11Aでは、デバイス600は、口メニューオプション11006-2上の入力11012(例えば、タップジェスチャ)を検出し、それに応じて、更新されたアバター特徴メニューオプション11006(例えば、選択された口メニューオプション11006-2で再配置された)を示すようにアバター表示領域11004を更新し、図11Bに示されるように、アバターの口11014の特性を変更するための様々な特徴オプションを表示するようにアバターオプション領域11008を更新する。
図11Bでは、デバイス600は、中立ポーズ11014-1を有するアバター11005上に示される、アバターの口11014の異なる特性を変更するための特徴オプションのセットを有するアバターオプション領域11008を示す。いくつかの実施形態では、アバター11005は、カメラ602の視野内に配置されたユーザの顔のポーズの検出された変更に応答する。本明細書に開示される実施形態では、アバター11005は、ユーザがアバター編集ユーザインタフェース11002と対話している間、中立ポーズを維持しているため、中立ポーズを有する。
特徴オプションのセットは、歯のオプション11016、及び舌ピアスオプション11018を含む。特徴オプションの各セットは、特徴オプションのそれぞれのセットについて、特徴オプションのそれぞれのセット内の特徴オプションによって変更することができる口の特性を表示するための異なるポーズを有するアバターの口11014を表示する。例えば、アバターの口11014はアバター11005上の中立ポーズ11014-1を有するが、歯のオプション11016は、アバターの歯11020が見えるように笑顔ポーズ11014-2を有するアバターの口11014を示し、その結果、ユーザがより容易に見ることができる異なる歯オプションが表示される。同様に、アバターの口11014はアバター11005上の中立ポーズ11014-1を有するが、舌ピアスオプション11018は、アバターの舌11022が見えるように舌出しポーズ11014-3を有するアバターの口11014を示し、その結果、ユーザがより容易に見ることができるように異なるピアスオプションが表示される。アバター11005がユーザの顔を追跡する実施形態では、口11014をそれぞれの歯のオプション11016及び舌ピアスオプション11018内の笑顔ポーズ11014-2及び舌出しポーズ1114-3で表示することにより、ユーザは、ユーザが舌を突き出す又は笑顔ポーズを維持する必要なく、それぞれの特徴オプションを見ることができる。
歯のオプション11016は、アバター11005の歯を選択するための異なるオプションを示す。歯のオプション11016は、デフォルトの歯11016-1(例えば、欠損歯又は改造なし)、欠損歯11016-2、金歯11016-3、歯の隙間11016-4、ブラケット11016-5、及びグリル11016-6を含む。追加の歯のオプションは、牙のオプションを含むことができる。追加の歯のオプションは、異なるグリル色(例えば、金、銀)及び口内の場所(例えば、下部グリル、上部グリル、部分グリル)を含む、異なるグリルのオプションを含むことができる。追加の歯のオプションは、口腔内の異なる場所の欠損した1つ以上の歯を表示することを含む、異なる欠損歯(例えば、ホッケー選手の歯、欠損した下の歯)を含むことができる。前述の歯のオプションの様々な組み合わせを歯のオプション11016に含めることができる。
舌ピアスオプション11018は、アバター11005の舌のピアスを選択するための異なるオプションを示す。実施例は、ピアスなし11018-1、スタッドピアス11018-2、及びリングピアス11018-3を含む。舌ピアスオプション11018は、例えば、スパイク舌ピアス及びバーベル舌ピアスなどの追加のオプションを含むことができる。
アバターオプション領域11008はまた、舌ピアスのための異なる色に対応する、ピアス色オプション11024を含む。
歯のオプション11016及び舌ピアスオプション11018に示されるアバターの口11014の外観は、アバター11005の現在の口の表現である。したがって、アバターの口11014の特性に変更が加えられると、それらの変更は、それぞれの歯のオプション11016及び舌ピアスオプション11018に表示され得る(変更された特性が特徴オプションのそれぞれのセットに表示される場合)。例えば、アバターの口11014が口紅を含むように更新される場合、アバターの口11014の外観は、様々なポーズ(例えば、11014-1、11014-2、及び11014-3)で口紅を含むように更新される。
図11Bでは、デバイス600は、目メニューオプション11006-3上の入力11026を検出し、それに応じて、図11Cに示されるように、目メニューオプション11006-3の選択を示すようにアバター表示領域を更新し、アバターの目の特徴を編集するオプションを示すようにアバターオプション領域11008を更新する。目のオプションは、アバター11005の目の色を選択し調整するための目の色オプション11028(目の色スライダコントロール11028-5を含む)を含む。目のオプションはまた、アバターの目の異なる形状を選択するための目の形状オプション11030を含む。
図11Cでは、デバイス600は、入力11032(例えば、スクロールコマンドに対応するドラッグジェスチャ)を検出し、それに応じて、アバターオプション領域11008をスクロールして、図11D~11Fにまとめて示される目の化粧オプションを表示する。
図11Dに示されるように、目の化粧オプションは、上部アイライナーオプション11034、下部アイライナーオプション11036、及びまつげオプション11038を含む。上部アイライナーオプション11034は、アバターの目の上縁部のアイライナーパターンを選択するためのオプションを含む。下部アイライナーオプション11036は、アバターの目の下縁部のアイライナーパターンを選択するためのオプションを含む。まつげオプション11038は、例えばまつげなし11038-1、まばらなまつげ11038-2、及び密なまつげ11038-3などのまつげスタイルを選択するためのオプションを含む。
図11Dでは、デバイス600は、入力11035(例えば、スクロールコマンドに対応するドラッグジェスチャ)を検出し、それに応じて、アバターオプション領域11008をスクロールして、図11Eに示されるように、アイシャドウオプション11040を含む追加の目の化粧オプションを表示する。
図11Eに示されるように、アイシャドウオプション11040は、アイシャドウの色を選択するためのアイシャドウ色オプション11042、及びアイシャドウパターンを選択するためのアイシャドウアプリケーションオプション11044を含む。アイシャドウ色オプション11042は、第1のアイシャドウ色オプションのセット11042-1、及び第2のアイシャドウ色オプションのセット11042-2を含む。第1のアイシャドウカラー11042-1a、及び第2のアイシャドウカラー11042-2aは、アイシャドウアプリケーションオプション11044から選択されたアイシャドウパターンに応じて同時に適用することができる。アイシャドウアプリケーションオプション11044は、アイシャドウなし11044-1、第1のアイシャドウパターン11044-2、及び第2のアイシャドウパターン11044-3を含む。
図11Eでは、第1のアイシャドウカラー11042-1aが選択され、第2のアイシャドウカラー11042-2aが選択され、アイシャドウアプリケーションオプション11044は、選択された色11042-1a及び11042-2aを使用してアバター11005に適用することができるアプリケーションパターンオプションを示すように更新される。デバイス600は、第1のアイシャドウパターン11044-2上の入力11046を検出する。これに応じて、デバイス600は、図11Fに示されるように、選択された色11042-1a及び11042-2aを使用して、アバター11005に第1のアイシャドウパターン11044-2を適用する。
図11Fに示されるように、アバター11005は、図11Eで選択されたアイシャドウカラー及びアプリケーションパターンを含む目の化粧11048で表示される。いくつかの実施形態では、顔のしわ11007は、図11Fに示されるように、目の化粧11048の上に表示される。デバイス600は、顔メニューオプション11006-4上の入力11050を検出し、それに応じて、図11Gに示されるように、顔メニューオプション11006-4の選択を表示するようにアバター表示領域11004を更新し、ほくろオプション11052を表示するようにアバターオプション領域11008を更新する。
図11Gでは、ほくろオプション11052は、(図11Eのアバターオプション領域11008内で行われた選択の結果として)目の化粧と共に表示される。デバイス600は、額のほくろオプション11052-1上の入力11054を検出し、それに応じて、図11Hに示されるように、(目の化粧11048に加えて)額のほくろ11055を有するようにアバター11005を更新する。
図11Hでは、デバイス600は、アバター特徴メニューオプション11006上のスクロールジェスチャに対応する入力11056を検出し、それに応じて、図11Iに示されるように、アクセサリーメニューオプション11006-5が選択されるように、特徴メニューオプション11006をスクロールする。
図11Iでは、デバイス600は、イヤリングオプション11058をアバターオプション領域11008に表示し、フープイヤリング11058-1を選択する入力11060を検出する。それに応じて、デバイス600は、図11Jに示されるように、イヤリング位置オプション11062を表示するようにアバターオプション領域11008を更新し、アバター11005をフープイヤリング11064と共に示すようにアバター表示領域11004を更新する。イヤリング位置オプション11062は、両耳11062-1、右耳11062-2、及び左耳11062-3を含む。両耳11062-1が選択されているため、デバイス600は、アバターの耳の両方にフープイヤリング11064を表示する。
図11Jでは、デバイス600は、イヤリングなしオプション11058-2上の入力11066を検出し、それに応じて、図11Kに示されるように、アバター11005からフープイヤリング11064を取り外し、イヤリング位置オプション11062の表示を中止する。
図11Kでは、デバイス600は、耳メニューオプション11006-6の選択に対応する入力である入力11068を検出する。それに応じて、デバイス600は、図11Lに示されるように、メニューオプション11006-6の選択を示すようにアバター表示領域11004を更新し、イヤリングをアバター11005に適用するためのオプションの別のセットを表示するようにアバターオプション領域11008を更新する。
図11Lでは、デバイス600は、アフォーダンス11070及びカスタムアフォーダンス11072の両方によって表されるイヤリング位置オプションを有するアバターオプション領域11008を表示する。図11Lでは、両方のアフォーダンス11070が選択され、アバターオプション領域11008は、イヤリングなしオプション11074-1が選択されている、選択可能なイヤリングオプション11074(イヤリングオプション11058と同様)を表示する。イヤリングオプション11074のうちの1つが選択されると、選択されたイヤリングオプションがアバターの両耳に適用される。
デバイス600は、カスタムアフォーダンス11072上の入力11076を検出し、それに応じて、カスタムアフォーダンス11072を選択し、選択可能なイヤリングオプション11074を左イヤリングオプション11078及び右イヤリングオプション11080に置き換える。左イヤリングオプション11078は、選択されたイヤリングオプションをアバターの右耳に適用することなく、選択されたイヤリングオプションをアバターの左耳に適用するように選択することができる。逆に、右イヤリングオプション11080は、選択されたイヤリングオプションをアバターの左耳に適用することなく、選択されたイヤリングオプションをアバターの右耳に適用するように選択することができる。したがって、左イヤリングオプション11078及び右イヤリングオプション11080は、ユーザが異なるアバター耳と異なるイヤリングを混ぜて合わせることを可能にし、それによってアバター11005へのカスタムイヤリングの適用を可能にする。
図11Mでは、デバイス600は、入力11082(例えば、ドラッグジェスチャ)を検出し、それに応じて、図11Nに示されるように、オーディオオプション11084及び位置オプション11086を表示するようにアバターオプション領域11008をスクロールする。オーディオオプション11084は、アバターの耳に異なるオーディオデバイスを表示するように選択することができる。例えば、オーディオオプション11084は、オーディオなしオプション11084-1、インイヤーオーディオオプション11084-2、補聴器オプション11084-3を含む。位置オプション11086は、選択されたオーディオオプションの耳位置を決定するように選択することができる。位置オプション11086は、両耳オプション11086-1、左耳オプション11086-2、及び右耳オプション11086-3を含む。
図11Nでは、デバイス600は、図11Oに示されるように、ヘアメニューオプション11006-7を選択するための入力11087を検出する。
図11Oでは、デバイス600は、色オプション11088、ハイライトタイプオプション11090、及び髪型オプション11092を有するアバターオプション領域11008を表示する。色オプション11088は、アバターの髪、及びアバターの髪に適用されるハイライトの色の変更を制御するように選択することができる。色オプション11088は、髪色を選択するための髪色コントロール11096と、ハイライト色を選択するためのハイライト色コントロール11098とを含む。髪色コントロール11096は、髪色を選択するための髪色オプション11096-1と、選択された髪色の勾配を調整するための髪色スライダ11096-2とを含む。同様に、ハイライト色コントロール11098は、ハイライト色を選択するためのハイライト色オプション11098-1と、選択されたハイライト色の勾配を調整するためのハイライト色スライダ11098-2とを含む。図11O~11Sに示される実施形態では、髪色オプション11096-1aは、最大勾配設定(例えば、暗い)に設定された髪色スライダ11096-2を用いて髪色のために選択され、ハイライト色オプション11098-1aは、最小勾配設定(例えば、明るい)に設定されたハイライト色スライダ11098-2を用いてハイライト色のために選択される。
ハイライトタイプオプション11090は、アバターの髪に適用されるハイライトの種類を変更するように選択することができる(例えば、アバター11005上で非禿頭髪型が選択される場合、髪型オプション11092で)。ハイライトタイプオプション11090は、第1のタイプ11090-1、第2のタイプ11090-2、及び第3のタイプ11090-3を含む。第1のタイプ11090-1は、図11Oで現在選択されている。
髪型オプション11092は、アバター11005に適用される髪型を変更するように選択することができる。髪型オプション11092は、禿頭11092-1、第2の髪型11092-2、及び第3の髪型11092-3を含むが、他のものを表示することができる。第2の髪型オプション11092-2及び第3の髪型オプション11092-3に示されるアバターの表現は、選択された色オプション11088及びハイライトタイプオプション11090の現在の状態を示す。色オプション11088及びハイライトタイプオプション11090が変更されると、第2の髪型オプション11092-2及び第3の髪型オプション11092-3で示されるアバターの髪(ハイライトを伴う)の表現は、変更を反映するように更新される。
図11Oでは、デバイス600は、第3の髪型11092-3を選択する入力11094を検出し、それに応じて、図11Pに示されるように、アバター11100をハイライト11102で表示するようにアバター11005を更新する。アバターの髪11100は、選択された第3の髪型オプション11092-3に対応する。ハイライト11102は、選択された色オプション11088及び第1のハイライトタイプ11090-1に対応する。
図11Pでは、デバイス600は、第2のタイプ11090-2上の入力11104を検出し、それに応じて、図11Qでグラデーションハイライトタイプとして示されている、選択されたハイライトタイプを有するようにハイライト11102、第2の髪型オプション11092-2、及び第3の髪型オプション11092-3を更新する。
図11Qでは、デバイス600は、第3のタイプ11090-3上の入力11106を検出し、それに応じて、図11Rで密なハイライトタイプとして示されている、選択されたハイライトタイプを有するようにハイライト11102、第2の髪型オプション11092-2、及び第3の髪型オプション11092-3を更新する。
図11Rでは、デバイス600は、禿頭髪型11092-1上の入力11108を検出し、それに応じて、図11Sに示されるように、髪11100を取り除くようにアバター11005を更新する。
図11Sでは、デバイス600は、図11Tに示されるように、フェイスペイントメニューオプション11006-8を選択する要求に対応する入力11110を検出する。
図11Tでは、デバイス600は、ほくろ11055、目の化粧11048、顔のしわ11007、及び眉毛11009を有するアバター11005を示すアバター表示領域11004を表示する。アバターオプション領域11008は、フェイスペイントパターンをアバター11005に適用するように選択することができるフェイスペイントパターンオプション11114と、フェイスペイントパターンの色を変更するように選択することができるフェイスペイント色オプション11112と共に表示される。図11Tでは、アバター11005は、フェイスペイントなしで表示され、パターンオプション11114-2(フェイスペイントなし)が選択される。
フェイスペイント色オプション11112は、フェイスペイントパターンの領域を変更するために選択することができる色オプションのセットを含む。フェイスペイントパターンオプション11114は、フェイスペイントパターンをアバター11005の顔に適用するように選択することができる様々なパターンオプションを表し、フェイスペイントパターンは、フェイスペイント色オプション11112で選択された色のうちの1つ以上を有する。様々なフェイスペイントパターンオプション11114のいくつかの領域は、フェイスペイント色オプション11112に対応するが、場合によっては、いくつかのフェイスペイントパターンオプション11114は、フェイスペイント色オプション11112の選択に応じて色が変更されない領域を有する。例えば、パターンオプション11114-1は、色オプション11112の選択によって変更されない白色ベース領域11114-1aを有する、バンパイアフェイスペイントパターンを表す。
フェイスペイントパターンオプション11114はそれぞれ、選択されたそれぞれのフェイスペイントパターンオプションを有するアバター11005の外観を表す外観を有するアバター11005の表現を含む。例えば、パターンオプション11114-2は、フェイスペイントなしのアバター11005の表現を示す、フェイスペイントなしオプションである。アバター11005は、ほくろ11055,目の化粧11048、顔のしわ11007、及び眉毛11009を含み、パターンオプション11114-2(フェイスペイントなし)もまた、アバター表現上にこれらの特徴を示す。パターンオプション11114-2は、例えば図11Uに示されるように、異なるフェイスペイントパターンがアバター11005上に表示されている場合であっても、アバター11005に適用される限り、これらの特徴の表示を維持する。これは、パターンオプション11114-2が、フェイスペイントなしのアバター11005の表現であるためである。
逆に、ほくろ11055及び目の化粧11048は、これらのパターンオプションが選択されるとき、パターンオプション11114-1、及び11114-3~11114-6、又はアバター11005に示されるアバター11005の表現上に表示されない。これは、これらのパターンオプションが、これらの特徴を覆うか不明瞭にするようにフェイスペイントがアバター11005の顔の上にペイントされているかのようにアバター11005の表現を示すからである。しかしながら、フェイスペイントが適用されている場合であっても、アバター11005の他の特徴が表示される。これらの他の特徴は、顔のしわ11007、眼鏡、髪、及び顔の毛を含むことができる。顔のしわ11007は、フェイスペイントがペイントされた顔のしわを覆わないため、表示されたままである。眼鏡は顔に着用され、フェイスペイントは通常、髪又は顔の毛には適用されないため、眼鏡、髪、及び顔の毛はアバター上に表示される(これらの特徴上にはフェイスペイントはない)。このような実施形態の例を、図11AAに示す。しかしながら、場合によっては、アバター上の髪の上に、フェイスペイントが表示される。例えば、眉毛11009の上にフェイスペイントが適用され、眉毛は、アバター11005に適用されたフェイスペイントと混合される、眉毛の下にある色のために見えにくい外観を有して表示される。これは、図11Uのパターンオプション11114-1、及び11114-3~11114-6、及びアバター11005に示される。
図11Tに示されるように、フェイスペイント色オプション11112は、選択された色11112-1aを有する第1の色セット11112-1と、選択された色11112-2aを有する第2の色セット11112-2と、選択された色11112-3aを有する第3の色セット11112-3とを含む。各色セットの選択された色は、それぞれの色セットに対応する、フェイスペイントパターンオプション11114の様々な領域上に表示される。例えば、パターンオプション11114-1、11114-3、11114-4、11114-5、及び11114-6はそれぞれ、第1の色セット11112-1に対応するそれぞれの領域を有し、したがって、図11Tにおいて色11112-1aで表示される。(例えば、図11U及び11Vに示されるように)異なる色を選択するように第1の色セット11112-1が更新される場合、色11112-1aを有するパターンオプション11114-1、11114-3、11114-4、11114-5、及び11114-6内のそれぞれの領域は、異なる色に更新されるであろう。第2の色セット11112-2に対応する領域を有するフェイスペイントパターンオプション11114は、第2の色セット11112-2の変更と同様の方法で反応する。第3の色セット11112-3に対応する領域を有するフェイスペイントパターンオプション11114は、第3の色セット11112-3の変更と同様の方法で反応する。更に、アバター11005に適用されたフェイスペイントパターンの領域は、対応する色セットの変更と同じ方法で反応する。
いくつかの実施形態では、いくつかの色セットは、全てのパターンオプションの変更に影響を与えない。例えば、パターンオプション11114-3は、第1の色セット11112-1に対応する領域11114-3aと、第2の色セット11112-2に対応する領域11114-3bとを含むが、第3の色セット11112-3に対応する領域を含まない。したがって、色セット11112-3への変更は、パターンオプション11114-3(又はパターンオプション11114-3が選択された場合はアバター11005)の外観に影響を与えない。
図11Tでは、デバイス600は、パターンオプション11114-4上の入力11116を検出し、それに応じて、図11Uに示されるように、選択されたパターンオプション11114-4に基づいて、フェイスペイント11118を表示するようにアバター11005を更新する。
図11Uでは、フェイスペイント11118は、選択されたパターンオプション11114-4の領域11114-4a、11114-4b、及び11114-4cにそれぞれ対応する領域11120-1、11120-2、及び11120-3を有するパターン11120を有する。フェイスペイント11118はまた、色セット11112-1の色11112-1aに対応する色11122-1a,色セット11112-2の色11112-2aに対応する色11122-2aと、色セット11112-3の色11112-3aに対応する色11122-3aを有する色のセット11122を有する。図11Uに示されるように、色11122-1aは領域11120-1にあり、色11122-2aは領域11120-2にあり、色11122-3aは領域11120-3にある。フェイスペイントパターン11120は、アバター11005の顔全体をっていない。したがって、アバターの肌の色調11124は、フェイスペイント11118を含まないアバターの顔の一部分について表示されたままである。更に、フェイスペイント11118はアバターの耳11126上には表示されない。
いくつかの実施形態では、フェイスペイント11118は、アバターの肌の色調11124とは異なる質感を有する。例えば、図11Uでは、フェイスペイント11118は、光効果11128(例えば、グレア)によって表される光沢のある質感を有する。いくつかの実施形態では、異なるフェイスペイントパターン11114は、異なるペイント質感を有する。例えば、パターン11114-1は平坦な質感を有し、したがって、光効果を含まない。
前述したように、フェイスペイント11118は、アバター11005の顔の上に適用されるように表示される。したがって、デバイス600は、アバター11005を目の化粧11048又はほくろ11055と共に表示しないが、顔のしわ11007は表示する。更に、デバイス600は、眉毛の色/質感及びフェイスペイント11118との混合によって生じる歪んだ外観11009-1(例えば、歪んだ色)を有する眉毛を表示する。
図11Uでは、デバイス600は、第1の色セット11112-1の色11112-1b上の入力11130を検出し、それに応じて、図11Vに示されるように、新しい色選択に基づいてアバター11005及びパターンオプション11114を更新する。
図11Vでは、新しい色選択に基づいて、フェイスペイント11118が更新される。具体的には、領域11120-1は、色11122-1aから色11122-1bに変更され、パターンオプション11114-4は、領域11114-4aを選択された色に変更することによって同様の方法で更新される。パターンオプション11114-3も更新され、領域11114-3aは選択された色に基づいて変更される。更に、選択された色11112-1bの勾配を調整するために、色スライダ11131が表示される。
図11Vでは、デバイス600は、パターンオプション11114-3上の入力11132を検出し、それに応じて、図11Wに示されるように、パターンオプション11114-3の外観を有するフェイスペイント11118を表示するようにアバター11005を更新する。
図11Wでは、デバイス600は、第3の色セット11112-3の色11112-3b上の入力11134を検出し、それに応じて、図11Xに示されるように、色11112-3bの勾配を調整するための色スライダ11135を表示し、新しい色選択に基づいてアバターパターンオプション11114-4を更新する。
図11Xでは、パターンオプション11114-4は、領域11114-4cを選択された色(例えば、11112-3b)に変更することによって更新される。適用されたパターン(例えば、パターンオプション11114-3に対応する)は、前述のように第3の色セット11112に対応する領域を含まないため、アバター11005上のフェイスペイント11118は、色11112-3bの選択に基づいて更新されないことに留意されたい。
図11Xでは、デバイス600は、パターンオプション11114-4上の入力11136を検出し、それに応じて、色11112-3bの選択に基づいて更新されたパターン11120及び領域11120-3を有する、フェイスペイント11118を有するアバター11005を表示する。デバイス600は、アイウェアメニューオプション11006-9の選択に対応する入力11138を検出し、それに応じて、アイウェアメニューオプション11006-9アバターオプション領域11008の選択を示すようにアバター表示領域11004を更新し、アバター11005のアイウェアを選択するための選択可能なオプションを示す。アイウェアのオプションは、レンズオプション11140及びアイパッチオプション11142を含む。レンズオプション11140は、アバター11005の表現の上に表示された異なるスタイルの眼鏡を示し、異なる眼鏡は、それぞれのレンズオプションのフェイスペイント上に表示される。同様に、アイパッチオプション11142は、アバター11005の表現の上に表示されたアイパッチの異なる位置を示し、アイパッチは、それぞれのアイパッチオプションのフェイスペイントの上に表示される。
図11Zでは、デバイス600は、レンズオプション11140-1を選択する入力11144を検出し、それに応じて、フェイスペイント11118の上に表示された眼鏡11146を含むアバター11005を更新する。更に、アバターオプション領域11008は、眼鏡のための太さオプション11148を含むように更新され、アイパッチオプション11142は、選択された眼鏡を含むように更新され、アバターの顔の表現の上にあるが選択された眼鏡の下に位置付けられた異なるアイパッチオプションを示す。
図11AAでは、デバイス600は、顔メニューオプション11006-4の選択に対応する入力11150を検出し、それに応じて、図11ABに示されるように、選択された顔メニューオプション11006-4を有するアバター表示領域11004を表示し、顔の毛オプション11152を表示する。
図11ABでは、顔の毛オプション11152は、異なる顔の毛スタイルを有するアバター11005の表現を示す。様々な顔の毛オプション11152では、顔の毛は、アバター11005に適用されたフェイスペイントの上に表示される。デバイス600は、顔の毛オプション11152-1の選択に対応する入力11153を検出し、それに応じて、図11ACに示されるように、フェイスペイント11118の上に配置された顔の毛11155を表示するようにアバター11005を更新する。
図11ACでは、デバイス600は、フェイスペイントメニューオプション11006-8の選択に対応する入力11154を検出し、それに応じて、図11ADに示されるように、フェイスペイントメニューオプション11006-8を選択するようにアバター表示領域11004を更新する。
図11ADでは、デバイス600は、フェイスペイント11118の上に表示された眼鏡11146及び顔の毛11155を有するアバター11005を表示する。更に、パターンオプション11114は、選択された眼鏡及び顔の毛オプションを含むように更新され、これらのそれぞれをそれぞれのパターンオプション11114上に表示する。
図12は、いくつかの実施形態に係る、電子デバイスを使用してアバター編集アプリケーションユーザインタフェースにアバターを表示するための方法を示すフロー図である。方法1200は、ディスプレイ及び入力デバイスを備えたデバイス(例えば、100、300、500、600)において実行される。方法1200のいくつかの動作は、任意選択的に組み合わされ、いくつかの動作の順序は、任意選択的に変更され、いくつかの動作は、任意選択的に省略される。
下で説明されているように、方法1200は、アバター編集アプリケーションユーザインタフェース内にアバターを表示するための直感的な方法を提供する。この方法は、アバター編集アプリケーションユーザインタフェース内にアバターを表示する際のユーザの認識的負担を軽減し、それにより、より効率的なヒューマン-マシンインタフェースを作り出す。バッテリ動作式コンピューティングデバイスの場合、ユーザがより高速且つ効率的にアバター編集アプリケーションユーザインタフェース内にアバターを表示することが可能になることにより、電力が節約され、バッテリ充電の間隔が長くなる。
電子デバイス(例えば、600)は、表示デバイス(例えば、601)を介して、アバター編集ユーザインタフェース(例えば、11002)(例えば、単一のインタフェース画面)を表示する(1202)。
デバイスは、第1の特徴(アバターフェイスペイント11118)を含むアバター(例えば、11005)(例えば、人間のキャラクターを表すためにモデル化されたアバター、及び/又はユーザによって作成及び/又はカスタマイズ可能なアバターなどのアバター)を含む(同時に表示することを含む)アバター編集ユーザインタフェース(例えば、11002)を表示し(1204)、第1の特徴は、第1の色パターンの第1の領域(例えば、11120-1)(例えば、中央の稲妻形状)の第1の色(例えば、11122-1a)(例えば、赤色)を含む色の第1のセット(例えば、11122)(例えば、色のデフォルトのセット、例えば、フェイスペイントテンプレートに対応する色のセット)で作成された第1の色パターン(例えば、11120)(例えば、アバターに適用されたフェイスペイントテンプレート)(例えば、稲妻形状を有する色パターン)を有する。いくつかの実施形態では、人間を表すためにモデル化されたアバターは、一般に人間の身体的特性に対応するカスタマイズ可能な(例えば、選択可能又は構成可能な)アバター特徴を含む。例えば、そのようなアバターは、様々な身体的な人間の特徴又は特性を有する個人の表現(例えば、浅黒い肌の色及び長い茶色の直毛を有する高齢の女性)を含んでよい。そのようなアバターは、通常は人間の外観に関連付けられる様々な人間以外の特性(例えば、装飾用の拡張、帽子、眼鏡など)を有する個人の表現も含む。いくつかの実施形態では、そのようなアバターは、定型化された動物、定型化されたロボット、又は通常は無生物若しくは非人間的対象物の定型化などの、擬人化された構成を含まない。
いくつかの実施形態では、第1の特徴は、アバターの肌特徴の第2の表示された質感(例えば、11124)とは異なる、第1の表示された質感(例えば、光効果11128によって表される)(例えば、ペイント質感(例えば、光沢、平坦、艶消しなど))を含む(例えば、アバターの肌は、フェイスペイントの質感とは異なる質感を有する)。アバターの肌特徴の表示された質感とは異なる表示された質感を有する第1の特徴を表示することは、フェイスペイント特徴がアバターに適用され、特に、フェイスペイントが肌の色調と混同され得る色を有する場合には、フェイスペイントコントロールとの相互作用がアバターに影響を及ぼすという視覚的フィードバックをユーザに提供する。改善されたフィードバックを提供することにより、デバイスの操作性が向上し、(例えば、デバイスを操作する/デバイスと対話するときにユーザが適切な入力を行うのを支援しユーザの誤りを削減することによって)ユーザ-デバイスインタフェースがより効率的になり、このことにより更に、ユーザがデバイスをより迅速且つ効率的に使用可能になることによって、電力使用量を削減し、デバイスのバッテリ寿命を改善する。
デバイスは、第1の特徴に対する色オプションのセット(例えば、11112)(例えば、色オプションの複数のセット)を含むアバター編集ユーザインタフェース(例えば、11002)を表示する(1206)。いくつかの実施形態では、色オプションの各セットは、色オプションのそれぞれのセットを含む色オプションの選択と共に色を変更するパターン(又はその一部分)を含む様々なフェイスペイントテンプレートオプションに対応する。
デバイスは、第1の色パターン(例えば、11120)とは異なる第2の色パターンオプション(例えば、11114-3)(例えば、縦縞を有する色パターン)を含む第1の特徴(例えば、11118)の複数の色パターンオプション(例えば、11114)(例えば、異なるアバターフェイスペイントテンプレートに対応する選択可能なオプション)を含むアバター編集ユーザインタフェース(例えば、11002)を表示する(1208)(例えば、第2の色パターンオプションは、アバターに適用された色パターンとは異なる色パターンに対応する)。
いくつかの実施形態では、複数の色パターンオプションは、第1の色パターン(例えば、11120)に対応する第1の色パターンオプション(例えば、11114-4)(例えば、アバターに現在適用されている色パターンを表す選択可能な色パターンオプション)を含む。いくつかの実施形態では、アバターの第1の特徴が第1の色パターンを有する場合、第1の色パターンオプションが選択された状態で示される。
いくつかの実施形態では、複数の色パターンオプションは、選択されると、第1の特徴(例えば、11118)を表示することを中止するオプション(例えば、11114-2)を含む(例えば、第1の特徴を表示するのを中止するオプションが選択されると、アバターは、フェイスペイントなしに表示される)。
いくつかの実施形態では、電子デバイスは、第1の特徴の表示を中止するためのオプション(例えば、11114-2)の選択を検出する。いくつかの実施形態では、第1の特徴の表示を中止するためのオプションの選択を検出したことに応じて、電子デバイスは、第1の特徴を表示することを中止する(例えば、アバターからフェイスペイントを取り除く一方で、それぞれの色パターンが適用されたアバターの表現をそれぞれが有する色パターンオプションを表示する)。いくつかの実施形態では、第1の特徴を表示するのを中止するオプションの選択を検出したことに応じて、電子デバイスは、第1の特徴が表示されている間は隠されていた1つ以上のアバター特徴(例えば、ほくろ、化粧(例えば、チーク、口紅、アイシャドウなど))を表示する(例えば、表示を導入する、見せる)(例えば、図11Tのアバター11005を参照)。フェイスペイントによって隠されていたアバターの特徴を見せることにより、フェイスペイント特徴がもはやアバター上に表示されず、アバターのユーザの以前の選択及びカスタマイズが保存されるという視覚的フィードバックがユーザに提供される。改善された視覚的フィードバックを提供することにより、デバイスの操作性が向上し、(例えば、デバイスを操作する/デバイスと対話するときにユーザが適切な入力を行うのを支援しユーザの誤りを削減することによって)ユーザ-デバイスインタフェースがより効率的になり、このことにより更に、ユーザがデバイスをより素早く且つ効率的に使用可能になることによって、デバイスの電力使用量が削減されバッテリ寿命が改善される。
いくつかの実施形態では、アバター(例えば、11005)は、第1の特徴の上に表示される第3の特徴を含む。いくつかの実施形態では、第1の特徴は、アバターの眼鏡の特徴(例えば、11146)(例えば、眼鏡、サングラス、モノクル、ゴーグルなど)、アバターの髪の特徴(例えば、アバターの頭頂部上の髪)、アバターの顔の毛の特徴(例えば、11155)(例えば、眉毛以外のアバターの顔の毛(例えば、あごひげ、やぎひげ、口ひげなど)、及びアバターの肌のしわの特徴(例えば、11007)(例えば、しわを表すアバターの肌の線)からなるグループから選択されるアイテムである。いくつかの実施形態では、第3の特徴は、フェイスペイントの上に表示され、(例えばアバターの頭の動き、アバターの顔のポーズの変化、及びアバター顔の特徴(例えば、鼻、眉毛、口など)の動きなどのアバターの他の特徴に依然として応答しながら)フェイスペイントに加えられた変更には応答しない。第1の特徴の上に第3の特徴を表示することにより、ユーザのフェイスペイントの選択を依然として尊重しながら、アバターのカスタマイズ及び表現(例えば、顔の表情、ポーズ)を表示することができる。これは、アバターを作成するための改善された制御スキームを提供し、これは、アバターを作成するために必要な入力を、異なる制御スキーム(例えば、アバターを構築するために個々の制御点の操作を必要とする制御スキーム)が使用された場合で必要とされるよりも少なくすることができる。このことによりデバイスの操作性が向上し、(例えば、デバイスを操作する/デバイスと対話するときにユーザが適切な入力を行うのを支援しユーザの誤りを削減することによって)ユーザ-デバイスインタフェースがより効率的になり、このことにより更に、ユーザがデバイスをより素早く且つ効率的に使用可能になることによって、デバイスの電力使用量が削減されバッテリ寿命が改善される。
いくつかの実施形態では、アバターは、第4の特徴(例えば、アバター眉毛11009)を含む。いくつかの実施形態では、第1の特徴を表示しながら、電子デバイスは、第1の特徴に基づく第1の外観(例えば、11009-1)を有する第4の特徴を表示する(例えば、アバター眉毛は、元の眉毛の色とそれぞれの眉毛に対応する位置における第1の特徴の色との組み合わせである色を有し、又は眉毛に対応するフェイスペイントの一部分は、フェイスペイントの下に眉毛があることを示すために、眉毛の位置及び形状において異なる色又は質感を有する)。いくつかの実施形態では、第1の特徴を表示することを中止した後、電子デバイスは、第1の特徴に基づかない第2の外観(例えば、図11Tの眉毛11009を参照)を有する第4の特徴を表示する(例えば、アバター眉毛は、選択された髪の色(例えば、眉毛の色)に基づいて決定される色を有する)。第1の特徴を表示しながら第1の外観を有する第4の特徴を表示することは、フェイスペイントが表示されながらも第4の特徴が存在するというインジケーションをユーザに提供する。更に、第4の特徴の存在により、アバターは、依然としてユーザの顔のペイントの選択を維持しながら、第4の特徴(例えば、眉毛)を使用して異なる顔の表情を提供することができる。これは、アバターを作成するための改善された制御スキームを提供し、これは、アバターを作成するために必要な入力を、異なる制御スキーム(例えば、アバターを構築するために個々の制御点の操作を必要とする制御スキーム)が使用された場合で必要とされるよりも少なくすることができる。このことによりデバイスの操作性が向上し、(例えば、デバイスを操作する/デバイスと対話するときにユーザが適切な入力を行うのを支援しユーザの誤りを削減することによって)ユーザ-デバイスインタフェースがより効率的になり、このことにより更に、ユーザがデバイスをより素早く且つ効率的に使用可能になることによって、デバイスの電力使用量が削減されバッテリ寿命が改善される。
いくつかの実施形態では、アバターは、第1の特徴と同時に表示される第5の特徴(例えば、アバターの耳11126)を含み、第5の特徴は第1の特徴とは別個であり、第1の特徴の変更に応じて変更されない(例えば、アバターの耳は、肌の色調を有し、第1の特徴が変更されても変更されない)。
第1の特徴(例えば、11118)が、第1の色パターンの第1の領域(例えば、11120-1)内の第1の色(例えば、11122-1a)を含む色の第1のセット(例えば、11122)で作成された第1の色パターン(例えば、11120)で表示されている間に、電子デバイスは、入力デバイス(例えば、601)を介して、第2の色(例えば、11112-1b)(例えば、青色)に対応する色オプションのセット内の色オプションの選択(例えば、11130)を検出する(1210)。
選択(例えば、11130)を検出したことに応じて(1212)、電子デバイスは、色オプションのセット(例えば、11112-1)に対応する第1の部分(例えば、11114-3a、11114-4a)(例えば、色オプションの選択によって変化するフェイスペイントテンプレートの一部分)を有する複数の色パターンオプションの1つ以上の色パターンオプション(例えば、図11Vの11114-3及び11114-4)の外観を変更する(1214)((例えば、アバター自体の外観を必ずしも変更することなく)1つ以上の色パターンオプションで表示されるアバターの表現の外観を変更する)。いくつかの実施形態では、外観を変更することは、第2の色パターンオプション(例えば、11114-3)の一部分(例えば、11114-3a)を、それぞれの色(例えば、11112-1a)から第2の色(例えば、11112-1b)に変更すること(例えば、第2の色パターンの領域を青色に変更すること)を含む。いくつかの実施形態では、色パターンオプションのサブセットのみが、色オプションのセットに対応する領域を有する。いくつかの実施形態では、色パターン(例えば、色パターンテンプレートの一部分)は、色パターンがセット内の色オプションの選択に応じて色を変化させた場合に、色オプションのセットに対応する。いくつかの実施形態では、色パターンは、フェイスペイントテンプレートの設計に応じて、フェイスペイントテンプレートの一部又は全てを形成する。したがって、フェイスペイントテンプレートは、テンプレートを形成するいくつかの色パターンを有することができる。例えば、3つの色パターンを有するフェイスペイントテンプレートは、色オプションの3つのセットから異なる色を選択したことに応じて色を変更する。いくつかの実施形態では、色パターンは、様々な形状及び設計を有することができる。
いくつかの実施形態では、複数の色パターンオプションは、色オプション(例えば、11112)の選択に応答しない領域(例えば、11114-1a)(例えば、デフォルト色を有する領域)を有する第5の色パターンオプション(例えば、11114-1)を含む(例えば、デフォルト色は、色オプションのセットによって変更できない)。いくつかの実施形態では、色パターンのうちの1つ以上は、変更されない1つ以上のデフォルト色を有するタイプのパターンを含む。例えば、カモフラパターンは、色オプションのセットによって変更できない黒色を含む。別の例として、頭蓋骨パターンは、常に黒色である眼窩及び鼻領域を有する。別の例として、ピエロ及びバンパイアパターンは、色オプションのセットによって変更できない白ベースの色を有する。更に別の例として、鬼パターンは、色オプションのセットによって変更できない黒色を有する唇及び目領域を有する。
第2の色に対応する色オプションのセット内の色オプション(例えば、11112-1b)の選択を検出したことに応じて(1212)、電子デバイスは、第1の特徴(例えば、11118)を含むアバター(例えば、11005)の表示を維持する(1216)。いくつかの実施形態では、第1の特徴は、第1の色パターン(例えば、11120)(例えば、稲妻色パターン)を有する(例えば、アバターは同じ色パターン(例えば、第1の色パターン)を維持する)が、維持された色パターンの領域のいずれかは、領域が選択された色オプションに対応するかどうかに応じて任意選択的に色を変更する。例えば、第1の色パターンの第1の領域が選択された色オプションに対応する場合、第1の領域は、第1の色から第2の色に変わる。そうでなければ、第1の領域は変化しないままである(例えば、第1の色を有する)。
いくつかの実施形態では、第1の特徴(例えば、11118)を含むアバター(例えば、11005)の表示を維持することは、第1の色パターンの色の第1のセット内の色のそれぞれの1つ(例えば、11122-1a)(例えば、第1の色、第1の色以外の色)を第2の色(例えば、11122-1b)に変更することを含む(例えば、色のセット内の色のうちの1つは、第2の色(例えば、青色)に変更されるが、アバターに適用される色パターンは維持される)。いくつかの実施形態では、アバターに適用される第1の色パターンの色の第1のセットにおいて変更される色は、色オプションのセットに応答する第1の色パターンの領域内にある。したがって、色オプションのセットから異なる色オプションが選択されると、応答領域の色が選択された色に変わる。いくつかの実施形態では、色の第1のセットにおいて変更される色は、第1の色パターンの第1の領域内の色(例えば、第1の色)である。いくつかの実施形態では、色の第1のセットにおいて変更される色は、第1の色パターンの異なる領域(例えば、第1の領域ではない)内の色である。第1の色パターンの色の第1のセット内の色のうちのそれぞれの1つを第2の色に変更することにより、仮想アバターを作成する技術的タスクを実行する入力の数が減る。タスクを実行するために必要な入力の数が減ることにより、デバイスの操作性が高められ、ユーザ-デバイスインタフェースを(例えば、デバイスを操作する/デバイスと対話するときにユーザが適切な入力を行うのを支援し、ユーザの誤りを削減することによって)より効率的にし、加えて、ユーザがデバイスをより迅速且つ効率的に使用できるようにすることによって、デバイスの電力使用が抑えられ、バッテリ寿命が改善される。
いくつかの実施形態では、第2の色(例えば、11112-1b)に対応する色オプションのセット(例えば、11112-1)内の色オプションの選択を検出したことに応じて、電子デバイスは、選択された色オプションの色調整コントロール(例えば、11131)(例えば、色スライダユーザインタフェース)を表示する。いくつかの実施形態では、電子デバイスは、色調整コントロールに対応する入力(例えば、ドラッグジェスチャ又はタップジェスチャ)を検出する。いくつかの実施形態では、第2の色に対応する色オプションのセット内の色オプションの選択を検出したことに応じて、及び色調整コントロールに対応する入力を検出したことに応じて、電子デバイスは、第2の色の1つ以上の特性(例えば、色相、彩度、値、明度、輝度、濃淡、中間色調、ハイライト、暖かさ、冷たさなど)を変更する(例えば、色調整コントロールに対応する入力の大きさ及び方向に基づいて1つ以上の特性を変更する)。いくつかの実施形態では、第2の色の1つ以上の特性を変更することは、第2の色が表示される(例えば、(色パターンオプションのうちの1つ以上において、選択された色オプションにおいて、第1の特徴において)選択されることに応じて表示される)位置での第2の色の1つ以上の特性を変更することを含む。いくつかの実施形態では、色オプションのセット内の色オプションのうちの1つが選択されると、色オプションの各セットは、色スライダを表示する。
電子デバイスは、変更された外観(例えば、図11Vを参照)を有する色パターンオプションのそれぞれの色パターンオプション(例えば、11114-3)(例えば、第2の色パターンオプション)の選択(例えば、11132)を検出する(1218)(例えば、色選択に応じて変更/更新されたフェイスペイントテンプレートオプションのうちの1つを選択する、例えば、青色及び縦縞パターンを有するフェイスペイントテンプレートを選択する)。
それぞれの色パターンオプション(例えば、11114-3)の選択を検出したことに応じて、第2の色(例えば、11112-1b)が、色オプションのセット(例えば、11112-1)に対して選択され、電子デバイスは、それぞれの色パターンオプションの一部分に適用された第2の色を有するそれぞれの色パターンオプションに基づいて作成された外観を有するように、アバターの第1の特徴(例えば、11118)の外観を変更する(1220)(例えば、アバター11005は、図11Wに示されるようなパターンオプション11114-3に対応する色パターンを有するフェイスペイント11118で更新される)(例えば、選択されたフェイスペイントテンプレート(例えば、青色及び縦縞パターンを有する)を含むようにアバターの外観を変更する)。いくつかの実施形態では、アバターの外観を変更することは、アバターから第1のフェイスペイントテンプレートを取り除くことと、選択されたフェイスペイントテンプレートをアバターに適用することと、を含む。いくつかの実施形態では、アバターの外観を変更することは、色パターンを変更することなく(例えば、アバターに適用されるフェイスペイントテンプレートの設計を変更することなく)、変更された色(例えば、赤色から青色への切り替え)を含むように、アバターに現在適用されている色パターンを更新することを含む。第2の色が色オプションのセットに対して選択されている間に、第2の色が色パターンオプションの一部に適用された色パターンオプションに基づいて作成された外観を有するように第1の特徴の外観を変更することは、色オプションのそれぞれのセットにおける色の選択が、それぞれの色パターンオプションの対応する色の変化を引き起こすという視覚的フィードバックをユーザに提供する。これは、アバターのカスタム外観を作成するための改善された制御スキームを提供し、これは、アバターを作成するために必要な入力を、異なる制御スキーム(例えば、アバターを構築するために個々の制御点の操作を必要とする制御スキーム)が使用された場合で必要とされるよりも少なくすることができる。タスクを実行するために必要な入力の数が減ることにより、デバイスの操作性が高められ、ユーザ-デバイスインタフェースを(例えば、デバイスを操作する/デバイスと対話するときにユーザが適切な入力を行うのを支援し、ユーザの誤りを削減することによって)より効率的にし、加えて、ユーザがデバイスをより迅速且つ効率的に使用できるようにすることによって、デバイスの電力使用が抑えられ、バッテリ寿命が改善される。
いくつかの実施形態では、それぞれの色パターンオプションの一部分に適用された第2の色を有するそれぞれの色パターンオプションに基づいて作成された外観を有するようにアバター(例えば、11005)の第1の特徴(例えば、11118)の外観を変更することは、それぞれの色パターンオプションが第2の色パターンオプション(例えば、11114-3)(例えば、縦縞を有するパターンのオプション)であるという判定に従って、第2の色パターンオプションに対応する第2の色パターン(例えば、アバターの顔に適用される縦縞)を有するアバターの第1の特徴を表示することを含む(例えば、アバター11005は、図11Wに示されるようなパターンオプション11114-3に対応する色パターンを有するフェイスペイント11118で更新される)(例えば、アバターは、選択された第2の色パターンオプション(例えば、縦縞を有するパターン)と一致する色パターンで表示される)。いくつかの実施形態では、それぞれの色パターンオプションの一部分に適用された第2の色を有するそれぞれの色パターンオプションに基づいて作成された外観を有するようにアバター第1の特徴の外観を変更することは、それぞれの色パターンオプションが第2の色パターンオプションとは異なる第4の色パターンオプション(例えば、カモフラパターンオプション)であるという判定に従って、第4の色パターンオプションに対応する第4の色パターン(例えば、カモフラパターン)を有するアバターの第1の特徴を表示することを含む(例えば、アバターは、選択された第4の色パターンオプション(例えば、カモフラパターン)と一致する色パターンで表示される)。第4の色パターンオプションに対応する第4の色パターンを有するアバターの第1の特徴を表示することにより、ユーザは色パターンの色を切り替えることができ、次いで、変更された色パターンをアバターに適用することができる。これは、アバターのカスタム外観を作成するための改善された制御スキームを提供し、これは、アバターを作成するために必要な入力を、異なる制御スキーム(例えば、アバターを構築するために個々の制御点の操作を必要とする制御スキーム)が使用された場合で必要とされるよりも少なくすることができる。タスクを実行するために必要な入力の数が減ることにより、デバイスの操作性が高められ、ユーザ-デバイスインタフェースを(例えば、デバイスを操作する/デバイスと対話するときにユーザが適切な入力を行うのを支援し、ユーザの誤りを削減することによって)より効率的にし、加えて、ユーザがデバイスをより迅速且つ効率的に使用できるようにすることによって、デバイスの電力使用が抑えられ、バッテリ寿命が改善される。
いくつかの実施形態では、複数の色パターンオプションは、第2の色パターンオプションとは異なる第3の色パターンオプションを更に含む。いくつかの実施形態では、第2の色パターンオプションの一部分をそれぞれの色から第2の色に変更することは、第3の色パターンオプションの一部分を第3の色から第2の色に変更することを含む。第2の色パターンオプションの一部分をそれぞれの色から第2の色に変更するときに、第3の色パターンオプションの一部分を第3の色から第2の色に変更することにより、ユーザは、色オプションのセットから単色オプションを選択することによって、複数の色パターンオプションの色を更新することができる。これは、アバターのカスタム外観を作成するための改善された制御スキームを提供し、これは、アバターを作成するために必要な入力を、異なる制御スキーム(例えば、アバターを構築するために個々の制御点の操作を必要とする制御スキーム)が使用された場合で必要とされるよりも少なくすることができる。タスクを実行するために必要な入力の数が減ることにより、デバイスの操作性が高められ、ユーザ-デバイスインタフェースを(例えば、デバイスを操作する/デバイスと対話するときにユーザが適切な入力を行うのを支援し、ユーザの誤りを削減することによって)より効率的にし、加えて、ユーザがデバイスをより迅速且つ効率的に使用できるようにすることによって、デバイスの電力使用が抑えられ、バッテリ寿命が改善される。
方法1200に関連して上述したプロセスの詳細(例えば、図12)はまた、後述する方法にも類似する方式で適用可能であることに留意されたい。例えば、方法700、800、1000、1300、1500、1700及び1800は、方法1200を参照して上述した様々な方法の特性のうちの1つ以上を任意選択的に含む。例えば、アバターは、上述したものと同様の方法でユーザインタフェースに表示及び使用することができる。簡潔にするために、これらの詳細は、以下で繰り返さない。
図13は、いくつかの実施形態に係る、電子デバイスを使用してアバター編集アプリケーションユーザインタフェースにアバターを表示するための方法を示すフロー図である。方法1300は、ディスプレイ及び入力デバイスを備えたデバイス(例えば、100、300、500、600)において実行される。方法1300のいくつかの動作は、任意選択的に組み合わされ、いくつかの動作の順序は、任意選択的に変更され、いくつかの動作は、任意選択的に省略される。
下で説明されているように、方法1300は、アバター編集アプリケーションインタフェース内にアバターを表示するための直感的な方法を提供する。この方法は、アバター編集アプリケーションインタフェース内にアバターを表示する際のユーザの認識的負担を軽減し、それにより、より効率的なヒューマン-マシンインタフェースを作り出す。バッテリ動作式コンピューティングデバイスの場合、ユーザがより高速且つ効率的にアバター編集アプリケーションインタフェース内にアバターを表示することが可能になることにより、電力が節約され、バッテリ充電の間隔が長くなる。
電子デバイス(例えば、600)は、表示デバイス(例えば、601)を介して、アバター編集ユーザインタフェース(例えば、1102)(例えば、単一のインタフェース画面)を表示する(1302)。
電子デバイス(例えば、600)は、それぞれのアバター特徴(例えば、11014)(例えば、口、舌、顔)を含むアバター(例えば、11005)(例えば、人間のキャラクターを表すためにモデル化されたアバター、ユーザによって作成及び/又はカスタマイズ可能なアバターなどのアバター)を含むアバター編集ユーザインタフェースを表示し(1304)(例えば同時に表示することを含む)、それぞれのアバター特徴は、第1のポーズ(例えば、11014-1)(例えば、特徴のデフォルトのポーズ又は状態、例えば、閉じた口、例えば、アバターの口の中の舌、例えば、表情)を有する。いくつかの実施形態では、人間を表すためにモデル化されたアバターは、一般に人間の身体的特性に対応するカスタマイズ可能な(例えば、選択可能又は構成可能な)アバター特徴を含む。例えば、そのようなアバターは、様々な身体的な人間の特徴又は特性を有する個人の表現(例えば、浅黒い肌の色及び長い茶色の直毛を有する高齢の女性)を含んでよい。そのようなアバターは、通常は人間の外観に関連付けられる様々な人間以外の特性(例えば、装飾用の拡張、帽子、眼鏡など)を有する個人の表現も含む。いくつかの実施形態では、そのようなアバターは、定型化された動物、定型化されたロボット、又は通常は無生物若しくは非人間的対象物の定型化などの、擬人化された構成を含まない。
電子デバイス(例えば、600)は、複数のアバター特徴オプション(例えば、11016、11018)(例えば、対応するアバター特徴の利用可能な変更の表示された表現)を含む、アバターオプション選択領域(例えば、11008)(例えば、アバター特徴を変更するために選択可能なオプションを含む視覚的に区別された領域)を含むアバター編集ユーザインタフェースを表示する(1306)。いくつかの実施形態では、特徴オプションは、アバター特徴(例えば、11020、11022)(例えば、それぞれのアバター特徴以外の選択されたアバター特徴)の特性(例えば、歯のスタイル、ピアスのタイプ)についての候補値(例えば、11016-1~11016-6)(例えば11018-1~11018-3)(候補又は候補オプションのセット)に対応し、且つアバターに基づく外観を有する特定のアバター特徴の態様又は値をカスタマイズするように選択することができる異なる特徴オプションのグラフィック表示を含む。
電子デバイスは、入力デバイスを介して、それぞれのアバター特徴を編集するためのオプション(例えば、それぞれのアバター特徴の特徴を変更するための「口」アフォーダンスの選択及び/又はアバターの口などのそれぞれのアバター特徴の特徴を変更するためのオプションのセットのスクロール)を表示する要求(例えば、11012)を検出する(1308)。
要求を検出したことに応じて、電子デバイスは、それぞれのアバター特徴(例えば、アバターの口11014)の特性(例えば、歯、舌ピアスなど)の候補値のセットに対応する、アバター特徴オプション(例えば、11016、11018)を表示するようにアバターオプション選択領域(例えば、11008)を更新する(1310)。いくつかの実施形態では、それぞれのアバター特徴の特性の候補値のセットに対応するアバター特徴オプションを表示するようにアバターオプション選択領域を更新することは、同時に、それぞれのアバター特徴(例えば、11014)が第2のポーズ(例えば、11014-3)(例えば、アバターの口は開いていて、舌を突き出している)(例えば、第1のポーズとは異なる第2のポーズ)(例えば、第1のポーズと同じ第2のポーズ)を有するそれぞれのアバター特徴の第1のオプション(例えば、11018-1)(例えば、アバターの舌ピアスのオプション)の表現を表示する(1312)こと、及びそれぞれのアバター特徴が第2のポーズ(例えば、アバターの口はアバターの歯を見せるために笑顔ポーズで開いている(例えば、唇は後ろに引っ張られている))とは異なる第3のポーズ(例えば、11014-2)を有するそれぞれのアバター特徴の第2のオプション(例えば、11016-1)(例えば、アバターの歯のオプション)の表現を表示する(1314)ことを含む。異なるポーズを有する第1及び第2のオプションのそれぞれの表現を表示することにより、表示されたオプションが向上し、ユーザは、それぞれのアバター特徴の特性をより容易に見ることができ、正確に編集することができる。これは、アバターのカスタム外観を作成又は編集するための改善された制御スキームを提供し、これは、アバターを作成するために必要な入力を、異なる制御スキーム(例えば、アバターを構築するために個々の制御点の操作を必要とする制御スキーム)が使用された場合で必要とされるよりも少なくすることができる。タスクを実行するために必要な入力の数が減ることにより、デバイスの操作性が高められ、ユーザ-デバイスインタフェースを(例えば、デバイスを操作する/デバイスと対話するときにユーザが適切な入力を行うのを支援し、ユーザの誤りを削減することによって)より効率的にし、加えて、ユーザがデバイスをより迅速且つ効率的に使用できるようにすることによって、デバイスの電力使用が抑えられ、バッテリ寿命が改善される。
いくつかの実施形態では、それぞれのアバター特徴の特性の候補値のセットに対応するアバター特徴オプションを表示するようにアバターオプション選択領域(例えば、11008)を更新することは、第1のオプションの代替の複数の表現の各々において、それぞれのアバター特徴が第2のポーズ(例えば、11014-3)(例えば、アバターの口は開いていて、舌を突き出している)を有するそれぞれのアバター特徴の第1のオプション(例えば、異なるアバター舌ピアスオプション)の代替の複数の表現(例えば、11018-2、11018-3)を表示することを更に含む。それぞれのアバター特徴が第1のオプションの代替の複数の表現のそれぞれにおける第2のポーズを有する、それぞれのアバター特徴の第1のオプションの代替の複数の表現を表示すると、複数の表現の表示された外観が向上するので、ユーザは、第1のオプションの代替の複数の表現に基づいて、それぞれのアバター特徴の異なる特性をより容易に見ることができ、正確に編集することができる。これは、アバターのカスタム外観を作成又は編集するための改善された制御スキームを提供し、これは、アバターを作成するために必要な入力を、異なる制御スキーム(例えば、アバターを構築するために個々の制御点の操作を必要とする制御スキーム)が使用された場合で必要とされるよりも少なくすることができる。タスクを実行するために必要な入力の数が減ることにより、デバイスの操作性が高められ、ユーザ-デバイスインタフェースを(例えば、デバイスを操作する/デバイスと対話するときにユーザが適切な入力を行うのを支援し、ユーザの誤りを削減することによって)より効率的にし、加えて、ユーザがデバイスをより迅速且つ効率的に使用できるようにすることによって、デバイスの電力使用が抑えられ、バッテリ寿命が改善される。
いくつかの実施形態では、それぞれのアバター特徴の特性の候補値のセットに対応するアバター特徴オプションを表示するようにアバターオプション選択領域を更新することは、第2のオプションの代替の複数の表現の各々において、それぞれのアバター特徴が第2のポーズ(例えば、アバターの歯を見せるために、アバターの口は笑顔ポーズで開いており、唇は後ろに引っ張られている)とは異なる第3のポーズ(例えば、11014-2)を有するそれぞれのアバター特徴の第2のオプション(異なるアバターの歯のオプション)の代替の複数の表現(例えば、11016-2~11016-6)を表示することを更に含む。それぞれのアバター特徴が第2のオプションの代替の複数の表現のそれぞれにおける第3のポーズを有する、それぞれのアバター特徴の第2のオプションの代替の複数の表現を表示すると、複数の表現の表示された外観が向上するので、ユーザは、第2のオプションの代替の複数の表現に基づいて、それぞれのアバター特徴の異なる特性をより容易に見ることができ、正確に編集することができる。これは、アバターのカスタム外観を作成又は編集するための改善された制御スキームを提供し、これは、アバターを作成するために必要な入力を、異なる制御スキーム(例えば、アバターを構築するために個々の制御点の操作を必要とする制御スキーム)が使用された場合で必要とされるよりも少なくすることができる。タスクを実行するために必要な入力の数が減ることにより、デバイスの操作性が高められ、ユーザ-デバイスインタフェースを(例えば、デバイスを操作する/デバイスと対話するときにユーザが適切な入力を行うのを支援し、ユーザの誤りを削減することによって)より効率的にし、加えて、ユーザがデバイスをより迅速且つ効率的に使用できるようにすることによって、デバイスの電力使用が抑えられ、バッテリ寿命が改善される。
いくつかの実施形態では、第1のオプションの代替の複数の表現及び第2のオプションの代替の複数の表現はそれぞれ、アバターの外観に基づく外観を有する(例えば、アバターの外観はアバター編集入力(例えば、肌の色、口紅の色、年齢、顔の毛の色及びスタイルなどのアバター特徴の選択)に基づいて選択され、代替の表現はそれぞれ、(例えば、アバターのアバター編集入力(例えば、同じ選択されたアバター特徴を有する)に基づいて)アバターの選択された外観を組み込む外観を含む。)
いくつかの実施形態では、第1のオプションは、それぞれのアバター特徴(例えば、11014)(例えば、アバターの口の舌部分)の第1の部分(例えば、11022)を編集するためのオプションに対応する。いくつかの実施形態では、第2のポーズ(例えば、11014-3)は、それぞれのアバター特徴の第1の部分の視認度(例えば、目立つ場所、詳細のレベル)を高める。いくつかの実施形態では、第2のオプションは、第1の部分(例えば、アバターの口の舌部分)とは異なるそれぞれのアバター特徴の第2の部分(例えば、11020)を編集するためのオプションに対応する。いくつかの実施形態では、第3のポーズ(例えば、11014-2)は、それぞれのアバター特徴の第2の部分の視認度を高める。いくつかの実施形態では、特徴の一部分の視認度を高めることは、ユーザがその部分を見ることが容易になるように、部分の視野を拡大すること、又は部分の追加のコンテンツを表示することを含む。第1又は第2の部分の視認度を高めることにより、ユーザは、それぞれの部分に対応するアバターの特徴をより正確に編集するために、それぞれの部分をより容易に見ることができる。
いくつかの実施形態では、第1の部分(例えば、11022)は、それぞれのアバター特徴(例えば、11014)が第1のポーズ(例えば、11014-1)を有するとき、第1の視認度を有し、第1の部分の視認度は、第1のポーズにおける第1の部分の第1の視認度よりも第2のポーズ(例えば、11014-3)において高い(例えば、第1の部分は、第1のポーズにあるよりも第2のポーズにおいて視認度が高まる)。いくつかの実施形態では、第2の部分(例えば、11020)は、それぞれのアバター特徴が第1のポーズを有するとき、第2の視認度を有し、第2の部分の視認度は、第1のポーズにおける第2の部分の第2の視認度よりも第3のポーズ(例えば、11014-2)において高い(例えば、第2の部分は、第1のポーズにあるよりも第3のポーズにおいて視認度が高まる)。いくつかの実施形態では、それぞれのアバター特徴のポーズは、ユーザの顔の追跡に基づいて決定されず、それぞれのアバター特徴の第1のポーズは、それぞれのアバター特徴の中立ポーズ又はそれぞれのアバターの所定のポーズである。いくつかの実施形態では、それぞれのアバター特徴の第1のポーズは、電子デバイスのカメラの視野内で検出された顔のポーズに基づいて決定される。
いくつかの実施形態では、第1の部分(例えば、11022)は、それぞれのアバター特徴が第3のポーズ(例えば、11014-2)を有するとき、第3の視認度を有し、第1の部分の視認度は、第3のポーズにおける第1の部分の第3の視認度よりも第2のポーズ(例えば、11014-3)において高い(例えば、第1の部分は、第3のポーズにあるよりも第2のポーズにおいて視認度が高まる)。いくつかの実施形態では、第2の部分(例えば、11020)は、それぞれのアバター特徴が第2のポーズ(例えば、11014-3)を有するとき、第4の視認度を有し、第2の部分の視認度は、第2のポーズにおける第2の部分の第4の視認度よりも第3のポーズ(例えば、11014-2)において高い(例えば、第2の部分は、第2のポーズにあるよりも第3のポーズにおいて視認度が高まる)。
いくつかの実施形態では、それぞれのアバター特徴はアバターの口(例えば、11014)である。いくつかの実施形態では、第1のオプションは、アバターの舌(例えば、11022)のピアスオプション(例えば、舌ピアスオプション11018-1)である。いくつかの実施形態では、第2のポーズ(例えば、11014-3)は、アバターの口が、アバターの口から延びるアバターの舌と共に表示されるポーズである(例えば、アバターの口は開いていて、舌を突き出している)。いくつかの実施形態では、アバターの口は、舌が延びていない第1のポーズを有し、第2のポーズは舌が突き出していることを示す。アバターの舌がアバターの口から延びるポーズを有するアバターの口を表示すると、アバターの舌の表示された外観が強調され、ユーザは、舌を延ばしたポーズに基づいてアバターの口の異なる舌ピアス特性をより容易に見ることができ、正確に編集することができる。これは、アバターのカスタム外観を作成又は編集するための改善された制御スキームを提供し、これは、アバターを作成するために必要な入力を、異なる制御スキーム(例えば、アバターを構築するために個々の制御点の操作を必要とする制御スキーム)が使用された場合で必要とされるよりも少なくすることができる。タスクを実行するために必要な入力の数が減ることにより、デバイスの操作性が高められ、ユーザ-デバイスインタフェースを(例えば、デバイスを操作する/デバイスと対話するときにユーザが適切な入力を行うのを支援し、ユーザの誤りを削減することによって)より効率的にし、加えて、ユーザがデバイスをより迅速且つ効率的に使用できるようにすることによって、デバイスの電力使用が抑えられ、バッテリ寿命が改善される。
いくつかの実施形態では、それぞれのアバター特徴はアバターの口(例えば、11014)である。いくつかの実施形態では、第2のオプションは、アバターの歯のオプション(例えば、11016-1)(例えば、ブラケット、歯の隙間(例えば、欠損歯、歯の隙間)、グリル、牙、1本の金歯などの歯のオプション)である。いくつかの実施形態では、第3のポーズ(例えば、11014-2)は、アバターの歯(例えば、11020)を見せるようにアバターの唇が配置されてアバターの口が表示されるポーズである(例えば、アバターの口はアバターの歯を見せるために(例えば、笑顔ポーズで)で開いており、唇は後ろに引っ張られている)。いくつかの実施形態では、アバターの口は、唇が閉じた位置にある第1のポーズ(例えば、中立の口のポーズ又は歯を見せない笑顔)を有し、第3のポーズは、アバターの歯を見せる異なる位置で唇を示す。アバターの唇がアバターの歯を見せるように配置されたポーズを有するアバターの口を表示すると、アバターの歯の表示された外観が強調され、ユーザは、アバターの歯を見せるように配置されたポーズに基づいてアバターの口の異なる歯の特性をより容易に見ることができ、正確に編集することができる。これは、アバターのカスタム外観を作成又は編集するための改善された制御スキームを提供し、これは、アバターを作成するために必要な入力を、異なる制御スキーム(例えば、アバターを構築するために個々の制御点の操作を必要とする制御スキーム)が使用された場合で必要とされるよりも少なくすることができる。タスクを実行するために必要な入力の数が減ることにより、デバイスの操作性が高められ、ユーザ-デバイスインタフェースを(例えば、デバイスを操作する/デバイスと対話するときにユーザが適切な入力を行うのを支援し、ユーザの誤りを削減することによって)より効率的にし、加えて、ユーザがデバイスをより迅速且つ効率的に使用できるようにすることによって、デバイスの電力使用が抑えられ、バッテリ寿命が改善される。
方法1300に関して上述したプロセス(図13)の詳細はまた、上述及び後述する方法にも、類似の方式で適用可能であることに留意されたい。例えば、方法700、800、1000、1200、1500、1700及び1800は、方法1200を参照して上述した様々な方法の特性のうちの1つ以上を任意選択的に含む。例えば、アバターは、上述したものと同様の方法でユーザインタフェースに表示及び使用することができる。簡潔にするために、これらの詳細は、以下で繰り返さない。
図14A~14Eは、いくつかの実施形態に係る、仮想アバターを表示するための例示的なユーザインタフェースを示す。これらの図のユーザインタフェースは、図15のプロセスを含む後述のプロセスを例示するために使用される。
図14A~14Eは、図6Aに示される電子デバイス600などの電子デバイスに表示することができ、場合によってはタッチ感知ディスプレイであるディスプレイ601と、光スペクトルの一部(例えば、可視光、赤外光、又は紫外光)を表すデータをキャプチャすることができる画像センサを少なくとも含むカメラ602とを有する例示的な仮想アバター(例えば、笑顔アバター1405)に対する例示的なユーザ入力及び対応する変更を示す。いくつかの実施形態では、カメラ602は、複数の画像センサ及び/又はその他の種類のセンサを含む。いくつかの実施形態では、感知された光を表すデータをキャプチャすることに加えて、カメラ602は、深度データなどの他の種類のデータをキャプチャすることができる。例えば、いくつかの実施形態では、カメラ602は、スペックル、飛行時間、視差、又はフォーカスに基づく技術も使用して、深度データをキャプチャする。カメラ602を使用してデバイス600がキャプチャする画像データは、カメラの視野内のシーンについての光スペクトルの一部に対応するデータを含む。また、いくつかの実施形態では、キャプチャされた画像データは、光データに関する深度データも含む。いくつかの他の実施形態では、キャプチャされた画像データは、光スペクトルの一部のデータに関する深度データを決定又は生成するのに十分なデータを含む。いくつかの実施形態では、電子デバイス600は、デバイス100、300、500の1つ以上の及び/又は特徴を含む。
いくつかの例では、電子デバイス600は、赤外線カメラ、サーモグラフィカメラ、又はこれらの組み合わせなどの深度カメラを含む。いくつかの実施例では、デバイスは、IRフラッド光、構造化光プロジェクタ、又はそれらの組み合わせなどの発光デバイス(例えば、光プロジェクタ)を更に含む。発光デバイスは、任意選択的に、可視光カメラ及び深度カメラ(例えば、IRカメラ)によって画像のキャプチャ中に被写体を照らすために使用され、深度カメラ及び可視光カメラからの情報は、可視光カメラによってキャプチャされた被写体の異なる部分の深度マップを判定するために使用される。いくつかの実施形態では、深度マップ(例えば、深度マップ画像)は、視点(例えば、カメラ)からのシーン内のオブジェクトの距離に関連する情報(例えば、値)を含む。深度マップの一実施形態では、各深度ピクセルは、その対応する2次元ピクセルが配置されている、その視点のZ軸における位置を定義するものである。いくつかの例では、深度マップは、各画素が値(例えば、0~255)によって画定されている画素から成る。例えば、「0」の値は、「3次元」シーン内の最も遠い場所に配置されているピクセルを表し、「255」の値は、「3次元」シーン内の視点(例えば、カメラ)の最も近くに配置されているピクセルを表す。他の例では、深度マップは、シーン内のオブジェクトと視点の平面との間の距離を表す。いくつかの実施形態では、深度マップは、深度カメラから見た、対象オブジェクトの様々な特徴部の相対深度(例えば、ユーザの顔面の目、鼻、口、耳の相対深度)に関する情報を含む。いくつかの実施形態では、深度マップは、z方向での対象オブジェクトの輪郭をデバイスが決定することを可能にする、情報を含む。いくつかの実施形態では、本明細書に記載する照明効果は、後ろ向きの画像に対する2つのカメラ(例えば、2つの可視光カメラ)からの不一致情報、及び前向きの画像(例えば、セルフィ画像)に対する可視光カメラからの画像データと組み合わせた深度カメラからの深度情報を使用して表示される。いくつかの実施形態では、2つの可視光カメラを使用して深度情報を判定するときと、深度カメラを使用して深度情報を判定するときに、同じユーザインタフェースが使用され、照明効果を生成するときに使用される情報を判定するために劇的に異なる技術を使用したときでも、一貫したエクスペリエンスをユーザに提供する。一部の実施形態では、適用される照明エフェクトのうちの1つを用いてカメラユーザインタフェースを表示している間に、デバイスは、ライティングエフェクトを適用し、正面カメラの視野の表示を背面カメラの視界に(又はその逆)置換するためのユーザインタフェース制御の表示を維持しながら、カメラスイッチングアフォーダンスの選択を検出し、正面カメラ(例えば、深度カメラ及び可視光カメラ)から背面カメラ(例えば、互いに離間した2つの可視光カメラ)に(又はその逆)切り替える。
いくつかの実施形態では、仮想アバター(「アバター」とも呼ばれる)は、グラフィックに描写することができるユーザの表現である。いくつかの実施形態では、仮想アバターは非写実的(例えば、漫画的)である。いくつかの実施形態では、アバターは、アニメーション化された絵文字(例えば、笑顔)などの擬人化構造体である。いくつかの実施形態では、仮想アバターは、1つ以上のアバターの特徴(例えば、アバター顔の特徴)を有するアバターの顔を含む。いくつかの実施形態では、アバターの特徴は、ユーザの物理的特徴の検出された動きが、アバターの特徴に影響を与える(例えば、特徴のグラフィック表現に影響を与える)ように、ユーザの顔の1つ以上の物理的特徴に対応する(例えば、マッピングされる)。
いくつかの実施形態では、ユーザは、カメラセンサ(例えば、カメラ602)(例えば、カメラモジュール143、光センサ164、深度カメラセンサ175)を使用して、仮想アバターの特性又は特徴を操作することができる。ユーザの物理的特徴(顔の特徴など)及び位置(頭部の位置、頭部の回転、又は頭部の傾きなど)が変化したときに、電子デバイスはその変化を検出し、それに応じて、(例えば、ユーザの物理的特徴及び位置の変化を反映するように)仮想アバターの表示された画像を変更する。いくつかの実施形態では、ユーザの物理的特徴及び位置の変化は、様々な表情、感情、文脈、調子、又はその他の非言語的コミュニケーションを示す。いくつかの実施形態では、電子デバイスは、これらの表情、感情、文脈、調子、又はその他の非言語的コミュニケーションを表すように、仮想アバターの表示された画像を変更する。
いくつかの実施形態では、仮想アバターは、例えば、メッセージングアプリケーション(例えば、メッセージングユーザインタフェース603、アバター作成ユーザインタフェース632、アバター編集ユーザインタフェース670)、連絡先アプリケーション(例えば、ライブポーズインタフェース926、連絡先カード976など)、カメラアプリケーション、メディアビューワアプリケーション(例えば、写真及びビデオなどのマルチメディアコンテンツを閲覧するための写真アプリケーション又は他のアプリケーション)、及びビデオ通信アプリケーションなどの様々なアプリケーションのコンテキストで表示することができる。例えば、メッセージングアプリケーションのコンテキストでは、仮想アバターを使用して、ステッカー、静的仮想アバター、及びアニメーション化された仮想アバターを含む視覚効果(例えば、マルチメディアコンテンツ)を作成することができ、これをメッセージングアプリケーションのユーザに通信することができる。このような実施形態の例は、上記で説明され、図6A~6Vに示されている。別の例として、メッセージングアプリケーション、連絡先アプリケーション、カメラアプリケーション、メディアビューワアプリケーション、又はビデオ通信アプリケーションのコンテキストでは、仮想アバターを使用して、画像データ(例えば、電子デバイス(例えば、デバイス100、300、500、600)のカメラ(例えば、602)によってキャプチャされた画像データ)を表示する際に、様々な視覚効果を表示することができる。メッセージングアプリケーションにおける視覚効果(例えば、仮想アバターを含む)を作成及び送信するための詳細、及びメッセージングアプリケーション、カメラアプリケーション、メディアビューワアプリケーション、及びビデオ通信アプリケーションにおいて視覚効果を表示するための詳細は、米国特許出願公開第2018/0335927号に提供されており、これらは、全ての目的のために参照により本明細書に組み込まれる。
図14A~14Eは、ユーザ1401の様々な検出された状態及び笑顔アバター1405の対応する状態を表す。図14A~14Eの左側の表現(例えば、ユーザ状態1411-1~1411-19)は、ユーザが1つ以上のカメラ(例えば、カメラ602)(例えば、カメラモジュール143、光学センサ164、深度カメラセンサ175)及び/又は他のセンサ(例えば、赤外線センサ)の視野内にあるときに、電子デバイスによって検出されたユーザを表す。換言すれば、ユーザの表現は、いくつかの実施形態では電子デバイス(例えば、デバイス100、300、500、600)に配置されても良く、他の実施形態では電子デバイス(例えば、外部カメラ又は電子デバイスにデータを渡すセンサ)とは別個に配置されてもよいカメラ(例えば、カメラ602)(例えば、カメラモジュール143、光学センサ164、深度カメラセンサ175)の視点からのものである。いくつかの実施形態では、図14A~14Eの左側の表現の境界は、1つ以上のカメラ(例えば、602)(例えば、カメラモジュール143、光学センサ164、深度カメラセンサ175)及び/又は他のセンサ(例えば、赤外線センサ)の視野の境界を表す。いくつかの実施形態では、ユーザの表現は、電子デバイスのディスプレイ(例えば、タッチスクリーン112、ディスプレイ340、ディスプレイ450、ディスプレイ504、ディスプレイ601)に表示される。いくつかの実施形態では、画像データは、表示のために外部電子デバイスに送信される。いくつかの実施形態では、外部電子デバイスは、デバイス100、300、500、及び600の1つ以上の要素及び/又は特徴を含む。いくつかの実施形態では、画像データは、デバイス(例えば、100、300、500、600)によって収集及び処理されるが、直ちにデバイス上に表示されたり、外部電子デバイスに送信されたりすることはない。
図14A~14Eの右側の表現(例えば、アバター状態1412-1~1412-19)の各々は、図の左側に位置する、ユーザの対応する検出された状態(例えば、ユーザ状態1411-1~1411-19)に基づいて提示される(例えば、変更後に表示される)状態での仮想アバター(例えば、笑顔アバター1405)を示す。いくつかの実施形態では、仮想アバターは、仮想アバターを見るユーザの視点から示される。いくつかの実施形態では、仮想アバターは、電子デバイスのディスプレイ(例えば、タッチスクリーン112、ディスプレイ340、ディスプレイ450、ディスプレイ504、ディスプレイ601)に表示される。いくつかの実施形態では、仮想アバターは、表示のために(例えば、ユーザの画像データの有無にかかわらず)外部電子デバイスに送信される。いくつかの実施形態では、図14A~14Eの右側の表現は、電子デバイスのディスプレイ(例えば、タッチスクリーン112、ディスプレイ340、ディスプレイ450、ディスプレイ504、ディスプレイ601)の表示領域内の仮想アバターの位置を表し、図14A~14Eの右側の表現は、仮想アバターを含む表示領域の境界を表す。いくつかの実施形態では、右側に表される表示領域は、例えばメッセージングアプリケーションのコンテキストで提示され得る、仮想アバターインタフェース、メッセージ作成エリア、又はメッセージエリア(又はその一部分)などのアプリケーションユーザインタフェースのアバター表示領域に対応する。
いくつかの実施形態では、アバター特徴(例えば、他のアバター特徴に対して個別に移動又は変更され得るアバターの別個の要素)の反応の大きさは、ユーザの身体的特徴(例えば、ユーザの筋肉、筋肉群などの検出若しくは追跡される特徴、又は目などの解剖学的特徴)の変化の大きさに対応する。例えば、物理的特徴の変化の大きさは、いくつかの実施形態では、物理的特徴の潜在的な移動範囲に従って決定され、この大きさは、その物理的特徴の移動範囲(例えば、予測される又はモデル化された移動範囲)内の物理的特徴の相対位置を表す。このような実施形態では、アバター特徴の反応(例えば、位置の変化)の大きさは、同様に、アバター特徴の移動範囲内のアバター特徴の相対位置である。いくつかの実施形態では、変化の大きさは、変化による、物理的特徴の開始位置及び終了位置の比較又は測定(例えば、距離)に基づいて決定される。そのような実施形態では、物理的特徴の測定された変化をアバター特徴に(例えば、そのまま、若しくはスケーリング又は調整された値として)適用することにより、物理的特徴の変化を第1のアバター特徴の変更に変換することができる。
いくつかの実施形態では、アバター特徴に対する変更は、大きさ成分及び方向成分の両方を有し、アバター特徴の変更の方向成分は、アバター特徴が反応する物理的特徴(例えば、ユーザの顔の顔の特徴)のうちの1つ以上の変化の方向成分に基づく。いくつかの実施形態では、アバター特徴の反応の方向は、ユーザの物理的特徴の変化の相対的な方向に(例えば、そのまま又は逆に)対応し、物理的特徴の変化の相対的な方向は、初期位置(例えば、物理的特徴の中立の静止位置、又はいくつかの実施形態では、最初にデバイスによって検出された物理的特徴の位置)からの物理的特徴の移動方向に基づいて決定される。いくつかの実施形態では、アバター特徴の反応の方向は、物理的特徴の変化の相対的な方向にそのまま対応する(例えば、物理的特徴が上に移動すると、アバター特徴も上に移動する)。他の実施形態では、アバター特徴の反応の方向は、物理的特徴の変化の相対的な方向に逆対応する(例えば、物理的特徴が上に移動すると、アバター特徴は下に移動する)。
いくつかの実施形態では、アバター特徴の変化の方向成分は、物理的特徴の変化の方向成分に対してミラーリングされる。例えば、物理的特徴(例えば、ユーザの口)が左に移動すると、アバター特徴(例えば、アバターの口)は右に移動する。いくつかの実施形態では、アバター特徴の変化の方向成分は、垂直軸に沿った移動についての物理的特徴の変化の方向成分と同じであり、鏡を見たときに見られる効果と同様に、水平軸に沿った移動についてミラーリングされる。いくつかの実施形態では、物理的特徴(例えば、ユーザの虹彩又は眉毛)の相対位置の変化は、物理的特徴の中立の静止位置から決定される方向にある。例えば、いくつかの実施形態では、ユーザの虹彩の中立の静止位置は、ユーザの眼球の周辺部に対する特定の位置(例えば、センタリング)であると決定される。
図14A~14Eは、電子デバイスが、ユーザ1401の顔の特徴の検出された変化に応じてポーズを変化するアニメーション化された絵文字の外観を有する笑顔アバター1405を表示する実施形態を示す。具体的には、笑顔アバター1405は、それぞれの顔の特徴の移動範囲内でユーザの顔の特徴の動きを検出することによって、ユーザの顔の特徴を追跡する。電子デバイスは、それぞれのアバター特徴を、対応するアバター特徴の移動範囲(例えば、ある範囲のポーズ)内で変更(例えば、そのポーズを変更)する。アバター特徴が範囲内の所定の位置に移動すると、アバター特徴は、(例えば、アニメーション化された移行を介して)所定のポーズにスナップ留めされ、これは、対応する顔の特徴の移動範囲のサブ部分に対して維持される。したがって、顔の特徴の移動範囲のこのサブ部分は、アバター特徴のスナップ留めされたポーズにマッピングされる(例えば、それに対応する)と見なされる。このサブ部分内での顔の特徴の追加的な移動は、アバター特徴のスナップ留めされた位置の変化を引き起こさない(例えば、電子デバイスは、顔の特徴のこれらの位置のスナップされたポーズを維持する)。
いくつかの実施形態では、アバター特徴のスナップ留めされたポーズは、他のアバターのポーズよりも大きな慣性を有すると言うことができ、そのため、トリガされると、スナップ留めされたポーズから離れるように変更するために顔の特徴のポーズのより大きな変化が必要とされる。いくつかの実施形態では、アバター特徴のスナップ留めされたポーズに関連するヒステリシスの程度が存在し、それにより、特徴は、トリガされると、対応する顔の特徴において変化が検出された後であっても一定期間(例えば、対応する顔の特徴が依然としてスナップ留めされたアバターポーズに対応する顔のポーズのサブ部分内にある間)維持される(例えば、変更されない)。いくつかの実施形態では、顔の特徴がサブ部分の閾値に達すると、閾値付近の顔の特徴の変化は、対応するアバター特徴のスナップ留めされたポーズを歪ませる(例えば、図14Bのアバター状態1412-5に示されるように)。
既定のポーズ(例えば、スナップ留めされたポーズ)は、絵文字(例えば、静的/非アニメーションの絵文字)、又はその一部分、例えば、電子デバイスがユーザに(例えば、図6Aのメッセージングユーザインタフェース603を介して)通信するように構成されている絵文字に関連付けられたポーズとすることができる。上述の追跡及びスナップ挙動を介して、ユーザは、笑顔アバター1405の個々の特徴を制御して、ユーザの対応する顔の特徴を追跡し、様々な絵文字と一致する1つ以上の既定のポーズにスナップ留めすることができる。いくつかの実施形態では、これは、笑顔アバター1405の1つ以上の追加の特徴がユーザの顔の特徴を追跡している間に行うことができる。例えば、笑顔アバター1405の目がユーザの目を追跡する間に、ユーザは、既定の絵文字と一致する口のポーズを有するように笑顔アバター1405を制御することができる。これらの挙動により、ユーザは、ユーザの顔に一致する表現、並びに異なる絵文字に一致する表現を使用して感情を伝達するために笑顔アバター1405を制御することができ、絵文字は、人の顔の特徴よりも表情豊かであることが多い。笑顔アバター1405への変更が別のユーザに送信される場合、笑顔アバター1405の表現が、様々な既存の及び十分に認識された絵文字の認識された顔の表情を組み込むことができるため、笑顔アバター1405の表現が受信ユーザによって誤って解釈される可能性は低い。
図14A~14Eは、ユーザ1401の顔の特徴の変更を検出したことに応じて、笑顔アバター1405を変更する電子デバイスの様々な例を示すことによって、上記に要約された挙動を実証する。ユーザ1401はユーザ状態1411-1~1411-19に示され、笑顔アバター1405はアバター状態1412-1~1412-19に示されている。笑顔アバター1405は、アバターの目1415、アバターの口1425、アバターの眉毛1435、アバターの頭1445、照明効果1455、及びアバターの歯1465を含む様々なアバター特徴を含む。ユーザ1401は、例えば、目1410、口1420、眉毛1430、及び頭1440を含む様々な検出された物理的特徴(例えば、顔の特徴)を含む。いくつかの実施形態では、追跡された物理的特徴は、瞼、唇、筋肉、筋肉群などの他の顔の特徴を含んでもよい。いくつかの実施形態では、デバイス600は、そのような特徴の動きがスナップポーズの表示を妨げるか、不自然な挙動をもたらす場合、特定の顔の特徴への変更を無視する。例えば、あごの動きが、笑顔アバター1405の口を不自然な方法で異なる位置にスナップ留めさせる可能性があるため、ユーザのあごの位置の変化は、笑顔アバター1405を変更するために使用されない。
図14Aは、中立的な笑顔アバターポーズから、歯を伴う大きな笑顔を有する絵文字に対応するポーズに移行する笑顔アバター1405を示す。笑顔アバター1405は、4つの表示状態(1412-1、1412-2、1412-3、及び1412-4)を有して示されており、笑顔アバター1405の4つの表示された状態の各々は、ユーザ1401の4つの検出された状態(1411-1、1411-2、1411-3、及び1411-4)に対応する。ユーザ状態1411-1では、電子デバイスは、ユーザの頭1440が前方を向いている中立ポーズ(例えば、傾いていない、又は回転していない)のユーザ1401を検出し、ユーザの口1420はわずかに笑顔で閉じた位置にあり、ユーザの目1410は中立の前向きの位置にあり(例えば、ユーザの目は前方を見て、上、下、又は横を見ていない)、ユーザの眉毛1430は中立の静止位置にある(例えば、眉毛は上がったり下がったりしていない)。ユーザ1401のこれらの検出された特徴の位置に基づいて、電子デバイスは、アバター状態1412-1に、アバターの口1425は閉じてわずかに笑っており、アバターの目1415は中立で、前向きの位置(例えば、目は、中立で、丸く、前を見ており、上、下、又は横を見ていない)であり、アバターの頭1445は前を向いており(例えば、回転、又は傾いていない)、照明効果1455はアバターの頭1445の頂部に中心が置かれている、中立ポーズを有する笑顔アバター1405を表示する。
ユーザ状態1411-2では、電子デバイスは、やや強い笑顔の位置へのユーザの口1420の動きを検出する。ユーザの口1420の位置は、アバターの口1425を既定のポーズにトリガする位置ではない。したがって、電子デバイスは、既定のポーズにスナップ留めすることなく、アバター状態1412-2に示されるようにアバターの口1425の笑顔をわずかに強くすることによって、アバターの口1425を変更してユーザの口1420の動きを反映する。電子デバイスは、ユーザ状態1411-2内の任意の他のユーザ特徴への変化を検出せず、したがって、アバター状態1412-2における笑顔アバター1405の他のアバターの特徴を変更しない。
ユーザ状態1411-3では、電子デバイスは、わずかに開かれた笑顔の位置へのユーザの口1420の動き、及びわずかに目を細める位置へのユーザの目1410の動きを検出する。ユーザの口1420の位置は、アバターの口1425を既定のポーズにトリガする位置である。したがって、電子デバイスは、アバター状態1412-3に示されるように、アバターの歯1465を有する大きな笑顔1425-1である既定のポーズにスナップ留めするようにアバターの口1425を変更する。いくつかの実施形態では、このスナップ挙動はアバター状態1412-2のポーズからアバター状態1412-3のポーズに移行するアバターの口1425のアニメーション化された変化として表示される。アバターの口1425-1のスナップ留めされたポーズは、ユーザ状態1411-3におけるユーザの口1420のポーズを反映しない。例えば、アバターの口1425-1は、大きな開いた口から見えるアバターの歯1465であり、ユーザの口1420は、歯がほとんど又は全く示されない笑顔を有するわずかに開いた位置である。
電子デバイスは、ユーザ状態1411-3におけるユーザの目1410の位置の変化を検出するが、目は依然として、アバターの目の中立な目のポーズ1415-1に対応する位置の範囲内にある。したがって、電子デバイスはアバター状態1412-3でアバターの目1415を変更しない。
ユーザ状態1411-4では、電子デバイスは、より広い笑顔ポーズへのユーザの口1420の継続的な動きを検出するが、アバター状態1412-4における笑顔アバター1405の外観を更に変更しない。これは、ユーザの口1420の位置が、スナップ留めされたポーズの歪みを引き起こす範囲の縁部にあることなく、アバターの歯1465を有するアバターの口1425-1の表示をトリガするユーザの口の位置の範囲内に依然としてあるためである。
図14Bは、歯1465を有する大きな笑顔1425-1を有する絵文字のポーズから、驚いた表情を有する絵文字に対応するポーズに移行する笑顔アバター1405を示す。笑顔アバター1405は、4つの表示状態(1412-5、1412-6、1412-7、及び1412-8)を有して示されており、笑顔アバター1405の4つの表示された状態の各々は、ユーザ1401の4つの検出された状態(1411-5、1411-6、1411-7、及び1411-8)に対応する。ユーザ状態1411-5では、電子デバイスは、ユーザの口1420の角1420aがわずかに引き上げられるポーズへのユーザの口1420の継続的な動きを検出する。これに応じて、電子デバイスは、アバターの口1425-1の角1425aを歪ませるが、アバターの歯1465を有する大きな笑顔を有するスナップ留めアバターの口のポーズの大体の外観を依然として維持している。これは、角1420aの検出された動きが、アバターの歯を有する大きな笑顔を有するアバターの口ポーズ1425-1をトリガする、ユーザの口のポーズの範囲の端にあるためである。したがって、この範囲の端におけるユーザの口1420の検出された動きにより、電子デバイスは、スナップ留めされたポーズを依然として維持しながらアバターの口1425-1を歪ませる。ユーザの口1420が範囲を超えて動くと、電子デバイスは、スナップ留めされたポーズからユーザの口1420の位置に基づいて決定されるポーズにアバターの口を移行させる。この移行の例は以下で説明され、アバター状態1412-6に示される。
ユーザ状態1411-6では、電子デバイスは、ユーザの口1420の開位置への動き、ユーザの目1410の横向きのシフト、ユーザの眉毛1430のわずかな上昇を検出する。ユーザの口1420の検出された動きは、スナップ留めされたポーズ(例えば、1425-1)に対応するポーズのサブ部分を越えているポーズであり、したがって、これにより電子デバイスは、アバター状態1412-5の既定のポーズから、アバター状態1412-6に示されるようにユーザの口1420の位置に基づいて決定されるポーズに動くアバターの口1425を表示する。電子デバイスはまた、ユーザの状態1411-6におけるユーザの目1410の動きを反映するために、アバターの目1415をシフトされた目の位置1415-3に横向きにシフトさせる。電子デバイスは、ユーザの眉毛1430のわずかな上昇の検出に応じて笑顔アバター1405を変更しない。
ユーザ状態1411-7では、電子デバイスは、前を見ている広げられたポーズへのユーザの目1410の動きを検出する。ユーザの目1410の広げられたポーズは、アバターの目1415のための広い目のポーズ1415-2をトリガするポーズに対応する。これに応じて、電子デバイスは、アバター状態1412-7に示されるように、広い目のポーズ1415-2にスナップ留めするようにアバターの目1415を変更する。電子デバイスはまた、アバターの口1425の表示を広い口のポーズ1425-2にスナップ留めするポーズへのユーザの口1420の更なる広がりを検出する。電子デバイスはまた、アバター状態1412-7に示されるように、笑顔アバター1405に現れるアバター眉毛1435の表示をトリガするポーズへのユーザ眉毛1430の更なる上昇を検出する。いくつかの実施形態では、アバター眉毛1435の表示は、ユーザの眉毛1430の検出された位置に応じてではなく、アバターの目1415の広い目のポーズ1415-2へのスナップ留めによってトリガされる。いくつかの実施形態では、アバター眉毛1435の表示は、ユーザの眉毛1430の検出された位置に応じてではなく、広い目のポーズ1415-2へのスナップ留め、及び広い口のポーズ1425-2へのスナップ留めの検出された組み合わせによってトリガされる。
いくつかの実施形態では、電子デバイスは、眉毛が、笑顔アバター1405の頭部1445内で開き、色が濃くなる穴(小さく始まり、眉毛の完全なサイズに成長する)として現れるアニメーションに現れるアバター眉毛1435を表示する。このアニメーションは、アバター状態1412-7及び1412-8で表される。電子デバイスは、それらの表示をトリガするポーズがもはや検出されなくなるまで、笑顔アバター1405上にアバター眉毛1435を表示する。いくつかの実施形態では、電子デバイスが、少なくとも所定の時間(例えば、0.5秒)維持されているポーズを検出しない場合、眉毛は、消える前に所定の時間にわたって笑顔アバター1405上に留まる。いくつかの実施形態では、電子デバイスは、眉毛サイズが縮小し、色がぼやけるアニメーションで消えるアバター眉毛1435を表示して、眉毛が笑顔アバターの頭1445に溶け込んでいく外観を与える。
ユーザ状態1411-8では、電子デバイスは、より広いポーズへのユーザの目1410の継続的な動きを検出し、広い目のポーズ1415-2を有するアバターの目及びアバターの頭1445上に表示されたアバター眉毛1435の表示を維持する。
いくつかの実施形態では、いくつかのアバター特徴は、対応する顔の特徴の検出された変化に対して、他のアバター特徴よりも応答性が低いように見える。これは、上記のヒステリシス効果の結果である。例えば、アバターの状態1412-1~1412-12では、アバターの口1425は、ユーザの口1420のわずかな変化(例えば、異なるポーズへのスナップ留め及びユーザの口のわずかな動きのミラーリング)に応答するが、アバターの目1415は、ユーザの状態1411-7において広いポーズで検出されるまでユーザの目1410の広がりの変化に応答しない。これは、既定のポーズにスナップするようにアバター特徴をトリガするユーザ特徴ポーズの範囲が、異なるアバター特徴の範囲の異なる大きさであり得るためである。ここで、アバター状態1412-1~1412-6に示される中立アバターの目のポーズ1415-1をトリガするユーザの目のポーズの範囲は、異なるアバターの口のポーズをトリガするユーザの口のポーズの個々の範囲よりも大きい。したがって、中立ポーズから、アバター状態1412-7での広い目のポーズ1415-2(又はアバター状態1412-14に関して以下に説明される細める目のポーズ1415-3)などの異なる目のポーズにアバターの目1415を変化させるために、ユーザの目1410の検出された動きがより多く必要とされるが、アバターの口1425を異なるポーズ(例えば、スナップ留めされたポーズ1425-1及び1425-2、並びにスナップ留めされていないポーズ1425)に移動させるために必要なユーザの口1420の検出された動きはより少ない。
図14Cは、驚いた表情を有する絵文字のポーズから中立ポーズに移行する笑顔アバター1405を示す。笑顔アバター1405は、4つの表示状態(1412-9、1412-10、1412-11、及び1412-12)を有して示されており、笑顔アバター1405の4つの表示された状態の各々は、ユーザ1401の4つの検出された状態(1411-9、1411-10、1411-11、及び1411-12)に対応する。ユーザ状態1411-9では、電子デバイスは、ユーザ状態1411-8と同じ顔ポーズを有するユーザ1401を検出する。それに応じて、電子デバイスは、アバター状態1412-9において、アバター状態1412-8と同じ外観を有する笑顔アバター1405の表示を維持する。
ユーザ状態1411-10では、電子デバイスは、ユーザ状態1411-9の広いポーズからわずかに狭いユーザの目1410を検出し、眉毛1430はわずかに持ち上げられた位置に戻る。ユーザの目1410のポーズは、依然として、広い目のポーズ1425-2の表示をトリガするが、眉毛1430のわずかに上昇した位置は、アバター眉毛1435の表示をもはやトリガしない。したがって、電子デバイスは、広い目のポーズ1415-2を有するアバターの目の表示を維持するが、アバター眉毛1435の表示を中止する。アバター状態1412-10に示されるように、アバター眉毛1435は、上述のように笑顔アバター1405から徐々に消えるように表示される。電子デバイスは、広い口のポーズ1425-2の表示をトリガするポーズである広いポーズのユーザの口1420を検出し続ける。したがって、電子デバイスは、アバター状態1412-10において広い口のポーズ1425-2の表示を維持する。
ユーザ状態1411-11では、電子デバイスは、ユーザの目1410が中立ポーズに戻ることを検出するが、ユーザの口1420は広いポーズのままである。これに応じて、電子デバイスは、中立な目のポーズ1415-1に戻るようにアバターの目1415を変更し、アバター状態1412-11において広い口のポーズ1425-2の表示を維持する。
ユーザ状態1411-12では、電子デバイスは、ユーザ状態1411-1において検出された中立ポーズに戻るユーザ1401を検出する。それに応じて、電子デバイスは、アバター状態1412-12において、アバター状態1412-1に関して前述した中立ポーズに戻るように笑顔アバター1405を変更する。
図14Dは、歯1465を有する大きな笑顔1425-1を有する絵文字のポーズから、キス顔(細めた目とすぼめた唇)を有する絵文字に対応するポーズに移行する笑顔アバター1405を示す。笑顔アバター1405は、4つの表示状態(1412-13、1412-14、1412-15、及び1412-16)を有して示されており、笑顔アバター1405の4つの表示された状態の各々は、ユーザ1401の4つの検出された状態(1411-13、1411-14、1411-15、及び1411-16)に対応する。ユーザ状態1411-13では、電子デバイスは、ユーザ状態1411-4で検出されたのと同じ顔ポーズを有するユーザ1401を検出する。それに応じて、電子デバイスは、アバター状態1412-13において、アバター状態1412-4に関して説明したのと同じポーズを有する笑顔アバター1405を表示する。すなわち、笑顔アバター1405は、中立の目のポーズ1415-1と、表示されたアバターの歯1465を有する大きな笑顔である口のポーズ1425-1とを有する。
ユーザ状態1411-14では、電子デバイスは、ユーザの口1420のわずかに大きな笑顔のポーズへの移行、及びユーザの目1410の細めた目の位置への移動を検出する。ユーザの口1420の検出された動きは、アバターの歯を有する大きな笑顔の口のポーズ1425-1に対応する口のポーズの範囲内に依然としてある。したがって、電子デバイスは、アバターの歯1465を有する大きな笑顔の口のポーズ1425-1を有するアバターの口1425を表示し続ける。検出されたユーザの目1410の細めた目の位置は、アバターの目1415を既定の細めた目のポーズ1415-3にトリガする目のポーズの範囲内にある。したがって、アバター状態1412-14に示されるように、電子デバイスは、中立の目のポーズから細めた目のポーズ1415-3に移行するようにアバターの目を変更する。
ユーザ状態1411-15では、電子デバイスは、閉位置へのユーザの目1410の継続的な移動、及びユーザが口をすぼめたポーズへと口を動かしているときに狭くなるユーザの口1420の動きを検出する。目の検出された位置は依然として、細めた目のポーズ1415-3をトリガするポーズの範囲内にある。したがって、電子デバイスは、アバター状態1412-15に示されるように、細めた目のポーズ1415-3を有する笑顔アバター1405を表示し続ける。ユーザの口1420の検出された動きは、アバターの口1425の既定のポーズに対応する口の位置の範囲内にない。したがって、電子デバイスは、ユーザ状態1411-15におけるユーザの口1420の検出された位置に基づいて決定されるポーズにアバターの口1425を変更する。したがって、アバターの口1425は、アバター状態1412-15において狭められた笑顔を有するように示されている。
ユーザ状態1411-16では、電子デバイスは、すぼめたポーズへのユーザの口1420の継続的な動きを検出し、ユーザの目1410は、以前のユーザ状態と同じ閉位置に留まる。ユーザの口1420の検出されたすぼめたポーズは、アバターの口1425のための既定のすぼめたポーズに対応する。したがって、電子デバイスは、アバター状態1412-16において、すぼめた口のポーズ1425-3を有する笑顔アバター1405を表示する。ユーザの目1410の検出された位置が、細めた目のポーズ1415-3をトリガするユーザの目のポーズの範囲内にあるため、電子デバイスは、アバター状態1412-16において、細めた目のポーズ1415-3を有するアバターの目1415を表示し続ける。
図14Eは、照明効果1455を移動させることなく笑顔アバターの頭1445の動きを示すために、中立ポーズから異なる向きに移動する笑顔アバター1405を示す。照明効果は、笑顔アバター1405が球形である外観を与える視覚効果である。笑顔アバター1405は、笑顔アバター1405の移動と共に変化しない視覚効果1455の位置を示すために異なる向きを有するように示されている。笑顔アバター1405は、3つの表示状態(1412-17、1412-18、及び1412-19)を有して示されており、笑顔アバター1405の3つの表示された状態の各々は、ユーザ1401の3つの検出された状態(1411-17、1411-18、及び1411-19)に対応する。ユーザ状態1411-17では、電子デバイスは、ユーザ状態1411-1及び1411-12において検出された中立ポーズのユーザ1401を検出する。それに応じて、電子デバイスは、アバター状態1412-17において、アバター状態1412-1及び1412-12に表示された同じ中立ポーズを有する笑顔アバター1405を表示する。中立ポーズでは、照明効果1455は、アバターの頭1445の頂部の中心位置に表示される。
ユーザ状態1411-18では、電子デバイスは、ユーザの頭1440の回転を検出する。それに応じて、電子デバイスは、ユーザの頭1440の動きをミラーリングするようアバターの頭1445が回転するように笑顔アバター1405を変更する。電子デバイスは、アバター状態1412-18に示されるように、アバターの頭1445が回転する間、静止位置を有する光効果1455を表示する。
ユーザ状態1411-19では、電子デバイスは、開位置へのユーザの口1420の移動、及びユーザの頭1440の傾きを検出する。ユーザの口1420の開位置は、アバターの口1425のスナップ留めされたポーズをトリガしない。それに応じて、電子デバイスは、ユーザの頭1440の傾いた頭の動きをミラーリングする傾いた頭の位置を有し、ユーザの口1420の開いた口の位置をミラーリングする開いた口の位置1425を有するように笑顔アバター1405を変更する。電子デバイスは、アバター状態1412-19に示されるように、アバターの頭1445が傾いている間、静止位置を有する光効果1455を表示する。
前述の実施形態は、開示された技術を使用して表示され得るスナップ挙動のいくつかの例を示す。スナップのポーズは上述のものに限定されず、仮想アバターに対する変更は、追加のポーズ、異なるアバター特徴のための異なる組み合わせのポーズ、及び以下に詳述される他の挙動を含むことができることを理解されたい。例えば、いくつかの実施形態では、アバター特徴をスナップ留めすることは、アバター特徴の異なるバージョンでアバター特徴の表示を置き換えること(例えば、アバター状態1412-16においてすぼめた口のポーズ1425-3を達成するために、唇のない表示されたすぼめた唇の表示された口に置き換える)を含むことができる。いくつかの実施形態では、第1の特徴が徐々に消え、第2の特徴がアバター上に徐々に現れるアニメーションで特徴を置き換えることができる。いくつかの実施形態では、アバター特徴への変更は、アバター特徴に解剖学的に対応しないユーザ特徴の検出された変化によって駆動することができる。例えば、ユーザの口への変更は、アバターの目のポーズの変更をトリガする。
図15は、いくつかの実施形態に係る、電子デバイスを使用して仮想アバターを表示するための方法を示すフロー図である。方法1500は、ディスプレイ及び1つ以上のカメラを備えたデバイス(例えば、100、300、500、600)にて実行される。方法1500のいくつかの動作は、任意選択的に組み合わされ、いくつかの動作の順序は、任意選択的に変更され、いくつかの動作は、任意選択的に省略される。
以下において説明されるように、方法1500は、仮想アバターを表示するための直感的な仕方を提供する。この方法は、仮想アバターを表示する際のユーザの認識的負担を軽減し、それにより、より効率的なヒューマン-マシンインタフェースを作り出す。バッテリ動作式コンピューティングデバイスの場合、ユーザがより高速且つ効率的に仮想アバターを表示できるようにすることで、電力を節約し、バッテリ充電間の時間を延ばす。
電子デバイス(例えば、600)は、表示デバイス(例えば、601)を介して、仮想アバター(例えば、1405)(例えば、グラフィック表示可能なユーザの表現)を表示する(1502)。いくつかの実施形態では、仮想アバターは非写実的である。いくつかの実施形態では、アバターは、1つ以上のカメラ(例えば、602)の視野内の顔(例えば、ユーザの目1410、ユーザの口1420、ユーザの眉毛1430、及びユーザの頭1440を含むユーザ1401)のポーズの検出された変化(例えば、向き、置き換え)(例えば、顔の表情の変化)に応じて外観を変化させる1つ以上のアバター特徴(例えば、アバターの目1415、アバターの口1425、アバターの眉毛1435、アバターの頭1445)(例えば、顔の特徴(例えば、口、目)、例えばマクロ特徴(例えば、頭))を有するアニメーション絵文字(例えば、笑顔)などの擬人化構築物である。いくつかの実施形態では、1つ以上のアバター特徴は、1つ以上のカメラの視野内の顔のポーズの検出された変化(例えば、向き、置き換え)(例えば、表情の変化)に応じて変更される第1の外観(例えば、アバター状態1412-1、1412-2、1412-6、1412-12、1412-15、及び1412-15~1412-19におけるアバターの口1425)(例えば、既定のポーズにスナップ留めされていない外観)を有する第1のアバター特徴(例えば、アバターの口1425)を含む。いくつかの実施形態では、アバター特徴は、ユーザの物理的特徴の検出された動きが、アバター特徴に影響を与える(例えば、特徴のグラフィック表現に影響を与える)ように、ユーザの顔の1つ以上の物理的特徴に対応する(例えば、マッピングされる)。いくつかの実施形態では、アバター特徴は、物理的特徴に解剖学的に対応する(例えば、アバター特徴は、物理的特徴の位置、移動特性、サイズ、色、及び/又は形状のうちの1つ以上に基づいてモデル化される)(例えば、アバター特徴及び物理的特徴は両方とも眉毛である)。
顔が1つ以上のカメラ(例えば、602)の視野内で、1つ以上の顔の検出された特徴(例えば、ユーザの口1420)(例えば、ユーザの目1410のうちの1つ以上)を含む顔が検出されている間に、電子デバイスは、顔の1つ以上の顔の特徴の動きを検出する(1504)。
1つ以上の顔の特徴の動きを検出したことに応じて(1506)、1つ以上の顔の特徴の検出された動きが、第1のポーズ基準を満たすことになる(例えば、ユーザの顔の検出された変化がアバター特徴を第1のポーズ(例えば、口の開いた笑顔1425-1)にスナップ留めすることをトリガする)(例えば、顔の特徴の検出されたポーズが、第1のポーズ基準に対応する許容可能な範囲のポーズ内にあり、それによってアバター特徴の第1のポーズへのスナップ留めをトリガする)という判定に従って、電子デバイスは、1つ以上のカメラの視野内の顔のポーズの検出された変化(例えば、向き、置き換え)(例えば、顔の表情の変化)に応じて変更される(例えば、外観値の第1の範囲内で歪められる)、第1の外観とは異なる第2の外観(例えば、大きい笑顔のポーズ1425-1を有するアバターの口1425)(例えば、第1のポーズ基準を満たすユーザの顔の検出された変化に基づいてトリガされる外観(例えば、例えば笑いながら開いている口を有する絵文字の口に対応するアバターの開いた口の笑顔ポーズ)を有する第1のアバター特徴を表示するように、仮想アバター(例えば、1405)を変更する(1508)。いくつかの実施形態では、1つ以上の顔の特徴は、第1のポーズ基準を満たす位置の範囲内にある第1の位置に移動され、それに応じて、電子デバイスは、位置の範囲に関連付けられたポーズ(例えば、第1のポーズ基準に関連付けられた顔の表情を表すポーズ)をとるように第1のアバター特徴を変更する。これは、本明細書では、ポーズ又は位置への「スナップ留め」と呼ばれる。(例えば、ポーズ基準を満たすための位置の範囲の広さに応じて)仮想アバター(又はアバター特徴)をバイアスして特定のポーズを達成することができるので、このスナップ挙動は、ユーザが仮想アバター(又はアバター特徴)で特定のポーズを達成することがより容易になる。これは、電子デバイスのディスプレイ上で仮想アバターを動作及び/又は作成するための制御スキームを提供し、システムは、ユーザの顔の特徴の変更(及びそれらの変更の大きさ及び/又は方向)の形態で入力を検出し、処理し、反復フィードバックループを介して、仮想アバターの外観の形態で所望の出力を提供する一方で、ユーザインタフェースの手動操作(例えば、ディスプレイ上にタッチ入力を提供する)の必要性を排除する。これは、顔の動きを使用して仮想アバターを制御及び/又は構成するためにディスプレイを操作する方法に関する、改善された視覚フィードバックをユーザに提供する。このことによりデバイスの操作性が向上し、(例えば、デバイスを操作する/デバイスと対話するときにユーザが適切な入力を行うのを支援しユーザの誤りを削減することによって)ユーザ-デバイスインタフェースがより効率的になり、このことにより更に、ユーザがデバイスをより素早く且つ効率的に使用可能になることによって、デバイスの電力使用量が削減されバッテリ寿命が改善される。更に、この制御スキームは、異なるアニメーション制御スキームが使用された場合(例えば、アニメーションシーケンスの各フレームに対する個々の制御点の操作を必要とする制御スキーム)に必要とされるよりも、仮想アバターのアニメーションを作成又は制御するために、より少ない入力を必要とすることができる。更に、このタイプのアニメーション制御は、例えば、テキスト会話又はビデオ会話などの会話の間にリアルタイムで行うことができるが、アバターの手動アニメーション制御は、会話が始まる前又は終了した後に行う必要がある。
1つ以上の顔の特徴の動きを検出したことに応じて(1506)、1つ以上の顔の特徴の検出された動きが、第1のポーズ基準とは異なる第2のポーズ基準を満たすことになる(例えば、ユーザの顔の検出された変化がアバター特徴を第1のポーズとは異なる第2のポーズ(例えば、悲しい口のポーズ)にスナップ留めすることをトリガする)(例えば、顔の特徴の検出されたポーズが、第2のポーズ基準に対応する許容可能な範囲のポーズ内にあり、それによってアバター特徴の第2のポーズへのスナップ留めをトリガする)という判定に従って、電子デバイスは、1つ以上のカメラの視野内の顔のポーズの検出された変化(例えば、向き、置き換え)(例えば、顔の表情の変化)に応じて変更される(例えば、外観値の第1の範囲内で歪められる)、第1の外観及び第2の外観とは異なる第3の外観(例えば、広い口のポーズ1425-2)(例えば、第2のポーズ基準を満たすユーザの顔の検出された変化に基づいてトリガされる外観(例えば、例えば悲しい顔の表情を有する絵文字の口に対応するアバターの口の悲しいポーズ)を有する第1のアバター特徴(例えば、アバターの口1425)を表示するように、仮想アバターを変更する(1510)。いくつかの実施形態では、1つ以上の顔の特徴は、第2のポーズ基準を満たす位置の範囲内にある第2の位置に移動され、それに応じて、電子デバイスは、位置の範囲に関連付けられたポーズ(例えば、第2のポーズ基準に関連付けられた顔の表情を表すポーズ)をとるように第1のアバター特徴を変更する。いくつかの実施形態では、第1のアバター特徴は、それぞれの第1又は第2のポーズ基準に関連付けられたポーズに固定され、検出された変化が、それぞれの第1又は第2のポーズ基準を満足する1つ以上の顔の特徴のポーズからの閾値偏差量内にある場合、1つ以上の顔の特徴の検出された変化に応じて、ポーズからわずかに変更される。いくつかの実施形態では、検出された1つ以上の顔の特徴の変化が閾値偏差量を超えている場合、電子デバイスは、第1のアバター特徴を、第1/第2のポーズ基準に関連付けられたポーズから、1つ以上の顔の特徴の位置に基づいて(例えば、1つ以上の顔の特徴の動きの大きさ及び/又は方向に基づいて)決定されるポーズに移行する。
いくつかの実施形態では、第2の外観で第1のアバター特徴を表示するように仮想アバターを変更することは、第3のアバター特徴(例えば、アバター眉毛1435、アバターの歯1465)を表示することを含む。いくつかの実施形態では、第3のアバター特徴は、1つ以上の顔の特徴の動きを検出する(第3のアバター特徴(例えば、アバターの眉毛、アバター舌、アバターの歯、アバターの口、など)を例えば、最初に表示する、表示を導入する)前に表示されなかった。異なるアバター特徴を変更する際に顔の特徴を導入することは、電子デバイスのディスプレイ上で仮想アバターを動作及び/又は作成するための制御スキームを提供し、システムは、ユーザの顔の特徴の変更(及びそれらの変更の大きさ及び/又は方向)の形態で入力を検出し、処理し、反復フィードバックループを介して、仮想アバターの外観の形態で所望の出力を提供する一方で、ユーザインタフェースの手動操作(例えば、ディスプレイ上にタッチ入力を提供する)の必要性を排除する。これは、顔の動きを使用して仮想アバターを制御及び/又は構成するためにディスプレイを操作する方法に関する、改善された視覚フィードバックをユーザに提供する。このことによりデバイスの操作性が向上し、(例えば、デバイスを操作する/デバイスと対話するときにユーザが適切な入力を行うのを支援しユーザの誤りを削減することによって)ユーザ-デバイスインタフェースがより効率的になり、このことにより更に、ユーザがデバイスをより素早く且つ効率的に使用可能になることによって、デバイスの電力使用量が削減されバッテリ寿命が改善される。更に、この制御スキームは、異なるアニメーション制御スキームが使用された場合(例えば、アニメーションシーケンスの各フレームに対する個々の制御点の操作を必要とする制御スキーム)に必要とされるよりも、仮想アバターのアニメーションを作成又は制御するために、より少ない入力を必要とすることができる。更に、このタイプのアニメーション制御は、例えば、テキスト会話又はビデオ会話などの会話の間にリアルタイムで行うことができるが、アバターの手動アニメーション制御は、会話が始まる前又は終了した後に行う必要がある。
いくつかの実施形態では、第3のアバター特徴を表示することは、仮想アバター上にフェードする第3のアバター特徴(例えば、アバター状態1412-7において笑顔アバター1405上にフェードするアバター眉毛1435)を表示することを含む(例えば、第3のアバター特徴が現れ、光強度が増してアバター上にフェーディングの外観を与える)。いくつかの実施形態では、第3のアバター特徴は、アニメーション効果で仮想アバター上にフェードして表示され、このアニメーション効果では、特徴は、仮想アバターに開いた穴として現れ(例えば、第3のアバター特徴の位置で)、第3のアバター特徴の形状に拡大(例えば、拡張)し、光強度を増す(例えば、外観が暗くなる)。いくつかの実施形態では、オブジェクトの光強度は、オブジェクトの視覚的実体化度である。光強度は、既定の最小値と既定の最大値との間のスケールに沿って測定することができる。いくつかの実施形態では、光強度は、対数スケールに沿って測定することができる。いくつかの実施形態では、光強度は、オブジェクトに適用された透明効果(又はその欠如)としてユーザによって知覚され得る。いくつかの実施形態では、最小光強度は、オブジェクトが全く表示されないことを意味し(すなわち、オブジェクトはユーザが知覚可能でない)ことを意味し、最大光強度は、オブジェクトが任意の透明効果を伴わずに表示される(例えば、オブジェクトは、視覚的に完全に実態化され、ユーザが知覚可能である)ことを意味する。いくつかの実施形態では、光強度は、色、色相、色飽和、輝度、コントラスト、透明性、及びこれらの任意の組み合わせに基づく、オブジェクトとその背後のオブジェクトとの間の視覚的な区別であってもよい。いくつかの実施形態では、第3のアバター特徴の光学強度は、アバター上にフェードするにつれて増大し、アバターから消えるにつれて減少する。いくつかの実施形態では、光強度は滑らかに増大又は減少する。仮想アバター上にフェーディングする第3のアバター特徴を表示することは、電子デバイスのディスプレイ上で仮想アバターを動作及び/又は作成するための制御スキームを提供し、システムは、ユーザの顔の特徴の変更(及びそれらの変更の大きさ及び/又は方向)の形態で入力を検出し、処理し、反復フィードバックループを介して、仮想アバターの外観の形態で所望の出力を提供する一方で、ユーザインタフェースの手動操作(例えば、ディスプレイ上にタッチ入力を提供する)の必要性を排除する。これは、顔の動きを使用して仮想アバターを制御及び/又は構成するためにディスプレイを操作する方法に関する、改善された視覚フィードバックをユーザに提供する。このことによりデバイスの操作性が向上し、(例えば、デバイスを操作する/デバイスと対話するときにユーザが適切な入力を行うのを支援しユーザの誤りを削減することによって)ユーザ-デバイスインタフェースがより効率的になり、このことにより更に、ユーザがデバイスをより素早く且つ効率的に使用可能になることによって、デバイスの電力使用量が削減されバッテリ寿命が改善される。更に、この制御スキームは、異なるアニメーション制御スキームが使用された場合(例えば、アニメーションシーケンスの各フレームに対する個々の制御点の操作を必要とする制御スキーム)に必要とされるよりも、仮想アバターのアニメーションを作成又は制御するために、より少ない入力を必要とすることができる。更に、このタイプのアニメーション制御は、例えば、テキスト会話又はビデオ会話などの会話の間にリアルタイムで行うことができるが、アバターの手動アニメーション制御は、会話が始まる前又は終了した後に行う必要がある。
いくつかの実施形態では、第3のアバター特徴が表示されている間に、電子デバイスは、1つ以上の顔の特徴の動きを検出する。いくつかの実施形態では、1つ以上の顔の特徴の動きの検出に応じて、1つ以上の顔の特徴の検出された動きによって第1のポーズ基準が満たされなくなるという判定に従って、電子デバイスは、仮想アバター(例えば、アバター状態1412-10において笑顔アバター1405から消えるアバター眉毛1435)から第3のアバター特徴をフェードアウトさせることによって第3のアバター特徴の表示を中止する(例えば、第3のアバター特徴は光強度が低下し、アバターからフェードアウトする外観を与えるように消える)。いくつかの実施形態では、第3のアバター特徴は、アニメーション効果で仮想アバターからフェードアウトして表示され、このアニメーション効果では、特徴は、サイズが縮小し、外観が暗くなり、アバター特徴の外観がアバターにフェーディングする。仮想アバターからフェードオフする第3のアバター特徴を表示することは、電子デバイスのディスプレイ上で仮想アバターを動作及び/又は作成するための制御スキームを提供し、システムは、ユーザの顔の特徴の変更(及びそれらの変更の大きさ及び/又は方向)の形態で入力を検出し、処理し、反復フィードバックループを介して、仮想アバターの外観の形態で所望の出力を提供する一方で、ユーザインタフェースの手動操作(例えば、ディスプレイ上にタッチ入力を提供する)の必要性を排除する。これは、顔の動きを使用して仮想アバターを制御及び/又は構成するためにディスプレイを操作する方法に関する、改善された視覚フィードバックをユーザに提供する。このことによりデバイスの操作性が向上し、(例えば、デバイスを操作する/デバイスと対話するときにユーザが適切な入力を行うのを支援しユーザの誤りを削減することによって)ユーザ-デバイスインタフェースがより効率的になり、このことにより更に、ユーザがデバイスをより素早く且つ効率的に使用可能になることによって、デバイスの電力使用量が削減されバッテリ寿命が改善される。更に、この制御スキームは、異なるアニメーション制御スキームが使用された場合(例えば、アニメーションシーケンスの各フレームに対する個々の制御点の操作を必要とする制御スキーム)に必要とされるよりも、仮想アバターのアニメーションを作成又は制御するために、より少ない入力を必要とすることができる。更に、このタイプのアニメーション制御は、例えば、テキスト会話又はビデオ会話などの会話の間にリアルタイムで行うことができるが、アバターの手動アニメーション制御は、会話が始まる前又は終了した後に行う必要がある。
いくつかの実施形態では、第3のアバター特徴を表示することは、第3のアバター特徴(例えば、アバターの眉毛1435)の表示を少なくとも所定の期間維持することを含む。いくつかの実施形態では、第3のアバター特徴は、a)所定の期間、又はb)それぞれの第1又は第2のポーズ基準を満たさせるポーズをユーザが維持する持続時間のうちの長い時間にわたって表示される。例えば、ユーザが少なくとも所定の期間ポーズを維持しない場合、第3のアバター特徴は、所定の期間にわたって持続する(例えば、ユーザが素早く眉毛を上下させる場合、アバターの眉毛はアバターに現れ、消える前に所定の期間にわたって持続する)。しかしながら、ユーザが所定の期間より長い期間、上昇位置に眉毛を保持し続ける場合、アバターの眉毛は、ユーザが挙げられた眉毛のポーズを維持することを中止するまで持続する。少なくとも所定の期間にわたって第3のアバター特徴の表示を維持することは、ユーザが少なくとも所定の期間にわたって第3のアバター特徴の表示をトリガするポーズを維持できない場合、第3のアバター特徴がちらつき、揺れる外観を有することを防止する。ちらつきの外観は、仮想アバターの視覚的外観及び仮想アバターを使用して伝達されることを意図した表情を損なう。したがって、少なくとも所定の期間にわたって第3のアバター特徴の表示を維持することにより、第3のアバター特徴が持続しなかった場合に、表現の持続時間が短すぎてユーザが仮想アバターに気付かない場合に、アバターがユーザの表現をキャプチャすることができる。これは、電子デバイスのディスプレイ上で仮想アバターを動作及び/又は作成するための制御スキームを提供し、システムは、ユーザの顔の特徴の変更(及びそれらの変更の大きさ及び/又は方向)の形態で入力を検出し、処理し、反復フィードバックループを介して、仮想アバターの外観の形態で所望の出力を提供する一方で、ユーザインタフェースの手動操作(例えば、ディスプレイ上にタッチ入力を提供する)の必要性を排除する。これは、顔の動きを使用して仮想アバターを制御及び/又は構成するためにディスプレイを操作する方法に関する、改善された視覚フィードバックをユーザに提供する。このことによりデバイスの操作性が向上し、(例えば、デバイスを操作する/デバイスと対話するときにユーザが適切な入力を行うのを支援しユーザの誤りを削減することによって)ユーザ-デバイスインタフェースがより効率的になり、このことにより更に、ユーザがデバイスをより素早く且つ効率的に使用可能になることによって、デバイスの電力使用量が削減されバッテリ寿命が改善される。更に、この制御スキームは、異なるアニメーション制御スキームが使用された場合(例えば、アニメーションシーケンスの各フレームに対する個々の制御点の操作を必要とする制御スキーム)に必要とされるよりも、仮想アバターのアニメーションを作成又は制御するために、より少ない入力を必要とすることができる。更に、このタイプのアニメーション制御は、例えば、テキスト会話又はビデオ会話などの会話の間にリアルタイムで行うことができるが、アバターの手動アニメーション制御は、会話が始まる前又は終了した後に行う必要がある。
いくつかの実施形態では、第1のアバター特徴を第2の外観で表示するように仮想アバターを変更することは、第1の外観(例えば、視覚的に区別される唇を有さないアバターの口(例えば、アバター状態1412-15におけるアバターの口1425)がフェードアウトする、第1のアバター特徴の第1のアニメーションを表示し、第2の外観(例えば、すぼめた唇を有するアバターの口(例えば、アバター状態1412-16におけるすぼめたポーズ1425-3を有するアバターの口1425))がフェードインする、第1のアバター特徴の第2のアニメーションを表示することを含み、このとき、第2のアニメーションは、第1のアニメーションの少なくとも一部分と同時に表示される(例えば、第1及び第2の外観をクロスフェーディングする)。第1の外観がフェードアウトする、第1のアバター特徴の第1のアニメーションを表示し、第2の外観がフェードインする、第1のアバター特徴の第2のアニメーションを表示し、このとき、第2のアニメーションが第1のアニメーションの少なくとも一部と同時に表示されることは、電子デバイスのディスプレイ上で仮想アバターを動作及び/又は作成するための制御スキームを提供し、システムは、ユーザの顔の特徴(及びそれらの変化の大きさ及び/又は方向)への変化の形態で入力を検出及び処理し、反復フィードバックループを介して、ユーザインタフェースの手動操作(例えば、ディスプレイ上にタッチ入力を提供する)の必要性を排除しながら、仮想アバターの外観の形態で所望の出力を提供する。これは、顔の動きを使用して仮想アバターを制御及び/又は構成するためにディスプレイを操作する方法に関する、改善された視覚フィードバックをユーザに提供する。このことによりデバイスの操作性が向上し、(例えば、デバイスを操作する/デバイスと対話するときにユーザが適切な入力を行うのを支援しユーザの誤りを削減することによって)ユーザ-デバイスインタフェースがより効率的になり、このことにより更に、ユーザがデバイスをより素早く且つ効率的に使用可能になることによって、デバイスの電力使用量が削減されバッテリ寿命が改善される。更に、この制御スキームは、異なるアニメーション制御スキームが使用された場合(例えば、アニメーションシーケンスの各フレームに対する個々の制御点の操作を必要とする制御スキーム)に必要とされるよりも、仮想アバターのアニメーションを作成又は制御するために、より少ない入力を必要とすることができる。更に、このタイプのアニメーション制御は、例えば、テキスト会話又はビデオ会話などの会話の間にリアルタイムで行うことができるが、アバターの手動アニメーション制御は、会話が始まる前又は終了した後に行う必要がある。
いくつかの実施形態では、1つ以上の顔の特徴の動きは、第4の顔の特徴(例えば、ユーザの口1420)の動きを含み、第1のアバター特徴は、第4の顔の特徴とは異なる顔の特徴の表現(例えば、アバターの目1415)である。いくつかの実施形態では、ユーザの口のポーズの変化は、アバターの外観の変化を引き起こし、アバターの目は、第1の外観の目の第1のセットから第2の外観の異なる目のセットへと移行する。例えば、第1の外観を有する第1のアバター特徴が示され、ユーザの口が中立のポーズにあるとき、アバターの目は中立状態で示されている。ユーザが大きな笑顔のポーズに口を動かすと、アバターの目は細めた目を有する第2の外観に移行する。第1のアバター特徴が表現である顔の特徴とは異なる顔の特徴の検出された変化に基づいて第1のアバター特徴を移動させることにより、より少ない顔の特徴を追跡しながら、異なるポーズを達成するようにアバターを変更することができる。これは、デバイスが、ユーザの口のみの変化を検出したことに応じてアバターの口及び目を変化させることができるからである。これは、電子デバイスのディスプレイ上で仮想アバターを動作及び/又は作成するための制御スキームを提供し、システムは、ユーザの顔の特徴の変更(及びそれらの変更の大きさ及び/又は方向)の形態で入力を検出し、処理し、反復フィードバックループを介して、仮想アバターの外観の形態で所望の出力を提供する一方で、ユーザインタフェースの手動操作(例えば、ディスプレイ上にタッチ入力を提供する)の必要性を排除する。これは、顔の動きを使用して仮想アバターを制御及び/又は構成するためにディスプレイを操作する方法に関する、改善された視覚フィードバックをユーザに提供する。このことによりデバイスの操作性が向上し、(例えば、デバイスを操作する/デバイスと対話するときにユーザが適切な入力を行うのを支援しユーザの誤りを削減することによって)ユーザ-デバイスインタフェースがより効率的になり、このことにより更に、ユーザがデバイスをより素早く且つ効率的に使用可能になることによって、デバイスの電力使用量が削減されバッテリ寿命が改善される。更に、この制御スキームは、異なるアニメーション制御スキームが使用された場合(例えば、アニメーションシーケンスの各フレームに対する個々の制御点の操作を必要とする制御スキーム)に必要とされるよりも、仮想アバターのアニメーションを作成又は制御するために、より少ない入力を必要とすることができる。更に、このタイプのアニメーション制御は、例えば、テキスト会話又はビデオ会話などの会話の間にリアルタイムで行うことができるが、アバターの手動アニメーション制御は、会話が始まる前又は終了した後に行う必要がある。
1つ以上の顔の特徴の移動を検出したことに応じて(1506)、検出された1つ以上の顔の特徴の移動は、第1のアバター特徴(例えば、アバターの口1425)の表示を第1の外観で維持する(例えば、ユーザの顔の検出された変化は、アバター特徴を特定のポーズにスナップ留めすることをトリガしない)ための基準を満たすという判定に従って、電子デバイスは、1つ以上のカメラの視野内の顔のポーズの検出された変化(例えば、向き、置き換え)(例えば、顔の表情の変化)(アバター状態1412-1、1412-2、1412-6、1412-12、1412-15、及び1412-17~1412-19におけるアバターの口1425)に応じて第1のアバター特徴の第1の外観を変更することによって、第1のアバター特徴を表示するように仮想アバター(例えば、1405)を変更する(1512)(例えば、アバター特徴が特定のポーズにスナップ留めされていない場合、特徴は、ユーザの顔の検出された変化に応じて変更される(例えば、顔の特徴の移動の方向及び/又は大きさに基づいて変更される)。いくつかの実施形態では、第1のアバター特徴はアバターの口であり、第2の外観は口の笑顔ポーズであり、第3の外観は口悲しいポーズであり、口の第1の外観は、笑顔ポーズと悲しいポーズとの間の口の様々な位置(例えば、中立の口、話しているときの開閉の間の位置など)を含む。
いくつかの実施形態では、物理的特徴の検出された動き(例えば、顔のポーズの変化、顔の特徴の動き)は、方向成分及び大きさ成分の両方を有する。いくつかの実施形態では、アバター特徴に対する変更は、大きさ成分及び方向成分の両方を有する。いくつかの実施形態では、アバター特徴の変更の方向成分は、アバター特徴が反応する1つ以上の物理的特徴(例えば、ユーザの顔の顔の特徴)における変化の方向成分に基づく。いくつかの実施形態では、アバター特徴の変化の方向成分は、物理的特徴の変化の方向成分と同じである。例えば、物理的特徴(例えば、口)が下に移動すると、対応する(例えば、反応する)アバター特徴(例えば、アバターの口)は下に移動する。いくつかの実施形態では、アバター特徴の変化の方向成分は、対応する物理的特徴(例えば、アバター特徴が検出された変化に反応する物理的特徴)の変化の方向成分に対してミラーリングされる。例えば、物理的特徴(例えば、ユーザの目(例えば、虹彩))が左に移動すると、反応性のアバター特徴(例えば、アバターの目(例えば、虹彩))は右に移動する。いくつかの実施形態では、アバター特徴の変化の方向成分は、垂直軸に沿った移動についての対応する物理的特徴の変化の方向成分と同じであり、鏡を見たときに見られる効果と同様に、水平軸に沿った移動についてミラーリングされる。いくつかの実施形態では、物理的特徴(例えば、ユーザの虹彩又は眉毛)の相対位置の変化は、物理的特徴の中立の静止位置から決定される方向にある。いくつかの実施形態では、ユーザの虹彩の中立の静止位置は、ユーザの眼球の周辺部に対する特定の位置(例えば、センタリング)であると決定される。いくつかの実施形態では、アバター特徴の反応の方向は、ユーザの物理的特徴の変化の相対的な方向に(例えば、そのまま又は逆に)対応する。いくつかの実施形態では、物理的特徴の変化の相対方向は、物理的特徴の中立の静止位置からの物理的特徴の移動方向に基づいて決定される。いくつかの実施形態では、アバター特徴の反応の方向は、物理的特徴の変化の相対的な方向にそのまま対応する(例えば、物理的特徴が上に移動すると、アバター特徴は上に移動する)。いくつかの実施形態では、アバター特徴の反応の方向は、物理的特徴の変化の相対的な方向に逆対応する(例えば、物理的特徴が上に移動すると、アバター特徴は下に移動する)。
いくつかの実施形態では、アバター特徴の変化の大きさは、ユーザの物理的特徴の変化の大きさに対応する。いくつかの実施形態では、物理的特徴の変化の大きさは、物理的特徴の潜在的な移動範囲に従って決定され、この大きさは、その物理的特徴の移動範囲(例えば、予測される又はモデル化された移動範囲)内の物理的特徴の相対位置を表す。このような実施形態では、アバター特徴の反応(例えば、位置の変化)の大きさは、同様に、アバター特徴の移動範囲内のアバター特徴の相対位置である。いくつかの実施形態では、変化の大きさは、変化による、物理的特徴の開始位置及び終了位置の比較又は測定(例えば、距離)に基づいて決定される。そのような実施形態では、物理的特徴の測定された変化をアバター特徴に(例えば、そのまま、若しくはスケーリング又は調整された値として)適用することにより、物理的特徴の変化を対応するアバター特徴の変更に変換する。
いくつかの実施形態では、1つ以上のカメラは、深度カメラを含む(例えば、深度カメラセンサ175を有する)。いくつかの実施形態では、1つ以上のカメラは、深度カメラの視野内に配置された被写体の深度データ(例えば、画像データは、可視光カメラ及び深度カメラによってキャプチャされたデータを含む)(例えば、被写体の他の部分、及び/又は1つ以上のカメラの視野内の他のオブジェクトに対する被写体の1つ以上の部分の相対的深度の位置決めに関する情報)を含むキャプチャされた画像の深度データに対応する画像データ(例えば、深度態様(例えば、RGBデータから独立した深度データ)を含む画像データ)をキャプチャする。一部の実施形態では、画像データは、少なくとも2つの成分、すなわち、キャプチャされた画像の視覚特性を符号化するRGB成分、及びキャプチャされた画像内の要素の相対的な空間的関係についての情報を符号化する深度データ(例えば、深度データは、ユーザが前景にあることを符号化し、ユーザの背後に位置する木などの背景要素は、背景にある)を含む。いくつかの実施形態では、画像データは、RGB構成要素を含まない深度データを含む。一部の実施形態では、深度データは深度マップである。いくつかの実施形態では、深度マップ(例えば、深度マップ画像)は、視点(例えば、カメラ)からのシーン内のオブジェクトの距離に関連する情報(例えば、値)を含む。深度マップの一実施形態では、各深度ピクセルは、その対応する2次元ピクセルが配置されている、その視点のZ軸における位置を定義するものである。いくつかの実施形態では、深度マップは画素で構成されており、各画素は、値(例えば、0~255)によって定義される。例えば、「0」の値は、「3次元」シーン内の最も遠い場所に配置されているピクセルを表し、「255」の値は、「3次元」シーン内の視点(例えば、カメラ)の最も近くに配置されているピクセルを表す。他の例では、深度マップは、シーン内のオブジェクトと視点の平面との間の距離を表す。いくつかの実施形態では、深度マップは、深度カメラから見た、対象オブジェクトの様々な特徴部の相対深度(例えば、ユーザの顔面の目、鼻、口、耳の相対深度)に関する情報を含む。いくつかの実施形態では、深度マップは、z方向での対象オブジェクトの輪郭をデバイスが決定することを可能にする、情報を含む。一部の実施形態では、深度データは、カメラ表示領域内の被写体の表現を含む、第1の深度成分(例えば、カメラ表示領域内の被写体の空間位置を符号化する深度データの第1の部分、前景又は特定のオブジェクトなどの、深度マップの離散部分を形成する複数の深度ピクセル)を有する。一部の実施形態では、深度データは、第1の深度成分とは別個の、第2の深度成分(例えば、カメラ表示領域内の背景の空間位置を符号化する深度データの第2の部分、背景などの、深度マップの離散部分を形成する複数の深度ピクセル)を有し、第2の深度アスペクトは、カメラ表示領域における背景の表現を含む。いくつかの実施形態では、第1の深度アスペクト及び第2の深度アスペクトは、カメラ表示領域内の被写体とカメラ表示領域内の背景との間の空間的関係を判定するために使用される。この空間的関係は、被写体を背景から区別するために使用することができる。この区別は、例えば、異なる視覚効果(例えば、深度成分を有する視覚効果)を被写体及び背景に適用するために利用することができる。一部の実施形態では、第1の深度成分に対応しない画像データの全ての領域(例えば、深度カメラの範囲外である画像データの領域)は、深度マップからセグメント化される(例えば、除外される)。一部の実施形態では、深度データは、深度マップ又は深度マスクの形態である。
いくつかの実施形態では、1つ以上の顔の特徴の検出された動きは、第1の顔の特徴(例えば、ユーザの口1420)の動きを含む。いくつかの実施形態では、第1の顔の特徴の動きが、第1の顔の特徴の所定の動き範囲(例えば、初期(例えば、静止)値に対する大きさの値として表される動きの範囲)に基づく可能な第1の顔の特徴値(例えば、アバターの口1425をポーズにスナップ留めさせないユーザの口1420のポーズ値)の第1の範囲内にある場合、1つ以上の顔の特徴の検出された動きは、第1のアバター特徴の表示を第1の外観(例えば、ユーザの口1420の動きを追跡する位置を有するアバターの口1425(例えば、スナップ留めされてないポーズ))で維持するための基準を満たす。いくつかの実施形態では、1つ以上の顔の特徴の検出された動きは、第1の顔の特徴の動きが、可能な第1の顔の特徴値の第1の範囲とは異なる可能な第1の顔の特徴値の第2の範囲(例えば、アバターの口1425を既定のポーズにスナップ留めさせるユーザの口1420の値の範囲)内にある場合に、第1のポーズ基準を満たさせる。いくつかの実施形態では、1つ以上のカメラの視野内の顔のポーズの検出された変化に応じて、第1のアバター特徴(例えば、アバターの口1425)の第1の外観を変更することは、可能な第1の顔の特徴値の第1の範囲に対応する外観値の第1の範囲(例えば、第1のアバター特徴の位置の範囲)内の第1のアバター特徴の第1の外観を変更することを含む(例えば、非スナップ留めポーズに沿ってアバターの口1425を移動させる)。いくつかの実施形態では、第1のアバター特徴を第2の外観で表示するように仮想アバターを変更することは、外観値の第1の範囲とは異なり、且つ可能な第1の顔の特徴値の第2の範囲に対応する外観値の第2の範囲内の第2の外観値(例えば、アバターの口1425の既定の、スナップ留めポーズ(例えば、大きな笑顔ポーズ1425-1)に対応する値)を有する第1のアバター特徴を表示することを含む。いくつかの実施形態では、第2の外観の外観値の第2の範囲は、第1のアバター特徴のポーズが依然として第2の外観に関連付けられるように制限される値の範囲である(例えば、(例えば、カメラの視野内の顔のポーズの検出された変化に応じた)第2の外観への歪みは、依然として第2の外観に関連付けられる)。換言すれば、第2の範囲は、第2の外観を有するとユーザが依然として識別又は認識する位置の範囲に制限される。例えば、第1のアバター特徴がアバターの口(例えば、1425)であり、第2の外観が笑顔ポーズ(例えば、大きい笑顔ポーズ1425-1)である場合、外観値の第2の範囲は、第2の外観の最初の笑顔ポーズに類似する口の笑顔ポーズの範囲である(例えば、第1のポーズ基準が満たされたときに口がスナップ留めされる笑顔ポーズ)。例えば、アバター状態1412-5では、アバターの口1425は角1425aで歪むが、アバターの口1425は依然としてスナップ留めされた大きな笑顔ポーズ1425-1を維持する。これは、ユーザが第1のアバター特徴の第2の外観をより容易に維持することができるように、アバター特徴を第2の外観に固定する働きをし、それにより、電子デバイスのディスプレイ上で仮想アバターを動作及び/又は作成するための制御スキームを提供し、システムは、ユーザの顔の特徴の変更(及びそれらの変更の大きさ及び/又は方向)の形態で入力を検出し、処理し、反復フィードバックループを介して、仮想アバターの外観の形態で所望の出力を提供する一方で、ユーザインタフェースの手動操作(例えば、ディスプレイ上にタッチ入力を提供する)の必要性を排除する。これは、顔の動きを使用して仮想アバターを制御及び/又は構成するためにディスプレイを操作する方法に関する、改善された視覚フィードバックをユーザに提供する。このことによりデバイスの操作性が向上し、(例えば、デバイスを操作する/デバイスと対話するときにユーザが適切な入力を行うのを支援しユーザの誤りを削減することによって)ユーザ-デバイスインタフェースがより効率的になり、このことにより更に、ユーザがデバイスをより素早く且つ効率的に使用可能になることによって、デバイスの電力使用量が削減されバッテリ寿命が改善される。更に、この制御スキームは、異なるアニメーション制御スキームが使用された場合(例えば、アニメーションシーケンスの各フレームに対する個々の制御点の操作を必要とする制御スキーム)に必要とされるよりも、仮想アバターのアニメーションを作成又は制御するために、より少ない入力を必要とすることができる。更に、このタイプのアニメーション制御は、例えば、テキスト会話又はビデオ会話などの会話の間にリアルタイムで行うことができるが、アバターの手動アニメーション制御は、会話が始まる前又は終了した後に行う必要がある。
いくつかの実施形態では、1つ以上の顔の特徴の検出された動きは、第1の顔の特徴(例えば、ユーザの口1420)の動きが、可能な第1の顔の特徴値の第1の範囲及び可能な第1の顔の特徴値の第2の範囲とは異なる、可能な第1の顔の特徴値の第3の範囲(例えば、アバターの口1425を、異なる既定のポーズ(例えば、広い口のポーズ1425-2)にスナップ留めさせるユーザの口のポーズの範囲)内にある場合に、第2のポーズ基準を満たさせる。いくつかの実施形態では、電子デバイスが、第1のアバター特徴(例えば、アバターの口1425)を第3の外観で表示するように仮想アバターを変更することは、外観値の第1の範囲及び外観値の第2の範囲とは異なり、且つ可能な第1の顔の特徴値の第3の範囲に対応する、外観値の第3の範囲内の第3の外観値(例えば、スナップ留めされた口のポーズ(例えば、広い口のポーズ1425-2)に対応するアバターの口1425の値)を有する第1のアバター特徴を表示することを含む。いくつかの実施形態では、(例えば、カメラの視野内の顔のポーズの検出された変化に応じた)第3の外観に対する歪みが依然として第3の外観に関連付けられるように、第3の外観に対する変更は、第3の外観の外観値の範囲に同様に制限される。いくつかの実施形態では、第3の外観の外観値の範囲(例えば、悲しい口の位置の範囲)は、第2の外観の外観値の範囲及び第1の外観の外観値の範囲とは異なる。これは、電子デバイスのディスプレイ上で仮想アバターを動作及び/又は作成するための制御スキームを提供し、システムは、ユーザの顔の特徴の変更(及びそれらの変更の大きさ及び/又は方向)の形態で入力を検出し、処理し、反復フィードバックループを介して、仮想アバターの外観の形態で所望の出力を提供する一方で、ユーザインタフェースの手動操作(例えば、ディスプレイ上にタッチ入力を提供する)の必要性を排除する。これは、顔の動きを使用して仮想アバターを制御及び/又は構成するためにディスプレイを操作する方法に関する、改善された視覚フィードバックをユーザに提供する。このことによりデバイスの操作性が向上し、(例えば、デバイスを操作する/デバイスと対話するときにユーザが適切な入力を行うのを支援しユーザの誤りを削減することによって)ユーザ-デバイスインタフェースがより効率的になり、このことにより更に、ユーザがデバイスをより素早く且つ効率的に使用可能になることによって、デバイスの電力使用量が削減されバッテリ寿命が改善される。更に、この制御スキームは、異なるアニメーション制御スキームが使用された場合(例えば、アニメーションシーケンスの各フレームに対する個々の制御点の操作を必要とする制御スキーム)に必要とされるよりも、仮想アバターのアニメーションを作成又は制御するために、より少ない入力を必要とすることができる。更に、このタイプのアニメーション制御は、例えば、テキスト会話又はビデオ会話などの会話の間にリアルタイムで行うことができるが、アバターの手動アニメーション制御は、会話が始まる前又は終了した後に行う必要がある。
いくつかの実施形態では、電子デバイスは、第1の既定の絵文字(例えば、笑顔の絵文字)及び第2の既定の絵文字(例えば、悲しい絵文字)を送信する(例えば、メッセージングアプリケーションで送信する)ように構成される。いくつかの実施形態では、第1のアバター特徴の第2の外観は、第1の既定の絵文字の外観(例えば、開いた口の笑顔の表情を有する絵文字)に対応する(例えば、その外観を有する)(例えば、アバターの口は、開いた口の笑顔を有する絵文字の口の位置を取るために、わずかなアニメーションでユーザの顔の変化に応答する)(例えば、仮想アバターの全体は、開いた口の笑顔を有する絵文字の外観をとるように、アバターの口、アバターの目、及びアバターの頭の回転のわずかなアニメーションでユーザの顔の変化に応答する)。いくつかの実施形態では、第1のアバター特徴の第3の外観は、第2の既定の絵文字の外観(例えば、悲しい表情を有する絵文字)に対応する(例えば、その外観を有する)(例えば、アバターの口は、悲しい表情を有する絵文字の口の位置を取るために、わずかなアニメーションでユーザの顔の変化に応答する)(例えば、仮想アバターの全体は、悲しい絵文字の外観をとるように、アバターの口、アバターの目、及びアバターの頭の回転のわずかなアニメーションでユーザの顔の変化に応答する)。異なる既定の絵文字の特徴に対応する外観を有するアバターの第1及び第2の特徴を表示することは、特徴が周知の絵文字に対応するため、アバターが認識された顔の表情をより容易に達成することを可能にする。これは、電子デバイスのディスプレイ上で仮想アバターを動作及び/又は作成するための制御スキームを提供し、システムは、ユーザの顔の特徴の変更(及びそれらの変更の大きさ及び/又は方向)の形態で入力を検出し、処理し、反復フィードバックループを介して、仮想アバターの外観の形態で所望の出力を提供する一方で、ユーザインタフェースの手動操作(例えば、ディスプレイ上にタッチ入力を提供する)の必要性を排除する。これは、顔の動きを使用して仮想アバターを制御及び/又は構成するためにディスプレイを操作する方法に関する、改善された視覚フィードバックをユーザに提供する。このことによりデバイスの操作性が向上し、(例えば、デバイスを操作する/デバイスと対話するときにユーザが適切な入力を行うのを支援しユーザの誤りを削減することによって)ユーザ-デバイスインタフェースがより効率的になり、このことにより更に、ユーザがデバイスをより素早く且つ効率的に使用可能になることによって、デバイスの電力使用量が削減されバッテリ寿命が改善される。更に、この制御スキームは、異なるアニメーション制御スキームが使用された場合(例えば、アニメーションシーケンスの各フレームに対する個々の制御点の操作を必要とする制御スキーム)に必要とされるよりも、仮想アバターのアニメーションを作成又は制御するために、より少ない入力を必要とすることができる。更に、このタイプのアニメーション制御は、例えば、テキスト会話又はビデオ会話などの会話の間にリアルタイムで行うことができるが、アバターの手動アニメーション制御は、会話が始まる前又は終了した後に行う必要がある。
いくつかの実施形態では、第1のアバター特徴(例えば、アバターの口1425)が第2の外観(例えば、大きな笑顔ポーズ1425-2)で表示されている間に、電子デバイスは、1つ以上のカメラの視野内の顔のポーズの変化を検出する。いくつかの実施形態では、1つ以上のカメラの視野内の顔のポーズの変化を検出したことに応じて、1つ以上のカメラの視野内の顔のポーズの検出された変化が、第2の顔の特徴(例えば、ユーザの口1420)の、第2の顔の特徴のポーズの第1の範囲(例えば、大きい笑顔のポーズ1425-2をトリガするポーズの範囲)(例えば、第2の顔の特徴値の範囲)外のポーズへの動きを含む(例えば、第2の顔の特徴は、第2の外観に関連付けられたポーズの範囲外にあるポーズを有する)という判定に従って、電子デバイスは、第1の外観を有するように第1のアバター特徴を変更する(例えば、アバターの口1425は、アバター状態1412-6などにおけるスナップ留めされていないポーズを有する)。いくつかの実施形態では、1つ以上のカメラの視野内の顔のポーズの変化を検出したことに応じて、1つ以上のカメラの視野内の顔のポーズの検出された変化が、第2の顔の特徴のポーズの第1の範囲内にあるポーズへの第2の顔の特徴の動きを含む(例えば、第2の顔の特徴は、第2の外観に関連付けられたポーズの範囲内にあるポーズを有する)という判定に従って、電子デバイスは、第2の外観を有する第1のアバター特徴の表示を維持する(例えば、角1425aで歪められているにもかかわらず、アバターの口1425は、アバター状態1412-5において大きな笑顔ポーズ1425-1を有する)(例えば、第2の顔の特徴の動きに基づいて第1のアバター特徴をわずかに変更する)(例えば、第2の顔の特徴の動きに基づいて第1のアバター特徴を変更することを取り止める)(例えば、例えば、第2の顔の特徴の検出された動きが、第2の顔の特徴のポーズを第2の外観に関連付けられたポーズの範囲内にする場合、第1のアバター特徴は第2の外観(スナップ留めされたポーズ)を維持し、第2の顔の特徴の検出された動きが、第2の顔の特徴のポーズを第2の外観に関連付けられたポーズの範囲外にする場合、第1の外観(例えば、スナップ留めされていないポーズ)に移行する)。いくつかの実施形態では、アバター特徴を第2の外観以外のものに変更するために顔の特徴(例えば、アバター特徴に対応する顔の特徴)をポーズの範囲外のポーズに移動させることを必要とすることは、ユーザが第1のアバター特徴の第2の外観をより容易に維持できるように、アバター特徴を第2の外観に固定するためのヒステリシスとして機能する。したがって、ユーザの顔の特徴に対するわずかな検出された変化(例えば、第2の外観に関連付けられたポーズの範囲内にある顔の特徴のポーズを達成すること)は、アバター特徴を変更しなか、アバター特徴の位置を第2の外観として認識されていない位置に変更しない(例えば、アバター特徴はわずかに歪んだが、依然として第2の外観を有するものとして認識されている)。この挙動は、それぞれのアバター特徴を様々なポーズに付勢し、ユーザが、例えば、他のユーザとの通信するための一般的なポーズ(例えば、異なる絵文字表現に対応するポーズ)などのアバターポーズを(例えば、スナップ挙動を介して)達成し、(例えば、ヒステリシスを介して)維持することが容易になる。ポーズのスナップ/ヒステリシスは、個々のアバター特徴ベースで(例えば、異なるアバター特徴(例えば、目)をスナップすることなく、単一のアバター特徴(例えば、口)を異なる特徴ポーズ(例えば、異なる絵文字の口のポーズ)にスナップ留めすることなどによってアバターの特徴に個別に影響を及ぼす)、又は仮想アバターの全体に対して(例えば、複数のアバター特徴を異なる絵文字の顔の表情に同時にスナップすることなどによって、仮想アバターの全体に(例えば、複数のアバターの特徴)に影響を及ぼす)適用することができる。
いくつかの実施形態では、1つ以上のアバター特徴は、1つ以上のカメラの視野内の顔のポーズの検出された変化に応じて変更される第4の外観(例えば、スナップ留めされていないポーズ(アバター状態1412-6の横を見る目1415))を有する第2のアバター特徴(例えば、アバターの目1415)を更に含む。
いくつかの実施形態では、更に、1つ以上のカメラの視野内の顔のポーズの変化を検出したことに応じて、1つ以上の顔の特徴の検出された動きが第3のポーズ基準を満たさせるという判定に従って、電子デバイスは、1つ以上のカメラの視野内の顔のポーズの検出された変化に応じて変更される、第4の外観(例えば、スナップ留めされていないポーズ)とは異なる第5の外観(例えば、スナップ留めされたポーズ(例えば、目を細めたポーズ1415-3))で第2のアバター特徴(例えば、アバターの目1415)を表示するように仮想アバターを変更する。いくつかの実施形態では、更に、1つ以上のカメラの視野内の顔のポーズの変化を検出したことに応じて、1つ以上の顔の特徴の検出された動きが、第4の外観で第2のアバター特徴の表示を維持するための基準を満たすという判定に従って、電子デバイスは、1つ以上のカメラの視野内の顔のポーズの検出された変化に応じて第2のアバター特徴の第4の外観を変更することによって、第2のアバター特徴を表示するように仮想アバターを変更する(例えば、アバター状態1412-6におけるユーザの目1410の動きに基づいてアバターの目1415が変更される)。
いくつかの実施形態では、第2のアバター特徴が第5の外観(例えば、スナップ留めされたポーズ(例えば、細めた目のポーズ1415-3))で表示されている間に、電子デバイスは、1つ以上のカメラの視野内の顔のポーズの第2の変化を検出する。いくつかの実施形態では、1つ以上のカメラの視野内の顔のポーズの第2の変化を検出したことに応じて、1つ以上のカメラの視野内の顔のポーズの検出された変化が、第3の顔の特徴(例えば、ユーザの口1425)の、第2の顔の特徴のポーズの第1の範囲とは異なる(例えば、第2の顔の特徴の第1の範囲のポーズより第3の顔の特徴についてより大きい又はより小さい範囲のポーズを有する)第3の顔の特徴のポーズの第2の範囲(例えば、アバターの口1425のスナップ留めポーズをトリガするユーザの口のポーズ範囲)(例えば、第3の顔の特徴値の範囲)外にあるポーズへの動きを含む(例えば、第3の顔の特徴は、第5の外観に関連付けられた範囲のポーズ外にあるポーズを有する)という判定に従って、電子デバイスは、第2のアバター特徴を第4の外観を有するように変更する(例えば、アバターの目1415がスナップ留めされていないポーズに戻る)。いくつかの実施形態では、1つ以上のカメラの視野内の顔のポーズの第2の変化を検出したことに応じて、1つ以上のカメラの視野内の顔のポーズの検出された変化が、第3の顔の特徴の、第3の顔の特徴のポーズの第2の範囲内にあるポーズへの動きを含む(例えば、第3の顔の特徴は、第5の外観に関連付けられたポーズの範囲内にあるポーズを有する)という判定に従って、電子デバイスは、第5の外観を有する第2のアバター特徴の表示を維持する(例えば、アバターの目1415はスナップ留めされたポーズに留まる)。例えば、第3の顔の特徴の検出された動きが第3の顔の特徴のポーズを第5の外観に関連付けられたポーズの範囲外にする場合、ユーザの目1410は、ユーザ状態1411-3及び1411-4においてわずかに目を細めているが、アバターの目1415は、アバター状態1412-3及び1412-4において中立アバターの目のポーズ1415-1に留まり(例えば、第3の顔の特徴の動きに基づいて第2のアバター特徴をわずかに変更する)(例えば、第3の顔の特徴の動きに基づいて第2のアバター特徴を変更することを取り止める)(例えば、第2のアバター特徴は、第5の外観(例えば、スナップ留めされたポーズ)を維持する)、第3の顔の特徴の検出された動きが、第3の顔の特徴のポーズを第5の外観に関連付けられたポーズの範囲外にする場合、第4の外観(例えば、スナップ留めされていないポーズ)に移行する。いくつかの実施形態では、第2及び第3の顔の特徴のポーズの範囲は、それぞれのアバター特徴ごとに異なるヒステリシスを達成するために、異なる値の範囲を有する(例えば、第1の範囲は第2の範囲よりも短い)。異なる特徴のために異なる範囲を適用することにより、異なるアバター特徴が異なるヒステリシスの範囲を有することを可能にする。これにより、いくつかの特徴が特定のポーズに更に付勢されることを可能にし、他の特徴は、ユーザの顔のポーズをより容易に追跡することができる。これは、電子デバイスのディスプレイ上で仮想アバターを動作及び/又は作成するための制御スキームを提供し、システムは、ユーザの顔の特徴の変更(及びそれらの変更の大きさ及び/又は方向)の形態で入力を検出し、処理し、反復フィードバックループを介して、仮想アバターの外観の形態で所望の出力を提供する一方で、ユーザインタフェースの手動操作(例えば、ディスプレイ上にタッチ入力を提供する)の必要性を排除する。これは、顔の動きを使用して仮想アバターを制御及び/又は構成するためにディスプレイを操作する方法に関する、改善された視覚フィードバックをユーザに提供する。このことによりデバイスの操作性が向上し、(例えば、デバイスを操作する/デバイスと対話するときにユーザが適切な入力を行うのを支援しユーザの誤りを削減することによって)ユーザ-デバイスインタフェースがより効率的になり、このことにより更に、ユーザがデバイスをより素早く且つ効率的に使用可能になることによって、デバイスの電力使用量が削減されバッテリ寿命が改善される。更に、この制御スキームは、異なるアニメーション制御スキームが使用された場合(例えば、アニメーションシーケンスの各フレームに対する個々の制御点の操作を必要とする制御スキーム)に必要とされるよりも、仮想アバターのアニメーションを作成又は制御するために、より少ない入力を必要とすることができる。更に、このタイプのアニメーション制御は、例えば、テキスト会話又はビデオ会話などの会話の間にリアルタイムで行うことができるが、アバターの手動アニメーション制御は、会話が始まる前又は終了した後に行う必要がある。
いくつかの実施形態では、第1のアバター特徴はアバターの口(例えば、1425)である。いくつかの実施形態では、第2のアバター特徴は1つ以上のアバターの目(例えば、1415)である。いくつかの実施形態では、ポーズの第2の範囲は、ポーズの第1の範囲よりも大きい。いくつかの実施形態では、アバターの目は、目が細めた形状を有するいくつかの限定されたポーズを除いて丸みを帯びた形状である傾向があり、アバターの口は、より広い範囲のポーズ(例えば、悲しい、中立、小さい笑顔、大きな笑顔、歯を有する大きな笑顔など)にスナップ留めする傾向がある。したがって、このような実施形態では、アバターの目のヒステリシスはアバターの口のヒステリシスよりも大きいため、アバターの口は、異なるポーズ(例えば、既定のポーズ(例えば、スナップ留めされたポーズ)及び、ユーザの口の位置に基づくポーズの両方を含む)に容易に移行することができ、アバターの目は、丸い形状又は細めた形状のいずれかに向かって付勢する傾向がある(例えば、ユーザの目の動きが、目を細めたときなどのかなりの程度の動きである場合)。これは、電子デバイスのディスプレイ上で仮想アバターを動作及び/又は作成するための制御スキームを提供し、システムは、ユーザの顔の特徴の変更(及びそれらの変更の大きさ及び/又は方向)の形態で入力を検出し、処理し、反復フィードバックループを介して、仮想アバターの外観の形態で所望の出力を提供する一方で、ユーザインタフェースの手動操作(例えば、ディスプレイ上にタッチ入力を提供する)の必要性を排除する。これは、顔の動きを使用して仮想アバターを制御及び/又は構成するためにディスプレイを操作する方法に関する、改善された視覚フィードバックをユーザに提供する。このことによりデバイスの操作性が向上し、(例えば、デバイスを操作する/デバイスと対話するときにユーザが適切な入力を行うのを支援しユーザの誤りを削減することによって)ユーザ-デバイスインタフェースがより効率的になり、このことにより更に、ユーザがデバイスをより素早く且つ効率的に使用可能になることによって、デバイスの電力使用量が削減されバッテリ寿命が改善される。更に、この制御スキームは、異なるアニメーション制御スキームが使用された場合(例えば、アニメーションシーケンスの各フレームに対する個々の制御点の操作を必要とする制御スキーム)に必要とされるよりも、仮想アバターのアニメーションを作成又は制御するために、より少ない入力を必要とすることができる。更に、このタイプのアニメーション制御は、例えば、テキスト会話又はビデオ会話などの会話の間にリアルタイムで行うことができるが、アバターの手動アニメーション制御は、会話が始まる前又は終了した後に行う必要がある。
いくつかの実施形態では、仮想アバターが第1の向き(例えば、アバター状態1412-17)(例えば、仮想アバターに対して位置付けられた固定仮想点に対して)(例えば、固定仮想点は、仮想アバターの中心位置に位置する枢動点である)を有して表示されている間に、電子デバイスは、仮想アバターの第1の位置(例えば、仮想アバターの額の領域上)(例えば、仮想アバター上の第1の位置は、固定仮想点との第1の関係を有する)に3次元効果(例えば、光効果1455)(例えば、球体などの3次元物体の形状を有する仮想アバターの印象を与えるグレアなどの光効果)を表示する。いくつかの実施形態では、電子デバイスは、1つ以上のカメラの視野内の顔の向きの変化(例えば、ユーザ状態1411-18又は1411-19)(例えば、顔の回転運動)を検出する。いくつかの実施形態では、顔の向きの変化の検出に応じて、電子デバイスは、顔の向きの検出された変化(例えば、アバター状態1412-18又は1412-19)に基づいて仮想アバターを変更する(例えば、顔の回転に基づいて仮想アバターを回転させる)。いくつかの実施形態では、仮想アバターは、球形(例えば、笑顔)であり、顔の向きの変化に基づいて仮想アバターを変更することは、仮想アバターの中心位置に位置する枢動点を中心にアバターの顔を回転させることを含む(首の領域などの仮想アバターの基部に位置する枢動点とは対照的に)。いくつかの実施形態では、顔の向きの検出された変化に基づいて仮想アバターを変更することは、顔の向きの検出された変化の大きさに基づいて決定されるそれぞれの量だけアバターの1つ以上の特徴(例えば、目1415、眉毛、及び/又は口1425などの顔の特徴)の向きを変更することを含む(例えば、アバターの頭は、顔の回転に基づいて回転される)(例えば、アバターの頭は、ユーザの顔の5、10、15、25、又は40度の回転に応じて、5、10、15、25、又は40度回転される(例えば、アバターは左を見ている)が、3次元効果の向きをそれぞれの量未満だけ変更する(例えば、3次元効果の回転を取り止める)。いくつかの実施形態では、3次元効果の向きをそれぞれの量未満だけ変更することは、第1の位置(例えば、アバターの頭の側面)における3次元効果を、固定仮想点との第1の関係を有する仮想アバター上に表示することを含む(例えば、第1の位置は、固定仮想点に対する第1の関係をもはや有さない)(例えば、アバターの顔が回転する間、3次元効果の位置は固定仮想点に対して固定されたままである(例えば、3次元効果はアバターの顔と共に回転しない))。3次元効果の向きをより少ない量で変化させながら1つ以上のアバター特徴の向きを表示することは、環境内で動的に変化する(例えば、依然として球体などの3次元形状を保持しながら回転及び回転する)3次元形状を有する仮想アバターの外観を与える。これは、電子デバイスのディスプレイ上で仮想アバターを動作及び/又は作成するための制御スキームを提供し、システムは、ユーザの顔の特徴の変更(及びそれらの変更の大きさ及び/又は方向)の形態で入力を検出し、処理し、反復フィードバックループを介して、仮想アバターの外観の形態で所望の出力を提供する一方で、ユーザインタフェースの手動操作(例えば、ディスプレイ上にタッチ入力を提供する)の必要性を排除する。これは、顔の動きを使用して仮想アバターを制御及び/又は構成するためにディスプレイを操作する方法に関する、改善された視覚フィードバックをユーザに提供する。このことによりデバイスの操作性が向上し、(例えば、デバイスを操作する/デバイスと対話するときにユーザが適切な入力を行うのを支援しユーザの誤りを削減することによって)ユーザ-デバイスインタフェースがより効率的になり、このことにより更に、ユーザがデバイスをより素早く且つ効率的に使用可能になることによって、デバイスの電力使用量が削減されバッテリ寿命が改善される。更に、この制御スキームは、異なるアニメーション制御スキームが使用された場合(例えば、アニメーションシーケンスの各フレームに対する個々の制御点の操作を必要とする制御スキーム)に必要とされるよりも、仮想アバターのアニメーションを作成又は制御するために、より少ない入力を必要とすることができる。更に、このタイプのアニメーション制御は、例えば、テキスト会話又はビデオ会話などの会話の間にリアルタイムで行うことができるが、アバターの手動アニメーション制御は、会話が始まる前又は終了した後に行う必要がある。
いくつかの実施形態では、1つ以上のアバター特徴は、1つ以上のカメラの視野内の顔のポーズの検出された変化に応じて変更される第6の外観(例えば、スナップ留めされていないポーズ)を有する第4のアバター特徴(例えば、第1のアバター特徴とは異なるアバター特徴)(例えば、アバターの目1415)を更に含む。いくつかの実施形態では、更に、1つ以上の顔の特徴の動きの検出に応じて、1つ以上の顔の特徴の検出された動きが第1のポーズ基準を満たさせるという判定に従って、電子デバイスは、1つ以上のカメラの視野内の顔のポーズの検出された変化に応じて変更される、第6の外観とは異なる第7の外観を有する第4のアバター特徴を表示するように仮想アバターを変更する(例えば、第1のアバター特徴(例えば、アバターの口1425)は、第2の外観(例えば、1425-1)にスナップ留めされ、アバターの目(例えば、1415)は、第7の外観(例えば、細めた目のポーズ1415-3)にスナップ留めされる)。いくつかの実施形態では、更に、1つ以上の顔の特徴の動きの検出に応じて、1つ以上の顔の特徴の検出された動きが第2のポーズ基準を満たさせるという判定に従って、電子デバイスは、1つ以上のカメラの視野内の顔のポーズの検出された変化に応じて変更される、第6の外観及び第7の外観とは異なる第8の外観を有する第4のアバター特徴を表示するように仮想アバターを変更する(例えば、第1のアバター特徴(例えば、アバターの口1425)は、第3の外観(例えば、1425-2)にスナップ留めされ、アバターの目は、第8の外観(例えば、驚いた目のポーズ1415-2)にスナップ留めされる)。いくつかの実施形態では、更に、1つ以上の顔の特徴の動きを検出したことに応じて、1つ以上の顔の特徴の検出された動きが、第6の外観を有する第4のアバター特徴の表示を維持するための基準を満たす(ユーザの顔の検出された変化は、第1のアバター特徴又は第4のアバター特徴を特定のポーズにスナップ留めすることをトリガしない)という判定に従って、電子デバイスは、1つ以上のカメラの視野内の顔のポーズの検出された変化に応じて、第4のアバター特徴の第6の外観を変更することによって、第4のアバター特徴を表示するように仮想アバターを変更する。第2のアバター特徴は、第1のアバター特徴から独立して異なるポーズにスナップ留めすることができる。これは、電子デバイスのディスプレイ上で仮想アバターを動作及び/又は作成するための制御スキームを提供し、システムは、ユーザの顔の特徴の変更(及びそれらの変更の大きさ及び/又は方向)の形態で入力を検出し、処理し、反復フィードバックループを介して、仮想アバターの外観の形態で所望の出力を提供する一方で、ユーザインタフェースの手動操作(例えば、ディスプレイ上にタッチ入力を提供する)の必要性を排除する。これは、顔の動きを使用して仮想アバターを制御及び/又は構成するためにディスプレイを操作する方法に関する、改善された視覚フィードバックをユーザに提供する。このことによりデバイスの操作性が向上し、(例えば、デバイスを操作する/デバイスと対話するときにユーザが適切な入力を行うのを支援しユーザの誤りを削減することによって)ユーザ-デバイスインタフェースがより効率的になり、このことにより更に、ユーザがデバイスをより素早く且つ効率的に使用可能になることによって、デバイスの電力使用量が削減されバッテリ寿命が改善される。更に、この制御スキームは、異なるアニメーション制御スキームが使用された場合(例えば、アニメーションシーケンスの各フレームに対する個々の制御点の操作を必要とする制御スキーム)に必要とされるよりも、仮想アバターのアニメーションを作成又は制御するために、より少ない入力を必要とすることができる。更に、このタイプのアニメーション制御は、例えば、テキスト会話又はビデオ会話などの会話の間にリアルタイムで行うことができるが、アバターの手動アニメーション制御は、会話が始まる前又は終了した後に行う必要がある。
いくつかの実施形態では、第1のアバター特徴(例えば、アバターの口1425)は、第1の状態(例えば、1425-2)(例えば、アバターの口が悲しいポーズにスナップ留めされている状態)及び第2の状態(例えば、1425-1)(例えば、アバターの口が大きな笑顔ポーズにスナップ留めされている状態)を含む。いくつかの実施形態では、アバター特徴の状態は、それぞれのアバター特徴の外観に対応する(例えば、第1のアバター特徴の第1、第2、及び第3の外観に対応する)。いくつかの実施形態では、1つ以上のアバター特徴は、1つ以上のカメラの視野内の顔のポーズの検出された変化に応じて変更された第5のアバター特徴(例えば、アバターの目1415)を更に含み、第5のアバター特徴は、第3の状態(例えば、アバターの目が驚いたポーズ(例えば、1415-2)にスナップ留めされた状態)及び第4の状態(例えば、アバターの目が細めたポーズ(例えば、1415-3)にスナップ留めされている状態)を含む。
いくつかの実施形態では、更に、1つ以上の顔の特徴の動きの検出に応答して、基準の第1のセットが満たされているという判定に従って、電子デバイスは、第1の状態(例えば、1425-2)(例えば、アバターの口は悲しいポーズにスナップ留めされている)を有する第1のアバター特徴を表示し、第3の状態(例えば、アバターの目は驚いたポーズ(例えば、1415-2)にスナップ留めされている)を有する第5のアバター特徴を表示する。いくつかの実施形態では、更に、1つ以上の顔の特徴の動きの検出に応答して、基準の第2のセットが満たされているという判定に従って、電子デバイスは、第2の状態(例えば、1425-1)(例えば、アバターの口は大きな笑顔のポーズにスナップ留めされている)を有する第1のアバター特徴を表示し、第3の状態(例えば、アバターの目は驚いたポーズ(例えば、1415-2)にスナップ留めされている)を有する第5のアバター特徴を表示する。いくつかの実施形態では、更に、1つ以上の顔の特徴の動きの検出に応答して、基準の第3のセットが満たされているという判定に従って、電子デバイスは、第1の状態(例えば、1425-2)(例えば、アバターの口は悲しいポーズにスナップ留めされている)を有する第1のアバター特徴を表示し、第4の状態(例えば、アバターの目は細めたポーズ(例えば、1415-3)にスナップ留めされている)を有する第5のアバター特徴を表示する。いくつかの実施形態では、更に、1つ以上の顔の特徴の動きの検出に応答して、基準の第4のセットが満たされているという判定に従って、電子デバイスは、第2の状態(例えば、1425-1)(例えば、アバターの口は大きな笑顔のポーズにスナップ留めされている)を有する第1のアバター特徴を表示し、第4の状態(例えば、アバターの目は細めたポーズ(例えば、1415-3)にスナップ留めされている)を有する第5のアバター特徴を表示する。顔の特徴(例えば、スナップ留めされていない外観)の動きの大きさ及び方向に従って、異なるアバター特徴をスナップ留め又は変更して、互いに独立して異なるポーズを達成することができる。これは、電子デバイスのディスプレイ上で仮想アバターを動作及び/又は作成するための制御スキームを提供し、システムは、ユーザの顔の特徴の変更(及びそれらの変更の大きさ及び/又は方向)の形態で入力を検出し、処理し、反復フィードバックループを介して、仮想アバターの外観の形態で所望の出力を提供する一方で、ユーザインタフェースの手動操作(例えば、ディスプレイ上にタッチ入力を提供する)の必要性を排除する。これは、顔の動きを使用して仮想アバターを制御及び/又は構成するためにディスプレイを操作する方法に関する、改善された視覚フィードバックをユーザに提供する。このことによりデバイスの操作性が向上し、(例えば、デバイスを操作する/デバイスと対話するときにユーザが適切な入力を行うのを支援しユーザの誤りを削減することによって)ユーザ-デバイスインタフェースがより効率的になり、このことにより更に、ユーザがデバイスをより素早く且つ効率的に使用可能になることによって、デバイスの電力使用量が削減されバッテリ寿命が改善される。更に、この制御スキームは、異なるアニメーション制御スキームが使用された場合(例えば、アニメーションシーケンスの各フレームに対する個々の制御点の操作を必要とする制御スキーム)に必要とされるよりも、仮想アバターのアニメーションを作成又は制御するために、より少ない入力を必要とすることができる。更に、このタイプのアニメーション制御は、例えば、テキスト会話又はビデオ会話などの会話の間にリアルタイムで行うことができるが、アバターの手動アニメーション制御は、会話が始まる前又は終了した後に行う必要がある。
いくつかの実施形態では、第1のアバター特徴は1つ以上のアバターの目(例えば、1415)である。いくつかの実施形態では、第1の状態は、1つ以上のアバターの目が丸い目の外観(例えば、1415-2)(例えば、目が大きく開いている、驚いたポーズ)を有する状態である。いくつかの実施形態では、第2の状態は、1つ以上のアバターの目が細めた外観(例えば、1415-3)(例えば、笑う時などに目が細められる、細めたポーズ)を有する状態である。
いくつかの実施形態では、第1のアバター特徴はアバターの口(例えば、1425)である。いくつかの実施形態では、第1の状態は、アバターの口が第1の表情(例えば、1425-1)(例えば、不機嫌、無関心(例えば、「別に」)、笑顔、大きい笑顔、歯を見せる大きい笑顔)を有する状態である。いくつかの実施形態では、第2の状態は、アバターの口が第1の表情(例えば、1425-2)とは異なる第2の表情を有する状態である(例えば、アバターの口は第1の状態では不機嫌で、第2の状態では笑っている)(例えば、アバターの口は、第1の状態では「別に」ポーズ(アバターの顔が無関心の表情であるときのアバターの口のポーズ)であり、第2の状態では不機嫌である)(例えば、アバターの口は、第1の状態では歯を見せる大きい笑顔のポーズであり、第2の状態では大きい笑顔のポーズ)である。いくつかの実施形態では、口は、ユーザが口を動かすと、異なるポーズ間で変わる(例えば、異なる状態に移行する)。例えば、ユーザが不機嫌から大きな笑顔に自分の口を動かすと、アバターの口は異なる口のポーズ間で変わる。例えば、アバターの口は不機嫌ポーズで開始し、その後、平凡なポーズに移行し、笑顔ポーズに移行し、大きい笑顔ポーズになり、最終的に歯を見せる大きい笑顔ポーズに移行する。いくつかの実施形態では、アバターの口は、異なる口のポーズ間で変わるときにユーザの口をミラーリングし、次いで、ユーザの口がアバターを口のポーズにスナップ留めする口位置の範囲に移動するときに、口のポーズにスナップ留めする。
いくつかの実施形態では、第1のアバター特徴は、アバター眉毛のセット(例えば、1435)である。いくつかの実施形態では、第1の状態は、アバター眉毛のセットが表示された状態(例えば、アバター状態1412-8)である。いくつかの実施形態では、第2の状態は、アバター眉毛のセットが表示されていない状態(例えば、アバター状態1412-6)である。
方法1500に関して上述したプロセス(例えば、図15)の詳細はまた、上述した方法にも類似の方式で適用可能であることに留意されたい。例えば、方法700、800、1000、1200、1300、1700及び1800は、方法1500を参照して上述した様々な方法の特性のうちの1つ以上を任意選択的に含む。例えば、アバターは、上述したものと同様の方法でユーザインタフェースに表示及び使用することができる。簡潔にするために、これらの詳細は、以下で繰り返さない。
図16A~16Xは、いくつかの実施形態に係る、連絡先情報を共有するための例示的デバイス及びユーザインタフェースを示す。これらの図におけるユーザインタフェースは、図17及び図18におけるプロセスを含む、後述するプロセスを説明するために使用される。
図16A~図16Xは、それぞれがそれぞれのユーザに属する3つの異なるデバイスを示す。電子デバイス600は、415-555-1234で通信を受信するように構成された、ジョニー・アップルシードの電話600である。電子デバイス1602は、通信を受信するように構成されたジャック・スミスの電話1602である。電子デバイス1604は、415-555-5555で通信を受信するように構成された、ジェーン・スミスの電話1604である。
図16Aでは、ジョニーの電話600は、アドレス帳アプリケーションの一部として、ジョニーのアドレス帳1610を表示している。アドレス帳1610は、ジャックの名前(「ジャック・スミス」)及び電話番号を含むジャックの連絡先エントリ1610aを含む。しかしながら、ジョニーの電話600の図16Aに示されるように、ジョニーのアドレス帳1610は、ジェーンの連絡先情報(例えば、名前、電話番号、電子メール)を含まない。
図16Aでは、ジャックの電話1602は、ジョニーの連絡先エントリの詳細1612を表示している。連絡先エントリの詳細1612は、ジョニーの表現1632c、ジョニーの名前1612b(「ジョナサン・アップルシード」)、及びジョニーの電話番号1612cを含む。表現1632cは、(例えば、図9A~9AGに関連して説明される技術を使用してジョニーを表すようにジャックが選択した)モノグラム表現である。
図16Aでは、ジェーンの電話1604は、アドレス帳アプリケーションの一部として、ジェーンのアドレス帳1614を表示している。アドレス帳1614は、ジャックの名前(「ジャック・スミス」)及び電話番号を含むジャックの連絡先エントリ1614aを含む。しかしながら、ジェーンの電話1604の図16Aに示されるように、ジェーンのアドレス帳1614は、ジョニーの連絡先情報(例えば、名前、電話番号)を含まない。
図16B~16Dでは、ジョニーは、設定プロセス中に(自身の連絡先情報の)名前及び写真共有を構成するために、電話600を使用する。図16Bでは、ジョニーの電話600は、名前及び写真を選択するためのジョニーのオプション1616bと、後で名前及び写真共有を設定するオプション1616cとを含むセットアップユーザインタフェース1616aを表示する。デバイスは、名前及び写真を選択するためのオプション1616b上のタップ1660aを検出する。結果として、ジョニーの電話600は、図16Cの選択写真及び名前ユーザインタフェース1616dを表示する。
図16Cでは、ジョニーの電話600は、例えば、図11A~11ADに関連して上述した技術及びユーザインタフェースを使用することなどによって、ジョニーを表すアバター1616eを作成するために、ジョニーからのユーザ入力を(例えば、電話機600の仮想キーボードを介して)受信した。図16Cでは、ジョニーはまた、自分の下の名前1616fが「ジョナサン」(例えば、ジョニー、ジョン(John)、ジョン(Jon)などではなく)になるように名前を更新した。いくつかの実施形態では、デバイスは、その中からユーザが選択すべき名前のいくつかのオプション(例えば、「J.アップルシード」、「ジョナサン.A」)をユーザに提供する。ジョニーは、苗字1616gを変更しておらず、「アップルシード」のままである。図16Cでは、ジョニーの電話600は、ジョニーの新しい連絡先情報が共有すべきユーザを選択するためのアフォーダンス1616h上のタップ1660bを検出する。
図16Dでは、ジョニーの電話600は、複数の共有オプション1616j~1616lを含む共有ユーザインタフェース1616iを表示する。連絡先のみオプション1616jは、ジョニーの電話600が、ジョニーのアドレス帳1610に連絡先エントリを有する個人(例えば、ジェーンではなくジャック)と、ジョニーの更新された連絡先情報を自動的に共有することを可能にするオプションである。全てのオプション1616kは、ジョニーのアドレス帳1610にエントリを有するかどうかにかかわらず、ジョニーの電話600が全ての個人(例えば、ジャック及びジェーン)とジョニーの更新された連絡先情報を共有することを可能にするオプションである。常に尋ねるオプション1616lは、ジョニーのアドレス帳1610にエントリを有するかどうかにかかわらず、ジョニーの電話600が各個人(例えば、ジャック及びジェーン)とジョニーの更新された連絡先情報を共有すべきかどうかを確認できるようにするオプションである。
図16Dでは、チェックマーク1616mによって示されるように、ジョニーの電話600は、連絡先のみオプション1616j上でタップを受信した。図16Dでは、ジョニーの電話600は、終了アフォーダンス1616n上のタップ1660cを検出して、連絡先のみオプション1616jを選択し、名前及び写真共有の設定プロセスを終了する。タップ1660cを検出した後、ジョニーの電話600は、ジョニーの連絡先情報(例えば、アバター1616e、名前1616f~1616g)を、ジョニーが通信する個人と共有するように構成される。
図16Eでは、ジョニーの電話600は、ジョニーの電話600上のアプリケーションのいくつかのためのアプリケーションアイコンを含むホーム画面1618を表示する。ジョニーの電話600は、メッセージアイコン1618a上のタップ1660dを検出する。メッセージアイコン1618a上のタップ1660dを検出したことに応じて、ジョニーの電話600は、会話リストユーザインタフェース1620aの一部としてメッセージング会話のリストを図16Fに表示する。会話リストユーザインタフェース1620aは、設定アフォーダンス1620b、(新しいメッセージング会話を開始するための)新しいメッセージアフォーダンス1620c、並びにジャックとジョニーとの間のインスタントメッセージ会話を含むメッセージングスレッドの表現1620dを含む、メッセージングスレッドの複数の表現を含む。図16Fでは、ジョニーの電話600は、ジャックとジョニーとの間のメッセージングスレッドの表現1620d上のタップ1660eを検出する。
図16Gでは、表現1620d上のタップ1660eを検出したことに応じて、ジョニーの電話600は、会話ユーザインタフェース1622を表示する。会話ユーザインタフェース1622は、ジャックの名前1622b(例えば、ジョニーによって入力され、ジョニーのアドレス帳に記憶されている)及びジャックの表現1622c(例えば、ジョニーによって選択された画像)を含む。図16Gに示されるように、ジョニーは(例えば、自分の名前及び自分の写真共有を設定した後に)、ジャックにメッセージ1622aをちょうど送信した。ジョニーが最近、自分の連絡先情報(名前及び写真)を更新し、ジャックがジョニーのアドレス帳にエントリを有するため(連絡先情報を「連絡先のみ」で共有するようにジョニーが選択したため)、ジョニーの電話600は、ジャックの電話1602にジョニーの更新された連絡先情報を送信する。いくつかの実施形態では、更新された連絡先情報は、メッセージ1622aと共に送信される。いくつかの実施形態では、更新された連絡先情報は、メッセージ1622aを送信してから所定の時間後に送信される。対照的に、ジョニーはジェーンにメッセージを送信していないため(またジェーンがジョニーのアドレス帳にはないため)、ジョニーの電話600は、ジェーンの電話1604にジョニーの更新された連絡先情報を送信しない。この例では、ジョニーが自分の名前及び自分の写真の両方を更新しているため、ジョニーの電話600は、新しい名前及び新しい写真の両方をジャックの電話1604に送信する。
図16Gでは、ジャックの電話1602は、会話ユーザインタフェース1632を(例えば、メッセージング会話を表示するというジャックからの要求に応じて)表示する。会話ユーザインタフェース1632は、ジョニーの名前1632b(例えば、ジャックによって入力された)及びジョニーの表現1632c(例えば、ジャックによって選択されモノグラム「JA」)を含み、両方ともジョニーについてのジャックのアドレス帳エントリ1612から取得される。図16Gに示されるように、ジャックの電話1602は、ジョニーのメッセージ1632a及び更新された連絡先情報を受信している。ジャックの電話1602は、通知1634と同時にメッセージ1632a(メッセージ1622aに対応する)を表示する。通知1634は、ジョニーの新しい写真1634a(アバター)及びジョニーの新しい名前1634b(「ジョニー・アップルシード」)を含む。ジャックの電話1602はこの情報を受信しているが、ジャックのアドレス帳は、この情報を含むように自動的に更新されていない。
図16Hでは、ジャックの電話1602は、ジャックのアドレス帳をジョニーの更新された連絡先情報で更新するためのプロセスを開始する受諾アフォーダンス1634d上のタップ1670aを検出する。対照的に、破棄アフォーダンス1634cは、アクティブ化されると、ジャックのアドレス帳をジョニーの更新された連絡先情報で更新することなく通知1634を破棄する。
図16Iでは、受諾アフォーダンス1634dのタップ1670aを検出したことに応じて、ジャックの電話1602は、メニュー1636を表示する。メニュー1636は、ジョニーから受信した更新された写真及び名前の両方を使用してジョニーについてのジャックのアドレス帳エントリ1612を更新するための第1のオプション1636aと、ジョニーから受信した名前ではなく、更新された写真のみを使用してジャックのアドレス帳エントリ1612を更新するための第2のオプション1636bと、ジョニーから受信した写真ではなく更新された名前のみを使用してジャックのアドレス帳エントリ1612を更新するための第3のオプション1636cと、名前又は写真を使用してジョニーについてのジャックのアドレス帳エントリ1612を更新しない第4のオプション1636dとを含む。図16Iでは、ジャックの電話1602は、写真及びジョニーから受信した名前の両方を使用してジョニーについてのジャックのアドレス帳エントリ1612を更新するための第1のオプション1636a上のタップ1670bを検出する。
図16Jでは、写真及び名前の両方を使用してジョニーについてのジャックのアドレス帳エントリ1612を更新するための第1のオプション1636a上のタップ1670bを検出したことに応じて、ジャックの電話1602は、写真及びジョニーから受信した名前の両方を使用してジョニーについてのジャックのアドレス帳エントリ1612を更新する。この更新は、ジョニーについての表現1632cが、ジョニーから受信した更新された写真を反映し、名前1632b(「ジョニー・アップルシード」)がジョニーから受信した更新された名前を反映すると、図16Jに反映される。
図16Jでは、第1のオプション1636a上のタップ1670bを検出したことに応じて、ジャックの電話1602は、自動更新メニュー1638を表示する。自動更新メニュー1638は、ジョニーから受信する将来の写真更新を承認するようにジャックを促すようにジャックの電話1602を構成する第1の更新オプション1638aを含み(例えば、ジョニーから受信する将来の写真を使用して、ジョニーについてのジャックのアドレス帳エントリ1612を自動的に更新しない)、及びジョニーから受信する将来の写真を使用してジョニーについてのジャックのアドレス帳エントリ1612を自動的に更新するようにデバイス1602を構成する第2の更新オプション1638bを含む。いくつかの実施形態では、ジャックの電話1602はまた、ジョニーについてのジャックのアドレス帳エントリ1612を、ジョニーから受信する将来の名前を使用して自動的に更新するようにデバイス1602を構成する対応するオプションを提供する。図16Jでは、ジャックの電話1602は、第2の更新オプション1638b上のタップ1670cを検出し、それに応じて、ジョニーについてのジャックのアドレス帳エントリ1612を、ジョニーから受信する将来の写真(例えば、メッセージを受信したことに伴って、連絡先情報の一部として受信した)を使用して自動的に更新するようにデバイス1602を構成する。
図16Kに示されるように、ジャックの電話1602は、ジョニーから受信した更新された連絡先情報を使用して、ジャックのアドレス帳を更新している。したがって、ジャックの電話は、更新された名前「ジョニー・アップルシード」1632b(例えば、ジョニーから受信したもの)及びジョニーの更新された表現1632c(例えば、ジョニーから受信したアバター)を含む会話ユーザインタフェース1632を表示する。
図16Lでは、ジョニーは、ジャックに第2のメッセージ1622bを送信している。しかしながら、ジョニーの電話600が更新された連絡先情報をジャックに最後に送信してから、ジョニーの電話600は、ジョニーの連絡先情報に対する更新を受信していない(例えば、ジョニーは写真又は名前を変更していない)ので、ジョニーの電話600は、ジョニーの連絡先情報に対する更新を送信せずに、第2のメッセージ1622bをジャックに送信する。したがって、いくつかの実施形態では、連絡先情報に対する更新は、その受信者への連絡先情報の最後の送信以来、連絡先情報が更新されたときに(及び、それらの受信者への連絡先情報の最後の送信以来、連絡先情報が更新されなかったときではなく)、メッセージと共にメッセージの受信者に送信される。したがって、図16Lでは、ジャックの電話1602は、(例えば、図16Gとは対照的に)更新された連絡先情報の通知を表示することなく、第2のメッセージ1632bを表示する。
図16Mでは、ジョニーの電話600は、ユーザ入力を(例えば、表示されたキーボードを介して)受信し、それに応じて、グループメッセージ会話1640を介して、ジャック及びジェーンの両方にメッセージ1640aを送信する。ジャックは、ジャックがジョニーのアドレス帳にあるため、ジョニーの連絡先情報の承認された受信者である。しかしながら、以前と同様に、ジョニーの電話600が更新された連絡先情報を最後にジャックに送信してから、ジョニーは連絡先情報を更新していないので、ジョニーの電話600は、ジャックの電話1602に更新された連絡先情報を送信しない。対照的に、ジョニーの連絡先のみオプション1616jの選択を考慮すると、ジョニーのアドレス帳にはジェーンのエントリがないため、ジェーンは、ジョニーの連絡先情報の承認された受信者ではない。したがって、ジョニーは自身の連絡先情報を更新しているが、ジョニーの電話600は、更新された連絡先情報をジェーンの電話1604に送信しない。
図16Mに示されるように、ジョニーの電話600は、グループメッセージ会話1640についての名前及び番号1644a、並びにジャック及びジェーンを表す写真1644bによって示されるように、ジャック及び415-555-1234(ジェーンの電話番号である)にメッセージ1640aが送信されたことを表示する。更に、ジョニーについての更新された連絡先情報がジェーンに送信されることが可能であり、ジェーンが、ジョニーの連絡先情報の承認された受信者ではないという判定に従って、ジョニーの電話600は、ジェーンにジョニーの更新された連絡先情報を送信するための通知1642を表示する。通知1642は、連絡先情報の提案された受信者のインジケーション1642c(「415-555-5555」)と、共有することが提案された連絡先情報1642a~1642b(ジョニーの写真及び名前)を含む。破棄アフォーダンス1642dは、アクティブ化されると、ジェーンにジョニーの更新された連絡先情報を送信せずに通知1642を破棄する。共有アフォーダンス1642eは、アクティブ化されると、ジェーンにジョニーの更新された連絡先情報を送信する。
図16Mでは、ジャックの電話1602は、(グループメッセージ会話1650の一部として)ジョニーから受信したメッセージ1650aを表示するが、(更新された連絡先情報が受信されていないため)更新された連絡先情報についての通知を表示しない。グループメッセージ会話1650は、他の会話参加者の名前インジケーション1654a及び写真1654bを含む。
図16Mでは、ジェーンの電話1604は、ジョニーから受信したメッセージ1680aを(グループメッセージ会話1680の一部として)表示する。グループメッセージ会話1680はまた、他の会話参加者の名前/番号インジケーション1684a及び写真1684bを含む。ジェーンがジョニーからメッセージを受信しており、ジェーンがジョニーと共有するために連絡先情報を更新しているため、ジェーンの電話1604は、ジェーンの更新された連絡先情報をジョニーに送信するための通知1682を表示する。通知1682は、連絡先情報の提案された受信者のインジケーション1682c(「415-555-1234」)と、共有することが提案された連絡先情報1682a~1682b(ジェーンの写真及び名前)を含む。破棄アフォーダンス1682dは、アクティブ化されると、ジョニーにジェーンの更新された連絡先情報を送信せずに通知1682を破棄する。共有アフォーダンス1682eは、アクティブ化されると、ジョニーにジェーンの更新された連絡先情報を送信する。
図16Nでは、ジョニーの電話600は、共有アフォーダンス1642e上のタップ1660fを検出する。共有アフォーダンス1642e上でタップ1660fを検出したことに応じて、ジョニーの電話600は、ジェーンにジョニーの連絡先情報を送信する。図16Nに示されるように、ジョニーの連絡先情報を受信したことに応じて、ジェーンの電話1604は、通知1682及びメッセージ1680a(メッセージ1640aに対応する)と同時に第2の通知1686を表示する。
通知1686は、ジョニーから受信した、ジョニーの新しい写真1686a(図16Cの1616eに対応するアバター)及びジョニーの名前1686b(図16Cの1616f~1616gに対応する)を含む。ジェーンの電話1604はこの新しい連絡先情報を受信しているが、ジェーンのアドレス帳は、この情報を含むように自動的に更新されていない。
図16Oでは、ジョニーの連絡先情報がジェーンに送信されているため、ジョニーの電話600は、通知1642の表示を停止する。図16Oでは、ジェーンの電話1604は、ジョニーの連絡先情報を含むようにジェーンのアドレス帳を更新するためのプロセスを開始する受諾アフォーダンス1686d上のタップ1690aを検出する。対照的に、破棄アフォーダンス1686cは、アクティブ化されると、ジョニーの連絡先情報を含むようにジェーンのアドレス帳を更新するためのプロセスを開始することなく通知1686を破棄する。
図16Pでは、受諾アフォーダンス1686dのタップ1690aを検出したことに応じて、ジェーンの電話1604は、メニュー1624を表示する。メニュー1624は、(例えば、ジョニーから受信した写真及び/又は名前を使用して)ジョニーの新しいエントリを追加するようにジェーンのアドレス帳を更新するための第1のオプション1624aと、ジョニーから受信した写真及び/又は名前を使用して(アドレス帳に新しいエントリを追加することなく)ジェーンのアドレス帳内の既存のエントリを更新するための第2のオプション1624bとを含む。図16Pでは、ジェーンの電話1604は、ジョニーから受信した連絡先情報を使用してジョニーについての新しいエントリを追加するようにジェーンのアドレス帳を更新するための第1のオプション1624a上のタップ1690bを検出する。
図16Qでは、第1のオプション1624a上のタップ1690bを検出したことに応じて、ジェーンの電話1604は、自動更新メニュー1626を表示する。自動更新メニュー1626は、ジョニーから受信する将来の写真更新を承認するようにジェーンを促すようにジェーンの電話1604を構成する第1の更新オプション1626aを含み(例えば、ジョニーから受信する将来の写真を使用して、ジョニーについてのジェーンのアドレス帳エントリを自動的に更新しない)、及びジョニーから受信する将来の写真を使用してジョニーについてのジェーンのアドレス帳エントリを自動的に更新するようにデバイス1604を構成する第2の更新オプション1626bを含む。いくつかの実施形態では、ジェーンの電話1604はまた、ジョニーについてのジェーンのアドレス帳エントリを、ジョニーから受信する将来の名前を使用して自動的に更新するようにジェーンの電話1604を構成する対応するオプションを提供する。図16Qでは、インジケーション1684aにジョニーの名前(「ジョニー」)及び写真1684bの一部としてジョニーの写真を含むようにグループメッセージ会話1680が更新されていることから分かるように、ジェーンの電話1604は、ジョニーから受信した写真及び名前を使用することにより、ジェーンのアドレス帳にジョニーについての新しいエントリを追加している。
いくつかの実施形態では、ジェーンの電話1604はまた、ジョニーから受信した写真及び名前の両方を使用して、ジョニーについてのジェーンのアドレス帳エントリを更新するための第1のオプションを(例えば、自動更新メニュー1626を表示する前に)提供し、ジョニーから受信した名前ではなく写真のみを使用して、ジョニーについてのジェーンのアドレス帳エントリを更新するための第2のオプションと、ジョニーから受信した写真ではなく名前のみを使用してジョニーについてのジェーンのアドレス帳エントリを更新するための第3のオプションとを提供する。
図16Qでは、ジェーンの電話1604は、第1の更新オプション1626a上でのタップ1690cを検出し、それに応じて、更新された写真でジョニーについてのジェーンのアドレス帳エントリを更新する前に、ジョニーから受信する将来の写真更新を承認するようジェーンを促すようにデバイス1604を構成する(例えば、ジョニーから受信する将来の写真を使用して、ジョニーについてのジェーンのアドレス帳エントリを自動的に更新しない)。図16Rでは、ジェーンの電話1604は、通知1686の表示を停止するが、ジェーンの電話1604が破棄アフォーダンス1682d(アクティブ化されると、ジェーンの連絡先情報をジョニーに送信することなく通知1682を却下する)、又は共有アフォーダンス1682e(アクティブ化されると、ジェーンの連絡先情報をジョニーに送信する)上のタップを受信していないため、ジェーンの電話1604は、通知1682を表示し続ける。
図16Rでは、ジョニー及びジャックの両方が、自分の名前及び/又は写真を変更するプロセスを開始する。ジョニーの電話600は、図16Rでは、会話リストユーザインタフェース1620aの一部として、設定アフォーダンス1620bを含むメッセージング会話のリストを表示する。ジョニーの電話600は、設定アフォーダンス1620b上のタップ1660gを検出する。同様に、ジャックの電話1602は、図16Rでは、会話リストユーザインタフェース1620eの一部として、設定アフォーダンス1620fを含むメッセージング会話のリストを表示する。ジャックの電話1602は、設定アフォーダンス1620f上のタップ1670dを検出する。
図16Sでは、設定アフォーダンス1620b上のタップ1660gに応じて、ジョニーの電話600は、会話リストユーザインタフェース1620aをぼかし、ジョニーの名前及び/又は写真を変更するためのオプション1620gを有するメニューを表示する。同様に、図16Sでは、設定アフォーダンス1620f上のタップ1670dに応じて、ジャックの電話1602は、会話リストユーザインタフェース1620eをぼかし、ジャックの名前及び/又は写真を変更するためのオプション1620hを有するメニューを表示する。
図16Sでは、ジョニーの電話600は、ジョニーの名前及び/又は写真を変更するためのオプション1620g上のタップ1660hを検出し、ジャックの電話1602は、ジャックの名前及び/又は写真を変更するためのオプション1620h上のタップ1670eを検出する。
図16Tでは、ジョニーの電話600は、名前/写真変更ユーザインタフェースを表示し、(1)ジョニーの名前を「ジョニー・アップルシード」から「ジョン・アップルシード」1616qに変更する、(2)(例えば、図9Fの928に対応する、図9E~9AGに関して上述した技術を使用して)ジョニーの写真をサルの写真928に変更する、及び(3)(連絡先のみオプション1616jと比較して)全員オプション1616kを選択する、ための入力のセットを検出する。全員オプション1616kは、ジョニーのアドレス帳1610にエントリを有するかどうかにかかわらず、ジョニーの電話600が全ての個人(例えば、ジャック及びジェーン)とジョニーの更新された連絡先情報(例えば、名前、写真)を共有することを可能にするオプションである。図16Tでは、ジョニーの電話600は、終了アフォーダンス1616o上のタップ1660iを検出する。
図16Tでは、ジャックの電話1602は同様に、(1)(例えば、図9E~9AGに関連して上述した技術を使用して)ジャックの写真を新しい写真1616tに変更する、及び(2)全員オプション1616rを選択する、ための入力のセットを検出する。ジャックは、名前1616uを変更しない。全員オプション1616rは、ジャックのアドレス帳にエントリを有するかどうかにかかわらず、ジャックの電話1602が全ての個人とジャックの更新された連絡先情報(例えば、名前、写真)を共有することを可能にするオプションである。図16Tでは、ジャックの電話1602は、終了アフォーダンス1616s上のタップ1670fを検出する。
図16T~16Uに示されるように、ジョニーの電話600は、更新された連絡先情報をジェーン又はジャックに送信せず(ジョニーが自分の連絡先情報を更新した後、ジェーン又はジャックにメッセージを送信していないため)、ジャックの電話1602は、更新された連絡先情報をジェーン又はジョニーに送信しない(ジャックが自分の連絡先情報を更新した後、ジェーン又はジョニーにメッセージを送信していないため)。
図16Uでは、ジェーンの電話1604は、破棄アフォーダンス1682d上のタップ1690dを検出し、それに応じて、ジェーンの電話1604は、図16Vに示されるように、通知1682を破棄する(例えば、表示を停止する)。
図16Vでは、ジョニーの電話600は、ユーザ入力を(例えば、表示されたキーボードを介して)受信し、それに応じて、グループメッセージ会話1640を介して、ジャック及びジェーンの両方にメッセージ1640bを送信する。ジョニーのアドレス帳内にあるかどうかにかかわらず、ジョニーが自分の連絡先情報を全員と共有するように選択しているため、ジャックは、ジョニーの連絡先情報の承認された受信者である(この例では、ジャックはジョニーのアドレス帳にある)。ジョニーのアドレス帳内にあるかどうかにかかわらず、ジョニーが自分の連絡先情報を全員と共有するように選択しているため、ジェーンもまた、ジョニーの連絡先情報の承認された受信者である(この例では、ジェーンはジョニーのアドレス帳にない)。ジョニーの電話600がジャック及びジェーンに連絡先情報を最後に送信してから、ジョニーは連絡先情報を更新しているので、ジョニーの電話600は、ジャックの電話1602及びジェーンの電話1604にジョニーの更新された連絡先情報を送信する。ジョニーの電話600は、メッセージ1640bの送信と共に、ジャックの電話1602及びジェーンの電話1604にジョニーの更新された連絡先情報を送信する。
図16Vに示されるように、ジョニーの電話600は、グループメッセージ会話1640についての名前及び番号1644a、並びにジャック及びジェーンを表す写真1644bによって示されるように、ジャック及び415-555-1234(ジェーンの電話番号である)にメッセージ1640bが送信されたことを表示する。
図16Vでは、ジャックの電話1602は、(メッセージ会話1650の一部として)ジョニーから受信したメッセージ1650b(メッセージ1640bに対応する)を表示し、同時に、ジョニーの更新された連絡先情報の一部として、ジョニーの更新された名前の通知1646を表示する。ジャックの電話1602は、ジョニーの更新された写真(サル写真)及び更新された名前(「ジョン・アップルシード」)の両方を受信している。ジャックの電話1602は、ジョニーから受信した写真を使用して(例えば、図16Jのタップ1670cに基づいて)ジョニーについてのジャックのアドレス帳エントリ1612を自動的に更新するように構成されているため、ジョニーについてのジャックのアドレス帳エントリ1612は、図16Vのサル写真1654bによって反映されるように、ジョニーの新しい写真を使用して、(例えば、更新された写真を受信した後に、ジャックの電話1602での追加のユーザ入力を必要とせずに)自動的に更新されている。ジャックの電話1602は、ジョニーから受信した更新された名前を使用してジョニーについてのジャックのアドレス帳エントリ1612を自動的に更新するように構成されていないため、ジョニーについてのジャックのアドレス帳エントリ1612は、名前インジケーション1654a(依然として「ジョニー」を含む)から分かるように、ジョニーの新しい名前(「ジョン・アップルシード」)を反映するように自動的に更新されていない。ジャックのアドレス帳内のジョニーの名前を自動的に更新する代わりに、図16Vでは、ジャックの電話1602は、通知1646を表示する。通知1646は、ジョニーの新しい写真1646a及びジョニーの新しい名前(「ジョン・アップルシード」)1646bを含む。
図16Vでは、ジェーンの電話1604は、(メッセージ会話1680の一部として)ジョニーから受信したメッセージ1680b(メッセージ1640bに対応する)を表示し、同時に、ジョニーの更新された連絡先情報(名前及び写真)の通知1688を表示する。ジェーンの電話1604は、ジョニーの更新された写真(サル写真)及び更新された名前(「ジョン・アップルシード」)の両方を受信している。ジェーンの電話1604は、(例えば、図16Qのタップ1690cに基づいて)ジョニーから受信した名前又は写真を使用して、ジョニーについてのジェーンのアドレス帳エントリを自動的に更新するように構成されていないため、図16Vのジョニーの古い写真1684b(通知1688内のジョニーの新しい写真1688aと比較して)、及び名前インジケーション1684a内のジョニーの古い名前(「ジョニー」)(通知1688内のジョニーの新しい名前1688b(「ジョン・アップルシード」)と比較して)によって反映されるように、ジョニーについてのジェーンのアドレス帳エントリは、ジョニーの新しい名前又は写真を使用して自動的に更新されていない。ジェーンのアドレス帳内のジョニーの名前及び写真を自動的に更新する代わりに、図16Vでは、ジェーンの電話1604は、通知1688を表示する。通知1688は、ジョニーの新しい写真1688a及びジョニーの新しい名前(「ジョン・アップルシード」)1688bを含む。
図16Wでは、ジャックの電話1602は、ユーザ入力を(例えば、表示されたキーボードを介して)受信し、それに応じて、グループメッセージ会話1650を介して、ジョニー及びジェーンの両方にメッセージ1650cを送信する。ジャックのアドレス帳内にあるかどうかにかかわらず、ジャックが自分の連絡先情報を全員と共有するように選択しているため、ジョニーは、ジャックの連絡先情報の承認された受信者である(この例では、ジョニーはジャックのアドレス帳にある)。ジャックのアドレス帳内にあるかどうかにかかわらず、ジャックが自分の連絡先情報を全員と共有するように選択しているため、ジェーンもまた、ジャックの連絡先情報の承認された受信者である(この例では、ジェーンはジャックのアドレス帳にある)。ジャックの電話1602が連絡先情報をジョニー及びジェーンに最後に送信して以来、ジャックがメッセージを送信し写真を更新しているため(名前は更新していない)、ジャックの電話1602は、ジャックの更新された写真を、ジャックの更新された連絡先情報の一部としてジョニーの電話600及びジェーンの電話1604に送信する。ジャックの電話1602は、メッセージ1650cの送信と共に、ジョニーの電話600及びジェーンの電話1604にジャックの更新された連絡先情報(新しい写真)を送信する。
図16Wでは、ジョニーの電話600は、(メッセージ会話1640の一部として)ジャックから受信したメッセージ1640c(メッセージ1650cに対応する)を表示し、同時に、ジャックの連絡先情報の一部として、ジャックの更新された写真の通知1652を表示する。ジョニーの電話600は、ジャックの更新された写真(写真1652a)を受信しているが、ジャックが最後に連絡先情報をジョニーに送信してからジャックは名前を更新していないため、ジョニーの電話600は、ジャックの更新された名前を受信していない。ジョニーの電話600は、ジャックから受信した更新された写真を使用してジャックについてのジョニーのアドレス帳エントリを自動的に更新するように構成されていないため、ジャックについてのジョニーのアドレス帳エントリは、(帽子ありのジャックの新しい写真1652aと比較として)図16Wではジャックの古い写真1644b(帽子なし)によって反映されるように、ジャックの新しい写真を使用して自動的に更新されていない。ジョニーのアドレス帳のジャックの写真を自動的に更新する代わりに、図16Wでは、ジョニーの電話600は、通知1652を表示する。通知1652は、ジャックの新しい写真1652aを含み、名前1652bによってジャックを識別する。
図16Wでは、ジャックの電話1602は、受諾アフォーダンス1646c上のタップ1670gを検出し、それに応じて、図16Xのグループメッセージ会話1650の名前インジケーション1654aに反映されるように、ジョニーの更新された名前(「ジョン・アップルシード」)を含むようにジョニーについてのジャックのアドレス帳エントリを更新する。
図16Wでは、ジェーンの電話1604は、(グループメッセージ会話1640の一部として)ジャックから受信したメッセージ1680c(メッセージ1650cに対応する)を表示し、同時に、通知1688に代わるグループ更新通知1656を表示する。グループ更新通知1656は、更新された連絡先情報が複数の個人(例えば、「2人」、この場合はジョニー及びジャックの両方)から受信されたことを示す。例えば、ジェーンの電話1604は、受信メッセージ1680cと共にジャックの更新された連絡先情報(ジャックの更新された写真1656a)を受信した。
図16Wでは、ジェーンの電話1604は、グループ更新通知1656上のタップ1690eを検出する。図16Xでは、グループ更新通知1656のタップ1690eを検出したことに応じて、ジェーンの電話1604は、グループ更新通知1656、及び任意選択的に、メッセージ1680a~1680bの表示を、複数の通知1688及び1692の表示に置き換える。通知1692は、ジャックのメッセージ1680c(1650cに対応する)と共に受信された、ジャックの更新された連絡先情報(帽子ありの新しい写真)を含む。通知1692は、ジャックの更新された写真1692a、ジャックのインジケーション1692b、及び受諾アフォーダンス1692cを含み、受諾アフォーダンス1692cは、アクティブ化されると、ジャックの更新された連絡先情報を用いてジェーンのアドレス帳を更新するためのプロセスを開始する。
図17は、いくつかの実施形態に係る、電子デバイスを使用して連絡先情報を提供するための方法を示すフロー図である。方法1700は、1つ以上の通信デバイス(例えば、セルラーアンテナ、wifiアンテナなどの無線通信デバイス)を有するデバイス(例えば、100、300、500、600、1602、及び1604)で実行される。いくつかの実施例では、ユーザは電子デバイスに関連付けられている。例えば、電子デバイスは、デバイスのユーザのものとして識別された連絡先カード内に、電子デバイスのユーザの連絡先情報を記憶することができる。方法1700のいくつかの動作は、任意選択的に組み合わされ、いくつかの動作の順序は、任意選択的に変更され、いくつかの動作は、任意選択的に省略される。
後述するように、方法1700は、連絡先情報を提供するための直感的な仕方を提供する。この方法は、連絡先情報を提供する際のユーザの認識的負担を軽減し、それにより、より効率的なヒューマン-マシンインタフェースを作り出す。バッテリ動作式コンピューティングデバイスの場合、ユーザがより高速且つ効率的に連絡先情報を提供することを可能にすることで、電力を節約し、バッテリ充電間の時間を延ばす。
いくつかの実施形態では、電子デバイスは、第1のメッセージ(例えば、電子デバイスに関連付けられたユーザの連絡先情報、インスタントメッセージ、電子メールを含まない)を、連絡可能ユーザのセット(例えば、メッセージングユーザインタフェース内の「送信」アフォーダンス上のタップ入力)(例えば、第1の連絡可能ユーザのみを含み他のユーザを含まないセット、第1の連絡可能ユーザ及び第2の連絡可能ユーザを含むセット)に送信する要求を受信する(1702)。いくつかの実施形態では、連絡可能ユーザのセットは、第1の連絡可能ユーザ(電子デバイスのユーザとは異なる)を含む。
いくつかの実施形態では、第1のメッセージを送信する要求を受信したことに応じて(1704)、第1の連絡可能ユーザが承認済みの受信者に対応するときに満たされる(及び承認された受信者に対応しない場合は満たされない)第1の共有基準を含む共有基準のセットが、第1の連絡可能ユーザについて満たされているという判定(1706)に従って、電子デバイスは、1つ以上の通信デバイスを介して、第1の連絡可能ユーザに、第1のメッセージ(例えば、1622a、1622b、1640a)、及び電子デバイスに関連付けられたユーザの連絡先情報(例えば、電子デバイスのユーザを表すアバター、写真、及び/又はモノグラムなどのグラフィック表現及び/又は電子デバイスのユーザの名前)を送信する(1708)。例えば、連絡先情報は、デバイスのユーザのものとして識別された(アドレスデータベース又はアプリケーション内の)連絡先カードからアクセスされる電子デバイスのユーザの連絡先情報である。
いくつかの実施形態では、連絡先情報は、アバター(例えば、シミュレートされた3次元アバター)に対応する情報を含む。いくつかの実施形態では、アバターに対応する情報は、(例えば、複数の異なるポーズから)アバターのポーズを特定するポーズ情報を含む。表現として使用するアバターを選択するためのプロセスを開始するためのユーザインタフェースは、図9A~9AGに関してなど、より詳細に上述されている。
いくつかの実施形態では、第1のメッセージを送信する要求を受信したことに応じて(1704)、共有基準のセットが第1の連絡可能ユーザについて満たされていないという判定に従って(1710)、電子デバイスは、電子デバイスに関連付けられたユーザの連絡先情報を送信することなく、第1の連絡可能ユーザに、1つ以上の通信デバイスを介して、第1のメッセージ(例えば、1622b)を送信する(1712)。
いくつかの実施形態では、第1の連絡可能ユーザが連絡先情報を受信すべきかどうかを決定することにより、デバイスは、承認された受信者のみと連絡先情報を選択的に共有することを可能になり、それによってセキュリティを改善することができる。受信者を承認するために連絡先情報を送信することを選択することにより、意図されていない受信者との連絡先情報の共有を防止することによって、デバイスのセキュリティを高める。更に、第1のメッセージを全ての受信者に送信しながら、連絡先情報を承認された受信者に選択的に送信することにより、メッセージを送信するため及び連絡先情報を送信するための入力の異なるセットをユーザが提供する必要性が軽減され、それによって、動作を実行するために必要とされる入力の数が減る。入力の数が更に減ることにより、デバイスの操作性を向上させ、ユーザ-デバイスインタフェースを(例えば、デバイスを操作する/デバイスと対話するときにユーザの誤りを減らすことによって、認証の偽陰性を減らすことによって)より効率的にし、加えて、ユーザがデバイスをより迅速且つ効率的に使用できるようにすることによって、デバイスの電力使用量を抑え、バッテリ寿命が改善される。
いくつかの実施形態では、送信する要求は、メッセージの送信元(例えば、その特定の通信に関する)を識別するために役立つ一次送信元識別子(電子メールアドレス、電話番号、アカウント名などの、通信を送信するために使用される通信プロトコル又はアプリケーションに関連付けられた一意の識別子)を使用して送信する要求である。例えば、従来のSMSでは、一次送信元識別子は、送信装置の電話番号であってもよい。いくつかの実施形態では、ユーザは、一次送信元識別子をインスタントメッセージング技術のための電子メールアドレスとするようにデバイスを構成することができしたがって、そのデバイスを使用して送信されたインスタントメッセージは、メッセージの送信元として(例えば、「From」フィールドに)ユーザの電子メールアドレスを含む。これとは対照的に、連絡先情報は、連絡先情報が一意の識別子であるかどうかにかかわらず、連絡可能ユーザに対して電子デバイスに関連付けられたユーザを識別するのに役立つ、一次送信元識別子以外の情報である(例えば、ユーザの下の名前及び/又は苗字、ユーザのイニシャルのセット、ユーザの写真、及び/又はユーザによって作成又は選択された仮想アバター)。いくつかの実施形態では、受信デバイスは、連絡先情報が受信された後に、連絡先情報を一次送信元識別子と関連付ける。例えば、受信デバイスは、連絡先情報の一部として受信された名前とグラフィック表現を一次送信元識別子(例えば、連絡先情報が受信されたメッセージの一次送信元識別子)と関連付ける。
いくつかの実施形態では、第1のメッセージを送信する要求を受信したことに応じて、共有基準のセットが第1の連絡可能ユーザについて満たされていないという判定に従って、電子デバイスは、第1のメッセージ(例えば、1640a、第1のメッセージの内容を示すメッセージングアプリケーション内の音声バルーン)、及び連絡先情報が第1の連絡可能ユーザに送信されなかったというインジケーション(例えば、1642)を同時に表示する。いくつかの実施形態では、連絡先情報が送信されなかったというインジケーションはアフォーダンスを含み、このアフォーダンスは、アクティブ化されると、電子デバイスに関連付けられたユーザの連絡先情報を第1の連絡可能ユーザに送信するためのプロセスを開始する。連絡先情報が送信されなかったというインジケーションをユーザがアクティブ化するときに、更新された連絡先情報を第1の連絡可能ユーザに送信するためのプロセスを開始することにより、ユーザは、不要な数のユーザインタフェースにアクセスし、不要な数の使用入力を提供する必要なく、任意の新しい/更新された連絡先情報を連絡可能ユーザに送信することが可能になる。機能を実行するためのユーザ入力の数を減らすことにより、デバイスの操作性が改善され、ユーザ-デバイスインタフェースを(例えば、デバイスを操作/対話するときに適切な入力を提供するようにユーザを支援することによって)更に効率的にし、加えて、ユーザがデバイスを更に素早く且つ効率的に使用することを可能にすることによって、デバイスの電力使用を削減し、バッテリ寿命を改善する。
デバイスユーザの連絡先情報が第1の連絡可能ユーザに送信されていないという視覚的インジケーションをユーザに提供することは、共有基準のセットが第1の連絡可能ユーザに対して満たされていない(例えば、第1の連絡可能ユーザが承認された受信者に対応していない)、及び第1の連絡可能ユーザが、更新された連絡先情報(例えば、名前及び/又はグラフィック表現)をまだ受信していないというフィードバックをユーザに提供する。改良されたフィードバックをユーザに提供することにより、デバイスの操作性を向上させ、(例えば、デバイスを操作する/デバイスと対話するときに適切な入力を提供するようにユーザを支援することによって)ユーザ-デバイスインタフェースをより効率的にし、加えて、ユーザがデバイスをより迅速且つ効率的に使用できるようにすることによって、電力使用量を削減し、デバイスのバッテリ寿命を改善する。
いくつかの実施形態では、連絡可能ユーザのセットは、第2の連絡可能ユーザを含む。いくつかの実施形態では、第1のメッセージを送信する要求を受信したことに応じて、第2の連絡可能ユーザが承認済みの受信者に対応するときに満たされる第1の共有基準を含む、共有基準のセットが第2の連絡可能ユーザについて満たされているという判定(及び承認された受信者に対応しない場合は満たされない)に従って、電子デバイスは、1つ以上の通信デバイスを介して、第2の連絡可能ユーザに、第1のメッセージ、及び電子デバイスに関連付けられたユーザの連絡先情報(例えば、電子デバイスのユーザを表すアバター、写真、及び/又はモノグラムなどのグラフィック表現及び/又は電子デバイスのユーザの名前)を送信する。例えば、連絡先情報は、デバイスのユーザのものとして識別された(アドレスデータベース又はアプリケーション内の)連絡先カードからアクセスされる電子デバイスのユーザの連絡先情報である。いくつかの実施例では、デバイスは、第2の連絡可能ユーザと比較して、異なる連絡先情報を第1の連絡可能ユーザに送信する。例えば、第1の連絡可能ユーザが最近、デバイスユーザの名前の更新を最近受信したが、グラフィック表現の更新を受信していない場合、デバイスは、更新された名前を再送信することなく更新されたグラフィック表現を(第1の連絡可能ユーザに)送信し、第2の連絡可能ユーザが、デバイスユーザの名前の更新もグラフィック表現の更新も受信していない場合、デバイスは、更新された名前及び更新されたグラフィック表現の両方を(第2の連絡可能ユーザに)送信する。いくつかの実施形態では、第1のメッセージを送信する要求を受信したことに応じて、共有基準のセットが第2の連絡可能ユーザについて満たされていないという判定に従って、電子デバイスは、電子デバイスに関連付けられたユーザの連絡先情報を送信することなく、第1の連絡可能ユーザに、1つ以上の通信デバイスを介して、第1のメッセージ(例えば、1640a)を送信する。いくつかの実施形態では、共有基準のセットは、それぞれの連絡可能ユーザがメッセージの受信者であるときに満たされる受信者共有基準を含む。したがって、更新された連絡先情報は、メッセージが送信される連絡可能ユーザのセットにない連絡先には送信されない。
メッセージの受信者として識別された複数の連絡可能ユーザのうちの誰が連絡先情報を受信すべきかを決定することにより、デバイスは、連絡先情報の送信を承認された受信者のみへ潜在的に制限しながら、複数の連絡可能ユーザと単一のメッセージを選択的に共有することができる。第1のメッセージを全ての受信者に送信しながら、連絡先情報を承認された受信者に選択的に送信することにより、メッセージを送信するため及び連絡先情報を送信するための入力の異なるセットをユーザが提供する必要性が軽減され、それによって、動作を実行するために必要とされる入力の数が減る。入力の数が更に減ることにより、デバイスの操作性を向上させ、ユーザ-デバイスインタフェースを(例えば、デバイスを操作する/デバイスと対話するときにユーザの誤りを減らすことによって、認証の偽陰性を減らすことによって)より効率的にし、加えて、ユーザがデバイスをより迅速且つ効率的に使用できるようにすることによって、デバイスの電力使用量を抑え、バッテリ寿命が改善される。
いくつかの実施形態では、第1のメッセージを連絡可能ユーザのセットに送信する要求を受信した後(及び任意選択的に、第1の連絡可能ユーザへ第1のメッセージ及び電子デバイスに関連付けられたユーザの連絡先情報を送信した後)、電子デバイスは、第2のメッセージ(例えば、1640a)を、1つ以上の連絡可能ユーザの第2のセットに送信する第2の要求を受信し、1つ以上の連絡可能ユーザの第2のセットは、第1の連絡可能ユーザを含む。いくつかの実施形態では、連絡可能ユーザのセットは、連絡可能ユーザの第2のセットとは異なる。いくつかの実施形態では、第2のメッセージを送信する第2の要求を受信したことに応じて、連絡先情報が第1の連絡可能ユーザに直近に送信されたので、連絡先情報が変更された(修正された)ときに満たされる(そして、連絡先情報が第1の連絡可能ユーザに最後に送信されてから連絡先情報が修正されていないときは満たされない)第2の共有基準を含む共有基準のセットが、第1の連絡可能ユーザに対して満たされているという判定に従って、電子デバイスは、1つ以上の通信デバイスを介して、第1の連絡可能ユーザに、第2のメッセージ、及び電子デバイスに関連付けられたユーザの連絡先情報(例えば、電子デバイスのユーザを表すアバター、写真、及び/又はモノグラムなどのグラフィック表現及び/又は電子デバイスのユーザの名前)を送信する。例えば、連絡先情報は、デバイスのユーザのものとして識別された(アドレスデータベース又はアプリケーション内の)連絡先カードからアクセスされる電子デバイスのユーザの連絡先情報である。いくつかの実施形態では、第2のメッセージを送信する第2の要求を受信したことに応じて、共有基準のセットが第1の連絡可能ユーザについて満たされていないという判定に従って、電子デバイスは、電子デバイスに関連付けられたユーザの連絡先情報を送信することなく、第1の連絡可能ユーザに、1つ以上の通信デバイスを介して、第2のメッセージを送信する。
いくつかの実施形態では、第1のメッセージを連絡可能ユーザのセットに送信する要求を受信する前に、電子デバイスは、電子デバイスに関連付けられたユーザ(デバイスユーザとも呼ばれる)の連絡先情報(例えば、電子デバイスのユーザを表すアバター、写真、及び/又はモノグラムなどのグラフィック表現及び/又は第1の連絡可能ユーザの名前)を更新するためのユーザ入力を受信する。いくつかの実施形態では、電子デバイスに関連付けられたユーザの連絡先情報を更新するためのユーザ入力を受信したことに応じて、電子デバイスは、電子デバイスに関連付けられたユーザの連絡先情報(例えば、連絡先情報の更新された部分)を第1の連絡可能ユーザ(又は任意の連絡可能ユーザ)に送信することなく、連絡先情報を更新するためのユーザ入力に応じて、電子デバイスに関連付けられたユーザの連絡先情報を更新する(例えば、連絡先情報の更新を電子デバイスに記憶する、連絡先情報の更新をリモートサーバに送信して記憶する)。したがって、電子デバイスは、デバイスユーザの連絡先情報を更新するためにデバイスユーザの入力を受信するが、更新された連絡先情報を任意の連絡可能ユーザに送信しない。その代わりに、デバイスは、更新された連絡先情報、及び更新された連絡先情報が特定の連絡可能ユーザ(例えば、第1の連絡可能ユーザに)送信されたかどうかの記録を維持する。更新された連絡先情報は、デバイスユーザが第1の連絡可能ユーザにメッセージを送信するときに(例えば、第1の連絡可能ユーザに)送信される。いくつかの実施形態では、連絡先情報を更新するためのユーザ入力を受信するために、デバイスは、連絡可能ユーザではなく電子デバイスに関連付けられているユーザについて、図9A~9AGに関連して連絡可能ユーザ編集ユーザインタフェースとして上述したようなユーザ編集ユーザインタフェース(例えば、(例えば、他の人が電話、電子メール、メッセージングなどを介して連絡するための)電子デバイスに関連付けられたユーザについて、電子デバイスにおいて情報を編集するためのインタフェース、単一のインタフェース画面)を表示する。
いくつかの実施形態では、連絡先情報を送信せずにデバイスユーザの連絡先情報を更新することにより、更新を送信するための通信帯域幅(例えば、セルラー帯域幅)及び処理能力の使用を必要とせずに更新を記憶することが可能になる。これは、デバイスが、デバイスユーザがもはや通信しない連絡可能ユーザに更新された連絡先情報を送信することを回避することができるため、デバイスが連絡可能ユーザの大規模なリストを維持する場合に特に有用である。更新された連絡先情報を送信することを回避することにより、帯域幅使用量及びプロセッサの使用量が低減され、それによって電力使用量が低減され、デバイスのバッテリ寿命が改善される。
いくつかの実施形態では、第1のメッセージを連絡可能ユーザのセットに送信する要求を受信する前に(及び、任意選択的に、ユーザ入力を受信して、電子デバイスに関連付けられたユーザの連絡先情報を更新する前に)、電子デバイスは、(例えば、所定のオプションから選択するためのアフォーダンスを含む1つ以上のユーザインタフェースを表示することによって)それぞれの連絡可能ユーザが承認された受信者に対応するかどうかを識別するための複数の所定のオプションを提供する。いくつかの実施形態では、複数の所定のオプションは、電子デバイスのユーザに関連付けられた連絡可能ユーザのセット内の連絡可能ユーザ(例えば、連絡先の名前及び第1の連絡可能ユーザに対する通信方法(例えば、電話番号、電子メールアドレス)を含む第1の連絡可能ユーザについてのエントリを含む仮想アドレス帳などの連絡先のリスト)は、承認された受信者に対応し(例えば、そうであると識別される、そう設定される)、電子デバイスのユーザに関連付けられた連絡可能ユーザのセット内にない連絡可能ユーザは、承認された受信者に対応しない第1の受信者オプション(選択されると、選択された関係/対応を使用してデバイスを構成するオプション)と、(アドレス帳内にリストされているかどうかにかかわらず)全ての連絡可能ユーザが承認された受信者に対応する第2の受信者オプションと、(アドレス帳内にリストされているかどうかにかかわらず)承認された受信者に対応する連絡可能ユーザはいない第3の受信者オプションと、のうちの1つ以上を含む。したがって、デバイスユーザは、デバイスユーザが連絡可能ユーザにメッセージを送信したときに、どの連絡可能ユーザがデバイスユーザの連絡先情報に対する更新を自動的に受信すべきかを事前に指定することができる。
どの連絡可能ユーザにユーザの個人的な連絡先情報を自動的に提供するかを選択する能力をユーザに提供することにより、ユーザは、個人的な連絡先情報の伝播を安全に制御することができる。個人的な連絡先情報の伝播を安全に制御する機能を提供することは、意図しない連絡可能ユーザに個人的な情報が送信されることを防止することによって、デバイスのセキュリティを強化する。
いくつかの実施形態では、第1のメッセージを連絡可能ユーザのセットに送信する要求を受信する前に(及び、任意選択的に、ユーザ入力を受信して、電子デバイスに関連付けられたユーザの連絡先情報を更新する前に)、電子デバイスは、電子デバイスに関連付けられたユーザ(例えば、1660a~1660c)のグラフィック表現(アバター、写真、及び/又は電子デバイスのユーザを表すモノグラムなど)を選択するための(例えば、設定プロセス中に、連絡可能ユーザではなく電子デバイスに関連付けられたユーザについて、図9A~図9AGに関して連絡可能ユーザ編集ユーザインタフェースとして上述したような)グラフィックオブジェクトを選択する入力を含む1つ以上の入力のセットを受信する。いくつかの実施形態では、第1のメッセージを連絡可能ユーザのセットに送信する要求を受信する前に、グラフィック表現を選択するためのユーザ入力を受信したことに応じて、電子デバイスは、電子デバイスに関連付けられたユーザの連絡先情報(例えば、連絡先情報の更新された部分)を(例えば、第1の連絡可能ユーザ、任意の連絡可能ユーザ)に送信することなく、選択されたグラフィック表現を含む(例えば、デバイスユーザの以前のグラフィック表現をデバイスユーザの選択されたグラフィック表現に置き換える)ように、電子デバイスに関連付けられたユーザの連絡先情報を更新する(例えば、連絡先情報の更新を電子デバイスに記憶する、連絡先情報の更新をリモートサーバに送信して記憶する)。
いくつかの実施形態では、連絡先情報を更新するためのユーザ入力を受信するために、デバイスは、連絡可能ユーザではなく電子デバイスに関連付けられているユーザについて、図9A~9AGに関連して連絡可能ユーザ編集ユーザインタフェースとして上述したようなユーザ編集ユーザインタフェース(例えば、(例えば、他の人が電話、電子メール、メッセージングなどを介して連絡するための)電子デバイスに関連付けられたユーザについて、電子デバイスにおいて情報を編集するためのインタフェース、単一のインタフェース画面)を表示する。
いくつかの実施形態では、第1のメッセージを連絡可能ユーザのセットに送信する要求を受信する前に(及び任意選択的に、電子デバイスに関連付けられたユーザの連絡先情報を更新するためのユーザ入力を受信する前に)、電子デバイスは、電子デバイスのユーザに関連付けられた連絡可能ユーザのセット(例えば、デバイスのユーザに対応するアドレス帳内のエントリ)から、電子デバイスに関連付けられたユーザの名前にアクセスする。いくつかの実施形態では、第1のメッセージを連絡可能ユーザのセットに送信する要求を受信する前に、電子デバイスは、編集可能な形式で(例えば、編集可能なテキストフィールド内に)ユーザの名前を表示する。いくつかの実施形態では、第1のメッセージを連絡可能ユーザのセットに送信する要求を受信する前に、電子デバイスは、電子デバイスに関連付けられたユーザの名前を編集(又は確認)するためのユーザ入力(例えば、設定プロセス中に、名前の変更及び確認入力(「保存」又は「OK」など))を受信する。いくつかの実施形態では、編集可能な事前入力された名前ではなく(又はそれに加えて)、デバイスは、同時に表示される複数の既定の提案された名前の中から選択するためのオプションをユーザに提供する。いくつかの実施形態では、第1のメッセージを連絡可能ユーザのセットに送信する要求を受信する前に、名前を編集するためのユーザ入力を受信したことに応じて、電子デバイスは、電子デバイスに関連付けられたユーザの連絡先情報(例えば、連絡先情報の更新された部分)を(例えば、第1の連絡可能ユーザ、任意の連絡可能ユーザ)に送信することなく、選択された名前を含む(例えば、デバイスユーザの以前の名前を選択された名前に置き換える)ように、電子デバイスに関連付けられたユーザの連絡先情報を更新する(例えば、連絡先情報の更新を電子デバイスに記憶する、連絡先情報の更新をリモートサーバに送信して記憶する)。いくつかの実施形態では、第1のメッセージを連絡可能ユーザのセットに送信する要求を受信する前に、名前を編集するためのユーザ入力を受信したことに応じて、電子デバイスは、電子デバイスの複数のアプリケーション(例えば、電話アプリケーション、電子メールアプリケーション、インスタントメッセージアプリケーション、地図アプリケーション、電子デバイスの製造業者によって提供される基本アプリケーション)に、選択された名前を含む連絡先情報を提供する(又は別の方法で利用可能にする)。
いくつかの実施形態では、第1のメッセージを連絡可能ユーザのセットに送信する要求を受信する前に、電子デバイスは、第1のメッセージ(送信される前にユーザから受信した第1のメッセージ、ドラフト電子メール内の、インスタントメッセージング会話の入力フィールド内の)と、選択されると、デバイスに、第1の連絡可能ユーザが承認された受信者に対応するかどうかを構成するための1つ以上のオプションを含むユーザインタフェースとを同時に表示する。いくつかの実施形態では、電子デバイスは、メッセージの受信者に、デバイスユーザの更新された連絡先情報を自動的に送信されるかどうかを、デバイスユーザが構成するためのアフォーダンスを提供する。いくつかの実施形態では、アフォーダンスは、連絡可能ユーザのセットが承認された受信者であるかどうかのインジケーションを含む。
いくつかの実施形態では、共有基準のセットは、連絡先情報が第1の連絡可能ユーザに直近に送信されてから連絡先情報が更新された(例えば、訂正された、変更された)ときに満たされる(及び、連絡先情報が第1の連絡可能ユーザに直近に送信されてから連絡先情報が変更されていない場合は満たされない)、第2の共有基準を含む。したがって、電子デバイスは、デバイスユーザが承認された連絡可能ユーザにメッセージを送信するたびに、デバイスユーザの連絡先情報を承認された連絡可能ユーザに送信するのではなく、連絡可能ユーザに新しい更新を送信する。いくつかの実施形態では、デバイスユーザの完全な連絡先情報ではなく、更新された(変更された)連絡先情報の部分のみが送信される。いくつかの実施形態では、デバイスは、どの部分が特定の連絡可能ユーザに以前に送信されたかに基づいて、連絡先情報のどの部分(又は完全な連絡先情報)をその特定の連絡可能ユーザに送信するかを決定する。
いくつかの実施形態では、電子デバイスは、電子デバイスの複数のアプリケーション(例えば、電話アプリケーション、電子メールアプリケーション、インスタントメッセージアプリケーション、地図アプリケーション、電子デバイスの製造業者によって提供される基本アプリケーション)に、選択されたグラフィック表現を含む連絡先情報を提供する(又は別の方法で利用可能にする)。
なお、方法1700に関して上述されたプロセス(例えば、図17)の詳細はまた、以下及び上で説明されている方法にも、類似の方式で適用可能であることに留意されたい。例えば、方法700、800、1000、1200、1300、1500及び1800は、方法1700を参照して上述した様々な方法の特性のうちの1つ以上を任意選択的に含む。簡潔にするために、これらの詳細は、以下で繰り返さない。
図18は、いくつかの実施形態に係る、電子デバイスを使用して連絡先情報を受信するための方法を示すフロー図である。方法1800は、表示デバイス及び1つ以上の通信デバイス(例えば、セルラーアンテナ、wifiアンテナなどの無線通信デバイス)を有するデバイス(例えば、100、300、500、600、1602、及び1604)で実行される。方法1800のいくつかの動作は、任意選択的に組み合わされ、いくつかの動作の順序は、任意選択的に変更され、いくつかの動作は、任意選択的に省略される。
後述するように、方法1800は、連絡先情報を受信するための直感的な仕方を提供する。この方法は、連絡先情報を受信する際のユーザの認識的負担を軽減し、それにより、より効率的なヒューマン-マシンインタフェースを作り出す。バッテリ動作式コンピューティングデバイスの場合、ユーザがより高速且つ効率的に連絡先情報を受信することを可能にすることで、電力を節約し、バッテリ充電間の時間を延ばす。
電子デバイスは、(例えば、第1の連絡可能ユーザから)、1つ以上の通信デバイスを介して、第1のメッセージ(例えば、1632a、インスタントメッセージ、電子メール)を受信する(1802)(例えば、第1のメッセージは、第1の連絡可能ユーザを含むメッセージング会話の一部として受信される)。
第1のメッセージを受信した後、電子デバイスは、第1のメッセージを表示する要求(例えば、第1のメッセージの表示された識別子上のタップ入力)を受信する(1804)。
第1のメッセージを表示する要求を受信する(1806)ことに応じて、第1の連絡可能ユーザに対応する更新された(例えば、(連絡先リスト又はアドレス帳内の)第1の連絡可能ユーザの連絡先カード内に電子デバイスで記憶された連絡先情報とは異なる)連絡先情報(例えば、アバター、写真、及び又は電子デバイスのユーザを表すモノグラムなどのグラフィック表現、及び/又は第1の連絡可能ユーザの名前)が(例えば、第1の連絡可能ユーザから)受信されたときに満たされる第1のプロンプト基準を含む、プロンプト基準のセットが第1の連絡可能ユーザに対して満たされているという判定に従って(1808)、電子デバイスは、表示デバイス上に、第1のメッセージ(例えば、1632a)と、第1の連絡可能ユーザが更新された連絡先情報を利用可能であるという視覚的インジケーション(例えば、1634)とを同時に表示する(1810)。いくつかの実施形態では、第1の連絡可能ユーザが更新された連絡先情報を利用可能であるという視覚的インジケーションは、受信した更新された連絡先情報の少なくとも一部分(例えば、更新された名前及び/又は第1の連絡可能ユーザの更新されたグラフィック表現)を含む。
いくつかの実施形態では、電子デバイスはユーザに関連付けられる。第1のメッセージを表示する要求を受信したことに応じて、第1の連絡可能ユーザが承認された受信者に対応する場合に満たされる(及び承認された受信者に対応しない場合は満たされない)第1の共有基準を含む共有基準のセットが、第1の連絡可能ユーザについて満たされていないという判定に従って、電子デバイスは、第1のメッセージ(及び任意選択的に、第1の連絡可能ユーザが更新された連絡先情報を利用可能であるという視覚的インジケーションと同時に)と、電子デバイスのユーザの更新された連絡先情報が第1の連絡可能ユーザに送信可能であるというインジケーション(例えば、1682)を同時に表示する。いくつかの実施形態では、更新された連絡先情報が送信可能であるというインジケーションはアフォーダンスを含み、このアフォーダンスは、アクティブ化されると、電子デバイスに関連付けられたユーザの連絡先情報を第1の連絡可能ユーザに送信するためのプロセスを開始する。
デバイスユーザの連絡先情報が第1の連絡可能ユーザに送信されていない(ただし、送信可能である)という視覚的インジケーションをユーザに提供することは、ユーザに、連絡先情報共有の状態に関するフィードバックを提供する。改良されたフィードバックをユーザに提供することにより、デバイスの操作性を向上させ、(例えば、デバイスを操作する/デバイスと対話するときに適切な入力を提供するようにユーザを支援することによって)ユーザ-デバイスインタフェースをより効率的にし、加えて、ユーザがデバイスをより迅速且つ効率的に使用できるようにすることによって、電力使用量を削減し、デバイスのバッテリ寿命を改善する。
いくつかの実施形態では、プロンプト基準のセットは、第1のメッセージが、第1の連絡可能ユーザが参加者であるメッセージング会話の一部であるときに満たされる(及び第1のメッセージが、第1の連絡可能ユーザが参加者であるメッセージング会話の一部ではない場合は満たされない)第2のプロンプト基準を含む。例えば、第2のプロンプト基準は、受信された第1のメッセージが、第1の連絡可能ユーザと電子デバイスのユーザ(及び任意選択的に、他の連絡可能ユーザ)を含むインスタントメッセージングスレッドの一部である場合に満たされる。別の例では、第2のプロンプト基準は、第1のメッセージが、「from」、「to」、又は「cc」フィールド内に第1の連絡可能ユーザ、「to」又は「cc」フィールド内に電子デバイスのユーザ、及び任意選択的に、「from」、「to」、又は「cc」フィールド内に他の連絡可能ユーザを含む電子メールメッセージであるときに満たされる。
いくつかの実施形態では、電子デバイスは、第1の連絡可能ユーザが更新された連絡先情報を利用可能であるという視覚的インジケーションのアクティブ化(例えば、タップ)を検出する。いくつかの実施形態では、第1の連絡可能ユーザが更新された連絡先情報を利用可能であるという視覚的インジケーションのアクティブ化を検出したことに応じて、第1の連絡可能ユーザが、電子デバイスのユーザに関連付けられた連絡可能ユーザのセット内の既存のエントリに対応しないという判定に従って、電子デバイスは、連絡先情報を使用して(例えば、アバター、写真、及び/又は電子デバイスのユーザを表すモノグラムなどの受信したグラフィック表現、及び/又は連絡可能ユーザの名前を使用して)、電子デバイスのユーザに関連付けられた連絡可能ユーザのセット内に第1の連絡可能ユーザのための新しいエントリを作成するための選択可能なオプション(例えば、1624a)を表示する。いくつかの実施形態では、第1の連絡可能ユーザが電子デバイスのアドレス帳内の既存のエントリに対応しないという判定に従って、デバイスは、(第1の選択可能なオプションに代わるか、又は第1の選択可能なオプションに加えて)受信した連絡先情報をアドレス帳の既存のエントリに追加するための選択可能なオプションを表示する。例えば、既存のエントリに追加するオプションのアクティブ化により、電子デバイスのユーザは、受信した名前、受信したグラフィック表現、及び/又はメッセージの通信方法(例えば、電話番号、電子メールアドレス)を追加する既存のエントリを選択することができる。
いくつかの実施形態では、電子デバイスは、第1の連絡可能ユーザが更新された連絡先情報を利用可能であるという視覚的インジケーションのアクティブ化(例えば、タップ)を検出する。いくつかの実施形態では、第1の連絡可能ユーザが更新された連絡先情報を利用可能であるという視覚的インジケーションのアクティブ化を検出したことに応じて、第1の連絡可能ユーザが、電子デバイスのユーザに関連付けられた連絡可能ユーザのセット内の既存のエントリに対応し、受信した連絡先情報が、第1の連絡可能ユーザの変更されたグラフィック表現及び連絡可能ユーザの変更された名前を含むという判定に従って、電子デバイスは、電子デバイスのユーザに関連付けられた連絡可能ユーザのセット内の既存のエントリを、第1の連絡可能ユーザの変更されたグラフィック表現及び連絡可能ユーザの変更された名前で更新するための選択可能なオプションと、電子デバイスのユーザに関連付けられた連絡可能ユーザのセット内の既存のエントリを、連絡可能ユーザの変更された名前で更新することなく、第1の連絡可能ユーザの変更されたグラフィック表現で更新するための選択可能なオプションと、電子デバイスのユーザに関連付けられた連絡可能ユーザのセット内の既存のエントリを、連絡可能ユーザの変更されたグラフィック表現で更新することなく、第1の連絡可能ユーザ変更された名前で更新するための選択可能なオプションと、のうちの2つ以上を含む複数の選択可能オプションを表示する。
いくつかの実施形態では、電子デバイスは、第1の連絡可能ユーザが更新された連絡先情報を利用可能であるという視覚的インジケーションのアクティブ化(例えば、タップ)を検出する。いくつかの実施形態では、第1の連絡可能ユーザが更新された連絡先情報を利用可能であるという視覚的インジケーションのアクティブ化を検出したことに応じて、第1の連絡可能ユーザが、電子デバイスのユーザに関連付けられた連絡可能ユーザのセット内の既存のエントリに対応し、受信した連絡先情報が、連絡可能ユーザの変更された名前を含むことなく、第1の連絡可能ユーザの変更されたグラフィック表現を含むという判定に応じて、電子デバイスは、既存のエントリを、連絡可能ユーザの変更されたグラフィック表現で更新する(例えば、自動的に更新する、更なるユーザ入力を必要とせずに更新する)。いくつかの実施形態では、第1の連絡可能ユーザが更新された連絡先情報を利用可能であるという視覚的インジケーションのアクティブ化を検出したことに応じて、第1の連絡可能ユーザが、電子デバイスのユーザに関連付けられた連絡可能ユーザのセット内の既存のエントリに対応し、受信した連絡先情報が、連絡可能ユーザの変更された名前を含むことなく、第1の連絡可能ユーザの変更されたグラフィック表現を含むという判定に応じて、デバイスは、確認を求めるユーザに、連絡可能ユーザの変更されたグラフィック表現で既存のエントリを更新するように促す。
いくつかの実施形態では、電子デバイスは、第1の連絡可能ユーザが更新された連絡先情報を利用可能であるという視覚的インジケーションのアクティブ化(例えば、タップ)を検出する。いくつかの実施形態では、第1の連絡可能ユーザが更新された連絡先情報を利用可能であるという視覚的インジケーションのアクティブ化を検出したことに応じて、第1の連絡可能ユーザが、電子デバイスのユーザに関連付けられた連絡可能ユーザのセット内の既存のエントリに対応し、受信した連絡先情報が、連絡可能ユーザの変更されたグラフィック表現を含むことなく、第1の連絡可能ユーザの変更された名前を含むという判定に応じて、電子デバイスは、既存のエントリを、連絡可能ユーザの変更された名前で更新する(例えば、自動的に更新する、更なるユーザ入力を必要とせずに更新する)。
いくつかの実施形態では、第1のメッセージは、第1の連絡可能ユーザ及び第2の連絡可能ユーザを含む会話で受信される。いくつかの実施形態では、電子デバイスは、(第1及び第2の連絡可能ユーザの更新された連絡先情報で電子デバイスのアドレス帳のエントリを更新することなく)第1の連絡可能ユーザの更新された連絡先情報及び第2の連絡可能ユーザの更新された連絡先情報を受信している。いくつかの実施形態では、電子デバイスは、第1の連絡可能ユーザが更新された連絡先情報を利用可能であるという視覚的インジケーションのアクティブ化を検出する。いくつかの実施形態では、第1の連絡可能ユーザが更新された連絡先情報を利用可能であるという視覚的インジケーションのアクティブ化を検出したことに応じて、電子デバイスは、(例えば、会話の表示を置き換えることによって)第1の連絡可能ユーザが更新された連絡先情報を利用可能であるという第2の視覚的インジケーションを表示し、第2の視覚的インジケーションは、第1の連絡可能ユーザについての受信された更新された連絡先情報の少なくとも一部分の視覚的表現と、第2の連絡可能ユーザが更新された連絡先情報を利用可能であることを示す第3の視覚的インジケーションとを含み、第3の視覚的インジケーションは、第2の連絡可能ユーザについての受信された更新された連絡先情報の少なくとも一部分の視覚表現を含む。
いくつかの実施形態では、第1の連絡可能ユーザが更新された連絡先情報を利用可能であるという視覚的インジケーションは、複数のメッセージを含むメッセージング会話の少なくとも一部分の視覚的表現と同時に表示され、複数のメッセージは、第1の連絡可能ユーザに(例えば、電子デバイスから)送信された第2のメッセージと、第1の連絡可能ユーザから受信した第3のメッセージとを含む。
いくつかの実施形態では、第1のメッセージを表示する要求を受信したことに応じて(1806)、プロンプト基準のセットが第1の連絡可能ユーザに対して満たされていないという判定に従って(1812)、電子デバイスは、表示デバイスに、第1の連絡可能ユーザが更新された連絡先情報を利用可能であるという視覚的インジケーションを表示することなく、第1のメッセージを表示する(1814)。いくつかの実施形態では、デバイスのユーザが第1の連絡可能ユーザについての更新された連絡先情報を無視するように以前に選択している場合、電子デバイスは視覚的インジケーションを表示しない。したがって、プロンプト基準のセットは、デバイスが第1の連絡可能ユーザについての更新された連絡先情報を無視する要求を受信していない場合に満たされるプロンプト基準を任意選択的に含む。
いくつかの実施形態では、受信したメッセージは、メッセージの送信元(例えば、その特定の通信に関する)を識別するために役立つ一次送信元識別子(電子メールアドレス、電話番号、アカウント名などの、通信を送信するために使用される通信プロトコル又はアプリケーションに関連付けられた一意の識別子)を含む。例えば、従来のSMSでは、一次送信元識別子は、送信装置の電話番号であってもよい。いくつかの実施形態では、送信ユーザは、一次送信元識別子をインスタントメッセージング技術のための電子メールアドレスとするようにデバイスを構成することができしたがって、そのデバイスから受信したインスタントメッセージは、メッセージの送信元として(例えば、「From」フィールドに)送信ユーザの電子メールアドレスを含む。これとは対照的に、連絡先情報は、連絡先情報が一意の識別子であるかどうかにかかわらず、電子デバイスに関連付けられているユーザに対して電子デバイスに関連付けられていないユーザ(例えば、第1の連絡可能ユーザ)を識別するのに役立つ、一次送信元識別子以外の情報である(例えば、ユーザの下の名前及び/又は苗字、ユーザのイニシャルのセット、ユーザの写真、及び/又は連絡可能ユーザによって作成又は選択された仮想アバター)。いくつかの実施形態では、受信デバイスは、連絡先情報が受信された後に、連絡先情報を一次送信元識別子と関連付ける。例えば、受信デバイスは、連絡先情報の一部として受信された名前とグラフィック表現を一次送信元識別子(例えば、連絡先情報が受信されたメッセージの一次送信元識別子)と関連付ける。
いくつかの実施形態では、受信した連絡先情報は、第1の連絡可能ユーザの変更されたグラフィック表現を含む(受信した連絡先情報は、任意選択的に、第1の連絡可能ユーザの変更された名前を含む)。いくつかの実施形態では、第1の連絡可能ユーザは、電子デバイスのユーザに関連付けられた連絡可能ユーザのセット内の既存のエントリに対応する。いくつかの実施形態では、電子デバイスは、第1の連絡可能ユーザの変更されたグラフィック表現(及び任意選択的に変更された名前)を使用して既存のエントリを更新するためのユーザ入力を受信する。いくつかの実施形態では、第1の連絡可能ユーザの変更されたグラフィック表現(及び任意選択的に変更された名前)を使用して既存のエントリを更新するためのユーザ入力を受信したことに応じて、電子デバイスは、電子デバイスのユーザに関連付けられた連絡可能ユーザのセット内の既存のエントリを、第1の連絡可能ユーザの(任意選択的に、変更された名前と)変更されたグラフィック表現を使用して(例えば、連絡可能ユーザの以前のグラフィック表現を置き換えることによって)更新する。いくつかの実施形態では、第1の連絡可能ユーザの変更されたグラフィック表現(及び任意選択的に変更された名前)を使用して既存のエントリを更新するためのユーザ入力を受信したことに応じて、電子デバイスは、選択された場合に、電子デバイスが将来の第1の連絡可能ユーザのグラフィック表現を自動的に(例えば、追加のユーザ入力/認可を必要とすることなく)(例えば、第1の連絡可能ユーザのグラフィック表現のその後に受信された変更のために)(及び、任意選択的に、連絡可能ユーザの名前を自動的に更新するよう承認を促すことなく)、更新することを可能にする(プロンプトを表示する)選択可能アフォーダンスを表示する。
電子デバイスは、ユーザに第1の連絡可能ユーザのグラフィック表現の自動更新を承認するよう促し、それにより、将来第1の連絡可能ユーザのグラフィック表現を更新するために、電子デバイスにおいてユーザ入力を提供する必要性を排除するオプションをユーザに提供する。入力の数が更に減ることにより、デバイスの操作性を向上させ、ユーザ-デバイスインタフェースを(例えば、デバイスを操作する/デバイスと対話するときにユーザの誤りを減らすことによって、認証の偽陰性を減らすことによって)より効率的にし、加えて、ユーザがデバイスをより迅速且つ効率的に使用できるようにすることによって、デバイスの電力使用量を抑え、バッテリ寿命が改善される。更に、デバイスは、誰かが誰か自身以外の誰かになりすますような潜在的なセキュリティ問題を回避するために、任意選択的に、ユーザが第1の連絡可能ユーザの名前の更新を承認することを可能にしない。
いくつかの実施形態では、連絡先情報は、第1の連絡可能ユーザの名前又は第1の連絡可能ユーザのグラフィック表現を含む。いくつかの実施形態では、電子デバイスは、(例えば、更新を要求するユーザ入力に応じて)電子デバイスのユーザに関連付けられた連絡可能ユーザのセットを、第1の連絡可能ユーザの変更された名前又は連絡可能ユーザの変更されたグラフィック表現で更新する。いくつかの実施形態では、変更された名前又は変更されたグラフィック表現を含む、電子デバイスのユーザに関連付けられた連絡可能ユーザのセット内の連絡先情報は、電子デバイスの複数のアプリケーション(例えば、電話アプリケーション、電子メールアプリケーション、インスタントメッセージアプリケーション、地図アプリケーション、電子デバイスの製造業者によって提供される基本アプリケーション)で利用可能である。
いくつかの実施形態では、第1の連絡可能ユーザの連絡先情報は、アバター(例えば、シミュレートされた3次元アバター)に対応する情報を含む。いくつかの実施形態では、アバターに対応する情報は、(例えば、複数の異なるポーズから)アバターの投稿を特定するポーズ情報を含む。表現として使用するアバターを選択するためのプロセスを開始するためのユーザインタフェースは、図9A~9AGに関してなど、より詳細に上述されている。
方法1800に関して上述したプロセス(例えば、図18)の詳細はまた、上述した方法にも類似の方式で適用可能であることに留意されたい。例えば、方法700、800、1000、1200、1300、1500及び1700は、方法1800を参照して上述した様々な方法の特性のうちの1つ以上を任意選択的に含む。簡潔にするために、これらの詳細は、以下で繰り返さない。
上記は、説明を目的として、特定の実施形態を参照して記述されている。しかしながら、上記の例示的な論考は、網羅的であること、又は開示される厳密な形態に本発明を限定することを意図するものではない。上記の教示を考慮して、多くの修正及び変形が可能である。本技術の原理、及びそれらの実際の適用を最も良く説明するために、実施形態が選択及び記載されている。それにより、他の当業者は、意図された具体的な用途に適するような様々な修正を用いて、本技術及び様々な実施形態を最も良好に利用することが可能となる。
添付図面を参照して、本開示及び例を十分に説明してきたが、様々な変更及び修正が、当業者には明らかとなるであろうことに留意されたい。そのような変更及び修正は、特許請求の範囲によって定義されるような、本開示及び例の範囲内に含まれるものとして理解されたい。
上述したように、本技術の一態様は、様々なソースから入手可能なデータを収集してアバターを表示及び使用することである。本開示は、いくつかの例において、この収集されたデータが、特定の人を一意に特定する個人情報データ、又は特定の人に連絡する若しくはその所在を突き止めるために使用できる個人情報データを含み得ることを考察する。そのような個人情報データとしては、人口統計データ、位置ベースのデータ、電話番号、電子メールアドレス、ツイッターID、自宅の住所、ユーザの健康若しくはフィットネスのレベルに関するデータ若しくは記録(例えば、バイタルサイン測定値、投薬情報、運動情報)、誕生日、又は任意の他の識別情報若しくは個人情報を挙げることができる。
本開示は、本技術におけるそのような個人情報データの使用がユーザの利益になる使用であり得る点を認識するものである。例えば、個人情報データを使用して、連絡先の表現のための推奨画像を提示することができる。更には、ユーザに利益をもたらす、個人情報データに関する他の使用もまた、本開示によって想到される。例えば、健康データ及びフィットネスデータは、ユーザの全般的なウェルネスについての洞察を提供するために使用することができ、又は、ウェルネスの目標を追求する技術を使用している個人への、積極的なフィードバックとして使用することもできる。
本開示は、そのような個人情報データの収集、分析、開示、伝送、記憶、又は他の使用に関与するエンティティが、確固たるプライバシーポリシー及び/又はプライバシー慣行を遵守するものとなることを想到する。具体的には、そのようなエンティティは、個人情報データを秘密として厳重に保守するための、業界又は政府の要件を満たしているか又は上回るものとして一般に認識されている、プライバシーのポリシー及び慣行を実施し、一貫して使用するべきである。そのようなポリシーは、ユーザによって容易にアクセス可能とするべきであり、データの収集及び/又は使用が変化するにつれて更新されるべきである。ユーザからの個人情報は、そのエンティティの合法的且つ正当な使用のために収集されるべきであり、それらの合法的使用を除いては、共有又は販売されるべきではない。更には、そのような収集/共有は、ユーザに告知して同意を得た後に実施されるべきである。更には、そのようなエンティティは、そのような個人情報データへのアクセスを保護して安全化し、その個人情報データへのアクセスを有する他者が、それらのプライバシーポリシー及び手順を遵守することを保証するための、あらゆる必要な措置を講じることを考慮するべきである。更には、そのようなエンティティは、広く受け入れられているプライバシーのポリシー及び慣行に対する自身の遵守を証明するために、第三者による評価を自らが受けることができる。更には、ポリシー及び慣行は、収集及び/又はアクセスされる具体的な個人情報データのタイプに適合されるべきであり、また、管轄権固有の考慮事項を含めた、適用可能な法令及び規格に適合されるべきである。例えば、アメリカ合衆国では、特定の健康データの収集又はアクセスは、医療保険の相互運用性と説明責任に関する法律(Health Insurance Portability and Accountability Act、HIPAA)などの、連邦法及び/又は州法によって管理することができ、その一方で、他国における健康データは、他の規制及びポリシーの対象となり得るものであり、それに従って対処されるべきである。それゆえ、各国において、異なる個人データのタイプに関して異なるプライバシー慣行が保たれるべきである。
前述のことがらにも関わらず、本開示はまた、個人情報データの使用又は個人情報データへのアクセスを、ユーザが選択的に阻止する実施形態も想到する。すなわち、本開示は、そのような個人情報データへのアクセスを防止又は阻止するように、ハードウェア要素及び/又はソフトウェア要素を提供することができると想到する。「オプトイン」及び「オプトアウト」の選択肢を提供することに加えて、本開示は、個人情報のアクセス又は使用に関する通知を提供することを想到する。例えば、ユーザの個人情報データにアクセスすることとなるアプリのダウンロード時にユーザに通知され、その後、個人情報データがアプリによってアクセスされる直前に再びユーザに注意してもよい。
更には、本開示の意図は、個人情報データを、非意図的若しくは無許可アクセス又は使用の危険性を最小限に抑える方法で、管理及び処理するべきであるという点である。データの収集を制限し、データがもはや必要とされなくなった時点で削除することによって、危険性を最小限に抑えることができる。更には、適用可能な場合、特定の健康関連アプリケーションを含めて、ユーザのプライバシーを保護するために、データの非特定化を使用することができる。非特定化は、適切な場合には、特定の識別子(例えば、生年月日など)を除去すること、記憶されたデータの量又は特異性を制御すること(例えば、位置データを住所レベルよりも都市レベルで収集すること)、データがどのように記憶されるかを制御すること(例えば、データをユーザ全体にわたって集約すること)及び/又は他の方法によって、容易にすることができる。
それゆえ、本開示は、1つ以上の様々な開示された実施形態を実施するための、個人情報データの使用を広範に網羅するものであるが、本開示はまた、そのような個人情報データにアクセスすることを必要とせずに、それらの様々な実施形態を実施することも可能であることを想到する。すなわち、本技術の様々な実施形態は、そのような個人情報データの全て又は一部分が欠如することにより、実施不可能となるものではない。例えば、コンテンツは、ユーザに関連付けられたデバイスにより要求されたコンテンツ、利用可能な他の非個人情報、若しくは公的に使用可能な情報などの、非個人情報データ又は最小限の量の個人情報に基づいて嗜好を推測することにより、ユーザに推奨することができる。