(19)【発行国】日本国特許庁(JP)
(12)【公報種別】特許公報(B2)
(11)【特許番号】
(24)【登録日】2022-09-08
(45)【発行日】2022-09-16
(54)【発明の名称】アバターの作成及び編集
(51)【国際特許分類】
G06F 3/04842 20220101AFI20220909BHJP
H04L 51/04 20220101ALI20220909BHJP
【FI】
G06F3/04842
H04L51/04
【外国語出願】
(21)【出願番号】P 2019215503
(22)【出願日】2019-11-28
(62)【分割の表示】P 2019511767の分割
【原出願日】2017-09-01
【審査請求日】2020-01-06
【審判番号】
【審判請求日】2021-06-01
(32)【優先日】2016-09-23
(33)【優先権主張国・地域又は機関】US
【早期審査対象出願】
(73)【特許権者】
【識別番号】503260918
【氏名又は名称】アップル インコーポレイテッド
【氏名又は名称原語表記】Apple Inc.
【住所又は居所原語表記】One Apple Park Way,Cupertino, California 95014, U.S.A.
(74)【代理人】
【識別番号】110003281
【氏名又は名称】特許業務法人大塚国際特許事務所
(72)【発明者】
【氏名】ウィルソン, クリストファー
(72)【発明者】
【氏名】バウアー, セバスティアン
(72)【発明者】
【氏名】グズマン, アウレリオ
(72)【発明者】
【氏名】スカペル, ニコラス
(72)【発明者】
【氏名】バーリエ, ギヨーム
(72)【発明者】
【氏名】ヴァン オーエス, マルセル
(72)【発明者】
【氏名】クランフィル, エリザベス キャロライン
(72)【発明者】
【氏名】マンザリ, べキッシュ, ジェイ.
(72)【発明者】
【氏名】ヤーケス, ジャンカルロ
(72)【発明者】
【氏名】トリヴェリオ, マルコ
(72)【発明者】
【氏名】ジョン, ティファニー, エス.
(72)【発明者】
【氏名】ライアン, ニコル, アール.
【合議体】
【審判長】五十嵐 努
【審判官】千葉 輝久
【審判官】新井 寛
(56)【参考文献】
【文献】国際公開第2016/036218(WO,A1)
【文献】特開平9-009072(JP,A)
【文献】ApplivGames, iMessage用『スーパーマリオラン』ステッカーの無料配信開始!,[online], 2016-09-13,https://games.app-liv.jp/archives/178627
【文献】Contents pocket,LINEスタンプのご案内, [online], 2015-04,https://web.archive.org/web/20150404080541/http://contents-pocket.net/linestamp.html
(58)【調査した分野】(Int.Cl.,DB名)
G06F3/0484
G06F13/00
G06T11/80
(57)【特許請求の範囲】
【請求項1】
ディスプレイ及び1つ以上の入力デバイスを有する電子デバイスにおいて、
前記デバイスの第1のユーザと他のユーザとの間でメッセージを送信するメッセージングアプリケーションのメッセージングユーザインタフェースを表示することであって、前記第1のユーザは、前記デバイスの前記第1のユーザを他のユーザと区別する前記第1のユーザのアバターによって前記メッセージングアプリケーションにおいて表され、前記アバターは、前記第1のユーザによって選択された外観を持つ髪、及び前記第1のユーザによって
前記髪とは別に選択された外観を持つ目を含む、ことと、
前記メッセージングユーザインタフェースを表示している間に、第2のユーザに送るためのステッカを選択するステッカユーザインタフェースを表示するという第1の要求を受信することと、
前記ステッカユーザインタフェースを表示するという前記第1の要求に応じて、
前記第1のユーザの前記アバターに基づいて生成された第1の複数のアバターステッカからの第1のアバターステッカであって、前記第1のユーザによって別々に選択された前記髪及び前記目を持つ前記アバタ
ーに基づいて生成された
前記第1のアバターステッカ、及び
前記第1の複数のアバターステッカからの第2のアバターステッカであって、前記第1のユーザによって別々に選択された前記髪及び前記目を持つ前記アバタ
ーに基づいて生成され、かつ前記第1のアバターステッカとは異なる、
前記第2のアバターステッカ
を前記ディスプレイに同時に表示することを含む、
前記第1の複数のアバターステッカを含むステッカユーザインタフェースを表示することと、
前記ディスプレイに前記ステッカユーザインタフェースを表示している間に、前記メッセージングアプリケーションを介して前記第1のユーザから前記第2のユーザに個別のアバターステッカを送るという要求に対応する1つ以上の入力のシーケンスを、前記1つ以上の入力デバイスを介して、検出することと、
前記1つ以上の入力のシーケンスの検出に応じて、
前記1つ以上の入力のシーケンスが前記第1のアバターステッカの選択に対応しているという判定に従って、前記メッセージングアプリケーションを介して前記第1のユーザから前記第2のユーザに、前記第2のユーザに対する前記第1のユーザによって別々に選択された前記髪及び前記目を持つ前記第1のアバターステッカを送ることと、
前記1つ以上の入力のシーケンスが前記第2のアバターステッカの選択に対応しているという判定に従って、前記メッセージングアプリケーションを介して前記第1のユーザから前記第2のユーザに、前記第1のユーザによって別々に選択された前記髪及び前記目を持つ前記第2のアバターステッカを送ることと、
を含む、方法。
【請求項2】
前記第1のユーザの前記アバターが、アバターレシピに基づく、請求項1に記載の方法。
【請求項3】
前記第1のアバターステッカは、前記第1のユーザの前記アバターの前記アバターレシピの第1のパラメータを修正することにより生成された、請求項2に記載の方法。
【請求項4】
前記第2のアバターステッカは、前記第1のユーザの前記アバターの前記アバターレシピに第2のパラメータを追加することにより生成された、請求項2又は3に記載の方法。
【請求項5】
前記第1のアバターステッカを前記第2のユーザに送ることは、前記第2のユーザに前記第1のアバターステッカを表すレシピを送ることを含む、請求項1から4のいずれか一項に記載の方法。
【請求項6】
前記メッセージングアプリケーションを介して前記第1のユーザから前記第2のユーザに前記第2のユーザに対する前記第1のアバターステッカを送ることは、
前記第2のユーザに関連付けられているデバイスはアバターレシピをサポートしているという判定に従って、前記第2のユーザに前記第1のアバターステッカを表すレシピを送ることと、
前記第2のユーザに関連付けられている前記デバイスはアバターレシピをサポートしていないという判定に従って、前記第2のユーザに前記第1のアバターステッカのグラフィカル表現を送ることと、
を含む、請求項1から5のいずれか一項に記載の方法。
【請求項7】
前記ステッカユーザインタフェースが、前記メッセージングユーザインタフェースの少なくとも一部と同時に表示される、請求項1から6のいずれか一項に記載の方法。
【請求項8】
前記第1のアバターステッカが、アニメーション化されている、請求項1から7のいずれか一項に記載の方法。
【請求項9】
前記第2のアバターステッカが、プロップを含む、請求項1から8のいずれか一項に記載の方法。
【請求項10】
前記ステッカユーザインタフェースを表示するという前記要求を受信する前に、ユーザメッセージのテキスト部分のユーザ入力を受信することと、
前記1つ以上の入力のシーケンスを検出した後に、前記メッセージングアプリケーションを介して前記ユーザメッセージの前記テキスト部分を前記第2のユーザに送ることと、
を更に含む、請求項1から9のいずれか一項に記載の方法。
【請求項11】
前記第1のアバターステッカ又は前記第2のアバターステッカを送った後に、前記ディスプレイに前記ステッカユーザインタフェースを表示している間に、前記メッセージングアプリケーションを介して前記第1のユーザから前記第2のユーザに個別のアバターステッカを送るという要求に対応する1つ以上の入力の第2のシーケンスを、前記1つ以上の入力デバイスを介して、検出することと、
前記1つ以上の入力の第2のシーケンスの検出に応じて、前記1つ以上の入力のシーケンスが前記第2のアバターステッカの選択に対応しているという判定に従って、前記メッセージングアプリケーションを介して前記第1のユーザから前記第2のユーザに前記第2のアバターステッカを送ることと、
を更に含む、請求項1から10のいずれか一項に記載の方法。
【請求項12】
コンピュータに、請求項1から11のいずれか一項に記載の方法を実行させるコンピュータプログラム。
【請求項13】
請求項12に記載のコンピュータプログラムを格納したメモリと、
前記メモリに格納された前記コンピュータプログラムを実行可能な1つ以上のプロセッサと、
を備える電子デバイス。
【請求項14】
請求項1から11のいずれか一項に記載の方法を実行する手段を備える電子デバイス。
【請求項15】
前記メッセージングユーザインタフェースは、前記電子デバイスと前記第2のユーザに関連付けられている第2のデバイスとの間で交換されたデータを表す複数のテキストボックスを含み、前記方法は更に、
前記1つ以上の入力のシーケンスの検出に応じて、
前記1つ以上の入力のシーケンスが前記第1のアバターステッカの選択に対応しているという前記判定に従って、前記複数のテキストボックスのうちの第1のテキストボックスに添付される前記第1のアバターステッカを表示することと、
前記1つ以上の入力のシーケンスが前記第2のアバターステッカの選択に対応しているという前記判定に従って、前記複数のテキストボックスのうちの前記第1のテキストボックスに添付される前記第2のアバターステッカを表示することと、
を含む、請求項1から11のいずれか一項に記載の方法。
【発明の詳細な説明】
【技術分野】
【0001】
(関連出願の相互参照)
本出願は、2016年9月23日に出願された米国特許仮出願第62/399,294号、題名「AVATAR CREATION AND EDITING」、に対する優先権を主張するものであり、参照によりその内容全体が本明細書に組み入れられる。
(技術分野)
【0002】
本開示は、概して、コンピュータユーザインタフェースに関し、より詳細には、アバターの作成及び編集の技術に関する。
【背景技術】
【0003】
アバターは、電子デバイスのユーザを表すために使用される。アバターは、ユーザの外観を表すことができ、あるいはユーザの理想化された表現又は完全に架空の表現を表すことができる。その場合、他のユーザに対するアバターの外観が、ユーザとの関連付け又はリンクをトリガするように、アバターは、ユーザに関連付けられ得る。
【発明の概要】
【0004】
しかしながら、電子デバイスを使用してアバターを作成及び編集する一部の技術は、概して煩雑であり、非効率的である。例えば、一部の既存の技術では、複数回のキー押下又は打鍵を含む場合がある、複雑かつ時間のかかるユーザインタフェースが使用されている。既存の技術は、必要以上の時間を要し、ユーザの時間及びデバイスのエネルギを浪費する。後者の問題は、バッテリ動作式デバイスにおいては特に重大である。
【0005】
したがって、本技術は、アバターを作成及び編集するための、より速く、より効率的な方法及びインタフェースを電子デバイスに提供する。このような方法及びインタフェースは、任意選択的に、アバターを作成及び編集する他の方法を補完する又はそれに置き換わる。そのような方法及びインタフェースは、ユーザにかかる認識的負担を低減させ、より効率的なヒューマンマシンインタフェースを作成する。バッテリ動作式コンピューティングデバイスの場合、そのような方法及びインタフェースは、電力を節約し、電池充電の間隔を長くする。
【0006】
一実施形態によれば、ディスプレイ及び1つ以上のカメラディスプレイを有する電子デバイスが、ディスプレイにプレースホルダアバターを表示し、プレースホルダアバターの表示は、電子デバイスの1つ以上のカメラの視野に対するユーザの第1の位置に基づく。電子デバイスは、プレースホルダアバターを表示しつつ、1つ以上のカメラの視野に対する第2の位置へのユーザの移動を検出する。1つ以上のカメラの視野に対する第2の位置へのユーザの移動の検出に応じて、電子デバイスは、1つ以上のカメラの視野に対するユーザの第2の位置は第1の組の画像基準を満たしているという判定に従って、1つ以上のカメラでユーザの第1の画像データをキャプチャし、1つ以上のカメラの視野に対するユーザの第2の位置は第1の組の画像基準を満たしていないという判定に従って、プレースホルダアバターの表示を続けながら、電子デバイスに対する位置を第1の目標位置に変更するようにユーザに第1の案内を提供する。
【0007】
一時的コンピュータ可読記憶媒体の一実施形態は、1つ以上のプログラムを記憶し、この1つ以上のプログラムは、ディスプレイ及び1つ以上のカメラを有する電子デバイスの1つ以上のプロセッサによって実行されると、プレースホルダアバターをディスプレイ上に表示することであって、このプレースホルダアバターの表示は電子デバイスの1つ以上のカメラの視野に対するユーザの第1の位置に基づく、ことと、プレースホルダアバターを表示しつつ、1つ以上のカメラの視野に対する第2の位置へのユーザの移動を検出することと、1つ以上のカメラの視野に対する第2の位置へのユーザの移動を検出したことに応じて:1つ以上のカメラの視野に対するユーザの第2の位置は第1の組の画像基準を満たしているという判定に従って、1つ以上のカメラでユーザの第1の画像データをキャプチャすることと、1つ以上のカメラの視野に対するユーザの第2の位置は第1の組の画像基準を満たしていないという判定に従って、プレースホルダアバターの表示を続けながら、電子デバイスに対する位置を第1の目標位置に変更するために第1の案内をユーザに提供することと、をデバイスに行わせる命令を含む。
【0008】
一実施形態によれば、ディスプレイ及び1つ以上の入力デバイスを有する電子デバイスは、複数の編集可能な特徴を有するアバターと、修正のために現在選択されている第1のアバター特徴及び修正のために現在選択されていない第2のアバター特徴を含む、複数のアバター特徴の表現を含む特徴選択制御領域と、現在選択されている第1のアバター特徴の第1のオプション及び現在選択されていない第1のアバター特徴の第2のオプションを含む選択するための第1のアバター特徴の複数のオプションの表現を含む特徴オプション制御領域と、のディスプレイ上の表示を同時に含む、アバター編集ユーザインタフェースを表示し、アバター編集ユーザインタフェースを表示しつつ、アバター編集ユーザインタフェースにおける入力を検出し、この入力の検出に応じて、この入力は特徴選択制御領域における第2のアバター特徴の選択に対応しているという判定に従って:特徴選択制御領域を更新して、第2のアバター特徴が現在選択されていることを示し、現在選択されている第2のアバター特徴の第1のオプション及び現在選択されていない第2のアバター特徴の第2のオプションを含む選択するための第2のアバター特徴の複数のオプションの表現を含むように特徴オプション制御領域を更新し、この入力は特徴オプション制御領域における第1のアバター特徴の第2のオプションの選択に対応しているという判定に従って:特徴オプション制御領域を更新して、第1のアバター特徴の第2のオプションが現在選択されていることを示し、アバターを更新して、第1のアバター特徴の第2のオプションに従って第1のアバター特徴の外観を変更する。
【0009】
一時的コンピュータ可読記憶媒体の一実施形態は1つ以上のプログラムを記憶し、この1つ以上のプログラムは、ディスプレイ及び1つ以上の入力デバイスを有する電子デバイスの1つ以上のプロセッサによって実行されると、ディスプレイ上に、編集可能な複数の特徴を有するアバター、修正のために現在選択されている第1のアバター特徴及び修正のために現在選択されていない第2のアバター特徴を含む、複数のアバター特徴の表現を含む特徴選択制御領域、現在選択されている第1のアバター特徴の第1のオプション及び現在選択されていない第1のアバター特徴の第2のオプションを含む選択するための第1のアバター特徴の複数のオプションの表現を含む特徴オプション制御領域を同時に表示することを含む、アバター編集ユーザインタフェースをデバイスに表示させることと、アバター編集ユーザインタフェースを表示しつつ、アバター編集ユーザインタフェースにおいて入力を検出し、この入力の検出に応じて:この入力は特徴選択制御領域における第2のアバター特徴の選択に対応しているという判定に従って:第2のアバター特徴が現在選択されていることを示すように特徴選択制御領域を更新し、現在選択されている第2のアバター特徴の第1のオプション及び現在選択されていない第2のアバター特徴の第2のオプションを含む選択するための第2のアバター特徴の複数のオプションの表現を含むように特徴オプション制御領域を更新することと、この入力は特徴オプション制御領域における第1のアバター特徴の第2のオプションの選択に対応しているという判定に従って:第1のアバター特徴の第2のオプションが現在選択されていることを示すように特徴オプション制御領域を更新し、第1のアバター特徴の第2のオプションに従って第1のアバター特徴の外観を変更するためにアバターを更新することと、を行う命令を含む。
【0010】
一実施形態によれば、ディスプレイ及び1つ以上の入力デバイスを有する電子デバイスは、デバイスの第1のユーザと他のユーザとの間でメッセージを送信するメッセージングアプリケーションのメッセージングインタフェースを表示し、第1のユーザは、他のユーザからデバイスの第1のユーザを区別するユーザのアバターによってメッセージングアプリケーションにおいて表され、メッセージングユーザインタフェースを表示しつつ、第2のユーザに送るためのステッカを選択するステッカユーザインタフェースを表示するという第1の要求を受信し、ステッカユーザインタフェースを表示するという第1の要求に応じて、ユーザのアバターに基づいて生成された第1の複数のアバターステッカを含むステッカユーザインタフェースをディスプレイに表示し、この表示は以下の同時表示を含む:ユーザを表すアバターの修正に基づいて生成された第1のアバターステッカ、及び、ユーザを表しかつ第1のアバターステッカとは異なるアバターの修正に基づいて生成された第2のアバターステッカ、ディスプレイにアバター選択インタフェースの複数のアフォーダンスを表示しつつ、メッセージングアプリケーションを介して第2のユーザに第1のユーザから対応するアバターステッカを送るという要求に対応する1つ以上の入力のシーケンスを1つ以上の入力デバイスを介して検出し、1つ以上の入力のシーケンスを検出したことに応じて:この1つ以上の入力のシーケンスが第1のアバターステッカの選択に対応しているという判定に従って、第2のユーザへの第1のアバターステッカをメッセージングアプリケーションを介して第1のユーザから第2のユーザに送り、この1つ以上の入力のシーケンスが第2のアバターステッカの選択に対応しているという判定に従って、メッセージングアプリケーションを介して第1のユーザから第2のユーザに第2のアバターステッカを送る。
【0011】
一時的コンピュータ可読記憶媒体の一実施形態は、1つ以上のプログラムを記憶し、この1つ以上のプログラムは、ディスプレイ及び1つ以上の入力デバイスを有する電子デバイスの1つ以上のプロセッサによって実行されると、デバイスの第1のユーザと他のユーザとの間でメッセージを送信するメッセージングアプリケーションのメッセージングインタフェースをデバイスに表示させる命令であって、第1のユーザは、デバイスの第1のユーザを他のユーザと区別するユーザのアバターによってメッセージングアプリケーションにおいて表される、命令と、メッセージングユーザインタフェースを表示しつつ、第2のユーザに送るためのステッカを選択するステッカユーザインタフェースを表示するという第1の要求を受信する命令と、ステッカユーザインタフェースを表示するという第1の要求に応じて、ディスプレイに、ユーザを表すアバターの修正に基づいて生成された第1のアバターステッカ、及び、ユーザを表しかつ第1のアバターステッカとは異なるアバターの修正に基づいて生成された第2のアバターステッカを同時に表示することを含む、ユーザのアバターに基づいて生成された第1の複数のアバターステッカを含むステッカユーザインタフェースを表示する命令と、ディスプレイにアバター選択インタフェースの複数のアフォーダンスを表示しつつ、対応するアバターステッカをメッセージングアプリケーションを介して第1のユーザから第2のユーザに送るという要求に対応する1つ以上の入力のシーケンスを1つ以上の入力デバイスを介して検出し、この1つ以上の入力のシーケンスの検出に応じて:この1つ以上の入力のシーケンスが第1のアバターステッカの選択に対応しているという判定に従って、第2のユーザへの第1のアバターステッカを第1のユーザから第2のユーザにメッセージングアプリケーションを介して送り、この1つ以上の入力のシーケンスが第2のアバターステッカの選択に対応しているという判定に従って、第1のユーザから第2のユーザにメッセージングアプリケーションを介して第2のアバターステッカを送る命令とを含む。
【0012】
一実施形態によれば、ディスプレイ及びタッチ感知面を有する電子デバイスは、複数の編集可能な特徴を有するアバターを含むアバター編集インタフェースをディスプレイに表示し、複数の編集可能な特徴のうちの対応する特徴が現在選択されている特徴である間に、タッチ感知面との1つ以上の接点の移動を含む第1のジェスチャをタッチ感知面上で検出し、第1のジェスチャの検出に応じて:第1のジェスチャは第1のタイプのジェスチャであるというかつ対応する特徴は第1の特徴であるという判定に従って、第1の特徴の第1の特性を修正することによってアバターの表示を更新することであって、第1の特徴の第1の特性は第1のジェスチャタイプと関連付けられている、更新することを行い、第1のジェスチャは、第1のタイプのジェスチャとは異なる第2のタイプのジェスチャであるというかつ対応する特徴は第1の特徴であるという判定に従って、第1の特徴の第1の特性とは異なる第1の特徴の第2の特性を修正することによってアバターの表示を更新し、第1の特徴の第2の特性は第2のジェスチャタイプと関連付けられている。
【0013】
1つ以上のプログラムを記憶する非一時的コンピュータ可読記憶媒体であって、この1つ以上のプログラムは、ディスプレイ及び1つ以上の入力デバイスを有する電子デバイスの1つ以上のプロセッサによって実行されるとデバイスに、複数の編集可能な特徴を有するアバターを含むアバター編集インタフェースをディスプレイに表示し、複数の編集可能な特徴のうちの対応する特徴が現在選択されている特徴である間に、タッチ感知面との1つ以上の接点の移動を含む第1のジェスチャをタッチ感知面上で検出することと、第1のジェスチャの検出に応じて:第1のジェスチャは第1のタイプのジェスチャであるというかつ対応する特徴は第1の特徴であるという判定に従って、第1の特徴の第1の特性を修正することによってアバターの表示を更新することであって、第1の特徴の第1の特性は第1のジェスチャタイプと関連付けられている、ことと、第1のジェスチャは第1のタイプのジェスチャとは異なる第2のタイプのジェスチャであるというかつ対応する特徴は第1の特徴であるという判定に従って、第1の特徴の第1の特性とは異なる第1の特徴の第2の特性を修正することによってアバターの表示を更新することであって、第1の特徴の第2の特性は第2のジェスチャタイプと関連付けられていることとを行わせる命令を含む。
【0014】
これらの機能を実行する実行可能な命令は、任意選択的に、1つ以上のプロセッサによって実行されるように構成された非一時的コンピュータ可読記憶媒体又は他のコンピュータプログラム製品内に含まれる。これらの機能を実行する実行可能な命令は、任意選択的に、1つ以上のプロセッサによって実行されるように構成された一時的コンピュータ可読記憶媒体又は他のコンピュータプログラム製品内に含まれる。
【0015】
このため、アバターを作成及び編集するための、より速く、より効率的な方法及びインタフェースがデバイスに提供され、それによって、このようなデバイスの有効性、効率、及びユーザ満足度が増す。このような方法及びインタフェースは、アバターを作成及び編集する他の方法を補完する、又はこれに置き換わることができる。
【図面の簡単な説明】
【0016】
説明される様々な実施形態をより良く理解するため、以下の図面と併せて、以下の「発明を実施するための形態」が参照されるべきであり、類似の参照番号は、以下の図のすべてを通じて、対応する部分を指す。
【0017】
【
図1A】いくつかの実施形態によるタッチ感知ディスプレイを有するポータブル多機能デバイスを示すブロック図である。
【0018】
【
図1B】いくつかの実施形態によるイベント処理のための例示的な構成要素を示すブロック図である。
【0019】
【
図2】いくつかの実施形態によるタッチスクリーンを有するポータブル多機能デバイスを示す。
【0020】
【
図3】いくつかの実施形態によるディスプレイ及びタッチ感知面を有する例示的な多機能デバイスのブロック図である。
【0021】
【
図4A】いくつかの実施形態によるポータブル多機能デバイス上のアプリケーションのメニューの例示的なユーザインタフェースを示す。
【0022】
【
図4B】いくつかの実施形態によるディスプレイとは別個のタッチ感知面を有する多機能デバイスの例示的なユーザインタフェースを示す。
【0023】
【
図5A】いくつかの実施形態によるパーソナル電子デバイスを示す。
【0024】
【
図5B】いくつかの実施形態によるパーソナル電子デバイスを示すブロック図である。
【0025】
【
図6A】ユーザアバターを作成する例示的なユーザインタフェースを示す。
【
図6B】ユーザアバターを作成する例示的なユーザインタフェースを示す。
【
図6C】ユーザアバターを作成する例示的なユーザインタフェースを示す。
【
図6D】ユーザアバターを作成する例示的なユーザインタフェースを示す。
【
図6E】ユーザアバターを作成する例示的なユーザインタフェースを示す。
【
図6F】ユーザアバターを作成する例示的なユーザインタフェースを示す。
【
図6G】ユーザアバターを作成する例示的なユーザインタフェースを示す。
【
図6H】ユーザアバターを作成する例示的なユーザインタフェースを示す。
【
図6I】ユーザアバターを作成する例示的なユーザインタフェースを示す。
【
図6J】ユーザアバターを作成する例示的なユーザインタフェースを示す。
【
図6K】ユーザアバターを作成する例示的なユーザインタフェースを示す。
【
図6L】ユーザアバターを作成する例示的なユーザインタフェースを示す。
【
図6M】ユーザアバターを作成する例示的なユーザインタフェースを示す。
【0026】
【
図7A】ユーザアバターを作成する方法を示すフロー図である。
【
図7B】ユーザアバターを作成する方法を示すフロー図である。
【0027】
【
図8】電子デバイスの例示的な機能ブロック図を示す。
【0028】
【
図9A】ユーザのアバターをカスタマイズする例示的なユーザインタフェースを示す。
【
図9B】ユーザのアバターをカスタマイズする例示的なユーザインタフェースを示す。
【
図9C】ユーザのアバターをカスタマイズする例示的なユーザインタフェースを示す。
【
図9D】ユーザのアバターをカスタマイズする例示的なユーザインタフェースを示す。
【
図9E】ユーザのアバターをカスタマイズする例示的なユーザインタフェースを示す。
【
図9F】ユーザのアバターをカスタマイズする例示的なユーザインタフェースを示す。
【
図9G】ユーザのアバターをカスタマイズする例示的なユーザインタフェースを示す。
【
図9H】ユーザのアバターをカスタマイズする例示的なユーザインタフェースを示す。
【0029】
【
図10A】ユーザのアバターをカスタマイズする方法を示すフロー図である。
【
図10B】ユーザのアバターをカスタマイズする方法を示すフロー図である。
【0030】
【
図11】電子デバイスの例示的な機能ブロック図を示す。
【0031】
【
図12A】メッセージにおいてアバターステッカを使用する例示的なユーザインタフェースを示す。
【
図12B】メッセージにおいてアバターステッカを使用する例示的なユーザインタフェースを示す。
【
図12C】メッセージにおいてアバターステッカを使用する例示的なユーザインタフェースを示す。
【
図12D】メッセージにおいてアバターステッカを使用する例示的なユーザインタフェースを示す。
【
図12E】メッセージにおいてアバターステッカを使用する例示的なユーザインタフェースを示す。
【
図12F】メッセージにおいてアバターステッカを使用する例示的なユーザインタフェースを示す。
【
図12G】メッセージにおいてアバターステッカを使用する例示的なユーザインタフェースを示す。
【
図12H】メッセージにおいてアバターステッカを使用する例示的なユーザインタフェースを示す。
【
図12I】メッセージにおいてアバターステッカを使用する例示的なユーザインタフェースを示す。
【
図12J】メッセージにおいてアバターステッカを使用する例示的なユーザインタフェースを示す。
【0032】
【
図13A】メッセージにおいてアバターステッカを使用する方法を示すフロー図である。
【
図13B】メッセージにおいてアバターステッカを使用する方法を示すフロー図である。
【0033】
【
図14】電子デバイスの例示的な機能ブロック図を示す。
【0034】
【
図15A】ジェスチャを使用してアバターを編集する例示的なユーザインタフェースを示す。
【
図15B】ジェスチャを使用してアバターを編集する例示的なユーザインタフェースを示す。
【
図15C】ジェスチャを使用してアバターを編集する例示的なユーザインタフェースを示す。
【
図15D】ジェスチャを使用してアバターを編集する例示的なユーザインタフェースを示す。
【
図15E】ジェスチャを使用してアバターを編集する例示的なユーザインタフェースを示す。
【
図15F】ジェスチャを使用してアバターを編集する例示的なユーザインタフェースを示す。
【0035】
【
図16A】ジェスチャを使用してアバターを編集する方法を示すフロー図である。
【
図16B】ジェスチャを使用してアバターを編集する方法を示すフロー図である。
【0036】
【
図17】電子デバイスの例示的な機能ブロック図を示す。
【発明を実施するための形態】
【0037】
以下の説明は、例示的な方法、パラメータなどについて記載する。しかしながら、そのような説明は、本開示の範囲に対する限定として意図されるものではなく、代わりに例示的な実施形態の説明として提供されることを認識されたい。
【0038】
アバターを作成及び編集する効率的な方法及びインタフェースを提供する電子デバイスが必要とされている。例えば、アバターを作成及び編集するプログラムがすでに存在しているが、これらのプログラムは、以下の技術に比べて非効率で使いにくいものであり、以下の技術では、ユーザは必要に応じて現実的又は非現実的なものとしてアバターを作成及び編集することができる。このような技術によって、アバターを作成及び編集するユーザの認識的負担を軽減することができ、それによって生産性を向上させる。更に、このような技法は、普通なら冗長なユーザ入力に浪費されるプロセッサ及び電池の電力を低減させることができる。
【0039】
【0040】
図6A~
図6Mは、ユーザアバターを作成する例示的なユーザインタフェースを示す。
図7A~
図7Bは、いくつかの実施形態による、ユーザアバターを作成する方法を示すフロー図である。
図6A~
図6Mのユーザインタフェースは、
図7A~
図7Bのプロセスを含む後述のプロセスを示すために使用される。
【0041】
図9A~
図9Hは、ユーザアバターをカスタマイズする例示的なユーザインタフェースを示す。
図10A~
図10Bは、いくつかの実施形態による、ユーザアバターをカスタマイズするためのアクセスの方法を示すフロー図である。
図8A~
図8Dのユーザインタフェースは、
図10A~
図10Bのプロセスを含む後述のプロセスを示すために使用される。
【0042】
図12A~
図12Jは、メッセージを有するアバターステッカを作成及び使用する例示的なユーザインタフェースを示す。
図13A~
図13Bは、いくつかの実施形態による、メッセージを有するアバターステッカを作成及び使用するためのアクセスの方法を示すフロー図である。
図12A~
図12Jのユーザインタフェースは、
図13A~
図13Bのプロセスを含む後述のプロセスを示すために使用される。
【0043】
図15A~
図15Fは、ジェスチャを使用してアバターを編集する例示的なユーザインタフェースを示す。
図16A~
図16Bは、いくつかの実施形態による、ジェスチャを使用してアバターを編集するためのアクセスの方法を示すフロー図である。
図15A~
図15Fのユーザインタフェースは、
図16A~
図16Bのプロセスを含む後述のプロセスを示すために使用される。
【0044】
以下の説明では、様々な要素について説明するために、「第1の」、「第2の」などの用語を使用するが、これらの要素は、それらの用語によって限定されるべきではない。これらの用語は、ある要素を別の要素と区別するためにのみ使用される。例えば、記載する様々な実施形態の範囲から逸脱することなく、第1のタッチを第2のタッチと呼ぶこともでき、同様に第2のタッチを第1のタッチと呼ぶこともできる。第1のタッチ及び第2のタッチはどちらもタッチであるが、これらは同じタッチではない。
【0045】
本明細書に記載する様々な実施形態の説明で使用される術語は、特定の実施形態を説明することのみを目的とし、限定的であることは意図されていない。記載する様々な実施形態の説明及び添付の特許請求の範囲では、単数形の「a(1つ、一)」、「an(1つ、一)」、及び「the(その、この)」は、文脈上別途明白に記載しない限り、複数形も同様に含むことが意図される。また、本明細書で使用されるとき、用語「及び/又は」は、関連する列挙された項目のうちの1つ以上のいずれか及びすべての考えられる組合せを指し、かつこれを含むことを理解されたい。用語「includes(含む)」、「including(含む)」、「comprises(含む、備える)」、及び/又は「comprising(含む、備える)」は、本明細書で使用する場合、述べられた特徴、整数、ステップ、動作、要素、及び/又は構成要素の存在を指定するが、1つ以上の他の特徴、整数、ステップ、動作、要素、構成要素、及び/又はそれらのグループの存在又は追加を除外しないことが更に理解されるであろう。
【0046】
「~場合(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])」を意味すると解釈される。
【0047】
電子デバイス、そのようなデバイス用のユーザインタフェース、及びそのようなデバイスを使用する関連するプロセスの実施形態が説明される。いくつかの実施形態では、デバイスは、PDA機能及び/又は音楽プレーヤ機能などの他の機能も含む、携帯電話などのポータブル通信デバイスである。ポータブル多機能デバイスの例示的な実施形態としては、カリフォルニア州クパチーノのApple Inc.からのiPhone(登録商標)、iPod Touch(登録商標)、及びiPad(登録商標)のデバイスが挙げられるが、これらに限定されない。任意選択的に、タッチ感知面を有するラップトップ又はタブレットコンピュータ(例えば、タッチスクリーンディスプレイ及び/又はタッチパッド)などの他のポータブル電子デバイスも使用される。また、いくつかの実施形態では、デバイスはポータブル通信デバイスではなく、タッチ感知面を有するデスクトップコンピュータ(例えば、タッチスクリーンディスプレイ及び/又はタッチパッド)であることも理解されたい。
【0048】
以下の論考では、ディスプレイ及びタッチ感知面を含む電子デバイスについて説明する。しかしながら、電子デバイスは、任意選択的に、物理キーボード、マウス、及び/又はジョイスティックなどの1つ以上の他の物理ユーザインタフェースデバイスを含むことを理解されたい。
【0049】
デバイスは、典型的には、描画アプリケーション、プレゼンテーションアプリケーション、ワードプロセッシングアプリケーション、ウェブサイト作成アプリケーション、ディスクオーサリングアプリケーション、スプレッドシートアプリケーション、ゲームアプリケーション、電話アプリケーション、テレビ会議アプリケーション、電子メールアプリケーション、インスタントメッセージングアプリケーション、トレーニングサポートアプリケーション、写真管理アプリケーション、デジタルカメラアプリケーション、デジタルビデオカメラアプリケーション、ウェブブラウジングアプリケーション、デジタル音楽プレーヤアプリケーション、及び/又はデジタルビデオプレーヤアプリケーションのうちの1つ以上などの様々なアプリケーションに対応する。
【0050】
本デバイス上で実行される様々なアプリケーションは、タッチ感知面などの、少なくとも1つの共通の物理ユーザインタフェースデバイスを、任意選択的に使用する。タッチ感知面の1つ以上の機能、並びにデバイス上に表示される対応する情報は、アプリケーションごとに、及び/又はそれぞれのアプリケーション内で、任意選択的に、調節及び/又は変更される。このように、デバイスの共通の物理アーキテクチャ(タッチ感知面など)は、任意選択的に、ユーザにとって直観的かつ透過的なユーザインタフェースを備える様々なアプリケーションをサポートする。
【0051】
ここで、タッチ感知ディスプレイを備えるポータブルデバイスの実施形態に注意を向ける。
図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を介して通信する。
【0052】
本明細書及び特許請求の範囲では、タッチ感知面上の接触の「強度」という用語は、タッチ感知面上の接触(例えば、指の接触)の力若しくは圧力(単位面積当たりの力)、又はタッチ感知面上の接触の力若しくは圧力に対する代理(プロキシ)を指す。接触の強度は、少なくとも4つの別個の値を含み、より典型的には、数百の(例えば、少なくとも256の)別個の値を含む、値の範囲を有する。接触の強度は、任意選択的に、様々な手法、及び様々なセンサ又はセンサの組合せを使用して、特定(又は測定)される。例えば、タッチ感知面の下又はそれに隣接する1つ以上の力センサは、任意選択的に、タッチ感知面上の様々なポイントにおける力を測定するために使用される。いくつかの実装形態では、複数の力センサからの力測定値は、接触の推定される力を判定するために組み合わされる(例えば、加重平均)。同様に、スタイラスの感圧性先端部は、任意選択的に、タッチ感知面上のスタイラスの圧力を特定するために使用される。あるいは、タッチ感知面上で検出される接触エリアのサイズ及び/若しくはその変化、接触に近接するタッチ感知面の電気容量及び/若しくはその変化、並びに/又は、接触に近接するタッチ感知面の抵抗及び/若しくはその変化は、任意選択的に、タッチ感知面上の接触の力又は圧力の代替物として使用される。いくつかの実装形態では、接触の力又は圧力のための代替測定値は、強度閾値を超えているかどうかを判定するために直接使用される(例えば、強度閾値は、代替測定値に対応する単位で記述される)。いくつかの実装形態では、接触力又は圧力に対する代理測定は、推定される力又は圧力に変換され、推定される力又は圧力は、強度閾値を超過したかどうかを判定するために使用される(例えば、強度閾値は、圧力の単位で測定される圧力閾値である)。接触の強度をユーザ入力の属性として使用することにより、アフォーダンスを(例えば、タッチ感知ディスプレイ上に)表示するための、及び/又は、ユーザ入力を(例えば、タッチ感知ディスプレイ、タッチ感知面、又は、ノブ若しくはボタンなどの物理的/機械的制御部を介して)受信するための面積が制限されている、低減されたサイズのデバイス上で、通常であればユーザによってアクセスすることが不可能であり得る追加のデバイス機能への、ユーザのアクセスが可能となる。
【0053】
本明細書及び特許請求の範囲で使用されるように、用語「触知出力」は、ユーザの触覚でユーザによって検出されることになる、デバイスの従前の位置に対するそのデバイスの物理的変位、デバイスの構成要素(例えば、タッチ感知面)の、そのデバイスの別の構成要素(例えば、筐体)に対する物理的変位、又は、デバイスの質量中心に対する構成要素の変位を指す。例えば、デバイス又はデバイスの構成要素が、タッチに敏感なユーザの表面(例えば、ユーザの手の指、手のひら、又は他の部分)に接触している状況では、物理的変位によって生成された触知出力は、そのデバイス又はデバイスの構成要素の物理的特性の認識される変化に相当する触感として、ユーザによって解釈されることになる。例えば、タッチ感知面(例えば、タッチ感知ディスプレイ又はトラックパッド)の移動は、ユーザによって、物理アクチュエータボタンの「ダウンクリック」又は「アップクリック」として、任意選択的に解釈される。いくつかの場合、ユーザの動作により物理的に押された(例えば、変位された)タッチ感知面に関連付けられた物理アクチュエータボタンの移動がない時でさえ、ユーザは「ダウンクリック」又は「アップクリック」などの触感を感じる。別の例として、タッチ感知面の移動は、タッチ感知面の平滑度に変化がない場合であっても、ユーザによって、そのタッチ感知面の「粗さ」として、任意選択的に解釈又は感知される。そのようなユーザによるタッチの解釈は、ユーザの個人的な感覚認知に左右されるが、大多数のユーザに共通する、多くのタッチの感覚認知が存在する。したがって、触知出力が、ユーザの特定の感覚認知(例えば、「アップクリック」「ダウンクリック」、「粗さ」)に対応するものと記述される場合、別途記載のない限り、生成された触知出力は、典型的な(又は、平均的な)ユーザの記述された感覚認知を生成するデバイス、又はデバイスの構成要素の物理的変位に対応する。
【0054】
デバイス100は、ポータブル多機能デバイスの一例に過ぎず、デバイス100は、任意選択的に、示されているものよりも多くの構成要素又は少ない構成要素を有するものであり、任意選択的に、2つ以上の構成要素を組合せるものであり、又は、任意選択的に、それらの構成要素の異なる構成若しくは配置を有するものであることを理解されたい。
図1Aに示す様々な構成要素は、1つ以上の信号処理回路及び/又は特定用途向け集積回路を含む、ハードウェア、ソフトウェア、又はハードウェアとソフトウェアの両方の組合せで実施される。
【0055】
メモリ102は、任意選択的に、高速ランダムアクセスメモリを含み、また任意選択的に、1つ以上の磁気ディスク記憶デバイス、フラッシュメモリデバイス、又は他の不揮発性ソリッドステートメモリデバイスなどの不揮発性メモリを含む。メモリコントローラ122は、任意選択的に、デバイス100の他の構成要素によるメモリ102へのアクセスを制御する。
【0056】
周辺機器インタフェース118は、デバイスの入力及び出力周辺機器をCPU120及びメモリ102に結合するために使用することができる。1つ以上のプロセッサ120は、メモリ102に記憶された様々なソフトウェアプログラム及び/又は命令セットを動作させる、又は実行して、デバイス100のための様々な機能を実行し、データを処理する。いくつかの実施形態では、周辺機器インタフェース118、CPU120、及びメモリコントローラ122は、任意選択的に、チップ104などの単一のチップ上で実施される。いくつかの他の実施形態では、それらは別々のチップ上に任意選択的に実装される。
【0057】
RF(radio frequency)(無線周波数)回路108は、電磁信号とも呼ばれるRF信号を送受信する。RF回路108は、電気信号を電磁信号に、又は電磁信号を電気信号に変換し、電磁信号を介して通信ネットワーク及び他の通信デバイスと通信する。RF回路108は、任意選択的に、これらの機能を実行するための周知の回路を含み、それらの回路としては、限定するものではないが、アンテナシステム、RF送受信機、1つ以上の増幅器、同調器、1つ以上の発振器、デジタル信号プロセッサ、CODECチップセット、加入者識別モジュール(subscriber identity module、SIM)カード、メモリなどが挙げられる。RF回路108は、任意選択的に、ワールドワイドウェブ(World Wide Web、WWW)とも呼ばれるインターネット、イントラネット、並びに/又はセルラー電話ネットワーク、無線ローカルエリアネットワーク(local area network、LAN)及び/若しくはメトロポリタンエリアネットワーク(metropolitan area network、MAN)などの無線ネットワークなどのネットワークと、また他のデバイスと、無線通信によって通信する。RF回路108は、任意選択的に、短距離通信無線機などによって近距離通信(near field communication、NFC)フィールドを検出するよく知られている回路を含む。無線通信は、任意選択的に、それだけに限定されるものではないが、動き通信用のグローバルシステム(Global System for Mobile Communications、GSM)、拡張データGSM環境(Enhanced Data GSM Environment、EDGE)、高速ダウンリンクパケットアクセス(high-speed downlink packet access、HSDPA)、高速アップリンクパケットアクセス(high-speed uplink packet access、HSUPA)、エボリューションデータオンリ(Evolution, Data-Only、EV-DO)、HSPA、HSPA+、デュアルセルHSPA(Dual-Cell HSPA、DC-HSPDA)、ロングタームエボリューション(long term evolution、LTE)、近距離通信(NFC)、広帯域符号分割多元接続(wideband code division multiple access、W-CDMA)、符号分割多元接続(code division multiple access、CDMA)、時分割多元接続(time division multiple access、TDMA)、Bluetooth(登録商標)、Bluetoothローエネルギー(Bluetooth Low Energy、BTLE(登録商標))、ワイヤレスフィデリティ(Wireless Fidelity、Wi-Fi(登録商標))(例えば、IEEE 802.11a、IEEE 802.11b、IEEE 802.11g、IEEE 802.11n、及び/若しくはIEEE 802.11ac)、ボイスオーバインターネットプロトコル(voice over Internet Protocol、VoIP)、Wi-MAX(登録商標)、電子メール用プロトコル(例えば、インターネットメッセージアクセスプロトコル(Internet message access protocol、IMAP)及び/若しくはポストオフィスプロトコル(post office protocol、POP))、インスタントメッセージング(例えば、拡張可能なメッセージング及びプレゼンスプロトコル(extensible messaging and presence protocol、XMPP)、インスタントメッセージング及びプレゼンスレベレイジングエクステンションのためのセッション開始プロトコル(Session Initiation Protocol for Instant Messaging and Presence Leveraging Extensions、SIMPLE)、インスタントメッセージング及びプレゼンスサービス(Instant Messaging and Presence Service、IMPS))、並びに/若しくはショートメッセージサービス(Short Message Service、SMS)、又は本明細書の出願日の時点でまだ開発されていない通信プロトコルを含む任意の他の適した通信プロトコルを含む、複数の通信規格、プロトコル、及び技術のうちのいずれかを使用する。
【0058】
オーディオ回路110、スピーカ111、及びマイクロフォン113は、ユーザとデバイス100との間のオーディオインタフェースを提供する。オーディオ回路110は、周辺機器インタフェース118からオーディオデータを受信し、このオーディオデータを電気信号に変換し、この電気信号をスピーカ111に伝送する。スピーカ111は、電気信号を人間の可聴音波に変換する。また、オーディオ回路110は、マイクロフォン113によって音波から変換された電気信号を受信する。オーディオ回路110は、電気信号をオーディオデータに変換し、このオーディオデータを処理のために周辺機器インタフェース118に伝送する。オーディオデータは、任意選択的に、周辺機器インタフェース118によって、メモリ102及び/若しくはRF回路108から取得され、かつ/又はメモリ102及び/若しくはRF回路108に伝送される。いくつかの実施形態では、オーディオ回路110はまた、ヘッドセットジャック(例えば、
図2の212)を含む。ヘッドセットジャックは、オーディオ回路110と、出力専用ヘッドホン又は出力(例えば片耳又は両耳用のヘッドホン)及び入力(例えばマイクロフォン)の両方を有するヘッドセットなどの着脱可能なオーディオ入出力周辺機器との間のインタフェースを提供する。
【0059】
I/Oサブシステム106は、タッチスクリーン112及び他の入力コントロールデバイス116などのデバイス100上の入出力周辺機器を、周辺機器インタフェース118に結合する。I/Oサブシステム106は、任意選択的に、ディスプレイコントローラ156、光センサコントローラ158、強度センサコントローラ159、触覚フィードバックコントローラ161、及び他の入力若しくは制御デバイスのための1つ以上の入力コントローラ160を含む。1つ以上の入力コントローラ160は、他の入力コントロールデバイス116からの電気信号の受信/他の入力コントロールデバイス116への電気信号の送信を行う。他の入力コントロールデバイス116は、任意選択的に、物理ボタン(例えば、プッシュボタン、ロッカボタンなど)、ダイヤル、スライダスイッチ、ジョイスティック、クリックホイールなどを含む。いくつかの代替実施形態では、入力コントローラ160は、任意選択的に、キーボード、赤外線ポート、USBポート、及びマウスなどのポインタデバイスのうちのいずれかに結合される(又はいずれにも結合されない)。1つ以上のボタン(例えば、
図2の208)は、任意選択的に、スピーカ111及び/又はマイクロフォン113の音量コントロールのための上下ボタンを含む。1つ以上のボタンは、任意選択的に、プッシュボタン(例えば、
図2の206)を含む。
【0060】
全体として参照により本明細書に組み込まれている、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つ以上のソフトキーボードを実施するために使用される。
【0061】
タッチ感知ディスプレイ112は、デバイスとユーザとの間の入力インタフェース及び出力インタフェースを提供する。ディスプレイコントローラ156は、タッチスクリーン112からの電気信号の受信及び/又はタッチスクリーン112への電気信号の送信を行う。タッチスクリーン112は、ユーザに対して視覚出力を表示する。この視覚出力は、グラフィック、テキスト、アイコン、ビデオ、及びそれらの任意の組合せ(総称して「グラフィック」)を任意選択的に含む。いくつかの実施形態では、視覚出力の一部又はすべては、任意選択的に、ユーザインタフェースオブジェクトに対応する。
【0062】
タッチスクリーン112は、触覚及び/又は触知接触に基づいてユーザからの入力を受信するタッチ感知面、センサ、又は1組のセンサを有する。タッチスクリーン112及びディスプレイコントローラ156は(あらゆる関連モジュール及び/又はメモリ102内の命令セットとともに)、タッチスクリーン112上の接触(及び接触のあらゆる動き又は中断)を検出し、検出した接触を、タッチスクリーン112上に表示されるユーザインタフェースオブジェクトとの対話(例えば、1つ以上のソフトキー、アイコン、ウェブページ、又は画像)に変換する。例示的な実施形態では、タッチスクリーン112とユーザとの間の接触点は、ユーザの指に対応する。
【0063】
タッチスクリーン112は、任意選択的に、LCD(液晶ディスプレイ)技術、LPD(発光ポリマーディスプレイ)技術、又はLED(発光ダイオード)技術を使用するが、他の実施形態では、他のディスプレイ技術も使用される。タッチスクリーン112及びディスプレイコントローラ156は、任意選択的に、それだけに限定されるものではないが、容量性、抵抗性、赤外線、及び表面音波の技術、並びにタッチスクリーン112との1つ以上の接触点を判定する他の近接センサアレイ又は他の要素を含む、現在知られている又は今後開発される複数のタッチ感知技術のうちのいずれかを使用して、接触及びそのあらゆる動き又は中断を検出する。例示的な実施形態では、カリフォルニア州クパチーノのApple Inc.からのiPhone(登録商標)及びiPod Touch(登録商標)に見られるものなどの、投影型相互静電容量感知技術が使用される。
【0064】
タッチスクリーン112のいくつかの実施形態におけるタッチ感知ディスプレイは、任意選択的に、それぞれ全体として参照により本明細書に組み込まれている、米国特許第6,323,846号(Westermanら)、第6,570,557号(Westermanら)、及び/若しくは第6,677,932号(Westerman)、並びに/又は米国特許公報第2002/0015024A1号という米国特許に記載されているマルチタッチ感知タッチパッドに類似している。しかしながら、タッチスクリーン112はデバイス100からの視覚出力を表示するのに対して、タッチ感知タッチパッドは視覚出力を提供しない。
【0065】
タッチスクリーン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」という出願に記載されている。これらの出願はすべて、全体として参照により本明細書に組み込まれている。
【0066】
タッチスクリーン112は、任意選択的に、100dpiを超えるビデオ解像度を有する。いくつかの実施形態では、タッチスクリーンは、約160dpiのビデオ解像度を有する。ユーザは、任意選択的に、スタイラス、指などの任意の適した物体又は付属物を使用して、タッチスクリーン112に接触する。いくつかの実施形態では、ユーザインタフェースは、指ベースの接触及びジェスチャを主に扱うように設計されるが、これは、タッチスクリーン上の指の接触面積がより大きいため、スタイラスベースの入力ほど精密でない可能性がある。いくつかの実施形態では、デバイスは、指に基づく粗い入力を、ユーザによって所望されているアクションを実行するための、正確なポインタ/カーソルの位置又はコマンドに変換する。
【0067】
いくつかの実施形態では、タッチスクリーンに加えて、デバイス100は、任意選択的に、特定の機能をアクティブ化又は非アクティブ化するためのタッチパッド(図示せず)を含む。いくつかの実施形態では、タッチパッドは、タッチスクリーンとは異なり、視覚出力を表示しない、デバイスのタッチ感知エリアである。タッチパッドは、任意選択的に、タッチスクリーン112又はタッチスクリーンによって形成されるタッチ感知面の拡張部とは別個のタッチ感知面である。
【0068】
デバイス100は、また、様々なコンポーネントに電力を供給する電力システム162を含む。電力システム162は、任意選択的に、電力管理システム、1つ以上の電源(例えば、バッテリ、交流(AC))、再充電システム、停電検出回路、電力コンバータ又はインバータ、電力状態インジケータ(例えば、発光ダイオード(LED))、並びにポータブルデバイス内での電力の生成、管理、及び分配に関連付けられた任意の他の構成要素を含む。
【0069】
また、デバイス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が、タッチスクリーンディスプレイとともに、テレビ会議にも静止画像及び/又はビデオ画像の取得にも使用される。
【0070】
また、デバイス100は、任意選択的に、1つ以上の接触強度センサ165を含む。
図1Aは、I/Oサブシステム106内の強度センサコントローラ159に結合された接触強度センサを示す。接触強度センサ165は、任意選択的に、1つ以上のピエゾ抵抗ひずみゲージ、容量性力センサ、電気力センサ、圧電力センサ、光学力センサ、容量性タッチ感知面、又は他の強度センサ(例えば、タッチ感知面上の接触の力(若しくは圧力)を測定するために使用されるセンサ)を含む。接触強度センサ165は、接触強度情報(例えば、圧力情報又は圧力情報に対するプロキシ)を環境から受信する。いくつかの実施形態では、少なくとも1つの接触強度センサは、タッチ感知面(例えばタッチ感知ディスプレイシステム112)と並置される、又はそれに近接している。いくつかの実施形態では、少なくとも1つの接触強度センサは、デバイス100の前面に位置するタッチスクリーンディスプレイ112とは反対に、デバイス100の裏面に位置する。
【0071】
また、デバイス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をオフにして無効化する。
【0072】
また、デバイス100は、任意選択的に、1つ以上の触知出力生成器167を含む。
図1Aは、I/Oサブシステム106内の触覚フィードバックコントローラ161に結合された触知出力生成器を示す。触知出力生成器167は、任意選択的に、スピーカ若しくは他のオーディオ構成要素などの1つ以上の電気音響デバイス、及び/又はモータ、ソレノイド、電気活性ポリマー、圧電アクチュエータ、静電アクチュエータ、若しくは他の触知出力生成構成要素(例えば、デバイス上で電気信号を触知出力に変換する構成要素)などのエネルギを直線の動きに変換する電気機械デバイスを含む。接触強度センサ165は、触覚フィードバックモジュール133から触知フィードバック生成命令を受信し、デバイス100のユーザが感知することが可能な触知出力をデバイス100上に生成する。いくつかの実施形態では、少なくとも1つの触知出力生成器は、タッチ感知面(例えば、タッチ感知ディスプレイシステム112)に配置されているか、又はそれに近接しており、任意選択的に、タッチ感知面を垂直方向(例えば、デバイス100の表面の内/外)に、又は水平方向(例えば、デバイス100の表面と同じ平面内の前後)に動かすことによって、触知出力を生成する。いくつかの実施形態では、少なくとも1つの触知出力生成器センサは、デバイス100の前面に位置するタッチスクリーンディスプレイ112とは反対に、デバイス100の裏面に位置する。
【0073】
また、デバイス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又は他のグローバルナビゲーションシステム)受信機(図示せず)を含む。
【0074】
いくつかの実施形態では、メモリ102内に記憶されているソフトウェア構成要素は、オペレーティングシステム126、通信モジュール(又は命令セット)128、接触/動きモジュール(又は命令セット)130、グラフィックモジュール(又は命令セット)132、テキスト入力モジュール(又は命令セット)134、全地球測位システム(Global Positioning System、GPS)モジュール(又は命令セット)135、及びアプリケーション(又は命令セット)136を含む。更に、いくつかの実施形態では、メモリ102(
図1A)又は370(
図3)は、
図1A及び
図3に示すように、デバイス/グローバル内部状態157を記憶する。デバイス/グローバル内部状態157は、現在アクティブ状態のアプリケーションがある場合に、どのアプリケーションがアクティブであるかを示す、アクティブアプリケーション状態、どのアプリケーション、ビュー、又は他の情報がタッチスクリーンディスプレイ112の様々な領域を占有しているかを示すディスプレイ状態、デバイスの様々なセンサ及び入力コントロールデバイス116から入手した情報を含むセンサ状態、並びにデバイスの場所及び/又は姿勢に関する場所情報のうちの1つ以上を含む。
【0075】
オペレーティングシステム126(例えば、Darwin(登録商標)、RTXC(登録商標)、LINUX(登録商標)、UNIX(登録商標)、OS X(登録商標)、iOS(登録商標)、WINDOWS(登録商標)、又はVxWorks(登録商標)などの組み込み型オペレーティングシステム)は、通常のシステムタスク(例えば、メモリ管理、記憶デバイスの制御、電力管理など)を制御及び管理する様々なソフトウェア構成要素及び/又はドライバを含み、様々なハードウェアとソフトウェア構成要素との間の通信を容易にする。
【0076】
通信モジュール128は、1つ以上の外部ポート124を介して他のデバイスとの通信を容易にし、RF回路108及び/又は外部ポート124が受信したデータを処理するための様々なソフトウェア構成要素をも含む。外部ポート124(例えばユニバーサルシリアルバス(Universal Serial Bus、USB)、FIREWIRE(登録商標)など)は、直接的に、又はネットワーク(例えばインターネット、無線LANなど)を介して間接的に、他のデバイスに連結するように適合されている。いくつかの実施形態では、外部ポートは、iPod(登録商標)(Apple Inc.の商標)デバイス上で使用される30ピンコネクタと同じ若しくは類似であり、かつ/又はそれに適合しているマルチピン(例えば、30ピン)コネクタである。
【0077】
接触/動きモジュール130は、任意選択的に、タッチスクリーン112(ディスプレイコントローラ156と連動して)及び他のタッチ感知デバイス(例えば、タッチパッド又は物理クリックホイール)との接触を検出する。接触/動きモジュール130は、接触が生じたかを判定すること(例えば、指を下ろすイベントを検出すること)、接触の強度(例えば、接触の力若しくは圧力、又は接触の力若しくは圧力の代替物)を判定すること、接触の移動が存在するかを判定し、タッチ感知面を横断する移動を追跡すること(例えば、指をドラッグする1つ以上のイベントを検出すること)、及び接触が停止したかを判定すること(例えば、指を上げるイベント又は接触の中断を検出すること)などの、接触の検出に関する様々な動作を実行する、様々なソフトウェア構成要素を含む。接触/動きモジュール130は、タッチ感知面から接触データを受信する。一連の接触データによって表される、接触点の移動を判定することは、任意選択的に、接触点の速さ(大きさ)、速度(大きさ及び方向)、及び/又は加速度(大きさ及び/又は方向の変化)を判定することを含む。これらの動作は、任意選択的に、単一の接触(例えば、1本の指の接触)又は複数の同時接触(例えば、「マルチタッチ」/複数の指の接触)に適用される。いくつかの実施形態では、接触/動きモジュール130及びディスプレイコントローラ156は、タッチパッド上の接触を検出する。
【0078】
いくつかの実施形態では、接触/動きモジュール130は、1つ以上の強度閾値のセットを使用して、ユーザによって操作が実行されたかどうかを判定する(例えば、ユーザがアイコン上で「クリック」したかどうかを判定する)。いくつかの実施形態では、強度閾値の少なくとも1つのサブセットが、ソフトウェアパラメータに従って判定される(例えば、強度閾値は、特定の物理アクチュエータのアクティブ化閾値によって判定されるのではなく、デバイス100の物理ハードウェアを変化させることなく調整することができる)。例えば、トラックパッド又はタッチスクリーンディスプレイのマウス「クリック」閾値は、トラックパッド又はタッチスクリーンディスプレイハードウェアを変化させることなく、広範囲の所定の閾値のうちのいずれかに設定することができる。加えて、いくつかの実装形態では、デバイスのユーザは、1組の強度閾値の1つ以上を調整するソフトウェア設定が提供される(例えば、システムレベルのクリック「強度」パラメータによって、個々の強度閾値を調整すること、及び/又は複数の強度閾値を一度に調整することによる)。
【0079】
接触/動きモジュール130は、任意選択的に、ユーザによるジェスチャ入力を検出する。タッチ感知面上の異なるジェスチャは、異なる接触パターンを有する(例えば検出される接触の動き、タイミング、及び/又は強度が異なる)。したがって、ジェスチャは、任意選択的に、特定の接触パターンを検出することによって検出される。例えば、指タップジェスチャを検出することは、指ダウンイベントを検出し、それに続いて指ダウンイベントと同じ位置(又は実質上同じ位置)(例えば、アイコンの位置)で指アップ(リフトオフ)イベントを検出することを含む。別の例として、タッチ感知面上で指スワイプジェスチャを検出することは、指ダウンイベントを検出し、それに続いて1つ以上の指ドラッグイベントを検出し、その後それに続いて指アップ(リフトオフ)イベントを検出することを含む。
【0080】
グラフィックモジュール132は、表示されるグラフィックの視覚的な影響(例えば、輝度、透明度、彩度、コントラスト、又は他の視覚的特性)を変化させる構成要素を含めて、タッチスクリーン112又は他のディスプレイ上にグラフィックをレンダリング及び表示する様々な知られているソフトウェア構成要素を含む。本明細書では、「グラフィック」という用語は、それだけに限定されるものではないが、文字、ウェブページ、アイコン(ソフトキーを含むユーザインタフェースオブジェクトなど)、デジタル画像、ビデオ、アニメーションなどを含む、ユーザに表示することができる任意のオブジェクトを含む。
【0081】
いくつかの実施形態では、グラフィックモジュール132は、使用されることになるグラフィックを表すデータを記憶する。各グラフィックには、任意選択的に、対応するコードが割り当てられる。グラフィックモジュール132は、アプリケーションなどから、必要に応じて、座標データ及び他のグラフィック特性データと共に、表示されることとなるグラフィックを指定する1つ以上のコードを受信し、次にディスプレイコントローラ156に出力するスクリーンの画像データを生成する。
【0082】
触覚フィードバックモジュール133は、デバイス100とのユーザ対話に応じて、デバイス100上の1つ以上の場所で触知出力を生成するために、触知出力生成器(単数又は複数)167によって使用される命令を生成するための、様々なソフトウェア構成要素を含む。
【0083】
テキスト入力モジュール134は、任意選択で、グラフィックモジュール132の構成要素であり、様々なアプリケーション(例えば、連絡先137、電子メール140、IM141、ブラウザ147、及びテキスト入力を必要とする任意の他のアプリケーション)でテキストを入力するためのソフトキーボードを提供する。
【0084】
GPSモジュール135は、デバイスの位置を判定し、この情報を様々なアプリケーションで使用するために(例えば、位置に基づくダイヤル発呼で使用するために電話138へ、画像/ビデオのメタデータとしてカメラ143へ、並びに、天気ウィジェット、地域のイエローページウィジェット、及び地図/ナビゲーションウィジェットなどの、位置に基づくサービスを提供するアプリケーションへ)提供する。
【0085】
アプリケーション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。
【0086】
任意選択的にメモリ102に記憶される他のアプリケーション136の例としては、他のワードプロセッシングアプリケーション、他の画像編集アプリケーション、描画アプリケーション、プレゼンテーションアプリケーション、JAVA(登録商標)対応アプリケーション、暗号化、デジタル著作権管理、音声認識、及び音声複製が挙げられる。
【0087】
タッチスクリーン112、ディスプレイコントローラ156、接触/動きモジュール130、グラフィックモジュール132、及びテキスト入力モジュール134と連動して、連絡先モジュール137は、任意選択的に、アドレス帳に名前(単数又は複数)を追加すること、アドレス帳から名前(単数又は複数)を削除すること、電話番号(単数又は複数)、電子メールアドレス(単数又は複数)、住所(単数又は複数)、又は他の情報を名前に関連付けること、画像を名前に関連付けること、名前を分類して並べ替えること、電話番号又は電子メールアドレスを提供して、電話138、テレビ会議モジュール139、電子メール140、又はIM141による通信を開始及び/又は促進することなどを含めて、アドレス帳又は連絡先リスト(例えば、メモリ102又はメモリ370内の連絡先モジュール137のアプリケーション内部状態192内に記憶される)を管理するために使用される。
【0088】
RF回路108、オーディオ回路110、スピーカ111、マイクロフォン113、タッチスクリーン112、ディスプレイコントローラ156、接触/動きモジュール130、グラフィックモジュール132、及びテキスト入力モジュール134と連動して、電話モジュール138は、任意選択的に、電話番号に対応する文字シーケンスの入力、連絡先モジュール137内の1つ以上の電話番号へのアクセス、入力された電話番号の修正、それぞれの電話番号のダイヤル、会話の実施、会話が終了したときの通話停止又はハングアップのために使用される。前述したように、無線通信は、任意選択的に、複数の通信規格、プロトコル、及び技術のうちのいずれかを使用する。
【0089】
RF回路108、オーディオ回路110、スピーカ111、マイクロフォン113、タッチスクリーン112、ディスプレイコントローラ156、光センサ164、光センサコントローラ158、接触/動きモジュール130、グラフィックモジュール132、テキスト入力モジュール134、連絡先モジュール137、及び電話モジュール138と連動して、テレビ会議モジュール139は、ユーザ命令に従ってユーザと1人以上の他の参加者との間のテレビ会議を開始、実行、及び終了するための実行可能な命令を含む。
【0090】
RF回路108、タッチスクリーン112、ディスプレイコントローラ156、接触/動きモジュール130、グラフィックモジュール132、及びテキスト入力モジュール134と連動して、電子メールクライアントモジュール140は、ユーザ命令に応じて電子メールを作成、送信、受信、及び管理するための実行可能な命令を含む。画像管理モジュール144と連動して、電子メールクライアントモジュール140は、カメラモジュール143で撮影された静止画像又はビデオ画像を有する電子メールの作成及び送信を非常に容易にする。
【0091】
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を使用して送信されるメッセージ)との両方を指す。
【0092】
RF回路108、タッチスクリーン112、ディスプレイコントローラ156、接触/動きモジュール130、グラフィックモジュール132、テキスト入力モジュール134、GPSモジュール135、地図モジュール154、及び音楽プレーヤモジュールと連動して、トレーニングサポートモジュール142は、トレーニング(例えば、時間、距離、及び/又はカロリー燃焼目標を有する)の作成、トレーニングセンサ(スポーツデバイス)との通信、トレーニングセンサデータの受信、トレーニングをモニタするために使用されるセンサの較正、トレーニングのための音楽の選択及び再生、並びに、トレーニングデータの表示、記憶、及び送信のための実行可能な命令を含む。
【0093】
タッチスクリーン112、ディスプレイコントローラ156、光センサ164、光センサコントローラ158、接触/動きモジュール130、グラフィックモジュール132、及び画像管理モジュール144と連動して、カメラモジュール143は、静止画像若しくはビデオ(ビデオストリームを含む)のキャプチャ及びメモリ102内への記憶、静止画像若しくはビデオの特性の修正、又はメモリ102からの静止画像若しくはビデオの削除のための実行可能な命令を含む。
【0094】
タッチスクリーン112、ディスプレイコントローラ156、接触/動きモジュール130、グラフィックモジュール132、テキスト入力モジュール134、及びカメラモジュール143と連動して、画像管理モジュール144は、静止画像及び/又はビデオ画像の配置、修正(例えば、編集)、あるいはその他の操作、ラベル付け、削除、提示(例えば、デジタルスライドショー又はアルバムにおける)、及び記憶のための実行可能な命令を含む。
【0095】
RF回路108、タッチスクリーン112、ディスプレイコントローラ156、接触/動きモジュール130、グラフィックモジュール132、及びテキスト入力モジュール134と連動して、ブラウザモジュール147は、ウェブページ又はその一部分、並びにウェブページにリンクされた添付ファイル及び他のファイルの検索、リンク、受信、及び表示を含めて、ユーザ命令に従ってインターネットをブラウジングするための実行可能な命令を含む。
【0096】
RF回路108、タッチスクリーン112、ディスプレイコントローラ156、接触/動きモジュール130、グラフィックモジュール132、テキスト入力モジュール134、電子メールクライアントモジュール140、及びブラウザモジュール147と連動して、カレンダモジュール148は、ユーザ命令に従ってカレンダ及びカレンダに関連付けられたデータ(例えば、カレンダ入力、やることリストなど)を作成、表示、修正、及び記憶するための実行可能な命令を含む。
【0097】
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!ウィジェット)を含む。
【0098】
RF回路108、タッチスクリーン112、ディスプレイコントローラ156、接触/動きモジュール130、グラフィックモジュール132、テキスト入力モジュール134、及びブラウザモジュール147と連動して、ウィジェットクリエータモジュール150は、任意選択的に、ウィジェットを作成する(例えば、ウェブページのユーザ指定部分をウィジェットにする)ために、ユーザによって使用される。
【0099】
タッチスクリーン112、ディスプレイコントローラ156、接触/動きモジュール130、グラフィックモジュール132、及びテキスト入力モジュール134と連動して、検索モジュール151は、ユーザ命令に従って1つ以上の検索基準(例えば、1つ以上のユーザ指定検索語)に一致するメモリ102内の文字、音楽、サウンド、画像、ビデオ、及び/又は他のファイルを検索するための実行可能な命令を含む。
【0100】
タッチスクリーン112、ディスプレイコントローラ156、接触/動きモジュール130、グラフィックモジュール132、オーディオ回路110、スピーカ111、RF回路108、及びブラウザモジュール147と連動して、ビデオ及び音楽プレーヤモジュール152は、ユーザがMP3若しくはAACファイルなどの1つ以上のファイル形式で記憶されている記録された音楽及び他のサウンドファイルをダウンロード及び再生することを可能にする実行可能な命令、並びにビデオを表示、提示、又は他の方法で(例えば、タッチスクリーン112上又は外部ポート124を介して接続された外部ディスプレイ上に)再生するための実行可能な命令を含む。いくつかの実施形態では、デバイス100は、任意選択的に、iPod(Apple社の商標)などのMP3プレーヤの機能を含む。
【0101】
タッチスクリーン112、ディスプレイコントローラ156、接触/動きモジュール130、グラフィックモジュール132、及びテキスト入力モジュール134と連動して、メモモジュール153は、ユーザ命令に従ってメモ、やることリストなどを作成及び管理するための実行可能な命令を含む。
【0102】
RF回路108、タッチスクリーン112、ディスプレイコントローラ156、接触/動きモジュール130、グラフィックモジュール132、テキスト入力モジュール134、GPSモジュール135、及びブラウザモジュール147と連動して、地図モジュール154は、任意選択的に、ユーザ命令に従って、地図及び地図に関連付けられたデータ(例えば、運転方向、特定の場所又はその付近の店舗及び他の対象地点に関するデータ、並びに他の場所ベースのデータ)を受信、表示、修正、及び記憶するために使用される。
【0103】
タッチスクリーン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」において見ることができる。
【0104】
上記で特定したモジュール及びアプリケーションはそれぞれ、前述した1つ以上の機能及び本出願に記載する方法(例えば、本明細書に記載するコンピュータにより実施される方法及び他の情報処理方法)を実行する1組の実行可能な命令に対応する。これらのモジュール(例えば、命令セット)は、別個のソフトウェアプログラム、手順、又はモジュールとして実施する必要はなく、したがって、様々な実施形態において、これらのモジュールの様々なサブセットが、任意選択的に、組み合わされ、又は他の形で再構成される。例えば、ビデオプレーヤモジュールは、任意選択的に、音楽プレーヤモジュールと組み合わされて、単一のモジュール(例えば、
図1Aのビデオ及び音楽プレーヤモジュール152)にされる。いくつかの実施形態では、メモリ102は、任意選択的に、上記で特定したモジュール及びデータ構造のサブセットを記憶する。更に、メモリ102は、上記で説明されていない追加のモジュール及びデータ構造を任意選択的に記憶する。
【0105】
いくつかの実施形態では、デバイス100は、そのデバイスにおける所定の機能のセットの動作がタッチスクリーン及び/又はタッチパッドのみを通じて実行されるデバイスである。デバイス100が動作するための主要な入力コントロールデバイスとしてタッチスクリーン及び/又はタッチパッドを使用することにより、任意選択的に、デバイス100上の物理的な入力コントロールデバイス(プッシュボタン、ダイヤルなど)の数が削減される。
【0106】
タッチスクリーン及び/又はタッチパッドを通じてのみ実行される所定の機能のセットは、任意選択的に、ユーザインタフェース間のナビゲーションを含む。いくつかの実施形態では、タッチパッドは、ユーザによってタッチされたときに、デバイス100上に表示される任意のユーザインタフェースから、メインメニュー、ホームメニュー、又はルートメニューにデバイス100をナビゲートする。このような実施形態では、「メニューボタン」は、タッチパッドを使用して実装される。いくつかの他の実施形態では、メニューボタンは、タッチパッドではなく、物理プッシュボタン又はその他の物理入力コントロールデバイスである。
【0107】
図1Bは、いくつかの実施形態によるイベント処理のための例示的な構成要素を示すブロック図である。いくつかの実施形態では、メモリ102(
図1A)又は370(
図3)は、イベントソータ170(例えば、オペレーティングシステム126内)と、それぞれのアプリケーション136-1(例えば、前述のアプリケーション137~151、155、380~390のうちのいずれか)とを含む。
【0108】
イベントソータ170は、イベント情報を受信し、イベント情報が配信されるアプリケーション136-1及びアプリケーション136-1のアプリケーションビュー191を判定する。イベントソータ170は、イベントモニタ171及びイベントディスパッチャモジュール174を含む。いくつかの実施形態では、アプリケーション136-1は、アプリケーションがアクティブ又は実行中であるときにタッチ感知ディスプレイ112上に表示される現在のアプリケーションビューを示すアプリケーション内部状態192を含む。いくつかの実施形態では、デバイス/グローバル内部状態157は、どのアプリケーション(単数又は複数)が現在アクティブであるかを判定するためにイベントソータ170によって使用され、アプリケーション内部状態192は、イベント情報が配信されるアプリケーションビュー191を決定するためにイベントソータ170によって使用される。
【0109】
いくつかの実施形態では、アプリケーション内部状態192は、アプリケーション136-1が実行を再開するときに使用される再開情報、アプリケーション136-1によって表示されている又は表示される準備ができている情報を示すユーザインタフェース状態情報、ユーザがアプリケーション136-1の以前の状態又はビューに戻ることを可能にする状態待ち行列、及びユーザが行った以前のアクションのリドゥ/アンドゥ待ち行列のうちの1つ以上などの追加の情報を含む。
【0110】
イベントモニタ171は、周辺機器インタフェース118からイベント情報を受信する。イベント情報は、サブイベント(例えば、マルチタッチジェスチャの一部としてのタッチ感知ディスプレイ112上のユーザタッチ)に関する情報を含む。周辺機器インタフェース118は、I/Oサブシステム106、又は近接センサ166、加速度計(単数又は複数)168、及び/若しくは(オーディオ回路110を介した)マイクロフォン113などのセンサから受信する情報を伝送する。周辺機器インタフェース118がI/Oサブシステム106から受信する情報は、タッチ感知ディスプレイ112又はタッチ感知面からの情報を含む。
【0111】
いくつかの実施形態では、イベントモニタ171は、所定の間隔で周辺機器インタフェース118に要求を送信する。これに応じて、周辺機器インタフェース118は、イベント情報を伝送する。他の実施形態では、周辺機器インタフェース118は、重要なイベント(例えば、所定のノイズ閾値を上回る及び/又は所定の持続時間を超える入力の受信)があるときのみイベント情報を送信する。
【0112】
いくつかの実施形態では、イベントソータ170はまた、ヒットビュー判定モジュール172及び/又はアクティブイベント認識部判定モジュール173を含む。
【0113】
ヒットビュー判定モジュール172は、タッチ感知ディスプレイ112が2つ以上のビューを表示するとき、サブイベントが1つ以上のビュー内のどこで行われたかを判定するソフトウェア手順を提供する。ビューは、ユーザがディスプレイ上で見ることができる制御装置及び他の要素から構成されている。
【0114】
アプリケーションに関連付けられたユーザインタフェースの別の態様は、本明細書ではアプリケーションビュー又はユーザインタフェースウィンドウと呼ばれることもあるビューのセットであり、その中で情報が表示され、タッチに基づくジェスチャが生じる。タッチが検出される(それぞれのアプリケーションの)アプリケーションビューは、任意選択的に、アプリケーションのプログラム階層又はビュー階層内のプログラムレベルに対応する。例えば、タッチが検出される最下位レベルビューは、任意選択的に、ヒットビューと呼ばれ、また、適切な入力として認識されるイベントのセットは、任意選択的に、タッチによるジェスチャを開始する初期タッチのヒットビューに少なくとも部分的に基づいて決定される。
【0115】
ヒットビュー判定モジュール172は、タッチに基づくジェスチャのサブイベントに関連する情報を受信する。アプリケーションが階層状に構成された複数のビューを有するときには、ヒットビュー判定モジュール172は、サブイベントを処理すべき階層内の最下位のビューとして、ヒットビューを特定する。ほとんどの状況では、ヒットビューは、開始サブイベント(例えば、イベント又は潜在的イベントを形成するサブイベントシーケンス内の第1のサブイベント)が行われる最も低いレベルのビューである。ヒットビューがヒットビュー判定モジュール172によって特定された後、このヒットビューは、典型的には、ヒットビューとして特定されたのと同じタッチ又は入力ソースに関係するすべてのサブイベントを受信する。
【0116】
アクティブイベント認識部判定モジュール173は、ビュー階層内のどのビュー(単数又は複数)がサブイベントの特定のシーケンスを受信すべきかを判定する。いくつかの実施形態では、アクティブイベント認識部判定モジュール173は、ヒットビューのみがサブイベントの特定のシーケンスを受信すべきであると判定する。他の実施形態では、アクティブイベント認識部判定モジュール173は、サブイベントの物理位置を含むすべてのビューがアクティブに関わりがあるビューであると判定し、したがって、すべてのアクティブに関わりがあるビューが、サブイベントの特定のシーケンスを受信すべきであると判定する。他の実施形態では、タッチサブイベントが1つの特定のビューに関連するエリアに完全に限定された場合でも、階層内の上位のビューは、依然としてアクティブに関わりがあるビューであり続ける。
【0117】
イベントディスパッチャモジュール174は、イベント情報をイベント認識部(例えばイベント認識部180)にディスパッチする。アクティブイベント認識部判定モジュール173を含む実施形態において、イベントディスパッチャモジュール174は、アクティブイベント認識部判定モジュール173により判定されたイベント認識部にイベント情報を配信する。いくつかの実施形態では、イベントディスパッチャモジュール174は、それぞれのイベント受信部182によって取得されるイベント情報をイベント待ち行列に記憶する。
【0118】
いくつかの実施形態では、オペレーティングシステム126は、イベントソータ170を含む。代替として、アプリケーション136-1がイベントソータ170を含む。更に他の実施形態では、イベントソータ170は、独立型のモジュール、又は接触/動きモジュール130などの、メモリ102に記憶された別のモジュールの一部である。
【0119】
いくつかの実施形態では、アプリケーション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に含まれる。
【0120】
それぞれのイベント認識部180は、イベントソータ170からイベント情報(例えば、イベントデータ179)を受信し、このイベント情報からイベントを特定する。イベント認識部180は、イベント受信部182及びイベント比較部184を含む。いくつかの実施形態では、イベント認識部180はまた、メタデータ183及びイベント配信命令188(任意選択的にサブイベント配信命令を含む)の少なくともサブセットも含む。
【0121】
イベント受信部182は、イベントソータ170からイベント情報を受信する。イベント情報は、サブイベントについての情報、例えば、タッチ又はタッチの移動についての情報を含む。サブイベントに応じて、イベント情報はまた、サブイベントの位置などの追加の情報を含む。サブイベントがタッチの動きに関わるとき、イベント情報はまた任意選択的に、サブイベントの速さ及び方向を含む。いくつかの実施形態では、イベントは、1つの向きから別の向きへの(例えば、縦向きから横向きへ、又はその逆の)デバイスの回転を含み、イベント情報は、デバイスの現在の向き(デバイスの姿勢とも呼ぶ)についての対応する情報を含む。
【0122】
イベント比較部184は、イベント情報を、定義済みのイベント又はサブイベントの定義と比較し、その比較に基づいて、イベント又はサブイベントを判定するか、あるいはイベント又はサブイベントの状態を判定若しくは更新する。いくつかの実施形態では、イベント比較部184は、イベント定義186を含む。イベント定義186は、例えばイベント1(187-1)及びイベント2(187-2)などのイベント(例えば所定のサブイベントのシーケンス)の定義を含む。いくつかの実施形態では、イベント(187)内のサブイベントは、例えば、タッチの開始、タッチの終了、タッチの動き、タッチの取り消し、及び複数のタッチを含む。一例では、イベント1(187-1)についての定義は、表示されたオブジェクト上のダブルタップである。ダブルタップは、例えば、所定の段階に対する表示オブジェクト上の第1のタッチ(タッチ開始)、所定の段階に対する第1のリフトオフ(タッチ終了)、所定の段階に対する表示オブジェクト上の第2のタッチ(タッチ開始)、及び所定の段階に対する第2のリフトオフ(タッチ終了)を含む。別の例では、イベント2(187-2)の定義は、表示されたオブジェクト上のドラッグである。ドラッグは、例えば、所定の段階に対する表示オブジェクトのタッチ(又は接触)、タッチ感知ディスプレイ112におけるタッチの動き、及びタッチのリフトオフ(タッチ終了)を含む。いくつかの実施形態では、イベントはまた、1つ以上の関連付けられたイベントハンドラ190に関する情報を含む。
【0123】
いくつかの実施形態では、イベント定義187は、それぞれのユーザインタフェースオブジェクトについてのイベントの定義を含む。いくつかの実施形態では、イベント比較部184は、どのユーザインタフェースオブジェクトがサブイベントに関連付けられているかを判定するヒットテストを実行する。例えば、タッチ感知ディスプレイ112上に、3つのユーザインタフェースオブジェクトが表示されているアプリケーションビューでは、タッチ感知ディスプレイ112上でタッチが検出されると、イベント比較部184は、3つのユーザインタフェースオブジェクトのうちのいずれが、そのタッチ(サブイベント)と関連付けられているかを判定するために、ヒットテストを実行する。表示された各オブジェクトが、対応するイベントハンドラ190に関連付けられている場合、イベント比較部は、ヒットテストの結果を用いて、どのイベントハンドラ190をアクティブ化すべきかを判定する。例えば、イベント比較部184は、ヒットテストをトリガするサブイベント及びオブジェクトと関連付けられたイベントハンドラを選択する。
【0124】
いくつかの実施形態では、それぞれのイベント(187)に対する定義はまた、サブイベントシーケンスがイベント認識部のイベントタイプに対応するか否かが判定される後までイベント情報の伝送を遅延する遅延アクションを含む。
【0125】
それぞれのイベント認識部180が一連のサブイベントがイベント定義186のいずれのイベントとも一致しないと判断した場合には、それぞれのイベント認識部180は、イベント不可能、イベント失敗、又はイベント終了の状態になり、その後は、タッチによるジェスチャの後続のサブイベントを無視する。この状況では、ヒットビューについてアクティブのままである他のイベント認識部があれば、そのイベント認識部は、進行中のタッチによるジェスチャのサブイベントの追跡及び処理を続行する。
【0126】
いくつかの実施形態では、対応するイベント認識部180は、イベント配信システムがどのようにサブイベント配信を実行すべきかをアクティブに関与しているイベント認識部に示す構成可能なプロパティ、フラグ、及び/又はリストを有するメタデータ183を含む。いくつかの実施形態では、メタデータ183は、イベント認識部が互いにどのように対話するか、又はイベント認識部が互いにどのように対話することができるようになっているかを示す構成可能なプロパティ、フラグ、及び/又はリストを含む。いくつかの実施形態では、メタデータ183は、サブイベントがビュー階層又はプログラム階層における多様なレベルに配信されるかを示す構成可能なプロパティ、フラグ、及び/又はリストを含む。
【0127】
いくつかの実施形態では、それぞれのイベント認識部180は、イベントの1つ以上の特定のサブイベントが認識されるときに、イベントと関連付けられたイベントハンドラ190をアクティブ化する。いくつかの実施形態では、それぞれのイベント認識部180は、イベントと関連付けられたイベント情報をイベントハンドラ190に配信する。イベントハンドラ190をアクティブ化することは、それぞれのヒットビューにサブイベントを送信する(及び、送信を延期する)こととは別個である。いくつかの実施形態では、イベント認識部180は、認識したイベントと関連付けられたフラグを投入し、そのフラグと関連付けられたイベントハンドラ190は、そのフラグを捕らえ、既定のプロセスを実行する。
【0128】
いくつかの実施形態では、イベント配信命令188は、イベントハンドラをアクティブ化することなくサブイベントについてのイベント情報を配信するサブイベント配信命令を含む。代わりに、サブイベント配信命令は、一連のサブイベントと関連付けられたイベントハンドラに、又はアクティブに関与しているビューにイベント情報を配信する。一連のサブイベント又はアクティブに関与しているビューと関連付けられたイベントハンドラは、イベント情報を受信し、所定の処理を実行する。
【0129】
いくつかの実施形態では、データアップデータ176は、アプリケーション136-1で使用されるデータを作成及び更新する。例えば、データアップデータ176は、連絡先モジュール137で使用される電話番号を更新する、又はビデオプレーヤモジュールで使用されるビデオファイルを記憶する。いくつかの実施形態では、オブジェクトアップデータ177は、アプリケーション136-1で使用されるオブジェクトを作成及び更新する。例えば、オブジェクトアップデータ177は、新たなユーザインタフェースオブジェクトを作成するか、又はユーザインタフェースオブジェクトの位置を更新する。GUIアップデータ178は、GUIを更新する。例えば、GUIアップデータ178は、表示情報を準備し、タッチ感知ディスプレイ上に表示するために表示情報をグラフィックモジュール132に送る。
【0130】
いくつかの実施形態では、イベントハンドラ(単数又は複数)190は、データアップデータ176、オブジェクトアップデータ177、及びGUIアップデータ178を含むか又はそれらへのアクセスを有する。いくつかの実施形態では、データアップデータ176、オブジェクトアップデータ177、及びGUIアップデータ178は、それぞれのアプリケーション136-1又はアプリケーションビュー191の単一モジュールに含まれる。他の実施形態では、それらは、2つ以上のソフトウェアモジュールに含まれる。
【0131】
タッチ感知ディスプレイ上のユーザタッチのイベント処理に関する上記の論考は、入力デバイスを有する多機能デバイス100を動作させるためのユーザ入力の他の形態にも当てはまり、それらのユーザ入力は、必ずしもすべてがタッチスクリーン上で開始されるとは限らないことが理解されよう。例えば、キーボードの単一又は複数の押圧若しくは保持と任意選択的に連携される、マウスの移動及びマウスボタンの押圧、タッチパッド上のタップ、ドラッグ、スクロールなどの接触の動き、ペンスタイラス入力、デバイスの移動、口頭による命令、検出された目の動き、バイオメトリック入力、並びに/又はそれらの任意の組合せを、任意選択的に、認識するイベントを定義するサブイベントに対応する入力として利用する。
【0132】
図2は、いくつかの実施形態によるタッチスクリーン112を有するポータブル多機能デバイス100を示す。タッチスクリーンは、任意選択的に、ユーザインタフェース(user interface、UI)200内に1つ以上のグラフィックを表示する。本実施形態、並びに以下で説明される他の実施形態では、ユーザは、例えば、1本以上の指202(図には正確な縮尺では描かれていない)又は1つ以上のスタイラス203(図には正確な縮尺では描かれていない)を使用して、グラフィック上でジェスチャを実施することによって、それらのグラフィックのうちの1つ以上を選択することが可能となる。いくつかの実施形態では、1つ以上のグラフィックの選択は、ユーザが、その1つ以上のグラフィックとの接触を中断する場合に実施される。いくつかの実施形態では、ジェスチャは、任意選択的に、1つ以上のタップ、1つ以上のスワイプ(左から右、右から左、上向き、及び/若しくは下向き)、並びに/又はデバイス100と接触した指のロール(右から左、左から右、上向き、及び/若しくは下向き)を含む。いくつかの実装形態又は状況では、グラフィックとの不測の接触は、そのグラフィックを選択するものではない。例えば、選択に対応するジェスチャがタップである場合、アプリケーションアイコンの上をスイープするスワイプジェスチャは、任意選択的に、対応するアプリケーションを選択するものではない。
【0133】
デバイス100はまた、任意選択的に、「ホーム」ボタン又はメニューボタン204などの1つ以上の物理ボタンを含む。前述したように、メニューボタン204は、任意選択的に、任意選択的にデバイス100上で実行される1組のアプリケーション内の任意のアプリケーション136へナビゲートするために使用される。別法として、いくつかの実施形態では、メニューボタンは、タッチスクリーン112上に表示されるGUI内のソフトキーとして実施される。
【0134】
いくつかの実施形態では、デバイス100は、タッチスクリーン112、メニューボタン204、デバイスの電源をオン/オフにしてデバイスをロックするプッシュボタン206、音量調整ボタン208、加入者識別モジュール(SIM)カードスロット210、ヘッドセットジャック212、及びドッキング/充電用外部ポート124を含む。プッシュボタン206は、任意選択的に、ボタンを押し下げて、所定の期間にわたってボタンを押し下げた状態に保持することによって、デバイスの電源をオン/オフするため、ボタンを押し下げて、所定の期間が経過する前にボタンを解放することによって、デバイスをロックするため、及び/又はデバイスをロック解除する、若しくはロック解除プロセスを開始するために、使用される。代替的実施形態では、デバイス100はまた、マイクロフォン113を介して、一部の機能をアクティブ化又は非アクティブ化するための口頭入力も受け入れる。デバイス100はまた、任意選択的に、タッチスクリーン112上の接触の強度を検出する1つ以上の接触強度センサ165、及び/又はデバイス100のユーザに対する触知出力を生成する1つ以上の触知出力生成器167を含む。
【0135】
図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は、任意選択的に、これらのモジュールを記憶しない。
【0136】
図3の上記で特定した要素はそれぞれ、任意選択的に、前述したメモリデバイスのうちの1つ以上の中に記憶される。上記で特定したモジュールはそれぞれ、前述した機能を実行する1組の命令に対応する。上記で特定したモジュール又はプログラム(例えば、命令セット)は、別個のソフトウェアプログラム、手順、又はモジュールとして実施する必要はなく、したがって様々な実施形態では、これらのモジュールの様々なサブセットは、任意選択的に、組み合わされ、又は他の形で再構成される。いくつかの実施形態では、メモリ370は、任意選択的に、上記で特定したモジュール及びデータ構造のサブセットを記憶する。更に、メモリ370は、上記で説明されていない追加のモジュール及びデータ構造を任意選択的に記憶する。
【0137】
次に、任意選択的に例えばポータブル多機能デバイス100上で実施されるユーザインタフェースの実施形態に注意を向ける。
【0138】
図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。
【0139】
図4Aに示すアイコンラベルは、単なる例示であることに留意されたい。例えば、ビデオ及び音楽プレーヤモジュール152のためのアイコン422は、「音楽」又は「音楽プレーヤ」と表示される、他のラベルが、様々なアプリケーションアイコンのために、任意選択的に使用される。いくつかの実施形態では、それぞれのアプリケーションアイコンに関するラベルは、それぞれのアプリケーションアイコンに対応するアプリケーションの名前を含む。いくつかの実施形態では、特定のアプリケーションアイコンのラベルは、その特定のアプリケーションアイコンに対応するアプリケーションの名前とは異なる。
【0140】
図4Bは、ディスプレイ450(例えば、タッチスクリーンディスプレイ112)とは別個のタッチ感知面451(例えば、
図3のタブレット又はタッチパッド355)を有するデバイス(例えば、
図3のデバイス300)上の例示的なユーザインタフェースを示す。デバイス300はまた、任意選択的に、タッチ感知面451上の接触の強度を検出する1つ以上の接触強度センサ(例えば、センサ359のうちの1つ以上)、及び/又はデバイス300のユーザに対する触知出力を生成する1つ以上の触知出力生成器357を含む。
【0141】
以下の例のうちのいくつかは、タッチスクリーンディスプレイ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)上のユーザインタフェースを操作するために、デバイスによって使用される。同様の方法が、本明細書に記載の他のユーザインタフェースに任意選択的に使用されることを理解されたい。
【0142】
加えて、以下の例は、主に指入力(例えば、指接触、指タップジェスチャ、指スワイプジェスチャ)を参照して与えられるが、いくつかの実施形態では、指入力のうちの1つ以上は、別の入力デバイスからの入力(例えば、マウスベースの入力又はスタイラス入力)に置き換えられることを理解されたい。例えば、スワイプジェスチャは、(例えば、接触の代わりの)マウスクリックに続けた、(例えば、接触の移動の代わりの)スワイプの経路に沿ったカーソルの移動によって、任意選択的に置き換えられる。別の例として、タップジェスチャは、任意選択的に、カーソルがタップジェスチャの位置の上に位置する間はマウスクリックと置き換えられる(例えば、接触を検出して、それに続いて接触の検出を停止する代わりに)。同様に、複数のユーザ入力が同時に検出されるとき、複数のコンピュータマウスが、任意選択的に、同時に使用され、又はマウス及び指の接触が、任意選択的に、同時に使用されることを理解されたい。
【0143】
図5Aは、例示的なパーソナル電子デバイス500を示す。デバイス500は、本体502を含む。いくつかの実施形態では、デバイス500は、デバイス100及び300(例えば、
図1A~4B)に関して説明する特徴のうちのいくつか又はすべてを含むことができる。いくつかの実施形態では、デバイス500は、タッチ感知ディスプレイスクリーン504、以下タッチスクリーン504を有する。タッチスクリーン504に対する別法又は追加として、デバイス500は、ディスプレイ及びタッチ感知面を有する。デバイス100及び300と同様に、いくつかの実施形態では、タッチスクリーン504(又はタッチ感知面)は、任意選択的に、加えられている接触(例えば、タッチ)の強度を検出する1つ以上の強度センサを含む。タッチスクリーン504(又はタッチ感知面)の1つ以上の強度センサは、タッチの強度を表す出力データを提供することができる。デバイス500のユーザインタフェースは、タッチの強度に基づいてタッチに応答することができ、これは、異なる強度のタッチが、デバイス500上で異なるユーザインタフェース動作を呼び出すことができることを意味する。
【0144】
タッチ強度を検出及び処理する例示的な技法は、例えば、それぞれ全体として参照により本明細書に組み込まれている、国際特許第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」という関連出願に見られる。
【0145】
いくつかの実施形態では、デバイス500は、1つ以上の入力機構506及び508を有する。入力機構506及び508は、含まれる場合、物理的機構とすることができる。物理的入力機構の例としては、プッシュボタン及び回転可能機構が挙げられる。いくつかの実施形態では、デバイス500は、1つ以上のアタッチメント機構を有する。そのようなアタッチメント機構は、含まれる場合、例えば帽子、アイウェア、イアリング、ネックレス、シャツ、ジャケット、ブレスレット、腕時計のバンド、チェーン、ズボン、ベルト、靴、財布、バックパックなどにデバイス500を取り付けることを可能にすることができる。これらのアタッチメント機構は、ユーザがデバイス500を着用することを可能にする。
【0146】
図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は、任意選択的にボタンである。
【0147】
いくつかの例では、入力機構508は、任意選択的にマイクロフォンである。パーソナル電子デバイス500は、任意選択的に、GPSセンサ532、加速度計534、方向センサ540(例えば、コンパス)、ジャイロスコープ536、動きセンサ538、及び/又はこれらの組合せなどの様々なセンサを含み、これらのセンサはすべて、I/Oセクション514に動作可能に接続することができる。
【0148】
パーソナル電子デバイス500のメモリ518は、コンピュータ実行可能命令を記憶する1つ以上の非一時的コンピュータ可読記憶媒体を含み得、それらの命令は、1つ以上のコンピュータプロセッサ516によって実行されると、例えば、プロセス700(
図7A~7B)、プロセス1000(
図10A~10B)、プロセス1300(
図13A~13B)及びプロセス1600(
図16A~16B)を含めた、以下に説明する技術をコンピュータプロセッサに実行させることができる。パーソナル電子デバイス500は、
図5Bの構成要素及び構成に限定されるものではなく、他の又は追加の構成要素を複数の構成で含むことができる。
【0149】
本明細書で使用されるように、用語「アフォーダンス」は、任意選択的に、デバイス100、300、及び/又は500(
図1、
図3、及び
図5)のディスプレイスクリーン上に表示されるユーザ対話式のグラフィカルユーザインタフェースオブジェクトを指す。例えば、画像(例えば、アイコン)、ボタン、及び文字(例えば、ハイパーリンク)はそれぞれ、意選択的に、アフォーダンスを構成する。
【0150】
本明細書で使用される「フォーカスセレクタ」という用語は、ユーザが対話しているユーザインタフェースの現在の部分を示す入力要素を指す。カーソル又は他の場所マーカを含むいくつかの実装形態では、カーソルが「フォーカスセレクタ」として作用し、したがってカーソルが特定のユーザインタフェース要素(例えば、ボタン、ウインドウ、スライダ、又は他のユーザインタフェース要素)の上に位置する間に、タッチ感知面(例えば、
図3のタッチパッド355又は
図4Bのタッチ感知面451)上で入力(例えば、押下入力)が検出されたとき、特定のユーザインタフェース要素が、検出された入力に従って調整される。タッチスクリーンディスプレイ上のユーザインタフェース要素との直接対話を有効化するタッチスクリーンディスプレイ(例えば、
図1Aのタッチ感知ディスプレイシステム112又は
図4Aのタッチスクリーン112)を含むいくつかの実装形態では、タッチスクリーン上の検出された接触が「フォーカスセレクタ」として作用し、したがってタッチスクリーンディスプレイ上の特定のユーザインタフェース要素(例えば、ボタン、ウインドウ、スライダ、又は他のユーザインタフェース要素)の場所で入力(例えば、接触による押下入力)が検出されたとき、特定のユーザインタフェース要素が、検出された入力に従って調整される。いくつかの実装形態では、タッチスクリーンディスプレイ上の対応するカーソルの動き又は接触の動き(例えば、フォーカスを1つのボタンから別のボタンへ動かすためにタブキー又は矢印キーを使用することによる)なく、フォーカスがユーザインタフェースの1つの領域からユーザインタフェースの別の領域へ動かされ、これらの実装形態では、フォーカスセレクタは、ユーザインタフェースの種々の領域間でのフォーカスの移動に従って移動する。フォーカスセレクタがとる特有の形態に関わらず、フォーカスセレクタは、概して、ユーザインタフェース要素(又はタッチスクリーンディスプレイ上の接触)であり、ユーザの意図する対話をユーザインタフェースによって通信するように、ユーザによって制御される(例えば、ユーザが対話することを意図しているユーザインタフェースの要素をデバイスに示すことによる)。例えば、タッチ感知面(例えば、タッチパッド又はタッチスクリーン)上で押圧入力が検出されている間の、対応のボタンの上のフォーカスセレクタ(例えば、カーソル、接触、又は選択ボックス)の位置は、その対応のボタンを(そのデバイスのディスプレイ上に示される他のユーザインタフェース要素ではなく)アクティブ化することをユーザが意図していることを示すものである。
【0151】
本明細書及び特許請求の範囲で使用される、接触の「特性強度」という用語は、接触の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つ以上の動作を実行するべきか否か(例えば、それぞれの動作を実行するべきか、それともそれぞれの動作を実行するのを取り止めるべきか)を判定するために使用される。
【0152】
いくつかの実施形態では、特性強度を特定する目的のために、ジェスチャの一部分が識別される。例えば、タッチ感知面は、任意選択的に、開始場所から遷移して終了場所に到達する連続するスワイプ接触を受信し、その時点で接触の強度が増大する。この例では、終了場所での接触の特性強度は、任意選択的に、スワイプ接触全体ではなく、連続するスワイプ接触の一部分のみ(例えば、スワイプ接触のうち終了場所の部分のみ)に基づいている。いくつかの実施形態では、任意選択的に、接触の特性強度を判定する前に、平滑化アルゴリズムがスワイプ接触の強度に適用される。例えば、平滑化アルゴリズムは、任意選択的に、非加重移動平均平滑化アルゴリズム、三角平滑化アルゴリズム、中央値フィルタ平滑化アルゴリズム、及び/又は指数平滑化アルゴリズムのうちの1つ以上を含む。いくつかの状況では、これらの平滑化アルゴリズムは、特性強度を特定する目的のために、スワイプ接触の強度の小幅な上昇又は降下を排除する。
【0153】
タッチ感知面上の接触の強度は、任意選択的に、接触検出強度閾値、軽い押下の強度閾値、深い押下の強度閾値、及び/又は1つ以上の他の強度閾値などの1つ以上の強度閾値に対して特徴付けられる。いくつかの実施形態では、軽い押圧強度閾値は、通常、物理マウスのボタン又はトラックパッドをクリックすることに関連付けられた動作をデバイスが実行する強度に相当する。いくつかの実施形態では、深い押圧強度閾値は、通常、物理マウスのボタン又はトラックパッドをクリックすることに関連付けられた動作とは異なる動作をデバイスが実行する強度に相当する。いくつかの実施形態では、軽い押下の強度閾値を下回る(例えば、それを下回ると接触が検出されなくなる公称接触検出強度閾値を上回る)特性強度を有する接触が検出されたとき、デバイスは、軽い押下の強度閾値又は深い押下の強度閾値に関連付けられた動作を実行することなく、タッチ感知面上の接触の動きに従ってフォーカスセレクタを動かす。一般に、特に明記しない限り、これらの強度閾値は、ユーザインタフェース図の様々なセットの間で一貫している。
【0154】
軽い押下の強度閾値を下回る強度から、軽い押下の強度閾値と深い押下の強度閾値との間の強度への、接触の特性強度の増大は、「軽い押下」の入力と呼ばれることがある。深い押下の強度閾値を下回る強度から、深い押下の強度閾値を上回る強度への、接触の特性強度の増大は、「深い押下」の入力と呼ばれることがある。接触検出強度閾値を下回る強度から、接触検出強度閾値と軽い押下の強度閾値との間の強度への、接触の特性強度の増大は、タッチ面上の接触の検出と呼ばれることがある。接触検出強度閾値を上回る強度から、接触検出強度閾値を下回る強度への、接触の特性強度の減少は、タッチ面からの接触のリフトオフの検出と呼ばれることがある。いくつかの実施形態では、接触検出強度閾値はゼロである。いくつかの実施形態では、接触検出強度閾値は、ゼロより大きい。
【0155】
本明細書に記載するいくつかの実施形態では、それぞれの押下入力を含むジェスチャを検出したことに応じて、又はそれぞれの接触(若しくは複数の接触)によって実行されたそれぞれの押下入力を検出したことに応じて、1つ以上の動作が実行され、それぞれの押下入力は、押下入力強度閾値を上回る接触(又は複数の接触)の強度の増大を検出したことに少なくとも部分的に基づいて検出される。いくつかの実施形態では、それぞれの動作は、押下入力強度閾値を上回るそれぞれの接触の強度の増大(例えば、それぞれの押下入力の「ダウンストローク」)を検出したことに応じて実行される。いくつかの実施形態では、押下入力は、押下入力強度閾値を上回るそれぞれの接触の強度の増大、及びそれに続く押下入力強度閾値を下回る接触の強度の減少を含み、それぞれの動作は、それに続く押下入力閾値を下回るそれぞれの接触の強度の減少(例えば、それぞれの押下入力の「アップストローク」)を検出したことに応じて実行される。
【0156】
いくつかの実施形態では、デバイスは、「ジッタ」と呼ばれる場合がある偶発的な入力を回避するために強度ヒステリシスを採用し、デバイスは、押圧入力強度閾値との既定の関係を有するヒステリシス強度閾値を定義又は選択する(例えば、ヒステリシス強度閾値は、押圧入力強度閾値よりも低いX強度単位であり、又はヒステリシス強度閾値は、押圧入力強度閾値の75%、90%、若しくは何らかの妥当な割合である)。したがって、いくつかの実施形態では、押下入力は、押下入力強度閾値を上回るそれぞれの接触の強度の増大、及びそれに続く押下入力強度閾値に対応するヒステリシス強度閾値を下回る接触の強度の減少を含み、それぞれの動作は、それに続くヒステリシス強度閾値を下回るそれぞれの接触の強度の減少(例えば、それぞれの押下入力の「アップストローク」)を検出したことに応じて実行される。同様に、いくつかの実施形態では、押圧入力は、デバイスが、ヒステリシス強度閾値以下の強度から押圧入力強度閾値以上の強度への接触の強度の増大、及び任意選択的に、その後のヒステリシス強度以下の強度への接触の強度の減少を検出するときにのみ検出され、それぞれの動作は、押圧入力(例えば、状況に応じて、接触の強度の増大又は接触の強度の減少)を検出したことに応じて実行される。
【0157】
説明を容易にするために、押下入力強度閾値に関連付けられた押下入力、又は押下入力を含むジェスチャに応じて実行される動作の説明は、任意選択的に、押下入力強度閾値を上回る接触の強度の増大、ヒステリシス強度閾値を下回る強度から押下入力強度閾値を上回る強度への接触の強度の増大、押下入力強度閾値を下回る接触の強度の減少、及び/又は押下入力強度閾値に対応するヒステリシス強度閾値を下回る接触の強度の減少のいずれかを検出したことに応じてトリガされる。更に、押圧入力強度閾値を下回る接触の強度の減少を検出したことに応じて実行されるように動作が記載される例では、動作は、任意選択的に、押圧入力強度閾値に対応し、かつそれよりも低いヒステリシス強度閾値を下回る接触の強度の減少を検出したことに応じて実行される。
【0158】
次に、ポータブル多機能デバイス100、デバイス300、又はデバイス500などの電子デバイス上で実施されるユーザインタフェース(「UI」)及び関連プロセスの実施形態に注意を向ける。
【0159】
図6A~6Mは、いくつかの実施形態による、アバター(例えば、絵文字又は非写実的なグラフィック表現などの他のグラフィック表現)を作成する例示的なユーザインタフェースを示す。これらの図におけるユーザインタフェースは、
図7A~
図7Bにおけるプロセスを含む、後述のプロセスを例示するために使用される。
【0160】
図6Aは、いくつかの例では前述のデバイス100、デバイス300、又はデバイス500の特定のフォームファクタである、デバイス600を示す。デバイス600は、いくつかの実施形態ではタッチ感知ディスプレイである、ディスプレイ601と、カメラ602とを含む。加えて、デバイス600のいくつかの実施形態では、カメラ602と共に、追加のセンサ(例えば、深さセンサ、IRセンサ等)及び/又は他の構成要素(例えば、フラッシュ若しくはIRエミッタ)が存在する。
【0161】
図6Aにおいて、ディスプレイ601は、ユーザ名テキストフィールド606と、パスワードテキストフィールド607と、新たなアカウントを作成したりユーザ名を回復したりすることが可能なインタフェースに入るアフォーダンス608とを含む、ログインインタフェース603を表示している。例えばタッチ609を介して、テキストフィールドのうちの1つを選択することで、
図6Bに示すように、テキスト入力インタフェースをデバイス600に表示させる。
【0162】
図6Aにおいて、戻るボタン604は、例えばユーザが言語を選択する又は他のデバイス設定を指定することを可能にした、前の画面にユーザを戻す。次のボタン605は、ユーザ名テキストフィールド606及びパスワードテキストフィールド607に入力されたユーザ名及びパスワードの認証をデバイス600に試みさせる。
【0163】
図6Bは、キーボード608を表示したログインインタフェース603を示す。キーボード608は、ユーザがテキストをテキストフィールド606及び607に入力することを可能にする。ユーザは、例えば、次のボタン605が表示されたディスプレイ601のタッチを用いて、次のボタン605を選択することによって、入力ユーザ名及びパスワードを認証するようにデバイス600に要求する。
【0164】
入力されたユーザ名及びパスワードの認証成功に続いて(又は応じて)、デバイスは、
図6Cに示すように、プロファイル画像作成プロセスを開始する。ユーザは、例えばディスプレイ601のタッチ610を介して、ボタン609を選択することにより、このプロセスを開始する。
【0165】
図6Dは、プロファイル画像作成プロセスにおいて次のステップを表示するデバイス600を示す。
図6Dにおいて、ユーザは、(アフォーダンス611を介して)アバターを作成する、(アフォーダンス612を介して)モノグラムを使用する、又は(アフォーダンス613を介して)写真を使用するという選択肢を与えられる。デバイス600は、例えばタッチ614を介して、アバターを作成することをユーザが選択したことに応じて、
図6E~
図6Mに関して説明されるアバター作成インタフェースに入る。アフォーダンス612を選択すると、例えば、モノグラムに対して1つ、2つ又は3つの文字を入力ことと(例えば、文字の及び/又は背景の)1つ以上の色を選択することとによって、ユーザがモノグラムを作成することを可能にするモノグラム作成インタフェースに入る。
【0166】
図6Eは、ビューファインダ616、プレースホルダアバター617、及びアバター作成プロセスを続けるためのアフォーダンス618を含む、アバター作成インタフェース615を示す。ビューファインダ616は、カメラ602などのデバイス600のカメラの視野を表し、すべての実施形態において存在する必要はない。
【0167】
プレースホルダアバター617は、一部の例におけるユーザの性別を除いて、ユーザの具体的な特性を表さないシルエット又はマネキンである。例えば、プレースホルダアバター617は、任意選択的に、一般の人物の輪郭であり、(例えば、キャプチャされた画像データによって検出されるような)ユーザの検出された特性(例えば、肌の階調、顔の形、又は髪型)に依存しない。例えばアフォーダンス618のタッチ619を介して、アバター作成プロセスを継続することをユーザが選択したことに応じて、デバイス600は、カメラの視野に対するユーザの相対的な位置を判定する。ユーザが視野と適切に位置合わせされると、デバイス600は、カメラ602及び/又は他のセンサを使用して、ユーザの画像データをキャプチャする。しかしながら、ユーザが適切に位置合わせされていない場合、デバイス600は、例えば
図6Fに示すように、アバター作成インタフェース615を更新する。
【0168】
図6Fにおいて、デバイス600は、デバイス600のカメラ602及び/又は他のセンサによって現在収集されている画像データは1組の画像基準(例えば、位置合わせ基準、サイジング基準、照明基準、位置決め基準)を満たしていないと判定した。具体的には、この場合、ユーザは、視野の中心からオフセットしている。この判定に応じて、デバイス600は、ユーザがデバイス600に対する彼らの相対位置をどのように調整すべきか(例えば、彼らの頭/体、デバイス600、又はその両方を移動することによって)を命令620の形でフィードバックするために、アバター作成インタフェース615を更新する。アバター作成インタフェース615はまた、アバタープレースホルダ617はビューファインダ616と比較してオフセットされていることを示すことによって、ずれに関するフィードバックを提供する。
【0169】
デバイス600は、画像基準が満たされているかどうかを判定するために、画像データの評価を継続する。基準が満たされていない場合、デバイス600は、
図6G及び6Hにおいて見られるように、追加のユーザフィードバックを提供するために、アバター作成インタフェース615を更新する。
【0170】
具体的には、
図6Gでは、デバイス600は、ユーザがデバイス600から遠すぎる(例えば、カメラ602から遠すぎる)と判定した。これに応じて、デバイス600は、アバター作成インタフェース615を更新して、プレースホルダアバター617がビューファインダ616と比較して小さいことを示す。また、命令621が提供されて、相対位置を変更する方法に関するフィードバックをユーザに与える。
【0171】
同様に、
図6Hでは、デバイス600はユーザがデバイス600に近すぎる(例えば、カメラ602に近すぎる)と判定した。これに応じて、デバイス600は、アバター作成インタフェース615を更新して、プレースホルダアバター617がビューファインダ616と比べて大きいことを示す。加えて、命令622が提供されて、相対位置の変更方法のフィードバックをユーザに与える。
【0172】
図6Iにおいて、デバイス600は、プレースホルダアバター617がビューファインダ616を埋めていることによって示されるように、画像基準は満たされていると判定した。これに応じて、デバイス600は、カメラ602を使用してユーザの画像データをキャプチャする。この画像データは、いくつかの例では、静止画像データ及び/又はビデオ画像データである。
【0173】
図6Jにおいて示すように、
図6Gにおいてデバイス600が画像データをキャプチャした後、デバイス600は、アバター作成インタフェース615を更新して、位置を変えて更に画像データを取得するようにユーザに指示する。具体的には、アバター作成インタフェース615が、命令623を介してユーザにフィードバックを提供し、プレースホルダアバター617を更新して、回した頭を示して、ユーザの頭の位置決めの方法に関してユーザに案内を提供する。任意選択的に、ユーザが、その頭を僅かに左に回し終えた後、プレースホルダアバター617は、更新して、他の方向に回された頭を示す。ユーザが要求された動きを完了する間、デバイス600は、画像データ(例えば、静止及び/又はビデオ画像データ)を連続的に又は定義済みの条件(例えば、一定レベルの回転が完了するなど、追加画像基準が満たされること)に基づいてキャプチャする。
【0174】
デバイス600が十分な画像データをキャプチャしてユーザのアバターを生成すると、
図6Kに示すように、アバター作成インタフェース615は更新される。いくつかの例では、予めキャプチャされた画像データに基づくアバター624が、様々な生成段階で示される。例えば、アバターが生成されるとき、時間とともに追加の特徴や詳細が現れる。一部の実施形態において、アバターの構造的特徴が表示される間、肌の階調などの色調は、生成された肌の階調が正しいことをユーザが確認することができるまで、表示されない。
【0175】
図6Lは、キャプチャされた画像データに基づいてアバター625が生成された後のアバター作成インタフェース615を示す。アバター625は、キャプチャした画像データに基づく肌の階調を有するように示されているが、一部の実施形態では、表示されるアバターは、キャプチャされた画像データに基づく肌の階調を有さないことになる(例えば、表示されるアバターは、キャプチャ画像データとは無関係な所定の肌の階調を使用する)、又は肌の階調はアバターに全く適用されない。
【0176】
図6Lにおいて、アバター作成インタフェース615は、生成された肌の階調を確認又は調整するオプションをユーザに提示する。具体的には、アフォーダンス626~630のそれぞれは、特定の肌の階調を示す。また、インジケータ(例えば、アフォーダンス627のボールディング)は、現在選択されている肌の階調を示す。付加的な肌の階調のオプションは、アフォーダンス626~630が位置するエリア上のスワイプジェスチャを介して任意選択的にアクセスされる。ユーザが正しい肌の階調を決定した後は、
図6Mに示すように、カスタマイズの前の最終的なアバター633を見るために、次のボタンが選択される。次のボタン634を選択することによって、例えば、
図9A~9Hに関して以下で説明するように、カスタイマイズインタフェースにユーザは任意選択的にアクセスすることができる。
【0177】
図7は、いくつかの実施形態による、電子デバイスを使用したユーザアバター作成の方法を示すフロー図である。方法700は、ディスプレイを有するデバイス(例えば、100、300、500)で実行される。方法700のいくつかの動作は、任意選択的に組み合わされ、いくつかの動作の順序は、任意選択的に変更され、いくつかの動作は、任意選択的に省略される。
【0178】
以下において説明されるように、方法700は、ユーザアバターを作成する直感的方法を提供する。この方法は、ユーザアバターを作成する際のユーザの認知負担を軽減し、それによって、より効率的なヒューマンマシンインタフェースを作り出す。バッテリ動作式のコンピューティングデバイスの場合には、ユーザがアバターをより高速かつより効率的に作成することを可能にすることにより、電力が節約され、バッテリ充電の間隔が長くなる。
【0179】
ディスプレイ(例えば、ディスプレイ601)及び1つ以上のカメラ(例えば、カメラ602)を有する電子デバイス(例えば、
図6A~6Mのデバイス600)は、プレースホルダアバター(例えば、617)(例えば、2D若しくは3Dである及び/又はユーザの物理的外見に基づかない、ユーザを表すシルエット又はマネキン(背景を有する又は有さない)などの一般的な輪郭)をディスプレイに表示し(702)、プレースホルダアバターの表示は、電子デバイスの1つ以上のカメラ(例えば、カメラ602)の視野に対するユーザの第1の位置に基づく(例えば、
図6F~6Hに示すように)(例えば、プレースホルダアバターの相対位置、相対サイズ、又は向きにより、1つ以上のカメラからの画像データ内のユーザを表す)。いくつかの例では、ビューファインダに対するプレースホルダアバターのサイズは、ユーザが1つ以上のカメラからどのくらい離れているかに基づいて、変更される(例えば、
図6F及び6G)。いくつかの例では、1つ以上のカメラの視野内のユーザの位置に基づいて、ビューファインダに対するプレースホルダアバターの位置が変更される(例えば、
図6E)。いくつかの例では、1つ以上のカメラに対するユーザの向きに基づいて、プレースホルダアバターの向きが変更される。いくつかの例では、プレースホルダアバターは、電子デバイスに対してユーザが正しい位置にある場合にビューファインダ内に適合する背景を含む(
図6I)。一部の実施形態において、プレースホルダアバターは、ユーザの画像データとは無関係の所定の人のシルエットである。
【0180】
電子デバイスは、プレースホルダアバターを表示しつつ、1つ以上のカメラの視野に対する第2の位置へのユーザの移動を検出する(704)。例えば、任意選択的に、電子デバイスは、カメラ(例えば、602)からの画像データを使用して、いつユーザが電子デバイスと異なる相対位置にあるかを判定する。一部の実施形態において、第1の画像データは、静止データ(例えば、単一の画像)及びビデオデータ(例えば、一連の順次の画像)の両方を含む。いくつかの実施形態では、電子デバイスがユーザの動きを検出するのではなくて、電子デバイスが、キャプチャされた画像データを連続的に評価して、画像基準(以下に記載)が満たされているかを判定する。
【0181】
1つ以上のカメラの視野に対する第2の位置へのユーザの移動を検出したことに応じて(706)、電子デバイスは:1つ以上のカメラ(例えば、602)の視野に対するユーザの第2の位置は第1の組の画像基準を満たしている(例えば、
図6Iに示すように)という判定に従って、1つ以上のカメラ(例えば、602)でユーザの第1の画像データ(例えば、視覚的、赤外線、及び/又は深度データを含む静止及び/又はビデオ画像データ)をキャプチャし(708)(例えば、ユーザ入力なしに及び/又は第1の組の画像基準が満たされることに応じて、自動的にキャプチャし)、1つ以上のカメラの視野に対するユーザの第2の位置は第1の組の画像基準を満たしていないという判定に従って、プレースホルダアバター(例えば、617)の表示を続けつつ、電子デバイスに対する位置を第1の目標位置に変更するために、第1の案内(例えば、
図6G~6Iの616及び617、620~621)をユーザに提供する(710)(例えば、画像データ内でユーザを中心に置くために電子デバイスが動かされる又は向きを変えられる必要があることを示すようにプレースホルダアバターを配置する、デバイスをユーザの近くに又はユーザから遠くに移動させる必要があることを示すためにプレースホルダアバターのサイズを変更する、ユーザ又は電子デバイスを動かす方法に関するテキスト命令又は他の視覚インジケータを表示する)。電子デバイスに対するユーザの頭部の正しい位置決めに関するユーザフィードバックを提供することにより、電子デバイスはユーザアバターを生成する更に単純なプロセスを提供し、電子デバイスの使い勝手は向上する。より単純なプロセスにより、ユーザはアバター作成を迅速に完了させることができ、電子デバイスをより効率的にし、電力使用量を減少させ、デバイスのバッテリ寿命を改善する。
【0182】
いくつかの実施形態によれば、電子デバイスは、第1の画像データをキャプチャした後、第1の画像データに基づいて判定されたユーザの外観に基づいて選択された特徴を含むユーザ固有のアバター(例えば、624、625)(例えば、ユーザの特徴を反映した特徴を有する2D又は3Dモデル)を生成する(714)(例えば、少なくとも第1の画像データ及び第2の画像データに基づいてユーザを表す3Dアバターを生成する)。いくつかの例では、アバターは、ユーザの肌の階調、目の色、髪の色、髪型、及び顔の毛などの特性を反映する。いくつかの例では、ユーザ固有のアバターを生成することは、(例えば、ユーザの1つ以上の付加的位置から)付加的画像データをキャプチャした後に発生し、このユーザ固有のアバターの生成は、この付加的画像データに基づく。いくつかの例において、ユーザ固有のアバターは、頭部のみを含む。いくつかの例において、ユーザ固有のアバターは、頭、首、肩、及び胴の一部を含む。いくつかの例において、ユーザ固有のアバターは、全身のアバターである。
【0183】
いくつかの実施形態によれば、電子デバイスは、生成されたユーザ固有のアバター(例えば、624、625)をディスプレイに表示する(例えば、
図6K~6M)(例えば、プレースホルダアバターの表示をユーザ固有のアバターに置き換える、又は、プレースホルダアバターをユーザ固有のアバターにモーフィングすることによってプレースホルダアバターの外観を変更する)。
【0184】
一部の実施形態によれば、電子デバイスは、プレースホルダアバターの表示(例えば、617)と同時にビューファインダグラフィカル要素(例えば、616)(例えば、1つ以上のカメラの視野の中央を表す円)を表示し(716)、プレースホルダアバターの表示に対するビューファインダグラフィカル要素の表示は、1つ以上のカメラの視野に対するユーザの第1の又は第2の位置に基づく(例えば、
図6F~6H)。いくつかの例では、プレースホルダアバター及びビューファインダグラフィカル要素が合致する場合、1つ以上のカメラとユーザとは適切に位置決めされている(例えば、
図6I)。別法としてかつ任意選択的に、ユーザが1つ以上のカメラから遠すぎる場合、プレースホルダアバターは、ビューファインダグラフィカル要素と比べて小さく見える(例えば、
図6G)。もう1つのオプションとして、ユーザが1つ以上のカメラからオフセットされている場合、プレースホルダアバターがビューファインダグラフィカル要素と合致しないように、プレースホルダアバターは、同様に、ビューファインダグラフィカル要素からオフセットされる(例えば、
図6F)。グラフィカルビューファインダを表示し、グラフィカルビューファインダに対してプレースホルダアバターを表示することにより、ユーザは、より容易に電子デバイスのカメラと彼ら自身を位置合わせすることができ、ユーザ固有のアバターを作成する電子デバイスの使用効率及び精度を向上させる。これにより、電子デバイスの使用電力は減り、デバイスの電池寿命は延びる。
【0185】
いくつかの実施形態によれば、電子デバイスは、1つ以上のカメラ(例えば、602)の視野に対するユーザの第2の位置(例えば、方向、ユーザの近接、1つ以上のカメラの視野内のユーザの位置、及び/又はユーザの照明)が第1の組の画像基準(例えば、1つ以上のカメラへの近接、ユーザの向き、照明、1つ以上のカメラに対するユーザの相対位置に関する基準)を満たしているかどうかを判定する。第2の画像データが画像基準を満たしているかどうかを判定することにより、電子デバイスは、低品質の又は誤った画像データを使用することを回避する改良されたアバター作成プロセスを提供する。また、画像データに関するユーザへのフィードバックを提供することにより、ユーザの正確なアバターを効率的に生成するのに必要な画像データを電子デバイスがキャプチャする可能性は高まる。誤った又は低画質の画像データの使用をなくすことにより、電子デバイスをより効率的にし、電力使用量を減らし、デバイスのバッテリ寿命を改善する。
【0186】
いくつかの実施形態によれば、電子デバイスは、第1の画像データをキャプチャした後に、電子デバイスに対する位置を第2の目標位置に変更するようにユーザに第2の案内(例えば、623)を提供し(例えば、ユーザは頭部を回すべきであることを示すために回転を伴うユーザ輪郭、又はユーザの頭を回すようにという他の視覚的命令を表示する)、第1の画像データの後にキャプチャされた画像データに基づいてプレースホルダアバターの表示を更新し(例えば、
図6J)(例えば、回転する又はビューファインダに対して異なって位置決めされたユーザ輪郭を示す)、第2の案内を提供した後、電子デバイスに対するユーザの第3の位置は第2の組の画像基準(例えば、1つ以上のカメラに対するユーザの頭の向き、1つ以上のカメラへのユーザの近接、1つ以上のカメラに対するユーザの位置に関する要件)を満たしているかどうかを判定し、第2の検出された位置が第2の組の画像基準(例えば、電子デバイスに対するユーザの回転の付加的基準を有する第1の組の画像基準と類似の基準)を満たしているという判定に従って、1つ以上のカメラでユーザの(例えば、第1の画像データと類似の)第2の画像データをキャプチャし、検出された第2の位置は第2の組の画像基準を満たしていないという判定に従って、第2の目標位置に電子デバイスに対する位置を変更するようにユーザに第2の案内(例えば、前に提供された案内と同じ又は異なる形をとる案内)を継続して提供する。ユーザに付加的な案内を提供することにより、電子デバイスは、ユーザ固有のアバターを生成するために必要な様々な位置で追加の画像データを効率的に取得することができる。これにより、ユーザは、電子デバイスとより迅速かつ効率的に対話することができ、電子デバイスをより効率的にし、電力使用量を低減し、デバイスの電池寿命を改善する。
【0187】
一部の実施形態によれば、第1の案内(例えば、620~622)は、第1の画像データに基づいてプレースホルダアバター(例えば、
図6F~6Hの617)の外観を変更することなくユーザに提供される(712)(例えば、一部の実施形態において、プレースホルダアバターの位置及びサイズは画像データに基づき、プレースホルダアバターの視覚的外観の特徴、形状、シェーディング、及び他の態様は第1の画像データに基づかない)。いくつかの実施形態では、それらは、いずれの画像データにも基づかない。いくつかの例では、プレースホルダアバターは、アバター自体の外観(例えば、物理的特性又は特徴)を変えることなく、ビューファインダ内で移動される(例えば、
図6F~6I)。キャプチャされた画像データに基づいてプレースホルダアバターの特性を更新しないことにより、正確でないことがある中間結果を回避して、ユーザがアバター作成プロセスを継続する可能性を高め、それにより、電子デバイスのユーザ固有のアバターを作成する能力を高める。これにより、マンマシンインタフェースを向上させ、ユーザがアバター作成プロセスを停止する可能性を低減する。
【0188】
いくつかの実施形態によれば、第1の案内(例えば、620~622)を提供することは、1つ以上のカメラの視野に対するユーザの第2の位置が第1の組の画像基準を満たしているときにユーザフィードバック(例えば、蝕知フィードバック、視覚的フィードバック、又は可聴フィードバック)を提供すること、あるいは、デバイスに対して第1の目標位置にあるように1つ以上のカメラの視野に対してユーザがどのように位置付けられるべきかに基づいて命令(例えば、テキストの命令、アニメーションの命令、又は音声命令)(例えば、ユーザに電子デバイスを移動させる又はユーザ自身の位置を変えさせる命令)を提供することを含む。第1の組の画像基準が満たされた場合にユーザフィードバックを提供することにより、作成プロセスについてユーザに知らせ続けることによって、電子デバイスの有用性を向上させる。
【0189】
いくつかの実施形態によれば、電子デバイスは、第1の画像データをキャプチャした(718)後、第1の画像データに基づいて選択された1つ以上の推奨される肌の階調(例えば、626~630)を示す情報を表示し(720)(例えば、第1の画像データに基づく計算された肌の会長を表示する、又は第1の画像データに基づく肌の階調の範囲を表示する)(例えば、
図6L)、(例えば、確認アフォーダンスを選択して又は、特定の肌の階調を選択して)第1の画像データに基づいて選択された1つ以上の肌の階調の色のうちの対応する推奨される肌の階調の色を確認するユーザ入力を受信し(724)、ユーザ固有のアバターの電子デバイス生成は、推奨される肌の階調の色に更に基づく。いくつかの例において、ユーザ固有のアバターの生成は、(例えば、ユーザの1つ以上の付加的位置からの)付加的画像データのキャプチャの後に発生し、ユーザ固有のアバターの生成は、付加的画像データに更に基づく。ユーザが肌の階調を確認できるようにする又は新たな肌の階調を選択できるようにすることにより、電子デバイスは、画像キャプチャプロセスの間に(肌の階調の判定に影響を与え得る)照明の変化を説明することにより、改良されたアバター作成プロセスを提供する。これにより、ユーザがアバター作成プロセスを繰り返さなければならない可能性を低減し、電子デバイスをより効率的にし、電力使用量を低減し、デバイスの電池寿命を改善する。
【0190】
いくつかの実施形態によれば、第1の画像データに基づいて選択された1つ以上の推奨される肌の階調の色を示す情報の表示(722)は、アバターに推奨される肌の階調の色を適用せずに表示される。一部の実施形態で、電子デバイスは、第1の画像データに基づいてユーザ固有のプレースホルダアバター(例えば、624)を生成し、第1の画像データとは無関係の所定の肌の階調の色を使用し(例えば、肌の階調の着色なしに第1の画像データにおけるユーザに似た形状及び特徴を有する白黒のアバターを生成する)、対応する推奨される肌の階調の色を確認するユーザ入力を受信する前にユーザ固有のプレースホルダアバターを表示する。いくつかの例において、ユーザ固有のアバターを生成することは、(例えば、ユーザの1つ以上の付加的位置から)付加的画像データをキャプチャした後に発生し、ユーザ固有のアバターの生成は更に、付加的画像データに基づく。生成されたアバターを塗る前にユーザが新しい肌の階調を選択できるようにすることにより、電子デバイスは、キャプチャされた画像データに基づいて選択された肌の階調にユーザが落胆するリスクを低減する、よりアクセス可能なアバター作成プロセスを提供する。これにより、ユーザがアバター作成プロセスを繰り返さなければならない可能性を低減し、電子デバイスをより効率的にし、電力使用量を低減し、デバイスの電池寿命を改善する。
【0191】
いくつかの実施形態によれば、電子デバイスは、第1の画像データをキャプチャしたことに応じて、進度インジケータ(例えば、ビューファインダグラフィカル要素の周囲のインジケータ又はバーインジケータ)の表示を更新し、この進度インジケータの表示はキャプチャされたアバター画像データの量に基づく。いくつかの例では、進度インジケータは、アバターを生成するための画像データの目標量の達成に向けた進度を示す。
【0192】
いくつかの実施形態によれば、電子デバイスは、ユーザの画像データ(例えば、第1の画像データ又は他の画像データ)をキャプチャし、ユーザの画像データが照明基準を満たすことに失敗したと判定すると(
図6H)、ユーザが1つ以上のカメラの視野の照明を変更するための命令(例えば、622)を表示する。照明に関する案内を提供することにより、キャプチャされた画像データが適切な照明を有することを確保して肌の階調の判定の精度を高め、(一部の状況では)画像データに基づく肌の階調の判定に影響を与え、それにより、改良されたアバター作成プロセスを実現する。これにより、ユーザがアバター作成プロセスを繰り返さなければならない可能性を低減し、電子デバイスをより効率的にし、電力使用量を低減し、デバイスの電池寿命を改善する。
【0193】
一部の実施形態によれば、電子デバイスは、第1の画像データに基づいてユーザの身体的特徴(例えば、髪型、顔の毛、又は目の色)あるいはアクセサリの特徴(例えば、眼鏡、ピアス、又はタトゥー)を判定し、ユーザ固有にアバターの身体的特徴又はアクセサリの特徴の表現を加えて、ユーザ固有のアバターを生成する(例えば、
図6K~6L)。いくつかの実施形態では、ユーザ固有のアバターは、ユーザが第1の画像データにおいて表情を有するかどうかに関わらず、独立した表情(例えば、笑みのない又は渋面)である。いくつかの例において、ユーザの第1の画像データは、表情を示すものとして電子デバイスによって識別された画像データを含み、ユーザ固有のアバターは、表情に依存しない又は中立の表情になるように生成される。他の例では、本方法は、表情を示す画像データを識別することを含まない。
【0194】
いくつかの実施形態によれば、第1の画像データに基づいてユーザ固有のアバターを生成することは、複数のアバターを生成することを含み、複数のアバターは、第1のアバターと、第1のアバターとは異なる第2のアバターとを含み、電子デバイスは、複数のアバターを表示し、複数のアバターのうちの1つを選択するユーザ入力を受信する。いくつかの例では、複数のアバターのうちのアバターの各々は異なる。いくつかの例において、複数のアバターは、アバターの定義済みの組の特性に対する変更に基づいて異なる。
【0195】
一部の実施形態によれば、電子デバイスは、ユーザ固有のアバターを生成した後、レシピ(例えば、アバターの非グラフィカルな表現)としてアバターを記憶し、レシピは、アバターの構造(例えば、目、鼻、口、眼鏡)及びアバターのパラメータ(例えば、目の色、鼻のサイズ、口の形状、眼鏡のタイプ)を定義する。ユーザ固有のアバターをレシピとして記憶することにより、電子デバイスは、ユーザ固有のアバターのレシピ全体に代えて、ユーザ固有のアバターのレシピに対する変更を送るだけでよいなど、より少量のデータを送ることによって、ユーザ固有のアバターをより効率的に記憶及び送信することができる。したがって、この電子デバイスは、より効率的であり、電力使用量を低減し、デバイスの電池寿命を改善する。
【0196】
方法700(例えば、
図7)に関して前述したプロセスの詳細はまた、類似の方式で、後述/前述の方法にも適用可能であることに留意されたい。例えば、方法1000及び方法1600は、方法700を参照して前述した、様々な方法の特性のうちの1つ以上を任意選択的に含む。例えば、方法700は、方法1000又は方法1600の特定のステップを含むことができる(例えば、方法1000及び方法1600の一部又はすべてが、同じインタフェースの一部として、方法700の後に実行され得る)。簡潔にするために、これらの詳細は、以下で繰り返さない。
【0197】
いくつかの実施形態によれば、
図8は、説明される様々な実施形態の原理に従って構成された電子デバイス800の例示的な機能ブロック図を示す。いくつかの実施形態によれば、電子デバイス800の機能ブロックは、前述の技術を実行するように構成されている。デバイス800の機能ブロックは、説明される様々な例の原理を実行するために、ハードウェア、ソフトウェア、又はハードウェアとソフトウェアとの組合せによって、任意選択的に実装される。
図8で説明する機能ブロックは、説明される様々な例の原理を実施するために、任意選択的に、組み合わされ、又はサブブロックに分離されることが当業者に理解されよう。したがって、本明細書の記載は、本明細書に記載されている機能ブロックの任意の可能な組合せ若しくは分離、又は更なる定義を任意選択的にサポートする。
【0198】
図8に示されるように、電子デバイス800は、グラフィックユーザインタフェースを表示するように構成されたディスプレイユニット802、カメラユニット804、並びに、ディスプレイユニット802及びカメラユニット804に結合された処理ユニット806を含む。一部の実施形態において、処理ユニット806は、表示有効化ユニット810、検出ユニット812、画像キャプチャユニット814、及び提供ユニット816、そして任意選択的に、生成ユニット818、判定ユニット820、更新ユニット822、受信ユニット824、及び記憶ユニット826を含む。
【0199】
処理ユニット806は、(例えば、表示有効化ユニット810を使用して)プレースホルダアバターをディスプレイに表示するように構成され、このプレースホルダアバターの表示は、電子デバイスの1つ以上のカメラの視野に対するユーザの第1の位置に基づく。処理ユニット806は、プレースホルダアバターを表示しつつ、1つ以上のカメラに対する第2の位置へのユーザの移動を(例えば、検出ユニット812を使用して)検出するように構成されている。1つ以上のカメラの視野に対する第2の位置へのユーザの移動の検出に応じて、処理ユニット806は、1つ以上のカメラの視野に対するユーザの第2の位置は第1の組の画像基準を満たしているという判定に従って、1つ以上のカメラでユーザの第1の画像データを(例えば、画像キャプチャユニット814を使用して)キャプチャすることと、1つ以上のカメラの視野に対するユーザの第2の位置は第1の組の画像基準を満たしていないという判定に従って、プレースホルダアバターの表示を続けながら、電子デバイスに対する位置を第1の目標位置に変更するための第1の案内を(例えば、提供ユニット816を使用して)ユーザに提供することとを行うように構成されている。
【0200】
一部の実施形態では、処理ユニット806は、1の画像データをキャプチャした後、第1の画像データに基づいて判定されたユーザの外観に基づいて選択された特徴を含むユーザ固有のアバターを(例えば、生成ユニット818を使用して)生成するように更に構成されている。
【0201】
一部の実施形態において、処理ユニット806は、生成されたユーザ固有のアバターを(例えば、表示有効化ユニット810を使用して)表示するように更に構成されている。
【0202】
一部の実施形態において、処理ユニット806は、プレースホルダアバターの表示を同時に有するビューファインダグラフィカル要素を(例えば、表示有効化ユニット810を使用して)表示するように更に構成されており、このプレースホルダアバターの表示に対するビューファインダグラフィカル要素の表示は、1つ以上のカメラの視野に対するユーザの第1の又は第2の位置に基づく。
【0203】
一部の実施形態において、処理ユニット806は、1つ以上のカメラの視野に対するユーザの第2の位置は第1の組の画像基準を満たしているかどうかを(例えば、判定ユニット820を使用して)判定するように更に構成されている。
【0204】
いくつかの実施形態では、処理ユニット806は、第1の画像データをキャプチャした後、電子デバイスに対する位置を第2の目標位置に変更するようにユーザに第2の案内を(例えば、提供ユニット816を使用して)提供し、第1の画像データの後にキャプチャされた画像データに基づいてプレースホルダアバターの表示を(例えば、更新ユニット822を使用して)更新し、第2の案内を提供した後、電子デバイスに対するユーザの第3の位置は第2の組の画像基準を満たしているかどうかを(例えば、判定ユニット820を使用して)判定し、第2の検出された位置は第2の組の画像基準を満たしているという判定に従って、1つ以上のカメラでユーザの第2の画像データを(例えば、画像キャプチャユニット814を使用して)キャプチャし、第2の検出された位置は第2の組の画像基準を満たしていないという判定に従って、電子デバイスに対する位置を第2の目標位置に変更するようにユーザに第2の案内を(例えば、提供ユニット816を使用して)提供し続けるように更に構成されている。
【0205】
一部の実施形態では、第1の案内が、第1の画像データに基づいてプレースホルダアバターの外観を変えることなくユーザに提供される。
【0206】
一部の実施形態では、第1の案内を提供することは、1つ以上のカメラの視野に対するユーザの第2の位置が第1の組の画像基準を見たいしているときにユーザにフィードバックを提供すること、又は、ユーザがデバイスに対して第1の目標位置にあるように1つ以上のカメラの視野に対してどのように位置付けられるべきかに基づいて命令を提供することを含む。
【0207】
一部の実施形態において、処理ユニット806は、第1の画像データをキャプチャした後に、第1の画像データに基づいて選択された1つ以上の推奨される肌の階調の色を示す情報を(例えば、ディスプレイ有効化ユニット810を使用して)表示することと、第1の画像データに基づいて選択された1つ以上の肌の階調の色のうちの対応する翠帳される肌の階調の色を確認するユーザ入力を(例えば、受信ユニット824を使用して)受信することとを行うように更に構成され、ユーザ固有のアバターの生成は、この推奨される肌の階調の色に更に基づく。
【0208】
いくつかの実施形態では、第1の画像データに基づいて選択された1つ以上の推奨される肌の階調の色を示す情報の表示は、推奨される肌の階調の色のいずれもアバターに適用することなく表示される。
【0209】
一部の実施形態において、処理ユニット806は、第1の画像データに基づいて、第1の画像データとは無関係の所定の肌の階調の色を使用して、ユーザ固有のプレースホルダアバターを(例えば、生成ユニット818を使用して)生成し、対応する推奨される肌の階調の色を確認するユーザ入力を受信する前にユーザ固有のプレースホルダアバターを(例えば、表示有効化ユニット810を使用して)表示するように更に構成されている。
【0210】
一部の実施形態において、処理ユニット806は、第1の画像データのキャプチャに応じて、進度インジケータの表示を(例えば、更新ユニット822を使用して)更新するように更に構成され、この進度インジケータの表示は、キャプチャされたアバター画像データの量に基づく。
【0211】
いくつかの実施形態では、第1の画像データは、静止データ及びビデオデータの両方を含む。
【0212】
いくつかの実施形態では、処理ユニット806は、ユーザの画像データを(例えば、キャプチャユニット814を用いて)キャプチャし、ユーザの画像データは照明基準を満たすことに失敗しているという判定に従って、1つ以上のカメラの視野の証明を変更するようにというユーザへの命令を(例えば、表示有効化ユニット810を使用して)表示するように更に構成されている。
【0213】
一部の実施形態において、処理ユニット806は、第1の画像データに基づいてユーザの身体的特徴又はアクセサリの特徴を(例えば、判定ユニット820を使用して)判定するように更に構成され、ユーザ固有のアバターを作成することは、ユーザ固有のアバターに身体的特徴又はアクセサリの特徴の表現を追加することを含む。
【0214】
一部の実施形態では、ユーザ固有のアバターは、ユーザが第1の画像データにおいて表情を有するかどうかとは無関係の独立した表情である。
【0215】
いくつかの実施形態では、第1の画像データに基づいてユーザ固有のアバターを生成することは、複数のアバターを生成することを含み、複数のアバターは、第1のアバターと、第1のアバターとは異なる第2のアバターとを含み、処理ユニットは、複数のアバターを(例えば、表示有効化ユニット810を使用して)表示することと、複数のアバターのうちの1つを選択するユーザ入力を(例えば、受信ユニット824を使用して)受信することとを行うように更に構成されている。
【0216】
いくつかの実施形態では、処理ユニット806は、ユーザ固有のアバターを生成した後、アバターをレシピとして(例えば、記憶ユニット826を使用して)記憶するように更に構成され、レシピは、アバター構造及びアバターパラメータを定義する。
【0217】
一部の実施形態では、プレースホルダアバターは、ユーザの画像データとは無関係の所定の人のシルエットである。
【0218】
図7A及び
図7Bを参照して前述した動作は、
図1A~
図1B又は
図8に示される構成要素によって、任意選択的に実施される。例えば、キャプチャ動作708は、カメラモジュール143、光センサコントローラ158、及び光センサ164によって任意選択的に実施される。同様に、当業者には、
図1A~1Bで示した構成要素に基づいて他の処理がどのように実行され得るかは明らかであろう。
【0219】
図9A~9Hは、いくつかの実施形態による、ユーザアバターをカスタマイズする例示的なユーザインタフェースを示す。これらの図のユーザインタフェースは、
図10のプロセスを含む、後述のプロセスを説明するために使用される。
【0220】
図9Aは、一部の例では前述のデバイス100、デバイス300、又はデバイス500の特定のフォームファクタである、(
図6Aに関して前述した)デバイス600を示す。デバイス600は、一部の実施形態ではタッチ感知ディスプレイである、ディスプレイ601を含む。
【0221】
図9Aにおいて、デバイス600は、ディスプレイ601にアバターカスタマイズインタフェース900を表示している。いくつかの例では、アバターカスタマイズインタフェース900は、
図6A~6M、7A~7B、及び8に関して前述したアバター作成インタフェースを介してアクセスされる。他の例では、アバターカスタマイズインタフェース900、又は類似のインタフェースは、デバイス600にインストールされたアプリなどの他の方法を介してアクセスされる。アバターカスタマイズインタフェース900は、アバター表示領域900A、特徴選択制御領域900B、及び特徴オプション制御領域900Cを含む。アバター表示領域900Aは、編集するために現在選択されているアバターを表示する。
図9Aの場合、現在選択されているアバターは、アバター901である。
【0222】
特徴選択制御領域900Bは、特徴表現のリボン907~911を含む。各表現は、アバター901の特徴(例えば、目、耳、鼻、顔、眼鏡、髪、顎、眉毛)に対応している。付加的な特徴表現が利用可能であるが、空間制約によって表示できない場合、デバイス600は、特徴選択制御領域900Bでのスワイプなどのユーザ入力に応じて付加的な特徴表現を表示する。また、特徴制御領域900Bは、現在選択されているアバター特徴を示すインジケータを含む。
図9Aの場合、表現909上のボールドは、表現909に関連付けられた特徴が編集するために選択されていることを示す。他の例では、他のインジケータ(例えば、矢印、強調表示、又は中央に位置付けられること)が使用される。いくつかの例では、1つ以上の特徴表現が、対応する特徴の形になっている。例えば、特徴表現908が、アバターの目に対応する場合、特徴表現908は、目の形であるか、又は、それが目に対応することをグラフィックで示すように他の方法で作成される。
【0223】
特徴オプション制御領域900Cは、選択されたアバター特徴の異なる利用可能なオプションに対応するオプション表現のリボン902~906を含む。例えば、
図9Aでは、特徴表現909が耳の特徴に対応する場合、オプション表現902~906は、一部の例において、耳の異なるタイプ(例えば、形状、サイズ、外観)を表す。特徴表現に類似して、オプションの表現のうちの1つ以上は、対応するオプションの形状になっている。例えば、特徴表現909がアバターの耳に対応する場合、特徴表現909は、耳の形をしているか、又は、それが耳に対応していることをグラフィックで示すように他の方法で作成される。同様に、1つ以上のオプション表現902~906は、表現に対応する耳のタイプを反映する形状をしている。例えば、小さい、広い耳のオプション表現は、いくつかの例において、(他の表現と比較して)小さくて広い耳である。また、オプション制御領域900Cは、現在選択されているオプションを示すインジケータを含む。
図9Aの場合、表現906上のボールドは、表現906に関連付けられたオプションがアバター901について選択されていることを示す。他の例では、他のインジケータ(例えば、矢印、強調表示、又は中央に位置付けられること)が使用される。
【0224】
図9Bは、例えば、アバターの髪に対応する特徴表現908上のタッチ入力912(
図9A)を介して、新たな特徴が編集のために選択された後の、アバターカスタマイズインタフェース900を示す。
図9Bでは、デバイス900は、アバターカスタマイズインタフェース900を更新して、表現908に対応する特徴(例えば、
図9Bの髪)が編集のために選択されていることを示し、編集のための選択された特徴に対応するオプション表現913~917を示し、オプション表現915(例えば、
図9Bに描かれたアバター901の髪型)がアバター901の現在選択されている特徴オプションであることを示し、選択特徴オプションの利用可能な色に対応する色の表現918~922を含む色選択制御領域900Dを示し、現在選択されている特徴オプションの現在選択されている色(表現920に対応する色)を示している。
【0225】
図9Cは、例えば
図9Bのタッチ923を介して、ユーザが表現917に対応する新たな髪型を選択した後のアバターカスタマイズインタフェース900を示す。アバター901は、新たな髪型を反映するように更新されている。また、アバターカスタマイズインタフェース900は、表現917が現在選択されている特徴オプションであることを示すように更新されている。
【0226】
図9Dは、例えば
図9Cのタッチ924を介して、ユーザが表現922に対応する新たな髪の色を選択した後のアバターカスタマイズインタフェース900を示す。アバター901は、新たな髪の色を反映するように更新されている。また、アバターカスタマイズインタフェース900は、表現922が現在選択されている色オプションであることを示すように更新される。
【0227】
図9Eは、特徴選択制御領域900Bに付加的特徴表現926~930が表示された後のアバターカスタマイズインタフェース900を示す。これらの付加的な特徴表現926~930は、例えば、特徴選択制御領域900Bを介してディスプレイ601上で受信されたスワイプジェスチャ(例えば、
図9Dのスワイプジェスチャ925)に応じて、表示される。いくつかの実施形態では、付加的オプション及び色表現が、それぞれの領域において類似の入力を受信したことに応じて、特徴オプション制御領域900C及び色選択制御領域900Dにおいて表示される。
【0228】
図9Fは、例えば
図9Eのタッチ931を介して、編集するために表現927に対応する特徴(本例では、この特徴は眼鏡)が選択された後のアバターカスタマイズインタフェース900を示す。オプション表現932~936は、アバターの眼鏡の異なるスタイルオプションを表示する。オプション表現934は、眼鏡なしのオプションに対応し、
図9Fのアバター901において反映されている。また、眼鏡の特徴に色の表現937~941が利用可能であるが、眼鏡なしのオプションが現在選択されているので、色の表現は選択されているものとして現在示されてはいない。
【0229】
図9Gは、例えば
図9Fのタッチ937を介して、表現936に対応する眼鏡のスタイルが選択された後のアバターカスタマイズインタフェース900を示す。アバター901に反映されるように、表現936は、アバター901が着けているものとして描かれた眼鏡に対応する。また、表現939に対応する色が、デフォルトで又はユーザ選択によって、眼鏡について選択されている。
【0230】
図9Hは、例えば
図9Gのタッチ940を介する次のボタン939(
図9G)の選択に応答した、アバターカスタマイズプロセスの完了を示す。戻るボタン941の選択に応じて、アバターカスタマイズプロセスに再び入ることができる。継続ボタン942の選択に応じて、ユーザは、アバターカスタマイズプロセスと呼ばれるプロセスを継続することができ、又は、いくつかの実施形態では、継続ボタン942が、アプリケーションを終了する終了ボタンの代わりにある。
【0231】
図10は、いくつかの実施形態による、電子デバイスを使用してユーザアバターをカスタマイズする方法を示すフロー図である。方法1000は、ディスプレイを有するデバイス(例えば、100、300又は500)で実行される。方法1000のいくつかの動作は、任意選択的に組み合わされ、いくつかの動作の順序は、任意選択的に変更され、いくつかの動作は、任意選択的に省略される。
【0232】
以下において説明されるように、方法1000は、ユーザアバターをカスタマイズする直感的方法を提供する。この方法は、アバターをカスタマイズする際のユーザの認知負担を軽減し、それによって、より効率的なヒューマンマシンインタフェースを作り出す。バッテリ動作式のコンピューティングデバイスの場合、ユーザがユーザアバターをより速くかつより効率的にカスタマイズできるようにすることで、電力が節約され、バッテリ充電の間隔が長くなる。
【0233】
ディスプレイ(例えば、ディスプレイ601)と、1つ以上の入力デバイス(例えば、タッチ感知ディスプレイである場合、ディスプレイ601)と、を備える電子デバイス(例えば、
図9Aのデバイス600)。この電子デバイスは、ディスプレイ上に以下の表示を同時に含むアバター編集ユーザインタフェース(例えば、900)を表示する(1002):複数の編集可能な特徴(例えば、907~911)(例えば、髪型、顔の特徴、服のスタイル、アクセサリ)を有するアバター(例えば、901)(例えば、メモリからロードされたアバター、又は、以前の請求に従って生成されたアバター)と、修正のために現在選択されている第1のアバター特徴(例えば、
図9Aの909)(例えば、髪型の特徴カテゴリは、髪がない、カーリーヘア、ストレートヘアーなど、複数の髪型のタイプに対応する)及び修正のために現在選択されていない第2のアバター特徴(例えば、907、908、910、又は911)を含む、複数のアバター特徴の表現(例えば、907~911)(例えば、髪の特徴カテゴリは、かつらのように見えるアフォーダンスを有することになり、鼻の特徴カテゴリは、鼻の形のアフォーダンスを有することになるなど、カテゴリに対応する形のユーザ選択可能なユーザインタフェースオブジェクト)を含む、特徴選択制御領域(例えば、900B)と、現在選択されている第1のアバター特徴の第1のオプション(例えば、906)及び現在選択されていない第1のアバター特徴の第2のオプション(例えば、902~903)を含む、選択のための第1のアバター特徴の複数のオプションの表現(例えば、902~906)を含む、特徴オプション制御領域(例えば、900C)。一部の実施形態で、特徴選択制御領域内の表現は、対応するアバター特徴の形状に基づく形状を有する。一部の実施形態で、特徴オプション制御領域内の表現は、対応するアバター特徴オプションの形状に基づく形状を有する。一部の実施形態で、アバターの表示は、第1のアバター特徴が現在選択されているとき、第1のアバター特徴のインジケータを含む。特徴選択及び特徴オプションの異なる制御領域を表示することにより、電子デバイスは、ユーザにより迅速に理解される直感的インタフェースで強化されたアバターカスタマイズプロセスを提供する。これにより、ユーザは、より少ない対話でアバターをカスタマイズすることができ、電子デバイスの効率化、電力使用量の削減、デバイスの電池寿命の改善を行うことができる。
【0234】
電子デバイスは、アバター編集ユーザインタフェースを表示しつつ、アバター編集ユーザインタフェースにおける入力(例えば、912)を検出する(1004)。電子デバイスは、入力の検出に応じて(1006)、入力が特徴選択制御領域内の第2のアバター特徴(例えば、
図9Aの908)の選択に対応しているという判定に従って(1008)、第2のアバター特徴が現在選択されていることを示すように特徴選択制御領域を更新し(1010)(例えば、9B)(例えば、特徴インジケータを動かして第2のアバター特徴を強調表示する)、現在選択されている第2のアバター特徴の第1のオプション(例えば、915)及び現在選択されていない第2のアバター特徴の第2のオプション(例えば、913、914、916、又は917)を含む選択するための第2のアバター特徴の複数のオプションの表現(例えば、913~917)(例えば、いくつかの実施形態では、カーリーヘアの表現がカーリーに見えるなど、特徴オプション表現は、対応する特徴オプションと同じ形になる)を含むように特徴オプション制御領域を更新する(1012)。いくつかの例では、第1の特徴の特徴オプションの表示は、第2の特徴の特徴オプションに置き換えられる。例えば、第1の特徴が髪型であり、第2の特徴が鼻のスタイルである場合、異なる髪型のオプションの表現の表示を、異なる鼻のスタイルのオプションのアフォーダンスの表示に置き換える。
【0235】
電子デバイスは、入力(例えば、923)が特徴オプション制御領域(1014)内の第1のアバター特徴の第2のオプション(例えば、917)の選択に対応していると判定すると、第1のアバター特徴の第2のオプションが現在選択されていることを示すように特徴オプション制御領域を更新し(1016)(
図9C)、第1のアバター特徴の第2のオプションに従って第1のアバターの外観を変更するようにアバターを更新する(1018)(例えば、アバター901の髪は、
図9Bから
図9Cに更新される)(例えば、特徴オプションの特性に基づいてアバターを変更する、又は特徴選択が鼻のスタイルについてである場合、鼻の形状は選択された鼻のスタイルに対応するように変化する)。いくつかの実施形態では、電子デバイスが第1のアバター特徴の第2のオプションに従って第1のアバターの特徴の外観を変更するようにアバターを更新することは、電子デバイスがアニメーションを介して第1のオプションに基づく第1のアバター特徴を第2のオプションに基づく第1のアバター特徴に遷移させることを含む。一部の実施形態では、入力の検出に応じて、この入力は特徴オプション制御領域における第1のアバター特徴の第2のオプションの選択に対応しているという判定に従って、特徴選択制御領域を更新せずに特徴オプション制御領域を更新する(1020)(例えば、アバター901の髪は
図9Bから
図9Cに更新されるが、特徴選択制御領域には変化はない)。一部の実施形態において、入力の検出に応じて、入力は特徴選択制御領域における第2のアバター特徴の選択に対応しているという判定に従って、アバターを変更せずに特徴選択制御領域を更新する(1020)(例えば、
図9Aから
図9Bへの遷移により、特徴選択制御領域を更新するが、アバターは変更しない)。いくつかの例において、入力は、タップ、スワイプ、又はその他のタイプのジェスチャなど、ジェスチャ入力を含む。特徴オプションと特徴選択との表示の更新を分離することによって、他のどの特徴及びオプションが利用可能であるかをユーザが見直す能力を維持しつつ、対応する部分が変更されないときに制御領域又はアバターを更新しないことにより、電子デバイスの操作性を向上させ、電子デバイスをより効率的にし、電力使用量を削減し、デバイスのバッテリ寿命を改善する。
【0236】
一部の実施形態によれば、アバター編集ユーザインタフェースを表示することは、現在選択されている第1の色(例えば、920)及び現在選択されていない第2の色(例えば、918、919、921、又は922)を含む、第1のアバター特徴の複数の色のオプションの表現(例えば、918~922)を含む色選択領域(例えば、900D)を電子デバイスが同時にディスプレイに表示することを含み、色選択領域は、アバター(例えば、901)、特徴選択制御領域(例えば、900B)、及び特徴オプション制御領域(例えば、900C)と同時に表示される。一部の実施形態で、電子デバイスは、色選択領域を表示しつつ、第2の色(例えば、922)の選択に対応するユーザ入力(例えば、924)の検出に応じて、第2の色に基づいてアバターにおいて第1のアバター特徴の表示を更新する(例えば、
図9D)。
【0237】
一部の実施形態によれば、第1のアバター特徴はアバターの衣類(例えば、シャツ、帽子、又はネクタイ)であり、第2の色に基づいてアバターの第1のアバター特徴の表示を更新することは、アバターの衣類の色を第2の色に更新すること(例えば、衣類の色全体、又は、衣類のパターンの一部の色などの衣類のいくらかの部分を変更すること)を含む。いくつかの実施形態では、第1のアバター特徴(例えば、924)は、アバターのアクセサリ(例えば、眼鏡、帽子、ピアス、又は宝飾品)である。
【0238】
いくつかの実施形態によれば、ディスプレイはタッチ感知ディスプレイであり、タッチ感知ディスプレイ上でジェスチャ(例えば、タッチ及びドラッグジェスチャ、又はピンチジェスチャ)を受信したことに応じて、ジェスチャに基づいて第1のアバター特徴の特性を修正し、修正されたパラメータに基づいてアバターの表示を更新する。いくつかの例では、受信されるジェスチャは、ピンチジェスチャ、タッチ及びドラッグジェスチャ、又は他のタイプのジェスチャである。一部の実施形態では、以下の
図15A~15F及び
図16A~16Bに関して説明されるプロセスに応じて、修正が生じる。ジェスチャを用いてアバターの特徴を修正することにより、様々な特徴の設定を調整するための更に複雑な制御の使用を回避することによって、アバターカスタマイズプロセスをより効率的にする。これにより、より多くの情報をスクリーンに提示し、電子デバイスがより効率的に動作することを可能にし、性能全体を向上させる、及び/又は電池寿命を延ばす。
【0239】
いくつかの実施形態によれば、電子デバイスは、予め保存された複数のアバター(例えば、アバターの3×3リスト)を含むアバター管理インタフェースを表示し、予め保存されたアバターを選択するユーザ入力を受信し、予め保存されたアバターを選択するユーザ入力に応じて、予め保存されたアバターをアバター編集ユーザインタフェースに表示する。生成されたアバターの異なるバリエーションを提供することにより、電子デバイスは、ユーザの表現としてユーザが快適に共用しているアバターのユーザ選択をより迅速にすることによって、アバター編集プロセスを強化して、電子デバイスをより効率的にし、電力使用量を削減し、デバイスの電池寿命を改善する。
【0240】
一部の実施形態によれば、電子デバイスは、アバターを更新して第1のアバター特徴の第2のオプションに従って第1のアバター特徴の外観を変更した後、アバターレシピ(例えば、アバターの非グラフィカル表現)としてアバターを記憶し、アバターレシピは、第2のオプション(例えば、目、鼻、口、眼鏡)及びアバターパラメータ(例えば、目の色、鼻のサイズ、口の形状、眼鏡のタイプ)を含む、アバター構造を定義する。
【0241】
いくつかの実施形態によれば、電子デバイスは、アバターレシピを連絡先に送信する。いくつかの例では、アバターレシピは、アバターレシピを他のユーザに送信するという要求に対応するユーザ入力に応じて、別のユーザに送信される。例えば、
図13A及び13Bのプロセス1300に関して後述するように、アバターレシピは別のユーザに送られる。
【0242】
いくつかの実施形態によれば、電子デバイスは、1つ以上の入力デバイスを介してアバター編集ユーザインタフェースに関連する入力が所定の期間に(例えば、リフトオフから所定の期間後、ユーザがタッチスクリーンとの接触を中断した後)検出されないことに従って、アバターアニメーションでアバターの表示の更新を行う。
【0243】
いくつかの実施形態によれば、電子デバイスは、アバターを更新して、第1のアバター特徴の第2のオプションに従って第1のアバター特徴の外観を変更し(例えば、
図9F~9Gでは、アバターは眼鏡を含むように更新されている)、電子デバイスが第2のオプションに基づいてアバターの表情を修正することを含む。いくつかの例において、第1のアバター特徴は眼鏡についてであり、第1のオプションと第2のオプションとは異なるスタイルの眼鏡であり、第2のオプションを選択すると、ランダムにアバターを微笑ませる、肯定的反応を与えさせる、又は他のフィードバックを提供させる。
【0244】
一部の実施形態において、電子デバイスは、アバターを表示しつつ、電子デバイスの1つ以上の入力デバイスを介する入力(例えば、マウスのカーソル又はタッチ)の検出に応じて、この入力に関連する位置(例えば、スクリーン上のカーソルの位置、又はタッチ入力の位置)に基づいてアバターの目を更新する。一部の実施形態において、電子デバイスは、アニメーションループに基づいてアバターを更新し、アニメーションループはアバターの一連の表情を含む。一部の実施形態において、アニメーションループは持続時間を有し、電子デバイスは、この持続時間より少ないランダムな時間オフセットを決定し、アニメーションループに基づいてアバターを更新することは、ランダムな時間オフセットに基づいてアニメーションループ内のある位置で開始するアバターを更新すること(例えば、同じアニメーションループを表示している他のアバターとのアニメーションループの同期を避けるために)を含む。一部の実施形態において、電子デバイスは、所定の期間の後にアニメーションループに基づいてアバターの更新を中止する。ランダムな開始時間を有するアニメーションループに応じてアバターを動画化することにより、一緒に表示される複数のアバター(例えば、異なるユーザのアバター)が一致して動画化されないことを確実にすることによって、電子デバイスは強化されている。これにより、カスタマイズプロセスにおいて又は他の状況においてユーザがアバターとの対話を持続する可能性を高める。
【0245】
いくつかの実施形態によれば、
図11は、説明される様々な実施形態の原理に従って構成された電子デバイス1100の例示的な機能ブロック図を示す。いくつかの実施形態によれば、電子デバイス1100の機能ブロックは、前述の技術を実行するように構成されている。デバイス1100の機能ブロックは、説明される様々な例の原理を実行するために、ハードウェア、ソフトウェア、又はハードウェアとソフトウェアとの組合せによって、任意選択的に実装される。
図11で説明する機能ブロックは、説明される様々な例の原理を実施するために、任意選択的に、組み合わされ、又はサブブロックに分離されることが当業者に理解されよう。したがって、本明細書の記載は、本明細書に記載されている機能ブロックの任意の可能な組合せ若しくは分離、又は更なる定義を任意選択的にサポートする。
【0246】
図11に示すように、電子デバイス1100は、グラフィックユーザインタフェースを表示するように構成されたディスプレイユニット1102、入力ユニット1104、並びに、ディスプレイユニット1102及び入力ユニット1104に接続された処理ユニット1106を含む。一部の実施形態では、処理ユニット1106は、表示有効化ユニット1110と、検出ユニット1112と、更新ユニット1114と、任意選択的に、修正ユニット1116と、受信ユニット1118と、記憶ユニット1120と、送信ユニット1122と、判定ユニット1124と、を含む。
【0247】
処理ユニット1106は、アバター編集ユーザインタフェースを(例えば、表示有効化ユニット1110を使用して)表示するように構成され、アバター編集ユーザインタフェースは以下の同時表示を含む:複数の編集可能な特徴を有するアバターと、修正のために現在選択されている第1のアバター特徴及び修正のために現在選択されていない第2のアバター特徴を含む、複数のアバター特徴の表現を含む特徴選択制御領域と、現在選択されている第1のアバター特徴の第1のオプション及び現在選択されていない第1のアバター特徴の第2のオプションを含む選択するための第1のアバター特徴の複数のオプションの表現を含む特徴オプション制御領域。処理ユニット1106は、アバター編集ユーザインタフェースを表示しつつ、アバター編集ユーザインタフェースにおいて入力を(例えば、検出ユニット1112を使用して)検出するように更に構成されている。処理ユニット1106は、入力が検出されたことに応じて、入力は特徴選択制御領域における第2のアバター特徴の選択に対応しているという判定に従って、第2のアバター特徴が現在選択されていることを示すように特徴選択制御領域を(例えば、更新ユニット1114を使用して)更新し、現在選択されている第2のアバター特徴の第1のオプション及び現在選択されていない第2のアバター特徴の第2のオプションを含む選択するための第2のアバター特徴の複数のオプションの表現を含むように特徴オプション制御領域を(例えば、更新ユニット1114を使用して)更新する。処理ユニット1106は、入力は特徴オプション制御領域における第1のアバター特徴の第2のオプションの選択に対応しているという判定に従って、第1のアバター特徴の第2のオプションが現在選択されていることを示すように特徴オプション制御領域を(例えば、更新ユニット1114を使用して)更新し、第1のアバター特徴の第2のオプションに従って第1のアバター特徴の外観を変更するようにアバターを(例えば、更新ユニット1114を使用して)更新するように更に構成されている。
【0248】
いくつかの実施形態では、入力の検出に応じて、この入力は特徴オプション制御領域における第1のアバター特徴の第2のオプションの選択に対応しているという判定に従って、アバター特徴制御領域を更新することなく、特徴オプション制御領域が更新される。
【0249】
一部の実施形態において、入力の検出に応じて、かつ入力は特徴選択制御領域における第2のアバター特徴の選択に対応しているという判定に従って、アバターを更新することなく、特徴選択制御領域が更新される。
【0250】
一部の実施形態において、アバター編集ユーザインタフェースの表示は更に、現在選択されている第1の色及び現在選択されていない第2の色を含む、第1のアバター特徴の複数の色オプションの表現を含む色選択領域のディスプレイ上の同時表示を含み、色選択領域は、アバター、特徴選択制御領域、及び特徴オプション制御領域と同時に表示される。
【0251】
一部の実施形態では、処理ユニット1106は、色選択領域を表示しつつ、第2の色の選択に対応するユーザ入力の検出に応じて、第2の色に基づいてアバターにおいて第1のアバター特徴の表示を(例えば、更新ユニット1114を使用して)更新するように更に構成されている。
【0252】
一部の実施形態において、第1のアバター特徴は、アバターの衣類であり、第2の色に基づいてアバターの第1のアバター特徴の表示を更新することは、アバターの衣類の色を第2の色に更新することを含む。
【0253】
一部の実施形態では、第1のアバター特徴はアバターのアクセサリである。
【0254】
いくつかの実施形態では、表示ユニットは、タッチ感知ディスプレイユニットであり、処理ユニット1106は、タッチ感知ディスプレイでのジェスチャの受信に応じて、ジェスチャに基づいて第1のアバター特徴の特性を(例えば、修正ユニット1116を使用して)修正し、修正されたパラメータに基づいてアバターの表示を(例えば、更新ユニット1114を使用して)更新するように更に構成されている。
【0255】
一部の実施形態において、処理ユニット1106は、予め保存された複数のアバターを含むアバター管理インタフェースを(例えば、表示有効化ユニット1110を使用して)表示し、予め保存されたアバターを選択するユーザ入力を(例えば、受信ユニット1118を使用して)受信し、予め保存されたアバターを選択するユーザ入力に応じて、アバター編集ユーザインタフェースにおいて予め保存されたアバターを(例えば、表示有効化ユニット1110を使用して)表示するように更に構成されている。
【0256】
一部の実施形態で、処理ユニット1106は、アバターを更新して第1のアバター特徴の第2のオプションに従って第1のアバター特徴の外観を変更した後、アバターレシピとしてアバターを(例えば、記憶ユニット1120を使用して)記憶するように更に構成され、アバターレシピは、第2のオプションを含むアバター構造と、アバターパラメータとを定義する。
【0257】
一部の実施形態において、処理ユニット1106は、アバターレシピを連絡先に(例えば、送信ユニット1122を使用して)送るように更に構成されている。
【0258】
一部の実施形態では、処理ユニット1106は、第1の連絡先のアバターレシピを(例えば、受信ユニット1118を使用して)受信し、第1の連絡先を含む複数の連絡先の連絡先情報を(例えば、表示有効化ユニット1110を使用して)表示するように更に構成され、第1の連絡先について表示される連絡先情報は、第1の連絡先のアバターレシピに基づくアバターを含む。
【0259】
いくつかの実施形態では、アバターの表示は、第1のアバター特徴が現在選択されている場合に第1のアバター特徴のインジケータを含む。
【0260】
一部の実施形態において、特徴選択制御領域内の表現は、対応するアバター特徴の形状に基づく形状を有する。
【0261】
一部の実施形態において、特徴オプション制御領域内の表現は、対応するアバター特徴オプションの形状に基づく形状を有する。
【0262】
いくつかの実施形態では、処理ユニット1106は、所定の期間にアバター編集ユーザインタフェースに関連する入力を1つ以上の入力デバイスを介して検出しなかったことに従って、アバターアニメーションでアバターの表示を(例えば、更新ユニット1114を使用して)更新するように更に構成されている。
【0263】
いくつかの実施形態では、第1のアバター特徴の第2のオプションに従って第1のアバター特徴の外観を変更するようにアバターを更新することは、第2のオプションに基づいてアバターの表情を修正することを含む。
【0264】
いくつかの実施形態では、処理ユニット1106は、アバターを表示しつつ、電子デバイスの1つ以上の入力デバイスを介して入力を検出したことに応じて、入力に関連付けられた位置に基づいてアバターの目を(例えば、更新ユニット1114を使用して)更新するように更に構成されている。
【0265】
一部の実施形態において、処理ユニット1106は、アニメーションループに基づいてアバターを(例えば、更新ユニット1114を使用して)更新するように更に構成され、アニメーションループはアバターの一連の表情を含む。
【0266】
いくつかの実施形態では、アニメーションループは持続時間を有し、処理ユニット1106は、この持続時間より少ないランダムな時間オフセットを(例えば、判定ユニット1124を使用して)判定するように更に構成され、アニメーションループに基づいてアバターを更新することは、ランダムな時間オフセットに基づくアニメーションループ内の位置で開始するアバターを更新することを含む。
【0267】
いくつかの実施形態では、処理ユニット1106は、所定の期間後に、アニメーションループに基づいてアバターの更新を停止するように更に構成されている。
【0268】
いくつかの実施形態では、第1のアバター特徴の第2のオプションに従って第1のアバター特徴の外観を変更するようにアバターを更新することは、アニメーションを介して第1のオプションに基づく第1のアバター特徴を第2のオプションに基づく第1のアバター特徴に遷移させることを含む。
【0269】
図10A及び
図10Bを参照して前述された動作は、
図1A~
図1B又は
図11に示された構成要素によって、任意選択的に実施される。例えば、検出動作1004は、任意選択的に、イベントソータ170、ディスプレイコントローラ156、及びタッチ感知ディスプレイシステム112によって実施される。同様に、当業者には、
図1A~1Bで示した構成要素に基づいて他の処理がどのように実施され得るかは明らかであろう。
【0270】
図12A~
図12Jは、いくつかの実施形態による、メッセージ内のアバターステッカを使用する例示的なユーザインタフェースを示す。これらの図のユーザインタフェースは、
図13のプロセスを含む、後述のプロセスを説明するために使用される。
【0271】
図12Aは、一部の例では前述のデバイス100、デバイス300、又はデバイス500の具体的なフォームファクタである、デバイス600(
図6Aに関して前述した)を示す。デバイス600は、一部の実施形態ではタッチ感知ディスプレイである、ディスプレイ601を含む。
【0272】
図12Aにおいて、ディスプレイ1201は、別名「ジョー」のメッセージングインタフェース1203を表示している。メッセージングインタフェース1203は、戻るボタン1204、ユーザ名1205、ユーザ画像1206、及び連絡先情報ボタン1207を含む。例えばディスプレイ1201上の戻るボタン1204に触れることにより、ユーザが戻るボタン1204を選択したことに応じて、メッセージングインタフェース1203は、最近のメッセージが表示されるメインメッセージングスクリーンに戻る、及び/又は他のユーザが通信するために選択される。ユーザ名1205及びユーザ画像1206は、メッセージングインタフェース1203が通信するように構成された現在の他のユーザを示す。ユーザ画像1206は、例えば、他のユーザのアバター(例えば、絵文字又は他のグラフィック表現(例えば、非写実的表現)、他のユーザの画像、又は他のユーザに関連付けられた何らかの他の画像)である。ユーザが連絡先情報ボタン1207を選択したことに応じて、オプション、設定、及び連絡先に関連付けられた他の動作がアクセス可能になる。いくつかの例では、連絡先情報ボタン1207は、ユーザが他のチャネルの通信を使用して他のユーザとの通信を開始することを可能にする、ユーザが他のユーザについての通信設定を変更することを可能にする、ユーザが他のユーザにある特定のタイプの情報(例えば、現在位置)を送ることを可能にする、及び/又は、ユーザがそのユーザとの以前の通信に関連する情報を見直すことを可能にする、連絡先インタフェースページをデバイス1200に開かせる。
【0273】
メッセージングインタフェース1203は、
図12Aでは空であるメッセージエリア1208と、メッセージ入力エリア1209とを含む。メッセージ入力エリアは、フォトボタン1210、描画ボタン1211、ステッカボタン1212、テキスト入力フィールド1213、及び音声認識ボタン1214を含む。フォトボタン1210は、ユーザが既存の画像/ビデオを選択すること、又は新しい画像/ビデオをキャプチャして他のユーザへのメッセージに含めることを可能にする。描画ボタン1211は、ユーザがスケッチを作成して他のユーザへのメッセージに含めることを可能にする。ステッカボタン1212は、ステッカを選択して他のユーザへのメッセージに含めることを可能にする。テキスト入力フィールド1213は、ユーザが他のユーザへのメッセージに含まれることになるテキストをユーザが入力することを可能にする。
図12Aにおいて、テキスト入力フィールド1213は、他のユーザに送られることになるテキストメッセージのタイプを示す「iMessage」という単語を含む。音声認識ボタン1214は、ユーザが、テキストを手動で入力する代わりに、デバイス1200に話しかけることによってテキスト入力フィールド1213のテキストを入力できるようにする。
【0274】
図12Bに示すように、
図12Aのタッチ1215など、テキスト入力フィールド1213を選択するユーザ入力に応じて、キーボード1216がディスプレイ1201に表示される。また、テキスト入力フィールド1213は、ディスプレイで上に移動され、
図12Aのフォトボタン1210、描画ボタン1211、及びステッカボタン1212を隠すことによって、拡張される。これらのボタンは、ユーザが展開ボタン1217を選択すると再表示される。また、いくつかの例では、カーソル(図示せず)が、テキスト入力フィールド1213の内部に表示される。
【0275】
図12Cに示すように、キーボード1216での文字の選択(例えば、文字「H」及び「I」のそれぞれの
図12Bのタッチ1218及び1219など、キーボード1216のタッチを介する)に応じて、テキスト入力フィールド1213は、選択された文字を含むように更新される。また、音声認識ボタン1214(
図12B)を送信ボタン1220に置き換え、入力されたテキスト及び画像データなどの他のデータを含む、現在入力されたメッセージを他のユーザに送信する。
【0276】
図12Dは、キーボード1216の追加のタッチを介する追加のテキスト入力の後の、メッセージングインタフェース1203を示す。テキスト入力フィールド1213は、追加の入力されたテキストを含む。
【0277】
ユーザがテキスト入力フィールド1213にテキストを入力すると、ユーザは、例えばディスプレイ1201上のタッチ1221を介して送信ボタン1220を選択することによって、メッセージの送信準備が整ったことを示す。これに応じて、デバイス1200は、
図12Dの例ではテキスト入力フィールド1213内のテキストを含むメッセージを用意する。メッセージの送信準備が整うと、デバイス1200は、他のユーザ(
図12A~12Jの例の場合には「ジョー」という名の他のユーザ)にメッセージを送信する。
【0278】
図12Eに示すように、他のユーザへのメッセージ送った後、テキスト入力フィールド1213のテキストを含む、メッセージ内容が、テキストボックス1222内に表示されたメッセージエリア1208内に表示される。テキストボックス1222は、任意選択的に、メッセージの他の非テキストコンテンツ(例えば、画像、アニメーション、ビデオなど)も含む。テキストボックス1222の表示に加えて、テキストボックス1222に隣接してアバター1223も表示される(例えば、メッセージがアバターの口から出る)。一部の実施形態において、アバター1223は、デバイス1200のユーザを表す、予め定義された(例えば、ベースラインの)アバター又はアバターモデル(例えば、ワイヤ、メッシュ、又は構造モデル)に基づいて、生成される。
【0279】
図12Fは、メッセージを「ジョー」という名の他のユーザから受信した(例えば、「ジョー」という他のユーザに関連付けられた電子デバイスから受信した)後のメッセージングインタフェース1203を示す。メッセージエリア1208内のテキストボックス1224に、メッセージの内容が表示される。また、関連するアバター1225がテキストボックス1224に隣接して表示される。アバター1223のように、アバター1225は、デバイス1200のユーザではなくて、定義済み(例えば、ベースライン)のアバター又はアバターモデルが「ジョー」を表す場合を除いて、予め定義されたアバター又はアバターモデルに基づく。予め定義されたアバター又はアバターモデルは、任意選択的に、デバイス1200のユーザによって設定されるか、又は他のユーザ若しくはリモートサーバによって提供される。デバイス1200は、任意選択的に、予め定義されたアバター又はアバターモデルをローカルに記憶する、あるいは、必要に応じて、予め定義されたアバター又はアバターモデルを検索する。
【0280】
図12Gは、例えば
図12Fのタッチ1226によるステッカボタン1212のユーザ選択に応じて、表示されるステッカインタフェース1227で更新されたメッセージングインタフェース1203を示している。ステッカインタフェース1227は、デバイス1200のユーザを表す、予め定義された(例えば、ベースラインの)アバター又はアバターモデル(例えば、ワイヤ、メッシュ、又は構造モデル)に基づく3つのアバターステッカ1228、1229、及び1230を表示する。例えば、ベースラインアバターを定義するためにレシピが使用される場合、例えばアバターレシピ内の既存の要素に要素を追加する又は既存の要素を修正することによって、レシピに基づいてアバターステッカがステッカインタフェース1227内に生成される。一部の実施形態において、アバターレシピは、アバターの非グラフィカル表現である。例えば、いくつかの場合において、アバターレシピは、XMLなどの構造化文書を使用して、又はJSONなどの交換フォーマットを使用して、定義される。レシピは、構造的特徴(例えば、目、耳、口、髪)及び/又は特徴の様々な設定(例えば、サイズ、向き、スタイル、色)に関して、アバターを任意選択的に定義する。
【0281】
ステッカインタフェース1227内のステッカは、例えば、デバイス600から(例えば、場所、その場所の天気、カレンダの約束)又はメッセージインタフェース(例えば、既に受信若しくは送信されたメッセージ、及び/又は、入力済みだが送信されていないメッセージテキスト、及び/又は、ステッカの受信者)から得られたコンテキストに基づいて任意選択的に生成される。
【0282】
図12Gでは、一例として、ステッカ1230は、定義済みのアバターモデルと、会話が料理を作ることに関してであったことを示すメッセージングインタフェース1203からの情報とに基づいて、生成された。同様に、ステッカ1229は、定義済みのアバターモデルと、会話がデバイス600のユーザがジョーに何かを持って行くことに関してであったことを示すメッセージングインタフェース1203からの情報とに基づいて、生成された。ステッカ1228は、定義済みのアバターモデルに基づいて生成され、デバイス600又はメッセージングインタフェース1203からのコンテキストに基づいていない。その代わりに、ステッカ1228は、デバイス600のユーザによって最もよく使用されるステッカである。ステッカ1228は、矢印で示されるように、動画化される。ステッカインタフェース1227は、3つのステッカを示しているが、もしあれば、追加のステッカが、例えばインタフェース上の水平なスワイプジェスチャを介して、任意選択的にアクセスされる。
【0283】
ステッカインタフェース1227からテキストボックス1224にステッカ1230をドラッグする、ドラッグアンドドロップジェスチャ1231をデバイス600が受信したことに応じて、ステッカがテキストボックス1223に添付される。具体的には、
図12Gのステッカ1230と同じステッカ1232が、
図12Hに示すように、テキストボックス1224上に置かれる。また、ジョーのデバイスに表示されたジョーのテキストボックス上の類似の配置の追加情報(例えば、配置情報)とともに、ステッカ1232が、ジョーに送られる。いくつかの実施形態では、アバターステッカレシピが、ジョーに送られ、ステッカ1232を表す。いくつかの実施形態では、ジョーの電子デバイスがデバイス600のユーザのベースラインアバターモデルを既に有する又は取得することができる場合には、デバイス600のユーザのベースラインアバターモデルへの追加又は修正のみが、ジョーの電子デバイスに送られる。
【0284】
図12Iは、
図12A~12Dに関して説明したのと類似の方式でテキスト入力フィールド1213においてメッセージのテキストをユーザが入力した後のメッセージングインタフェースを示している。また、ユーザは、ステッカインタフェース1227に再び入っている。しかしながら、今回は、異なるセットのステッカが生成された。具体的には、ステッカ1233は、例えばユーザの現在の場所で雨が降っていると電子デバイス600が判定したこと、に応答したユーザのアバターを示す。
【0285】
例えばタッチ1234を介する、ステッカ1229の選択に応じて、ステッカ1229、及びメッセージの既に入力されたテキスト部分が、ジョーに送られ、
図12Jに示すように、テキストボックス1235及びステッカ1236としてメッセージングインタフェース1203に表示される。
【0286】
図13A及び13Bは、一部の実施形態による電子デバイス上でメッセージにおいてアバターステッカを使用する方法を示すフロー図である。方法1300は、ディスプレイを有するデバイス(例えば、100、300、500)で実行される。方法1300のいくつかの動作は、任意選択的に組み合わされ、いくつかの動作の順序は、任意選択的に変更され、いくつかの動作は、任意選択的に省略される。
【0287】
後述するように、方法1300は、メッセージにおいてアバターステッカを使用する直感的な方法を提供する。この方法は、メッセージにおいてアバターステッカを使用する際のユーザの認知負担を軽減し、それによって、より効率的なヒューマンマシンインタフェースを作り出す。バッテリ動作式のコンピューティングデバイスの場合には、ユーザがメッセージ内のアバターステッカをより速くかつより効率的に使用することを可能にすることにより、電力が節約され、バッテリ充電の間隔が長くなる。
【0288】
電子デバイス(例えば、
図12Aのデバイス600)は、ディスプレイ(例えば、ディスプレイ601)及び1つ以上の入力デバイスを有する。電子デバイスは、デバイスの第1のユーザと他のユーザとの間でメッセージを送信するメッセージングアプリケーション(例えば、iMessages又は他のメッセージングアプリケーション)のメッセージングインタフェース(例えば、1203)(例えば、別のユーザが選択された後のメッセージ入力インタフェース)を表示し(1302)、第1のユーザは、デバイスの第1のユーザを他のユーザ(例えば、1206及び1225と関連付けられた)と区別する第1のユーザのアバター(例えば、1233)によってメッセージングアプリケーションにおいて表される。電子デバイスは、メッセージングユーザインタフェースを表示しつつ、第1の要求(例えば、ジェスチャ1226)を受信して(1304)、第2のユーザに送るためのステッカ(例えば、1228~1230)を選択するステッカユーザインタフェース(例えば、1227)を表示する。
【0289】
ステッカユーザインタフェースを表示するという第1の要求に応じて、電子デバイスは、ディスプレイ上に、以下の同時表示を含む、ユーザのアバターに基づいて生成された第1の複数のアバターステッカ(例えば1228~1230)を含むステッカユーザインタフェースを表示する(1306):
ユーザを表すアバター(例えば、1223)の修正(例えば、アバターステッカを生成するために、アバターレシピパラメータが、アバターステッカを生成するためのアバターレシピに追加される、変更される、及び/又はアバターレシピから削除される)に基づいて生成された(例えば、微笑んでいるように、傘を持つように、又は走っているように修正された)第1のアバターステッカ(例えば、1228)と、ユーザを表しかつ第1のアバターステッカとは異なるアバターの修正に基づいて生成された第2のアバターステッカ(例えば1229)。既存のアバターを修正してユーザのアバターステッカを生成することによって、電子デバイスは、最初にベースラインアバターを生成する必要なしにどのステッカを生成及び/又は表示するかを変更することができることにより、より効率的に動作することができ、より大きな柔軟性を有し、これにより、電子デバイスの効率化、電力使用量の削減、及びデバイスの電池寿命の改善を行うことができる。
【0290】
電子デバイスは、ディスプレイにアバター選択インタフェースの複数のアフォーダンスを表示しつつ、対応するアバターステッカ(1230)を第1のユーザから第2のユーザにメッセージングアプリケーションを介して送信するという要求に対応する1つ以上の入力(例えば、ジェスチャ1231又は1234)のシーケンスを1つ以上の入力デバイス(例えば、ディスプレイ601)を介して検出する(1308)。いくつかの例では、1つ以上の入力のシーケンスは、ステッカを選択し、メッセージングインタフェース内の特定の場所にステッカをドラッグし、選択されたステッカを放すジェスチャに対応する。いくつかの例では、1つ以上の入力のシーケンスは、別のユーザに送る選択されたステッカのタップジェスチャである。
【0291】
1つ以上の入力のシーケンスの検出に応じて(1310):電子デバイスは、この1つ以上の入力のシーケンスが第1のアバターステッカの選択に対応しているという判定に従って、第2のユーザに対する第1のアバターステッカをメッセージングアプリケーションを介して第1のユーザから第2のユーザに送り(1312)(例えば、
図12~12H)、この1つ以上の入力のシーケンスが第2のアバターステッカ(例えば、1229)の選択に対応しているという判定に従って、メッセージングアプリケーションを介して第1のユーザから第2のユーザに第2のアバターステッカを送る(1314)(例えば、
図12I~12J)。
【0292】
いくつかの実施形態によれば、ユーザのアバターは、アバターレシピ(例えば、アバターの非グラフィック表現)に基づいている(1316)。いくつかの例では、アバターレシピは、アバターを生成するために使用されるアバター特徴及びアバターパラメータを定義する、XMLなどの構造化文書である。いくつかの実施形態では、ユーザのアバターのアバターレシピの第1のパラメータを修正することによって、第1のアバターステッカが生成される(1318)。一部の実施形態では、第1のアバターステッカ(例えば、1228)は動画化される(例えば、第1のアバターステッカにおいて、アバターが手を振っている、ウインクしている、又は雨に降られている)。一部の実施形態では、第2のアバターステッカ(例えば、1230)は、プロップ(例えば、傘、旗、又は、眼鏡などのアバターのそばにある他のオブジェクト若しくはアバターに通常関連付けられているオブジェクト)を含む。いくつかの例では、ユーザのアバターのアバターレシピは、ユーザの表情又は感情を表すパラメータを含む。任意選択的に、アバターレシピへの表情又は感情のパラメータの追加は、第1のアバターステッカにおける複数の特徴がどのように生成されるかに影響を及ぼすことになる。一例では、幸せの感情は、未修正のステッカから生成されたアバターステッカにおけるこれらの特徴の外観と比較して、対応する第1のアバターステッカにおける口、目、顔の輪郭の外観を変化させる。いくつかの実施形態では、ユーザのアバターのアバターレシピに第2のパラメータを加えることによって、第2のアバターステッカが生成される(1320)。いくつかの例では、アバターのアクセサリを表すパラメータなど、アバターレシピにパラメータが付加される。一例では、傘の下のアバターレシピから生成されたアバターをアバターステッカが含むように傘パラメータが追加される。一部の実施形態において、第2のユーザへ第1のアバターステッカを送ることは、第1のアバターステッカを表すレシピをユーザに送ることを含む。アバターレシピを使用してアバターステッカを生成及び/又は送信することにより、より少ない量のデータをより速く送信することができ、処理要件はより低くなり、関与する電子デバイスの性能(例えば、電池の寿命及び応答性)を向上させる。
【0293】
一部の実施形態によれば、電子デバイスのメッセージングアプリケーションを介する第1のユーザから第2のユーザへの第1のアバターステッカの第2のユーザへの送信の一部として、第2のユーザに関連付けられたデバイスはアバターレシピをサポートしている(例えば、このデバイスは、第1のユーザと同じメッセージングアプリケーション、又は異なる、互換性のあるメッセージングアプリケーションを使用している)という判定に従って、第1のアバターステッカを第2のユーザに送ること(1322)は、ユーザに第1のアバターステッカを表すレシピを送ることと、第2のユーザに関連付けられたデバイスはアバターレシピをサポートしていないという判定に従って、ユーザに第1のアバターステッカのグラフィカル表現を送ること(1324)とを含む。第1のアバタースティックをレシピとして送ることにより、電子デバイスは、グラフィック表現を送る場合に比べてより少ないデータを送り、より迅速にこのデータを送ることができ、電子デバイスの効率及び性能を向上させる。また、一部の実施形態において、受信者の電子デバイスが既にアクセスを有する電子デバイスのユーザのベースラインアバターへの追加又は修正のみを送ることにより、データを更に減らすことができる。
【0294】
一部の実施形態によれば、メッセージングインタフェースの少なくとも一部と同時にステッカユーザインタフェースが表示される(例えば、
図12G及び12I)。一部の例では、ステッカインタフェースは、メッセージングインタフェースの一部と重なって表示される。いくつかの例では、ステッカインタフェースは、メッセージングインタフェースの隣(例えば、左若しくは右又は上若しくは下)に表示される。いくつかの例では、メッセージングインタフェースは、1つの方向にスライドし、インタフェースが重なり合うことなくステッカインタフェース及びメッセージングインタフェースが同時に表示される。メッセージングインタフェースとステッカユーザインタフェースを表示することによって、電子デバイスは、ユーザがアバターステッカを選択してメッセージングアプリケーションにおいてメッセージの一部として送りながら過去のメッセージを見直すことを可能にするより優れたユーザ体験を提供する。これにより、より多くのデータをスクリーンに表示し、デバイスとの持続的な対話をより容易にして、マンマシンインタフェースを改善する。
【0295】
いくつかの実施形態によれば、電子デバイスは、ステッカユーザインタフェースの表示要求を受信する前に、ユーザメッセージのテキスト部分(例えば、1213)のユーザ入力を受信し、1つ以上の入力のシーケンスを検出した後、メッセージングアプリケーションを介してユーザメッセージのテキスト部分を第2のユーザに送信する(例えば、
図12I~12J)。アバターステッカの選択前にテキストを入力できるようにすることで、電子デバイスは、ユーザがテキストコンテンツ並びにステッカコンテンツを組み込んだメッセージを送ることができるようにし、所望の情報を送るために必要なユーザ対話の数を減らすこと(例えば、ユーザは複数のメッセージではなく1つのメッセージを送るだけでよい)により、電子デバイスの効率化、電力使用量の削減、及びデバイスの電池寿命の改善を行う。
【0296】
いくつかの実施形態によれば、電子デバイスは、第1のアバターステッカ又は第2のアバターステッカを送信した後、ディスプレイにアバター選択インタフェースの複数のアフォーダンスを表示しつつ、第1のユーザから第2のユーザにメッセージングアプリケーションを介して対応するアバターステッカを送るという要求に対応する1つ以上の入力の第2のシーケンスを1つ以上の入力デバイスを介して検出する(例えば、
図12J)。1つ以上の入力の第2のシーケンスの検出に応じて、この1つ以上の入力のシーケンスが第2のアバターステッカの選択に対応しているという判定に従って、電子デバイスは、メッセージングアプリケーションを介して第1のユーザから第2のユーザに第2のアバターステッカを送る。
【0297】
いくつかの実施形態によれば、
図14は、説明されている様々な実施形態の原理に従って構成された電子デバイス1400の例示的な機能ブロック図を示す。いくつかの実施形態によれば、電子デバイス1400の機能ブロックは、前述の技術を実行するように構成されている。デバイス1400の機能ブロックは、説明されている様々な例の原理を実行するために、ハードウェア、ソフトウェア、又はハードウェアとソフトウェアとの組合せによって、任意選択的に実装される。
図14で説明する機能ブロックが、説明されている様々な例の原理を実施するために、任意選択的に、組み合わされる、又はサブブロックに分離されることが当業者には理解される。したがって、本明細書の記載は、本明細書に記載されている機能ブロックの任意の可能な組合せ若しくは分離、又は更なる定義を任意選択的にサポートする。
【0298】
図14に示すように、電子デバイス1400は、グラフィックユーザインタフェースを表示するように構成されたディスプレイユニット1402、入力ユニット1104、並びに、ディスプレイユニット1402及び入力ユニット1104に結合された処理ユニット1406を含む。いくつかの実施形態では、処理ユニット1406は、表示有効化ユニット1410、受信ユニット1412、検出ユニット1414、送信ユニット1416、及び、任意選択的に受信ユニット1418を含む。
【0299】
処理ユニット1406は、デバイスの第1のユーザと他のユーザとの間でメッセージを送信するメッセージングアプリケーションのメッセージングインタフェースを(例えば、表示有効化ユニット1410を用いて)表示するように構成され、第1のユーザは、デバイスの第1のユーザを他のユーザと区別するユーザのアバターによってメッセージングアプリケーションにおいて表される。処理ユニット1406は、メッセージングユーザインタフェースを表示しつつ、第2のユーザに送るためのステッカを選択するステッカユーザインタフェースを表示するという第1の要求を(例えば、受信ユニット1412を使用して)受信するように更に構成されている。ステッカユーザインタフェースを表示するという第1の要求に応じて、処理ユニット1406は、ディスプレイユニット上の以下の同時表示を含む、ユーザのアバターに基づいて生成された第1の複数のアバターステッカを含むステッカユーザインタフェースを(例えば、表示有効化ユニット1410を使用して)表示するように構成されている:ユーザを表すアバターの修正に基づいて生成された第1のアバターステッカ、及び、ユーザを表しかつ第1のアバターステッカとは異なるアバターの修正に基づいて生成された第2のアバターステッカ。処理ユニット1406は、ディスプレイにアバター選択インタフェースの複数のアフォーダンスを表示しつつ、メッセージングアプリケーションを介して第1のユーザから第2のユーザに対応するアバターステッカを送るという要求に対応する1つ以上の入力のシーケンスを1つ以上の入力デバイスを介して(例えば、検出ユニット1414を使用して)検出するように構成されている。1つ以上の入力のシーケンスの検出に応じて:処理ユニット1406は、この1つ以上の入力のシーケンスが第1のアバターステッカの選択に対応しているという判定に従って、メッセージングアプリケーションを介して第1のユーザから第2のユーザに第2のユーザに対する第1のアバターステッカを(例えば、送信ユニット1416を使用して)送り、この1つ以上の入力のシーケンスが第2のアバターステッカの選択に対応しているという判定に従って、メッセージングアプリケーションを介して第1のユーザから第2のユーザに第2のアバターステッカを(例えば送信ユニット1416を使用して)送るように構成されている。
【0300】
いくつかの実施形態では、ユーザのアバターは、アバターレシピに基づく。いくつかの実施形態では、第1のアバターステッカは、ユーザのアバターのアバターレシピの第1のパラメータを修正することによって生成された。いくつかの実施形態では、第2のアバターステッカは、第2のパラメータ(例えば、アクセサリを追加する又は表情を指定するパラメータ)をユーザのアバターのアバターレシピに追加することによって生成された。いくつかの実施形態では、第1のアバターステッカを第2のユーザに送ることは、第1のアバターステッカを表すレシピを第2のユーザに送ることを含む。
【0301】
一部の実施形態において、処理ユニット1406がメッセージングアプリケーションを介して第1のユーザから第2のユーザに第2のユーザに対する第1のアバターステッカを送るように構成されることは更に、処理ユニット1406が、第2のユーザに関連付けられたデバイスはアバターレシピをサポートするという判定に従って、第1のアバターステッカを表すレシピをユーザに送ることを含む、第2のユーザに第1のアバターステッカを(例えば、送信ユニット1416を使用して)送ることと、第2のユーザに関連付けられたデバイスはアバターレシピをサポートしないという判定に従って、ユーザに第1のアバターステッカのグラフィカル表現を(例えば、送信ユニット1416を使用して)送ることとを行うように更に構成されることを含む。
【0302】
いくつかの実施形態では、ステッカユーザインタフェースは、メッセージングインタフェースの少なくとも一部分と同時に表示される。一部の実施形態では、第1のアバターステッカは動画化される。一部の実施形態において、第2のアバターステッカはプロップを含む。
【0303】
いくつかの実施形態では、処理ユニット1406は、ステッカユーザインタフェースを表示するという要求を受信する前に、ユーザメッセージのテキスト部分のユーザ入力を(例えば、受信ユニット1418を使用して)受信するように、かつ1つ以上の入力のシーケンスを検出した後にメッセージングアプリケーションを介してユーザメッセージのテキスト部分を(例えば、送信ユニット1416を使用して)第2のユーザに送るように更に構成されている。
【0304】
一部の実施形態では、処理ユニット1406は、第1のアバターステッカ又は第2のアバターステッカを送信した後に、ディスプレイにアバター選択インタフェースの複数のアフォーダンスを表示しつつ、対応するアバターステッカをメッセージングアプリケーションを介して第1のユーザから第2のユーザに送るという要求に対応する1つ以上の入力の第2のシーケンスを1つ以上の入力デバイスを介して検出するように、そして、1つ以上の入力の第2のシーケンスの検出に応じて、この1つ以上のシーケンスは第2のアバターステッカの選択に対応しているという判定に従って、第2のアバターステッカを第1のユーザから第2のユーザにメッセージングアプリケーションを介して送るように更に構成されている。
【0305】
図13A及び
図13Bを参照して前述された動作は、
図1A~1B又は
図14に示される構成要素によって、任意選択的に実施される。例えば、検出動作1308は、任意選択的に、イベントソータ170、ディスプレイコントローラ156、及びタッチ感知ディスプレイシステム112によって実施される。同様に、当業者には、
図1A~1Bに示した構成要素に基づいて他の処理がどのように実施され得るかは明らかであろう。
【0306】
図15A~15Fは、いくつかの実施形態による、通知の例示的ユーザインタフェースを示す。これらの図でのユーザインタフェースは、
図16での処理を含む後述の処理を説明するために使用される。
【0307】
図15Aは、いくつかの例ではデバイス100、デバイス300、又はデバイス500の具体的なフォームファクタである、デバイス600(
図6Aに関して前述)を示す。デバイス600は、いくつかの実施形態ではタッチ感知ディスプレイである、ディスプレイ601を含む。
【0308】
図15Aにおいて、デバイス600は、ディスプレイ601上にアバターカスタマイズインタフェース1500を表示する。いくつかの実施形態では、アバターカスタマイズインタフェース1500は、
図9A~9Hに関して前述したアバターカスタマイズインタフェース900と同じである。アバターカスタマイズインタフェース1500は、アバター1501と、特徴表現1507~1511を含む特徴選択制御領域と、オプション表現1502~1506を含む特徴オプション制御領域との表示を含む。特徴表現1507~1511は、アバターカスタマイズインタフェース1500において編集可能なアバター特徴に対応し、編集のために現在選択されている特徴に対応する表現を識別するインジケータ(周囲をボールドしたインジケータ1508)を含む。オプション表現1502~1511は、選択された特徴の異なるスタイル(例えば、形状、サイズ、型)にそれぞれが対応する特徴オプションに対応する。一部の実施形態で、特徴選択制御領域及び特徴オプション制御領域は、
図9A~9Hに関して前述したのと同じに実装される。
【0309】
アバターカスタマイズインタフェース1500はまた、特徴選択制御領域における編集のためにどのアバター特徴が現在選択されているかの視覚的インジケーションを提供するインジケータ1512を含む。一部の実施形態では、強調表示、円、特徴の移動、及び/又は他のスタイルのインジケータなどの他のインジケータが使用される。
【0310】
アバターカスタマイズインタフェース1500は、ディスプレイ601がタッチ感知ディスプレイである場合、ディスプレイ601上で受信されたジェスチャに応じて、選択されたアバター特徴の編集を可能にする。デバイス600は、ジェスチャのタイプ(例えば、タップ、ピンチ、ドラッグ、回転)、方向(例えば、垂直、水平、時計回り、反時計回り、拡張、絞り)、現在選択されているアバター特徴、及び/又はジェスチャの場所を含む、いくつかの要因のいずれかに基づいて、アバター1501に対する適切な修正を決定する。
【0311】
例えば、編集のために耳が現在選択されている(表現1508は耳に対応する)ときに、
図15Aのピンチのジェスチャ1513を受信した場合、デバイス600は、ピンチのジェスチャに従って、耳を拡大/縮小する(例えば、拡張するピンチでは耳を大きくし、絞り込むピンチでは耳を小さくする)。
図15Aのアバター1501上の拡張するピンチ1513の結果は、
図15Bに示されている。具体的には、
図15Bでは、アバター1501の耳は、
図15Aのアバター1501の耳に比べて大きくなっている。
【0312】
別の例として、耳が編集のために現在選択されている(表現1508は耳に対応する)ときに
図15Bの垂直ドラッグジェスチャ1514を受信した場合、デバイス600は、このドラッグジェスチャに応じて耳の垂直位置を移動させる(例えば、上向きのドラッグでは耳を上に移動させ、下向きのドラッグでは耳を下に移動させる)。
図15Bのアバター1501上の垂直ドラッグ1514の結果は、
図15Cに示されている。具体的には、
図15Cにおいて、アバター1501の耳は、
図15Bのアバター1501の耳と比べて上に移動している。
【0313】
図15Dは、例えば
図15Cのタッチ1515を介する、異なる特徴表現(例えば、表現1509)の選択を電子デバイス600が受信したことに応答したアバターカスタマイズインタフェース1500を示す。
図15Dでは、編集のために選択された表現1509に対応する特徴は鼻であることを示すために、インジケータ1512は移動した。また、特徴オプション制御領域は、ここでは新しい特徴オプション表現1516~1520を含む。
図9A~9Hに関して前述したように、色表現1521~1525を有する色選択制御領域もまた、表現1525に対応する色が現在選択されているというインジケーションと表示される。
【0314】
鼻が編集のために現在選択されている(表現1509は鼻に対応する)ときに
図15Dのピンチジェスチャ1526を受信した場合、デバイス600は、このピンチジェスチャに応じて鼻の幅を変更する(例えば、拡張するピンチは鼻を広くし、一方、絞り込むピンチは鼻を狭くする)。
図15Dのアバター1501上の拡張するピンチ1526の結果は、
図15Eに示されている。具体的には、
図15Eでは、
図15Dのアバター1501の鼻に比べて、アバター1501の鼻は広くなっている。異なるアバター特徴が編集のために選択されていることに基づいて、ピンチジェスチャ1526(
図15D)の効果(幅の変更)は、ピンチジェスチャ1513(
図A)の効果(大きさの変更)とは異なる。
【0315】
鼻が編集のために現在選択されている(表現1509は鼻に対応する)ときに
図15Eの垂直ドラッグジェスチャ1527を受信した場合、デバイス600は、ドラッグジェスチャに応じて鼻の垂直位置を移動させる(例えば、上向きのドラッグでは鼻を上に移動させ、下向きのドラッグでは鼻を下に移動させる)。アバター1501上の
図15Eの垂直ドラッグ1527の結果は、
図15Fに示されている。具体的には、
図15Fでは、アバター1501の鼻は、
図15Eのアバター1501の鼻と比べて、上に移動している。この場合、異なるアバター特徴が選ばれていても、垂直ドラッグジェスチャ1514(
図15B)の効果は、垂直ドラッグジェスチャ1527(
図15D)の効果と同じである(両方のジェスチャは鼻の位置の調整をもたらす)。
【0316】
図16は、いくつかの実施形態による電子デバイス上でジェスチャを使用してアバターを編集する方法を説明するフロー図である。方法1600は、ディスプレイを有するデバイス(例えば、100、300、500)で実行される。方法1600のいくつかの動作は、任意選択的に組み合わされ、いくつかの動作の順序は、任意選択的に変更され、いくつかの動作は、任意選択的に省略される。
【0317】
後述するように、方法1600は、ジェスチャを使用してアバターを編集する直感的な方法を提供する。この方法は、ジェスチャを使用してアバターを編集することに関してのユーザの認識的負担を軽減し、それによって、より効率的なヒューマンマシンインタフェースを作り出す。バッテリ動作式のコンピューティングデバイスの場合には、ユーザがジェスチャを使用してアバターをより迅速かつより効率的に編集することを可能にすることにより、電力が節約され、バッテリ充電の間隔を長くする。
【0318】
電子デバイスは、ディスプレイ及びタッチ感知面を有する。電子デバイスは、複数の編集可能な特徴を有するアバター(例えば、1501)(例えば、前述のプロセスから生成されたアバター又はメモリ若しくはリモートサーバから検索されたアバター)を含むアバター編集インタフェース(例えば、1500)をディスプレイに表示する(1602)。一部の実施形態において、アバター編集インタフェースは、編集のために選択可能な複数の編集可能な特徴のうちの1つ以上の特徴の特徴アフォーダンス(例えば、1512)(例えば、髪、鼻、眉毛、目、耳、眼鏡)を有する第1の選択インジケータを含む。
【0319】
複数の編集可能な特徴のうちの対応する特徴が現在選択されている特徴(例えば、表現1508に対応する特徴)である間に、電子デバイスは、タッチ感知面との1つ以上の接点の移動を含む第1のジェスチャ(例えば、ジェスチャ1513又はジェスチャ1514)(例えば、スワイプ、ピンチ、ドラッグ、回転)タッチ感知面上で検出する(1604)。
【0320】
第1のジェスチャの検出に応じて(1606)、第1のジェスチャ(例えば、1513又は1514)が第1のタイプのジェスチャ(例えば、ピンチ)であるというかつ対応する特徴は第1の特徴(例えば、耳)であるという判定に従って、電子デバイスは、第1の特性(例えば、耳の縮尺)を修正すること(例えば、耳の縮尺を大きく又は小さくすること)によってアバターの表示を更新し(1608)(例えば、
図15B)、第1の特徴の第1の特性は第1のジェスチャタイプと関連付けられており(例えば、耳の縮尺はピンチジェスチャと関連付けられている)、第1のジェスチャが第1のタイプのジェスチャとは異なる第2のタイプのジェスチャ(例えば、垂直ドラッグ)であり、対応する特徴が第1の特徴(例えば、耳)であるという判定に従って、電子デバイスは、第1の特徴の第1の特性とは異なる第1の特徴の第2の特性(例えば、垂直位置)を修正する(例えば、垂直ドラッグに応じて、耳の位置を修正する)ことにより、アバターの表示を更新し(1610)(例えば
図15C)、第1の特徴の第2の特性は第2のジェスチャタイプと関連付けられている(例えば、耳の垂直位置が垂直ドラッグジェスチャと関連付けられている)。いくつかの例で、アバター特徴の異なる特性に対するジェスチャタイプのマッピングは、表1の行のうちの1つ以上に従う。異なるジェスチャを単一の特徴の異なる特性にマッピングすることによって、表1に記載のように、電子デバイスは、余分なユーザインタフェース要素なしに単純で直感的なインタフェースを提供しつつ、アバター特徴の修正に多くの粒度を提供することにより、アバター編集インタフェースを強化する。これによりユーザがより少ない対話を用いて電子デバイスと対話することを可能にする。
【表1】
【0321】
第1のジェスチャ(例えば、1526又は1527)を検出したことに応じて、このジェスチャは第1のタイプのジェスチャ(例えば、ピンチジェスチャ)であるというかつ対応する特徴は第2の特徴(例えば、鼻)であるという判定に従って、電子デバイスは、(例えば、鼻の幅を修正するピンチジェスチャに応じて)第2の特徴の第1の特性(例えば、鼻の幅)を修正することによりアバターの表示を更新し(1612)(例えば
図15E)、第2の特徴の第1の特性は第1のジェスチャタイプと関連付けられている(例えば、鼻の幅はピンチジェスチャと関連付けられている)。いくつかの実施形態では、第2の特徴(例えば、鼻)の第1の特性(例えば鼻幅)は、第1の特徴(例えば、耳)の第1の特性(例えば、耳の縮尺)とは異なる。異なる特徴の異なる特性に対して同じジェスチャをマッピングすることにより、電子デバイスは、限られた数の単純なジェスチャでアバターのカスタマイズの高い自由度を維持する単純なインタフェースを提供し、電子デバイスのマンマシンインタフェース全体を改善する。
【0322】
一部の実施形態において、電子デバイスは、第1のジェスチャ(例えば、1526又は1527)を検出したことに応じて、第1のジェスチャは第1のタイプのジェスチャ(例えば、ピンチ)とは異なる第2のタイプのジェスチャ(例えば、垂直ドラッグ)であるというかつ対応する特徴は第2の特徴(例えば、鼻)であるという判定に従って、第2の特徴の第2の特性(例えば、鼻の幅)とは異なる第2の特徴の第2の特性(例えば、鼻の垂直位置)を修正することによりアバターの表示を更新し(1614)(例えば、
図15F)(例えば、垂直ドラッグに応じて、鼻の垂直位置が調節される)、第2の特徴の第2の特性は第2のジェスチャタイプと関連付けられている(例えば、鼻の垂直位置は垂直ドラッグジェスチャと関連付けられている)。一部の実施形態において、第2の特徴の第2の特性(例えば、鼻の幅)は、第1の特徴の第2の特性(例えば、耳の縮尺)とは異なる。
【0323】
いくつかの実施形態によれば、第1のタイプのジェスチャはピンチジェスチャであり、第1の特徴は鼻であり、第1の特性は鼻の幅である。いくつかの実施形態では、第2のタイプのジェスチャは、垂直ドラッグであり、第2の特性は、第1の特徴の垂直位置である。表1を参照して他のジェスチャの例が上記で説明された。
【0324】
いくつかの実施形態によれば、電子デバイスは、第1のジェスチャは第1の特性の第1の許容範囲を超えて第1の特性を修正すると判定したことに従って、第1の特徴の第1の特性の修正を停止する。いくつかの実施形態で、電子デバイスは、第1のジェスチャの間、第1の特性の許容範囲を超える第1の特性の修正に対応する入力を検出する。電子デバイスは、第1の特性の許容範囲を超えて第1の特性を修正した後、ジェスチャの終了を検出する。第1のジェスチャの終了の検出に応じて、電子デバイスは、第2の特性の第2の許容範囲内になるように第1の特徴の第1の特性を修正することによりアバターの表示を更新する。いくつかの例では、特性の許容範囲を超えるユーザ入力を受信する。このユーザ入力に応じて、特性がこの特性の許容範囲を超えて修正される。ユーザ入力の終了に応じて、特性の表示は、縁部又はこの特性の許容範囲内に戻る。ある特徴を修正できる量を制限することにより、電子デバイスは、電子デバイスのリソース(例えば、処理時間又はバッテリ電力)を浪費する無効なアバターをユーザが作成しないことを確実にして、アバターのカスタマイズを改善する。
【0325】
一部の実施形態によれば、第1のジェスチャが、第1の特徴が表示された場所とは別個のタッチ感知面上の場所において検出される(
図15D)。いくつかの実施形態では、第1のジェスチャがアバター特徴の特性にどのように影響するかは、第1のジェスチャの場所に依存する。
【0326】
いくつかの実施形態によれば、電子デバイスは、対応する特徴(例えば、1509)(例えば、鼻)の予め設定された特性のセット(例えば、1519)を選択するユーザ入力を受信し(1616)、この予め設定された特性のセットは第2の特性の任意の値を有さずに第1の特性(例えば、鼻の幅)の値及び第3の特性(例えば、鼻の長さ)の値を含む、そして、ユーザ入力の受信に応じて、第1の値及び第2の値に基づいてアバターの表示を更新する(1618)。いくつかの例において、予め設定された特性のセットは、第2の特性の値を含まない、又は、第2の特性の前回のユーザ設定値によってオーバーライドされた第2の特性の値を含む。一部の実施形態において、第3の特性は、1つ以上の予め設定された特性のセットの選択以外に修正可能ではない。いくつかの実施形態では、第1の特性の値及び第3の特性の値に基づくアバターの表示は、第2の特性の予めユーザ設定された値に基づく。一部の実施形態において、予め設定された特性のセットを選択するユーザ入力は、本特性に関連付けられたアフォーダンスの選択であり、このアフォーダンスは、予め設定された特性のセットにおける1つ以上の値の形状表現を有する。いくつかの実施形態では、電子デバイスは、ユーザ入力の受信に応じて、リモートサーバに予め設定された特性のセットを要求する。電子デバイスは、アバター特徴の特性の予めユーザ設定されたパラメータを使用することにより、ユーザが所与の特徴のために新たなプリセットを選択した後のパラメータの再入力及び必要な対話を最小限にしてアバター編集インタフェースを強化する。
【0327】
いくつかの実施形態によれば、
図17は、説明される様々な実施形態の原理に従って構成された電子デバイス1700の例示的な機能ブロック図を示す。いくつかの実施形態によれば、電子デバイス1700の機能ブロックは、前述の技術を実行するように構成されている。デバイス1700の機能ブロックは、説明される様々な例の原理を実行するために、ハードウェア、ソフトウェア、又はハードウェアとソフトウェアとの組合せによって、任意選択的に実装される。
図17で説明する機能ブロックは、説明される様々な例の原理を実施するために、任意選択的に、組み合わされ、又はサブブロックに分離されることが当業者には理解される。したがって、本明細書の記載は、本明細書に記載されている機能ブロックの任意の可能な組合せ若しくは分離、又は更なる定義を任意選択的にサポートする。
【0328】
図17に示されるように、電子デバイス1700は、グラフィックユーザインタフェースを表示するように構成されたディスプレイユニット1702と、ディスプレイユニット1402に接続された処理ユニット1706と、を含む。一部の実施形態において、処理ユニット1706は、表示有効化ユニット1710、検出ユニット1412、画像キャプチャユニット1414、及び提供ユニット1416、及び任意選択的に、生成ユニット1418、判定ユニット1420、更新ユニット1422、受信ユニット1424、及び記憶ユニット1426を含む。
【0329】
処理ユニット1706は、複数の編集可能な特徴を有するアバターを含むアバター編集インタフェースをディスプレイに(例えば、表示有効化ユニット1710を使用して)表示するように構成されている。複数の編集可能な特徴のうちの対応する特徴が現在選択されている特徴である間に、処理ユニット1706は、タッチ感知面との1つ以上の接点の移動を含む第1のジェスチャをタッチ感知面上で(例えば、検出ユニット1712を使用して)検出するように更に構成されている。第1のジェスチャの検出に応じて、処理ユニット1706は、第1のジェスチャは第1のタイプのジェスチャであるというかつ対応する特徴は第1の特徴であるという判定に従って、第1の特徴の第1の特性を修正することによりアバターの表示を(例えば、更新ユニット1714を使用して)更新し、第1の特徴の第1の特性は第1のジェスチャタイプに関連付けられており、第1のジェスチャは第1のタイプのジェスチャとは異なる第2のタイプのジェスチャであるというかつ対応する特徴は第1の特徴であるという判定に従って、第1の特徴の第1の特性とは異なる第1の特徴の第2の特性を修正することによりアバターの表示を(例えば、更新ユニット1714)を使用して)更新するように更に構成され、第1の特徴の第2の特性は第2のジェスチャタイプと関連付けられている。
【0330】
いくつかの実施形態では、処理ユニット1706は、第1のジェスチャの検出に応じて、ジェスチャが第1のタイプのジェスチャであるというかつ対応する特徴が第2の特徴であるという判定に従って、第2の特徴の第1の特性を修正することによりアバターの表示を(例えば、更新ユニット1714を使用して)更新するように更に構成され、第2の特徴の第1の特性は第1のジェスチャタイプに関連付けられている。一部の実施形態において、第2の特徴の第1の特性は第1の特徴の第1の特性とは異なる。
【0331】
一部の実施形態において、処理ユニット1706は、第1のジェスチャの検出に応じて、第1のジェスチャは第1のタイプのジェスチャとは異なる第2のタイプのジェスチャであるというかつ対応する特徴は第2の特徴であるという判定に従って、第2の特徴の第1の特性とは異なる第2の特徴の第2の特性を修正することによりアバターの表示を(例えば、更新ユニット1714を使用して)更新するように更に構成され、第2の特徴の第2の特性は第2のタイプのジェスチャと関連付けられている。
【0332】
一部の実施形態において、第2の特徴の第2の特性は第1の特徴の第2の特性とは異なる。いくつかの実施形態では、アバター編集インタフェースは、編集のために選択可能な複数の編集可能な特徴のうちの1つ以上の特徴の特徴アフォーダンスを有する第1の選択インジケータを含む。いくつかの実施形態では、第1のタイプのジェスチャはピンチジェスチャであり、第1の特徴は鼻であり、第1の特性は鼻の幅である。いくつかの実施形態では、第2のタイプのジェスチャは垂直ドラッグであり、第2の特性は第1の特徴の垂直位置である。
【0333】
いくつかの実施形態では、処理ユニット1706は、第1のジェスチャが第1の特性の第1の許容範囲を超えて第1の特性を修正するという判定に従って、第1の特徴の第1の特性の修正(例えば、更新ユニット1714を使用する)を停止するように更に構成されている。
【0334】
一部の実施形態において、処理ユニット1706は、第1のジェスチャ中に、第1の特性の許容範囲を超える第1の特性の修正に対応する入力を(例えば、検出ユニット1712を使用して)検出し、第1の特性の許容範囲を超えて第1の特性を修正した後、ジェスチャの終了を(例えば、検出ユニット1712を使用して)検出し、第1のジェスチャの終了の検出に応じて、第2の特性の第2の許容範囲内になるように第1の特徴の第1の特性を修正することによりアバターの表示を(例えば、更新ユニット1714を使用して)更新するように更に構成されている。
【0335】
一部の実施形態において、第1のジェスチャが、第1の特徴が表示されている場所とは別個のタッチ感知面上の場所で検出される。
【0336】
いくつかの実施形態では、処理ユニット1706は、対応する特徴の予め設定された特性のセットを選択するユーザ入力を(例えば、受信ユニット1716を使用して)受信し、予め設定された特性のセットは第2の特性の値を有さずに第1の特性の値及び第3の特性の値を含み、ユーザ入力の受信に応じて、第1の値及び第2の値に基づいてアバターの表示を(例えば、更新ユニット1714を使用して)更新するように更に構成されている。
【0337】
一部の実施形態において、第3の特性は、1つ以上の予め設定された特性のセットの選択以外は修正可能ではない。いくつかの実施形態では、第1の特性の値及び第3の特性の値に基づくアバターの表示は、第2の特性の予めユーザ設定された値に基づく。
【0338】
一部の実施形態において、予め設定された特性のセットを選択するユーザ入力は、本特性に関連付けられたアフォーダンスの選択であり、アフォーダンスは、予め設定された特性のセット内の1つ以上の値を表す形状を有する。
【0339】
一部の実施形態において、処理ユニット1706は、ユーザ入力の受信に応じて、予め設定された特性のセットをリモートサーバに(例えば、要求ユニット1718を用いて)要求するように更に構成されている。
【0340】
図16A及び
図16Bを参照して前述された動作は、
図1A~1B又は
図17に示される構成要素によって、任意選択的に実施される。例えば、検出動作1604は、任意選択的に、イベントソータ170、ディスプレイコントローラ156、及びタッチ感知ディスプレイシステム112によって実施される。同様に、当業者には、
図1A~1Bに示した構成要素に基づいて他の処理がどのように実施され得るかは明らかであろう。
【0341】
以下の項目は、本明細書で詳細に説明されている本発明の様々な態様を簡潔に説明する。
項目1.
ディスプレイ及び1つ以上のカメラを有する電子デバイスで、
ディスプレイにプレースホルダアバターを表示することであって、プレースホルダアバターの表示は電子デバイスの1つ以上のカメラの視野に対するユーザの第1の位置に基づく、ことと、
プレースホルダアバターを表示しつつ、1つ以上のカメラの視野に対する第2の位置へのユーザの移動を検出することと、
1つ以上のカメラの視野に対する第2の位置へのユーザの移動を検出したことに応じて、
1つ以上のカメラの視野に対するユーザの第2の位置は第1の組の画像基準を満たしているという判定に従って、1つ以上のカメラでユーザの第1の画像データをキャプチャすることと、
1つ以上のカメラの視野に対するユーザの第2の位置は第1の組の画像基準を満たしていないという判定に従って、プレースホルダアバターの表示を続けながら、電子デバイスに対する位置を第1の目標位置に変更するようにユーザに第1の案内を提供することと、
を含む、方法。
項目2.
第1の画像データをキャプチャした後、第1の画像データに基づいて判定されたユーザの外観に基づいて選択された特徴を含むユーザ固有のアバターを生成すること、
を更に含む、項目1に記載の方法。
項目3.
生成されたユーザ固有のアバターをディスプレイに表示すること、
を更に含む、項目2に記載の方法。
項目4.
プレースホルダアバターの表示と同時にビューファインダグラフィカル要素を表示すること、プレースホルダアバターの表示に対するビューファインダグラフィカル要素の表示は1つ以上のカメラの視野に対するユーザの第1の又は第2の位置に基づく、
を更に含む、項目1から3のいずれか一項に記載の方法。
項目5.
1つ以上のカメラの視野に対するユーザの第2の位置が第1の組の画像基準を満たしているかどうかを判定すること、
を更に含む、項目1から4のいずれか一項に記載の方法。
項目6.
第1の画像データをキャプチャした後、電子デバイスに対する位置を第2の目標位置に変更するように第2の案内をユーザに提供することと、
第1の画像データの後にキャプチャされた画像データに基づいてプレースホルダアバターの表示を更新することと、
第2の案内を提供した後、電子デバイスに対するユーザの第3の位置が第2の組の画像基準を満たしているかどうかを判定することと、
第2の検出された位置は第2の組の画像基準を満たしているという判定に従って、1つ以上のカメラでユーザの第2の画像データをキャプチャすることと、
第2の検出された位置は第2の組の画像基準を満たしていないという判定に従って、第2の目標位置に電子デバイスに対する位置を変更するようにユーザに第2の案内を提供し続けることと、
を更に含む、項目1から5のいずれか一項に記載の方法。
項目7.第1の案内が、第1の画像データに基づいてプレースホルダアバターの外観を変更することなくユーザに提供される、項目1から6のいずれか一項に記載の方法。
項目8.第1の案内を提供することが、1つ以上のカメラの視野に対するユーザの第2の位置が第1の組の画像基準を満たしているときにユーザフィードバックを提供すること、又は、ユーザがデバイスに対して第1の目標位置にあるように1つ以上のカメラの視野に対してどのように位置付けられるべきかに基づいて命令を提供すること、を含む、項目1から7のいずれか一項に記載の方法。
項目9.
第1の画像データをキャプチャした後、
第1の画像データに基づいて選択された1つ以上の推奨される肌の階調の色を示す情報を表示すことと、
第1の画像データに基づいて選択された1つ以上の肌の階調の色のうちの対応する推奨される肌の階調の色を確認するユーザ入力を受信することと、
を更に含む、項目1から8のいずれか一項に記載の方法。
項目10.第1の画像データに基づいて選択された1つ以上の推奨される肌の階調の色を示す情報の表示が、アバターに推奨される肌の階調の色を適用することなく表示される、項目9に記載の方法。
項目11.
第1の画像データに基づいてユーザ固有のプレースホルダアバターを生成して、第1の画像データとは無関係の所定の肌の階調の色を使用することと、
対応する推奨される肌の階調の色を確認するユーザ入力を受信する前にユーザ固有のプレースホルダアバターを表示することと、
を更に含む、項目9又は10に記載の方法。
項目12.
第1の画像データをキャプチャしたことに応じて、進度インジケータの表示を更新することを更に含み、進度インジケータの表示はキャプチャされたアバター画像データの量に基づく、項目1から11のいずれか一項に記載の方法。
項目13.第1の画像データが、静止データ及びビデオデータの両方を含む、項目1から12のいずれか一項に記載の方法。
項目14.
ユーザの画像データをキャプチャすることと、
ユーザの画像データは照明基準を満たすことに失敗しているという判定に従って、1つ以上のカメラの視野の照明を変更するためにユーザに対する命令を表示することと、
を更に含む、項目1から13のいずれか一項に記載の方法。
項目15.
第1の画像データに基づいてユーザの身体的特徴又はアクセサリの特徴を判定することを更に含み、ユーザ固有のアバターを作成することは、ユーザ固有のアバターに身体的特徴又はアクセサリの特徴の表現を追加することを含む、項目2から14のいずれか一項に記載の方法。
項目16.ユーザ固有のアバターは、ユーザが第1の画像データにおいて表情を有するかどうかに関わらない独立した表情である、項目2から15のいずれか一項に記載の方法。
項目17.第1の画像データに基づいてユーザ固有のアバターを生成することが、
複数のアバターを生成することであって、複数のアバターは第1のアバター及び第1のアバターとは異なる第2のアバターを含む、ことと、
複数のアバターを表示することと、
複数のアバターのうちの1つを選択するユーザ入力を受信することと、
を更に含む、項目2から16のいずれか一項に記載の方法。
項目18.
ユーザ固有のアバターを生成した後、アバターをレシピとして記憶することを更に含み、レシピはアバターの構造及びアバターパラメータを定義する、項目2から17のいずれか一項に記載の方法。
項目19.プレースホルダアバターは、ユーザの画像データとは無関係の所定の人のシルエットである、項目1から18のいずれか一項に記載の方法。
項目20.
ディスプレイと、
1つ以上のプロセッサと、
1つ以上のカメラと、
メモリと、
1つ以上のプログラムと、
を備えた、電子デバイスであって、1つ以上のプログラムは、メモリに記憶され、1つ以上のプロセッサによって実行されるように構成され、1つ以上のプログラムは、
ディスプレイにプレースホルダアバターを表示することであって、プレースホルダアバターの表示は電子デバイスの1つ以上のカメラの視野に対するユーザの第1の位置に基づく、ことと、
プレースホルダアバターを表示しつつ、1つ以上のカメラの視野に対する第2の位置へのユーザの移動を検出することと、
1つ以上のカメラの視野に対する第2の位置へのユーザの移動を検出したことに応じて、
1つ以上のカメラの視野に対するユーザの第2の位置は第1の組の画像基準を満たしているという判定に従って、1つ以上のカメラでユーザの第1の画像データをキャプチャすることと、
1つ以上のカメラの視野に対するユーザの第2の位置は第1の組の画像基準を満たしていないという判定に従って、プレースホルダアバターの表示を続けながら、電子デバイスに対する位置を第1の目標位置に変更するためにユーザに第1の案内を提供することと、
を行う命令を含む、電子デバイス。
項目21.1つ以上のプログラムを記憶する非一時的コンピュータ可読記憶媒体であって、1つ以上のプログラムが命令を含み、命令は、ディスプレイ及び1つ以上のカメラを有する電子デバイスの1つ以上のプロセッサによって実行されると、
プレースホルダアバターをディスプレイ上に表示することであって、プレースホルダアバターの表示は電子デバイスの1つ以上のカメラの視野に対するユーザの第1の位置に基づく、ことと、
プレースホルダアバターを表示しつつ、1つ以上のカメラの視野に対する第2の位置へのユーザの移動を検出することと、
1つ以上のカメラの視野に対する第2の位置へのユーザの移動を検出したことに応じて、
1つ以上のカメラの視野に対するユーザの第2の位置は第1の組の画像基準を満たしているという判定に従って、1つ以上のカメラでユーザの第1の画像データをキャプチャすることと、
1つ以上のカメラの視野に対するユーザの第2の位置は第1の組の画像基準を満たしていないという判定に従って、プレースホルダアバターの表示を続けながら、電子デバイスに対する位置を第1の目標位置に変更するように第1の案内をユーザに提供することと、
をデバイスに行わせる、非一時的コンピュータ可読記憶媒体。
項目22.電子デバイスであって、
ディスプレイと、
1つ以上のカメラと、
ディスプレイにプレースホルダアバターを表示する手段であって、プレースホルダアバターの表示は電子デバイスの1つ以上のカメラの視野に対するユーザの第1の位置に基づく、手段と、
プレースホルダアバターを表示しつつ、1つ以上のカメラの視野に対する第2の位置へのユーザの移動を検出する手段と、
1つ以上のカメラの視野に対する第2の位置へのユーザの移動を検出したことに応じて、
1つ以上のカメラの視野に対するユーザの第2の位置は第1の組の画像基準を満たしているという判定に従って1つ以上のカメラでユーザの第1の画像データをキャプチャする手段と、
1つ以上のカメラの視野に対するユーザの第2の位置は第1の組の画像基準を満たしていないという判定に従って、プレースホルダアバターの表示を続けながら、電子デバイスに対する位置を第1の目標位置に変更するためにユーザに第1の案内を提供する手段と、
を備えた、電子デバイス。
項目23.
ディスプレイと、
1つ以上のプロセッサと、
1つ以上のプロセッサに結合された1つ以上のカメラと、
メモリと、
メモリに記憶され、1つ以上のプロセッサによって実行されるように構成された、1つ以上のプログラムであり、項目1から19に記載の方法のいずれかを実行する命令を含む、1つ以上のプログラムと、
を備えた、電子デバイス。
項目24.1つ以上のプログラムを記憶する非一時的コンピュータ可読記憶媒体であって、1つ以上のプログラムが命令を含み、命令は、ディスプレイ及び1つ以上のカメラを有する電子デバイスの1つ以上のプロセッサによって実行されると、項目1から19に記載の方法のいずれかをデバイスに実行させる、非一時的コンピュータ可読記憶媒体。
項目25.
ディスプレイと、
1つ以上のカメラと、
項目1から19に記載の方法のいずれかを実行する手段と、
を備えた、電子デバイス。
項目26.
ディスプレイ及び1つ以上の入力デバイスを有する電子デバイスにおいて、
複数の編集可能な特徴を有するアバター、
修正のために現在選択されている第1のアバター特徴及び修正のために現在選択されていない第2のアバター特徴を含む、複数のアバター特徴の表現を含む特徴選択制御領域、及び、
現在選択されている第1のアバター特徴の第1のオプション及び現在選択されていない第1のアバター特徴の第2のオプションを含む選択するための第1のアバター特徴の複数のオプションの表現を含む特徴オプション制御領域
を同時に表示することを含む、アバター編集ユーザインタフェースをディスプレイに表示することと、
アバター編集ユーザインタフェースを表示しつつ、アバター編集ユーザインタフェースにおける入力を検出することと、
入力を検出したことに応じて、
入力は特徴選択制御領域における第2のアバター特徴の選択に対応しているという判定に従って、
第2のアバター特徴が現在選択されていることを示すように特徴選択制御領域を更新することと、
現在選択されている第2のアバター特徴の第1のオプション及び現在選択されていない第2のアバター特徴の第2のオプションを含む選択するための第2のアバター特徴の複数のオプションの表現を含むように特徴オプション制御領域を更新することと、
入力は特徴オプション制御領域における第1のアバター特徴の第2のオプションの選択に対応しているという判定に従って、
特徴オプション制御領域を更新して、第1のアバター特徴の第2のオプションが現在選択されていることを示すことと、
第1のアバター特徴の第2のオプションに従って第1のアバター特徴の外観を変更するようにアバターを更新することと、
を含む、方法。
項目27.
入力の検出に応じて、入力は特徴オプション制御領域における第1のアバター特徴の第2のオプションの選択に対応しているという判定に従って、アバター特徴制御領域を更新することなく、特徴オプション制御領域が更新される、項目26に記載の方法。
項目28.
入力の検出に応じて、入力は特徴選択制御領域における第2のアバター特徴の選択に対応しているという判定に従って、アバターを更新することなく、特徴選択制御領域が更新される、項目26又は27に記載の方法。
項目29.アバター編集ユーザインタフェースを表示することが更に、
現在選択されている第1の色及び現在選択されていない第2の色を含む、第1のアバター特徴の複数の色オプションの表現を含む、色選択領域
を同時にディスプレイに表示することを含み、色選択領域は、アバター、特徴選択制御領域、及び特徴オプション制御領域と同時に表示される、項目26から28のいずれか一項に記載の方法。
項目30.
色選択領域を表示しつつ、第2の色の選択に対応するユーザ入力の検出に応じて、第2の色に基づいてアバターにおける第1のアバター特徴の表示を更新すること、
を更に含む、項目29に記載の方法。
項目31.第1のアバター特徴がアバターの衣類であり、第2の色に基づいてアバターにおいて第1のアバター特徴の表示を更新することが、アバターの衣類の色を第2の色に更新することを含む、項目29又は30に記載の方法。
項目32.第1のアバター特徴が、アバターのアクセサリである、項目26から31のいずれか一項に記載の方法。
項目33.ディスプレイが、タッチ感知ディスプレイであり、方法が、
タッチ感知ディスプレイ上でのジェスチャの受信に応じて、ジェスチャに基づいて第1のアバター特徴の特性を修正することと、
修正されたパラメータに基づいてアバターの表示を更新することと、
を更に含む、項目26から32のいずれか一項に記載の方法。
項目34.
予め保存された複数のアバターを含むアバター管理インタフェースを表示することと、
予め保存されたアバターを選択するユーザ入力を受信することと、
予め保存されたアバターを選択するユーザ入力に応じて、予め保存されたアバターをアバター編集ユーザインタフェースに表示することと、
を更に含む、項目26から33のいずれか一項に記載の方法。
項目35.
アバターを更新して、第1のアバター特徴の第2のオプションに従って第1のアバター特徴の外観を変更した後に、アバターレシピとしてアバターを記憶することを更に含み、アバターレシピは、第2のオプションを含むアバター構造及びアバターパラメータを定義する、項目26から34のいずれか一項に記載の方法。
項目36.
アバターレシピを連絡先に送信すること、
を更に含む、項目35に記載の方法。
項目37.
第1の連絡先のアバターレシピを受信することと、
第1の連絡先を含む複数の連絡先についての連絡先情報を表示することを更に含み、第1の連絡先について表示される連絡先情報は、第1の連絡先のアバターレシピに基づくアバターを含む、項目26から36のいずれか一項に記載の方法。
項目38.第1のアバター特徴が現在選択されているときに、アバターの表示が第1のアバター特徴のインジケータを含む、項目26から37のいずれか一項に記載の方法。
項目39.特徴選択制御領域内の表現は、それぞれのアバター特徴の形状に基づく形状を有する、項目26から38のいずれか一項に記載の方法。
項目40.特徴オプション制御領域内の表現は、それぞれのアバター特徴のオプションの形状に基づく形状を有する、項目26から39のいずれか一項に記載の方法。
項目41.
1つ以上の入力デバイスを介して、アバター編集ユーザインタフェースに関連付けられた入力が所定の期間に検出されないことに従って、アバターアニメーションを用いてアバターの表示を更新すること、
を更に含む、項目26から40のいずれか一項に記載の方法。
項目42.第1のアバター特徴の第2のオプションに従ってアバターを更新して第1のアバター特徴の外観を変更することは、第2のオプションに基づいてアバターの表情を修正することを含む、項目26から41のいずれか一項に記載の方法。
項目43.
アバターを表示しつつ、電子デバイスの1つ以上の入力デバイスを介して入力を検出したことに応じて、入力に関連付けられた位置に基づいてアバターの目を更新すること、
を更に含む、項目26から42のいずれか一項に記載の方法。
項目44.
アニメーションループがアバターの一連の表情を含む、アニメーションループに基づいてアバターを更新すること、
を更に含む、項目26から43のいずれか一項に記載の方法。
項目45.アニメーションループは持続時間を有し、方法が、
持続時間より少ないランダムな時間オフセットを決定すること、を更に含み、アニメーションループに基づいてアバターを更新することは、ランダムな時間オフセットに基づいてアニメーションループ内の位置において開始するアバターを更新することを含む、項目44に記載の方法。
項目46.
所定の期間後にアニメーションループに基づいてアバターを更新することを停止すること、
を更に含む、項目44又は45に記載の方法。
項目47.第1のアバター特徴の第2のオプションに従って第1のアバター特徴の外観を変更するようにアバターを更新することが、アニメーションを介して第1のオプションに基づく第1のアバター特徴を第2のオプションに基づく第1のアバター特徴に遷移させることを含む、項目26から46のいずれか一項に記載の方法。
項目48.電子デバイスであって、
ディスプレイと、
1つ以上のプロセッサと、
メモリと、
1つ以上のプログラムと、
を備えた電子デバイスであって、1つ以上のプログラムは、メモリに記憶され、1つ以上のプロセッサによって実行されるように構成され、1つ以上のプログラムは、
複数の編集可能な特徴を有するアバターと、
修正のために現在選択されている第1のアバター特徴及び修正のために現在選択されていない第2のアバター特徴を含む、複数のアバター特徴の表現を含む特徴選択制御領域と、
現在選択されている第1のアバター特徴の第1のオプション及び現在選択されていない第1のアバター特徴の第2のオプションを含む選択するための第1のアバター特徴の複数のオプションの表現を含む特徴オプション制御領域と、
を同時に表示することを含む、アバター編集ユーザインタフェースをディスプレイに表示することと、
アバター編集ユーザインタフェースを表示しつつ、アバター編集ユーザインタフェースにおける入力を検出することと、
入力を検出したことに応じて、
入力は特徴選択制御領域における第2のアバター特徴の選択に対応しているという判定に従って、
第2のアバター特徴が現在選択されていることを示すように特徴選択制御領域を更新することと、
現在選択されている第2のアバター特徴の第1のオプション及び現在選択されていない第2のアバター特徴の第2のオプションを含む選択するための第2のアバター特徴の複数のオプションの表現を含むように特徴オプション制御領域を更新することと、
入力は特徴オプション制御領域における第1のアバター特徴の第2のオプションの選択に対応しているという判定に従って、
特徴オプション制御領域を更新して、第1のアバター特徴の第2のオプションが現在選択されていることを示すことと、
第1のアバター特徴の第2のオプションに従って第1のアバター特徴の外観を変更するようにアバターを更新することと、
を行う命令を含む、電子デバイス。
項目49.1つ以上のプログラムを記憶する非一時的コンピュータ記憶媒体であって、1つ以上のプログラムは、ディスプレイ及び1つ以上の入力デバイスを有する電子デバイスの1つ以上のプロセッサによって実行されると、
複数の編集可能な特徴を有するアバターと、
修正のために現在選択されている第1のアバター特徴及び修正のために現在選択されていない第2のアバター特徴を含む、複数のアバター特徴の表現を含む特徴選択制御領域と、
現在選択されている第1のアバター特徴の第1のオプション及び現在選択されていない第1のアバター特徴の第2のオプションを含む選択するための第1のアバター特徴の複数のオプションの表現を含む特徴オプション制御領域と、
を同時に表示することを含む、アバター編集ユーザインタフェースをディスプレイに表示することと、
アバター編集ユーザインタフェースを表示しつつ、アバター編集ユーザインタフェースにおける入力を検出することと、
入力を検出したことに応じて、
入力は特徴選択制御領域における第2のアバター特徴の選択に対応しているという判定に従って、
特徴選択制御領域を更新して、第2のアバター特徴が現在選択されていることを示すことと、
現在選択されている第2のアバター特徴の第1のオプション及び現在選択されていない第2のアバター特徴の第2のオプションを含む選択するための第2のアバター特徴の複数のオプションの表現を含むように特徴オプション制御領域を更新することと、
入力は特徴オプション制御領域における第1のアバター特徴の第2のオプションの選択に対応しているという判定に従って、
第1のアバター特徴の第2のオプションが現在選択されていることを示すように特徴オプション制御領域を更新することと、
第1のアバター特徴の第2のオプションに従って第1のアバター特徴の外観を変更するためにアバターを更新することと、
をデバイスに行わせる命令を含む、非一時的コンピュータ記憶媒体。
項目50.電子デバイスであって、
ディスプレイと、
1つ以上の入力デバイスと、
複数の編集可能な特徴を有するアバター、
修正のために現在選択されている第1のアバター特徴及び修正のために現在選択されていない第2のアバター特徴を含む、複数のアバター特徴の表現を含む特徴選択制御領域、
現在選択されている第1のアバター特徴の第1のオプション及び現在選択されていない第1のアバター特徴の第2のオプションを含む選択するための第1のアバター特徴の複数のオプションの表現を含む特徴オプション制御領域、
の同時表示を含む、アバター編集ユーザインタフェースをディスプレイに表示する手段と、
アバター編集ユーザインタフェースを表示しつつ、アバター編集ユーザインタフェースにおいて入力を検出する手段と、
入力を検出したことに応じて、
入力は特徴選択制御領域における第2のアバター特徴の選択に対応しているという判定に従って、
第2のアバター特徴が現在選択されていることを示すように特徴選択制御領域を更新すること、及び、
現在選択されている第2のアバター特徴の第1のオプション及び現在選択されていない第2のアバター特徴の第2のオプションを含む選択するための第2のアバター特徴の複数のオプションの表現を含むように特徴オプション制御領域を更新すること、
を行う手段と、
入力は特徴オプション制御領域における第1のアバター特徴の第2のオプションの選択に対応しているという判定に従って、
特徴オプション制御領域を更新して、第1のアバター特徴の第2のオプションが現在選択されていることを示すこと、及び、
第1のアバター特徴の第2のオプションに従って第1のアバター特徴の外観を変更するようにアバターを更新すること、
を行う手段と、
を備えた、電子デバイス。
項目51.
ディスプレイと、
1つ以上のプロセッサと、
メモリと、
1つ以上のプログラムと、
を備えた電子デバイスであって、1つ以上のプログラムは、メモリに記憶され、1つ以上のプロセッサによって実行されるように構成され、1つ以上のプログラムは、項目26から47に記載の方法のいずれかを実行する命令を含む、電子デバイス。
項目52.1つ以上のプログラムを記憶する非一時的コンピュータ可読記憶媒体であって、1つ以上のプログラムが命令を含み、命令が、ディスプレイ及び1つ以上の入力デバイスを有する電子デバイスの1つ以上のプロセッサによって実行されると、デバイスに項目26から47に記載の方法のいずれかを実行させる、非一時的コンピュータ可読記憶媒体。
項目53.
ディスプレイと、
項目27から47に記載の方法のいずれかを実行する手段と、
を備えた、電子デバイス。
項目54.
ディスプレイ及び1つ以上の入力デバイスを有する電子デバイスで、
デバイスの第1のユーザと他のユーザとの間でメッセージを送信するメッセージングアプリケーションのメッセージングインタフェースを表示することであって、第1のユーザは、デバイスの第1のユーザを他のユーザと区別するユーザのアバターによってメッセージングアプリケーションにおいて表される、ことと、
メッセージングユーザインタフェースを表示しつつ、第2のユーザに送るためのステッカを選択するステッカユーザインタフェースを表示するという第1の要求を受信することと、
ステッカユーザインタフェースを表示するという第1の要求に応じて、
ユーザを表すアバターの修正に基づいて生成された第1のアバターステッカ、及び
ユーザを表しかつ第1のアバターステッカとは異なるアバターの修正に基づいて生成された第2のアバター、
を同時に表示することを含む、ユーザのアバターに基づいて生成された第1の複数のアバターステッカを含むステッカユーザインタフェースをディスプレイに表示することと、
ディスプレイにアバター選択インタフェースの複数のアフォーダンスを表示しつつ、メッセージングアプリケーションを介して第1のユーザから第2のユーザに対応するアバターステッカを送るという要求に対応する1つ以上の入力のシーケンスを、1つ以上の入力デバイスを介して、検出することと、
1つ以上の入力のシーケンスを検出したことに応じて、
1つ以上の入力のシーケンスが第1のアバターステッカの選択に対応しているという判定に従って、メッセージングアプリケーションを介して第1のユーザから第2のユーザに第2のユーザに対する第1のアバターステッカを送ることと、
1つ以上の入力のシーケンスが第2のアバターステッカの選択に対応しているという判定に従って、メッセージングアプリケーションを介して第1のユーザから第2のユーザに第2のアバターステッカを送ることと、
を含む、方法。
項目55.ユーザのアバターは、アバターレシピに基づく、項目54に記載の方法。
項目56.第1のアバターステッカは、ユーザのアバターのアバターレシピの第1のパラメータを修正することにより生成された、項目55に記載の方法。
項目57.第2のアバターステッカは、ユーザのアバターのアバターレシピに第2のパラメータを追加することにより生成された、項目55又は56に記載の方法。
項目58.第1のアバターステッカを第2のユーザに送ることは、ユーザに第1のアバターステッカを表すレシピを送ることを含む、項目54から57のいずれか一項に記載の方法。
項目59.メッセージングアプリケーションを介して第1のユーザから第2のユーザに第2のユーザに対する第1のアバターステッカを送ることは、
第2のユーザに関連付けられたデバイスはアバターレシピをサポートするという判定に従って、第1のアバターステッカを第2のユーザに送ることが、ユーザに第1のアバターステッカを表すレシピを送ることを含むことと、
第2のユーザに関連付けられたデバイスはアバターレシピをサポートしないという判定に従って、ユーザに第1のアバターステッカのグラフィカル表現を送ることと、
を含む、項目54から58のいずれか一項に記載の方法。
項目60.ステッカユーザインタフェースが、メッセージングインタフェースの少なくとも一部と同時に表示される、項目54から59のいずれか一項に記載の方法。
項目61.第1のアバターステッカは、動画化される、項目54から60のいずれか一項に記載の方法。
項目62.第2のアバターステッカが、プロップを含む、項目54から61のいずれか一項に記載の方法。
項目63.
ステッカユーザインタフェースを表示するという要求を受信する前に、ユーザメッセージのテキスト部分のユーザ入力を受信することと、
1つ以上の入力のシーケンスを検出した後、メッセージングアプリケーションを介してユーザメッセージのテキスト部分を第2のユーザに送ることと、
を更に含む、項目54から62のいずれか一項に記載の方法。
項目64.
第1のアバターのステッカ又は第2のアバターステッカを送った後、ディスプレイにアバター選択インタフェースの複数のアフォーダンスを表示しつつ、第1のユーザから第2のユーザにメッセージングアプリケーションを介して対応するアバターステッカを送るという要求に対応する1つ以上の入力の第2のシーケンスを1つ以上の入力デバイスを介して検出することと、
1つ以上の入力の第2のシーケンスの検出に応じて、1つ以上の入力のシーケンスが第2のアバターステッカの選択に対応しているという判定に従って、メッセージングアプリケーションを介して第1のユーザから第2のユーザに第2のアバターステッカを送ることと、
を更に含む、項目54から63のいずれか一項に記載の方法。
項目65.
ディスプレイと、
1つ以上のプロセッサと、
1つ以上の入力デバイスと、
メモリと、
1つ以上のプログラムと、
を備えた電子デバイスであって、1つ以上のプログラムは、メモリに記憶され、1つ以上のプロセッサによって実行されるように構成され、1つ以上のプログラムは、
デバイスの第1のユーザと他のユーザとの間でメッセージを送信するメッセージングアプリケーションのメッセージングインタフェースを表示することであって、第1のユーザは、デバイスの第1のユーザを他のユーザと区別するユーザのアバターによってメッセージングアプリケーションにおいて表される、ことと、
メッセージングユーザインタフェースを表示しつつ、第2のユーザに送るためのステッカを選択するステッカユーザインタフェースを表示するという第1の要求を受信することと、
ステッカユーザインタフェースを表示するという第1の要求に応じて、
ユーザを表すアバターの修正に基づいて生成された第1のアバターステッカ、及び
ユーザを表しかつ第1のアバターステッカとは異なるアバターの修正に基づいて生成された第2のアバター、
を同時に表示することを含む、ユーザのアバターに基づいて生成された第1の複数のアバターステッカを含むステッカユーザインタフェースをディスプレイに表示することと、
ディスプレイにアバター選択インタフェースの複数のアフォーダンスを表示しつつ、メッセージングアプリケーションを介して第1のユーザから第2のユーザに対応するアバターステッカを送るという要求に対応する1つ以上の入力のシーケンスを、1つ以上の入力デバイスを介して、検出することと、
1つ以上の入力のシーケンスの検出に応じて、
1つ以上の入力のシーケンスが第1のアバターステッカの選択に対応しているという判定に従って、メッセージングアプリケーションを介して第1のユーザから第2のユーザに第2のユーザに対する第1のアバターステッカを送ることと、
1つ以上の入力のシーケンスが第2のアバターステッカの選択に対応しているという判定に従って、メッセージングアプリケーションを介して第1のユーザから第2のユーザに第2のアバターステッカを送ることと、
を行う命令を含む、電子デバイス。
項目66.1つ以上のプログラムを記憶する非一時的コンピュータ可読記憶媒体であって、1つ以上のプログラムは命令を含み、命令が、ディスプレイ及び1つ以上の入力デバイスを有する電子デバイスの1つ以上のプロセッサによって実行されると、
デバイスの第1のユーザと他のユーザとの間でメッセージを送信するメッセージングアプリケーションのメッセージングインタフェースを表示することであって、第1のユーザは、デバイスの第1のユーザを他のユーザと区別するユーザのアバターによってメッセージングアプリケーションにおいて表される、ことと、
メッセージングユーザインタフェースを表示しつつ、第2のユーザに送るためのステッカを選択するステッカユーザインタフェースを表示するという第1の要求を受信することと、
ステッカユーザインタフェースを表示するという第1の要求に応じて、
ユーザを表すアバターの修正に基づいて生成された第1のアバターステッカ、及び
ユーザを表しかつ第1のアバターステッカとは異なるアバターの修正に基づいて生成された第2のアバター、
を同時に表示することを含む、ユーザのアバターに基づいて生成された第1の複数のアバターステッカを含むステッカユーザインタフェースをディスプレイに表示することと、
ディスプレイにアバター選択インタフェースの複数のアフォーダンスを表示しつつ、対応するアバターステッカをメッセージングアプリケーションを介して第1のユーザから第2のユーザに送るという要求に対応する1つ以上の入力のシーケンスを1つ以上の入力デバイスを介して検出することと、
1つ以上の入力のシーケンスの検出に応じて、
1つ以上の入力のシーケンスが第1のアバターステッカの選択に対応しているという判定に従って、メッセージングアプリケーションを介して第1のユーザから第2のユーザに第2のユーザに対する第1のアバターステッカを送ることと、
1つ以上の入力のシーケンスが第2のアバターステッカの選択に対応しているという判定に従って、メッセージングアプリケーションを介して第1のユーザから第2のユーザに第2のアバターステッカを送ることと、
をデバイスに行わせる命令を含む、非一時的コンピュータ可読記憶媒体。
項目67.電子デバイスであって、
ディスプレイと、
1つ以上の入力デバイスと、
デバイスの第1のユーザと他のユーザとの間でメッセージを送信するメッセージングアプリケーションのメッセージングインタフェースを表示する手段であって、第1のユーザはデバイスの第1のユーザを他のユーザと区別するユーザのアバターによってメッセージングアプリケーションにおいて表される、手段と、
メッセージングユーザインタフェースを表示しつつ、第2のユーザに送るためのステッカを選択するステッカユーザインタフェースを表示するという第1の要求を受信する手段と、
ステッカユーザインタフェースを表示するという第1の要求に応じて、
ユーザを表すアバターの修正に基づいて生成された第1のアバターステッカ、及び
ユーザを表しかつ第1のアバターステッカとは異なるアバターの修正に基づいて生成された第2のアバター
を同時に表示することを含む、ユーザのアバターに基づいて生成された第1の複数のアバターステッカを含むステッカユーザインタフェースをディスプレイに表示する手段と、
ディスプレイにアバター選択インタフェースの複数のアフォーダンスを表示しつつ、メッセージングアプリケーションを介して第1のユーザから第2のユーザに対応するアバターステッカを送るという要求に対応する1つ以上の入力のシーケンスを1つ以上の入力デバイスを介して検出する手段と、
1つ以上の入力のシーケンスの検出に応じて、
1つ以上の入力のシーケンスが第1のアバターステッカの選択に対応しているという判定に従って、メッセージングアプリケーションを介して第1のユーザから第2のユーザに第2のユーザに対する第1のアバターステッカを送る手段と、
1つ以上の入力のシーケンスが第2のアバターステッカの選択に対応しているという判定に従って、メッセージングアプリケーションを介して第1のユーザから第2のユーザに第2のアバターステッカを送る手段と、
を備えた、電子デバイス。
項目68.
ディスプレイと、
1つ以上のプロセッサと、
1つ以上の入力デバイスと、
メモリと、
1つ以上のプログラムと、
を備えた電子デバイスであって、1つ以上のプログラムは、メモリに記憶され、1つ以上のプロセッサによって実行されるように構成され、1つ以上のプログラムは、項目54から64に記載の方法のいずれかを実行する命令を含む、電子デバイス。
項目69.1つ以上のプログラムを記憶する非一時的コンピュータ可読記憶媒体であって、1つ以上のプログラムは命令を含み、命令が、ディスプレイ及び1つ以上の入力デバイスを有する電子デバイスの1つ以上のプロセッサによって実行されると、項目54から64に記載の方法のいずれかをデバイスに実行させる、非一時的コンピュータ可読記憶媒体。
項目70.
ディスプレイと、
1つ以上の入力デバイスと、
項目54から64に記載の方法のいずれかを実行する手段と、
を備えた、電子デバイス。
項目71.
ディスプレイ及びタッチ感知面を有する電子デバイスにおいて、
複数の編集可能な特徴を有するアバターを含むアバター編集インタフェースをデバイスに表示することと、
複数の編集可能な特徴のうちの対応する特徴が現在選択されている特徴である間に、タッチ感知面との1つ以上の接点の移動を含む第1のジェスチャをタッチ感知面上で検出することと、
第1のジェスチャの検出に応じて、
第1のジェスチャは第1のタイプのジェスチャであるというかつ対応する特徴は第1の特徴であるという判定に従って、第1の特徴の第1の特性を修正することによりアバターの表示を更新することであって、第1の特徴の第1の特性は第1のジェスチャタイプと関連付けられている、ことと、
第1のジェスチャは、第1のタイプのジェスチャとは異なる第2のタイプのジェスチャであるというかつ対応する特徴は第1の特徴であるという判定に従って、第1の特徴の第1の特性とは異なる第1の特徴の第2の特性を修正することによりアバターの表示を更新することとを含み、第1の特徴の第2の特性は第2のジェスチャタイプと関連付けられている、方法。
項目72.
第1のジェスチャの検出に応じて、ジェスチャは第1のタイプのジェスチャであるというかつ対応する特徴は第2の特徴であるという判定に従って、第2の特徴の第1の特性を修正することによりアバターの表示を更新することを更に含み、第2の特徴の第1の特性は第1のジェスチャタイプと関連付けられている、項目71に記載の方法。
項目73.第2の特徴の第1の特性は、第1の特徴の第1の特性とは異なる、項目72に記載の方法。
項目74.
第1のジェスチャの検出に応じて、第1のジェスチャは第1のタイプのジェスチャとは異なる第2のタイプのジェスチャであるというかつ対応する特徴は第2の特徴であるという判定に従って、第2の特徴の第1の特性とは異なる第2の特徴の第2の特性を修正することによりアバターの表示を更新することを更に含み、第2の特徴の第2の特性は第2のジェスチャタイプと関連付けられている、項目72又は73に記載の方法。
項目75.第2の特徴の第2の特性は、第1の特徴の第2の特徴とは異なる、項目72から74のいずれか一項に記載の方法。
項目76.アバター編集インタフェースは、編集のために選択可能な複数の編集可能な特徴のうちの1つ以上の特徴の特徴アフォーダンスを有する第1の選択インジケータを含む、項目71から75のいずれか一項に記載の方法。
項目77.第1のタイプのジェスチャはピンチジェスチャであり、第1の特徴は鼻であり、第1の特性は鼻の幅である、項目71から76のいずれか一項に記載の方法。
項目78.第2のタイプのジェスチャが垂直ドラッグであり、第2の特性が第1の特徴の垂直位置である、項目71から77のいずれか一項に記載の方法。
項目79.
第1のジェスチャは第1の特性の第1の許容範囲を超えて第1の特性を修正するという判定に従って、第1の特徴の第1の特性の修正を停止すること、
を更に含む、項目71から78のいずれか一項に記載の方法。
項目80.
第1の特性の許容範囲を超える第1の特性の修正に対応する入力を第1のジェスチャの間に検出することと、
第1の特性の許容範囲を超えて第1の特性を修正した後、ジェスチャの端部を検出することと、
第1のジェスチャの端部の検出に応じて、第2の特性の第2の許容範囲内になるように第1の特徴の第1の特性を修正することによりアバターの表示を更新することと、
を更に含む、項目71から79のいずれか一項に記載の方法。
項目81.第1のジェスチャが、第1の特徴が表示された場所とは別個のタッチ感知面上の場所において検出される、項目71から80のいずれか一項に記載の方法。
項目82.
対応する特徴の予め設定された特性のセットを選択するユーザ入力を受信することであって、予め設定された特性のセットは第2の特性の値を有さずに第1の特性の値及び第3の特性の値を含む、ことと、
ユーザ入力を受信したことに応じて、第1の値及び第2の値に基づいて、アバターの表示を更新することと、
を更に含む、項目71から81のいずれか一項に記載の方法。
項目83.第3の特性は、1つ以上の予め設定された特性のセットの選択以外に修正可能ではない、項目71から82のいずれか一項に記載の方法。
項目84.第1の特性の値及び第3の特性の値に基づくアバターの表示は、第2の特性の予めユーザ設定された値に基づく、項目71から83のいずれか一項に記載の方法。
項目85.予め設定された特性のセットを選択するユーザ入力は、提示特性に関連付けられたアフォーダンスの選択であり、アフォーダンスは予め設定された特性のセットにおいて1つ以上の値を表す形状を有する、項目71から84のいずれか一項に記載の方法。
項目86.
ユーザ入力の受信に応じて、リモートサーバに予め設定された特性のセットを要求すること、
を更に含む、項目71から85のいずれか一項に記載の方法。
項目87.
ディスプレイと、
1つ以上のプロセッサと、
メモリと、
1つ以上のプログラムと、
を備えた電子デバイスであって、1つ以上のプログラムは、メモリに記憶され、1つ以上のプロセッサによって実行されるように構成され、1つ以上のプログラムは、
複数の編集可能な特徴を有するアバターを含むアバター編集インタフェースをデバイスに表示することと、
複数の編集可能な特徴のうちの対応する特徴が現在選択されている特徴である間に、タッチ感知面との1つ以上の接点の移動を含む第1のジェスチャをタッチ感知面上で検出することと、
第1のジェスチャの検出に応じて、
第1のジェスチャは第1のタイプのジェスチャであるというかつ対応する特徴は第1の特徴であるという判定に従って、第1の特徴の第1の特性を修正することによりアバターの表示を更新することであって、第1の特徴の第1の特性は第1のジェスチャタイプと関連付けられている、ことと、
第1のジェスチャは、第1のタイプのジェスチャとは異なる第2のタイプのジェスチャであるというかつ対応する特徴は第1の特徴であるという判定に従って、第1の特徴の第1の特性とは異なる第1の特徴の第2の特性を修正することによりアバターの表示を更新することであって、第1の特徴の第2の特性は第2のジェスチャタイプと関連付けられている、ことと、
を行う命令を含む、電子デバイス。
項目88.1つ以上のプログラムを記憶する非一時的コンピュータ可読記憶媒体であって、1つ以上のプログラムは命令を含み、命令が、ディスプレイ及び1つ以上の入力デバイスを有する電子デバイスの1つ以上のプロセッサによって実行されると、
複数の編集可能な特徴を有するアバターを含むアバター編集インタフェースをディスプレイに表示することと、
複数の編集可能な特徴のうちの対応する特徴が現在選択されている特徴である間に、タッチ感知面との1つ以上の接点の移動を含む第1のジェスチャをタッチ感知面上で検出することと、
第1のジェスチャの検出に応じて、
第1のジェスチャは第1のタイプのジェスチャであるというかつ対応する特徴は第1の特徴であるという判定に従って、第1の特徴の第1の特性を修正することによりアバターの表示を更新することであって、第1の特徴の第1の特性は第1のジェスチャタイプと関連付けられている、ことと、
第1のジェスチャは、第1のタイプのジェスチャとは異なる、第2のタイプのジェスチャであるというかつ対応する特徴は第1の特徴であるという判定に従って、第1の特徴の第1の特性とは異なる第1の特徴の第2の特性を修正することによりアバターの表示を更新することであって、第1の特徴の第2の特性は第2のジェスチャタイプと関連付けられている、ことと、
をデバイスに行わせる命令を含む、非一時的コンピュータ可読記憶媒体。
項目89.電子デバイスであって、
ディスプレイと、
1つ以上の入力デバイスと、
複数の編集可能な特徴を有するアバターを含むアバター編集インタフェースをデバイスに表示する手段と、
複数の編集可能な特徴のうちの対応する特徴が現在選択されている特徴である間に、タッチ感知面との1つ以上の接点の移動を含む第1のジェスチャをタッチ感知面上で検出する手段と、
第1のジェスチャの検出に応じて、
第1のジェスチャは第1のタイプのジェスチャであるというかつ対応する特徴は第1の特徴であるという判定に従って、第1の特徴の第1の特性を修正することによりアバターの表示を更新することであって、第1の特徴の第1の特性は第1のジェスチャタイプと関連付けられている、こと、及び、
第1のジェスチャは第1のタイプのジェスチャとは異なる第2のタイプのジェスチャであるというかつ対応する特徴は第1の特徴であるという判定に従って、第1の特徴の第1の特性とは異なる第1の特徴の第2の特性を修正することによりアバターの表示を更新することであって、第1の特徴の第2の特性は第2のジェスチャタイプと関連付けられている、ことを行う手段と、
を備えた、電子デバイス。
項目90.
ディスプレイと、
1つ以上のプロセッサと、
メモリと、
1つ以上のプログラムと、
を備えた電子デバイスであって、1つ以上のプログラムは、メモリに記憶され、1つ以上のプロセッサによって実行されるように構成され、1つ以上のプログラムは、項目71から86に記載の方法のいずれかを実行する命令を含む、電子デバイス。
項目91.1つ以上のプログラムを記憶する非一時的コンピュータ可読記憶媒体であって、1つ以上のプログラムは命令を含み、命令が、ディスプレイ及び1つ以上の入力デバイスを有する電子デバイスの1つ以上のプロセッサによって実行されると、項目71から86に記載の方法のいずれかをデバイスに実行させる、非一時的コンピュータ可読記憶媒体。
項目92.
ディスプレイと、
項目71から86に記載の方法のいずれかを実行する手段と、
を備えた、電子デバイス。
【0342】
上記は、説明を目的として、特定の実施形態を参照して記述されている。しかしながら、上記の例示的な論考は、網羅的であること、又は開示される厳密な形態に本発明を限定することを意図するものではない。上記の教示を考慮して、多くの修正及び変形が可能である。これらの実施形態は、本技術の原理、及びその実際の適用を最もよく説明するために、選択及び記載されている。それにより、他の当業者は、意図された具体的な用途に適するような様々な修正を用いて、本技術及び様々な実施形態を最も良好に利用することが可能となる。
【0343】
添付図面を参照して、本開示及び例を十分に説明してきたが、様々な変更及び修正が、当業者には明らかとなるであろうことに留意されたい。そのような変更及び修正は、特許請求の範囲によって定義されるような、本開示及び例の範囲内に含まれるものとして理解されたい。