(57)【特許請求の範囲】
【請求項１】
方法であって、
ディスプレイと１つ以上の画像センサとを備える電子デバイスにおいて、
アプリケーション内のコンテンツを前記ディスプレイ上に表示することであって、前記コンテンツは前記アプリケーションが第１の構成にある間に表示される、ことと、
前記コンテンツを表示しながら、前記電子デバイスの前記１つ以上の画像センサから画像データをキャプチャすることと、
前記画像データをキャプチャした後、前記コンテンツから離れるナビゲーション要求を受信することと、
前記コンテンツから離れるナビゲーション要求を受信したことに応じて、
第１のコンテンツロック基準のセットが満たされているという判定に従って、前記コンテンツから離れるナビゲーションを防止しながら、前記コンテンツから離れる前記ナビゲーション要求の視覚的表現を前記ディスプレイ上に表示することであって、前記第１のコンテンツロック基準のセットは、不正ユーザが前記デバイスを使用していることを前記キャプチャされた画像データが示すときに満たされる第１の基準を含む、ことと、
前記第１のコンテンツロック基準のセットが満たされていないという判定に従って、前記要求に従い前記コンテンツから離れるナビゲーションを行うことと、を含む、方法。
【請求項２】
前記第１のコンテンツロック基準のセットがもはや満たされないという判定に従って、前記コンテンツから離れるナビゲーションを可能にすることを更に含む、請求項１に記載の方法。
【請求項３】
前記第１のコンテンツロック基準のセットは、前記電子デバイスの正規ユーザが前記デバイスを使用していないことを前記キャプチャされた画像データが示すときに満たされる第２の基準を含む、請求項１又は２に記載の方法。
【請求項４】
前記第１のコンテンツロック基準のセットは、前記キャプチャされた画像データに前記不正ユーザが存在し、前記キャプチャされた画像データに正規ユーザが存在しないことを、前記キャプチャされた画像データが示すときに満たされる第３の基準を含む、請求項１から３のいずれか一項に記載の方法。
【請求項５】
前記第１のコンテンツロック基準のセットは、前記キャプチャされた画像データに正規ユーザが存在するか否かにかかわらず、前記キャプチャされた画像データに前記不正ユーザが存在することを前記キャプチャされた画像データが示すときに満たされる、請求項１から３のいずれか一項に記載の方法。
【請求項６】
第２のコンテンツロック基準のセットが満たされているという判定に従って、前記電子デバイスの少なくとも１つの機能を無効化することを更に含む、請求項１から５のいずれか一項に記載の方法。
【請求項７】
前記第１のコンテンツロック基準のセットと前記第２のコンテンツロック基準のセットとは異なる、請求項６に記載の方法。
【請求項８】
第３のコンテンツロック基準のセットが満たされているという判定に従って、前記アプリケーションを、前記第１の構成と比較して前記アプリケーションの動作を制限する第２の構成に切り替えることを更に含む、請求項１から７のいずれか一項に記載の方法。
【請求項９】
第４のコンテンツロック基準のセットが満たされているという判定に従って、前記アプリケーション内に前記コンテンツを表示し続けながら、前記電子デバイスの他の機能をロックすることを更に含む、請求項１から８のいずれか一項に記載の方法。
【請求項１０】
第５のコンテンツロック基準のセットが満たされているという判定に従って、前記電子デバイスにおいて受信された通信に関連する通知の前記表示を防止することを更に含む、請求項１から９のいずれか一項に記載の方法。
【請求項１１】
前記第５のコンテンツロック基準のセットは、不正ユーザが前記電子デバイスを使用していることを前記キャプチャされた画像データが示すときに満たされる第４の基準を含み、前記第５のコンテンツロック基準のセットは、前記第４の基準が満たされる場合に満たされ、
前記第１のコンテンツロック基準のセットは、前記キャプチャされた画像データにおける正規ユーザの不在を前記キャプチャされた画像データが示すときに満たされる第５の基準を含む、請求項１０に記載の方法。
【請求項１２】
前記第４の基準が満たされていることに従って、前記電子デバイス上のアプリケーション間のナビゲーションを防止することと、
前記第５の基準が満たされていることに従って、前記アプリケーション内のナビゲーションを防止することと、を更に含む、請求項１１に記載の方法。
【請求項１３】
前記キャプチャされた画像データにおける前記電子デバイスの不正ユーザの存在を前記キャプチャされた画像データが示すかどうかを判定することを更に含む、請求項１から１２のいずれか一項に記載の方法。
【請求項１４】
前記画像データは光学的データ及び深度データを含み、前記第１のコンテンツロック基準のセットが満たされているかどうかを判定することは前記光学的データ及び前記深度データに基づいている、請求項１から１３のいずれか一項に記載の方法。
【請求項１５】
前記コンテンツから離れるナビゲーションは、現在表示されているコンテンツをスクロールすることによって並進させることを含む、請求項１から１４のいずれか一項に記載の方法。
【請求項１６】
前記コンテンツから離れるナビゲーションは、アプリケーション内のコンテンツアイテム間を切り替えることを含む、請求項１から１５のいずれか一項に記載の方法。
【請求項１７】
前記コンテンツから離れるナビゲーションは、アプリケーションを切り替えること、又はホーム画面を表示するために前記アプリケーションを閉じることを含む、請求項１から１６のいずれか一項に記載の方法。
【請求項１８】
前記電子デバイスの正規ユーザに関連付けられたロック解除情報を受信することと、
前記ロック解除情報が真正であるかどうかを判定することと、
前記ロック解除情報が真正であるという判定に従って、前記コンテンツから離れるナビゲーションを可能化することと、を更に含む、請求項１から１７のいずれか一項に記載の方法。
【請求項１９】
請求項１から１８に記載の方法のいずれかをコンピュータに実行させるコンピュータプログラム。
【請求項２０】
電子デバイスであって、
請求項１９に記載のコンピュータプログラムを記憶するメモリと、
前記メモリに記憶された前記コンピュータプログラムを実行することができる１つ以上のプロセッサと、を備える、電子デバイス。
【請求項２１】
電子デバイスであって、
請求項１から１８に記載の方法のいずれかを実行する手段、を備える、電子デバイス。
【発明の詳細な説明】
【技術分野】
【０００１】
（関連出願の相互参照）
本出願は、２０１６年９月２３日に出願された「ＩＭＡＧＥ  ＤＡＴＡ  ＦＯＲ  ＥＮＨＡＮＣＥＤ  ＵＳＥＲ  ＩＮＴＥＲＡＣＴＩＯＮＳ」と題する米国特許仮出願第６２／３９９，２２６号に対する優先権を主張するものであり、あらゆる目的のために、参照によりその内容全体が本明細書に組み込まれる。本出願は、２０１７年５月３１日に出願された「ＩＭＡＧＥ  ＤＡＴＡ  ＦＯＲ  ＥＮＨＡＮＣＥＤ  ＵＳＥＲ  ＩＮＴＥＲＡＣＴＩＯＮＳ」と題するデンマーク特許出願第ＰＡ２０１７  ７０４１８号に対する優先権を主張するものであり、あらゆる目的のために、参照によりその内容全体が本明細書に組み込まれる。
【０００２】
（技術分野）
本開示は、概して、コンピュータユーザインタフェースに関し、より具体的には、拡張されたユーザ対話のためのアバター及び／又は画像データを使用する技術に関する。
【背景技術】
【０００３】
アバターは、電子デバイスのユーザを表すために使用される。アバターは、ユーザの外観を表すことができ、あるいはユーザの理想化された表現又は完全に架空の表現を表すことができる。次いで、アバターは、他のユーザへのアバターの外観がユーザとの関連付け又はリンクのトリガを表示するように、ユーザに関連付けることができる。
【０００４】
今日の多くの電子デバイスは、画像センサなどのセンサを含む。例えば、いくつかのスマートフォンは、電話の前と後ろの両面上に画像センサを含み、同じ側に複数の画像センサを含むことさえあり得る。これらの画像センサは、典型的には、静止画像及びビデオをキャプチャするために使用され、それらを後で共有して視聴することができる。
【発明の概要】
【０００５】
しかしながら、アバター及び／又は画像データを使用して電子デバイスとのユーザ対話を拡張するためのいくつかの技術は、一般に面倒で非効率的である。例えば、一部の既存の技術では、複数回のキー押下又は打鍵を含む場合がある、複雑かつ時間のかかるユーザインタフェースが使用されている。既存の技術では、必要以上の時間が必要であり、ユーザの時間及びデバイスの電力を浪費する。後者の問題は、バッテリ動作デバイスにおいては特に重大である。
【０００６】
したがって、本技術は、アバター及び／又は画像データを使用してユーザ対話を拡張するための、より速く、より効率的な方法及びインタフェースを電子デバイスに提供する。そのような方法及びインタフェースは、アバター及び／又は画像データを使用してユーザ対話を拡張するための他の方法を、任意選択的に補完するか又は置き換える。そのような方法及びインタフェースは、ユーザにかかる認識的負担を低減させ、より効率的なヒューマンマシンインタフェースを作成する。バッテリ動作コンピューティングデバイスの場合、そのような方法及びインタフェースは、電力を節約し、電池充電間の時間を増大させる。
【０００７】
一実施形態によれば、ディスプレイを有し、第１のユーザに関連付けられた電子デバイスは、第２のユーザから第１のコンテンツを含む第１のメッセージを受信し、第２のユーザに対する第１のステータスデータであって、第１のメッセージに関連付けられ、第１のコンテンツとは別個である、第１のステータスデータを受信し、第１のコンテンツを含む第１のメッセージと第１のアバターとを、ディスプレイ上に同時に表示し、ここで、第１のアバターは第１のステータスデータに基づき、表示された第１のアバターは表示された第１のメッセージに隣接し、第１のメッセージ及び第１のアバターを表示した後、第２のユーザから第２のコンテンツを含む第２のメッセージを受信し、第２のユーザに対する第２のステータスデータを受信し、第２のステータスは第２のメッセージに関連付けられ、第２のコンテンツとは別個であり、第１のメッセージ及び第１のアバターの表示を維持しながら、第２のコンテンツを含む第２のメッセージと第２のアバターとをディスプレイ上に表示し、表示された第２のアバターは表示された第２のメッセージに隣接し、第２のアバターは第２のステータスデータに基づき、第１のアバターと第２のアバターとは異なる。
【０００８】
一時的コンピュータ可読記憶媒体の一実施形態は、１つ以上のプログラムを記憶し、１つ以上のプログラムが命令を含み、命令は、ディスプレイと１つ以上の入力デバイスとを含む電子デバイスの１つ以上のプロセッサによって実行されると、デバイスに、アプリケーション内のコンテンツをディスプレイ上に表示させ、ここで、コンテンツはアプリケーションが第１の構成にある間に表示され、コンテンツを表示しながら、電子デバイスの１つ以上の画像センサから画像データをキャプチャさせ、画像データをキャプチャした後、コンテンツから離れるナビゲーション要求を受信させ、コンテンツから離れるナビゲーション要求を受信したことに応じて、第１のコンテンツロック基準のセットが満たされているという判定に従って、コンテンツの表示を維持しながら、コンテンツから離れるナビゲーションを防止させ、第１のコンテンツロック基準のセットは、不正ユーザがデバイスを使用していることをキャプチャされた画像データが示すときに満たされる第１の基準を含み、第１のコンテンツロック基準のセットが満たされていないという判定に従って、要求に従いコンテンツから離れるナビゲーションを行わせる。
【０００９】
一実施形態によれば、１つ以上の画像センサ、メモリ、及びディスプレイを有する電子デバイスは、電子デバイスの１つ以上の画像センサから、第１の画像データであって、第１の視点からのオブジェクトの第１の光学的画像データを含む、第１の画像データをキャプチャし、電子デバイスの１つ以上の画像センサから、第２の画像データであって、第１の視点とは異なる第２の視点からのオブジェクトの第２の光学的画像光データを含む、第２の画像データをキャプチャし、第１の視点から第２の視点への視点の変化に基づいて、アルゴリズムを選択し、このアルゴリズムに基づいて、オブジェクトの３Ｄモデリングを継続するために必要な追加の画像データを判定し、選択されたアルゴリズムに基づいて判定された追加の画像データをキャプチャする命令を提供する視覚フィードバックをディスプレイ上に表示する。
【００１０】
一時的コンピュータ可読記憶媒体の一実施形態は、１つ以上のプログラムを記憶し、１つ以上のプログラムが命令を含み、命令は、ディスプレイと１つ以上の画像センサとを含む電子デバイスの１つ以上のプロセッサによって実行されると、デバイスに、電子デバイスの１つ以上の画像センサから、第１の画像データであって、第１の視点からのオブジェクトの第１の光学的画像データを含む、第１の画像データをキャプチャさせ、電子デバイスの１つ以上の画像センサから、第２の画像データであって、第１の視点とは異なる第２の視点からのオブジェクトの第２の光学的画像光データを含む、第２の画像データをキャプチャさせ、第１の視点から第２の視点への視点の変化に基づいて、アルゴリズムを選択させ、このアルゴリズムに基づいて、オブジェクトの３Ｄモデリングを継続するために必要な追加の画像データを判定させ、選択されたアルゴリズムに基づいて判定された追加の画像データをキャプチャする命令を提供する視覚フィードバックをディスプレイ上に表示させる。
【００１１】
一実施形態によれば、ディスプレイと１つ以上の画像センサとを有する電子デバイスは、アプリケーション内のコンテンツをディスプレイ上に表示し、ここで、コンテンツは、アプリケーションが第１の構成にある間に表示され、コンテンツを表示しながら、電子デバイスの１つ以上の画像センサから画像データをキャプチャし、画像データをキャプチャした後、コンテンツから離れるナビゲーション要求を受信し、コンテンツから離れるナビゲーション要求を受信したことに応じて、第１のコンテンツロック基準のセットが満たされているという判定に従って、コンテンツの表示を維持しながら、コンテンツから離れるナビゲーションを防止し、ここで、第１のコンテンツロック基準のセットは、不正ユーザがデバイスを使用していることをキャプチャされた画像データが示すときに満たされる第１の基準を含み、第１のコンテンツロック基準のセットが満たされていないという判定に従って、要求に従いコンテンツから離れるナビゲーションを行う。
【００１２】
一時的コンピュータ可読記憶媒体の一実施形態は、１つ以上のプログラムを記憶し、１つ以上のプログラムが命令を含み、命令は、ディスプレイと１つ以上の画像センサとを含む電子デバイスの１つ以上のプロセッサによって実行されると、デバイスに、アプリケーション内のコンテンツをディスプレイ上に表示させ、ここで、コンテンツはアプリケーションが第１の構成にある間に表示され、コンテンツを表示しながら、電子デバイスの１つ以上の画像センサから画像データをキャプチャさせ、画像データをキャプチャした後、コンテンツから離れるナビゲーション要求を受信させ、コンテンツから離れるナビゲーション要求を受信したことに応じて、第１のコンテンツロック基準のセットが満たされていという判定に従って、コンテンツの表示を維持しながら、コンテンツから離れるナビゲーションを防止させ、第１のコンテンツロック基準のセットは、不正ユーザがデバイスを使用していることをキャプチャされた画像データが示すときに満たされる第１の基準を含み、第１のコンテンツロック基準のセットが満たされていないという判定に従って、要求に従いコンテンツから離れるナビゲーションを行わせる。
【００１３】
これらの機能を実行する実行可能な命令は、任意選択的に、１つ以上のプロセッサによって実行されるように構成された非一時的コンピュータ可読記憶媒体又は他のコンピュータプログラム製品内に含まれる。これらの機能を実行する実行可能な命令は、任意選択的に、１つ以上のプロセッサによって実行されるように構成された一時的コンピュータ可読記憶媒体又は他のコンピュータプログラム製品内に含まれる。
【００１４】
このように、デバイスには、画像データを使用してユーザ対話を拡張するための、より速く、より効率的な方法及びインタフェースを提供され、それによって、そのようなデバイスでの有効性、効率、及びユーザ満足度を高める。そのような方法及びインタフェースは、画像データを使用してユーザ対話を拡張するための他の方法を、補完するか又は置き換えてもよい。
【図面の簡単な説明】
【００１５】
説明される様々な実施形態をより良く理解するため、以下の図面と併せて、以下の「発明を実施するための形態」が参照されるべきである。ここで、類似の参照番号は、それらの図の全てを通じて、対応する部分を指す。
【００１６】
【図１Ａ】いくつかの実施形態に係るタッチ感知ディスプレイを有するポータブル多機能デバイスを示すブロック図である。
【００１７】
【図１Ｂ】いくつかの実施形態に係るイベント処理のための例示的な構成要素を示すブロック図である。
【００１８】
【図２】いくつかの実施形態に係るタッチスクリーンを有するポータブル多機能デバイスを示す。
【００１９】
【図３】いくつかの実施形態に係るディスプレイ及びタッチ感知面を有する例示的な多機能デバイスのブロック図である。
【００２０】
【図４Ａ】いくつかの実施形態に係るポータブル多機能デバイス上のアプリケーションのメニューに対する例示的なユーザインタフェースを示す。
【００２１】
【図４Ｂ】いくつかの実施形態に係るディスプレイとは別個のタッチ感知面を有する多機能デバイスに対する例示的なユーザインタフェースを示す。
【００２２】
【図５Ａ】いくつかの実施形態に係るパーソナル電子デバイスを示す。
【００２３】
【図５Ｂ】いくつかの実施形態に係るパーソナル電子デバイスを示すブロック図である。
【００２４】
【図６Ａ】メッセージに対するユーザステータス情報を通信するための例示的なユーザインタフェースを示す。
【図６Ｂ】メッセージに対するユーザステータス情報を通信するための例示的なユーザインタフェースを示す。
【図６Ｃ】メッセージに対するユーザステータス情報を通信するための例示的なユーザインタフェースを示す。
【図６Ｄ】メッセージに対するユーザステータス情報を通信するための例示的なユーザインタフェースを示す。
【図６Ｅ】メッセージに対するユーザステータス情報を通信するための例示的なユーザインタフェースを示す。
【図６Ｆ】メッセージに対するユーザステータス情報を通信するための例示的なユーザインタフェースを示す。
【図６Ｇ】メッセージに対するユーザステータス情報を通信するための例示的なユーザインタフェースを示す。
【図６Ｈ】メッセージに対するユーザステータス情報を通信するための例示的なユーザインタフェースを示す。
【図６Ｉ】メッセージに対するユーザステータス情報を通信するための例示的なユーザインタフェースを示す。
【図６Ｊ】メッセージに対するユーザステータス情報を通信するための例示的なユーザインタフェースを示す。
【００２５】
【図７Ａ】メッセージに対するユーザステータス情報を通信するための方法を示すフロー図である。
【図７Ｂ】メッセージに対するユーザステータス情報を通信するための方法を示すフロー図である。
【００２６】
【図８】電子デバイスの例示的な機能ブロック図を示す。
【００２７】
【図９Ａ】３Ｄモデルを構築するデータをキャプチャするための例示的なユーザインタフェースを示す。
【図９Ｂ】３Ｄモデルを構築するデータをキャプチャするための例示的なユーザインタフェースを示す。
【図９Ｃ】３Ｄモデルを構築するデータをキャプチャするための例示的なユーザインタフェースを示す。
【図９Ｄ】３Ｄモデルを構築するデータをキャプチャするための例示的なユーザインタフェースを示す。
【図９Ｅ】３Ｄモデルを構築するデータをキャプチャするための例示的なユーザインタフェースを示す。
【図９Ｆ】３Ｄモデルを構築するデータをキャプチャするための例示的なユーザインタフェースを示す。
【図９Ｇ】３Ｄモデルを構築するデータをキャプチャするための例示的なユーザインタフェースを示す。
【図９Ｈ】３Ｄモデルを構築するデータをキャプチャするための例示的なユーザインタフェースを示す。
【図９Ｉ】３Ｄモデルを構築するデータをキャプチャするための例示的なユーザインタフェースを示す。
【図９Ｊ】３Ｄモデルを構築するデータをキャプチャするための例示的なユーザインタフェースを示す。
【図９Ｋ】３Ｄモデルを構築するデータをキャプチャするための例示的なユーザインタフェースを示す。
【図９Ｌ】３Ｄモデルを構築するデータをキャプチャするための例示的なユーザインタフェースを示す。
【００２８】
【図１０Ａ】３Ｄモデルを構築するデータをキャプチャするための方法を示すフロー図である。
【図１０Ｂ】３Ｄモデルを構築するデータをキャプチャするための方法を示すフロー図である。
【００２９】
【図１１】電子デバイスの例示的な機能ブロック図を示す。
【００３０】
【図１２Ａ】ユーザに基づいてデータ及びアプリケーションへのアクセスを制限するための例示的なユーザインタフェースを示す。
【図１２Ｂ】ユーザに基づいてデータ及びアプリケーションへのアクセスを制限するための例示的なユーザインタフェースを示す。
【図１２Ｃ】ユーザに基づいてデータ及びアプリケーションへのアクセスを制限するための例示的なユーザインタフェースを示す。
【図１２Ｄ】ユーザに基づいてデータ及びアプリケーションへのアクセスを制限するための例示的なユーザインタフェースを示す。
【図１２Ｅ】ユーザに基づいてデータ及びアプリケーションへのアクセスを制限するための例示的なユーザインタフェースを示す。
【図１２Ｆ】ユーザに基づいてデータ及びアプリケーションへのアクセスを制限するための例示的なユーザインタフェースを示す。
【図１２Ｇ】ユーザに基づいてデータ及びアプリケーションへのアクセスを制限するための例示的なユーザインタフェースを示す。
【図１２Ｈ】ユーザに基づいてデータ及びアプリケーションへのアクセスを制限するための例示的なユーザインタフェースを示す。
【図１２Ｉ】ユーザに基づいてデータ及びアプリケーションへのアクセスを制限するための例示的なユーザインタフェースを示す。
【図１２Ｊ】ユーザに基づいてデータ及びアプリケーションへのアクセスを制限するための例示的なユーザインタフェースを示す。
【００３１】
【図１３Ａ】ユーザに基づいてデータ及びアプリケーションへのアクセスを制限するための方法を示すフロー図である。
【図１３Ｂ】ユーザに基づいてデータ及びアプリケーションへのアクセスを制限するための方法を示すフロー図である。
【００３２】
【図１４】電子デバイスの例示的な機能ブロック図を示す。
【発明を実施するための形態】
【００３３】
以下の説明は、例示的な方法、パラメータなどについて記載する。しかし、そのような説明は、本開示の範囲に対する限定として意図されるものではなく、代わりに例示的な実施形態の説明として提供されると認識されたい。
【００３４】
特定の瞬間の視覚的表現を単に保存するためだけでなく、アバター及び／又は画像データを使用するための効率的な方法及びインタフェースを提供する電子デバイスが必要とされていている。以下に説明する技術のうちのいくつかの実施形態を使用することにより、アバター及び／又は画像データを用いて、電子デバイス及び他のユーザとのユーザ対話を拡張することができる。そのような技術は、他のユーザと通信し、彼らの電子デバイスと対話するためにアバター及び／又は画像データを使用しているユーザの認識的負担を軽減し、それによって生産性を向上させることができる。更に、そのような技法は、普通なら冗長なユーザ入力で無駄になるプロセッサ及び電池の電力を低減させることができる。
【００３５】
以下、図１Ａ〜図１Ｂ、図２、図３、図４Ａ〜図４Ｂ、及び図５Ａ〜図５Ｂにより、以下に記載される、ユーザ対話を拡張するために画像データを使用する技術を実行するための例示的なデバイスの説明を提供する。
【００３６】
図６Ａ〜図６Ｊは、アバターを有するメッセージに対するユーザステータス情報を通信するための例示的なユーザインタフェースを示す。図７Ａ〜図７Ｂは、いくつかの実施形態に係る、アバターを有するメッセージに対するユーザステータス情報を通信するための方法を示すフロー図である。図６Ａ〜図６Ｇにおけるユーザインタフェースは、図７Ａ〜図７Ｂにおけるプロセスを含む、以下において説明されるプロセスを例示するために用いられる。
【００３７】
図９Ａ〜図９Ｌは、３Ｄモデルを構築するデータをキャプチャするための例示的なユーザインタフェースを示す。図１０Ａ〜図１０Ｂは、いくつかの実施形態に係る、３Ｄモデルを構築するデータをキャプチャするための方法を示すフロー図である。図９Ａ〜図９Ｌにおけるユーザインタフェースは、図１０Ａ〜図１０Ｂにおけるプロセスを含む、以下において説明されるプロセスを例示するために用いられる。
【００３８】
図１２Ａ〜図１２Ｊは、ユーザに基づいてデータ及びアプリケーションへのアクセスを制限するための例示的なユーザインタフェースを示す。図１３Ａ〜図１３Ｂは、いくつかの実施形態に係る、ユーザに基づいてデータ及びアプリケーションへのアクセスを制限するための方法を示すフロー図である。図１２Ａ〜図１２Ｊにおけるユーザインタフェースは、図１３Ａ〜図１３Ｂにおけるプロセスを含む、以下において説明されるプロセスを例示するために用いられる。
【００３９】
以下の説明では、様々な要素について説明するために、「第１の」、「第２の」などの用語を使用するが、これらの要素は、それらの用語によって限定されるべきではない。これらの用語は、ある要素を別の要素と区別するためにのみ使用される。例えば、記載する様々な実施形態の範囲から逸脱することなく、第１のタッチを第２のタッチと呼ぶこともでき、同様に第２のタッチを第１のタッチと呼ぶこともできる。第１のタッチ及び第２のタッチはどちらもタッチであるが、これらは同じタッチではない。
【００４０】
本明細書において記載する様々な実施形態の説明で使用される術語は、特定の実施形態について説明することのみを目的とし、限定的であることが意図されるものではない。記載する様々な実施形態の説明及び添付の特許請求の範囲内では、単数形の「ａ」、「ａｎ」、及び「ｔｈｅ」は、文脈上別途明白に記載しない限り、複数形も同様に含むことが意図される。また、本明細書で使用されるように、用語「及び／又は」は、関連する列挙された項目のうちの１つ以上のいずれか及び全ての考えられる組合せを指し、かつこれを含むことを理解されたい。用語「ｉｎｃｌｕｄｅｓ（含む）」、「ｉｎｃｌｕｄｉｎｇ（含む）」、「ｃｏｍｐｒｉｓｅｓ（含む、備える）」、及び／又は「ｃｏｍｐｒｉｓｉｎｇ（含む、備える）」は、本明細書で使用する場合、述べられた特徴、整数、ステップ、動作、要素、及び／又は構成要素の存在を指定するが、１つ以上の他の特徴、整数、ステップ、動作、要素、構成要素、及び／若しくはそれらのグループの存在又は追加を除外しないことが更に理解されるであろう。
【００４１】
「〜の場合（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]）」を意味すると解釈される。
【００４２】
電子デバイス、そのようなデバイス用のユーザインタフェース、及びそのようなデバイスを使用するための関連するプロセスの実施形態が説明される。いくつかの実施形態では、デバイスは、ＰＤＡ機能及び／又は音楽プレーヤ機能などの他の機能も含む、携帯電話などのポータブル通信デバイスである。ポータブル多機能デバイスの例示的な実施形態としては、カリフォルニア州クパチーノのＡｐｐｌｅ  Ｉｎｃ．からのｉＰｈｏｎｅ（登録商標）、ｉＰｏｄ  Ｔｏｕｃｈ（登録商標）、及びｉＰａｄ（登録商標）のデバイスが挙げられるが、これらに限定されない。任意選択的に、タッチ感知面を有するラップトップ又はタブレットコンピュータ（例えば、タッチスクリーンディスプレイ及び／又はタッチパッド）などの他のポータブル電子デバイスも使用される。また、いくつかの実施形態では、デバイスはポータブル通信デバイスではなく、タッチ感知面を有するデスクトップコンピュータ（例えば、タッチスクリーンディスプレイ及び／又はタッチパッド）であることも理解されたい。
【００４３】
以下の議論では、ディスプレイ及びタッチ感知面を含む電子デバイスについて説明する。しかし、電子デバイスは、任意選択的に、物理キーボード、マウス、及び／又はジョイスティックなどの１つ以上の他の物理ユーザインタフェースデバイスを含むことを理解されたい。
【００４４】
デバイスは、典型的には、描画アプリケーション、プレゼンテーションアプリケーション、ワードプロセッシングアプリケーション、ウェブサイト作成アプリケーション、ディスクオーサリングアプリケーション、スプレッドシートアプリケーション、ゲームアプリケーション、電話アプリケーション、テレビ会議アプリケーション、電子メールアプリケーション、インスタントメッセージングアプリケーション、トレーニングサポートアプリケーション、写真管理アプリケーション、デジタルカメラアプリケーション、デジタルビデオカメラアプリケーション、ウェブブラウジングアプリケーション、デジタル音楽プレーヤアプリケーション、及び／又はデジタルビデオプレーヤアプリケーションのうちの１つ以上などの様々なアプリケーションに対応する。
【００４５】
本デバイス上で実行される様々なアプリケーションは、タッチ感知面などの、少なくとも１つの共通の物理ユーザインタフェースデバイスを、任意選択的に使用する。タッチ感知面の１つ以上の機能、並びにデバイス上に表示される対応する情報は、アプリケーションごとに、及び／又はそれぞれのアプリケーション内で、任意選択的に、調節及び／又は変更される。このように、デバイスの共通の物理アーキテクチャ（タッチ感知面など）は、任意選択的に、ユーザにとって直観的かつ透過的なユーザインタフェースを備える様々なアプリケーションをサポートする。
【００４６】
ここで、タッチ感知ディスプレイを備えるポータブルデバイスの実施形態に注意を向ける。図１Ａは、いくつかの実施形態に係るタッチ感知ディスプレイシステム１１２を有するポータブル多機能デバイス１００を示すブロック図である。タッチ感知ディスプレイ１１２は、便宜上「タッチスクリーン」と呼ばれることがあり、「タッチ感知ディスプレイシステム」として知られている又は呼ばれることがある。デバイス１００は、メモリ１０２（任意選択的に、１つ以上のコンピュータ可読記憶媒体を含む）、メモリコントローラ１２２、１つ以上の処理ユニット（ＣＰＵ）１２０、周辺機器インタフェース１１８、ＲＦ回路１０８、オーディオ回路１１０、スピーカ１１１、マイクロフォン１１３、入出力（Ｉ／Ｏ）サブシステム１０６、他の入力制御デバイス１１６、及び外部ポート１２４を含む。デバイス１００は、任意選択的に、１つ以上の光センサ１６４を含む。デバイス１００は、任意選択的に、デバイス１００上の接触の強度を検出する１つ以上の接触強度センサ１６５（例えば、デバイス１００のタッチ感知ディスプレイシステム１１２などのタッチ感知面）を含む。デバイス１００は、任意選択的に、デバイス１００上で触知出力を生成する（例えばデバイス１００のタッチ感知ディスプレイシステム１１２又はデバイス３００のタッチパッド３５５などのタッチ感知面上で触知出力を生成する）１つ以上の触知出力生成器１６７を含む。これらの構成要素は、任意選択的に、１つ以上の通信バス又は信号ライン１０３を介して通信する。
【００４７】
本明細書及び特許請求の範囲では、タッチ感知面上の接触の「強度」という用語は、タッチ感知面上の接触（例えば、指の接触）の力若しくは圧力（単位面積当たりの力）、又はタッチ感知面上の接触の力若しくは圧力に対する代理（プロキシ）を指す。接触の強度は、少なくとも４つの別個の値を含み、より典型的には、数百の（例えば、少なくとも２５６の）別個の値を含む、値の範囲を有する。接触の強度は、任意選択的に、様々な手法、及び様々なセンサ又はセンサの組合せを使用して、特定（又は測定）される。例えば、タッチ感知面の下又はそれに隣接する１つ以上の力センサは、任意選択的に、タッチ感知面上の様々なポイントにおける力を測定するために使用される。いくつかの実装形態では、複数の力センサからの力測定値は、接触の推定される力を判定するために組み合わされる（例えば、加重平均）。同様に、スタイラスの感圧性先端部は、任意選択的に、タッチ感知面上のスタイラスの圧力を特定するために使用される。あるいは、タッチ感知面上で検出される接触領域のサイズ及び／若しくはその変化、接触に近接するタッチ感知面の電気容量及び／若しくはその変化、並びに／又は、接触に近接するタッチ感知面の抵抗及び／若しくはその変化は、任意選択的に、タッチ感知面上の接触の力又は圧力の代替物として使用される。いくつかの実装形態では、接触の力又は圧力のための代替測定値は、強度閾値を超えているかどうかを判定するために直接使用される（例えば、強度閾値は、代替測定値に対応する単位で記述される）。いくつかの実装形態では、接触力又は圧力に対する代理測定は、推定される力又は圧力に変換され、推定される力又は圧力は、強度閾値を超過したかどうかを判定するために使用される（例えば、強度閾値は、圧力の単位で測定される圧力閾値である）。接触の強度をユーザ入力の属性として使用することにより、アフォーダンスを（例えば、タッチ感知ディスプレイ上に）表示するための、及び／又は、ユーザ入力を（例えば、タッチ感知ディスプレイ、タッチ感知面、又は、ノブ若しくはボタンなどの物理的／機械的制御部を介して）受信するための面積が制限されている、低減されたサイズのデバイス上で、通常であればユーザによってアクセスすることが不可能であり得る追加的なデバイス機能への、ユーザのアクセスが可能となる。
【００４８】
本明細書及び特許請求の範囲で使用されるように、用語「触知出力」は、ユーザの触覚でユーザによって検出されることになる、デバイスの従前の位置に対するそのデバイスの物理的変位、デバイスの構成要素（例えば、タッチ感知面）の、そのデバイスの別の構成要素（例えば、筐体）に対する物理的変位、又は、デバイスの質量中心に対する構成要素の変位を指す。例えば、デバイス又はデバイスの構成要素が、タッチに敏感なユーザの表面（例えば、ユーザの手の指、手のひら、又は他の部分）に接触している状況では、物理的変位によって生成された触知出力は、そのデバイス又はデバイスの構成要素の物理的特性の認識される変化に相当する触感として、ユーザによって解釈されることになる。例えば、タッチ感知面（例えば、タッチ感知ディスプレイ又はトラックパッド）の移動は、ユーザによって、物理アクチュエータボタンの「ダウンクリック」又は「アップクリック」として、任意選択的に解釈される。いくつかの場合、ユーザの動作により物理的に押された（例えば、変位された）タッチ感知面に関連付けられた物理アクチュエータボタンの移動がない時でさえ、ユーザは「ダウンクリック」又は「アップクリック」などの触感を感じる。別の実施例として、タッチ感知面の移動は、タッチ感知面の平滑度に変化がない場合であっても、ユーザによって、そのタッチ感知面の「粗さ」として、任意選択的に解釈又は感知される。そのようなユーザによるタッチの解釈は、ユーザの個人的な感覚認知に左右されるが、大多数のユーザに共通する、多くのタッチの感覚認知が存在する。したがって、触知出力が、ユーザの特定の感覚認知（例えば、「アップクリック」「ダウンクリック」、「粗さ」）に対応するものと記述される場合、別途記載のない限り、生成された触知出力は、典型的な（又は、平均的な）ユーザの記述された感覚認知を生成するデバイス、又はデバイスの構成要素の物理的変位に対応する。
【００４９】
デバイス１００は、ポータブル多機能デバイスの一実施例に過ぎず、デバイス１００は、任意選択的に、示されているものよりも多くの構成要素又は少ない構成要素を有するものであり、任意選択的に、２つ以上の構成要素を組合せるものであり、又は、任意選択的に、それらの構成要素の異なる構成若しくは配置を有するものであることを理解されたい。図１Ａに示す様々な構成要素は、１つ以上の信号処理回路及び／又は特定用途向け集積回路を含む、ハードウェア、ソフトウェア、又はハードウェアとソフトウェアの両方の組合せで実施される。
【００５０】
メモリ１０２は、任意選択的に、高速ランダムアクセスメモリを含み、また任意選択的に、１つ以上の磁気ディスク記憶デバイス、フラッシュメモリデバイス、又は他の不揮発性ソリッドステートメモリデバイスなどの不揮発性メモリを含む。メモリコントローラ１２２は、任意選択的に、デバイス１００の他の構成要素によるメモリ１０２へのアクセスを制御する。
【００５１】
周辺機器インタフェース１１８は、デバイスの入力及び出力周辺機器をＣＰＵ１２０及びメモリ１０２に結合するために使用することができる。１つ以上のプロセッサ１２０は、メモリ１０２に記憶された様々なソフトウェアプログラム及び／又は命令セットを動作させる、又は実行して、デバイス１００のための様々な機能を実行し、データを処理する。いくつかの実施形態では、周辺機器インタフェース１１８、ＣＰＵ１２０、及びメモリコントローラ１２２は、任意選択的に、チップ１０４などの単一のチップ上で実施される。いくつかの他の実施形態では、それらは別々のチップ上に任意選択的に実装される。
【００５２】
ＲＦ（radio frequency）（無線周波数）回路１０８は、電磁信号とも呼ばれるＲＦ信号を送受信する。ＲＦ回路１０８は、電気信号を電磁信号に、又は電磁信号を電気信号に変換し、電磁信号を介して通信ネットワーク及び他の通信デバイスと通信する。ＲＦ回路１０８は、任意選択的に、これらの機能を実行するための周知の回路を含み、それらの回路としては、限定するものではないが、アンテナシステム、ＲＦ送受信機、１つ以上の増幅器、同調器、１つ以上の発振器、デジタル信号プロセッサ、ＣＯＤＥＣチップセット、加入者識別モジュール（subscriber identity module、ＳＩＭ）カード、メモリなどが挙げられる。ＲＦ回路１０８は、任意選択的に、ワールドワイドウェブ（World Wide Web、ＷＷＷ）とも呼ばれるインターネット、イントラネット、並びに／又はセルラー電話ネットワーク、無線ローカルエリアネットワーク（local area network、ＬＡＮ）及び／若しくはメトロポリタンエリアネットワーク（metropolitan area network、ＭＡＮ）などの無線ネットワークなどのネットワークと、また他のデバイスと、無線通信によって通信する。ＲＦ回路１０８は、任意選択的に、短距離通信無線機などによって近距離通信（near field communication、ＮＦＣ）フィールドを検出するよく知られている回路を含む。無線通信は、任意選択的に、それだけに限定されるものではないが、動き通信用のグローバルシステム（Global System for Mobile Communications、ＧＳＭ（登録商標））、拡張データＧＳＭ環境（Enhanced Data GSM Environment、ＥＤＧＥ）、高速ダウンリンクパケットアクセス（high-speed downlink packet access、ＨＳＤＰＡ）、高速アップリンクパケットアクセス（high-speed uplink packet access、ＨＳＵＰＡ）、エボリューションデータオンリ（Evolution, Data-Only、ＥＶ−ＤＯ）、ＨＳＰＡ、ＨＳＰＡ＋、デュアルセルＨＳＰＡ（Dual-Cell HSPA、ＤＣ−ＨＳＰＤＡ）、ロングタームエボリューション（long term evolution、ＬＴＥ）、近距離通信（ＮＦＣ）、広帯域符号分割多元接続（wideband code division multiple access、Ｗ−ＣＤＭＡ）、符号分割多元接続（code division multiple access、ＣＤＭＡ）、時分割多元接続（time division multiple access、ＴＤＭＡ）、Ｂｌｕｅｔｏｏｔｈ（登録商標）、Ｂｌｕｅｔｏｏｔｈローエネルギー（Bluetooth Low Energy、ＢＴＬＥ（登録商標））、ワイヤレスフィデリティ（Wireless Fidelity、Ｗｉ−Ｆｉ（登録商標））（例えば、ＩＥＥＥ  ８０２．１１ａ、ＩＥＥＥ  ８０２．１１ｂ、ＩＥＥＥ  ８０２．１１ｇ、ＩＥＥＥ  ８０２．１１ｎ、及び／若しくはＩＥＥＥ  ８０２．１１ａｃ）、ボイスオーバインターネットプロトコル（voice over Internet Protocol、ＶｏＩＰ）、Ｗｉ−ＭＡＸ（登録商標）、電子メール用プロトコル（例えば、インターネットメッセージアクセスプロトコル（Internet message access protocol、ＩＭＡＰ）及び／若しくはポストオフィスプロトコル（post office protocol、ＰＯＰ））、インスタントメッセージング（例えば、拡張可能なメッセージング及びプレゼンスプロトコル（extensible messaging and presence protocol、ＸＭＰＰ）、インスタントメッセージング及びプレゼンスイベントパッケージのためのセッション開始プロトコル（Session Initiation Protocol for Instant Messaging and Presence Leveraging Extensions、ＳＩＭＰＬＥ）、インスタントメッセージング及びプレゼンスイベン���パッケージ（Instant Messaging and Presence Service、ＩＭＰＳ））、並びに／若しくはショートメッセージサービス（Short Message Service、ＳＭＳ）、又は本明細書の出願日の時点でまだ開発されていない通信プロトコルを含む任意の他の適した通信プロトコルを含む、複数の通信規格、プロトコル、及び技術のうちのいずれかを使用する。
【００５３】
オーディオ回路１１０、スピーカ１１１、及びマイクロフォン１１３は、ユーザとデバイス１００との間のオーディオインタフェースを提供する。オーディオ回路１１０は、周辺機器インタフェース１１８からオーディオデータを受信し、このオーディオデータを電気信号に変換し、この電気信号をスピーカ１１１に伝送する。スピーカ１１１は、電気信号を人間の可聴音波に変換する。また、オーディオ回路１１０は、マイクロフォン１１３によって音波から変換された電気信号を受信する。オーディオ回路１１０は、電気信号をオーディオデータに変換し、このオーディオデータを処理のために周辺機器インタフェース１１８に伝送する。オーディオデータは、任意選択的に、周辺機器インタフェース１１８によって、メモリ１０２及び／若しくはＲＦ回路１０８から取得され、かつ／又はメモリ１０２及び／若しくはＲＦ回路１０８に伝送される。いくつかの実施形態では、オーディオ回路１１０はまた、ヘッドセットジャック（例えば、図２の２１２）を含む。ヘッドセットジャックは、オーディオ回路１１０と、出力専用ヘッドホン又は出力（例えば片耳又は両耳用のヘッドホン）及び入力（例えばマイクロフォン）の両方を有するヘッドセットなどの着脱可能なオーディオ入出力周辺機器との間のインタフェースを提供する。
【００５４】
Ｉ／Ｏサブシステム１０６は、タッチスクリーン１１２及び他の入力コントロールデバイス１１６などのデバイス１００上の入出力周辺機器を、周辺機器インタフェース１１８に結合する。Ｉ／Ｏサブシステム１０６は、任意選択的に、ディスプレイコントローラ１５６、光センサコントローラ１５８、強度センサコントローラ１５９、触覚フィードバックコントローラ１６１、及び他の入力若しくは制御デバイスのための１つ以上の入力コントローラ１６０を含む。１つ以上の入力コントローラ１６０は、他の入力コントロールデバイス１１６からの電気信号の受信／他の入力コントロールデバイス１１６への電気信号の送信を行う。他の入力コントロールデバイス１１６は、任意選択的に、物理ボタン（例えば、プッシュボタン、ロッカボタンなど）、ダイアル、スライダスイッチ、ジョイスティック、クリックホイールなどを含む。いくつかの代替実施形態では、入力コントローラ１６０は、任意選択的に、キーボード、赤外線ポート、ＵＳＢポート、及びマウスなどのポインタデバイスのうちのいずれかに結合される（又はいずれにも結合されない）。１つ以上のボタン（例えば、図２の２０８）は、任意選択的に、スピーカ１１１及び／又はマイクロフォン１１３の音量コントロールのための上下ボタンを含む。１つ以上のボタンは、任意選択的に、プッシュボタン（例えば、図２の２０６）を含む。
【００５５】
全体として参照により本明細書に組み込まれている、２００５年１２月２３日出願の米国特許出願第１１／３２２，５４９号、「Ｕｎｌｏｃｋｉｎｇ  ａ  Ｄｅｖｉｃｅ  ｂｙ  Ｐｅｒｆｏｒｍｉｎｇ  Ｇｅｓｔｕｒｅｓ  ｏｎ  ａｎ  Ｕｎｌｏｃｋ  Ｉｍａｇｅ」、米国特許第７，６５７，８４９号に記載されているように、プッシュボタンの素早い押下は、任意選択的に、タッチスクリーン１１２のロックを係合解除し、又は任意選択的に、タッチスクリーン上のジェスチャを使用してデバイスをアンロックするプロセスを開始する。プッシュボタン（例えば、２０６）のより長い押下は、任意選択的に、デバイス１００への電力をオン又はオフにする。ボタンのうちの１つ以上の機能性は、任意選択的に、ユーザによってカスタマイズ可能である。タッチスクリーン１１２は、仮想又はソフトボタン及び１つ以上のソフトキーボードを実施するために使用される。
【００５６】
タッチ感知ディスプレイ１１２は、デバイスとユーザとの間の入力インタフェース及び出力インタフェースを提供する。ディスプレイコントローラ１５６は、タッチスクリーン１１２からの電気信号の受信及び／又はタッチスクリーン１１２への電気信号の送信を行う。タッチスクリーン１１２は、ユーザに対して視覚出力を表示する。この視覚出力は、グラフィック、テキスト、アイコン、ビデオ、及びそれらの任意の組み合わせ（総称して「グラフィック」）を任意選択的に含む。いくつかの実施形態では、視覚出力の一部又は全ては、任意選択的に、ユーザインタフェースオブジェクトに対応する。
【００５７】
タッチスクリーン１１２は、触覚及び／又は触知接触に基づいてユーザからの入力を受け付けるタッチ感知面、センサ、又はセンサのセットを有する。タッチスクリーン１１２及びディスプレイコントローラ１５６は（あらゆる関連モジュール及び／又はメモリ１０２内の命令セットとともに）、タッチスクリーン１１２上の接触（及び接触のあらゆる動き又は中断）を検出し、検出した接触を、タッチスクリーン１１２上に表示されるユーザインタフェースオブジェクトとの対話（例えば、１つ以上のソフトキー、アイコン、ウェブページ、又は画像）に変換する。例示的な実施形態では、タッチスクリーン１１２とユーザとの間の接触点は、ユーザの指に対応する。
【００５８】
タッチスクリーン１１２は、任意選択的に、ＬＣＤ（液晶ディスプレイ）技術、ＬＰＤ（発光ポリマーディスプレイ）技術、又はＬＥＤ（発光ダイオード）技術を使用するが、他の実施形態では、他のディスプレイ技術も使用される。タッチスクリーン１１２及びディスプレイコントローラ１５６は、任意選択的に、それだけに限定されるものではないが、容量性、抵抗性、赤外線、及び表面音波の技術、並びにタッチスクリーン１１２との１つ以上の接触点を判定する他の近接センサアレイ又は他の要素を含む、現在知られている又は今後開発される複数のタッチ感知技術のうちのいずれかを使用して、接触及びそのあらゆる動き又は中断を検出する。例示的な実施形態では、カリフォルニア州クパチーノのＡｐｐｌｅ  Ｉｎｃ．からのｉＰｈｏｎｅ（登録商標）及びｉＰｏｄ  Ｔｏｕｃｈ（登録商標）に見られるものなどの、投影型相互静電容量感知技術が使用される。
【００５９】
タッチスクリーン１１２のいくつかの実施形態におけるタッチ感知ディスプレイは、任意選択的に、それぞれ全体として参照により本明細書に組み込まれている、米国特許第６，３２３，８４６号（Ｗｅｓｔｅｒｍａｎら）、第６，５７０，５５７号（Ｗｅｓｔｅｒｍａｎら）、及び／若しくは第６，６７７，９３２号（Ｗｅｓｔｅｒｍａｎ）、並びに／又は米国特許公報第２００２／００１５０２４Ａ１号という米国特許に記載されているマルチタッチ感知タッチパッドに類似している。しかし、タッチスクリーン１１２はデバイス１００からの視覚出力を表示するのに対して、タッチ感知タッチパッドは視覚出力を提供しない。
【００６０】
タッチスクリーン１１２のいくつかの実施形態におけるタッチ感知ディスプレイは、（１）２００６年５月２日出願の米国特許出願第１１／３８１，３１３号、「Ｍｕｌｔｉｐｏｉｎｔ  Ｔｏｕｃｈ  Ｓｕｒｆａｃｅ  Ｃｏｎｔｒｏｌｌｅｒ」、（２）２００４年５月６日出願の米国特許出願第１０／８４０，８６２号、「Ｍｕｌｔｉｐｏｉｎｔ  Ｔｏｕｃｈｓｃｒｅｅｎ」、（３）２００４年７月３０日出願の米国特許出願第１０／９０３，９６４号、「Ｇｅｓｔｕｒｅｓ  Ｆｏｒ  Ｔｏｕｃｈ  Ｓｅｎｓｉｔｉｖｅ  Ｉｎｐｕｔ  Ｄｅｖｉｃｅｓ」、（４）２００５年１月３１日出願の米国特許出願第１１／０４８，２６４号、「Ｇｅｓｔｕｒｅｓ  Ｆｏｒ  Ｔｏｕｃｈ  Ｓｅｎｓｉｔｉｖｅ  Ｉｎｐｕｔ  Ｄｅｖｉｃｅｓ」、（５）２００５年１月１８日出願の米国特許出願第１１／０３８，５９０号、「Ｍｏｄｅ−Ｂａｓｅｄ  Ｇｒａｐｈｉｃａｌ  Ｕｓｅｒ  Ｉｎｔｅｒｆａｃｅｓ  Ｆｏｒ  Ｔｏｕｃｈ  Ｓｅｎｓｉｔｉｖｅ  Ｉｎｐｕｔ  Ｄｅｖｉｃｅｓ」、（６）２００５年９月１６日出願の米国特許出願第１１／２２８，７５８号、「Ｖｉｒｔｕａｌ  Ｉｎｐｕｔ  Ｄｅｖｉｃｅ  Ｐｌａｃｅｍｅｎｔ  Ｏｎ  Ａ  Ｔｏｕｃｈ  Ｓｃｒｅｅｎ  Ｕｓｅｒ  Ｉｎｔｅｒｆａｃｅ」、（７）２００５年９月１６日出願の米国特許出願第１１／２２８，７００号、「Ｏｐｅｒａｔｉｏｎ  Ｏｆ  Ａ  Ｃｏｍｐｕｔｅｒ  Ｗｉｔｈ  Ａ  Ｔｏｕｃｈ  Ｓｃｒｅｅｎ  Ｉｎｔｅｒｆａｃｅ」、（８）２００５年９月１６日出願の米国特許出願第１１／２２８，７３７号、「Ａｃｔｉｖａｔｉｎｇ  Ｖｉｒｔｕａｌ  Ｋｅｙｓ  Ｏｆ  Ａ  Ｔｏｕｃｈ−Ｓｃｒｅｅｎ  Ｖｉｒｔｕａｌ  Ｋｅｙｂｏａｒｄ」、及び（９）２００６年３月３日出願の米国特許出願第１１／３６７，７４９号、「Ｍｕｌｔｉ−Ｆｕｎｃｔｉｏｎａｌ  Ｈａｎｄ−Ｈｅｌｄ  Ｄｅｖｉｃｅ」という出願に記載されている。これらの出願は全て、全体として参照により本明細書に組み込まれている。
【００６１】
タッチスクリーン１１２は、任意選択的に、１００ｄｐｉを超えるビデオ解像度を有する。いくつかの実施形態では、タッチスクリーンは、約１６０ｄｐｉのビデオ解像度を有する。ユーザは、任意選択的に、スタイラス、指などの任意の適したオブジェクト又は付属物を使用して、タッチスクリーン１１２に接触する。いくつかの実施形態では、ユーザインタフェースは、指ベースの接触及びジェスチャを主に扱うように設計されるが、これは、タッチスクリーン上の指の接触面積がより大きいため、スタイラスベースの入力ほど精密でない可能性がある。いくつかの実施形態では、デバイスは、指に基づく粗い入力を、ユーザによって所望されているアクションを実行するための、正確なポインタ／カーソルの位置又はコマンドに変換する。
【００６２】
いくつかの実施形態では、タッチスクリーンに加えて、デバイス１００は、任意選択的に、特定の機能をアクティブ化又は非アクティブ化するためのタッチパッド（図示せず）を含む。いくつかの実施形態では、タッチパッドは、タッチスクリーンとは異なり、視覚出力を表示しない、デバイスのタッチ感知エリアである。タッチパッドは、任意選択的に、タッチスクリーン１１２又はタッチスクリーンによって形成されるタッチ感知面の拡張部とは別個のタッチ感知面である。
【００６３】
デバイス１００は、また、様々な構成要素に電力を供給する電力システム１６２を含む。電力システム１６２は、任意選択的に、電力管理システム、１つ以上の電源（例えば、バッテリ、交流（ＡＣ））、再充電システム、停電検出回路、電力コンバータ又はインバータ、電力状態インジケータ（例えば、発光ダイオード（ＬＥＤ））、並びにポータブルデバイス内での電力の生成、管理、及び分配に関連付けられた任意の他の構成要素を含む。
【００６４】
また、デバイス１００は、任意選択的に、１つ以上の光センサ１６４を含む。図１Ａは、Ｉ／Ｏサブシステム１０６内の光センサコントローラ１５８に結合された光センサを示す。光センサ１６４は、任意選択的に、電荷結合デバイス（charge-coupled device、ＣＣＤ）又は相補的金属酸化物半導体（complementary metal-oxide semiconductor、ＣＭＯＳ）フォトトランジスタを含む。光センサ１６４は、１つ以上のレンズを通って投影された環境からの光を受信し、その光を、画像を表すデータに変換する。光センサ１６４は、撮像モジュール１４３（カメラモジュールとも呼ばれる）と連動して、任意選択的に、静止画像又はビデオをキャプチャする。いくつかの実施形態では、光センサは、デバイスの前面にあるタッチスクリーンディスプレイ１１２とは反対に、デバイス１００の裏面に位置し、したがってタッチスクリーンディスプレイは、静止画像及び／又はビデオ画像の取得のためのビューファインダとして使用することが有効である。いくつかの実施形態では、光センサは、デバイスの前面には位置し、したがってユーザの画像が、任意選択的に、テレビ会議のために入手され、ユーザは、他のテレビ会議参加者をタッチスクリーンディスプレイ上で視る。いくつかの実施形態では、光センサ１６４の位置は、ユーザによって（例えば、デバイスハウジング内でレンズ及びセンサを回転させることによって）変更することができ、したがって単一の光センサ１６４が、タッチスクリーンディスプレイとともに、テレビ会議にも静止画像及び／又はビデオ画像の取得にも使用される。
【００６５】
また、デバイス１００は、任意選択的に、１つ以上の接触強度センサ１６５を含む。図１Ａは、Ｉ／Ｏサブシステム１０６内の強度センサコントローラ１５９に結合された接触強度センサを示す。接触強度センサ１６５は、任意選択的に、１つ以上のピエゾ抵抗ひずみゲージ、容量性力センサ、電気力センサ、圧電力センサ、光学力センサ、容量性タッチ感知面、又は他の強度センサ（例えば、タッチ感知面上の接触の力（若しくは圧力）を測定するために使用されるセンサ）を含む。接触強度センサ１６５は、接触強度情報（例えば、圧力情報又は圧力情報に対するプロキシ）を環境から受信する。いくつかの実施形態では、少なくとも１つの接触強度センサは、タッチ感知面（例えばタッチ感知ディスプレイシステム１１２）と並置される、又はそれに近接している。いくつかの実施形態では、少なくとも１つの接触強度センサは、デバイス１００の前面に位置するタッチスクリーンディスプレイ１１２とは反対に、デバイス１００の裏面に位置する。
【００６６】
また、デバイス１００は、任意選択的に、１つ以上の近接センサ１６６を含む。図１Ａは、周辺機器インタフェース１１８に結合された近接センサ１６６を示す。代わりに、近接センサ１６６は、任意選択的に、Ｉ／Ｏサブシステム１０６内の入力コントローラ１６０に結合される。近接センサ１６６は、任意選択的に、全体として参照により本明細書に組み込まれている、米国特許出願第１１／２４１，８３９号、「Ｐｒｏｘｉｍｉｔｙ  Ｄｅｔｅｃｔｏｒ  Ｉｎ  Ｈａｎｄｈｅｌｄ  Ｄｅｖｉｃｅ」、第１１／２４０，７８８号、「Ｐｒｏｘｉｍｉｔｙ  Ｄｅｔｅｃｔｏｒ  Ｉｎ  Ｈａｎｄｈｅｌｄ  Ｄｅｖｉｃｅ」第１１／６２０，７０２号、「Ｕｓｉｎｇ  Ａｍｂｉｅｎｔ  Ｌｉｇｈｔ  Ｓｅｎｓｏｒ  Ｔｏ  Ａｕｇｍｅｎｔ  Ｐｒｏｘｉｍｉｔｙ  Ｓｅｎｓｏｒ  Ｏｕｔｐｕｔ」、第１１／５８６，８６２号、「Ａｕｔｏｍａｔｅｄ  Ｒｅｓｐｏｎｓｅ  Ｔｏ  Ａｎｄ  Ｓｅｎｓｉｎｇ  Ｏｆ  Ｕｓｅｒ  Ａｃｔｉｖｉｔｙ  Ｉｎ  Ｐｏｒｔａｂｌｅ  Ｄｅｖｉｃｅｓ」、及び同第１１／６３８，２５１号、「Ｍｅｔｈｏｄｓ  Ａｎｄ  Ｓｙｓｔｅｍｓ  Ｆｏｒ  Ａｕｔｏｍａｔｉｃ  Ｃｏｎｆｉｇｕｒａｔｉｏｎ  Ｏｆ  Ｐｅｒｉｐｈｅｒａｌｓ」で説明されるように機能するものであり、これらの出願は、全体が参照により本明細書に組み込まれる。いくつかの実施形態では、近接センサは、多機能デバイスがユーザの耳付近に配置されたとき（例えば、ユーザが電話をかけているとき）、タッチスクリーン１１２をオフにして無効化する。
【００６７】
また、デバイス１００は、任意選択的に、１つ以上の触知出力生成器１６７を含む。図１Ａは、Ｉ／Ｏサブシステム１０６内の触覚フィードバックコントローラ１６１に結合された触知出力生成器を示す。触知出力生成器１６７は、任意選択的に、スピーカ若しくは他のオーディオ構成要素などの１つ以上の電気音響デバイス、及び／又はモータ、ソレノイド、電気活性ポリマー、圧電アクチュエータ、静電アクチュエータ、若しくは他の触知出力生成構成要素（例えば、デバイス上で電気信号を触知出力に変換する構成要素）などのエネルギーを直線の動きに変換する電気機械デバイスを含む。接触強度センサ１６５は、触覚フィードバックモジュール１３３から触知フィードバック生成命令を受信し、デバイス１００のユーザが感知することが可能な触知出力をデバイス１００上に生成する。いくつかの実施形態では、少なくとも１つの触知出力生成器は、タッチ感知面（例えば、タッチ感知ディスプレイシステム１１２）に配置されているか、又はそれに近接しており、任意選択的に、タッチ感知面を垂直方向（例えば、デバイス１００の表面の内／外）に、又は水平方向（例えば、デバイス１００の表面と同じ平面内の前後）に動かすことによって、触知出力を生成する。いくつかの実施形態では、少なくとも１つの触知出力生成器センサは、デバイス１００の前面に位置するタッチスクリーンディスプレイ１１２とは反対に、デバイス１００の裏面に位置する。
【００６８】
また、デバイス１００は、任意選択的に、１つ以上の加速度計１６８を含む。図１Ａは、周辺機器インタフェース１１８に結合された加速度計１６８を示す。代わりに、加速度計１６８は、任意選択的に、Ｉ／Ｏサブシステム１０６内の入力コントローラ１６０に結合される。加速度計１６８は、任意選択的に、どちらも全体として参照により本明細書に組み込まれている、米国特許公開第２００５０１９００５９号、「Ａｃｃｅｌｅｒａｔｉｏｎ−ｂａｓｅｄ  Ｔｈｅｆｔ  Ｄｅｔｅｃｔｉｏｎ  Ｓｙｓｔｅｍ  ｆｏｒ  Ｐｏｒｔａｂｌｅ  Ｅｌｅｃｔｒｏｎｉｃ  Ｄｅｖｉｃｅｓ」、及び米国特許公開第２００６００１７６９２号、「Ｍｅｔｈｏｄｓ  Ａｎｄ  Ａｐｐａｒａｔｕｓｅｓ  Ｆｏｒ  Ｏｐｅｒａｔｉｎｇ  Ａ  Ｐｏｒｔａｂｌｅ  Ｄｅｖｉｃｅ  Ｂａｓｅｄ  Ｏｎ  Ａｎ  Ａｃｃｅｌｅｒｏｍｅｔｅｒ」に記載されているように機能する。いくつかの実施形態では、情報は、１つ以上の加速度計から受信したデータの分析に基づいて、ポートレートビュー又はランドスケープビューでタッチスクリーンディスプレイ上に表示される。デバイス１００は任意選択で、加速度計（単数又は複数）１６８に加えて、磁気計（図示せず）並びにデバイス１００の位置及び向き（例えば、縦向き又は横向き）に関する情報を取得するためのＧＰＳ（又はＧＬＯＮＡＳＳ又は他のグローバルナビゲーションシステム）受信機（図示せず）を含む。
【００６９】
いくつかの実施形態では、メモリ１０２内に記憶されているソフトウェア構成要素は、オペレーティングシステム１２６、通信モジュール（又は命令セット）１２８、接触／動きモジュール（又は命令セット）１３０、グラフィックモジュール（又は命令セット）１３２、テキスト入力モジュール（又は命令セット）１３４、全地球測位システム（Global Positioning System、ＧＰＳ）モジュール（又は命令セット）１３５、及びアプリケーション（又は命令セット）１３６を含む。更に、いくつかの実施形態では、図１Ａ及び図３に示されるように、メモリ１０２（図１Ａ）又はメモリ３７０（図３）は、デバイス／グローバル内部状態１５７を記憶する。デバイス／グローバル内部状態１５７は、現在アクティブ状態のアプリケーションがある場合に、どのアプリケーションがアクティブであるかを示す、アクティブアプリケーション状態、どのアプリケーション、ビュー、又は他の情報がタッチスクリーンディスプレイ１１２の様々な領域を占有しているかを示すディスプレイ状態、デバイスの様々なセンサ及び入力コントロールデバイス１１６から入手した情報を含むセンサ状態、並びにデバイスの場所及び／又は姿勢に関する場所情報のうちの１つ以上を含む。
【００７０】
オペレーティングシステム１２６（例えば、Ｄａｒｗｉｎ（登録商標）、ＲＴＸＣ（登録商標）、ＬＩＮＵＸ（登録商標）、ＵＮＩＸ（登録商標）、ＯＳ  Ｘ（登録商標）、ｉＯＳ（登録商標）、ＷＩＮＤＯＷＳ（登録商標）、又はＶｘＷｏｒｋｓ（登録商標）などの組み込み型オペレーティングシステム）は、通常のシステムタスク（例えば、メモリ管理、記憶デバイスの制御、電力管理など）を制御及び管理する様々なソフトウェア構成要素及び／又はドライバを含み、様々なハードウェアとソフトウェア構成要素との間の通信を容易にする。
【００７１】
通信モジュール１２８は、１つ以上の外部ポート１２４を介して他のデバイスとの通信を容易にし、ＲＦ回路１０８及び／又は外部ポート１２４が受信したデータを処理するための様々なソフトウェア構成要素をも含む。外部ポート１２４（例えばユニバーサルシリアルバス（Universal Serial Bus、ＵＳＢ）、ＦＩＲＥＷＩＲＥ（登録商標）など）は、直接的に、又はネットワーク（例えばインターネット、無線ＬＡＮなど）を介して間接的に、他のデバイスに連結するように適合されている。いくつかの実施形態では、外部ポートは、ｉＰｏｄ（登録商標）（Ａｐｐｌｅ  Ｉｎｃ．の商標）デバイス上で使用される３０ピンコネクタと同じ若しくは類似であり、かつ／又はそれに適合しているマルチピン（例えば、３０ピン）コネクタである。
【００７２】
接触／動きモジュール１３０は、任意選択的に、タッチスクリーン１１２（ディスプレイコントローラ１５６と連動して）及び他のタッチ感知デバイス（例えば、タッチパッド又は物理クリックホイール）との接触を検出する。接触／動きモジュール１３０は、接触が生じたか否かを判定すること（例えば、指を下ろすイベントを検出すること）、接触の強度（例えば、接触の力若しくは圧力、又は接触の力若しくは圧力の代替物）を判定すること、接触の移動が存在するか否かを判定し、タッチ感知面を横断する移動を追跡すること（例えば、指をドラッグする１つ以上のイベントを検出すること）、及び接触が停止したか否かを判定すること（例えば、指を上げるイベント又は接触の中断を検出すること）などの、接触の検出に関する様々な動作を実行するための、様々なソフトウェア構成要素を含む。接触／動きモジュール１３０は、タッチ感知面から接触データを受信する。一連の接触データによって表される、接触点の移動を判定することは、任意選択的に、接触点の速さ（大きさ）、速度（大きさ及び方向）、及び／又は加速度（大きさ及び／又は方向の変化）を判定することを含む。これらの動作は、任意選択的に、単一の接触（例えば、１本の指の接触）又は複数の同時接触（例えば、「マルチタッチ」／複数の指の接触）に適用される。いくつかの実施形態では、接触／動きモジュール１３０及びディスプレイコントローラ１５６は、タッチパッド上の接触を検出する。
【００７３】
いくつかの実施形態では、接触／動きモジュール１３０は、１つ以上の強度閾値のセットを使用して、ユーザによって操作が実行されたかどうかを判定する（例えば、ユーザがアイコン上で「クリック」したかどうかを判定する）。いくつかの実施形態では、強度閾値の少なくとも１つのサブセットが、ソフトウェアパラメータに従って判定される（例えば、強度閾値は、特定の物理アクチュエータのアクティブ化閾値によって判定されるのではなく、デバイス１００の物理ハードウェアを変化させることなく調整することができる）。例えば、トラックパッド又はタッチスクリーンディスプレイのマウス「クリック」閾値は、トラックパッド又はタッチスクリーンディスプレイハードウェアを変化させることなく、広範囲の所定の閾値のうちのいずれかに設定することができる。加えて、いくつかの実装形態では、デバイスのユーザは、強度閾値のセットの１つ以上を調整するソフトウェア設定が提供される（例えば、システムレベルのクリック「強度」パラメータによって、個々の強度閾値を調整すること、及び／又は複数の強度閾値を一度に調整することによる）。
【００７４】
接触／動きモジュール１３０は、任意選択的に、ユーザによるジェスチャ入力を検出する。タッチ感知面上の異なるジェスチャは、異なる接触パターンを有する（例えば検出される接触の動き、タイミング、及び／又は強度が異なる）。したがって、ジェスチャは、任意選択的に、特定の接触パターンを検出することによって検出される。例えば、指タップジェスチャを検出することは、指ダウンイベントを検出し、それに続いて指ダウンイベントと同じ位置（又は実質上同じ位置）（例えば、アイコンの位置）で指アップ（リフトオフ）イベントを検出することを含む。別の例として、タッチ感知面上で指スワイプジェスチャを検出することは、指ダウンイベントを検出し、それに続いて１つ以上の指ドラッグイベントを検出し、その後それに続いて指アップ（リフトオフ）イベントを検出することを含む。
【００７５】
グラフィックモジュール１３２は、表示されるグラフィックの視覚的な影響（例えば、輝度、透明度、彩度、コントラスト、又は他の視覚的特性）を変化させる構成要素を含めて、タッチスクリーン１１２又は他のディスプレイ上にグラフィックをレンダリング及び表示する様々な知られているソフトウェア構成要素を含む。本明細書では、「グラフィック」という用語は、それだけに限定されるものではないが、文字、ウェブページ、アイコン（ソフトキーを含むユーザインタフェースオブジェクトなど）、デジタル画像、ビデオ、アニメーションなどを含む、ユーザに表示することができる任意のオブジェクトを含む。
【００７６】
いくつかの実施形態では、グラフィックモジュール１３２は、使用されるグラフィックを表すデータを記憶する。各グラフィックには、任意選択的に、対応するコードが割り当てられる。グラフィックモジュール１３２は、アプリケーションなどから、必要に応じて、座標データ及び他のグラフィック特性データと共に、表示されることとなるグラフィックを指定する１つ以上のコードを受信し、次にディスプレイコントローラ１５６に出力するスクリーンの画像データを生成する。
【００７７】
触覚フィードバックモジュール１３３は、デバイス１００とのユーザ対話に応じて、デバイス１００上の１つ以上の場所で触知出力を生成するために、触知出力生成器（単数又は複数）１６７によって使用される命令を生成するための、様々なソフトウェア構成要素を含む。
【００７８】
テキスト入力モジュール１３４は、任意選択で、グラフィックモジュール１３２の構成要素であり、様々なアプリケーション（例えば、連絡先１３７、電子メール１４０、ＩＭ１４１、ブラウザ１４７、及びテキスト入力を必要とする任意の他のアプリケーション）でテキストを入力するためのソフトキーボードを提供する。
【００７９】
ＧＰＳモジュール１３５は、デバイスの位置を判定し、この情報を様々なアプリケーションで使用するために（例えば、位置に基づくダイアル発呼で使用するために電話１３８へ、写真／ビデオのメタデータとしてカメラ１４３へ、並びに、気象ウィジェット、地域のイエローページウィジェット、及び地図／ナビゲーションウィジェットなどの、位置に基づくサービスを提供するアプリケーションへ）提供する。
【００８０】
アプリケーション１３６は、任意選択的に、以下のモジュール（又は命令セット）又はそれらのサブセット若しくはスーパーセットを含む。
●連絡先モジュール１３７（アドレス帳又は連絡先リストと呼ばれることもある）、
●電話モジュール１３８、
●テレビ会議モジュール１３９、
●電子メールクライアントモジュール１４０、
●インスタントメッセージング（Instant messaging、ＩＭ）モジュール１４１、
●トレーニングサポートモジュール１４２、
●静止画像及び／又はビデオ画像用のカメラモジュール１４３、
●画像管理モジュール１４４、
●ビデオプレーヤモジュール、
●音楽プレーヤモジュール、
●ブラウザモジュール１４７、
●カレンダーモジュール１４８、
●任意選択的に気象ウィジェット１４９−１、株価ウィジェット１４９−２、計算機ウィジェット１４９−３、目覚まし時計ウィジェット１４９−４、辞書ウィジェット１４９−５、及びユーザによって入手された他のウィジェット、並びにユーザ作成ウィジェット１４９−６のうちの１つ以上を含むウィジェットモジュール１４９、
●ユーザ作成ウィジェット１４９−６を作るウィジェットクリエータモジュール１５０、
●検索モジュール１５１、
●ビデオプレーヤモジュール及び音楽プレーヤモジュールを一体化したビデオ及び音楽プレーヤモジュール１５２、
●メモモジュール１５３、
●地図モジュール１５４、並びに／又は、
●オンラインビデオモジュール１５５。
【００８１】
任意選択的にメモリ１０２に記憶される他のアプリケーション１３６の例としては、他のワードプロセッシングアプリケーション、他の画像編集アプリケーション、描画アプリケーション、プレゼンテーションアプリケーション、ＪＡＶＡ（登録商標）対応アプリケーション、暗号化、デジタル著作権管理、音声認識、及び音声複製が挙げられる。
【００８２】
タッチスクリーン１１２、ディスプレイコントローラ１５６、接触／動きモジュール１３０、グラフィックモジュール１３２、及びテキスト入力モジュール１３４と連動して、連絡先モジュール１３７は、任意選択的に、アドレス帳に氏名を追加すること、アドレス帳から名前（単数又は複数）を削除すること、電話番号（単数又は複数）、電子メールアドレス（単数又は複数）、住所（単数又は複数）、又は他の情報を名前に関連付けること、画像を名前に関連付けること、名前を分類して並べ替えること、電話番号又は電子メールアドレスを提供して、電話１３８、テレビ会議モジュール１３９、電子メール１４０、又はＩＭ１４１による通信を開始及び／又は促進することなどを含めて、アドレス帳又は連絡先リスト（例えば、メモリ１０２又はメモリ３７０内の連絡先モジュール１３７のアプリケーション内部状態１９２内に記憶される）を管理するために使用される。
【００８３】
ＲＦ回路１０８、オーディオ回路１１０、スピーカ１１１、マイクロフォン１１３、タッチスクリーン１１２、ディスプレイコントローラ１５６、接触／動きモジュール１３０、グラフィックモジュール１３２、及びテキスト入力モジュール１３４と連動して、電話モジュール１３８は、任意選択的に、電話番号に対応する文字シーケンスの入力、連絡先モジュール１３７内の１つ以上の電話番号へのアクセス、入力された電話番号の修正、それぞれの電話番号のダイアル、会話の実施、会話が終了したときの切断又は電話を切ることのために使用される。上述したように、無線通信は、任意選択的に、複数の通信規格、プロトコル、及び技術のうちのいずれかを使用する。
【００８４】
ＲＦ回路１０８、オーディオ回路１１０、スピーカ１１１、マイクロフォン１１３、タッチスクリーン１１２、ディスプレイコントローラ１５６、光センサ１６４、光センサコントローラ１５８、接触／動きモジュール１３０、グラフィックモジュール１３２、テキスト入力モジュール１３４、連絡先モジュール１３７、及び電話モジュール１３８と連動して、テレビ会議モジュール１３９は、ユーザ命令に従ってユーザと１人以上の他の参加者との間のテレビ会議を開始、実行、及び終了する実行可能な命令を含む。
【００８５】
ＲＦ回路１０８、タッチスクリーン１１２、ディスプレイコントローラ１５６、接触／動きモジュール１３０、グラフィックモジュール１３２、及びテキスト入力モジュール１３４と連動して、電子メールクライアントモジュール１４０は、ユーザ命令に応じて電子メールを作成、送信、受信、及び管理する実行可能な命令を含む。画像管理モジュール１４４に関連して、電子メールクライアントモジュール１４０は、カメラモジュール１４３で撮影された静止画像又はビデオ画像を有する電子メールを作成及び送信することを非常に容易にする。
【００８６】
ＲＦ回路１０８、タッチスクリーン１１２、ディスプレイコントローラ１５６、接触／動きモジュール１３０、グラフィックモジュール１３２、及びテキスト入力モジュール１３４と連動して、インスタントメッセージングモジュール１４１は、インスタントメッセージに対応する文字シーケンスの入力、以前に入力された文字の修正、それぞれのインスタントメッセージの送信（例えば、電話通信ベースのインスタントメッセージ向けのショートメッセージサービス（ＳＭＳ）若しくはマルチメディアメッセージサービス（Multimedia Message Service、ＭＭＳ）プロトコル、又はインターネットベースのインスタントメッセージ向けのＸＭＰＰ、ＳＩＭＰＬＥ、若しくはＩＭＰＳを使用する）、インスタントメッセージの受信、及び受信したインスタントメッセージの閲覧のための実行可能な命令を含む。いくつかの実施形態では、送信及び／又は受信されるインスタントメッセージは、任意選択的に、ＭＭＳ及び／又は拡張メッセージングサービス（Enhanced Messaging Service、ＥＭＳ）で対応されるグラフィック、写真、オーディオファイル、ビデオファイル、及び／又は他の添付ファイルを含む。本明細書では、「インスタントメッセージング」とは、電話通信ベースのメッセージ（例えば、ＳＭＳ又はＭＭＳを使用して送信されるメッセージ）と、インターネットベースのメッセージ（例えば、ＸＭＰＰ、ＳＩＭＰＬＥ、又はＩＭＰＳを使用して送信されるメッセージ）との両方を指す。
【００８７】
ＲＦ回路１０８、タッチスクリーン１１２、ディスプレイコントローラ１５６、接触／動きモジュール１３０、グラフィックモジュール１３２、テキスト入力モジュール１３４、ＧＰＳモジュール１３５、地図モジュール１５４、及び音楽プレーヤモジュールと連動して、トレーニングサポートモジュール１４２は、トレーニング（例えば、時間、距離、及び／又はカロリー燃焼目標を有する）の作成、トレーニングセンサ（スポーツデバイス）との通信、トレーニングセンサデータを受信し、トレーニングをモニタするために使用されるセンサを較正し、トレーニングのための音楽の選択及び再生、トレーニングデータの表示、記憶、及び送信のための実行可能な命令を含む。
【００８８】
タッチスクリーン１１２、ディスプレイコントローラ１５６、光センサ１６４、光センサコントローラ１５８、接触／動きモジュール１３０、グラフィックモジュール１３２、及び画像管理モジュール１４４と連動して、カメラモジュール１４３は、静止画像若しくはビデオ（ビデオストリームを含む）のキャプチャ及びメモリ１０２内への記憶、静止画像若しくはビデオの特性の修正、又はメモリ１０２からの静止画像若しくはビデオの削除のための実行可能な命令を含む。
【００８９】
タッチスクリーン１１２、ディスプレイコントローラ１５６、接触／動きモジュール１３０、グラフィックモジュール１３２、テキスト入力モジュール１３４、及びカメラモジュール１４３と連動して、画像管理モジュール１４４は、静止画像及び／又はビデオ画像の配置、修正（例えば、編集）、又はその他の操作、ラベル付け、削除、提示（例えば、デジタルスライドショー又はアルバムによる）、及び記憶のための実行可能な命令を含む。
【００９０】
ＲＦ回路１０８、タッチスクリーン１１２、ディスプレイコントローラ１５６、接触／動きモジュール１３０、グラフィックモジュール１３２、及びテキスト入力モジュール１３４と連動して、ブラウザモジュール１４７は、ウェブページ又はその一部分、並びにウェブページにリンクされた添付ファイル及び他のファイルの検索、リンク、受信、及び表示を含めて、ユーザ命令に従ってインターネットをブラウジングする実行可能な命令を含む。
【００９１】
ＲＦ回路１０８、タッチスクリーン１１２、ディスプレイコントローラ１５６、接触／動きモジュール１３０、グラフィックモジュール１３２、テキスト入力モジュール１３４、電子メールクライアントモジュール１４０、及びブラウザモジュール１４７と連動して、カレンダーモジュール１４８は、ユーザ命令に従ってカレンダー及びカレンダーに関連付けられたデータ（例えば、カレンダーエントリ、トゥドゥリストなど）を作成、表示、修正、及び記憶する実行可能な命令を含む。
【００９２】
ＲＦ回路１０８、タッチスクリーン１１２、ディスプレイコントローラ１５６、接触／動きモジュール１３０、グラフィックモジュール１３２、テキスト入力モジュール１３４、及びブラウザモジュール１４７と連動して、ウィジェットモジュール１４９は、任意選択的にユーザによってダウンロード及び使用されるミニアプリケーション（例えば、気象ウィジェット１４９−１、株価ウィジェット１４９−２、計算機ウィジェット１４９−３、目覚まし時計ウィジェット１４９−４、及び辞書ウィジェット１４９−５）、又はユーザによって作成されるミニアプリケーション（例えば、ユーザ作成ウィジェット１４９−６）である。いくつかの実施形態では、ウィジェットは、ＨＴＭＬ（Hypertext Markup Language；ハイパーテキストマークアップ言語）ファイル、ＣＳＳ（Cascading Style Sheets；カスケーディングスタイルシート）ファイル、及びＪａｖａＳｃｒｉｐｔ（登録商標）ファイルを含む。いくつかの実施形態では、ウィジェットは、ＸＭＬ（拡張可能マークアップ言語）ファイル及びＪａｖａＳｃｒｉｐｔ（登録商標）ファイル（例えば、Ｙａｈｏｏ！ウィジェット）を含む。
【００９３】
ＲＦ回路１０８、タッチスクリーン１１２、ディスプレイコントローラ１５６、接触／動きモジュール１３０、グラフィックモジュール１３２、テキスト入力モジュール１３４、及びブラウザモジュール１４７と連動して、ウィジェットクリエータモジュール１５０は、任意選択的に、ウィジェットを作成するために（例えば、ウェブページのユーザ指定部分をウィジェットにする）、ユーザによって使用される。
【００９４】
タッチスクリーン１１２、ディスプレイコントローラ１５６、接触／動きモジュール１３０、グラフィックモジュール１３２、及びテキスト入力モジュール１３４と連動して、検索モジュール１５１は、ユーザ命令に従って１つ以上の検索基準（例えば、１つ以上のユーザ指定検索語）に一致するメモリ１０２内の文字、音楽、サウンド、画像、ビデオ、及び／又は他のファイルを検索する実行可能な命令を含む。
【００９５】
タッチスクリーン１１２、ディスプレイコントローラ１５６、接触／動きモジュール１３０、グラフィックモジュール１３２、オーディオ回路１１０、スピーカ１１１、ＲＦ回路１０８、及びブラウザモジュール１４７と連動して、ビデオ及び音楽プレーヤモジュール１５２は、ユーザがＭＰ３若しくはＡＡＣファイルなどの１つ以上のファイル形式で記憶されている記録された音楽及び他のサウンドファイルをダウンロード及び再生することを可能にする実行可能な命令、並びにビデオを表示、提示、又は他の方法で（例えば、タッチスクリーン１１２上又は外部ポート１２４を介して接続された外部ディスプレイ上に）再生する実行可能な命令を含む。いくつかの実施形態では、デバイス１００は、任意選択的に、ｉＰｏｄ（Ａｐｐｌｅ社の商標）などのＭＰ３プレーヤの機能を含む。
【００９６】
タッチスクリーン１１２、ディスプレイコントローラ１５６、接触／動きモジュール１３０、グラフィックモジュール１３２、及びテキスト入力モジュール１３４と連動して、メモモジュール１５３は、ユーザ命令に従ってメモ、トゥドゥリストなどを作成及び管理する実行可能な命令を含む。
【００９７】
ＲＦ回路１０８、タッチスクリーン１１２、ディスプレイコントローラ１５６、接触／動きモジュール１３０、グラフィックモジュール１３２、テキスト入力モジュール１３４、ＧＰＳモジュール１３５、及びブラウザモジュール１４７と連動して、地図モジュール１５４は、任意選択的に、ユーザ命令に従って、地図及び地図に関連付けられたデータ（例えば、運転方向、特定の場所又はその付近店舗及び他の対象地点に関するデータ、並びに他の場所ベースのデータ）を受信、表示、修正、及び記憶するために使用される。
【００９８】
タッチスクリーン１１２、ディスプレイコントローラ１５６、接触／動きモジュール１３０、グラフィックモジュール１３２、オーディオ回路１１０、スピーカ１１１、ＲＦ回路１０８、テキスト入力モジュール１３４、電子メールクライアントモジュール１４０、及びブラウザモジュール１４７と連動して、オンラインビデオモジュール１５５は、ユーザが特定のオンラインビデオへのアクセス、特定のオンラインビデオのブラウジング、受信（例えば、ストリーミング及び／又はダウンロードによる）、再生（例えば、タッチスクリーン上又は外部ポート１２４を介して接続された外部ディスプレイ上）、特定のオンラインビデオへのリンクを有する電子メールの送信、並びにＨ．２６４などの１つ以上のファイル形式のオンラインビデオの他の管理を行うことを可能にする命令を含む。いくつかの実施形態では、特定のオンラインビデオへのリンクを送信するために、電子メールクライアントモジュール１４０ではなく、インスタントメッセージングモジュール１４１が使用される。オンラインビデオアプリケーションについての追加の説明は、内容が全体として参照により本明細書に組み込まれている、２００７年６月２０日出願の米国仮特許出願第６０／９３６，５６２号、「Ｐｏｒｔａｂｌｅ  Ｍｕｌｔｉｆｕｎｃｔｉｏｎ  Ｄｅｖｉｃｅ，Ｍｅｔｈｏｄ，ａｎｄ  Ｇｒａｐｈｉｃａｌ  Ｕｓｅｒ  Ｉｎｔｅｒｆａｃｅ  ｆｏｒ  Ｐｌａｙｉｎｇ  Ｏｎｌｉｎｅ  Ｖｉｄｅｏｓ」、及び２００７年１２月３１日出願の米国特許出願第１１／９６８，０６７号、「Ｐｏｒｔａｂｌｅ  Ｍｕｌｔｉｆｕｎｃｔｉｏｎ  Ｄｅｖｉｃｅ，Ｍｅｔｈｏｄ，ａｎｄ  Ｇｒａｐｈｉｃａｌ  Ｕｓｅｒ  Ｉｎｔｅｒｆａｃｅ  ｆｏｒ  Ｐｌａｙｉｎｇ  Ｏｎｌｉｎｅ  Ｖｉｄｅｏｓ」に見ることができる。
【００９９】
上記で特定したモジュール及びアプリケーションはそれぞれ、上述した１つ以上の機能及び本出願に記載する方法（例えば、本明細書に記載するコンピュータ実施方法及び他の情報処理方法）を実行する実行可能な命令セットに対応する。これらのモジュール（例えば、命令セット）は、別個のソフトウェアプログラム、手順、又はモジュールとして実施する必要はなく、したがって様々な実施形態では、これらのモジュールの様々なサブセットは、任意選択的に、組み合わされ、又は他の形で再構成される。例えば、ビデオプレーヤモジュールは、任意選択的に、音楽プレーヤモジュールと組み合わされて、単一のモジュール（例えば、図１Ａのビデオ及び音楽プレーヤモジュール１５２）にされる。いくつかの実施形態では、メモリ１０２は、任意選択的に、上記で特定したモジュール及びデータ構造のサブセットを記憶する。更に、メモリ１０２は、上記で説明されていない追加のモジュール及びデータ構造を任意選択的に記憶する。
【０１００】
いくつかの実施形態では、デバイス１００は、そのデバイスにおける所定の機能のセットの動作がタッチスクリーン及び／又はタッチパッドのみを通じて実行されるデバイスである。デバイス１００が動作するための主要な入力制御デバイスとしてタッチスクリーン及び／又はタッチパッドを使用することにより、任意選択的に、デバイス１００上の物理的な入力制御デバイス（プッシュボタン、ダイアルなど）の数が削減される。
【０１０１】
タッチスクリーン及び／又はタッチパッドを通じてのみ実行される所定の機能のセットは、任意選択的に、ユーザインタフェース間のナビゲーションを含む。いくつかの実施形態では、タッチパッドは、ユーザによってタッチされたときに、デバイス１００上に表示される任意のユーザインタフェースから、メインメニュー、ホームメニュー、又はルートメニューにデバイス１００をナビゲートする。このような実施形態では、「メニューボタン」は、タッチパッドを使用して実装される。いくつかの他の実施形態では、メニューボタンは、タッチパッドではなく、物理プッシュボタン又はその他の物理入力制御デバイスである。
【０１０２】
図１Ｂは、いくつかの実施形態に係るイベント処理のための例示的な構成要素を示すブロック図である。いくつかの実施形態では、メモリ１０２（図１Ａ）又は３７０（図３）は、イベントソート部１７０（例えば、オペレーティングシステム１２６内）と、それぞれのアプリケーション１３６−１（例えば、前述のアプリケーション１３７〜１５１、１５５、３８０〜３９０のうちのいずれか）とを含む。
【０１０３】
イベントソート部１７０は、イベント情報を受信し、イベント情報が配信されるアプリケーション１３６−１及びアプリケーション１３６−１のアプリケーションビュー１９１を判定する。イベントソート部１７０は、イベントモニタ１７１及びイベントディスパッチャモジュール１７４を含む。いくつかの実施形態では、アプリケーション１３６−１は、アプリケーションがアクティブ又は実行中であるときにタッチ感知ディスプレイ１１２上に表示される現在のアプリケーションビューを示すアプリケーション内部状態１９２を含む。いくつかの実施形態では、デバイス／グローバル内部状態１５７は、どのアプリケーション（単数又は複数）が現在アクティブであるかを判定するためにイベントソート部１７０によって使用され、アプリケーション内部状態１９２は、イベント情報が配信されるアプリケーションビュー１９１を判定するためにイベントソート部１７０によって使用される。
【０１０４】
いくつかの実施形態では、アプリケーション内部状態１９２は、アプリケーション１３６−１が実行を再開するときに使用される再開情報、アプリケーション１３６−１によって表示されている、又は表示される準備ができている情報を示すユーザインタフェース状態情報、ユーザがアプリケーション１３６−１の以前の状態又はビューに戻ることを可能にする状態待ち行列、及びユーザが行った以前のアクションのリドゥ／アンドゥ待ち行列のうちの１つ以上などの追加の情報を含む。
【０１０５】
イベントモニタ１７１は、周辺機器インタフェース１１８からイベント情報を受信する。イベント情報は、サブイベント（例えば、マルチタッチジェスチャの一部としてのタッチ感知ディスプレイ１１２上のユーザタッチ）に関する情報を含む。周辺機器インタフェース１１８は、Ｉ／Ｏサブシステム１０６、又は近接センサ１６６、加速度計（単数又は複数）１６８、及び／若しくは（オーディオ回路１１０を介した）マイクロフォン１１３などのセンサから受信する情報を伝送する。周辺機器インタフェース１１８がＩ／Ｏサブシステム１０６から受信する情報は、タッチ感知ディスプレイ１１２又はタッチ感知面からの情報を含む。
【０１０６】
いくつかの実施形態では、イベントモニタ１７１は、所定の間隔で周辺機器インタフェース１１８に要求を送信する。それに応じて、周辺機器インタフェース１１８は、イベント情報を伝送する。他の実施形態では、周辺機器インタフェース１１８は、重要なイベント（例えば、所定のノイズ閾値を上回る及び／又は所定の持続時間を超える入力の受信）があるときのみイベント情報を送信する。
【０１０７】
いくつかの実施形態では、イベントソート部１７０はまた、ヒットビュー判定モジュール１７２及び／又はアクティブイベント認識部判定モジュール１７３を含む。
【０１０８】
ヒットビュー判定モジュール１７２は、タッチ感知ディスプレイ１１２が２つ以上のビューを表示するとき、サブイベントが１つ以上のビュー内のどこで行われたかを判定するソフトウェア手順を提供する。ビューは、ユーザがディスプレイ上で見ることができる制御及び他の要素から構成されている。
【０１０９】
アプリケーションに関連付けられたユーザインタフェースの別の態様は、本明細書ではアプリケーションビュー又はユーザインタフェースウィンドウと呼ばれることもあるビューのセットであり、その中で情報が表示され、タッチに基づくジェスチャが生じる。タッチが検出される（それぞれのアプリケーションの）アプリケーションビューは、任意選択的に、アプリケーションのプログラム階層又はビュー階層内のプログラムレベルに対応する。例えば、タッチが検出される最下位レベルビューは、任意選択的に、ヒットビューと呼ばれ、また、適切な入力として認識されるイベントのセットは、任意選択的に、タッチによるジェスチャを開始する初期タッチのヒットビューに少なくとも部分的に基づいて判定される。
【０１１０】
ヒットビュー判定モジュール１７２は、タッチに基づくジェスチャのサブイベントに関連する情報を受信する。アプリケーションが階層状に構成された複数のビューを有するときには、ヒットビュー判定モジュール１７２は、サブイベントを処理すべき階層内の最下位のビューとして、ヒットビューを特定する。ほとんどの状況では、ヒットビューは、開始サブイベント（例えば、イベント又は潜在的イベントを形成するサブイベントシーケンス内の第１のサブイベント）が行われる最も低いレベルのビューである。ヒットビューがヒットビュー判定モジュール１７２によって特定された後、このヒットビューは、典型的には、ヒットビューとして特定されたのと同じタッチ又は入力ソースに関係する全てのサブイベントを受信する。
【０１１１】
アクティブイベント認識部判定モジュール１７３は、ビュー階層内のどのビュー（単数又は複数）がサブイベントの特定のシーケンスを受信すべきかを判定する。いくつかの実施形態では、アクティブイベント認識部判定モジュール１７３は、ヒットビューのみがサブイベントの特定のシーケンスを受信すべきであると判定する。他の実施形態では、アクティブイベント認識部判定モジュール１７３は、サブイベントの物理位置を含む全てのビューがアクティブに関わりがあるビューであると判定し、したがって、全てのアクティブに関わりがあるビューが、サブイベントの特定のシーケンスを受信すべきであると判定する。他の実施形態では、タッチサブイベントが１つの特定のビューに関連する領域に完全に限定された場合でも、階層内の上位のビューは、依然としてアクティブに関わりがあるビューであり続ける。
【０１１２】
イベントディスパッチャモジュール１７４は、イベント情報をイベント認識部（例えばイベント認識部１８０）にディスパッチする。アクティブイベント認識部判定モジュール１７３を含む実施形態において、イベントディスパッチャモジュール１７４は、アクティブイベント認識部判定モジュール１７３により判定されたイベント認識部にイベント情報を配信する。いくつかの実施形態では、イベントディスパッチャモジュール１７４は、それぞれのイベント受信部１８２によって取得されるイベント情報をイベント待ち行列に記憶する。
【０１１３】
いくつかの実施形態では、オペレーティングシステム１２６は、イベントソート部１７０を含む。代替として、アプリケーション１３６−１がイベントソート部１７０を含む。更に他の実施形態では、イベントソート部１７０は、独立型のモジュール、又は接触／動きモジュール１３０などの、メモリ１０２に記憶された別のモジュールの一部である。
【０１１４】
いくつかの実施形態では、アプリケーション１３６−１は、それぞれがアプリケーションのユーザインタフェースのそれぞれのビュー内で発生するタッチイベントを処理する命令を含む、複数のイベント処理部１９０及び１つ以上のアプリケーションビュー１９１を含む。アプリケーション１３６−１の各アプリケーションビュー１９１は、１つ以上のイベント認識部１８０を含む。典型的には、それぞれのアプリケーションビュー１９１は、複数のイベント認識部１８０を含む。他の実施形態では、イベント認識部１８０のうちの１つ以上は、ユーザインタフェースキット（図示せず）又はアプリケーション１３６−１が方法及び他の特性を継承する上位レベルのオブジェクトなどの、別個のモジュールの一部である。いくつかの実施形態では、対応するイベント処理部１９０は、データ更新部１７６、オブジェクト更新部１７７、ＧＵＩ更新部１７８及び／又はイベントソート部１７０から受信されたイベントデータ１７９、のうちの１つ以上を含む。イベント処理部１９０は、任意選択的に、データ更新部１７６、オブジェクト更新部１７７、又はＧＵＩ更新部１７８を利用し又は呼び出して、アプリケーション内部状態１９２を更新する。別法として、アプリケーションビュー１９１のうちの１つ以上が、１つ以上のそれぞれのイベント処理部１９０を含む。また、いくつかの実施形態では、データ更新部１７６、オブジェクト更新部１７７及びＧＵＩ更新部１７８のうちの１つ以上は、対応するアプリケーションビュー１９１に含まれる。
【０１１５】
それぞれのイベント認識部１８０は、イベントソート部１７０からイベント情報（例えば、イベントデータ１７９）を受信し、このイベント情報からイベントを特定する。イベント認識部１８０は、イベント受信部１８２及びイベント比較部１８４を含む。いくつかの実施形態では、イベント認識部１８０はまた、メタデータ１８３及びイベント配信命令１８８（任意選択的にサブイベント配信命令を含む）の少なくともサブセットも含む。
【０１１６】
イベント受信部１８２は、イベントソート部１７０からイベント情報を受信する。イベント情報は、サブイベントについての情報、例えば、タッチ又はタッチの移動についての情報を含む。サブイベントに応じて、イベント情報はまた、サブイベントの位置などの追加の情報を含む。サブイベントがタッチの動きに関わるとき、イベント情報はまた任意選択的に、サブイベントの速さ及び方向を含む。いくつかの実施形態では、イベントは、１つの向きから別の向きへの（例えば、縦向きから横向きへ、又はその逆の）デバイスの回転を含み、イベント情報は、デバイスの現在の向き（デバイスの姿勢とも呼ぶ）についての対応する情報を含む。
【０１１７】
イベント比較部１８４は、イベント情報を、既定のイベント又はサブイベントの定義と比較し、その比較に基づいて、イベント又はサブイベントを判定するか、あるいはイベント又はサブイベントの状態を判定若しくは更新する。いくつかの実施形態では、イベント比較部１８４は、イベント定義１８６を含む。イベント定義１８６は、例えばイベント１（１８７−１）及びイベント２（１８７−２）などのイベント（例えば所定のサブイベントのシーケンス）の定義を含む。いくつかの実施形態では、イベント（１８７）内のサブイベントは、例えば、タッチ開始、タッチ終了、タッチ動き、タッチ取り消し、及び複数のタッチを含む。一実施例では、イベント１（１８７−１）についての定義は、表示されたオブジェクト上のダブルタップである。ダブルタップは、例えば、所定の段階に対する表示オブジェクト上の第１のタッチ（タッチ開始）、所定の段階に対する第１のリフトオフ（タッチ終了）、所定の段階に対する表示オブジェクト上の第２のタッチ（タッチ開始）、及び所定の段階に対する第２のリフトオフ（タッチ終了）を含む。別の実施例では、イベント２（１８７−２）の定義は、表示されたオブジェクト上のドラッグである。ドラッグは、例えば、所定の段階に対する表示オブジェクト上のタッチ（又は接触）、タッチ感知ディスプレイ１１２におけるタッチの動き、及びタッチのリフトオフ（タッチ終了）を含む。いくつかの実施形態では、イベントはまた、１つ以上の関連付けられたイベント処理部１９０に関する情報を含む。
【０１１８】
いくつかの実施形態では、イベント定義１８７は、それぞれのユーザインタフェースオブジェクトについてのイベントの定義を含む。いくつかの実施形態では、イベント比較部１８４は、どのユーザインタフェースオブジェクトがサブイベントに関連付けられているかを判定するヒットテストを実行する。例えば、タッチ感知ディスプレイ１１２上に、３つのユーザインタフェースオブジェクトが表示されているアプリケーションビューでは、タッチ感知ディスプレイ１１２上でタッチが検出されると、イベント比較部１８４は、３つのユーザインタフェースオブジェクトのうちのいずれが、そのタッチ（サブイベント）と関連付けられているかを判定するために、ヒットテストを実行する。表示された各オブジェクトが、対応するイベント処理部１９０に関連付けられている場合、イベント比較部は、ヒットテストの結果を用いて、どのイベント処理部１９０をアクティブ化すべきかを判定する。例えば、イベント比較部１８４は、ヒットテストをトリガするサブイベント及びオブジェクトと関連付けられたイベント処理部を選択する。
【０１１９】
いくつかの実施形態では、それぞれのイベント（１８７）に対する定義はまた、サブイベントシーケンスがイベント認識部のイベントタイプに対応するか否かが判定される後までイベント情報の伝送を遅延する遅延アクションを含む。
【０１２０】
それぞれのイベント認識部１８０が一連のサブイベントがイベント定義１８６のイベントのうちのいずれとも一致しないと判定した場合には、それぞれのイベント認識部１８０は、イベント不可能、イベント失敗、又はイベント終了の状態になり、その後は、タッチによるジェスチャの後続のサブイベントを無視する。この状況では、ヒットビューについてアクティブのままである他のイベント認識部があれば、そのイベント認識部は、進行中のタッチによるジェスチャのサブイベントの追跡及び処理を続行する。
【０１２１】
いくつかの実施形態では、対応するイベント認識部１８０は、イベント配信システムがどのようにサブイベント配信を実行すべきかをアクティブに関与しているイベント認識部に示す構成可能なプロパティ、フラグ、及び／又はリストを有するメタデータ１８３を含む。いくつかの実施形態では、メタデータ１８３は、イベント認識部が互いにどのように対話するか、又はイベント認識部が互いにどのように対話することができるようになっているかを示す構成可能なプロパティ、フラグ、及び／又はリストを含む。いくつかの実施形態では、メタデータ１８３は、サブイベントがビュー階層又はプログラム階層における多様なレベルに配信されるかを示す構成可能なプロパティ、フラグ、及び／又はリストを含む。
【０１２２】
いくつかの実施形態では、それぞれのイベント認識部１８０は、イベントの１つ以上の特定のサブイベントが認識されるときに、イベントと関連付けられたイベント処理部１９０をアクティブ化する。いくつかの実施形態では、それぞれのイベント認識部１８０は、イベントと関連付けられたイベント情報をイベント処理部１９０に配信する。イベント処理部１９０をアクティブ化することは、それぞれのヒットビューにサブイベントを送信する（及び、送信を延期する）こととは別個である。いくつかの実施形態では、イベント認識部１８０は、認識したイベントと関連付けられたフラグを投入し、そのフラグと関連付けられたイベント処理部１９０は、そのフラグを捕らえ、既定のプロセスを実行する。
【０１２３】
いくつかの実施形態では、イベント配信命令１８８は、イベント処理部をアクティブ化することなくサブイベントについてのイベント情報を配信するサブイベント配信命令を含む。代わりに、サブイベント配信命令は、一連のサブイベントと関連付けられたイベント処理部に、又はアクティブに関与しているビューにイベント情報を配信する。一連のサブイベント又はアクティブに関与しているビューと関連付けられたイベント処理部は、イベント情報を受信し、所定の処理を実行する。
【０１２４】
いくつかの実施形態では、データ更新部１７６は、アプリケーション１３６−１で使用されるデータを作成及び更新する。例えば、データ更新部１７６は、連絡先モジュール１３７で使用される電話番号を更新し、又はビデオプレーヤモジュールで使用されるビデオファイルを記憶する。いくつかの実施形態では、オブジェクト更新部１７７は、アプリケーション１３６−１で使用されるオブジェクトを作成及び更新する。例えば、オブジェクト更新部１７７は、新たなユーザインタフェースオブジェクトを作成するか、又はユーザインタフェースオブジェクトの位置を更新する。ＧＵＩ更新部１７８は、ＧＵＩを更新する。例えば、ＧＵＩ更新部１７８は、表示情報を準備し、タッチ感知ディスプレイ上に表示するために表示情報をグラフィックモジュール１３２に送る。
【０１２５】
いくつかの実施形態では、イベント処理部（単数又は複数）１９０は、データ更新部１７６、オブジェクト更新部１７７、及びＧＵＩ更新部１７８を含むか又はそれらへのアクセスを有する。いくつかの実施形態では、データ更新部１７６、オブジェクト更新部１７７、及びＧＵＩ更新部１７８は、それぞれのアプリケーション１３６−１又はアプリケーションビュー１９１の単一モジュールに含まれる。他の実施形態では、それらは、２つ以上のソフトウェアモジュールに含まれる。
【０１２６】
タッチ感知ディスプレイ上のユーザタッチのイベント処理に関する上記の議論は、入力デバイスを有する多機能デバイス１００を動作させるためのユーザ入力の他の形態にも当てはまり、それらのユーザ入力は、必ずしも全てがタッチスクリーン上で開始されるとは限らないことが理解されよう。例えば、キーボードの単一又は複数の押圧若しくは保持と任意選択的に連携される、マウスの移動及びマウスボタンの押圧、タッチパッド上のタップ、ドラッグ、スクロールなどの接触動き、ペンスタイラス入力、デバイスの移動、口頭による命令、検出された眼球運動、バイオメトリック入力、並びに／又はそれらの任意の組合せを、任意選択的に、認識するイベントを定義するサブイベントに対応する入力として利用する。
【０１２７】
図２は、いくつかの実施形態に係るタッチスクリーン１１２を有するポータブル多機能デバイス１００を示す。タッチスクリーンは、任意選択的に、ユーザインタフェース（user interface、ＵＩ）２００内に１つ以上のグラフィックを表示する。本実施形態、並びに以下で説明される他の実施形態では、ユーザは、例えば、１本以上の指２０２（図には正確な縮尺では描かれていない）又は１つ以上のスタイラス２０３（図には正確な縮尺では描かれていない）を使用して、グラフィック上でジェスチャを実施することによって、それらのグラフィックのうちの１つ以上を選択することが可能となる。いくつかの実施形態では、１つ以上のグラフィックの選択は、ユーザが、その１つ以上のグラフィックとの接触を中断する場合に実施される。いくつかの実施形態では、ジェスチャは、任意選択的に、１つ以上のタップ、１つ以上のスワイプ（左から右、右から左、上向き、及び／若しくは下向き）、並びに／又はデバイス１００と接触した指のロール（右から左、左から右、上向き、及び／若しくは下向き）を含む。いくつかの実装形態又は状況では、グラフィックとの不測の接触は、そのグラフィックを選択するものではない。例えば、選択に対応するジェスチャがタップである場合、アプリケーションアイコンの上をスイープするスワイプジェスチャは、任意選択的に、対応するアプリケーションを選択するものではない。
【０１２８】
デバイス１００はまた、任意選択的に、「ホーム」ボタン又はメニューボタン２０４などの１つ以上の物理ボタンを含む。前述したように、メニューボタン２０４は、任意選択的に、任意選択的にデバイス１００上で実行されるアプリケーションのセット内の任意のアプリケーション１３６へナビゲートするために使用される。別法として、いくつかの実施形態では、メニューボタンは、タッチスクリーン１１２上に表示されるＧＵＩ内のソフトキーとして実施される。
【０１２９】
いくつかの実施形態では、デバイス１００は、タッチスクリーン１１２、メニューボタン２０４、デバイスの電源をオン／オフにしてデバイスをロックするプッシュボタン２０６、音量調整ボタン２０８、加入者識別モジュール（ＳＩＭ）カードスロット２１０、ヘッドセットジャック２１２、及びドッキング／充電用外部ポート１２４を含む。プッシュボタン２０６は、任意選択的に、ボタンを押し下げて、所定の期間にわたってボタンを押し下げた状態に保持することによって、デバイスの電源をオン／オフするため、ボタンを押し下げて、所定の期間が経過する前にボタンを解放することによって、デバイスをロックするため、及び／又はデバイスをロック解除する、若しくはロック解除プロセスを開始するために、使用される。代替的実施形態では、デバイス１００はまた、マイクロフォン１１３を介して、一部の機能をアクティブ化又は非アクティブ化するための口頭入力も受け入れる。デバイス１００はまた、任意選択的に、タッチスクリーン１１２上の接触の強度を検出する１つ以上の接触強度センサ１６５、及び／又はデバイス１００のユーザに対する触知出力を生成する１つ以上の触知出力生成器１６７を含む。
【０１３０】
図３は、いくつかの実施形態に係るディスプレイ及びタッチ感知面を有する例示的な多機能デバイスのブロック図である。デバイス３００は、ポータブル型である必要はない。いくつかの実施形態では、デバイス３００は、ラップトップコンピュータ、デスクトップコンピュータ、タブレットコンピュータ、マルチメディア再生デバイス、ナビゲーションデバイス、教育的デバイス（子供の学習玩具など）、ゲームシステム、又は制御デバイス（例えば、家庭用又は業務用コントローラ）である。デバイス３００は、典型的には、１つ以上の処理ユニット（ＣＰＵ）３１０、１つ以上のネットワーク又は他の通信インタフェース３６０、メモリ３７０、及びこれらの構成要素を相互接続する１つ以上の通信バス３２０を含む。通信バス３２０は、任意選択的に、システム構成要素間の通信を相互接続及び制御する回路（チップセットと呼ばれることもある）を含む。デバイス３００は、ディスプレイ３４０を備える入出力（Ｉ／Ｏ）インタフェース３３０を含み、ディスプレイ３４０は、典型的には、タッチスクリーンディスプレイである。Ｉ／Ｏインタフェース３３０はまた、任意選択的に、キーボード及び／又はマウス（若しくは他のポインティングデバイス）３５０と、タッチパッド３５５と、デバイス３００上に触知出力を生成する触知出力生成器３５７（例えば、図１Ａを参照して上述した触知出力生成器１６７に類似している）と、センサ３５９（例えば、図１Ａを参照して上述した接触強度センサ１６５に類似している光、加速度、近接、タッチ感知、及び／又は接触強度センサ）とを含む。メモリ３７０は、ＤＲＡＭ、ＳＲＡＭ、ＤＤＲ  ＲＡＭ、又は他のランダムアクセスソリッドステートメモリデバイスなどの高速ランダムアクセスメモリを含み、任意選択的に、１つ以上の磁気ディスク記憶デバイス、光ディスク記憶デバイス、フラッシュメモリデバイス、又は他の不揮発性ソリッドステート記憶デバイスなどの不揮発性メモリを含む。メモリ３７０は、ＣＰＵ３１０からリモートに位置する１つ以上の記憶デバイスを任意選択的に含む。いくつかの実施形態では、メモリ３７０は、ポータブル多機能デバイス１００（図１Ａ）のメモリ１０２内に記憶されているプログラム、モジュール、及びデータ構造に類似したプログラム、モジュール、及びデータ構造、又はそのサブセットを記憶する。更に、メモリ３７０は任意選択で、ポータブル多機能デバイス１００のメモリ１０２に存在しない追加のプログラム、モジュール、及びデータ構造を記憶する。例えば、デバイス３００のメモリ３７０は、任意選択的に、描画モジュール３８０、プレゼンテーションモジュール３８２、ワードプロセッシングモジュール３８４、ウェブサイト作成モジュール３８６、ディスクオーサリングモジュール３８８、及び／又はスプレッドシートモジュール３９０を記憶するのに対して、ポータブル多機能デバイス１００（図１Ａ）のメモリ１０２は、任意選択的に、これらのモジュールを記憶しない。
【０１３１】
図３の上記で特定した要素はそれぞれ、任意選択的に、前述したメモリデバイスのうちの１つ以上の中に記憶される。上記で特定したモジュールはそれぞれ、上述した機能を実行する命令セットに対応する。上記で特定したモジュール又はプログラム（例えば、命令セット）は、別個のソフトウェアプログラム、手順、又はモジュールとして実施する必要はなく、したがって様々な実施形態では、これらのモジュールの様々なサブセットは、任意選択的に、組み合わされ、又は他の形で再構成される。いくつかの実施形態では、メモリ３７０は、任意選択的に、上記で特定したモジュール及びデータ構造のサブセットを記憶する。更に、メモリ３７０は、上記で説明されていない追加のモジュール及びデータ構造を任意選択的に記憶する。
【０１３２】
次に、任意選択的に例えばポータブル多機能デバイス１００上で実施されるユーザインタフェースの実施形態に注意を向ける。
【０１３３】
図４Ａは、いくつかの実施形態に係るポータブル多機能デバイス１００上のアプリケーションのメニューに対する例示的なユーザインタフェースを示す。同様のユーザインタフェースは、デバイス３００上に任意選択的に実装される。いくつかの実施形態では、ユーザインタフェース４００は、以下の要素、又はそれらのサブセット若しくはスーパーセットを含む。
●セルラー信号及びＷｉ−Ｆｉ信号などの無線通信（単数又は複数）のための信号強度インジケータ（単数又は複数）４０２、
●時刻４０４、
●Ｂｌｕｅｔｏｏｔｈ（登録商標）インジケータ４０５、
●バッテリ状態インジケータ４０６、
●以下のような、頻繁に使用されるアプリケーション用のアイコンを有するトレイ４０８、
○不在着信又はボイスメールメッセージの数のインジケータ４１４を任意選択的に含む、「電話」とラベル付けされる、電話モジュール１３８用のアイコン４１６、
○未読電子メールの数のインジケータ４１０を任意選択的に含む、「メール」とラベル付けされる、電子メールクライアントモジュール１４０用のアイコン４１８、
○「ブラウザ」とラベル付けされる、ブラウザモジュール１４７用のアイコン４２０、及び
○「ｉＰｏｄ」とラベル付けされる、ｉＰｏｄ（Ａｐｐｌｅ  Ｉｎｃ．の商標）モジュール１５２とも称されるビデオ及び音楽プレーヤモジュール１５２用のアイコン４２２、及び
●以下のような、他のアプリケーション用のアイコン、
○「メッセージ」とラベル付けされる、ＩＭモジュール１４１用のアイコン４２４、
○「カレンダー」とラベル付けされる、カレンダーモジュール１４８用のアイコン４２６、
○「写真」とラベル付けされる、画像管理モジュール１４４用のアイコン４２８、
○「カメラ」とラベル付けされる、カメラモジュール１４３用のアイコン４３０、
○「オンラインビデオ」とラベル付けされる、オンラインビデオモジュール１５５用のアイコン４３２、
○「株価」とラベル付けされる、株価ウィジェット１４９−２用のアイコン４３４、
○「地図」のラベル付きの地図モジュール１５４のためのアイコン４３６、
○「天気」とラベル付けされる、気象ウィジェット１４９−１用のアイコン４３８、
○「時計」とラベル付けされる、目覚まし時計ウィジェット１４９−４用のアイコン４４０、
○「トレーニングサポート」とラベル付けされる、トレーニングサポートモジュール１４２用のアイコン４４２、
○「メモ」とラベル付けされる、メモモジュール１５３用のアイコン４４４、及び
○デバイス１００及びその様々なアプリケーション１３６に対する設定へのアクセスを提供する「設定」のラベル付きの設定アプリケーション又はモジュールのためのアイコン４４６。
【０１３４】
図４Ａに示すアイコンラベルは、単なる例示であることに留意されたい。例えば、ビデオ及び音楽プレーヤモジュール１５２のためのアイコン４２２は、「音楽」又は「音楽プレーヤ」と表示される、他のラベルが、様々なアプリケーションアイコンのために、任意選択的に使用される。いくつかの実施形態では、それぞれのアプリケーションアイコンに関するラベルは、それぞれのアプリケーションアイコンに対応するアプリケーションの名前を含む。いくつかの実施形態では、特定のアプリケーションアイコンのラベルは、その特定のアプリケーションアイコンに対応するアプリケーションの名前とは異なる。
【０１３５】
図４Ｂは、ディスプレイ４５０（例えば、タッチスクリーンディスプレイ１１２）とは別個のタッチ感知面４５１（例えば、図３のタブレット又はタッチパッド３５５）を有するデバイス（例えば、図３のデバイス３００）上の例示的なユーザインタフェースを示す。デバイス３００はまた、任意選択的に、タッチ感知面４５１上の接触の強度を検出する１つ以上の接触強度センサ（例えば、センサ３５９のうちの１つ以上）、及び／又はデバイス３００のユーザに対する触知出力を生成する１つ以上の触知出力生成器３５７を含む。
【０１３６】
以下の例のうちのいくつかは、タッチスクリーンディスプレイ１１２（タッチ感知面及びディスプレイが組み合わされている）上の入力を参照して与えられるが、いくつかの実施形態では、デバイスは、図４Ｂに示すディスプレイとは別個のタッチ感知面上の入力を検出する。いくつかの実施形態では、タッチ感知面（例えば、図４Ｂの４５１）は、ディスプレイ（例えば、４５０）上の主軸（例えば、図４Ｂの４５３）に対応する主軸（例えば、図４Ｂの４５２）を有する。これらの実施形態によれば、デバイスは、ディスプレイ上のそれぞれの場所に対応する場所（例えば、図４Ｂでは、４６０は４６８に対応し、４６２は４７０に対応する）で、タッチ感知面４５１との接触（例えば、図４Ｂの４６０及び４６２）を検出する。このようにして、タッチ感知面（例えば、図４Ｂの４５１）上でデバイスによって検出されるユーザ入力（例えば、接触４６０及び４６２、並びにこれらの動き）は、タッチ感知面がディスプレイとは別個であるとき、多機能デバイスのディスプレイ（例えば、図４Ｂの４５０）上のユーザインタフェースを操作するために、デバイスによって使用される。同様の方法が、本明細書に記載の他のユーザインタフェースに任意選択的に使用されることを理解されたい。
【０１３７】
加えて、以下の例は、主に指入力（例えば、指接触、指タップジェスチャ、指スワイプジェスチャ）を参照して与えられるが、いくつかの実施形態では、指入力のうちの１つ以上は、別の入力デバイスからの入力（例えば、マウスベースの入力又はスタイラス入力）に置き換えられることを理解されたい。例えば、スワイプジェスチャは、（例えば、接触の代わりの）マウスクリックに続けた、（例えば、接触の移動の代わりの）スワイプの経路に沿ったカーソルの移動によって、任意選択的に置き換えられる。別の例として、タップジェスチャは、任意選択的に、カーソルがタップジェスチャの位置の上に位置する間はマウスクリックと置き換えられる（例えば、接触を検出して、それに続いて接触の検出を停止する代わりに）。同様に、複数のユーザ入力が同時に検出されるとき、複数のコンピュータマウスが、任意選択的に、同時に使用され、又はマウス及び指の接触が、任意選択的に、同時に使用されることを理解されたい。
【０１３８】
図５Ａは、例示的なパーソナル電子デバイス５００を示す。デバイス５００は、本体５０２を含む。いくつかの実施形態では、デバイス５００は、デバイス１００及びデバイス３００（例えば、図１Ａ〜図４Ｂ）に関して説明された特徴のいくつか又は全てを含むことができる。いくつかの実施形態では、デバイス５００は、タッチ感知ディスプレイスクリーン５０４、以下タッチスクリーン５０４を有する。タッチスクリーン５０４に対する別法又は追加として、デバイス５００は、ディスプレイ及びタッチ感知面を有する。デバイス１００及び３００と同様に、いくつかの実施形態では、タッチスクリーン５０４（又はタッチ感知面）は、任意選択的に、加えられている接触（例えば、タッチ）の強度を検出する１つ以上の強度センサを含む。タッチスクリーン５０４（又はタッチ感知面）の１つ以上の強度センサは、タッチの強度を表す出力データを提供することができる。デバイス５００のユーザインタフェースは、タッチの強度に基づいてタッチに応答することができ、これは、異なる強度のタッチが、デバイス５００上で異なるユーザインタフェース動作を呼び出すことができることを意味する。
【０１３９】
タッチ強度を検出及び処理する例示的な技法は、例えば、それぞれ全体として参照により本明細書に組み込まれている、国際特許第ＷＯ／２０１３／１６９８４９号として公開された、２０１３年５月８日出願の国際特許出願第ＰＣＴ／ＵＳ２０１３／０４００６１号、「Ｄｅｖｉｃｅ，Ｍｅｔｈｏｄ，ａｎｄ  Ｇｒａｐｈｉｃａｌ  Ｕｓｅｒ  Ｉｎｔｅｒｆａｃｅ  ｆｏｒ  Ｄｉｓｐｌａｙｉｎｇ  Ｕｓｅｒ  Ｉｎｔｅｒｆａｃｅ  Ｏｂｊｅｃｔｓ  Ｃｏｒｒｅｓｐｏｎｄｉｎｇ  ｔｏ  ａｎ  Ａｐｐｌｉｃａｔｉｏｎ」、及び国際特許第ＷＯ／２０１４／１０５２７６号として公開された、２０１３年１１月１１日出願の国際特許出願第ＰＣＴ／ＵＳ２０１３／０６９４８３号、「Ｄｅｖｉｃｅ，Ｍｅｔｈｏｄ，ａｎｄ  Ｇｒａｐｈｉｃａｌ  Ｕｓｅｒ  Ｉｎｔｅｒｆａｃｅ  ｆｏｒ  Ｔｒａｎｓｉｔｉｏｎｉｎｇ  Ｂｅｔｗｅｅｎ  Ｔｏｕｃｈ  Ｉｎｐｕｔ  ｔｏ  Ｄｉｓｐｌａｙ  Ｏｕｔｐｕｔ  Ｒｅｌａｔｉｏｎｓｈｉｐｓ」という関連出願に見られる。
【０１４０】
いくつかの実施形態では、デバイス５００は、１つ以上の入力機構５０６及び５０８を有する。入力機構５０６及び５０８は、含まれる場合、物理的機構とすることができる。物理的入力機構の例としては、プッシュボタン及び回転可能機構が挙げられる。いくつかの実施形態では、デバイス５００は、１つ以上のアタッチメント機構を有する。そのようなアタッチメント機構は、含まれる場合、例えば帽子、アイウェア、イアリング、ネックレス、シャツ、ジャケット、ブレスレット、腕時計のバンド、チェーン、ズボン、ベルト、靴、財布、バックパックなどにデバイス５００を取り付けることを可能にすることができる。これらのアタッチメント機構は、ユーザがデバイス５００を着用することを可能にする。
【０１４１】
図５Ｂは、例示的なパーソナル電子デバイス５００を示す。いくつかの実施形態では、デバイス５００は、図１Ａ、図１Ｂ、及び図３に関して説明された構成要素のいくつか又は全てを含み得る。デバイス５００は、Ｉ／Ｏセクション５１４を１つ以上のコンピュータプロセッサ５１６及びメモリ５１８に動作可能に結合するバス５１２を有する。Ｉ／Ｏセクション５１４は、ディスプレイ５０４に接続することができ、ディスプレイ５０４は、タッチ感知構成要素５２２と、任意選択的に強度センサ５２４（例えば、接触強度センサ）とを有することができる。加えて、Ｉ／Ｏセクション５１４は、Ｗｉ−Ｆｉ、Ｂｌｕｅｔｏｏｔｈ（登録商標）、近距離通信（ＮＦＣ）、セルラー、及び／又は他の無線通信技法を使用してアプリケーション及びオペレーティングシステムデータを受信する通信ユニット５３０に接続することができる。デバイス５００は、入力機構５０６及び／又は５０８を含むことができる。入力機構５０６は、任意選択的に、例えば回転可能入力デバイス又は押下可能及び回転可能入力デバイスである。いくつかの例では、入力機構５０８は、任意選択的にボタンである。
【０１４２】
いくつかの例では、入力機構５０８は、任意選択的にマイクロフォンである。パーソナル電子デバイス５００は、任意選択的に、ＧＰＳセンサ５３２、加速度計５３４、方向センサ５４０（例えば、コンパス）、ジャイロスコープ５３６、動きセンサ５３８、及び／又はこれらの組合せなどの様々なセンサを含み、これらのセンサは全て、Ｉ／Ｏセクション５１４に動作可能に接続することができる。
【０１４３】
パーソナル電子デバイス５００のメモリ５１８は、コンピュータ実行可能命令を記憶するための１つ以上の非一時的コンピュータ可読記憶媒体を含むことができ、それらの命令は、１つ以上のコンピュータプロセッサ５１６によって実行されると、例えば、コンピュータプロセッサに、プロセス７００、１０００、及びプロセス１３００（図７、図１０、及び図１３）を含めた、以下に説明する技術を実行させることができる。パーソナル電子デバイス５００は、図５Ｂの構成要素及び構成に限定されるものではなく、他の又は追加の構成要素を複数の構成で含むことができる。
【０１４４】
本明細書で使用されるように、用語「アフォーダンス」は、任意選択的に、デバイス１００、３００、及び／又は５００（図１、図３、及び図５）のディスプレイ画面上に表示されるユーザ対話式のグラフィカルユーザインタフェースオブジェクトを指す。例えば、画像（例えば、アイコン）、ボタン、及び文字（例えば、ハイパーリンク）はそれぞれ、意選択的に、アフォーダンスを構成する。
【０１４５】
本明細書で使用される「フォーカスセレクタ」という用語は、ユーザが対話しているユーザインタフェースの現在の部分を示す入力要素を指す。カーソル又は他の場所マーカを含むいくつかの実装形態では、カーソルが「フォーカスセレクタ」として作用し、したがってカーソルが特定のユーザインタフェース要素（例えば、ボタン、ウィンドウ、スライダ、又は他のユーザインタフェース要素）の上に位置する間に、タッチ感知面（例えば、図３のタッチパッド３５５又は図４Ｂのタッチ感知面４５１）上で入力（例えば、押下入力）が検出されたとき、特定のユーザインタフェース要素が、検出された入力に従って調整される。タッチスクリーンディスプレイ上のユーザインタフェース要素との直接対話を有効化するタッチスクリーンディスプレイ（例えば、図１Ａのタッチ感知ディスプレイシステム１１２又は図４Ａのタッチスクリーン１１２）を含むいくつかの実装形態では、タッチスクリーン上の検出された接触が「フォーカスセレクタ」として作用し、したがってタッチスクリーンディスプレイ上の特定のユーザインタフェース要素（例えば、ボタン、ウィンドウ、スライダ、又は他のユーザインタフェース要素）の場所で入力（例えば、接触による押下入力）が検出されたとき、特定のユーザインタフェース要素が、検出された入力に従って調整される。いくつかの実装形態では、それに対応するタッチスクリーンディスプレイ上のカーソルの動き又は接触の動き（例えば、フォーカスを１つのボタンから別のボタンへ動かすためにタブキー又は矢印キーを使用することによる）なく、フォーカスがユーザインタフェースの１つの領域からユーザインタフェースの別の領域へ動かされる。これらの実装形態では、フォーカスセレクタは、ユーザインタフェースの種々の領域間でのフォーカスの移動に従って移動する。フォーカスセレクタがとる特有の形態にかかわらず、フォーカスセレクタは、概して、ユーザインタフェース要素（又はタッチスクリーンディスプレイ上の接触）であり、ユーザの意図する対話をユーザインタフェースによって通信するように、ユーザによって制御される（例えば、ユーザが対話することを意図しているユーザインタフェースの要素をデバイスに示すことによる）。例えば、タッチ感知面（例えば、タッチパッド又はタッチスクリーン）上で押圧入力が検出されている間の、対応のボタンの上のフォーカスセレクタ（例えば、カーソル、接触、又は選択ボックス）の位置は、その対応のボタンを（そのデバイスのディスプレイ上に示される他のユーザインタフェース要素ではなく）アクティブ化することをユーザが意図していることを示すものである。
【０１４６】
本明細書及び特許請求の範囲で使用される、接触の「特性強度」という用語は、接触の１つ以上の強度に基づく、その接触の特性を指す。いくつかの実施形態では、特性強度は複数の強度サンプルに基づく。特性強度は、任意選択的に、既定の数の強度サンプル、すなわち、既定のイベント（例えば、接触を検出した後、接触のリフトオフを検出する前、接触の移動の開始を検出する前若しくは後、接触の終了を検出する前、接触の強度の増大を検出する前若しくは後、及び／又は、接触の強度の減少を検出する前若しくは後の）に関連する既定の時間期間（例えば、０．０５、０．１、０．２、０．５、１、２、５、１０秒）の間に収集された強度サンプルのセットに基づく。接触の特性強度は、任意選択的に、接触の強度の最大値、接触の強度の平均（mean）値、接触の強度の平均（average）値、接触の強度の上位１０パーセンタイル値、接触の強度の最大の２分の１の値、接触の強度の最大の９０パーセントの値などのうちの１つ以上に基づいている。いくつかの実施形態では、特性強度を特定する際に（例えば、特性強度が経時的な接触の強度の平均であるときに）、接触の持続期間が使用される。いくつかの実施形態では、特性強度は、ユーザによって操作が実行されたかどうかを判定するために、１つ以上の強度閾値のセットと比較される。例えば、１つ以上の強度閾値のセットは、任意選択的に、第１の強度閾値及び第２の強度閾値を含む。この例では、第１の閾値を超過しない特性強度を有する接触は、第１の動作をもたらし、第１の強度閾値を超過するが第２の強度閾値を超過しない特性強度を有する接触は、第２の動作をもたらし、第２の閾値を超過する特性強度を有する接触は、第３の動作をもたらす。いくつかの実施形態では、特性強度と１つ以上の閾値との間の比較は、第１の動作を実行するべきか、それとも第２の動作を実行するべきかを判定するために使用されるのではなく、１つ以上の動作を実行するべきか否か（例えば、それぞれの動作を実行するべきか、それともそれぞれの動作を実行するのを取り止めるべきか）を判定するために使用される。
【０１４７】
いくつかの実施形態では、特性強度を特定する目的のために、ジェスチャの一部分が識別される。例えば、タッチ感知面は、任意選択的に、開始場所から遷移して終了場所に到達する連続するスワイプ接触を受信し、その時点で接触の強度が増大する。この例では、終了場所での接触の特性強度は、任意選択的に、スワイプ接触全体ではなく、連続するスワイプ接触の一部分のみ（例えば、スワイプ接触のうち終了場所の部分のみ）に基づいている。いくつかの実施形態では、任意選択的に、接触の特性強度を判定する前に、平滑化アルゴリズムがスワイプ接触の強度に適用される。例えば、平滑化アルゴリズムは、任意選択的に、非加重移動平均平滑化アルゴリズム、三角平滑化アルゴリズム、中央値フィルタ平滑化アルゴリズム、及び／又は指数平滑化アルゴリズムのうちの１つ以上を含む。いくつかの状況では、これらの平滑化アルゴリズムは、特性強度を特定する目的のために、スワイプ接触の強度の小幅な上昇又は降下を排除する。
【０１４８】
タッチ感知面上の接触の強度は、任意選択的に、接触検出強度閾値、軽い押下の強度閾値、深い押下の強度閾値、及び／又は１つ以上の他の強度閾値などの１つ以上の強度閾値に対して特徴付けられる。いくつかの実施形態では、軽い押圧強度閾値は、通常、物理マウスのボタン又はトラックパッドをクリックすることに関連付けられた動作をデバイスが実行する強度に相当する。いくつかの実施形態では、深い押圧強度閾値は、通常、物理マウスのボタン又はトラックパッドをクリックすることに関連付けられた動作とは異なる動作をデバイスが実行する強度に相当する。いくつかの実施形態では、軽い押下の強度閾値を下回る（例えば、それを下回ると接触が検出されなくなる公称接触検出強度閾値を上回る）特性強度を有する接触が検出されたとき、デバイスは、軽い押下の強度閾値又は深い押下の強度閾値に関連付けられた動作を実行することなく、タッチ感知面上の接触の動きに従ってフォーカスセレクタを動かす。一般に、特に明記しない限り、これらの強度閾値は、ユーザインタフェース図の様々なセットの間で一貫性がある。
【０１４９】
軽い押下の強度閾値を下回る強度から、軽い押下の強度閾値と深い押下の強度閾値との間の強度への、接触の特性強度の増大は、「軽い押下」の入力と呼ばれることがある。深い押下の強度閾値を下回る強度から、深い押下の強度閾値を上回る強度への、接触の特性強度の増大は、「深い押下」の入力と呼ばれることがある。接触検出強度閾値を下回る強度から、接触検出強度閾値と軽い押下の強度閾値との間の強度への、接触の特性強度の増大は、タッチ面上の接触の検出と呼ばれることがある。接触検出強度閾値を上回る強度から、接触検出強度閾値を下回る強度への、接触の特性強度の減少は、タッチ面からの接触のリフトオフの検出と呼ばれることがある。いくつかの実施形態では、接触検出強度閾値はゼロである。いくつかの実施形態では、接触検出強度閾値は、ゼロより大きい。
【０１５０】
本明細書に記載するいくつかの実施形態では、それぞれの押下入力を含むジェスチャを検出したことに応じて、又はそれぞれの接触（若しくは複数の接触）によって実行されたそれぞれの押下入力を検出したことに応じて、１つ以上の動作が実行され、それぞれの押下入力は、押下入力強度閾値を上回る接触（又は複数の接触）の強度の増大を検出したことに少なくとも部分的に基づいて検出される。いくつかの実施形態では、それぞれの動作は、押下入力強度閾値を上回るそれぞれの接触の強度の増大（例えば、それぞれの押下入力の「ダウンストローク」）を検出したことに応じて実行される。いくつかの実施形態では、押下入力は、押下入力強度閾値を上回るそれぞれの接触の強度の増大、及びそれに続く押下入力強度閾値を下回る接触の強度の減少を含み、それぞれの動作は、それに続く押下入力閾値を下回るそれぞれの接触の強度の減少（例えば、それぞれの押下入力の「アップストローク」）を検出したことに応じて実行される。
【０１５１】
いくつかの実施形態では、デバイスは、「ジッタ」と呼ばれる場合がある偶発的な入力を回避するために強度ヒステリシスを採用し、デバイスは、押圧入力強度閾値との既定の関係を有するヒステリシス強度閾値を定義又は選択する（例えば、ヒステリシス強度閾値は、押圧入力強度閾値よりも低いＸ強度単位であり、又はヒステリシス強度閾値は、押圧入力強度閾値の７５％、９０％、若しくは何らかの妥当な割合である）。したがって、いくつかの実施形態では、押下入力は、押下入力強度閾値を上回るそれぞれの接触の強度の増大、及びそれに続く押下入力強度閾値に対応するヒステリシス強度閾値を下回る接触の強度の減少を含み、それぞれの動作は、それに続くヒステリシス強度閾値を下回るそれぞれの接触の強度の減少（例えば、それぞれの押下入力の「アップストローク」）を検出したことに応じて実行される。同様に、いくつかの実施形態では、押圧入力は、デバイスが、ヒステリシス強度閾値以下の強度から押圧入力強度閾値以上の強度への接触の強度の増大、及び任意選択的に、その後のヒステリシス強度以下の強度への接触の強度の減少を検出するときにのみ検出され、それぞれの動作は、押圧入力（例えば、状況に応じて、接触の強度の増大又は接触の強度の減少）を検出したことに応答して実行される。
【０１５２】
説明を容易にするために、押下入力強度閾値に関連付けられた押下入力、又は押下入力を含むジェスチャに応じて実行される動作の説明は、任意選択的に、押下入力強度閾値を上回る接触の強度の増大、ヒステリシス強度閾値を下回る強度から押下入力強度閾値を上回る強度への接触の強度の増大、押下入力強度閾値を下回る接触の強度の減少、及び／又は押下入力強度閾値に対応するヒステリシス強度閾値を下回る接触の強度の減少のいずれかを検出したことに応じてトリガされる。更に、押圧入力強度閾値を下回る接触の強度の減少を検出したことに応答して実行されるように動作が記載される例では、動作は、任意選択的に、押圧入力強度閾値に対応し、かつそれよりも低いヒステリシス強度閾値を下回る接触の強度の減少を検出したことに応答して実行される。
【０１５３】
次に、ポータブル多機能デバイス１００、デバイス３００、又はデバイス５００などの電子デバイス上で実施されるユーザインタフェース（「ＵＩ」）及び関連プロセスの実施形態に注意を向ける。
【０１５４】
図６Ａ〜図６Ｊは、いくつかの実施形態に係る、メッセージに対するユーザステータス情報を通信するための例示的なユーザインタフェースを示す。これらの図におけるユーザインタフェースは、図７Ａ〜図７Ｂにおける処理を含む、以下において説明される処理を例示するために使用される。
【０１５５】
図６Ａは、いくつかの例では上述のデバイス１００、デバイス３００、又はデバイス５００に対する特定のフォームファクタであるデバイス６００を示す。デバイス６００は、いくつかの実施形態ではタッチ感知ディスプレイであるディスプレイ６０１と、画像センサ６０２とを含む。加えて、デバイス６００のいくつかの実施形態では、画像センサ６０２と共に、追加のセンサ（例えば、深度センサ、ＩＲセンサなど）、及び／又は他の構成要素（例えば、フラッシュ又はＩＲエミッタ）が存在する。
【０１５６】
図６Ａでは、ディスプレイ６０１は、「Ｊｏｅ」という名前の別のユーザに対するメッセージングインタフェース６０３を表示している。メッセージングインタフェース６０３は、戻るボタン６０４、ユーザ名６０５、ユーザ写真６０６、及び連絡先情報ボタン６０７を含む。ユーザが戻るボタン６０４を選択したことに応じて、例えば、ディスプレイ６０１上の戻るボタン６０４上にタッチすることにより、メッセージングインタフェース６０３が、最近のメッセージが表示され、及び／又は通信するために他の連絡先が選択される、メインメッセージング画面に戻る。ユーザ名６０５及びユーザ写真６０６は、メッセージングインタフェース６０３が通信するように構成されている他のユーザを示す。ユーザ写真６０６は、例えば、他のユーザに対するアバター（例えば、絵文字、若しくは非写実的なグラフィック表現などの他のグラフィック表現）、他のユーザの写真、又は他の連絡先に関連付けられた何らかの他の画像である。ユーザが連絡先情報ボタン６０７を選択したことに応じて、他のユーザに関連付けられたオプション、設定、及び他のアクションにアクセス可能である。いくつかの例では、連絡先情報ボタン６０７により、ユーザが他の通信チャネルを使用して他のユーザとの通信を開始することを可能にするユーザインタフェースページを、デバイス６００に開かせ、ユーザが特定の種類の情報（例えば、現在位置）を他のユーザに送信することを可能にし、ユーザが他のユーザに対する通信設定を変更することを可能にし、及び／又はユーザが他のユーザとの以前の通信に関する情報をレビューすることを可能にする。
【０１５７】
メッセージングインタフェース６０３は、図６Ａでは空であるメッセージ領域６０８と、メッセージ入力領域６０９とを含む。メッセージ入力領域は、写真ボタン６１０、描画ボタン６１１、ステッカー／絵文字ボタン６１２、テキスト入力フィールド６１３、及び音声認識ボタン６１４を含む。写真ボタン６１０により、ユーザが、他のユーザへのメッセージに含めるために既存の写真／ビデオを選択するか、又は新しい写真／ビデオをキャプチャするかいずれかを可能にする。描画ボタン６１１により、ユーザが、他のユーザへのメッセージに含めるためにスケッチを作成することを可能にする。ステッカー／絵文字ボタン６１２により、ユーザが、他のユーザへのメッセージに含めるためにステッカー及び／又は絵文字を選択することを可能にする。テキスト入力フィールド６１３により、ユーザが、他のユーザへのメッセージに含まれることになるテキストを入力することを可能にする。図６Ａでは、テキスト入力フィールド６１３は、他のユーザに送信されることになるテキストメッセージの種類を示す単語「ｉＭｅｓｓａｇｅ（登録商標）」を含む。音声認識ボタン６１４により、テキストを手動で入力する代わりにデバイス６００に向かって話すことによって、ユーザが、テキスト入力フィールド６１３にテキストを入力することを可能にする。
【０１５８】
図６Ｂに示すように、図６Ａのタッチ６１５などのテキスト入力フィールド６１３を選択するユーザ入力に応じて、キーボード６１６がディスプレイ６０１上に表示される。加えて、テキスト入力フィールド６１３がディスプレイの上方に移動し、図６Ａの写真ボタン６１０、描画ボタン６１１、及びステッカー／絵文字ボタン６１２を隠すことによって拡大する。ユーザが拡大ボタン６１７を選択した場合、これらのボタンは再表示される。加えて、いくつかの例では、カーソル（図示せず）がテキスト入力フィールド６１３の内部に表示される。
【０１５９】
図６Ｃに示すように、キーボード６１６上の文字選択に応じて（例えば、文字「Ｈ」及び「Ｉ」上の、図６Ｂのタッチ６１８及び６１９などのキーボード６１６上のタッチをそれぞれ介して）、選択した文字を含めるようにテキスト入力フィールド６１３が更新される。加えて、音声認識ボタン６１４（図６Ｂ）が送信ボタン６２０に置き換えられ、送信ボタン６２０が、入力されたテキスト、及び画像データなどの他のデータを含む現在入力されているメッセージを他のユーザに送信する。
【０１６０】
図６Ｄは、キーボード６１６上の追加のタッチを介した追加のテキスト入力後のメッセージングインタフェース６０３を示す。テキスト入力フィールド６１３は、追加の入力テキストを含む。
【０１６１】
いったんユーザがテキスト入力フィールド６１３にテキストを入力し終えると、ユーザは、例えば、ディスプレイ６０１上のタッチ６２１を介して送信ボタン６２０を選択することによって、メッセージを送信する準備ができていることを示す。それに応じて、デバイス６００は、図６Ｄの例では、テキスト入力フィールド６１３内のテキストを含むメッセージを用意する。いったんメッセージを送信する準備ができると、デバイス６００は、メッセージを他のユーザ（図６Ａ〜図６Ｆの例の場合では、「Ｊｏｅ」という名前の他のユーザ）に送信する。メッセージの一部として又は別個のデータ送信としてのいずれかで、デバイス６００はまた、デバイス６００のユーザのステータスデータ（例えば、デバイス６００に現在関連付けられているユーザアカウントに関連付けられたステータスデータ）を他のユーザに送信する。いくつかの実施形態では、ユーザのステータスデータは、身体的状態（例えば、疲れた、病気、暑い、寒い、退屈）、又は感情的状態（例えば、幸せ、悲しい、心配、怒り）を表す。
【０１６２】
ステータスデータは、任意の数のソースから取得することができる。一実施例では、ステータスデータは、ユーザにステータスのリストを提示し、ユーザ又はユーザが送信しているメッセージの内容を表すステータスのうちの１つをユーザが選択できるようにすることによって、取得される。換言すれば、ユーザが送信ボタン６２０を選択した後、デバイス６００は、ユーザがテキスト入力フィールド６１３のテキストを含むコンテンツを有するメッセージと関連付けて送信することを選択できるステータスのリストでユーザを促す。別の例では、ステータスデータを取得するために、デバイス６００はユーザに対するステータスデータを自動的に判定するように構成されている。いくつかの例では、デバイス６００は、（例えば、メッセージングアプリケーションを介して）メッセージの内容に基づいて、１つ以上の画像センサ（例えば、図６Ａの画像センサ６０２）を使用してユーザの画像データに基づいて、及び／又はデバイス６００に利用可能な他のコンテキスト情報（例えば、カレンダーエントリ、天気、時間帯／年、場所など）に基づいて、ステータスデータを判定する。デバイス６００は、画像センサ６０２、又はバイオメトリックセンサなどの他のセンサからのデータを使用して、顔の表情を識別するため、又はユーザステータスを判定するための生理学的データ（例えば、心拍数又は体温）を取得するために、顔認識を実行することができる。いくつかの例では、ユーザステータスは、ユーザにとって個人的なものであり、ユーザに関連するオブジェクト（例えば、電子デバイス）には関連付けられていない。いったんユーザステータスデータが判定されると、ユーザステータスデータはメッセージと関連付けられ、メッセージと共に（例えば、メッセージの一部として）、又はメッセージとは別個に（例えば、メッセージの送信前に、メッセージの送信後に、若しくはメッセージの送信と同時に）のいずれかで、他のユーザに送信される。
【０１６３】
図６Ｅに示すように、メッセージを他のユーザに送信した後、テキスト入力フィールド６１３のテキストを含むメッセージの内容が、テキストボックス６２２に表示されているメッセージ領域６０８に表示される。テキストボックス６２２はまた、任意選択的に、メッセージの他の、非テキストコンテンツ（例えば、画像、アニメーション、ビデオなど）を含む。テキストボックス６２２を表示することに加えて、アバター６２３もまた、テキストボックス６２２に隣接して表示される（例えば、メッセージはアバターの口から出てきている）。いくつかの実施形態では、アバター６２３は、デバイス６００のユーザを表す、以前に定義された（例えば、ベースラインの）アバター又はアバターモデル（例えば、ワイヤ、メッシュ、又は構造モデル）に基づいて生成される。加えて、アバター６２３は、テキストボックス６２２内のメッセージに関連付けられたユーザステータスデータに基づいている。例えば、テキストボックス６２２内のメッセージに対するユーザステータスデータは同情的であった。メッセージングアプリケーションは、笑顔のアバターがこのステータスデータに最も適していると判定した。したがって、アバター６２３は、笑顔と温かい表情を表すように生成された。いくつかの例では、生成されたアバターは、アクセサリ（例えば、雨中の傘、ビーチにいるときのサングラス、ハロウィーンのときの衣装、又は誰かにハッピーバースデーを祈るときの贈り物）を含むことができる。いくつかの例では、生成されたアバターはアニメーションアバターである。
【０１６４】
図６Ｆは、メッセージ及び関連するステータスデータが「Ｊｏｅ」という名前の他のユーザから受信された（例えば、他のユーザ「Ｊｏｅ」に関連付けられた電子デバイスから受信された）後のメッセージングインタフェース６０３を示す。メッセージの内容は、メッセージ領域６０８のテキストボックス６２４内に表示される。加えて、関連付けられたアバター６２５が、テキストボックス６２４に隣接して表示される。アバター６２３と同様に、アバター６２５は、デバイス６００のユーザの代わりに、以前に定義された（例えば、ベースライン）アバター又はアバターモデルが「Ｊｏｅ」用であることを除き、以前に定義されたアバター又はアバターモデルに基づく。以前に定義されたアバター又はアバターモデルは、任意選択的に、デバイス６００のユーザによって設定されるか、又は他のユーザによって若しくはリモートサーバによって提供される。デバイス６００は、任意選択的に、以前に定義されたアバター又はアバターモデルをローカルに記憶するか、又は必要に応じて以前に定義されたアバター若しくはアバターモデルを取り出す。デバイス６００がＪｏｅなどの別のユーザからメッセージを受信すると、デバイス６００上のメッセージアプリケーションは、以前に定義されたアバター又はアバターモデルをロードし、それを修正又は使用して、受信メッセージに関連付けられたユーザステータスデータに基づいてアバターを生成する。上述のユーザステータスデータの送信と同様に、別のユーザから受信したメッセージに対するユーザステータスデータは、メッセージの一部として、又はメッセージとは別個に（例えば、メッセージの前、メッセージの後、若しくはメッセージと同時に）受信することができる。
【０１６５】
他のユーザに対するユーザステータスデータは、任意選択的に、他のユーザのデバイス（例えば、「Ｊｏｅの」デバイス）が判定を行うことを除いて、ユーザに関して上述したのと同様の方法で判定される。テキストボックス６２４に関連付けられたメッセージに対して、他のユーザのデバイスは、ユーザステータスが賛成で感謝していると判定した。
【０１６６】
アバター６２３と同様に、アバター６２５はユーザステータスデータに基づいている。アバター６２５の場合では、メッセージングアプリケーションは、賛成で感謝しているユーザステータスデータに基づいて、笑顔とサムズアップを含むようにアバター６２５を生成した。加えて、アバター６２５は、アニメーションアバターである（矢印は、アバターの親指のアニメーション化された揺れを表す）。
【０１６７】
いくつかの実施形態では、アバター６２５は、任意選択的にデバイス６００上に保存され、他のユーザと関連付けられる。例えば、ユーザ写真６０６は、アバター６２５又はその後に連絡先に対して生成されたアバターに置き換えられる。他のユーザの情報が（例えば、他のアプリケーションに、又は連絡先リストに）表示されるときはいつでも、最も最近に受信された、他のユーザに対するユーザステータスデータを表すアバターが表示される。
【０１６８】
図６Ｇは、デバイス６００のユーザが入力し、「Ｊｏｅ」という名前の他のユーザに別のメッセージを送信した後の、メッセージングインタフェース６０３を示す。メッセージの内容は、メッセージ領域６０８のテキストボックス６２６内に表示される。加えて、アバター６２７は、テキストボックス６２６に隣接して表示され、テキストボックス６２６に関連付けられたメッセージが送信されたときのユーザのユーザステータスデータに基づいて生成される。この場合、デバイス６００は、（例えば、メッセージングアプリケーションによってプログラムされたように）ユーザステータスが悲しいと判定した。このステータスに基づいて、アバター６２７は、アバター６２３と比較して悲しい表情を有するように生成された（例えば、目、眉、及び口は全て、悲しい表情を反映するように変更された）。アバター６２７は、アバター６２３と比較して新しいユーザステータスデータを反映しているが、アバター６２３は変更されないままである。換言すれば、デバイス６００が更新されたユーザステータスデータを受信したにもかかわらず、アバター６２３は同じままである。そのような実施形態では、たとえステータスデータがその後更新されても、アバター６２３の不変のステータスは、ユーザのステータスの履歴記録として機能することができる。
【０１６９】
いくつかの実施形態では、アバター６２３及び６２７は、新しいベースラインアバター又はアバターモデルに基づいて更新することができる。例えば、デバイス６００のユーザが彼のあごひげを剃り、それに従ってベースラインアバター又はアバターモデルを更新する場合、アバター６２３及び６２７はそのあごひげを削除するように更新されるが、ユーザステータスデータに基づく表情及び他の特徴はそのままである（とはいえ、それらは新しいベースラインアバター又はアバターモデルに基づいて変更できる）。いくつかの実施形態では、アバター６２３及び６２７などの以前に生成されたアバターは、たとえベースラインアバター又はアバターモデルが更新されたときでも更新されない。
【０１７０】
図６Ｇは、デバイス６００のユーザが「Ｊｏｅ」という名前の他のユーザから別のメッセージを受信した後の、メッセージングインタフェース６０３を示す。メッセージの内容は、メッセージ領域６０８のテキストボックス６２８内に表示される。加えて、アバター６２９は、テキストボックス６２８に隣接して表示され、受信されテキストボックス６２８に表されるメッセージに関連付けられている他のユーザのユーザステータスデータに基づいて生成される。他のユーザが申し訳なさそうにしたことを示すユーザステータスデータに基づいて、関係のある表情を有するようにアバター６２９が生成された。アバター６２９は、アバター６２５と比較して他のユーザに対する新しいユーザステータスデータを反映しているが、アバター６２５は変更されないままである。図６Ｇに示すように、デバイス６００が更新されたユーザステータスデータを受信したにもかかわらず、アバター６２５は同じままである。このように、特定のメッセージを設定したときにユーザのステータスを判定することは簡単である。この結果、ユーザがメッセージをより速く検索し理解することを可能にする、より効率的なインタフェースを提供することができる。
【０１７１】
いくつかの実施形態では、アバター６２５及び６２９は、新しいベースラインアバター又はアバターモデルに基づいて更新することができる。例えば、他のユーザが眼鏡をかけ始め、それに従ってベースラインアバター又はアバターモデルを更新する場合、他のユーザが新しいベースラインアバター又はアバターモデルを送出し、アバター６２５及び６２９は眼鏡を追加するように更新されるが、ユーザステータスデータに基づく表情及び他の特徴はそのままである（とはいえ、それらは新しいベースラインアバター又はアバターモデルに基づいて変更できる）。いくつかの実施形態では、アバター６２５及び６２９などの以前に生成されたアバターは、たとえ他のユーザに対するベースラインアバター又はアバターモデルが更新されたときでも更新されない。
【０１７２】
図６Ｉは、編集ボタン６３１、タイトル６３２、作成ボタン６３３、及びアフォーダンス６３４〜６３６を含む、メッセージアプリケーションインタフェース６３０を示す。インタフェース６３０は、図６Ｈの戻るボタン６０４の選択に応じて、任意選択的に表示される。インタフェース６３０の編集ボタン６３１を選択すると、ユーザは特定の連絡先アフォーダンスを選択し、選択されたアフォーダンスに関連付けられた連絡先情報に対して操作（例えば、削除）を実行することができるようになる。タイトル６３２は、メッセージアプリケーションの名前を提供する。作成ボタン６３３を選択することにより、ユーザは新しいメッセージを作成し、そのメッセージの受信者を選択することができるようになる。
【０１７３】
アフォーダンス６３４〜６３６は、異なるリモートユーザに対する連絡先情報を表示する。この例では、各アフォーダンスは、ユーザ名、他のユーザとの最も最近の通信の要約、他のユーザと関連付けられたグラフィック要素、及び最も最近の通信の時間などの連絡先情報を含む。いくつかの実施形態では、グラフィック要素は、他のユーザに対して最も最近に生成されたアバターである。例えば、「Ｊｏｅ  Ｓｍｉｔｈ」に対するアフォーダンス６３４は、図６Ｈのテキストボックス６２９に関連付けられたメッセージと共に受信されたユーザステータスに基づいて、「Ｊｏｅ  Ｓｍｉｔｈ」に対して最も最近に生成された、アバター６２９を含む。このアバターは、インタフェース６３０内の連絡先リストが他のユーザの最も最新の状況を反映しているアバターを常に含むように、その後に受信されたユーザステータスデータに基づく、その後に生成されたアバターで、任意選択的に更新される。
【０１７４】
アフォーダンスのうちの１つを選択すると、メッセージングインタフェース６０３の表示に戻る。例えば、連絡先アフォーダンス６３４を選択すると、図６Ｈに示すようにメッセージングインタフェース６０３の表示に戻ることになる。
【０１７５】
アフォーダンス６３５は、関連付けられたアバターを有しない。代わりに、アバターを表示する代わりにモノグラム６３７が表示される。
【０１７６】
図６Ｊは、新しいベースラインアバター又はアバターモデルが「Ｊｏｅ」用に受信された後の、他のユーザ「Ｊｏｅ」用のメッセージングインタフェース６０３を示す。この例では、Ｊｏｅは口ひげを生やしており、それに応じて彼のアバターを更新している。新しいベースラインアバター又はアバターモデルの受信に応じて、デバイス６００は、例えば、メッセージングプログラムを介して、Ｊｏｅの新しい口ひげを反映するように、アバター６２５及び６２９をアバター６３８及び６３９で更新した。アバター６２８及び６２９は、対応するメッセージと共に受信されたユーザステータスデータに基づいている。図６Ｊに示す例では、これは、顔の表情が同じままであることを意味する。
【０１７７】
図７Ａ〜図７Ｂは、いくつかの実施形態に係る、電子デバイスを使用する拡張されたメッセージングインタフェースのための方法を示すフロー図である。方法７００は、ディスプレイを有するデバイス（例えば、１００、３００又は５００）で実行される。方法７００のいくつかの動作は、任意選択的に組み合わされ、いくつかの動作の順序は、任意選択的に変更され、いくつかの動作は、任意選択的に省略される。
【０１７８】
後述するように、方法７００は、メッセージに対するユーザステータス情報を通信するための直感的方法を提供する。この方法は、ステータス情報を通信するためのユーザの認識的負担を軽減し、それによって、より効率的なヒューマンマシンインタフェースを作り出す。バッテリ動作コンピューティングデバイスの場合、ユーザがメッセージをより早くより効率的に理解して応答できるようにすることで、電力が節約され、バッテリ充電の時間間隔が増加する。
【０１７９】
ディスプレイ（例えば、デバイス６００のディスプレイ６０１）を有する電子デバイス（例えば、図６Ａ〜図６Ｊのデバイス６００）は、第１のユーザ（例えば、デバイス６００の所有者又はユーザ）に関連付けられる。電子デバイスは、第２のユーザ（例えば、図６Ａのユーザ名６０５及びユーザ写真６０６を有する他のユーザ）から第１のメッセージ（例えば、図６Ｆ〜図６Ｊのテキストボックス６２４に関連付けられたメッセージ）（例えば、ＳＭＳメッセージ、ＭＭＳメッセージ、ｉＭｅｓｓａｇｅ（登録商標）、又は他の種類のメッセージ）を受信する（７０２）。第１のメッセージは、第１のコンテンツ（例えば、図６Ｆ〜図６Ｈのテキストボックス６２４内のコンテンツ）を含む。いくつかの実施形態によると、第２のユーザは、第１のメッセージと第２のメッセージとを送信するソース電子デバイスと関連付けられている。
【０１８０】
電子デバイスは、第２のユーザに対する第１のステータスデータ（例えば、感情的若しくは身体的な状態、又は他のユーザに関連付けられた若しくは他のユーザには個人的な他の状態）を受信する（７０４）。第１のステータスデータは、第１のメッセージと関連付けられ、第１のコンテンツとは別個である（例えば、第１のステータスデータは、コンテンツとは別個のメッセージの一部として送信されるか、又は、メッセージとは別個に送信されるが、メッセージに対するものとしてのステータスデータの識別を可能にする方法で送信される）。ステータスデータは、任意の数のソースから取得することができる。いくつかの実施形態では、ステータスデータは、ユーザにステータスのリストを提示し、ユーザ又はユーザが送信しているメッセージの内容を表すステータスのうちの１つをユーザが選択できるようにすることによって、取得される。いくつかの実施形態では、ステータスデータを取得するために、電子デバイスは、例えば、１つ以上の画像センサ（例えば、図６Ａの画像センサ６０２）を使用してユーザの画像データに基づいて、及び／又は、電子デバイスに利用可能な他のコンテキスト情報（例えば、カレンダーエントリ、天気、時間帯／年、場所など）に基づいて、ユーザに対するステータスデータを自動的に判定するように構成されている。任意選択的に、画像センサ６０２、又はバイオメトリックセンサなどの他のセンサからのデータを使用して、顔の表情を識別するため、又はユーザステータスを判定するための生理学的データ（例えば、心拍数又は体温）を取得するために、顔認識を実行することができる。いくつかの実施形態では、ユーザステータスは、ユーザにとって個人的なものであり、ユーザに関連するオブジェクト（例えば、電子デバイス）には関連付けられていない。いったんユーザステータスデータが判定されると、ユーザステータスデータはメッセージと関連付けられ、メッセージと共に（例えば、メッセージの一部として）、又はメッセージとは別個に（例えば、メッセージの送信前に、メッセージの送信後に、若しくはメッセージの送信と同時に）のいずれかで、他のユーザに送信される。
【０１８１】
電子デバイスのディスプレイは、第１のコンテンツ（例えば、テキストボックス６２４内のコンテンツ）、及び第１のアバター（例えば、図６Ｆ〜図６Ｈのアバター６２４）（例えば、絵文字又は他のグラフィック表現）を含む、第１のメッセージを表示する（７０６）。第１のアバターは第１のステータスデータに基づき、表示された第１のアバターは表示された第１のメッセージに隣接している（例えば、メッセージはアバターの口から出てくる）。
【０１８２】
第１のメッセージ及び第１のアバターを表示した後、電子デバイスは、第２のユーザから第２のメッセージ（例えば、別のＳＭＳメッセージ、ＭＭＳメッセージ、ｉＭｅｓｓａｇｅ（登録商標）、又は他の種類のメッセージ）を受信し（７０８）、ここで、第２のメッセージは第２のコンテンツ（例えば、図６Ｈのテキストボックス６２９内のコンテキスト）を含む。
【０１８３】
電子デバイスは、送信者に対する第２のステータスデータ（例えば、感情的又は身体的な状態）を受信し（７１０）、ここで、第２のステータスは第２のメッセージに関連付けられており、第２のコンテンツとは別個である。いくつかの実施形態において、第２のステータスデータは、第１のステータスデータと同様の方法で生成され、送信される。
【０１８４】
第１のメッセージ及び第１のアバターの表示を維持しながら、電子デバイスのディスプレイは、第２のコンテンツ（例えば、図６Ｈのテキストボックス６２９）及び第２のアバター（例えば、図６Ｈのアバター６２９）（例えば、絵文字又は他のグラフィック表現）を含む第２のメッセージを表示し（７１２）、ここで、表示された第２のアバターは表示された第２のメッセージに隣接し（例えば、メッセージはアバターの口から出てくる）、第２のアバターは第２のステータスデータに基づき、第１のアバターと第２のアバターとは異なる。異なるメッセージに対して異なるユーザステータスに基づき異なるアバターを含めることによって、電子デバイスの操作性が、ディスプレイ上に提示される情報量を増大することで拡張される。例えば、ユーザは、メッセージのテキスト内容を読む必要なしに、メッセージを迅速に走査し、アバターに基づいてメッセージに関連付けられた何らかのコンテキストを判定することができる。電子デバイスのこの改善された操作性によって、ユーザがデバイスをより迅速かつ効率的に使用することを可能にすることで、操作性をより効率的にし、電力使用量を低減し、デバイスのバッテリ寿命を改善する。例えば、異なるメッセージに対する異なるアバターは、ユーザが特定のステータスに関連付けられることを知っている特定のメッセージを、ユーザが見つけようとしているときに役立ち得る（例えば、悲しいメッセージは、場合によっては悲しいアバターを有することになる）。加えて、メッセージが複数の意味を持つと解釈され得る場合、メッセージ特有のアバターは、読者がメッセージの意味を正確に解釈するのを助けることができる。
【０１８５】
いくつかの実施形態によれば、電子デバイスは、第２のユーザに対する連絡先情報（例えば、図６Ｊのアフォーダンス６３３の情報）を含むユーザのセットに対する連絡先情報（例えば、図６Ｉ）（例えば、電話番号、電子メールアドレス、ユーザ名、最近の通信など）を表示し（７２０）、ここで、第２のアバター（例えば、アバター６２９）は、第２のユーザに対する連絡先情報と共に表示される。いくつかの実施形態では、第２のユーザのステータスにおける変化を検出すると、第２のアバターは、第２のユーザ用の第３のアバターに置き換えられる。新しいアバターが受信されたときに第２のユーザのアバターを更新することによって、電子デバイスのユーザはまた、第２のユーザの最も最近のステータスを表すアバターへのアクセスを有する。これによって、最後の通信中に第２のユーザのステータスを判定するために電子デバイスのユーザが古いメッセージをレビューする必要性を排除することで、より効率的なインタフェースを提供する。このように、所望の情報を取り出すためにユーザは電子デバイスとの対話を少なくする必要があるため、ユーザがデバイスをより迅速かつより効率的に使用できるようにすることで、電子デバイスをより効率的にし、電力使用量を低減し、デバイスのバッテリ寿命を改善する。
【０１８６】
いくつかの実施形態では、電子デバイスは、第１のアバター又は第１のステータスデータの、第２のユーザの連絡先情報との第１の関連付けを記憶し（例えば、第１のアバター又は第１のステータスデータを、データベース内の連絡先情報と、又は連絡先情報の一部としてリンクさせる）、第２のアバター又は第２のステータスデータの、第２のユーザの連絡先情報との第２の関連付けを記憶する（例えば、第１のアバター又は第１のステータスデータを、データベース内の連絡先情報と、又は連絡先情報の一部としてリンクさせる）。
【０１８７】
いくつかの実施形態によれば、電子デバイスは、第２のユーザに対する第１のアバターモデル（例えば、ワイヤメッシュ、パラメータ化モデル）を受信し、第１のアバターモデルと第１のステータスデータとに基づいて第１のアバター（例えば、６２５）（例えば、笑顔などの第１の表情の第２のユーザのように見えるアバター）を生成し、第１のアバターモデルと第２のステータスデータとに基づいて第２のアバター（例えば、６２９）を生成する。（例えば、しかめっ面などの第２の表情を有する第２のユーザのように見えるアバター）。いくつかの実施形態によれば、電子デバイスは、第１のステータスデータを所定のアバターモデル（例えば、電子デバイス上の既存のアバター）上にマッピングして、第１のアバター（例えば、６２５）を作成する。アバターモデルを使用することによって、新しいアバターが生成されるたびにベースラインアバターが受信又は生成される必要がないので、電子デバイスは、受信したステータスデータに基づいて第２のユーザアバターをより効率的に生成することができる。このように、電子デバイスは、アバターを生成するのに必要な処理電力を制限することによって、より効率的で、より省電力で、より長い電池寿命を有する。
【０１８８】
いくつかの実施形態によれば、電子デバイスは、第２のユーザに対する第２のアバターモデル（例えば、ワイヤメッシュ、パラメータ化モデル）を受信し（７２２）、第２のアバターモデル及び第１のステータスデータに基づいて、更新された第１のアバター（例えば、６３７）を生成する（７２４）。電子デバイスは、第２のアバターモデルと第２のステータスデータとに基づいて、更新された第２のアバター（例えば、６３８）を生成する（７２６）。電子デバイスはまた、第１のコンテンツを含む第１のメッセージと共に、第１のアバター（例えば、図６Ｊ）の代わりに、更新された第１のアバターを表示する（７２８）（例えば、メッセージの内容及びアバターに関連するコンテキスト情報を変更しないままで、表示されたアバターを更新する）。いくつかの実施形態によれば、第１のアバター（例えば、６２５）及び第２のアバター（６２９）は、第２のユーザの身体的外観を表す（例えば、アバターは第２のユーザの外観を反映している）。第２のユーザに対するベースラインアバターの更新を可能にすることによって、メッセージングインタフェースは、アバターが第２のユーザの現在のアバターを常に反映することを確実にする。これによって、電子デバイスのユーザが第２のユーザに関連付けられている複数の異なるベースラインアバターを認識する必要性を排除することで、より効率的なインタフェースを提供する。このように、ユーザは電子デバイスとより迅速にかつ効率的に対話することができるため、電子デバイスをより効率的にし、電力使用量を低減し、デバイスのバッテリ寿命を改善させることができる。
【０１８９】
いくつかの実施形態によれば、第１のステータスデータは、第２のユーザの第１のバイオメトリック特性（例えば、深度情報、顔認識、心拍数など）に基づいている（７１６）。いくつかの実施形態によれば、第１のステータスデータは、送信者の光学的画像又は深度画像に基づいている。いくつかの実施形態によれば、第１のステータスデータは、第２のユーザが第１のメッセージを作成及び／又は送信した時の（例えば、顔マップ（例えば、様々な顔の特徴の描写）に基づく）第２のユーザの検出された表情に基づいている（７１４）。いくつかの実施形態によれば、第２のステータスデータは、第２のユーザが第２のメッセージを作成及び／又は送信した時の（例えば、顔マップ（例えば、様々な顔の特徴の描写）に基づく）第２のユーザの検出された表情に基づいている（７１８）。第１のステータスデータを生成するために第２のユーザのバイオメトリック特性又は画像データを使用することによって、ステータスデータを判定及び／又は入力するための第２のユーザの負担を最小化することで、メッセージングインタフェースが拡張される。加えて、バイオメトリック特性を使用することは、他の方法と比較して、第２のユーザに対して、より細かい、及び／又は正確なステータスを提供することができる。このように、電子デバイスは、電子デバイスをより効率的にし、電力使用量を低減し、電池寿命を改善する、改良されたマンマシンインタフェースを提供する。
【０１９０】
いくつかの実施形態によれば、電子デバイスは、第１のステータスデータに基づいて、第１のアバターに対する１つ以上の特性（例えば、アバター６２９又は６３８の悲しい表情のための目、口、及び眉）（例えば、表情又はアクセサリ）を選択する（例えば、所定のアバターを選択する、又は新しいアバターを生成する）。いくつかの実施形態によれば、電子デバイスは、第２のステータスデータに基づいて、第２のアバターに対する１つ以上の特性を選択し（例えば、既存のアバターを選択する、又は新しいアバターを生成する）、第２のステータスデータは、第２のバイオメトリック特性（例えば、深度情報、顔認識、心拍数など）に基づいている。いくつかの実施形態によれば、第１のステータスデータは、第２のユーザの感情（例えば、幸せ、悲しい、笑顔など）を表しているす。アバター全体を選択する代わりにアバターの特性を選択することによって、電子デバイスは、特定のステータスに関連する特性のサブセットを変更するだけで、ステータスに基づいた新しいアバターをより効率的に生成する。このように、電子デバイスは、アバターを生成するのに必要な処理電力を制限することによって、より効率的で、より省電力で、より長い電池寿命を有する。
【０１９１】
いくつかの実施形態によれば、第１のアバターは、アニメーションアバター（例えば、６２９又は６３８）（例えば、一連の記録された表情に基づくＱｕｉｃｋｔｉｍｅ（登録商標）ベースのアバター、ＧＩＦアバターなど）である。アニメーションアバターを使用することによって、第１のアバターのステータスが表すことができるステータスの範囲及び粒度が増大され、それによって、より効率的な第１のアバター及びメッセージングインタフェースとなる。
【０１９２】
いくつかの実施形態によれば、電子デバイスは、第１のユーザから、かつ、電子デバイス上で、第３のメッセージ（例えば、第２のユーザの第１のメッセージ６２４に返信するメッセージ６２６）に対する第３のコンテンツ（例えば、図６Ｇ及び図６Ｈのテキストボックス６２６内のコンテンツ）を受信する。電子デバイスは、第１のユーザに対する第３のステータスデータを生成し、第３のステータスデータを第３のメッセージと関連付ける（例えば、それらを一緒に送信するか、又はメッセージとステータスデータとを相互参照する）。電子デバイスは、第３のステータスデータを第２のユーザに送信する、第２のユーザ宛への第３のメッセージを送信する。いくつかの実施形態によれば、電子デバイスは、第３のコンテンツ（例えば、図６Ｇ及び６Ｈのテキストボックス６２６内のコンテンツ）を含む第３のメッセージと第３のアバター（例えば、図６Ｇ及び６Ｈのアバター６２７）とを、ディスプレイ上に同時に表示する。第３のアバターは第３のステータスデータに基づき、第３のメッセージ及び第３のアバターは、第２のメッセージ及び第２のアバターと同時に表示される。異なるメッセージに対して異なるユーザステータスに基づき異なるアバターを含めることによって、電子デバイスの操作性が、ディスプレイ上に提示される情報量を増大することで拡張される。例えば、ユーザは、メッセージのテキスト内容を読む必要なしに、メッセージを迅速に走査し、アバターに基づいてメッセージに関連付けられた何らかのコンテキストを判定することができる。電子デバイスのこの改善された操作性によって、ユーザがデバイスをより迅速かつ効率的に使用することを可能にすることで、操作性をより効率的にし、電力使用量を低減し、デバイスのバッテリ寿命を改善する。例えば、異なるメッセージに対する異なるアバターは、ユーザが特定のステータスに関連付けられていることを知っている特定のメッセージを、ユーザが見つけようとしているときに役立ち得る（例えば、悲しいメッセージは、場合によっては悲しいアバターを有することになる）。加えて、メッセージが複数の意味を持つと解釈され得る場合、メッセージ特有のアバターは、読者がメッセージの意味を正確な解釈するのを助けることができる。
【０１９３】
いくつかの実施形態によると、第１のメッセージ及び第１のアバター（例えば、６２５）を表示することは、第１のメッセージを、第１のアバターの口から出てくるテキストバブル（例えば、６２４）として表示することを含む。第１のアバターの口から出てくる第１のメッセージを表示することは、メッセージングインタフェースの最小限のレビューであっても、第１のアバターと第１のメッセージとの間の関連付けを明確にすることを可能にする。
【０１９４】
いくつかの実施形態によれば、図８は、説明される様々な実施形態の原理に従って構成された電子デバイス８００の、例示的な機能ブロック図を示す。いくつかの実施形態によれば、電子デバイス８００の機能ブロックは、上述の技術を実行するように構成されている。デバイス８００の機能ブロックは、説明される様々な実施例の原理を実行するために、ハードウェア、ソフトウェア、又はハードウェアとソフトウェアとの組合せによって、任意選択的に実装される。図８で説明する機能ブロックが、説明される様々な実施例の原理を実施するために、任意選択的に、組み合わされ、又はサブブロックに分離されることが当業者に理解されよう。したがって、本明細書における説明は、本明細書で説明されている機能ブロックの任意の可能な組合せ若しくは分離、又は更なる定義を任意選択的にサポートする。
【０１９５】
図８に示されるように、電子デバイス８００は、ディスプレイユニット８０２と、ディスプレイユニット８０２に結合された処理ユニット８０４とを含む。いくつかの実施形態において、処理ユニット８０４は、受信ユニット８０６、表示可能化ユニット８０８、生成ユニット８１０、選択ユニット８１２、マッピングユニット８１４、関連付けユニット８１６、及び送信ユニット８１８を含む。
【０１９６】
処理ユニット８０４は、第２のユーザから、第１のコンテンツを含む第１のメッセージを（例えば、受信ユニット８０６を使用して）受信し、第２のユーザに対する第１のステータスデータであって、第１のメッセージに関連付けられ、第１のコンテンツとは別個である、第１のステータスデータを（例えば、受信ユニット８０６を使用して）受信し、第１のコンテンツを含む第１のメッセージと第１のアバターとを、ディスプレイ上に（例えば、表示可能化ユニット８０８を使用して）同時に表示することを可能化し、ここで、第１のアバターは第１のステータスデータに基づき、表示された第１のアバターは表示された第１のメッセージに隣接し、第１のメッセージ及び第１のアバターを表示した後、第２のユーザから第２のコンテンツを含む第２のメッセージを（例えば、受信ユニット８０６を使用して）受信し、第２のユーザに対する第２のステータスデータを（例えば、受信ユニット８０６を使用して）受信し、ここで、第２のステータスは第２のメッセージに関連付けられ、第２のコンテンツとは別個であり、第１のメッセージ及び第１のアバターの表示を維持しながら、第２のコンテンツを含む第２のメッセージと第２のアバターとをディスプレイ上に（例えば、表示可能化ユニット８０８を使用して）表示し、ここで、表示された第２のアバターは表示された第２のメッセージに隣接し、第２のアバターは第２のステータスデータに基づき、第１のアバターと第２のアバターとは異なる、ように構成されている。
【０１９７】
いくつかの実施形態では、処理ユニット８０４は、第２のユーザの連絡先情報を含むユーザのセットの連絡先情報を（例えば、表示可能化ユニット８０８を使用して）表示するように更に構成され、第２のアバターは、第２のユーザの連絡先情報と共に表示される。
【０１９８】
いくつかの実施形態では、処理ユニット８０４は、第２のユーザに対する第１のアバターモデルを（例えば、受信ユニット８０６を使用して）受信し、第１のアバターモデルと第１のステータスデータとに基づいて第１のアバターを（例えば、生成ユニット８１０を使用して）生成し、第１のアバターモデルと第２のステータスデータとに基づいて第２のアバターを生成する、ように更に構成されている。
【０１９９】
いくつかの実施形態では、処理ユニット８０４は、第２のユーザに対する第２のアバターモデルを（例えば、受信ユニット８０６を使用して）受信し、第２のアバターモデルと第１のステータスデータとに基づいて、更新された第１のアバターを（例えば、生成ユニット８１０を使用して）生成し、第２のアバターモデルと第２のステータスデータとに基づいて、更新された第２のアバターを（例えば、生成ユニット８１０を使用して）生成し、第１のコンテンツを含む第１のメッセージと共に、第１のアバターの代わりに、更新された第１のアバターを（例えば、表示可能化ユニット８０８を使用して）表示する、ように更に構成されている。
【０２００】
いくつかの実施形態では、第１のステータスデータは、第２のユーザの第１のバイオメトリック特性に基づいている。
【０２０１】
いくつかの実施形態では、処理ユニット８０４は、第１のステータスデータに基づいて、第１のアバターに対する１つ以上の特性を（例えば、選択ユニット８１２を使用して）選択するように更に構成されている。
【０２０２】
いくつかの実施形態では、処理ユニット８０４は、第２のステータスデータに基づいて、第２のアバターに対する１つ以上の特性を（例えば、選択ユニット８１２を使用して）選択するように更に構成され、ここで、第２のステータスデータは第２のバイオメトリック特性に基づいている。
【０２０３】
いくつかの実施形態では、第１のアバターはアニメーションアバターである。
【０２０４】
いくつかの実施形態では、第１のステータスデータは、第２のユーザの光学的画像又は深度画像に基づいている。
【０２０５】
いくつかの実施形態において、処理ユニット８０４は、第１のステータスデータを所定のアバターモデル上に（例えば、マッピングユニット８１４を使用して）マッピングして、第１のアバターを作成するように更に構成されている。
【０２０６】
いくつかの実施形態では、第１のステータスデータは、第２のユーザの感情を表す。
【０２０７】
いくつかの実施形態では、第１のステータスデータは、第２のユーザが第１のメッセージを作成及び／又は送信した時の第２のユーザの検出された表情に基づいている。
【０２０８】
いくつかの実施形態では、第２のステータスデータは、第２のユーザが第２のメッセージを作成及び／又は送信した時の第２のユーザの検出された表情に基づいている。
【０２０９】
いくつかの実施形態では、処理ユニット８０４は、第１のユーザから、かつ、電子デバイス上で、第３のメッセージに対する第３のコンテンツを（例えば、受信ユニット８０６を使用して）受信し、第１のユーザに対する第３のステータスデータを（例えば、生成ユニット８１０を使用して）生成し、第３のステータスデータを第３のメッセージと（例えば、関連付けユニット８１６を使用して）関連付け、第３のメッセージを第２のユーザに（例えば、送信ユニット８１８を使用して）送信し、第２のユーザに第３のステータスデータを（例えば、送信ユニット８１８を使用して）送信する、ように更に構成されている。
【０２１０】
いくつかの実施形態では、処理ユニット８０４は、第３のコンテンツを含む第３のメッセージと第３のアバターとを（例えば、表示可能化ユニット８０８を使用して）同時に表示するように更に構成されており、第３のアバターは第３のステータスデータに基づき、第３のメッセージ及び第３のアバターは、第２のメッセージ及び第２のアバターと同時に表示される。
【０２１１】
いくつかの実施形態では、第１のアバター及び第２のアバターは、第２のユーザの身体的外観を表す。
【０２１２】
いくつかの実施形態では、第１のメッセージ及び第１のアバターの表示は、第１のメッセージを、第１のアバターの口から出てくるテキストバブルとして表示することを含む。
【０２１３】
いくつかの実施形態では、第２のユーザは、第１のメッセージと第２のメッセージとを送信するソース電子デバイスと関連付けられている。
【０２１４】
図９Ａ〜図９Ｋは、いくつかの実施形態に係る、３Ｄモデルを構築するデータをキャプチャするための例示的なユーザインタフェースを示す。これらの図におけるユーザインタフェースは、図１０Ａ〜図１０Ｂにおけるプロセスを含む、以下において説明されるプロセスを例示するために用いられる。
【０２１５】
図９Ａは、いくつかの例では上述のデバイス１００、デバイス３００、又はデバイス５００の特定のフォームファクタである、デバイス９００を示す。デバイス９００は、いくつかの例ではタッチ感知ディスプレイであるディスプレイ９０１と、画像センサ９０２とを含む。加えて、デバイス９００のいくつかの実施形態では、画像センサ９０２と共に、追加のセンサ（例えば、深度センサ、ＩＲセンサなど）、及び／又は他の構成要素（例えば、フラッシュ又はＩＲエミッタ）が存在する。
【０２１６】
図９Ａでは、ディスプレイ９０１は、どのように進行するかについての命令を含む走査プログラムの走査インタフェース９０３、及びこれまでに３Ｄモデルに対してキャプチャされてきたデータを示す画像データ領域９０４を表示している。画像データ領域９０４は、データ追加ボタン９０５を含む。
【０２１７】
図９Ｂは、図９Ａに描かれたデバイス９００を反対側から描く。デバイス９００のこの側には、画像センサ９０６、光センサ９０７、及びフラッシュ９０８が存在する。いくつかの例では、画像センサ９０６は、高品質の可視光センサである。任意選択的に、ＩＲなどの他の種類の光もキャプチャする。画像センサ９０６はまた、任意選択的に、飛行時間又は他の技術を使用して深度情報をキャプチャするように構成されている。いくつかの例では、光センサ９０７を使用して照明特性を判定し、照明特性を使用して画像センサ９０６を好適に構成し、動作させることができる。フラッシュ９０８は、画像センサ９０６に可視光フラッシュを提供する。いくつかの例では、フラッシュ９０８はまた、光センサ９０７から測定されたデータに基づいて構成されている。いくつかの実施形態では、図９Ｂに描いた構成要素に加えて、他の構成要素（例えば、追加の画像センサ、ＩＲ検出器、ＩＲエミッタなど）も存在する。
【０２１８】
図９Ｃは、例えば、ディスプレイ９０１上のタッチ９０９を介してデータ追加ボタン９０５（図９Ａ）が選択された後の、走査インタフェース９０３を示す。図９Ｃでは、走査インタフェース９０３は、データをどのように追加するかを決定するために４つのアフォーダンス（アフォーダンス９１１〜９１４）のうちの１つを選択する命令９１０を含む。アフォーダンス９１１により、ユーザは既にデバイス９００上に記憶されている画像データを選択することができるようになる。アフォーダンス９１２により、ユーザは、リモートデバイスに既に存在する画像データを選択すること（例えば、インターネット検索をすること、特定のリモートサーバにアクセスすること、又は特定のリモートデバイスから選択すること）ができるようになる。アフォーダンス９１３により、ユーザは、例えば画像センサ９０２又は画像センサ９０６（図９Ｃ）を使用して、新しいデータをキャプチャすることができるようになる。アフォーダンス９１４は、ユーザを、図９Ａに描かれたインタフェースのステータスに戻す。
【０２１９】
図９Ｄは、例えばディスプレイ９０１上のタッチ９１５を介してアフォーダンス９１３（図９Ｃ）が選択された後の、走査インタフェース９０３を示す。図９Ｄでは、走査インタフェース９０３は、キャプチャする画像データの種類を選択するための４つのアフォーダンス（９１６〜９１９）を提供する。アフォーダンス９１６は、静止画像を選択する。アフォーダンス９１７は、ビデオ画像データを選択する。アフォーダンス９１８は、パノラマ画像データを選択する。アフォーダンス９１９は、走査インタフェースを図９Ｃに示す状態に戻す。
【０２２０】
図９Ｅは、アフォーダンス９１６（図９Ｄ）が、例えばディスプレイ９０１上のタッチ９２０を介して選択された後の、走査インタフェース９０３を示す。図９Ｅでは、画像センサ９０６（図９Ｂ）を使用してシーン９２０の一部をキャプチャするために、キャプチャインタフェースがディスプレイ９０１上に表示される。ビューファインダ９２１は、画像センサ９０６（図９Ｂ）の現在の視野を表す。この例では、デバイス９００のホームボタン９２２は、ビューファインダ９２１内の画像データをキャプチャするために使用される。例えば、ユーザがホームボタン９２２を押下したこと（例えば、押下９２３）に応じて、ビューファインダ９２１に表示されたデータによって表される画像データがキャプチャされ、デバイス９００に保存される。同様のインタフェースが、図９Ｄに関して説明された他の種類の画像キャプチャに利用可能である。画像センサ９０６によってキャプチャされた可視光又は他の種類の光を表すデータに加えて、画像データはまた、位置データ（例えば、ＧＰＳデータ）及び方位データ（例えば、加速度計、ジャイロスコープ、及び／又は電子コンパスから収集されたデータ）などの位置データを、任意選択的に含む。
【０２２１】
図９Ｆは、図９Ｅに示す画像データがキャプチャされた後の、走査インタフェース９０３を示す。図９Ｅに関して説明したようにキャプチャされた画像データの表現９２４は、今、画像データ領域９０４にある。図９Ｆでは、走査インタフェース９０３が、図９Ａ及び図９Ｃ〜図９Ｄに関して説明したプロセスを介して、写真キャプチャ状態に既に戻っている。図９Ｅと比較して、デバイス９００はターゲットに対して移動している。ディスプレイ９０１は、ビューファインダ９２１が、同じターゲットであるがシーン９２０と比較して異なる角度である、シーン９２５の一部に向けられていることを示す（図９Ｅ）。いくつかの例では、ホームボタン９２２は、ビューファインダ９２１に表される画像データをキャプチャするために使用される。
【０２２２】
図９Ｇは、表現９２６によって表された画像データがキャプチャされた後の、走査インタフェース９０３を示す。表現９２４及び９２６によって表される画像データに基づいて、デバイス９００は、走査プログラムを介して、画像データ内のターゲットの３Ｄモデルの構築に使用するために好適なアルゴリズムを判定する。走査プログラムは、好適なアルゴリズムを判定するときに、様々なファクタを考慮に入れる。一実施例では、画像データの種類（例えば、静止画像対ビデオ対パノラマ）がファクタである。別の例では、画像データがキャプチャされたときにデバイス９００があった向き及び／又は位置がファクタである。画像データが深度情報及び画像データ量を含むかどうかなどの他のファクタもまた、様々な実施形態において考慮される。
【０２２３】
図９Ｇはまた、モデルプレビュー９２８を含む３Ｄモデルプレビュー領域９２７を含み、モデルプレビュー９２８は、異なる角度及び視点から見られるように操作することができる。例えば、ディスプレイ９０１上のタッチアンドドラッグ９２９に応じて、図９Ｈに示すようにモデルプレビュー９２８が回転されるが、これは、画像データキャプチャが不完全なことによりモデルプレビュー９２８が完成していないことを示す。いくつかの実施形態では、モデルを完成させるために、ユーザは、データ追加ボタン９０５を選択して追加の画像データを追加する。
【０２２４】
図９Ｉは、図９Ｈのデータ追加ボタン９０５の選択後の走査インタフェース９０３を示す。図９Ｉでは、デバイス９００は、これまでにキャプチャされた静止画像データに基づいて、静止画像アルゴリズムがモデルを構築するのに最も適していると判定した。したがって、走査インタフェース９０３は、モデルを構築する際に最も有用となるであろう種類の追加の画像データを取得する命令９２９を、ユーザに表示している。他の例では、走査インタフェース９０３は、ビデオデータ又はパノラマデータ画像データを代わりに取得する命令及び／又は提案を提供する。走査インタフェース９０３はまた、任意選択的に、最も有用な画像データを取得するためにデバイス９００をどのように位置決めするかについての命令を提供する。図９Ｃに関して説明したのと同じキャプチャオプションもまた、表示される。
【０２２５】
図９Ｉのアフォーダンス９１２の選択に応じて、ディスプレイ９０１上のタッチ９３０を介して、走査インタフェース９０３は、図９Ｊに示すリモート選択インタフェース９３１を表示する。リモート選択インタフェース９３１は、リモート位置から入手可能な画像データを示す表現９３２〜９３４を含む。表現９３２〜９３４は、現在構築しているモデルに潜在的に関連する画像データを表すように決定される。例えば、デバイス９００は、その位置を使用して同じおおよその位置にキャプチャされた他の画像データを判定するリモートサーバに、その位置を任意選択的に送信する。別の例として、デバイス９００は、任意選択的に、既にキャプチャされている画像データの一部又は全てを送信する。次いで、リモートサーバは画像認識を実行して、関連性があるかもしれない他の画像データを判定する。更に別の例として、標準的なインターネット検索は、ユーザによって提供された検索基準を使用して実行される。いくつかの実施形態において、リモート選択インタフェース９３１は、インターネット検索の結果を表示するウェブブラウザインタフェースとして実装される。選択インタフェース９３１のいくつかの例では、インタフェース上でのスワイプジェスチャにより、利用可能な追加の画像データを通してユーザがスクロールすることを可能にする。図９Ｊの表現９３２に関連付けられた画像データの選択に応じてデバイス９００は、図９Ｋの表現９３５によって示すように、それぞれの画像データを取り出し、それをモデルを構築するために利用可能な画像データに追加する。
【０２２６】
図９Ｋでは、３Ｄモデルプレビュー領域９２７が、利用可能な画像データに基づく新しいモデル、モデルプレビュー９３６で更新されている。図９Ｌは、図９Ｇ及び図９Ｈに関して上述したように、例えば、ディスプレイ９０１上のタッチを介して、ユーザがモデルを回転させた後のモデルプレビュー９３６を示す。いくつかの場合には、モデルプレビュー９３６は、図９Ｇに関して先に選択された走査プログラムを介して、デバイス９００とは異なるアルゴリズムを使用して構築される。
【０２２７】
図１０Ａ〜図１０Ｂは、いくつかの実施形態に係る、電子デバイスを使用してオブジェクトの３Ｄモデルを構築するための方法を示すフロー図である。方法１０００は、ディスプレイ及び１つ以上の画像センサを有するデバイス（例えば、１００、３００、５００）において実行される。方法１０００のいくつかの動作は、任意選択的に組み合わされ、いくつかの動作の順序は、任意選択的に変更され、いくつかの動作は、任意選択的に省略される。
【０２２８】
以下に説明するように、方法１０００は、オブジェクトの３Ｄモデルを構築するための直感的な方法を提供する。この方法は、オブジェクトの３Ｄモデルを構築するユーザの認識的負担を軽減し、それによって、より効率的なヒューマンマシンインタフェースを作成する。バッテリ動作コンピューティングデバイスの場合、ユーザがより速くより効率的にオブジェクトの３Ｄモデルを構成できるようにすることで、電力が節約され、バッテリ充電の時間間隔が増加する。
【０２２９】
１つ以上の画像センサ（例えば、９０２、９０６）、メモリ、及びディスプレイ（例えば、９０１）を有する電子デバイス（例えば、９００）は、電子デバイスの１つ以上の画像センサ（例えば、９０２、９０６）（例えば、深度センサ、光センサ、ＩＲセンサ）から、第１の画像データ（例えば、９２１、９０４）（例えば、光データ、深度データ、及び任意選択的に位置データを有する静止画又はビデオ）をキャプチャする（１００２）。第１の画像データは、第１の視点（例えば、図９Ｅ）からのオブジェクト（例えば、９２０）の第１の光学的画像データを含む。
【０２３０】
電子デバイスはまた、電子デバイスの１つ以上の画像センサ（例えば、９２１、９０４）（例えば、深度センサ、光センサ）から、第２の画像データ（例えば、９２１、９２６）をキャプチャし（１００４）、ここで、第２の画像データは、第１の視点とは異なる第２の視点（例えば、図９Ｆ）からのオブジェクトの第２の光学的画像光データを含む。
【０２３１】
電子デバイスは、第１の視点から第２の視点への視点の変化に基づいて、アルゴリズム（例えば、異なるキャプチャをスティッチするアルゴリズム、パンニングデータを使用するアルゴリズム）を選択し（１００６）、このアルゴリズムに基づいて、オブジェクトの３Ｄモデリングを継続するために必要な追加の画像データ（例えば、図９Ｉ）を判定する。
【０２３２】
最後に、電子デバイスは、選択されたアルゴリズムに基づいて判定された追加の画像データをキャプチャする命令を提供する視覚フィードバック（９２９）を、ディスプレイ上に表示する（１０１０）。オブジェクトをモデル化するために必要とされる追加のデータについてユーザに命令を提供することによって、電子デバイスは、ユーザの認識的負担を軽減するように拡張され、どのような更なる画像データ（例えば、画像データの種類及び画像データの位置）が必要であるかを判定する。これにより、ユーザが正確なモデルの作成に成功するであろう可能性が高まる。
【０２３３】
いくつかの実施形態によれば、電子デバイスは、（例えば、画像センサ又はリモートサーバから）第３のデータ（例えば、９３５）を受信する（１０１８）。第３のデータは、第３の視点からのオブジェクトの第３の光学的画像データを含む。電子デバイスは、第３の視点に基づいて、更新されたアルゴリズム（例えば、異なるキャプチャをスティッチするアルゴリズム、パンニングデータを使用するアルゴリズム）を選択する（１０２０）。更新されたアルゴリズムは、前記アルゴリズムとは異なる。更新されたアルゴリズムに基づいて、電子デバイスは、オブジェクトの３Ｄモデリングを継続するために必要とされる、追加の画像データとは異なる更新された追加の画像データを判定する（１０２２）。電子デバイスは、更新された追加の画像データをキャプチャするための更新された命令を提供する視覚フィードバックを、ディスプレイ上に表示し（１０２４）、ここで、更新された命令は、更新されたアルゴリズムを選択する前に表示された命令とは異なる。第３のデータに基づいて、更新されたアルゴリズムを選択することにより、モデルを構築する電子デバイスの能力は、利用可能な画像データに基づいて、モデルがどのように構築されるかを調整することによって向上する。このように、キャプチャされた画像データに基づいたアルゴリズムに基づく電子デバイスのモデル構築は、より効率的で、より省電力であり、電池寿命を改善する。
【０２３４】
いくつかの実施形態によれば、電子デバイスは、選択された更新されたアルゴリズムを使用して、第１の画像データ（例えば、９２４）、第２の画像データ（例えば、９２６）、及び第３の画像データ（例えば、９３５）に基づいて、オブジェクトの３Ｄモデル（例えば９３６）を構築する。
【０２３５】
いくつかの実施形態によれば、電子デバイスは、第１の画像データ（例えば、９２４）（例えば、位置データ）の少なくとも一部をリモートサーバに送信し、第３のデータ（例えば、９３２）がオブジェクト（例えば、図９Ｊ）に利用可能であるという指標をリモートサーバから受信する。いくつかの実施形態では、第３のデータは他のユーザから入手可能なデータからのものである。他のユーザからのデータを使用することによって、電子デバイスは、既に利用可能であるデータを再キャプチャする必要なく、モデルをより効率的に構築することができる。このように、電子デバイスは、より効率的で、より省電力で、より長い電池寿命を有する。加えて、電子デバイスは、既に利用可能ではない、又はユーザがキャプチャすることが困難であり得る追加のデータをユーザがキャプチャする必要性を排除することによって、ユーザの負担を軽減する。
【０２３６】
いくつかの実施形態によると、更新された追加の画像データをキャプチャするための更新された命令を提供する視覚フィードバックを、ディスプレイ上で表示することは、電子デバイスが、第１のアルゴリズムが選択されているという判定に従って、第１の命令セット（例えば、９２９）を表示し（１０１４）、第１のアルゴリズムとは異なる第２のアルゴリズムが選択されているという判定に従って、視覚フィードバックが、第１の命令セットとは異なる第２の命令セットを含む（１０１６）、こととを含む（例えば、ユーザに、カメラを定点の周囲で回転させたり又はオブジェクトの静止画像を撮ったりするのではなく、カメラを水平にスライドするように促す）。
【０２３７】
いくつかの実施形態によれば、第１の画像データは、第１の視点からのオブジェクトの第１の深度画像データを含む（１０１２）。
【０２３８】
いくつかの実施形態によれば、電子デバイスは、第１の視点（例えば、図９Ｅの視点）（例えば、向き又は相対位置）に対する第１の位置データ（例えば、ＧＰＳ、傾斜、方位データ）を（例えば、センサ又は画像データから）取得する。
【０２３９】
いくつかの実施形態によれば、アルゴリズムを選択することはまた、第１の位置データに基づいている。
【０２４０】
いくつかの実施形態によれば、電子デバイスは、第２の視点（例えば、図９Ｆの視点）（例えば、向き又は相対位置）に対する第２の位置データ（例えば、ＧＰＳ、傾斜、方位データ）をキャプチャし、ここで、第２の画像データは、第２の視点からのオブジェクトの第２の深度画像データを含み、アルゴリズムを選択することもまた第２の位置データに基づいている。
【０２４１】
いくつかの実施形態によれば、電子デバイスは、選択されたアルゴリズムを使用して、第１の画像データ（例えば、９２４）、第２の画像データ（例えば、９２６）、及び追加の画像データ（例えば、９３５）に基づいて、オブジェクトの３Ｄモデル（例えば、９３６）を構築し、その３Ｄモデルをメモリに記憶する。いくつかの実施形態では、３Ｄモデルのグラフィック表現（例えば９３６）がユーザに表示される（例えば、ユーザがオブジェクトを走査している間に、部分的に生成された３Ｄモデルがユーザに表示されて、ユーザがオブジェクトの走査を完了するのを助け、及び／又は、３Ｄモデルを表示するための表示されたアフォーダンスのアクティブ化などの、モデルを表示するための検出された要求に任意選択的に応じて、ユーザがオブジェクトの走査を完了した後に、完成した３Ｄモデルがユーザに表示される）。
【０２４２】
いくつかの実施形態によると、アルゴリズムを選択することは、第１の画像データ及び第２の画像データがオブジェクトの走査からのものであることを示す、第１の視点から第２の視点への変化に基づいて、走査ベースのアルゴリズムを選択することを含む。
【０２４３】
いくつかの実施形態によると、アルゴリズムを選択することは、第１の視点と第２の視点が離散画像に対するもの（例えば、図９Ｅ及び図９Ｆに示す視点）であることを示す、第１の視点から第２の視点への変化に基づいて、離散画像ベースのアルゴリズムを選択することを含む。
【０２４４】
いくつかの実施形態によれば、電子デバイスは、オブジェクトにタッチしている第１の画像データ内のサポート（例えば、手又はテーブル）を識別し、選択されたアルゴリズムを使用して、第１の画像データ及び第２の画像データに基づいてオブジェクトの３Ｄモデルを構築する。３Ｄモデルは、第１のオブジェクトにタッチするサポートを含まない（例えば、３Ｄモデルは、第１のオブジェクトの一部ではなく、サポートの一部であると判定された検出点を除外することによって少なくとも部分的に生成される）。オブジェクトのモデルにおける第１のオブジェクトにタッチしているサポートを含まないことによって、電子デバイスは、ユーザに関係のない余分な詳細を含まないことによって、ユーザにとってより有用なモデルを生成することができるように拡張される。このように、ユーザは後で手動でサポートを取り外す必要がないので、電子デバイスをより効率的にし、より省電力で、より長いバッテリ寿命を有するようになる。
【０２４５】
いくつかの実施形態によれば、電子デバイスは、オブジェクト（例えば、９２１）のライブ画像を含む第１のウィンドウを、電子デバイスのディスプレイ上に表示し、オブジェクトの（例えば、完全な、又は部分的なのいずれかの）モデル（例えば、９２７）の画像を含む第２のウィンドウを、ディスプレイ上に表示し、ここで、モデルは、第１の画像データ及び第２の画像データに基づいている。いくつかの実施形態では、追加の画像がキャプチャされてオブジェクトのモデルが改善されるにつれて、オブジェクトのモデルの画像が更新される。このフィードバックにより、少なくともいくつかのケースでは、スキャンの品質が向上するかもしれない、走査の進行及びデバイスの動作の種類に関してリアルタイムのフィードバックをユーザに提供することによって、ユーザはオブジェクトをより正確に走査することができ、それによってより正確なモデルとなる。
【０２４６】
いくつかの実施形態によれば、図１１は、説明される様々な実施形態の原理に従って構成された電子デバイス１１００の、例示的な機能ブロック図を示す。いくつかの実施形態によれば、電子デバイス１１００の機能ブロックは、上述の技術を実行するように構成されている。デバイス１１００の機能ブロックは、説明される様々な実施例の原理を実行するために、ハードウェア、ソフトウェア、又はハードウェアとソフトウェアとの組合せによって、任意選択的に実装される。図１１で説明する機能ブロックが、説明される様々な実施例の原理を実施するために、任意選択的に、組み合わされ、又はサブブロックに分離されることが当業者に理解されよう。したがって、本明細書における説明は、本明細書で説明されている機能ブロックの任意の可能な組合せ若しくは分離、又は更なる定義を任意選択的にサポートする。
【０２４７】
図１１に示されるように、電子デバイス１１００は、ディスプレイユニット１１０２と、ディスプレイユニット１１０２に結合された処理ユニット１１０４とを含む。いくつかの実施形態では、処理ユニット１１０４は、キャプチャユニット１１０６、選択有効化ユニット１１０８、判定ユニット１１１０、表示可能化ユニット１１１２、受信ユニット１１１４、構築ユニット１１１６、送信ユニット１１１８、取得ユニット１０２２、記憶ユニット１１２４、及び識別ユニット１１２６を含む。
【０２４８】
処理ユニット１１０４は、電子デバイスの１つ以上の画像センサから、第１の画像データであって、第１の視点からのオブジェクトの第１の光学的画像データを含む、第１の画像データを（例えば、キャプチャユニット１００６を使用して）キャプチャし、電子デバイスの１つ以上の画像センサから、第２の画像データであって、第１の視点とは異なる第２の視点からのオブジェクトの第２の光学的画像光データを含む、第２の画像データを（例えば、キャプチャユニット１１０６を使用して）キャプチャし、第１の視点から第２の視点への視点の変化に基づいて、アルゴリズムを（例えば、選択ユニット１１０８を使用して）選択し、このアルゴリズムに基づいて、オブジェクトの３Ｄモデリングを継続するために必要な追加の画像データを（例えば、判定ユニット１１１０を用いて）判定し、選択されたアルゴリズムに基づいて判定された追加の画像データをキャプチャする命令を提供する視覚フィードバックをディスプレイ上に（例えば、表示可能化ユニット１１１２を使用して）表示する、ように構成されている。
【０２４９】
いくつかの実施形態では、処理ユニット１１０４は、第３の視点からのオブジェクトの第３の光学的画像データを含む、第３のデータを（例えば、受信ユニット１１１４を使用して）受信し、第３の視点に基づいて、前記アルゴリズムとは異なる更新されたアルゴリズムを（例えば、選択ユニット１１０８を使用して）選択し、更新されたアルゴリズムに基づいて、オブジェクトの３Ｄモデリングを継続するために必要とされる、追加の画像データとは異なる更新された追加の画像データを（例えば、判定ユニット１１１０を使用して）判定し、更新された追加の画像データをキャプチャするための更新された命令を提供する視覚フィードバックを、ディスプレイ上に（例えば、表示可能化ユニット１１１２を使用して）表示し、ここで、更新された命令は、更新されたアルゴリズムを選択する前に表示された命令とは異なる、ように更に構成されている。
【０２５０】
いくつかの実施形態では、処理ユニット１１０４は、選択された更新されたアルゴリズムを使用して、第１の画像データ、第２の画像データ、第３の画像データ、及び更新された追加の画像データに基づいて、オブジェクトの３Ｄモデルを（例えば、構築ユニット１１１６を使用して）構築するように更に構成されている。
【０２５１】
いくつかの実施形態では、処理ユニット１１０４は、第１の画像データの少なくとも一部をリモートサーバに（例えば、送信ユニット１１１８を使用して）送信し、第３のデータがオブジェクトに利用可能であるという指標をリモートサーバから（例えば、受信ユニット１１１４を使用して）受信する、ように更に構成されている。
【０２５２】
いくつかの実施形態では、更新された追加の画像データをキャプチャするための更新された命令を提供する視覚フィードバックの、ディスプレイ上での表示は、第１のアルゴリズムが選択されているという判定に従って、第１の命令セットを表示することと、第１のアルゴリズムとは異なる第２のアルゴリズムが選択されているという判定に従って、視覚フィードバックが、第１の命令セットとは異なる第２の命令セットを含むことと、を含む。
【０２５３】
いくつかの実施形態では、第１の画像データは、第１の視点からのオブジェクトの第１の深度画像データを含む。
【０２５４】
いくつかの実施形態では、処理ユニット１１０４は、第１の視点に対する第１の位置データを（例えば、取得ユニット１１２２を使用して）取得するように、更に構成されている。
【０２５５】
いくつかの実施形態では、アルゴリズムを選択することはまた、第１の位置データに基づいている。
【０２５６】
いくつかの実施形態では、処理ユニット１１０４は、第２の視点に対する第２の位置データを（例えば、キャプチャユニット１１０６を使用して）キャプチャするように更に構成されており、第２の画像データは、第２の視点からのオブジェクトの第２の深度画像データを含み、アルゴリズムを選択することはまた、第２の位置データに基づいている。
【０２５７】
いくつかの実施形態では、処理ユニット１１０４は、選択されたアルゴリズムを使用して、第１の画像データ、第２の画像データ、及び追加の画像データに基づいて、オブジェクトの３Ｄモデルを（例えば、構築ユニット１１１６を使用して）構築し、その３Ｄモデルをメモリに（例えば、記憶ユニット１１２４を使用して）記憶する、ように更に構成されている。
【０２５８】
いくつかの実施形態では、アルゴリズムを選択することは、第１の画像データ及び第２の画像データがオブジェクトの走査からのものであることを示す、第１の視点から第２の視点への変化に基づいて、走査ベースのアルゴリズムを選択することを含む。
【０２５９】
いくつかの実施形態では、アルゴリズムを選択することは、第１の視点と第２の視点が離散画像に対するものであることを示す、第１の視点から第２の視点への変化に基づいて、離散画像ベースのアルゴリズムを選択することを含む。
【０２６０】
いくつかの実施形態では、処理ユニット１１０４は、オブジェクトにタッチしている第１の画像データ内のサポートを（例えば、識別ユニット１１２６を使用して）識別し、選択されたアルゴリズムを使用して、第１の画像データ及び第２の画像データに基づいて、オブジェクトの３Ｄモデルを（例えば、構築ユニット１１１６を使用して）構築する、ように更に構成されており、３Ｄモデルは第１のオブジェクトにタッチしているサポートを含まない。
【０２６１】
いくつかの実施形態では、処理ユニット１１０４は、オブジェクトのライブ画像を含む第１のウィンドウを、電子デバイスのディスプレイ上に（例えば、表示可能化ユニット１１１２を使用して）表示し、オブジェクトのモデルの画像を含む第２のウィンドウを、ディスプレイ上に（例えば、表示可能化ユニット１１１２を使用して）表示するように更に構成されており、モデルは第１の画像データ及び第２の画像データに基づいている。
【０２６２】
図１２Ａ〜図１２Ｊは、いくつかの実施形態に係る、ユーザに基づいてデータ及びアプリケーションへのアクセスを制限するための例示的なユーザインタフェースを示す。これらの図におけるユーザインタフェースは、図１３Ａ〜図１３Ｂにおけるプロセスを含む、以下において説明されるプロセスを例示するために用いられる。
【０２６３】
図１２Ａは、ディスプレイ１２０１、画像センサ１２０２、及びホームボタン１２０４を有する、デバイス１２００を示す。いくつかの実施形態では、ディスプレイ１２０１は、タッチ感知ディスプレイである。いくつかの実施形態では、ホームボタン１２０４はディスプレイ１２０１とは別個の機械的ボタンであり、ホームボタン１２０４上に指を置いたユーザを識別するための指紋センサを含む。いくつかの実施形態では、ホームボタン１２０４はディスプレイ１２０１と一体化されており、更に指紋センサを含む。図１２Ａでは、デバイス１２００は、ディスプレイ１２０１上にロック画面インタフェース１２０３を表示している。ロック画面インタフェース１２０３は、デバイス１２００が制限された機能でロック状態にあるときに表示される。例えば、デバイス１２００上の大部分のアプリケーション、及び他の機能へのアクセスは、ロック状態では許可されない。しかしながら、いくつかの例では、いくつかのアプリケーション（例えば、カメラアプリケーション）又は機能（例えば、緊急番号への発呼）は利用可能である。ロック状態から許可されるこれらのアプリケーション及び機能は、任意選択的に、ロック画面インタフェース１２０３に現れるボタン（図示せず）、又はロック画面インタフェース１２０３上の他のジェスチャ（例えば、スワイプ）を介してアクセスされる。いくつかの場合では、デバイス１２００は、ホームボタン１２０４内に存在する指紋センサによって測定された指紋データの認証を介してロック解除される。他の場合では、デバイス１２００は、ピンコードインタフェース（図示せず）を介して入力されたピンコードの認証を介してロック解除される。いくつかの実施形態では、画像センサ１２０２は、デバイス１２００を使用してユーザの画像データをキャプチャするように構成されている。次いで、画像データはデバイス１２００で処理され、画像データ又は正規ユーザに対する他のデータと比較される。画像データがユーザを認証することを可能にする場合には、デバイス１２００をロック解除することもできる。
【０２６４】
図１２Ｂは、例えば、図１２Ａに関して説明された技術のうちの１つを使用して、デバイス１２００がロック解除された後に、ホーム画面インタフェース１２０５を表示しているデバイス１２００を示す。ホーム画面インタフェース１２０５は、アイコン１２０６に関連付けられた写真アプリケーションを含む、デバイス１２００上にインストールされたアプリケーション用の複数のアイコンを含む。例えば、１２０６の位置におけるディスプレイ１２０１上のタッチ１２０７を介してアイコン１２０６を選択したことに応じて、写真アプリケーションが起動されるか、又は写真アプリケーションが既に起動されている場合には写真アプリケーションが表示される。
【０２６５】
図１２Ｃは、写真アプリケーションを表示するデバイス１２００であって、より具体的には、追加ボタン１２０９、タイトル１２１０、検索ボタン１２１１、及び編集ボタン１２１２を含む、写真アルバムインタフェース１２０８を示す。追加ボタン１２０９を選択すると、追加の写真アルバムの作成を可能にするアルバム追加インタフェースが表示される。タイトル１２１０は、そのインタフェースをアルバムインタフェースとして識別する。検索ボタン１２１０を選択すると、写真アプリケーション内の写真の検索を可能にする検索インタフェースが表示される。編集ボタン１２１２を選択すると、アルバムの削除又は他の機能を可能にするアルバム編集インタフェースが可能化される。
【０２６６】
写真アルバムインタフェース１２０８はまた、写真アプリケーション内のそれぞれの写真アルバムをそれぞれ表すサムネイル１２１３〜１２１６を含む。いくつかの例では、各サムネイルは、そのアルバム内に存在する写真のより小さいバージョンである。サムネイル１２１３〜１２１６はまた、例えば、ディスプレイ１２０１上のタッチを介して選択可能である。
【０２６７】
図１２Ｄは、サムネイル１２１３（図１２Ｃ）を選択した後の写真アプリケーションを示す。戻るボタン１２１８、タイトル１２１９、及び選択ボタン１２２０を含む、写真選択インタフェース１２１７が表示される。戻るボタン１２１８を選択すると、写真アプリケーションはアルバムインタフェース１２０８（図１２Ｃ）に戻る。タイトル１２１９は、写真選択インタフェース１２１７に表示されている現在のアルバムを識別する。選択ボタン１２２０を選択すると、ユーザは、現在のアルバム内の複数の写真を選択し、選択された写真に対して操作（例えば、削除）を実行することができるようになる。
【０２６８】
写真アルバムインタフェース１２１７はまた、アルバム内の各写真をそれぞれ表すサムネイル１２２１〜１２３２を含む。いくつかの例では、各サムネイルは、そのアルバム内に存在する写真のより小さいバージョンである。サムネイル１２２１〜１２３２はまた、例えば、ディスプレイ１２０１上のタッチを介して選択可能である。
【０２６９】
図１２Ｅは、サムネイル１２２７（図１２Ｄ）を選択した後の写真アプリケーションを示す。戻るボタン１２３５、写真情報１２３６、及び詳細ボタン１２３７を含む、写真インタフェース１２３４が表示される。戻るボタン１２３５を選択すると、写真アプリケーションが写真選択インタフェース１２１７（図１２Ｄ）に戻る。写真情報１２３５は、現在表示されている写真に関する場所及び時間などの情報を提供する（１２３８）。詳細ボタン１２３７を選択すると、関連する写真又は写真内で識別された人物などの、現在表示されている写真（１２３８）についての追加情報を提供する詳細インタフェースが表示される。
【０２７０】
写真インタフェース１２３４はまた、現在選択されている写真、写真１２３８の表示を含む。このインタフェースはまた、写真１２３８のサムネイル１２３９、及びアルバム内の他の写真のうちのいくつかを表す他の縮小サイズのサムネイル１２４０を含む、プレビュー領域を含む。いくつかの実施形態では、アルバム内の全ての写真に対して、プレビュー領域内にサムネイルを表示するのに十分な余地がない場合、ユーザは、例えば、プレビュー領域上で、ディスプレイ１２０１上のスワイプジェスチャを介して、サムネイル間をスクロールすることができる。
【０２７１】
写真インタフェース１２３４を表示している間、デバイス１２００のユーザは、写真１２３８から離れてアルバム内の次の写真（例えば、図１２Ｄのサムネイル１２２８によって表される写真）にナビゲーションするように、インタフェースに要求することができる。いくつかの例では、現在の写真から離れるナビゲーション要求は、現在選択されている写真（例えば、図１２Ｅの場合には写真１２３８）上で受信されたディスプレイ１２０１上のジェスチャである。一実施例では、スワイプジェスチャ１２４１が受信される。スワイプジェスチャ１２４１を受信したことに応じて、デバイス１２００は、画像センサ１２０２を使用して画像データをキャプチャする。他の例では、画像データは、現在の写真から離れるナビゲーション要求を受信する前に、キャプチャされる。
【０２７２】
いったん画像データがキャプチャされ、現在選択されている写真から離れるナビゲーション要求が受信されると、デバイス１２００は、（例えば、認証プログラムを介して）コンテンツロック基準のセットが満たされているかどうかを判定する。いくつかの例では、コンテンツロック基準のセットは、キャプチャされた画像の分析に基づいて、不正ユーザがデバイス１２００を使用していると検出された場合に満たされる基準を含む。他の例では、（例えば、キャプチャされた画像データを分析することによって）正規ユーザがいないこと、デバイスの向き又は移動（例えば、デバイスのハンドオフ又はデバイスが平坦に横たわっていることの検出）、正規ユーザが最後に検出されてからの時間遅延、及び／又は表示されているコンテンツに関連付けられた情報（例えば、センシティブな内容又は個人的な内容はより厳しい基準のセットを有し得る）の検出など、他の基準もまた使用される。
【０２７３】
コンテンツロック基準のセットが満たされていない（例えば、キャプチャされた画像データに基づいて、不正ユーザがデバイスを使用しているとして検出されない）という判定に応じて、現在選択されているコンテンツから離れるナビゲーションを進めることが許可される。これは、図１２Ｆ及び図１２Ｇに描かれている。
【０２７４】
具体的には、図１２Ｆにおいて、スワイプジェスチャ１２４１（図１２Ｅ）に応じて、写真インタフェース１２３４が写真１２３８から、アルバム内の次の写真、写真１２４２に遷移する。加えて、写真１２３８に関連付けられたサムネイル１２３９は、写真１２４２に関連付けられたサムネイル１２４３が大きくなるにつれて縮小する。
【０２７５】
図１２Ｇは、以前に選択されたコンテンツ（図１２Ｅの写真１２３８）から、新たに選択されたコンテンツ（写真１２４２）への完了したナビゲーションを示す。写真インタフェース１２３４の写真情報は、写真１２４２に関連付けられた写真情報１２４４で更新されている。
【０２７６】
一方、コンテンツロック基準のセットが満たされている（例えば、キャプチャされた画像データに基づいて、不正ユーザがデバイスを使用しているとして検出される）という判定に応じて、現在選択されているコンテンツから離れるナビゲーションが拒否される。これは図１２Ｈに描かれている。
【０２７７】
図１２Ｈでは、デバイス１２００は、コンテンツロック基準のセットが満たされていると判定した。例えば、図１２Ｅのスワイプジェスチャ１２４１を介して、現在選択されているコンテンツ（写真１２３８）から離れるナビゲーション要求に応じて、デバイス１２００は、図１２Ｆ及び図１２Ｇに関して説明したように、アルバム内の次の写真を示さない。加えて、サムネイル付き写真プレビュー領域１２３９は、要求に応じて更新されない。いくつかの実施形態では、写真プレビュー領域は完全に隠れている。スワイプジェスチャの停止に応じて、写真１２３８は、図１２Ｅに示すようにディスプレイ１２０１の中央に戻る。いったんコンテンツロック基準のセットがもはや満たされなくなると、写真１２３８から離れるナビゲーションを行う機能が再び許可される。
【０２７８】
現在表示されているコンテンツ又は選択されているコンテンツから離れるナビゲーションを防止することに加えて、いくつかの実施形態では、デバイス１２００の他の機能を制限又は変更するために、他の潜在的に異なるロック基準のセットも使用される。例えば、ロック基準のセットは、アプリケーションを終了する、別の開いているアプリケーションに切り替える、又は新しいアプリケーションを起動する機能などの、デバイスの機能に関連付けられている。このロック基準のセットが満たされると、デバイスの関連付け機能は無効化される。別の例では、ロック基準のセットは、読み出し専用構成などの、デバイス上のアプリケーションの構成に関連付けられている。このロック基準のセットが満たされると、アプリケーションの構成が切り替わる（例えば、アプリケーションの機能が制限される、あるいはアプリケーションが読み出し／書き込み構成から読み出し専用構成に切り替わる）。さらに別の例では、ロック基準のセットは、現在の機能以外のデバイスの全ての他の機能をロックすることに関連付けられている（例えば、デバイスが写真を表示している場合、これはおそらく、デバイスをロックすること以外に、そのデバイスで許可されている唯一の機能である）。
【０２７９】
図１２Ｉ及び図１２Ｊは、ロック基準のセットの別の適用例を示す。図１２Ｉでは、通信は、ｉＭｅｓｓａｇｅメッセージの形で受信されている。デバイス１２００は、ロック基準のセットが満たされていないと判定した。このように、デバイス１２００は、通信が受信されたことを示し、メッセージの内容及び送信者をプレビューするための通知１２４５を表示する。対照的に、図１２Ｊでは、デバイス１２００は、同じロック基準のセットが満たされていると判定した。このロック基準のセットは、通信についての通知を表示するかどうか、あるいは表示する通知の種類が何であるかに関連付けられている。図１２Ｊでは、通知１２４６は、メッセージの内容又は誰がメッセージを送信したかを示すことなく、メッセージ又は通信が受信されたことを示すだけである。いくつかの実施形態では、通知の表示は、ロック基準が満たされることに応じて完全に抑制される。
【０２８０】
関連するロック基準のセットがもはや満たされなくなると、デバイス１２００及びそのアプリケーションの制限された機能及び特徴が、任意選択的に復元される。いくつかの実施形態では、例えば、ピンコード又は指紋識別を使用してデバイスがロック解除されると、制限された機能及び特徴も復元される。
【０２８１】
図１３Ａ〜図１３Ｂは、いくつかの実施形態に係る、電子デバイスを使用しているユーザに基づいてデータ及びアプリケーションへのアクセスを制限するための方法を示すフロー図である。方法１３００は、ディスプレイ及び画像センサを有するデバイス（例えば、１００、３００、５００）において実行される。方法１３００のいくつかの動作は、任意選択的に組み合わされ、いくつかの動作の順序は、任意選択的に変更され、いくつかの動作は、任意選択的に省略される。
【０２８２】
後述するように、方法１３００は、デバイスを使用しているユーザに基づいて、データ及びアプリケーションへのアクセスを制限するための直感的な方法を提供する。この方法は、デバイスを使用しているユーザに基づいて、データ及びアプリケーションへのアクセスを制限することに対するユーザの認識的負担を低減し、それによって、より効率的なヒューマンマシンインタフェースを作成する。バッテリ動作コンピューティングデバイスの場合、デバイスを使用しているユーザに基づいて、データ及びアプリケーションへのアクセスを、ユーザがより速くより効率的に制限することを可能にすることによって、電力を節約し、バッテリ充電の時間間隔を増加させる。
【０２８３】
ディスプレイ（例えば、１２０１）と１つ以上の画像センサ（例えば、１２０２）とを有する電子デバイス（例えば、１２００）は、アプリケーション（例えば、写真、写真共有アプリケーション、メッセージングアプリケーション）にコンテンツ（例えば、１２３８）（例えば、写真）をディスプレイ上に表示する。電子デバイスは、アプリケーションが第１の構成（例えば、通常の構成）にある間に、コンテンツを表示する（１３０２）。コンテンツを表示しながら、電子デバイスは、電子デバイスの１つ以上の画像センサ（例えば、１２０２）から画像データ（例えば、画像及び／又は深度情報）をキャプチャする（１３０４）。画像データをキャプチャした後、電子デバイスは、コンテンツから離れるナビゲーション要求（例えば、１２４１）を受信する（１３０６）。コンテンツから離れるナビゲーション要求（例えば、異なる写真へのスワイプ、又は異なるウェブページへの移動）を受信したことに応じて、電子デバイスは、第１のコンテンツロック基準のセットが満たされているという判定に従って、コンテンツ（例えば、１２３８）の表示を維持しながら、コンテンツから離れるナビゲーション（例えば、図１２Ｆ）（例えば、異なる写真へのスワイプ、又は異なるウェブページへの移動）を防止し（１３１０）、第１のコンテンツロック基準のセットは、不正ユーザがデバイスを使用していることをキャプチャされた画像データが示すときに満たされる第１の基準を含み、第１のコンテンツロック基準のセットが満たされていないという判定に従って、要求に従いコンテンツから離れるナビゲーションを行う（例えば、図１２Ｆ〜図１２Ｇ）（１３１２）。一定の基準が満たされるときにコンテンツから離れるナビゲーションを防止することによって、正規ユーザがアクセスを許可しようとしているコンテンツの閲覧をなおも可能化しながら他のコンテンツへのアクセスを防止することにより電子デバイスのセキュリティが高められる（例えば、正規ユーザがデバイスを使用していないときに、他の写真へのアクセスを防止する）。
【０２８４】
いくつかの実施形態によれば、コンテンツから離れるナビゲーションを行う電子デバイスは、現在表示されているコンテンツを並進させること（例えば、タッチ感知面上のドラッグジェスチャなどのスクロール入力に応じて、地図又はリストをスクロールすること）を含む。いくつかの実施形態によれば、コンテンツから離れるナビゲーションを行う電子デバイスは、アプリケーション（例えば、図１２Ｆ）におけるコンテンツアイテム（例えば、１２３８及び１２４２）間の切り替えを含む（例えば、タッチ感知面上でのスワイプジェスチャなどの次のコンテンツアイテム入力に基づいて、本又はｐｄｆ内のページ、カメラロール内の写真、ブラウザ内のウェブページを通じて切り替える）。
【０２８５】
いくつかの実施形態によれば、電子デバイスは、第１のコンテンツロック基準のセットがもはや満たされないという判定に従って、コンテンツから離れるナビゲーション（例えば、図１２Ｆ〜図１２Ｇ）（例えば、異なる写真へのスワイプ、又は異なるＷｅｂページへの移動）を可能にする（１３１４）。
【０２８６】
いくつかの実施形態によれば、第１のロック基準のセットは、電子デバイスの正規ユーザがそのデバイスを使用していないことをキャプチャされた画像データが示す（例えば、正規ユーザの顔が、１秒、１５秒、又は１分などの所定の時間量を超えて、カメラの視野内で検出されない）ときに満たされる第２の基準を含む。いくつかの実施形態によれば、第１のロック基準のセットは、不正ユーザが存在し、かつ、正規ユーザが存在しないことをキャプチャされた画像データが示すときに満たされる第３の基準を含む（例えば、正規ユーザとして認識されないユーザの顔は、正規ユーザの顔がカメラの視野内に検出されることなく、カメラの視野内で検出される）。いくつかの実施形態では、含まれる基準のうちのいずれかが満たされると、第１のロック基準のセットが満たされる。いくつかの実施形態では、含まれる全ての基準が満たされるときにのみ、第１のロック基準のセットが満たされる。第１のロック基準のセットに複数のロック基準を含めることによって、電子デバイスが、コンテンツを他人に見せるユーザ機能と、他人への閲覧をユーザが望まないコンテンツへのアクセス防止との間に対するバランスを可能にする柔軟なセキュリティレベルを提供することで、電子デバイスを拡張させる。
【０２８７】
いくつかの実施形態によれば、第１のロック基準のセットは、正規ユーザが存在するか否かにかかわらず不正ユーザが存在することをキャプチャされた画像データが示すときに満たされる（例えば、第１の基準が満たされる場合、第１のロック基準のセットが満たされる）。いくつかの実施形態によれば、電子デバイスは、電子デバイスの不正ユーザの存在をキャプチャされた画像データが示すかどうかを判定する。
【０２８８】
いくつかの実施形態によれば、電子デバイスは、第２のコンテンツロック基準のセットが満たされているという判定に従って、電子デバイスの少なくとも１つの機能（図１２Ｉ及び１２Ｊ）を無効化する（１３１６）（例えば、通知の表示を抑制する）。いくつかの実施形態によれば、電子デバイスは、（例えば、他のセットと同じ又は異なる）第４のコンテンツロック基準のセットが満たされているという判定に従って、アプリケーション内のコンテンツを表示し続けながら、電子デバイスの他の機能（例えば、スリープ／起動ボタン機能を除く全ての他の機能）をロックする（１３２０）。いくつかの実施形態によれば、第４の基準が満たされていることに従って、電子デバイス上のアプリケーション間のナビゲーションを防止し、第５の基準が満たされていることに従って、アプリケーション内のナビゲーション（例えば、図１２Ｅの写真ビューから図１２Ｄのアルバムビューへ戻る遷移）を防止する。例えば、第４の基準（したがって、第５のロック基準のセット）が満たされると、ユーザがホームボタンを押してもデバイスはホーム画面に戻らない。代わりに、アプリケーション表示が残るか、又はデバイスがロックされてロックインタフェース（例えば、１２０３）が表示されるか、のいずれかである。例えば、第４のコンテンツロック基準のセットは、画像データが、電子デバイスを使用している正規ユーザがいないことを示すときに満たされる。第４のコンテンツロック基準のセットが満たされたことに応じて、アプリケーション間の切り替え及び／又は通知の閲覧が無効化される。電子デバイスの１つ以上の機能を無効化又はロックすることによって、他の人が電子デバイス上のコンテンツを閲覧することをユーザが許可しているときに、一定の機能へのアクセスを制限することにより電子デバイスのセキュリティが高められる。例えば、表示された画像を閲覧するために別の人にユーザが電子デバイスを提供しており、電子デバイスが通話を受信した場合、電子デバイスは、ユーザ（例えば、正規ユーザ）が電子デバイスを使用していないと判定し、通話に応答することを防止することができる。
【０２８９】
いくつかの実施形態によれば、第１のロック基準のセットと第２のロック基準のセットとは異なる（例えば、第１のロック基準のセットが満たされることは、画像データが、正規ユーザが存在するかどうかにかかわらず、不正ユーザが電子デバイスを使用していることを示し、画像データが、不正ユーザが存在するかどうかにかかわらず、正規ユーザが電子デバイスを使用していないことを示す場合、第２のロック基準のセットが満たされる）。
【０２９０】
いくつかの実施形態によれば、電子デバイスは、第３のコンテンツロック基準のセットが満たされているという判定に従って、アプリケーションを、第１の構成（例えば、図１２Ｆ）と比較してアプリケーションの動作を制限する第２の構成（例えば、図１２Ｇ）に切り替える（１３１８）（例えば、不正ユーザ及び正規ユーザが存在する場合、ナビゲーションがロックされ、正規ユーザなしに不正ユーザが存在する場合、デバイス全体がロックされる）。
【０２９１】
いくつかの実施形態によれば、電子デバイスは、（例えば、他のセットと同じ又は異なる）第５のコンテンツロック基準のセットが満たされているという判定に従って、電子デバイスにおいて受信された通信に関する通知の表示（例えば、通知トリガ条件を検出すること、及びコンテンツロック基準が満たされているという判定に従って、通知の提示を抑制すること／コンテンツロック基準が満たされていないという判定に従って、通知を提示すること（例えば、可聴、触知、又は視覚的出力を介して））を防止する（１３２２）。
【０２９２】
いくつかの実施形態によれば、第５のロック基準のセットは、不正ユーザが電子デバイスを使用していることをキャプチャされた画像データが示すときに満たされる第４の基準を含み、第５のロック基準のセットは、第４の基準が満たされるときに満たされ、第１のロック基準のセットは、キャプチャされた画像データが正規ユーザの不在を示すときに満たされる第５の基準を含む。例えば、第５のロック基準のセットの第４の基準は、キャプチャされた画像データに正規ユーザ以外のユーザが存在することを電子デバイスからキャプチャされた画像データが示すときに満たされる（例えば、画像データは、（正規ユーザの有無にかかわらず）不正ユーザが電子デバイスの前のカメラの視野内にいることを示す）。加えて、第５のロック基準のセットにおける他の基準が満たされるかどうかにかかわらず、第４の基準が満たされる限り、第５のロック基準のセットが満たされる（例えば、不正ユーザがキャプチャされた画像データに存在する限り、第５のロック基準のセットを満たすために他の基準が満たされる必要はない）。
【０２９３】
いくつかの実施形態によれば、画像データは光学的データ及び深度データを含み、第１のコンテンツロック基準のセットが満たされているかどうかを判定することは光学的データ及び深度データに基づいている。いくつかの実施形態では、光学的データは第１の解像度を有する第１のカメラによって提供され、深度データは第１の解像度よりも低い第２の解像度を有する第２のカメラによって提供される。いくつかの実施形態では、深度データは、既知の距離だけ離れて配置されている２つのカメラからの画像の組み合わせによって生成される。いくつかの実施形態では、深度データ及び光学的データは、同じカメラによって生成される。
【０２９４】
いくつかの実施形態によれば、コンテンツから離れるナビゲーションを行う電子デバイスは、ホーム画面（例えば、１２０５）を表示するためにアプリケーションを切り替えること、又はアプリケーション（例えば、図１２Ｃ〜図１２Ｊの写真アプリケーション）を閉じること（例えば、ホームボタンなどのボタンの繰り返しのアクティブ化によってトリガされるマルチタスクモードにおけるアプリケーション間の切り替え、又はホームボタンなどのボタンのアクティブ化によってトリガされるアプリケーション起動ユーザインタフェースへの転出）を含む。
【０２９５】
いくつかの実施形態によれば、電子デバイスは、電子デバイスの正規ユーザに関連付けられたロック解除情報（例えば、ピンコード、パスワード、又は指紋情報若しくは虹彩情報などのバイオメトリック情報）を受信し、ロック解除情報が真正かどうかを判定し、ロック解除情報が真正であるという判定に従って、コンテンツ（例えば、１２３８）から離れる（例えば、電子デバイスを通常動作に戻す）ナビゲーション（例えば、図１２Ｆ）（例えば、異なる写真にスワイプすること、又は異なるウェブページに行くこと）を可能化する。
【０２９６】
いくつかの実施形態によれば、図１４は、説明される様々な実施形態の原理に従って構成された電子デバイス１４００の、例示的な機能ブロック図を示す。いくつかの実施形態によれば、電子デバイス１４００の機能ブロックは、上述の技術を実行するように構成されている。デバイス１４００の機能ブロックは、説明される様々な実施例の原理を実行するために、ハードウェア、ソフトウェア、又はハードウェアとソフトウェアとの組合せによって、任意選択的に実装される。図１４で説明する機能ブロックが、説明される様々な実施例の原理を実施するために、任意選択的に、組み合わされ、又はサブブロックに分離されることが当業者に理解されよう。したがって、本明細書における説明は、本明細書で説明されている機能ブロックの任意の可能な組合せ若しくは分離、又は更なる定義を任意選択的にサポートする。
【０２９７】
図１４に示されるように、電子デバイス１４００は、ディスプレイユニット１４０２と、ディスプレイユニット１４０２に結合された処理ユニット１４０４とを含む。いくつかの実施形態では、処理ユニット１４０４は、表示可能化ユニット１４０６、キャプチャユニット１４０８、受信ユニット１４１０、防止ユニット１４１２、ナビゲーションユニット１４１４、許可ユニット１４１６、無効化ユニット１４１８、ロックユニット１４２０、防止ユニット１４２２、判定ユニット１４２４、切り替えユニット１１２６、及び可能化ユニット１１２８を含む。
【０２９８】
１４０４に構成された処理ユニットは、（例えば、表示可能化ユニット１４０６を使用して）アプリケーション内のコンテンツをディスプレイ上に表示し、ここで、コンテンツは、アプリケーションが第１の構成にある間に表示しコンテンツを表示しながら、電子デバイスの１つ以上の画像センサから画像データを（例えば、キャプチャユニット１４０８を使用して）キャプチャし、画像データをキャプチャした後、コンテンツから離れるナビゲーション要求を（例えば、受信ユニット１４１０を使用して）受信し、コンテンツから離れるナビゲーション要求を受信したことに応じて、第１のコンテンツロック基準のセットが満たされているという判定に従って、コンテンツの表示を維持しながら、コンテンツから離れるナビゲーションを（例えば、防止ユニット１４１２を使用して）防止し、第１のコンテンツロック基準のセットは、不正ユーザがデバイスを使用していることをキャプチャされた画像データが示すときに満たされる第１の基準を含み、第１のコンテンツロック基準のセットが満たされていないという判定に従って、要求に従いコンテンツから離れるナビゲーションを（例えば、ナビゲーションユニット１４１４を使用して）行う、ように構成されている。
【０２９９】
いくつかの実施形態では、処理ユニット１４０４は、第１のコンテンツロック基準のセットがもはや満たされないという判定に従って、コンテンツから離れるナビゲーションを（例えば、許可ユニット１４１６を使用して）可能にするように更に構成されている。
【０３００】
いくつかの実施形態では、第１のロック基準のセットは、電子デバイスの正規ユーザがデバイスを使用していないことをキャプチャされた画像データが示すときに満たされる第２の基準を含む。
【０３０１】
いくつかの実施形態では、第１のロック基準のセットは、不正ユーザが存在し、かつ、正規ユーザが存在しないことをキャプチャされた画像データが示すときに満たされる第３の基準を含む。
【０３０２】
いくつかの実施形態では、第１のロック基準のセットは、正規ユーザが存在するか否かにかかわらず不正ユーザが存在することをキャプチャされた画像データが示すときに満たされる。
【０３０３】
いくつかの実施形態では、処理ユニット１４０４は、第２のコンテンツロック基準のセットが満たされたという判定に従って、電子デバイスの少なくとも１つの機能を（例えば、無効化ユニット１４１８を使用して）無効化するように更に構成されている。
【０３０４】
いくつかの実施形態では、第１のロック基準のセットと第２のロック基準のセットとは異なる。
【０３０５】
いくつかの実施形態では、処理ユニット１４０４は、第３のコンテンツロック基準のセットが満たされているという判定に従って、アプリケーションを、第１の構成と比較してアプリケーションの動作を制限する第２の構成に（例えば、切り替えユニット１１２６を使用して）切り替えるように更に構成されている。
【０３０６】
いくつかの実施形態では、処理ユニット１４０４は、第４のコンテンツロック基準のセットが満たされているという判定に従って、アプリケーション内にコンテンツを表示し続けながら、電子デバイスの他の機能を（例えば、ロックユニット１４２０を使用して）ロックするように更に構成される。
【０３０７】
いくつかの実施形態では、処理ユニット１４０４は、第５のコンテンツロック基準のセットが満たされたという判定に従って、電子デバイスにおいて受信された通信に関連する通知の表示を（例えば、防止ユニット１４１２を使用して）防止するように更に構成されている。
【０３０８】
いくつかの実施形態では、第５のロック基準のセットは、不正ユーザが電子デバイスを使用していることをキャプチャされた画像データが示すときに満たされる第４の基準を含み、第５のロック基準のセットは、第４の基準が満たされる場合に満たされ、第１のロック基準のセットは、キャプチャされた画像データが正規ユーザの不在を示すときに満たされる第５の基準を含む。
【０３０９】
いくつかの実施形態では、処理ユニット１４０４は、第４の基準が満たされているという判定に従って、電子デバイス上のアプリケーション間のナビゲーションを（例えば、防止ユニット１４１２を使用して）防止し、第５の基準が満たされているという判定に従って、アプリケーション内のナビゲーションを（例えば、防止ユニット１４１２を使用して）防止する、ように更に構成されている。
【０３１０】
いくつかの実施形態では、処理ユニット１４０４は、電子デバイスの不正ユーザの存在をキャプチャされた画像データが示すかどうかを（例えば、判定ユニット１１２４を使用して）判定するように更に構成されている。
【０３１１】
いくつかの実施形態では、画像データは光学的データ及び深度データを含み、第１のコンテンツロック基準のセットが満たされているかどうかを判定することは光学的データ及び深度データに基づいている。
【０３１２】
いくつかの実施形態では、コンテンツから離れるナビゲーションが、現在表示されているコンテンツを並進させることを含む。
【０３１３】
いくつかの実施形態では、コンテンツから離れるナビゲーションが、アプリケーション内のコンテンツアイテム間を切り替えることを含む。
【０３１４】
いくつかの実施形態では、コンテンツから離れるナビゲーションが、アプリケーションを切り替えること、又はホーム画面を表示するためにアプリケーションを閉じることを含む。
【０３１５】
いくつかの実施形態では、処理ユニット１４０４は、電子デバイスの正規ユーザに関連付けられたロック解除情報を（例えば、受信ユニット１４１０を使用して）受信し、ロック解除情報が真正であるかどうかを（例えば、判定ユニット１１２４を使用して）判定し、ロック解除情報が真正であるという判定に従って、コンテンツから離れるナビゲーションを（例えば、可能化ユニット１１２８を使用して）可能化する、ように更に構成されている。
【０３１６】
以下の項目は、上記で詳細に説明されてきた本発明の様々な態様を簡潔に説明する。
方法であって、
ディスプレイを有し、第１のユーザと関連付けられた、電子デバイスにおいて、
第２のユーザから、第１のコンテンツを含む第１のメッセージを受信することと、
第２のユーザに対する第１のステータスデータであって、第１のメッセージに関連付けられ、第１のコンテンツとは別個である、第１のステータスデータを受信することと、
第１のコンテンツを含む第１のメッセージと第１のアバターとを、ディスプレイ上に同時に表示することであって、第１のアバターは第１のステータスデータに基づき、表示された第１のアバターは表示された第１のメッセージに隣接する、ことと、
第１のメッセージ及び第１のアバターを表示した後、第２のユーザから第２のコンテンツを含む第２のメッセージを受信することと、
第２のユーザに対する第２のステータスデータであって、第２のメッセージに関連付けられ、第２のコンテンツとは別個である、第２のステータスを受信することと、
第１のメッセージ及び第１のアバターの表示を維持しながら、第２のコンテンツを含む第２のメッセージと第２のアバターとをディスプレイ上に表示することであって、表示された第２のアバターは表示された第２のメッセージに隣接し、第２のアバターは第２のステータスデータに基づき、第１のアバターと第２のアバターとは異なる、ことと、を含む、方法。
第２のユーザの連絡先情報を含むユーザのセットの連絡先情報を表示することであって、第２のアバターは、第２のユーザの連絡先情報と共に表示される、ことを更に含む、項目１に記載の方法。
第２のユーザに対する第１のアバターモデルを受信することと、
第１のアバターモデルと第１のステータスデータとに基づいて第１のアバターを生成し、第１のアバターモデルと第２のステータスデータとに基づいて第２のアバターを生成することと、を更に含む、項目１又は２の方法に記載。
第２のユーザに対する第２のアバターモデルを受信することと、
第２のアバターモデルと第１のステータスデータとに基づいて、更新された第１のアバターを生成することと、
第２のアバターモデルと第２のステータスデータとに基づいて、更新された第２のアバターを生成することと、
第１のコンテンツを含む第１のメッセージと共に、第１のアバターの代わりに、更新された第１のアバターを表示することと、を更に含む、項目１から３のうちのいずれかに記載の方法。
第１のステータスデータは、第２のユーザの第１のバイオメトリック特性に基づいている、項目１から４のいずれかの方法。
第１のステータスデータに基づいて、第１のアバターに対する１つ以上の特性を選択することを更に含む、項目１から５のいずれかに記載の方法。
第２のステータスデータに基づいて、第２のアバターに対する１つ以上の特性を選択することを更に含み、第２のステータスデータは第２のバイオメトリック特性に基づいている、項目１から６のいずれかに記載の方法。
第１のアバターはアニメーションアバターである、項目１から７のいずれかに記載の方法。
第１のステータスデータは、第２のユーザの光学的画像又は深度画像に基づいている、項目１から８のいずれかに記載の方法。
第１のアバターを作成するために、第１のステータスデータを所定のアバターモデルにマッピングすることを更に含む、項目１から９のいずれかに記載の方法。
第１のステータスデータは、第２のユーザの感情を表している、項目１から１０のいずれかに記載の方法。
第１のステータスデータは、第２のユーザが第１のメッセージを作成及び／又は送信した時の第２のユーザの検出された表情に基づいている、項目１から１１のいずれかに記載の方法。
第２のステータスデータは、第２のユーザが第２のメッセージを作成及び／又は送信した時の第２のユーザの検出された表情に基づいている、項目１から１２のいずれかに記載の方法。
第１のユーザから、かつ、電子デバイス上で、第３のメッセージに対する第３のコンテンツを受信することと、
第１のユーザに対する第３のステータスデータを生成することと、
第３のステータスデータを第３のメッセージと関連付けることと、
第２のユーザに第３のメッセージを送信することと、
第２のユーザに第３のステータスデータを送信することと、を更に含む、項目１から１２のいずれかに記載の方法。
第３のコンテンツを含む第３のメッセージと第３のアバターとを同時に表示することであって、第３のアバターは第３のステータスデータに基づき、第３のメッセージ及び第３のアバターは、第２のメッセージ及び第２のアバターと同時に表示される、ことを更に含む、項目１３に記載の方法。
第１のアバター及び第２のアバターは、第２のユーザの身体的外観表す、項目１から１４のいずれかに記載の方法。
第１のメッセージ及び第１のアバターを表示することは、第１のメッセージを、第１のアバターの口から出てくるテキストバブルとして表示することを含む、項目１から１６のいずれかに記載の方法。
第２のユーザは、第１のメッセージと第２のメッセージとを送信するソース電子デバイスと関連付けられている、項目１から１６のいずれかに記載の方法。
電子デバイスであって、
ディスプレイと、
１つ以上のプロセッサと、
１つ以上の入力デバイスと、
メモリと、
１つ以上のプログラムと、を備える、電子デバイスであって、１つ以上のプログラムはメモリに記憶され、１つ以上のプロセッサによって実行されるように構成されており、１つ以上のプログラムは、
第２のユーザから、第１のコンテンツを含む第１のメッセージを受信し、
第２のユーザに対する第１のステータスデータであって、第１のメッセージに関連付けられ、第１のコンテンツとは別個である、第１のステータスデータを受信し、
第１のコンテンツを含む第１のメッセージと第１のアバターとを、ディスプレイ上に同時に表示し、第１のアバターは第１のステータスデータに基づき、表示された第１のアバターは表示された第１のメッセージに隣接し、
第１のメッセージ及び第１のアバターを表示した後、第２のユーザから第２のコンテンツを含む第２のメッセージを受信し、
第２のユーザに対する第２のステータスデータであって、第２のメッセージに関連付けられ、第２のコンテンツとは別個である、第２のステータスを受信し、
第１のメッセージ及び第１のアバターの表示を維持しながら、第２のコンテンツを含む第２のメッセージと第２のアバターとをディスプレイ上に表示する、命令を含み、表示された第２のアバターは表示された第２のメッセージに隣接し、第２のアバターは第２のステータスデータに基づき、第１のアバターと第２のアバターとは異なる、電子デバイス。
１つ以上のプログラムを記憶する非一時的コンピュータ可読記憶媒体であって、１つ以上のプログラムが命令を含み、命令は、ディスプレイと１つ以上の入力デバイスとを含む電子デバイスの１つ以上のプロセッサによって実行されると、デバイスに、
第２のユーザから、第１のコンテンツを含む第１のメッセージを受信させ、
第２のユーザに対する第１のステータスデータであって、第１のメッセージに関連付けられ、第１のコンテンツとは別個である、第１のステータスデータを受信させ、
第１のコンテンツを含む第１のメッセージと第１のアバターとを、ディスプレイ上に同時に表示させ、第１のアバターは第１のステータスデータに基づき、表示された第１のアバターは表示された第１のメッセージに隣接し、
第１のメッセージ及び第１のアバターを表示した後、第２のユーザから第２のコンテンツを含む第２のメッセージを受信させ、
第２のユーザに対する第２のステータスデータであって、第２のメッセージに関連付けられ、第２のコンテンツとは別個である、第２のステータスを受信させ、
第１のメッセージ及び第１のアバターの表示を維持しながら、第２のコンテンツを含む第２のメッセージと第２のアバターとをディスプレイ上に表示させ、表示された第２のアバターは表示された第２のメッセージに隣接し、第２のアバターは第２のステータスデータに基づき、第１のアバターと第２のアバターとは異なる、非一時的コンピュータ可読記憶媒体。
電子デバイスであって、
ディスプレイと、
１つ以上の入力デバイスと、
第２のユーザから、第１のコンテンツを含む第１のメッセージを受信する手段と、
第２のユーザに対する第１のステータスデータであって、第１のメッセージに関連付けられ、第１のコンテンツとは別個である、第１のステータスデータを受信する手段と、
第１のコンテンツを含む第１のメッセージと第１のアバターとを、ディスプレイ上に同時に表示する手段であって、第１のアバターは第１のステータスデータに基づき、表示された第１のアバターは表示された第１のメッセージに隣接する、手段と、
第１のメッセージ及び第１のアバターを表示した後、第２のユーザから第２のコンテンツを含む第２のメッセージを受信する手段と、
第２のユーザに対する第２のステータスデータであって、第２のメッセージに関連付けられ、第２のコンテンツとは別個である、第２のステータスを受信する手段と、
第１のメッセージ及び第１のアバターの表示を維持しながら、第２のコンテンツを含む第２のメッセージと第２のアバターとをディスプレイ上に表示する手段であって、表示された第２のアバターは表示された第２のメッセージに隣接し、第２のアバターは第２のステータスデータに基づき、第１のアバターと第２のアバターとは異なる、手段と、を含む、電子デバイス。
電子デバイスであって、
ディスプレイと、
１つ以上のプロセッサと、
メモリと、
１つ以上のプログラムと、を備え、１つ以上のプログラムはメモリに記憶され、１つ以上のプロセッサによって実行されるように構成されており、１つ以上のプログラムは、項目１から１８に記載の方法のいずれかを実行する命令を含む、電子デバイス。
１つ以上のプログラムを記憶する非一時的コンピュータ可読記憶媒体であって、１つ以上のプログラムが命令を含み、命令が、ディスプレイと１つ以上の入力デバイスとを有する電子デバイスの１つ以上のプロセッサによって実行されると、デバイスに、項目１から１８に記載の方法のいずれかを実行させる、非一時的コンピュータ可読記憶媒体。
ディスプレイと、
項目１から１８に記載の方法のいずれかを実行する手段と、を含む、電子デバイス。
方法であって、
１つ以上の画像センサ、メモリ、及びディスプレイを有する電子デバイスにおいて、
電子デバイスの１つ以上の画像センサから、第１の画像データであって、第１の視点からのオブジェクトの第１の光学的画像データを含む、第１の画像データをキャプチャすることと、
電子デバイスの１つ以上の画像センサから、第２の画像データであって、第１の視点とは異なる第２の視点からのオブジェクトの第２の光学的画像光データを含む、第２の画像データをキャプチャすることと、
第１の視点から第２の視点への視点の変化に基づいて、アルゴリズムを選択することと、
アルゴリズムに基づいて、オブジェクトの３Ｄモデリングを継続するのに必要な追加の画像データを判定することと、
選択されたアルゴリズムに基づいて判定された追加の画像データをキャプチャする命令を提供する視覚フィードバックをディスプレイ上に表示することと、を含む方法。
第３の視点からのオブジェクトの第３の光学的画像データを含む、第３のデータを受信することと、
第３の視点に基づいて、前記アルゴリズムとは異なる更新されたアルゴリズムを選択することと、
更新されたアルゴリズムに基づいて、オブジェクトの３Ｄモデリングを継続するために必要とされる、追加の画像データとは異なる更新された追加の画像データを判定することと、
更新された追加の画像データをキャプチャするための更新された命令を提供する視覚フィードバックを、ディスプレイ上に表示することであって、更新された命令は、更新されたアルゴリズムを選択する前に表示された命令とは異なる、ことと、を更に含む、項目２５に記載の方法。
選択された更新されたアルゴリズムを使用して、第１の画像データ、第２の画像データ、第３の画像データ、及び更新された追加の画像データに基づいて、オブジェクトの３Ｄモデルを構築することを更に含む、項目２６に記載の方法。
第１の画像データの少なくとも一部をリモートサーバに送信することと、
第３のデータがオブジェクトに利用可能であるという指標をリモートサーバから受信することと、を更に含む、項目２６又は２７に記載の方法。
更新された追加の画像データをキャプチャするための更新された命令を提供する視覚フィードバックを、ディスプレイ上に表示することは、
第１のアルゴリズムが選択されたという判定に従って、第１の命令セットを表示することと、
第１のアルゴリズムとは異なる第２のアルゴリズムが選択されたという判定に従って、視覚フィードバックが、第１の命令セットとは異なる第２の命令セットを含むことと、を含む、項目２５から２８のいずれかに記載の方法。
第１の画像データは、第１の視点からのオブジェクトの第１の深度画像データを含む、項目２５から２９のいずれかに記載の方法。
第１の視点に対する第１の位置データを取得することを更に含む、項目２５から３０のいずれかに記載の方法。
アルゴリズムを選択することはまた、第１の位置データに基づいている、項目３１に記載の方法。
第２の視点に対する第２の位置データをキャプチャすることを更に含み、第２の画像データは、第２の視点からのオブジェクトの第２の深度画像データを含み、アルゴリズムを選択することはまた、第２の位置データに基づいている、項目２５から３１に記載のいずれかの方法。
選択されたアルゴリズムを使用して、第１の画像データ、第２の画像データ、及び追加の画像データに基づいて、オブジェクトの３Ｄモデルを構築することと、
メモリに３Ｄモデルを記憶することと、を更に含む、項目２５から３１又は４６から５１のいずれかに記載の方法。
アルゴリズムを選択することは、第１の画像データ及び第２の画像データがオブジェクトの走査からのものであることを示す、第１の視点から第２の視点への変化に基づいて、走査ベースのアルゴリズムを選択することを含む、項目２５から３４のいずれかに記載の方法。
アルゴリズムを選択することは、第１の視点及び第２の視点が離散画像に対するものであることを示す、第１の視点から第２の視点への変化に基づいて、離散画像ベースのアルゴリズムを選択することを含む、項目２５から３５のいずれかに記載の方法。
オブジェクトにタッチしている第１の画像データ内のサポートを識別することと、
選択されたアルゴリズムを使用して、第１の画像データ及び第２の画像データに基づいて、オブジェクトの、第１のオブジェクトにタッチしているサポートを含まない３Ｄモデルを構築することと、を更に含む、項目２５から２６、２８から３３又は３５から３６のいずれかに記載の方法。
オブジェクトのライブ画像を含む第１のウィンドウを、電子デバイスのディスプレイ上に表示することと、
オブジェクトのモデルの画像を含む第２のウィンドウを、ディスプレイ上に表示することであって、モデルは第１の画像データ及び第２の画像データに基づいている、ことと、を更に含む、項目２５から３７に記載のいずれかの方法。
電子デバイスであって、
ディスプレイと、
１つ以上のプロセッサと、
１つ以上の入力デバイスと、
メモリと、
１つ以上のプログラムと、を備える、電子デバイスであって、１つ以上のプログラムはメモリに記憶され、１つ以上のプロセッサによって実行されるように構成されており、１つ以上のプログラムは、
電子デバイスの１つ以上の画像センサから、第１の画像データであって、第１の視点からのオブジェクトの第１の光学的画像データを含む、第１の画像データをキャプチャし、
電子デバイスの１つ以上の画像センサから、第２の画像データであって、第１の視点とは異なる第２の視点からのオブジェクトの第２の光学的画像光データを含む、第２の画像データをキャプチャし、
第１の視点から第２の視点への視点の変化に基づいて、アルゴリズムを選択し、
アルゴリズムに基づいて、オブジェクトの３Ｄモデリングを継続するのに必要な追加の画像データを判定し、
選択されたアルゴリズムに基づいて判定された追加の画像データをキャプチャする命令を提供する視覚フィードバックをディスプレイ上に表示する、命令を含む、電子デバイス。
１つ以上のプログラムを記憶する非一時的コンピュータ可読記憶媒体であって、１つ以上のプログラムが命令を含み、命令は、ディスプレイと１つ以上の入力デバイスとを含む電子デバイスの１つ以上のプロセッサによって実行されると、デバイスに、
電子デバイスの１つ以上の画像センサから、第１の画像データであって、第１の視点からのオブジェクトの第１の光学的画像データを含む、第１の画像データをキャプチャさせ、
電子デバイスの１つ以上の画像センサから、第２の画像データであって、第１の視点とは異なる第２の視点からのオブジェクトの第２の光学的画像光データを含む、第２の画像データをキャプチャさせ、
第１の視点から第２の視点への視点の変化に基づいて、アルゴリズムを選択させ、
アルゴリズムに基づいて、オブジェクトの３Ｄモデリングを継続するのに必要な追加の画像データを判定させ、
選択されたアルゴリズムに基づいて判定された追加の画像データをキャプチャする命令を提供する視覚フィードバックをディスプレイ上に表示させる、非一時的コンピュータ可読記憶媒体。
電子デバイスであって、
ディスプレイと、
１つ以上の入力デバイスと、
電子デバイスの１つ以上の画像センサから、第１の画像データであって、第１の視点からのオブジェクトの第１の光学的画像データを含む、第１の画像データをキャプチャする手段と、
電子デバイスの１つ以上の画像センサから、第２の画像データであって、第１の視点とは異なる第２の視点からのオブジェクトの第２の光学的画像光データを含む、第２の画像データをキャプチャする手段と、
第１の視点から第２の視点への視点の変化に基づいて、アルゴリズムを選択する手段と、
アルゴリズムに基づいて、オブジェクトの３Ｄモデリングを継続するのに必要な追加の画像データを判定する手段と、
選択されたアルゴリズムに基づいて判定された追加の画像データをキャプチャする命令を提供する視覚フィードバックをディスプレイ上に表示する手段と、を含む、電子デバイス。
電子デバイスであって、
ディスプレイと、
１つ以上のプロセッサと、
メモリと、
１つ以上のプログラムと、を備え、１つ以上のプログラムはメモリに記憶され、１つ以上のプロセッサによって実行されるように構成されており、１つ以上のプログラムは、項目２５から３８に記載の方法のいずれかを実行する命令を含む、電子デバイス。
１つ以上のプログラムを記憶する非一時的コンピュータ可読記憶媒体であって、１つ以上のプログラムが命令を含み、命令が、ディスプレイと１つ以上の入力デバイスとを有する電子デバイスの１つ以上のプロセッサによって実行されると、デバイスに、項目２５から３８に記載の方法のいずれかを実行させる、非一時的コンピュータ可読記憶媒体。
電子デバイスであって、
ディスプレイと、
項目２５から３８に記載の方法のいずれかを実行する手段を含む、電子デバイス。
方法であって、
ディスプレイと１つ以上の画像センサとを有する電子デバイスにおいて、
アプリケーション内のコンテンツをディスプレイ上に表示することであって、コンテンツはアプリケーションが第１の構成にある間に表示される、ことと、
コンテンツを表示しながら、電子デバイスの１つ以上の画像センサから画像データをキャプチャすることと、
画像データをキャプチャした後、コンテンツから離れるナビゲーション要求を受信することと、
コンテンツから離れるナビゲーション要求を受信したことに応じて、
第１のコンテンツロック基準のセットが満たされているという判定に従って、コンテンツの表示を維持しながら、コンテンツから離れるナビゲーションを防止することであって、第１のコンテンツロック基準のセットは、不正ユーザがデバイスを使用していることをキャプチャされた画像データが示すときに満たされる第１の基準を含む、ことと、
第１のコンテンツロック基準のセットが満たされていないという判定に従って、要求に従いコンテンツから離れるナビゲーションを行うことと、を含む、方法。
第１のコンテンツロック基準のセットがもはや満たされないという判定に従って、コンテンツから離れるナビゲーションを可能にすることを更に含む、項目４５の方法。
第１のロック基準のセットは、電子デバイスの正規ユーザがデバイスを使用していないことをキャプチャされた画像データが示すときに満たされる第２の基準を含む、項目４５又は４６に記載の方法。
第１のロック基準のセットは、不正ユーザが存在し、かつ、正規ユーザが存在しないことをキャプチャされた画像データが示すときに満たされる第３の基準を含む、項目４５から４７のいずれかに記載の方法。
第１のロック基準のセットは、正規ユーザが存在するか否かにかかわらず不正ユーザが存在することをキャプチャされた画像データが示すときに満たされる、項目４５から４８のいずれかに記載の方法。
第２のコンテンツロック基準のセットが満たされたという判定に従って、電子デバイスの少なくとも１つの機能を無効化することを更に含む、項目４５から４９のいずれかに記載の方法。
第１のロック基準のセットと第２のロック基準のセットとは異なる、項目５０に記載の方法。
第３のコンテンツロック基準のセットが満たされているという判定に従って、アプリケーションを、第１の構成と比較してアプリケーションの動作を制限する第２の構成に切り替えることを更に含む、項目４５から５１のいずれかに記載の方法。
第４のコンテンツロック基準のセットが満たされているという判定に従って、アプリケーション内にコンテンツを表示し続けながら、電子デバイスの他の機能をロックすることを更に含む、項目４５から５２のいずれかに記載の方法。
第５のコンテンツロック基準のセットが満たされているという判定に従って、電子デバイスにおいて受信された通信に関連する通知の表示を防止することを更に含む、項目４５から５３のいずれかに記載の方法。
第５のロック基準のセットは、不正ユーザが電子デバイスを使用していることをキャプチャされた画像データが示すときに満たされる第４の基準を含み、第５のロック基準のセットは、第４の基準が満たされる場合に満たされ、
第１のロック基準のセットは、キャプチャされた画像データが正規ユーザの不在を示すときに満たされる第５の基準を含む、項目５４に記載の方法。
第４の基準が満たされていることに従って、電子デバイス上のアプリケーション間のナビゲーションを防止することと、
第５の基準が満たされていることに従って、アプリケーション内のナビゲーションを防止することと、を更に含む、項目５５に記載の方法。
電子デバイスの不正ユーザの存在をキャプチャされた画像データが示すかどうかを判定することを、更に含む、項目４５から５６のいずれかに記載の方法。
画像データは光学的データ及び深度データを含み、第１のコンテンツロック基準のセットが満たされているかどうかを判定することは光学的データ及び深度データに基づいている、項目４５から５７のいずれかに記載の方法。
コンテンツから離れるナビゲーションが、現在表示されているコンテンツを並進させることを含む、項目４５から５８のいずれかの方法。
コンテンツから離れるナビゲーションが、アプリケーション内のコンテンツアイテム間を切り替えることを含む、項目４５から５９のいずれかに記載の方法。
コンテンツから離れるナビゲーションが、アプリケーションを切り替えること、又はホーム画面を表示するためにアプリケーションを閉じることを含む、項目４５から６０のいずれかに記載の方法。
電子デバイスの正規ユーザに関連付けられたロック解除情報を受信することと、
ロック解除情報が真正であるかどうかを判定することと、
ロック解除情報が真正であるという判定に従って、コンテンツから離れるナビゲーションを可能化することと、を更に含む、項目４５から６１のいずれかに記載の方法。
電子デバイスであって、
ディスプレイと、
１つ以上のプロセッサと、
１つ以上の入力デバイスと、
メモリと、
１つ以上のプログラムと、を備える、電子デバイスであって、１つ以上のプログラムはメモリに記憶され、１つ以上のプロセッサによって実行されるように構成されており、１つ以上のプログラムは、
アプリケーション内のコンテンツをディスプレイ上に表示し、コンテンツはアプリケーションが第１の構成にある間に表示され、
コンテンツを表示しながら、電子デバイスの１つ以上の画像センサから画像データをキャプチャし、
画像データをキャプチャした後、コンテンツから離れるナビゲーション要求を受信し、
コンテンツから離れるナビゲーション要求を受信したことに応じて、
第１のコンテンツロック基準のセットが満たされているという判定に従って、コンテンツの表示を維持しながら、コンテンツから離れるナビゲーションを防止し、第１のコンテンツロック基準のセットは、不正ユーザがデバイスを使用していることをキャプチャされた画像データが示すときに満たされる第１の基準を含み、
第１のコンテンツロック基準のセットが満たされていないという判定に従って、要求に従いコンテンツから離れるナビゲーションを行う、命令を含む、電子デバイス。
１つ以上のプログラムを記憶する非一時的コンピュータ可読記憶媒体であって、１つ以上のプログラムが命令を含み、命令は、ディスプレイと１つ以上の入力デバイスとを含む電子デバイスの１つ以上のプロセッサによって実行されると、デバイスに、
アプリケーション内のコンテンツをディスプレイ上に表示させ、コンテンツはアプリケーションが第１の構成にある間に表示され、
コンテンツを表示しながら、電子デバイスの１つ以上の画像センサから画像データをキャプチャさせ、
画像データをキャプチャした後、コンテンツから離れるナビゲーション要求を受信させ、
コンテンツから離れるナビゲーション要求を受信したことに応じて、
第１のコンテンツロック基準のセットが満たされているという判定に従って、コンテンツの表示を維持しながら、コンテンツから離れるナビゲーションを防止させ、第１のコンテンツロック基準のセットは、不正ユーザがデバイスを使用していることをキャプチャされた画像データが示すときに満たされる第１の基準を含み、
第１のコンテンツロック基準のセットが満たされていないという判定に従って、要求に従いコンテンツから離れるナビゲーションを行わせる、非一時的コンピュータ可読記憶媒体。
電子デバイスであって、
ディスプレイと、
１つ以上の入力デバイスと、
アプリケーション内のコンテンツをディスプレイ上に表示する手段であって、コンテンツはアプリケーションが第１の構成にある間に表示される、手段と、
コンテンツを表示しながら、電子デバイスの１つ以上の画像センサから画像データをキャプチャする手段と、
画像データをキャプチャした後、コンテンツから離れるナビゲーション要求を受信する手段と、
コンテンツから離れるナビゲーション要求を受信したことに応じて、
第１のコンテンツロック基準のセットが満たされているという判定に従って、コンテンツの表示を維持しながら、コンテンツから離れるナビゲーションを防止する手段であって、第１のコンテンツロック基準のセットは、不正ユーザがデバイスを使用していることをキャプチャされた画像データが示すときに満たされる第１の基準を含む、手段と、
第１のコンテンツロック基準のセットが満たされていないという判定に従って、要求に従いコンテンツから離れるナビゲーションを行う手段と、を含む、電子デバイス。
電子デバイスであって、
ディスプレイと、
１つ以上のプロセッサと、
メモリと、
１つ以上のプログラムと、を備え、１つ以上のプログラムはメモリに記憶され、１つ以上のプロセッサによって実行されるように構成されており、１つ以上のプログラムは、項目４５から６２に記載の方法のいずれかを実行する命令を含む、電子デバイス。
１つ以上のプログラムを記憶する非一時的コンピュータ可読記憶媒体であって、１つ以上のプログラムが命令を含み、命令が、ディスプレイと１つ以上の入力デバイスとを有する電子デバイスの１つ以上のプロセッサによって実行されると、デバイスに、項目４５から６２に記載の方法のいずれかを実行させる、非一時的コンピュータ可読記憶媒体。
電子デバイスであって、
ディスプレイと、
項目４５から６２に記載の方法のいずれかを実行する手段を含む、電子デバイス。
【０３１７】
上述した説明は、説明の目的上、特定の実施形態を参照して説明されている。しかし、上記の例示的な議論は、網羅的であること、又は開示される厳密な形態に本発明を限定することを意図するものではない。上記の教示を考慮して、多くの修正及び変形が可能である。これらの実施形態は、本技術の原理、及びその実際の適用を最も良好に説明するために、選択及び説明されたものである。それにより、他の当業者は、想到される具体的な用途に適するような様々な修正を使用して、本技術及び様々な実施形態を最も良好に利用することが可能となる。
【０３１８】
添付図面を参照して、本開示及び実施例を十分に説明してきたが、様々な変更及び修正が、当業者には明らかとなるであろうことに留意されたい。そのような変更及び修正は、特許請求の範囲によって定義されるような、本開示及び実施例の範囲内に含まれるものとして理解されたい。
【０３１９】
上述のように、本技術の一態様は、ユーザが求める内容又はユーザが関心を持つ可能性のある任意の他の内容に関するユーザへの配信を改善するために、種々のソースから入手可能なデータを収集及び使用することである。本開示は、いくつかの例において、この収集されたデータは、特定の人物を一意に特定する個人情報データ、又は特定の人物と通信する若しくはその所在を突き止めるために使用できる個人情報データを含み得ることを想到している。そのような個人情報データとしては、人口統計データ、位置に基づくデータ、電話番号、電子メールアドレス、自宅の住所、又は任意の他の識別情報を挙げることができる。
【０３２０】
本開示は、本技術におけるそのような個人情報データの使用がユーザの利益になる使用であり得る点を認識するものである。例えば、よりユーザの興味を引く対象のコンテンツを配信するために、個人情報データが使用されてもよい。したがって、そのような個人情報データの使用は、配信されるコンテンツの意図的な制御を可能にする。更には、ユーザに利益をもたらす、個人情報データに関する他の使用もまた、本開示によって想到される。
【０３２１】
本開示は、そのような個人情報データの収集、分析、開示、転送、記憶、又は他の使用目的の責任を負うエンティティが、適切に規定されたプライバシーのポリシー及び／又はプライバシーの慣行に準拠すると更に想到する。具体的には、そのようなエンティティは、個人情報データを秘密として厳重に保守するための、業界又は政府の要件を満たしているか又は上回るものとして一般に認識されている、プライバシーのポリシー及び慣行を実施し、一貫して使用するべきである。例えば、ユーザからの個人情報は、そのエンティティの合法的かつ正当な使用のために収集されるべきであり、それらの合法的使用を除いて、共用又は販売されるべきではない。更には、そのような収集は、ユーザに告知して同意を得た後にのみ実施するべきである。加えて、そのようなエンティティは、そのような個人情報データへのアクセスを保護して安全化し、その個人情報データへのアクセス権を有する他者が、それらのプライバシーのポリシー及び手順を遵守することを保証するための、あらゆる必要な措置を講じるであろう。更には、そのようなエンティティは、広く受け入れられているプライバシーのポリシー及び慣行に対する自身の遵守を証明するために、第三者による評価を自らが受けることができる。
【０３２２】
前述のことがらにも関わらず、本開示はまた、個人情報データの使用又は個人情報データへのアクセスを、ユーザが選択的に阻止する実施形態も想到する。すなわち、本開示は、そのような個人情報データへのアクセスを防止又は阻止するように、ハードウェア要素及び／又はソフトウェア要素を提供することができると想到する。例えば、広告配信サービスの場合において、本技術は、ユーザが、サービスの登録の間、個人情報データの収集への参加の「オプトイン」又は「オプトアウト」を選択することを可能とするように構成することができる。別の実施例では、ユーザは、対象のコンテンツ配信サービスに対して位置情報を提供しないことを選択してもよい。更に別の実施例では、ユーザは、正確な位置情報を提供しないが位置のゾーン情報の転送は許可することを選択してもよい。
【０３２３】
それゆえ、本開示は、１つ以上の様々な開示された実施形態を実施するための、個人情報データの使用を広範に網羅するものではあるが、本開示はまた、そのような個人情報データにアクセスすることを必要とせずに、それらの様々な実施形態を実施することもまた可能であることを想到している。すなわち、本技術の様々な実施形態は、そのような個人情報データの全て又は一部分が欠如することにより、実施不可能となるものではない。例えば、ユーザに関連付けられたデバイスによって要求されるコンテンツなどの非個人情報データ若しくは必要最小限の個人情報、コンテンツ配信サービスが入手可能な他の非個人情報、又は公的に入手可能な情報に基づき嗜好を推測することによって、コンテンツを選択し、ユーザへ配信することができる。
【図１Ａ】
0006824552.tif 000002
【図１Ｂ】
0006824552.tif 000003
【図２】
0006824552.tif 000004
【図３】
0006824552.tif 000005
【図４Ａ】
0006824552.tif 000006
【図４Ｂ】
0006824552.tif 000007
【図５Ａ】
0006824552.tif 000008
【図５Ｂ】
0006824552.tif 000009
【図６Ａ】
0006824552.tif 000010
【図６Ｂ】
0006824552.tif 000011
【図６Ｃ】
0006824552.tif 000012
【図６Ｄ】
0006824552.tif 000013
【図６Ｅ】
0006824552.tif 000014
【図６Ｆ】
0006824552.tif 000015
【図６Ｇ】
0006824552.tif 000016
【図６Ｈ】
0006824552.tif 000017
【図６Ｉ】
0006824552.tif 000018
【図６Ｊ】
0006824552.tif 000019
【図７Ａ】
0006824552.tif 000020
【図７Ｂ】
0006824552.tif 000021
【図８】
0006824552.tif 000022
【図９Ａ】
0006824552.tif 000023
【図９Ｂ】
0006824552.tif 000024
【図９Ｃ】
0006824552.tif 000025
【図９Ｄ】
0006824552.tif 000026
【図９Ｅ】
0006824552.tif 000027
【図９Ｆ】
0006824552.tif 000028
【図９Ｇ】
0006824552.tif 000029
【図９Ｈ】
0006824552.tif 000030
【図９Ｉ】
0006824552.tif 000031
【図９Ｊ】
0006824552.tif 000032
【図９Ｋ】
0006824552.tif 000033
【図９Ｌ】
0006824552.tif 000034
【図１０Ａ】
0006824552.tif 000035
【図１０Ｂ】
0006824552.tif 000036
【図１１】
0006824552.tif 000037
【図１２Ａ】
0006824552.tif 000038
【図１２Ｂ】
0006824552.tif 000039
【図１２Ｃ】
0006824552.tif 000040
【図１２Ｄ】
0006824552.tif 000041
【図１２Ｅ】
0006824552.tif 000042
【図１２Ｆ】
0006824552.tif 000043
【図１２Ｇ】
0006824552.tif 000044
【図１２Ｈ】
0006824552.tif 000045
【図１２Ｉ】
0006824552.tif 000046
【図１２Ｊ】
0006824552.tif 000047
【図１３Ａ】
0006824552.tif 000048
【図１３Ｂ】
0006824552.tif 000049
【図１４】
0006824552.tif 000050