以下の説明は、例示的な方法、パラメータなどについて記載する。しかしながら、そのような説明は、本開示の範囲に対する限定として意図されるものではなく、代わりに例示的な実施形態の説明として提供されることを認識されたい。
テキストコンテンツを含む、又はテキストコンテンツの代わりにマルチメディアコンテンツを含むメッセージを送信すると、送信者のメッセージをより適切に伝達できる可能性がある。例えば、仮想アバター(例えば、アニメーション又は静的な絵文字やステッカー)などのマルチメディアコンテンツは、テキスト単独で通信するのが面倒な又は不可能なコンテキスト及び/又はトーン(例えば、「非言語コミュニケーション」と呼ばれるもの)を提供することができる。一部の場合には、所定の仮想アバターを使用して、このコンテキスト及び/又はトーンの一部を提供することができる。しかしながら、所定のコンテンツは、すべての状況をカバーすることができないか、又は微調整されたコンテキスト若しくはトーンを提供することができない。したがって、メッセージの一部として仮想アバターを生成、送信、及び受信するための効率的な方法及びインタフェースを提供する電子デバイスが必要である。そのような技術は、メッセージを送受信するユーザの認識的負担を軽減し、それにより、生産性を向上させることができる。更に、このような技法は、普通なら冗長なユーザ入力に浪費されるプロセッサ及び電池の電力を低減させることができる。
以下、図1A~図1B、図2、図3、図4A~図4B、及び図5A~図5Bは、仮想アバターを生成、送信、及び受信するための技術を実行するための例示的なデバイスの説明を提供する。図6A~図6MM及び図7A~図7Jは、仮想アバターを受信、生成、変更、及び送信するための例示的なユーザインタフェースを示している。図8A~図8B及び図9A~図9Bは、仮想アバターを受信、生成、変更、及び送信するための例示的な方法を示すフロー図である。図6A~図6MM及び図7A~図7Jのユーザインタフェースは、図8A~図8B及び図9A~図9Bのプロセスを含む後述するプロセスを示すために使用される。図10A~図10I、図11A~図11C、図12A~図12C、図13、図14A~図14D、図15A~図15B、図16A~図16B、図17A~図17B、及び図26A~図26Hは、いくつかの実施形態による、仮想アバターを生成及び変更するための例示的なユーザインタフェースを示す。これらの図におけるユーザインタフェースは、図18A、図18B、図19、図20、図21、図22、図23、図24、図25、及び図27におけるプロセスを含む、以下で説明するプロセスを例示するために使用される。図10A~図10I、図11A~図11C、図12A~図12C、図13、図14A~図14D、図15A~図15B、図16A~図16B、図17A~図17B、及び図26A~図26Hのユーザインタフェース、並びに図18A、図18B、図19、図20、図21、図22、図23、図24、図25、及び図27のプロセスを使用して、図6A~図6MM及び図7A~図7Jのインタフェース並びに図8A~図8B及び図9A~図9Bのプロセスで使用するための仮想アバターを生成することができる。
以下の説明では、様々な要素について説明するために、「第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)フィールドを検出するよく知られている回路を含む。無線通信は、複数の通信規格、通信プロトコル、及び通信技術のうちのいずれかを任意選択的に使用し、それらの通信規格、通信プロトコル、及び通信技術としては、移動通信用のグローバルシステム(GSM(登録商標))、拡張データGSM環境(EDGE)、高速ダウンリンクパケットアクセス(HSDPA)、高速アップリンクパケットアクセス(HSUPA)、エボリューション、Data-Only(EV-DO)、HSPA、HSPA+、2重セルHSPA(DC-HSPDA)、ロングタームエボリューション(LTE)、近距離無線通信(NFC)、広帯域符号分割多元接続(W-CDMA)、符号分割多元接続(CDMA)、時分割多元接続(TDMA)、Bluetooth(登録商標)、Bluetooth Low Energy(BTLE)、Wireless Fidelity(Wi-Fi)(登録商標)(例えば、IEEE 802.11a、IEEE 802.11b、IEEE 802.11g、IEEE 802.11n、及び/又はIEEE 802.11ac)、ボイスオーバーインターネットプロトコル(VoIP)、Wi-MAX、電子メール用のプロトコル(例えば、インターネットメッセージアクセスプロトコル(IMAP)及び/又はポストオフィスプロトコル(POP))、インスタントメッセージング(例えば、拡張可能メッセージング及びプレゼンスプロトコル(XMPP)、インスタントメッセージング及びプレゼンレバレッジ拡張のためのセッション開始プロトコル(SIMPLE)、インスタントメッセージング及びプレゼンスサービス(IMPS))、及び/又はショートメッセージサービス(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は、触覚及び/又は触知接触に基づいてユーザからの入力を受信するタッチ感知面、センサ、又は1組のセンサを有する。タッチスクリーン112及びディスプレイコントローラ156は(あらゆる関連モジュール及び/又はメモリ102内の命令セットとともに)、タッチスクリーン112上の接触(及び接触のあらゆる動き又は中断)を検出し、検出した接触を、タッチスクリーン112上に表示されるユーザインタフェースオブジェクトとの対話(例えば、1つ以上のソフトキー、アイコン、ウェブページ、又は画像)に変換する。例示的な実施形態では、タッチスクリーン112とユーザとの間の接触点は、ユーザの指に対応する。
タッチスクリーン112は、任意選択的に、LCD(液晶ディスプレイ)技術、LPD(発光ポリマーディスプレイ)技術、又はLED(発光ダイオード)技術を使用するが、他の実施形態では、他のディスプレイ技術も使用される。タッチスクリーン112及びディスプレイコントローラ156は、任意選択的に、それだけに限定されるものではないが、容量性、抵抗性、赤外線、及び表面音波の技術、並びにタッチスクリーン112との1つ以上の接触点を判定する他の近接センサアレイ又は他の要素を含む、現在知られている又は今後開発される複数のタッチ感知技術のうちのいずれかを使用して、接触及びそのあらゆる動き又は中断を検出する。例示的な実施形態では、カリフォルニア州クパチーノのApple Inc.からのiPhone(登録商標)及びiPod Touch(登録商標)に見られるものなどの、投影型相互静電容量感知技術が使用される。
タッチスクリーン112のいくつかの実施形態におけるタッチ感知ディスプレイは、任意選択的に、それぞれ全体として参照により本明細書に組み込まれている、米国特許第6,323,846号(Westermanら)、第6,570,557号(Westermanら)、及び/若しくは第6,677,932号(Westerman)、並びに/又は米国特許公報第2002/0015024A1号という米国特許に記載されているマルチタッチ感知タッチパッドに類似している。しかしながら、タッチスクリーン112はデバイス100からの視覚出力を表示するのに対して、タッチ感知タッチパッドは視覚出力を提供しない。
タッチスクリーン112のいくつかの実施形態におけるタッチ感知ディスプレイは、(1)2006年5月2日出願の米国特許出願第11/381,313号、「Multipoint Touch Surface Controller」、(2)2004年5月6日出願の米国特許出願第10/840,862号、「Multipoint Touchscreen」、(3)2004年7月30日出願の米国特許出願第10/903,964号、「Gestures For Touch Sensitive Input Devices」、(4)2005年1月31日出願の米国特許出願第11/048,264号、「Gestures For Touch Sensitive Input Devices」、(5)2005年1月18日出願の米国特許出願第11/038,590号、「Mode-Based Graphical User Interfaces For Touch Sensitive Input Devices」、(6)2005年9月16日出願の米国特許出願第11/228,758号、「Virtual Input Device Placement On A Touch Screen User Interface」、(7)2005年9月16日出願の米国特許出願第11/228,700号、「Operation Of A Computer With A Touch Screen Interface」、(8)2005年9月16日出願の米国特許出願第11/228,737号、「Activating Virtual Keys Of A Touch-Screen Virtual Keyboard」、及び(9)2006年3月3日出願の米国特許出願第11/367,749号、「Multi-Functional Hand-Held Device」という出願に記載されている。これらの出願はすべて、全体として参照により本明細書に組み込まれている。
タッチスクリーン112は、任意選択的に、100dpiを超えるビデオ解像度を有する。いくつかの実施形態では、タッチスクリーンは、約160dpiのビデオ解像度を有する。ユーザは、任意選択的に、スタイラス、指などの任意の適した物体又は付属物を使用して、タッチスクリーン112に接触する。いくつかの実施形態では、ユーザインタフェースは、指ベースの接触及びジェスチャを主に扱うように設計されるが、これは、タッチスクリーン上の指の接触面積がより大きいため、スタイラスベースの入力ほど精密でない可能性がある。いくつかの実施形態では、デバイスは、指に基づく粗い入力を、ユーザによって所望されているアクションを実行するための、正確なポインタ/カーソルの位置又はコマンドに変換する。
いくつかの実施形態では、タッチスクリーンに加えて、デバイス100は、任意選択的に、特定の機能をアクティブ化又は非アクティブ化するためのタッチパッドを含む。いくつかの実施形態では、タッチパッドは、タッチスクリーンとは異なり、視覚出力を表示しない、装置のタッチ感知エリアである。タッチパッドは、任意選択的に、タッチスクリーン112又はタッチスクリーンによって形成されるタッチ感知面の拡張部とは別個のタッチ感知面である。
デバイス100は、また、様々なコンポーネントに電力を供給する電力システム162を含む。電力システム162は、任意選択的に、電力管理システム、1つ以上の電源(例えば、バッテリ、交流(AC))、再充電システム、停電検出回路、電力コンバータ又はインバータ、電力状態インジケータ(例えば、発光ダイオード(LED))、並びにポータブルデバイス内での電力の生成、管理、及び分配に関連付けられた任意の他の構成要素を含む。
また、デバイス100は、任意選択的に、1つ以上の光センサ164を含む。図1Aは、I/Oサブシステム106内の光センサコントローラ158に結合された光センサを示す。光センサ164は、任意選択的に、電荷結合デバイス(charge-coupled device、CCD)又は相補的金属酸化膜半導体(complementary metal-oxide semiconductor、CMOS)フォトトランジスタを含む。光センサ164は、1つ以上のレンズを通って投影された環境からの光を受信し、その光を、画像を表すデータに変換する。光センサ164は、撮像モジュール143(カメラモジュールとも呼ばれる)と連動して、任意選択的に、静止画像又はビデオをキャプチャする。いくつかの実施形態では、光センサは、デバイスの前面にあるタッチスクリーンディスプレイ112とは反対に、デバイス100の裏面に位置し、したがってタッチスクリーンディスプレイは、静止画像及び/又はビデオ画像の取得のためのビューファインダとして使用することが有効である。いくつかの実施形態では、光センサは、デバイスの前面には位置し、したがってユーザの画像が、任意選択的に、テレビ会議のために入手され、ユーザは、他のテレビ会議参加者をタッチスクリーンディスプレイ上で見る。いくつかの実施形態では、光センサ164の位置は、ユーザによって(例えば、デバイスハウジング内でレンズ及びセンサを回転させることによって)変更することができ、したがって単一の光センサ164が、タッチスクリーンディスプレイとともに、テレビ会議にも静止画像及び/又はビデオ画像の取得にも使用される。
デバイス100はまた、任意選択的に、1つ以上の深度カメラセンサ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組の強度閾値の1つ以上を調整するソフトウェア設定が提供される(例えば、システムレベルのクリック「強度」パラメータによって、個々の強度閾値を調整すること、及び/又は複数の強度閾値を一度に調整することによる)。
接触/動きモジュール130は、任意選択的に、ユーザによるジェスチャ入力を検出する。タッチ感知面上の異なるジェスチャは、異なる接触パターンを有する(例えば検出される接触の動き、タイミング、及び/又は強度が異なる)。したがって、ジェスチャは、任意選択的に、特定の接触パターンを検出することによって検出される。例えば、指タップジェスチャを検出することは、指ダウンイベントを検出し、それに続いて指ダウンイベントと同じ位置(又は実質上同じ位置)(例えば、アイコンの位置)で指アップ(リフトオフ)イベントを検出することを含む。別の例として、タッチ感知面上で指スワイプジェスチャを検出することは、指ダウンイベントを検出し、それに続いて1つ以上の指ドラッグイベントを検出し、その後それに続いて指アップ(リフトオフ)イベントを検出することを含む。
グラフィックモジュール132は、表示されるグラフィックの視覚的な影響(例えば、輝度、透明度、彩度、コントラスト、又は他の視覚的特性)を変化させる構成要素を含めて、タッチスクリーン112又は他のディスプレイ上にグラフィックをレンダリング及び表示する様々な知られているソフトウェア構成要素を含む。本明細書では、「グラフィック」という用語は、それだけに限定されるものではないが、文字、ウェブページ、アイコン(ソフトキーを含むユーザインタフェースオブジェクトなど)、デジタル画像、ビデオ、アニメーションなどを含む、ユーザに表示することができる任意のオブジェクトを含む。
いくつかの実施形態では、グラフィックモジュール132は、使用されることになるグラフィックを表すデータを記憶する。各グラフィックには、任意選択的に、対応するコードが割り当てられる。グラフィックモジュール132は、アプリケーションなどから、必要に応じて、座標データ及び他のグラフィック特性データとともに、表示されることとなるグラフィックを指定する1つ以上のコードを受信し、次にディスプレイコントローラ156に出力するスクリーンの画像データを生成する。
触覚フィードバックモジュール133は、デバイス100とのユーザ対話に応じて、デバイス100上の1つ以上の場所で触知出力を生成するために、触知出力生成器(単数又は複数)167によって使用される命令を生成するための、様々なソフトウェア構成要素を含む。
テキスト入力モジュール134は任意選択的に、グラフィックモジュール132の構成要素であり、様々なアプリケーション(例えば、連絡先137、電子メール140、IM141、ブラウザ147、及びテキスト入力を必要とする任意の他のアプリケーション)においてテキストを入力するための、ソフトキーボードを提供する。
GPSモジュール135は、デバイスの位置を判定し、この情報を様々なアプリケーションで使用するために(例えば、位置に基づくダイヤル発呼で使用するために電話138へ、画像/ビデオのメタデータとしてカメラ143へ、並びに、気象ウィジェット、地域のイエローページウィジェット、及び地図/ナビゲーションウィジェットなどの、位置に基づくサービスを提供するアプリケーションへ)提供する。
アプリケーション136は、任意選択的に、以下のモジュール(又は命令セット)又はそれらのサブセット若しくはスーパーセットを含む。
●連絡先モジュール137(アドレス帳又は連絡先リストと称されることもある)、
●電話モジュール138、
●テレビ会議モジュール139、
●電子メールクライアントモジュール140、
●インスタントメッセージング(Instant messaging)(IM)モジュール141、
●トレーニングサポートモジュール142、
●静止画像及び/又はビデオ画像用のカメラモジュール143、
●画像管理モジュール144、
●ビデオプレーヤモジュール、
●音楽プレーヤモジュール、
●ブラウザモジュール147、
●カレンダモジュール148、
●気象ウィジェット149-1、株価ウィジェット149-2、計算機ウィジェット149-3、アラーム時計ウィジェット149-4、辞書ウィジェット149-5、及びユーザによって取得された他のウィジェット、並びにユーザ作成ウィジェット149-6のうちの1つ以上を任意選択的に含む、ウィジェットモジュール149、
●ユーザ作成ウィジェット149-6を作成するためのウィジェットクリエータモジュール150、
●検索モジュール151、
●ビデオプレーヤモジュール及び音楽プレーヤモジュールを統合した、ビデオ及びミュージックプレーヤモジュール152、
●メモモジュール153、
●地図モジュール154、及び/又は
●オンラインビデオモジュール155。
任意選択的にメモリ102に記憶される他のアプリケーション136の例としては、他のワードプロセッシングアプリケーション、他の画像編集アプリケーション、描画アプリケーション、プレゼンテーションアプリケーション、JAVA(登録商標)対応アプリケーション、暗号化、デジタル著作権管理、音声認識、及び音声複製が挙げられる。
タッチスクリーン112、ディスプレイコントローラ156、接触/動きモジュール130、グラフィックモジュール132、及びテキスト入力モジュール134と連動して、連絡先モジュール137は、任意選択的に、アドレス帳に名前(単数又は複数)を追加すること、アドレス帳から名前(単数又は複数)を削除すること、電話番号(単数又は複数)、電子メールアドレス(単数又は複数)、住所(単数又は複数)、又は他の情報を名前に関連付けること、画像を名前に関連付けること、名前を分類して並べ替えること、電話番号又は電子メールアドレスを提供して、電話138、テレビ会議モジュール139、電子メール140、又はIM141による通信を開始及び/又は促進することなどを含めて、アドレス帳又は連絡先リスト(例えば、メモリ102又はメモリ370内の連絡先モジュール137のアプリケーション内部状態192内に記憶される)を管理するために使用される。
RF回路108、オーディオ回路110、スピーカ111、マイクロフォン113、タッチスクリーン112、ディスプレイコントローラ156、接触/動きモジュール130、グラフィックモジュール132、及びテキスト入力モジュール134と連動して、電話モジュール138は、任意選択的に、電話番号に対応する文字シーケンスの入力、連絡先モジュール137内の1つ以上の電話番号へのアクセス、入力された電話番号の修正、それぞれの電話番号のダイヤル、会話の実施、会話が終了したときの通話停止又はハングアップのために使用される。前述したように、無線通信は、任意選択的に、複数の通信規格、プロトコル、及び技術のうちのいずれかを使用する。
RF回路108、オーディオ回路110、スピーカ111、マイクロフォン113、タッチスクリーン112、ディスプレイコントローラ156、光センサ164、光センサコントローラ158、接触/動きモジュール130、グラフィックモジュール132、テキスト入力モジュール134、連絡先モジュール137、及び電話モジュール138と連動して、テレビ会議モジュール139は、ユーザ命令に従ってユーザと1人以上の他の参加者との間のテレビ会議を開始、実行、及び終了するための実行可能な命令を含む。
RF回路108、タッチスクリーン112、ディスプレイコントローラ156、接触/動きモジュール130、グラフィックモジュール132、及びテキスト入力モジュール134と連動して、電子メールクライアントモジュール140は、ユーザ命令に応じて電子メールを作成、送信、受信、及び管理するための実行可能な命令を含む。画像管理モジュール144と連動して、電子メールクライアントモジュール140は、カメラモジュール143で撮影された静止画像又はビデオ画像を有する電子メールの作成及び送信を非常に容易にする。
RF回路108、タッチスクリーン112、ディスプレイコントローラ156、接触/動きモジュール130、グラフィックモジュール132、及びテキスト入力モジュール134と連動して、インスタントメッセージングモジュール141は、インスタントメッセージに対応する文字シーケンスの入力、以前に入力された文字の修正、それぞれのインスタントメッセージの送信(例えば、電話通信ベースのインスタントメッセージ向けのショートメッセージサービス(Short Message Service、SMS)若しくはマルチメディアメッセージサービス(Multimedia Message Service、MMS)プロトコル、又はインターネットベースのインスタントメッセージ向けのXMPP、SIMPLE、若しくはIMPSを使用する)、インスタントメッセージの受信、及び受信したインスタントメッセージの閲覧のための実行可能な命令を含む。いくつかの実施形態では、送信及び/又は受信されるインスタントメッセージは、任意選択的に、MMS及び/又は拡張メッセージングサービス(Enhanced Messaging Service、EMS)でサポートされるグラフィック、写真、オーディオファイル、ビデオファイル、及び/又は他の添付ファイルを含む。本明細書では、「インスタントメッセージング」とは、電話通信ベースのメッセージ(例えば、SMS又はMMSを使用して送信されるメッセージ)と、インターネットベースのメッセージ(例えば、XMPP、SIMPLE、又はIMPSを使用して送信されるメッセージ)との両方を指す。
RF回路108、タッチスクリーン112、ディスプレイコントローラ156、接触/動きモジュール130、グラフィックモジュール132、テキスト入力モジュール134、GPSモジュール135、地図モジュール154、及び音楽プレーヤモジュールと連動して、トレーニングサポートモジュール142は、トレーニング(例えば、時間、距離、及び/又はカロリー燃焼目標を有する)の作成、トレーニングセンサ(スポーツデバイス)との通信、トレーニングセンサデータの受信、トレーニングをモニタするために使用されるセンサの較正、トレーニングのための音楽の選択及び再生、並びに、トレーニングデータの表示、記憶、及び送信のための実行可能な命令を含む。
タッチスクリーン112、ディスプレイコントローラ156、光センサ164、光センサコントローラ158、接触/動きモジュール130、グラフィックモジュール132、及び画像管理モジュール144と連動して、カメラモジュール143は、静止画像若しくはビデオ(ビデオストリームを含む)のキャプチャ及びメモリ102内への記憶、静止画像若しくはビデオの特性の修正、又はメモリ102からの静止画像若しくはビデオの削除のための実行可能な命令を含む。
タッチスクリーン112、ディスプレイコントローラ156、接触/動きモジュール130、グラフィックモジュール132、テキスト入力モジュール134、及びカメラモジュール143と連動して、画像管理モジュール144は、静止画像及び/又はビデオ画像の配置、修正(例えば、編集)、あるいはその他の操作、ラベル付け、削除、提示(例えば、デジタルスライドショー又はアルバムにおける)、及び記憶のための実行可能な命令を含む。
RF回路108、タッチスクリーン112、ディスプレイコントローラ156、接触/動きモジュール130、グラフィックモジュール132、及びテキスト入力モジュール134と連動して、ブラウザモジュール147は、ウェブページ又はその一部分、並びにウェブページにリンクされた添付ファイル及び他のファイルの検索、リンク、受信、及び表示を含めて、ユーザ命令に従ってインターネットをブラウジングするための実行可能な命令を含む。
RF回路108、タッチスクリーン112、ディスプレイコントローラ156、接触/動きモジュール130、グラフィックモジュール132、テキスト入力モジュール134、電子メールクライアントモジュール140、及びブラウザモジュール147と連動して、カレンダモジュール148は、ユーザ命令に従ってカレンダ及びカレンダに関連付けられたデータ(例えば、カレンダ入力、やることリストなど)を作成、表示、修正、及び記憶するための実行可能な命令を含む。
RF回路108、タッチスクリーン112、ディスプレイコントローラ156、接触/動きモジュール130、グラフィックモジュール132、テキスト入力モジュール134、及びブラウザモジュール147と連動して、ウィジェットモジュール149は、任意選択的にユーザによってダウンロード及び使用されるミニアプリケーション(例えば、気象ウィジェット149-1、株価ウィジェット149-2、計算機ウィジェット149-3、アラーム時計ウィジェット149-4、及び辞書ウィジェット149-5)、又はユーザによって作成されるミニアプリケーション(例えば、ユーザ作成ウィジェット149-6)である。いくつかの実施形態では、ウィジェットは、HTML(Hypertext Markup Language;ハイパーテキストマークアップ言語)ファイル、CSS(Cascading Style Sheets;カスケーディングスタイルシート)ファイル、及びJavaScript(登録商標)ファイルを含む。いくつかの実施形態では、ウィジェットは、XML(Extensible Markup Language:拡張可能マークアップ言語)ファイル及びJavaScriptファイル(例えば、Yahoo!ウィジェット)を含む。
RF回路108、タッチスクリーン112、ディスプレイコントローラ156、接触/動きモジュール130、グラフィックモジュール132、テキスト入力モジュール134、及びブラウザモジュール147と連動して、ウィジェットクリエータモジュール150は、任意選択的に、ウィジェットを作成する(例えば、ウェブページのユーザ指定部分をウィジェットにする)ために、ユーザによって使用される。
タッチスクリーン112、ディスプレイコントローラ156、接触/動きモジュール130、グラフィックモジュール132、及びテキスト入力モジュール134と連動して、検索モジュール151は、ユーザ命令に従って1つ以上の検索基準(例えば、1つ以上のユーザ指定検索語)に一致するメモリ102内の文字、音楽、サウンド、画像、ビデオ、及び/又は他のファイルを検索するための実行可能な命令を含む。
タッチスクリーン112、ディスプレイコントローラ156、接触/動きモジュール130、グラフィックモジュール132、オーディオ回路110、スピーカ111、RF回路108、及びブラウザモジュール147と連動して、ビデオ及び音楽プレーヤモジュール152は、ユーザがMP3若しくはAACファイルなどの1つ以上のファイル形式で記憶されている記録された音楽及び他のサウンドファイルをダウンロード及び再生することを可能にする実行可能な命令、並びにビデオを表示、提示、又は他の方法で(例えば、タッチスクリーン112上又は外部ポート124を介して接続された外部ディスプレイ上に)再生するための実行可能な命令を含む。いくつかの実施形態では、デバイス100は、任意選択的に、iPod(Apple社の商標)などのMP3プレーヤの機能を含む。
タッチスクリーン112、ディスプレイコントローラ156、接触/動きモジュール130、グラフィックモジュール132、及びテキスト入力モジュール134と連動して、メモモジュール153は、ユーザ命令に従ってメモ、やることリストなどを作成及び管理するための実行可能な命令を含む。
RF回路108、タッチスクリーン112、ディスプレイコントローラ156、接触/動きモジュール130、グラフィックモジュール132、テキスト入力モジュール134、GPSモジュール135、及びブラウザモジュール147と連動して、地図モジュール154は、任意選択的に、ユーザ命令に従って、地図及び地図に関連付けられたデータ(例えば、運転方向、特定の場所又はその付近の店舗及び他の対象地点に関するデータ、並びに他の場所ベースのデータ)を受信、表示、修正、及び記憶するために使用される。
タッチスクリーン112、ディスプレイコントローラ156、接触/動きモジュール130、グラフィックモジュール132、オーディオ回路110、スピーカ111、RF回路108、テキスト入力モジュール134、電子メールクライアントモジュール140、及びブラウザモジュール147と連動して、オンラインビデオモジュール155は、ユーザが特定のオンラインビデオへのアクセス、特定のオンラインビデオのブラウジング、受信(例えば、ストリーミング及び/又はダウンロードによる)、再生(例えば、タッチスクリーン上又は外部ポート124を介して接続された外部ディスプレイ上)、特定のオンラインビデオへのリンクを有する電子メールの送信、並びにH.264などの1つ以上のファイル形式のオンラインビデオの他の管理を行うことを可能にする命令を含む。いくつかの実施形態では、特定のオンラインビデオへのリンクを送信するために、電子メールクライアントモジュール140ではなく、インスタントメッセージングモジュール141が使用される。オンラインビデオアプリケーションについての追加の説明は、その内容が全体として参照により本明細書に組み込まれている、2007年6月20日出願の米国仮特許出願第60/936,562号、「Portable Multifunction Device,Method,and Graphical User Interface for Playing Online Videos」、及び2007年12月31日出願の米国特許出願第11/968,067号、「Portable Multifunction Device,Method,and Graphical User Interface for Playing Online Videos」において見ることができる。
上記で特定したモジュール及びアプリケーションはそれぞれ、前述した1つ以上の機能及び本出願に記載する方法(例えば、本明細書に記載するコンピュータにより実施される方法及び他の情報処理方法)を実行する1組の実行可能な命令に対応する。これらのモジュール(例えば、命令セット)は、別個のソフトウェアプログラム、手順、又はモジュールとして実施する必要はなく、したがって、様々な実施形態において、これらのモジュールの様々なサブセットが、任意選択的に、組み合わされ、又は他の形で再構成される。例えば、ビデオプレーヤモジュールは、任意選択的に、音楽プレーヤモジュールと組み合わされて、単一のモジュール(例えば、図1Aのビデオ及び音楽プレーヤモジュール152)にされる。いくつかの実施形態では、メモリ102は、任意選択的に、上記で特定したモジュール及びデータ構造のサブセットを記憶する。更に、メモリ102は、上記で説明されていない追加のモジュール及びデータ構造を任意選択的に記憶する。
いくつかの実施形態では、デバイス100は、そのデバイスにおける所定の機能のセットの動作がタッチスクリーン及び/又はタッチパッドのみを通じて実行されるデバイスである。デバイス100が動作するための主要な入力コントロールデバイスとしてタッチスクリーン及び/又はタッチパッドを使用することにより、任意選択的に、デバイス100上の物理的な入力コントロールデバイス(プッシュボタン、ダイヤルなど)の数が削減される。
タッチスクリーン及び/又はタッチパッドを通じてのみ実行される所定の機能のセットは、任意選択的に、ユーザインタフェース間のナビゲーションを含む。いくつかの実施形態では、タッチパッドは、ユーザによってタッチされたときに、デバイス100上に表示される任意のユーザインタフェースから、メインメニュー、ホームメニュー、又はルートメニューにデバイス100をナビゲートする。このような実施形態では、「メニューボタン」は、タッチパッドを使用して実装される。いくつかの他の実施形態では、メニューボタンは、タッチパッドではなく、物理プッシュボタン又はその他の物理入力コントロールデバイスである。
図1Bは、いくつかの実施形態によるイベント処理のための例示的な構成要素を示すブロック図である。いくつかの実施形態では、メモリ102(図1A)又は370(図3)は、イベントソータ170(例えば、オペレーティングシステム126内)と、それぞれのアプリケーション136-1(例えば、前述のアプリケーション137~151、155、380~390のうちのいずれか)とを含む。
イベントソータ170は、イベント情報を受信し、イベント情報が配信されるアプリケーション136-1及びアプリケーション136-1のアプリケーションビュー191を判定する。イベントソータ170は、イベントモニタ171及びイベントディスパッチャモジュール174を含む。いくつかの実施形態では、アプリケーション136-1は、アプリケーションがアクティブ又は実行中であるときにタッチ感知ディスプレイ112上に表示される現在のアプリケーションビューを示すアプリケーション内部状態192を含む。いくつかの実施形態では、デバイス/グローバル内部状態157は、どのアプリケーション(単数又は複数)が現在アクティブであるかを判定するためにイベントソータ170によって使用され、アプリケーション内部状態192は、イベント情報が配信されるアプリケーションビュー191を決定するためにイベントソータ170によって使用される。
いくつかの実施形態では、アプリケーション内部状態192は、アプリケーション136-1が実行を再開するときに使用される再開情報、アプリケーション136-1によって表示されている又は表示される準備ができている情報を示すユーザインタフェース状態情報、ユーザがアプリケーション136-1の以前の状態又はビューに戻ることを可能にする状態待ち行列、及びユーザが行った以前のアクションのリドゥ/アンドゥ待ち行列のうちの1つ以上などの追加の情報を含む。
イベントモニタ171は、周辺機器インタフェース118からイベント情報を受信する。イベント情報は、サブイベント(例えば、マルチタッチジェスチャの一部としてのタッチ感知ディスプレイ112上のユーザタッチ)に関する情報を含む。周辺機器インタフェース118は、I/Oサブシステム106、又は近接センサ166、加速度計(単数又は複数)168、及び/若しくは(オーディオ回路110を介した)マイクロフォン113などのセンサから受信する情報を伝送する。周辺機器インタフェース118がI/Oサブシステム106から受信する情報は、タッチ感知ディスプレイ112又はタッチ感知面からの情報を含む。
いくつかの実施形態では、イベントモニタ171は、所定の間隔で周辺機器インタフェース118に要求を送信する。それに応じて、周辺機器インタフェース118は、イベント情報を伝送する。他の実施形態では、周辺機器インタフェース118は、重要なイベント(例えば、所定のノイズ閾値を上回る及び/又は所定の持続時間を超える入力の受信)があるときのみイベント情報を送信する。
いくつかの実施形態では、イベントソータ170はまた、ヒットビュー判定モジュール172及び/又はアクティブイベント認識部判定モジュール173を含む。
ヒットビュー判定モジュール172は、タッチ感知ディスプレイ112が2つ以上のビューを表示するとき、サブイベントが1つ以上のビュー内のどこで行われたかを判定するソフトウェア手順を提供する。ビューは、ユーザがディスプレイ上で見ることができる制御装置及び他の要素から構成されている。
アプリケーションに関連付けられたユーザインタフェースの別の態様は、本明細書ではアプリケーションビュー又はユーザインタフェースウィンドウと呼ばれることもあるビューのセットであり、その中で情報が表示され、タッチに基づくジェスチャが生じる。タッチが検出される(それぞれのアプリケーションの)アプリケーションビューは、任意選択的に、アプリケーションのプログラム階層又はビュー階層内のプログラムレベルに対応する。例えば、タッチが検出される最下位レベルビューは、任意選択的に、ヒットビューと呼ばれ、また、適切な入力として認識されるイベントのセットは、任意選択的に、タッチによるジェスチャを開始する初期タッチのヒットビューに少なくとも部分的に基づいて決定される。
ヒットビュー判定モジュール172は、タッチに基づくジェスチャのサブイベントに関連する情報を受信する。アプリケーションが階層状に構成された複数のビューを有するときには、ヒットビュー判定モジュール172は、サブイベントを処理すべき階層内の最下位のビューとして、ヒットビューを特定する。ほとんどの状況では、ヒットビューは、開始サブイベント(例えば、イベント又は潜在的イベントを形成するサブイベントシーケンス内の第1のサブイベント)が行われる最も低いレベルのビューである。ヒットビューがヒットビュー判定モジュール172によって特定された後、このヒットビューは、典型的には、ヒットビューとして特定されたのと同じタッチ又は入力ソースに関係するすべてのサブイベントを受信する。
アクティブイベント認識部判定モジュール173は、ビュー階層内のどのビュー(単数又は複数)がサブイベントの特定のシーケンスを受信すべきかを判定する。いくつかの実施形態では、アクティブイベント認識部判定モジュール173は、ヒットビューのみがサブイベントの特定のシーケンスを受信すべきであると判定する。他の実施形態では、アクティブイベント認識部判定モジュール173は、サブイベントの物理位置を含むすべてのビューがアクティブに関わりがあるビューであると判定し、したがって、すべてのアクティブに関わりがあるビューが、サブイベントの特定のシーケンスを受信すべきであると判定する。他の実施形態では、タッチサブイベントが1つの特定のビューに関連するエリアに完全に限定された場合でも、階層内の上位のビューは、依然としてアクティブに関わりがあるビューであり続ける。
イベントディスパッチャモジュール174は、イベント情報をイベント認識部(例えばイベント認識部180)にディスパッチする。アクティブイベント認識部判定モジュール173を含む実施形態において、イベントディスパッチャモジュール174は、アクティブイベント認識部判定モジュール173により判定されたイベント認識部にイベント情報を配信する。いくつかの実施形態では、イベントディスパッチャモジュール174は、それぞれのイベント受信部182によって取得されるイベント情報をイベント待ち行列に記憶する。
いくつかの実施形態では、オペレーティングシステム126は、イベントソータ170を含む。代替として、アプリケーション136-1がイベントソータ170を含む。更に他の実施形態では、イベントソータ170は、独立型のモジュール、又は接触/動きモジュール130などの、メモリ102に記憶された別のモジュールの一部である。
いくつかの実施形態では、アプリケーション136-1は、それぞれがアプリケーションのユーザインタフェースのそれぞれのビュー内で発生するタッチイベントを処理する命令を含む、複数のイベントハンドラ190及び1つ以上のアプリケーションビュー191を含む。アプリケーション136-1の各アプリケーションビュー191は、1つ以上のイベント認識部180を含む。典型的には、それぞれのアプリケーションビュー191は、複数のイベント認識部180を含む。他の実施形態では、イベント認識部180のうちの任意の1つ以上は、ユーザインタフェースキット、又は、アプリケーション136-1が方法及び他の属性を継承する上位レベルのオブジェクトなどの、別個のモジュールの一部である。いくつかの実施形態では、対応するイベントハンドラ190は、データアップデータ176、オブジェクトアップデータ177、GUIアップデータ178及び/又はイベントソータ170から受信されたイベントデータ179、のうちの1つ以上を含む。イベントハンドラ190は、任意選択的に、データアップデータ176、オブジェクトアップデータ177、又はGUIアップデータ178を利用し又は呼び出して、アプリケーション内部状態192を更新する。別法として、アプリケーションビュー191のうちの1つ以上が、1つ以上のそれぞれのイベントハンドラ190を含む。また、いくつかの実施形態では、データアップデータ176、オブジェクトアップデータ177及びGUIアップデータ178のうちの1つ以上は、対応するアプリケーションビュー191に含まれる。
それぞれのイベント認識部180は、イベントソータ170からイベント情報(例えば、イベントデータ179)を受信し、このイベント情報からイベントを特定する。イベント認識部180は、イベント受信部182及びイベント比較部184を含む。いくつかの実施形態では、イベント認識部180はまた、メタデータ183及びイベント配信命令188(任意選択的にサブイベント配信命令を含む)の少なくともサブセットも含む。
イベント受信部182は、イベントソータ170からイベント情報を受信する。イベント情報は、サブイベントについての情報、例えば、タッチ又はタッチの移動についての情報を含む。サブイベントに応じて、イベント情報はまた、サブイベントの位置などの追加の情報を含む。サブイベントがタッチの動きに関わるとき、イベント情報はまた任意選択的に、サブイベントの速さ及び方向を含む。いくつかの実施形態では、イベントは、1つの向きから別の向きへの(例えば、縦向きから横向きへ、又はその逆の)デバイスの回転を含み、イベント情報は、デバイスの現在の向き(デバイスの姿勢とも呼ぶ)についての対応する情報を含む。
イベント比較部184は、イベント情報を、定義済みのイベント又はサブイベントの定義と比較し、その比較に基づいて、イベント又はサブイベントを判定するか、あるいはイベント又はサブイベントの状態を判定若しくは更新する。いくつかの実施形態では、イベント比較部184は、イベント定義186を含む。イベント定義186は、例えばイベント1(187-1)及びイベント2(187-2)などのイベント(例えば所定のサブイベントのシーケンス)の定義を含む。いくつかの実施形態では、イベント(187)内のサブイベントは、例えば、タッチの開始、タッチの終了、タッチの動き、タッチの取り消し、及び複数のタッチを含む。一例では、イベント1(187-1)についての定義は、表示されたオブジェクト上のダブルタップである。ダブルタップは、例えば、所定の段階に対する表示オブジェクト上の第1のタッチ(タッチ開始)、所定の段階に対する第1のリフトオフ(タッチ終了)、所定の段階に対する表示オブジェクト上の第2のタッチ(タッチ開始)、及び所定の段階に対する第2のリフトオフ(タッチ終了)を含む。別の例では、イベント2(187-2)の定義は、表示されたオブジェクト上のドラッグである。ドラッグは、例えば、所定の段階に対する表示オブジェクトのタッチ(又は接触)、タッチ感知ディスプレイ112におけるタッチの動き、及びタッチのリフトオフ(タッチ終了)を含む。いくつかの実施形態では、イベントはまた、1つ以上の関連付けられたイベントハンドラ190に関する情報を含む。
いくつかの実施形態では、イベント定義187は、それぞれのユーザインタフェースオブジェクトについてのイベントの定義を含む。いくつかの実施形態では、イベント比較部184は、どのユーザインタフェースオブジェクトがサブイベントに関連付けられているかを判定するヒットテストを実行する。例えば、タッチ感知ディスプレイ112上に、3つのユーザインタフェースオブジェクトが表示されているアプリケーションビューでは、タッチ感知ディスプレイ112上でタッチが検出されると、イベント比較部184は、3つのユーザインタフェースオブジェクトのうちのいずれが、そのタッチ(サブイベント)と関連付けられているかを判定するために、ヒットテストを実行する。表示された各オブジェクトが、対応するイベントハンドラ190に関連付けられている場合、イベント比較部は、ヒットテストの結果を用いて、どのイベントハンドラ190をアクティブ化すべきかを判定する。例えば、イベント比較部184は、ヒットテストをトリガするサブイベント及びオブジェクトと関連付けられたイベントハンドラを選択する。
いくつかの実施形態では、それぞれのイベント(187)に対する定義はまた、サブイベントシーケンスがイベント認識部のイベントタイプに対応するか否かが判定される後までイベント情報の伝送を遅延する遅延アクションを含む。
それぞれのイベント認識部180が一連のサブイベントがイベント定義186のいずれのイベントとも一致しないと判断した場合には、それぞれのイベント認識部180は、イベント不可能、イベント失敗、又はイベント終了の状態になり、その後は、タッチによるジェスチャの後続のサブイベントを無視する。この状況では、ヒットビューについてアクティブのままである他のイベント認識部があれば、そのイベント認識部は、進行中のタッチによるジェスチャのサブイベントの追跡及び処理を続行する。
いくつかの実施形態では、対応するイベント認識部180は、イベント配信システムがどのようにサブイベント配信を実行すべきかをアクティブに関与しているイベント認識部に示す構成可能なプロパティ、フラグ、及び/又はリストを有するメタデータ183を含む。いくつかの実施形態では、メタデータ183は、イベント認識部が互いにどのように対話するか、又はイベント認識部が互いにどのように対話することができるようになっているかを示す構成可能なプロパティ、フラグ、及び/又はリストを含む。いくつかの実施形態では、メタデータ183は、サブイベントがビュー階層又はプログラム階層における多様なレベルに配信されるかを示す構成可能なプロパティ、フラグ、及び/又はリストを含む。
いくつかの実施形態では、それぞれのイベント認識部180は、イベントの1つ以上の特定のサブイベントが認識されるときに、イベントと関連付けられたイベントハンドラ190をアクティブ化する。いくつかの実施形態では、それぞれのイベント認識部180は、イベントと関連付けられたイベント情報をイベントハンドラ190に配信する。イベントハンドラ190をアクティブ化することは、それぞれのヒットビューにサブイベントを送信する(及び、送信を延期する)こととは別個である。いくつかの実施形態では、イベント認識部180は、認識したイベントと関連付けられたフラグを投入し、そのフラグと関連付けられたイベントハンドラ190は、そのフラグを捕らえ、既定のプロセスを実行する。
いくつかの実施形態では、イベント配信命令188は、イベントハンドラをアクティブ化することなくサブイベントについてのイベント情報を配信するサブイベント配信命令を含む。代わりに、サブイベント配信命令は、一連のサブイベントと関連付けられたイベントハンドラに、又はアクティブに関与しているビューにイベント情報を配信する。一連のサブイベント又はアクティブに関与しているビューと関連付けられたイベントハンドラは、イベント情報を受信し、所定の処理を実行する。
いくつかの実施形態では、データアップデータ176は、アプリケーション136-1で使用されるデータを作成及び更新する。例えば、データアップデータ176は、連絡先モジュール137で使用される電話番号を更新する、又はビデオプレーヤモジュールで使用されるビデオファイルを記憶する。いくつかの実施形態では、オブジェクトアップデータ177は、アプリケーション136-1で使用されるオブジェクトを作成及び更新する。例えば、オブジェクトアップデータ177は、新たなユーザインタフェースオブジェクトを作成するか、又はユーザインタフェースオブジェクトの位置を更新する。GUIアップデータ178は、GUIを更新する。例えば、GUIアップデータ178は、表示情報を準備し、タッチ感知ディスプレイ上に表示するために表示情報をグラフィックモジュール132に送る。
いくつかの実施形態では、イベントハンドラ(単数又は複数)190は、データアップデータ176、オブジェクトアップデータ177、及びGUIアップデータ178を含むか又はそれらへのアクセスを有する。いくつかの実施形態では、データアップデータ176、オブジェクトアップデータ177、及びGUIアップデータ178は、それぞれのアプリケーション136-1又はアプリケーションビュー191の単一モジュールに含まれる。他の実施形態では、それらは、2つ以上のソフトウェアモジュールに含まれる。
タッチ感知ディスプレイ上のユーザタッチのイベント処理に関する上記の論考は、入力デバイスを有する多機能デバイス100を動作させるためのユーザ入力の他の形態にも当てはまり、それらのユーザ入力は、必ずしもすべてがタッチスクリーン上で開始されるとは限らないことが理解されよう。例えば、キーボードの単一又は複数の押圧若しくは保持と任意選択的に連携される、マウスの移動及びマウスボタンの押圧、タッチパッド上のタップ、ドラッグ、スクロールなどの接触の動き、ペンスタイラス入力、デバイスの移動、口頭による命令、検出された目の動き、バイオメトリック入力、並びに/又はそれらの任意の組合せを、任意選択的に、認識するイベントを定義するサブイベントに対応する入力として利用する。
図2は、いくつかの実施形態によるタッチスクリーン112を有するポータブル多機能デバイス100を示す。タッチスクリーンは、任意選択的に、ユーザインタフェース(user interface、UI)200内に1つ以上のグラフィックを表示する。本実施形態、並びに以下で説明される他の実施形態では、ユーザは、例えば、1本以上の指202(図には正確な縮尺では描かれていない)又は1つ以上のスタイラス203(図には正確な縮尺では描かれていない)を使用して、グラフィック上でジェスチャを実施することによって、それらのグラフィックのうちの1つ以上を選択することが可能となる。いくつかの実施形態では、1つ以上のグラフィックの選択は、ユーザが、その1つ以上のグラフィックとの接触を中断する場合に実施される。いくつかの実施形態では、ジェスチャは、任意選択的に、1つ以上のタップ、1つ以上のスワイプ(左から右、右から左、上向き、及び/若しくは下向き)、並びに/又はデバイス100と接触した指のロール(右から左、左から右、上向き、及び/若しくは下向き)を含む。いくつかの実装形態又は状況では、グラフィックとの不測の接触は、そのグラフィックを選択するものではない。例えば、選択に対応するジェスチャがタップである場合、アプリケーションアイコンの上をスイープするスワイプジェスチャは、任意選択的に、対応するアプリケーションを選択するものではない。
デバイス100はまた、任意選択的に、「ホーム」ボタン又はメニューボタン204などの1つ以上の物理ボタンを含む。前述したように、メニューボタン204は、任意選択的に、任意選択的にデバイス100上で実行される1組のアプリケーション内の任意のアプリケーション136へナビゲートするために使用される。別法として、いくつかの実施形態では、メニューボタンは、タッチスクリーン112上に表示されるGUI内のソフトキーとして実施される。
いくつかの実施形態では、デバイス100は、タッチスクリーン112、メニューボタン204、デバイスの電源をオン/オフにしてデバイスをロックするプッシュボタン206、音量調整ボタン208、加入者識別モジュール(SIM)カードスロット210、ヘッドセットジャック212、及びドッキング/充電用外部ポート124を含む。プッシュボタン206は、任意選択的に、ボタンを押し下げて、所定の期間にわたってボタンを押し下げた状態に保持することによって、デバイスの電源をオン/オフするため、ボタンを押し下げて、所定の期間が経過する前にボタンを解放することによって、デバイスをロックするため、及び/又はデバイスをロック解除する、若しくはロック解除プロセスを開始するために、使用される。代替的実施形態では、デバイス100はまた、マイクロフォン113を介して、一部の機能をアクティブ化又は非アクティブ化するための口頭入力も受け入れる。デバイス100はまた、任意選択的に、タッチスクリーン112上の接触の強度を検出する1つ以上の接触強度センサ165、及び/又はデバイス100のユーザに対する触知出力を生成する1つ以上の触知出力生成器167を含む。
図3は、いくつかの実施形態によるディスプレイ及びタッチ感知面を有する例示的な多機能デバイスのブロック図である。デバイス300は、ポータブル型である必要はない。いくつかの実施形態では、デバイス300は、ラップトップコンピュータ、デスクトップコンピュータ、タブレットコンピュータ、マルチメディア再生デバイス、ナビゲーションデバイス、教育的デバイス(子供の学習玩具など)、ゲームシステム、又は制御デバイス(例えば、家庭用又は業務用コントローラ)である。デバイス300は、典型的には、1つ以上の処理ユニット(CPU)310、1つ以上のネットワーク又は他の通信インタフェース360、メモリ370、及びこれらの構成要素を相互接続する1つ以上の通信バス320を含む。通信バス320は、任意選択的に、システム構成要素間の通信を相互接続及び制御する回路(チップセットと呼ばれることもある)を含む。デバイス300は、ディスプレイ340を備える入出力(I/O)インタフェース330を含み、ディスプレイ340は、典型的には、タッチスクリーンディスプレイである。I/Oインタフェース330はまた、任意選択的に、キーボード及び/又はマウス(若しくは他のポインティングデバイス)350と、タッチパッド355と、デバイス300上に触知出力を生成する触知出力生成器357(例えば、図1Aを参照して前述した触知出力生成器167に類似している)と、センサ359(例えば、図1Aを参照して前述した接触強度センサ165に類似している光、加速度、近接、タッチ感知、及び/又は接触強度センサ)とを含む。メモリ370は、DRAM、SRAM、DDR RAM、又は他のランダムアクセスソリッドステートメモリデバイスなどの高速ランダムアクセスメモリを含み、任意選択的に、1つ以上の磁気ディスク記憶デバイス、光ディスク記憶デバイス、フラッシュメモリデバイス、又は他の不揮発性ソリッドステート記憶デバイスなどの不揮発性メモリを含む。メモリ370は、CPU310からリモートに位置する1つ以上の記憶デバイスを任意選択的に含む。いくつかの実施形態では、メモリ370は、ポータブル多機能デバイス100(図1A)のメモリ102内に記憶されているプログラム、モジュール、及びデータ構造に類似したプログラム、モジュール、及びデータ構造、又はそのサブセットを記憶する。更に、メモリ370は任意選択で、ポータブル多機能デバイス100のメモリ102に存在しない追加のプログラム、モジュール、及びデータ構造を記憶する。例えば、デバイス300のメモリ370は、任意選択的に、描画モジュール380、プレゼンテーションモジュール382、ワードプロセッシングモジュール384、ウェブサイト作成モジュール386、ディスクオーサリングモジュール388、及び/又はスプレッドシートモジュール390を記憶するのに対して、ポータブル多機能デバイス100(図1A)のメモリ102は、任意選択的に、これらのモジュールを記憶しない。
図3の上記で特定した要素はそれぞれ、任意選択的に、前述したメモリデバイスのうちの1つ以上の中に記憶される。上記で特定したモジュールはそれぞれ、前述した機能を実行する1組の命令に対応する。上記で特定したモジュール又はプログラム(例えば、命令セット)は、別個のソフトウェアプログラム、手順、又はモジュールとして実施する必要はなく、したがって様々な実施形態では、これらのモジュールの様々なサブセットは、任意選択的に、組み合わされ、又は他の形で再構成される。いくつかの実施形態では、メモリ370は、任意選択的に、上記で特定したモジュール及びデータ構造のサブセットを記憶する。更に、メモリ370は、上記で説明されていない追加のモジュール及びデータ構造を任意選択的に記憶する。
次に、任意選択的に例えばポータブル多機能デバイス100上で実施されるユーザインタフェースの実施形態に注意を向ける。
図4Aは、いくつかの実施形態によるポータブル多機能デバイス100上のアプリケーションのメニューの例示的なユーザインタフェースを示す。同様のユーザインタフェースは、デバイス300上に任意選択的に実装される。いくつかの実施形態では、ユーザインタフェース400は、以下の要素、又はそれらのサブセット若しくはスーパーセットを含む。
●セルラー信号及びWi-Fi信号などの無線通信(単数又は複数)に関する信号強度インジケータ(単数又は複数)402、
●時刻404、
●Bluetooth(登録商標)インジケータ405、
●バッテリ状態インジケータ406、
●下記などの、頻繁に利用されるアプリケーション用のアイコンを含むトレイ408、
○不在着信又はボイスメールメッセージの数のインジケータ414を任意選択的に含む、「電話」とラベル付けされた、電話モジュール138のアイコン416、
○未読電子メールの数のインジケータ410を任意選択的に含む、「メール」とラベル付けされた、電子メールクライアントモジュール140のアイコン418、
○「ブラウザ」とラベル付けされた、ブラウザモジュール147のアイコン420、及び
○「iPod」とラベル付けされた、iPod(Apple Inc.の商標)モジュール152とも称されるビデオ及び音楽プレーヤモジュール152のアイコン422、及び
●下記などの、その他のアプリケーション用のアイコン、
○「メッセージ」とラベル付けされた、IMモジュール141のアイコン424、
○「カレンダ」とラベル付けされた、カレンダモジュール148のアイコン426、
○「写真」とラベル付けされた、画像管理モジュール144のアイコン428、
○「カメラ」とラベル付けされた、カメラモジュール143のアイコン430、
○「オンラインビデオ」とラベル付けされた、オンラインビデオモジュール155のアイコン432、
○「株価」とラベル付けされた、株価ウィジェット149-2のアイコン434、
○「地図」のラベル付けされた、地図モジュール154のためのアイコン436、
○「天気」とラベル付けされた、気象ウィジェット149-1のアイコン438、
○「時計」とラベル付けされた、アラーム時計ウィジェット149-4のアイコン440、
○「トレーニングサポート」とラベル付けされた、トレーニングサポートモジュール142のアイコン442、
○「メモ」とラベル付けされた、メモモジュール153のアイコン444、及び
○デバイス100及びその様々なアプリケーション136に対する設定へのアクセスを提供する「設定」のラベル付きの設定アプリケーション又はモジュールのためのアイコン446。
図4Aに示すアイコンラベルは、単なる例示であることに留意されたい。例えば、ビデオ及び音楽プレーヤモジュール152のためのアイコン422は、「音楽」又は「音楽プレーヤ」と表示される、他のラベルが、様々なアプリケーションアイコンのために、任意選択的に使用される。いくつかの実施形態では、それぞれのアプリケーションアイコンに関するラベルは、それぞれのアプリケーションアイコンに対応するアプリケーションの名前を含む。いくつかの実施形態では、特定のアプリケーションアイコンのラベルは、その特定のアプリケーションアイコンに対応するアプリケーションの名前とは異なる。
図4Bは、ディスプレイ450(例えば、タッチスクリーンディスプレイ112)とは別個のタッチ感知面451(例えば、図3のタブレット又はタッチパッド355)を有するデバイス(例えば、図3のデバイス300)上の例示的なユーザインタフェースを示す。デバイス300はまた、任意選択的に、タッチ感知面451上の接触の強度を検出する1つ以上の接触強度センサ(例えば、センサ359のうちの1つ以上)、及び/又はデバイス300のユーザに対する触知出力を生成する1つ以上の触知出力生成器357を含む。
以下の例のうちのいくつかは、タッチスクリーンディスプレイ112(タッチ感知面及びディスプレイが組み合わされている)上の入力を参照して与えられるが、いくつかの実施形態では、デバイスは、図4Bに示すディスプレイとは別個のタッチ感知面上の入力を検出する。いくつかの実施形態では、タッチ感知面(例えば、図4Bの451)は、ディスプレイ(例えば、450)上の1次軸(例えば、図4Bの453)に対応する1次軸(例えば、図4Bの452)を有する。これらの実施形態によれば、デバイスは、ディスプレイ上のそれぞれの場所に対応する場所(例えば、図4Bでは、460は468に対応し、462は470に対応する)で、タッチ感知面451との接触(例えば、図4Bの460及び462)を検出する。このようにして、タッチ感知面(例えば、図4Bの451)上でデバイスによって検出されるユーザ入力(例えば、接触460及び462、並びにこれらの動き)は、タッチ感知面がディスプレイとは別個であるとき、多機能デバイスのディスプレイ(例えば、図4Bの450)上のユーザインタフェースを操作するために、デバイスによって使用される。同様の方法が、本明細書に記載の他のユーザインタフェースに任意選択的に使用されることを理解されたい。
加えて、以下の例は、主に指入力(例えば、指接触、指タップジェスチャ、指スワイプジェスチャ)を参照して与えられるが、いくつかの実施形態では、指入力のうちの1つ以上は、別の入力デバイスからの入力(例えば、マウスベースの入力又はスタイラス入力)に置き換えられることを理解されたい。例えば、スワイプジェスチャは、(例えば、接触の代わりの)マウスクリックに続けた、(例えば、接触の移動の代わりの)スワイプの経路に沿ったカーソルの移動によって、任意選択的に置き換えられる。別の例として、タップジェスチャは、任意選択的に、カーソルがタップジェスチャの位置の上に位置する間はマウスクリックと置き換えられる(例えば、接触を検出して、それに続いて接触の検出を停止する代わりに)。同様に、複数のユーザ入力が同時に検出されるとき、複数のコンピュータマウスが、任意選択的に、同時に使用され、又はマウス及び指の接触が、任意選択的に、同時に使用されることを理解されたい。
図5Aは、例示的なパーソナル電子デバイス500を示す。デバイス500は、本体502を含む。いくつかの実施形態では、デバイス500は、デバイス100及び300(例えば、図1A~4B)に関して説明する特徴のうちのいくつか又はすべてを含むことができる。いくつかの実施形態では、デバイス500は、タッチ感知ディスプレイスクリーン504、以下タッチスクリーン504を有する。タッチスクリーン504に対する別法又は追加として、デバイス500は、ディスプレイ及びタッチ感知面を有する。デバイス100及び300と同様に、いくつかの実施形態では、タッチスクリーン504(又はタッチ感知面)は、任意選択的に、加えられている接触(例えば、タッチ)の強度を検出する1つ以上の強度センサを含む。タッチスクリーン504(又はタッチ感知面)の1つ以上の強度センサは、タッチの強度を表す出力データを提供することができる。デバイス500のユーザインタフェースは、タッチの強度に基づいてタッチに応答することができ、これは、異なる強度のタッチが、デバイス500上で異なるユーザインタフェース動作を呼び出すことができることを意味する。
タッチ強度を検出及び処理する例示的な技法は、例えば、それぞれ全体として参照により本明細書に組み込まれている、国際特許第WO/2013/169849号として公開された、2013年5月8日出願の国際特許出願第PCT/US2013/040061号、「Device,Method,and Graphical User Interface for Displaying User Interface Objects Corresponding to an Application」、及び国際特許第WO/2014/105276号として公開された、2013年11月11日出願の国際特許出願第PCT/US2013/069483号、「Device,Method,and Graphical User Interface for Transitioning Between Touch Input to Display Output Relationships」という関連出願に見られる。
いくつかの実施形態では、デバイス500は、1つ以上の入力機構506及び508を有する。入力機構506及び508は、含まれる場合、物理的機構とすることができる。物理的入力機構の例としては、プッシュボタン及び回転可能機構が挙げられる。いくつかの実施形態では、デバイス500は、1つ以上のアタッチメント機構を有する。そのようなアタッチメント機構は、含まれる場合、例えば帽子、アイウェア、イアリング、ネックレス、シャツ、ジャケット、ブレスレット、腕時計のバンド、チェーン、ズボン、ベルト、靴、財布、バックパックなどにデバイス500を取り付けることを可能にすることができる。これらのアタッチメント機構は、ユーザがデバイス500を着用することを可能にする。
図5Bは、例示的なパーソナル電子デバイス500を示す。いくつかの実施形態では、デバイス500は、図1A、図1B、及び図3に関して説明した構成要素のうちのいくつか又はすべてを含むことができる。デバイス500は、I/Oセクション514を1つ以上のコンピュータプロセッサ516及びメモリ518に動作可能に結合するバス512を有する。I/Oセクション514は、ディスプレイ504に接続することができ、ディスプレイ504は、タッチ感知構成要素522と、任意選択的に強度センサ524(例えば、接触強度センサ)とを有することができる。加えて、I/Oセクション514は、Wi-Fi、Bluetooth、近距離通信(NFC)、セルラー、及び/又は他の無線通信技法を使用してアプリケーション及びオペレーティングシステムデータを受信する通信ユニット530に接続することができる。デバイス500は、入力機構506及び/又は508を含むことができる。入力機構506は、任意選択的に、例えば回転可能入力デバイス又は押下可能及び回転可能入力デバイスである。いくつかの例では、入力機構508は、任意選択的にボタンである。
いくつかの例では、入力機構508は、任意選択的にマイクロフォンである。パーソナル電子デバイス500は、任意選択的に、GPSセンサ532、加速度計534、方向センサ540(例えば、コンパス)、ジャイロスコープ536、動きセンサ538、及び/又はこれらの組合せなどの様々なセンサを含み、これらのセンサはすべて、I/Oセクション514に動作可能に接続することができる。
パーソナル電子デバイス500のメモリ518は、コンピュータ実行可能命令を記憶するための1つ以上の非一時的コンピュータ可読記憶媒体を含むことができ、それらの命令は、1つ以上のコンピュータプロセッサ516によって実行されると、例えば、コンピュータプロセッサに、プロセス800、900、1800、1900、2000、2100、2200、2300、2400、2500、及び2700(それぞれ、図8A~図8B、図9A~図9B、図18A、図18B、図19、図20、図21、図22、図23、図24、図25、及び図27)を含む、以下に説明する技術を実行させることができる。コンピュータ可読記憶媒体は、命令実行システム、装置、又はデバイスによって使用するための、又は命令実行システム、装置、又はデバイスに接続されているコンピュータ実行可能命令を、有形に含み又は記憶することができる任意の媒体とすることができる。いくつかの例では、記憶媒体は、一時的コンピュータ可読記憶媒体である。いくつかの例では、記憶媒体は、非一時的コンピュータ可読記憶媒体である。非一時的コンピュータ可読記憶媒体は、それだけに限定されるものではないが、磁気、光学、及び/又は半導体記憶装置を含むことができる。そのような記憶装置の例としては、磁気ディスク、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つ以上の強度閾値は、任意選択的に、第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~図6MMは、いくつかの実施形態による、仮想アバターを生成及び送信するための例示的なユーザインタフェースを示す。これらの図中のユーザインタフェースは、図8A~図8B及び図9A~図9Bでのプロセスを含めた、以下で説明されるプロセスを例示するために使用される。図7A~図7Jは、いくつかの実施形態による、仮想アバターを受信及び再生するための例示的なユーザインタフェースを示す。図6A~図6MM及び図7A~図7Jは、仮想アバターの具体例として仮想アバターを使用する。
図6Aは、一部の場合にはタッチ感知ディスプレイであるディスプレイ601と、少なくともスペクトルの一部(例えば可視光、赤外線、又は紫外線)を表すデータを取り込むことができる画像センサを少なくとも含むカメラ602とを有するデバイス600を示す。いくつかの実施形態では、カメラ602は、複数の画像センサ及び/又はその他の種類のセンサを含む。いくつかの実施形態では、感知された光を表すデータをキャプチャすることに加えて、カメラ602は、深度データなどの他の種類のデータをキャプチャすることができる。例えば、いくつかの実施形態では、カメラ602は、スペックル、飛行時間、視差、又はフォーカスに基づく技術も使用して、深度データをキャプチャする。カメラ602を使用してデバイス600がキャプチャする画像データは、カメラの視野内のシーンについての光スペクトルの一部に対応するデータを含む。また、いくつかの実施形態では、キャプチャされた画像データは、光データに関する深度データも含む。いくつかの他の実施形態では、キャプチャされた画像データは、光スペクトルの一部のデータに関する深度データを決定又は生成するのに十分なデータを含む。いくつかの実施形態では、デバイス600は、デバイス100、デバイス300、又はデバイス500の1つ以上の特徴を含む。
いくつかの例では、電子デバイス600は、赤外線カメラ、サーモグラフィカメラ、又はこれらの組み合わせなどの深度カメラを含む。いくつかの実施例では、デバイスは、IRフラッド光、構造化光プロジェクタ、又はそれらの組み合わせなどの発光デバイス(例えば、光プロジェクタ)を更に含む。発光デバイスは、任意選択的に、可視光カメラ及び深度カメラ(例えば、IRカメラ)によって画像のキャプチャ中に対象を照らすために使用され、深度カメラ及び可視光カメラからの情報は、可視光カメラによってキャプチャされた対象の異なる部分の深さマップを判定するために使用される。いくつかの実施形態では、深度マップ(例えば、深度マップ画像)は、視点(例えば、カメラ)からのシーン内のオブジェクトの距離に関連する情報(例えば、値)を含む。深度マップの一実施形態では、各深度ピクセルは、その対応する2次元ピクセルが位置している、その視点のZ軸における位置を定義するものである。いくつかの例では、深度マップは、各ピクセルが値(例えば、0~255)によって定義されているピクセルから成る。例えば、「0」の値は、「3次元」シーン内の最も遠い場所に配置されているピクセルを表し、「255」の値は、「三次元」シーン内の視点(例えば、カメラ)の最も近くに配置されているピクセルを表す。他の例では、深度マップは、シーン内のオブジェクトと視点の平面との間の距離を表す。一部の実施形態では、深度マップは、深度カメラから見た、関心対象物の様々な特徴部の相対深度(例えば、ユーザの顔面の目、鼻、口、耳の相対深度)に関する情報を含む。一部の実施形態では、深度マップは、z方向での関心対象物の輪郭をデバイスが決定することを可能にする、情報を含む。いくつかの実施形態では、本明細書に記載する照明作用は、後ろ向きの画像に対する2つのカメラ(例えば、2つの可視光カメラ)からの不一致情報、及び前向きの画像(例えば、セルフィ画像)に対する可視光カメラからの画像データと組み合わせた深度カメラからの深さ情報を使用して表示される。いくつかの実施形態では、2つの可視光カメラを使用して深さ情報を判定するときと、深度カメラを使用して深さ情報を判定するときに、同じユーザインタフェースが使用され、照明作用を生成するときに使用される情報を判定するために劇的に異なる技術を使用したときでも、一貫したエクスペリエンスをユーザに提供する。いくつかの実施形態では、照明作用のうちの1つが適用された状態でカメラユーザインタフェースを表示しながら、デバイスは、カメラ切替えアフォーダンスの選択を検出し、前向きのカメラ(例えば、深度カメラ及び可視光カメラ)から後ろ向きのカメラ(例えば、互いから隔置された2つの可視光カメラ)へ切り替え(又は逆も同様である)、照明作用を適用するためのユーザインタフェース制御の表示を維持しながら、前向きのカメラの視野から後ろ向きのカメラの視野へ表示を置き換える(又は逆も同様である)。
図6Aでは、デバイス600は、メッセージングアプリケーション用のアイコン603を含む様々なアプリケーション用の複数のアイコンを備えたホーム画面インタフェースを表示している。アイコン603上のジェスチャ(例えば、タップジェスチャ604)に応じて、デバイス600は、アイコン603に関連付けられたメッセージングアプリケーションに対応する図6Bにおいてユーザインタフェースを表示する。
図6Bでは、デバイス600は、メッセージングインタフェース608を表示している。要素605-1から605-6は、以前のメッセージング通信に対応している。各要素605-1から605-6は、それぞれが自分の電子デバイスに関連付けられた1人以上のリモートユーザとの1つの通信を表す。特定の要素に対するジェスチャ(例えば、タップジェスチャ606)に応じて、デバイス600は、図6Cに示すように、リモートユーザ又は通信の一部であるユーザとの以前のメッセージング通信の一部を表示するためにメッセージングインタフェース608を更新する。
図6Cでは、デバイス600は、「ジョン」と呼ばれる(及び「JA」のイニシャル又はモノグラムを有する)リモートユーザとのメッセージング通信のためのメッセージングインタフェース608を表示している。メッセージングインタフェース608は、4つの以前に交換されたメッセージ610-1から610-3を含むメッセージエリア609を含む(メッセージ610-3は、デバイス600のユーザから「ジョン」に送信されるとともに、他の2つのメッセージは、デバイス600によって「ジョン」から受信された)。メッセージングインタフェース608はまた、メッセージ作成エリア612と、メッセージ作成エリア612の左側に(例えば、メッセージのステッカー及び/又は他のマルチメディア要素を選択するためのインタフェースにアクセスする)アイコン614を含むメッセージオプションアイコンも含む。いくつかの実施形態では、メッセージオプションアイコンは、写真、絵文字、ステッカー、及び以下で説明するものなどの他の形式の非テキストメッセージを含む様々なタイプのメッセージの送信を可能にする。
デバイス600がメッセージ作成エリア612の選択を検出することに応じて(例えば、図6Cのタップジェスチャ616を介して)、メッセージングインタフェース608は、図6Dに示すように更新される。例えば、図6Dでは、メッセージオプションアイコンは、隠されており(しかし、ボタン618を選択することにより再び表示することができる)、提案されたメッセージ応答620が表示され、仮想キーボード622が表示される。一部の場合には、仮想キーボード622を使用して新たなメッセージを入力し、リモートユーザに送信する。
図6Eでは、メッセージ作成エリア612は、例えば、仮想キーボード622又は音声入力などの他の方法を介して入力される「遅れています」というテキストを含む。送信ボタン621の選択に応じて、デバイス600は、メッセージ609の通信に関連付けられた1人以上の参加者にメッセージの一部としてテキストを送信する。図6Eの場合、デバイス600は、「ジョン」と呼ばれるメッセージをユーザに送信する。図6Fでは、デバイス600は、メッセージエリア612を更新してメッセージ610-4を含めることによってメッセージの送信を反映するようにメッセージエリア609を更新している。
一部の場合には、メッセージオプションアイコンにアクセスして、(例えば、テキスト以外のコンテンツをメッセージに追加することにより)新たなメッセージを追加又は作成する。例えば、デバイス600がアフォーダンス618の選択を検出することに応じて(例えば、図6Fのタップジェスチャ624を介して)、図6Gに示すように、アイコン614を含むメッセージオプションアイコンが再び表示される。アイコン614の選択に応じて(例えば、図6Hのタップジェスチャ626などのジェスチャを介して)、デバイス600は、図6Iに示すように、以前に送信されたマルチメディアアイテム(例えば、図6Iにおけるステッカー630-1から630-4であるが、音声、アニメーション、又はビデオなどの他のタイプのマルチメディアアイテムも含まれることができる)を含む最近のアイテムメニュー629(最近のアイテムの「トレイ」として知られることがある)を現在表示しているマルチメディアアイテムインタフェース628に仮想キーボード622を置き換えることにより、メッセージングインタフェース608を更新する。このインタフェースを使用して、ユーザは、以前に送信したマルチメディアアイテムを選択して再送信することができる。例えば、ユーザは、選択されたステッカーのタップジェスチャを介して図6Iの最近のアイテムメニュー629におけるステッカーのうちの1つを選択することができる。そのような選択に応じて、デバイス600は、メッセージ作成エリア612にステッカーを配置するか、又は選択されたステッカーをメッセージエリア609に表される通信に関与する1人以上のリモートユーザに送信する。いくつかの実施形態では、タップ及びドラッグジェスチャを使用して、選択されたステッカー(又は他のマルチメディアアイテム)をメッセージ作成エリア612又はメッセージエリア609(及び一部の場合には特定のメッセージ)に配置する。例えば、特定のステッカーは、タップジェスチャを介して選択される。タッチ感知ディスプレイ601との接触を解除することなく、ステッカーは、ドラッグジェスチャを介してメッセージ作成エリア612又はメッセージエリア609のいずれかにドラッグされる。ステッカーの所望の位置に到達すると、タッチ感知ディスプレイ601との接触が停止され、ステッカーは、接触の最後の場所に配置される。接触の最後の場所がメッセージエリア609にある場合、ステッカーは、メッセージエリア609で表される通信に関連付けられた1人以上のリモートユーザに送信される。任意選択的に、ステッカーは、ステッカーを特定のメッセージに関連付けるデータとともにリモートユーザに送信される(例えば、ステッカーは、ステッカーが「スタック」している特定のメッセージの特定の場所を示すデータとともに送信される)。これらの技術は、ステッカーの選択及び送信に固有のものではない。また、最近のアイテムメニュー629又は他の場所から選択可能な他のタイプのマルチメディアアイテムにも適用することができる。
図6Iでは、マルチメディアアイテムインタフェース628はまた、(利用可能なメニューに対応するボタン又は他の選択可能なアイテムの表示を介して最近のアイテムメニュー629以外のメニュー又はインタフェースが選択されることを可能にする)メニュー選択ボタン632及び(マルチメディアアイテムインタフェース628がディスプレイ(又はディスプレイ全体)のより多くに拡張することを可能にする)フルスクリーンボタン634を含む。フルスクリーンボタン634については、以下で更に説明する。
メニュー選択ボタン632を使用してメニュー又はインタフェースを切り替えることに加えて、任意選択的にジェスチャを使用してメニューを切り替えることもできる。例えば、スワイプジェスチャ(例えば、図6J及び図6Kに示すように、マルチメディアアイテムインタフェース628を横切る接触636の移動によって表されるスワイプ)に応じて、デバイスは、マルチメディアアイテムインタフェース628を更新して最近のアイテムメニュー629の表示を仮想アバターメニュー638に置き換える。最近のアイテムメニュー629が仮想アバターメニュー638に置き換えられている間、スクロールインジケータ639は、マルチメディアアイテムインタフェース628において利用可能な他のメニューの数に関するフィードバックを提供する。
図6Lでは、仮想アバターメニュー638は、最近のアイテムメニュー629の表示を完全に置き換えている。デバイス600が継続アフォーダンス640の選択を検出することに応じて(例えば、図6Mのタップジェスチャ642などのジェスチャを介して)、図6Nに示すように、仮想アバターインタフェース643が表示される。このインタフェースは、以下で更に説明するように、ユーザがユーザの顔の動きと表情を反映する新たな仮想アバターを生成することを可能にする。いくつかの実施形態では、仮想アバターメニュー638は、全く表示されない。代わりに、仮想アバターメニュー638を最初に表示することなく、仮想アバターインタフェース643が表示される。
図6Nの仮想アバターインタフェース643は、異なるアバターフレームワーク(例えば、異なる外観及び挙動を有するアバターキャラクター)に対応するアバターテンプレート表現644-1から644-7を含む。各アバターテンプレートは、検出された顔の動きと表情をマッピングすることができるアバターフレームワークを表す。インジケータ645は、現在選択されているアバターテンプレートに対応する。仮想アバタープレビュー646は、ユーザの現在の顔の動きと表情を反映するように更新されるという点で、仮想アバターの「ライブ」プレビューである。例えば、いくつかの実施形態では、カメラ602を使用して、デバイス600は、カメラ602から画像データを連続的にキャプチャする。キャプチャされた画像データは、可視光データ及び深度データを含む。デバイス600は、キャプチャされた画像データを分析して、顔の動き(例えば、筋肉の動き、頭の向き、視線方向など)及び/又は顔面表情(例えば、笑顔、眉毛をひそめる、怒りの表情、悲しい表情、混乱した表情など)を識別する。そして、デバイス600は、仮想アバタープレビュー646に現在関連付けられたアバターフレームワークのパラメータに応じて、ユーザの検出された特性を反映するようにアバタープレビュー646を更新する。いくつかの実施形態では、デバイス600は、仮想アバターインタフェース643が最初に実行又は表示されたことに応じて、仮想アバタープレビュー646を自動的に連続的に更新し始める。異なるアバターテンプレートの表現の選択を検出すると、デバイス600に、新たに選択されたアバターテンプレートに基づいて仮想アバタープレビュー646を更新させる。
図6Oは、キャプチャされた画像データ650-1から650-5及び仮想アバターのプレビューに対する対応する更新651-1から651-5におけるユーザの顔のいくつかの例を示す。これらは、ユーザの顔の動き、表情、及びポーズを反映するために絵文字プレビュー646を更新するデバイス600の例である。キャプチャされた画像データ650-1において、デバイス600は、(例えば、顔の特徴、筋肉、動き、及び/又は表情に基づいて)ユーザがまっすぐ見ている、笑っている及び/又は幸せであることを検出する。それに応じて、デバイス600は、更新651-1に示されるように、まっすぐ見るように仮想アバタープレビューの目を更新することに加えて、仮想アバタープレビューを更新してユーザの笑顔及び/又は幸せな表情を反映する。キャプチャされた画像データにおいてユーザの検出された物理的特徴は、仮想アバターがユーザを反映するように更新される仮想アバターの同じ物理的特徴である場合があるが、他の場合、ユーザの物理的特徴の検出された変化は、仮想アバターの異なるタイプの物理的特徴の更新をもたらす。例えば、図6Oでは、650-2及び651-2によって示されるように、猿には眉毛がないため、ユーザの眉毛の変化は、猿の耳(又は他の特徴)にマッピングされる。この例では、ユーザの口と目が猿の口と目にマッピングされている。画像データ650-3及び更新651-3の例では、ユーザの不満な表情及び/又は眉毛をひそめたものが、仮想アバタープレビューの対応する特徴に反映される。いくつかの実施形態では、画像650-3及び650-4によって示されるように、ユーザが顔面表情又は顔のポーズを保持する場合、仮想アバタープレビューは、更新651-4の場合の涙などの追加の特徴によって更新される。このタイプの所定の更新はまた、検出された動きの欠如に応じて発生することもできる。いくつかの実施形態では、更新はまた、画像データにおいて検出されたユーザの動きにも基づいている。例えば、デバイス600は、ユーザの頭の回転を検出すると、仮想アバタープレビューを同様に回転させる更新をもたらす。いくつかの実施形態では、更新はまた、仮想アバター特徴の物理モデルにも基づいている。例えば、画像データ650-5では、デバイス600は、ユーザの頭が揺れていることを検出する。それに応じて、デバイス600は、頭の揺れを反映するために更新651-5を生成する。更に、更新651-5では、子犬の耳に物理モデルが適用された結果として、子犬の耳も突き出ている。
図6Pでは、デバイス600は、ジェスチャ(例えば、接触653によって表されるタップジェスチャ)を介して記録ボタン652の選択を検出する。それに応じて、仮想アバターインタフェース643が更新され、図6Qに示すように、アニメーション化された仮想アバターが生成されていることを示す。例えば、記録ボタン652は、停止ボタン654に置き換えられ、アバターテンプレート表現644-1から644-7は、もはや表示されず、アニメーション絵文字が記録された時間と仮想アバターがなおも記録されることができる相対的な時間量とを示す記録進度インジケータ656が表示される。記録は、所定の時間量(例えば、15秒)の満了又は停止ボタン654の選択など、任意の数の方法で停止することができる。いくつかの実施形態では、記録中、デバイス600は、アニメーション化された仮想アバターを作成するために使用される一連のデータポイントを検出及び/又は記憶している。例えば、いくつかの実施形態では、デバイス600は、顔の動き及び/又は顔面表情の時系列を記録し(例えば、可能な値の範囲の値として、可能な値の範囲の各値は、所定の動き又は表情に対応する)、その後にアバターテンプレート上にマッピングされてアニメーション化された仮想アバターを作成する。あるいは、デバイス600は、デバイス600が仮想アバタープレビューを更新してユーザの顔の動き及び/又は表情を反映するときに仮想アバタープレビューのビデオ記録を作成することにより、アニメーション化された仮想アバターを記録する。いくつかの実施形態では、デバイス600はまた、記録されたアニメーション化仮想アバターが仮想アバターの記録アニメーションとともに再生できる音を含むように、デバイス600のマイクロフォンでキャプチャされた音を記録する。
図6Rは、アニメーション化された仮想アバターの記録中のより遅い時点を示している。仮想アバタープレビュー646は、新たに検出された顔の動き及び/又はユーザからの表情を反映するように更新されている。インジケータ656もまた更新され、アニメーション化された仮想アバターの記録のさらなる進捗を反映する。
図6RAは、アバター記録中に、ユーザがデバイスに対して自分の位置を変更したことをデバイス600が検出することを示している。具体的には、図6RAに対応する時点で、ユーザの顔は、もはやカメラの視野内にない。それに応じて、デバイス600は、アバターインタフェース643の端部(例えば、ユーザの顔の最後に検出された位置に対応する端部)に仮想アバターを表示し、仮想アバターの周囲にフレーミングコーナー653を表示し、メッセージ655A(「顔をビューに持ち込む」)を表示してデバイスに対して位置調整するようにユーザを促す。いくつかの実施形態では、ユーザの顔は検出されないときに仮想アバターは静止している(又は所定のポーズ(例えば、中立ポーズ)を仮定する)が、カメラの視野内にユーザの顔が検出されなくなった後であっても、仮想アバターの記録は継続する。
図6RBは、ユーザが所定の閾値時間よりも長くカメラの視野外に留まった後のデバイス600を示している。ユーザが所定の時間よりも長い間カメラの視野外に留まったことを検出したことに応じて、デバイス600は、仮想アバターの記録を休止する。図6RBに示されるように、デバイス600は、記録の休止に応じて、停止ボタン654を記録ボタン648に置き換えている。デバイス600はまた、記録が休止されたことをユーザに示すメッセージ655B(「タップして再開」)も表示する。図6RCに示すものなどのいくつかの実施形態では、ユーザは、図6RDに示すように記録を再開する記録ボタン648をタップすることを含む、アバターインタフェース643の任意の場所をタップ(例えば、タップジェスチャ657)することにより記録を再開することができる。ユーザが所定の閾値時間を超えてカメラの視野外に留まった場合に仮想アバターの記録を一時停止し、記録を再開するために他の入力を必要とすることで、バッテリ電力で動作するデバイスの電池寿命を延ばしかつ深度カメラの寿命を延ばすエネルギ使用量と深度カメラの使用量を削減する。
図6Sは、アニメーション化された仮想アバターの記録中の更に後の時点を示している。仮想アバタープレビュー646は、ユーザから新たに検出された顔の動き及び/又は表情を反映するように更に更新されている。インジケータ656もまた更新され、アニメーション化された仮想アバターの記録のさらなる進捗を反映する。
図6Sでは、アニメーション化された仮想アバターの記録を停止することを要求するジェスチャ(例えば、接触658によって表されるタップジェスチャ)が受信される。それに応じて、デバイス600は、アニメーション化された仮想アバターの記録を停止し、図6Tに示すように仮想アバターインタフェースを更新する。他の場合には、デバイス600は、アニメーション化された仮想アバターの記録を停止し、所定の期間(例えば、15秒)の満了に応じて図6Tに示されるように仮想アバターインタフェースを更新する。
図6SAから図6SCは、仮想アバターを記録(例えば、生成)している間の仮想アバターインタフェース643の他の実施形態を示す。図6SAに示すように、デバイス600は、現在のアバター記録セッション(例えば、記録ボタン648をアクティブ化することにより開始されるセッション)に残っている時間を示すタイマー659(例えば、残り10秒を示す)を表示する。図6SBでは、同じ記録セッションが4秒間進行し、タイマー659は、ここではアバター記録セッションに残っている6秒を表示している。図6SCでは、記録セッションは終了している(すなわち、図6SCは、図6SAよりも10秒後の時点である)。記録セッションの終了に応じて、デバイス600は、タイマー659を、完了した記録セッションを破棄するために(例えば、タップジェスチャによって)アクティブにされることができるゴミ箱アフォーダンス660-1に置き換える。いくつかの実施形態では、ゴミ箱アフォーダンス660-1は、図6T及び図6Uから図6UAのアフォーダンス660を破棄するのと同様に機能することができる。
図6Tでは、仮想アバターインタフェース643は、ここでは、アニメーション化された仮想アバター659の再生の3つのスナップショットによって示されるように、仮想アバタープレビューを表示する代わりに、記録されたアニメーション化された仮想アバター659を再生する。いくつかの実施形態では、記録されたアニメーション化された仮想アバターは、ループで再生される(例えば、図6Tの矢印によって示されるように、ユーザ入力なしで少なくとも2回再生される)。仮想アバターインタフェース643はまた、破棄ボタン660、ミュートボタン662、及び確認ボタン664(記録ボタン652の代わりに表示される)を含む。破棄ボタン660は、表示された記録されたアニメーション化された仮想アバターを保存せずかつリモートユーザに送信せずに破棄する。ミュートボタン662は、ユーザが記録されたアニメーション化された仮想アバターからの音声の再生をミュートすることを可能にする。確認ボタン664は、記録されたアニメーション化された仮想アバターをリモートユーザに送信することを可能にする(例えば、ユーザがメッセージを送信する前に確認ボタン664のアクティブ化に応じてメッセージエリア609に表示される又はメッセージ作成エリア612に移動される通信に関連付けられた1人以上のユーザに直接送信する)。デバイス600が確認ボタン664の選択を検出した後、仮想アバターインタフェース643が更新され、図6Nに関して説明された状態に戻る。いくつかの実施形態では、確認ボタン664は、確認ボタン664を選択することによって記録されたアニメーション化された仮想アバターがリモートユーザに送信されることができることを示すようにメッセージ構成領域にあるメッセージを送信するための送信ボタンに表示される送信グリフ又はアイコン(例えば、図6Vの670)と同様の又は同じグリフ又はアイコンを含む。
アニメーション化された仮想アバター659の再生中に、現在選択されているテンプレートとは異なるアバターテンプレートの表現に対するタップジェスチャ665に応じて、アニメーション化された仮想アバターが更新され、アニメーション化された仮想アバターを再記録する必要なく新たなアバターテンプレートを反映する。これは、アニメーション化された仮想アバター666に置き換えられたアニメーション化された仮想アバター659を示す図6Uに示されている。図6Tのアニメーション化された仮想アバター659を生成するために使用される記録された顔の筋肉、動き、特徴、及び表現は、図6Uにおける新たに選択されたアバターテンプレートに再適用される。
図6UAでは、アニメーション化されたアバター666が再生されている間、デバイス600は、破棄アフォーダンス660の選択に対応するタップジェスチャ661を検出する。それに応じて、デバイス600は、キャプチャされたアニメーション化されたアバターデータを破棄し(例えば、アニメーション化されたアバターをメッセージ作成エリア612に追加することを取り止める)、図6UBのインタフェースに遷移する。図6UBでは、デバイス600は、(例えば、記録ボタンを含む)図6Pに見られるものと同様の事前記録アバターインタフェース643を表示する。図6Pと対照的に、アバターテンプレートは、猿の仮想アバター659に戻るのではなく、ロボット(例えば、仮想アバター666)のテンプレートのままである。すなわち、図6T及び図6Uに示されている再生中のアバター659からアバター666への変化の検出が保持される。
図6Tに戻ると、ジェスチャ(例えば、接触667によって表されるタップジェスチャ)に応じて、デバイス600は、記録されたアニメーション化仮想アバター668をメッセージ作成エリア612(図6Vを参照)に追加し、仮想アバターインタフェース643を図6Nに記載された状態に戻す(図6Vを参照)。そして、ユーザは、デバイス600がメッセージを送信する前に(例えば、図6Wに示すように、送信アフォーダンス670に対する接触672によって表されるタップジェスチャに応じて)メッセージにメッセージコンテンツ(例えば、テキスト又は他のマルチメディアアイテム)を追加することができる(図6Vを参照)。あるいは、デバイス600が確認ボタン664の選択を検出すると、デバイス600は、記録されたアニメーション化仮想アバターを、メッセージエリア609に表示される通信に関連付けられた1人以上のリモートユーザに送信し、その後、図6Xに示すように、アニメーション化仮想アバター668がメッセージエリア609に含まれる通信に関連付けられた1人以上のユーザに送信されたことを反映するように更新される。
図6Y~図6BBは、アバターテンプレートのリストをスクロールするユーザ入力に対する仮想アバターインタフェース643の応答を示している。例えば、スワイプジェスチャ(例えば、図6Y~図6AAに示されるように、アバターテンプレートを垂直に横切る接触676の動きによる表現)に応じて、デバイス600は、アバターテンプレートをスクロールし、現在選択されているアバターテンプレートを変更する。アバターテンプレートインジケータ645内に存在するアバターテンプレートは、スワイプジェスチャに基づいて更新される。選択された新たなアバターテンプレートの検出に応じて、デバイス600は、仮想アバタープレビューを更新する。例えば、図6Zでは、デバイス600がアバターテンプレート表現644-5の選択を検出すると、(表現644-5に対応するアバターテンプレートに基づく)仮想アバタープレビュー678が表示され、図6AAでは、アバターテンプレート表現644-8が選択されると、(表現644-8に対応するアバターテンプレートに基づく)仮想アバタープレビュー680が表示される。
アニメーション化されたパペット絵文字の記録を生成することに加えて、絵文字インタフェース643はまた、静的仮想アバター(例えば、仮想アバターの状態に基づいて決定される表現/外観を備えたステッカー)を生成することも可能にする。例えば、図6CCでは、仮想アバタープレビュー680上のユーザ入力(例えば、接触682により表されるタップアンドホールドジェスチャ)に応じて、デバイス600は、ユーザ入力に関連付けられた時間(例えば、入力が受信されたとき、終了したとき、又はユーザ入力に関連付けられた何らかの他の時間)における仮想アバタープレビュー680の状態に対応するステッカーを生成する。実施形態では、デバイス600は、ステッカーが生成されたこと及び/又はユーザがステッカーを配置することができることを示すために、仮想アバタープレビュー680から剥がされたステッカー683(図6DD及び図6EE)を表示する。
デバイス600がステッカーを生成した後、ユーザは、任意選択的に、ステッカーに対するいくつかの操作から選択する。例えば、ユーザは、デバイス600に、最近のメニュー又は後の使用を可能にする他の同様のインタフェースにステッカーを配置させることができる。ユーザはまた、デバイス600がステッカーを含むメッセージを送信する前に、デバイス600にメッセージ作成エリア612にステッカーを配置させることもでき、ユーザは、デバイス600にメッセージエリア609の通信に参加している1人以上のユーザにステッカーを送信させるために、特定のメッセージに対してメッセージエリア609に(及び任意選択的に)ステッカーを配置することができる。
例えば、図6FFでは、デバイス600は、接触が依然として仮想アバタープレビュー680上にある間に接触682のリフトオフを検出している。これに応じて、デバイス600は、ステッカーが最近のアイテムメニュー629を介して又はデバイス600の他のインタフェースを介して任意選択的に選択可能であるように、生成されたステッカーを、最近のアイテムメニュー629(図6I)によってアクセス可能なデバイス600のメモリ内のデータベース又はライブラリなどのデバイス600に保存している。デバイス600は、図6FF~図6GGに示すように、メニュー選択ボタン632に向かって移動する、異なるグラフィカルバージョン684及び686を備えたアニメーションを介してステッカーがローカルに保存されていることを任意選択的に示す。
他の例として、図6HH~図6KKは、生成されたステッカーをメッセージエリア609に表される通信に参加する1人以上のユーザに送信するデバイス600の例を示す。図6IIでは、デバイス600は、仮想アバタープレビュー680上のユーザ入力(例えば、仮想アバタープレビュー680で始まる図6HH~図6JJの接触688によって表されるタップアンドドラッグジェスチャ)を検出する。デバイス600がステッカー表現をメッセージエリア609にドラッグするユーザを検出すると、ステッカー表現690は、接触688にしたがう。デバイス600がメッセージエリア609において接触688のリフトオフを検出すると、デバイス600は、図6KKに示すように、メッセージエリア609に表される通信の参加者である1人以上のリモートユーザにステッカー691を送信する。
図6LLでは、デバイス600は、フルスクリーンボタン634の選択に応じて(例えば、図6LLの接触692によって表されるタップジェスチャを介して)仮想アバターインタフェース643を更新して、より多くのスクリーン(又はフルスクリーンモード)を表示する。図6MMは、ディスプレイ601を更に使用するために拡大された後の仮想アバターインタフェース643を示す。ボタン692は、選択されると、デバイス600に仮想アバターインタフェース643をその以前の構成に戻させる。
図7A~図7Jは、リモートユーザからアニメーション化された絵文字を受信した後のメッセージングインタフェース608を示している。図7A~図7Jは、一例として図6A~図6MMのデバイス600を使用し、図7A~図7Jに示されたユーザインタフェース及び機能性はまた、以前にステッカー又はアニメーション化された仮想アバターを送信したことがないデバイスを含む他のデバイス(例えば、デバイス100、300、又は500)にも適用される。
図7Aは、アニメーション化された仮想アバターを再生する直前に、「ジョン」という名前の(及びイニシャル又はモノグラム「JA」を有する)リモートユーザからアニメーション化された仮想アバター700を受信した後のメッセージインタフェース608を示す。いくつかの実施形態では、デバイス600は、それを受信した後、アニメーション化された仮想アバター700を自動的に再生する。ミュートボタン702は、選択されると、デバイス600に、アニメーション化された仮想アバター700に関連付けられた任意の音をミュートさせる。いくつかの実施形態では、アニメーション化された仮想アバターがディスプレイからスクロールされると、音声もミュートされる。いくつかの実施形態では、仮想アバターインタフェース643は、図6A~図6MMに関して説明されるように表示される(例えば、仮想アバターインタフェース643は、検出された顔の動き/表情及び選択されたアバターテンプレートに基づくプレビュー仮想アバターを含む)。
図7Bでは、アニメーション化された仮想アバター700が1回再生される(例えば、開始から終了まで1回再生される)ことに応じて、アニメーション化された仮想アバター700の静止フレーム703がアニメーション化された仮想アバター700の代わりに表示される。リプレイボタン704はまた、メッセージエリア609にも表示され、例えば、図7Cの接触706によって表されるタップ特徴によって、アニメーション化された仮想アバター700が再び再生されることを可能にする。図7Dは、アニメーション化された仮想アバター700を再び再生するデバイス600を示す(アニメーション化された絵文字の再生は、図7Aに関して説明される)。
いくつかの実施形態では、アニメーション化された仮想アバター700の再生中に、デバイス600がミュートボタン702に対するユーザ入力(例えば、図7Eの接触708によって表されるタップジェスチャ)を受信すると、デバイス600は、アニメーション化された仮想アバター700の再生を継続しながら、アニメーション化された仮想アバター700に関連付けられた音の再生を停止する(例えば、アニメーション化された仮想アバター700は、なおも音なしで移動する)。いくつかの実施形態では、ミュートボタン702の選択に応じて(又は、デバイス600で音がオフにされるか若しくはデバイス600がアクセシビリティ機能を有効にした場合)、複写ボタン714が図7Hに示すように表示される。複写ボタン714の選択に応じて(例えば、図7Gの接触716によって表されるタップジェスチャを介して)、図7Hに示されるように、アニメーション化された仮想アバター700の音の複写718が表示される。複写718のコンテンツは、デバイス600に対してローカルに又はリモートで(例えば、リモートサーバコンピューティングリソースを使用して)生成される。
アニメーション化された仮想アバター700に対するユーザ入力(例えば、図7Iの接触720によって表されるタップアンドホールドジェスチャ)に応じて、デバイス600は、図7Jに示されるように、アニメーション化された仮想アバター700に関連するオプションのメニューを表示する。例えば、メニュー722は、デバイス600がメッセージエリア609に表される通信に参加している1人以上のリモートユーザに送信することができるいくつかの応答ボタン723-1から723-6を含む。更に、コピーボタン726、保存ボタン728、及びその他のボタン730を有するメニュー724も表示される。コピーボタン726は、アニメーション化された仮想アバター700をデバイス600のクリップボードにコピーする。保存ボタン728は、アニメーション化された仮想アバター700をデバイス600に(例えば、デバイス600にインストールされたアプリケーションによって後にアクセスできるデータベース又はライブラリに)保存する。その他のボタン730は、アニメーション化された仮想アバター700に関して実行できる追加の操作を表示する。
図8A~図8Bは、いくつかの実施形態による、電子デバイスを使用した800のための方法を示すフロー図である。方法800は、ディスプレイ及びカメラを備えたデバイス(例えば、100、300、500、600)にて実行される。方法800のいくつかの動作は、任意選択的に組み合わされ、いくつかの動作の順序は、任意選択的に変更され、いくつかの動作は、任意選択的に省略される。
以下で説明するように、方法800は、仮想アバターなどの絵文字を生成及び送信するための直感的な方法を提供する。本方法は、絵文字を生成及び送信する際のユーザの認識的負担を軽減し、それによって、より効率的なヒューマン-マシンインタフェースを作り出す。バッテリ動作式のコンピューティングデバイスの場合には、ユーザが絵文字を生成及び送信することを可能にすることは、より高速にかつより効率的に節電し、バッテリ充電の間隔を長くする。
カメラ(例えば、602)(例えば、可視光、IR光、深度データなどを表すデータをキャプチャするための1つ以上のセンサを備えて構成される)及びディスプレイ(例えば、601)を有する電子デバイス(例えば、600)は、(例えば、絵文字(アニメーション又は静的)の選択、静的ステッカーの生成、及び/又はアニメーション化された仮想アバターの記録のための)仮想アバター生成インタフェース(例えば、図6Nの643)を表示する(802)。電子デバイスは、仮想アバター生成インタフェース(例えば、複数の異なる利用可能な仮想アバターテンプレートから選択されたアニメーション化された仮想アバター)に仮想アバターのプレビュー(例えば、図6Nの646)(例えば、一部の場合には感情又は反応などの非言語メッセージを伝達することを意図した2D又は3Dコンピュータ生成グラフィカルオブジェクト)を表示する(804)。仮想アバターのプレビューは、カメラの視野内にある顔の外観の変化に反応する(例えば、図6O)(例えば、アニメーション化された仮想アバターは、カメラの1つ以上の画像センサからの画像データで検出されたユーザの頭の動き、顔面表情、及び向きを反映する)。仮想アバターのプレビューを表示している間、電子デバイスは、仮想アバター生成インタフェースで入力(例えば、接触652、682、又は690)を検出する(806)。仮想アバター生成インタフェースでの入力の検出に応じて(808)、仮想アバターのプレビュー(例えば682又は690)で入力が開始されるという判定に従って(例えば、アニメーション化された仮想アバターに対するタッチアンドホールド入力又はカーソルを制御するトラックパッド入力)、電子デバイスは、それぞれの時点でのカメラの視野内の顔の表情を表す静的仮想アバターステッカー(例えば、683又は691)(例えば、メッセージエリア内の特定の場所に「貼り付け可能な」アニメーション絵文字の静止画像)を生成する(810)。いくつかの実施形態では、それぞれの時間は、入力のタイミング(例えば、入力が最初に受信されたとき、入力が終了したとき、入力に対応するジェスチャがタッチセンシティブ面を横切って移動を開始したとき、又は入力に関連する任意の他の時間)に基づいて判定される。入力が仮想アバター生成インタフェースにおける記録アフォーダンス(例えば、648)のアクティブ化(例えば、記録アフォーダンスのタップ)を含むという判定に従って、電子デバイスは、(例えば、図6Q~図6Sに示すように)所定期間にわたるカメラの視野内の顔の表情の変化のシーケンスを表すアニメーション化された仮想アバター(例えば、668)を生成する(812)。いくつかの実施形態では、期間は、入力のタイミングに基づいて判定される(例えば、期間は、入力の開始が検出されたとき、入力の終了が検出されたとき、入力がタッチセンシティブ面上のジェスチャである場合などの入力のいくつかの種類の動きが検出されたとき、又は入力に基づく何らかの他の期間に開始する)。いくつかの実施形態では、仮想アバターは、3次元である。いくつかの実施形態では、仮想アバター(例えば、646)又はアニメーション化された仮想アバター(例えば、659)のプレビューが3Dで表示される。2つの可能な通信スタイル(例えば、アニメーション化された仮想アバターと静的仮想アバター)の間でユーザ入力を明確にすることで、各タイプのメッセージコンテンツを生成するための別個のインタフェースの必要性を回避する。所望のメッセージの通信に必要な入力数を減らすと、デバイスの操作性が向上し、(例えば、単一のインタフェースから複数のタイプのマルチメディア通信を可能にすることによってユーザが意図した通信を達成することを支援することにより)ユーザとデバイスのインタフェースをより効率的にし、更に、ユーザがデバイスをより素早く、効果的に使用できるようにすることによって、電力使用量を削減し、デバイスの電池寿命を改善する。
いくつかの実施形態では、電子デバイスは、メッセージエリア(例えば、609)を含むメッセージングインタフェース(例えば、インタフェース608)(例えば、アップルのメッセージなどのメッセージングアプリケーション)を表示する(814)。メッセージエリアは、通信(例えば、図6Nのメッセージエリア609での通信)(例えば、メッセージングスレッド)の2人以上の参加者(例えば、図6C、リモートユーザ「ジョン」及びデバイス600のユーザ)からのメッセージ(例えば、610-1から610-4)(例えば、電子デバイスのユーザから送信されたメッセージ及び異なる電子デバイスのリモートユーザから受信したメッセージ)を含む。仮想アバター生成インタフェースは、メッセージングインタフェース(例えば、図6N)と同時に表示される(例えば、仮想アバター生成インタフェースは、メッセージングインタフェースの下半分に表示される)。いくつかの実施形態では、仮想アバターのプレビュー(例えば、646)は、仮想アバター生成インタフェースの初期表示の一部として自動的に表示される。
いくつかの実施形態では、メッセージングインタフェースは、メッセージ作成エリア(例えば、612)(例えば、メッセージを受信者に送信する前にテキスト、絵文字、及び他のコンテンツを入力するためのメッセージ入力エリア)を含み、入力は、仮想アバターのプレビュー(例えば、646)に対するタップである。電子デバイスは、仮想アバター生成インタフェースでの入力の検出に応じて、メッセージ作成エリアに静的仮想アバター(例えば、683又は691)を表示する。いくつかの実施形態では、仮想アバター生成インタフェースを表示することは、メッセージングインタフェースの仮想キーボード(例えば、622)の表示を仮想アバター生成インタフェースの表示(例えば、図6Hから図6Nへの遷移、介在図なし)に置き換えることを含む。メッセージを送信する前にメッセージのマルチメディアコンテンツを表示すると、エラーメッセージの可能性を低減し、ユーザがメッセージを送信する前に(例えば、テキスト又は他のコンテンツを介して)より多くのコンテンツを追加することを可能にする。所望のメッセージの通信に必要なメッセージの数を減らすと、デバイスの操作性が向上し、(例えば、ユーザが通信に必要なメッセージの数を減らしながら意図した通信を達成することを支援することにより)ユーザとデバイスのインタフェースをより効率的にし、更に、ユーザがデバイスをより素早く、効果的に使用できるようにすることによって、電力使用量を削減し、デバイスの電池寿命を改善する。
いくつかの実施形態では、アバター生成インタフェースは、1つ以上の以前に生成された仮想アバター(例えば、630-1から630-4)のコレクションを含む静的仮想アバター領域(例えば、629)(例えば、アバター生成インタフェースの下部部分に表示される以前に生成されたステッカーのトレイ)を含む。ユーザ入力(例えば、図6CCの682)に応じて、電子デバイスは、生成された仮想アバターを1つ以上の以前に生成された仮想アバターのコレクションに追加する(612)(例えば、仮想アバターのコレクションに含めるためにアバターを送信する、仮想アバターをお気に入りとしてマークする、又は他の方法で仮想アバターをマークする)。いくつかの実施形態では、仮想アバター(例えば、ステッカー)のコレクションは、ユーザ入力(例えば、626)(例えば、トレイに新たに生成されたステッカーのミニチュア版を含む)(例えば、アバター生成ユーザインタフェース又はメッセージングユーザインタフェースにおける仮想アバターコレクションアフォーダンスの選択)に応じて表示される。いくつかの実施形態では、以前に生成されたステッカーのトレイは、トレイの表示を要求するユーザから入力(例えば、入力626)を受信するまで又はトレイがメッセージインタフェース又はアバター生成インタフェースの現在の状態におそらく関連することを電子デバイスで検出された何らかの他のイベントが示すまで隠される。いくつかの実施形態では、仮想アバターを仮想アバターのコレクションに追加した後、電子デバイスは、ユーザから仮想アバターのコレクションを第2のユーザと共有する要求を受信し、それに応じて、電子デバイスは、仮想アバターのコレクションを第2のユーザに送信する。以前に送信されたメッセージのマルチメディアコンテンツを維持することにより、ユーザは、新たなメッセージに利用可能である場合に以前のコンテンツを追加及び再利用することができる。コンテンツを再作成する必要がなくなると、デバイスの操作性が向上し、(例えば、コンテンツの繰り返し生成をなくすことにより)ユーザとデバイスのインタフェースをより効率的にし、更に、ユーザがデバイスをより素早く、効果的に使用できるようにすることによって、電力使用量を削減し、デバイスの電池寿命を改善する。
いくつかの実施形態では、入力は、仮想アバター(例えば、680)のプレビューで始まり(816)、メッセージエリア内の場所で終了する(例えば、図6HH~図6KKを参照)(例えば、仮想アバターのプレビュー(例えば、680)に接触する指によって開始し、メッセージエリアに指をドラッグし続け、メッセージエリアで指を離すと終了するジェスチャ(一部の場合には、ジェスチャは、メッセージエリア内の特定のメッセージで終了することがあり、ステッカーは、その特定のメッセージに関連付けられ、任意選択的に、そのメッセージが会話内で移動するのにともない移動する))。電子デバイスは、通信(例えば、図6KK)に関連付けられた参加者(例えば、1人以上のリモートユーザ)に静的仮想アバター(例えば、691)を送信する(818)。いくつかの実施形態では、アニメーションは、仮想アバターのプレビューから剥がされている静的仮想アバターを示すジェスチャに応じて表示される(図6CC~図6FF)。
いくつかの実施形態では、静的仮想アバター(例えば、691)は、入力(例えば、688)が仮想アバターのプレビュー(例えば、680)で検出された時点でカメラの視野内の顔の表情に基づいて決定される外観を有する。いくつかの実施形態では、電子デバイスは、仮想アバターのプレビューでの入力の開始の検出に応じて、仮想アバターのプレビューを停止させ(820)、カメラの視野内にある顔の外観の変化に反応する。これは、ステッカーが生成されたことをユーザに示し、ユーザに送信することによってメッセージエリア609内に表示された通信にステッカーがドラッグされた場合に送信されるステッカーの外観をユーザにプレビューする。これは、ユーザが追加の対話を実行する必要なく又は結果のステッカーを見る前に完全なステッカー生成ジェスチャを完了することなく生成されるステッカーのプレビューを表示することにより、デバイスの操作性を向上させ、改善されかつより効率的なマン-マシンインタフェースを構成する。これは、ユーザがデバイスをより素早く、効果的に使用できるようにすることによって、電力使用量を削減し、デバイスの電池寿命を改善する。
いくつかの実施形態では、仮想アバターのプレビュー(例えば、680)は、入力が仮想アバターから離れた後、変化への反応を再開する(例えば、静的アバターがメッセージ会話に向かってドラッグされるとアニメーションが再開する)。いくつかの実施形態では、仮想アバターのプレビュー(例えば680)は、静的アバターをドラッグしている入力が終了するまで顔の外観の変化に反応するのを中止する。仮想アバタープレビューの更新を再開すると、ユーザは、生成されたステッカーの外観を、異なる/追加のステッカーの基礎となる可能性のある仮想アバターの他の可能な外観と比較することができる。これは、デバイスの操作性を向上させ、(例えば、ユーザが生成されたコンテンツを送信する前に生成可能な他のコンテンツに関するフィードバックを提供することにより、ユーザが意図した結果を達成することを支援することにより)ユーザとデバイスのインタフェースをより効率的にし、更に、ユーザがデバイスをより素早く、効果的に使用できるようにすることによって、電力使用量を削減し、デバイスの電池寿命を改善する。
いくつかの実施形態では、電子デバイスは、アニメーション化された仮想アバターを生成するための期間の満了(例えば、5、10、又は15秒間のタイマーの満了、又は期間を停止するユーザ入力)に応じて、記録アフォーダンスの代わりに送信又は確認アフォーダンス(例えば、664)を表示する(例えば、仮想レコードボタンは、もはや表示されず、代わりに仮想送信ボタンが仮想レコードボタンの代わりに表示される)。電子デバイスは、送信アフォーダンス又は確認アフォーダンスを選択する入力(例えば、タッチ感知ディスプレイの送信アフォーダンスに対するタップジェスチャ)の受信に応じて、生成されたアニメーション化された仮想アバターをリモートユーザに送信する(824)(例えば、図6V及び図6Wに示すように、最初にアニメーション化された仮想アバターをメッセージ作成エリア612に送信しない図6U及び図6Xを参照)(例えば、アニメーション化された仮想アバターは、メッセージ作成エリアなどのメッセージングインタフェースの他のエリアに最初に配置されるアニメーション化された仮想アバターなしでメッセージングスレッド又はセッションに関連付けられたリモートユーザに送信される)。アニメーション化された仮想アバターの記録が完了した後、記録ボタンの代わりに送信又は確認ボタンを表示すると、インタフェースの現在の状態に適用できないボタンのために占有されたエリアを再利用しかつよりコンテキストに関連する機能をユーザに提供することにより、より多くの情報をインタフェースに表示することができる。これは、デバイスの操作性を向上させ、(例えば、ディスプレイに未使用の要素が散らかることなく、より多くの情報/任意選択をディスプレイに表示することにより)ユーザとデバイスのインタフェースをより効率的にし、更に、ユーザがデバイスをより素早く、効果的に使用できるようにすることによって、電力使用量を削減し、デバイスの電池寿命を改善する。
いくつかの実施形態では、電子デバイスは、アニメーション化された仮想アバターを生成するための期間の満了に応じて、記録アフォーダンスの代わりに確認アフォーダンス(例えば、664)を表示する(822)。確認アフォーダンスを選択する入力の受信(例えば、接触667を介して)(例えば、タッチ感知ディスプレイの確認アフォーダンスのタップジェスチャ)に応じて、電子デバイスは、メッセージングインタフェース(例えば、図6V)のメッセージ作成エリア(例えば、612)(例えば、キーボードで入力されたテキストを表示するメッセージングインタフェースの領域)内にアニメーション化された仮想アバターの表現(例えば、静的なグラフィカル要素又はアニメーション化された仮想アバター)を表示する。いくつかの実施形態では、期間は、所定の時間量に基づいている(例えば、進度インジケータ656によって表される)。電子デバイスは、アニメーション化された仮想アバターを生成した後、仮想アバターのプレビューの表示を停止し、アニメーション化された仮想アバターのループバージョンを表示する(例えば、図6T)。アニメーション化された仮想アバターのループバージョンの表示は、アニメーションシーケンスを2回以上表示することを含む(例えば、方法900に関して以下で説明されるように)。アニメーション化された仮想アバターの記録が完了した後、記録ボタンの代わりに送信又は確認ボタンを表示すると、インタフェースの現在の状態に適用できない(又はあまり適用されない)ボタンに占有されているエリアを再利用することで、インタフェースにより多くの情報を表示することができる。これは、デバイスの操作性を向上させ、(例えば、ディスプレイに未使用の要素が散らかることなく、より多くの情報/オプションをディスプレイに表示することにより)ユーザとデバイスのインタフェースをより効率的にし、更に、ユーザがデバイスをより素早く、効果的に使用できるようにすることによって、電力使用量を削減し、デバイスの電池寿命を改善する。
いくつかの実施形態では、アニメーション化された仮想アバターのループバージョンは、第1の仮想アバターテンプレート(例えば、要素644-4、又は図6Nのインジケータ645により示される他の要素により表される)を使用して表示される。電子デバイスは、第2の仮想アバターテンプレートの表現(例えば、図6Zの要素644-8)を含む複数の他の仮想アバターテンプレートの表現(例えば、要素644-1から644-7)(例えば、笑顔、動物、ロボット、又は他の対象物などの異なる仮想アバターテンプレートのミニチュア汎用版)を表示し、第2の仮想アバターテンプレートは、第1の仮想アバターテンプレートとは異なる。いくつかの実施形態では、複数の仮想アバターテンプレート内の仮想アバターテンプレートのうちの任意の1つ以上は、メッセージングアプリケーションを介して送信されるために利用可能な絵文字に基づいている。電子デバイスは、アニメーション化された仮想アバターのループバージョンの表示を開始した後(例えば、図6T)、第1の仮想アバターテンプレート表現を選択するユーザ入力の受信に応じて(例えば、665)、第2の仮想アバターテンプレート(例えば、図6U)を反映するためにアニメーション化された仮想アバターのループバージョンの表示を更新する(例えば、アニメーション化された仮想アバターは、顔の表情の変化のシーケンスになおも基づいているが、アニメーション化された仮想アバターの外観は、新たな仮想アバターテンプレートを反映するように変化する)。例えば、アニメーション化された仮想アバターは、猿からロボットに変化することができるが、更にカメラの視野内の顔の表情の変化の同じシーケンスを経時的に反映する(例えば、図6Tから図6Uへの遷移を参照)。新たに選択されたアバターテンプレートに基づくアニメーション化された仮想アバターの更新は、ユーザがアニメーション化された仮想アバターの動きとアクションを記録した後、アニメーション化された仮想アバターのスタイルを選択することを可能にすることにより、意図したメッセージのマルチメディアコンテンツを微調整することを可能にする。新たなアバターテンプレートを試みるためにアニメーション化された仮想アバターコンテンツを再記録する必要がなくなると、デバイスの操作性が向上し、(例えば、コンテンツの繰り返し生成をなくすことにより)ユーザとデバイスのインタフェースをより効率的にし、更に、ユーザがデバイスをより素早く、効果的に使用できるようにすることによって、電力使用量を削減し、デバイスの電池寿命を改善する。
いくつかの実施形態では、仮想アバター生成インタフェースの起動に応じて、仮想アバターのプレビュー(例えば、646)が自動的に表示される。いくつかの実施形態では、仮想アバター生成インタフェースが表示されるとすぐに、仮想アバターのプレビューがユーザ入力なしで表示される。
いくつかの実施形態では、電子デバイスは、カメラの視野内の顔の第1の物理的特徴(例えば、口笑顔、舌の突き出し、耳の揺れ、眉毛上げ、又は他の任意の物理的特徴の他の任意の動き)の特性(例えば、位置、向き、動き)を検出することに応じて、検出された特性に基づいて、仮想アバターの表示されたプレビューの第1の物理的特徴を更新し、顔の第1の物理的特徴のタイプ(例えば、目、眉毛、口、舌、耳)は、表示されたプレビューの第1の物理的特徴のタイプと同じである。いくつかの実施形態では、ユーザの口が開くと、それに応じて仮想アバターの口が開く(例えば、図6Oの650-1及び651-1)。同様の結果は、顔面表情に基づくことができる。例えば、顔の物理的特徴又は特性の1つ以上の動きが検出された場合、電子デバイスは、所定の感情が表示されていると判定することができる。それに応じて、仮想アバターの表示されたプレビューは、対応する物理的特徴又は特性を更新して検出された顔面表情を反映することにより、所定の動きを反映するように更新されることができる。ユーザの物理的特徴を仮想アバターの同様の物理的特徴にマッピングすることにより、ユーザは、面倒な又は時間のかかるタッチやキー入力を必要とせずに、仮想アバター上に直感的にマッピングするシステムへの入力を提供する動き、表情、及びポーズを提供することができる。これは、デバイスの操作性を向上させ、(例えば、デバイスで操作/対話するときに、予測可能な方法で仮想アバターに対してユーザの特徴をマッピングすることによって意図した結果を達成するようにユーザを支援し、ユーザの誤りを減らすことによって)ユーザデバイスインタフェースをより効率的なものとし、更に、ユーザがデバイスをより素早く、効果的に使用できるようにすることによって、電力使用量を削減し、デバイスの電池寿命を改善する。
いくつかの実施形態では、電子デバイスは、カメラの視野内の顔の第2の物理的特徴の特性の検出に応じて、検出された特性に基づいて仮想アバターの表示されたプレビューの第2の物理的特徴を更新し、顔の第2の物理的特徴のタイプは、表示されたプレビューの第2の物理的特徴のタイプとは異なる(例えば、図6Oの650-2の眉毛と651-2の耳の動き)。いくつかの実施形態では、ユーザが幸せであることを示す笑顔をユーザがしている場合、ユニコーンホーンやロボットのライトなどの仮想アバターの異なる特徴は、笑顔を反映するように変化させることができる。同様の結果は、顔面表情に基づくことができる。例えば、顔の物理的特徴又は特性の1つ以上の動きが検出された場合、電子デバイスは、所定の感情が表示されていると判定することができる。それに応じて、仮想アバターの表示されたプレビューは、任意選択的に、検出された顔面表情を反映するために物理的特徴又は特性の異なるセットを更新することにより、所定の動きを反映するように更新される。ユーザの物理的特徴を仮想アバターの異なる物理的特徴にマッピングすることにより、ユーザは、ユーザが他の方法では簡単に制御することができないアバター特徴にマッピングするシステムへの入力を提供する動き、表情、及びポーズを提供することができる。これは、デバイスの操作性を向上させ、(例えば、デバイスで操作/対話するときに、仮想アバターの追加の特徴が制御されるように仮想アバターに対してユーザの特徴をマッピングすることによって意図した結果を達成するようにユーザを支援し、ユーザの誤りを減らすことによって)ユーザデバイスインタフェースをより効率的なものとし、更に、ユーザがデバイスをより素早く、効果的に使用できるようにすることによって、電力使用量を削減し、デバイスの電池寿命を改善する。
いくつかの実施形態では、電子デバイス、電子デバイスは、カメラの視野内の顔の動きの検出に応じて、仮想アバターの物理モデル及び検出された動きに基づいて仮想アバターの表示されたプレビューの第3の物理的特徴を更新する(例えば、図6Oの650-5及び651-5)。いくつかの実施形態では、例えば、仮想アバターが子犬の仮想アバターテンプレートに基づいている場合、ユーザの顔が揺れていると検出されると、仮想アバターの顔が揺れ、仮想アバターの耳が突き出て、ユーザの耳が揺れに応じて突き出ていなくても揺れ動きの物理学を反映する。いくつかの実施形態では、仮想アバターの表示されたプレビューの同じ物理的特徴は、カメラの視野内及び物理モデルの対応する顔の特徴の動きに基づいて更新される(例えば、ユーザの耳の動きに基づいて、またフロッピーの子犬の耳の物理モデルにも基づいて耳が動く)。仮想アバターの物理モデルに基づいて仮想アバターを更新することによって、ユーザは、より広い範囲の非言語的情報を伝達できる現実的な対話型の仮想アバターを作成することができる。これによって、デバイスの操作性が改善され、ユーザ-デバイスインタフェースを(例えば、仮想アバターのより現実的な動きを使用して、意図されたメッセージを伝達するようにユーザを支援することによって)更に効率的にし、更に、ユーザがデバイスをより素早く、効果的に使用できるようにすることによって、電力使用量を削減し、デバイスの電池寿命を改善する。
いくつかの実施形態では、仮想アバターのプレビューは、所定の仮想アバターテンプレート(例えば、図6Nの表現644-4に関連付けられたアバターテンプレート)に基づいている。電子デバイスは、所定の仮想アバターテンプレートに関連付けられた1つ以上の所定の動作に基づいて、仮想アバターのプレビューを更新する。いくつかの実施形態では、カメラの視野内の顔から動き又は顔面表情の変化が検出されない場合(例えば、650-3及び650-4)、仮想アバターのプレビューは、瞬き、頭の回転、顔面表情の形成、又は他のアクションなどの所定の応答(例えば、651-4)を示す。
いくつかの実施形態では、電子デバイスは、カメラの視野内で顔がもはや検出されないという判定に応じて(例えば、顔が視野から外れたために、顔がカメラのビューから見えなくなっているために、又はデバイスがもはや顔の特徴の動きを正確に追跡することができないように顔の位置が変更されているために、顔の追跡が失敗した)、仮想アバターのプレビューの表示を徐々にフェードする(例えば、仮想アバタープレビュー646はフェードする)。いくつかの実施形態では、デバイスは、仮想アバタープレビューのサイズ、回転、動きの変化など、デバイスが検出した最後の情報から仮想アバタープレビューを劣化させるなど、もはやユーザの顔を追跡することができなくなったことを示すために、仮想アバタープレビューに他の変更を加える。いくつかの実施形態では、電子デバイスは、カメラの視野内で顔がもはや検出されないという判定に応じて(例えば、顔が視野から外れたために、顔がカメラのビューから見えなくなっているために、又はデバイスがもはや顔の特徴の動きを正確に追跡することができないように顔の位置が変更されているために、顔の追跡が失敗した)、カメラによって顔がもはや適切に検出されなくなったことを示すメッセージを表示する(例えば、図6Nの仮想アバター643上に、又は図6Nの仮想アバタープレビュー646の代わりに表示プロンプトが表示される)。いくつかの実施形態では、電子デバイスは、カメラの視野内で顔がもはや検出されないという判定に応じて(例えば、顔が視野から外れたために、顔がカメラのビューから見えなくなっているために、又はデバイスがもはや顔の特徴の動きを正確に追跡することができないように顔の位置が変更されているために、顔の追跡が失敗した)、顔がもはや視野内で検出されなくなる前(例えば、直前又は短時間前)の期間中に発生していた顔の外観の変化に基づいて仮想アバターのプレビューの表示を更新する(例えば、デバイス600は、笑顔からしかめ面又は目の動きへの遷移を繰り返し表示する)。いくつかの実施形態では、カメラの視野内で顔がもはや検出されなくなる前の期間中に発生していた顔の外観の変化に基づいて仮想アバターのプレビューの表示を更新することは、仮想アバターの更新が徐々に停止するように、経時的に仮想アバターのプレビューの更新を徐々に遅くすることを含む(例えば、ゆっくりと回転しているアバターが回転を停止し、ゆっくりと開閉している目が開閉するのを停止し、ゆっくりと開閉している口が開閉するのを停止する)。仮想アバタープレビューがユーザの顔を追跡しているかどうかに関するフィードバックを表示すると、ユーザは、デバイスが適切に保持されているかどうか及びユーザの顔の検出条件が適切かどうかを判定することができる。デバイスの状態の改善されたフィードバックをユーザに提供することは、デバイスの操作性を向上させ、デバイスがまだユーザの顔をなおも追跡しようとしているという表示を通じてユーザインタフェースのより良好な連続性を提供することにより、ユーザとデバイスのインタフェースをより効率的にする。これは、より優れた直感的なマン-マシンインタフェースを提供し、デバイスがユーザの顔を追跡することができない場合であっても、ユーザがデバイスと対話し続けることをもたらす。
方法800(例えば、図8A~図8B)に関して上述したプロセスの詳細は、後述する方法にも同様に当てはまることに留意されたい。例えば、方法900は、方法800を参照して上述した様々な方法の特性のうちの任意の1つ以上を任意選択的に含む。例えば、方法800に関して上述したステッカーの生成は、方法900に関して以下で説明するユーザインタフェースに任意選択的に組み込まれる。他の例として、方法800に関して上述したアニメーション化された仮想アバター(例えば、アニメーション化された仮想アバター)を送信する前の音のミュートは、方法900に関して以下に説明するユーザインタフェースに任意選択的に組み込まれる。簡潔にするために、これらの詳細は、以下で繰り返さない。
上述した情報処理方法での演算は、汎用プロセッサ(例えば、図1A、図3、図5Aに対して説明したように)又は特定用途向けチップなどの情報処理装置内の1つ以上の機能モジュールを実行させることによって、任意選択的に実行される。更に、図8A及び図8Bを参照して上述した動作は、任意選択的に、図1A~図1Bに示す構成要素によって実施される。例えば、仮想アバター生成インタフェース(806)における入力の検出は、任意選択的に、イベントソータ170、イベント認識部180、及びイベントハンドラ190によって実装される。イベントソータ170内のイベントモニタ171は、タッチ感知面604上の接触を検出し、イベントディスパッチャモジュール174は、イベント情報をアプリケーション136-1に伝送する。アプリケーション136-1のそれぞれのイベント認識部180は、イベント情報をそれぞれのイベント定義186と比較し、タッチ感知面上の第1の位置での第1の接触が、ユーザインタフェース上のオブジェクトの選択などの所定のイベント又はサブイベントに対応するか否かを判定する。対応する既定のイベント又はサブイベントが検出されると、イベント認識部180は、そのイベント又はサブイベントの検出に関連付けられたイベントハンドラ190をアクティブ化する。イベントハンドラ190は、アプリケーション内部状態192を更新するために、アップデータ176又はオブジェクトアップデータ177を、任意選択的に利用又は呼び出す。いくつかの実施形態では、イベントハンドラ190は、アプリケーションにより表示されるものを更新するために、対応するGUIアップデータ178にアクセスする。同様に、当業者にとって、他の処理が図1A~図1Bに示された構成要素に基づいてどのように実装できるかは明らかであろう。
図9A~図9Bは、いくつかの実施形態による、電子デバイスを使用した900のための方法を示すフロー図である。方法900は、ディスプレイ及びカメラを備えたデバイス(例えば、100、300、500、600)にて実行される。方法900のいくつかの動作は、任意選択的に組み合わされ、いくつかの動作の順序は、任意選択的に変更され、いくつかの動作は、任意選択的に省略される。
以下で説明するように、方法900は、仮想アバターなどの絵文字を生成及び送信するための直感的な方法を提供する。本方法は、絵文字を生成及び送信する際のユーザの認識的負担を軽減し、それによって、より効率的なヒューマン-マシンインタフェースを作り出す。バッテリ動作式のコンピューティングデバイスの場合には、ユーザが絵文字を生成及び送信することを可能にすることは、より高速にかつより効率的に節電し、バッテリ充電の間隔を長くする。
カメラ(例えば、可視光、IR光、深度データなどを表すデータをキャプチャするための1つ以上のセンサを備えて構成される)及びディスプレイ(例えば、601)を有する電子デバイス(例えば、600)は、仮想アバター生成インタフェース(例えば、図6Nの643)を表示する(902)(例えば、絵文字の選択、静的絵文字の生成、及びアニメーション化された絵文字の記録)。電子デバイスは、仮想アバター生成インタフェース(例えば、複数の異なる利用可能な絵文字スタイル又はテンプレートから選択される移動絵文字)に仮想アバターのプレビュー(例えば、図6Nの646)(例えば、一部の場合には感情又は反応などの非言語メッセージを伝達することを意図した2D又は3Dコンピュータ生成グラフィカルオブジェクト)を表示する(904)。仮想アバターのプレビューは、カメラの視野内にある顔の外観の変化に反応する(例えば、図6O)(例えば、アニメーション絵文字は、1つ以上の画像センサからの画像データにおいて検出されるようなユーザの頭の動き、顔面表情、及び向きを反映する)。電子デバイスは、カメラの視野内にある顔の顔面表情の変化に基づいて、アニメーション化された仮想アバターを生成する要求(例えば、接触652)を受信する(906)。アニメーション化された仮想アバターを生成する要求の受信に応じて、電子デバイスは、カメラの視野内の顔の顔面表情のシーケンスを記録する(908)(例えば、図6Q~図6S)(例えば、シーケンスは、アニメーション化された仮想アバターを生成するために仮想アバターテンプレートに適用できるポイントのマッピングを提供するための一連のデータポイントを含む)。電子装置は、カメラの視野内にある顔の顔面表情を記録した後、アニメーション化された仮想アバターを生成するための要求に応じて記録された顔面表情のシーケンスに基づくアニメーションシーケンスを含むアニメーション化された仮想アバター(例えば、659)のループバージョン(例えば、図6T及び図6U)を表示する(910)(例えば、記録された顔面表情を表す一連のデータポイントを所定のアニメーション化されたバーチャルアバターテンプレートに順次マッピングすることにより、アニメーション化された仮想アバターが表示される)。電子デバイスは、アニメーション化された仮想アバターのループバージョンを2回以上表示する。いくつかの実施形態では、顔の顔面表情のシーケンスを記録することは、所定の仮想アバターテンプレートの離散マッピングポイントの値の時間シーケンスを記録することを含む。アニメーション化された仮想アバターのループバージョンを表示すると、ユーザは、その後、アニメーション化された仮想アバターのコンテンツを確認して、適切なメッセージが伝達されているかどうかを理解することができる。ユーザに改善された視覚的フィードバックを提供することは、デバイスの操作性を向上させ、エラーの場合を低減し、ユーザとデバイスのインタフェースをより効果的にし(例えば、デバイスに意図された結果を発生させる入力を指示するフィードバックを提供することによって、ユーザが、意図された結果を達成することを支援し、デバイスを操作又はそれと対話するとき、ユーザの間違いを低減することによって)、更に、ユーザがデバイスをより素早く、効果的に使用できるようにすることによって、電力使用量を削減し、デバイスの電池寿命を改善する。
いくつかの実施形態では、電子デバイスは、(例えば、進度インジケータ656によって表される)タイマー(例えば、5、10、又は15秒タイマー)の満了に応じて、顔面表情のシーケンスの記録を停止する。いくつかの実施形態では、電子デバイスは、ユーザ入力(例えば、接触658)の受信(例えば、ユーザがディスプレイに表示される仮想ボタンをタップする)に応じて、顔面表情のシーケンスの記録を停止する。アニメーション化された仮想アバターの記録の時間を制限することにより、ユーザは、デバイスのコンピューティングリソース(例えば、記憶装置)への影響を制限しながら、アニメーション化された仮想アバターの記録を作成することができる。これは、デバイスのコンピューティングリソースを保持することにより、デバイスの操作性を向上させる。
いくつかの実施形態では、電子デバイスは、プレビューの表示をアニメーション化された仮想アバターのループバージョンの表示に置き換える(912)(例えば、図6Sから図6Tへの遷移を参照)(例えば、顔面表情のシーケンスの記録が完了するのに応じて、生成されたアニメーション化された仮想アバターがループでユーザに再生される)。記録されたアニメーション絵文字のループバージョンを再生すると、ユーザは、アニメーション絵文字を送信、削除、又は保存するかどうかを決定する前に、アニメーション絵文字を自動的に確認することができる。これは、デバイスの操作性を向上させ、ユーザとデバイスのインタフェースをより効果的にし(例えば、ユーザが結果にコミットする前に結果を示すフィードバックを提供することによって、ユーザが、意図された結果を達成することを支援し、デバイスを操作又はそれと対話するとき、ユーザの間違いを低減することによって)、更に、ユーザがデバイスをより素早く、効果的に使用できるようにすることによって、電力使用量を削減し、デバイスの電池寿命を改善する。
いくつかの実施形態では、アニメーション化された仮想アバターを生成する要求は、仮想アバター生成インタフェースに表示された記録アフォーダンス(例えば、648)の選択を含む。電子デバイスは、カメラの視野内にある顔の顔面表情を記録した後、記録アフォーダンスの表示を送信アフォーダンス又は確認アフォーダンス(例えば、664)に置き換える。いくつかの実施形態では、送信アフォーダンスは、方法800に関して上記で説明したように動作する。記録アフォーダンスの選択に応じてアニメーション化された仮想アバターを記録すると、ユーザは、仮想アバタープレビューを使用して、デバイスがユーザを追跡しておりかつ現在選択されている仮想アバターテンプレートが、ユーザが伝達したいメッセージと一致していることを検証することができる。これは、デバイスの操作性を向上させ、ユーザとデバイスのインタフェースをより効果的にし(例えば、ユーザが意図された結果を生成する前に意図された結果のプレビューを提供することによって、ユーザが、意図された結果を達成することを支援し、デバイスを操作又はそれと対話するとき、ユーザの間違いを低減することによって)、更に、ユーザがデバイスをより素早く、効果的に使用できるようにすることによって、電力使用量を削減し、デバイスの電池寿命を改善する。
いくつかの実施形態では、アニメーション化された仮想アバターのループバージョンは、第1の仮想アバターテンプレート(例えば、要素644-4に対応するアバターテンプレート)を使用して表示される(918)。電子デバイスは、第2の仮想アバターテンプレートの表現(例えば、図6Zの要素644-8)を含む複数の他の仮想アバターテンプレートの表現(例えば、要素644-1から644-7)(例えば、笑顔、動物、ロボット、又は他の対象物などの異なる仮想アバターテンプレートのミニチュア汎用版)を表示する。第2の仮想アバターテンプレートは、第1の仮想アバターテンプレートとは異なる。いくつかの実施形態では、複数の仮想アバターテンプレート内の仮想アバターテンプレートのうちの任意の1つ以上は、メッセージングアプリケーションを介して送信されるために利用可能な絵文字に基づいている。アニメーション化された仮想アバターのループバージョンの表示を開始した後、第1の仮想アバターテンプレート表現を選択するユーザ入力の受信に応じて、電子デバイスは、第2の仮想アバターテンプレートを反映するためにアニメーション化された仮想アバターのループバージョンの表示を更新する(922)(例えば、アニメーション化された仮想アバターは、顔の表情の変化のシーケンスになおも基づいているが、アニメーション化された仮想アバターの外観は、新たな仮想アバターテンプレートを反映するように変化する)。例えば、アニメーション化された仮想アバターは、猿からロボットに変化することができるが、更にカメラの視野内の顔の表情の変化の同じシーケンスを経時的に反映する(例えば、図6Tから図6Uへの遷移を参照)。いくつかの実施形態では、電子デバイスは、第1の仮想アバターテンプレートの表現を含む仮想アバターテンプレートの複数の表現(例えば、笑顔、動物、ロボット、又は他の対象などの異なる仮想アバターテンプレートのミニチュア汎用版)を表示する(914)。第1の仮想アバターテンプレートの表現の選択に対応するユーザ入力の受信に応じて、電子デバイスは、第1の仮想アバターテンプレートに対応するようにアニメーション化された仮想アバターのループバージョンの表示を更新する(916)(例えば、ユーザがいかなる顔面表情も再記録する必要なく、子犬仮想アバターテンプレートに基づく子犬の代わりにロボット仮想アバターテンプレートに基づくロボットからなるようにアニメーションを変化させる)。新たに選択されたアバターテンプレートに基づくアニメーション化された仮想アバターの更新は、ユーザがアニメーション化された仮想アバターの動きとアクションを記録した後、アニメーション化された仮想アバターのスタイルを選択することを可能にすることにより、意図したメッセージのマルチメディアコンテンツを微調整することを可能にする。新たなアバターテンプレートをプレビューするためにアニメーション化された仮想アバターコンテンツを再記録する必要がなくなると、デバイスの操作性が向上し、(例えば、コンテンツの繰り返し生成をなくすことにより)ユーザとデバイスのインタフェースをより効率的にし、更に、ユーザがデバイスをより素早く、効果的に使用できるようにすることで、電力使用量を削減し、デバイスの電池寿命を改善する。
いくつかの実施形態では、プレビュー仮想アバターは、第2のアバターテンプレートに基づいている。カメラの視野内の顔の第1の物理的特徴(例えば、ユーザの眉毛の動き)の第1の特性の検出に応じて(例えば、図6Oの650-2)、電子デバイスは、検出された第1の特性に基づく仮想アバターの表示されたプレビューの第1の物理的特徴を更新する(920)(例えば、仮想アバターのプレビューにその眉毛を動かさせる)。表示されたプレビューの第1の物理的特徴は、第1の特徴のタイプ(例えば、眉毛)を有する。第1のグラフィカル要素の選択に対応するユーザ入力を受信した後(例えば、アバターテンプレートを子犬から猿に切り替える)、及びカメラの視野内の顔の第1の物理的特徴の第2の特性(例えば、ユーザの眉毛の動き)の検出に応じて、電子デバイスは、検出された第2の特性(例えば、猿の耳の動き)に基づいて仮想アバターの表示されたプレビューの第2の物理的特徴(例えば、図6Oの651-2)を更新し(922)、表示されたプレビューの第2の物理的特徴は、第1の特徴タイプ(例えば、眉毛)とは異なる第2の特徴タイプ(例えば、耳)を有する。ユーザの同じ物理的特徴を異なるアバターテンプレートの異なる物理的特徴にマッピングすると、ユーザは、様々な仮想アバターを生成する同じ入力を有することによってメッセージを通信するための幅広い任意選択を有することができる。これは、デバイスの操作性を向上させ、(例えば、メッセージを伝達するためにより多くの選択を提供することによって意図されたメッセージを達成するようにユーザを支援することにより)ユーザとデバイスのインタフェースをより効率的にし、更に、ユーザがデバイスをより素早く、効果的に使用できるようにすることによって、電力使用量を削減し、デバイスの電池寿命を改善する。
いくつかの実施形態では、電子デバイスは、仮想アバターテンプレートの複数の表現をスクロールする要求に対応するユーザ入力(例えば、図6Y~図6AAの接触676を介して)の受信に応じて、仮想アバターテンプレートの複数の表現の一部ではない第2のグラフィカル要素を表示するために仮想アバターテンプレートの複数の表現の表示をスクロールする。いくつかの実施形態では、スクロールは、要求に対応するユーザ入力の速度に基づいている。仮想アバターテンプレートをスクロールすると、ユーザは、仮想アバターの異なるオプションを素早く確認することができる。更に、仮想アバターテンプレートの複数の表現の表示をスクロールすることにより、ユーザは、前及び次の仮想アバターテンプレートを確認することができる。これは、デバイスの操作性を向上させ、ユーザとデバイスのインタフェースをより効果的にし(例えば、デバイスに意図された結果を発生させる入力を指示するフィードバックを提供することによって、ユーザが、意図された結果を達成することを支援し、デバイスを操作又はそれと対話するとき、ユーザの間違いを低減することによって)、更に、ユーザがデバイスをより素早く、効果的に使用できるようにすることによって、電力使用量を削減し、デバイスの電池寿命を改善する。
いくつかの実施形態では、スクロールの速度は、ユーザ入力の終了を検出した後、経時的に徐々に低下する(例えば、仮想アバターの複数の表現が摩擦により徐々に減速された慣性を有するかのようにスクロールが徐々に停止する)。経時的にスクロール速度を徐々に低下させることで、ユーザは、追加の入力を提供する必要なく、異なる仮想アバターテンプレートオプションを引き続き確認することができる。これは、デバイスの操作性を向上させ、ユーザとデバイスのインタフェースをより効果的にし(例えば、追加の対話を要求することなく可能な結果のフィードバックを提供することによって、ユーザが、意図された結果を達成することを支援し、デバイスを操作又はそれと対話するとき、ユーザの間違いを低減することによって)、更に、ユーザがデバイスをより素早く、効果的に使用できるようにすることによって、電力使用量を削減し、デバイスの電池寿命を改善する。
いくつかの実施形態では、電子デバイスは、要求に対応するユーザ入力の受信に応じて、1つの仮想アバターテンプレートから異なる仮想アバターテンプレートに変化する現在選択されている仮想アバターテンプレートに対応する可聴出力及び/又は触知出力を生成する。例えば、仮想アバターテンプレートの複数の表現のそれぞれが、現在選択されている仮想アバターテンプレートを示す場所を過ぎてスクロールすると、可聴及び/又は触知出力が生成される。可聴又は触知フィードバックを生成することにより、ユーザは、新たな選択がいつ発生したかを判定することができる。これは、デバイスの操作性を向上させ、ユーザとデバイスのインタフェースをより効果的にし(例えば、新たな選択がいつ行われるかを示すフィードバックを提供することによって、ユーザが、意図された結果を達成することを支援し、デバイスを操作又はそれと対話するとき、ユーザの間違いを低減することによって)、更に、ユーザがデバイスをより素早く、効果的に使用できるようにすることによって、電力使用量を削減し、デバイスの電池寿命を改善する。
いくつかの実施形態では、電子デバイスは、アニメーション化された仮想アバターでのユーザ入力、アニメーション化された仮想アバターを保存する要求に対応する入力の受信に応じて、アニメーション化された仮想アバターのデータを電子デバイス上のデータベースに記憶する(例えば、図6CC~図6GG)。例えば、電子デバイスは、アニメーション化された仮想アバターを表すデータを、電子デバイスの不揮発性記憶装置のディレクトリ又はライブラリに記憶する。
いくつかの実施形態では、電子デバイスは、アニメーション化された仮想アバターをリモートデバイスのリモートユーザ(例えば、図6HH~図6KK)に送信する要求(例えば、接触688)を受信する。リモートデバイスが基準の第1のセットを満たしている(例えば、リモートデバイスがアニメーション化された仮想アバターの第1バージョンを再生するために必要なアプリケーションの必要なバージョンを有している)という判定に従って、電子デバイスは、アニメーション化された仮想アバターの第1バージョンをリモートデバイスのユーザに送信する(例えば、リモートデバイスがアニメーション化された仮想アバターを再生することができるように、記録された顔面表情のシーケンスと仮想アバターテンプレートの表示を表す非グラフィカルデータを送信する)。リモートデバイスが第1の基準のセットを満たしていない(例えば、リモートデバイスは、アニメーション化された仮想アバターの第1のバージョンを再生するための適切なメッセージングアプリケーション又はメッセージングアプリケーションのバージョンを有しない)という判定に従って、電子デバイスは、リモートデバイスのユーザに第1のバージョンとは異なるアニメーション化された仮想アバターの第2のバージョンを送信する(例えば、アニメーション化された仮想アバターを表すビデオファイルの送信)。アニメーション化された仮想アバターのどのバージョンをリモートユーザに送信するかを判定すると、最小限度の互換性のある情報のみをリモートユーザに送信することにより、デバイスのリソースが節約される。更に、そうすることで、ユーザがより互換性のある形式で情報を再送信する必要性を低減する(例えば、初期形式が表示できなかったことを示すリモートユーザに応じて)。効率的で有効なデータ転送は、デバイスの操作性を向上させ、更に、ユーザがデバイスをより素早く、効果的に使用することができるようにすることによって、電力使用量を削減し、デバイスの電池寿命を改善する。
いくつかの実施形態では、電子デバイスは、アニメーション化された仮想アバターのループバージョンを表示しながら、顔面表情のシーケンスを記録している間に記録されたサウンドと所定のアバターテンプレートに関連付けられたオーディオフィルタとに基づいてオーディオデータを再生する(924)。いくつかの実施形態では、電子デバイスは、アニメーション化された仮想アバターのループバージョンを表示しながら、顔面表情のシーケンスを記録している間に記録されたサウンドに基づいてオーディオデータを再生する。ミュートアフォーダンスの選択(例えば、図6T及び図6Uの662)に対応するユーザ入力の受信に応じて、電子デバイスは、オーディオデータの再生を停止する。仮想アバターのアバターテンプレートに固有のフィルタに基づいてアニメーション化された仮想アバターのフィルタ処理されたオーディオを再生すると、ユーザは、メッセージの通信方法のオプションを増やし、より魅力的なアニメーション化された仮想アバターを提供することで、メッセージをより効果的に伝達することができる。これは、デバイスの操作性を向上させ、(例えば、メッセージが伝達される方法に関するより多くのオプションをユーザに提供することによって意図されたメッセージを達成するようにユーザを支援することにより)ユーザとデバイスのインタフェースをより効率的にし、更に、ユーザがデバイスをより素早く、効果的に使用できるようにすることによって、電力使用量を削減し、デバイスの電池寿命を改善する。
いくつかの実施形態では、電子デバイスは、リモートユーザにアニメーション化された仮想アバターを送信する要求の受信に応じて(926)、及びアニメーション化された仮想アバターのループバージョンの表示に関連付けられたオーディオデータがミュートされている間に、アニメーション化された仮想アバターをリモートユーザに送信する要求(例えば、接触667)が受信されたという判定に従って、アニメーション化された仮想アバターのサウンドデータを送信することなく、アニメーション化された仮想アバターを表すデータをリモートユーザに送信する(928)。アニメーション化された仮想アバターのループバージョンの表示に関連付けられたオーディオデータがミュートされなかった間に、電子デバイスは、アニメーション化された仮想アバターをリモートユーザに送信する要求が受信されたという判定に従って、アニメーション化された仮想アバターのサウンドデータとともに、アニメーション化された仮想アバターを表すデータをリモートユーザに送信する(930)。ユーザがアニメーション化された仮想アバターの再生で音声をミュートしたときに音声なしのアニメーション化された仮想アバターを送信すると、ユーザは、リモートユーザに送信されるメッセージに音声を含めるかどうかを効率的に選択することができる。これは、デバイスの操作性を向上させ、(例えば、最小限度の対話によって意図された結果を達成するようにユーザを支援することにより)ユーザとデバイスのインタフェースをより効率的にし、更に、ユーザがデバイスをより素早く、効果的に使用できるようにすることによって、電力使用量を削減し、デバイスの電池寿命を改善する。
いくつかの実施形態では、電子デバイスは、アニメーション化された仮想アバターを生成する要求(例えば、接触652)の受信に応じて、カメラの視野内にある顔の第1の顔の動きを記録し、アニメーション化された仮想アバターのループバージョンの表示は、アニメーション化された仮想アバターの物理モデル及び第1の顔の動きに基づいて仮想アバターをアニメーション化することを含む(例えば、図6Oの画像データ650-5及び更新651-5を参照)。仮想アバターの物理モデルに基づいてアニメーション化された仮想アバターを更新することによって、ユーザは、より広い範囲の非言語的通信を伝達できる現実的な対話型の仮想アバターを作成することができる。これによって、デバイスの操作性が改善され、ユーザ-デバイスインタフェースを(例えば、仮想アバターのより現実的な動きを使用して、意図されたメッセージを伝達するようにユーザを支援することによって)更に効率的にし、更に、ユーザがデバイスをより素早く、効果的に使用できるようにすることによって、電力使用量を削減し、デバイスの電池寿命を改善する。
いくつかの実施形態では、電子デバイスは、顔面表情のシーケンスを記録している間にカメラの視野内にある顔の特定の特徴が閾値時間を超えて特定のポーズで維持されていることを検出することに応じて(例えば、図6Oの650-4及び650-5を参照)、アニメーション化された仮想アバターに、顔の特定のポーズに対応する所定のアニメーション表現(例えば、図6Oの651-5を参照)を追加する。例えば、顔が所定期間だけ中立的な表情を有する場合、頭の回転やウィンクなどの所定の動きがアニメーション化された仮想アバターに追加される。他の例として、顔が所定期間怒りの表情を有する場合、怒りを暗示する耳から出る色や蒸気などの1つ以上の追加特徴がアニメーション化された仮想アバターに追加される。ユーザの顔の特徴が特定のポーズで所定時間維持されていることを検出するデバイスに基づいてアニメーション化された仮想アバターを更新すると、ユーザは、顔面表情、特徴、及び動きのみで可能なアクションよりも多くのアクションをアニメーション化された仮想アバターに追加することができる。これは、デバイスの操作性を向上させ、ユーザとデバイスのインタフェースをより効果的にし(例えば、容易に達成可能な顔面表情、動き、又は特徴に対応しないアクションを通信するために追加の機構を提供することによってユーザが意図された結果を達成することを支援することにより)、更に、ユーザがデバイスをより素早く、効果的に使用できるようにすることによって、電力使用量を削減し、デバイスの電池寿命を改善する。
いくつかの実施形態では、電子デバイスは、顔面表情のシーケンスを記録しながら、カメラとは別個の他の入力機構を介したユーザ入力の受信に応じて(例えば、タッチセンシティブ面へのタッチ、動きセンサによって検出される電子デバイスの動き、ボタンのアクティブ化、又はその他の入力)、第1の顔面表情を顔面表情のシーケンスに追加する(例えば、幸せな顔面表情、舌を出した顔面表情、又はアニメーション化された仮想アバターに含めるために顔面表情を記録しながらカメラの視野内の顔によって形成された顔面表情として実際に記録されなかった他の顔面表情を記録する)。第1の顔面表情は、入力機構を介して受信したユーザ入力に基づいている。いくつかの実施形態では、アニメーション化された仮想アバターがループしている間に、ユーザは、アニメーション化された仮想アバターがループするにつれて、ユーザが徐々に表現をアニメーション化された仮想アバターに追加することができるように、タッチスクリーンコントロールを使用してアニメーション化された仮想アバターに追加の表現を追加することができ、したがって、アニメーション化された仮想アバターを最初に作成するときに表情の変化がカメラ(例えば、ユーザの顔)の視野内の顔の顔面表情に基づいて記録された表情の変化とは異なる場合であっても、アニメーション化された仮想アバターは、ユーザによって選択された表情の変化を含む。カメラでキャプチャされた以外のユーザ入力に基づいてアニメーション化された仮想アバターを更新すると、ユーザは、顔面表情、特徴、及び動きのみで可能なアクションよりも多くのアクションをアニメーション化された仮想アバターに追加することができる。これは、デバイスの操作性を向上させ、ユーザとデバイスのインタフェースをより効果的にし(例えば、容易に達成可能な顔面表情、動き、又は特徴に対応しないアクションを通信するために追加の機構を提供することによってユーザが意図された結果を達成することを支援することにより)、更に、ユーザがデバイスをより素早く、効果的に使用できるようにすることによって、電力使用量を削減し、デバイスの電池寿命を改善する。
なお、方法900に関して上述された処理(例えば、図9A~図9B)の詳細はまた、以下で説明される方法にも、類似の方式で適用可能であることに留意されたい。例えば、方法900は、方法800を参照して上述した様々な方法の特性のうちの任意の1つ以上を任意選択的に含む。例えば、記録された顔の特徴、動き、及び/又は表情のシーケンスに基づいて、及び方法900に関して説明されたアバターテンプレートに関連付けられたフレームワークに基づいて、アニメーション化された仮想アバタープレビューを表示することは、上記の方法800に関して説明したステッカー及びアニメーション化された仮想アバターインタフェースに適用することができる。
上述した情報処理方法での演算は、汎用プロセッサ(例えば、図1A、3、及び5Aに対して説明したように)又は特定用途向けチップなどの情報処理装置内の1つ以上の機能モジュールを実行させることによって、任意選択的に実行される。更に、図9A~図9Bを参照して上述した動作は、任意選択的に、図1A~図1Bに示す構成要素によって実施される。例えば、アニメーション化された仮想アバター生成する要求を受信すること(906)は、イベントソータ170、イベント認識部180、及びイベントハンドラ190によって、任意選択的に実施される。イベントソータ170内のイベントモニタ171は、タッチ感知面604上の接触を検出し、イベントディスパッチャモジュール174は、イベント情報をアプリケーション136-1に伝送する。アプリケーション136-1のそれぞれのイベント認識部180は、イベント情報をそれぞれのイベント定義186と比較し、タッチ感知面上の第1の位置での第1の接触が、ユーザインタフェース上のオブジェクトの選択などの所定のイベント又はサブイベントに対応するか否かを判定する。対応する既定のイベント又はサブイベントが検出されると、イベント認識部180は、そのイベント又はサブイベントの検出に関連付けられたイベントハンドラ190をアクティブ化する。イベントハンドラ190は、アプリケーション内部状態192を更新するために、アップデータ176又はオブジェクトアップデータ177を、任意選択的に利用又は呼び出す。いくつかの実施形態では、190は、アプリケーションにより表示されるものを更新するために、対応するGUIアップデータイベントハンドラ178にアクセスする。同様に、当業者にとって、他のプロセスが、図1A~図1Bに示す構成要素に基づいて、どのように実施され得るかは明らかであろう。
図10A~図10I、図11A~図11C、図12A~図12C、図13、図14A~図14D、図15A~図15B、図16A~図16B、及び図17A~図17Bは、いくつかの実施形態による、仮想アバターを生成及び変更するための例示的なユーザインタフェースを示す。これらの図におけるユーザインタフェースは、図18A、図18B、図19、図20、図21、図22、図23、図24、及び図25におけるプロセスを含む、以下で説明するプロセスを例示するために使用される。
いくつかの実施形態では、仮想アバターは、グラフィカルに描画され得るユーザの表現である。いくつかの実施形態では、仮想アバターは非写実的(例えば、漫画的)である。いくつかの実施形態では、アバターは、定型化された動物(例えば、アバター1100、1300、1500、1600、及び1700)、定型化されたロボット(例えば、アバター1400)、又は通常無生物の定型化(例えば、アバター1000)などの擬人化構造である。いくつかの実施形態では、仮想アバターは、1つ以上のアバター特徴(例えば、アバター顔の特徴)を有するアバターの顔を含む。いくつかの実施形態では、アバター特徴は、ユーザの物理的特徴の検出された動きが、アバター特徴に影響を与える(例えば、特徴のグラフィック表現に影響を与える)ように、ユーザの顔の1つ以上の物理的特徴に対応する(例えば、マッピングされる)。
いくつかの例では、ユーザは、カメラセンサ(例えば、カメラ602)(例えば、カメラモジュール143、光センサ164、深度カメラセンサ175)を使用して、仮想アバターの特性又は特徴を操作することができる。ユーザの物理的特徴(顔の特徴など)及び位置(頭の位置又は頭の傾きなど)が変化したときに、電子デバイスはその変化を検出し、ユーザの物理的特徴及び位置の変化を反映するように仮想アバターの表示された画像を変更する。いくつかの実施形態では、ユーザの物理的特徴及び位置の変化は、様々な表情、感情、文脈、調子、又はその他の非言語的コミュニケーションを示す。いくつかの実施形態では、電子デバイスは、これらの表情、感情、文脈、調子、又はその他の非言語的コミュニケーションを表すように、仮想アバターの表示された画像を変更する。
図10A~図10I、図11A~図11C、図12A~図12C、図13、図14A~図14D、図15A~図15B、図16A~図16B、図17A~図17B、及び図26A~図26Dは、電子デバイスに表示される例示的なユーザ入力及び例示的な仮想アバター(例えば、プー、クマ、エイリアン、ウサギ、ロボット、ユニコーン、ニワトリ、ブタのアバター)に対する対応する変化を示す。いくつかの実施形態では、電子デバイスは、デバイス100、300、及び500の1つ以上の要素及び/又は特徴を含む。図10A~図10I、図11A~図11C、図12A~図12C、図13、図14A~図14D、図15A~図15B、図16A~図16B、図17A~図17B、図26A~図26Dの左側の画像は、ユーザが1つ以上のカメラ(例えば、カメラ602)(例えば、カメラモジュール143、光センサ164、深度カメラセンサ175)及び/又は他のセンサ(例えば、赤外線センサ)の視野内にいるときに電子デバイスによって検出されたユーザの画像を表す。換言すれば、ユーザの画像は、カメラ(例えば、カメラ602)(例えば、カメラモジュール143、光センサ164、深度カメラセンサ175)の視点からのものであり、これは、いくつかの実施形態では、電子デバイス(例えば、デバイス100、300、及び500)に配置されることができ、他の実施形態では、電子デバイス(例えば、データを電子デバイスに渡す外部カメラ又はセンサ)から分離して配置されることができる。いくつかの実施形態では、図10A~図10I、図11A~図11C、図12A~図12C、図13、図14A~図14D、図15A~図15B、図16A~図16B、図17A~図17B、及び図26A~図26Dの左側の画像の境界は、1つ以上のカメラ(例えば、602)(例えば、カメラモジュール143、光センサ164、深度カメラセンサ175)及び/又は他のセンサ(例えば、赤外線センサ)の視野の境界を表す。いくつかの実施形態では、ユーザの画像は、電子デバイスのディスプレイ(例えば、タッチスクリーン112、ディスプレイ340、ディスプレイ450、ディスプレイ504)に表示される。いくつかの実施形態では、ユーザの画像は、表示のために外部電子デバイスに送信される。いくつかの実施形態では、外部電子デバイスは、デバイス100、300、及び500の1つ以上の要素及び/又は特徴を含む。いくつかの実施形態では、ユーザの画像データは、デバイスによって収集及び処理されるが、すぐに電子デバイスに表示されたり、外部デバイスに送信されたりすることはない。
図10A~図10I、図11A~図11C、図12A~図12C、図13、図14A~図14D、図15A~図15B、図16A~図16B、及び図17A~図17Bの右側の画像のそれぞれは、図の左側に配置されたユーザの対応する検出画像に基づいて提示された(例えば、変更後に表示された)状態の仮想アバター(例えば、プーアバター)を示す。いくつかの実施形態では、仮想アバターは、仮想アバターを見ているユーザの視点から示される。いくつかの実施形態では、仮想アバターは、電子デバイスのディスプレイ(例えば、タッチスクリーン112、ディスプレイ340、ディスプレイ450、ディスプレイ504)に表示される。いくつかの実施形態では、仮想アバターは、表示のために外部電子デバイスに送信される。いくつかの実施形態では、図10A~図10I、図11A~図11C、図12A~図12C、図13、図14A~図14D、図15A~図15B、図16A~図16B、及び図17A~図17Bの右側の画像は、電子デバイスのディスプレイ(例えば、タッチスクリーン112、ディスプレイ340、ディスプレイ450、ディスプレイ504)の表示領域内の仮想アバターの位置を表し、図10A~図10I、図11A~図11C、図12A~図12C、図13、図14A~図14D、図15A~図15B、図16A~図16B、及び図17A~図17Bの右側の画像の境界は、仮想アバターを含む表示領域の境界を表す。いくつかの実施形態では、右側に表される表示領域は、上記で説明した仮想アバターインタフェース643、メッセージ作成エリア612、メッセージエリア609(又はその一部)などのアプリケーションユーザインタフェースのアバター表示領域に対応する。
いくつかの実施形態では、アバター特徴(例えば、他のアバター特徴に対して別個に移動又は変更できるアバターの別個の要素)の反応の大きさは、ユーザの物理的特徴(例えば、ユーザの筋肉、筋肉群、又は目などの解剖学的特徴などの検出又は追跡された特徴)の変化の大きさに対応する。例えば、いくつかの実施形態では、物理的特徴の変化の大きさは、物理的特徴の潜在的な動きの範囲に応じて決定され、大きさは、その物理的特徴の動きの範囲(例えば、予測された又はモデル化された動きの範囲)内の物理的特徴の相対位置を表す。そのような実施形態では、アバター特徴の反応の大きさは、同様に、アバター特徴の動きの範囲内のアバター特徴の相対位置である。いくつかの実施形態では、変化の大きさは、変化による物理的特徴の開始位置と終了位置の比較又は測定(例えば、距離)に基づいて決定される。そのような実施形態では、物理的特徴の変化は、物理的特徴の測定された変化をアバター特徴に適用することにより、第1のアバター特徴の変更に変換されることができる(例えば、直接的に又はスケーリング若しくは調整された値として)。
いくつかの実施形態では、アバター特徴に対する変更は、大きさ成分と方向成分の両方を有し、アバター特徴の変更の方向成分は、アバター特徴が反応する物理的特徴のうちの任意の1つ以上の変化の方向成分に基づいている。いくつかの実施形態では、アバター特徴の反応の方向は、ユーザの物理的特徴の変化の相対的な方向に(例えば、直接的に又は逆に)対応し、物理的特徴の変化の相対的な方向は、初期位置(例えば、物理的特徴の中立的な静止位置、又はいくつかの実施形態では、デバイスによって最初に検出される物理的特徴の位置)からの物理的特徴の移動方向に基づいて決定される。いくつかの実施形態では、アバター特徴の反応の方向は、物理的特徴の変化の相対的な方向に直接対応する(例えば、物理的特徴が上に移動し、アバター特徴も上に移動する)。他の実施形態では、アバター特徴の反応の方向は、物理的特徴の変化の相対的な方向に逆に対応する(例えば、物理的特徴が上に移動し、アバター特徴が下に移動する)。
いくつかの実施形態では、アバター特徴の変化の方向成分は、物理的特徴の変化の方向成分に対して鏡映される。例えば、物理的特徴(例えば、ユーザの口)が左に移動すると、アバター特徴(例えば、アバターの口)は右に移動する。いくつかの実施形態では、アバター特徴の変化の方向成分は、鏡で見たときに見られる効果と同様に、縦軸に沿った動きの物理的特徴の変化の方向成分と同じであり、横軸に沿った動きに対して鏡映される。いくつかの実施形態では、ユーザの虹彩の中立的な静止位置は、ユーザの眼球の周辺部に対して特定の位置(例えば、中央)に決定される。
図10Aは、ユーザの顔の特徴の変化の検出に応じて、プーアバター1000を変更する電子デバイスを示す例示的な実施形態を示す。4つの表示状態(1011A、1011B、1011C、及び1011D)を有するプーアバターが示されており、プーアバターの4つの表示状態のそれぞれは、ユーザの4つの検出状態(1001A、1001B、1001C、及び1001D)に対応する。具体的には、図10Aの各表示状態では、電子デバイスは、ユーザのそれぞれの状態で検出されたユーザの顔の特徴などの物理的特徴のうちの任意の1つ以上の位置又は位置の変化の検出に応じて、プーアバター特徴を配置又は変更する。図10Aに示す実施形態では、検出されたユーザの顔の特徴は、ユーザの口1020(角1020A及び1020Bを有する)及びユーザの眉毛1022を含む。いくつかの実施形態では、追跡される物理的特徴は、瞼、虹彩、筋肉、筋肉群などの他の顔の特徴を含むことができる。図10Aの実施形態では、プーアバター特徴は、アバターの顔1000C、口1030、アバターの目1032、アバターの上部部分1034、アバターの下部部分1036、及び(特定の状態では)アバターの眉毛1038を含む。
1001Aに示されるように、電子デバイスは、ユーザの中立的な顔面表情を検出する。例えば、電子デバイスは、ユーザの口1020及び眉毛1022が弛緩した中立状態に配置され、特定の顔面表情(例えば、笑顔又は眉毛をひそめている)に関連付けられた位置にないことを検出する。ユーザの中立的な顔面表情の検出に応じて、電子デバイスは、1011Aにおいて中立的な表情(例えば、中立的な状態)を有するプーアバター1000を表示する。具体的には、電子デバイスは、特定の顔面表情(例えば、笑顔又は眉毛をひそめる)に通常関連付けられる位置にない、弛緩した中立状態にあるアバターの口1030を有するプーアバターを表示する。いくつかの実施形態では、アバターの中立位置は、メッセージングアプリケーションで見られる静的なプー絵文字などの関連画像の他の表現に対応する。更に、電子デバイスは、眉毛1038のないプーアバターの顔1000Cを表示し、ディスプレイ(又はカメラ(例えば、カメラ143、光センサ164)の焦点面)に垂直な方向を向くアバターの目1032を表示する。電子デバイスはまた、下部部分1036の上にある中立的な直立位置にあるプーアバターの上部部分1034も表示する。
1001Bに示されるように、電子デバイスは、笑顔の顔面表情を形成するユーザの口1020の位置を検出する(例えば、ユーザの口の角1020A及び1020Bの一方又は両方は、笑顔の顔面表情を形成するように上向きのポーズ(例えば、上向きの位置)に配置される)。ユーザの口1020の位置の検出に応じて、電子装置は、アバターの口1030が1011Bに示すように開いた笑顔の位置を有するように、笑顔の表情を有するようにアバターの口1030の表示を変更する。1011Bに示されるように、目1032、上部部分1034、及び下部部分1036は、1011Aの元の位置に対して変化しないままである。
1001Cに示されるように、電子デバイスは、ユーザの顔をしかめている顔面表情を検出する。いくつかの実施形態では、電子デバイスは、下向きの姿勢(例えば、下向きの位置)に位置するユーザの口の角1020A及び1020Bの一方又は両方及び下向きの位置(例えば、1001A及び1001Bの弛緩した中立状態時の眉毛1022の位置と比較した場合、ユーザの顔の下にひそめる又は配置される)のユーザの眉毛1022を検出することにより、顔をしかめている顔面表情を検出する。ユーザの顔をしかめた顔面表情の検出に応じて、電子デバイスは、1011Cに示すように顔をしかめ、垂れ下がった顔を有するようにプーアバターを変更する。例えば、電子装置は、口1030のわずかに開いた位置でアバターの口1030の角が下に曲がるように、プーアバターを変更し、プーアバターの下部部分1036は、下に曲がったプーアバターの口1030の位置と同様に下方に湾曲する。図10Aの実施形態では、電子デバイスがユーザの眉毛1022の下向きの位置を検出する間、アバターの目1032の上にあるプーアバターの解剖学的に対応する部分は変更されない。
いくつかの実施形態では、電子デバイスは、下向きの口1030及び口1030が下向き位置に移動するにつれて下に曲がる下部部分1036のアニメーションを表示することにより、1011Cに示す垂れ面を有するようにプーアバターを変更する。いくつかの実施形態では、電子デバイスは、プーアバターが垂れ下がった顔を形成するときにプーアバターの先端1040が下に傾く又は傾斜するようにプーアバターを更に変更する。いくつかの実施形態では、先端1040の位置は、具体的には、ユーザの眉毛1022(解剖学的に先端1040に対応しない物理的特徴)の位置に基づいている。いくつかの実施形態では、電子デバイスは、ユーザが眉毛をひそめている表情をもはや作っていないときに、その中立位置に戻るようにプーアバターを変更する。そのような実施形態では、電子デバイスは、中立位置に移動する口1030及び中立位置に戻る下部部分1036のアニメーションを表示することにより、プーアバターを変更して1011Aの中立状態に戻す。いくつかの実施形態では、プーアバターを垂れ下がった面から中立状態に戻すことは、電子デバイスがその中立位置にまっすぐになっているプーアバターの先端1040を表示することを含む。
1001Dに示されるように、電子デバイスは、ユーザの口の角1020A及び1020Bがわずかに持ち上げられ、ユーザの眉毛1022が持ち上げられた位置にあることを検出する(例えば、1001A及び1001Bに示す弛緩した中立状態において、眉毛1022の位置と比較した場合、ユーザの顔のより高い位置にある)。ユーザの口1020の角1020A及び1020Bの位置の検出に応じて、電子デバイスは、アバターの口1030の角がユーザの口の1020の角1020A及び1020Bの位置に一致するようにわずかに持ち上げられるように、プーアバターの表示を変更する。ユーザの眉毛1022の持ち上げられた位置の検出に応じて、電子デバイスは、持ち上げられた位置にあるプーアバターの目1032の上に位置する眉毛1038を導入し(例えば、プーアバター1000がその眉毛1038を持ち上げているという印象を伝達するため)かつ(例えば、下部部分1036の元の位置を維持しながら、プーアバターの先端1040を伸ばすことによって)プーアバターの上部部分1034を上方向に伸ばすことによってプーアバターを変更する。1001D及び1011Dに示される実施形態では、電子デバイスは、アバターの眉毛1038を導入し、ユーザの眉毛1022が持ち上げられると、プーアバターの先端1040を伸ばす。いくつかの実施形態では、電子デバイスは、ユーザの眉毛1022が中立位置に戻ると、アバターの眉毛1038を取り除き、先端1040を弛緩させる。いくつかの実施形態では、電子デバイスは、プーアバターの目1032に向かって下方に移動しかつ目1032の上のプーアバターの顔1000Cに消える眉毛1038をアニメーション化することにより、プーアバターの眉毛1038を取り除く。
図10Bは、ユーザの顔の特徴の変化の検出に応じて、プーアバターを変更する電子デバイスを示す例示的な実施形態を示し、プーアバターに対する変更は、アバター特徴の誇張した移動を含む。いくつかの実施形態では、仮想アバター特徴を誇張することにより、ユーザは、顔の対応する特徴を不快に変化させる必要なく、アバター特徴に対する最大の変化に影響を与えることができる。例えば、図10Bに示すように、ユーザは、ユーザの口を不快に開く必要なく(例えば、ユーザの口の動きの予測された又は決定された範囲の最大範囲までユーザの口を開く必要なく)アバターに可能な限り広く(例えば、驚いた表情で)その口を開かせることができる。
プーアバターは、3つの表示状態(1012A、1012B、及び1012C)を有して図10Bに示されており、プーアバターの3つの表示状態のそれぞれがユーザの3つの検出された状態(1002A、1002B、及び1002C)にそれぞれ対応する。具体的には、図10Bの各表示状態では、電子デバイスは、ユーザのそれぞれの状態で検出されたユーザの顔の特徴などの物理的特徴のうちの任意の1つ以上の位置又は位置の変化の検出に応じて、プーアバター特徴を配置又は変更する。図10Bに示す実施形態では、検出されたユーザの顔の特徴は、ユーザの口1020を含む。いくつかの実施形態では、追跡される物理的特徴は、瞼、虹彩、筋肉、筋肉群などの他の顔の特徴を含むことができる。図10Bの実施形態では、プーアバター特徴は、アバターの口1030、アバターの目1032、アバターの上部部分1034、及びアバターの下部部分1036を含む。
1002Aに示すように、電子デバイスは、ユーザの口1020がわずかに開いているユーザの第1の状態を検出する(例えば、ユーザの口の動きの予測された又は決定された範囲の最大範囲の10%)。ユーザのわずかに開いた口1020の検出に応じて、電子デバイスは、1012Aに示されるように、プーアバターの目1032、上部部分1034、及び下部部分1036などのアバターの他の特徴を変更しないまま、ユーザの口1020よりも大きい(例えば、それぞれの動きの範囲内)プーアバターの口1030が開いた位置(例えば、アバターの口の動きのモデル化された範囲の最大範囲の20%)を有するように、プーアバターを変更する。
1002Bに示されるように、電子デバイスは、ユーザの口1020が状態1002Aであったものよりも広く開いているユーザの顔の特徴の変化(例えば、ユーザの口の動きの予測された又は決定された範囲の最大範囲の25%)を検出する。1002Aのわずかに開いた位置から1002Bのより広い開口に遷移するユーザの口1020の検出に応じて、電子デバイスは、プーアバターの目1032、上部部分1034、及び下部部分1036を含む他のアバター特徴の位置を更に維持しながら、口1030が1012Aに示されている位置よりも更に大きい開いた位置(例えば、アバターの口の動きのモデル化された範囲の最大範囲の50%)を有するように、1012Bに示すように、プーアバターの口1030をサイズが大きくなるように変更する。
1002Cに示されるように、電子デバイスは、ユーザの口1020が1002Bであったものよりも更に広く開いているユーザの顔の特徴の更に他の変化(例えば、ユーザの口の動きの予測された又は決定された範囲の最大範囲の50%)を検出する。1002Bの開いた位置から1002Cのより広い開口に遷移するユーザの口1020の検出に応じて、電子デバイスは、口1030が1012Bに示されている位置よりも更に大きい開いた位置(例えば、アバターの口の動きのモデル化された範囲の最大範囲の100%)を有するように、1012Cに示すように、プーアバターの口1030をサイズが更に大きくなるように変更する。しかしながら、1012Cでは、口1030の開口は、下部部分1036の高さよりも大きい。その結果、電子デバイスは、1042においてプーアバター1000の下部部分1036を拡張し、ユーザの開いた口1020に応じてプーアバター1000の構造的完全性を維持する。換言すれば、ユーザの開いた口1020に応じてアバターとその特徴の一貫した配置を維持するために、デバイスは、仮想アバターの1つ以上の相互接続された部分(例えば、下部部分1036)を変更する。例えば、1012Cに示されるように、電子デバイスは、拡大されたアバターの口1030のサイズの増加に対応するために、領域1042において、アバターの口1030に隣接するプーアバターの下部部分1036を拡大する。電子デバイスがこのように下部部分1036を変更しなかった場合、拡大した口1030は、仮想アバターの構造を超えて延び、それにより、ユーザが仮想アバターを使用して通信しようとするコンテキスト及び/又はトーンを潜在的に妨げる。
いくつかの実施形態では、アバターの口1030のサイズの増加(例えば、1012Aに示される位置から1012Bに示される位置まで、又は1012Bに示される位置から1012Cに示される位置まで)は、ユーザの口1020のサイズの増加に比例しない(例えば、1002Aに示される位置から1002Bに示される位置まで、又は1002Bに示される位置から1002Cに示される位置まで)が、むしろサイズの変化の誇張された速度を提供するためにスケーリングされる。例えば、いくつかの実施形態では、スケールは、アバターの口の相対的な開いた位置がユーザの口の相対的な開いた位置の2倍であるように2の倍数である。例えば、ユーザの口がユーザの口の最大可動範囲の10%開いている場合、電子デバイスは、アバターの口の動きのモデル化された範囲の最大範囲の20%開いているアバターの口を表示する。
図10Cは、ユーザの物理的特徴の変化の検出に応じてプーアバターを変更する電子デバイスを示す例示的な実施形態を示し、プーアバターの変更は、静止したプーアバターの下部部分を維持しながら前方及び後方にプーアバターの上部部分を回転(例えば、傾斜)することを含む。電子デバイスは、3つの表示状態(1013A、1013B、及び1013C)を有するプーアバターを表示し、プーアバターの3つの表示状態のそれぞれは、それぞれ、ユーザの3つの検出状態(1003A、1003B、及び1003C)に対応する。具体的には、図10Cの各表示状態では、電子デバイスは、ユーザのそれぞれの状態で検出されたユーザの顔の特徴などの物理的特徴のうちの任意の1つ以上の位置又は位置の変化の検出に応じて、プーアバター特徴を配置又は変更する。図10Cに示す実施形態では、ユーザの物理的特徴は、ユーザの顔1024、顎1026、及び頭1028を含む。いくつかの実施形態では、追跡される物理的特徴は、瞼、虹彩、筋肉、筋肉群などの他の顔の特徴を含むことができる。図10Cの実施形態では、プーアバター特徴は、アバターの口1030、アバターの目1032、アバターの上部部分1034(プーアバターの先端1040を含む)、及びアバターの下部部分1036を含む。
1003Aに示されるように、電子デバイスは、上方向に回転した位置を有するユーザの顔1024を検出する。例えば、ユーザは、顎1026を持ち上げ、頭1028を後ろに傾けて(例えば、カメラ(例えば、カメラ143、光センサ164)の視界から遠ざける)、顔1024を上方向に配置する。ユーザの顔の上方位置1024の検出に応じて、電子デバイスは、1013Aに示すように、ディスプレイから離れる方向(例えば、後方-カメラ(例えば、カメラ143、光センサ164)の焦点面から離れる方向)にプーアバターの上部部分1034を傾けることで、プーアバターを見上げるように変更する。この後方傾斜位置では、電子デバイスは、プーアバターを見上げるように変更したときに先端1040の偏移位置を示すために、プーアバター1000の後側に向けて配置されたプーアバターの先端1040を表示する。更に、電子デバイスは、1013Aに示すように、(例えば、プーアバターの瞳孔又は虹彩1032Aをアバターの目1032の上部に向かって偏移させることにより)プーアバターの目1032を見上げるように変更する。電子デバイスが、プーアバターの上部部分1034を傾け、目1032を見上げるように変更する一方で、電子デバイスは、プーアバターの他の特徴を変更しないままにする。例えば、電子デバイスは、アバターの口1030の位置を維持し、電子デバイスが下部部分1036の幅に沿って延びる軸(例えば、X軸)の周りに後方に回転する上部部分1034を示すように、プーアバターの下部部分1036の位置を固定する。
1003Bに示されるように、電子デバイスは、下方向に回転した位置を有するユーザの顔1024を検出する。例えば、ユーザは、顎1026を下げ(又は押し込み)、頭1028を前方(例えば、カメラ(例えば、カメラ143、光センサ164)の焦点面に向かって)に傾け、顔1024を下方向に配置した。ユーザの顔1024の下向き位置の検出に応じて、電子デバイスは、1013Bに示すように、プーアバターの上部部分1034をディスプレイに向かう方向(例えば、前方-カメラ(例えば、カメラ143、光センサ164)の焦点面に向かって)傾けることで、プーアバターを見下ろすように変更する。この前方傾斜位置では、電子デバイスは、プーアバターを見下ろすように変更したときに先端1040の偏移位置を示すために、プーアバターの前側に向けて配置されたプーアバターの先端1040を表示する。更に、電子デバイスは、1013Bに示すように、(例えば、プーアバターの瞳孔又は虹彩1032Aをアバターの目1032の下部に向かって偏移させることにより)プーアバターの目1032を見下ろすように変更する。電子デバイスが、プーアバターの上部部分1034を傾け、目1032を見下ろすように変更する一方で、電子デバイスは、プーアバターの他の特徴を変更しないままにする。例えば、電子デバイスは、アバターの口1030の位置を維持し、電子デバイスが下部部分1036の幅に沿って延びる軸(例えば、X軸)の周りに前方に回転する上部部分1034を示すように、プーアバターの下部部分1036の位置を固定する。
1003Cに示すように、電子デバイスは、ユーザの位置(具体的には、ユーザの顔1024及び頭1028の位置)が1003Bに示す下向きの回転位置にあることを検出するが、1003Bに示される位置からのカメラ(例えば、カメラ143、光センサ164)の視野内で下向きにも偏移する。それに応じて、電子デバイスは、1013Bに示す前方傾斜位置でプーアバター1000を表示するが、また、1013Cにおける表示領域内で下方向に偏移して、カメラの視野内でのユーザの偏移の下方向を鏡映する。
図10Dは、ユーザの物理的特徴の変化の検出に応じてプーアバターを変更する電子デバイスを示す例示的な実施形態を示し、プーアバターの変更は、静止したプーアバターの下部部分を維持しながらプーアバターの上部部分を回転することを含む。4つの表示状態(1014A、1014B、1014C、及び1014D)を有するプーアバターが示されており、プーアバターの4つの表示状態のそれぞれは、ユーザの4つの検出状態(1004A、1004B、1004C、及び1004D)に対応する。図10Dの各表示状態では、電子デバイスは、ユーザのそれぞれの状態で検出されたユーザの顔の特徴などの物理的特徴のうちの任意の1つ以上の位置又は位置の変化の検出に応じて、プーアバター特徴を配置又は変更する。図10Dに示す実施形態では、ユーザの物理的特徴は、ユーザの口1020、顔1024、頭1028、及び肩1021を含む。いくつかの実施形態では、追跡される物理的特徴は、瞼、虹彩、筋肉、筋肉群などの他の顔の特徴を含むことができる。図10Dの実施形態では、プーアバター特徴は、アバターの口1030、アバターの目1032、アバターの上部部分1034(プーアバターの先端1040を含む)、及びアバターの下部部分1036を含む。
1004Aに示すように、電子デバイスは、ユーザの肩1021が前方に位置したままユーザの右側に回転する、ユーザの頭1028と、任意選択的にユーザの顔1024(又は顔1024を含む様々な物理的特徴)を検出する。それに応じて、電子デバイスは、1014Aに示すように、仮想アバターのねじれ運動が右方向のユーザの頭1028と顔1024の回転運動と鏡映するように、プーアバターの上部部分1034を右にねじる(下部部分1036を固定したまま)ことにより、プーアバターを変更する。電子デバイスはまた、ユーザの口1020の笑顔のポーズを検出し、アバターの口1030を笑顔に変更する。1014Aに示すように、電子デバイスは、プーアバターの中心を通って垂直に延びる軸1051(例えば、Y軸)の周りにプーアバターの上部部分1034をねじる。電子デバイスがプーアバターの上部部分1034を右にねじると、電子デバイスはまた、プーアバターの先端1040も左に偏移し、プーアバターの目1032を右に移動し、皺1034A又はプーアバターの上部部分1034に形成された層の量を増やし、それにより、上部部分1034と下部部分1036との間の相互接続関係に基づいてモデル化された下部部分1036のわずかなねじれ1070を含むゆがんだ外観をプーアバターに与える。これらのプーアバターの変更は、アバターの一部(例えば、プーアバターの先端1040)が必ずしもユーザの物理的特徴に解剖学的に対応していない場合であっても、ユーザの物理的移動を模倣するアニメーション効果を提供する。
1004B及び1014Bは、電子デバイスが、ユーザの肩1021が前方に位置したままユーザの左側に回転する、ユーザの頭1028と、任意選択的にユーザの顔1024(又は顔1024を含む様々な物理的特徴)を検出する同様の効果を示す。それに応じて、電子デバイスは、1014Bに示すように、仮想アバターのねじれ運動が左方向のユーザの頭1028と顔1024の回転運動と鏡映するように、プーアバターの上部部分1034を左にねじる(下部部分1036を固定したまま)ことにより、プーアバターを変更する。1014Bに示すように、電子デバイスは、プーアバターの中心を通って垂直に延びる軸1051の周りにプーアバターの上部部分1034をねじる。電子デバイスがプーアバターの上部部分1034を左にねじると、電子デバイスはまた、プーアバターの先端1040も右に偏移し、プーアバターの目1032を左に移動し、皺1034A又はプーアバターの上部部分1034に形成された層の量を増やし、それにより、上部部分1034と下部部分1036との間の相互接続関係に基づいてモデル化された下部部分1036のわずかなねじれ1070を含む歪んだ外観をプーアバターに与える。
いくつかの実施形態では、電子デバイスは、ユーザがカメラ(例えば、カメラ143、光センサ164)の前方の固定の向き又は位置を維持する必要なく仮想アバターの変化に影響を与えることができるように、ユーザの肩1021の動き(例えば、回転運動)又は位置決めを追跡しない。例えば、1004Cに示されるように、ユーザの肩1021は、ユーザの右に傾けられるか又は回転されるが、プーアバターの下部部分1036は、1014Cに示されるように固定されたままである。しかしながら、電子デバイスは、ユーザの右側に回転する、ユーザの頭1028と、任意選択的にユーザの顔1024を検出する。したがって、1014Cに示されるように、電子デバイスは、ユーザが肩1021を回転させることに応じてプーアバターを更に変更することなく、1014Aに関して上述したようにプーアバターを適宜変更する。同様の効果が1004D及び1014Dに示されており、ユーザの肩1021は、ユーザの頭1028とともにユーザの左に傾斜又は回転し、電子デバイスは、ユーザが肩1021を回転させることに応じてプーアバター(例えば、下部部分1036)を更に変更することなく、1014Bに関して上述したようにプーアバターを変更する。
図10Eは、ユーザの物理的特徴の変化の検出に応じてプーアバターを変更する電子デバイスを示す例示的な実施形態を示し、プーアバターの変更は、静止したプーアバターの下部部分を維持しながらプーアバターの上部部分を傾斜させることを含む。4つの表示状態(1015A、1015B、1015C、及び1015D)を有するプーアバターが示されており、プーアバターの4つの表示状態のそれぞれは、ユーザの4つの検出状態(1005A、1005B、1005C、及び1005D)に対応する。各表示状態では、電子デバイスは、ユーザのそれぞれの状態で検出されたユーザの顔の特徴などの物理的特徴のうちの任意の1つ以上の位置又は位置の変化の検出に応じて、プーアバター特徴を配置又は変更する。図10Eに示す実施形態では、ユーザの物理的特徴は、ユーザの口1020、顔1024、頭1028、肩1021、目1023、及び首1025を含む。いくつかの実施形態では、追跡される物理的特徴は、瞼、虹彩、筋肉、筋肉群などの他の顔の特徴を含むことができる。図10Eの実施形態では、プーアバター特徴は、アバターの口1030、アバターの目1032、アバターの上部部分1034(プーアバターの先端1040及び中間部1031を含む)、及びアバターの下部部分1036を含む。
1005Aに示すように、電子デバイスは、ユーザの肩1021が前方に位置したままユーザの右側に傾斜する、ユーザの頭1028と、任意選択的にユーザの顔1024(又は顔1024を含む様々な物理的特徴)を検出する。電子デバイスはまた、ユーザの首1025がユーザの右にわずかに傾いていることも検出する。それに応じて、電子デバイスは、1015Aに示すように、仮想アバターの傾斜運動がユーザの頭1028(及び/又は顔1024)及び首1025の右方向の傾斜に鏡映するように、下部部分1036を固定したまま、プーアバターの上部部分1034を右に傾けることにより(プーアバターの上部部分1034は、先端1040及び中間部1031を含む)、プーアバターを変更する。
傾斜の方向を鏡映することに加えて、電子デバイスは、仮想アバターを変更して、1005Aに示されるユーザの様々な物理的特徴に存在する様々な度合いの傾斜を構成する。例えば、ユーザの上部部分(例えば、ユーザの頭1028)は、ユーザの下部部分(例えば、ユーザの首1025)よりも大きく傾斜する。したがって、1015Aに示されるように、電子デバイスは、移動又は傾斜の量が仮想アバターの上部(例えば、先端1040)で最大であり、仮想アバターの下部(例えば、下部部分1036)で最小になるように仮想アバターを変更する。換言すれば、傾斜の量は、仮想アバターの上部から下部に向かって減少し、これは、1005Aでユーザに表示される傾斜の度合いの変化と一致している。これは、1015Aにおいて、大きい度合いの傾斜を有するプーアバターの先端1040、先端1040よりも低い傾斜の度合いを有する中間部1031、及び傾斜のない下部部分1036によって実証される。これらのプーアバターの変更は、アバターの一部(例えば、プーアバターの先端1040)が必ずしもユーザの物理的特徴に解剖学的に対応していない場合であっても、ユーザの物理的移動を模倣するアニメーション効果を提供する。更に、電子デバイスは、ユーザが頭1028と首1025を傾けたときなど、ユーザの物理的特徴の動きの範囲の減少を模倣するために、様々な度合いの傾きで仮想アバターを変更する。
1005B及び1015Bは、電子デバイスが、ユーザの左側に傾いたユーザの頭1028及び首1025を検出する同様の効果を示している。それに応じて、電子デバイスは、1015Bに示すように、1005A及び1015Aに関して上記でより詳細に説明したように、仮想アバターの傾斜運動がユーザの頭1028及び首1025の左方向の傾斜に鏡映するように、下部部分1036を固定したまま、プーアバターの上部部分1034を様々な度合いの傾斜で左に傾斜させることにより(例えば、先端1040は、中間部1031よりも大きく傾斜する)、プーアバターを変更する。
1005Cに示されるように、電子デバイスは、ユーザの右側に偏移したユーザの目1023(例えば、ユーザの目の虹彩又は瞳孔)と、上向きのポーズに位置するユーザの口1020の角1020A及び1020Bによって形成される笑顔の顔面表情とを検出する。ユーザの目1023の右方向への移動の検出に応じて、電子デバイスは、1015Cに示すように、(例えば、プーアバターの瞳孔又は虹彩1032Aをアバターの目1032の右側に向かって偏移させることにより)右を見るようにプーアバターの目1032を変更する。上向きのポーズで配置されたユーザの口の角1020A及び1020Bの一方又は両方の検出に応じて、電子デバイスは、笑顔の表情を有するようにアバターの口1030の表示を変更し、アバターの口1030は、1015Cに示すように開いた笑顔の位置を有する。1015Cに示されるように、上部部分1034及び下部部分1036は、それぞれの中立位置(1011Aに示される)に関して変化しないままである。
1005D及び1015Dは、電子デバイスがユーザの笑顔の表情を検出し、ユーザの目1023(例えば、ユーザの目の虹彩又は瞳孔)がユーザの左側に移動した同様の効果を示す。ユーザの目1023の左方向への偏移の検出に応じて、電子デバイスは、1015Dに示すように、(例えば、プーアバターの瞳孔又は虹彩1032Aをアバターの目1032の左側に向かって偏移させることにより)左を見るようにプーアバターの目1032を変更する。上向きのポーズで角1020A及び1020Bの一方又は両方を検出することに応じて、電子デバイスは、1015Cに関して上述したように笑顔の表情を有するようにアバター口1030の表示を変更する。同様に、上部部分1034及び下部部分1036は、それぞれの中立位置(1011A及び1015Cに示される)に関して1015Dでは変化しないままである。
図10Fは、カメラ(例えば、カメラ143、光センサ164)の視野内でのユーザの位置の偏移の検出に応じて、プーアバターを変更する電子デバイスの例示的な実施形態を示す。プーアバターの変更は、カメラの視野内でのユーザの位置の変化に対応する方向にプーアバターを偏移する(例えば、並進移動する)ことを含む。4つの表示領域における4つの表示状態(1016A、1016B、1016C、及び1016D)を有するプーアバターが示されており、プーアバターの4つの表示状態のそれぞれは、ユーザの4つの検出状態(1006A、1006B、1006C、及び1006D)に対応する。図10Fの各表示状態では、電子デバイスは、ユーザのそれぞれの状態で示されるようなカメラの視野内で検出されたユーザの位置又は位置の変化の検出に応じて、プーアバターを配置又は変更する。4つの表示状態のそれぞれにおいて、表示状態の境界(例えば、1016A、1016B、1016C、及び1016Dの境界)は、仮想アバターを含む表示領域の境界を表す。
1006Aに示されるように、電子デバイスは、カメラ(例えば、カメラ143、光センサ164)の視野内で水平方向に中心付けされたユーザの位置を検出する。カメラの視野内でのユーザの水平方向の中心位置の検出に応じて、電子デバイスは、1016Aに示すように、表示領域内の水平方向に中心位置を有するプーアバターを表示する。
1006Bでは、電子デバイスは、カメラ(例えば、カメラ143、光センサ164)の視野内で右方向に中心を外れた(例えば、偏移又は並進移動した)ユーザの位置を検出する。換言すれば、ユーザは、ユーザの左方向に偏移する(例えば、カメラの視野に対して右に偏移する)が、カメラの視野内では完全に表示されたままになる。1006Bでのユーザの偏移位置の検出に応じて、電子デバイスは、ユーザの左方向へのユーザの方向偏移に鏡映するために、1016Bに示すように、プーアバターが左偏移位置に表示されるように、プーアバター全体(上部部分1034と下部部分1036の両方を含む)の水平位置を偏移する。1006Bに示されるように、ユーザは、左肩1021Aが視野の右端近くにある状態で左側に偏移される。したがって、電子デバイスは、1016Bの表示領域の左端の近くに位置するプーアバターを表示し、カメラ視野内のユーザの偏移位置の方向を鏡映する。いくつかの実施形態では、ユーザの偏移された位置は、方向及び大きさの両方での仮想アバターの偏移によって鏡映される。いくつかの実施形態では、ユーザの偏移された位置は、仮想アバターの方向のみの偏移によって鏡映され、仮想アバターの偏移の大きさは、仮想アバターの位置を表示領域の境界内に維持するために調整される(例えば、減衰される)。そのような実施形態の例は、1006C、1016C、1006D、及び1016Dに関して以下で説明される。
1006Cでは、電子デバイスは、カメラ(例えば、カメラ143、光センサ164)の視野内で右端方向に中心を外れた(例えば、偏移又は並進移動した)ユーザの位置を検出する。換言すれば、ユーザは、ユーザの左方向に遠くに偏移する(例えば、カメラの視野に対して右に偏移する)が、ユーザの左肩1021Aがもはやカメラの視野内にないように偏移する。1006Cにおけるユーザの大幅に偏移した位置の検出に応じて、電子デバイスは、プーアバターの全体(上部部分1034と下部部分1036の両方を含む)が完全に1016Cに示される表示領域の左境界に対して配置されるプーアバターの最外縁(例えば、下部部分1036の縁部1036A)を有する左側偏移位置に表示されるように、プーアバターの水平位置を偏移する。1016Cにおけるプーアバターの偏移表示は、ユーザの左方向への偏移の方向を鏡映するが、(ユーザが1006Cで行うように)アバターの一部が1016Cにおける表示領域を超えて広がるようにプーアバターを偏移する代わりに、デバイスは、表示領域1016Cの縁部にプーアバターを配置する。表示領域(例えば、1016A、1016B、1016C、及び1016D)内で仮想アバターの位置を維持することにより、ユーザの一部がカメラ(例えば、カメラ143、光センサ164)の視野を超えている場合であっても、電子デバイスは、ユーザがカメラの前方で固定の向きや位置を維持する必要なく、仮想アバターの変化に影響を与えることを可能にする。
同様の効果が1006D及び1016Dに示されている。1006Dでは、電子デバイスは、ユーザの右肩がもはやカメラの視野内にないように、ユーザが右(例えば、カメラの視野内で左)に偏移したことを検出する。ユーザの遠くに偏移した位置の検出に応じて、電子デバイスは、プーアバターの全体(上部部分1034と下部部分1036の両方を含む)が完全に1016Dに示される表示領域の右境界に対して配置されるプーアバターの最外縁(例えば、下部部分1036の縁部1036B)を有する右側偏移位置に表示されるように、プーアバターの水平位置を偏移する。上で説明したように、表示領域1016D内で仮想アバターの位置を維持することにより、ユーザの一部がカメラ(例えば、カメラ143、光センサ164)の視野を超えている場合であっても、電子デバイスは、ユーザがカメラの前方で固定の向きや位置を維持する必要なく、仮想アバターの変化に影響を与えることを可能にする。
図10Gは、カメラ(例えば、カメラ143、光センサ164)の視野内のユーザの物理的特徴の位置の偏移の検出に応じて、プーアバターを変更する電子デバイスの例示的な実施形態を示す。プーアバターの変更は、カメラの視野内でのユーザの物理的特徴の位置の偏移に対応する方向にプーアバターを偏移(例えば、並進移動)することを含む。図10Gに示す実施形態は、電子デバイスがユーザの頭1028の動きと位置(例えば、回転運動及び/又は並進運動)を追跡するが、ユーザの肩1021及び任意選択的にユーザの首1025の動き又は位置を追跡しない点で、図10D~図10Fに関して上述したものと同様である。更に、図10Gに示す実施形態は、仮想アバターへの変更が方向のユーザの動きを鏡映するが、必ずしも大きさは鏡映しない点で、図10Fの実施形態と同様である。これらの技術を実装することにより、電子デバイスは、ユーザがカメラ(例えば、カメラ143、光センサ164)の前方で固定の向き又は位置を維持する必要なく、仮想アバターの変化に影響を与えることを可能にする。
2つの表示領域における2つの表示状態(1017A及び1017B)を有するプーアバターが示されており、プーアバターの2つの表示状態のそれぞれは、ユーザの2つの検出状態(1007A及び1007B)に対応する。図10Gの各表示状態では、デバイスは、ユーザのそれぞれの状態で示されるようなカメラの視野内で検出されたユーザの物理的特徴の位置又は位置の変化の検出に応じて、プーアバターを配置又は変更する。2つの表示状態のそれぞれにおいて、表示状態の境界(例えば、1017A及び1017Bの境界)は、仮想アバターを含む表示領域の境界を表す。
1007Aでは、電子デバイスは、カメラ(例えば、カメラ143、光センサ164)の視野内で左方向に偏移した(例えば、並進移動した)ユーザの頭1028及び任意選択的にユーザの首1025を検出する。換言すれば、ユーザの頭1028及び首1025は、ユーザの右方向に偏移される(例えば、カメラの視野に対して左に偏移される)。ユーザの頭1028及び任意選択的にユーザの首1025の1007Aでの偏移位置の検出に応じて、電子デバイスは、ユーザの右方向へのユーザの頭の偏移に鏡映するために、1017Aに示すように、プーアバターが右偏移位置に表示されるように、プーアバター全体(上部部分1034と下部部分1036の両方を含む)の水平位置を偏移する。
同様の効果が1007B及び1017Bに示されている。1007Bでは、電子デバイスは、カメラ(例えば、カメラ143、光センサ164)の視野内で右方向に偏移した(例えば、並進移動した)ユーザの頭1028及び任意選択的にユーザの首1025を検出する。換言すれば、ユーザの頭1028及び首1025は、ユーザの左方向に偏移する(例えば、カメラの視野に対して右に偏移する)。1007Bでのユーザの頭1028及び任意選択的にユーザの首1025の偏移位置の検出に応じて、電子デバイスは、ユーザの左方向へのユーザの頭の偏移に鏡映するために、1017Bに示すように、プーアバターが左偏移位置に表示されるように、プーアバター全体(上部部分1034と下部部分1036の両方を含む)の水平位置を偏移する。
図10Hは、カメラ(例えば、カメラ143、光センサ164)の視野内のユーザの物理的特徴の位置の変化の検出に応じて、プーアバターを変更する電子デバイスの例示的な実施形態を示す。プーアバターの変更は、プーアバターのサイズを増加又は減少すること、及びカメラの視野内でのユーザの物理的特徴の位置の偏移に対応する方向にプーアバターを偏移(例えば、並進移動)することを含む。4つの表示領域における4つの表示状態(1018A、1018B、1018C、及び1018D)を有するプーアバターが示されており、プーアバターの4つの表示状態のそれぞれは、ユーザの4つの検出状態(1008A、1008B、1008C、及び1008D)に対応する。図10Hの各表示状態では、電子デバイスは、ユーザのそれぞれの状態で示されるようなカメラの視野内で検出されたユーザの物理的特徴の位置又は位置の変化の検出に応じて、プーアバターを配置又は変更する。4つの表示状態のそれぞれにおいて、表示状態の境界(例えば、1018A、1018B、1018C、及び1018Dの境界)は、仮想アバターを含む表示領域の境界を表す。
1008Aでは、電子デバイスは、カメラ(例えば、カメラ143、光センサ164)の視野内で肩1021に対して上方向に(例えば、ユーザが首1025を上に伸ばしている)偏移した(例えば、並進移動した)ユーザの頭1028を検出する。1008Aでユーザの頭1028の上方に偏移した位置の検出に応じて、電子デバイスは、1008Aに示す上方向へのユーザの頭1028の偏移に鏡映するために、プーアバターの全体が1018Aに示す表示領域の上部境界の近くに位置するプーアバターの最上縁(例えば、先端1040の縁部1040A)を有する上側偏移位置に表示されるように、プーアバター全体(上部部分1034と下部部分1036の両方を含む)の垂直位置を偏移する。
1008Bでは、電子デバイスは、カメラ(例えば、カメラ143、光センサ164)の視野内でユーザの肩1021(例えば、ユーザが頭1028をすくめている)に対して下方向に偏移(例えば、並進移動)したユーザの頭1028を検出する。1008Bでユーザの頭1028の下方に偏移した位置の検出に応じて、電子デバイスは、1008Bに示す下方向へのユーザの頭1028の偏移に鏡映するために、プーアバターの全体が1018Bに示す表示領域の下部境界の近くに位置するプーアバターの最下縁(例えば、下部部分1036の縁部1036C)を有する下側偏移位置に表示されるように、プーアバター全体(上部部分1034と下部部分1036の両方を含む)の垂直位置を偏移する。
1008Cでは、電子デバイスは、例えば、ユーザの頭1028がカメラのより近くに位置するとき、カメラ(例えば、カメラ143、光センサ164)の視野内でユーザの頭1028のサイズの増加を検出する。1008Cにおいてユーザの頭1028のサイズの増加を検出することに応じて、電子デバイスは、プーアバターの全体のサイズを増加させる。いくつかの実施形態では、電子デバイスは、1つの検出された状態(例えば、図10Aの1001Aの中立状態)から他の状態(例えば、検出された状態1008C)へのユーザの頭1028のサイズの検出された変化に応じてプーアバターのサイズを増加させる。1018Cでは、電子デバイスは、表示領域の境界を越えてプーアバターの一部を拡張することなく、表示領域を満たすようにプーアバターのサイズを増加させる。いくつかの実施形態では、電子デバイスは、アバターが電子デバイスのディスプレイ(例えば、タッチスクリーン112、ディスプレイ340、ディスプレイ450、ディスプレイ504)に非常に近い印象を与えるために、仮想アバターのサイズを増加させる。
例えば、電子デバイスは、プーアバターの先端1040が1040Aの表示領域の上部境界に隣接し、プーアバターの下部部分1036が1036Cの表示領域の下部境界に隣接するように、1018Cにおいてプーアバターのサイズを増加し、下部部分1036の左縁部は、1036Aの表示領域の左境界付近にあり、下部部分1036の右縁部は、1036Bの表示領域の右境界付近にある。1018Cに示されるようないくつかの実施形態では、電子デバイスは、様々なアバター特徴(例えば、アバターの目1032、口1030、上部部分1034、及び下部部分1036)の相対位置がプーアバターの形状に対して歪まないように、プーアバターのサイズを比例的に増加させる。例えば、電子デバイスが1018Cでプーアバターのサイズを増加させると、アバターの目1032、口1030、上部部分1034(先端1040を含む)、及び下部部分1036もまたサイズを増加させるが、それ以外は変わらないままである。
1008Dでは、電子デバイスは、例えば、ユーザの頭1028がカメラから遠くに位置するとき、カメラ(例えば、カメラ143、光センサ164)の視野内でユーザの頭1028のサイズの減少を検出する。1008Dにおいてユーザの頭1028のサイズの減少を検出することに応じて、電子デバイスは、プーアバターの全体のサイズを減少させる。いくつかの実施形態では、電子デバイスは、1つの検出された状態(例えば、図10Aの1001Aの中立状態)から他の状態(例えば、検出された状態1008D)へのユーザの頭1028のサイズの検出された変化に応じてプーアバターのサイズを減少させる。1018Dのようないくつかの実施形態では、電子デバイスは、仮想アバターが電子デバイスのディスプレイ(例えば、タッチスクリーン112、ディスプレイ340、ディスプレイ450、ディスプレイ504)から遠くに位置する印象を与えるために、プーアバターのサイズを減少させる。
例えば、電子デバイスは、プーアバターの先端1040が1040Aの表示領域の上部境界から離れて位置し、プーアバターの下部部分1036が1036Cの表示領域の下部境界から離れて位置するように、1018Dにおいてプーアバターのサイズを減少し、下部部分1036の左縁部は、1036Aの表示領域の左境界から離れて位置し、下部部分1036の右縁部は、1036Bの表示領域の右境界から離れて位置する。1018Dに示されるようないくつかの実施形態では、電子デバイスは、様々なアバター特徴(例えば、アバターの目1032、口1030、上部部分1034、及び下部部分1036)の相対位置がプーアバターの形状に対して歪まないように、プーアバターのサイズを比例的に減少させる。例えば、電子デバイスが1018Dでプーアバターのサイズを減少させると、アバターの目1032、口1030、上部部分1034(先端1040を含む)、及び下部部分1036もまたサイズを減少させるが、それ以外は変わらないままである。
図10Iは、顔の特徴などのユーザの物率的特徴の変化の検出に応じて、プーアバター1000を変更する電子デバイスを示す例示的な実施形態を示す。ユーザの検出された状態1009に対応する1つの表示状態1019を有するプーアバターが示されている。1009及び1019に示すように、電子デバイスは、ユーザがすぼめる表情を行うことを検出し、それに応じて、プーアバターの口1030をすぼめた唇のセット1050に置き換えることにより、プーアバター1000を変更する。1009に示されるようないくつかの実施形態では、電子デバイスは、閉位置にあるユーザの顎1027を検出しかつユーザの唇1029(例えば、ユーザの上唇1029A及び下唇1029Bの両方)をすぼめるポーズでユーザの口1020から外側に延ばすように互いに向かって移動するユーザの口1020の角1020A及び1020Bを検出することにより、ユーザがすぼめる顔面表情を行っていると判定する。図10Iには示されていないが、いくつかの実施形態では、電子デバイスは、図16Bに示されかつ以下でより詳細に説明するものと同様の方法で、すぼめた唇1050からハートを放出するようにプーアバターを変更する。
図11Aは、ユーザの顔の特徴の変化の検出に応じてクマアバター1100を変更する電子デバイスを示す例示的な実施形態を示す。4つの表示状態(1111A、1111B、1111C、及び1111D)を有するクマアバターが示されており、クマアバターの4つの表示状態のそれぞれは、ユーザの4つの検出状態(1101A、1101B、1101C、及び1101D)に対応する。図11Aの各表示状態では、電子デバイスは、ユーザのそれぞれの状態で検出されたユーザの顔の特徴などの物理的特徴のうちの任意の1つ以上の位置又は位置の変化の検出に応じて、クマアバター特徴を配置又は変更する。図11Aに示す実施形態では、検出されたユーザの顔の特徴は、ユーザの口1120(角1120A及び1120Bを有する)及びユーザの眉毛1122を含む。いくつかの実施形態では、追跡される物理的特徴は、瞼、虹彩、筋肉、筋肉群などの他の顔の特徴を含むことができる。図11Aの実施形態では、クマアバター特徴は、アバターの口1130、アバターの目1132、アバターの耳1133、アバターの鼻1137、アバターの頭1135、及び(特定の状態では)アバターの眉毛1138を含む。
1101Aに示されるように、電子デバイスは、ユーザの中立的な顔面表情を検出する。例えば、デバイスは、ユーザの口1120及び眉毛1122が弛緩した中立状態に配置され、笑顔又は眉毛をひそめているなどの特定の顔面表情に関連付けられた位置にないことを検出する。ユーザの中立的な顔面表情の検出に応じて、電子デバイスは、1111Aにおいて中立的な表情状態又は状態を有するクマアバター1100を表示する。具体的には、電子デバイスは、特定の顔面表情(例えば、笑顔又は眉毛をひそめる)に通常関連付けられる位置にない、弛緩した中立状態にあるアバターの口1130を有するクマアバターを表示する。いくつかの実施形態では、アバターの中立位置は、メッセージングアプリケーションで見られる静的なクマ絵文字などの関連画像の他の表現に対応する。1111Aでは、クマの口1130の中立状態は、クマの口1130又は「鼻」領域の外側から水平に伸び、その後にクマの鼻1137の根元でわずかに湾曲する線1130A及び1130Bで示される。電子デバイスはまた、弛緩した口1130の上にある鼻1137、及びカール又は引っ張られていないクマの頭1135の側面に沿って位置する弛緩した中立状態の耳1133を有するクマアバターを表示する。更に、電子デバイスは、眉毛1138のないクマアバターを表示し、ディスプレイ(又はカメラ(例えば、カメラ143、光センサ164)の焦点面)に垂直な方向を向くアバターの目1132を表示する。
1101B及び1111Bに示されるように、電子デバイスは、ユーザの口1120の位置を検出し(例えば、笑顔の顔面表情を形成するように上向きのポーズ(例えば、上向きの位置)に配置されたユーザの口の角1120A及び1120Bの一方又は両方を検出する)、それに応じて、クマアバターの2つの特徴を変更する。例えば、上向きのポーズで配置されたユーザの口1120の角1120A及び1120Bの一方又は両方の検出に応じて、電子デバイスは、クマの耳1133とクマの口1130の両方を変更する。電子デバイスは、1111Bに示すように、線1130A及び1130Bを上げてクマの口1130の笑顔の表情を示すことにより、クマの口1130を笑顔の表情を有するように変更する。電子デバイスは、クマの耳1133を「元気にする」又は上方向に伸びるように変更する。1111Bに示されるようないくつかの実施形態では、クマの耳1133に対する変更はまた、各耳1133の幅をわずかに狭くし、(1111Aで中立状態のときのクマの頭1135の側面にある耳1133の垂直位置と比較した場合)耳が元気にされたときに耳1133がクマの頭1135よりも高く位置するようにクマの頭1135の側面で耳1133の垂直位置を変化させることも含む。1111Bに示されるように、目1132と鼻1137は、1111Aの元の位置に対して変化しないままである。この実施形態では、電子デバイスは、ユーザが笑顔になったときにクマの口1130を笑顔に変化させ、耳1133を元気にすることを理解されたい。電子装置は、ユーザがもはや笑っていないとき、口1130及び耳1133をそれらの中立位置に戻す。
1101Cに示されるように、電子デバイスは、ユーザの眉毛1122が持ち上げられた位置にあることを検出する(例えば、1101A及び1101Bに示す弛緩した中立状態において、眉毛1122の位置と比較した場合、ユーザの顔のより高い位置にある)。持ち上げられた眉毛1122の検出に応じて、電子デバイスは、クマアバターの2つの特徴を変更する。例えば、電子デバイスは、クマの耳1133を変更して元気にし、クマアバターを変更してクマの目1132の上に位置する眉毛1138を導入し、1111Cに示すようにクマアバター1100が眉毛1138を上げているという印象を伝達する。1111Bに示すように、クマの口1130は、中立位置に戻り、目1132と鼻1137は、1111Aの元の位置に対して変化しないままである。この実施形態では、電子デバイスは、アバターの眉毛1138を導入し、ユーザの眉毛1122が持ち上げられたときに耳1133を元気にすることを理解されたい。したがって、電子デバイスは、アバターの眉毛1138を取り除き、ユーザの眉毛1122が中立位置に戻ったときに耳1133を弛緩させる。
1101Dにおいて、電子デバイスは、ユーザの眉毛1122が持ち上げられ、ユーザの口1120の角1120A及び1120Bの一方又は両方が上向きのポーズになっていることを検出する。それに応じて、電子デバイスは、1111Dに示されるように、極端な耳の元気を出し、持ち上げられた眉毛1138を導入して笑顔にするようにクマアバター1100を変更する。電子デバイスは、耳1133が1111B及び1111Cに示されている元気な位置にあるときよりもクマの頭1135に対して更に高い位置にあるように、各耳1133の幅を実質的に狭くし、上方向に耳を伸ばし、クマの頭1135の側面の耳1133の垂直位置を変化させることにより、極端な耳の元気を出すように耳1133を変更する。クマの耳1133に対するこの変更の組み合わせは、1111B及び1111Cに示されている耳の元気よりも大きい範囲で、上方向に極端に伸びている耳1133の外観を与える。この実施形態では、電子デバイスは、ユーザが眉毛1122を上げて笑顔にしたとき(例えば、上向きのポーズのユーザの口1120の角1120Aと1120Bの一方又は両方の位置)、アバターの眉毛1138を導入し、クマの口1130を笑顔に変更し、ユーザの耳1133を極端に元気にすることを理解されたい。したがって、電子デバイスは、アバターの眉毛1138を取り除き、ユーザの眉毛1122及び口1120が中立位置に戻ったときに耳1133及び口1130を弛緩させる。
図11Bは、ユーザの顔の特徴の変化の検出に応じてクマアバター1100を変更する電子デバイスを示す例示的な実施形態を示す。4つの表示状態(1112A、1112B、1112C、及び1112D)を有するクマアバターが示されており、クマアバターの4つの表示状態のそれぞれは、ユーザの4つの検出状態(1102A、1102B、1102C、及び1102D)に対応する。図11Bの各表示状態では、電子デバイスは、ユーザのそれぞれの状態で検出されたユーザの顔の特徴などの物理的特徴のうちの任意の1つ以上の位置又は位置の変化の検出に応じて、クマアバター特徴を配置又は変更する。4つの表示状態のそれぞれにおいて、表示状態の境界(例えば、1112A、1112B、1112C、及び1112Dの境界)は、仮想アバターを含む表示領域の境界を表す。
図11Bに示す実施形態では、検出されたユーザの顔の特徴は、ユーザの口1120(角1120A及び1120Bを有する)及びユーザの眉毛1122を含む。いくつかの実施形態では、追跡される物理的特徴は、瞼、虹彩、筋肉、筋肉群などの他の顔の特徴を含むことができる。図11Bの実施形態では、クマアバター特徴は、アバターの口1130、アバターの目1132、アバターの耳1133、アバターの鼻1137、アバターの頭1135、及び(特定の状態では)アバターの眉毛1138を含む。
1102Aに示されるように、電子デバイスは、下向きのポーズ(例えば、下向きの位置)に配置されたユーザの口1120の角1120A及び1120Bの一方又は両方を検出し、それに応じて、クマアバターの2つの特徴を変更する。いくつかの実施形態では、電子デバイスは、下向きの位置にあるユーザの口の角1120A及び1120Bの一方又は両方を検出し、任意選択的に下降位置にないユーザの眉毛1122の一方又は両方を検出することにより(例えば、眉毛1122は、上げられているか又は中立位置にある)、ユーザが悲しい顔面表情を作っていると判定する。ユーザの口1120の角1120A及び1120Bの下向きのポーズ又は位置の検出に応じて、電子デバイスは、1112Aに示されるように、クマの口1130及びクマの耳1133の両方を変更する。
電子デバイスは、1112Aに示すように、線1130A及び1130Bを下げることにより、クマの口1130の悲しい表情を形成するようにクマの口1130を変更する。電子デバイスは、クマの耳1133の外縁部1133A及び1133Bを下に向ける(例えば、折り畳む、回転させる、又は傾ける)ことにより、クマの耳1133を下方向に「カールする」又は「しおれる」ように変更する。いくつかの実施形態では、クマの耳1133をカールさせることはまた、(図11Aの1111Aにおける中立状態にあるときのクマの頭1135の側面の耳1133の垂直位置と比較した場合)耳がカールしたときに耳1133がクマの頭1135の下に位置するように、クマの頭1135の側面で耳1133の垂直位置を変化させることも含む。1112Aに示すように、クマの目1132と鼻1137は、1111Aの元の位置に対して変化しないままである。この実施形態では、電子デバイスは、ユーザの口1120が悲しい顔面表情を形成するときにクマの口1130を悲しい表情に変化させ、クマの耳1133をカールすることを理解されたい。電子デバイスは、ユーザがもはや悲しい顔面表情を見せなくなったときに、クマの口1130と耳1133を中立位置に戻す。
1102B及び1112Bでは、電子デバイスは、閾値時間だけ悲しい顔面表情を保持しているユーザを検出し、それに応じて、カールした耳1133を有する悲しい顔を構成するときに泣いているクマアバターを示すように、クマの目1132から放出される涙1140を導入することによりクマアバター1100を変更する。いくつかの実施形態では、電子デバイスは、ユーザが第1の閾値時間(例えば、0.3秒)だけ悲しい表情を保持するときに、クマの目1132の一方又は両方から放出される単一の涙1140のみを導入するようにクマアバターを変更し、その後、ユーザが悲しい表情を保持し続けて第2の閾値時間(例えば、0.6秒)に到達した後に目1132から放出される追加の涙1140を導入するようにクマアバターを変更する。電子デバイスは、クマの顔を流れ落ち、クマの頭1135から落ち、1112Bの表示領域の下縁部で視界から消えるクマの目1132から形成される涙1140を表示する。いくつかの実施形態では、電子デバイスは、断続的に、及び任意選択的に、ランダムな間隔で涙1140を表示する。いくつかの実施形態では、涙1140は、ユーザが悲しい顔面表情を作るのを止めるまで続く。1112Bに示されるように、電子デバイスは、クマの耳1133がカールし、クマの口1130を悲しい表情で表示し続ける。
1102C及び1112Cでは、電子デバイスは、しかめる顔面表情を閾値時間保持しているユーザを検出し、それに応じて、しかめる表情及びクマの頭1135の上に配置された嵐雲1142を有するようにクマアバター1100を変更する。電子デバイスは、下向きのポーズにあるユーザの口1120の角1120A及び1120Bの一方又は両方を検出し、下向きの位置にあるユーザの眉毛1122を検出することにより(例えば、1101Aの弛緩した中立状態のときの眉毛1122の位置と比較したときにユーザの顔の下にひそめる又は配置される)、ユーザの眉毛をひそめている表情を検出する。ユーザの顔をしかめた顔面表情の検出に応じて、電子デバイスは、クマの口1130を下げて(例えば、1112Cに示すように線1130A及び1130Bを下向きに曲げることにより)、1112Cに示すように眉毛をひそめたポーズを形成するようにクマの眉毛1138をくぼんだ状態で導入することにより、クマアバターを変更する。1112Bに示される実施形態では、電子デバイスは、ユーザの顔をしかめた顔面表情の検出に応じて嵐雲1142を直ちに導入せず、また、電子デバイスは、クマの耳1133又は鼻11311を変更しない。
閾値時間だけしかめる顔面表情を保持しているユーザを電子デバイスが検出した後、電子デバイスは、クマの頭1135の上に位置する嵐雲1142を導入するためにしかめ面のクマアバター1100を変更する。いくつかの実施形態では、嵐雲1142は、アニメーション化されて動的である。例えば、電子デバイスは、雷1144及び/又は雨を導入するために嵐雲1142を変更することができる。いくつかの実施形態では、電子デバイスは、嵐雲1142から降ってクマアバターの頭1135に着水する雨を表示する。いくつかの実施形態では、降雨は、クマの顔を流れ落ち、その頭1135から落ち、1112Cの表示領域の下縁部で視界から消える。いくつかの実施形態では、電子デバイスは、雷1144及び雨を断続的に、及び任意選択的に、ランダムな間隔で表示する。いくつかの実施形態では、電子デバイスは、ユーザが顔をしかめる顔面表情の形成を停止するまで嵐雲1142を表示し続ける。ユーザがしかめる顔面表情の形成を停止すると、電子デバイスは、嵐雲1142が消え、ひそめている眉毛1138が消え、口1130が1111Aに示す中立位置に戻るようにクマアバター1100を変更する。いくつかの実施形態では、電子デバイスは、ユーザがしかめる顔面表情を第1の閾値時間(例えば、0.3秒)保持したときに雷1144又は雨なしで嵐雲1142を表示し、そして、及びユーザが眉毛をひそめている顔面表情を保持し続けてから第2の閾値時間(例えば、0.6秒)に到達した後、雷1144及び雨を生成するように嵐雲1142を変更する。
1102D及び1112Dに示されるように、電子デバイスは、ユーザが眉毛1122の一方又は両方を下げたことを検出し、それに応じて、クマの耳1133をカールするように変更する。この実施形態では、電子デバイスは、ユーザが眉毛1122を下げたことを検出したことに応じて、クマアバターの耳1133をカールさせる。ユーザが眉毛1122を中立位置に戻すと、電子デバイスは、クマの耳1133のカールを解除する。1102D及び1112Dに示される実施形態では、電子デバイスは、クマアバター1100の他の特徴を変更することを取り止める。したがって、電子デバイスは、クマの目1132、口1130、及び鼻1137の中立位置を維持し、眉毛1138又は他の対象(例えば、涙1140又は嵐雲1142)を導入しない。
図11Cは、ユーザの顔の特徴の変化の検出に応じてクマアバター1100を変更する電子デバイスを示す例示的な実施形態を示す。4つの表示状態(1113A、1113B、1113C、及び1113D)を有するクマアバターが示されており、クマアバターの4つの表示状態のそれぞれは、ユーザの4つの検出状態(1103A、1103B、1103C、及び1103D)に対応する。図11Cの各表示状態では、電子デバイスは、ユーザのそれぞれの状態で検出されたユーザの顔の特徴などの物理的特徴のうちの任意の1つ以上の位置又は位置の変化の検出に応じて、クマアバター特徴を配置又は変更する。4つの表示状態のそれぞれにおいて、表示状態の境界(例えば、1113A、1113B、1113C、及び1113Dの境界)は、仮想アバターを含む表示領域の境界を表す。
1103A及び1113Aに示されるように、電子デバイスは、ユーザが目1123を細める(例えば、目1123を狭くする又は睨む)ことを検出し、それに応じて、クマの目1132の周りにアバターの顔の構造を導入することにより目1132を細めるようにクマアバター1100を変更する。いくつかの実施形態では、電子デバイスは、ユーザの目1123のサイズ(例えば、ユーザの目1123の中立位置に対する)の減少及び/又はユーザの目1123の外側の角に形成される皺を検出することにより、ユーザの目を細めることを検出する。これに応じて、電子デバイスは、クマの目1132の下のアーチ状の位置に現れる頬骨1139を導入し、クマの目1132の上の下げた位置に現れる眉毛1138を導入することにより(1112Cに示す眉毛をひそめているポーズに似ている)、クマの細めた目1132を示すようにクマアバターを変更する。電子デバイスは、クマの目1132の下部部分を食い込みかつクマの目を細める下部を形成するようにアーチ状の頬骨1139を表示し、クマの目1132の上部部分を食い込みかつクマの目を細める上部を形成するために下向きに湾曲する眉毛1138を表示する。ユーザが目1123を中立位置に戻すと、電子デバイスは、クマの眉毛1138と頬骨1139を取り除き、クマアバター1100を中立ポーズ(1111Aに示す)に戻す。いくつかの実施形態では、電子デバイスは、眉毛1138をクマの目1132から上方に移動しかつクマアバターの顔の中に消えることをアニメーション化することにより、クマの眉毛1138を取り除く。いくつかの実施形態では、電子デバイスは、頬骨1139を下げてまっすぐに伸ばしてアーチを取り除き、クマアバターの顔の中に消えることをアニメーション化することにより、クマの頬骨1139を取り除く。1103A及び1113Aに示される実施形態では、電子デバイスは、クマアバター1100の他の特徴を変更することを取り止める。したがって、電子デバイスは、クマの口1130と鼻1137の中立位置を維持する。
1103B及び1113Bに示されるように、電子デバイスは、目を細める顔面表情を閾値時間保持しているユーザを検出し、それに応じて、クマが1113Aに関して上記で説明した目を細める表情を保持する間、クマの目1132から発射するレーザービーム1146を導入することにより、クマアバター1100を変更する。電子デバイスは、クマの目1132の下部から形成されるレーザービーム1146を表示し、下方向に発射し、1113Bの表示領域の下縁部で視界から消える。いくつかの実施形態では、電子デバイスは、レーザービーム1146を連続ビームとして表示する。いくつかの実施形態では、電子デバイスは、断続的なバーストとして、任意選択的に、ランダムな間隔で放出されるレーザービーム1146を表示する。いくつかの実施形態では、電子デバイスは、ユーザが目を細めるのを止めるまでレーザービーム1146を表示し続ける。いくつかの実施形態では、電子デバイスは、ユーザが第1の閾値時間(例えば、0.3秒)だけ目を細める表情を保持するときに各目1132から発するレーザービーム1146の単一バーストを表示し、ユーザが第2の閾値時間(例えば、0.6秒)に到達するように目を細めた表情を保持し続けた後、各目1132から発する連続レーザービーム1146(又はレーザービーム1146の繰り返しバースト)を表示する。
1103C及び1113Cに示されるように、電子デバイスは、ユーザの目1123を広げることを検出し、それに応じて、クマの目1132の周りにアバターの顔の構造を導入することにより、広げた目1132を示すようにクマアバター1100を変更する。1103C及び1113Cに示される実施形態では、電子デバイスは、ユーザの目1123のサイズの増加(例えば、ユーザの目1123の中立位置に対する)を検出することにより、ユーザが目を広げることを検出する。いくつかの実施形態では、広げられた目を検出することは、任意選択的に、電子デバイスがユーザの眉毛1122の上げられた位置を検出することを含む。広げられたユーザの目1123の検出に応じて、電子デバイスは、クマの目1132の上の上げられた位置に眉毛1138を導入することでクマの目1132を拡大するようにクマアバターを変更する。ユーザが目1123を中立位置に戻すと、電子デバイスは、クマの眉毛1138を取り除き、クマアバター1100を中立ポーズ(1111Aに示す)に戻す。いくつかの実施形態では、電子デバイスは、眉毛1138をクマの目1132に向かって下方に移動しかつクマの目1132の上のクマアバターの顔の中に消えることをアニメーション化することにより、クマの眉毛1138を取り除く。1103C及び1113Cに示される実施形態では、電子デバイスは、クマアバター1100の他の特徴を変更することを取り止める。したがって、電子デバイスは、クマの耳1133、口1130、目1132、及び鼻1137の中立位置を維持する。
1103D及び1113Dに示されるように、電子デバイスは、ユーザが目1123を閉じることを検出し、それに応じて、クマの目1132の周りにアバターの顔の構造(例えば、特徴)を導入することにより、目1132を閉じるようにクマアバター1100を変更する。いくつかの実施形態では、電子デバイスは、ユーザの目1123を完全に覆うユーザの瞼1127を検出することにより、ユーザが目を閉じていることを検出する。これに応じて、電子デバイスは、クマの目1132の下に持ち上げられたわずかにアーチ状の位置に現れる頬骨1139を導入し、1113Dに示すようにクマの目1132を覆うようにクマの目1132の上に現れて下に動く瞼1148を導入することにより、クマが目1132を閉じることを示すようにクマアバターを変更する。ユーザが瞼1127を中立位置に上げると、電子デバイスは、クマの瞼1148と頬骨1139を取り除き、クマアバター1100をその中立ポーズ(1111Aに示す)に戻す。いくつかの実施形態では、電子デバイスは、上に動く瞼1148をアニメーション化してクマの目1132を明らかにし、クマの目1132の上のクマアバターの顔の中に消えることにより、クマの瞼1148を取り除く。いくつかの実施形態では、電子デバイスは、頬骨1139を下げてまっすぐに伸ばしてわずかなアーチを取り除き、クマアバターの顔の中に消えることをアニメーション化することにより、クマの頬骨1139を取り除く。1103D及び1113Dに示される実施形態では、電子デバイスは、クマアバター1100の他の特徴を変更することを取り止める。したがって、電子デバイスは、クマの口1130、耳1133、及び鼻1137の中立位置を維持する。
図12Aは、ユーザの顔の特徴の変化の検出に応じてエイリアンアバター1200を変更する電子デバイスを示す例示的な実施形態を示す。エイリアンアバターは、3つの表示状態(1211A、1211B、及び1211C)を有して示されており、エイリアンアバターの3つの表示状態のそれぞれがユーザの3つの検出された状態(1201A、1201B、及び1201C)にそれぞれ対応する。図12Aの各表示状態では、電子デバイスは、ユーザのそれぞれの状態で検出されたユーザの顔の特徴などの物理的特徴のうちの任意の1つ以上の位置又は位置の変化の検出に応じて、エイリアンアバター特徴を配置又は変更する。3つの表示状態のそれぞれにおいて、表示状態の境界(例えば、1211A、1211B、及び1211Cの境界)は、仮想アバターを含む表示領域の境界を表す。
1201A及び1211Aに示されるように、電子デバイスは、ユーザの中立的な顔面表情を検出し(例えば、ユーザの目1223が開いている、眉毛1222がユーザの目1223の上の弛緩位置にある、ユーザの頬1228が弛緩しており、拡張されていない、及びユーザの口1220が弛緩した中立状態であり、特定の顔面表情に関連付けられた位置ではない)、それに応じて、1211Aにおいて中立的な表情又は状態を有するエイリアンアバター1200を表示する。例えば、電子デバイスは、上部部分が広く、尖った底部(例えば、顎)まで狭くなる大きな角のある頭1235を有するエイリアンアバター1200を表示し、口1230は、弛緩した中立状態であり、通常、笑顔や眉毛をひそめているような特定の顔面表情に関連付けられている位置ではない。更に、電子デバイスは、エイリアンの頭1235の角度構造に一致するように角度が付けられた大きな楕円形の目1232を有する顔1205を有するエイリアンアバターを表示する。電子デバイスは、ディスプレイ(又はカメラ(例えば、カメラ143、光センサ164)の焦点面)に対して垂直な方向を向くエイリアンの目1232を表示する。電子デバイスはまた、鼻、耳、又は眉毛などの様々な特徴を有しないエイリアンの頭1235と顔1205も表示する。いくつかの実施形態では、アバターの中立位置は、メッセージングアプリケーションで見られる静的なエイリアン絵文字などの関連画像の他の表現に対応する。
1201B及び1211Bに示すように、電子デバイスは、下向きのポーズで配置されたユーザの口1220の角1220A及び1220Bの一方又は両方と、下向きのポーズで配置されたユーザの眉毛1222とを検出することにより(例えば、1201Aにおける弛緩した中立状態にある眉毛1222の位置と比較した場合、ユーザの顔のより下にしかめる又は配置される)、ユーザのしかめる顔面表情を検出する。ユーザの顔をしかめた顔面表情の検出に応じて、電子デバイスは、1211Bに示すように顔をしかめ、垂れ下がった顔を有するようにエイリアンアバターを変更する。例えば、電子デバイスは、エイリアンの口1230の角が下を向くようにエイリアン1200を変更し、エイリアンの顔1205は、エイリアンの下がった口1230の角の近くに位置する領域1240A及び1240Bにおいて拡張される。いくつかの実施形態では、電子デバイスは、口1230が下を向き、口1230が回転するように移動するときに、領域1240A及び1240Bがエイリアンの顔1205から拡大するアニメーションを表示することにより、1211Bに示す垂れ下がった顔を有するようにエイリアンを変更する。いくつかの実施形態では、電子デバイスは、ユーザが眉毛をひそめている顔面表情をもはや作っていないときに、その中立位置に戻るようにエイリアンアバターを変更する。いくつかの実施形態では、電子デバイスは、口1230が中立位置に移動し、口1230が中立位置に移動するにつれて領域1240A及び1240Bがエイリアンの顔1205に後退するアニメーションを表示することにより、1211Aの中立表情に戻すようにエイリアンを変更する。
1201C及び1211Cに示されるように、電子デバイスは、すぼめる表情を行うユーザを検出し、それに応じて、エイリアンの口1230をぬるぬるしたハート1252を放出するすぼめた唇のセット1250に置き換えることにより、エイリアンアバター1200を変更する。1201Cに示されるようないくつかの実施形態では、電子デバイスは、閉位置でユーザの顎1225を検出し、ユーザの唇1229(例えば、ユーザの上唇1229A及び下唇1229Bの両方)をすぼめるポーズでユーザの口1220から外側に延ばすように互いに向かって移動するユーザの口1220の角1220A及び1220Bを検出することにより、ユーザがすぼめる表情を行っていると判定する。ユーザのすぼめる表情の検出に応じて、電子デバイスは、エイリアンの口1230をすぼめた唇のセット1250に変更することにより、エイリアンアバター1200を変更する。いくつかの実施形態では、電子デバイスは、エイリアンのすぼめた唇1250から放出される表示されたぬるぬるしたハート1252のうちの任意の1つ以上を導入することにより、エイリアンアバター1200を変更する。いくつかの実施形態では、電子デバイスは、エイリアンアバター1200の他の特徴を変更することを取り止める。
いくつかの実施形態では、電子デバイスは、ユーザのすぼめる表情の検出に応じて、ぬるぬるしたハート1252を直ちに導入しない。そのような実施形態では、電子デバイスは、電子デバイスがすぼめた表情1250を閾値時間保持しているユーザを検出した後にのみ、すぼめた唇1250から放出するぬるぬるしたハート1252を導入するように、すぼめたエイリアンアバター1200を変更する。いくつかの実施形態では、電子デバイスは、ユーザが第1の閾値時間(例えば、0.3秒)だけすぼめる表情を保持するとき、しすぼめた唇1250から放出される単一のぬるぬるしたハート1252のみを導入するようにエイリアンアバターを変更し、その後、ユーザがすぼめた表情を保持し続けて第2の閾値時間(例えば0.6秒)に到達した後に、すぼめた唇1250から放出される追加のぬるぬるしたハート1252を導入するようにエイリアンアバターを変更する。いくつかの実施形態では、ぬるぬるしたハート1252は、アニメーション化されて動的である。例えば、いくつかの実施形態では、電子デバイスは、すぼめた唇1250から断続的に、及び任意選択的にランダムな間隔で放出するぬるぬるしたハート1252を表示する。いくつかの実施形態では、電子デバイスは、異なるサイズを有するぬるぬるしたハート1252を表示する。いくつかの実施形態では、電子デバイスは、すぼめた唇1250から離れるにつれてサイズが増大するぬるぬるしたハート1252を表示する。更に、いくつかの実施形態では、電子デバイスは、ランダム化された軌道で移動し、1211Cの表示領域内に位置するランダムな場所で消えるか、あるいは、1211Cの表示領域を出ると視界から消える各ぬるぬるしたハート1252を表示する。いくつかの実施形態では、電子デバイスは、ユーザ又はアバターが向いている方向に基づく方向にすぼめた唇1250から放出するぬるぬるしたハート1252を表示する。例えば、電子デバイスがユーザの顔又はアバターが左を向いたことを検出すると、すぼめた唇1250は、ぬるぬるしたハート1252を左に放出し、電子デバイスがユーザの顔又はアバターが右を向いたことを検出すると、すぼめた唇1250は、ぬるぬるしたハート1252を右に放出する。いくつかの実施形態では、電子デバイスは、ユーザがすぼめた顔面表情の形成を停止するまで、エイリアンのすぼめた唇1250から放出するぬるぬるしたハート1252を表示し続ける。いくつかの実施形態では、ユーザがすぼめた顔面表情の形成を停止すると、電子デバイスは、ぬるぬるしたハート1252が消え、すぼめた唇1250がエイリアンの口1230に置き換わるように、エイリアンアバター1200を変更する。
図12Bは、ユーザの顔の特徴の変化の検出に応じてエイリアンアバター1200を変更する電子デバイスを示す例示的な実施形態を示す。4つの表示状態(1212A、1212B、1212C、及び1212D)を有するエイリアンアバターが示されており、エイリアンアバターの4つの表示状態のそれぞれは、ユーザの4つの検出状態(1202A、1202B、1202C、及び1202D)に対応する。図12Bの各表示状態では、電子デバイスは、ユーザのそれぞれの状態で検出されたユーザの顔の特徴などの物理的特徴のうちの任意の1つ以上の位置又は位置の変化の検出に応じて、エイリアンアバター特徴を配置又は変更する。
1202A及び1212Aに示すように、電子デバイスは、ユーザの眉毛1222がわずかに上がった位置(例えば、1201Aに示されている中立位置よりもわずかに高い位置)にあることを検出し、ユーザが眉毛1222をわずかに上げることに応じて眉毛を上げるエイリアンを示すようにエイリアンに眉毛を追加する。例えば、ユーザの眉毛1222のわずかに上昇した位置の検出に応じて、電子デバイスは、(例えば、エイリアンアバター1200が眉毛1238を上げている印象を伝達するために)上昇位置でエイリアンのアバターの目1232の上に配置された眉毛1238を導入することにより、エイリアンアバター1200を変更する。この実施形態では、電子デバイスは、ユーザの眉毛1222がわずかに持ち上げられたときに、エイリアンの眉毛1238を導入する。したがって、電子デバイスは、ユーザの眉毛1222が中立位置に戻ったときに、エイリアンの眉毛1238を取り除く。いくつかの実施形態では、電子デバイスは、眉毛1238をエイリアンの目1232に向かって下に移動し、エイリアンの目1232の上のエイリアンの顔1205に消えることをアニメーション化することにより、エイリアンの眉毛1238を取り除く。
1202Bに示すように、電子デバイスは、ユーザの眉毛1222が1202Aのわずかに高くなった位置から極端に高くなった位置(1202Aに示すわずかに高くなった位置よりも高い位置)に移動したことを検出する。いくつかの実施形態では、ユーザの極端な眉毛上げを検出することは、任意選択的に、眉毛1222を上げることに加えて目1223を広げるユーザも検出する電子デバイスを含む。ユーザの極端な眉毛上がりの検出に応じて、電子デバイスは、1212Aで導入された眉毛1238の位置を維持し、1212Bに示すようにエイリアンの頭1235の上部にスパイク1254を導入することによりエイリアンの頭1235を変更する。いくつかの実施形態では、電子デバイスは、ユーザが1202Aに示されるわずかに上昇した位置を超えて眉毛1222を上げているときに、エイリアンの頭1235の上部から上昇するスパイク1254をアニメーション化することによりスパイク1254を導入する。いくつかの実施形態では、ユーザが眉毛1222を中立位置又はわずかに上昇した位置に戻すと、電子デバイスは、スパイク1254をエイリアンの頭1235に引っ込めてアニメーション化することによりスパイク1254を取り除く。1202B及び1212Bに示される実施形態では、電子デバイスは、エイリアンアバター1200の他の特徴を変更することを取り止める。したがって、電子デバイスは、エイリアンの口1230と目1232の中立位置を維持する。
1202C及び1212Cに示すように、電子デバイスは、ユーザの頬1228をわずかに膨らんだ位置又は拡張した位置で検出し(例えば、ユーザは、1201Aに示した中立位置をわずかに超えるように、頬1228をわずかに空気で満たす)、ユーザが頬1228をわずかに膨らませたことに応じてエイリアンが頬を膨らませることを示すようにエイリアンに頬を追加する。例えば、ユーザの頬1228のわずかに膨らんだ位置の検出に応じて、電子デバイスは、(例えば、エイリアンアバター1200がその頬1256を膨らませているという印象を伝達するため)わずかに拡張した位置にアバターの頬1256を導入することにより、エイリアンアバター1200を変更する。1212Cに示すように、電子デバイスは、エイリアンの頭1235の狭い下部部分を超えて拡大してエイリアンの頬1256を表示する。この実施形態では、電子デバイスは、ユーザの頬1228がわずかに膨らんだときに、エイリアンの頬1256を導入する。したがって、ユーザの頬1228が中立位置に戻ると、電子デバイスは、エイリアンの頬1256を取り除く。いくつかの実施形態では、電子デバイスは、エイリアンの顔1205に戻り、エイリアンの目1232の下のエイリアンの顔1205に消える頬1256をアニメーション化することにより、エイリアンの頬1256を取り除く。
1212Cに示されるようないくつかの実施形態では、電子デバイスはまた、ユーザのわずかに膨らんだ頬1228の検出に応じて、エイリアンの口1230も変更する。例えば、1212Cに示されるように、電子デバイスは、1211Aに示されている中立位置から、ユーザが頬1228を膨らませたときのユーザの唇の狭まり(時にはしかめる)を模倣する狭く丸い形状にエイリアンの口1230を変更する。
1202Dに示すように、電子デバイスは、ユーザの頬1228が1202Cのわずかに膨らんだ位置から非常に膨らんだ位置に広がった(例えば、1202Cに示すわずかに膨らんだ位置を超えて広がった)ことを検出する。ユーザの極端な頬の膨らみの検出に応じて、電子デバイスは、1212Dに示すように、エイリアンの頬1256から突出するスパイク1258を導入することにより、エイリアンの膨らんだ頬1256を変更する。いくつかの実施形態では、電子デバイスは、ユーザが1202Cに示されるわずかに膨らんだ位置を超えて頬1228を広げるときに、エイリアンの膨らんだ頬1256の外側部分から延びるスパイク1258をアニメーション化することによりスパイク1258を導入する。いくつかの実施形態では、ユーザが頬1228を中立位置又はわずかに膨らんだ位置に戻すと、電子デバイスは、スパイク1258をエイリアンの頬1256内に引っ込めることをアニメーション化することによりスパイク1258を取り除く。1202D及び1212Dに示される実施形態では、電子デバイスは、エイリアンアバター1200の他の特徴を変更することを取り止める。したがって、電子デバイスは、エイリアンの目1232の中立位置とエイリアンの口1230の狭められた位置を維持する。
図12Cは、ユーザの顔の特徴の変化の検出に応じてエイリアンアバター1200を変更する電子デバイスを示す例示的な実施形態を示す。5つの表示状態(1213A、1213B、1213C、1213D、及び1213E)を有するエイリアンアバターが示されており、エイリアンアバターの5つの表示状態のそれぞれは、ユーザの5つの検出状態(1203A、1203B、1203C、1203D、及び1203E)に対応する。図12Cの各表示状態では、電子デバイスは、ユーザのそれぞれの状態で検出されたユーザの顔の特徴などの物理的特徴のうちの任意の1つ以上の位置又は位置の変化の検出に応じて、エイリアンアバター特徴を配置又は変更する。
図12Cに示す実施形態では、電子デバイスは、ユーザが少なくとも閾値量(例えば、半分)で目を閉じるか又は狭くした場合にのみ、エイリアンの目のサイズを縮小する。そうでない場合、電子デバイスは、閾値量よりも少ない量で目1223を閉じるユーザに応じて、エイリアンの目1232を変更することを取り止める。これは、実際には中立的な開いた位置にあるときに目が部分的に閉じているように見えるユーザの検出に応じて、エイリアンの目1232を意図せずに閉じたり狭めたりすることなく、電子デバイスがエイリアンを表示することを可能にする。
1203A及び1213Aに示されるように、電子デバイスは、ユーザの目1223の拡大を検出し、それに応じて、エイリアンの目1232のサイズを大きくすることにより、拡大した目1232を表示するようにエイリアンのアバター1200を変更する。1203A及び1213Aに示される実施形態では、電子デバイスは、ユーザの目1223のサイズの増加を検出することにより(例えば、ユーザの目1223の中立位置に対して)、ユーザが目1223を広げることを検出する。いくつかの実施形態では、広げられた目を検出することは、任意選択的に、電子デバイスがユーザの眉毛1222の上げられた位置を検出することを含む。拡大されたユーザの目1223の検出に応じて、電子デバイスは、エイリアンが1213Aに示すようにエイリアンの目1232の面積を増やすことによって目1232を広げることを示すようにエイリアンアバターを変更する。1203A及び1213Aに示されるように、エイリアンの目1232の変化は、ユーザの目の変化の割合(例えば、予測又は判定された動きの範囲の10%)と比較して、アバターの目の変化がモデル化された動きの最大範囲のより大きな割合(例えば、30%)であるという点で、ユーザの目1223の変化に対して誇張される。
1203B及び1213Bに示すように、ユーザが1203Aの拡大位置から1203Bの中立位置に目1223を戻すと、電子デバイスは、エイリアンの目1232を1213Aの拡大状態から1213Bの中立状態に縮小する。
1203Cでは、電子デバイスは、目1223を狭くしたり閉じたりするユーザを検出するが、エイリアンの目1232を変更するための閾値を超えない。閾値を超えてユーザの目1223が閉じられていないと判定したことに応じて、1213Cに示すように、電子デバイスは、エイリアンの目1232を変更しない。
1203Dでは、電子デバイスは、閾値を超える量で目1223を閉じているが完全に閉じた位置ではないユーザを検出する。換言すれば、電子デバイスは、ユーザの目1223が1203Dでわずかに開いていることを検出する。これに応じて、電子デバイスは、1213Dのエイリアンの目1232のサイズを縮小して、1203Dのユーザのわずかに開いた目1223に対応する、少し開いた状態のエイリアンの目1232を表示する。
1203Eでは、電子デバイスは、ユーザの目1223を完全に覆うユーザの瞼1227を検出することにより、ユーザの目1223が完全に閉じていると判定する。これに応じて、電子デバイスは、1213Eでエイリアンの目1232のサイズを更に縮小して、エイリアンの目1232を閉じた状態で表示する。1213Eに示すように、エイリアンの閉じた目は、エイリアンの頭1235の上に角度の付いた線1232Aとして表示される。
図12Cに示す実施形態では、電子デバイスは、ユーザの目1223の変化の検出に応じてエイリアンの目1232を変更し、エイリアンアバター1200の他の特徴の変更を取り止める。したがって、エイリアンの口1230は、中立ポーズのままであり、1213A、1213B、1213C、1213D、及び1213Eに示すように、他の特徴(例えば、スパイク、眉毛、頬)は導入されない。
図13は、顔の特徴などのユーザの物率的特徴の変化の検出に応じて、ウサギアバター1300を変更する電子デバイスを示す例示的な実施形態を示す。ウサギアバターは、3つの表示状態(1311A、1311B、及び1311C)を有して示されており、ウサギアバターの3つの表示状態のそれぞれがユーザの3つの検出された状態(1301A、1301B、及び1301C)にそれぞれ対応する。図13の各表示状態では、電子デバイスは、ユーザのそれぞれの状態で検出されたユーザの顔の特徴のうちの任意の1つ以上の位置又は位置の変化の検出に応じて、ウサギアバター特徴を配置又は変更する。
1301Aでは、電子デバイスは、ユーザの中立的な顔面表情を検出する(例えば、ユーザの目1323が開いている、眉毛1322がユーザの目1323の上の弛緩した位置にある、ユーザの口1320が特定の表情に関連付けられた位置ではない弛緩した中立状態にある)。中立的な顔面表情の検出に応じて、電子デバイスは、1311Aで中立的な表情又は状態を有するウサギアバター1300を表示する。例えば、電子デバイスは、ウサギの頭1335の上部から垂直に延びる長い耳1333、開いた位置を有する目1332、並びにひげ1342、鼻1344、歯1346、及び口1330を含む口領域1340を有するウサギアバター1300を表示する。1311Aでは、ウサギの口1330の中立状態は、ウサギの口1330の閉じた位置と、互いに近接して配置されてウサギの口領域1340から下方向にぐったりと伸びるひげ1342とによって示される。更に、電子デバイスは、眉毛1338のないウサギアバター1300を表示し、ディスプレイ(又はカメラ(例えば、カメラ143、光センサ164)の焦点面)に垂直な方向を向くウサギの目1332を表示する。いくつかの実施形態では、アバターの中立位置は、メッセージングアプリケーションで見られる静的なウサギ絵文字などの関連画像の他の表現に対応する。
1301B及び1311Bに示されるように、電子デバイスは、ユーザが目1323を閉じることを検出し、それに応じて、ウサギの目1332の周りにアバターの顔の構造(例えば、特徴)を導入することにより、目1332を閉じるようにウサギアバター1300を変更する。いくつかの実施形態では、電子デバイスは、ユーザの目1323を完全に覆うユーザの瞼1327を検出することにより、ユーザが目を閉じていることを検出する。これに応じて、電子デバイスは、ウサギの目1332の下に持ち上げられたわずかにアーチ状の位置に現れる頬骨1339を導入し、1311Bに示すようにウサギの目1332を覆うようにウサギの目1332の上に現れて下に動く瞼1348を導入することにより、ウサギが目1332を閉じることを示すようにウサギアバターを変更する。ユーザが瞼1327を中立位置に上げると、電子デバイスは、ウサギの瞼1348と頬骨1339を取り除き、ウサギアバター1300をその中立ポーズ(1311Aに示す)に戻す。いくつかの実施形態では、電子デバイスは、上に動く瞼1348をアニメーション化してウサギの目1332を明らかにし、ウサギの目1332の上のウサギの顔の中に消えることにより、ウサギの瞼1348を取り除く。いくつかの実施形態では、電子デバイスは、頬骨1339を下げてまっすぐに伸ばしてわずかなアーチを取り除き、ウサギの顔の中に消えることをアニメーション化することにより、ウサギの頬骨1339を取り除く。1301B及び1311Bに示される実施形態では、電子デバイスは、ウサギアバター1300の他の特徴を変更することを取り止める。したがって、電子デバイスは、ウサギの耳1333と、ひげ1342、口1330、歯1346、及び鼻1344を含む口領域1340の中立位置を維持する。
1301C及び1311Cに示されるように、電子デバイスは、上向きのポーズ(例えば、笑顔の表情を形成する)に位置するユーザの口1320の角1320A及び1320Bの一方又は両方を検出し、それに応じて、笑顔の顔面表情を有するようにウサギアバターを変更する。例えば、電子デバイスは、1311Cに示すように、ウサギの口1330を下げ(例えば、開く)、ひげ1342のそれぞれの間の間隔を広げることにより、笑顔の顔面表情を形成するようにウサギの口領域1340を変更する。ひげ1342の間の間隔を広げることにより、電子デバイスは、ウサギの特徴、特に口領域1340の特徴の間の相互接続された顔の関係を伝達する。したがって、ユーザが口1320を動かすと、電子デバイスは、ウサギの口1330を変更し、ウサギの口領域1340の相互接続された顔の特徴の変化をもたらす。電子デバイスは、口領域1340を介してウサギの口1330に接続されるひげ1342の間の間隔を調整することにより、ウサギの口領域1340の特徴間のこの接続を表す。この実施形態では、電子デバイスは、ユーザが笑うときにウサギの口領域1340を笑顔の表情に変化させる。電子デバイスは、ユーザがもはや笑っていないとき、口1330及びひげ1342を含む口領域1340をそれらの中立位置に戻す。ウサギの目1332、歯1346、鼻1344、及び耳1333は、1311Aの中立位置に対して変化しないままである。
図14Aは、顔の特徴などのユーザの物率的特徴の変化の検出に応じて、ロボットアバター1400を変更する電子デバイスを示す例示的な実施形態を示す。ロボットアバターは、3つの表示状態(1411A、1411B、及び1411C)を有して示されており、ロボットアバターの3つの表示状態のそれぞれがユーザの3つの検出された状態(1401A、1401B、及び1401C)にそれぞれ対応する。図14Aの各表示状態では、電子デバイスは、ユーザのそれぞれの状態で検出されたユーザの顔の特徴などの物理的特徴のうちの任意の1つ以上の位置又は位置の変化の検出に応じて、ロボットアバター特徴を配置又は変更する。
1401Aでは、電子デバイスは、ユーザの中立的な顔面表情を検出する。例えば、(カメラ(例えば、カメラ143、光センサ164)の焦点面に垂直な方向に向けられた虹彩1423A又は瞳孔を有する)ユーザの目1423は開いており、眉毛1422は、ユーザの目1423の上の弛緩した位置にあり、ユーザの頬1428は弛緩しており、拡張されていない。更に、ユーザの口1420(任意選択的にユーザの口1420の角を形成することができるユーザの唇1420Aの第1の部分と、任意選択的にユーザの口1420の角を形成することができるユーザの唇1420Bの第2の部分とを有する)は、弛緩した中立状態にあり、特定の顔面表情に関連付けられた位置ではない。中立的な顔面表情の検出に応じて、電子デバイスは、1411Aで中立的な表情又は状態を有するロボットアバター1400を表示する。例えば、電子デバイスは、ロボットの頭1435の側面に対して垂直に中心付けられて配置された耳1433、ロボットの頭1435の上部に水平に中心付けられた場所に下降位置を有するアンテナ1434、並びにロボットの頭1435の下縁部と平行に整列されたベース及びアンテナ1434に向かって上向きに向けられた反対側の角を有する三角形の鼻1436を有するロボットアバター1400を表示する。
1411Aでは、ロボットの口1430の中立位置は、電子デバイスによって表示される口1430の位置及び形状によって示される。例えば、電子デバイスは、ロボットの鼻1436の下で口1430を水平方向に中央に配置することにより、ロボットの口1430を中立位置に表示する。更に、水平にかつ互いに平行に配置された上縁部1430U及び下縁部1430Lによって接続される丸い端部1430A及び1430Bにより形成される「丸」形を有するロボットの口1430を電子デバイスが表示するとき、ロボットの口1430は、中立位置にある。口が中立位置にあるとき、電子デバイスは、ロボットの「歯」1440を形成する垂直線1430Cを表示する。歯1440は、ロボットの鼻1436の下に中心があるロボットの頭1435に対して固定された水平位置を有する。
1411Aに示すように、電子デバイスは、外側円1432Aと内側円1432Bとの間に水平に延びる線1431によって外側円1432Aの中心に位置する内側円1432B又はアパーチャを有する外側円1432Aを表示することにより、ロボットの目1432を中立位置に表示する。ロボットの目の特徴(例えば、中心開口1432Bと水平線1431)のこの組み合わせは、ディスプレイ(又はカメラ(例えば、カメラ143、光センサ164)の焦点面)に対して垂直な方向を見ているロボットの目1432を表す。いくつかの実施形態では、ロボットの目1432の開放性は、内側円1432Bのサイズによって示される。例えば、内側円1432Bの直径が大きくなると、ロボットの目1432は、拡大している又は開いていると見なされる。内側円1432Bの直径が小さくなると、ロボットの目1432は、狭くなっている又は閉じていると見なされる。いくつかの実施形態では、電子デバイスは、内側円1432Bを取り除き、外側円1432Aを横切る単一の線1431を表示することにより、閉じた位置にロボットの目1432を表示する。他の実施形態では、電子デバイスは、最小直径を有する内側円1432Bを表示することにより、閉じた位置にロボットの目1432を表示する。図14A~図14Dに示す実施形態では、1411Aに示される内側円1432Bのサイズは、内側円1432Bの中立位置又はサイズを表す。いくつかの実施形態では、アバターの中立位置は、メッセージングアプリケーションで見られる静的なロボット絵文字などの関連画像の他の表現に対応する。
1401Bに示されるように、電子デバイスは、ユーザの右側に偏移したユーザの目1423(例えば、ユーザの目の虹彩1423A及び/又は瞳孔)を検出する。ユーザの虹彩1423Aの右方向への偏移の検出に応じて、電子デバイスは、右を見るようにロボットアバターの目1432を変更する。例えば、各ロボットの目1432について、1411Bに示されるように、電子デバイスは、内側円1432Bを外側円1432Aの右端に偏移させる。更に、電子デバイスが内側円1432Bを外側円1432Aの右端に偏移すると、電子デバイスはまた、水平線1431の長さも調整して、内側円1432Bと外側円1432Aとの間の水平方向の延長を維持する。1411Bに示されるように、電子デバイスは、ロボットアバター1400の他の特徴を変更することを取り止める。
1401C及び1411Cは、電子デバイスがユーザの目1423(例えば、ユーザの目の虹彩1423A又は瞳孔)がユーザの左側に偏移した同様の効果を示す。ユーザの虹彩1423Aの左方向への偏移の検出に応じて、電子デバイスは、1411Cに示すように、左を見るようにロボットアバターの目1432を変更する。例えば、各ロボットの目1432について、電子デバイスは、内側円1432Bを外側円1432Aの左端に偏移し、水平線1431の長さを調整して、内側円1432Bと外側円1432Aとの間の水平方向の延長を維持する。同様に、1411Cに示されるように、電子デバイスは、ロボットアバター1400の他の特徴を変更することを取り止める。
図14Bは、顔の特徴などのユーザの物率的特徴の変化の検出に応じて、ロボットアバター1400を変更する電子デバイスを示す例示的な実施形態を示す。ロボットアバターは、3つの表示状態(1412A、1412B、及び1412C)を有して示されており、ロボットアバターの3つの表示状態のそれぞれがユーザの3つの検出された状態(1402A、1402B、及び1402C)にそれぞれ対応する。図14Bの各表示状態では、電子デバイスは、ユーザのそれぞれの状態で検出されたユーザの顔の特徴などの物理的特徴のうちの任意の1つ以上の位置又は位置の変化の検出に応じて、ロボットアバター特徴を配置又は変更する。
1402A及び1412Aに示されるように、電子デバイスは、目1423を広げたユーザを検出し、それに応じて、広げられた目1432を表示するようにロボットアバター1400を変更する。1402A及び1412Aに示される実施形態では、電子デバイスは、ユーザの目1423のサイズの増加を検出することにより(例えば、ユーザの目1423の中立位置に対して)、ユーザが目1423を広げることを検出する。いくつかの実施形態では、広げられた目を検出することは、任意選択的に、電子デバイスがユーザの眉毛1422の上げられた位置を検出することを含む。拡大されたユーザの目1423の検出に応じて、電子デバイスは、ロボットが1412Aに示すように内側円1432Bの直径を増やすことによって目1432を広げることを示すようにロボットアバター1400を変更する。更に、電子デバイスは、水平線1431の長さを短くして、内側円1432Bと外側円1432Aとの間の水平方向の延長を維持する。1412Aに示されるように、電子デバイスは、ロボットアバター1400の他の特徴を変更することを取り止める。
1402B及び1412Bに示されるように、電子デバイスは、目1423を狭めたユーザを検出し、それに応じて、その目1432を狭めるようにロボットアバター1400を変更する。1402B及び1412Bに示される実施形態では、電子デバイスは、ユーザの目1423のサイズの減少を検出することにより(例えば、ユーザの目1423の中立位置に対して)、ユーザが目1423を狭めることを検出する。狭められたユーザの目1423の検出に応じて、電子デバイスは、1412Bに示すように内側円1432Bの直径を小さくすることによりロボットが目1432を狭めることを示すようにロボットアバター1400を変更する。更に、電子デバイスは、水平線1431の長さを長くして、内側円1432Bと外側円1432Aとの間の水平方向の延長を維持する。1412Bに示されるように、電子デバイスは、ロボットアバター1400の他の特徴を変更することを取り止める。
1402C及び1412Cに示すように、電子デバイスは、ユーザの眉毛1422が上昇位置(例えば、1401Aに示す中立位置よりも高い位置)にあることを検出し、それに応じて、ロボットアバター1400の様々な特徴を変更する。例えば、1412Cに示すように、電子デバイスは、ロボットの頭1435の上部からアンテナ1434を延長し、ロボットの頭1435の側面からロボットの耳1433を延長し、ロボットの目1432の内側円1432Bと外側円1432Aとを接続する線1431を回転させることにより、ロボットアバター1400を変更する。1412Cに示される実施形態では、電子デバイスは、線1431を回転させて、「上げられた」位置でロボットの眉毛を模倣するように角度が付けられる。例えば、電子デバイスは、右ロボットの目1432Rに位置する線1431を時計回り方向に約45度回転させ、左ロボットの目1432Lに位置する線1431を反時計回り方向に約45度回転させる。この実施形態では、電子デバイスは、ユーザが眉毛1422を上げると、上述したようにロボットアバター1400を変更する。したがって、電子デバイスは、ユーザの眉毛1422が中立位置に戻ることを検出すると、アンテナ1434、耳1433、及び1411Aに示す中立位置に戻る線1431を表示する。
図14Cは、顔の特徴などのユーザの物率的特徴の変化の検出に応じて、ロボットアバター1400を変更する電子デバイスを示す例示的な実施形態を示す。4つの表示状態(1413A、1413B、1413C、及び1413D)を有するロボットアバターが示されており、ロボットアバターの4つの表示状態のそれぞれは、ユーザの4つの検出状態(1403A、1403B、1403C、及び1403D)に対応する。図14Cの各表示状態では、電子デバイスは、ユーザのそれぞれの状態で検出されたユーザの顔の特徴などの物理的特徴のうちの任意の1つ以上の位置又は位置の変化の検出に応じて、ロボットアバター特徴を配置又は変更する。
1403A及び1413Aに示されるように、電子デバイスは、1401Aに示される位置とは異なる位置でユーザの唇1420A及び1420Bの部分を検出する。具体的には、電子デバイスは、唇1420A及び1420Bの部分が上向きのポーズ(例えば、笑顔の顔面表情)に位置することを検出し、それに応じて、笑顔の表情を有するようにロボットアバター1400を変更する。例えば、電子デバイスは、1413Aに示すように、ロボットの口の形状を、より短い下縁部1430Lとより長い上縁部1430Uとを有する台形に変化させることにより、笑顔の表情を有するようにロボットの口1430を変更する。1413Aに示されるように、電子デバイスは、ロボットアバター1400の他の特徴を変更することを取り止める。
1403B及び1413Bに示されるように、電子デバイスは、下向きのポーズにあるユーザの唇1420A及び1420Bの部分の一方又は両方と、下向きの位置にあるユーザの眉毛1422を検出し(例えば、1401Aの弛緩した中立状態のときに眉毛1422の位置と比較した場合、ユーザの顔の下方にしかめる又は配置される)、それに応じて、しかめた表情を有するロボットを表示するようにロボットアバター1400の複数の特徴を変更する。例えば、電子デバイスは、ロボットの口1430とロボットの耳1433の両方を変更することにより、しかめた表情を有するロボットを表示する。電子デバイスは、1413Aに示すように、ロボットの口の形状を、より長い下縁部1430Lとより短い上縁部1430Uとを有する台形に変化させることにより、しかめた表情を有するようにロボットの口1430を変更する。更に、電子デバイスは、1413Bに示すように、ロボットの頭1435の側面から伸びかつロボットの頭1435の側面から離れる角度で下向きに傾くようにロボットの耳1433を変更する。1413Bに示されている実施形態では、電子デバイスは、ロボットアバター1400の他の特徴を変更することを取り止める。
1403Cでは、電子デバイスは、ユーザの口1420が開いた状態で(例えば、あたかもユーザの口1420が話し動作で動いているかのように)ユーザの口1420の部分1420C及び1420Dが離間していることを検出する。ユーザの口1420のこの「話す」動きの検出に応じて、電子デバイスは、1413Cに示されるように、ユーザの話す動きを模倣するロボットの口1430を表示するようにロボットアバター1400を変更する。例えば、電子デバイスは、ロボットの歯1440を上列の歯1440Aと下列の歯1440Bとに分離する水平空間1441を導入することにより、ロボットの歯1440を変更する。電子デバイスが話し動作で動いているユーザの口を検出すると、電子デバイスは、上列の歯1440Aと下列の歯1440Bとの間の水平空間1441の高さを増加させ、ロボットの歯1440が開方向に移動することを示し、上列の歯1440Aと下列の歯1440Bとの間の水平空間1441の高さを減少させ、ロボットの歯1440が閉方向に移動することを示す。このように水平空間1441の高さを変更することにより、電子デバイスは、ユーザの口1420の話す動きを模倣するようにロボットの口1430を変更する。1403C及び1413Cに示される実施形態などのいくつかの実施形態では、電子デバイスは、話す動きで動いているユーザの口1420の部分1420C及び1420Dの検出に応じて、ロボットの口1430の形状又は位置を変更しない。代わりに、ロボットの歯1440は、上述したように変更される。図14Cの実施形態などのいくつかの実施形態では、物理的特徴(例えば、ユーザの唇及び/又は口)の変化は、対応するアバター特徴(例えば、ロボットの口1430、1430U、1430L)の誇張された変化をもたらし、誇張は、物理的特徴に対して検出された形状の変化とは異なる形状の変化の形態である。
1403D及び1413Dに示されるように、電子デバイスが1403Dの閉位置に戻る(例えば、ユーザの口1420の部分1420C及び1420Dが閉じられる)ユーザの口1420を検出すると、電子デバイスは、水平空間1441を取り除き、ロボットの歯1440は、1413Dに示すように中立的な閉位置に戻る。
図14Dは、顔の特徴などのユーザの物率的特徴の変化の検出に応じて、ロボットアバター1400を変更する電子デバイスを示す例示的な実施形態を示す。4つの表示状態(1414A、1414B、1414C、及び1414D)を有するロボットアバターが示されており、ロボットアバターの4つの表示状態のそれぞれは、ユーザの4つの検出状態(1404A、1404B、1404C、及び1404D)に対応する。図14Dの各表示状態では、電子デバイスは、ユーザのそれぞれの状態で検出されたユーザの顔の特徴などの物理的特徴のうちの任意の1つ以上の位置又は位置の変化の検出に応じて、ロボットアバター特徴を配置又は変更する。4つの表示状態のそれぞれにおいて、表示状態の境界(例えば、1414A、1414B、1414C、及び1414Dの境界)は、仮想アバターを含む表示領域の境界を表す。
1404A及び1414Aに示されるように、電子デバイスは、ユーザの口1420(例えば、上唇1420C及び下唇1420D)がユーザの右に偏移される(例えば、カメラの視野に対して左に偏移される)ことを検出し、それに応じて、ロボットの口1430と鼻1436の両方を変更する。電子デバイスは、ロボットの頭1435に対するロボットの歯1440の相対位置を維持しながら、ユーザの口1420の動きを鏡映するようにロボットの口1430の形状を右に偏移することにより、ロボットの口1430を変更する。例えば、1414Aに示すように、ロボットの口1430がロボットの頭1435と歯1440の両方に対して移動したように見えるように、ロボットの口1430の丸形状は右に偏移し、歯1440の位置は、固定されたままである。
1404Aに示すように、ユーザの鼻1425の先端は、ユーザの口1420によってわずかに偏移する。いくつかの実施形態では、電子デバイスは、ユーザの鼻1425の動きを直接モニタ又は検出しないが、それにもかかわらず、偏移するロボットの口1430に応じて動くようにロボットの鼻1436を変更することにより、ユーザの鼻1425の動きを考慮する。例えば、電子デバイスは、ロボットの口1430が偏移するにつれて回転するようにロボットの鼻1436を変更し、それにより、ユーザの口1420と鼻1425との間の相互接続された顔の関係に類似するロボットの口1430と鼻1436との間の相互接続された顔の関係を伝達する。1414Aに示す実施形態では、電子デバイスは、ロボットの口1430を右に偏移し、鼻1436を時計回りに回転させる。ロボットの口1430及び鼻1436に対する変更のこの組み合わせは、ユーザの口1420及び鼻1425の動きを模倣し、ロボットの顔の特徴、特にロボットの鼻1436及び口1430がユーザの口1420及び鼻1425のものに類似した方法で相互接続されているように外観を与える。
1404Bは、1404Aに示されるのとは反対の方向へのユーザの口1420及び鼻1425の動きを示し、1414Bは、ロボットアバター1400に対する電子デバイスの対応する変更を示す。ロボットアバター1400に対するこれらの変更は、1414Aに関して上記で議論された変更と同様であるが、代わりに反対方向で示されている。例えば、1404Bでは、ユーザの口1420及び鼻1425は、ユーザの左に偏移して(例えば、カメラの視野に対して右に偏移して)示され、それに応じて、電子デバイスは、1414Bに示すように、ロボットの口1430を右に偏移し、ロボットの鼻1436を反時計回りに回転させる。同様に、ロボットの口1430及び鼻1436に対する変更のこの組み合わせは、ユーザの口1420及び鼻1425の動きを模倣し、ロボットの顔の特徴がユーザの口1420及び鼻1425のものに類似した方法で相互接続されているように外観を与える。
1404C及び1414Cに示されるように、電子デバイスは、膨らんだ又は拡張した位置でユーザの頬1428を検出し(例えば、ユーザが1401Aに示す中立位置を超えて拡大するように頬1428を空気で満たす)、それに応じて、ロボットの頭1435の側面からロボットの耳1433を伸ばすことにより、ロボットアバター1400を変更する。いくつかの実施形態では、電子デバイスは、ユーザが頬1428を拡張する量に基づいて耳1433の延長を変更する。例えば、ユーザが頬1428を拡張し続けると、電子デバイスは、耳1433を伸ばし続ける。同様に、ユーザの頬1428が収縮すると(例えば、ユーザが頬1428から空気を放出したことに応じて)、電子デバイスは、ロボットの耳1433を収縮させる。
1404Dに示されるように、電子デバイスは、閉位置にあるユーザの顎1427を検出しかつユーザの唇(例えば、ユーザの上唇1420C及び下唇1420Dの両方)をすぼめるポーズでユーザの口1420から外側に延ばすように互いに向かって移動するユーザの口1420の角1420A及び620Bを検出することにより、すぼめる顔面表情を行っているユーザを判定する。ユーザのすぼめる顔面表情の検出に応じて、電子デバイスは、1414Dに示すように、ロボットの口1430の形状を変更し、ロボットの口1430から放出される金属ハート1452を表示することにより、ロボットアバター1400を変更する。例えば、電子デバイスは、ロボットの口1430の形状を円の中心にある「+」形状1454を有する円に変更して、ロボット「すぼめ面」を形成する。更に、電子デバイスは、ロボットの「すぼめた」口1430から放出されるように表示される1つ以上の金属ハート1452を導入する。いくつかの実施形態では、電子デバイスは、ロボットアバター1400の他の特徴を変更することを取り止める。
いくつかの実施形態では、電子デバイスは、ユーザのすぼめる顔面表情の検出に応じて、金属ハート1452を直ちに導入しない。そのような実施形態では、電子デバイスは、電子デバイスが閾値時間だけすぼめた顔面表情を保持しているユーザを検出した後にのみ、すぼめた口1430から放出する金属ハート1452を導入するように、すぼめたロボットアバター1400を変更する。いくつかの実施形態では、電子デバイスは、ユーザが第1の閾値時間(例えば、0.3秒)だけすぼめる顔面表情を保持するとき、すぼめた口1430から放出される単一の金属ハート1452のみを導入するようにロボットアバターを変更し、その後、ユーザがすぼめた顔面表情を保持し続けて第2の閾値時間(例えば0.6秒)に到達した後に、すぼめた口1430から放出される追加の金属ハート1452を導入するようにロボットアバターを変更する。
いくつかの実施形態では、金属ハート1452は、アニメーション化されて動的である。例えば、いくつかの実施形態では、電子デバイスは、すぼめた口1430から断続的に、及び任意選択的にランダムな間隔で放出する金属ハート1452を表示する。いくつかの実施形態では、電子デバイスは、異なるサイズを有する金属ハート1452を表示する。いくつかの実施形態では、電子デバイスは、すぼめた口1430から離れるにつれてサイズが増大する金属ハート1452を表示する。更に、いくつかの実施形態では、電子デバイスは、ランダム化された軌道で移動し、1414Dの表示領域内に位置するランダムな場所で消えるか、あるいは、1414Dの表示領域を出ると視界から消える各金属ハート1452を表示する。いくつかの実施形態では、電子デバイスは、ユーザ又はアバターが向いている方向に基づく方向にすぼめた口1430から放出する金属ハート1452を表示する。例えば、電子デバイスがユーザの顔又はアバターが左を向いたことを検出すると、すぼめた口1430は、金属ハート1452を左に放出し、電子デバイスがユーザの顔又はアバターが右を向いたことを検出すると、すぼめた口1430は、金属ハート1452を右に放出する。いくつかの実施形態では、電子デバイスは、ユーザがすぼめた顔面表情の形成を停止するまで、ロボットのすぼめた口1430から放出する金属ハート1452を表示し続ける。いくつかの実施形態では、ユーザがすぼめた顔面表情の形成を停止すると、電子デバイスは、金属ハート1452が消え、すぼめた口1430が1411Aに示す中立形状に戻るようにロボットアバター1400を変更する。
図15Aは、顔の特徴などのユーザの物率的特徴の変化の検出に応じて、ユニコーンアバター1500を変更する電子デバイスを示す例示的な実施形態を示す。4つの表示状態(1511A、1511B、1511C、及び1511D)を有するユニコーンアバターが示されており、ユニコーンアバターの4つの表示状態のそれぞれは、ユーザの4つの検出状態(1501A、1501B、1501C、及び1501D)に対応する。図15Aの各表示状態では、電子デバイスは、ユーザのそれぞれの状態で検出されたユーザの顔の特徴などの物理的特徴のうちの任意の1つ以上の位置又は位置の変化の検出に応じて、ユニコーンアバター特徴を配置又は変更する。
1501Aでは、電子デバイスは、ユーザの中立的な顔面表情を検出する(例えば、ユーザの目1523が開いている、眉毛1522がユーザの目1523の上の弛緩した位置にある、ユーザの口1520が特定の表情に関連付けられた位置ではない弛緩した中立状態にある)。中立的な顔面表情の検出に応じて、電子デバイスは、1511Aで中立的な状態を有するユニコーンアバター1500を表示する。例えば、電子デバイスは、ユニコーンの頭1535の上部から垂直に伸びる耳1533、開いた位置の目1532、及びユニコーンの頭1535の上部及びユニコーンの頭1535と首1539の後方に自然に存在するたてがみ1552を有するユニコーン1500を表示する。更に、電子デバイスは、ユニコーンの耳1533及びたてがみ1552に隣接して、ユニコーンの頭1535の上部に向かって配置されたホーン1550を有するユニコーン1500を表示する。電子デバイスは、眉毛又は頬の特徴のないユニコーン1500を表示し、ディスプレイ(又はカメラ(例えば、カメラ143、光センサ164)の焦点面)に対して垂直な方向を向いたユニコーンの目1532を表示する。
電子デバイスはまた、口1530及び鼻孔1536を含む鼻面領域1540を有するユニコーン1500も表示する。1511Aでは、電子デバイスは、閉じた位置にあるユニコーンの口1530と鼻孔1536の弛緩した位置を含む中立状態のユニコーンの鼻面領域1540を表示する。
1511Aに示されている中立状態では、電子デバイスは、ユニコーン1500が1511Aの表示領域の左側に面してユニコーンの特徴の約半分が見えるように、斜めの向きでユニコーンアバター1500を表示する。例えば、電子デバイスは、ユニコーンの目1532のうちの1つ、ユニコーンの口1530の半分、及び1511Aに示す中立状態の1つの鼻孔1536を表示する。いくつかの実施形態では、アバターの中立位置は、メッセージングアプリケーションで見られる静的なユニコーン絵文字などの関連画像の他の表現に対応する。
1501B及び1511Bに示されるように、電子デバイスは、上昇位置にあるユーザの上唇1520A及び下降位置にあるユーザの眉毛1522を検出し(例えば、ユーザが冷笑的な顔面表情を形成している)、それに応じて、冷笑的な表情を表示するように表示されたユニコーンアバター1500を変更する。例えば、電子デバイスは、1511Bに示すように、ユニコーンの目1532の上部部分を部分的に遮るひそめる状態に配置された眉毛1538を導入するように、ユニコーンアバター1500を変更する。更に、電子デバイスは、ユニコーンの口1530を、上唇1530Aが突出した開位置に変更して、ユニコーンの歯1542を露出させることにより、鼻面領域1540を変更する。電子デバイスはまた、1511Bに示すように、鼻孔1536を拡張又は屈曲位置で表示し、鼻面領域1540を拡大してユニコーンの顔の増加部分を覆うことにより、冷笑ポーズを形成するように鼻面領域1540を変更する。
1501B及び1511Bに示される実施形態では、電子デバイスは、ユーザの冷笑的な顔面表情の検出に応じて冷笑的な表情を表示するようにユニコーンアバター1500を変更する。いくつかの実施形態では、電子デバイスは、変更された特徴(例えば、口、鼻孔、鼻面領域、眉毛)のそれぞれに対する変化の漸進的アニメーションとしてアバターへの変化を表示し、アニメーション化された変化は、ユーザの対応する物理的特徴(例えば、ユーザの唇と眉毛)への変化の方向及び大きさと一致する。他の実施形態では、電子デバイスは、仮想アバター特徴(例えば、口、鼻孔、鼻面領域、眉毛)を、ユニコーンの冷笑を表す所定の位置に変更する。
いくつかの実施形態では、電子デバイスは、ユーザがもはや冷笑的な顔面表情を作っていないことを検出すると、1511Aに示す中立状態に戻るようにユニコーンアバター1500を変更する。例えば、ユーザが冷笑的な表情を解除すると、電子デバイスは、眉毛1538をユニコーンの目1532から上に移動し、ユニコーンのたてがみ1552と耳1533の下のユニコーンの顔に消えることをアニメーション化することにより、ユニコーンの眉毛1538を取り除く。更に、電子デバイスは、中立位置に移動する鼻面領域1540、弛緩状態に戻る鼻孔1536、及び閉じて中立位置に戻るユニコーンの口1530をアニメーション化する。いくつかの実施形態では、電子デバイスは、変更された特徴(例えば、眉毛、口、鼻孔、及び鼻面領域)への変化をアニメーション化することなく、中立位置に戻るユニコーン1500を表示する。換言すれば、電子デバイスは、1511Bに示されている冷笑的な表情から1511Aに示されている中立状態へのユニコーンの瞬間的な変化を表示する。
1501C及び1511Cに示されるように、電子デバイスは、眉毛1522を上げるユーザを検出し、それに応じて、眉毛を上げるように表示されたユニコーンアバター1500を変更する。例えば、ユーザの上げられた眉毛1522の検出に応じて、電子デバイスは、1511Cに示すように、元気を出すようにユニコーンのたてがみ1552の前部1552Aを変更し、ユニコーンの目1532の上に配置されたユニコーンの眉毛1538を導入して、ユニコーンアバター1500が眉毛1538を上げているという印象を伝達する。この実施形態では、電子デバイスは、ユニコーンの眉毛1538を導入し、ユーザの眉毛1522が持ち上げられたときにたてがみ1552の前部を元気にする。電子デバイスは、ユーザの眉毛1522が中立位置に戻ったときにユニコーンの眉毛1538を取り除いてたてがみ1552を弛緩する。いくつかの実施形態では、デバイスは、眉毛1538をユニコーンの目1532に向かって動かし、ユニコーンの目1532の上のユニコーンの顔に消えることをアニメーション化することにより、ユニコーン1500を中立位置に戻す。更に、電子デバイスは、眉毛1538が取り除かれると、たてがみ1552の前部1552Aがその中立位置に落ちるようにアニメーション化する。
1501D及び1511Dに示すように、電子デバイスは、ユーザが頭1528及び任意選択的に顔1524(又は顔1524を含む様々な物理的特徴)をユーザの左側に回転させていることを検出し、それに応じて、ユニコーンの首1539を固定したまま、ユニコーンの頭1535を回転させることによってユニコーンアバター1500を変更する。例えば、電子デバイスは、電子デバイスのディスプレイ(例えば、タッチスクリーン112、ディスプレイ340、ディスプレイ450、ディスプレイ504)上でユニコーンアバター1500を見ているユーザの視点に向かって回るように、ユニコーンの頭1535を回転させる。電子デバイスがユニコーンの首1539の位置を維持しながらユニコーンの頭1535を回転させると、電子デバイスは、ユニコーン1500が1511Aに示す斜めの向きで向いていたときに以前は隠れていたユニコーンの特徴を明らかにする。例えば、1511Dに示すように、電子デバイスは、ユニコーンの頭1535を回転させて、以前は視界から隠されていたユニコーンの両目1532、両方の鼻孔1536、ユニコーンの耳1533、ホーン1550、鼻面領域1540の一部を表示する。更に、電子デバイスがユニコーンの頭1535を回転させると、ユニコーンのたてがみ1552は、ユニコーンの頭1535とともに移動し、頭1535は、ユニコーンの口1530が消えるようにわずかに下に傾斜する。
図15Bは、顔の特徴などのユーザの物率的特徴の変化の検出に応じて、ユニコーンアバター1500を変更する電子デバイスを示す例示的な実施形態を示す。ユニコーンアバターは、3つの表示状態(1512A、1512B、及び1512C)を有して示されており、ユニコーンアバターの3つの表示状態のそれぞれがユーザの3つの検出された状態(1502A、1502B、及び1502C)にそれぞれ対応する。図15Bの各表示状態では、電子デバイスは、ユーザのそれぞれの状態で検出されたユーザの顔の特徴などの物理的特徴のうちの任意の1つ以上の位置又は位置の変化の検出に応じて、ユニコーンアバター特徴を配置又は変更する。3つの表示状態のそれぞれにおいて、表示状態の境界(例えば、1512A、1512B、及び1512Cの境界)は、仮想アバターを含む表示領域の境界を表す。
1502A及び1512Aに示すように、電子デバイスは、ユーザがすぼめた表情を形成することを検出し、それに応じて、ユニコーンの口1530をすぼめた唇1531のセットで置き換えることにより、ユニコーンアバター1500を変更する。1502Aに示されるようないくつかの実施形態では、電子デバイスは、閉位置でユーザの顎1527を検出し、ユーザの唇(例えば、ユーザの上唇1520A及び下唇1520Bの両方)をすぼめるポーズでユーザの口1520から外側に延ばすように互いに向かって移動するユーザの口1520の角を検出することにより、ユーザがすぼめる表情を行っていると判定する。ユーザのすぼめた表情の検出に応じて、電子デバイスは、ユニコーンの口1530をすぼめた唇1531のセットに変化させることでユニコーンアバター1500を変更するとともに、1512Aに示すようにユニコーン1500の任意の他の特徴の変更を取り止める。
1502B及び1512Bに示すように、電子デバイスは、すぼめた表情を閾値時間だけ保持しているユーザを検出し、それに応じて、ユニコーンのすぼめた唇1531から放出されて表示される1つ以上のレインボーハート1555を導入することにより、ユニコーンアバター1500を変更する。1512A及び1512Bに示される実施形態では、電子デバイスは、ユーザのすぼめた表情の検出に応じて、レインボーハート1555を直ちに導入しない。代わりに、電子デバイスは、電子デバイスが閾値時間だけすぼめた表情を保持しているユーザを検出した後にのみ、すぼめた唇1531から放出するレインボーハート1555を導入するように、すぼめたユニコーンアバター1500を変更する。
いくつかの実施形態では、電子デバイスは、ユーザが第1の閾値時間(例えば、0.3秒)だけすぼめる表情を保持するとき、すぼめた唇1531から放出される単一のレインボーハート1555のみを導入するようにユニコーンアバターを変更し、その後、ユーザがすぼめた表情を保持し続けて第2の閾値時間(例えば0.6秒)に到達した後に、すぼめた唇1531から放出される追加のレインボーハート1555を導入するようにユニコーンアバターを変更する。いくつかの実施形態では、レインボーハート1555は、アニメーション化されて動的である。例えば、いくつかの実施形態では、電子デバイスは、すぼめた唇1531から断続的に、及び任意選択的にランダムな間隔で放出するレインボーハート1555を表示する。いくつかの実施形態では、電子デバイスは、異なるサイズを有するレインボーハート1555を表示する。いくつかの実施形態では、電子デバイスは、すぼめた唇1531から離れるにつれてサイズが増大するレインボーハート1555を表示する。更に、いくつかの実施形態では、電子デバイスは、ランダム化された軌道で移動し、1512Bの表示領域内に位置するランダムな場所で消えるか、あるいは、1512Bの表示領域を出ると視界から消える各レインボーハート1555を表示する。
いくつかの実施形態では、電子デバイスは、ユーザ又はアバターが向いている方向に基づく方向にすぼめた唇1531から放出するレインボーハート1555を表示する。例えば、電子デバイスがユーザの顔又はアバターが左を向いたことを検出すると、すぼめた唇1531は、レインボーハート1555を左に放出し、電子デバイスがユーザの顔又はアバターが右を向いたことを検出すると、すぼめた唇1531は、レインボーハート1555を右に放出する。いくつかの実施形態では、電子デバイスは、ユーザがすぼめた顔面表情の形成を停止するまで、ユニコーンのすぼめた唇1531から放出するレインボーハート1555を表示し続ける。いくつかの実施形態では、ユーザがすぼめた顔面表情の形成を停止すると、電子デバイスは、レインボーハート1555が消え、すぼめた唇1531がユニコーンの口1530に置き換わるように、ユニコーンアバター1500を変更する。
1502Cでは、電子デバイスは、ユーザが眉毛1522を上げることを検出すると同時に、1502Bに関して上述したすぼめた表情を維持する。1512Cに示すように、眉毛1522を上げるユーザの検出に応じて、電子デバイスは、ユニコーン1535を変更して眉毛を上げる一方で、1512Bに関して上述したレインボーハート1555を更に生成する。例えば、すぼめた唇1531からレインボーハート1555を放出するユニコーン1500を表示している間、電子デバイスは、ユニコーンのたてがみ1552の前部1552Aが元気を出すように、(眉毛1522を上げるユーザの検出に応じて)ユニコーン1500を更に変更し、ユニコーンの眉毛1538は、ユニコーンの目1532の上に導入され、1512Cに示すように、ユニコーンアバター1500がレインボーハート1555を放出しながら眉毛1538を上げているという印象を伝達する。いくつかの実施形態では、たてがみ1552の移動は、1つ以上の物理モデル(例えば、慣性のモデル、重力のモデル、力伝達モデル、摩擦モデル)にしたがって生じる。
図16Aは、顔の特徴などのユーザの物率的特徴の変化の検出に応じて、ニワトリアバター1600を変更する電子デバイスを示す例示的な実施形態を示す。4つの表示状態(1611A、1611B、1611C、及び1611D)を有するニワトリアバターが示されており、ニワトリアバターの4つの表示状態のそれぞれは、ユーザの4つの検出状態(1601A、1601B、1601C、及び1601D)に対応する。図16Aの各表示状態では、電子デバイスは、ユーザのそれぞれの状態で検出されたユーザの顔の特徴などの物理的特徴のうちの任意の1つ以上の位置又は位置の変化の検出に応じて、ニワトリアバター特徴を配置又は変更する。
1601Aでは、電子デバイスは、ユーザの中立的な顔面表情を検出する(例えば、ユーザの目1623が開いている、眉毛1622がユーザの目1623の上の弛緩した位置にある、ユーザの頬1628が弛緩しており拡張していない、ユーザの口1620が特定の表情に関連付けられた位置ではない弛緩した中立状態にある)。中立的な顔面表情の検出に応じて、電子デバイスは、1611Aで中立的な状態を有するニワトリアバター1600を表示する。例えば、電子デバイスは、閉位置にあるくちばし1630及びニワトリの顔面領域1655から延びかつニワトリの頭1635からゆるく垂れ下がる肉垂1650を有するニワトリ1600を表示する。更に、電子デバイスは、ニワトリ1600を頬なしで表示する。いくつかの実施形態では、アバターの中立位置は、メッセージングアプリケーションで見られる静的なニワトリ絵文字などの関連画像の他の表現に対応する。
1601B及び1611Bに示すように、電子デバイスは、膨らんだ又は拡張した位置でユーザの頬1628を検出し(例えば、1601Aに示されている中立位置を超えて拡張するように、ユーザが頬1628を空気で満たす)、それに応じて、頬1633を膨らませたニワトリを表示するように頬1633を導入することにより、ニワトリアバター1600を変更する。膨らんだニワトリの頬1633を導入することに加えて、電子デバイスは、ニワトリの頬1633が膨らんだときに、中立位置(1611Aに示されている)から広げられた位置(1611Bに示されている)まで揺れるニワトリの肉垂1650のアニメーションを表示する。いくつかの実施形態では、電子デバイスは、1611Aの中立位置から1611Bの広げられた位置に動かされた結果として揺れ動く肉垂1650を表示することにより、慣性を有する肉垂1650を表示する。
1601C及び1601Dでは、電子デバイスは、ユーザの頬1628が中立位置に戻ることを検出する(例えば、拡張しない又は膨らまない)。それに応じて、電子デバイスは、1611C及び1611Dに示すように、膨らんだ頬1633を取り除くようにニワトリアバター1600を変更する。例えば、電子デバイスは、頬1633を取り除き、最終的に1611Dで中立位置に落ち着く前に、1611Bで広げられた位置から1611Cで狭められた位置まで揺れるニワトリの肉垂1650を表示する。
図16Bは、顔の特徴などのユーザの物率的特徴の変化の検出に応じて、ニワトリアバター1600を変更する電子デバイスを示す例示的な実施形態を示す。ニワトリアバターは、3つの表示状態(1612A、1612B、及び1612C)を有して示されており、ニワトリアバターの3つの表示状態のそれぞれがユーザの3つの検出された状態(1602A、1602B、及び1602C)にそれぞれ対応する。図16Bの各表示状態では、電子デバイスは、ユーザのそれぞれの状態で検出されたユーザの顔の特徴などの物理的特徴のうちの任意の1つ以上の位置又は位置の変化の検出に応じて、ニワトリアバター特徴を配置又は変更する。3つの表示状態のそれぞれにおいて、表示状態の境界(例えば、1612A、1612B、及び1612Cの境界)は、仮想アバターを含む表示領域の境界を表す。
1602A及び1612Aに示すように、電子デバイスは、ユーザがすぼめた表情を形成することを検出し、それに応じて、ニワトリのくちばし1630の先端をすぼめた唇1645のセットで置き換えることにより、ニワトリアバター1600を変更する。1602Aに示されるようないくつかの実施形態では、電子デバイスは、閉位置でユーザの顎1627を検出し、ユーザの唇(例えば、ユーザの上唇1620A及び下唇1620Bの両方)をすぼめるポーズでユーザの口1620から外側に延ばすように互いに向かって移動するユーザの口1620の角を検出することにより、ユーザがすぼめる表情を行っていると判定する。ユーザのすぼめた表情の検出に応じて、電子デバイスは、ニワトリのくちばし1630の先端をすぼめた唇1645のセットに変化させることでニワトリアバター1600を変更するとともに、1612Aに示すようにニワトリ1600の任意の他の特徴の変更を取り止める。
1602B及び1602Cでは、電子デバイスは、すぼめた表情を閾値時間だけ保持しながら、横向きになったユーザの頭1629を検出する。それに応じて、電子デバイスは、ニワトリの頭1635を左又は右に向けて(検出されたユーザの頭1629の方向に応じて)、ニワトリのすぼめた唇1645から放出されて表示される1つ以上のハート1652を導入することにより、ニワトリアバター1600を変更する。図16Bに示される実施形態では、電子デバイスは、ユーザのすぼめた表情の検出に応じて、ハート1652を直ちに導入しない。代わりに、電子デバイスは、電子デバイスが閾値時間だけすぼめた表情を保持しているユーザを検出した後にのみ、すぼめた唇1645から放出するハート1652を導入するように、すぼめたニワトリアバター1600を変更する。
いくつかの実施形態では、電子デバイスは、ユーザが第1の閾値時間(例えば、0.3秒)だけすぼめる表情を保持するとき、すぼめた唇1645から放出される単一のハート1652のみを導入するようにニワトリアバター1600を変更し、その後、ユーザがすぼめた表情を保持し続けて第2の閾値時間(例えば0.6秒)に到達した後に、すぼめた唇1645から放出される追加のハート1652を導入するようにニワトリアバター1600を変更する。いくつかの実施形態では、ハート1652は、アニメーション化されて動的である。例えば、いくつかの実施形態では、電子デバイスは、すぼめた唇1645から断続的に、及び任意選択的にランダムな間隔で放出するハート1652を表示する。いくつかの実施形態では、電子デバイスは、異なるサイズを有するハート1652を表示する。いくつかの実施形態では、電子デバイスは、すぼめた唇1645から離れるにつれてサイズが増大するハート1652を表示する。更に、電子デバイスは、いくつかの実施形態では、ランダム化された軌道で移動し、表示領域(例えば、1612B又は1612Cの表示領域)内に位置するランダムな場所で消えるか、あるいは表示領域(例えば、1612B又は1612Cの表示領域)を出ると視界から消える各ハート1652を表示する。
いくつかの実施形態では、電子デバイスは、ユーザ又はアバターが向いている方向に基づく方向にすぼめた唇1645から放出するハート1652を表示する。例えば、1602B及び1612Bに示されるように、電子デバイスは、ユーザの頭1629がユーザの右方向に向けられている(例えば、カメラの視野に対して左に向けられている)ことを検出し、電子デバイスは、ユーザの頭1629を鏡映するように右を向いているニワトリの頭1635を表示する。したがって、電子デバイスは、1612Bに示されるように、ニワトリアバター1600が向いている右方向に、すぼめた唇1645から放出されるハート1652を表示する。逆に、1602C及び1612Cに示されるように、電子デバイスは、ユーザの頭1629がユーザの左方向に向けられている(例えば、カメラの視野に対して右に向けられている)ことを検出し、電子デバイスは、ユーザの頭1629を鏡映するように左を向いているニワトリの頭1635を表示する。したがって、電子デバイスは、1612Cに示されるように、ニワトリアバター1600が向いている左方向に、すぼめた唇1645から放出されるハート1652を表示する。
いくつかの実施形態では、電子デバイスは、ユーザがすぼめた顔面表情の形成を停止するまで、ニワトリのすぼめた唇1645から放出するハート1652を表示し続ける。いくつかの実施形態では、ユーザがすぼめた顔面表情の形成を停止すると、電子デバイスは、ハート1652が消え、すぼめた唇1645がニワトリのくちばし1630の先端に置き換わるように、ニワトリアバター1600を変更する。
図17Aは、顔の特徴などのユーザの物率的特徴の変化の検出に応じて、ブタアバター1700を変更する電子デバイスを示す例示的な実施形態を示す。2つの表示状態(1711A及び1711B)を有するブタアバターが示されており、ブタアバターの2つの表示状態のそれぞれは、ユーザの2つの検出状態(1701A及び1701B)に対応する。図17Aの各表示状態では、電子デバイスは、ユーザのそれぞれの状態で検出されたユーザの顔の特徴などの物理的特徴のうちの任意の1つ以上の位置又は位置の変化の検出に応じて、ブタアバター特徴を配置又は変更する。
1701Aでは、電子デバイスは、ユーザの中立的な顔面表情を検出する(例えば、ユーザの目1723が開いている、眉毛1722がユーザの目1223の上の弛緩した位置にある、ユーザの口1720が特定の表情に関連付けられた位置ではない弛緩した中立状態にある)。中立的な顔面表情の検出に応じて、電子デバイスは、1711Aで中立的な状態を有するブタアバター1700を表示する。例えば、電子デバイスは、ブタの頭1735の垂直中心にあり、眉毛なしで表示され、ディスプレイ(又はカメラ(例えば、カメラ143、光センサ164)の焦点面)に対して垂直方向を見る目1732を有するブタ1700を表示する。電子デバイスはまた、ブタの頭1735の水平方向中央に位置しかつブタの目1732よりもわずかに下に位置する鼻1736を有するブタ1700を表示する。中立状態では、電子デバイスは、1711Aに示すように、ブタの鼻1736の下に位置する閉位置にある口1730を有するブタ1700を表示する。いくつかの実施形態では、アバターの中立位置は、メッセージングアプリケーションで見られる静的なブタ絵文字などの関連画像の他の表現に対応する。
1701B及び1711Bに示されるように、電子デバイスは、上昇位置にあるユーザの上唇1720A及び下降位置にあるユーザの眉毛1722を検出し(例えば、ユーザが冷笑的な顔面表情を形成している)、それに応じて、冷笑的な表情を表示するように表示されたブタアバター1700を変更する。例えば、電子デバイスは、1711Bに示すように、ブタの目1732の上部部分を部分的に遮るひそめる状態に配置された眉毛1738を導入するように、ブタアバター1700を変更する。更に、電子デバイスは、ブタの冷笑的な表情を表示するようにブタの口1730と鼻1736を変更する。例えば、電子デバイスは、ブタの歯1742を明らかにする開位置でブタの口1730を表示し、ブタの鼻1736を上方向に偏移させる。1701B及び1711Bに示されるように、ブタの鼻1736の変化は、ユーザの唇の変化の割合(例えば、予測又は判定された動きの範囲の10%)と比較して、アバターの鼻の変化がモデル化された動きの最大範囲のより大きな割合(例えば、30%)であるという点で、ユーザの上唇1720Aの変化に対して誇張される。
いくつかの実施形態では、電子デバイスは、ユーザがもはや冷笑的な表情を作っていないことを検出すると、1711Aに示す中立状態に戻るようにブタアバター1700を変更する。例えば、ユーザが冷笑的な表情を解除すると、電子デバイスは、眉毛1738をブタの目1732から上に移動し、ブタの頭1735の上部の下のブタの顔に消えることをアニメーション化することにより、ブタの眉毛1738を取り除く。更に、電子デバイスは、ブタの口1730を閉じて歯1742を隠し、中立位置に戻るようにアニメーション化し、ブタの鼻1736を1711Aに示す弛緩状態に移動するようにアニメーション化する。
図17Bは、顔の特徴などのユーザの物率的特徴の変化の検出に応じて、ブタアバター1700を変更する電子デバイスを示す例示的な実施形態を示す。4つの表示状態(1712A、1712B、1712C、及び1712D)を有するブタアバターが示されており、ブタアバターの4つの表示状態のそれぞれは、ユーザの4つの検出状態(1702A、1702B、1702C、及び1702D)に対応する。図17Bの各表示状態では、電子デバイスは、ユーザのそれぞれの状態で検出されたユーザの顔の特徴などの物理的特徴のうちの任意の1つ以上の位置又は位置の変化の検出に応じて、ブタアバター特徴を配置又は変更する。
1702A及び1712Aに示されるように、電子デバイスは、ユーザの口1720(例えば、上唇1720A及び下唇1720B)がユーザの左に偏移される(例えば、カメラの視野に対して右に偏移される)ことを検出し、それに応じて、ブタの口1730と鼻1736の両方を変更する。例えば、電子デバイスは、ブタの鼻1736をブタの頭1735の左側に水平に偏移する。更に、電子デバイスは、ユーザの口1720の動きを鏡映するために、口1730を短くし、口1730をブタの頭1735の左側に水平に回転及び偏移させることにより、ブタの口1730を変更する。
1702Aに示すように、ユーザの鼻1725の先端は、ユーザの口1720によってわずかに偏移する。いくつかの実施形態では、電子デバイスは、ユーザの鼻1725の動きを直接モニタ又は検出しないが、それにもかかわらず、1712Aに示すように、偏移するブタの口1730に応じて動くようにブタの鼻1736を変更することにより、ユーザの鼻1725の動きを考慮する。例えば、電子デバイスは、ブタの口1730が偏移するにつれて水平に偏移するようにブタの鼻1736を変更し、それにより、ユーザの口1720と鼻1725との間の相互接続された顔の関係に類似するブタの口1730と鼻1736との間の相互接続された顔の関係を伝達する。1712Aに示されている実施形態では、電子デバイスは、ブタの口1730及び鼻1736を左に偏移させ、口1730を時計回りにわずかに回転させる。ブタの口1730と鼻1736に対するこの変更の組み合わせは、ユーザの口1720と鼻1725の動きを模倣し、ブタの顔の特徴、特にブタの鼻1736と口1730がユーザの口1720と鼻1725と同様の方法で相互接続されているように外観を与える。
1702Bは、1702Aに示されるのとは反対の方向へのユーザの口1720及び鼻1725の動きを示し、1712Bは、ブタアバター1700に対する電子デバイスの対応する変更を示す。ブタアバター1700に対するこれらの変更は、1712Aに関して上記で議論された変更と同様であるが、代わりに反対方向で示されている。例えば、1702Bでは、ユーザの口1720及び鼻1725は、ユーザの右に偏移して示され(例えば、カメラの視野に関して左に偏移)、それに応じて、電子デバイスは、1712Bに示すように、ブタの頭1735の右側にブタの鼻1736を偏移し、ブタの口1730を短くし、口1730を反時計回りにわずかに回転させ、偏移した鼻1736の下のブタの頭1735の右側に口1730を水平に偏移する。同様に、ブタの口1730及び鼻1736に対する変更のこの組み合わせは、ユーザの口1720及び鼻1725の動きを模倣し、ブタの顔の特徴がユーザの口1720及び鼻1725のものに類似した方法で相互接続されているように外観を与える。
1702C及び1712Cに示されるように、電子デバイスは、上向きのポーズ(例えば、笑顔の顔面表情を形成する)におけるユーザの口1720の角1720C及び1720Dの一方又は両方を検出し、それに応じて、笑顔の表情を有するようにブタアバター1700を変更する。例えば、電子デバイスは、1711Aに示す中立位置に対して両方が持ち上げられるように、ブタの口1730と鼻1736の位置を変更する。例えば、1712Cでは、電子デバイスは、ブタの鼻1736の上部がブタの目1732の中央又は上に位置するように、ブタの鼻1736を持ち上げる。同様に、電子デバイスは、中立状態のときと同じようにブタの鼻1736に対して同じ相対位置を保持するように、ブタの口1730を持ち上げる。その結果、電子デバイスは、ユーザの笑顔の顔面表情の検出に応じて、ブタの鼻1736とブタの口1730の両方をブタの頭1735の高い位置に表示する。いくつかの実施形態では、電子デバイスはまた、ブタの口1730の形状を調整して、笑顔の表情を形成する(例えば、開いた笑顔の形状)。
1702D及び1712Dに示されるように、電子デバイスは、下向きのポーズ(例えば、悲しい顔面表情)に位置するユーザの口1720の角1720C及び1720Dの一方又は両方を検出し、それに応じて、悲しい表情を有するようにブタアバター1700を変更する。例えば、電子デバイスは、1711Aに示す中立位置に対して両方が下降されるように、ブタの口1730と鼻1736の位置を変更する。例えば、1712Dでは、電子デバイスは、ブタの鼻1736の上部がブタの目1732の下部に又はその下に位置するように、ブタの鼻1736を下降する。同様に、電子デバイスは、中立状態のときと同じようにブタの鼻1736に対して同じ相対位置を保持するように、ブタの口1730を下降する。その結果、電子デバイスは、ユーザの悲しい顔面表情の検出に応じて、ブタの鼻1736とブタの口1730の両方をブタの頭1735の低い位置に表示する。1712Dに示されるようないくつかの実施形態では、電子デバイスはまた、ブタの口1730を下方向に湾曲させることにより悲しい表情を形成するようにブタの口1730の形状も調整する。
図10A~図10I、図11A~図11C、図12A~図12C、図13、図14A~図14D、図15A~図15B、図16A~図16B、及び図17A~図17Bにおいて提供される例では、電子デバイスは、ユーザの物理的特徴の様々な位置の間のユーザ遷移を検出し、その後、検出されたユーザの物理的特徴の変化に応じて、仮想アバター(例えば、プー、クマ、エイリアン、ウサギ、ロボット、ユニコーン、ニワトリ、ブタアバター)を更新又は変更する。これらの例では、電子デバイスは、仮想アバターの特定の特徴の特性を維持し、他の仮想アバター特徴への変化をアニメーション化することにより、様々な表現と位置の間で仮想アバターの表示を遷移する。例えば、図10Aの1001A~1001Dに示されるように、デバイスは、アバターの口1030、眉毛1038、及び上部部分1034などの他のアバター特徴を変更しながら、アバターの目1030の位置を維持する。アバターの状態は、ユーザのそれぞれの検出された状態に対応する(例えば、表示されたアバター状態1011A~1011Dは、それぞれ、検出されたユーザ状態1001A~1001Dに対応する)が、検出されたユーザ状態(及び結果として得られたアバター状態)の順序は、図10A~図10I、図11A~図11C、図12A~図12C、図13、図14A~図14D、図15A~図15B、図16A~図16B、及び図17A~図17Bに示すものに限定されないことを理解されたい。したがって、ユーザは、任意の物理的特徴を変化させたり、又は任意の所望の位置をとったりすることができ、電子デバイスは、発生した順序に関係なく、検出された変化に応じて仮想アバターを変更する。
図18A及び図18Bは、いくつかの実施形態による、1つ以上のカメラによって検出された顔に基づいて仮想アバターを生成するための、電子デバイスにおける方法を示すフロー図である。方法1800は、1つ以上のカメラ(例えば、164、602)及びディスプレイ装置(例えば、112、340、504、601)を備えた電子デバイス(例えば、100、300、500、600)で実行される。方法1800における一部の動作は、任意選択的に組み合わされ、一部の動作の順序は、任意選択的に変更され、一部の動作は、任意選択的に省略される。
以下に説明するように、方法1800は、ポーズの異なるタイプの変化に対して異なる反応を示す部分を有する仮想アバターを生成するための直感的な方法を提供する。本方法は、仮想アバターを生成するためのユーザの物理的及び認識的負担を軽減し、それにより、より効率的なヒューマン-マシンインタフェースを作成する。バッテリ動作式のコンピューティングデバイスの場合、ユーザがユーザアバターをより速くかつより効率的に生成することを可能にすることは、節電し、バッテリ充電の時間間隔を長くする。方法1800の例は、図10A~図10I及び図15A~図15Bを参照して説明したユーザインタフェース及び仮想アバターにおいて見出すことができる。
電子デバイス(例えば、100、300、500、600)は、ディスプレイ装置(例えば、112、340、504、601)を介して、1つ以上のカメラの視野内の顔の変化に応じて外観を変化させる仮想アバター(例えば、1000、1500)(例えば、グラフィカルに描画することができるユーザの表現)を表示する(1802)。1つ以上のカメラの視野内の顔の変化に応じて仮想アバターの外観を変化させると、ユーザに、表示されたユーザインタフェースコントロール(例えば、タッチコントロール)要素を必要とせずに、仮想アバターの変更を制御するオプションを提供する。追加の制御によりユーザインタフェースを雑然とさせることなく追加の制御オプションを提供することにより、デバイスの操作性が改善され、ユーザ-デバイスインタフェースを(例えば、デバイスを操作/対話するときに適切な入力を提供するようにユーザを支援し、ユーザの誤りを削減することによって)更に効率的にし、更に、ユーザがデバイスをより素早く、効果的に使用できるようにすることによって、電力使用量を削減し、デバイスの電池を改善する。
仮想アバターは、第1の部分(例えば、1034、1535)(例えば、頭と顔(例えば、非下首部))、及び第1の部分とは異なる第2の部分(例えば、1036、1539)(例えば、下首(例えば、非頭及び首上部部分))を含む(1804)。
いくつかの例(1814)では、第1の部分(例えば、1034、1535)は、顔のポーズの第1のタイプ(例えば、ユーザの頭、顔としてまとめて解釈される相互に関連する顔の特徴の1つ以上のコレクション(例えば、口、目、鼻、筋肉又は筋肉群))の変化(例えば、X軸(例えば、頭をうなずく)又はY軸(例えば、頭を左右に振る))及び顔のポーズの第2のタイプ(例えば、X、Y、又はZ軸に沿った顔/頭全体の並進移動(例えば、視野内の顔/頭全体の再配置))の変化に反応する(例えば、検出された動きがモデル化され、視覚的見掛け(特に表示される向き)が動きに基づいて更新される)。
いくつかの例では、第2の部分(例えば、1036、1539)は、第1の部分が顔の向きの第1のタイプの変化に反応するよりも反応性を低下している(例えば、第2の部分は、顔の向きの第1のタイプの変化にあまり反応しない)。いくつかの例では、第2の部分は、第1のタイプの検出された向きの変化が直接モデル化されず、視覚的見掛け(特に表示される向き)が検出された移動に基づいて更新されないように、顔の向きの第1のタイプの変化に反応しない。いくつかの例では、第2の部分は、いかなる検出された顔の特徴にもマッピングされない、又はそれによって直接制御されない非顔の特徴(例えば、首)である。いくつかの例では、第2の部分は、第1のタイプの向きの変化に直接反応しないが、顔のポーズの第1のタイプの変化に間接的に反応しかつ顔のポーズの第2のタイプの変化に反応することができる(例えば、第1のタイプの向きの変化によって引き起こされる第1の部分の移動に基づいて、第1の部分と第2の部分との間の接続に基づいて)。いくつかの例では、1つ以上のカメラの視野の平面に対して平行(例えば、X軸、Y軸)又は垂直(例えば、Z軸)な軸に沿って生じるユーザの顔のポーズの変化(例えば、並進移動の変化)は、仮想アバターの第1の部分(例えば、1034又は仮想アバターの頭1535)と仮想アバターの第2の部分(例えば、1036又は仮想アバターの首1539)の両方の移動をもたらす。対照的に、そのような実施形態では、1つ以上のカメラの視野の平面に対して平行(例えば、X軸、Y軸)又は垂直(例えば、Z軸)な軸の周りに生じるユーザの顔のポーズの変化(例えば、回転変化)は、仮想アバターの第2の部分の移動なしで(又はより小さな移動をともなって)仮想アバターの第1の部分の移動をもたらす。仮想アバターの第1の部分と比較して、顔のポーズの第1のタイプの変化に対して仮想アバターの第2の部分に対する反応性が低下しているため、表示されたユーザインタフェースコントロール(例えば、タッチコントロール)要素を必要とせずに仮想アバターの部分に異なる影響を与えるオプションをユーザに提供する。追加の制御によりユーザインタフェースを雑然とさせることなく追加の制御オプションを提供することにより、デバイスの操作性が改善され、ユーザ-デバイスインタフェースを(例えば、デバイスを操作/対話するときに適切な入力を提供するようにユーザを支援し、ユーザの誤りを削減することによって)更に効率的にし、更に、ユーザがデバイスをより素早く、効果的に使用できるようにすることによって、電力使用量を削減し、デバイスの電池寿命を改善する。
いくつかの例では、1つ以上のカメラの視野内で顔のポーズの変化を検出する前に、仮想アバターの第1の部分(例えば、1034、1535)は、仮想アバターの第2の部分(例えば、1036、1539)から視覚的に描写されない(例えば、第1の部分が終了する位置(例えば、頭1535の下部又は首1539の上部)及び第2の部分が開始する位置(例えば、首の上部の下)の視覚的な指示がない)。いくつかの実施形態では、仮想アバターは、半固体物質の山(例えば、プーアバター1000などのプーの山)の表現であり、上部(例えば、1034及び/又は1040)は、顔のポーズの第1のタイプの変化に基づいて移動する一方で、下部(例えば、1036)は、顔のポーズの第1のタイプの変化に基づいて移動しない。
いくつかの例では、仮想アバターの第1の部分(例えば、1034、1535)は、仮想アバターの頭の特徴の少なくとも一部であり、仮想アバターの第2の部分(例えば、1036、1539)は、仮想アバターの首の特徴の少なくとも一部である。いくつかの例では、仮想アバターの第1の部分は、ユニコーン又は馬の頭(例えば、1535)であり、仮想アバターの第2の部分は、ユニコーン又は馬の首(例えば、1539)である。
いくつかの例では、1つ以上のカメラの視野内で顔のポーズの変化を検出する前に、顔は、1つ以上のカメラの視野に対して第1の向きに向けられており(例えば、顔は、1つ以上のカメラに直接面するように向けられている)、1つ以上のカメラの視野内で顔のポーズの変化を検出する前に、仮想アバター(例えば、1500)は、第1の向きとは異なる第2の向きで表示される。いくつかの例では、仮想アバターは、ユーザの顔の向きと比較して斜めの向きで表示される。例えば、ユーザの顔の特徴が見えるように(例えば、図15Aに示すように)ユーザが1つ以上のカメラに直接面している場合、仮想アバター(例えば、1500)は、仮想アバターの一部(例えば、目1532、耳1533などのアバター特徴)が表示されない(例えば、隠される又は部分的に隠される)ように斜めの角度で表示される。いくつかの例では、顔の動きに応じて隠されたアバター特徴のうちの任意の1つ以上が明らかにされる(例えば、顔が横に回転する場合、目1532又は耳1533などの以前に隠されたアバター特徴の少なくとも一部は、図15Aの1511Dに示されるように、ディスプレイ装置を介して表示される)。
いくつかの例では、仮想アバターの第1の部分(例えば、1034、1535又はその一部)(例えば、犬の仮想アバターの耳、馬の仮想アバター(例えば、1500)のたてがみ(例えば、1552))の動き又は仮想アバターの第2の部分(例えば、1036、1539又はその一部)の動きは、1つ以上の物理モデル(例えば、慣性モデル、重力モデル、力伝達モデル、摩擦モデル)にしたがって発生する。いくつかの例では、物理モデルは、顔又は顔の一部の動きの大きさ及び方向、並びに疑似的質量、疑似的弾性、疑似的摩擦係数又は他の疑似的な物理的特性などの仮想アバター特徴の1つ以上の所定の特性に基づいて、アバター特徴の動きの大きさ及び方向を規定する。
いくつかの例(1816)では、第1の部分(例えば、1034、1535)は、仮想アバターの上部部分であり、第2の部分(例えば、1036、1539)は、仮想アバターの下部部分である。いくつかの実施形態では、第1の部分は、仮想アバターの第1の側面であり、第2の部分は、第1の側面とは異なる(例えば反対の)仮想アバターの第2の側面である。
いくつかの例では、顔のポーズの変化は、第1のタイプの変化のみ(例えば、並進成分なしで回転成分のみを含むポーズの変化)を含み、顔のポーズの第1のタイプの変化の大きさに基づく仮想アバターの第2の部分(例えば、1036、1539)に対する仮想アバターの第1の部分(例えば、1034、1535)の移動は、仮想アバターの第2の部分を動かすことなく仮想アバターの第1の部分を動かすことを含む。仮想アバターの第2の部分を動かさずに仮想アバターの第1の部分を動かすことは、同じ物理的特徴を更に動かすことが仮想アバターの第2の部分を動かさずに第1の部分のみをデバイスに動かせることを示すフィードバックをユーザに提供する。ユーザに改善された視覚的フィードバックを提供することは、デバイスの操作性を向上させ、ユーザとデバイスのインタフェースをより効果的にし(例えば、デバイスに意図された結果を発生させる入力を指示するフィードバックを提供することによって、ユーザが、意図された結果を達成することを支援し、デバイスを操作又はそれと対話するとき、ユーザの間違いを低減することによって)、更に、ユーザがデバイスをより素早く、効果的に使用できるようにすることによって、電力使用量を削減し、デバイスの電池寿命を改善する。
いくつかの例では、顔の第1のタイプのポーズの変化(例えば、ポーズの回転変化)は、仮想アバターの第2の部分(例えば、1036、1539)を動かさずに、仮想アバターの第1の部分(例えば、1034、1535)のみを動かす。例えば、カメラの視野内のユーザが身体全体(例えば、図10Dに示す顔、首、肩)を回転させる場合、仮想アバターの第1の部分(例えば、アバターの顔(例えば、1000C、1535)のみが動く(例えば、回転)一方で、仮想アバターの第2の部分(例えば、アバターの首(例えば、1539)又は下部部分(例えば、1036))は動かない。すなわち、仮想アバターの部分は、ユーザの動きに異なって反応する。いくつかの例では、ユーザの一部に解剖学的/生理学的に対応する仮想アバターの一部(例えば、ユーザの首に解剖学的に対応するアバターの首)は、たとえそれらの特徴の動きが追跡されたとしても、対応する特徴の特定の動きに反応しない。いくつかの例では、他の特徴(例えば、ユーザの首(例えば、1025))がカメラの視野内に存在する場合であっても、ユーザの顔(例えば、1024)の動きのみが追跡又は使用され、仮想アバターに影響を与える。
いくつかの例では、仮想アバターは、第1の部分(例えば、1034、1535)及び第2の部分(例えば、1036、1539)とは異なる第3の部分(例えば、首上部部分、1034から1036又は1535から1539の間の又はそれらを接続する部分)を更に含む。図10Eに示すようないくつかの実施形態では、第1の部分は、先端1040であり、第2の部分は、下部部分1036であり、第3の部分は、上部部分の一部(例えば、1034)を形成しかつ上部部分の先端1040を下部部分1036に接続する中間部1031である。更に、顔のポーズの変化が顔のポーズの第1のタイプの変化(例えば、回転運動)を含むという判定に従って、電子デバイス(例えば、100、300、500、600)は、仮想アバターの第2の部分に対して仮想アバターの第3の部分を移動させ、第2の部分に対する第3の部分の移動は、第2の部分に対する第1の部分の移動よりも小さい。第2の部分に対する第1の部分の移動よりも少ない量の仮想アバターの第2の部分に対する仮想アバターの第3の部分の移動は、同じ物理的特徴のさらなる移動が、デバイスが(第2の部分に対して)第1の部分を移動させるよりも小さい度合いでデバイスが(第2の部分に対して)第3の部分を移動させることを示すフィードバックをユーザに提供する。ユーザに改善された視覚的フィードバックを提供することは、デバイスの操作性を向上させ、ユーザとデバイスのインタフェースをより効果的にし(例えば、デバイスに意図された結果を発生させる入力を指示するフィードバックを提供することによって、ユーザが、意図された結果を達成することを支援し、デバイスを操作又はそれと対話するとき、ユーザの間違いを低減することによって)、更に、ユーザがデバイスをより素早く、効果的に使用できるようにすることによって、電力使用量を削減し、デバイスの電池寿命を改善する。
いくつかの例では、回転運動は、仮想アバターの第2の部分(例えば、1036、1539)に対する第1の部分(例えば、1040、1535)の第1の移動の度合いと、仮想アバターの第2の部分に対する第3の部分(例えば、1031)の第2の移動の度合いとをもたらし、第2の移動の度合いは、第1の移動の度合いよりも小さい。いくつかの例では、第2の部分は、いかなる検出された顔の特徴にもマッピングされない、又はそれによって直接制御されない非顔の特徴(例えば、首下部部分(例えば、1036、1539))である。いくつかの例では、第2の部分は、第1のタイプの向きの変化に反応しない。いくつかの例では、第3の部分は、いかなる検出された顔の特徴にもマッピングされない、又はそれによって直接制御されない非顔の特徴(例えば、首上部部分)である。いくつかの例では、第3の部分は、第1の部分と第2の部分との間の接続を提供する。いくつかの例では、顔のポーズの第1のタイプの変化による仮想アバターの変化量は、仮想アバターの第2の部分の近く(例えば、1036の近く)の小さな変化量から仮想アバターの第1の部分の近く(例えば、1040の近く)の大きな変化量まで徐々にスケーリングする。
いくつかの例では、仮想アバターの第3の部分(例えば、首上部部分、1034から1036又は1535から1539の間にある又はそれらを接続する部分)は、仮想アバターの第1の部分(例えば、1040、1535)と仮想アバターの第2の部分(例えば、1036、1539)との間に配置される。いくつかの例では、第3の部分は、仮想アバターの第1の部分に対して移動特性が減衰された仮想アバターの中間領域(例えば、1031又は首上部部分)である。
いくつかの例では、仮想アバターの第2部分(例えば、1036、1539)に対して仮想アバターの第3の部分(例えば、首上部部分、1034から1036又は1535から1539の間の部分又はそれらを接続する部分)を動かせることは、仮想アバターの第1の部分(例えば、1034、1535)と仮想アバターの第2の部分との間に延びる軸(例えば、1051)の周りで仮想アバターの第3の部分を動かせることを含む。仮想アバターの第1の部分と第2の部分の間に延びる軸の周りに仮想アバターの第3の部分を動かせることは、同じ物理的特徴のさらなる移動が、デバイスが仮想アバターの第1の部分と第2の部分との間の軸の周りの第3の部分の動きを制限することを示すフィードバックをユーザに提供する。ユーザに改善された視覚的フィードバックを提供することは、デバイスの操作性を向上させ、ユーザとデバイスのインタフェースをより効果的にし(例えば、デバイスに意図された結果を発生させる入力を指示するフィードバックを提供することによって、ユーザが、意図された結果を達成することを支援し、デバイスを操作又はそれと対話するとき、ユーザの間違いを低減することによって)、更に、ユーザがデバイスをより素早く、効果的に使用できるようにすることによって、電力使用量を削減し、デバイスの電池寿命を改善する。
いくつかの例では、第3の部分(例えば、中間部1031)の動きは、仮想アバターの第1及び第2の部分(例えば、先端1040及び下部1036)の間に延びる軸(例えば、1051)の周りのねじれ運動である。いくつかの例では、第3の部分の動きは、ディスプレイの平面又は1つ以上のカメラの焦点面に平行な軸(例えば、上下軸1051)の周りの回転運動である。いくつかの例では、第3の部分の動きは、ディスプレイの平面又は1つ以上のカメラの焦点面から延びる軸の周りの回転運動である。例えば、ユーザがカメラの視野の平面に垂直な軸の周りに顔を回転させると、ディスプレイの平面から延びる軸の周りに仮想アバターの部分(例えば、第1の部分、第2の部分、及び/又は第3の部分)が回転する。
いくつかの例では、顔のポーズの変化は、第2のタイプの変化のみ(例えば、回転成分なしで並進成分のみを含むポーズの変化)を含み、顔のポーズの第2のタイプの変化の大きさに基づいて仮想アバター第1の部分(例えば、1034、1535)及び仮想アバターの第2の部分(例えば、1036、1539)の両方を動かすことは、仮想アバターの第2の部分の位置に対して仮想アバターの第1の部分の相対位置を維持することを含む。仮想アバターの第2の部分の位置に対して仮想アバターの第1の部分の相対位置を維持することにより、同じタイプの変化のさらなる移動が、デバイスが互いに対して第1及び第2の部分を動かすことなく同じ方向に仮想アバターの第1の部分及び仮想アバターの第2の部分の両方を動かすことを示すフィードバックをユーザに提供する。ユーザに改善された視覚的フィードバックを提供することは、デバイスの操作性を向上させ、ユーザとデバイスのインタフェースをより効果的にし(例えば、デバイスに意図された結果を発生させる入力を指示するフィードバックを提供することによって、ユーザが、意図された結果を達成することを支援し、デバイスを操作又はそれと対話するとき、ユーザの間違いを低減することによって)、更に、ユーザがデバイスをより素早く、効果的に使用できるようにすることによって、電力使用量を削減し、デバイスの電池寿命を改善する。
いくつかの例では、顔の第2のタイプのポーズの変化(例えば、ポーズの並進変化)により、第1及び第2の部分の相対位置が変化しないままであるように(例えば、第1の部分及び第2の部分の動きが第2の部分に対して第1の部分を動かすことなく生じる)、仮想アバターの第1及び第2の部分の両方が同様の大きさで動く。例えば、図10Fに示すように、カメラの視野内のユーザがカメラに対して顔を並進移動する場合(例えば、1006B、1006C、及び1006Dに示すように、1つ以上のカメラの焦点面又はディスプレイの平面に平行なそれぞれの方向に顔1024を偏移する)、第1の部分(例えば、アバターの顔又は上部部分1034)と第2の部分(例えば、アバターの首又は下部部分1036)の両方が移動する(例えば、1016B、1016C、及び1016Dに示すように並進移動する)。すなわち、仮想アバターの部分は、ユーザの顔の並進運動に同様に反応する。
ディスプレイ装置を介して仮想アバターを表示している間、電子デバイス(例えば、100、300、500、600)は、1つ以上のカメラの視野内の顔のポーズ(例えば、位置及び/又は向き)の変化を検出する(1806)。
顔のポーズの変化の検出に応じて、電子デバイス(例えば、100、300、500、600)は、仮想アバターの外観を変化させ(1808)、以下の動作のうちの任意の1つ以上を実行することができる。顔のポーズの変化が顔のポーズの第1のタイプの変化(例えば、顔の向きの変化)を含むという判定に従って、電子デバイス(例えば、100、300、500、600)は、顔のポーズの第1のタイプの変化の大きさに応じて、仮想アバターの第2の部分(例えば、1036、1539)に対する仮想アバターの第1の部分(例えば、1034、1535)の移動を含み、仮想アバターの外観を変化させる(1810)。顔のポーズの第1のタイプの変化の大きさに応じて仮想アバターの第2の部分に対して仮想アバターの第1の部分を動かすと、同じタイプの変化のさらなる動きが、デバイスが同じタイプのさらなる動きの大きさによって決定される量で(第2の部分に対して)仮想アバターの第1の部分を動かすことを示すフィードバックをユーザに提供する。ユーザに改善された視覚的フィードバックを提供することは、デバイスの操作性を向上させ、ユーザとデバイスのインタフェースをより効果的にし(例えば、デバイスに意図された結果を発生させる入力を指示するフィードバックを提供することによって、ユーザが、意図された結果を達成することを支援し、デバイスを操作又はそれと対話するとき、ユーザの間違いを低減することによって)、更に、ユーザがデバイスをより素早く、効果的に使用できるようにすることによって、電力使用量を削減し、デバイスの電池寿命を改善する。
いくつかの例では、表示された視野に対して第2の部分を動かすことなく、第2の部分(例えば、1036、1539)に対する第1の部分(例えば、1034、1535)の動きが生じる。すなわち、図10Eの1015B及び図15Aの1511Dに示すように、第1の部分は、表示される視野内で移動するのに対して、第2の部分は、表示される視野内で固定又は実質的に固定されたままである。いくつかの例では、第1の部分の動きは、Y軸(例えば、表示される縦軸)の周りの回転など、軸の周りの回転運動である。
顔のポーズの変化が顔のポーズの第2のタイプの変化(例えば、顔の位置の変化)を含むという判定に従って、電子デバイス(例えば、100、300、500、600)は、顔のポーズの第2のタイプの変化の大きさに基づいて仮想アバターの第1の部分及び仮想アバターの第2の部分の両方を移動させることを含み、仮想アバターの外観を変化させる(1812)。顔のポーズの第2のタイプの変化の大きさに基づいて仮想アバターの第1の部分及び仮想アバターの第2の部分の両方を動かすと、顔のポーズの同じタイプの変化のさらなる動きが、デバイスが同じタイプのさらなる動きの大きさによって決定される量で仮想アバターの第1の部分及び仮想アバターの第2の部分の両方を動かすことを示すフィードバックをユーザに提供する。ユーザに改善された視覚的フィードバックを提供することは、デバイスの操作性を向上させ、ユーザとデバイスのインタフェースをより効果的にし(例えば、デバイスに意図された結果を発生させる入力を指示するフィードバックを提供することによって、ユーザが、意図された結果を達成することを支援し、デバイスを操作又はそれと対話するとき、ユーザの間違いを低減することによって)、更に、ユーザがデバイスをより素早く、効果的に使用できるようにすることによって、電力使用量を削減し、デバイスの電池寿命を改善する。いくつかの例では、第1の部分及び第2の部分の動きは、X軸(例えば、表示される横軸)などの軸に沿った(例えば、同じ軸に沿った)並進運動である。
いくつかの例(1818)では、顔のポーズの変化が顔のポーズの第1のタイプの変化と顔のポーズの第2のタイプの変化の両方を含むという判定に従って(例えば、図10Cに示すように)、仮想アバターの外観を変化させることは、顔のポーズの第1のタイプの変化の大きさに基づいて仮想アバターの第2の部分(例えば、1036、1539)に対して仮想アバターの第1の部分(例えば、1034、1535)を移動すること(1820)と(例えば、顔の左右の回転に基づく仮想アバターの上部(例えば、1040又は1034)のねじれの減少又は仮想アバターの下部(例えば、1036)のねじれなし)、顔のポーズの第2のタイプの変化の大きさに基づいて仮想アバターの第1の部分と仮想アバターの第2の部分の両方を移動すること(例えば、上、下、左、右などの特定の方向における顔の偏移に基づく仮想アバターの上部(例えば、1040又は1034)及び下部(1036)の移動)とを含む。顔のポーズの第1のタイプの変化の大きさに基づいて仮想アバターの第2の部分に対して仮想アバターの第1の部分を移動し、顔のポーズの第2のタイプの変化の大きさに基づいて仮想アバターの第1の部分と第2の部分の両方を移動することは、第1及び第2のタイプの変化の両方のさらなる動きが、デバイスが第1のタイプのさらなる動きの大きさによって決定される量で(第2の部分に対して)仮想アバターの第1の部分を動かしかつ第2のタイプのさらなる動きの大きさによって決定される量で仮想アバターの第1の部分と仮想アバターの第2の部分の両方を動かすことを示すフィードバックをユーザに提供する。ユーザに改善された視覚的フィードバックを提供することは、デバイスの操作性を向上させ、ユーザとデバイスのインタフェースをより効果的にし(例えば、デバイスに意図された結果を発生させる入力を指示するフィードバックを提供することによって、ユーザが、意図された結果を達成することを支援し、デバイスを操作又はそれと対話するとき、ユーザの間違いを低減することによって)、更に、ユーザがデバイスをより素早く、効果的に使用できるようにすることによって、電力使用量を削減し、デバイスの電池寿命を改善する。
方法1800に関して上述した処理(例えば、図18A~図18B)の詳細はまた、上述した方法及び以下で説明される方法1900、2000、2100、2200、2300、2400、及び2500にも類似の方法で適用可能であることに留意されたい。例えば、方法1800は、任意選択的に、方法800、900、1900、2000、2100、2200、2300、2400、及び2500に関して上述した及び後述する様々な方法の特性のうちの任意の1つ以上を含む。例えば、方法800及び900にしたがってアニメーション化されたアバターを生成、送信、及び受信する方法は、方法1800にしたがって生成された仮想アバター(例えば、ポーズの異なるタイプの変化に対して異なる反応をする部分を有する仮想アバター)を使用することができる。同様に、方法1800にしたがって生成及び/又は変更された仮想アバターは、方法800又は900の仮想アバター生成インタフェース(例えば、804、904)の仮想アバターの表示されたプレビューに含まれてもよい。他の例では、方法1800にしたがって生成された仮想アバター(例えば、ポーズの異なるタイプの変化に対して異なる反応をする部分を有する仮想アバター)もまた、方法800、900、1900、2000、2100、2200、2300、2400、及び2500の仮想アバター生成及び変更方法にしたがって生成されてもよい。例えば、方法1800にしたがって生成された仮想アバターは、1つ以上のアニメーション効果(例えば、1140、1142、1252、1452、1531、1555、1652)を含むことができる。同様に、方法1800にしたがって生成された仮想アバターは、第1(例えば、1122)及び第2(例えば、1120A~B)の物理的特徴の両方の変化に反応する(例えば、1904、1910、1914)アバター特徴(例えば、1133)を含むことができる。簡潔にするために、さらなる例を除外する。
図19は、いくつかの実施形態による、1つ以上のカメラによって検出された顔に基づいて仮想アバターを生成するための、電子デバイスにおける方法を示すフロー図である。方法1900は、1つ以上のカメラ(例えば、164、602)及びディスプレイ装置(例えば、112、340、504、601)を備えた電子デバイス(例えば、100、300、500、600)で実行される。方法1900における一部の動作は、任意選択的に組み合わされ、一部の動作の順序は、任意選択的に変更され、一部の動作は、任意選択的に省略される。
以下に説明するように、方法1900は、ユーザの顔の位置の変化に反応しながら、仮想アバターを生成するための直感的な方法を提供する。本方法は、仮想アバターを生成するためのユーザの認識的負担を軽減し、それにより、より効率的なヒューマン-マシンインタフェースを作成する。バッテリ動作式のコンピューティングデバイスの場合、ユーザがユーザアバターをより速くかつより効率的に生成することを可能にすることは、節電し、バッテリ充電の時間間隔を長くする。方法1900の例は、図11A~図11C、図14A~図14D、及び図17A~図17Bを参照して説明したユーザインタフェース及び仮想アバターにおいて見出すことができる。
電子デバイス(例えば、100、300、500、600)は、ディスプレイ装置(例えば、112、340、504、601)を介して、仮想アバター(例えば、1100、1400、1700)を表示する(1902)。いくつかの例(1904)では、仮想アバターは、第1のアバター特徴(例えば、動物ベースのアバター1100の耳1133、ロボットアバター1400の耳1433、動物ベースのアバター1700の鼻1736)及び第2のアバター特徴(例えば、1132、1440、1730)を含む。第1のアバター特徴は、1つ以上のカメラ(例えば、164、602)の視野内の顔(例えば、1124、1424、1724)の第1の物理的特徴(例えば、1122、1420A/1420B、1722)及び1つ以上のカメラの視野内の顔の第2の物理的特徴の変化に反応する。いくつかの実施形態では、第1の物理的特徴は、眉毛(1122)、単一の顔の筋肉(例えば、皺眉筋又は前頭筋)、又は関連する顔の筋肉の集合(例えば、皺眉筋及び前頭筋を含む眉毛(1122)の動きを制御する筋肉のセット)などの明確に識別されるユーザの顔の特徴であり、第2の物理的特徴は、口(1120)又はユーザの唇の一部(1720A)、単一の顔の筋肉(例えば、大頬骨筋又は上唇挙筋)、又は関連する顔の筋肉の集合(例えば、(例えば、笑顔のときなど)大頬骨筋及び上唇挙筋を含む口の動きを制御する筋肉のセット)などの明確に識別されるユーザの顔の特徴である。1つ以上のカメラの視野内の顔の第1の物理的特徴の変化に反応する第1のアバター特徴を有する仮想アバターを表示すると、表示されたユーザインタフェースコントロール(例えば、タッチコントロール)要素を必要とせずに仮想アバターの一部の変更を制御するオプションをユーザに提供する。追加の制御によりユーザインタフェースを雑然とさせることなく追加の制御オプションを提供することにより、デバイスの操作性が改善され、ユーザ-デバイスインタフェースを(例えば、デバイスを操作/対話するときに適切な入力を提供するようにユーザを支援し、ユーザの誤りを削減することによって)更に効率的にし、更に、ユーザがデバイスをより素早く、効果的に使用できるようにすることによって、電力使用量を削減し、デバイスの電池寿命を改善する。
仮想アバター(例えば、1100、1400、1700)の表示中、電子デバイス(例えば、100、300、500、600)は、1つ以上のカメラ(例えば、164、602)の視野内の顔(例えば、1124、1424、1724)の1つ以上の物理的特徴(例えば、1122、1420A/1420B、1722)の変化(例えば、変位又は移動)を検出する(1906)。
変化が第1の物理的特徴の変化(例えば、ユーザの眉毛(1122、1722)の上下、又はユーザの唇(1420A/1420B)の位置の変化)を含むという判定(1908)に応じて、電子デバイス(例えば、100、300、500、600)は、第1の物理的特徴の変化に基づいて仮想アバター(例えば、1100、1400、1700)の第1のアバター特徴(例えば、1133、1430、1736)を変更し(1910)、第1の物理的特徴の変化に基づいて第2のアバター特徴(例えば、1132、1440、1730)を変更することを取り止める。第1の物理的特徴の変化に基づいて仮想アバターの第1のアバター特徴を変更し、第1の物理的特徴の変化に基づいて第2のアバター特徴を変更することを取り止めることは、同じ物理的特徴のさらなる移動又は同じ物理的特徴に対する変化が、デバイスが第2のアバター特徴を変化させずに第1のアバター特徴を変化させることを示すフィードバックをユーザに提供する。ユーザに改善された視覚的フィードバックを提供することは、デバイスの操作性を向上させ、ユーザとデバイスのインタフェースをより効果的にし(例えば、デバイスに意図された結果を発生させる入力を指示するフィードバックを提供することによって、ユーザが、意図された結果を達成することを支援し、デバイスを操作又はそれと対話するとき、ユーザの間違いを低減することによって)、それにより更に、ユーザがデバイスをより素早く、効果的に使用できるようにすることによって、電力使用を低減し、デバイスの電池寿命を改善する。いくつかの実施形態では、ユーザが眉毛1122を動かす(例えば、上下させる)と、第1のアバター特徴(例えば、アバターの耳1133)は、眉毛の動きに応じて動き、第2のアバター特徴(例えば、アバター1100の目1132)は、眉毛の動きに応じて動かない。
いくつかの実施形態では、第1の物理的特徴(例えば、1122)の変化は、顔の第1の物理的特徴の少なくとも垂直変位(例えば、ユーザが眉毛1122を上下させる)を含み、第1の物理的特徴の変化に基づく第1のアバター特徴(例えば、1133)の変更は、第1のアバター特徴のうちの少なくとも一部の垂直変位(例えば、仮想アバターの頭(例えば、1135)の上部に向かう(上)又はそれから離れる(下)のいずれかの下又は上の垂直移動)及び第1のアバター特徴のうちの少なくとも一部の水平変位(例えば、仮想アバターの頭の上部に向かう(内側)又はそれから離れる(横方向)のいずれかの内側又は横方向の水平移動)のうちの少なくとも一方を含む。第1のアバター特徴のうちの少なくとも一部の垂直変位及び第1のアバター特徴のうちの少なくとも一部の水平変位のうちの少なくとも一方を含む方向に第1のアバター特徴を移動することによって第1の物理的特徴の変化に基づいて第1のアバター特徴を変更することは、同じ物理的特徴のさらなる移動が、デバイスが第1のアバター特徴を水平及び垂直方向のうちの少なくとも一方に移動させることを示すフィードバックをユーザに提供する。ユーザに改善された視覚的フィードバックを提供することは、デバイスの操作性を向上させ、ユーザとデバイスのインタフェースをより効果的にし(例えば、デバイスに意図された結果を発生させる入力を指示するフィードバックを提供することによって、ユーザが、意図された結果を達成することを支援し、デバイスを操作又はそれと対話するとき、ユーザの間違いを低減することによって)、更に、ユーザがデバイスをより素早く、効果的に使用できるようにすることによって、電力使用量を削減し、デバイスの電池寿命を改善する。
いくつかの例では、ユーザが眉毛(例えば、1122)を上げると、眉毛は、ユーザの頭の上部に向かって垂直方向に(例えば、上向き又は上方向に)移動する。このユーザの眉毛の上向き(例えば、上)の垂直方向の動きに応じて、仮想アバターの耳(例えば、クマアバター1100の耳1133)は、アバターの頭(例えば、1135)の上部に向かう方向に移動する。いくつかの例では、アバターの頭の上部に向かう移動の方向は、上(例えば、上向き)の垂直変位(例えば、耳がアバターの頭の側部に位置する場合)、内側の水平変位(例えば、耳がアバターの頭の上部に位置する場合)、又はその組み合わせを含む。いくつかの例では、ユーザが眉毛(例えば、1122)を下げると、眉毛は、ユーザの頭の上部から離れて垂直方向に(例えば、下向き又は下方向に)移動する。ユーザの眉毛のこの下方向(例えば、下)の垂直移動に応じて、仮想アバターの耳(例えば、1133)は、アバターの頭の上部から離れる方向に移動する。いくつかの例では、アバターの頭の上部から離れる移動の方向は、下(例えば、下向き)の垂直変位(例えば、耳がアバターの頭の側部に位置する場合)、横方向の水平変位(例えば、耳がアバターの頭の上部に位置する場合)、又はそれらの組み合わせを含む。
いくつかの実施形態では、第1の物理的特徴(例えば、ユーザの口1120)の変化は、顔の第1の物理的特徴の少なくとも変位(例えば、水平又は垂直変位(例えば、並進移動))を含む。例えば、ユーザの口1120の角1120A及び1120Bは、垂直方向に(例えば、中立的な静止位置でのユーザの口の角の位置と比較した場合、ユーザの頭の下部に向かって下方向(例えば、ユーザの顎)に、又はユーザの頭の上部に向かって上方向に)変位する位置を有する。そのような実施形態では、第1の物理的特徴の変化に基づいて仮想アバター(例えば、1100)の第1のアバター特徴(例えば、仮想アバターの耳1133)を変更することは、第1のアバター特徴の少なくとも一部を回転(例えば、カール、カール解除、折り畳み、展開など)させることを含む。第1の物理的特徴の変化に基づいて、第1のアバター特徴の少なくとも一部を回転させると、同じ物理的特徴のさらなる移動によってデバイスが第1のアバター特徴を回転方向に移動させることを示すフィードバックをユーザに提供する。ユーザに改善された視覚的フィードバックを提供することは、デバイスの操作性を向上させ、ユーザとデバイスのインタフェースをより効果的にし(例えば、デバイスに意図された結果を発生させる入力を指示するフィードバックを提供することによって、ユーザが、意図された結果を達成することを支援し、デバイスを操作又はそれと対話するとき、ユーザの間違いを低減することによって)、更に、ユーザがデバイスをより素早く、効果的に使用できるようにすることによって、電力使用量を削減し、デバイスの電池寿命を改善する。
いくつかの例では、第1のアバター特徴の遠位端(例えば、仮想アバターの耳1133の先端)は、第1のアバター特徴の遠位端と第1のアバター特徴の近位端(例えば、アバターの耳1133の付け根)との間に延びる軸に沿った方向に回転し、回転方向は、顔の第1の物理的特徴の少なくとも一部の垂直変位にしたがって決定される。いくつかの例では、ユーザが口の角(例えば、1120A/1120B)を上げると(例えば、笑顔の表情で)、仮想アバター(例えば、1100)の耳(例えば、1133)の先端は、アバターの耳の付け根から延びる方向に展開する又はカールしない方法で移動する。いくつかの例では、ユーザが口の角を下げると(例えば、悲しい表情で)、仮想アバターの耳の先端は、(例えば、図11Bの1102D及び1112Dに示すように)アバターの耳の付け根に向かう方向に折り畳まれ又はカールする方法で移動する。
いくつかの実施形態では、第1のアバター特徴は、アバターの耳(例えば、1133)を含み、第1の物理的特徴は、ユーザの口(例えば、1120)の少なくとも角領域(例えば、1120A又は1120B)を含み、第1の物理的特徴の変化は、少なくともユーザの口の少なくとも角領域の変位を含み、第1の物理的特徴の変化に基づいて第1のアバター特徴を変更することは、ユーザの口の少なくとも角領域の変位の大きさに基づいてアバターの耳の少なくとも一部を回転させることを含む。そのような実施形態の一例は、1102A及び1112Aに示されており、アバターの耳のカール(例えば、回転)がユーザの口の角の動きによって制御されることを示す図11Bに関して上記でより詳細に説明されている。
いくつかの実施形態では、第2の物理的特徴は、ユーザの眉毛(例えば、1122)の少なくとも一部を含み、顔の1つ以上の物理的特徴の変化は、ユーザの眉毛の位置の垂直偏移を含み、第2の物理的特徴の変化に基づく第1のアバター特徴(例えば、1133)の変更は、アバターの耳(例えば、1133)の位置を垂直方向に偏移することを含む(例えば、仮想アバターの頭の上部に向かう(上)又はそれから離れる(下)のいずれかの上下の垂直移動)。いくつかの例では、アバターの耳は、ユーザの口(例えば、1120)の角(例えば、1120A及び/又は1120B)とユーザの眉毛(例えば、1122)の両方に反応する。いくつかのそのような実施形態では、ユーザの口の角がアバターの耳のカール(例えば、回転)を制御し、ユーザの眉毛がアバターの耳の位置(例えば、垂直位置)を制御する。
いくつかの実施形態では、第1のアバター特徴は、アバターの耳(例えば、1133)を含み、第1の物理的特徴は、ユーザの眉毛(例えば、1122)の少なくとも一部を含み、顔の1つ以上の物理的特徴の変化は、ユーザの眉毛の位置の垂直偏移を含み、第1の物理的特徴の変化に基づく仮想アバター(例えば、1100)の第1のアバター特徴の変更は、アバターの耳の位置を水平に偏移することを含む。いくつかの例では、ユーザの眉毛が上に移動すると、アバターの耳が内側に偏移する。そのような実施形態の例は、1101B及び1111Bに示されており、図11Aに関して上記でより詳細に説明されている。いくつかの例では、ユーザの眉毛が下に移動すると、アバターの耳が外側に偏移する(例えば、ユーザの眉毛(例えば、1122)が上昇位置から下降すると、アバターの耳は、外側方向において内側位置(例えば、1111Bに示すように)から中立位置(例えば、1111Aに示すように)へと移動する)。いくつかの例では、アバターは、それぞれのユーザの眉毛に反応する2つの耳を有する。そのような実施形態では、両方のユーザの眉毛を上げると、両方の耳が内側に偏移し、耳の間の間隔が狭くなる。
変化が第2の物理的特徴の変化(例えば、ユーザの口1120の角1120A及び1120Bの上昇又は下降)を含むという判定(1912)に応じて、電子デバイス(例えば、100、300、500、600)は、第2の物理的特徴の変化に基づいて第1のアバター特徴(例えば、1133)を変更し(1914)、第2の物理的特徴の変化に基づいて第2のアバター特徴(例えば、1132)を変更することを取り止める。第2の物理的特徴の変化に基づいて第1のアバター特徴を変更し、第2の物理的特徴の変化に基づいて第2のアバター特徴を変更することを取り止めることは、同じ物理的特徴のさらなる移動又は同じ物理的特徴に対する変化が、デバイスが第2のアバター特徴を変化させずに第1のアバター特徴を変化させることを示すフィードバックをユーザに提供する。ユーザに改善された視覚的フィードバックを提供することは、デバイスの操作性を向上させ、ユーザとデバイスのインタフェースをより効果的にし(例えば、デバイスに意図された結果を発生させる入力を指示するフィードバックを提供することによって、ユーザが、意図された結果を達成することを支援し、デバイスを操作又はそれと対話するとき、ユーザの間違いを低減することによって)、更に、ユーザがデバイスをより素早く、効果的に使用できるようにすることによって、電力使用量を削減し、デバイスの電池寿命を改善する。
いくつかの実施形態では、ユーザが口(1120)の角(1120A及び1120B)を移動(例えば上下)させると、口の角の移動に応じて第1のアバター特徴(例えば、アバターの耳1133)が移動し、第2のアバター特徴(例えば、アバター1100の目1132)は、口の角の移動に応じて動かない。
いくつかの実施形態では、第2のアバター特徴(例えば、1132)は、第1の物理的特徴及び第2の物理的特徴とは異なる第3の物理的特徴(例えば、1123)の変化に反応する。第1の物理的特徴及び第2の物理的特徴とは異なる第3の物理的特徴の変化に反応する第2のアバター特徴を有する仮想アバターを表示すると、表示されたユーザインタフェースコントロール(例えば、タッチコントロール)要素を必要とせずに仮想アバターの第2の部分の変更を制御するオプションをユーザに提供する。追加の制御によりユーザインタフェースを雑然とさせることなく追加の制御オプションを提供することにより、デバイスの操作性が改善され、ユーザ-デバイスインタフェースを(例えば、デバイスを操作/対話するときに適切な入力を提供するようにユーザを支援し、ユーザの誤りを削減することによって)更に効率的にし、更に、ユーザがデバイスをより素早く、効果的に使用できるようにすることによって、電力使用量を削減し、デバイスの電池寿命を改善する。
例えば、第2のアバター特徴(例えば、アバターの目1132)は、第1の物理的特徴(例えば、ユーザ眉毛1122)の変化及び第2の物理的特徴(例えば、ユーザの口1120)の変化に主に反応する。換言すれば、第2のアバター特徴は、顔の特徴(例えば、第1及び第2の物理的特徴1122及び1120)の変化に基づいて直接変更されないが、顔の変化に直接反応するアバターの他の変化の影響を受けることがある。例えば、アバター特徴(例えば、1132)は、物理的特徴(1123)の位置、移動特性、サイズ、色、及び/又は形状のうちの任意の1つ以上に基づいてモデル化される。顔の1つ以上の物理的特徴の変化が顔の第3の物理的特徴の変化を含むという判定に従って(例えば、虹彩又は瞼などの明確に識別されたユーザの顔の特徴、単一の顔の筋肉(例えば、眼輪筋)、又は関連する顔の筋肉のコレクション(例えば、眼輪筋を含む瞼の動きを制御する筋肉のセット))、電子デバイスは、第3の物理的特徴の変化に基づいて第2のアバター特徴を変更する。第3の物理的機能の変化に基づいて第2のアバター特徴を変更すると、表示されたユーザインタフェースコントロール(例えば、タッチコントロール)要素を必要とせずに、仮想アバターの一部の変更を制御するオプションをユーザに提供する。ユーザに改善された視覚的フィードバックを提供することは、デバイスの操作性を向上させ、ユーザとデバイスのインタフェースをより効果的にし(例えば、デバイスに意図された結果を発生させる入力を指示するフィードバックを提供することによって、ユーザが、意図された結果を達成することを支援し、デバイスを操作又はそれと対話するとき、ユーザの間違いを低減することによって)、更に、ユーザがデバイスをより素早く、効果的に使用できるようにすることによって、電力使用量を削減し、デバイスの電池寿命を改善する。
いくつかの実施形態では、第1のアバター特徴(例えば、1133)は、第1の物理的特徴(例えば、1122)及び第2の物理的特徴(例えば、1120)のうちの少なくとも一方と解剖学的に区別され、第2のアバター特徴(例えば、1132)は、第3の物理的特徴(例えば、1123)に解剖学的に対応する。換言すれば、第1のアバター特徴は、第1の物理的特徴(例えば、1122)又は第2の物理的特徴(例えば、1120)に解剖学的/生理学的に対応しない。いくつかの実施形態では、第1のアバター特徴は、動物ベースの仮想アバター(例えば、1100)の耳(例えば、1133)であり、第1の物理的特徴は、眉毛(例えば、1122)であり、第2の物理的特徴は、口(例えば、1120)である。いくつかの例では、第2のアバター特徴は、第3の物理的特徴(例えば、ユーザの目1123)に解剖学的/生理学的に対応するアバターの目(例えば、1132)である。いくつかの実施形態では、第1のアバター特徴(例えば、アバターの耳1133)は、解剖学的に第4の物理的特徴(例えば、ユーザの耳)に対応する。いくつかの実施形態では、第4の物理的特徴(例えば、ユーザの耳)に解剖学的に対応するにもかかわらず、第1のアバター特徴(例えば、アバターの耳1133)は、第4の物理的特徴の変化に反応しない(例えば、無反応)。例えば、第1のアバター特徴は、ユーザの口(例えば、1120)及び眉毛(例えば、1122)の変化に反応するが、ユーザの耳の動きには反応しないアバターの耳(例えば、1133)である。
いくつかの実施形態では、第3の物理的特徴(例えば、1123)の変化に基づいて第2のアバター特徴(例えば、1132)を変更することは、第3の物理的特徴の変化の大きさに基づいて第2のアバター特徴を変更することを含む。第3の物理的特徴の大きさの変化に基づいて第2のアバターを変更すると、同じ物理的特徴のさらなる動きが、物理的特徴が同じタイプのさらなる動きの大きさによって決定される量で第2のアバター特徴を変化させることを示すフィードバックをユーザに提供する。ユーザに改善された視覚的フィードバックを提供することは、デバイスの操作性を向上させ、ユーザとデバイスのインタフェースをより効果的にし(例えば、デバイスに意図された結果を発生させる入力を指示するフィードバックを提供することによって、ユーザが、意図された結果を達成することを支援し、デバイスを操作又はそれと対話するとき、ユーザの間違いを低減することによって)、更に、ユーザがデバイスをより素早く、効果的に使用できるようにすることによって、電力使用量を削減し、デバイスの電池寿命を改善する。
いくつかの実施形態では、アバター特徴の反応の大きさは、ユーザの物理的特徴の変化の大きさに対応する。いくつかの実施形態では、物理的特徴の変化の大きさは、物理的特徴の潜在的な動きの範囲に応じて決定され、大きさは、その物理的特徴の動きの範囲(例えば、予測された又はモデル化された動きの範囲)内の物理的特徴の相対位置を表す。そのような実施形態では、アバター特徴の反応の大きさは、同様に、アバター特徴の動きの範囲内のアバター特徴の相対位置である。いくつかの実施形態では、変化の大きさは、変化による物理的特徴の開始位置と終了位置の比較又は測定(例えば、距離)に基づいて決定される。そのような実施形態では、物理的特徴(例えば、第1の物理的特徴(例えば、1122))の変化は、(例えば、直接的に又はスケーリング若しくは調整された値として)物理的特徴の変化の測定値をアバター特徴に適用することにより、第1のアバター特徴(例えば、1133)の変更に変換されることができる。
いくつかの実施形態では、第2の物理的特徴(例えば、1120)の変化に基づいて仮想アバター(例えば、1100)の第2のアバター特徴(例えば、1132)を変更することは、第3の物理的特徴(例えば、1123)のポーズの変化の方向(例えば、回転方向、1つ以上のカメラの視野に対する物理的特徴の角度の変化の方向、又は並進移動の方向)に基づく第2のアバター特徴の少なくとも一部のポーズ(例えば、回転方向、アバター特徴が表示される角度、又は表示位置)を変更することを含む。第3の物理的特徴のポーズの変化の方向に基づいて、第2のアバター特徴の少なくとも一部のポーズを変更すると、特定の方向への第3の物理的特徴のさらなる移動が、デバイスが第3の物理的特徴のさらなる動きの方向に基づいて第2のアバター特徴のポーズを変化させることを示すフィードバックをユーザに提供する。ユーザに改善された視覚的フィードバックを提供することは、デバイスの操作性を向上させ、ユーザとデバイスのインタフェースをより効果的にし(例えば、デバイスに意図された結果を発生させる入力を指示するフィードバックを提供することによって、ユーザが、意図された結果を達成することを支援し、デバイスを操作又はそれと対話するとき、ユーザの間違いを低減することによって)、更に、ユーザがデバイスをより素早く、効果的に使用できるようにすることによって、電力使用量を削減し、デバイスの電池寿命を改善する。
いくつかの例では、アバター特徴に対する変更は、大きさ成分と方向成分の両方を有する。いくつかの例では、アバター特徴の変更の方向成分は、アバター特徴が反応する1つ以上の物理的特徴の変化の方向成分に基づいている。いくつかの例では、アバター特徴の変化の方向成分は、物理的特徴の変化の方向成分と同じである。例えば、図17Bの1702D及び1712Dに示されるように、物理的特徴(例えば、口1720)が下に移動すると、アバター特徴(例えば、アバターの口1730)が下に移動する。いくつかの例では、アバター特徴の変化の方向成分は、物理的特徴の変化の方向成分に対して鏡映される。例えば、図17Bの1702A/1712A及び1702B/1712Bに示されるように、物理的特徴(例えば、口1420)が左に移動すると、アバター特徴(例えば、アバターの口1430)は右に移動し、逆もまた同様である。図11A~図11B、図14A~図14D、及び図17Bに示すようないくつかの例では、アバター特徴の変化の方向成分は、鏡で見たときに見られる効果と同様に、縦軸に沿った動きの物理的特徴の変化の方向成分と同じであり、横軸に沿った動きに対して鏡映される。
いくつかの例では、物理的特徴(例えば、ユーザの虹彩(例えば、1423A)又は瞼)の相対位置の変化は、物理的特徴の中立的な静止位置から決定される方向にある。いくつかの例では、ユーザの虹彩の中立的な静止位置は、ユーザの眼球の周辺部に対して特定の位置(例えば、中央)に決定される。いくつかの例では、アバター特徴の反応の方向は、ユーザの物理的特徴の変化の相対方向に(例えば、直接的に又は逆に)対応する。いくつかの例では、物理的特徴の変化の相対方向は、物理的特徴の中立的な静止位置からの物理的特徴の移動方向に基づいて決定される。いくつかの例では、アバター特徴の反応の方向は、物理的特徴の変化の相対的な方向に直接対応する(例えば、物理的特徴が上に移動し、アバター特徴が上に移動する)。いくつかの例では、アバター特徴の反応の方向は、物理的特徴の変化の相対的な方向に逆に対応する(例えば、物理的特徴が上に移動し、アバター特徴が下に移動する)。
いくつかの実施形態では、第1のアバター特徴は、アバターの口(例えば、1430)を含み、第2のアバター特徴は、アバターの歯(例えば、1440)の少なくとも一部を含む。例えば、図14Cに示す実施形態では、アバターの歯(例えば、1440)は、アバターの口(例えば、1430)の周囲内の歯の上部部分セット(例えば、1440A)及び歯の下部部分セット(例えば、1440B)として表示され、垂直方向の歯の移動(例えば、アバターの口を開閉することを表す-アバターの口を動かすことなく)は、図14Cの1413Cに示すように、アバターの歯の上下部分のセット間の垂直間隔(例えば、1441)を増減することで示される。いくつかの実施形態では、第1の物理的特徴は、ユーザの唇(例えば、1420A又は1420B)の少なくとも一部を含み、第3の物理的特徴は、ユーザの口(例えば、1420C及び1420D)の少なくとも一部を含み、第1の物理的特徴の変化は、第1の位置(例えば、1401A)から第2の位置(例えば、1403A)へのユーザの唇の少なくとも一部の変位を含み、第1の物理的特徴の変化に基づく仮想アバターの第1のアバター特徴の変更は、ユーザの唇の少なくとも一部の第2の位置に基づいてアバターの口(例えば、1430)の形状を変更することを含む。例えば、アバターの口(例えば、1430)は、垂直方向に移動しない(例えば、開閉)。代わりに、アバターの口(例えば、1430)の変化は、アバターの口の形状を変化させることによって示され(例えば、アバターの口の形に関連付けられた表情を示すために)、アバターの口の形状の変化は、ユーザの唇(例えば、1420A及び1420B)における変化によって促進される。
いくつかの例では、口は台形を形成し(例えば、1413A又は1413Bに示されるように)、ひそめた眉毛又は笑顔を示している。例えば、台形は、台形の上縁部(例えば、1430U)が台形の下縁部(例えば、1430L)よりも長い場合、笑顔(例えば、1413A)に対応し、台形は、台形の上縁部が台形の下縁部よりも短い場合、眉毛をひそめること(例えば、1413B)に対応する。いくつかの例では、口は、円形(例えば、1414Dの1430)を形成し、すぼめた表情又は驚く表情を示す。
図14Cに示すようないくつかの実施形態では、第3の物理的特徴の変化は、ユーザの口の少なくとも一部を開閉することを含み、第3の物理的特徴の変化に基づいて第2のアバター特徴を変更することは、アバターの歯の第1の部分(例えば、上歯1440Aのセット)とアバターの歯の第2の部分(例えば、下歯1440Bのセット)との間の垂直方向の間隔(例えば、1441)を変更することを含み、垂直方向の間隔の大きさは、ユーザの口の少なくとも一部の開閉の大きさに基づいている(例えば、1420C及び1420D)。いくつかの実施形態では、上下の歯セット間の垂直間隔1441は、アバターの口1430の形状を調整することなく、アバターの歯の上部部分のセットとアバターの歯の下部部分のセットとの間の開口を示す。いくつかの例では、上歯と下歯の間の間隔を使用して、仮想アバターによる会話動作をシミュレートすることができる(例えば、仮想アバターがロボット1400である場合)。
いくつかの実施形態では、第1の物理的特徴の変化に基づいて仮想アバター(例えば、1100)の第1のアバター特徴(例えば、1133)を変更する電子デバイス(例えば、100、300、500、600)は、第1の物理的特徴の変化の大きさ(例えば、第1の物理的特徴(例えば、1122)の位置の変化の度合い)に基づいて第1のアバター特徴を変更することを含み、第2の物理的特徴(例えば、1120)の変化に基づいて第1のアバター特徴を変更することは、第2の物理的特徴の変化の大きさに基づいて第1のアバター特徴を変更することを含む。いくつかの実施形態では、変化の大きさは、物理的特徴の開始位置及び終了位置に基づいて決定される(例えば、1122又は1120)。いくつかの実施形態では、変化の大きさは、変化の最大範囲内の変化の割合として決定される。
いくつかの実施形態では、第1の物理的特徴(例えば、1122)の変化に基づいて仮想アバター(例えば、1100)の第1のアバター特徴(例えば、1133)を変更することは、第1の物理的特徴のポーズの変化の方向(例えば、回転方向、1つ以上のカメラの視野に対する物理的特徴の角度の変化の方向、又は並進移動方向)に基づいて第1のアバター特徴の少なくとも一部のポーズ(例えば、回転方向、第1のアバター特徴が表示される角度、又は表示位置)を変更することを含む。第1の物理的特徴のポーズの変化の方向に基づいて、第1のアバター特徴の少なくとも一部のポーズを変更すると、特定の方向への第1の物理的特徴のさらなる移動が、デバイスが第1の物理的特徴のさらなる動きの方向に基づいて第1のアバター特徴のポーズを変化させることを示すフィードバックをユーザに提供する。ユーザに改善された視覚的フィードバックを提供することは、デバイスの操作性を向上させ、ユーザとデバイスのインタフェースをより効果的にし(例えば、デバイスに意図された結果を発生させる入力を指示するフィードバックを提供することによって、ユーザが、意図された結果を達成することを支援し、デバイスを操作又はそれと対話するとき、ユーザの間違いを低減することによって)、更に、ユーザがデバイスをより素早く、効果的に使用できるようにすることによって、電力使用量を削減し、デバイスの電池寿命を改善する。
いくつかの実施形態では、第2の物理的特徴(例えば、1120)の変化に基づいて仮想アバターの第1のアバター特徴(例えば、1133)を変更することは、第2の物理的特徴のポーズの変化の方向(例えば、回転方向、1つ以上のカメラの視野に対する物理的特徴の角度の変化の方向、又は並進移動方向)に基づいて第1のアバター特徴の少なくとも一部のポーズ(例えば、回転方向、第1のアバター特徴が表示される角度、又は表示位置)を変更することを含む。第2の物理的特徴のポーズの変化の方向に基づいて、第1のアバター特徴の少なくとも一部のポーズを変更すると、特定の方向への第2の物理的特徴のさらなる移動が、デバイスが第2の物理的特徴のさらなる動きの方向に基づいて第1のアバター特徴のポーズを変化させることを示すフィードバックをユーザに提供する。ユーザに改善された視覚的フィードバックを提供することは、デバイスの操作性を向上させ、ユーザとデバイスのインタフェースをより効果的にし(例えば、デバイスに意図された結果を発生させる入力を指示するフィードバックを提供することによって、ユーザが、意図された結果を達成することを支援し、デバイスを操作又はそれと対話するとき、ユーザの間違いを低減することによって)、更に、ユーザがデバイスをより素早く、効果的に使用できるようにすることによって、電力使用量を削減し、デバイスの電池寿命を改善する。
いくつかの実施形態では、顔の1つ以上の物理的特徴の変化は、第1の大きさの第1の物理的特徴(例えば、1122)の変化及び第2の大きさの第2の物理的特徴(例えば、1120)の変化を含み、仮想アバター(例えば、1100)の第1のアバター特徴(例えば、1133)を変更することは、第1の大きさと第2の大きさの両方に基づく変更の大きさによって第1のアバター特徴を変更することを含む。そのような実施形態の一例は、1101D及び1111Dに示されており、図11Aに関して上記でより詳細に説明されている。いくつかの例では、変更の大きさは、第1の大きさと第2の大きさの合計である。いくつかの例では、変更の大きさは、第1の大きさと第2の大きさの加重和に基づいている。例えば、第1の物理的特徴の変化の大きさは、第2の大きさと比較して、変更の大きさに対してより大きな効果(例えば、1×又は2×)効果を有することができる。
いくつかの実施形態では、第1のアバター特徴は、アバターの目(例えば、1432B)を含み、第1の物理的特徴は、ユーザの目(例えば、1423)の少なくとも一部を含み、第2の物理的特徴は、ユーザの眉毛(例えば、1422)の少なくとも一部を含み、第1の物理的特徴の変化は、ユーザの目の虹彩部分(例えば、1423A)の変位(例えば、図14Aの1401B及び1401Cに示すように、ユーザが特定の方向を見るために目を動かすときの視線の変化又はユーザの虹彩(例えば、1423A)の並進移動)と、ユーザの目の少なくとも一部のサイズの変化(例えば、図14Bの1402A及び1402Bに示されるユーザの目(例えば、1423)の可視量の変化)(例えば、目の開放性の大きさ(例えば、最大範囲の割合))とのうちの少なくとも一方を含み、第2の物理的特徴の変化は、ユーザの眉毛(例えば、1422)の少なくとも一部の少なくとも垂直変位を含む。そのような実施形態では、第1の物理的特徴の変化に基づいて第1のアバター特徴を変更することは、第1の物理的特徴の変化が、ユーザの目の虹彩部分(例えば、1423A)の変位を含むとき(例えば、1401B及び1401Cに示されるように)、アバターの目の少なくとも一部を並進移動することを含む(例えば、アバターの目(例えば、1432A)は、1411B及び1411Cに示されるように特定の方向に見える)。
いくつかの実施形態では、第1の物理的特徴の変化に基づいて第1のアバター特徴を変更することは、第1の物理的特徴の変化がユーザの目の少なくとも一部のサイズの変化を含む場合(例えば、目の開放性の大きさ(例えば、最大範囲の割合))、アバターの目の少なくとも一部のサイズを調整することを含む(例えば、アバターの目の虹彩部分(例えば、1432B)のサイズは、(例えば、1402A、1402B、1412A、及び1412Bに示されるように)ユーザの目のサイズ(例えば、開放性)の変化によって増減する)。いくつかの例では、アバターは、ロボット(例えば、1400)であり、ロボットの目は、カメラシャッターを模倣し、アバターの目の虹彩(例えば、1432B)は、カメラシャッターのアパーチャに対応する。そのような実施形態では、アバターの目の虹彩部分のサイズの増減は、カメラシャッターのアパーチャを調整するのと同様の方法でロボットの目に形成されたアパーチャを増減することによって引き起こされる。
いくつかの実施形態では、第2の物理的特徴の変化に基づいて第1のアバター特徴を変更することは、アバターの目(例えば、1431)の少なくとも一部の回転の度合いを調整することを含み、回転の度合いは、少なくともユーザの眉毛(例えば、1422)の一部の垂直変位に基づいている。例えば、アバターがロボット(例えば、1400)である場合、アバターの目は、アバターの目(例えば、1432)に組み込まれるアバターの疑似眉毛を表す線(例えば、アバターの目が中立的な静止位置にあるときの水平線(例えば、1431))を含む。いくつかの例では、アバターの目(例えば、1432)の回転は、線(例えば、1431)の位置の回転によって表され、線の回転した位置は、ロボットアバターの眉毛の位置を示すために使用することができる。いくつかの例では、アバターの目(及び線)が回転又は傾斜する度合いは、ユーザの眉毛の垂直変位の大きさに基づいて決定される。
いくつかの実施形態では、第1のアバター特徴は、アバターの鼻(例えば、1736)の少なくとも一部を含み、第1の物理的特徴は、ユーザの眉毛(例えば、1722)の少なくとも一部を含み、第2の物理的特徴は、少なくともユーザの唇(例えば、1720A)の一部を含み、第1の物理的特徴の変化は、ユーザの眉毛の少なくとも一部の少なくとも垂直変位(例えば、1701Bに示す)を含み、第1の物理的特徴の変化に基づいて仮想アバターの第1のアバター特徴を変更することは、ユーザの眉毛(例えば、ユーザの眉毛(例えば、1722))の少なくとも一部の垂直変位の方向に基づいてアバターの鼻の位置を変更することを含み、1701Bに示すように、眉毛が冷笑的なポーズの一部を形成するとき、ユーザの頭の上部から離れて下方向に移動し、アバターの鼻の位置は、ユーザの眉毛の少なくとも一部の垂直変位の方向に基づいて(例えば、逆に関連して)決定される方向に変更される。例えば、眉毛が下方向に移動すると、アバターの鼻(例えば、1736)は、アバターの頭の上部(例えば、1735)に向かって上方向に持ち上げられる。いくつかの実施形態では、第2の物理的特徴の変化は、(例えば、ユーザの口又は唇を左右方向に動かすとき(1702A及び1702Bに示すように))ユーザの唇の少なくとも一部の水平変位と、(例えば、ユーザの唇(例えば、上唇1720A)を1701Bに示すように冷笑的なポーズに持ち上げたとき)ユーザの唇の少なくとも一部の垂直変位とのうちの少なくとも一方を含み、第2の物理的特徴の変化に基づいて仮想アバターの第1のアバター特徴を変更することは、ユーザの唇の少なくとも一部の水平変位の方向及び少なくともユーザの唇の少なくとも一部の垂直変位の方向のうちの少なくとも一方に基づいてアバターの鼻の位置を変更することを更に含み、アバターの鼻の位置は、ユーザの唇の少なくとも一部の水平変位の方向に対応する方向に更に変更される。例えば、ユーザの唇(例えば、上唇1720A及び/又は下唇1720B)がユーザの顔の側面(例えば、1702A及び1702Bに示すように左又は右)に引っ張られると、ユーザの唇は、左又は右の水平変位を有し、アバターの鼻は、ユーザの唇の左/右方向に対応する方向に移動する(1712A及び1712Bに示されるように)。いくつかの例では、アバターの鼻のこの動きは、鏡映方向に移動することによるユーザの唇の水平方向の動きに対応し(例えば、(1702Aに示す視野の視点から)ユーザの唇がユーザの顔の右側に移動する場合、アバターの鼻は、(1712Aに示すように)アバターの顔の左側に向かう方向に移動し、その逆も同様である)、ユーザの唇の少なくとも一部の垂直変位の方向に対応する方向において(例えば、ユーザの唇(例えば、上唇1720A)が冷笑的なポーズで持ち上げられたとき(1701Bに示すように)、唇は、ユーザの頭の上部に向かう方向に垂直変位を有する)、1711Bに示すように、アバターの鼻はまた、アバターの頭1735の上部に向かって対応する方向に移動する。
いくつかの実施形態では、第1のアバター特徴は、アバターの髪の特徴(例えば、たてがみ1552)を含み、第1の物理的特徴は、ユーザの眉毛(例えば、1522)の少なくとも一部を含み、第2の物理的特徴は、ユーザの頭(例えば、1528)を含み、第1の物理的特徴の変化は、ユーザの眉毛の少なくとも一部の少なくとも垂直変位(例えば、1501Cに示す)を含み、第2の物理的特徴の変化は、ユーザの頭(例えば、1501D)のポーズ(例えば、X(例えば、頭のうなずき)又はY(例えば、頭を左右に振る)軸に沿った回転)を含む。この実施形態では、第1の物理的特徴の変化に基づいて仮想アバターの第1のアバター特徴を変更することは、少なくともユーザの眉毛の一部の垂直変位の方向に基づいて少なくともアバターの髪(例えば、たてがみ)の特徴の一部を変位させることを含む。例えば、1501Cでは、ユーザの眉毛がユーザの頭の下部から上方向に移動し、1511Cでは、アバターのたてがみの一部(例えば、アバターの頭1535の上部にある1552A)がアバターの頭の下部から離れる上方向に移動する。いくつかの実施形態では、ユーザの眉毛がユーザの頭の下部に向かって下方向に移動すると、アバターのたてがみの一部(例えば、アバターの頭の上部に位置する)がアバターの下部に向かって下方向に移動し、第2の物理的特徴の変化に基づいて仮想アバターの第1のアバター特徴を変更することは、ユーザの頭(例えば、1511D)のポーズの変化の方向又は大きさに基づいてアバターの髪の特徴(例えば、たてがみ1552)の少なくとも一部を回転させることを含む。
方法1900に関して上述したプロセス(例えば、図19)の詳細はまた、上述及び後述する方法1800にも、類似の方法で適用可能であることに留意されたい。例えば、方法1900は、任意選択的に、方法800、900、1800、2000、2100、2200、2300、2400、及び2500を参照して以下に説明する様々な方法の特性のうちの任意の1つ以上を含む。例えば、方法800にしたがってアニメーション化されたアバターを生成、送信、及び受信する方法は、方法1900にしたがって生成された仮想アバター(例えば、ユーザの顔の位置の変化に反応しながら生成されたアバター)を使用してもよい。同様に、方法1900にしたがって生成及び/又は変更された仮想アバター及びアニメーション効果は、方法800又は900の仮想アバター生成インタフェース(例えば、804、904)の仮想アバターの表示されたプレビューに含まれてもよい。他の例では、方法1900にしたがって生成された仮想アバター(例えば、ユーザの顔の位置の変化に反応しながら生成されたアバター)はまた、方法800、900、1800、2000、2100、2200、2300、2400、及び2500の仮想アバター生成及び変更方法にしたがって生成されてもよい。例えば、方法1900にしたがって生成された仮想アバターは、ポーズ(例えば、1810及び1812)の変化のタイプに応じて、ユーザの顔のポーズを変化させるために第2のアバター部分(例えば、1539)とは異なる反応をする第1のアバター部分(例えば、1535)を含むことができる。簡潔にするために、さらなる例を除外する。
図20は、いくつかの実施形態による、1つ以上のカメラによって検出された顔に基づいて仮想アバターを生成するための、電子デバイスにおける方法を示すフロー図である。方法2000は、1つ以上のカメラ(例えば、164、602)及びディスプレイ装置(例えば、112、340、504、601)を備えた電子デバイス(例えば、100、300、500、600)で実行される。方法2000における一部の動作は、任意選択的に組み合わされ、一部の動作の順序は、任意選択的に変更され、一部の動作は、任意選択的に省略される。
以下に説明するように、方法2000は、ユーザの顔の位置の変化に反応しながら、仮想アバターを生成するための直感的な方法を提供する。本方法は、仮想アバターを生成するためのユーザの認識的負担を軽減し、それにより、より効率的なヒューマン-マシンインタフェースを作成する。バッテリ動作式のコンピューティングデバイスの場合、ユーザがユーザアバターをより速くかつより効率的に生成することを可能にすることは、節電し、バッテリ充電の時間間隔を長くする。方法2000の例は、図11A~図11C、図13、図14A~図14D、図15A~図15B、図16A~図16B、及び図17A~図17Bを参照して説明したユーザインタフェース及び仮想アバターに見出すことができる。
電子デバイス(例えば、100、300、500、600)は、ディスプレイ装置(例えば、112、340、504、601)を介して、仮想アバター(例えば、1100、1300、1400、1500、1600、1700)を表示する(2002)。いくつかの例では、仮想アバターは、1つ以上のカメラ(例えば、164、602)の視野内の顔の第1の物理的特徴(例えば、ユーザの口(例えば、1120、1320、1420、1720)、眉毛(例えば、1422、1522)、又は頬(例えば、1628))の変化に反応する第1のアバター特徴(例えば、アバターの眉毛(例えば、1538)、口(例えば、1130、1330、1430、1730)、頬(例えば、1633)、又はロボットアバター(例えば、1400)1つ以上のカメラレンズの内部(例えば、1431)又はアンテナ(例えば、1434など)などの非人同等のアバター特徴)を含む(2004)。1つ以上のカメラの視野内の顔の第1の物理的特徴の変化に反応する第1のアバター特徴を有する仮想アバターを表示すると、表示されたユーザインタフェースコントロール(例えば、タッチコントロール)要素を必要とせずに仮想アバターの第1の部分の変更を制御するオプションをユーザに提供する。追加の制御によりユーザインタフェースを雑然とさせることなく追加の制御オプションを提供することにより、デバイスの操作性が改善され、ユーザ-デバイスインタフェースを(例えば、デバイスを操作/対話するときに適切な入力を提供するようにユーザを支援し、ユーザの誤りを削減することによって)更に効率的にし、更に、ユーザがデバイスをより素早く、効果的に使用できるようにすることによって、電力使用量を削減し、デバイスの電池寿命を改善する。
仮想アバターはまた、第1の物理的特徴の変化に反応する第2のアバター特徴(例えば、アバターの耳(例えば、1133、1433)又は鼻(例えば、1736)、又はひげ(例えば、1342)、たてがみ(例えば、1552)、肉垂(例えば、1650)、又はロボットアバター(例えば、1400)のアンテナ(例えば、1434)などの非人同等のアバター特徴)を含む(2006)。1つ以上のカメラの視野内の顔の第1の物理的特徴の変化に反応する第2のアバター特徴を有する仮想アバターを表示すると、表示されたユーザインタフェースコントロール(例えば、タッチコントロール)要素を必要とせずに仮想アバターの第2の部分の変更を制御するオプションをユーザに提供する。追加の制御によりユーザインタフェースを雑然とさせることなく追加の制御オプションを提供することにより、デバイスの操作性が改善され、ユーザ-デバイスインタフェースを(例えば、デバイスを操作/対話するときに適切な入力を提供するようにユーザを支援し、ユーザの誤りを削減することによって)更に効率的にし、更に、ユーザがデバイスをより素早く、効果的に使用できるようにすることによって、電力使用量を削減し、デバイスの電池寿命を改善する。
仮想アバターはまた、第1の物理的特徴の変化に対して主に反応しない(例えば、任意選択的に反応する)第3のアバター特徴(例えば、鼻(例えば、1436)、眉毛(例えば、1138、1738)、瞼(例えば、1348)、口(例えば、1530)又はロボットアバター(例えば、1400)の1つ以上のカメラレンズ(例えば、1431)の内部などの非人同等のアバター特徴)を含む(2008)。例えば、第3のアバター特徴は、顔の特徴(例えば、第1の物理的特徴)の変化に基づいて直接変更されないが、顔の特徴の変化に直接反応するアバターの他の変化の影響を受けることがある。例えば、いくつかの実施形態では、第3のアバター特徴は、ユーザの口(例えば、1320)などの第1の物理的特徴の変化には反応しないが、第1の物理的特徴(例えば、ユーザの口1342)の動きによって促進されるアバターの口(例えば、1330)の移動に応じて移動するひげ(例えば、1342)を含むことができる。いくつかの実施形態では、第1の物理的特徴の変化に反応しないアバター特徴(例えば、ひげ1342)は、1つ以上のカメラの視野内の顔の物理的特徴の変化に反応しない。いくつかの実施形態では、第1の物理的特徴の変化に反応しないアバター特徴は、第1の物理的特徴とは異なる1つ以上のカメラの視野内の顔の第2の物理的特徴の変化に反応する。例えば、いくつかの実施形態では、第3のアバター特徴は、ユーザの口(例えば、1320)などの第1の物理的特徴の変化には反応しないが、ユーザの瞼(例えば、1327)などの第2の物理的特徴の変化には反応する瞼(例えば、1348)を含むことができる。
いくつかの実施形態では、第1のアバター特徴(例えば、1130、1330、1430、1431、1538、1633、1730)は、第1の物理的特徴(例えば、1120、1320、1420、1422、1522、1628、1720)に解剖学的に対応し(例えば、アバター特徴は、物理的特徴の場所、移動特性、サイズ、色、及び/又は形状のうちの任意の1つ以上に基づいてモデル化される)、第2のアバター特徴(例えば、1133、1342、1433、1434、1552、1650、1736)は、第1の物理的特徴に解剖学的に対応しない(例えば、第1の物理的特徴以外の物理的特徴に解剖学的と解剖学的に区別されるか又は解剖学的に対応する)。例えば、第2のアバター特徴は、目のサイズに対応し、第1の物理的特徴は、眉毛の位置に対応する。
仮想アバター(例えば、1100、1300、1400、1500、1600、1700)の表示中に、電子デバイス(例えば、100、300、500、600)は、第1の物理的特徴(例えば、ユーザの口(例えば、1120、1320、1420、1720)、眉毛(例えば、1422、1522)、又は頬(例えば、1628))の変化を検出する(2010)。
第1の物理的特徴(例えば、ユーザの口(例えば、1120、1320、1420、1720)、眉毛(例えば、1422、1522)、又は頬(例えば、1628))の変化を検出(2012)したことに応じて、電子デバイス(例えば、100、300、500、600)は、第1の物理的特徴の検出された変化に基づいて、第1のアバター特徴(例えば、アバターの眉毛(例えば、1538)、口(例えば、1130、1330、1430、1730)、頬(例えば、1633)、又はロボットアバター(例えば、1400)の1つ以上のカメラレンズ(例えば、1431)の内部などの非人同等のアバター特徴)を変更する(2014)。電子デバイスはまた、第1の物理的特徴の検出された変化に基づいて、第2のアバター特徴(例えば、アバターの耳(例えば、1133、1433)又は鼻(例えば、1736)、又はひげ(例えば、1342)、たてがみ(例えば、1552)、肉垂(例えば、1650)、又はロボットアバター(例えば、1400)のアンテナ(例えば、1434)などの非人同等のアバター特徴)を変更する(2016)。更に、電子デバイスは、第1の物理的特徴の検出された変化に基づいて、第3のアバター特徴(例えば、鼻(例えば、1436)、眉毛(例えば、1138、1738)、瞼(例えば、1348)、口(例えば、1530)又はロボットアバター(例えば、1400)の1つ以上のカメラレンズ(例えば、1431)の内部などの非人同等のアバター特徴)の変更を取り止める(2018)。
第1の物理的特徴の検出された変化に基づいて第1及び第2のアバター特徴を変更し、第1の物理的特徴の変化に基づいて第3のアバター特徴を変更することを取り止めることは、同じ物理的特徴のさらなる移動又は同じ物理的特徴に対する変化が、デバイスが第3のアバター特徴を変化させずに第1及び第2のアバター特徴を変化させることを示すフィードバックをユーザに提供する。ユーザに改善された視覚的フィードバックを提供することは、デバイスの操作性を向上させ、ユーザとデバイスのインタフェースをより効果的にし(例えば、デバイスに意図された結果を発生させる入力を指示するフィードバックを提供することによって、ユーザが、意図された結果を達成することを支援し、デバイスを操作又はそれと対話するとき、ユーザの間違いを低減することによって)、更に、ユーザがデバイスをより素早く、効果的に使用できるようにすることによって、電力使用量を削減し、デバイスの電池寿命を改善する。
いくつかの実施形態では、第3のアバター特徴(例えば、眉毛(例えば、1138、1738)、瞼(例えば、1348)、又は口(例えば、1530))は、第2の物理的特徴(例えば、ユーザの眉毛(例えば、1122、1722)、瞼(例えば、1327)、又は口(1520))の変化に反応し、第3のアバター特徴は、第2の物理的特徴に解剖学的に対応する。1つ以上のカメラの視野内の顔の第2の物理的特徴の変化に反応しかつユーザの第2の物理的特徴に解剖学的に対応する第3のアバター特徴を有する仮想アバターを表示すると、表示されたユーザインタフェースコントロール(例えば、タッチコントロール)要素を必要とせずにユーザの第2の物理的特徴に対応する仮想アバターの第3の部分の変更を制御する直感的なオプションをユーザに提供する。追加の制御によりユーザインタフェースを雑然とさせることなく追加の制御オプションを提供することにより、デバイスの操作性が改善され、ユーザ-デバイスインタフェースを(例えば、デバイスを操作/対話するときに適切な入力を提供するようにユーザを支援し、ユーザの誤りを削減することによって)更に効率的にし、更に、ユーザがデバイスをより素早く、効果的に使用できるようにすることによって、電力使用量を削減し、デバイスの電池寿命を改善する。
そのような実施形態では、仮想アバターを表示しながら、電子デバイス(例えば、100、300、500、600)は、第2の物理的特徴(例えば、ユーザの眉毛(例えば、1122、1722)、瞼(例えば、1327)、又は口(1520))の変化を検出し、第2の物理的特徴の変化の検出に応じて、第2の物理的特徴の検出された変化に基づいて、第3のアバター特徴(例えば、眉毛(例えば、1138、1738)、瞼(例えば、1348)、又は口(例えば、1530))を変更する。いくつかの実施形態では、第1のアバター特徴(例えば、口(例えば、1130、1330)は、第2の物理的特徴の変化に対して主に反応しない(又は、任意選択的に無反応)。いくつかの実施形態では、第2のアバター特徴は、第1の物理的特徴又は第2の物理的特徴のいずれにも解剖学的に対応しない。例えば、第2のアバター特徴は、ユーザの眉毛(例えば、1122、1422)及び口(例えば、1120、1420)に反応するアバターの耳(例えば、1133、1433)である。
いくつかの実施形態では、第2のアバター特徴(例えば、1133、1552、1736)は、第2の物理的特徴(例えば、1122、1520、1722)の変化に反応する。ユーザの顔の第2の物理的特徴の変化に反応する第2のアバター特徴を有する仮想アバターを表示すると、表示されたユーザインタフェースコントロール(例えば、タッチコントロール)要素を必要とせずに仮想アバターの第2の部分の変更を制御する追加のオプションをユーザに提供する。追加の制御によりユーザインタフェースを雑然とさせることなく追加の制御オプションを提供することにより、デバイスの操作性が改善され、ユーザ-デバイスインタフェースを(例えば、デバイスを操作/対話するときに適切な入力を提供するようにユーザを支援し、ユーザの誤りを削減することによって)更に効率的にし、更に、ユーザがデバイスをより素早く、効果的に使用できるようにすることによって、電力使用量を削減し、デバイスの電池寿命を改善する。
例えば、第2のアバター特徴(例えば、1133、1552、1736)は、第2のアバター特徴が第1の物理的特徴(例えば、1120、1522、1720)及び第2の物理的特徴の両方の変化に反応するように、第2の物理的特徴(例えば、1122、1520、1722)の変化に反応する。したがって、第2のアバター特徴は、第2の物理的特徴の変化の検出に基づいて、第1のアバター特徴の変更とは無関係に変更することができる。
いくつかの実施形態では、第1のアバター特徴(例えば、1730)は、第2の物理的特徴(例えば、1722)の変化に反応する。ユーザの顔の第2の物理的特徴の変化に反応する第1のアバター特徴を有する仮想アバターを表示すると、表示されたユーザインタフェースコントロール(例えば、タッチコントロール)要素を必要とせずに仮想アバターの第1の部分の変更を制御する追加のオプションをユーザに提供する。追加の制御によりユーザインタフェースを雑然とさせることなく追加の制御オプションを提供することにより、デバイスの操作性が改善され、ユーザ-デバイスインタフェースを(例えば、デバイスを操作/対話するときに適切な入力を提供するようにユーザを支援し、ユーザの誤りを削減することによって)更に効率的にし、更に、ユーザがデバイスをより素早く、効果的に使用きるようにすることによって、電力使用量を削減し、デバイスの電池寿命を改善する。例えば、第1のアバター特徴は、第1の物理的特徴及び第2の物理的特徴の両方の変化に反応するように、第2の物理的特徴の変化に反応する。
いくつかの実施形態では、第1の物理的特徴は、ユーザの唇(例えば、1420A、1420B)の少なくとも一部を含み、第2の物理的特徴は、ユーザの眉毛(例えば、1422)の少なくとも一部を含み、第1のアバター特徴は、アバターの口(例えば、1430)を含み、第2のアバター特徴は、アバターの頭(例えば、1435)の側部に配置されたアバターの耳(例えば、1433)を含む。例えば、アバターがロボット(例えば、1400)の場合、アバターの耳(例えば、1433)は、丸みを帯びたプレート状の構造によって表される。そのような実施形態では、耳(例えば、1433)の動きは、ロボットの頭(例えば、1435)の側面から構造を水平に伸ばすことによって表される。いくつかの実施形態では、耳の動き(例えば、1433)は、ロボットの頭(例えば、1435)の側面から構造を傾けることによって表される。
いくつかの実施形態では、第1の物理的特徴の変化は、第1の位置(例えば、1401Aに示される)から第2の位置(例えば、1403Bに示される)へのユーザの唇(例えば、1420A、1420B)の少なくとも一部の変位を含む。例えば、ユーザの唇は、下向きに曲がる方向に移動し(例えば、ユーザの口の角が下に曲がる)、しかめ面の表情の口の部分を形成する。いくつかの実施形態では、第2の物理的特徴の変化は、少なくともユーザの眉毛の少なくとも一部の垂直変位を含む。例えば、1403Bに示すように、ユーザの眉毛(例えば、1422)は、下方向に移動する。
いくつかの実施形態では、眉毛の中立的な静止位置と比較して、ユーザの眉毛がユーザの鼻に向かって垂直に変位した位置を有するときに、ひそめた眉毛が検出される。いくつかの実施形態では、第1の物理的特徴の検出された変化に基づいて第1のアバター特徴を変更することは、少なくともユーザの唇(例えば、1420A、1420B)の一部の第2の位置に基づいて少なくともアバターの口(例えば、1430)の形状を変更することを含む。例えば、アバターの口は、ユーザの口を直接鏡映する方法では移動しない(例えば、垂直方向への移動、開閉など)。代わりに、いくつかの実施形態では、アバターの口(例えば、1430)の変化は、アバターの口の形状を変化させることによって示され(例えば、口の形に関連付けられた表情を示すために)、アバターの口の形状の変化は、ユーザの唇(例えば、1420A/1420B)における変化によって促進される。いくつかの例では、口は、台形を形成して1413Bに示すように眉毛をひそめていることを示す(例えば、台形の上縁部1430Uが台形の下縁部1430Lよりも短い場合、台形は、ひそめた眉毛に対応する)。いくつかの実施形態では、第1の物理的特徴の検出された変化に基づいて第2のアバター特徴を変更することが、アバターの耳(例えば、1433)の傾斜の度合いを調整することを含み、傾斜の度合いが、第1の位置から第2の位置までの少なくともユーザの唇の一部の変位の大きさ及び方向のうちの少なくとも一方に基づいている。いくつかの実施形態では、耳(例えば、1433)の傾斜の度合いは、第1の位置から第2の位置へのユーザの唇(例えば、1420A/1420B)の変位の大きさ又は方向に基づいて決定される。
いくつかの実施形態では、第1の物理的特徴(例えば、1120、1320、1420、1422、1522、1628、1720)の変化は、第1の大きさの変化を含み、第1の物理的特徴の検出された変化に基づいて第1のアバター特徴(例えば、1130、1330、1430、1431、1538、1633、1730)を変更することは、第1の大きさに基づく第1の変更の大きさによって第1のアバター特徴を変更することを含み、第1の物理的特徴の検出された変化に基づいて第2のアバター特徴(例えば、1133、1342、1433、1434、1552、1650、1736)を変更することは、第1の大きさに基づく第2の変更の大きさによって第2のアバター特徴を変更することを含み、第2の変更の大きさは、第1の変更の大きさとは異なる。変更の大きさが第1の物理的特徴の検出された変化の第1の大きさに基づく、第1の変更の大きさによって第1のアバター特徴を変更すること及び第2の変更の大きさによって第2のアバター特徴を変更することは、表示されたユーザインタフェースコントロール(例えば、タッチコントロール)要素を必要とせずに異なる量で異なるアバター特徴を制御するオプションをユーザに提供する。追加の制御によりユーザインタフェースを雑然とさせることなく追加の制御オプションを提供することにより、デバイスの操作性が改善され、ユーザ-デバイスインタフェースを(例えば、デバイスを操作/対話するときに適切な入力を提供するようにユーザを支援し、ユーザの誤りを削減することによって)更に効率的にし、更に、ユーザがデバイスをより素早く、効果的に使用できるようにすることによって、電力使用量を削減し、デバイスの電池寿命を改善する。
いくつかの実施形態では、第1のアバター特徴及び第2のアバター特徴は、両方とも第1の物理的特徴の変化に反応するが、アバター特徴に対する変更の大きさ(例えば、度合い)は異なる。例えば、物理的特徴の変化が第1の大きさの位置の偏移(例えば、並進変化)を含む場合(例えば1インチの位置の偏移)、第1のアバター特徴は、第1の大きさに等しい第1の変更の大きさだけ変更されることができる(例えば、第1のアバター特徴もまた、1インチだけ位置が偏移される)が、第2のアバター特徴は、第1の変更の大きさとは異なる第2の変更の大きさだけ変更されることができる(例えば、第2のアバター特徴は、1インチ以外の値(例えば、より大きい、より小さい)だけ偏移される)。いくつかの実施形態では、第1の物理的特徴の変化の大きさに対して異なる調整係数(例えば、乗数)を適用することにより、異なる変更の大きさが生成される。いくつかの実施形態では、変化の大きさは、所定の特徴に対して利用可能な変化の最大量の割合として表されてもよい。
いくつかの実施形態では、第1の物理的特徴(例えば、1120、1320、1420、1422、1522、1628、1720)の変化は、第1のタイプの変化(例えば、回転変化、サイズ変化、色変化、位置/並進移動の変化)であり、第1の物理的特徴の検出された変化に基づいて第1のアバター特徴(例えば、1130、1330、1430、1431、1538、1633、1730)を変更することは、第2のタイプの変化(例えば、回転変化、サイズ変化、色変化、位置/並進移動変化)に基づいて第1のアバター特徴を変更することを含む。いくつかの実施形態では、第2のタイプの変化は、第1のタイプの変化と同じである。いくつかの実施形態では、第1の物理的特徴の検出された変化に基づいて第2のアバター特徴(例えば、1133、1342、1433、1434、1552、1650、1736)を変更することは、第3のタイプの変化(例えば、回転変化、サイズ変化、色変化、位置/並進移動変化)に基づいて第2のアバター特徴を変更することを含み、第3のタイプの変化は、第2のタイプの変化とは異なる。いくつかの実施形態では、第3のタイプの変化は、第1のタイプの変化と同じである。第2のタイプの変更に基づいて第1のアバター特徴を変更し、第2のタイプの変更とは異なる第3のタイプの変更に基づいて第2のアバター特徴を変更すると、表示されたユーザインタフェースコントロール(例えば、タッチコントロール)要素を必要とせずに、異なるタイプのユーザ入力に基づいてアバターの異なる特徴を制御するオプションをユーザに提供する。追加の制御によりユーザインタフェースを雑然とさせることなく追加の制御オプションを提供することにより、デバイスの操作性が改善され、ユーザ-デバイスインタフェースを(例えば、デバイスを操作/対話するときに適切な入力を提供するようにユーザを支援し、ユーザの誤りを削減することによって)更に効率的にし、更に、ユーザがデバイスをより素早く、効果的に使用できるようにすることによって、電力使用量を削減し、デバイスの電池寿命を改善する。
いくつかの実施形態では、第1のアバター特徴及び第2のアバター特徴は、両方とも、第1の物理的特徴の変化に反応するが、第1の物理的特徴の変化は、第1のアバター特徴及び第2のアバター特徴に異なる影響を与える(例えば、変更する)。例えば、第1の物理的特徴の変化は、第1のアバター特徴の回転変化(例えば、アバターの眼球の回転)を引き起こすが、第2のアバター特徴(例えば、アバターの耳の位置の偏移)の並進移動変化を引き起こす回転変化(例えば、眼球の回転)とすることができる。いくつかの実施形態では、第1のアバター特徴及び第2のアバター特徴の変化は、同じタイプの変化(例えば、物理的特徴の変化と同じタイプの変化)である。
いくつかの実施形態では、第1のアバター特徴は、アバターの口(例えば、1330)を含み、第2のアバター特徴は、アバターの顔の毛(例えば、1342)の少なくとも一部を含み、第1の物理的特徴は、ユーザの口(例えば、1320)の少なくとも一部を含み、第1の物理的特徴の変化は、ユーザの口の少なくとも一部の変位を含む(例えば、ユーザの口が笑顔の場合、(中立的な静止位置にあるときのユーザの口の角の位置に対して)ユーザの口の角が上方向に変位する)。いくつかのそのような実施形態では、第1の物理的特徴の検出された変化に基づいて第1のアバター特徴を変更することは、ユーザの口の少なくとも一部の変位に基づいてアバター口の形状を変更することを含む(例えば、(中立的な静止位置にあるときのユーザの口の角の位置に対して)ユーザの口の角が上方向に変位する場合、笑顔に対応する形状にアバターの口が変更される)。更に、そのようないくつかの実施形態では、第1の物理的特徴の検出された変化に基づいて第2のアバター特徴を変更することは、ユーザの口の少なくとも一部の変位の大きさ又は方向に基づいて、アバターの顔の毛の少なくとも一部の場所(例えば、アバターの顔の毛の場所は、ユーザの口の位置又は形状の変化に基づいて変化する)及びアバターの顔の毛の少なくとも一部の間隔(例えば、ユーザの口の位置又は形状の変化に基づいて、アバターの顔の毛の場所が変化する)のうちの少なくとも一方を変更することを含む。いくつかの実施形態では、アバターの顔の毛の場所及び間隔の変更は、アバターの口及び周囲の接続された顔の構造の形状又は位置の変化(例えば、変位)を促進し、ひいてはアバターの口に近い領域にあるアバターの顔の毛の位置、場所、又は間隔の変化を促進することにより達成される。
いくつかの実施形態では、第1のアバター特徴は、アバターの口(例えば、1730)を含み、第2のアバター特徴は、アバターの鼻(例えば、1736)を含み、第1の物理的特徴は、ユーザの口(例えば、1720)の少なくとも一部を含み、第1の物理的特徴の変化は、ユーザの口の少なくとも一部の変位を含む(例えば、ユーザの口が笑顔の場合、(中立的な静止位置にあるときのユーザの口の角の位置に対して)ユーザの口の角が上方向に変位する)。いくつかのそのような実施形態では、第1の物理的特徴の検出された変化に基づいて第1のアバター特徴を変更することは、ユーザの口の少なくとも一部の変位に基づいてアバター口の形状を変更することを含む(例えば、(中立的な静止位置にあるときのユーザの口の角の位置に対して)ユーザの口の角が上方向に変位する場合、笑顔に対応する形状にアバターの口が変更される)。更に、そのようないくつかの実施形態では、第1の物理的特徴の検出された変化に基づいて第2のアバター特徴を変更することは、ユーザの口の少なくとも一部の変位の大きさ又は方向に基づいて、アバターの鼻の位置を変更することを含む(例えば、アバターの鼻は、ユーザの鼻以外の物理的特徴(例えば、ユーザの口1720)の変位に基づいて移動する。例えば、ユーザの口がユーザの顔の左右に(例えば、左又は右に)移動すると、ユーザの口は、水平方向に左又は右方向に変位し、アバターの鼻は、ユーザの口の左/右方向に対応する方向に移動する。いくつかの実施形態では、アバターの鼻のこの動きは、鏡映方向に移動することによるユーザの口の水平方向の動きに対応する(例えば、ユーザの口がユーザの顔の右側に移動する場合、アバターの鼻は、アバターの顔の左側に向かう方向に移動し、その逆も同様である)。同様に、ユーザの口が垂直変位を有する場合(例えば、ユーザの頭の上部に向かう方向)、アバターの鼻はまた、対応する方向(例えば、アバターの頭の上部に向かう)に移動する。
いくつかの実施形態では、仮想アバター(例えば、1400)は、第1の物理的特徴(例えば、1422)の変化に反応する第4のアバター特徴(例えば、1431)を更に含む。第1の物理的特徴の変化の検出に応じて、電子デバイス(例えば、100、300、500、600)は、第1の物理的特徴(例えば、ユーザの眉毛1422)の検出された変化に基づいて第4のアバター特徴を変更する。ユーザの顔の第1の物理的特徴の変化に反応する第4のアバター特徴を有する仮想アバターを表示すると、表示されたユーザインタフェースコントロール(例えば、タッチコントロール)要素を必要とせずに仮想アバターの第4の部分の変更を制御する追加のオプションをユーザに提供する。追加の制御によりユーザインタフェースを雑然とさせることなく追加の制御オプションを提供することにより、デバイスの操作性が改善され、ユーザ-デバイスインタフェースを(例えば、デバイスを操作/対話するときに適切な入力を提供するようにユーザを支援し、ユーザの誤りを削減することによって)更に効率的にし、更に、ユーザがデバイスをより素早く、効果的に使用できるようにすることによって、電力使用量を削減し、デバイスの電池寿命を改善する。
いくつかの実施形態では、第1の物理的特徴は、ユーザの眉毛(例えば、1422)の少なくとも一部を含み、第1のアバター特徴は、アバターの頭(例えば、1435)の上部位置に配置されたアバターアンテナ特徴(例えば、1434)を含む(例えば、アバターの頭の上部に配置されたアンテナ(例えば、アバターがロボットの場合)は、ユーザの顔の特徴(例えば、ユーザの眉毛1422)の動きに応じて垂直方向に移動する)。いくつかのそのような実施形態では、第2のアバター特徴は、アバターの頭の側部に配置されたアバターの耳(例えば、1433)を含み(例えば、アバターがロボットである場合、アバターの耳は、丸いプレート状構造によって表され、耳の動きは、ロボットの頭の側面から構造を水平に伸ばすことによって表される)、第4のアバター特徴は、アバターの眉毛(例えば、1431)を含む。例えば、アバターがロボット(例えば、1400)である場合、アバターの眉毛は、アバターの目1432の構造に組み込まれる線(例えば、アバターの眉毛が中立的な静止位置にあるときの水平線1431)によって表される。いくつかの実施形態では、ロボット眉毛の動きは、1412Cに示すように線の位置を回転させることによって表され(アバターの目を回転させることを含むことができる)、線の回転位置を使用してロボットアバターの眉毛の位置を示すことができる。いくつかの実施形態では、線(及びアバターの目)が回転又は傾斜する度合いは、ユーザの眉毛の垂直変位の大きさに基づいて決定される。
いくつかの実施形態では、第1の物理的特徴の変化は、ユーザの眉毛(例えば、1422)の少なくとも一部の変位を含み、(例えば、ユーザの頭の上部に向かうか又はそれから離れる垂直方向における眉毛の動きの大きさ(例えば、最大範囲の割合)を含み、第1の物理的特徴の検出された変化に基づいて第1のアバター特徴を変更することは、アバターの頭(例えば、1435)の上部からアバターアンテナ特徴(例えば、1434)を延長することを含み、アバターアンテナの特徴の拡張位置は、ユーザの眉毛の少なくとも一部の変位の大きさに基づいている。いくつかのそのような実施形態では、第1の物理的特徴の検出された変化に基づいて第2のアバターの特徴を変更することが、アバターの頭の側部からアバターの耳(例えば、1433)を拡張することを含み、アバターの耳の拡張位置が、ユーザの眉毛の少なくとも一部の変位の大きさに基づいている。いくつかのそのような実施形態では、第1の物理的特徴の検出された変化に基づいて第4のアバター特徴を変更することは、少なくともアバターの眉毛の一部の回転の度合いを調整することを含み、回転の度合いは、少なくともユーザの眉毛の一部の変位の大きさに基づいている。例えば、アバターがロボット(例えば、1400)の場合、アバターの目は、様々な顔面表情を示すように回転又は傾斜する。いくつかの実施形態では、目が回転又は傾斜する度合いは、ユーザの眉毛の垂直変位の大きさに基づいて決定される。
いくつかの実施形態では、第1の物理的特徴は、ユーザの瞼(例えば、1327)の少なくとも一部を含み、第1のアバター特徴は、アバターの瞼(例えば、1348)を含み、第2のアバター特徴は、アバターの目(例えば、1332)を含み、第1の物理的特徴の変化は、ユーザの瞼の少なくとも一部の変位を含む(例えば、ユーザの頭の上部に向かうか又はそれから離れる垂直方向における瞼の動きの大きさ(例えば、最大範囲の割合))。いくつかの実施形態では、第1の物理的特徴の検出された変化に基づいて第1のアバター特徴を変更することは、アバターの瞼を導入すること(いくつかの実施形態では、アバターの瞼は、閉位置に導入される)及びアバターの瞼を閉位置に向かって移動させることを含み、閉位置に向かうアバターの瞼の位置は、ユーザの瞼の少なくとも一部の変位の大きさに基づいている。いくつかの実施形態では、アバターの瞼は、ユーザの瞼の変位の大きさがアバターの瞼を導入するための閾値の大きさ(例えば、50%以上閉じた)に到達するまで表示されない。そのような実施形態では、アバターの瞼は、閉位置に表示されるか、又は開位置から閉位置に遷移することができ、閉位置に遷移するときのアバターの瞼の瞬間位置は、ユーザの瞼の変位の大きさに基づいて決定される。いくつかの実施形態では、第1の物理的特徴の検出された変化に基づいて第2のアバター特徴を変更することは、少なくともユーザの瞼の一部の変位の大きさに基づいてアバターの目のサイズを調整することを含む。例えば、アバターの目は、第1の物理的な特徴の変化を検出する前に表示されていたよりも多くのアバターの目を表示するように(又はアバターの目のサイズを大きくするように)変更される。
いくつかの実施形態では、第1の物理的特徴は、ユーザの唇(例えば、1420C)の少なくとも一部を含み、第1のアバター特徴は、アバターの口(例えば、1430)を含み、第2のアバター特徴は、アバターの鼻(例えば、1436)を含み、第1の物理的特徴の変化は、第1の位置から第2の位置へのユーザの唇の少なくとも一部の変位を含む。例えば、ユーザが特定のポーズに唇/口を調整したときに、第1の位置は、中立位置とすることができ、第2の位置は、唇の結果の位置とすることができる。いくつかの実施形態では、ユーザの唇の位置の変化は、口のポーズの変化(例えば、眉毛をひそめた状態から笑顔へ)及び/又はユーザの口/唇の変位の変化(例えば、顔の片側にユーザの唇を偏移する(例えば、唇は右に偏移する))に対応する。いくつかの実施形態では、第1の物理的特徴の検出された変化に基づいて第1のアバター特徴を変更することは、ユーザの唇の少なくとも一部の第2の位置に基づくアバター口の形状及び水平偏移のうちの少なくとも一方を変更することを含む。例えば、アバターの口は、ユーザの口を直接鏡映する方法では移動しない(例えば、垂直方向への移動、開閉など)。代わりに、アバターの口の変化は、アバターの口の水平位置を偏移すること(例えば、X軸に沿って口を並進移動する)及び/又はアバターの口の形状を変化させる(例えば、口の形状に関連付けられた表情を示すために)ことによって示され、アバターの口の偏移及び形状の変化は、ユーザの唇の変化によって促進される。
いくつかの実施形態では、口は、しかめ面又は笑顔を示すための台形形状を形成する(例えば、台形の上縁部が台形の下縁部よりも長い場合、台形は笑顔に対応し、台形の上縁部が台形の下縁部よりも短い場合、台形は眉毛をひそめることに対応する)。いくつかの実施形態では、口は、円形を形成し、すぼめた表情又は驚いた表情を示す。いくつかの実施形態では、アバターの口は、ユーザの口の形状が変化するにつれて左右に偏移し(例えば、ユーザは、唇を左右に偏移する)、第1の物理的特徴の検出された変化に基づいて第2のアバター特徴を変更することは、アバターの鼻の回転の度合いを調整することを含み、回転の度合いは、第1の位置から第2の位置へのユーザの唇の少なくとも一部の変位の大きさ及び方向のうちの少なくとも一方に基づいている。いくつかの実施形態では、鼻が回転する度合いは、第1の位置から第2の位置へのユーザの唇の変位の大きさ又は方向に基づいて決定される。
いくつかの実施形態では、第1の物理的特徴は、ユーザの頬(例えば、1628)の少なくとも一部を含み、第1のアバター特徴は、アバターの頬(例えば、1633)を含み、第2のアバター特徴は、アバターの顔(例えば、1655)から伸びるアバター特徴(例えば、1650)(例えば、象の胴、ニワトリの肉垂、鳥のくちばし)を含む。例えば、アバターがニワトリ(例えば、1600)の場合、アバターは、検出されたユーザの頬(例えば、1628)の変化に基づいて移動する肉垂(例えば、1650)を含む。第1の物理的特徴の変化は、第1の位置(例えば、1601A)から拡張位置(例えば、1601B)へのユーザの頬の少なくとも一部の変位を含み、拡張位置は、第1の位置から拡張位置へのユーザの頬の少なくとも一部の変位の大きさに基づいている。例えば、第1の位置は、頬が弛緩した状態にあるときのユーザの頬の位置に対応し、拡張位置は、ユーザが頬を拡張する、又は膨らませるときのユーザの頬の位置に対応する。
いくつかの実施形態では、第1の物理的特徴の検出された変化に基づいて第1のアバター特徴を変更することは、アバターの頬を初期位置(例えば、1611A)から拡張位置(例えば、1611Bの1633)に変更することを含む。例えば、アバターの頬は、初期位置から拡張位置(例えば、膨らんだ、又は拡張したポーズ)に移動し、初期位置は、ユーザの頬が弛緩した状態にあるときのアバターの頬の位置に対応し、拡張位置は、弛緩状態の位置から拡張位置までのユーザの頬の変位の大きさに基づいている。いくつかの実施形態では、仮想アバターの初期位置は、区別されない位置である。
いくつかの実施形態では、第1の物理的特徴の検出された変化に基づいて第2のアバターの特徴を変更することは、第1の位置から拡張位置までの少なくともユーザの頬の一部の変位の大きさに基づいてアバターの顔から離れて拡張するアバター特徴の位置を変更することを含む。いくつかの実施形態では、ニワトリの肉垂の動きは、物理モデル(例えば、慣性モデル、重力モデル、力伝達モデル、摩擦モデル)に基づいている。いくつかの実施形態では、物理モデルは、顔又は顔の一部(例えば、アバターの頬)の動きの大きさ及び方向、並びに疑似的質量、疑似的弾性、疑似的摩擦係数又は他の疑似的な物理的特性などの仮想アバター特徴(例えば、肉垂)の1つ以上の所定の特性に基づいて、アバター特徴の動きの大きさ及び方向を規定する。
いくつかの実施形態では、第1の物理的特徴は、ユーザの頬(例えば、1428)の少なくとも一部を含み、第1のアバター特徴は、アバターの頭(例えば、1435)の側部に位置するアバターの耳(例えば、1433)を含む。例えば、アバターがロボット(例えば、1400)の場合、アバターの耳(例えば、1433)は、丸みを帯びたプレート状の構造によって表される。いくつかの実施形態では、耳の動きは、ロボットの頭の側面から構造を水平に伸ばすことによって表される。いくつかの実施形態では、耳の動きは、ロボットの頭の側面から構造を傾けることによって表される。いくつかの実施形態では、第2のアバター特徴は、アバターの頭の上部に位置するアバターアンテナ特徴(例えば、1434)を含む(例えば、ユーザの顔の特徴(例えば、ユーザの頬)の動きに応じて垂直方向に移動するアバターの頭の上部に位置するアンテナ(例えば、アバターがロボットである場合))。いくつかのそのような実施形態では、第1の物理的特徴の変化は、第1の位置(例えば、1401A)から拡張位置(例えば、1404C)へのユーザの頬の少なくとも一部の変位を含む(例えば、第1の位置は、頬が弛緩状態にあるときのユーザの頬の位置に対応し、拡張位置は、ユーザが頬を拡張する、又は膨らませるときのユーザの頬の位置に対応する)。更に、そのような実施形態では、第1の物理的特徴の検出された変化に基づいて第1のアバター特徴を変更することは、アバターの頭の側部からアバターの耳を延長することを含み、アバターの耳の拡張位置は、第1の位置から拡張位置へのユーザの頬の少なくとも一部の変位の大きさに基づいており、第1の物理的特徴の検出された変化に基づいて第2のアバター特徴を変更することは、アバターの頭の上部からアバターアンテナ特徴を伸ばすことを含み、アバターアンテナ特徴の拡張位置は、第1の位置から拡張位置へのユーザの頬の少なくとも一部の変位の大きさに基づいている。
方法2000に関して上述したプロセス(例えば、図20)の詳細はまた、上述及び後述する方法1800及び1900にも、類似の方法で適用可能であることに留意されたい。例えば、方法2000は、任意選択的に、方法800、900、1800、1900、2100、2200、2300、2400、及び2500を参照して以下に説明する様々な方法の特性のうちの任意の1つ以上を含む。例えば、方法800にしたがってアニメーション化されたアバターを生成、送信、及び受信する方法は、方法2000にしたがって生成された仮想アバター(例えば、ユーザの顔の位置の変化に反応しながら生成されたアバター)を使用してもよい。同様に、方法2000にしたがって生成及び/又は変更された仮想アバター及びアニメーション効果は、方法800又は900の仮想アバター生成インタフェース(例えば、804、904)の仮想アバターの表示されたプレビューに含まれてもよい。他の例では、方法2000にしたがって生成された仮想アバター(例えば、ユーザの顔の位置の変化に反応しながら生成されたアバター)はまた、方法800、900、1800、1900、2100、2200、2300、2400、及び2500の仮想アバター生成及び変更方法にしたがって生成されてもよい。例えば、方法2000にしたがって生成された仮想アバターは、ポーズ(例えば、1810及び1812)の変化のタイプに応じて、ユーザの顔のポーズを変化させるために第2のアバター部分(例えば、1539)とは異なる反応をする第1のアバター部分(例えば、1535)を含むことができる。簡潔にするために、さらなる例を除外する。
図21は、いくつかの実施形態による、1つ以上のカメラによって検出された顔に基づいて仮想アバターを生成するための、電子デバイスにおける方法を示すフロー図である。方法2100は、1つ以上のカメラ(例えば、164、602)及びディスプレイ装置(例えば、112、340、504、601)を備えた電子デバイス(例えば、100、300、500、600)で実行される。方法2100における一部の動作は、任意選択的に組み合わされ、一部の動作の順序は、任意選択的に変更され、一部の動作は、任意選択的に省略される。
以下に説明するように、方法2100は、物理的特徴の変化の範囲全体で異なる動作を示すことができる仮想アバターを生成するための直感的な方法を提供する。本方法は、仮想アバターを生成するためのユーザの物理的及び認識的負担を軽減し、それにより、より効率的なヒューマン-マシンインタフェースを作成する。バッテリ動作式のコンピューティングデバイスの場合、ユーザがユーザアバターをより速くかつより効率的に生成することを可能にすることは、節電し、バッテリ充電の時間間隔を長くする。方法2100の例は、図12A~図12Cを参照して説明したユーザインタフェース及び仮想アバターにおいて見出すことができる。
電子デバイス(例えば、100、300、500、600)は、ディスプレイ装置(例えば、112、340、504、601)を介して、1つ以上のカメラの視野内の顔の第1の物理的特徴(例えば、1220)の変化に反応する(2104)第1のアバター特徴(例えば、1230)を含む仮想アバター(例えば、1200)を表示する(2102)。例えば、第1のアバター特徴は、検出された物理的特徴の可能な動きの範囲にわたって特異関数(例えば、線形関数)にしたがって一貫して反応的である。1つ以上のカメラの視野内の顔の第1の物理的特徴の変化に反応する第1のアバター特徴を有する仮想アバターを表示すると、表示されたユーザインタフェースコントロール(例えば、タッチコントロール)要素を必要とせずに仮想アバターの第1の部分の変更を制御するオプションをユーザに提供する。追加の制御によりユーザインタフェースを雑然とさせることなく追加の制御オプションを提供することにより、デバイスの操作性が改善され、ユーザ-デバイスインタフェースを(例えば、デバイスを操作/対話するときに適切な入力を提供するようにユーザを支援し、ユーザの誤りを削減することによって)更に効率的にし、更に、ユーザがデバイスをより素早く、効果的に使用できるようにすることによって、電力使用量を削減し、デバイスの電池寿命を改善する。
仮想アバターはまた、顔の第2の物理的特徴の変化が第2の物理的特徴の第1の変化の範囲又は第2の物理的特徴の第1の変化範囲とは異なる第2の物理的特徴の第2の変化の範囲で生じるかどうかに応じて、顔の第2の物理的特徴(例えば、1223)の変化に異なる方法で反応する第2のアバター特徴(例えば、1232)を含む(2106)。例えば、第2のアバター特徴は、検出された物理的特徴の可能な動きの範囲の特定の部分に対する非反応性を含む、検出された物理的特徴の可能な動きの範囲にわたる複数の機能にしたがって一貫性のない反応性である。顔の第2の物理的特徴の変化が第2の物理的特徴の第1の変化の範囲又は第2の物理的特徴の第1の範囲とは異なる第2の物理的特徴の第2の範囲で生じるかどうかに応じて、顔の第2の物理的特徴の変化に異なる方法で反応する第2のアバター特徴を有する仮想アバターを表示すると、表示されたユーザインタフェースコントロール(例えば、タッチコントロール)要素を必要とせずに仮想アバターの第2の部分への異なる変更を制御するオプションの範囲をユーザに提供する。追加の制御によりユーザインタフェースを雑然とさせることなく追加の制御オプションを提供することにより、デバイスの操作性が改善され、ユーザ-デバイスインタフェースを(例えば、デバイスを操作/対話するときに適切な入力を提供するようにユーザを支援し、ユーザの誤りを削減することによって)更に効率的にし、更に、ユーザがデバイスをより素早く、効果的に使用できるようにすることによって、電力使用量を削減し、デバイスの電池寿命を改善する。
仮想アバター(例えば、1200)を表示している間、電子デバイス(例えば、100、300、500、600)は、1つ以上のカメラの視野内の顔のそれぞれの物理的特徴(例えば、1220、1223)の第1の変化を検出する(2108)。いくつかの例では、物理的特徴の変化は、特徴の潜在的な変化の範囲内の物理的特徴値(例えば、大きさの値)として追跡され、その範囲は、様々なユーザの顔の特徴及び/又は履歴データに基づく経験的キャリブレーション又は予測モデリングに基づいて決定される。例えば、変化は、0~10の可能な大きさの範囲内で2の大きさを有すると評価されることができる。
それぞれの物理的特徴の第1の変化の検出に応じて、電子デバイス(例えば、100、300、500、600)は、以下の動作のうちの任意の1つ以上を実行することを含めて、仮想アバターを変更する(2110)。それぞれの物理的特徴の検出された第1の変化が第1の物理的特徴(例えば、1220)の変化であるという判定に従って、電子デバイス(例えば、100、300、500、600)は、第1の物理的特徴の変化を反映するように第1のアバター特徴(例えば、1230)を変更する(2112)。いくつかの例では、第1の物理的特徴の変化の方法は、第1の物理的特徴の変化の範囲に依存しない。第1の物理的特徴の変化を反映するように第1のアバター特徴を変更すると、同じ物理的特徴のさらなる動きが、デバイスがさらなる動きに基づいて第1のアバター特徴を変化させることを示すフィードバックをユーザに提供する。ユーザに改善された視覚的フィードバックを提供することは、デバイスの操作性を向上させ、ユーザとデバイスのインタフェースをより効果的にし(例えば、デバイスに意図された結果を発生させる入力を指示するフィードバックを提供することによって、ユーザが、意図された結果を達成することを支援し、デバイスを操作又はそれと対話するとき、ユーザの間違いを低減することによって)、更に、ユーザがデバイスをより素早く、効果的に使用できるようにすることによって、電力使用量を削減し、デバイスの電池寿命を改善する。
検出された第1の変化が第2の物理的特徴の変化(例えば、1223)でありかつ第2の物理的特徴の変化が第1の変化の範囲内であるという判定に従って(例えば、変更閾値を満たすか又はそれを超える第2の物理的特徴の第2の物理的特徴値に応じて)(例えば、0~10の可能な大きさの範囲で5以上の大きさを有する)、電子デバイス(例えば、100、300、500、600)は、第2の物理的特徴の変化を反映するように第1の方法での第2のアバター特徴(例えば、1232)の外観を変化させる(2114)。第1の変化が第2の物理的特徴の変化でありかつ第2の物理的特徴の変化が第1の変化の範囲内にある場合、第2の物理的特徴の変化を反映するように第2のアバター特徴の外観を第1の方法で変化させると、同じ動きの範囲内で同じ物理的特徴を更に動かすことが、デバイスが同じ方法で第2のアバター特徴を変化させることを示すフィードバックをユーザに提供する。ユーザに改善された視覚的フィードバックを提供することは、デバイスの操作性を向上させ、ユーザとデバイスのインタフェースをより効果的にし(例えば、デバイスに意図された結果を発生させる入力を指示するフィードバックを提供することによって、ユーザが、意図された結果を達成することを支援し、デバイスを操作又はそれと対話するとき、ユーザの間違いを低減することによって)、更に、ユーザがデバイスをより素早く、効果的に使用できるようにすることによって、電力使用量を削減し、デバイスの電池寿命を改善する。
いくつかの例では、アバター特徴は、0~10の可能な動きの範囲を有し、ユーザの物理的特徴はまた、0~10の可能な動きの範囲を有し、変更閾値は5である。いくつかの例では、閾値を満たすか又は超える最終的な物理的特徴値をもたらす物理的特徴の変化は、アバター特徴の可能な動きの全範囲にわたって誇張された動きをもたらし、5から6への物理的特徴の変化は、0から2の値から変更されるアバター特徴をもたらすのに対して、6から7への物理的特徴の変化は、2から4に変更されるアバター特徴をもたらす。このようにして、物理的特徴の変化は、変更閾値を満たすか又は超えると、アバター特徴の動きの全範囲を制御することができる。いくつかの例では、5から6への物理的特徴の変化がアバター特徴を0から8、0~10の可能な範囲で遷移させ、6から10への物理的特徴の変化がアバター特徴の劇的な変化を引き起こさない(例えば、8~10の変化)ように、非線形関数にしたがって誇張がモデル化される。このようにして、ユーザの物理的特徴の変化は、変更閾値が満たされると、アバター特徴の初期変化を非常に誇張することができる。いくつかの例では、少なくとも部分的に、可能な動きの範囲の第1のサブ部分(例えば、0~10の範囲の6~10などの後半部分)内で生じる物理的特徴の変化は、対応するアバター特徴の変更をもたらす。そのような例では、第1のサブ部分は、変更閾値を満たすか又はそれを超える範囲の部分である。
検出された第1の変化が第2の物理的特徴(例えば、1223)の変化でありかつ第2の物理的特徴の変化が第2の変化の範囲内(2116)(例えば、変更閾値を満たさないか又は超えない第1の物理的特徴値及び第2の物理的特徴値)であるという判定に従って、電子デバイス(例えば、100、300、500、600)は、第2の物理的特徴の変化を反映するように第1の方法で第2のアバター特徴の外観を変化させることを取り止める。いくつかの例では、物理的特徴の可能な動きの範囲の第2のサブ部分(例えば、0~10の範囲の0~5などの初期部分)内で完全に生じる物理的特徴の変化は、対応するアバター特徴の変更をもたらさない。そのような実施形態では、第2のサブ部分は、変更閾値を満たすか又は超えない範囲の部分である。
いくつかの例では、それぞれの物理的特徴の第1の変化の検出に応じて、検出された第1の変化が第2の物理的特徴(例えば、1223)の変化でありかつ第2の物理的特徴の変化が第2の変化の範囲内であるという判定に従って、電子デバイス(例えば、100、300、500、600)は、第2の物理的特徴の変化を反映するように第2の方法で第2のアバター特徴(例えば、1232)の外観を変化させる。いくつかの例では、第2の変化の範囲は、第2の物理的特徴の可能な動きの範囲内のサブセットを表す。いくつかの例では、サブセットは、動きの範囲の上限(例えば、0~10の可能な範囲のうち8~10の範囲、0は動きなし、10は最大の可能な動きである)に対応する。いくつかの例では、第2のアバター特徴の外観を変更する第2の方法は、第2のアバター特徴に適用される誇張された効果を含む。いくつかの例では、この誇張された効果は、第2のアバター特徴から伸びるスパイク又は突起を含む。第1の変化が第2の物理的特徴の変化でありかつ第2の物理的特徴の変化が第2の変化の範囲内にある場合、第2の物理的特徴の変化を反映するように第2のアバター特徴の外観を第2の方法で変化させると、同じ動きの範囲内で同じ物理的特徴を更に動かすことが、デバイスが第2の物理的特徴の変化が第1の変化の範囲内にあるときに行われた変化の方法とは異なるとは異なる同じ方法で第2のアバター特徴を変化させることを示すフィードバックをユーザに提供する。ユーザに改善された視覚的フィードバックを提供することは、デバイスの操作性を向上させ、ユーザとデバイスのインタフェースをより効果的にし(例えば、デバイスに意図された結果を発生させる入力を指示するフィードバックを提供することによって、ユーザが、意図された結果を達成することを支援し、デバイスを操作又はそれと対話するとき、ユーザの間違いを低減することによって)、更に、ユーザがデバイスをより素早く、効果的に使用できるようにすることによって、電力使用量を削減し、デバイスの電池寿命を改善する。
いくつかの例では、第2のアバター特徴(例えば、1232)の外観を変化させる第1の方法は、第2のアバター特徴の外観を変化させる第2の方法とは異なる。いくつかの例では、第2のアバター特徴の外観を変化させる第1の方法は、第2の物理的特徴の動きに対応する第2のアバター特徴の移動又は変更を含むのに対して、第2のアバター特徴の外観を変化させる第2の方法は、第2のアバター特徴に適用された誇張された効果を含む。いくつかの例では、この誇張された効果は、第2のアバター特徴から伸びるスパイク又は突起を含む。
いくつかの例では、それぞれの物理的特徴の第1の変化が検出されている間に表示される仮想アバターは、第1の仮想アバターテンプレート(例えば、エイリアンアバター1200に対応するアバターテンプレート)に基づいている。そのような例では、電子デバイスは、それぞれの物理的特徴の第1の変化の検出に応じて第1の仮想アバターテンプレートに基づいて仮想アバターを変更した後、第1の仮想アバターテンプレートとは異なる第2の仮想アバターテンプレート(例えば、クマアバターテンプレート1100に対応するアバターテンプレート)に基づく仮想アバターを表示しながら、第2の物理的特徴(例えば、1223)の第2の変化を検出する。更に、そのような例では、第2の物理的特徴の第2の変化の検出に応じて、電子デバイス(例えば100、300、500、600)は、第2の物理的特徴の第2の変化を反映するように第2のアバター特徴(例えば、目1132、1232)を変更し、第2のアバター特徴の外観は、第2の物理的特徴の変化が第1の変化の範囲内であるか又は第2の変化の範囲内であるかにかかわらず同じ方法で変化する。第2のアバター特徴の外観が、第2の物理的特徴の変化が第1の変化の範囲内にあるか又は第2の変化の範囲内にあるかにかかわらず同じ方法で変化するように、第2の物理的特徴の変化を反映するように第2のアバター特徴を変更すると、同じ物理的特徴のさらなる動きが、デバイスが変化の範囲に依存しない方法で第2アバター特徴を変化させることを示すフィードバックをユーザに提供する。ユーザに改善された視覚的フィードバックを提供することは、デバイスの操作性を向上させ、ユーザとデバイスのインタフェースをより効果的にし(例えば、デバイスに意図された結果を発生させる入力を指示するフィードバックを提供することによって、ユーザが、意図された結果を達成することを支援し、デバイスを操作又はそれと対話するとき、ユーザの間違いを低減することによって)、更に、ユーザがデバイスをより素早く、効果的に使用できるようにすることによって、電力使用量を削減し、デバイスの電池寿命を改善する。いくつかの例では、異なる仮想アバターテンプレートの場合、第2の物理的特徴の変化は、第2の物理的特徴の変化が第1の変化の範囲内であるか又は第2の変化の範囲内であるかに応じて第2のアバター特徴の異なる変化を引き起こすのではなく、第2のアバター特徴の滑らかな変化を引き起こす。
いくつかの例では、それぞれの物理的特徴の第1の変化の検出に応じて、検出された第1の変化が第2の物理的特徴(例えば、1223)の変化でありかつ第2の物理的特徴の変化が第1の変化の範囲内であるという判定に従って、電子デバイス(例えば、100、300、500、600)は、第2の物理的特徴の変化を反映するように第2の方法で第2のアバター特徴(例えば、1232)の外観を変化させることを取り止める。
いくつかの例では、第2の物理的特徴は、ユーザの瞼(例えば、1223の一部)を含み、第2のアバター特徴は、アバターの目(例えば、1232)を含み、第2の変化の範囲内にある(例えば、変化の範囲内の所定の閾値を超える変化(例えば、ユーザの瞼は、ユーザの瞼について可能な変化の範囲内で50%以上閉じられる))第2の物理的特徴の変化に基づいて第2の方法で第2のアバター特徴の外観を変化させることは、アバターの目のサイズを小さくすることを含む。例えば、仮想アバターがエイリアン(例えば、1200)でありかつユーザの瞼が50%以上閉じている場合、エイリアンの目1232のサイズは、エイリアンの目が閉じた位置に向かって動いているように見えるように減少し始める。いくつかの例では、ユーザの瞼が完全に閉じている(例えば、100%閉じている)場合、アバターの目は、アバターの目が完全に閉じていることを示す形状(例えば、線)によって表される。いくつかの実施形態では、第1の変化の範囲内にある(例えば、ユーザの瞼は、ユーザの瞼の可能な変化の範囲の50%未満だけ閉じられる)第2の物理的特徴の変化に基づいて第1の方法で第2のアバター特徴の外観を変化させることは、アバターの目のサイズを小さくすることを含まない。いくつかの例では、閾値の大きさは、第2の物理的特徴(ユーザの瞼など)の可能な動きの範囲の50%である。そのような例では、第1の変化の範囲は、0%から50%未満に対応し、第2の変化の範囲は、50%から100%に対応する。そのような実施形態では、第2の仮想アバター特徴(例えば、仮想アバターの目)の対応する変更は、第2の物理的特徴の変化が第2の物理的特徴の可能な動きの範囲の50%以上である場合にのみ生じる。例えば、ユーザの瞼が閾値の大きさ(例えば、50%以上閉じている)を超えて移動すると、仮想アバターの目は、ユーザの瞼の瞬間的な位置を反映するように閉位置に向かって動き始める(例えば、サイズを小さくすることにより)。
いくつかの例では、第2の物理的特徴は、ユーザの頬(例えば、1228)を含み、第2のアバター特徴は、アバターの頬(例えば、1256)を含み、第2の変化の範囲内にある(例えば、変化の範囲内で所定の閾値を超える変化(例えば、ユーザの頬は、ユーザの頬の可能な変化の範囲内の70%以上だけ膨らまされる又は拡張される))第2の物理的特徴の変化に基づいて第2の方法で第2のアバター特徴の外観を変化させることは、アバターの頬に誇張されたアバター効果(例えば、ユーザが極端な頬の膨らみを示したときに仮想アバターから伸びる突起又はスパイク1258)を導入することを含み、第1の変化の範囲内にある(例えば、ユーザの頬は、ユーザの頬の可能な変化の範囲の70%未満だけ膨らまされる又は拡張される)第2の物理的特徴の変化に基づいて第1の方法で第2のアバター特徴の外観を変化させることは、ユーザの頬の変化の大きさに基づいてアバターの頬を変更することを含む。いくつかの例では、ユーザの頬の変化の大きさに基づいてアバターの頬を変更すると、誇張されたアバター効果が導入されない。いくつかの例では、閾値の大きさは、第2の物理的特徴(ユーザの頬など)の可能な動きの範囲の70%である。そのような例では、第1の変化の範囲は、0%から70%未満に対応し、第2の変化の範囲は、70%から100%に対応する。そのような例では、第2のアバター特徴(例えば、仮想アバターの頬)における誇張されたアバター効果(例えば、スパイク又は突起)の導入は、第2の物理的特徴の変化が第2の物理的特徴の可能な動きの範囲の70%などの所定の閾値を満たすか又は超える場合にのみ生じる(例えば、ユーザの頬が閾値の大きさを超えて移動するとき(例えば、70%以上膨らんだとき))。更に、そのような例では、仮想アバター特徴(例えば仮想アバターの頬)は、第2の物理的特徴の変化が第2の物理的特徴の可能な動きの範囲の70%未満である場合(例えば、ユーザの頬が閾値の大きさ未満であるとき(例えば、70%未満だけ膨らんだとき))、第2の物理的特徴の変化の大きさに基づいて変更される。
いくつかの例では、第2の物理的特徴は、ユーザの眉毛(例えば、1222)を含み、第2のアバター特徴は、アバターの頭の上部部分を含み、第2の変化の範囲内にある(例えば、変化の範囲内の所定の閾値を超える変化(例えば、ユーザの眉毛は、ユーザの眉毛の可能な変化の範囲内で70%以上持ち上げられる))第2の物理的特徴の変化に基づいて第2の方法で第2のアバター特徴の外観を変化させることは、アバターの頭の上部部分に誇張されたアバター効果(例えば、ユーザが極端な眉毛の持ち上げを示すときに仮想アバターから伸びる突起又はスパイク1254)を導入することを含み、第1の変化の範囲内にある(例えば、ユーザの眉毛は、ユーザの眉毛の可能な変化の範囲の70%未満しか持ち上げられない)第2の物理的特徴の変化に基づいて第1の方法で第2のアバター特徴の外観を変化させることは、アバターの頭の上部部分に誇張されたアバター効果を導入することを含まない。いくつかの例では、閾値の大きさは、第2の物理的特徴(ユーザの眉毛など)の可能な動きの範囲の70%である。そのような例では、第1の変化の範囲は、0%から70%未満に対応し、第2の変化の範囲は、70%から100%に対応する。そのような実施形態では、第2のアバター特徴(例えば、仮想アバターの頭)における誇張されたアバター効果(例えば、スパイク又は突起)の導入は、第2の物理的特徴の変化が第2の物理的特徴の可能な動きの範囲の70%などの所定の閾値を満たすか又は超える場合にのみ生じる(例えば、ユーザの眉毛が閾値の大きさを超えて移動するとき(例えば、70%以上持ち上げられたとき))。更に、このような例では、第2の物理的特徴の変化が第2の物理的特徴の可能な動きの範囲の70%未満である場合(例えば、ユーザの眉毛が閾値の大きさ未満だけ動く場合(例えば、70%未満しか持ち上げられない場合))、誇張されたアバター効果は、仮想アバター特徴(例えば、仮想アバターの頭)に導入されない。
いくつかの例では、第1の物理的特徴(例えば、1220)の変化を反映するように仮想アバターの第1のアバター特徴を変更することは、第1の物理的特徴の変化の大きさ(例えば、第1の物理的特徴の位置の変化の度合い)に基づいて第1のアバター特徴を変更することを含む。第1の物理的特徴の変化の大きさに基づいて第1のアバター特徴を変更すると、同じ物理的特徴のさらなる動きが、デバイスが同じ物理的特徴の動きの大きさに基づいて第1のアバター特徴を変更することを示すフィードバックをユーザに提供する。いくつかの例では、変化の大きさは、物理的特徴の開始位置及び終了位置に基づいて決定される。いくつかの例では、変化の大きさは、変化の最大範囲内の変化の割合として決定される。更に、第2の物理的特徴の変化を反映するように第1の方法で第2のアバター特徴(例えば、1232)の外観を変更することは、第2の物理的特徴(例えば、1223)の変化の第1の大きさ(例えば、第2の物理的特徴の位置の変化の度合い)に基づいて第2のアバター特徴を変更することを含む。いくつかの例では、第2の物理的特徴の動きの大きさが大きいほど、第1の方法での第2のアバター特徴の変更量が大きくなり、第2の物理的特徴の動きの大きさが小さいほど、第1の方法での第2のアバター特徴の変更量が少なく、その逆も同様である。いくつかの例では、アバター特徴の反応の大きさは、ユーザの物理的特徴の変化の大きさに対応する。いくつかの例では、物理的特徴の変化の大きさは、物理的特徴の潜在的な動きの範囲に応じて決定され、大きさは、その物理的特徴の動きの範囲(例えば、予測された又はモデル化された動きの範囲)内の物理的特徴の相対位置を表す。そのような実施形態では、アバター特徴の反応の大きさは、同様に、アバター特徴の動きの範囲内のアバター特徴の相対位置である。いくつかの例では、変化の大きさは、変化による物理的特徴の開始位置と終了位置の比較又は測定(例えば、距離)に基づいて決定される。そのような例では、物理的特徴(例えば、第1の物理的特徴)の変化は、(例えば、直接的に又はスケーリング若しくは調整された値として)物理的特徴の変化の測定値をアバター特徴に適用することにより、第1のアバター特徴の変更に変換されることができる。更に、そのような例では、第2の物理的特徴の変化を反映するように第2の方法で第2のアバター特徴の外観を変更することは、第2の物理的特徴の変化の第2の大きさに基づいて第2のアバター特徴を変更することを含む。例えば、第2の物理的特徴の動きの大きさが大きいほど、第2の方法での第2のアバター特徴の変更量が大きくなり、第2の物理的特徴の動きの大きさが小さいほど、第2の方法での第2のアバター特徴の変更量が少なく、その逆も同様である。いくつかの例では、第2の物理的特徴の変化の第1の大きさは、第2の物理的特徴の変化の第2の大きさよりも小さい。いくつかの例では、第2の物理的特徴の変化の第1の大きさは、第2の物理的特徴の変化の第2の大きさよりも大きい。
いくつかの例では、第1の物理的特徴(例えば、1220)の変化を反映するように仮想アバターの第1のアバター特徴(例えば、1230)を変更することは、第1の物理的特徴のポーズの変化の方向(例えば、回転方向、1つ以上のカメラの視野に対する第1の物理的特徴の角度の変化の方向、又は並進移動方向)に基づいて第1のアバター特徴の少なくとも一部のポーズ(例えば、回転方向、第1のアバター特徴が表示される角度、又は表示位置)を変更することを含む。更に、そのような例では、第2の物理的特徴の変化を反映するように第1の方法で第2のアバター特徴の外観を変更することは、第2の物理的特徴のポーズの変化の方向(例えば、回転方向、1つ以上のカメラの視野に対する第2の物理的特徴の角度変化の方向、又は並進移動方向)に基づく第2のアバター特徴の少なくとも一部のポーズ(例えば、回転方向、アバター特徴が表示される角度、又は表示位置)の変更を含む。更に、そのような例では、第2の物理的特徴の変化を反映するように第2の方法で第2のアバター特徴の外観を変更することは、第2の物理的特徴のポーズの変化の方向に基づいて第2のアバター特徴の少なくとも一部のポーズを変更することを含む。
いくつかの例では、アバター特徴に対する変更は、大きさ成分と方向成分の両方を有する。いくつかの例では、アバター特徴の変更の方向成分は、アバター特徴が反応する1つ以上の物理的特徴の変化の方向成分に基づいている。いくつかの例では、アバター特徴の変化の方向成分は、物理的特徴の変化の方向成分と同じである。例えば、物理的特徴(例えば、眉毛)が上に移動すると、アバター特徴(例えば、アバターの眉毛)は上に移動する。いくつかの例では、アバター特徴の変化の方向成分は、物理的特徴の変化の方向成分に対して鏡映される。例えば、物理的特徴(例えば、口)が左に移動すると、アバター特徴(例えば、アバターの口)は右に移動する。いくつかの例では、アバター特徴の変化の方向成分は、鏡で見たときに見られる効果と同様に、縦軸に沿った動きの物理的特徴の変化の方向成分と同じであり、横軸に沿った動きに対して鏡映される。いくつかの例では、物理的特徴(例えば、ユーザの虹彩又は瞼)の相対位置の変化は、物理的特徴の中立的な静止位置から決定される方向にある。いくつかの例では、ユーザの虹彩の中立的な静止位置は、ユーザの眼球の周辺部に対して特定の位置(例えば、中央)に決定される。いくつかの例では、アバター特徴の反応の方向は、ユーザの物理的特徴の変化の相対方向に(例えば、直接的に又は逆に)対応する。いくつかの例では、物理的特徴の変化の相対方向は、物理的特徴の中立的な静止位置からの物理的特徴の移動方向に基づいて決定される。いくつかの例では、アバター特徴の反応の方向は、物理的特徴の変化の相対的な方向に直接対応する(例えば、物理的特徴が上に移動し、アバター特徴が上に移動する)。いくつかの例では、アバター特徴の反応の方向は、物理的特徴の変化の相対的な方向に逆に対応する(例えば、物理的特徴が上に移動し、アバター特徴が下に移動する)。
いくつかの例では、第2の物理的特徴(例えば、1223)の第1の変化の範囲及び第2の物理的特徴の第2の変化の範囲は、第2の物理的特徴の変化の潜在的な範囲(例えば、予測された、事前マッピングされた、又は検出可能な第2の物理的特徴の変化の範囲の全範囲)の隣接範囲であり、それぞれの物理的特徴の第1の変化は、第1の変化の範囲内の第1の部分から第2の変化の範囲内の第2の部分への遷移を含む第2の物理的特徴の変化を含み、変化の第1の部分の終了時に第2の物理的特徴の変化を反映しているときの第2のアバター特徴(例えば、1232)の外観は、変化の第2の部分の開始時に第2の物理的特徴の変化を反映しているときの第2のアバター特徴の外観と実質的に同様である。
いくつかの例では、電子デバイス(例えば、100、300、500、600)は、検出された第1の変化が第2の物理的特徴(例えば、1223)の変化でありかつ第2の物理的特徴の変化が第1の変化の範囲から第2の変化の範囲への変化(例えば、変更閾値よりも上から変更閾値よりも下への第2の物理的特徴の変化)であるという判定に従って、第2のアバター特徴の所定の構成に基づいて第2のアバター特徴(例えば、1232)を変更する。いくつかの例では、変更閾値の上から変更閾値の下への第2の物理的特徴(例えば、ユーザの瞼)の変化は、第2の物理的特徴に対応する第2のアバター特徴の中間位置を介した第2のアバター特徴の遷移なしで所定の構成に対する第2のアバター特徴(例えば、アバターの瞼)の変更をもたらす。例えば、ユーザの瞼が変更閾値を超える位置から変更閾値を下回る位置に(例えば、閉位置からわずかに開位置に)遷移するとき、アバターの瞼は、ユーザの瞼が完全に開位置に遷移するときに中間位置を横切る場合であっても、仮想瞼の中間位置(例えば、部分的に閉位置又は部分的に開位置)を横切ることなく閉位置から完全に開位置へと遷移する。
いくつかの例では、第2の物理的特徴(例えば、1223)の変化の第1の範囲及び第2の物理的特徴の第2の変化の範囲は、第2の物理的特徴の可能な変化の範囲内の隣接範囲であり、それぞれの物理的特徴の第1の変化は、第2の変化の範囲内の第1の変化部分から第1の変化の範囲内の第2の変化部分への遷移を含む第2の物理的特徴の変化を含み、第2のアバター特徴(例えば、1232)の外観は、第2の物理的特徴の変化が、第2の変化の範囲内の第1の変化部分から第1の変化の範囲内の第2の変化部分に遷移するとき、第2の物理的特徴の変化の大きさに基づく第2のアバター特徴の構成から第2のアバター特徴の所定の構成(例えば、第2の物理的特徴の変化の大きさに基づかない第2のアバター特徴の構成)へと変化する。いくつかの例では、第2の変化の範囲内の第1の変化部分(例えば、閉位置から)から第1の変化の範囲内の第2の変化部分(例えば、わずかに開位置)への第2の物理的特徴(例えば、ユーザの瞼)の変化は、第2の物理的特徴に対応する第2のアバター特徴の中間位置を介した第2のアバター特徴の遷移なしで所定の構成への第2のアバター特徴(例えば、アバターの瞼)の変更をもたらす。例えば、ユーザの瞼が閉位置からわずかに開位置に遷移するとき、アバターの瞼は、ユーザの瞼が完全に開位置に遷移するときに中間位置を横切る場合であっても、仮想瞼の中間位置(例えば、部分的に閉位置又は部分的に開位置)を横切ることなく閉位置から完全に開位置へと遷移する。
方法2100に関して上述したプロセス(例えば、図21)の詳細はまた、上述及び後述する方法2200、2300、2400、及び2500にも、類似の方法で適用可能であることに留意されたい。例えば、方法2100は、任意選択的に、方法800、900、1800、1900、2000、2200、2300、2400、及び2500に関して上述した及び後述する様々な方法の特性のうちの任意の1つ以上を含む。例えば、方法800及び900にしたがってアニメーション化されたアバターを生成、送信、及び受信する方法は、方法2100にしたがって生成された仮想アバター(例えば、物理的特徴の変化の範囲にわたって異なる挙動を示すことができる仮想アバター)を使用することができる。同様に、方法2100にしたがって生成及び/又は変更された仮想アバターは、方法800又は900の仮想アバター生成インタフェース(例えば、804、904)の仮想アバターの表示されたプレビューに含まれてもよい。他の例では、方法2100にしたがって生成された仮想アバター(例えば、物理的特徴の変化の範囲にわたって異なる挙動を示すことができる仮想アバター)もまた、方法800、900、1800、1900、2000、2200、2300、2400、及び2500の仮想アバター生成及び変更方法にしたがって生成されることができる。例えば、方法2100にしたがって生成された仮想アバターは、ポーズ(例えば、1810及び1812)の変化のタイプに応じて、異なってユーザの顔のポーズを変化させるために第2のアバター部分(例えば、1036)とは異なる反応をする第1のアバター部分(例えば、1034)を含むことができる。同様に、方法2100にしたがって生成された仮想アバターは、第1(例えば、1122)及び第2(例えば、1120A~B)の物理的特徴の両方の変化に反応する(例えば、1904、1910、1914)アバター特徴(例えば、1133)を含むことができる。簡潔にするために、さらなる例を除外する。
図22は、いくつかの実施形態による、1つ以上のカメラによって検出された顔に基づいて仮想アバターを生成するための、電子デバイスにおける方法を示すフロー図である。方法2200は、1つ以上のカメラ(例えば、164、602)及びディスプレイ装置(例えば、112、340、504、601)を備えた電子デバイス(例えば、100、300、500、600)で実行される。方法2200における一部の動作は、任意選択的に組み合わされ、一部の動作の順序は、任意選択的に変更され、一部の動作は、任意選択的に省略される。
以下に説明するように、方法2200は、必要に応じて複雑さが増すことができる(例えば、アバター特徴が増える)仮想アバターを生成する直観的な方法を提供する。本方法は、仮想アバターを生成するためのユーザの物理的及び認識的負担を軽減し、それにより、より効率的なヒューマン-マシンインタフェースを作成する。バッテリ動作式のコンピューティングデバイスの場合、ユーザがユーザアバターをより速くかつより効率的に生成することを可能にすることは、節電し、バッテリ充電の時間間隔を長くする。方法2200の例は、図10A~図10I、図11A~図11C、図12A~図12C、図13、図15A~図15B、図16A~図16B、及び図17A~図17Bを参照して説明したユーザインタフェース及び仮想アバターに見出すことができる。
電子デバイス(例えば、100、300、500、600)は、ディスプレイ装置(例えば、112、340、504、601)を介して、仮想アバター(例えば、1000、1100、1200、1300、1500、1600、1700)を表示し(2202)、仮想アバターは、1つ以上のカメラの視野内の顔の1つ以上の物理的特徴(例えば、1023、1122、1123、1223、1327、1523、1620A、1620B、1723)の変化に反応する複数のアバター特徴(例えば、1032、1132、1232、1332、1532、1630、1732)を含む。
いくつかの実施形態では、顔の複数の物理的特徴の変化を検出する前に表示される複数のアバター特徴(例えば、1032、1132、1232、1332、1532、1630、1732)は、顔の物理的特徴(例えば、目、鼻、口、及びアバターが見えるときに常に表示される他の特徴)の現在位置とは無関係に表示される。
仮想アバターの表示中に、電子デバイス(例えば、100、300、500、600)は、顔の複数の物理的特徴(例えば、1022、1020、1122、1123、1222、1223、1228、1323、1327、1522、1523、1620A、1620B、1722、1723)の変化を検出し(2204)、顔の複数の物理的特徴は、複数のアバター特徴(例えば、アバターの口又は目)のうちの任意の1つ以上に対応する第1の物理的特徴(例えば、1020、1123、1223、1323、1523、1623、1723)(例えば、ユーザの口又は目)と、複数のアバター特徴(例えば、1032、1132、1232、1332、1532、1633、1732)のいずれにも対応しない第2の物理的な機能(例えば、1022、1122、1222、1228、1327、1522、1722、1620A、1620B)(例えば、ユーザの眉毛、瞼、頬、又は唇)とを含む。そのような例では、アバターは、最初に、それぞれの眉毛、瞼、唇、又は頬なしで表示される。
顔の複数の物理的特徴(例えば、1022、1020、1122、1123、1222、1223、1228、1323、1327、1522、1523、1620A、1620B、1722、1723)の変化の検出に応じて(2206)、電子デバイス(例えば、100、300、500、600)は、複数のアバター特徴のそれぞれのアバター特徴(例えば、1032、1030、1132、1232、1332、1532、1630、1732)の外観を変化させ(2208)、それぞれのアバター特徴の変化の大きさ及び/又は(例えば、包括的な「又は」)方向は、第1の物理的特徴の変化の大きさ又は方向(大きさ及び方向のうちの少なくとも一方)に基づいている。それぞれのアバター特徴の変化の大きさ及び/又は方向が第1の物理的特徴の変化の大きさ又は方向に基づくようにそれぞれのアバター特徴の外観を変更することは、同じ物理的特徴のさらなる動きが、デバイスが同じ物理的特徴のさらなる動きの変化の方向又は大きさに基づいて、それぞれのアバター特徴の外観を変更させることを示すフィードバックをユーザに提供する。ユーザに改善された視覚的フィードバックを提供することは、デバイスの操作性を向上させ、ユーザとデバイスのインタフェースをより効果的にし(例えば、デバイスに意図された結果を発生させる入力を指示するフィードバックを提供することによって、ユーザが、意図された結果を達成することを支援し、デバイスを操作又はそれと対話するとき、ユーザの間違いを低減することによって)、更に、ユーザがデバイスをより素早く、効果的に使用できるようにすることによって、電力使用量を削減し、デバイスの電池寿命を改善する。
更に、顔の複数の物理的特徴(例えば、1022、1020、1122、1123、1222、1223、1228、1323、1327、1522、1523、1620A、1620B、1722、1723)の変化の検出に応じて(2206)、電子デバイス(例えば、100、300、500、600)は、顔の1つ以上の物理的特徴(例えば、1038、1050、1138、1139、1250、1254、1256、1258、1339、1348、1538、1531、1633、1645、1738)の変化を検出する前にアバター特徴を含まなかった仮想アバターの一部を変形し(2210)(例えば、仮想アバターの眉毛のない額領域の変形)し、アバター特徴の部分を変形させる大きさ及び/又は方向は、第2の物理的特徴の変化の大きさ及び/又は方向に基づいている。いくつかの例では、顔の複数の物理的特徴の変化を検出する前に、変形した仮想アバターの部分が表示された(例えば、1つ以上の物理的特徴において閾値を超える量の眉毛の動きが検出された場合、アバターの頭の上部とアバターの目との間の領域が変形されて眉毛を形成する)。複数の物理的特徴の変化の検出に応じて、顔の1つ以上の物理的特徴の変化を検出する前にアバター特徴を含まなかった仮想アバターの一部を変形させることにより、同じ物理的特徴のさらなる移動が、デバイスが仮想アバターの一部を変形することによって新たなアバター特徴を導入させることを示すフィードバックをユーザに提供する。ユーザに改善された視覚的フィードバックを提供することは、デバイスの操作性を向上させ、ユーザとデバイスのインタフェースをより効果的にし(例えば、デバイスに意図された結果を発生させる入力を指示するフィードバックを提供することによって、ユーザが、意図された結果を達成することを支援し、デバイスを操作又はそれと対話するとき、ユーザの間違いを低減することによって)、更に、ユーザがデバイスをより素早く、効果的に使用できるようにすることによって、電力使用量を削減し、デバイスの電池寿命を改善する。
いくつかの例では、1つ以上の物理的特徴は、第3の物理的特徴(例えば、1022、1122、1222、1327、1522、1722、1620A、1620B)(例えば、ユーザの眉毛、唇、又は瞼)を含む。そのような例では、第3の物理的特徴の第1の物理的特徴値は、第1のアバター特徴包含閾値(例えば、0~10の可能な大きさの範囲で1以上の大きさを有する)を下回り、仮想アバターは、第3の物理的特徴に少なくとも部分的に反応する第1のアバター特徴(例えば、1038、1050、1138、1139、1250、1254、1256、1258、1339、1348、1538、1531、1633、1645、1738)(例えば、最初に表示されないそれぞれのアバター特徴とは異なるアバター特徴(例えば、アバターの瞼))を含まないとき、電子デバイス(例えば、100、300、500、600)は、第1の物理的特徴値から第2の物理的特徴値への第3の物理的特徴の変化を検出する。そのような例では、第1のアバター特徴包含閾値を満たすか又はそれを超える第3の物理的特徴の第2の物理的特徴値に応じて、電子デバイス(例えば、100、300、500、600)は、第1のアバター特徴(例えば、1038、1050、1138、1139、1250、1254、1256、1258、1339、1348、1538、1531、1633、1645、1738)(例えば、ユーザの瞼が位置変更閾値以上の値に位置を変化させた(例えば、移動)ときに以前に表示されなかったアバターの瞼を導入する)を含むように仮想アバターを変更する。更に、そのような例では、第1のアバター特徴包含閾値を満たさないか又は超えない第3の物理的特徴の第2の物理的特徴値に応じて、電子デバイス(例えば、100、300、500、600)は、第1のアバター特徴(例えば、アバターは、アバターの瞼、唇、又は眉毛なしで表示され続ける)を含むように仮想アバターを変更することを取り止める。第1のアバター特徴包含閾値を満たすか又はそれを超える第3の物理的特徴の第2の物理的特徴値に応じて第1のアバター特徴を含むように仮想アバターを変更すると、表示されたユーザインタフェースコントロール(例えば、タッチコントロール)要素を必要とせずに仮想アバターの特徴への変更の包含を制御するオプションをユーザに提供する。追加の制御によりユーザインタフェースを雑然とさせることなく追加の制御オプションを提供することにより、デバイスの操作性が改善され、ユーザ-デバイスインタフェースを(例えば、デバイスを操作/対話するときに適切な入力を提供するようにユーザを支援し、ユーザの誤りを削減することによって)更に効率的にし、更に、ユーザがデバイスをより素早く、効果的に使用できるようにすることによって、電力使用量を削減し、デバイスの電池寿命を改善する。
いくつかの例では、第3の物理的特徴は、ユーザの目(例えば、1123)の少なくとも一部を含み、第1のアバター特徴(例えば、1138)は、アバターの眉毛(例えば、顔の複数の物理的特徴の変化を検出する前に表示されないアバターの眉毛)の少なくとも一部を含み、第1のアバター特徴包含閾値は、ユーザの目の少なくとも一部のサイズ(例えば、目の開放性の大きさ(最大範囲の割合など))が閾値サイズ値よりも大きいときに満たされるか又は超えられる。そのような例において、第1のアバター特徴を含むように仮想アバターを変更することは、アバターの眉毛の少なくとも一部を含むように仮想アバターを変更することを含む(例えば、アバターの眉毛は、アバターに追加される)。いくつかの例では、追加されたアバターの眉毛は、位置が高くなっている。
いくつかの例では、第3の物理的特徴は、ユーザの目(例えば、1127)の少なくとも一部を含み、第1のアバター特徴は、アバターの眉毛又は瞼(例えば、1148)(例えば、顔の複数の物理的特徴の変化を検出する前に表示されないアバターの眉毛又は瞼)の少なくとも一部及びとアバターの頬(例えば、1139)(例えば、顔の複数の物理的特徴の変化を検出する前に表示されないアバターの頬骨)の少なくとも一部を含む。そのような例では、第1のアバター特徴包含閾値は、ユーザの目の少なくとも一部のサイズ(例えば、目の開放性の大きさ(最大範囲の割合など))が閾値サイズ値よりも小さい場合に満たされるか又は超えられる。更に、そのような例では、第1のアバター特徴を含むように仮想アバターを変更することは、少なくともアバターの眉毛又は瞼の一部及び少なくともアバターの頬の一部を含むように仮想アバターを変更することを含む。例えば、図11Cに示すように、アバターの眉毛又は瞼がアバターに追加され、アバターの頬骨がアバターの目の下の位置に追加される。いくつかの例では、追加されたアバターの眉毛は、位置が低くなっている。
いくつかの例では、第3の物理的特徴は、ユーザの眉毛(例えば、1222)の少なくとも一部を含み、第1のアバター特徴は、1つ以上の突起(例えば、1254)を含み、第1のアバター特徴包含閾値は、ユーザの眉毛の少なくとも一部の垂直変位の大きさ(例えば、ユーザの頭の上部に向かう垂直方向の眉毛の動きの大きさ(最大範囲の割合など))が閾値偏移よりも大きい場合に満たされるか又は超えられ、第1のアバター特徴を含むように仮想アバターを変更することは、アバターの頭の少なくとも上部部分に配置された1つ以上の突起を含むように仮想アバターを変更することを含む。例えば、1つ以上のスパイク又は突起が、図12Bに示すようにアバターの頭の上部から伸びている。
いくつかの例では、第3の物理的特徴は、ユーザの頬(例えば、1228)の少なくとも一部を含み、第1のアバター特徴は、1つ以上の突起(例えば、1258)を含み、第1のアバター特徴包含閾値は、ユーザの頬の少なくとも一部が閾値拡大値(例えば、頬の膨らみの大きさ(最大範囲の割合など))よりも大きく拡大される場合に満たされるか又は超えられ、第1のアバター特徴を含むように仮想アバターを変更することは、アバターの頬の少なくとも一部に配置された1つ以上の突起を含むように仮想アバターを変更することを含む。例えば、1つ以上のスパイク又は突起が、図12Bに示すようにアバターの頬から伸びている。
いくつかの例では、第3の物理的特徴は、ユーザの眉毛(例えば、1222)の少なくとも一部を含み、第1のアバター特徴は、仮想アバター(例えば、1240A、1240B)の下部部分(例えば、ベース又は首下部部分)の周りの仮想アバターの湾曲した向きの上部部分(例えば、仮想アバターの「顔」又は「頭部分」)を含み、第1のアバター特徴包含閾値は、ユーザの眉毛の少なくとも一部の垂直変位の大きさ(例えば、ユーザの頭の上部から離れる垂直方向の眉毛の動きの大きさ(最大範囲の割合など))が変位閾値値(例えば、変位閾値は、ユーザの眉毛の片方又はユーザの眉毛の両方をひそめるポーズに対応するユーザの眉毛の相対位置である)よりも大きい場合に満たされるか又は超えられ、第1のアバター特徴を含むように仮想アバターを変更することは、仮想アバターの下部部分の周りに湾曲するように仮想アバターの上部部分を変更することを含む(例えば、仮想アバターの下部部分(例えば、ベース又は首下部部分)の周りに湾曲した向きを有することによって仮想アバターの顔又は頭が垂れ下がる)。いくつかの例では、1つ以上のアバター特徴(例えば、1230、1240A、1240B)は、アバターの垂れ下がったポーズがアバター特徴の垂れ下がりを含むように湾曲した向きを有する。いくつかの例では、仮想アバターの上部部分は、仮想アバターの下部部分よりも下に垂れ下がっている(例えば、仮想アバターの下縁部の1つ以上の角は、仮想アバターの顔のレベルよりも下に垂れ下がっている)。そのような例の1つが図10Aの1011Cに示されている。
いくつかの例では、第1の物理的特徴は、ユーザの目(例えば、1023、1123、1523、1723)の少なくとも一部を含み、それぞれのアバター特徴は、アバターの目(1032、1132、1532、1732)の少なくとも一部を含み、第2の物理的特徴は、ユーザの眉毛(1022、1122、1522、1722)の少なくとも一部を含む。そのような実施形態では、顔の複数の物理的特徴の変化を検出することは、ユーザの目の開口の少なくとも一部をより広く検出するとともに(例えば、ユーザの目が開いて中立的な静止位置にあるときにユーザの目の見える量と比較したときの見える量が大きいユーザの目)、持ち上がるユーザの眉毛の少なくとも一部を検出することを含む(例えば、眉毛は、眉毛の中立的な静止位置に対して(例えば、ユーザの目から離れる又はユーザの頭の上部に向かう方向において)垂直に変位した位置を有する)。いくつかの例では、ユーザの目の広がりの検出は、ユーザの上瞼の位置に関連付けられている。そのような例では、判定は、ユーザの上瞼が、ユーザの目が開いたときの瞼の中立的な静止位置と比較した場合に垂直に変位する位置を有するかどうかに基づいている。瞼がユーザの頭の上部に向かう方向に垂直に変位すると、目が広がっているか又は開いている(又は開方向に動いている)と見なされる。逆に、瞼がユーザの頬に向かう方向に垂直に変位した場合、目は狭くなっているか又は閉じている(又は閉方向に移動している)と見なされる。更に、そのような実施形態では、それぞれのアバター特徴の外観を変更することは、アバターの目の少なくとも一部をより広く開くことを含み(例えば、アバターの目は、顔の1つ以上の物理的特徴の変化を検出する前に見えていたアバターの目をより多く表示する(又はアバターの目のサイズを大きくする)ように変更される)、顔の1つ以上の物理的特徴の変化を検出する前にアバター特徴を含まなかった仮想アバターの一部を変形することは、アバターの眉毛の特徴(例えば、1038、1138、1538、1738)を導入することによってアバターの目の少なくとも一部の上に仮想アバターの一部を変形することを含む(例えば、アバターの眉毛は、ユーザの眉毛の上げられた位置に対応する位置においてアバターに追加される)。
いくつかの例では、第1の物理的特徴は、ユーザの目(例えば、1127)の少なくとも一部を含み、それぞれのアバター特徴は、アバターの目(例えば、1132)の少なくとも一部を含み、第2の物理的特徴は、ユーザの眉毛(例えば、1122)の少なくとも一部を含み、顔の複数の物理的特徴の変化を検出することは、ユーザの目の狭まりの少なくとも一部を検出するとともに(例えば、ユーザの目が開いており中立的な静止位置にあるときに見えるユーザの目の量と比較したときにユーザの目により少ない量が見える)、ユーザの眉毛の少なくとも一部が下がっていることを検出することを含む(例えば、(例えば、ユーザの目へ向かう又はユーザの頭の上部から離れる方向において)眉毛が眉毛の中立的な静止位置に対して垂直に変位した位置を有する)。いくつかの例では、ユーザの目の狭まりの検出は、ユーザの上瞼の位置に関連付けられている。そのような例では、判定は、ユーザの上瞼が、ユーザの目が開いたときの瞼の中立的な静止位置と比較した場合に垂直に変位する位置を有するかどうかに基づいている。上瞼がユーザの頬に向かう方向に垂直に変位した場合、目は狭くなっているか又は閉じている(又は閉若しくは狭方向に移動している)と見なされる。逆に、上瞼がユーザの頭の上部に向かう方向に垂直に変位すると、目が広がっているか又は開いている(又は開若しくは広方向に動いている)と見なされる。いくつかの例では、ユーザの目の狭さの検出は、ユーザの上瞼の位置に関連付けられている。そのような実施形態では、判定は、ユーザの下瞼が、ユーザの目が開いたときの瞼の中立的な静止位置と比較した場合に垂直に変位する位置を有するかどうかに基づいている。下瞼がユーザの頬から離れる方向に垂直に変位した場合、目は狭くなっているか又は閉じている(又は閉若しくは狭方向に移動している)と見なされる。そのような実施形態では、それぞれのアバター特徴の外観を変更することは、アバターの目の少なくとも一部を閉じることを含む(例えば、アバターの目は、顔の1つ以上の物理的特徴の変化を検出する前に見えていたよりも少ない量のアバターの目を表示するように変更される)。いくつかの例では、アバターの目を閉じることは、アバターの瞼を導入することを含み、アバターの瞼は、閉位置にあるか又は閉位置に向かって移動する。いくつかの例では、アバターの目を閉じることは、表示されている瞼を閉位置に移動することを含む。いくつかの例では、アバターの目を閉じると、アバターの目のサイズが小さくなる。そのような実施形態では、アバターの目のサイズの縮小は、アバターの瞼のサイズの縮小を含むことができる。更に、そのような実施形態では、顔の1つ以上の物理的特徴の変化を検出する前にアバター特徴を含まなかった仮想アバターの一部を変形することは、アバターの眉毛又は瞼の特徴(例えば、1148)を導入することによって少なくともアバターの目の一部の上の仮想アバターの一部を変形するとともに(例えば、アバターの眉毛又は瞼は、ユーザの眉毛の下降位置に対応する位置に追加される)、アバターの頬の特徴(例えば、1139)を導入することによってアバターの目の少なくとも一部の下の仮想アバターの一部を変形することを含む(例えば、アバターの頬骨は、アバターの目の下の位置でアバターに追加される)。
いくつかの例では、第1の物理的特徴は、ユーザの目(例えば、1323)の少なくとも一部を含み、それぞれのアバター特徴は、アバターの目(例えば、1332)の少なくとも一部を含み、第2の物理的特徴は、ユーザの瞼(例えば、1327)の少なくとも一部を含み、顔の複数の物理的特徴の変化を検出することは、ユーザの目の狭まりの少なくとも一部を検出するとともに(例えば、ユーザの目が開いており中立的な静止位置にあるときに見えるユーザの目の量と比較したときにユーザの目により少ない量が見える)、ユーザの瞼の少なくとも一部が下がっていることを検出することを含む(例えば、瞼は、ユーザの目が開いているときに瞼の中立的な静止位置に対して垂直に変位した位置を有する)。いくつかの例では、ユーザの目の狭まりの検出は、ユーザの上瞼の位置に関連付けられている。そのような例では、判定は、ユーザの上瞼が、ユーザの目が開いたときの瞼の中立的な静止位置と比較した場合に垂直に変位する位置を有するかどうかに基づいている。上瞼がユーザの頬に向かう方向に垂直に変位した場合、目は狭くなっているか又は閉じている(又は閉若しくは狭方向に移動している)と見なされる。逆に、上瞼がユーザの頭の上部に向かう方向に垂直に変位すると、目が広がっているか又は開いている(又は開若しくは広方向に動いている)と見なされる。いくつかの例では、ユーザの目の狭さの検出は、ユーザの上瞼の位置に関連付けられている。そのような実施形態では、判定は、ユーザの下瞼が、ユーザの目が開いたときの瞼の中立的な静止位置と比較した場合に垂直に変位する位置を有するかどうかに基づいている。下瞼がユーザの頬から離れる方向に垂直に変位した場合、目は狭くなっているか又は閉じている(又は閉若しくは狭方向に移動している)と見なされる。いくつかの例では、ユーザの瞼は、上瞼である。そのような実施形態では、上瞼がユーザの頬に向かう方向に垂直に変位した場合、目は狭くなっているか又は閉じている(又は閉若しくは狭方向に移動している)と見なされる。いくつかの例では、ユーザの瞼は、下瞼である。そのような例では、下瞼がユーザの頬から離れる方向に垂直に変位した場合、目は狭くなっているか又は閉じている(又は閉若しくは狭方向に移動している)と見なされる。そのような実施形態では、それぞれのアバター特徴の外観を変更することは、アバターの目の少なくとも一部を閉じることを含み(例えば、アバターの目は、顔の1つ以上の物理的特徴の変化を検出する前に見えていたよりも少ない量のアバターの目を表示するように変更される)、顔の1つ以上の物理的特徴の変化を検出する前にアバター特徴を含まなかった仮想アバターの一部を変形することは、アバターの瞼の特徴(例えば、1348、1339)を導入することによってアバターの目の一部を変形することを含む(例えば、アバターに瞼は、アバターに追加される)。いくつかの例では、アバターの目を閉じると、アバターの目のサイズが小さくなる。そのような例では、アバターの目のサイズの縮小は、アバターの瞼のサイズの縮小を含むことができる。いくつかの例では、アバターの瞼は、閉位置に導入されるか又は閉位置に向かって移動する。
いくつかの例では、第1の物理的特徴は、ユーザの唇(例えば、1029、1229、1520A、1520B、1620A、1620B)の少なくとも一部を含み、それぞれのアバター特徴は、アバターの口(例えば、1030、1230、1530、1630)の少なくとも一部を含み、顔の複数の物理的特徴の変化を検出することは、しかめたポーズを有するユーザの唇の少なくとも一部を検出することを含み、それぞれのアバター特徴の外観を変更することは、しかめたポーズを有するアバターの唇のセット(例えば、1050、1250、1531、1645)を含むようにアバターの口の少なくとも一部を変更することを含む。例えば、アバターの口は、すぼめた唇を含む所定の構成を有する異なるアバター特徴(例えば、唇のセット)に遷移する。
いくつかの例では、第1の物理的特徴は、ユーザの唇(例えば、1620A、1620B)の少なくとも一部を含み、それぞれのアバター特徴は、アバターのくちばし(例えば、1630)の少なくとも一部を含み、顔の複数の物理的特徴の変化を検出することは、しかめたポーズを有するユーザの唇の少なくとも一部を検出することを含み、それぞれのアバター特徴の外観を変更することは、しかめたポーズを有するアバターの唇のセット(例えば、1645)を含むようにアバターのくちばしの少なくとも一部を変更することを含む。例えば、アバターのくちばしの先端は、すぼめた唇を含む所定の構成を有する異なるアバター特徴(例えば、唇のセット)に遷移する。
いくつかの例では、1つ以上の物理的特徴は、複数のアバター特徴(例えば、初期アバター特徴1232、1230)のいずれにも対応しない第3の物理的特徴(例えば、ユーザの頬1228)を含む。そのような例では、電子デバイス(例えば、100、300、500、600)は、顔の1つ以上の物理的特徴の変化を検出する前に、アバター特徴を含まない仮想アバターの第2の部分(例えば、頬部1256)を変形し、アバター特徴の第2の部分の変形の大きさ又は方向は、第3の物理的特徴の変化の大きさ又は方向に基づいている。例えば、中立状態では、アバター(例えば、エイリアンアバター1200)は、第3の物理的特徴(例えば、ユーザの頬1228)に対応するアバター特徴(例えば、アバターの頬1256)を含まない。いくつかの例では、この追加のアバター特徴は、第3の物理的機能において変化が検出されたときに表示される(例えば、ユーザは、頬を拡張し、アバターは、拡張した頬を含むように変更される)。そのような実施形態では、仮想アバターは、複数のユーザ特徴に対応する複数のアバター特徴(例えば、アバターの眉毛、アバターの頬など)を導入するように変更されることができる。顔の1つ以上の物理的特徴の変化を検出する前にアバター特徴を含まなかった仮想アバターの第2の部分を変形し、変形の大きさ又は方向は、第3の物理的特徴の変化の大きさ又は方向に基づいており、同じ物理的特徴のさらなる動きが、デバイスが同じ物理的特徴のさらなる動きの変化の方向又は大きさに基づいてアバター特徴の第2の部分を変形させることを示すフィードバックをユーザに提供する。ユーザに改善された視覚的フィードバックを提供することは、デバイスの操作性を向上させ、ユーザとデバイスのインタフェースをより効果的にし(例えば、デバイスに意図された結果を発生させる入力を指示するフィードバックを提供することによって、ユーザが、意図された結果を達成することを支援し、デバイスを操作又はそれと対話するとき、ユーザの間違いを低減することによって)、更に、ユーザがデバイスをより素早く、効果的に使用できるようにすることによって、電力使用量を削減し、デバイスの電池寿命を改善する。
いくつかの実施形態では、第2の物理的特徴は、ユーザの瞼(例えば、1227)の少なくとも一部を含み、第3の物理的特徴は、ユーザの頬(例えば、1228)の少なくとも一部を含み、顔の複数の物理的特徴の変化を検出することは、ユーザの閉じた瞼の少なくとも一部(例えば、瞼は、ユーザの眼球の一部がほとんど又は全く見えない閉じた位置を有する)と、ユーザの頬の少なくとも一部の変化(例えば、ユーザが頬を膨らませる、又は拡張する)とを検出することを含む。そのような実施形態では、顔の1つ以上の物理的特徴の変化を検出する前にアバター特徴を含まなかった仮想アバターの一部を変形することは、アバターの瞼特徴(例えば、目に関連付けられた瞼1232)を導入することにより仮想アバターの一部を変形することを含む。例えば、アバターの瞼は、アバターに追加される。いくつかの例では、アバターの瞼は、閉位置に導入される(例えば、仮想アバターがエイリアンの場合)。更に、そのような実施形態では、顔の1つ以上の物理的特徴の変化を検出する前にアバター特徴を含まなかった仮想アバターの第2の部分を変形することは、頬特徴(例えば、1256)を導入することにより仮想アバターの第2の部分を変形することを含む。例えば、仮想アバターは、図12Bに示すように、膨らんだ、又は拡張したポーズを有するアバターの頬を含むように変更される。
いくつかの例では、第2の物理的特徴は、ユーザの眉毛(例えば、1222)の少なくとも一部を含み、顔の複数の物理的特徴の変化を検出することは、持ち上がっているユーザの眉毛の少なくとも一部を検出することを含み(例えば、眉毛は、眉毛の中立的な静止位置に対して(例えば、ユーザの目から離れる又はユーザの頭の上部に向かう方向において)垂直に変位する位置を有する)、顔の1つ以上の物理的特徴の変化を検出する前にアバター特徴を含まなかった仮想アバターの一部を変形することは、アバターの頭の上部部分から伸びる1つ以上の突起(例えば、1254)を導入することによってアバターの頭の上部部分(例えば、仮想アバターの頭の上部部分)を変形することを含む。例えば、1つ以上のスパイク又は突起1254が、図12Bの1212Bに示すようにアバターの頭の上部から伸びている。持ち上がったユーザの眉毛に基づいて1つ以上の突起を含むようにアバターの頭の上部部分を変形すると、追加の表示されたコントロール又は入力(例えば、タッチ入力)を必要とせずに新たなアバター特徴を導入するための効率的な制御をユーザに提供する。表示される追加コントローラによってUIを雑然とさせることなく、追加任意選択的制御を提供することにより、デバイスの操作性が高められ、ユーザ-デバイスインタフェースを(例えば、デバイスを操作する/デバイスと対話するときに適切な入力をもたらすようにユーザを支援し、ユーザの誤りを減らすことによって)より効率的にし、更に、ユーザがデバイスをより素早く、効果的に使用できるようにすることによって、電力使用量を削減し、デバイスの電池寿命が改善される。
いくつかの例では、第1の物理的特徴は、ユーザの頬(例えば、1228)の少なくとも一部を含み、それぞれのアバター特徴は、アバターの頬(例えば、1256)の少なくとも一部を含み、顔の複数の物理的特徴の変化を検出することは、拡張されたポーズを有するユーザの頬の少なくとも一部を検出することを含み(例えば、ユーザの頬は、ユーザが頬を空気で膨らませると、拡張されたポーズを有する)、それぞれのアバター特徴の外観を変化させることは、アバターの頬から延びる1つ以上の突起(例えば、1258)を含むようにアバターの頬の少なくとも一部を変更することを含む。例えば、1つ以上のスパイク又は突起1258が、図12Bの1212Dに示すようにアバターの頬から伸びている。ユーザの頬の変化に基づいて1つ以上の突起を含むようにアバターの頬の少なくとも一部を変更すると、追加の表示されたコントロール又は入力(例えば、タッチ入力)を必要とせずに新たなアバター特徴を導入するための効率的な制御をユーザに提供する。表示される追加コントローラによってUIを雑然とさせることなく、追加任意選択的制御を提供することにより、デバイスの操作性が高められ、ユーザ-デバイスインタフェースを(例えば、デバイスを操作する/デバイスと対話するときに適切な入力をもたらすようにユーザを支援し、ユーザの誤りを減らすことによって)より効率的にし、更に、ユーザがデバイスをより素早く、効果的に使用できるようにすることによって、電力使用量を削減し、デバイスの電池寿命が改善される。
方法2200に関して上述したプロセス(例えば、図22)の詳細はまた、上述及び後述する方法2300、2400、及び2500にも、類似の方法で適用可能であることに留意されたい。例えば、方法2200は、任意選択的に、方法800、900、1800、1900、2000、2100、2300、2400、及び2500に関して上述した及び後述する様々な方法の特性のうちの任意の1つ以上を含む。例えば、方法800及び900にしたがってアニメーション化されたアバターを生成、送信、及び受信する方法は、方法2200にしたがって生成された仮想アバター(例えば、必要に応じて複雑さを増加する(例えば、アバター特徴を増加する)ことができる仮想アバター)を使用することができる。同様に、方法2200にしたがって生成及び/又は変更された仮想アバターは、方法800又は900の仮想アバター生成インタフェース(例えば、804、904)の仮想アバターの表示されたプレビューに含まれてもよい。他の例では、方法2200にしたがって生成された仮想アバター(例えば、必要に応じて複雑さを増加する(例えば、アバター特徴を増加する)ことができる仮想アバター)もまた、方法800、900、1800、1900、2000、2100、2300、2400、及び2500の仮想アバター生成及び変更方法にしたがって生成されることができる。例えば、方法2200にしたがって生成された仮想アバターは、ポーズ(例えば、1810及び1812)の変化のタイプに応じて、異なってユーザの顔のポーズを変化させるために第2のアバター部分(例えば、1036)とは異なる反応をする第1のアバター部分(例えば、1034)を含むことができる。同様に、方法2200にしたがって生成された仮想アバターは、第1(例えば、1122)及び第2(例えば、1120A~B)の物理的特徴の両方の変化に反応する(例えば、1904、1910、1914)アバター特徴(例えば、1133)を含むことができる。簡潔にするために、さらなる例を除外する。
図23は、いくつかの実施形態による、1つ以上のカメラによって検出された顔に基づいて仮想アバターを生成するための、電子デバイスにおける方法を示すフロー図である。方法2300は、1つ以上のカメラ(例えば、164、602)及びディスプレイ装置(例えば、112、340、504、601)を備えた電子デバイス(例えば、100、300、500、600)で実行される。方法2300における一部の動作は、任意選択的に組み合わされ、一部の動作の順序は、任意選択的に変更され、一部の動作は、任意選択的に省略される。
以下で説明するように、方法2300は、ユーザの動きと比較して誇張された動きを示すことができる仮想アバターを生成するための直感的な方法を提供する。本方法は、仮想アバターを生成するためのユーザの物理的及び認識的負担を軽減し、それにより、より効率的なヒューマン-マシンインタフェースを作成する。バッテリ動作式のコンピューティングデバイスの場合、ユーザがユーザアバターをより速くかつより効率的に生成することを可能にすることは、節電し、バッテリ充電の時間間隔を長くする。方法2300の例は、図10A~図10I、図12A~図12C、図14A~図14D、及び図17A~図17Bを参照して説明したユーザインタフェース及び仮想アバターにおいて見出すことができる。
電子デバイス(例えば、100、300、500、600)は、ディスプレイ装置(例えば、112、340、504、601)を介して、1つ以上のカメラの視野内の顔の第1の物理的特徴(例えば、1020、1223、1420、1420A、1420B、1720)の変化に反応する第1のアバター特徴(例えば、1030、1232、1430、1430L、1430U、1736)を含む仮想アバター(例えば、1000、1200、1400、1700)を表示する(2302)。
仮想アバター(例えば、1000、1200、1400、1700)を表示している間、電子デバイス(例えば、100、300、500、600)は、第1の物理的特徴の変化の大きさを有する第1の物理的特徴(例えば、1020、1223、1420、1420A、1420B、1720)の変化を検出する(2304)。
第1の物理的特徴の変化の検出に応じて、電子デバイス(例えば、100、300、500、600)は、以下の動作のうちの任意の1つ以上を実行することができる。第1の物理的特徴(例えば、1020、1223、1420、1420A、1420B、1720)の変化が物理的特徴値の第1の範囲内にあるという判定に従って、電子デバイス(例えば、100、300、500、600)は、第1の物理的特徴の変化の大きさ(例えば、第1の物理的特徴の第1の変化の範囲について、アバター特徴の変化は、通常又は低減率で変化する)に基づく第1のアバター特徴の変化の大きさ(例えば、第1の物理的特徴の変化の大きさに基づくが必ずしも等しくはないアバター特徴の変化の度合い)だけ、第1のアバター特徴(例えば、1030、1232、1430、1430L、1430U、1736)を変化させる。いくつかの例では、物理的特徴の変化の大きさに乗数値を適用することにより、アバター特徴の変化の大きさに到達する。第1の物理的特徴(例えば、1020、1223、1420、1420A、1420B、1720)の変化が、第1の物理的特徴値の範囲とは異なる(例えば、より大きい)第2の物理的特徴値の範囲内にあるという判定に従って、電子デバイス(例えば、100、300、500、600)は、第1のアバター特徴の変化の大きさとは異なり(例えば、より大きい)かつ第1の物理特徴の変化の大きさ(例えば、第1の物理的特徴の第2の変化の範囲について、アバター特徴の変化は、誇張率で変化する)に基づく第2のアバター特徴の変化の大きさだけ、第1のアバター特徴(例えば、1030、1232、1430、1430L、1430U、1736)を変化させる。いくつかの実施形態では、第1の物理的特徴値の範囲と第2の物理的特徴値の範囲は重複しない。物理的特徴値の変化の範囲に応じて変化する変化の大きさだけ第1のアバター特徴を変化させると、電子デバイスによって検出された物理的特徴変化データの状態と、検出された変化データが第1又は第2の物理的特徴値の範囲内にあるかどうかに関するフィードバックをユーザに提供する。ユーザに改善された視覚的フィードバックを提供することにより、デバイスの操作性を向上させ、(例えば、デバイスを操作する/デバイスと対話するときに適切な入力を提供するようにユーザを支援し、ユーザの誤りを削減することによって)ユーザデバイスインタフェースをより効率的にし、更に、ユーザがデバイスをより素早く、効果的に使用できるようにすることによって、電力使用量を削減し、デバイスの電池寿命を改善する。
いくつかの例では、第1のアバター特徴は、アバターの唇又は口(例えば、1030、1430、1430L、1430U、又はその一部)であり、顔の第1の物理的な特徴は、ユーザの唇又は口(例えば、1020、1420、1420A、1420B、又はその一部)であり、第1の物理的特徴値の範囲は、ユーザの唇の弛緩状態に対応する弛緩状態値(例えば、デフォルト値、初期値)を含み、第2の物理的特徴値の範囲は、ユーザの唇の変位状態(例えば、唇が偏移した状態(又は、弛緩、初期、又は中立状態と比較して更に偏移した))に対応する第1の変位状態値(例えば、弛緩状態値よりも大きい値(例えば、可能な変位の範囲内の50%変位))を含み、第1のアバター特徴の変化の大きさは、第2のアバター特徴の変化の大きさよりも小さい。いくつかの例では、弛緩状態値は、潜在的な動きの範囲内の最小の動きの値である(例えば、0%の動きの値)。いくつかの例では、第1の変位状態値は、最大変位状態値である。いくつかの例では、最大変位状態値は、潜在的な動きの範囲内(例えば、100%移動値)の最大移動値(例えば、最大予測移動値、最大追跡移動値)である。
いくつかの例では、物理的特徴(ユーザの唇など)が弛緩状態から最大変位状態に近い状態に変化すると、第1のアバター特徴(アバターの唇など)の変化がより誇張される。その結果、弛緩した状態に対して物理的特徴の変化が大きくなると、ユーザの物理的特徴の変化と比較して、アバター特徴の変化がより誇張される。いくつかの例では、第1の物理的特徴の変化の大きさに1以下の乗数を適用することにより、第1のアバター特徴の変化の大きさに到達し、第1の物理的特徴の変化の大きさに1よりも大きい乗数を適用することにより、第2のアバター特徴の変化の大きさに到達する。ユーザの口が弛緩した状態を超えて移動するときに、仮想アバターの口を大きく変化させると、アバターの口の変化を増幅する方法がユーザに提供される。更なるユーザ入力を必要とせずに、条件のセットが満たされたときに操作(例えば、アバターの口の増幅した変化)を行うことにより、デバイスの操作性が改善され、ユーザデバイスインタフェースを(例えば、デバイスを操作/対話するときに適切な入力を提供するようにユーザを支援し、ユーザの誤りを削減することによって)更に効率的にし、更に、ユーザがデバイスをより素早く、効果的に使用できるようにすることによって、電力使用量を削減し、デバイスの電池寿命を改善する。
いくつかの例では、ユーザの口(例えば、1020、1420、1420A、1420B、又はその一部)の弛緩状態は、第1のユーザの口の形状(例えば、人間の口によって形成される閉じた又はほぼ閉じた形状)を有し、ユーザの口の変位した状態は、第2のユーザの口の形状(例えば、人間の口によって形成される開いた又はほとんど開いた形状)を有し、第1のアバター特徴の変化の大きさによって第1のアバター特徴(例えば、1030、1430、1430L、1430U、又はその一部)を変化させることは、アバターの口(例えば、1430、1430L、1430U又はその一部)を変化させ、第1のユーザの口の形状(例えば、人間の笑顔、人間の眉毛をひそめている)に対応しない1つ以上の形状(例えば、図14C及び図14Dに示す円又は台形)をとることを含む。そのような実施形態では、第2のアバター特徴の変化の大きさによって第1のアバター特徴を変化させることは、第2のユーザの口の形状に対応しない1つ以上の形状(例えば台形又は円)をとるようにアバター口を変化させることを含む。いくつかの例では、アバター特徴の変化の大きさは、第1の物理的特徴の変化の大きさ(例えば、物理的特徴の変化の大きさ)に基づいているが、アバター特徴の形状の変化は、物理的特徴の形状の変化に基づいていない(又は完全に若しくは直接的に基づいていない)。いくつかのそのような実施形態では、アバター特徴の形状の変化は、代わりに、アバター特徴の初期状態(例えば、静止状態、中立状態(例えば、円))からアバター特徴の変位状態(例えば、台形)への遷移(例えば、徐々に又は漸進的に遷移)に基づいている。仮想アバターの口の形状を変化させてユーザの口とは異なる形状を想定することにより、ユーザの口を所望の形状にする必要や表示されたユーザインタフェースコントロール(例えば、タッチコントロール)要素を必要とせずに、アバターの口の変化に影響を与える方法をユーザに提供する。追加の制御によりユーザインタフェースを雑然とさせることなく追加の任意選択的制御を提供することにより、デバイスの操作性が改善され、ユーザ-デバイスインタフェースを(例えば、デバイスを操作/対話するときに適切な入力を提供するようにユーザを支援し、ユーザの誤りを削減することによって)更に効率的にし、更に、ユーザがデバイスをより素早く、効果的に使用できるようにすることによって、電力使用量を削減し、デバイスの電池寿命を改善する。
いくつかの例では、第1のアバター特徴は、アバターの口(例えば、1030、1430、1430L、1430U、又はその一部)であり、顔の第1の物理的な特徴は、ユーザの口(例えば、1020、1420、1420A、1420B、又はその一部)であり、第1の物理的特徴値の範囲は、ユーザの口の弛緩状態に対応する弛緩状態値(例えば、デフォルト値、初期値)を含み、第2の物理的特徴値の範囲は、ユーザの口の変位状態(例えば、口が開いた状態(又は、弛緩、初期、又は中立状態と比較してより広く開いた))に対応する第1の変位状態値(例えば、弛緩状態値よりも大きい値(例えば、可能な変位の範囲内の50%変位))を含み、第1のアバター特徴の変化の大きさは、第2のアバター特徴の変化の大きさよりも小さい。いくつかの例では、弛緩状態値は、潜在的な動きの範囲内の最小の動きの値である(例えば、0%の動きの値)。いくつかの例では、第1の変位状態値は、最大変位状態値である。いくつかの例では、最大変位状態値は、潜在的な動きの範囲内(例えば、100%移動値)の最大移動値(例えば、最大予測移動値、最大追跡移動値)である。図10Bに示すようないくつかの例では、物理的特徴(ユーザの口1020など)が弛緩状態から最大変位状態に近い状態に変化すると、第1のアバター特徴(アバターの口1030など)の変化がより誇張される。その結果、弛緩した状態に対して物理的特徴の変化が大きくなると、ユーザの物理的特徴の変化と比較して、アバター特徴の変化がより誇張される。いくつかの例では、第1の物理的特徴の変化の大きさに1以下の乗数を適用することにより、第1のアバター特徴の変化の大きさに到達し、第1の物理的特徴の変化の大きさに1よりも大きい乗数を適用することにより、第2のアバター特徴の変化の大きさに到達する。ユーザの口が弛緩した状態を超えて移動するときに、仮想アバターの口を大きく変化させると、アバターの口の変化を増幅する方法がユーザに提供される。更なるユーザ入力を必要とせずに、条件のセットが満たされたときに操作(例えば、アバターの口の増幅した変化)を行うことにより、デバイスの操作性が改善され、ユーザデバイスインタフェースを(例えば、デバイスを操作/対話するときに適切な入力を提供するようにユーザを支援し、ユーザの誤りを削減することによって)更に効率的にし、更に、ユーザがデバイスをより素早く、効果的に使用できるようにすることによって、電力使用量を削減し、デバイスの電池寿命を改善する。
いくつかの例では、第1のアバター特徴は、アバターの目(例えば、1232)であり、顔の第1の物理的な特徴は、ユーザの目又は瞼(例えば、1223、1227、又はその一部)であり、第1の物理的特徴値の範囲は、ユーザの瞼の弛緩状態(例えば、ユーザの瞼が開位置にあるとき)に対応する弛緩状態値(例えば、デフォルト値、初期値)を含み、第2の物理的特徴値の範囲は、ユーザの瞼の変位状態(例えば、瞼が開いた状態(又は、弛緩、初期、又は中立状態と比較してより広く開いた))に対応する第1の変位状態値(例えば、弛緩状態値よりも大きい値(例えば、可能な変位の範囲内の50%変位))を含み、第1のアバター特徴の変化の大きさは、第2のアバター特徴の変化の大きさよりも小さい。いくつかの例では、弛緩状態値は、潜在的な動きの範囲内の最小の動きの値である(例えば、0%の動きの値)。いくつかの例では、第1の変位状態値は、最大変位状態値である。いくつかの例では、最大変位状態値は、潜在的な動きの範囲内(例えば、100%移動値)の最大移動値(例えば、最大予測移動値、最大追跡移動値)である。図12Cに示すようないくつかの例では、物理的特徴(ユーザの目又は瞼など)が弛緩状態から最大変位状態に近い状態に変化すると、第1のアバター特徴(アバターの目1232など)の変化がより誇張される。その結果、弛緩した状態に対して物理的特徴の変化が大きくなると、ユーザの物理的特徴の変化と比較して、アバター特徴の変化がより誇張される。いくつかの例では、第1の物理的特徴の変化の大きさに1以下の乗数を適用することにより、第1のアバター特徴の変化の大きさに到達し、第1の物理的特徴の変化の大きさに1よりも大きい乗数を適用することにより、第2のアバター特徴の変化の大きさに到達する。ユーザの瞼が弛緩した状態を超えて移動するときに、仮想アバターの目を大きく変化させると、アバターの目の変化を増幅する方法がユーザに提供される。更なるユーザ入力を必要とせずに、条件のセットが満たされたときに操作(例えば、アバターの目の増幅した変化)を行うことにより、デバイスの操作性が改善され、ユーザデバイスインタフェースを(例えば、デバイスを操作/対話するときに適切な入力を提供するようにユーザを支援し、ユーザの誤りを削減することによって)更に効率的にし、更に、ユーザがデバイスをより素早く、効果的に使用できるようにすることによって、電力使用量を削減し、デバイスの電池寿命を改善する。
いくつかの例では、第1のアバター特徴は、アバターの目(例えば、1032又は1032A)であり、顔の第1の物理的な特徴は、ユーザの目(例えば、1023又はその一部)であり、第1の物理的特徴値の範囲は、ユーザの目の弛緩状態に対応する弛緩状態値(例えば、デフォルト値、初期値)を含み、第2の物理的特徴値の範囲は、ユーザの目の変位状態(例えば、目が偏移した状態(又は、弛緩、初期、又は中立状態と比較して更に偏移した))に対応する第1の変位状態値(例えば、弛緩状態値よりも大きい値(例えば、可能な変位の範囲内の50%変位))を含み、第1のアバター特徴の変化の大きさは、第2のアバター特徴の変化の大きさよりも小さい。いくつかの例では、弛緩状態値は、潜在的な動きの範囲内の最小の動きの値である(例えば、0%の動きの値)。いくつかの実施形態では、第1の変位状態値は、最大変位状態値である。いくつかの例では、最大変位状態値は、潜在的な動きの範囲内(例えば、100%移動値)の最大移動値(例えば、最大予測移動値、最大追跡移動値)である。いくつかの例では、物理的特徴(ユーザの目など)が弛緩状態から最大変位状態に近い状態に変化すると、第1のアバター特徴(アバターの目など)の変化がより誇張される。その結果、弛緩した状態に対して物理的特徴の変化が大きくなると、ユーザの物理的特徴の変化と比較して、アバター特徴の変化がより誇張される。いくつかの例では、第1の物理的特徴の変化の大きさに1以下の乗数を適用することにより、第1のアバター特徴の変化の大きさに到達し、第1の物理的特徴の変化の大きさに1よりも大きい乗数を適用することにより、第2のアバター特徴の変化の大きさに到達する。ユーザの目が弛緩した状態を超えて移動するときに、仮想アバターの目を大きく変化させると、アバターの目の変化を増幅する方法がユーザに提供される。更なるユーザ入力を必要とせずに、条件のセットが満たされたときに操作(例えば、アバターの目の増幅した変化)を行うことにより、デバイスの操作性が改善され、ユーザデバイスインタフェースを(例えば、デバイスを操作/対話するときに適切な入力を提供するようにユーザを支援し、ユーザの誤りを削減することによって)更に効率的にし、更に、ユーザがデバイスをより素早く、効果的に使用できるようにすることによって、電力使用量を削減し、デバイスの電池寿命を改善する。
いくつかの例では、アバター特徴は、アバター特徴と解剖学的又は生理学的に対応しない顔の物理的特徴の変化に反応する。例えば、第1のアバター特徴は、アバターの鼻(例えば、1736)であり、顔の第1の物理的特徴は、ユーザの唇(例えば、1720、1720A、又はその一部)であり、アバターの鼻は、ユーザの唇の変化に反応することができる。そのような実施形態では、第1の物理的特徴値の範囲は、ユーザの唇の弛緩状態に対応する弛緩状態値(例えば、デフォルト値、初期値)を含み、第2の物理的特徴値の範囲は、ユーザの唇の変位状態(例えば、弛緩、初期、又は中立状態と比較して唇が偏移した状態(又は、更に偏移した)に対応する第1の変位状態値(例えば、弛緩状態値よりも大きい値(例えば、可能な変位の範囲内の50%変位))を含み、第1のアバター特徴の変化の大きさは、第2のアバター特徴の変化の大きさよりも小さい。いくつかの例では、弛緩状態値は、潜在的な動きの範囲内の最小の動きの値である(例えば、0%の動きの値)。いくつかの例では、第1の変位状態値は、最大変位状態値である。いくつかの例では、最大変位状態値は、潜在的な動きの範囲内(例えば、100%移動値)の最大移動値(例えば、最大予測移動値、最大追跡移動値)である。いくつかの例では、物理的特徴(ユーザの唇又は口など)が弛緩状態から最大変位状態に近い状態に変化すると、第1のアバター特徴(アバターの鼻など)の変化がより誇張される。その結果、弛緩した状態に対して物理的特徴の変化が大きくなると、ユーザの物理的特徴の変化と比較して、アバター特徴の変化がより誇張される。いくつかの例では、第1の物理的特徴の変化の大きさに1以下の乗数を適用することにより、第1のアバター特徴の変化の大きさに到達し、第1の物理的特徴の変化の大きさに1よりも大きい乗数を適用することにより、第2のアバター特徴の変化の大きさに到達する。ユーザの唇(アバターの鼻に解剖学的に対応しない物理的特徴)に基づいて仮想アバターの鼻を変更すると、仮想アバターの特性(例えば、ユーザの鼻の動きは難しいことがある)を定義するための入力効率の良い方法をユーザに提供する。更なるユーザ入力を必要とせずに、条件のセットが満たされたときに(例えば、ユーザの唇の動き)操作(例えば、アバターの鼻の変化)を行うことにより、デバイスの操作性が改善され、ユーザデバイスインタフェースを(例えば、デバイスを操作/対話するときに適切な入力を提供するようにユーザを支援し、ユーザの誤りを削減することによって)更に効率的にし、更に、ユーザがデバイスをより素早く、効果的に使用できるようにすることによって、電力使用量を削減し、デバイスの電池寿命を改善する。
いくつかの例では、第1のアバター特徴(例えば、1736)はまた、1つ以上のカメラの視野内の顔の第2の物理的特徴(例えば、1720Aに加えて1722)の変化にも反応する。そのような例では、電子デバイス(例、100、300、500、600)は、仮想アバター(例えば、1000、1200、1400、1700)を表示しながら、第2の物理的特徴の変化の大きさを有する第2の物理的特徴の変化を検出する。そのような例では、第2の物理的特徴の変化の検出に応じて、電子デバイス(例えば、100、300、500、600)は、以下の動作のうちの任意の1つ以上を実行することができる。第2の物理的特徴の変化が第3の物理的特徴値の範囲内にあるという判定に従って、電子デバイス(例えば、100、300、500、600)は、第2の物理的特徴の変化の大きさに基づく第3のアバター特徴の変化の大きさにより第1のアバター特徴を変化させる(例えば、第1の物理的特徴の第1の変化の範囲では、アバター特徴の変化は、通常又は低減率で変化する)。第2の物理的特徴の変化が第3の物理的特徴値の範囲とは異なる(例えば、より大きい)第4の物理的特徴値の範囲内にあるという判定に従って、電子デバイス(例えば、100、300、500、600)は、第3のアバター特徴の変化の大きさとは異なり(例えば、より大きい)かつ第2の物理的特徴の変化の大きさに基づく第4のアバター特徴の変化の大きさによって第1のアバター特徴を変化させる(例えば、第1の物理的特徴の第2の変化の範囲では、アバター特徴の変化は、誇張率で変化する)。少なくとも2つの物理的特徴に基づいて第1のアバター特徴を変更すると、表示されたユーザインタフェースコントロール(例えば、タッチコントロール)の要素を必要とせずにアバター特徴を変化させるための効率的な入力モダリティをユーザに提供する。追加の制御によりユーザインタフェースを雑然とさせることなく追加の任意選択的制御を提供することにより、デバイスの操作性が改善され、ユーザ-デバイスインタフェースを(例えば、デバイスを操作/対話するときに適切な入力を提供するようにユーザを支援し、ユーザの誤りを削減することによって)更に効率的にし、更に、ユーザがデバイスをより素早く、効果的に使用できるようにすることによって、電力使用量を削減し、デバイスの電池寿命を改善する。
いくつかの例では、仮想アバター(例えば、1000、1200、1400、1700)は、カメラの視野内の顔の第3の物理的特徴(例えば、1020、1420、1420A、1420B)(例えば、ユーザの口)の変化に反応する第2のアバター特徴(例えば、1030、1430、1430L、1430U)(例えば、アバターの口)を含む。そのような例では、第3の物理的特徴は、第3の物理的特徴の所定の動きの範囲に基づく可能な物理的特徴値の範囲(例えば、初期(例えば、静止)値に対する大きさ値として表される動きの範囲)を有し、第2のアバター特徴は、第2のアバター特徴の動きの所定範囲に基づく可能なアバター特徴値の範囲を有し、第2のアバター特徴の動きの所定範囲は、第3の物理的特徴の動きの所定範囲よりも大きい(例えば、初期又は静止した大きさの値に基づいて評価された第1のアバター特徴の動きの範囲は、対応する物理的特徴の範囲よりも大きい)。例えば、アバターの口は、初期サイズと比較して幅が300%拡大することがあるが、物理的特徴の動きの範囲は、初期サイズの200%にすぎない。更に、そのような例では、電子デバイス(例えば、100、300、500、600)は、第2のアバター特徴が、第3の物理的特徴の検出された第1の物理的特徴値に基づく第2のアバター特徴の第1のアバター特徴値を有するとき、第3の物理的特徴の第1の物理的特徴値から第3の物理的特徴の第2の物理的特徴値への第3の物理的特徴の変化を検出する。第3の物理的特徴の変化の検出に応じて、電子デバイス(例えば、100、300、500、600)は、第2のアバター特徴の第1のアバター特徴値から、第2のアバター特徴の動きの所定範囲内にある第2のアバター特徴の第2のアバター特徴値へと第2のアバター特徴を変化させる。更に、そのような例では、第2のアバター特徴の第2のアバター特徴値は、第3の物理的特徴の動きの所定範囲に対する第3の物理的特徴の第2の物理的特徴値の相対値に基づいている。更に、そのような例では、第2のアバター特徴の第1のアバター特徴値と第2のアバター特徴の第2のアバター特徴値との差は、第3の物理的特徴の第1の物理的特徴値と第3の物理的特徴の第2の物理的特徴値との差よりも大きい。いくつかの例では、顔の物理的特徴(例えば、顔の第3の物理的特徴(例えば、ユーザの口))に基づくアバター特徴(例えば、第2のアバター特徴(例えば、アバターの口))の変化は、アバター特徴及び物理的特徴のそれぞれの動きの所定範囲内で誇張される。例えば、ユーザの口が開くことができる最大サイズの50%で開くと、アバターの口は、アバターの口が開くことができる最大サイズの100%に開く。そのような実施形態では、アバター特徴のこの誇張された動きにより、ユーザは、顔の対応する特徴を不快に変化させることなく、アバター特徴の最大変化に影響を与えることができる(例えば、不快にユーザの口をできるだけ広く開ける必要なくアバターに可能な限り広く口を開かせる)。
方法2300に関して上述したプロセス(例えば、図23)の詳細はまた、上述及び後述する方法2400及び2500にも、類似の方法で適用可能であることに留意されたい。例えば、方法2300は、任意選択的に、方法800、900、1800、1900、2000、2100、2200、2400、及び2500に関して上述した及び後述する様々な方法の特性のうちの任意の1つ以上を含む。例えば、方法800及び900にしたがってアニメーション化されたアバターを生成、送信、及び受信する方法は、方法2300にしたがって生成された仮想アバター(例えば、ユーザの動きと比較して誇張された動きを示すことができる仮想アバター)を使用することができる。同様に、方法2300にしたがって生成及び/又は変更された仮想アバターは、方法800又は900の仮想アバター生成インタフェース(例えば、804、904)の仮想アバターの表示されたプレビューに含まれてもよい。他の例では、方法2300にしたがって生成された仮想アバター(例えば、ユーザの動きと比較して誇張された動きを示すことができる仮想アバター)もまた、方法800、900、1800、1900、2000、2100、2200、2400、及び2500の仮想アバター生成及び変更方法にしたがって生成されることができる。例えば、方法2300にしたがって生成された仮想アバターは、ポーズ(例えば、1810及び1812)の変化のタイプに応じて、異なってユーザの顔のポーズを変化させるために第2のアバター部分(例えば、1036)とは異なる反応をする第1のアバター部分(例えば、1034)を含むことができる。同様に、方法2300にしたがって生成された仮想アバターは、第1(例えば、1122)及び第2(例えば、1120A~B)の物理的特徴の両方の変化に反応する(例えば、1904、1910、1914)アバター特徴(例えば、1133)を含むことができる。簡潔にするために、さらなる例を除外する。
図24は、いくつかの実施形態による、1つ以上のカメラによって検出された顔に基づいて仮想アバターを生成するための、電子デバイスにおける方法を示すフロー図である。方法2400は、1つ以上のカメラ(例えば、164、602)及びディスプレイ装置(例えば、112、340、504、601)を備えた電子デバイス(例えば、100、300、500、600)で実行される。方法2400における一部の動作は、任意選択的に組み合わされ、一部の動作の順序は、任意選択的に変更され、一部の動作は、任意選択的に省略される。
以下に説明するように、方法2400は、ユーザの顔の位置の変化に反応しながら、仮想アバターを生成するための直感的な方法を提供する。本方法は、仮想アバターを生成するためのユーザの認識的負担を軽減し、それにより、より効率的なヒューマン-マシンインタフェースを作成する。バッテリ動作式のコンピューティングデバイスの場合、ユーザがユーザアバターをより速くかつより効率的に生成することを可能にすることは、節電し、バッテリ充電の時間間隔を長くする。方法2400の例は、図10A~図10Iを参照して説明したユーザインタフェース及び仮想アバターにおいて見出すことができる。
電子デバイス(例えば、100、300、500、600)は、ディスプレイ装置(例えば、112、340、504、601)を介して、仮想アバター(例えば、1000)を表示する(2402)。いくつかの例では、仮想アバターは、基準フレーム内(例えば、仮想アバターをどのように表示するかを決定するために使用される基準フレーム(例えば、電子デバイス又は別個の電子デバイス))内にそれぞれの空間位置を有し、それぞれの空間位置は、1つ以上のカメラ(例えば、164、602)の視野内の顔(例えば、1003A~C、1004A~D、1005A~D、1006A~D、1007A~B、1008A~D)の位置に基づいている。基準フレーム内の仮想アバターのそのような位置決めの例は、図10C~図10Hの1013A~B、1014A~D、1015A~D、1016A~D、1017A~B、1018A~Dに示されている。
仮想アバター(例えば、1000)を表示している間、電子デバイス(例えば、100、300、500、600)は、それぞれの量だけ1つ以上のカメラ(例えば、164、602)の視野内の顔(例えば、1003A~B、1004A~D、1005A~D、1006A~D、1007A~B、1008A~D)の位置の変化を検出する(2404)。例えば、1つ以上のカメラの位置に対する水平並進偏移、垂直並進偏移、距離の並進偏移(例えば、X、Y、又はZ軸に沿った並進偏移)、又は視野内の基本軸に沿った回転偏移(例えば、X、Y又はZ軸に沿った回転偏移)など、1つ以上のカメラの視野に対する顔の第1の位置から顔の第2の位置までである。
1つ以上のカメラ(例えば、164、602)の視野内での顔(例えば、1003A~B、1004A~D、1005A~D、1006A~D、1007A~B、1008A~D)の位置の変化の検出に応じて(2406)、電子デバイス(例えば、100、300、500、600)は、以下の動作のうちの任意の1つ以上を実行することができる。顔の位置の変化が第1の方向の第1の変化成分を含むという判定に従って(例えば、1003A~B、1004A~D、1005A~D、1006A~D、1007A~B、1008A~D)、電子デバイス(例えば、100、300、500、600)は、第1の変化成分の大きさと第1の変更係数(例えば、1つ以上のカメラの視野内でのユーザの顔の検出された動きに対する仮想アバターの位置に影響を与える動きを減衰又は増幅する係数)に基づいて基準フレーム(例えば、1013A~B、1014A~D、1015A~D、1016A~D、1017A~B、1018A~D)内の仮想アバター(例えば、1000)の空間位置を変更する(2408)。
位置の変化が第1の方向とは異なる第2の方向の第2の変化成分(1003A~B、1004A~D、1005A~D、1006A~D、1007A~B、1008A~D)を含むという判定に従って、電子デバイス(例えば、100、300、500、600)は、変化の第2の成分の大きさと、第1の変更係数とは異なる第2の変更係数とに基づいて、基準フレーム(例えば、1013A~B、1014A~D、1015A~D、1016A~D、1017A~B、1018A~D)内の仮想アバター(例えば、1000)の空間位置を変更する(2410)。いくつかの例では、ユーザの顔の検出された動きは、検出された動きの性質に応じて異なる方法で仮想アバターの減衰した動きに変換される。例えば、水平(例えば、X軸)方向の並進移動は、50%の変更係数を使用して半分だけ減衰することができるが、垂直(例えば、Y軸)方向の並進移動は、視野が垂直方向よりも水平方向に狭くなるようにデバイスが方向付けられている場合、25%の変更係数を使用して1/4だけ減衰することができる。いくつかの例では、様々な変更係数を使用することで、ユーザの物理的な位置変更になおも対応しながら、ユーザが望ましい基準フレーム内に留まるのを支援することができる。したがって、第2の変化成分(例えば、変化の並進成分)の大きさと、第1の変更係数とは異なる第2の変更係数とに基づいて、基準フレーム内の仮想アバターの空間位置を変化させると、変化の成分が基準フレーム外の仮想アバターの偏移をもたらす場合、基準フレーム内に仮想アバターを維持するのを支援する。操作(例えば、基準フレーム内の仮想アバターの維持)を実行するために必要な入力を減少させることは、デバイスの操作性を向上させ、ユーザとデバイスのインタフェースをより効果的にし(例えば、ユーザが適切な入力を提供することを支援し、デバイスを操作又はそれと対話するとき、ユーザの間違いを低減することによって)、更に、ユーザがデバイスをより素早く、効果的に使用できるようにすることによって、電力使用量を削減し、デバイスの電池寿命を改善する。
いくつかの例では、1つ以上のカメラ(例えば、164、602)の視野内の顔の位置の変化を検出することは、第1の変化成分を含む顔の位置の変化を検出することを含み、第1の変更成分は、1つ以上のカメラの視野に対する変化の水平成分であり(例えば、1006A~D)、第1の変更係数は、減衰係数である(例えば、第1の変化成分の大きさに加えられるとき、より小さい変更された大きさの値をもたらす分数修飾子)。そのような例では、基準フレーム内の仮想アバターの空間位置を変更することは、第1の変化成分(例えば、1016A~D)の大きさよりも小さい大きさだけ、水平方向の空間位置を変更することを含む。いくつかの例では、変化の大きさは、1つ以上のカメラの視野内(例えば、顔用)又は空間基準フレーム内(例えば、仮想アバター用)の位置の変化率として決定される。例えば、顔の空間位置は、1つ以上のカメラの視野の水平方向の全長の60%だけ水平方向に偏移することができる。いくつかのそのような実施形態では、50%の減衰係数を適用することは、基準フレーム(例えば、仮想アバターの表示用に指定されたディスプレイエリア)の全水平幅の30%(例えば、60%×0.5)だけ偏移する仮想アバターの空間位置をもたらす。基準フレーム内での仮想アバターの空間位置の水平方向の減衰変更は、変化成分がそうでなければ基準フレーム外に偏移する仮想アバターをもたらす場合に、基準フレーム内で水平に整列した仮想アバターの維持を支援する。操作(例えば、基準フレーム内の仮想アバターの水平位置の維持)を実行するために必要な入力を減少させることは、デバイスの操作性を向上させ、ユーザとデバイスのインタフェースをより効果的にし(例えば、ユーザが適切な入力を提供することを支援し、デバイスを操作又はそれと対話するとき、ユーザの間違いを低減することによって)、更に、ユーザがデバイスをより素早く、効果的に使用できるようにすることによって、電力使用量を削減し、デバイスの電池寿命を改善する。
いくつかの例では、1つ以上のカメラ(例えば、164、602)の視野内の顔の位置の変化を検出することは、第1の変化成分を含む顔の位置の変化を検出することを含み、第1の変更成分は、1つ以上のカメラの視野に対する変化の垂直成分であり(例えば、1008A~B)、第1の変更係数は、減衰係数である(例えば、第1の変化成分の大きさに加えられるとき、より小さい変更された大きさの値をもたらす分数修飾子)。そのような例では、基準フレーム内の仮想アバター(例えば、1000)の空間位置を変更することは、第1の変化成分(例えば、1018A~B)の大きさよりも小さい大きさだけ、垂直方向の空間位置を変更することを含む。いくつかの例では、変化の大きさは、1つ以上のカメラの視野内(例えば、顔用)又は空間基準フレーム内(例えば、仮想アバター用)の位置の変化率として決定される。例えば、顔の空間位置は、1つ以上のカメラの視野の垂直方向の全長の60%だけ垂直方向に偏移することができる。いくつかのそのような実施形態では、50%の減衰係数を適用することは、基準フレーム(例えば、仮想アバターの表示用に指定されたディスプレイエリア)の全垂直長の30%(例えば、60%×0.5)だけ偏移する仮想アバターの空間位置をもたらす。基準フレーム内での仮想アバターの空間位置の垂直方向の減衰変更は、変化成分がそうでなければ基準フレーム外に偏移する仮想アバターをもたらす場合に、基準フレーム内で垂直に整列した仮想アバターの維持を支援する。操作(例えば、基準フレーム内の仮想アバターの垂直位置の維持)を実行するために必要な入力を減少させることは、デバイスの操作性を向上させ、ユーザとデバイスのインタフェースをより効果的にし(例えば、ユーザが適切な入力を提供することを支援し、デバイスを操作又はそれと対話するとき、ユーザの間違いを低減することによって)、更に、ユーザがデバイスをより素早く、効果的に使用できるようにすることによって、電力使用量を削減し、デバイスの電池寿命を改善する。
いくつかの例では、1つ以上のカメラ(例えば、164、602)の視野内の顔の位置の変化を検出することは、第1の変化成分を含む顔の位置の変化を検出することを含み、第1の変更成分は、1つ以上のカメラの視野に対する変化の深度関連成分であり(例えば、1008C~D)(例えば、1つ以上のカメラの視野の平面に垂直な軸に沿った変化(例えば、偏移)、Z軸に沿った変化、1つ以上のカメラの視野の平面に関して内向き又は外向きの変化)、第1の変更係数は、減衰係数である(例えば、第1の変化成分の大きさに加えられるとき、より小さい変更された大きさの値をもたらす分数修飾子)。そのような例では、基準フレーム内の仮想アバター(例えば、1000)の空間位置を変更することは、第1の変化成分(例えば、1018C~D)の大きさよりも小さい大きさだけ、深度関連方向の空間位置を変更することを含む。いくつかの例では、変化の大きさは、1つ以上のカメラ(例えば、深度を評価することができる1つ以上のカメラ)によって決定される絶対値(例えば、距離)として決定される。例えば、顔の空間位置は、1つ以上のカメラから6フィート離れることができる。いくつかのそのような実施形態では、50%の減衰係数を適用することは、仮想アバターの初期位置に対して3フィートだけ離れて偏移する仮想アバターの空間位置をもたらす(例えば、3フィートの距離だけ遠くに移動することを示す小さいサイズで提示される仮想アバターによって表される)。基準フレーム内での仮想アバターの空間位置の深度固有方向の減衰変更は、変化成分がそうでなければ準最適サイズに変化する仮想アバターをもたらす場合に、基準フレーム内で適切なサイズにされた仮想アバターの維持を支援する。操作(例えば、仮想アバターの最適サイズの維持)を実行するために必要な入力を減少させることは、デバイスの操作性を向上させ、ユーザとデバイスのインタフェースをより効果的にし(例えば、ユーザが適切な入力を提供することを支援し、デバイスを操作又はそれと対話するとき、ユーザの間違いを低減することによって)、更に、ユーザがデバイスをより素早く、効果的に使用できるようにすることによって、電力使用量を削減し、デバイスの電池寿命を改善する。
いくつかの例では、1つ以上のカメラ(例えば、164、602)の視野内の顔の位置の変化を検出することは、第1の変化成分を含む顔の位置の変化を検出することを含み、第1の変化成分は、1つ以上のカメラの視野に対する縦軸(例えば、ディスプレイに平行な縦軸)の周りの顔の回転を含み(例えば、1004A~D)(例えば、顔の異なる側が1つ以上のカメラに露出/見えるように縦軸(例えば、Y軸)に沿って回転する顔を含む顔のポーズの変化がある)、第1の変更係数は、中立変更係数(例えば、第1の変化成分の大きさに影響を与えない変更係数、1の乗数)又は増幅変更係数(例えば、非減衰変更係数、又は第1の変化成分の大きさに適用される場合、1よりも大きい乗数の大きさを増加する変更係数)である。そのような例では、基準フレーム内の仮想アバター(例えば、1000)の空間位置を変更することは、第1の変化成分(1014A~D)の大きさと少なくとも等しい大きさだけ、縦軸周りの仮想アバターの空間位置を回転させることを含む。ユーザの顔の位置の変化が縦軸周りの回転変化である場合、変更を減衰することなく、仮想アバターの空間位置を変更することは、表示されたユーザインタフェースコントロール(例えば、タッチコントロール)要素を必要とせずに仮想アバターの空間位置(例えば、縦軸周りの回転方向)を変更するオプションをユーザに提供する。追加の制御によりユーザインタフェースを雑然とさせることなく追加の制御オプションを提供することにより、デバイスの操作性が改善され、ユーザ-デバイスインタフェースを(例えば、デバイスを操作/対話するときに適切な入力を提供するようにユーザを支援し、ユーザの誤りを削減することによって)更に効率的にし、更に、ユーザがデバイスをより素早く、効果的に使用できるようにすることによって、電力使用量を削減し、デバイスの電池寿命を改善する。
いくつかの例では、1つ以上のカメラ(例えば、164、602)の視野内の顔の位置の変化を検出することは、第1の変化成分を含む顔の位置の変化を検出することを含み、第1の変化成分は、1つ以上のカメラの視野に対して横軸(例えば、ディスプレイに平行な横軸)の周りの顔の傾斜を含む(例えば、1003A~B)。例えば、ユーザが1つ以上のカメラに向かってうなずくと1つ以上のカメラにさらされるように顔又は頭の上部部分又は下部部分の一部が以前に露出されていなかったように、横軸(X軸など)に沿って傾斜している顔を含む顔のポーズの変化がある。更に、そのような実施形態では、第1の変更係数は、中立変更係数(例えば、第の変化成分の大きさに影響しない変更係数、1の乗数)又は増幅変更係数(例えば、非減衰変更係数又は第1の変化成分の大きさに適用されたときに、大きさを増加させる変更係数、1より大きい乗数)である。そのような例では、基準フレーム内の仮想アバター(例えば、1000)の空間位置を変更することは、第1の変化成分(1013A~B)の大きさと少なくとも等しい大きさだけ、横軸周りの仮想アバターの空間位置を傾斜させることを含む。ユーザの顔の位置の変化が横軸周りの傾斜変化である場合、変更を減衰することなく、仮想アバターの空間位置を変更することは、表示されたユーザインタフェースコントロール(例えば、タッチコントロール)要素を必要とせずに仮想アバターの空間位置(例えば、横軸周りの傾斜方向)を変更するオプションをユーザに提供する。追加の制御によりユーザインタフェースを雑然とさせることなく追加の制御オプションを提供することにより、デバイスの操作性が改善され、ユーザ-デバイスインタフェースを(例えば、デバイスを操作/対話するときに適切な入力を提供するようにユーザを支援し、ユーザの誤りを削減することによって)更に効率的にし、更に、ユーザがデバイスをより素早く、効果的に使用できるようにすることによって、電力使用量を削減し、デバイスの電池寿命を改善する。
いくつかの例では、1つ以上のカメラ(例えば、164、602)の視野内の顔の位置の変化を検出することは、第1の変化成分を含む顔の位置の変化を検出することを含み、第1の変化成分は、1つ以上のカメラの視野に対してシミュレートされたZ軸(例えば、ディスプレイに対して垂直な軸)の周りの顔の回転を含む(例えば、1005A~B)。例えば、ユーザが1つ以上のカメラに向かって頭を横に傾けた場合などに、縦軸(Z軸など)を中心に回転する顔を含む顔のポーズに変化がある。更に、そのような実施形態では、第1の変更係数は、中立変更係数(例えば、第の変化成分の大きさに影響しない変更係数、1の乗数)又は増幅変更係数(例えば、非減衰変更係数又は第1の変化成分の大きさに適用されたときに、大きさを増加させる変更係数、1より大きい乗数)である。そのような例では、基準フレーム内の仮想アバターの空間位置(例えば、1000)の変更は、第1の変化成分の大きさに少なくとも等しい大きさだけ仮想アバターの空間位置をシミュレートされたZ軸(ディスプレイに垂直な軸など)の周りに回転させることを含む(例えば、1015A~B)。ユーザの顔の位置の変化がZ軸周りの回転変化である場合、変更を減衰することなく、仮想アバターの空間位置を変更することは、表示されたユーザインタフェースコントロール(例えば、タッチコントロール)要素を必要とせずに仮想アバターの空間位置(例えば、Z軸周りの回転方向)を変更するオプションをユーザに提供する。追加の制御によりユーザインタフェースを雑然とさせることなく追加の制御オプションを提供することにより、デバイスの操作性が改善され、ユーザ-デバイスインタフェースを(例えば、デバイスを操作/対話するときに適切な入力を提供するようにユーザを支援し、ユーザの誤りを削減することによって)更に効率的にし、更に、ユーザがデバイスをより素早く、効果的に使用できるようにすることによって、電力使用量を削減し、デバイスの電池寿命を改善する。
いくつかの例では、1つ以上のカメラ(例えば、164、602)の視野内の顔の位置の変化を検出することは、第1の変化成分(例えば、1006A~D、1007A~B、1008A~D)を含む顔の位置の変化を検出することを含み、第1の変更係数は、第1の変化成分の大きさに適用される乗数であり、乗数は1未満の値を有する。そのような例では、基準フレーム内の仮想アバター(例えば、1000)の空間位置を変更することは、仮想アバターの空間位置の第1の変化成分の大きさよりも小さい大きさの変更を含む(例えば、1016A~D、1017A~D、1018A~D)。そのような例では、変化の大きさは、1つ以上のカメラの視野内(例えば、顔用)又は空間基準フレーム内(例えば、仮想アバター用)の位置の変化率として決定される。例えば、顔の空間位置は、1つ以上のカメラの視野の垂直方向の全長の60%だけ垂直方向に偏移することができる。いくつかのそのような実施形態では、50%の減衰係数を適用することは、基準フレーム(例えば、仮想アバターの表示用に指定されたディスプレイエリア)の全垂直長の30%(例えば、60%×0.5)だけ偏移する仮想アバターの空間位置をもたらす。乗算器を使用して仮想アバターの空間位置を変更すると、表示されたユーザインタフェースコントロール(例えば、タッチコントロール)の要素又は検出された物理的要素のより激しい変更を必要とせずに、仮想アバターの空間位置の変化を増幅するオプションをユーザに提供する。追加の制御によりユーザインタフェースを雑然とさせることなく追加の制御オプションを提供することにより、デバイスの操作性が改善され、ユーザ-デバイスインタフェースを(例えば、デバイスを操作/対話するときに適切な入力を提供するようにユーザを支援し、ユーザの誤りを削減することによって)更に効率的にし、更に、ユーザがデバイスをより素早く、効果的に使用できるようにすることによって、電力使用量を削減し、デバイスの電池寿命を改善する。
いくつかの例では、1つ以上のカメラ(例えば、164、602)の視野内の顔の位置の変化を検出することは、閾値を超える顔の位置の変化を検出することを含む(例えば、1006C~D)。そのような例では、電子デバイス(例えば、100、300、500、600)は、閾値を超える顔の位置の変化の検出に応じて、1つ以上のカメラの視野内の顔の位置の変化に基づいて基準フレーム内の仮想アバター(例えば、1000)の空間位置を変更することを取り止める(例えば、1016C~D)。いくつかの例では、閾値を超える顔の位置の変化(例えば、顔の垂直位置、水平位置、又は深度位置の変化)は、仮想アバターの空間位置の変更(例えば、変化)をもたらさない。いくつかのそのような実施形態では、仮想アバターの空間位置は、顔の位置の変化が閾値を超える時点までの顔の位置の変化に基づいて変更される(例えば、顔の位置は、有効なゾーンの外側(例えば、1つ以上のカメラの視野外、又は1つ以上のカメラの視野内にある指定エリアの外側)に移動する)。顔の位置の変化が閾値を超えると、仮想アバターの空間位置は、顔の位置の変化に基づいて変更されなくなる(例えば、仮想アバターは、顔の動きを追跡又は反映しなくなる)。顔の位置の変化が閾値を超えた場合の基準フレーム内の仮想アバターの空間位置への変更の取り止め(例えば、仮想アバターの既存の空間位置の維持)は、仮想アバターが基準フレームから出るのを防止する。更なるユーザ入力を必要とせずに、条件のセットが満たされたときに操作(例えば、仮想アバターの位置の維持)を行うことにより、デバイスの操作性が改善され、ユーザデバイスインタフェースを(例えば、デバイスを操作/対話するときに適切な入力を提供するようにユーザを支援し、ユーザの誤りを削減することによって)更に効率的にし、更に、ユーザがデバイスをより素早く、効果的に使用できるようにすることによって、電力使用量を削減し、デバイスの電池寿命を改善する。
いくつかの例では、1つ以上のカメラ(例えば、164、602)の視野内の顔の位置の変化を検出することは、第1の変化成分及び第2の成分を含む顔の位置の変化を検出することを含み、第1の変化成分は、1つ以上のカメラの視野の範囲内での並進軸に沿った顔の動き(例えば、X軸、Y軸、又はZ軸に沿った、軸に沿った顔の移動又は並進)を含み(例えば、1006A~D、1008A~D)、第2の変化成分は、回転軸周りの顔の回転(例えば、X、Y、又はZ軸の周り、1つ以上のカメラの視野内の軸周りの顔の回転(ユーザの頭のねじれ又は傾きによって引き起こされるなど))を含み(例えば、1003A~B、1004A~D、1005A~B)、第1の変更係数は、減衰係数であり(例えば、第1の変化成分の大きさに適用されると、より小さな変更された大きさの値をもたらす分数修飾子)、第2の変更係数は、減衰係数ではない。そのような例では、第1の変化成分の大きさ及び第1の変更係数に基づいて基準フレーム内の仮想アバター(例えば、1000)の空間位置を変更することは、第1の変化成分の大きさよりも小さい大きさだけ、並進移動軸に沿って空間位置を変更することを含む(例えば、1013A~B、1014A~D、1015A~B)。更に、そのような例では、第2の変化成分の大きさ及び第2の変更係数に基づいて基準フレーム内の仮想アバターの空間位置を変更することは、第2の変化成分の大きさと少なくとも等しい大きさだけ、回転軸の周りの空間位置を変更することを含む(例えば、1013A~B、1014A~D、1015A~B)。いくつかの例では、顔の位置の並進(例えば、軸に沿った偏移)の変化は減衰される(仮想アバターに適用されるとき)一方で、顔の位置の回転の変化は減衰されない。そうすることで、並進的な変化により、仮想アバターが所望の基準フレームの外側に移動する可能性を減らすことができる。対照的に、回転の変化は、通常は仮想アバターが所望の基準フレームの外側に移動することはないため、減衰させる必要はない。基準フレーム内の仮想アバターの空間位置を、顔の並進変化と比較して顔の回転変化とは異なるように変更すると、基準フレーム内の仮想アバターの位置決めを邪魔しない回転変化に影響を与えながら、基準フレーム内の仮想アバターの最適な位置決めをもたらすことができる変化を減衰する入力効率方法をユーザに提供する。更なるユーザ入力を必要とせずに、条件のセットが満たされたときに操作を行うことにより、デバイスの操作性が改善され、ユーザデバイスインタフェースを(例えば、デバイスを操作/対話するときに適切な入力を提供するようにユーザを支援し、ユーザの誤りを削減することによって)更に効率的にし、更に、ユーザがデバイスをより素早く、効果的に使用できるようにすることによって、電力使用量を削減し、デバイスの電池寿命を改善する。
方法2400に関して上述したプロセス(例えば、図24)の詳細はまた、上述及び後述する方法2500にも、類似の方法で適用可能であることに留意されたい。例えば、方法2400は、任意選択的に、方法800、900、1800、1900、2000、2100、2200、2300、及び2500を参照して以下に説明する様々な方法の特性のうちの任意の1つ以上を含む。例えば、方法800にしたがってアニメーション化されたアバターを生成、送信、及び受信する方法は、方法2400にしたがって生成された仮想アバター(例えば、ユーザの顔の位置の変化に反応しながら生成されたアバター)を使用してもよい。同様に、方法2400にしたがって生成及び/又は変更された仮想アバター及びアニメーション効果は、方法800又は900の仮想アバター生成インタフェース(例えば、804、904)の仮想アバターの表示されたプレビューに含まれてもよい。他の例では、方法2400にしたがって生成された仮想アバター(例えば、ユーザの顔の位置の変化に反応しながら生成されたアバター)はまた、方法800、900、1800、1900、2000、2100、2200、2300、及び2500の仮想アバター生成及び変更方法にしたがって生成されてもよい。例えば、方法2400にしたがって生成された仮想アバターは、ポーズ(例えば、1810及び1812)の変化のタイプに応じて、異なってユーザの顔のポーズを変化させるために第2のアバター部分(例えば、1036)とは異なる反応をする第1のアバター部分(例えば、1034)を含むことができる。同様に、方法2400にしたがって生成された仮想アバターは、第1(例えば、1122)及び第2(例えば、1120A~B)の物理的特徴の両方の変化に反応する(例えば、1904、1910、1914)アバター特徴(例えば、1133)を含むことができる。簡潔にするために、さらなる例を除外する。
図25は、いくつかの実施形態による、1つ以上のカメラによって検出された顔に基づいて仮想アバターを生成するための、電子デバイスにおける方法を示すフロー図である。方法2500は、1つ以上のカメラ(例えば、164、602)及びディスプレイ装置(例えば、112、340、504、601)を備えた電子デバイス(例えば、100、300、500、600)で実行される。方法2500における一部の動作は、任意選択的に組み合わされ、一部の動作の順序は、任意選択的に変更され、一部の動作は、任意選択的に省略される。
以下で説明するように、方法2500は、仮想アバター(例えば、アニメーション効果のある仮想アバター)を生成するための直感的な方法を提供する。本方法は、仮想アバターを生成するためのユーザの認識的負担を軽減し、それにより、より効率的なヒューマン-マシンインタフェースを作成する。バッテリ動作式のコンピューティングデバイスの場合、ユーザがユーザアバターをより速くかつより効率的に生成することを可能にすることは、節電し、バッテリ充電の時間間隔を長くする。方法2500の例は、図11A~図11C、図12A~図12C、図14A~図14D、図15A~図15B、及び図16A~図16Bを参照して説明したユーザインタフェース及び仮想アバターに見出すことができる。
電子デバイス(例えば、100、300、500、600)は、ディスプレイ装置(例えば、112、340、504、601)を介して、仮想アバター(例えば、1100、1200、1400、1500、1600)を表示する(2502)。いくつかの例では、仮想アバターは、1つ以上のカメラの視野内の顔(例えば、164、602)の1つ以上の物理的特徴(例えば、1120A~B、1122、1123、1229、1225、1420C~D、1427、1520A~B、1527、1620A~B、1627)の変化に反応する。
仮想アバター(例えば、1100、1200、1400、1500、1600)の表示中に、電子デバイス(100、300、500、600など)は、1つ以上の物理的特徴(例えば、1120A~B、1122、1123、1229、1225、1420C~D、1427、1520A~B、1527、1620A~B、1627)の第1の構成(例えば、顔の構成(例えば、表情、ユーザの顔の複数の追跡された物理的特徴によって形成された関連する顔の筋肉のコレクション(例えば、皺眉筋及び前頭筋を含む眉毛の動きを制御する筋肉のセット)の特徴的な構成)を検出する(2504)。いくつかの例では、構成は、すぼめた唇、ひそめた眉毛、冷笑、にやにや笑い、又は苦い顔である。
いくつかの例では、仮想アバターは、1つ以上のアバター特徴を含み、顔の1つ以上の物理的特徴の第1の構成の検出に応じて、電子デバイスは、顔の1つ以上の物理的特徴の第1の構成に基づいて1つ以上のアバター特徴のうちの少なくとも1つを変更する。
顔の1つ以上の物理的特徴(例えば、1120A~B、1122、1123、1229、1225、1420C~D、1427、1520A~B、1527、1620A~B、1627)の第1の構成を検出中、電子デバイス(例えば、100、300、500、600)は、以下の動作のうちの任意の1つ以上を実行することができる。1つ以上の物理的特徴の第1の構成がアニメーション基準を満たすという判定に従って、アニメーション基準は、第1の構成が少なくとも第1の閾値時間だけ維持されるという要件を含み(例えば、アニメーションの基準を満たすため、顔面表情は、所定期間(0.5秒、0.6秒、1秒、2秒など)実質的に維持される)、電子デバイスは、第1のアニメーション効果を含むように仮想アバター(例えば、1100、1200、1400、1500、1600)を変更する(2508)。そのようなアニメーション効果は、アバターの唇から発せられるアニメーションハート(例えば、1252、1452、1555、1652)(構成がすぼめた唇の場合)、アバターの上に配置された嵐雲(1142、1144など)(例えば、構成が眉毛をひそめている場合)、アバターの目から放射されるレーザービーム(例えば、1146)(例えば、構成が苦い顔の場合)、又はアバターの目から放出される涙滴(例えば、1140)(例えば、構成が悲しい表情である場合)などの視覚効果を含むことができる。アニメーション基準を満たさない1つ以上の物理的特徴の第1の構成によれば、電子デバイスは、第1のアニメーション効果を含むように仮想アバターの変更を取り止める(2510)。仮想アバターを変更して、ユーザの物理的機能を使用してアニメーション基準を満たすことに基づいた第1のアニメーション効果を含めると、表示されたユーザインタフェースコントロール(例えば、タッチコントロール)要素を必要とせずに、仮想アバターのアニメーション効果の生成を制御するオプションをユーザに提供する。追加の制御によりユーザインタフェースを雑然とさせることなく追加の制御オプションを提供することにより、デバイスの操作性が改善され、ユーザ-デバイスインタフェースを(例えば、デバイスを操作/対話するときに適切な入力を提供するようにユーザを支援し、ユーザの誤りを削減することによって)更に効率的にし、更に、ユーザがデバイスをより素早く、効果的に使用できるようにすることによって、電力使用量を削減し、デバイスの電池寿命を改善する。
いくつかの例では、第1のアニメーション効果(例えば、1140、1142、1144、1146、1252、1452、1555、1652)は、表示された仮想アバター(例えば、1100、1200、1400、1500、1600)とは異なる(例えば、仮想アバターが仮想アバターの解剖学的特徴に対応していない)(新たに又は最初に表示される)1つ以上の仮想オブジェクト(例えば、心、嵐雲、雷、涙、レーザー)を視覚的に導入する(例えば、新しく又は最初に)電子デバイス(例えば、100、300、500、600)を含む。表示された仮想アバターとは異なる1つ以上の仮想オブジェクトを視覚的に導入し、ユーザの物理的特徴を使用してアニメーション基準を満たすことで、複数の入力(例えば、タッチ入力)を必要としない既存の仮想アバターに別個の仮想オブジェクトを追加するための効率的な入力モダリティをユーザに提供する。操作を実行するために必要な入力の回数を減少させることは、デバイスの操作性を向上させ、ユーザとデバイスのインタフェースをより効果的にし(例えば、ユーザが適切な入力を提供することを支援し、デバイスを操作又はそれと対話するとき、ユーザの間違いを低減することによって)、更に、ユーザがデバイスをより素早く、効果的に使用できるようにすることによって、電力使用量を削減し、デバイスの電池寿命を改善する。いくつかの例では、仮想オブジェクトは、アバターの唇から放出されるアニメーション化されたハートである(例えば、構成がすぼめた唇の場合)。いくつかの例では、仮想オブジェクトは、任意選択的にアバターの上に雷が配置された嵐雲である(例えば、構成が眉毛をひそめている場合)。いくつかの例では、仮想オブジェクトは、アバターの目から放射されるレーザービームである(例えば、構成が苦い顔の場合)。いくつかの例では、仮想オブジェクトは、アバターの目から放出される涙である(例えば、構成が悲しい表情の場合)。いくつかの例では、仮想オブジェクトは、解剖学的又は生理学的に、1つ以上のカメラの視野内の顔の特徴のいずれにも対応しない。いくつかの例では、1つ以上の仮想オブジェクトは、徐々に導入される(例えば、1つ以上の仮想オブジェクトは、経時的に間隔を空けて表示され、1つ以上のオブジェクトは、比較的小さく始まり、その後時間とともに大きくなり、及び/又はより多くのオブジェクトが比較的透明で始まり、経時的に徐々に不透明度が増加する)。
いくつかの例では、仮想アバター(例えば、1100、1200、1400、1500、1600)を変更して第1のアニメーション効果(例えば、1140、1252、1452、1555、1652)を含めると、更に電子デバイス(100、300、500、600)は、仮想アバターに対して移動する1つ以上の仮想オブジェクト(例えば、1140、1252、1452、1555、1652)のアニメーションを表示する。いくつかの例では、1つ以上のオブジェクトの動きは、他の仮想オブジェクトに対してランダム化されるか、さもなければ(例えば、所定のパターンにしたがって)変化する。
いくつかの例では、仮想アバターに対して移動する1つ以上の仮想オブジェクト(例えば、1140、1252、1452、1555、1652)のアニメーションは、発信元の場所(アバターの唇など)から目的の場所までの1つ以上の仮想オブジェクトのアニメーション化された動きを表示する電子デバイス(例えば、100、300、500、600)を含む。いくつかの例では、1つ以上の仮想オブジェクトのそれぞれについて、分布関数(例えば、1つ以上の仮想オブジェクトの目的地をランダム又は擬似ランダムに選択するアルゴリズム)に基づいて、目的の場所に仮想アバターに対する位置が割り当てられる。
いくつかの例では、仮想アバター(例えば、1100、1200、1400、1500、1600)に対して移動する1つ以上の仮想オブジェクトのアニメーション(例えば、1252、1452、1555、1652)は、仮想アバターの表示された向きに基づく方向を有する移動を含む。例えば、仮想アバターが左を向いている場合、オブジェクトは、アバターの左側に移動する。仮想アバターが右を向いている場合、オブジェクトは、アバターの右側に移動する。表示された仮想アバターの向きに基づいて仮想オブジェクトを移動すると、デバイスによって検出されているとき、ユーザの向き(例えば、アバターの向きを制御する)に関するフィードバックをユーザに提供する。ユーザに改善された視覚的フィードバックを提供することにより、デバイスの操作性を向上させ、(例えば、デバイスを操作する/デバイスと対話するときに適切な入力を提供するようにユーザを支援し、ユーザの誤りを削減することによって)ユーザデバイスインタフェースをより効率的にし、更に、ユーザがデバイスをより素早く、効果的に使用できるようにすることによって、電力使用量を削減し、デバイスの電池寿命を改善する。
いくつかの例では、1つ以上の仮想オブジェクト(例えば、1140、1252、1452、1555、1652)は、分布関数(例えば、ランダム又は疑似ランダムに1つ以上の仮想オブジェクトの表示時間を選択するアルゴリズム)に基づいて選択された時間間隔で放出される複数の仮想オブジェクトである。
いくつかの例では、1つ以上の物理的特徴(例えば、1120A~B、1122、1123、1229、1225、1420C~D、1427、1520A~B、1527、1620A~B、1627)の第1の構成は、1つ以上の物理的特徴の第1の構成が、顔の2つ以上の物理的特徴の一連の所定の相対的な空間的配置から顔の2つ以上の物理的特徴の第1の所定の相対的な空間位置決めを含む場合(例えば、複数の顔の特徴の相対的な空間位置決めを追跡することにより特定される第1の所定の顔面表情)、アニメーション基準を満たす。仮想アバターを変更して、2つ以上の物理的特徴の相対的な空間的配置に基づくアニメーション基準を満たすことに基づく第1のアニメーション効果を含めることにより、表示されるユーザインタフェースコントロール(例えば、タッチコントロール)要素を必要とせずに仮想アバターのアニメーション効果の生成を制御するための任意選択的低エラーをユーザに提供する。追加の制御によりユーザインタフェースを雑然とさせることなく追加の任意選択的制御を提供することにより、デバイスの操作性が改善され、ユーザ-デバイスインタフェースを(例えば、デバイスを操作/対話するときに適切な入力を提供するようにユーザを支援し、ユーザの誤りを削減することによって)更に効率的にし、更に、ユーザがデバイスをより素早く、効果的に使用できるようにすることによって、電力使用量を削減し、デバイスの電池寿命を改善する。
いくつかの例では、1つ以上の仮想オブジェクト(例えば、1140、1142、1146、1252、1452、1555、1652)は、第1の所定の相対的な空間位置決めに基づいて決定される。いくつかの例では、アニメーション効果は、特定の特定された顔面表情に基づいて選択される仮想オブジェクトの表示を含む。
いくつかの例では、顔の物理的特徴のうちの2つ以上の第1の所定の相対的な空間位置決めは、少なくとも顔のしかめた上唇と下唇、及び顔の閉じた顎によって形成されるしかめた表情(例えば、1229及び1225、1420C~D及び1427、1502A~B及び1527、1620A~B及び1627)(例えば、解剖学的に対応する、又は(例えば、パターンマッチングを介して)決定される)に対応し、1つ以上の仮想オブジェクトは、1つ以上のハート(例えば、1252、1452、1555、1652)を含む。
いくつかの例では、顔の物理的特徴のうちの2つ以上の第1の所定の相対的空間位置決めは、口の中央部よりも低い少なくとも口の第1の角及び第2の角によって形成される悲しい表情(例えば、1120A~B)に対応し、1つ以上の仮想オブジェクトは、1つ以上の涙(例えば、1140)を含む。
いくつかの例では、顔の物理的特徴の2つ以上の第1の所定の相対的な空間位置決めは、下げられた位置を有する顔の少なくとも2つの眉毛によって形成される眉毛をひそめること(例えば、1120A~B及び1122)に対応し(例えば、眉毛をひそめることは、眉毛の中立的な静止位置と比較してユーザの眉毛がユーザの鼻に向かって垂直に変位した位置にある場合に検出される)、1つ以上の仮想オブジェクトは、任意選択的に断続的な落雷(例えば、1144)を含むことがある1つ以上の嵐雲(例えば、1142)を含む。
いくつかの例では、顔の物理的特徴の2つ以上の第1の所定の相対的な空間位置決めは、顔の2つの目の少なくとも狭まりによって形成される苦い顔(例えば、1103A~B)に対応し(例えば、ユーザの目の上瞼及び下瞼は、実際に目を閉じることなく閉じた位置に向かってわずかに移動する)、1つ以上の仮想オブジェクトは、1つ以上のレーザービーム(例えば、1146)を含む。いくつかの例では、苦い顔の検出はまた、ユーザの頬の筋肉(頬骨筋など)の上昇位置の検出も含む。
いくつかの例では、仮想アバター(例えば、1100、1200、1400、1500、1600)は、複数の仮想アバターテンプレート(例:犬、猫、クマ、ロボット、ユニコーン、エイリアン、プー)の第1の仮想アバターテンプレート(例えば、アバター1100、1200、1400、1500、1600のテンプレート)に対応する。例えば、仮想アバターテンプレートは、アバターの特徴、アバターのサイズ、アバターの色などを含む(又は除外)ような仮想アバターのコア特性を定義する仮想アバターモデル(例えば、1つ以上のバリエーションを含むか又は含まなくてもよいベースモデル)を含むことができる。いくつかの例では、第1のアニメーション効果の視覚特性は、第1の仮想アバターテンプレートに基づいている。換言すれば、第1のアニメーション効果の視覚特性は、アバターテンプレートに応じて変化するため、アニメーション効果は、アバターテンプレートに応じて異なって表示される。いくつかの例では、アバターテンプレートは、ロボットに対応し、アニメーション効果は、メタリックな外観を持つ仮想オブジェクト(例えば、ハート1452)の表示を含む。いくつかの例では、アバターテンプレートは、ユニコーンに対応し、アニメーション効果は、虹ベースの外観を持つ仮想オブジェクト(例えば、ハート1555)の表示を含む。いくつかの例では、アバターテンプレートは、エイリアンに対応し、アニメーション効果は、ぬるぬるした外観とテクスチャリングを持つ仮想オブジェクト(例えば、ハート1252)の表示を含む。アバターテンプレート(例えば、コア特性を定義するテンプレート)上の仮想アバターに基づいて、仮想アバターの特性を定義するための入力効率の良い方法をユーザに提供する。更なるユーザ入力を必要とせずに、条件のセットが満たされたときに(例えば、テンプレートが選択される)操作(例えば、仮想アバターのコア特性の定義)を行うことにより、デバイスの操作性が改善され、ユーザデバイスインタフェースを(例えば、デバイスを操作/対話するときに適切な入力を提供するようにユーザを支援し、ユーザの誤りを削減することによって)更に効率的にし、更に、ユーザがデバイスをより素早く、効果的に使用できるようにすることによって、電力使用量を削減し、デバイスの電池寿命を改善する。
いくつかの例では、仮想アバター(例えば、1100、1200、1400、1500、1600)を変更して第1のアニメーション効果(例えば、1140、1252、1452、1555、1652)を含めるようにした後、1つ以上の物理的特徴の構成が追加のアニメーション基準を満たすという判定に従って、追加のアニメーション基準は、追加のアニメーション基準を満たすために、第1のアニメーション効果を含むように仮想アバターを変更した後、少なくとも第2の閾値時間だけ第1の構成を維持するという要件を含み(例えば、顔面表情は、第1のアニメーション効果を含むように仮想アバターを変更した後(例えば、アニメーションハート、嵐雲、レーザービームなどを生成した後)、所定期間(例えば、0.3秒、0.6秒、1秒など)実質的に維持される)、電子デバイスは、第2のアニメーション効果(例えば、第1のアニメーション効果に基づく第2のアニメーション効果)を含むように仮想アバターを変更する。いくつかの例では、第2のアニメーション効果は、第1のアニメーション効果の維持又は繰り返しを含む。いくつかの例では、第2のアニメーション効果は、第1のアニメーション効果のバリエーションである(例えば、第1のアニメーション効果の一部として表示される仮想オブジェクトのより大きなバージョン又はより頻繁なバージョン)。仮想アバターを変更して、ユーザの物理的機能を使用して追加のアニメーション基準を満たすことに基づいた第2のアニメーション効果を含めると、表示されたユーザインタフェースコントロール(例えば、タッチコントロール)要素を必要とせずに、仮想アバターの追加のアニメーション効果の生成を制御するオプションをユーザに提供する。追加の制御によりユーザインタフェースを雑然とさせることなく追加の制御オプションを提供することにより、デバイスの操作性が改善され、ユーザ-デバイスインタフェースを(例えば、デバイスを操作/対話するときに適切な入力を提供するようにユーザを支援し、ユーザの誤りを削減することによって)更に効率的にし、更に、ユーザがデバイスをより素早く、効果的に使用できるようにすることによって、電力使用量を削減し、デバイスの電池寿命を改善する。
1つ以上の物理的特徴の第1の構成(例えば、1520A~B及び1527)がアニメーション基準を満たし、アバターが第1のアニメーション効果を含むように変更されるいくつかの例では、顔の1つ以上の物理的特徴の第1の構成を検出するとき、電子デバイスは、顔の第1の物理的特徴(例えば、1つ以上の物理的特徴の第1の構成の一部である物理的特徴ではない物理的特徴)の変化を検出する。いくつかの例では、アニメーション基準を満たす顔の第1の物理的特徴の変化の検出に応じて、電子デバイスは、顔の第1の物理的特徴(例えば、1522)の変化に基づいて、第1のアバター特徴(例えば、1538)を変更する。いくつかの例では、アニメーションの基準は、ユーザの顔の追跡されたすべての機能よりも少ないことに基づく評価を含む。例えば、アニメーションの基準は、ユーザの口と目の部分のみに基づいている場合がある。したがって、アニメーション特徴によって評価されない物理的特徴(例えば、ユーザの眉毛)が動く(例えば、所定の位置に維持されない)場合であっても、アニメーション基準は満たされることができる。顔の物理的特徴の変化に基づくアバター特徴の変更例は、方法1800、1900、2000、2100、2200、2300、及び2400を参照して上記でより詳細に説明されている。第1のアニメーション効果を含めるためのアニメーション基準を満たしながら(例えば、異なる物理的特徴のセットを使用して)、第1の物理的特徴の変更に基づいて第1のアバター特徴を変更するオプションをユーザに提供すると、表示されたユーザインタフェースコントロール(例えば、タッチコントロール)要素を必要とせずに仮想アバターの生成を制御するオプションをユーザに提供する。追加の制御によりユーザインタフェースを雑然とさせることなく追加の制御オプションを提供することにより、デバイスの操作性が改善され、ユーザ-デバイスインタフェースを(例えば、デバイスを操作/対話するときに適切な入力を提供するようにユーザを支援し、ユーザの誤りを削減することによって)更に効率的にし、更に、ユーザがデバイスをより素早く、効果的に使用できるようにすることによって、電力使用量を削減し、デバイスの電池寿命を改善する。
なお、方法2500に関して上述したプロセス(例えば、図25)の詳細はまた、上述した方法にも類似の方式で適用可能であることに留意されたい。例えば、方法2500は、任意選択的に、方法800、900、1800、1900、2000、2100、2200、2300、及び2400を参照して以下に説明する様々な方法の特性のうちの任意の1つ以上を含む。例えば、方法800及び900にしたがってアニメーション化されたアバターを生成、送信、及び受信する方法は、方法2500にしたがって生成された仮想アバター及びアニメーション効果を使用することができる。同様に、方法2500にしたがって生成及び/又は変更された仮想アバター及びアニメーション効果は、方法800又は900の仮想アバター生成インタフェース(例えば、804、904)の仮想アバターの表示されたプレビューに含まれてもよい。他の例では、方法2500にしたがって生成された仮想アバター(例えば、アニメーション効果を有する)はまた、方法800、900、1800、1900、2000、2100、2200の仮想アバター生成及び変更方法に更にしたがって生成されてもよい。例えば、方法2500にしたがって生成された仮想アバターは、ポーズ(例えば、1810及び1812)の変化のタイプに応じて、異なってユーザの顔のポーズを変化させるために第2のアバター部分(例えば、1036)とは異なる反応をする第1のアバター部分(例えば、1034)を含むことができる。同様に、方法2500にしたがって生成された仮想アバターは、第1(例えば、1122)及び第2(例えば、1120A~B)の物理的特徴の両方の変化に反応する(例えば、1904、1910、1914)アバター特徴(例えば、1133)を含むことができる。簡潔にするために、さらなる例を除外する。
上記の段落[0200]及び[0237]で述べたように、いくつかの実施形態では、カメラ(例えば、602)(例えば、カメラモジュール143、光センサ164、深度カメラセンサ175)の視野でユーザの顔が検出されなくなった後、電子デバイスは、表示された仮想アバターを変更する。図26A~26Dは、カメラ(例えば、カメラ602)(例えば、カメラモジュール143、光センサ164、深度カメラセンサ175)の視野内でユーザの顔がもはや検出されなくなった後、デバイス(例えば、600)が仮想アバターの表示外観を変更し続けるそのような実施形態を示す。
図26A~26Dは、例示的なユーザ入力及び例示的な仮想アバター(例えば、犬のアバター)に対する対応する変更を示している。図26A~26Dの左列の画像は、ユーザが1つ以上のカメラ(例えばカメラ602)(例えば、カメラモジュール143、光センサ164、深度カメラセンサ175)及び/又はその他のセンサ(赤外線センサなど)の視野内にあるときに電子デバイスによって検出されるようなユーザの画像を表す。換言すれば、ユーザの画像は、カメラ(例えば、カメラ602)(例えば、カメラモジュール143、光センサ164、深度カメラセンサ175)の視点からのものであり、これは、いくつかの実施形態では、電子デバイス(例えば、デバイス100、300、及び500)に配置されることができ、他の実施形態では、電子デバイス(例えば、データを電子デバイスに渡す外部カメラ又はセンサ)から分離して配置されることができる。いくつかの実施形態では、図26A~図26Dの左列の画像の境界は、1つ以上のカメラ(例えば、602)(例えば、カメラモジュール143、光センサ164、深度カメラセンサ175)及び/又は他のセンサ(例えば、赤外線センサ)の視野の境界を表す。
図26A~図26Dの中央列の画像は、デバイスがすべての左列の動きのユーザの顔を追跡し続ける(例えば、顔の追跡は失敗しない)仮想シナリオについて、左列に位置するユーザの検出画像に対応する仮想アバターの外観を表す基準アバター(例えば、犬アバター)を示す。基準アバターは、基準アバターを見ているユーザの視点から表示される。いくつかの実施形態では、図26A~図26Dの中央列の画像は、電子デバイスのディスプレイ(例えば、タッチスクリーン112、ディスプレイ340、ディスプレイ450、ディスプレイ504)の表示領域内の基準アバターの位置を表し、図26A~図26Dの中央列の画像の境界は、基準アバターを含む表示領域の境界を表す。いくつかの実施形態では、中央列に表される表示領域は、上記で説明した仮想アバターインタフェース643、メッセージ作成エリア612、メッセージエリア609(又はその一部)などのアプリケーションユーザインタフェースのアバター表示領域に対応する。
図26A~図26Dの右列の画像は、デバイスが左列の動きの一部のユーザの顔を追跡できない(例えば、顔の追跡に失敗する)シナリオについて、左列に位置するユーザのいくつかの検出画像に基づいて提示される(例えば、変更後に表示される)状態の仮想アバター2600(例えば、犬アバター)を示す。いくつかの実施形態では、仮想アバターは、仮想アバターを見ているユーザの視点から示される。いくつかの実施形態では、仮想アバターは、電子デバイスのディスプレイ(例えば、タッチスクリーン112、ディスプレイ340、ディスプレイ450、ディスプレイ504)に表示される。いくつかの実施形態では、仮想アバターは、表示のために外部電子デバイスに送信される。いくつかの実施形態では、図26A~図26Dの右列の画像は、電子デバイスのディスプレイ(例えば、タッチスクリーン112、ディスプレイ340、ディスプレイ450、ディスプレイ504)の表示領域内の仮想アバターの位置を表し、図26A~図26Dの右列の画像の境界は、仮想アバターを含む表示領域の境界を表す。いくつかの実施形態では、右列に表される表示領域は、上記で説明した仮想アバターインタフェース643、メッセージ作成エリア612、メッセージエリア609(又はその一部)などのアプリケーションユーザインタフェースのアバター表示領域に対応する。
図26Aは、顔追跡が失われた後の、表示された仮想アバター2600の慣性運動の例を示している。左列は、様々な状態(例えば、2601A~2601D)でのユーザの動きを示している。右列は、デバイスがユーザの顔を追跡する期間(例えば、状態2603A及び2603B)及びデバイスがユーザの顔を追跡しなくなった(例えば、状態2603C及び2603D)ときの、デバイスが様々な状態(例えば、2603A~2603D)で仮想アバターに対して行う変更を示している。参考のために、中央列は、顔追跡が失敗しなかった場合に右列の仮想アバターがどのように見えるかを表す基準アバターの状態2602A~2602Dを示している。
状態2601Aでは、ユーザは、視野の中心に位置し、頭2604は、前方を向き、中立的な顔面表情を有する(例えば、本明細書で提供される他の実施形態で説明されるように、ユーザの口2606は、中立的なポーズを有する)。状態2602Aでは、基準アバターの頭2614’は、境界領域の中心にあり、耳2618’は、基準アバターの頭の側面に沿って静止し、口2616’は、ユーザの姿勢に合った中立的なポーズを有する。状態2603Aでは、デバイスは、カメラの視野内で状態2601Aに示されている位置を有するユーザの頭2604及び口2606を検出する。したがって、デバイスは、状態2602Aの基準アバターの対応する特徴と同じ位置を有する頭2614、口2616、及び耳2618を有する犬のアバターを表示する。
状態2601Bでは、ユーザは、カメラの視野をわずかに超えて移動しながら、カメラの視野内でより高く動かされ、頭を左に回し始めている(例えば、ユーザの頭2604は、状態2601Aよりも高い位置にあり、カメラの視点からわずかに右に回転している)。同時に、ユーザは、笑顔を始めている(例えば、ユーザの口2606が笑顔の位置に移動しており、状態2601Bでは、ユーザの口がわずかに持ち上げられているように見える(ユーザが笑い始めているため))。状態2602Bでは、状態2601Bでのユーザの頭の動きを表すために境界2605の縁部に偏移しながら、基準アバターの頭2614’は、状態2602Aよりも境界領域内で高く移動し(例えば、状態2601Bでのユーザの頭2604の垂直位置に一致するように)、わずかに左に回転する(ユーザの視点から)。基準アバターがその頭2614’を回転させると、耳2618’に関連付けられた物理モデルにしたがって、耳の回転とともに耳2618’がわずかに揺れる。基準アバターの口2616’は、わずかな笑顔になり、状態2601Bのユーザの口2606の動きと位置に一致する。状態2603Bでは、デバイスは、カメラの視野内で状態2601Bに示されている位置を有するユーザの頭2604及び口2606を検出する。したがって、状態2603Bは、状態2602Bの基準アバターと同じ位置を有する犬のアバターを表示するデバイスを示す。
状態2601Cでは、ユーザは、すぐに頭2604を回して正面を向き、口2606をひそめる表情に変える(例えば、ユーザの口をひそめる)。状態2602Cでは、基準アバターの頭が前方に素早く回転して、ユーザの頭の回転に一致する。基準アバターの耳2618’は、基準アバターの頭2614’の素早い回転の物理学にしたがって揺れ動く。基準アバターの口2616’は、わずかな笑顔から、ユーザの表情に合った顔をしかめた表情に変わる。
状態2603Cでは、デバイスは、カメラの視野内でユーザを検出しなくなった。したがって、デバイスは、以前に検出されたユーザの状態(例えば、状態2601B)に基づいて犬のアバターを変更し続ける。例えば、デバイスは、ユーザが頭を左に回したことを最後に検出したため、デバイスは、犬の頭2614の回転を変更し続け、状態2601Bでのユーザの頭の以前に検出された左回転に基づいて回転し続ける。いくつかの実施形態では、デバイスはまた、頭がアバターの右を向いた静止位置まで徐々に減速するように犬の頭2614の回転速度を低下させ、犬の耳2618は、犬の頭2614の徐々に減速する物理学に基づいてわずかに動く。更に、デバイスは、カメラの視野内でユーザが垂直方向に移動していることを最後に検出したため、ユーザに対して検出された垂直位置に移動するように犬アバターの頭2614を変更し続ける。いくつかの実施形態では、デバイスはまた、犬の頭2614が垂直に動き続ける速度を減少させ、それにより、静止位置まで徐々に減速する。デバイスは、最後に、ユーザの口2606が中立位置から微笑みまで移動することを検出した。したがって、デバイスは、状態2603Cに示されている笑顔表情を達成するために笑顔の動きを続けるように、犬のアバターの口2616を変更する(例えば、状態2603Bに示されるわずかな笑顔よりも笑顔が大きい)。いくつかの実施形態では、デバイスは、犬の口2616が変化する速度を低下させ、その結果、ゆっくりと休息する笑顔の位置まで減速する。
いくつかの実施形態では、顔追跡が失敗した後、異なるアバター特徴は、異なる速度及び/又は大きさで変化する。例えば、アバターの頭2614は、顔追跡が失敗した後、アバターの口2616が変化し続ける速度よりも速い速度で回転し続けることができる。他の例として、顔追跡が失敗した後のアバター頭2614の変化の大きさは、アバターの口2616の変化の大きさよりも大きくてもよい。
状態2601Dでは、ユーザは、2601Cと同じ位置に留まる。状態2602Dでは、状態2602Cに示すように、基準アバターの耳2618’が移動後に静止位置に落ち着く。状態2603Dでは、デバイスは、まだユーザを検出していない。デバイスは、犬の耳2618を変更して、他のアバター特徴の動きが停止したため、犬が静止位置に落ち着くようにする。いくつかの実施形態では、ユーザがカメラの視野内で検出されなくなった後、変更されたアバター特徴が変更後の量の制限に到達したため、デバイスは、犬のアバターを変更しなくなる(例えば、犬のアバターの頭を右に回転させ続けたり、犬のアバターの笑顔を増やし続けたりしない)。いくつかの実施形態では、デバイスは、(顔追跡が失われた後)特徴の最終的に変更された位置を制限して、特徴が過度に誇張されないようにする。例えば、犬の口2616は、顔の追跡が失敗した後、状態2603Dに示される笑顔のポーズを超えないように制限されることができる。他の例として、頭2614の変更された位置は、アバター頭2614が後方に向きを変えることができないように制限されてもよい。いくつかの実施形態では、顔追跡が失われた後の特徴の最終的な変更された位置の制限は、変更されたアバター特徴が変更されることができる動きの範囲の所定のキャップとして設定される。いくつかの実施形態では、顔追跡が失われた後の特徴の最終変更位置の制限は、顔追跡が失敗する前の瞬間にユーザの対応する特徴について検出された変化のスケーリング値として設定される。いくつかの実施形態では、顔の追跡が失われた後、特徴の最終的に変更された位置の制限は、誇張された顔の顔面表情のトリガーを回避するように決定される。例えば、仮想アバターがエイリアンアバター(例えば、ここで説明したものなど)であり、変化するアバター特徴が眉毛又は頬である場合、顔の追跡が失敗した後、アバターの眉毛又は頬の動きは、エイリアンの頭又は頬に表示されるスパイクを引き起こさない動きの範囲に制限されてもよい。
図26Bは、閾値時間内に顔追跡が再開した後(例えば、顔追跡が失敗した後1.5秒未満)、仮想アバター2600を変更する例を示している。この実施形態では、デバイスは、再びユーザを検出し、仮想アバターを変更して、検出されたユーザの追跡を再開する。例えば、状態2601Eでは、ユーザは、状態2601Dに示されている位置に留まる。状態2602Eでは、基準アバターは、状態2602Dに示されている位置のままである。状態2603Eでは、変更された仮想アバターは、状態2603Dに示されている位置にある。状態2603Eは、顔追跡が再開される少し前に表示、変更された仮想アバターの状態である。
状態2601F及び2601Gでは、ユーザの頭2604は、カメラの視野内で下に移動し、視野の中心に戻っているが、ユーザの口2606は、しかめた顔面表情を維持している。状態2602F及び2602Gでは、中央列の基準アバターは、しかめ面の表情を維持しながら、ユーザの位置に一致するように下に偏移する。状態2603Fでは、デバイスは、ユーザを検出し、状態2601Fで検出されたユーザの外観に基づいて、表示された仮想アバターの変更を開始する。犬のアバターの変更は、状態2603F及び2603Gに示されており、状態2603Fは、状態2603Eのアバターの表示と状態2603Gのアバターの最終的な表示との間の一時的な状態である。具体的には、デバイスは、犬のアバターの口2616を変更して、状態2603Eの大きな笑顔から2603Gに示す眉毛をひそめ、状態2603Fに示す中間位置に遷移する。更に、デバイスは、犬のアバターの頭2614の向きと位置を変更して、ユーザのそれに合わせる。例えば、デバイスは、犬のアバターの頭2614の位置を、状態2603Eの境界領域の左上隅から、状態2603Gに示される下の位置に移動し、状態2603Fに中間位置を示す。同様に、デバイスは、状態2603Eの横向きから状態2603Gに示す正面向きにアバターの頭2614を回転させ、状態2603Fは、中間位置を示す。
いくつかの実施形態では、顔追跡が再開されると、様々なアバター特徴の物理学が減衰される。例えば、図26Bに示すように、状態2603Fでは、アバターの耳2618は動かない(又はわずかに動く)ため、視野内でのユーザの顔の再獲得、及び仮想アバターのその後の変更は、アバターの耳2618の急激な動きを引き起こさず、これは、仮想アバターの機能の動きを悪化させ、本明細書で開示される変更技術で達成される滑らかな遷移効果を妨げる。
図26Cは、顔追跡が閾値時間内に再開できなかった後(例えば、顔追跡が失敗した後1.5秒未満)、仮想アバター2600を変更する例を示している。この実施形態では、デバイスは、カメラの視野に戻るようにユーザを促し、表示領域の中央の所定の位置(例えば、センタリング)に移動して中立的なポーズに遷移する仮想アバターのアニメーションを表示するようにアバターを変更する。
状態2601H~2601Jでは、境界領域の右上隅に顔をしかめた顔面表情で、カメラの視野の外側に部分的に位置している。状態2602H~2602Jでは、基準アバターは、ユーザの位置と顔面表情を表すように、境界領域の左上隅に配置され、顔をしかめた顔面表情を有する。状態2603H~2603Jでは、デバイスは、カメラの視野内でユーザを検出しない。
状態2603Hでは、デバイスは、ユーザがカメラの視野内で閾値時間検出されなかったと判定し、カメラの視野内にユーザの頭を配置するように指示する表示プロンプトを含むように、表示されたアバター(状態2603Dで上記の位置を有する)を変更する。いくつかの実施形態では、プロンプトは、境界領域の中央に配置されたフレーム2620と、カメラの視野に頭を配置するようにユーザに指示するメッセージ2622とを含む。状態2603I及び2603Jに示されるように、デバイスはまた、状態2603Hの変更された位置からフレーム2620内の中心位置に遷移するように仮想アバターを変更する。状態2603Jでは、仮想アバターは、フレーム2620の中央に示されており、中立的な表情を有している。状態2603Iは、状態2603Hの外観から状態2603Jの外観に移動して表示される仮想アバターの一時的な状態を示す。状態2603Iの一時的な状態では、仮想アバターの頭2614は、状態2603Hの横向きの位置からわずかに前向きの状態に回転しており、アバターの口2616は、状態2603Jで中立状態に遷移するのにともない、状態2603Hの大きな笑顔から状態2603Iのわずかな笑顔に遷移している。
いくつかの実施形態では、デバイスが状態2603Hの外観から状態2603Jの外観に遷移するとき、デバイスは、アバター特徴の物理学を減衰させる。例えば、状態2603Iでは、アバターが状態2603Hの外観から状態2603Jの外観に遷移して表示されるため、アバターの耳2618は移動しない(又はわずかに移動する)。
図26Dは、仮想アバター2600を変更して、閾値時間を超えて顔を検出できなかった後に顔追跡を再開する例を示している。デバイスがカメラの視野でユーザを再度検出した後、デバイスは、想アバターを変更して、検出されたユーザの追跡を再開する。
状態2601K~2601Mでは、ユーザの頭2604は、カメラの視野内の低い位置にあり、頭を右に向けて微笑んでユーザの右に移動する。状態2602K~2602Mでは、基準アバターは、境界領域の右下に配置され、ユーザの外観に合わせて左に回された頭2614’を有する。基準アバターの口2616’は、ユーザの口2606に一致する大きな笑顔である。状態2603Kでは、デバイスは、ユーザがカメラの視野に入っていると判定しているため、状態2603Jに関して上で説明した外観を有する仮想アバターを表示するが、仮想アバター2600の周りに実線のフレーム2620-1が表示される。
いくつかの実施形態では、デバイスは、ユーザがカメラの視野内に位置していると判定した後、状態2603Kの中立的なポーズからユーザの検出されたポーズを表す外観への漸進的な遷移としてアバター2600を変更する。この段階的な遷移は、状態2603Kに示される外観から状態2603Mに示される外観に変化するアバター2600として表示することができ(例えば、アバター2600は、境界領域の右下に位置し、ユーザの回転した頭2606と一致するように頭2614が左に向き、口2616は、ユーザの口2606と一致する大きな笑顔である)、状態2603Lに一時的な外観が示されている(例えば、アバター2600は、わずかに右下に配置され、頭がわずかに回転し、口2616は、中立的なポーズから大きな笑顔に遷移している)。いくつかの実施形態では、デバイスが、ユーザがカメラの視野内に位置すると判定した後、デバイスは、ユーザの検出された状態を表す外観に直接遷移するように仮想アバター2600を変更する。換言すれば、デバイスは、段階的な遷移を表示せずに、2603Mに示す状態としてアバターを変更する(例えば、状態2603Lに示す一時的な状態)。
いくつかの実施形態では、図26Cに示す失われた追跡の実施形態から顔追跡が再開した後、デバイスが仮想アバター2600を変更するとき、デバイスは、様々なアバター特徴の物理的特徴を減衰させ、アバター特徴がユーザの新たに検出された状態に一致する新たな表示位置への急速な移動に基づいて急激に移動する視覚効果を回避する。例えば、状態2603Lに示すように、アバター2600が状態2603Mに示す外観に遷移しているとき、アバターの耳2618は移動しない(又はわずかに移動する)。いくつかの実施形態では、これらの物理学は、アバターがユーザの外観を反映するように更新され(例えば、状態2603Mに示される)、顔追跡が再開した後に再び有効にされる。いくつかの実施形態では、アバター特徴の物理ベースのアニメーションが突然有効になるような不快な遷移を回避するために、物理学ベースのアニメーションのゲイン値又はその他のスケーリング係数を経時的に徐々に増加させることにより、アバターが更新された後、物理学が徐々に有効になる(例えば、0などの小さい数から1などのより大きい数にスケーリング係数を増分的に増加させる)。
いくつかの実施形態では、仮想アバターの表示表現は、カメラ(例えば、カメラ602)の視野内に配置された被写体の表現と背景を含む画像データ(例えば、深度データを含む画像データ、例えば、ライブカメラプレビュー、キャプチャされた画像、又は記録されたビデオ)上の仮想アバターの表示を含むことができる。図26E~26Hは、そのような実施形態の例を示している。
図26Eは、ディスプレイ601及びカメラ602を有するデバイス600を示す。デバイス600は、カメラ602の視野内に位置する被写体2632の表現、及び被写体2632の背後に表示された背景2636を示している、カメラ602からのライブカメラプレビュー2630-1を提示する画像表示領域2630を表示する。本明細書で論じるように、一部の実施形態では、カメラ602を使用してキャプチャされた画像データは、カメラ602の視野内のオブジェクトの深度を決定するために使用され得る深度データを含む。いくつかの実施形態では、デバイス600は、検出されたこれらのオブジェクトの深度に基づいてオブジェクト(例えば、画像データ内の)を解析し、この判定を使用して、本明細書で論じる視覚効果を適用する。例えば、デバイス600は、被写体2632をライブカメラプレビュー2630-1の前景にあるものとして、ユーザの背後に位置するオブジェクトをライブカメラプレビュー2630-1の背景にあるものとして、分類することができる。これらの背景オブジェクトは、ここでは背景2636と総称する。
図26Fに示されるように、仮想アバター2633は、被写体2632の表現上(例えば、被写体の顔上)に表示されることができる。具体的には、仮想アバターは、画像表示領域2630内の被写体の顔に転置され、他方、画像表示領域内の画像の他の部分(背景、又はユーザの身体などのユーザの他の部分など)は表示されたままとなる。カメラ602の視野内に位置するユーザ(例えば、被写体2632)は、本明細書で後でより詳細に説明するように、様々な顔の特徴の動き(例えば、ウインク、舌の突き出し、笑顔など)を含む顔の姿勢(例えば、回転又は向き)を変更することによって、仮想アバターの視覚的態様を制御することができる。例えば、図26Gは、デバイス600がカメラ602の視野内でユーザの頭の動きを検出したことに応じて、頭を傾ける仮想アバター2633を示す。同様に、図26Hは、ユーザの顔の物理的特徴(例えば、ユーザの口)の変化の検出に応じて、仮想アバターの顔の特徴(例えば、口2634)を変更するデバイス600を示す。
いくつかの実施形態では、デバイス600がカメラ602の視野内でユーザの顔を検出できない場合、デバイス600は、図26A~図26Dに関して上述したように仮想アバター(例えば、2633)を変更することができ、任意選択的に、被写体2632と背景2636の表示を維持する。例えば、デバイス600は、図26Aに関して上述したように、ユーザの顔の最後に検出された動きに基づいて慣性動きを示すように仮想アバター2633を変更することができる。デバイス600が、閾値時間内にカメラ602の視野内でユーザの顔を検出した場合、デバイス600は、図26Bに関して上述したように仮想アバター2633を変更することができる。デバイス600が、閾値時間内にカメラ602の視野内でユーザの顔を検出できない場合、デバイス600は、図26Cに関して上述したように仮想アバター2633を変更することができる。いくつかの実施形態では、そのような変更は、顔追跡が失われたときに、ぼやけた視覚効果を適用して、被写体2632及び背景2636を不明瞭にすることを含むことができる。デバイス600が、閾値期間にわたって顔を以前に検出できなかった後にカメラ602の視野内でユーザの顔を検出した場合、デバイス600は、図26Dに関して上述したように仮想アバター2633を変更することができる。
図27は、いくつかの実施形態による、電子デバイスを使用して顔追跡が失敗した後に仮想アバターを生成及び変更する方法を示すフロー図である。方法2700は、1つ以上のカメラとディスプレイとを備えたデバイス(例えば、100、300、500)において実行される。方法2700における一部の動作は、任意選択的に組み合わされ、一部の動作の順序は、任意選択的に変更され、一部の動作は、任意選択的に省略される。
以下に説明するように、方法700は、顔追跡が失敗した後に仮想アバターを生成及び変更するための直感的な方法を提供する。本方法は、顔追跡が失敗した後に仮想アバターを生成及び変更するためのユーザの認識的負担を軽減し、それにより、より効率的なヒューマン-マシンインタフェースを作成する。バッテリ動作式のコンピューティングデバイスの場合、顔追跡が失敗した後にユーザが仮想アバターをより速くかつより効率的に生成及び変更することを可能にすることは、節電し、バッテリ充電の時間間隔を長くする。
電子デバイス(例えば、600)は、ディスプレイ装置(例えば、601)を介して、1つ以上のカメラの視野内の顔の検出されたポーズの変化(例えば、向き、並進移動)(例えば、顔面表情の変化)に応じて外観を変化させる、複数のアバターの特徴(例えば、2614、2616、2618)(例えば、顔の特徴(例えば、目、口、口の一部)又は大きい特徴(例えば、頭、首))を有する仮想アバター(例えば、2600)を表示し(2702)、顔は、第1の顔の特徴(例えば、2604、頭、口、又は口の一部)を含む複数の検出された特徴を含む。
いくつかの実施形態では、仮想アバター(例えば、2633)を表示することは、ディスプレイ装置(例えば、601)を介して、1つ以上のカメラ(例えば、602)の視野内に配置された被写体(例えば、2632、1つ以上のカメラの視野内の人物;例えば、視野内の顔に対応する被写体)及び背景(例えば、2636、被写体以外の1つ以上のカメラの視野内のオブジェクト)の表現を表示することを含み、仮想アバターは、被写体の表現上に表示される(例えば、被写体(ユーザ)の表示された頭又は顔の部分は、仮想アバターの頭に置き換えられる(又は、オーバーレイされる(例えば、不透明、透明、半透明))。いくつかの実施形態では、被写体上に表示される仮想アバターは、被写体の頭又は顔の検出された変化に応答し、被写体の頭又は顔の変化は、背景を表示しながら表示された仮想アバターの変化をもたらす。いくつかの実施形態では、被写体の頭上の仮想アバターの位置は、キャプチャされた画像又はビデオの画像内の深度データ(例えば、深度アスペクト(例えば、RGBデータとは無関係の深度データ)を含む画像データ)を使用して決定される。一部の実施形態では、画像データは、少なくとも2つの成分、すなわち、キャプチャされた画像の視覚特性を符号化するRGB成分、及びキャプチャされた画像内の要素の相対的な空間的関係についての情報を符号化する深度データ(例えば、深度データは、ユーザが前景にあることを符号化し、ユーザの背後に位置する木などの背景要素は、背景にある)を含む。一部の実施形態では、深度データは深度マップである。いくつかの実施形態では、深度マップ(例えば、深度マップ画像)は、視点(例えば、カメラ)からのシーン内のオブジェクトの距離に関連する情報(例えば、値)を含む。深度マップの一実施形態では、各深度ピクセルは、その対応する2次元ピクセルが位置している、その視点のZ軸における位置を定義するものである。いくつかの例では、深度マップは、各ピクセルが値(例えば、0~255)によって定義されているピクセルから成る。例えば、「0」の値は、「3次元」シーン内の最も遠い場所に配置されているピクセルを表し、「255」の値は、「三次元」シーン内の視点(例えば、カメラ)の最も近くに配置されているピクセルを表す。他の例では、深度マップは、シーン内のオブジェクトと視点の平面との間の距離を表す。一部の実施形態では、深度マップは、深度カメラから見た、関心対象物の様々な特徴部の相対深度(例えば、ユーザの顔面の目、鼻、口、耳の相対深度)に関する情報を含む。一部の実施形態では、深度マップは、z方向での関心対象物の輪郭をデバイスが決定することを可能にする、情報を含む。一部の実施形態では、深度データは、第1の深度成分とは別個の、第2の深度成分(例えば、カメラ表示領域内の背景の空間位置を符号化する深度データの第2の部分、背景などの、深度マップの離散部分を形成する複数の深度ピクセル)を有し、第2の深度アスペクトは、カメラ表示領域における背景の表現を含む。一部の実施形態では、第1の深度アスペクト及び第2の深度アスペクトは、カメラ表示領域内の被写体とカメラ表示領域内の背景との間の空間的関係を判定するために使用される。この空間的関係は、被写体を背景から識別するために使用することができる。この識別は、例えば、異なるビジュアルエフェクト(例えば、深度成分を有するビジュアルエフェクト)を被写体及び背景に適用するために利用することができる。一部の実施形態では、第1の深度成分に対応しない画像データのすべての領域(例えば、深度カメラの範囲外である画像データの領域)は、深度マップからセグメント化される(例えば、除外される)。
1つ以上のカメラの視野に配置された被写体と背景の表現に仮想アバターを表示すると、カメラの視野内の被写体と背景オブジェクトの配置が、適用された仮想アバターに最適であるかどうかをユーザが素早く認識することができ、画像をキャプチャする場合、画像のどの部分に仮想アバターが含まれ、どの部分に仮想アバターが含まれないかをユーザが確認することができる。更なるユーザ入力を必要とせずに1組の状態が満たされた場合に最適化された動作を実行することにより、デバイスの操作性を向上させ、(例えば、デバイスを操作する/デバイスと対話するときに適切な入力を提供するようにユーザを支援し、ユーザの誤りを削減することによって)ユーザデバイスインタフェースをより効率的にし、更に、ユーザがデバイスをより素早く、効果的に使用できるようにすることによって、電力使用量を削減し、デバイスの電池寿命を改善する。
ポーズの第1の変化(例えば、2601B、検出の喪失前に1つ以上の顔の特徴のポーズの最後に検出された変化;1つ以上の顔の特徴のポーズの複数の検出された変化の平均)で1つ以上のカメラの視野内で顔が検出された後、ポーズの第1の変化は、第1の顔の特徴の変化(例えば、2604、顔の特徴又は顔の特徴のセットの変化の方向)を含み、電子デバイス(例えば、600)は、1つ以上のカメラ(例えば、602)の視野内の顔の追跡が失敗したことを判定する(2704)(例えば、顔がもはや1つ以上のカメラの視野内にないため、デバイスが顔を追跡するために使用していた顔の特徴が不明瞭になっているか、又はデバイスが顔を追跡できなかった)。
1つ以上のカメラ(例えば、602)の視野内の顔の追跡が失敗したと判断したことに応じて、電子デバイス(例えば、600)は、顔の追跡が失敗した後に複数のアバター特徴のうちの第1のアバター特徴の外観(例えば、2614)を更新し(2706)、顔の追跡が失敗したと判定する前(例えば、直前又は直近)に検出された第1の顔特徴(例えば、2604)の変化特性(例えば、変化の振幅及び/又は方向)に基づいて第1のアバター特徴の外観が更新される。いくつかの実施形態では、第1のアバター特徴の外観を更新することは、以下の実施形態のうちの任意の1つ以上を含む。顔の追跡に失敗したと判定する前に検出された第1の顔の特徴の変化特性に基づいて、顔の追跡に失敗した後の第1のアバター特徴の外観を更新することにより、顔追跡が失敗した場合であっても、ユーザが仮想アバターを変更するプロセスを継続することを可能にすることによってデバイスに対するより良好な制御をユーザに提供する。表示される追加コントローラによってUIを雑然とさせることなく、追加制御できるようにすることにより、デバイスの操作性が高められ、ユーザ-デバイスインタフェースを(例えば、デバイスを操作する/デバイスと対話するときに適切な入力をもたらすようにユーザを支援し、ユーザの誤りを減らすことによって)より効率的にし、更に、ユーザがデバイスをより素早く、効果的に使用できるようにすることによって、電力使用量を削減し、デバイスの電池寿命が改善される。
顔の追跡が失敗したことを検出する前に第1の顔の特徴(例えば、2604)が第1の変化特性を有するという判定に従って(例えば、2601B、顔は、第1の方向に動いていた;例えば、左に回転するユーザの頭)、顔の追跡が失敗したときのアバターの外観とは異なる第1の外観に仮想アバター(例えば、2600)の第1のアバター特徴の外観を更新する(例えば、アバターの頭(例えば、2614)の角度を更新する)(例えば、状態2603Bのアバター2600の外観から状態2603Cの外観へと)。第1のアバター特徴の外観を顔の追跡に失敗した後のアバターの外観とは異なる第1の外観に更新することにより、顔追跡が失敗した場合であっても、ユーザが仮想アバターを変更するプロセスを継続することを可能にすることによってデバイスに対するより良好な制御をユーザに提供する。表示される追加コントローラによってUIを雑然とさせることなく、追加制御できるようにすることにより、デバイスの操作性が高められ、ユーザ-デバイスインタフェースを(例えば、デバイスを操作する/デバイスと対話するときに適切な入力をもたらすようにユーザを支援し、ユーザの誤りを減らすことによって)より効率的にし、更に、ユーザがデバイスをより素早く、効果的に使用できるようにすることによって、電力使用を削減し、デバイスの電池寿命が改善される。
顔の追跡が失敗したことを検出する前に第1の顔の特徴が第2の変化特性を有するという判定に従って(例えば、顔は、第1の方向とは異なる第2の方向に動いていた;例えば、右に回転するユーザの頭)、顔の追跡に失敗したときのアバターの外観とは異なりかつ第1の外観とは異なる第2の外観へと仮想アバターの第1のアバター特徴の外観を更新する。第1のアバター特徴の外観を顔の追跡に失敗した後のアバターの外観とは異なりかつ第1の外観とは異なる第2の外観に更新することにより、顔追跡が失敗した場合であっても、ユーザが仮想アバターを変更するプロセスを継続することを可能にすることによってデバイスに対するより良好な制御をユーザに提供する。表示される追加コントローラによってUIを雑然とさせることなく、追加制御できるようにすることにより、デバイスの操作性が高められ、ユーザ-デバイスインタフェースを(例えば、デバイスを操作する/デバイスと対話するときに適切な入力をもたらすようにユーザを支援し、ユーザの誤りを減らすことによって)より効率的にし、更に、ユーザがデバイスをより素早く、効果的に使用できるようにすることによって、電力使用を削減し、デバイスの電池寿命が改善される。
いくつかの実施形態では、第1の変化特性が第1の顔の特徴の第1の変化方向(例えば、ユーザの頭が左に回転する)を含むという判定に従って、第1の外観に第1のアバター特徴(例えば、2614)の外観を更新することは、第1の顔の特徴の第1の変化方向に基づいて第1のアバター特徴の外観を更新することを含む(例えば、ユーザの頭の左方向の回転に基づいてアバターの頭の角度を更新する;例えば、鏡映された方向にアバターを更新する(例えば、ユーザの頭がユーザの左を向くと、アバターがアバターの右を向く))。第1の顔の特徴の第1の変化方向に基づいて第1のアバター特徴の外観を更新することにより、顔の追跡が失われたときに、少なくとも部分的に、カメラの視野内で以前に検出された第1のアバター特徴の動きの方向に基づいて、仮想アバターに変化させる視覚的なフィードバックをユーザに与える。ユーザに改善された視覚的フィードバックを提供することにより、デバイスの操作性を向上させ、(例えば、デバイスを操作する/デバイスと対話するときに適切な入力を提供するようにユーザを支援し、ユーザの誤りを削減することによって)ユーザデバイスインタフェースをより効率的にし、更に、ユーザがデバイスをより素早く、効果的に使用できるようにすることによって、電力使用量を削減し、デバイスの電池寿命を改善する。
いくつかの実施形態では、第1の変化特性が第1の顔の特徴の第2の変化方向を含む(例えば、2604、第1の変化方向とは異なる(例えば、ユーザの頭が右に回転する))という判定に従って、第1のアバター特徴の外観を第2の外観に更新することは、第1の顔特徴の第2の変化方向に基づいて第1のアバター特徴(例えば、2614)の外観を更新することを含む(例えば、ユーザの頭の右への回転に基づいてアバターの頭の角度を更新する)。第1の顔の特徴の第1の変化方向に基づいて第1のアバターの外観を第2の外観に更新することにより、顔の追跡が失われたときに、少なくとも部分的に、カメラの視野内で以前に検出された第1のアバター特徴の動きの方向に基づいて、仮想アバターに変化させる視覚的なフィードバックをユーザに与える。ユーザに改善された視覚的フィードバックを提供することにより、デバイスの操作性を向上させ、(例えば、デバイスを操作する/デバイスと対話するときに適切な入力を提供するようにユーザを支援し、ユーザの誤りを削減することによって)ユーザデバイスインタフェースをより効率的にし、更に、ユーザがデバイスをより素早く、効果的に使用できるようにすることによって、電力使用量を削減し、デバイスの電池寿命を改善する。
いくつかの実施形態では、第1の変化特性が第1の顔の特徴(例えば、2604)の第1の変化の大きさを含むという判定に従って(例えば、ユーザの頭が75度回転する;例えば、ユーザの頭を左に5インチ偏移する;ユーザの口の直径を20%拡大する)、第1のアバター特徴(例えば、2614)の外観を第1の外観に更新することは、第1の顔の特徴の第1の変化の大きさに基づいて第1のアバター特徴の外観を更新することを含む(例えば、ユーザの頭の75度の回転に基づいてアバターの頭の角度を更新する;アバターの頭の位置を5インチ偏移する(スケーリング);アバターの口の直径を20%拡大する)。第1の顔の特徴の第1の変化の大きさに基づいて第1のアバター特徴の外観を更新することにより、顔の追跡が失われたときに、少なくとも部分的に、カメラの視野内で以前に検出された第1のアバター特徴の動きの大きさに基づいて、仮想アバターに変化させる視覚的なフィードバックをユーザに与える。ユーザに改善された視覚的フィードバックを提供することにより、デバイスの操作性を向上させ、(例えば、デバイスを操作する/デバイスと対話するときに適切な入力を提供するようにユーザを支援し、ユーザの誤りを削減することによって)ユーザデバイスインタフェースをより効率的にし、更に、ユーザがデバイスをより素早く、効果的に使用できるようにすることによって、電力使用量を削減し、デバイスの電池寿命を改善する。
いくつかの実施形態では、第1の変化特性が、第1の変化の大きさとは異なる第1の顔の特徴(例えば、2604)の第2の変化の大きさを含むという判定に従って(例えば、ユーザの頭が90度回転する)、第1のアバター特徴(例えば、2614)の外観を第2の外観に更新することは、第1の顔特徴の第2の変化の大きさに基づいて第1のアバター特徴の外観を更新することを含む(例えば、90度のユーザの頭の回転角度に基づいてアバターの頭の角度を更新する)。第1の顔の特徴の第1の変化の大きさに基づいて第1のアバターの外観を第2の外観に更新することにより、顔の追跡が失われたときに、少なくとも部分的に、カメラの視野内で以前に検出された第1のアバター特徴の動きの大きさに基づいて、仮想アバターに変化させる視覚的なフィードバックをユーザに与える。ユーザに改善された視覚的フィードバックを提供することにより、デバイスの操作性を向上させ、(例えば、デバイスを操作する/デバイスと対話するときに適切な入力を提供するようにユーザを支援し、ユーザの誤りを削減することによって)ユーザデバイスインタフェースをより効率的にし、更に、ユーザがデバイスをより素早く、効果的に使用できるようにすることによって、電力使用量を削減し、デバイスの電池寿命を改善する。
いくつかの実施形態では、方法(2700)は、更に以下を備える:顔の追跡が失敗した後(例えば、顔がもはや視野内にないと判定した後)、第1のアバター特徴(例えば、2614)の外観を更新した後、電子デバイス(例えば、600)は、顔が第1のポーズ(例えば、検出が失われた時の顔のポーズとは異なるポーズ)(例えば、状態2601F、2601Gに示されるポーズ)である間に顔の追跡を再開する。顔の追跡の再開に応じて、電子デバイスは、第1のアバター特徴の外観を、顔の第1のポーズに基づいたポーズに更新する(例えば、図26Bの状態2603F及び2603Gに示すように)。顔が第1のポーズにある間に顔の追跡を再開すると、ユーザの顔がカメラの視野内に配置されているというフィードバックをユーザに提供する。ユーザに改善された視覚的フィードバックを提供することにより、デバイスの操作性を向上させ、(例えば、デバイスを操作する/デバイスと対話するときに適切な入力を提供するようにユーザを支援し、ユーザの誤りを削減することによって)ユーザデバイスインタフェースをより効率的にし、更に、ユーザがデバイスをより素早く、効果的に使用できるようにすることによって、電力使用量を削減し、デバイスの電池寿命を改善する。
いくつかの実施形態では、第1のアバター特徴(例えば、2614)の外観を顔の第1のポーズに基づくポーズに更新することは、顔の第1のポーズに基づくポーズに第1のアバター特徴の外観を徐々に更新することを含む(例えば、2603F、2603G、2603L、2603M)(例えば、1つ以上のカメラの視野内でユーザの顔が再検出された後、アバターの頭は、ユーザの頭の検出位置(例えば、2601F、2601G、2601L、2601M)に一致する位置に徐々に移動する)。顔の第1のポーズに基づいて、第1のアバター特徴の外観を徐々に更新すると、ユーザの顔がカメラの視野内に配置されているというフィードバックをユーザに提供する。ユーザに改善された視覚的フィードバックを提供することにより、デバイスの操作性を向上させ、(例えば、デバイスを操作する/デバイスと対話するときに適切な入力を提供するようにユーザを支援し、ユーザの誤りを削減することによって)ユーザデバイスインタフェースをより効率的にし、更に、ユーザがデバイスをより素早く、効果的に使用できるようにすることによって、電力使用量を削減し、デバイスの電池寿命を改善する。
いくつかの実施形態では、方法(2700)は、顔の追跡の再開に応じて、以下のステップを実行することを更に備える。第1に、第1のアバター特徴(例えば、2614)の外観を顔の第1のポーズに基づくポーズに更新する前に、電子デバイス(例えば、600)は、第1のアバター特徴、第2のアバター特徴(例えば、2616)、又は第3のアバター特徴(例えば、アバターの耳、2618)のうちの少なくとも1つに関連付けられた物理モデルを無効化する。第2に、第1のアバター特徴の外観を顔の第1のポーズに基づくポーズに更新した後、電子デバイスは、無効化された物理モデルを徐々に再開する(例えば、物理モデルは、有効になるが、顔追跡の再開後のアバター特徴の動きからのけいれん動きを抑えるために動きを減衰する)。第3に、電子デバイスは、顔の第1のポーズの変化を検出し、顔の第1のポーズの検出された変化と再開された物理モデルとに基づいて、第1のアバターの外観を更新する。第1、第2、又は第3のアバター特徴のうちの少なくとも1つに関連付けられた物理モデルを無効にし、第1のアバター特徴の外観を顔の第1のポーズに基づくポーズに更新した後、無効になった物理モデルを徐々に再開し、顔の第1のポーズの検出された変化と再開された物理モデルとに基づいて第1のアバター特徴を更新すると、顔の追跡に失敗した後、デバイスがカメラの視野内でユーザの顔を検出し、ユーザの顔の追跡を再開し、検出された変更に基づいて仮想アバターを変更したことをユーザに視覚的にフィードバックする。ユーザに改善された視覚的フィードバックを提供することにより、デバイスの操作性を向上させ、(例えば、デバイスを操作する/デバイスと対話するときに適切な入力を提供するようにユーザを支援し、ユーザの誤りを削減することによって)ユーザデバイスインタフェースをより効率的にし、更に、ユーザがデバイスをより素早く、効果的に使用できるようにすることによって、電力使用量を削減し、デバイスの電池寿命を改善する。
いくつかの実施形態では、複数の検出された顔の特徴は、第2の顔の特徴(例えば、2606、頭、口、口の一部、目など)を含み、ポーズの第1の変化は、第2の顔の特徴への変化を含む(例えば、第2の顔の特徴又は顔の特徴の第2のセットの変化の方向)。いくつかの実施形態では、方法(2700)は、以下のステップのうちの任意の1つ以上を更に備える。
いくつかの実施形態では、1つ以上のカメラ(例えば、602)の視野内の顔の追跡が失敗したと判断したことに応じて、電子デバイス(例えば、600)は、顔の追跡が失敗した後に複数のアバター特徴のうちの第2のアバター特徴の外観(例えば、2616)を更新し、顔の追跡が失敗したと判定する前(例えば、直前又は直近)に検出された第2の顔特徴(例えば、2606)の変化特性(例えば、変化の振幅及び/又は方向)に基づいて第2のアバター特徴の外観が更新される。いくつかの実施形態では、更新は、以下の実施形態のうちの任意の1つ以上を含む。顔の追跡に失敗したと判定する前に検出された第2の顔の特徴の変化特性に基づいて、顔の追跡に失敗した後の第2のアバター特徴の外観を更新することにより、顔追跡が失敗した場合であっても、ユーザが仮想アバターを変更するプロセスを継続することを可能にすることによってデバイスに対するより良好な制御をユーザに提供する。表示される追加コントローラによってUIを雑然とさせることなく、追加制御できるようにすることにより、デバイスの操作性が高められ、ユーザ-デバイスインタフェースを(例えば、デバイスを操作する/デバイスと対話するときに適切な入力をもたらすようにユーザを支援し、ユーザの誤りを減らすことによって)より効率的にし、更に、ユーザがデバイスをより素早く、効果的に使用できるようにすることによって、電力使用量を削減し、デバイスの電池寿命が改善される。
いくつかの実施形態では、顔の追跡が失敗したことを検出する前に、第2の顔の特徴(例えば、2606)が第3の変化特性を有するという判定に従って(例えば、第2の顔の特徴は、第1及び/又は第2の方向とは異なる第3の方向に移動する;例えば、ユーザの口が笑顔に変わる)、電子デバイス(例えば、600)は、顔の追跡に失敗したときのアバターの外観(例えば、2603B)とは異なる第3の外観(例えば、2603C)へと仮想アバター(例えば、2600)の第2のアバター特徴(例えば、2616)の外観を更新する(例えば、アバターの口の位置を更新する)。第2のアバター特徴の外観を顔の追跡に失敗したときのアバターの外観とは異なる第3の外観に更新することにより、顔追跡が失敗した場合であっても、ユーザが仮想アバターを変更するプロセスを継続することを可能にすることによってデバイスに対するより良好な制御をユーザに提供する。表示される追加コントローラによってUIを雑然とさせることなく、追加制御できるようにすることにより、デバイスの操作性が高められ、ユーザ-デバイスインタフェースを(例えば、デバイスを操作する/デバイスと対話するときに適切な入力をもたらすようにユーザを支援し、ユーザの誤りを減らすことによって)より効率的にし、更に、ユーザがデバイスをより素早く、効果的に使用できるようにすることによって、電力使用量を削減し、デバイスの電池寿命が改善される。
いくつかの実施形態では、顔の追跡が失敗したことを検出する前に、第2の顔の特徴(例えば、2606)が第4の変化特性を有するという判定に従って(例えば、第2の顔の特徴は、第1、第2及び/又は第3の方向とは異なる第4の方向に移動する;例えば、眉毛をひそめてユーザの口を下向きに回転する)、顔の追跡に失敗したときのアバターの外観とは異なりかつ第3の外観とは異なる第4の外観へと仮想アバターの第2のアバター特徴の外観を更新する。第2のアバター特徴の外観を顔の追跡に失敗した後のアバターの外観とは異なりかつ第3の外観とは異なる第4の外観に更新することにより、顔追跡が失敗した場合であっても、ユーザが仮想アバターを変更するプロセスを継続することを可能にすることによってデバイスに対するより良好な制御をユーザに提供する。表示される追加コントローラによってUIを雑然とさせることなく、追加制御できるようにすることにより、デバイスの操作性が高められ、ユーザ-デバイスインタフェースを(例えば、デバイスを操作する/デバイスと対話するときに適切な入力をもたらすようにユーザを支援し、ユーザの誤りを減らすことによって)より効率的にし、更に、ユーザがデバイスをより素早く、効果的に使用できるようにすることによって、電力使用量を削減し、デバイスの電池寿命が改善される。
いくつかの実施形態では、第1のアバター特徴(例えば、2614)の外観は、第1の変化率(例えば、第1の顔の特徴(例えば、2604)の検出された変化率に基づいて)(例えば、顔が検出されなくなる前))で更新され、第2のアバター特徴(例えば、2616)の外観は、第1の変化率とは異なる第2の変化率(例えば、第2の顔の特徴(例えば、2606)の検出された変化率に基づいて)(例えば、顔が検出されなくなる前))で更新される。第1の変化率で第1のアバター特徴の外観を更新し、第1の変化率とは異なる第2の変化率で第2のアバター特徴の外観を更新することにより、顔追跡が失敗した場合であっても、ユーザが仮想アバターを変更するプロセスを継続することを可能にすることによってデバイスに対するより良好な制御をユーザに提供する。表示される追加コントローラによってUIを雑然とさせることなく、追加制御できるようにすることにより、デバイスの操作性が高められ、ユーザ-デバイスインタフェースを(例えば、デバイスを操作する/デバイスと対話するときに適切な入力をもたらすようにユーザを支援し、ユーザの誤りを減らすことによって)より効率的にし、更に、ユーザがデバイスをより素早く、効果的に使用できるようにすることによって、電力使用量を削減し、デバイスの電池寿命が改善される。
いくつかの実施形態では、第1のアバター特徴は、アバターの頭(例えば、2614)であり、第2のアバター特徴は、仮想アバター(例えば、2600)の顔の特徴(例えば、2616)(例えば、アバターの口、目など)である。いくつかの実施形態では、アバターの頭は、アバターの顔の特徴が動き続ける速度よりも速い速度で動き続ける(例えば、回転する)。
いくつかの実施形態では、第1のアバター特徴(例えば、2614)の外観を更新することは、第1の物理モデル(例えば、慣性モデル、重力モデル、力伝達モデル、摩擦モデル)にしたがって外観を更新することを含み、第2のアバター特徴(例えば、2616)の外観を更新することは、第1の物理モデルとは異なる第2の物理モデル(例えば、異なる摩擦量などの異なる減衰度を有する)にしたがって外観を更新することを含む。第1の物理モデルにしたがって第1のアバター特徴の外観を更新し、第1の物理モデルとは異なる第2の物理モデルにしたがって第2のアバター特徴の外観を更新すると、アバター特徴に適用される異なる物理モデルに基づいて異なる方法で第1及び第2のアバター特徴にユーザの顔の特徴が変化する効果のフィードバックをユーザに提供する。ユーザに改善された視覚的フィードバックを提供することにより、デバイスの操作性を向上させ、(例えば、デバイスを操作する/デバイスと対話するときに適切な入力を提供するようにユーザを支援し、ユーザの誤りを削減することによって)ユーザデバイスインタフェースをより効率的にし、更に、ユーザがデバイスをより素早く、効果的に使用できるようにすることによって、電力使用量を削減し、デバイスの電池寿命を改善する。
いくつかの実施形態では、第1のアバター特徴(例えば、2614)(例えば、アバターの頭)の外観は、第1の変化の減少率で更新され(例えば、アバターの頭の更新は、ユーザの第1の顔の特徴の変化方向に基づくアバターの頭の動きの減少である)、第2のアバター特徴(例えば、2616)の外観(例えば、アバターの口)は、第1の変化の減少率とは異なる第2の変化の減少率で更新される(例えば、アバターの口の更新は、ユーザの第2の顔の特徴の変化方向に基づくアバターの口の動きの減少である)。第1の変化の減少率で第1のアバター特徴の外観を更新し、第1の変化の減少率とは異なる第2の変化の減少率で第2のアバター特徴の外観を更新すると、顔追跡が失われた場合に第1及び第2のアバター特徴が異なる方法で適用される更新をユーザにフィードバックする。ユーザに改善された視覚的フィードバックを提供することにより、デバイスの操作性を向上させ、(例えば、デバイスを操作する/デバイスと対話するときに適切な入力を提供するようにユーザを支援し、ユーザの誤りを削減することによって)ユーザデバイスインタフェースをより効率的にし、更に、ユーザがデバイスをより素早く、効果的に使用できるようにすることによって、電力使用量を削減し、デバイスの電池寿命を改善する。
いくつかの実施形態では、第1のアバター特徴は、アバターの頭(例えば、2614)であり、第2のアバター特徴は、仮想アバター(例えば、2600)の顔の特徴(例えば、2616)(例えば、アバターの口、目など)であり、第2の変化の減少率は、第1の変化の減少率よりも速い速度で減少する(例えば、第2のアバター特徴の動き(例えば、アバターの口の開閉、笑顔又は眉毛をひそめるアバターの口、アバターの眉毛の上下など)は、第1のアバター特徴(アバターの頭など)の動きの減少よりも大きな割合で減少する)。
いくつかの実施形態では、第1のアバター特徴の外観(例えば、2614)は、第1のアバター特徴の動きの範囲に関連付けられた値(例えば、第1のアバター特徴に関連付けられた動きの全範囲を表す範囲)が所定値(例えば、動きの範囲の最大値より小さい動きの範囲内の値)に到達するまで更新される。いくつかの実施形態では、アバターの頭に関連付けられた動きの範囲は、アバターの頭の正面向きの位置から90度の回転であり、所定値は、アバターの頭の正面向きの位置から75度である。いくつかの実施形態では、第1のアバター特徴の更新された外観が所定値に到達する前に所定値が決定されるため、第1のアバター特徴の更新速度が徐々に低下し、所定値に到達したときに更新が突然終了することを回避する(例えば、それにより、第1のアバター特徴及び他のアバター特徴(例えば、第1のアバター特徴の更新によって影響を受ける物理モデルを有するもの)の急激な更新の停止によって引き起こされるけいれん効果を回避する)。第1のアバター特徴の動きの範囲に関連付けられた値が所定値に到達するまで第1のアバター特徴の外観を更新することで、ユーザの顔が追跡されなくなった場合であっても、仮想アバターの現在状態のフィードバックをユーザに提供する。ユーザに改善された視覚的フィードバックを提供することにより、デバイスの操作性を向上させ、(例えば、デバイスを操作する/デバイスと対話するときに適切な入力を提供するようにユーザを支援し、ユーザの誤りを削減することによって)ユーザデバイスインタフェースをより効率的にし、更に、ユーザがデバイスをより素早く、効果的に使用できるようにすることによって、電力使用量を削減し、デバイスの電池寿命を改善する。
いくつかの実施形態では、第2のアバター特徴の外観(例えば、2616)は、第1のアバター特徴の動きの範囲に関連付けられた値(例えば、第2のアバター特徴に関連付けられた動きの全範囲を表す範囲)が所定値(例えば、動きの範囲の最大値より小さい動きの範囲内の値)に到達するまで更新される。いくつかの実施形態では、アバターの口に関連付けられた動きの範囲は、0~100の範囲であり、アバターの口の範囲内の所定値は75である。いくつかの実施形態では、所定値は、第2のアバター特徴の更新された外観が所定値に到達する前に決定されるため、第2のアバター特徴の更新速度が徐々に低下し、所定値に到達したときに更新が突然終了することを回避する(例えば、それにより、第2のアバター特徴及び他のアバター特徴(例えば、第2のアバター特徴の更新によって影響を受ける物理モデルを有するもの)の急激な更新の停止によって引き起こされるけいれん効果を回避する)。第2のアバター特徴の動きの範囲に関連付けられた値が所定値に到達するまで第2のアバター特徴の外観を更新することで、ユーザの顔が追跡されなくなった場合であっても、仮想アバターの現在状態のフィードバックをユーザに提供する。ユーザに改善された視覚的フィードバックを提供することにより、デバイスの操作性を向上させ、(例えば、デバイスを操作する/デバイスと対話するときに適切な入力を提供するようにユーザを支援し、ユーザの誤りを削減することによって)ユーザデバイスインタフェースをより効率的にし、更に、ユーザがデバイスをより素早く、効果的に使用できるようにすることによって、電力使用量を削減し、デバイスの電池寿命を改善する。
いくつかの実施形態では、第1のアバター特徴(例えば、2614)の外観は、第1の変化の減少率のスケーリング値に基づいて更新される(例えば、顔が検出されなくなった後の第1のアバター特徴に対する表示変化は、顔追跡が失われたとき(又は顔追跡が失われる直前)の第1の顔の特徴のベクトルのスケーリング値に基づいて決定される)。いくつかの実施形態では、スケーリング値は、第1のアバター特徴の更新された外観がスケーリング値に到達する前に決定されるため、第1のアバター特徴の更新速度が徐々に低下し、スケーリング値に到達したときに更新が突然終了することを回避する(例えば、それにより、第1のアバター特徴及び他のアバター特徴(例えば、第1のアバター特徴の更新によって影響を受ける物理モデルを有するもの)の急激な更新の停止によって引き起こされるけいれん効果を回避する)。第1の変化の減少率のスケーリング値に基づいて第1のアバター特徴の外観を更新することで、ユーザの顔が追跡されなくなった場合であっても、仮想アバターの現在状態のフィードバックをユーザに提供する。ユーザに改善された視覚的フィードバックを提供することにより、デバイスの操作性を向上させ、(例えば、デバイスを操作する/デバイスと対話するときに適切な入力を提供するようにユーザを支援し、ユーザの誤りを削減することによって)ユーザデバイスインタフェースをより効率的にし、更に、ユーザがデバイスをより素早く、効果的に使用できるようにすることによって、電力使用量を削減し、デバイスの電池寿命を改善する。
いくつかの実施形態では、第2のアバター特徴(例えば、2616)の外観は、第2の変化の減少率のスケーリング値に基づいて更新される(例えば、顔が検出されなくなった後の第2のアバター特徴に対する表示変化は、顔追跡が失われたとき(又は顔追跡が失われる直前)の第2の顔の特徴のベクトルのスケーリング値に基づいて決定される)。いくつかの実施形態では、スケーリング値は、第2のアバター特徴の更新された外観がスケーリング値に到達する前に決定されるため、第2のアバター特徴の更新速度が徐々に低下し、スケーリング値に到達したときに更新が突然終了することを回避する(例えば、それにより、第2のアバター特徴及び他のアバター特徴(例えば、第2のアバター特徴の更新によって影響を受ける物理モデルを有するもの)の急激な更新の停止によって引き起こされるけいれん効果を回避する)。第2の変化の減少率のスケーリング値に基づいて第2のアバター特徴の外観を更新することで、ユーザの顔が追跡されなくなった場合であっても、仮想アバターの現在状態のフィードバックをユーザに提供する。ユーザに改善された視覚的フィードバックを提供することにより、デバイスの操作性を向上させ、(例えば、デバイスを操作する/デバイスと対話するときに適切な入力を提供するようにユーザを支援し、ユーザの誤りを削減することによって)ユーザデバイスインタフェースをより効率的にし、更に、ユーザがデバイスをより素早く、効果的に使用できるようにすることによって、電力使用量を削減し、デバイスの電池寿命を改善する。
いくつかの実施形態では、第2のアバター特徴(例えば、2616)の外観は、第2のアバター特徴が所定位置に到達するまで更新される(例えば、所定位置は、第2のアバター特徴の変化の大きさの制限として機能するプリセット値として決定される)。いくつかの実施形態では、所定位置は、第2のアバター特徴の更新された外観が所定位置に到達する前に決定されるため、第2のアバター特徴の更新速度が徐々に低下し、所定位置に到達したときに更新が突然終了することを回避する(例えば、それにより、第2のアバター特徴及び他のアバター特徴(例えば、第2のアバター特徴の更新によって影響を受ける物理モデルを有するもの)の急激な更新の停止によって引き起こされるけいれん効果を回避する)。所定位置に到達するまで第2のアバター特徴の外観を更新することで、ユーザの顔が追跡されなくなった場合であっても、仮想アバターの現在状態のフィードバックをユーザに提供する。ユーザに改善された視覚的フィードバックを提供することにより、デバイスの操作性を向上させ、(例えば、デバイスを操作する/デバイスと対話するときに適切な入力を提供するようにユーザを支援し、ユーザの誤りを削減することによって)ユーザデバイスインタフェースをより効率的にし、更に、ユーザがデバイスをより素早く、効効果的に使用できるようにすることによって、電力使用量を削減し、デバイスの電池寿命を改善する。
いくつかの実施形態では、閾値時間(例えば、1.5秒)の間、1つ以上のカメラ(例えば、602)の視野内で顔(例えば、2604、2606)が検出されなかったという判定に応じて、電子デバイス(例えば、600)は、第1のアバター特徴(例えば、2614)の外観を第1の既定ポーズ(例えば、2603J)に更新する(例えば、仮想アバターを表示する表示領域内での第1のアバター特徴の回転又は並進のない正面向きの位置)(例えば、アバターの頭)。いくつかの実施形態では、この更新は、既定ポーズ(例えば、2603I)に移動する第1のアバター特徴の滑らかなアニメーションである。いくつかの実施形態では、顔追跡が失敗したときの第1の顔の特徴の変化特性とは無関係に(例えば、所定の)既定ポーズが決定される。第1のアバター特徴の外観を第1の既定ポーズに更新すると、ユーザの顔が所定期間カメラの視野内で検出されず、デバイスが仮想アバターを変更しなくなったというフィードバックをユーザに提供する。ユーザに改善された視覚的フィードバックを提供することにより、デバイスの操作性を向上させ、(例えば、デバイスを操作する/デバイスと対話するときに適切な入力を提供するようにユーザを支援し、ユーザの誤りを削減することによって)ユーザデバイスインタフェースをより効率的にし、更に、ユーザがデバイスをより素早く、効果的に使用できるようにすることによって、電力使用量を削減し、デバイスの電池寿命を改善する。
いくつかの実施形態では、閾値時間(例えば、1.5秒)の間、1つ以上のカメラ(例えば、602)の視野内で顔(例えば、2604、2606)が検出されなかったという判定に応じて、電子デバイス(例えば、600)は、第2のアバター特徴(例えば、2616)の外観を、関連付けられた第2の既定ポーズ(例えば、2603J)に更新する(例えば、第2のアバター特徴(例えば、アバター口)の中立的なポーズに関連付けられた第2のアバター特徴の位置)。いくつかの実施形態では、この更新は、既定ポーズ(例えば、2603I)に移動する第2のアバター特徴の滑らかなアニメーションである。いくつかの実施形態では、既定ポーズは、顔追跡が失敗したときの第2の顔の特徴の変化特性とは無関係に決定される。第2のアバター特徴の外観を第2の既定ポーズに更新すると、ユーザの顔が一定期間カメラの視野で検出されず、デバイスが仮想アバターを変更しなくなったというフィードバックをユーザに提供する。ユーザに改善された視覚的フィードバックを提供することにより、デバイスの操作性を向上させ、(例えば、デバイスを操作する/デバイスと対話するときに適切な入力を提供するようにユーザを支援し、ユーザの誤りを削減することによって)ユーザデバイスインタフェースをより効率的にし、更に、ユーザがデバイスをより素早く、効果的に使用できるようにすることによって、電力使用量を削減し、デバイスの電池寿命を改善する。
いくつかの実施形態では、第1のアバター特徴(例えば、2614)の外観が更新された後(例えば、2603D)、及び第2のアバター特徴の外観(例えば、2616)が更新された後(例えば、2603D)、閾値時間が達成される(例えば、1つ以上のカメラの視野で顔が検出されたときに検出された第1及び第2の顔の特徴の変化に基づいて更新された後、第1及び第2のアバター特徴は、それぞれの既定ポーズに移動する)。
いくつかの実施形態では、方法(2700)は、以下のステップのうちの任意の1つ以上を更に含む。
いくつかの実施形態では、1つ以上のカメラ(例えば、602)の視野内の顔の追跡が失敗したことを判定する前に、デバイス(例えば600)は、ポーズの第2の変化(例えば、ポーズの第1の変化の前に発生するポーズの変化)を有する1つ以上のカメラの視野内の顔を検出し、ポーズの第2の変化は、複数の検出された顔の特徴(例えば、2604、2606)の第2の変化を含む(例えば、1つ以上のカメラの視野内で顔がなおも検出されている間に、顔の特徴又は顔の特徴のセットが変化する方向)。
いくつかの実施形態において、ポーズの第2の変化を伴う1つ以上のカメラの視野内の顔の検出に応じて、方法(2700)は、以下の実施形態のうちの任意の1つ以上を更に含む。
いくつかの実施形態では、複数の検出された顔の特徴が顔を追跡している間に第5の変化特性を有するという判定に従って(例えば、ユーザの頭が上に傾いている、ユーザの目が横を向いている、及びユーザの口が開いている)、デバイス(例えば、600)は、第5の変化特性に基づいた第5の外観に仮想アバター(例えば、2600)の第1のアバター特徴(例えば、2614、2616)の外観を更新する(例えば、アバターの頭の角度、アバターの目の位置、及びアバターの口の位置を更新する)(例えば、カメラの視野内の顔を検出しながら、仮想アバターの更新/移動を継続する)。顔追跡が失敗する前に検出された第5の変化特性に基づく第5の外観に第1のアバター特徴の外観を更新すると、ユーザ入力を受信するためのインタフェースを表示する必要なくユーザが仮想アバターを制御するための入力を提供することを可能にすることによりデバイスに対するより多くの制御をユーザに提供する。表示される追加コントローラによってUIを雑然とさせることなく、追加制御できるようにすることにより、デバイスの操作性が高められ、ユーザ-デバイスインタフェースを(例えば、デバイスを操作する/デバイスと対話するときに適切な入力をもたらすようにユーザを支援し、ユーザの誤りを減らすことによって)より効率的にし、更に、ユーザがデバイスをより素早く、効果的に使用できるようにすることによって、電力使用量を削減し、デバイスの電池寿命が改善される。
いくつかの実施形態では、複数の検出された顔の特徴が顔を追跡しながら第6の変化特性を有するという判定に従って(例えば、異なる方向に傾くユーザの頭;異なる方向を見るユーザの目、及び異なる方向に動くユーザの口;例えば、ユーザの頭が下に傾いている、ユーザの目が前を向いている、ユーザが口を閉じている)、デバイス(例えば、600)は、第6の変化特性に基づいておりかつ第5の外観とは異なる第6の外観に仮想アバター(例えば、2600)の第1のアバター特徴(例えば、2614、2616)の外観を更新する。いくつかの実施形態では、アバターへの更新は、同時に発生するユーザの顔の複数の特徴に対する検出された変化に基づいている。いくつかの実施形態では、顔が検出され続けている間、仮想アバターへの更新は、顔のポーズの変化が検出されたときから仮想アバターが更新されるまでの、検出された顔のポーズの第1の変化と、顔が検出されなくなった後に発生するアバター特徴の更新との間の所定期間よりも短い期間(例えば、反応時間、反応遅延時間)内に生じる。すなわち、顔が検出されなくなった後の仮想アバターの更新は、顔がまだ検出されている間に行われる更新と比較して、更新が基づくポーズの変化からより長い期間、時間的にオフセットされる。第1のアバター特徴の外観を、顔追跡に失敗する前に検出された第6の変化特性に基づいて、第5の外観とは異なる第6の外観に更新すると、ユーザ入力を受信するためのインタフェースを表示する必要なくユーザが仮想アバターを制御するための入力を提供することを可能にすることによりデバイスに対するより多くの制御をユーザに提供する。表示される追加コントローラによってUIを雑然とさせることなく、追加制御できるようにすることにより、デバイスの操作性が高められ、ユーザ-デバイスインタフェースを(例えば、デバイスを操作する/デバイスと対話するときに適切な入力をもたらすようにユーザを支援し、ユーザの誤りを減らすことによって)より効率的にし、更に、ユーザがデバイスをより素早く、効果的に使用できるようにすることによって、電力使用量を削減し、デバイスの電池寿命が改善される。
なお、方法2700に関して上述したプロセス(例えば、図27)の詳細はまた、上述した方法にも類似の方式で適用可能であることに留意されたい。例えば、方法800は、方法2700を参照して上述した様々な方法の特性のうちの任意の1つ以上を任意選択的に含む。例えば、顔の検出された変化に応じて変更される仮想アバターのプレビューを表示する場合、デバイスは、方法800において説明した仮想アバターの変更の間に顔追跡が失われた場合、方法2700で提供されるステップにしたがって仮想アバターの変更を継続することができる。他の例として、方法900は、方法2700に関して上述した様々な方法の特性のうちの1つ以上を任意選択的に含む。例えば、顔の検出された変化に応じて変更される仮想アバターのプレビューを表示する場合、デバイスは、方法900において説明した仮想アバターの変更の間に顔追跡が失われた場合、方法2700で提供されるステップにしたがって仮想アバターの変更を継続することができる。簡潔にするために、これらの詳細は、以下で繰り返さない。
上記は、説明を目的として、特定の実施形態を参照して記述されている。しかしながら、上記の例示的な論考は、網羅的であること、又は開示される厳密な形態に本発明を限定することを意図するものではない。上記の教示を考慮して、多くの修正及び変形が可能である。これらの実施形態は、本技術の原理、及びその実際の適用を最もよく説明するために、選択及び記載されている。それにより、他の当業者は、意図された具体的な用途に適するような様々な修正を用いて、本技術及び様々な実施形態を最も良好に利用することが可能となる。
添付図面を参照して、本開示及び例を十分に説明してきたが、様々な変更及び修正が、当業者には明らかとなるであろうことに留意されたい。そのような変更及び修正は、特許請求の範囲によって定義されるような、本開示及び例の範囲内に含まれるものとして理解されたい。
上述のように、本技術の一態様は、他のユーザと共有するために、様々なソースから入手可能なデータを収集及び使用することである。本開示は、いくつかの例において、この収集されたデータは、特定の人物を一意に特定する個人情報データ、又は特定の人物に連絡する若しくはその所在を突き止めるために使用できる個人情報データを含み得ることを想到している。そのような個人情報データとしては、人口統計データ、位置ベースのデータ、電話番号、電子メールアドレス、ツイッター(登録商標)ID、自宅の住所、ユーザの健康又はフィットネスのレベルに関するデータ若しくは記録(例えば、バイタルサイン測定値、投薬情報、運動情報)、誕生日、あるいは任意の他の識別情報又は個人情報を挙げることができる。
本開示は、本技術におけるそのような個人情報データの使用がユーザの利益になる使用であり得る点を認識するものである。例えば、個人情報データは、会話中のユーザをより良く伝え表すために使用されることができる。更には、ユーザに利益をもたらす、個人情報データに関する他の使用もまた、本開示によって想到される。例えば、健康データ及びフィットネスデータは、ユーザの全般的なウェルネスについての洞察を提供するために使用することができ、あるいは、ウェルネスの目標を追求するための技術を使用している個人への、積極的なフィードバックとして使用することもできる。
本開示は、そのような個人情報データの収集、分析、開示、伝送、記憶、又は他の使用に関与するエンティティが、確固たるプライバシーポリシー及び/又はプライバシー慣行を遵守するものとなることを想到する。具体的には、そのようなエンティティは、個人情報データを秘密として厳重に保守するための、業界又は政府の要件を満たしているか又は上回るものとして一般に認識されている、プライバシーのポリシー及び慣行を実施し、一貫して使用するべきである。そのようなポリシーは、ユーザによって容易にアクセス可能とするべきであり、データの収集及び/又は使用が変化するにつれて更新されるべきである。ユーザからの個人情報は、そのエンティティの合法的かつ正当な使用のために収集されるべきであり、それらの合法的使用を除いては、共有又は販売されるべきではない。更には、そのような収集/共有は、ユーザに告知して同意を得た後に実施されるべきである。更には、そのようなエンティティは、そのような個人情報データへのアクセスを保護して安全化し、その個人情報データへのアクセスを有する他者が、それらのプライバシーポリシー及び手順を遵守することを保証するための、あらゆる必要な措置を講じることを考慮するべきである。更には、そのようなエンティティは、広く受け入れられているプライバシーのポリシー及び慣行に対する自身の遵守を証明するために、第三者による評価を自らが受けることができる。更には、ポリシー及び慣行は、収集及び/又はアクセスされる具体的な個人情報データのタイプに適合されるべきであり、また、管轄権固有の考慮事項を含めた、適用可能な法令及び規格に適合されるべきである。例えば、米国では、特定の健康データの収集又はアクセスは、医療保険の相互運用性と説明責任に関する法律(Health Insurance Portability and Accountability Act、HIPAA)などの、連邦法及び/又は州法によって管理することができ、その一方で、他国における健康データは、他の規制及びポリシーの対象となり得るものであり、それに従って対処されるべきである。それゆえ、各国の異なる個人データのタイプに関して、異なるプライバシー慣行が保たれるべきである。
前述のことがらにも関わらず、本開示はまた、個人情報データの使用又は個人情報データへのアクセスを、ユーザが選択的に阻止する実施形態も想到する。すなわち、本開示は、そのような個人情報データへのアクセスを防止又は阻止するように、ハードウェア要素及び/又はソフトウェア要素を提供することができると想到する。例えば、アバターを送信する場合、本技術は、ユーザが、サービスの登録中又はその後のいつでも、個人情報データの収集への参加の「オプトイン」又は「オプトアウト」を選択できるように構成され得る。「オプトイン」及び「オプトアウト」の選択肢を提供することに加えて、本開示は、個人情報のアクセス又は使用に関する通知を提供することを想到する。例えば、ユーザの個人情報データにアクセスすることとなるアプリのダウンロード時にユーザに通知され、その後、個人情報データがアプリによってアクセスされる直前に再びユーザに注意してもよい。
更には、本開示の意図は、個人情報データを、非意図的若しくは非認可アクセス又は使用の危険性を最小限に抑える方法で、管理及び処理するべきであるという点である。データの収集を制限し、データがもはや必要とされなくなった時点で削除することによって、危険性を最小限に抑えることができる。更には、適用可能な場合、特定の健康関連アプリケーションにおいて、ユーザのプライバシーを保護するために、データの非特定化を使用することができる。非特定化は、適切な場合には、特定の識別子(例えば、生年月日など)を除去すること、記憶されたデータの量又は特異性を制御すること(例えば、位置データを住所レベルよりも都市レベルで収集すること)、データがどのように記憶されるかを制御すること(例えば、データをユーザ全体にわたって情報集約すること)及び/又は他の方法によって、容易にすることができる。
それゆえ、本開示は、1つ以上の様々な開示された実施形態を実施するための、個人情報データの使用を広範に網羅するものではあるが、本開示はまた、そのような個人情報データにアクセスすることを必要とせずに、それらの様々な実施形態を実施することもまた可能であることを想到している。すなわち、本技術の様々な実施形態は、そのような個人情報データのすべて又は一部分が欠如することにより、実施不可能となるものではない。