(57)【特許請求の範囲】
【請求項１】
タスクを実行するために、複数の電子デバイスから電子デバイスを識別する方法であって、
第１の電子デバイスで、オーディオ入力に関連付けられたタスクを示すデータを受信することと、
前記第１の電子デバイスで、前記タスクのためのディスプレイサイズ要件を決定することと、
前記第１の電子デバイスで、前記第２の電子デバイスのディスプレイサイズ及び前記ディスプレイサイズ要件に基づいて複数の電子デバイスから前記第２の電子デバイスを識別することであって、前記第２の電子デバイスを識別することは、前記第２の電子デバイスのディスプレイサイズが前記ディスプレイサイズ要件を満たすことを決定することを含む、ことと、
前記第１の電子デバイスのディスプレイサイズが前記ディスプレイサイズ要件を満たすことを決定することと、
前記第１の電子デバイスのディスプレイサイズ及び前記第２の電子デバイスのディスプレイサイズの両方が前記ディスプレイサイズ要件を満たす決定に応じて、前記第１の電子デバイスで、前記第１の電子デバイスのディスプレイサイズ及び前記第２の電子デバイスのディスプレイサイズに基づく１以上の優先順位付け規則に基づいて、前記第１の電子デバイス又は前記第２の電子デバイスが前記タスクを実行するかを判定することと、
前記タスクが前記第１の電子デバイスに実行されるという判定に従って、前記第１の電子デバイスで前記タスクを実行することと、
前記タスクが前記第２の電子デバイスに実行されるという判定に従って、前記タスクを示すデータを、前記第２の電子デバイスへ送信させることと、
を含む方法。
【請求項２】
前記タスクを示す前記データを第２の電子デバイスへ提供させることは、
前記タスクを示すデータを第３の電子デバイスへ提供することを含む、請求項１に記載の方法。
【請求項３】
受信することは、
前記第１の電子デバイスのマイクロフォンで前記オーディオ入力を受信することと、
前記オーディオ入力の受信に応じて、前記第１の電子デバイスで、少なくとも一部前記受信したオーディオ入力に基づいて、前記タスクを示す前記データを生成することと、
を含む、請求項１又は２に記載の方法。
【請求項４】
受信することは、
前記第１の電子デバイスのマイクロフォンで前記オーディオ入力を受信することと、
前記受信したオーディオ入力を表すデータを１つ以上のサーバに送信することと、
前記１つ以上のサーバから、前記受信したオーディオ入力を表す前記データに基づいて前記１つ以上のサーバによって判定された前記タスクを示す前記データを受信することと、
を含む、請求項１又は２に記載の方法。
【請求項５】
判定することは、
複数の優先順位付け規則に従って、前記タスクが前記第１の電子デバイス又は前記第２の電子デバイスに関連付けられているかを判定することを含む、請求項１〜４のいずれか１項に記載の方法。
【請求項６】
複数の優先順位付け規則に従って、前記タスクが前記第１の電子デバイス又は前記第２の電子デバイスに関連付けられているかを判定することは、
前記第１の電子デバイスの表示能力、前記第１の電子デバイスの移動性、又はそれらの組み合わせに基づいて、前記タスクが前記第１の電子デバイス又は前記第２の電子デバイスに関連付けられているかを判定することを含む、請求項５に記載の方法。
【請求項７】
複数の優先順位付け規則に従って、前記タスクが前記第１の電子デバイス又は前記第２の電子デバイスに関連付けられているかを判定することは、
前記第１及び第２の電子デバイスの以前の使用に基づいて、前記タスクが前記第１の電子デバイス又は前記第２の電子デバイスに関連付けられているかを判定することを含む、請求項５に記載の方法。
【請求項８】
前記第１の電子デバイスで前記タスクを実行することは、第１のユーザに関連付けられた第１のタスクを実行することを含み、前記方法は、
前記第１の電子デバイスで、前記第１のユーザとは異なる第２のユーザに関連付けられた第２のタスクを実行することを更に含む、請求項１〜７のいずれか１項に記載の方法。
【請求項９】
前記第１の電子デバイスで前記タスクを実行することは、
前記第１の電子デバイスに関連付けられたユーザを認証することと、
前記ユーザを認証したことに応じて、前記タスクを実行することと、
を含む、請求項１〜７のいずれか１項に記載の方法。
【請求項１０】
前記ユーザを認証することは、生体入力を受信することを含む、請求項９に記載の方法。
【請求項１１】
請求項１〜１０のいずれか１項に記載の方法を実行するための命令をコンピュータに実行させるためのコンピュータプログラム。
【請求項１２】
請求項１１に記載のコンピュータプログラムを記憶したメモリと、
前記メモリに記憶された命令を実行可能な１つ以上のプロセッサと、
を備える電子デバイス。
【請求項１３】
請求項１１に記載のコンピュータプログラムを記憶する手段と、
前記記憶する手段に記憶された命令を実行する手段と、
を備える電子デバイス。
【発明の詳細な説明】
【技術分野】
【０００１】
〔関連出願の相互参照〕
【０００２】
本出願は、２０１５年９月３０日に出願された「ＩＮＴＥＬＬＩＧＥＮＴ  ＤＥＶＩＣＥ  ＩＤＥＮＴＩＦＩＣＡＴＩＯＮ」と題する米国特許仮出願第６２／２３５，５４６号、及び２０１６年５月２日に出願された「ＩＮＴＥＬＬＩＧＥＮＴ  ＤＥＶＩＣＥ  ＩＤＥＮＴＩＦＩＣＡＴＩＯＮ」と題する米国特許出願第１５／１４４，６１８号に対する優先権を主張する。この出願の内容は、あらゆる目的で、参照により本明細書に組み込まれる。
【０００３】
本出願は、概して、マルチデバイスシステム、より具体的には、マルチデバイスシステム内のデバイスのインテリジェントな識別に関する。
【背景技術】
【０００４】
多くの最近のデバイスは、口頭ユーザ入力に応じて様々なタスクを実行する仮想アシスタントサービスを提供する。いくつかの状況では、複数のデバイスは、例えば、共有環境で同時に動作することができる。結果として、単一のユーザ入力が、複数のデバイスのそれぞれに同じ要求されたタスクを実行させる場合がある。これは、ひいては、結果としてデバイスによる重複した動作又は相反する動作のいずれかとなることがある。
【発明の概要】
【０００５】
インテリジェントなデバイス識別のためのシステム及びプロセスが提供される。１つの例示的なプロセスでは、オーディオ入力を、複数の電子デバイスの２つ以上のそれぞれで、マイクロフォンでサンプリングすることができる。サンプリングされたオーディオ入力に関連付けられたタスクを判定するための複数の電子デバイスの第１の電子デバイスを識別することができる。このプロセスは、第１の電子デバイスでサンプリングされたオーディオ入力に基づいてタスクを判定して、タスクを実行するための複数の電子デバイスの第２の電子デバイスを識別することができる。タスクは、第２の電子デバイスで実行されることになる。いくつかの実施例では、第２の電子デバイスは、第１の電子デバイスではない。
【０００６】
１つの例示的なプロセスでは、タスクを示すデータを受信することができる。タスクは、オーディオ入力に関連付けることができる。このプロセスは、第１の電子デバイスで、第１の電子デバイス又は第２の電子デバイスがタスクを実行するかを判定することができる。タスクが第１の電子デバイスに関連付けられているという判定に従って、タスクは、第１の電子デバイスによって実行することができる。タスクが第２の電子デバイスに関連付けられているという判定に従って、タスクを示すデータを、第２の電子デバイスへ送信させることができる。
【図面の簡単な説明】
【０００７】
【図１Ａ】本開示のいくつかの実施形態に係る、タッチ感知ディスプレイを備えた多機能デバイスを示すブロック図である。
【図１Ｂ】本開示のいくつかの実施形態に係る、イベント処理のための例示的な構成要素を示すブロック図である。
【図２】本開示のいくつかの実施形態に係る、タッチスクリーンを有する多機能デバイスを示す。
【図３】本開示のいくつかの実施形態に係る、ディスプレイ及びタッチ感知面を備える例示的な多機能デバイスのブロック図である。
【図４Ａ】いくつかの実施形態に係る、ポータブル多機能デバイス上のアプリケーションのメニューのための例示的なユーザインタフェースを示す。
【図４Ｂ】いくつかの実施形態に係る、ディスプレイとは別個のタッチ感知面を備える多機能デバイスに関する、例示的なユーザインタフェースを示す。
【図５Ａ】本開示のいくつかの実施形態に係る、デバイスに関する例示的な構造のブロック図を示す。
【図５Ｂ】本開示のいくつかの実施形態に係る、デバイスに関する例示的な構造のブロック図を示す。
【図６Ａ】様々な実施例に係る、複数の電子デバイスを示す。
【図６Ｂ】様々な実施例に係る、複数の電子デバイスを示す。
【図６Ｃ】様々な実施例に係る、複数の電子デバイスを示す。
【図６Ｄ】様々な実施例に係る、複数の電子デバイスを示す。
【図６Ｅ】様々な実施例に係る、複数の電子デバイスを示す。
【図６Ｆ】様々な実施例に係る、複数の電子デバイスを示す。
【図７Ａ】様々な実施例に係る、複数の電子デバイスを示す。
【図７Ｂ】様々な実施例に係る、複数の電子デバイスを示す。
【図７Ｃ】様々な実施例に係る、複数の電子デバイスを示す。
【図８Ａ】様々な実施例に係る、タスクを実行する電子デバイスを識別するためのプロセスを示す。
【図８Ｂ】様々な実施例に係る、タスクを実行する電子デバイスを識別するためのプロセスを示す。
【図８Ｃ】様々な実施例に係る、タスクを実行する電子デバイスを識別するためのプロセスを示す。
【図８Ｄ】様々な実施例に係る、タスクを実行する電子デバイスを識別するためのプロセスを示す。
【図８Ｅ】様々な実施例に係る、タスクを実行する電子デバイスを識別するためのプロセスを示す。
【図９Ａ】様々な実施例に係る、タスクを実行する電子デバイスを識別するためのプロセスを示す。
【図９Ｂ】様々な実施例に係る、タスクを実行する電子デバイスを識別するためのプロセスを示す。
【図９Ｃ】様々な実施例に係る、タスクを実行する電子デバイスを識別するためのプロセスを示す。
【図１０】様々な実施例に係る、電子デバイスの機能ブロック図を示す。
【発明を実施するための形態】
【０００８】
以下の実施例の説明では、実施することが可能な特定の実施例が例示として示される、添付図面を参照する。様々な実施例の範囲から逸脱することなく、他の実施例を使用することができ、構造上の変更を実施することができることを理解されたい。
【０００９】
仮想アシスタントサービスは、ユーザの任意の数のデバイスによって提供することができる。例えば、ユーザは、モバイルデバイス及びウェアラブルデバイスを同時に使用することができ、それらのそれぞれが、それぞれの仮想アシスタントサービスを提供することができる。ユーザは、複数のデバイスを使用し、かつ近接しながら１つ以上のデバイスにタスクを実行することを要求することができるため、ユーザ要求が直感的に遂行されるようにそれぞれのタスクを実行するためのデバイスのインテリジェントなデバイス識別に対する必要性が存在する。
【００１０】
以下の説明では、様々な要素を説明するために「第１」、「第２」などの用語を使用するが、これらの要素はこれらの用語によって限定されるべきではない。これらの用語は、ある要素を別の要素と区別するためにのみ使用される。例えば、説明されている様々な実施形態の範囲から逸脱することなく、第１のタッチは第２のタッチと称することができ、同様に、第２のタッチは第１のタッチと称し得る。第１のタッチ及び第２のタッチは共にタッチであるが、同じタッチではない。
【００１１】
本明細書で説明される様々な実施形態の説明で使用される用語は、特定の実施形態を説明することのみを目的とするものであって、限定することを意図するものではない。説明される様々な実施形態の説明及び添付の特許請求の範囲で使用されるとき、単数形「ａ」、「ａｎ」、及び「ｔｈｅ」は、文脈がそうではないことを明確に示さない限り、複数形もまた含むことが意図される。本明細書で使用するとき、用語「及び／又は」が、関連する列挙された項目のうちの１つ以上のすべての可能な任意の組み合わせを指し、かつこれを含むことをもまた理解されたい。用語「ｉｎｃｌｕｄｅｓ（含む）」、「ｉｎｃｌｕｄｉｎｇ（含む）」、「ｃｏｍｐｒｉｓｅｓ（含む、備える）」及び／又は「ｃｏｍｐｒｉｓｉｎｇ（含む、備える）」は、本明細書で使用されるとき、述べられた特徴、整数、ステップ、動作、要素、及び／又は構成要素の存在を指定するが、１つ以上の他の特徴、整数、ステップ、動作、要素、構成要素、及び／又はそれらの群、の存在又は追加を除外しないことが更に理解されるであろう。
【００１２】
用語「ｉｆ（〜場合に）」は、文脈に応じて「ｗｈｅｎ（〜時に）」、又は「ｕｐｏｎ（〜すると）」、又は「ｉｎ  ｒｅｓｐｏｎｓｅ  ｔｏ  ｄｅｔｅｒｍｉｎｉｎｇ（〜という判定に応じて）」、又は「ｉｎ  ｒｅｓｐｏｎｓｅ  ｔｏ  ｄｅｔｅｃｔｉｎｇ（〜を検出することに応じて）」を意味すると解釈することができる。同様に、語句「ｉｆ  ｉｔ  ｉｓ  ｄｅｔｅｒｍｉｎｅｄ（〜と判定される場合に）」又は「ｉｆ［ａ  ｓｔａｔｅｄ  ｃｏｎｄｉｔｉｏｎ  ｏｒ  ｅｖｅｎｔ］ｉｓ  ｄｅｔｅｃｔｅｄ（［述べられる条件又はイベント］が検出される場合に）」は、文脈に応じて「ｕｐｏｎ  ｄｅｔｅｒｍｉｎｉｎｇ（〜と判定されると）」、又は「ｉｎ  ｒｅｓｐｏｎｓｅ  ｔｏ  ｄｅｔｅｒｍｉｎｉｎｇ（〜という判定に応じて）」、又は「ｕｐｏｎ  ｄｅｔｅｃｔｉｎｇ［ｔｈｅ  ｓｔａｔｅｄ  ｃｏｎｄｉｔｉｏｎ  ｏｒ  ｅｖｅｎｔ］（［述べられる条件又はイベント］を検出すると）」、又は「ｉｎ  ｒｅｓｐｏｎｓｅ  ｔｏ  ｄｅｔｅｃｔｉｎｇ［ｔｈｅ  ｓｔａｔｅｄ  ｃｏｎｄｉｔｉｏｎ  ｏｒ  ｅｖｅｎｔ］（［述べられる条件又はイベント］の検出に応じて）」を意味すると解釈することができる。
【００１３】
電子デバイス、かかるデバイス用のユーザインタフェース、及びかかるデバイスを使用するための関連する処理、の実施形態について説明する。一部の実施形態では、このデバイスは、ＰＤＡ機能及び／又は音楽プレーヤ機能などの、他の機能も含む、モバイル電話機などのポータブル通信デバイスである。ポータブル多機能デバイスの例示的な実施形態としては、Ｃａｌｉｆｏｒｎｉａ州ＣｕｐｅｒｔｉｎｏのＡｐｐｌｅ  Ｉｎｃ．のｉＰｈｏｎｅ（登録商標）、ｉＰｏｄ  Ｔｏｕｃｈ（登録商標）、及びｉＰａｄ（登録商標）デバイスが挙げられるが、これらに限定されない。タッチ感知面（例えば、タッチスクリーンディスプレイ及び／又はタッチパッド）を備えたラップトップ又はタブレットコンピュータなどの他のポータブル電子デバイスも、任意選択的に、使用される。また、一部の実施形態では、このデバイスは、ポータブル通信デバイスではなく、タッチ感知面（例えば、タッチスクリーンディスプレイ及び／又はタッチパッド）を備えるデスクトップコンピュータであることを理解されたい。
【００１４】
以下の論考では、ディスプレイ及びタッチ感知面を含む、電子デバイスを説明する。しかしながら、この電子デバイスは、任意選択的に、物理キーボード、マウス及び／又はジョイスティックなどの、１つ以上の他の物理ユーザインタフェースデバイスを備えることを理解されたい。
【００１５】
このデバイスは、描画アプリケーション、プレゼンテーションアプリケーション、ワードプロセッシングアプリケーション、ウェブサイト作成アプリケーション、ディスクオーサリングアプリケーション、スプレッドシートアプリケーション、ゲームアプリケーション、電話アプリケーション、テレビ会議アプリケーション、電子メールアプリケーション、インスタントメッセージングアプリケーション、トレーニングサポートアプリケーション、写真管理アプリケーション、デジタルカメラアプリケーション、デジタルビデオカメラアプリケーション、ウェブブラウジングアプリケーション、デジタル音楽プレーヤアプリケーション、及び／又はデジタルビデオプレーヤアプリケーションのうちの１つ以上などの、様々なアプリケーションをサポートすることができる。
【００１６】
このデバイス上で実行される様々なアプリケーションは、タッチ感知面などの、少なくとも１つの共通の物理ユーザインタフェースデバイスを、任意選択的に使用する。タッチ感知面の１つ以上の機能、並びにデバイス上に表示される対応する情報は、アプリケーションごとに、及び／又は対応するアプリケーション内で、任意選択的に、調節及び／又は変更される。このように、デバイスの共通の（タッチ感知面などの）物理アーキテクチャは、ユーザにとって直感的かつ透過的なユーザインタフェースを有する様々なアプリケーションを、任意選択的にサポートする。
１．言語入力訂正を実行するための例示的なデバイス
【００１７】
次に、タッチ感知ディスプレイを備えるポータブルデバイスの実施形態に注意を向ける。図１Ａは、いくつかの実施形態に係る、タッチ感知ディスプレイシステム１１２を備えたポータブル多機能デバイス１００を示すブロック図である。タッチ感知ディスプレイ１１２は、便宜上「タッチスクリーン」と呼ばれる場合があり、「タッチ感知ディスプレイシステム」として、知られる場合又は呼ばれる場合もある。デバイス１００は、メモリ１０２（任意選択的に、１つ以上のコンピュータ可読記憶媒体を含む）と、メモリコントローラ１２２と、１つ以上の処理ユニット（ＣＰＵ）１２０と、周辺機器インタフェース１１８と、ＲＦ回路１０８と、オーディオ回路１１０と、スピーカ１１１と、マイクロフォン１１３と、入出力（input/output）（Ｉ／Ｏ）サブシステム１０６と、他の入力制御デバイス１１６と、外部ポート１２４と、を含む。デバイス１００は、１つ以上の光センサ１６４を任意選択的に含む。デバイス１００は、デバイス１００（例えば、デバイス１００のタッチ感知ディスプレイシステム１１２などのタッチ感知面）上の接触の強度を検出するための、１つ以上の接触強度センサ１６５を任意選択的に含む。デバイス１００は、デバイス１００上に触知出力を生成する（例えば、デバイス１００のタッチ感知ディスプレイシステム１１２又はデバイス３００のタッチパッド３５５などの、タッチ感知面上に触知出力を生成する）ための、１つ以上の触知出力生成器１６７を、任意選択的に含む。これらの構成要素は、１つ以上の通信バス又は信号ライン１０３を介して任意選択的に通信する。
【００１８】
本明細書及び特許請求の範囲で使用されるとき、タッチ感知面上の接触の「強度」という用語は、タッチ感知面上の接触（例えば、指接触）の力若しくは圧力（単位面積当りの力）、又はタッチ感知面上の接触の力若しくは圧力の代替物（代用物）を指す。接触の強度は、少なくとも４つの別個の値を含み、より典型的には、何百もの異なる値（例えば、少なくとも２５６）を含む、値の範囲を有する。接触の強度は、様々な方法及び様々なセンサ、又はセンサの組み合わせを用いて、任意選択的に、判定（又は、測定）される。例えば、タッチ感知面の下に又は隣接して配置された１つ以上の力センサは、タッチ感知面上の様々な点における力を測定するために、任意選択的に使用される。いくつかの実装において、複数の力センサの力測定値を組み合わせて（例えば、加重平均）、接触力の推定値を判定する。同様に、スタイラスの感圧性先端部を任意選択的に使用して、タッチ感知面上のスタイラスの圧力を判定する。あるいは、タッチ感知面上で検出される接触領域のサイズ及び／若しくはその変化、接触に近接するタッチ感知面の電気容量及び／若しくはその変化、並びに／又は、接触に近接するタッチ感知面の抵抗及び／若しくはその変化が、タッチ感知面上の接触の力又は圧力の代替物として、任意選択的に用いられる。いくつかの実装では、接触の力又は圧力の代替的測定値は、強度閾値を超えているか否かを判定するために直接に用いられる（例えば、強度閾値は、代替的測定値に対応する単位で記述される）。いくつかの実装では、接触の力又は圧力の代替的測定値は、推定される力又は圧力に変換され、この推定される力又は圧力を用いて、強度閾値を超えているか否かを判定する（例えば、強度閾値は、圧力の単位で測定された圧力閾値である）。接触の強度をユーザ入力の属性として使用することにより、アフォーダンスを（例えば、タッチ感知ディスプレイ上に）表示するための、及び／又は、ユーザ入力を（例えば、タッチ感知ディスプレイ、タッチ感知面、又はノブ若しくはボタンなどの物理的／機械的制御部を介して）受け取るための、面積が制限されている、低減されたサイズのデバイス上で、他の場合であればユーザによってアクセスすることが不可能であり得る、追加的なデバイス機能への、ユーザのアクセスが可能となる。
【００１９】
本明細書及び特許請求の範囲で使用されるとき、用語「触知出力」は、ユーザの触覚でユーザによって検出されることになる、デバイスの従前の位置に対するデバイスの物理的変位、デバイスの構成要素（例えば、タッチ感知面）の、デバイスの別の構成要素（例えば、筐体）に対する物理的変位、又はデバイスの質量中心に対する構成要素の変位を指す。例えば、デバイス又はデバイスの構成要素が、タッチに敏感なユーザの表面（例えば、ユーザの手の指、手のひら、又は他の部分）に接触している状況において、物理的変位によって生成された触知出力は、デバイス又はデバイスの構成要素の物理的特性の認識された変化に相当する触感として、ユーザによって解釈される。例えば、タッチ感知面（例えば、タッチ感知ディスプレイ又はトラックパッド）の移動は、ユーザによって、物理アクチュエータボタンの「ダウンクリック」又は「アップクリック」として任意選択的に解釈される。いくつかの場合、ユーザの動作により物理的に押された（例えば、変位された）タッチ感知面に関連付けられた物理アクチュエータボタンの移動がないときでさえ、ユーザは「ダウンクリック」又は「アップクリック」などの触感を感じるであろう。別の実施例として、タッチ感知面の移動は、タッチ感知面の平滑度に変化がない場合であっても、ユーザによって、そのタッチ感知面の「粗さ」として、任意選択的に解釈又は感知される。そのようなユーザによるタッチの解釈は、ユーザの個人的な感覚認知に左右されるものではあるが、大多数のユーザに共通する、多くのタッチの感覚認知が存在する。したがって、触知出力が、ユーザの特定の感覚認知（例えば、「アップクリック」、「ダウンクリック」、「粗さ」）に対応するものと記述される場合、別途記載のない限り、生成された触知出力は、典型的な（又は、平均的な）ユーザの記述された感覚認知を生成するデバイス、又はデバイスの構成要素の物理的変位に対応する。
【００２０】
デバイス１００は、ポータブル多機能デバイスの一実施例に過ぎず、デバイス１００は、示されているものよりも多くの構成要素又は少ない構成要素を任意選択的に有し、２つ以上の構成要素を任意選択的に組み合わせるか、又は、それらの構成要素の異なる構成若しくは配置を任意選択的に有することを理解されたい。図１Ａに示される様々な構成要素は、１つ以上の信号処理回路及び／又は特定用途向け集積回路を含めた、ハードウェア、ソフトウェア、又はハードウェア及びソフトウェアの双方の組み合わせとして実装される。
【００２１】
メモリ１０２は、１つ以上のコンピュータ可読記憶媒体を含んでもよい。このコンピュータ可読記憶媒体は、有形かつ非一時的であってよい。このコンピュータ可読記憶媒体は、後述するプロセス８００及び９００を実行する命令を記憶することができる。メモリ１０２は、高速ランダムアクセスメモリを含んでもよく、１つ以上の磁気ディスク記憶デバイス、フラッシュメモリデバイス、又は他の不揮発性ソリッドステートメモリデバイスなどの、不揮発性メモリもまた含んでよい。メモリコントローラ１２２は、デバイス１００の他の構成要素によるメモリ１０２へのアクセスを制御してよい。
【００２２】
周辺機器インタフェース１１８を使用して、このデバイスの入力及び出力周辺機器を、ＣＰＵ１２０及びメモリ１０２に連結することができる。１つ以上のプロセッサ１２０は、デバイス１００のための様々な機能を実行するため並びにデータを処理するために、メモリ１０２に記憶された様々なソフトウェアプログラム及び／又は命令セットを動作させる、又は実行する。一部の実施形態では、周辺機器インタフェース１１８、ＣＰＵ１２０、及びメモリコントローラ１２２は、チップ１０４などのシングルチップ上に実装してもよい。いくつかの他の実施形態では、それらは、別個のチップ上に実装してもよい。
【００２３】
ＲＦ（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、ＨＳＵＰＡ）、Ｅｖｏｌｕｔｉｏｎ，Ｄａｔａ−Ｏｎｌｙ（ＥＶ−ＤＯ）、ＨＳＰＡ、ＨＳＰＡ＋、２重セルＨＳＰＡ（Dual-Cell HSPA、ＤＣ−ＨＳＰＤＡ）、ロングタームエボリューション（long term evolution、ＬＴＥ）、近距離無線通信（near field communication、ＮＦＣ）、広帯域符号分割多元接続（wideband code division multiple access、Ｗ−ＣＤＭＡ）、符号分割多元接続（code division multiple access、ＣＤＭＡ）、時分割多元接続（time division multiple access、ＴＤＭＡ）、Ｂｌｕｅｔｏｏｔｈ（登録商標）、Ｂｌｕｅｔｏｏｔｈ  Ｌｏｗ  Ｅｎｅｒｇｙ（ＢＴＬＥ）、Ｗｉｒｅｌｅｓｓ  Ｆｉｄｅｌｉｔｙ（Ｗｉ−Ｆｉ）（登録商標）（例えば、ＩＥＥＥ  ８０２．１１ａ、ＩＥＥＥ  ８０２．１１ｂ、ＩＥＥＥ  ８０２．１１ｇ、ＩＥＥＥ  ８０２．１１ｎ、及び／又はＩＥＥＥ  ８０２．１１ａｃ）、ボイスオーバーインターネットプロトコル（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）（ＩＭ）モジュール１４１、
●トレーニングサポートモジュール１４２、
●静止画像及び／又はビデオ画像用のカメラモジュール１４３、
●画像管理モジュール１４４、
●ビデオプレーヤモジュール、
●ミュージックプレーヤモジュール、
●ブラウザモジュール１４７、
●カレンダーモジュール１４８、
●気象ウィジェット１４９−１、株式ウィジェット１４９−２、計算機ウィジェット１４９−３、アラーム時計ウィジェット１４９−４、辞書ウィジェット１４９−５、及びユーザによって取得された他のウィジェット、並びにユーザ作成ウィジェット１４９−６のうちの１つ以上を含み得る、ウィジェットモジュール１４９、
●ユーザ作成ウィジェット１４９−６を作成するためのウィジェット作成モジュール１５０、
●検索モジュール１５１、
●ビデオプレーヤモジュール及びミュージックプレーヤモジュールを統合した、ビデオ及びミュージックプレーヤモジュール１５２、
●メモモジュール１５３、
●地図モジュール１５４、及び／又は
●オンラインビデオモジュール１５５。
【００５２】
メモリ１０２内に記憶することができる他のアプリケーション１３６の例としては、他のワードプロセッシングアプリケーション、他の画像編集アプリケーション、描画アプリケーション、プレゼンテーションアプリケーション、ＪＡＶＡ（登録商標）対応アプリケーション、暗号化、デジタル著作権管理、音声認識、及び音声複製が挙げられる。
【００５３】
タッチスクリーン１１２、ディスプレイコントローラ１５６、接触／動きモジュール１３０、グラフィックモジュール１３２、及びテキスト入力モジュール１３４と連携して、連絡先モジュール１３７は、（例えば、メモリ１０２又はメモリ３７０内の連絡先モジュール１３７のアプリケーション内部状態１９２に記憶される）アドレス帳又は連絡先リストを管理するために使用することができる。この管理することとしては、アドレス帳に名前（単数又は複数）を加えること、アドレス帳から名前（単数又は複数）を削除すること、電話番号（単数又は複数）、メールアドレス（単数又は複数）、住所（単数又は複数）、又は他の情報を名前と関連付けること、画像を名前と関連付けること、名前を分類して並べ替えること、電話番号又は電子メールアドレスを提供して、電話１３８、テレビ会議モジュール１３９、電子メール１４０、又はＩＭ１４１による通信を開始する及び／又は容易にすること、などが含まれる。
【００５４】
ＲＦ回路１０８、オーディオ回路１１０、スピーカ１１１、マイクロフォン１１３、タッチスクリーン１１２、ディスプレイコントローラ１５６、接触／動きモジュール１３０、グラフィックモジュール１３２、及びテキスト入力モジュール１３４と連携して、電話モジュール１３８は、電話番号に対応する一連の文字を入力し、連絡先モジュール１３７内の１つ以上の電話番号にアクセスし、入力された電話番号を修正し、対応する電話番号をダイアルし、会話を行い、そして、会話が完了した際に接続を切るか又は電話を切るために、使用することができる。上述のように、無線通信は、複数の通信規格、通信プロトコル、及び通信技術のうちのいずれをも使用することができる。
【００５５】
ＲＦ回路１０８、オーディオ回路１１０、スピーカ１１１、マイクロフォン１１３、タッチスクリーン１１２、ディスプレイコントローラ１５６、光センサ１６４、光センサコントローラ１５８、接触／動きモジュール１３０、グラフィックモジュール１３２、テキスト入力モジュール１３４、連絡先モジュール１３７、及び電話モジュール１３８と連携して、テレビ会議モジュール１３９は、ユーザの指示に従って、ユーザと１人以上の他の参加者との間のテレビ会議を開始し、実行し、終了する、実行可能な命令を含む。
【００５６】
ＲＦ回路１０８、タッチスクリーン１１２、ディスプレイコントローラ１５６、接触／動きモジュール１３０、グラフィックモジュール１３２、及びテキスト入力モジュール１３４と連携して、電子メールクライアントモジュール１４０は、ユーザの指示に応じて、電子メールを作成し、送信し、受信し、管理するための、実行可能な命令を含む。画像管理モジュール１４４と連携して、電子メールクライアントモジュール１４０は、カメラモジュール１４３で撮影された静止画像又はビデオ画像を有する電子メールを作成及び送信することを非常に容易にする。
【００５７】
ＲＦ回路１０８、タッチスクリーン１１２、ディスプレイコントローラ１５６、接触／動きモジュール１３０、グラフィックモジュール１３２、及びテキスト入力モジュール１３４と連携して、インスタントメッセージングモジュール１４１は、インスタントメッセージに対応する文字列を入力したり、入力済の文字を修正したり、（例えば、電話ベースのインスタントメッセージのためのショートメッセージサービス（ＳＭＳ）若しくはマルチメディアメッセージサービス（ＭＭＳ）プロトコルを使用して、又はインターネットベースのインスタントメッセージのためのＸＭＰＰ、ＳＩＭＰＬＥ、若しくはＩＭＰＳを使用して）対応するインスタントメッセージを送信したり、インスタントメッセージを受信したり、及び受信したインスタントメッセージを閲覧したりする、実行可能な命令を含む。一部の実施形態において、送信及び／又は受信されるインスタントメッセージは、ＭＭＳ及び／又は拡張メッセージングサービス（Enhanced Messaging Service、ＥＭＳ）でサポートされるような、グラフィック、写真、オーディオファイル、ビデオファイル、及び／又は他の添付ファイルを含んでもよい。本明細書で使用するとき、「インスタントメッセージング」とは、電話ベースのメッセージ（例えば、ＳＭＳ又はＭＭＳを使用して送信されるメッセージ）及びインターネットベースのメッセージ（例えば、ＸＭＰＰ、ＳＩＭＰＬＥ、又はＩＭＰＳを使用して送信されるメッセージ）の双方を指す。
【００５８】
ＲＦ回路１０８、タッチスクリーン１１２、ディスプレイコントローラ１５６、接触／動きモジュール１３０、グラフィックモジュール１３２、テキスト入力モジュール１３４、ＧＰＳモジュール１３５、地図モジュール１５４、及びミュージックプレーヤモジュールと連携して、トレーニングサポートモジュール１４２は、次のための実行可能な命令を含む：（例えば、時間、距離、及び／又はカロリー消費目標を有する）トレーニングを作成することと、トレーニングセンサ（スポーツデバイス）と通信することと、トレーニングセンサデータを受信することと、トレーニングをモニタするために使用されるセンサを較正することと、トレーニングのための音楽を選択し、再生することと、トレーニングデータを表示し、記憶し、送信すること。
【００５９】
タッチスクリーン１１２、ディスプレイコントローラ１５６、光センサ（単数又は複数）１６４、光センサコントローラ１５８、接触／動きモジュール１３０、グラフィックモジュール１３２、及び画像管理モジュール１４４と連携して、カメラモジュール１４３は、静止画像若しくは（ビデオストリームを含む）ビデオをキャプチャしてメモリ１０２にそれらを記憶する、静止画像若しくはビデオの特性を変更する、又はメモリ１０２から静止画像若しくはビデオを削除する、実行可能な命令を含む。
【００６０】
タッチスクリーン１１２、ディスプレイコントローラ１５６、接触／動きモジュール１３０、グラフィックモジュール１３２、テキスト入力モジュール１３４、及びカメラモジュール１４３と連携して、画像管理モジュール１４４は、静止画像及び／又はビデオ画像を配置する、修正し（例えば、編集し）又は別の方法で操作する、ラベルを付ける、削除する、（例えば、デジタルスライドショー又はアルバムにおいて）提示する、及び記憶する、実行可能な命令を含む。
【００６１】
ＲＦ回路１０８、タッチスクリーン１１２、ディスプレイコントローラ１５６、接触／動きモジュール１３０、グラフィックモジュール１３２、及び、テキスト入力モジュール１３４と連携して、ブラウザモジュール１４７は、ウェブページ又はそれらの一部、並びにウェブページにリンクされた添付及び他のファイルを検索し、リンク付けし、受信し、表示することを含むユーザの指示に従い、インターネットを閲覧する実行可能な命令を含む。
【００６２】
ＲＦ回路１０８、タッチスクリーン１１２、ディスプレイコントローラ１５６、接触／動きモジュール１３０、グラフィックモジュール１３２、テキスト入力モジュール１３４、電子メールクライアントモジュール１４０、及びブラウザモジュール１４７と連携して、カレンダーモジュール１４８は、ユーザの指示に従い、カレンダー及びカレンダーに関連付けられたデータ（例えば、カレンダー項目、ｔｏ  ｄｏリストなど）を作成し、表示し、変更し、記憶する実行可能な命令を含む。
【００６３】
ＲＦ回路１０８、タッチスクリーン１１２、ディスプレイコントローラ１５６、接触／動きモジュール１３０、グラフィックモジュール１３２、テキスト入力モジュール１３４、及びブラウザモジュール１４７と連携して、ウィジェットモジュール１４９は、ユーザによってダウンロードされ、使用することが可能なミニアプリケーション（例えば、気象ウィジェット１４９−１、株式ウィジェット１４９−２、計算機ウィジェット１４９−３、アラーム時計ウィジェット１４９−４、及び辞書ウィジェット１４９−５）、又はユーザによって作成することが可能なミニアプリケーション（例えば、ユーザ作成ウィジェット１４９−６）である。一部の実施形態において、ウィジェットは、ＨＴＭＬ（Hypertext Markup Language）（ハイパーテキストマークアップ言語）ファイル、ＣＳＳ（Cascading Style Sheets）（カスケーディングスタイルシート）ファイル、及びＪａｖａＳｃｒｉｐｔ（登録商標）ファイルを含む。一部の実施形態において、ウィジェットは、ＸＭＬ（Extensible Markup Language）（拡張可能マークアップ言語）ファイル及びＪａｖａＳｃｒｉｐｔファイル（例えば、Ｙａｈｏｏ！（登録商標）ウィジェット）を含む。
【００６４】
ＲＦ回路１０８、タッチスクリーン１１２、ディスプレイコントローラ１５６、接触／動きモジュール１３０、グラフィックモジュール１３２、テキスト入力モジュール１３４、及びブラウザモジュール１４７と連携して、ウィジェット作成モジュール１５０は、ウィジェットを作成する（例えば、ウェブページのユーザ指定箇所をウィジェットに変える）ために、ユーザによって使用することができる。
【００６５】
タッチスクリーン１１２、ディスプレイコントローラ１５６、接触／動きモジュール１３０、グラフィックモジュール１３２、及びテキスト入力モジュール１３４と連携して、検索モジュール１５１は、ユーザの指示に従い、１つ以上の検索基準（例えば、１つ以上のユーザ指定の検索語句）と一致する、メモリ１０２内のテキスト、音楽、音、画像、ビデオ、及び／又は他のファイルを検索する、実行可能な命令を含む。
【００６６】
タッチスクリーン１１２、ディスプレイコントローラ１５６、接触／動きモジュール１３０、グラフィックモジュール１３２、オーディオ回路１１０、スピーカ１１１、ＲＦ回路１０８、及びブラウザモジュール１４７と連携して、ビデオ及びミュージックプレーヤモジュール１５２は、ＭＰ３又はＡＡＣファイルなどの１つ以上のファイル形式で記憶された録音済の音楽及び他のサウンドファイルをユーザがダウンロード及び再生できるようにする実行可能な命令、並びにビデオを（タッチスクリーン１１２上又は外部ポート１２４を介して接続された外部のディスプレイ上に）表示、提示、又は別の方法で再生する実行可能な命令を含む。一部の実施形態では、デバイス１００は、任意選択的に、ｉＰｏｄ（Ａｐｐｌｅ  Ｉｎｃ．の商標）などのＭＰ３プレーヤの機能を備える。
【００６７】
タッチスクリーン１１２、ディスプレイコントローラ１５６、接触／動きモジュール１３０、グラフィックモジュール１３２、及びテキスト入力モジュール１３４と連携して、メモモジュール１５３は、ユーザの指示に従って、メモ、ｔｏ  ｄｏリストなどを作成及び管理する実行可能な命令を含む。
【００６８】
ＲＦ回路１０８、タッチスクリーン１１２、ディスプレイコントローラ１５６、接触／動きモジュール１３０、グラフィックモジュール１３２、テキスト入力モジュール１３４、ＧＰＳモジュール１３５、及びブラウザモジュール１４７と連携して、地図モジュール１５４は、ユーザの指示に従い、地図及び地図に関連付けられたデータ（例えば、運転方向、特定の位置又はその近くの店舗及びその他の対象地点のデータ、並びに他の位置ベースのデータ）を受信し、表示し、変更し、及び記憶するために、使用することができる。
【００６９】
タッチスクリーン１１２、ディスプレイコントローラ１５６、接触／動きモジュール１３０、グラフィックモジュール１３２、オーディオ回路１１０、スピーカ１１１、ＲＦ回路１０８、テキスト入力モジュール１３４、電子メールクライアントモジュール１４０、及びブラウザモジュール１４７と連携して、オンラインビデオモジュール１５５は、ユーザがＨ．２６４などの１つ以上のファイル形式のオンラインビデオにアクセスし、閲覧し、（例えば、ストリーミング及び／又はダウンロードにより）受信し、（例えば、タッチスクリーン上で又は外部ポート１２４を介して接続された外部のディスプレイ上で）再生し、特定のオンラインビデオへのリンクを含む電子メールを送信し、別の方法で管理することが可能となる命令を含む。一部の実施形態では、特定のオンラインビデオへのリンクを送信するために、電子メールクライアントモジュール１４０ではなく、インスタントメッセージングモジュール１４１が使用される。オンラインビデオアプリケーションの追加の説明は、２００７年６月２０日に出願された米国特許仮出願第６０／９３６，５６２号、「Ｐｏｒｔａｂｌｅ  Ｍｕｌｔｉｆｕｎｃｔｉｏｎ  Ｄｅｖｉｃｅ，Ｍｅｔｈｏｄ，ａｎｄ  Ｇｒａｐｈｉｃａｌ  Ｕｓｅｒ  Ｉｎｔｅｒｆａｃｅ  ｆｏｒ  Ｐｌａｙｉｎｇ  Ｏｎｌｉｎｅ  Ｖｉｄｅｏｓ」、及び２００７年１２月３１日に出願された米国特許出願第１１／９６８，０６７号、「Ｐｏｒｔａｂｌｅ  Ｍｕｌｔｉｆｕｎｃｔｉｏｎ  Ｄｅｖｉｃｅ，Ｍｅｔｈｏｄ，ａｎｄ  Ｇｒａｐｈｉｃａｌ  Ｕｓｅｒ  Ｉｎｔｅｒｆａｃｅ  ｆｏｒ  Ｐｌａｙｉｎｇ  Ｏｎｌｉｎｅ  Ｖｉｄｅｏｓ」に見出すことができ、これらの出願の内容はその全体が本明細書において参照により組み込まれている。
【００７０】
上記で特定されたモジュール及びアプリケーションのそれぞれは、１つ以上の上記の機能を実行する実行可能な命令セット及び本出願に記載の方法（例えば、コンピュータにより実装される方法及び本明細書に記載の他の情報処理方法）に対応する。これらのモジュール（例えば、命令のセット）は、別個のソフトウェアプログラム、手順、又はモジュールとして実装される必要はなく、それゆえ、様々な実施形態では、これらのモジュールの様々なサブセットを組み合わせるか、又は他の方式で再編成することができる。例えば、ビデオプレーヤモジュールは、ミュージックプレーヤモジュールと組み合わせて、単一のモジュール（例えば、図１Ａのビデオ及びミュージックプレーヤモジュール１５２）としてもよい。一部の実施形態において、メモリ１０２は、上記で特定されたモジュール及びデータ構造のサブセットを記憶することができる。更に、メモリ１０２は、上述されていない追加のモジュール及びデータ構造を記憶してもよい。
【００７１】
一部の実施形態では、デバイス１００は、デバイス上の機能の既定のセットの動作が排他的にタッチスクリーン及び／又はタッチパッドを介して実行されるデバイスである。デバイス１００の動作に関する主要な入力制御デバイスとしてタッチスクリーン及び／又はタッチパッドを使用することによって、デバイス１００上の（プッシュボタン、ダイアルなどの）物理入力制御デバイスの数を低減することができる。
【００７２】
タッチスクリーン及び／又はタッチパッドのみを介して実行される、既定の機能のセットは、任意選択的に、ユーザインタフェース間のナビゲーションを含む。一部の実施形態では、タッチパッドは、ユーザによってタッチされると、デバイス１００上に表示される任意のユーザインタフェースから、メインメニュー、ホームメニュー、又はルートメニューへデバイス１００をナビゲートする。かかる実施形態では、「メニューボタン」はタッチパッドを用いて実装される。一部の他の実施形態では、メニューボタンは、タッチパッドの代わりに、物理プッシュボタン又は他の物理入力制御デバイスである。
【００７３】
図１Ｂは、いくつかの実施形態に係る、イベント処理のための例示的な構成要素を示すブロック図である。一部の実施形態では、メモリ１０２（図１Ａ）又はメモリ３７０（図３）は、イベントソート部１７０（例えば、オペレーティングシステム１２６内）及び対応するアプリケーション１３６−１（例えば、上述のアプリケーション１３７〜１５１、１５５、３８０〜３９０のうちのいずれか）を含む。
【００７４】
イベントソート部１７０は、イベント情報を受信し、イベント情報が配信されるアプリケーション１３６−１及びアプリケーション１３６−１のアプリケーションビュー１９１を判定する。イベントソート部１７０は、イベントモニタ１７１及びイベントディスパッチャモジュール１７４を含む。一部の実施形態において、アプリケーション１３６−１は、アプリケーションがアクティブ又は実行中のとき、タッチ感知ディスプレイ１１２上に表示される現在のアプリケーションビュー（単数又は複数）を示す、アプリケーション内部状態１９２を含む。いくつかの実施形態では、デバイス／グローバル内部状態１５７は、いずれのアプリケーション（単数又は複数）が現在アクティブであるかを判定するために、イベントソート部１７０によって使用され、アプリケーション内部状態１９２は、イベント情報が配信されるアプリケーションビュー１９１を判定するために、イベントソート部１７０によって使用される。
【００７５】
一部の実施形態において、アプリケーション内部状態１９２は、アプリケーション１３６−１が実行を再開する際に使用される再開情報、アプリケーション１３６−１によって情報が表示されているか又は表示の準備が整っていることを示すユーザインタフェース状態情報、ユーザがアプリケーション１３６−１の以前の状態又はビューに戻ることを可能にするための状態待ち行列、及びユーザが以前に行ったアクションのリドゥ／アンドゥ待ち行列、のうちの１つ以上などの追加情報を含む。
【００７６】
イベントモニタ１７１は、周辺機器インタフェース１１８からイベント情報を受信する。イベント情報は、サブイベント（例えば、マルチタッチジェスチャの一部としての、タッチ感知ディスプレイ１１２上のユーザタッチ）の情報を含む。周辺機器インタフェース１１８は、Ｉ／Ｏサブシステム１０６、又は近接センサ１６６、加速度計（単数又は複数）１６８、及び／若しくは（オーディオ回路１１０を介する）マイクロフォン１１３などのセンサから受信する情報を送信する。周辺機器インタフェース１１８がＩ／Ｏサブシステム１０６から受信する情報には、タッチ感知ディスプレイ１１２又はタッチ感知面からの情報が含まれる。
【００７７】
一部の実施形態では、イベントモニタ１７１は、所定の間隔で周辺機器インタフェース１１８に要求を送信する。これに応じて、周辺機器インタフェース１１８はイベント情報を送信する。他の実施形態では、周辺機器インタフェース１１８は、重要なイベント（例えば、所定のノイズ閾値を上回り、かつ／又は所定の持続時間を超えた入力を受けること）が存在する場合にのみ、イベント情報を送信する。
【００７８】
いくつかの実施形態では、イベントソート部１７０はまた、ヒットビュー判定モジュール１７２及び／又はアクティブイベント認識部判定モジュール１７３も含む。
【００７９】
ヒットビュー判定モジュール１７２は、タッチ感知ディスプレイ１１２が２つ以上のビューを表示する場合に、サブイベントが１つ以上のビュー内のいずれの場所で発生したかを判定するための、ソフトウェア手順を提供する。ビューは、制御部及びユーザがディスプレイ上で見ることが可能な他の要素で構成される。
【００８０】
アプリケーションに関連付けられたユーザインタフェースの別の態様は、本明細書では、アプリケーションビュー又はユーザインタフェースウィンドウと呼ばれる場合があるビューのセットであり、それらの中で情報が表示され、タッチに基づくジェスチャが生じる。タッチが検出される（対応するアプリケーションの）アプリケーションビューは、そのアプリケーションのプログラム階層又はビュー階層内のプログラムレベルに対応し得る。例えば、タッチが検出される最下位レベルのビューをヒットビューと呼ぶことができ、適切な入力として認識されるイベントのセットは、少なくとも部分的には、タッチに基づくジェスチャを開始する最初のタッチのヒットビューに基づいて、判定することができる。
【００８１】
ヒットビュー判定モジュール１７２は、タッチベースのジェスチャのサブイベントと関連する情報を受信する。アプリケーションが、階層として編成された複数のビューを有する場合、ヒットビュー判定モジュール１７２は、そのサブイベントを処理すべき階層内の最下位のビューとしての、ヒットビューを特定する。ほとんどの状況では、ヒットビューは、最初のサブイベント（例えば、イベント又は潜在的なイベントを形成するサブイベントのシーケンスにおける最初のサブイベント）が発生する最下位レベルのビューである。ヒットビューがヒットビュー判定モジュール１７２によって特定されると、ヒットビューは、典型的には、それがヒットビューとして特定された、同じタッチ又は入力ソースに関連するすべてのサブイベントを受信する。
【００８２】
アクティブイベント認識部判定モジュール１７３は、ビュー階層内のどのビュー（単数又は複数）がサブイベントの特定のシーケンスを受信すべきかを判定する。いくつかの実施形態では、アクティブイベント認識部判定モジュール１７３は、ヒットビューのみがサブイベントの特定のシーケンスを受信すべきであると判定する。他の実施形態では、アクティブイベント認識部判定モジュール１７３は、サブイベントの物理位置を含むすべてのビューはアクティブに関わっているビューであると判定し、したがって、すべてのアクティブに関わっているビューは、サブイベントの特定のシーケンスを受信すべきであると判定する。他の実施形態では、タッチサブイベントがある特定のビューに関連付けられた領域に完全に限定されたとしても、階層の上位のビューは、依然としてアクティブに関わっているビューであり続ける。
【００８３】
イベントディスパッチャモジュール１７４は、イベント情報をイベント認識部（例えば、イベント認識部１８０）に送信する。アクティブイベント認識部判定モジュール１７３を含む実施形態において、イベントディスパッチャモジュール１７４は、アクティブイベント認識部判定モジュール１７３により判定されたイベント認識部にイベント情報を配信する。いくつかの実施形態では、イベントディスパッチャモジュール１７４は、対応するイベント受信部１８２により取得されるイベント情報をイベント待ち行列に記憶する。
【００８４】
いくつかの実施形態では、オペレーティングシステム１２６は、イベントソート部１７０を含む。あるいは、アプリケーション１３６−１が、イベントソート部１７０を含む。更に他の実施形態では、イベントソート部１７０は、独立型のモジュール、又は接触／動きモジュール１３０などの、メモリ１０２に記憶された別のモジュールの一部である。
【００８５】
いくつかの実施形態では、アプリケーション１３６−１は、それぞれがアプリケーションのユーザインタフェースのそれぞれのビュー内で発生するタッチイベントを処理する命令を含む、複数のイベント処理部１９０及び１つ以上のアプリケーションビュー１９１を含む。アプリケーション１３６−１の各アプリケーションビュー１９１は、１つ以上のイベント認識部１８０を含む。通常、それぞれのアプリケーションビュー１９１は、複数のイベント認識部１８０を含む。他の実施形態では、イベント認識部１８０のうちの１つ以上は、ユーザインタフェースキット（図示せず）又はアプリケーション１３６−１が方法及び他の特性を継承する上位レベルのオブジェクトなどの、別個のモジュールの一部である。いくつかの実施形態では、各イベント処理部１９０は、データ更新部１７６、オブジェクト更新部１７７、ＧＵＩ更新部１７８、及び／又はイベントソート部１７０から受信したイベントデータ１７９、のうちの１つ以上を含む。イベント処理部１９０は、アプリケーション内部状態１９２を更新するために、データ更新部１７６、オブジェクト更新部１７７、又はＧＵＩ更新部１７８を利用するか又は呼び出してもよい。あるいは、アプリケーションビュー１９１のうちの１つ以上は、１つ以上の対応するイベント処理部１９０を含んでいる。また、いくつかの実施形態では、データ更新部１７６、オブジェクト更新部１７７、及びＧＵＩ更新部１７８のうちの１つ以上は、対応するアプリケーションビュー１９１に含まれる。
【００８６】
各イベント認識部１８０は、イベントソート部１７０からイベント情報（例えば、イベントデータ１７９）を受信して、そのイベント情報からイベントを識別する。イベント認識部１８０は、イベント受信部１８２及びイベント比較部１８４を含む。いくつかの実施形態では、イベント認識部１８０は更に、メタデータ１８３及びイベント配信命令１８８（サブイベント配信命令を含んでもよい）の少なくともサブセットを含んでいる。
【００８７】
イベント受信部１８２は、イベントソート部１７０からイベント情報を受信する。このイベント情報は、サブイベントについての情報、例えば、タッチ又はタッチの移動についての情報を含む。サブイベントによっては、イベント情報はまた、サブイベントの場所などの追加情報も含む。サブイベントがタッチの動きに関係する場合、イベント情報はまた、そのサブイベントの速度及び方向も含み得る。一部の実施形態において、イベントは、１つの向きから別の向きへの（例えば、縦向きから横向きへの、又はその逆の）デバイスの回転を含み、そのイベント情報は、デバイスの現在の向き（デバイスの姿勢とも呼ばれる）についての対応する情報を含む。
【００８８】
イベント比較部１８４は、イベント情報を既定のイベント又はサブイベントの定義と比較し、その比較に基づいて、イベント又はサブイベントを判定する、あるいはイベント又はサブイベントの状態を判定若しくは更新する。いくつかの実施形態において、イベント比較部１８４は、イベント定義１８６を含む。イベント定義１８６は、例えば、イベント１（１８７−１）、イベント２（１８７−２）などの、イベントの定義（例えば、サブイベントの既定のシーケンス）を含む。一部の実施形態において、イベント（１８７）内のサブイベントは、例えば、タッチ開始、タッチ終了、タッチの移動、タッチの中止、及び複数のタッチを含む。ある実施例では、イベント１（１８７−１）の定義は、表示されたオブジェクト上のダブルタップである。このダブルタップは、例えば、所定の段階に関する表示オブジェクト上での第１のタッチ（タッチの開始）、所定の段階に関する第１のリフトオフ（タッチの終了）、所定の段階に関する表示オブジェクト上での第２のタッチ（タッチの開始）、及び所定の段階に関する第２のリフトオフ（タッチの終了）を含む。別の実施例では、イベント２（１８７−２）の定義は、表示されたオブジェクト上のドラッグ操作である。このドラッグ操作は、例えば、所定の段階に関する表示オブジェクト上でのタッチ（又は、接触）、タッチ感知ディスプレイ１１２を横断するタッチの移動、及びタッチのリフトオフ（タッチの終了）を含む。一部の実施形態において、イベントはまた、１つ以上の関連付けられたイベント処理部１９０に関する情報も含む。
【００８９】
一部の実施形態において、イベント定義１８７は、それぞれのユーザインタフェースオブジェクトに関するイベントの定義を含む。一部の実施形態において、イベント比較部１８４は、サブイベントに関連付けられたユーザインタフェースオブジェクトを判定するヒットテストを実行する。例えば、３つのユーザインタフェースオブジェクトがタッチ感知ディスプレイ１１２に表示されるアプリケーションビューにおいて、タッチ感知ディスプレイ１１２上でタッチが検出されると、イベント比較部１８４は、３つのユーザインタフェースオブジェクトのうちのどれがタッチ（サブイベント）に関連付けられているかを判定するためのヒットテストを行う。表示された各オブジェクトが、対応するイベント処理部１９０と関連付けられている場合、イベント比較部は、ヒットテストの結果を使用して、どのイベント処理部１９０をアクティブ化すべきかを判定する。例えば、イベント比較部１８４は、サブイベント及びヒットテストのトリガとなるオブジェクトと関連付けられたイベント処理部を選択する。
【００９０】
一部の実施形態において、それぞれのイベント１８７の定義は、サブイベントのシーケンスが、イベント認識部のイベントタイプに対応するか対応しないかが判定されるまで、イベント情報の配信を遅延させる、遅延作用も含む。
【００９１】
それぞれのイベント認識部１８０が一連のサブイベントがイベント定義１８６のイベントのいずれとも一致しないと判定した場合、それぞれのイベント認識部１８０は、イベント不可能、イベント失敗、又はイベント終了の状態に入り、その後は、タッチに基づくジェスチャの後続のサブイベントを無視する。この状況では、ヒットビューに関してアクティブのまま維持される他のイベント認識部があれば、進行中のタッチに基づくジェスチャのサブイベントを、引き続き追跡及び処理する。
【００９２】
一部の実施形態において、それぞれのイベント認識部１８０は、構成変更可能なプロパティと、フラグと、及び／又はイベント配信システムがアクティブに関わっているイベント認識部にどのようにサブイベント配信を実行するかについて示すリストと、を有するメタデータ１８３を含む。一部の実施形態において、メタデータ１８３は、構成変更可能なプロパティと、フラグと、及び／又はイベント認識部が互いにどのように対話し得るか、あるいは、対話が可能になるかについて示すリストと、を含む。一部の実施形態において、メタデータ１８３は、構成変更可能なプロパティと、フラグと、及び／又はサブイベントがビュー階層又はプログラム階層内の様々なレベルに配信されるか否かを示すリストと、を含む。
【００９３】
一部の実施形態において、それぞれのイベント認識部１８０は、イベントの１つ以上の特定のサブイベントが認識されたときに、イベントに関連付けられたイベント処理部１９０をアクティブ化する。一部の実施形態では、それぞれのイベント認識部１８０は、イベントに関連付けられたイベント情報をイベント処理部１９０に配信する。イベント処理部１９０をアクティブ化することは、対応するヒットビューにサブイベントを送信（及び送信を延期する）することとは異なる。一部の実施形態では、イベント認識部１８０は、認識されたイベントに関連付けられたフラグをスローし、フラグに関連付けられたイベント処理部１９０は、フラグをキャッチし、既定の処理を実行する。
【００９４】
いくつかの実施形態では、イベント配信命令１８８は、イベント処理部をアクティブ化することなくサブイベントに関するイベント情報を配信するサブイベント配信命令を含む。その代わりに、サブイベント配信命令は、一連のサブイベントと関連付けられたイベント処理部又はアクティブに関わっているビューに、イベント情報を配信する。一連のサブイベント又はアクティブに関わっているビューと関連付けられたイベント処理部は、イベント情報を受信し、所定の処理を実行する。
【００９５】
いくつかの実施形態では、データ更新部１７６は、アプリケーション１３６−１で使用されるデータを作成及び更新する。例えば、データ更新部１７６は、連絡先モジュール１３７で使用される電話番号を更新する、又はビデオプレーヤモジュールで使用されるビデオファイルを記憶する。一部の実施形態において、オブジェクト更新部１７７は、アプリケーション１３６−１で使用されるオブジェクトを作成及び更新する。例えば、オブジェクト更新部１７７は、新たなユーザインタフェースオブジェクトを作成する、又はユーザインタフェースオブジェクトの位置を更新する。ＧＵＩ更新部１７８は、ＧＵＩを更新する。例えば、ＧＵＩ更新部１７８は、表示情報を準備し、タッチ感知ディスプレイ上に表示するため、表示情報をグラフィックモジュール１３２に送信する。
【００９６】
いくつかの実施形態では、イベント処理部（単数又は複数）１９０は、データ更新部１７６、オブジェクト更新部１７７、及びＧＵＩ更新部１７８を含む、又はそれらへのアクセスを有する。いくつかの実施形態では、データ更新部１７６、オブジェクト更新部１７７、及びＧＵＩ更新部１７８は、それぞれのアプリケーション１３６−１又はアプリケーションビュー１９１の単一モジュールに含まれる。他の実施形態では、それらは、２つ以上のソフトウェアモジュールに含まれる。
【００９７】
タッチ感知ディスプレイ上のユーザのタッチのイベント処理に関する前述の説明はまた、入力デバイスを用いて多機能デバイス１００を動作させるための他の形態のユーザ入力にも適用されるが、そのすべてがタッチスクリーン上で開始されるわけではないことを理解されたい。例えば、単一又は複数のキーボードの押下又は保持に任意選択的に合わせたマウスの移動及びマウスボタンの押下、タッチパッド上でのタップ、ドラッグ、スクロールなどの接触移動、ペンスタイラス入力、デバイスの移動、口頭による指示検出された眼球運動、生体入力、及び／又はこれらの任意の組み合わせが、認識対象のイベントを定義するサブイベントに対応する入力として任意選択的に利用される。
【００９８】
図２は、一部の実施形態に係る、タッチスクリーン１１２を有するポータブル多機能デバイス１００を示す。タッチスクリーンは、ユーザインタフェース（user interface）（ＵＩ）２００内に１つ以上のグラフィックを、任意選択的に表示する。本実施形態、並びに後述する実施形態において、ユーザは、例えば、１本以上の指２０２（図には、正確な縮尺率では描かれていない）又は１つ以上のスタイラス２０３（図には、正確な縮尺率では描かれていない）を用いて、グラフィック上でジェスチャを行うことにより、グラフィックのうちの１つ以上を選択することができる。一部の実施形態では、ユーザが１つ以上のグラフィックとの接触を断った際に、その１つ以上のグラフィックの選択が生じる。一部の実施形態では、ジェスチャは、１回以上のタップ、１回以上のスワイプ（左から右へ、右から左へ、上方向へ及び／又は下方向へ）、並びに／又は、デバイス１００と接触した指のローリング（右から左へ、左から右へ、上方向へ及び／若しくは下方向へ）を、任意選択的に含む。一部の実装又は状況では、グラフィックとの不測の接触は、そのグラフィックを選択するものではない。例えば、選択に対応するジェスチャがタップである場合、アプリケーションアイコンの上をスイープするスワイプジェスチャは、対応するアプリケーションを任意選択的に選択しない。
【００９９】
デバイス１００はまた、「ホーム」又はメニューボタン２０４などの、１つ以上の物理的なボタンを含んでもよい。上述したように、メニューボタン２０４を使用して、デバイス１００上で実行することができるアプリケーションのセット内の任意のアプリケーション１３６へ、ナビゲートすることができる。あるいは、いくつかの実施形態では、メニューボタンは、タッチスクリーン１１２に表示されたＧＵＩにおけるソフトキーとして実装されている。
【０１００】
一部の実施形態において、デバイス１００は、タッチスクリーン１１２、メニューボタン２０４、デバイスへの電源をオン／オフしてデバイスをロックするためのプッシュボタン２０６、音量調整ボタン（単数又は複数）２０８、加入者識別モジュール（ＳＩＭ）カードスロット２１０、ヘッドセットジャック２１２、及びドッキング／充電用外部ポート１２４を含む。プッシュボタン２０６は、ボタンを押し下げて、既定の時間にわたってボタンを押し下げた状態で保持することによってデバイス上の電源をオン／オフし、ボタンを押し下げて、既定の時間が経過する前にボタンを解放することによってデバイスをロックし、及び／又は、デバイスのロックを解除する、若しくは、ロック解除処理を開始するように、任意選択的に用いられる。代替実施形態では、デバイス１００はまた、マイクロフォン１１３を通して、一部の機能をアクティブ化又は非アクティブ化するための口頭入力を受ける。デバイス１００はまた、タッチスクリーン１１２上の接触の強度を検出するための１つ以上の接触強度センサ１６５、及び／又は、デバイス１００のユーザに対する触知出力を生成するための１つ以上の触知出力生成器１６７も、任意選択的に含む。
【０１０１】
図３は、いくつかの実施形態に係る、ディスプレイ及びタッチ感知面を備える例示的な多機能デバイスのブロック図である。デバイス３００は、ポータブル型である必要はない。いくつかの実施形態において、デバイス３００は、ラップトップコンピュータ、デスクトップコンピュータ、タブレットコンピュータ、マルチメディアプレーヤデバイス、ナビゲーションデバイス、教育的デバイス（子供の学習玩具など）、ゲームシステム、又は制御デバイス（例えば、家庭用又は業務用コントローラ）である。デバイス３００は、典型的には、１つ以上の処理ユニット（ＣＰＵ）３１０、１つ以上のネットワーク若しくは他の通信インタフェース３６０、メモリ３７０、及びこれらの構成要素を相互接続するための１つ以上の通信バス３２０を含む。通信バス３２０は、システム構成要素間の通信を相互接続及び制御する回路（チップセットと呼ばれることがある）を、任意選択的に含む。デバイス３００は、典型的にはタッチスクリーンディスプレイであるディスプレイ３４０を備える入出力（Ｉ／Ｏ）インタフェース３３０を含む。Ｉ／Ｏインタフェース３３０はまた、キーボード及び／又はマウス（又は他のポインティングデバイス）３５０、並びにタッチパッド３５５、デバイス３００上に触知出力を生成するための（例えば、図１Ａを参照して上述した触知出力生成器１６７（単数又は複数）と同様の）触知出力生成器３５７、センサ３５９（例えば、光センサ、加速度センサ、近接センサ、タッチ感知センサ、及び／又は図１Ａを参照して上述した接触強度センサ（単数又は複数）１６５と同様の接触強度センサ）も、任意選択的に含む。メモリ３７０は、ＤＲＡＭ、ＳＲＡＭ、ＤＤＲ  ＲＡＭ、又は他のランダムアクセスソリッドステートメモリデバイスなどの、高速ランダムアクセスメモリを含み、また任意選択的に、１つ以上の磁気ディスク記憶デバイス、光ディスク記憶デバイス、フラッシュメモリデバイス、又は他の不揮発性ソリッドステート記憶デバイスなどの、不揮発性メモリを含む。メモリ３７０は、ＣＰＵ（単数又は複数）３１０から離れて位置する１つ以上の記憶デバイスを任意選択的に含む。いくつかの実施形態では、メモリ３７０は、ポータブル多機能デバイス１００（図１Ａ）のメモリ１０２に記憶されたプログラム、モジュール、及びデータ構造、又はそれらのサブセットに類似する、プログラム、モジュール、及びデータ構造を記憶する。更に、メモリ３７０は、ポータブル多機能デバイス１００のメモリ１０２に存在しない追加のプログラム、モジュール、及びデータ構造を、任意選択的に記憶する。例えば、デバイス３００のメモリ３７０は、描画モジュール３８０、プレゼンテーションモジュール３８２、ワードプロセッシングモジュール３８４、ウェブサイト作成モジュール３８６、ディスクオーサリングモジュール３８８、及び／又はスプレッドシートモジュール３９０を任意選択的に記憶するが、ポータブル多機能デバイス１００（図１Ａ）のメモリ１０２はこれらのモジュールを任意選択的に記憶しない。
【０１０２】
図３における上記で特定された要素のそれぞれは、前述のメモリデバイスのうちの１つ以上に記憶されてもよい。上記で特定されたモジュールのうちのそれぞれは、上述した機能を実行する命令セットに対応する。上記で特定されたモジュール又はプログラム（例えば、命令セット）は、別個のソフトウェアプログラム、手順、又はモジュールとして実装される必要はなく、それゆえ、様々な実施形態では、これらのモジュールの様々なサブセットを組み合わせるか、又は他の方式で再編成することができる。いくつかの実施形態では、メモリ３７０は、上記で特定されたモジュール及びデータ構造のサブセットを記憶することができる。更に、メモリ３７０は、上述されていない追加のモジュール及びデータ構造を記憶してもよい。
【０１０３】
ここで、例えば、ポータブル多機能デバイス１００上に実装することができるユーザインタフェースの実施形態に注意を向ける。
【０１０４】
図４Ａは、いくつかの実施形態に係る、ポータブル多機能デバイス１００上のアプリケーションのメニューのための例示的なユーザインタフェースを示す。同様のユーザインタフェースを、デバイス３００上に実装してもよい。いくつかの実施形態では、ユーザインタフェース４００は、以下の要素、又はそれらのサブセット若しくはスーパーセットを含む。
●セルラー信号及びＷｉ−Ｆｉ信号などの無線通信（単数又は複数）のための信号強度インジケータ（単数又は複数）４０２、
●時刻４０４、
●Ｂｌｕｅｔｏｏｔｈ（登録商標）インジケータ４０５、
●バッテリ状態インジケータ４０６、
●下記などの、頻繁に利用されるアプリケーション用のアイコンを含むトレー４０８、
○不在着信又はボイスメールメッセージの数のインジケータ４１４を任意選択的に含む、「電話」とラベル付けされる、電話モジュール１３８用のアイコン４１６、
○未読電子メールの数のインジケータ４１０を任意選択的に含む、「メール」とラベル付けされる、電子メールクライアントモジュール１４０用のアイコン４１８、
○「ブラウザ」とラベル付けされる、ブラウザモジュール１４７用のアイコン４２０、及び
○「ｉＰｏｄ」とラベル付けされる、ｉＰｏｄ（Ａｐｐｌｅ  Ｉｎｃ．の商標）モジュール１５２とも称されるビデオ及びミュージックプレーヤモジュール１５２用のアイコン４２２、及び
●下記などの、その他のアプリケーション用のアイコン、
○「メッセージ」とラベル付けされる、ＩＭモジュール１４１用のアイコン４２４、
○「カレンダー」とラベル付けされる、カレンダーモジュール１４８用のアイコン４２６、
○「写真」とラベル付けされる、画像管理モジュール１４４用のアイコン４２８、
○「カメラ」とラベル付けされる、カメラモジュール１４３用のアイコン４３０、
○「オンラインビデオ」とラベル付けされる、オンラインビデオモジュール１５５用のアイコン４３２、
○「株価」とラベル付けされる、株式ウィジェット１４９−２用のアイコン４３４、
○「マップ」とラベル付けされる、地図モジュール１５４用のアイコン４３６、
○「天気」とラベル付けされる、気象ウィジェット１４９−１用のアイコン４３８、
○「時計」とラベル付けされる、アラーム時計ウィジェット１４９−４用のアイコン４４０、
○「トレーニングサポート」とラベル付けされる、トレーニングサポートモジュール１４２用のアイコン４４２、
○「メモ」とラベル付けされる、メモモジュール１５３用のアイコン４４４、及び
○デバイス１００及びその様々なアプリケーション１３６に関する設定へのアクセスを提供する、「設定」とラベル付けされる、設定アプリケーション若しくはモジュール用のアイコン４４６。
【０１０５】
図４Ａに示されるアイコンのラベルは、単なる例示であることに留意されたい。例えば、ビデオ及びミュージックプレーヤモジュール１５２用のアイコン４２２は、任意選択的に、「ミュージック」又は「ミュージックプレーヤ」とラベル付けされてもよい。他のラベルが、様々なアプリケーションアイコンのために、任意選択的に使用される。一部の実施形態では、それぞれのアプリケーションアイコンに関するラベルは、それぞれのアプリケーションアイコンに対応するアプリケーションの名前を含む。一部の実施形態では、特定のアプリケーションアイコンのラベルは、特定のアプリケーションアイコンに対応するアプリケーションの名前とは異なる。
【０１０６】
図４Ｂは、ディスプレイ４５０（例えば、タッチスクリーンディスプレイ１１２）とは別個のタッチ感知面４５１（例えば、図３のタブレット又はタッチパッド３５５）を備えるデバイス（例えば、図３のデバイス３００）上の、例示的なユーザインタフェースを示す。デバイス３００はまた、タッチ感知面４５１上の接触の強度を検出するための１つ以上の接触強度センサ（例えば、センサ３５７のうちの１つ以上）、及び／又はデバイス３００のユーザに対する触知出力を生成するための１つ以上の触知出力生成器３５９を任意選択的に含む。
【０１０７】
以下の実施例のうちのいくつかは、タッチスクリーンディスプレイ１１２上の入力（タッチ感知面とディスプレイとが組み合わされている場合）を参照して説明されるが、一部の実施形態において、デバイスは、図４Ｂに示すように、ディスプレイとは別個のタッチ感知面上で入力を検出する。一部の実施形態において、このタッチ感知面（例えば、図４Ｂの４５１）は、ディスプレイ（例えば、４５０）上の主軸（例えば、図４Ｂの４５３）に対応する主軸（例えば、図４Ｂの４５２）を有する。これらの実施形態によれば、デバイスは、タッチ感知面４５１との接触（例えば、図４Ｂの４６０及び４６２）を、ディスプレイ上のそれぞれの場所に対応する場所（例えば、図４Ｂでは、４６０は４６８に対応し、４６２は４７０に対応する）にて検出する。このように、タッチ感知面がディスプレイとは別個のものである場合、タッチ感知面（例えば、図４Ｂの４５１）上でデバイスによって検出されたユーザ入力（例えば、接触４６０及び４６２、並びにそれらの移動）が、多機能デバイスのディスプレイ（例えば、図４Ｂでの４５０）上のユーザインタフェースを操作するために、デバイスによって使用される。同様の方法が、本明細書に記載の他のユーザインタフェースに任意選択的に使用されることを理解されたい。
【０１０８】
更に加えて、以下の実施例は主に指入力（例えば、指の接触、指のタップジェスチャ、指のスワイプジェスチャ）を参照して説明されるが、いくつかの実施形態では、それらの指入力のうちの１つ以上は、別の入力デバイスからの入力（例えば、マウスに基づく入力、又はスタイラス入力）で置き換えられることを理解されたい。例えば、スワイプジェスチャは、任意選択的に、（例えば、接触の代わりに）マウスクリックと置換され、その後、（例えば、接触の移動の代わりに）スワイプの経路に沿ってカーソルの移動が行われる。別の例として、タップジェスチャは、（例えば、接触の検出に続いて接触の検出を停止する代わりに）カーソルがタップジェスチャの位置上に配置されている間、任意選択的に、マウスクリックで置換される。同様に、複数のユーザ入力が同時に検出されるとき、複数のコンピュータマウスが同時に、任意選択的に用いられているか、又はマウスと指接触が任意選択的に同時に用いられていることが理解されよう。
【０１０９】
図５Ａは、例示的なパーソナル電子デバイス５００を示す。デバイス５００は、本体５０２を含む。一部の実施形態では、デバイス５００は、デバイス１００及び３００（例えば、図１Ａ〜図４Ｂ）に関して記載した特徴のいくつか又はすべてを含み得る。一部の実施形態では、デバイス５００は、タッチ感知ディスプレイスクリーン５０４、以後、タッチスクリーン５０４を有する。タッチスクリーン５０４の代わりに、又はそれに追加して、デバイス５００は、ディスプレイ及びタッチ感知面を有する。デバイス１００及びデバイス３００と同様に、一部の実施形態において、タッチスクリーン５０４（又はタッチ感知面）は、加えられている接触（例えば、タッチ）の強度を検出するための１つ以上の強度センサを有してもよい。タッチスクリーン５０４（又は、タッチ感知面）の１つ以上の強度センサは、タッチの強度を表す出力データを提供することができる。デバイス５００のユーザインタフェースは、タッチの強度に基づきタッチに応じてもよく、これは、異なる強度のタッチは、デバイス５００上で異なるユーザインタフェース動作を呼び出し得ることを意味する。
【０１１０】
タッチ強度を検出して処理するための技術は、例えば、関連出願である、２０１３年５月８日出願の「Ｄｅｖｉｃｅ，Ｍｅｔｈｏｄ，ａｎｄ  Ｇｒａｐｈｉｃａｌ  Ｕｓｅｒ  Ｉｎｔｅｒｆａｃｅ  ｆｏｒ  Ｄｉｓｐｌａｙｉｎｇ  Ｕｓｅｒ  Ｉｎｔｅｒｆａｃｅ  Ｏｂｊｅｃｔｓ  Ｃｏｒｒｅｓｐｏｎｄｉｎｇ  ｔｏ  ａｎ  Ａｐｐｌｉｃａｔｉｏｎ」と題された国際出願ＰＣＴ／ＵＳ２０１３／０４００６１号、及び２０１３年１１月１１日出願の「Ｄｅｖｉｃｅ，Ｍｅｔｈｏｄ，ａｎｄ  Ｇｒａｐｈｉｃａｌ  Ｕｓｅｒ  Ｉｎｔｅｒｆａｃｅ  ｆｏｒ  Ｔｒａｎｓｉｔｉｏｎｉｎｇ  Ｂｅｔｗｅｅｎ  Ｔｏｕｃｈ  Ｉｎｐｕｔ  ｔｏ  Ｄｉｓｐｌａｙ  Ｏｕｔｐｕｔ  Ｒｅｌａｔｉｏｎｓｈｉｐｓ」と題された同ＰＣＴ／ＵＳ２０１３／０６９４８３号に見出すことができ、これらの文献のそれぞれは、全体が参照により本明細書に組み込まれる。
【０１１１】
一部の実施形態において、デバイス５００は、１つ以上の入力機構５０６及び入力機構５０８を有する。入力機構５０６及び入力機構５０８は、含まれる場合には、物理的なものとすることができる。物理入力機構の例としては、プッシュボタン及び回転可能機構が挙げられる。一部の実施形態では、デバイス５００は、１つ以上のアタッチメント機構を有する。かかるアタッチメント機構は、含まれる場合には、例えば、デバイス５００を、帽子、アイウェア、イヤリング、ネックレス、シャツ、ジャケット、ブレスレット、腕時計バンド、チェーン、ズボン、ベルト、靴、財布、バックパックなどに、取り付けることを可能にする。これらのアタッチメント機構によって、ユーザはデバイス５００を着用することができる。
【０１１２】
図５Ｂは、例示的なパーソナル電子デバイス５００を示す。一部の実施形態では、デバイス５００は、図１Ａ、図１Ｂ及び図３に関して記載した構成要素のいくつか又はすべてを含み得る。デバイス５００は、Ｉ／Ｏ部５１４を１つ以上のコンピュータプロセッサ５１６及びメモリ５１８に動作可能に連結するバス５１２を有する。Ｉ／Ｏ部５１４は、タッチ感知式構成要素５２２、及び、任意選択的に、タッチ強度感知構成要素５２４を有し得るディスプレイ５０４に接続することができる。更に、Ｉ／Ｏ部５１４は、Ｗｉ−Ｆｉ、Ｂｌｕｅｔｏｏｔｈ、近距離通信（ＮＦＣ）、セルラー及び／又は他の無線通信技術を使用して、アプリケーション及びオペレーティングシステムのデータを受信するための通信ユニット５３０に接続し得る。デバイス５００は、入力機構５０６及び／又は入力機構５０８を含むことができる。入力機構５０６は、例えば、回転可能入力デバイス、又は押し下げ可能かつ回転可能な入力デバイスとしてもよい。入力機構５０８は、一部の実施例では、ボタンであってもよい。
【０１１３】
入力機構５０８は、一部の実施例では、マイクロフォンであってもよい。パーソナル電子デバイス５００は、ＧＰＳセンサ５３２、加速度計５３４、方向センサ５４０（例えば、コンパス）、ジャイロスコープ５３６、動きセンサ５３８、及び／又はこれらの組み合わせなどの、様々なセンサを含み得るものであり、それらのすべては、Ｉ／Ｏ部５１４に動作可能に接続することができる。
【０１１４】
パーソナル電子デバイス５００のメモリ５１８は、コンピュータ実行可能命令を記憶するための非一時的コンピュータ可読記憶媒体とすることができ、それらの命令は、１つ以上のコンピュータプロセッサ５１６によって実行されると、例えば、コンピュータプロセッサに、プロセス８００（図８Ａ〜８Ｅ）及びプロセス９００（例えば、図９Ａ〜９Ｃ）を含めた、上述の技術を実行させることができる。コンピュータ実行可能な命令はまた、コンピュータベースのシステム、プロセッサを含むシステム、又は、命令実行システム、装置、若しくはデバイスから命令をフェッチしてその命令を実行し得る他のシステム、などの、命令実行システム、装置、又はデバイス、によって、若しくはそれらと接続して使用される、任意の非一時的コンピュータ可読記憶媒体に記憶及び／又は伝送することができる。パーソナル電子デバイス５００は、図５Ｂの構成要素及び構成に限定されるものではなく、他の構成要素又は追加的構成要素を、複数の構成で含み得る。
【０１１５】
本明細書で使用するとき、用語「アフォーダンス」は、デバイス１００、３００、及び／又は５００（図１、図３、及び図５）のディスプレイスクリーン上に表示され得るユーザ対話式のグラフィカルユーザインタフェースオブジェクトを指す。例えば、画像（例えば、アイコン）、ボタン、及びテキスト（例えば、ハイパーリンク）はそれぞれ、アフォーダンスを構成することができる。
【０１１６】
本明細書にて使用されるとき、用語「フォーカスセレクタ」とは、ユーザが対話しているユーザインタフェースの現在の部分を示す入力要素を指す。カーソル又は他の位置マーカを含むいくつかの実装において、タッチ感知面（例えば、図３のタッチパッド３５５、又は図４Ｂのタッチ感知面４５１）上で入力（例えば、押圧入力）が検出されたときに、カーソルが特定のユーザインタフェース要素（例えば、ボタン、ウィンドウ、スライダ、又は他のユーザインタフェース要素）の上にあるとき、カーソルは「フォーカスセレクタ」として機能し、特定のユーザインタフェース要素が、検出された入力に従って調整される。タッチスクリーンディスプレイ上のユーザインタフェース要素との直接的な対話を可能にする、タッチスクリーンディスプレイ（例えば、図１Ａでのタッチ感知ディスプレイシステム１１２、又は図４Ａでのタッチスクリーン１１２）を含む一部の実装では、タッチスクリーン上で検出される接触が「フォーカスセレクタ」としての役割を果たすことにより、入力（例えば、接触による押圧入力）が、タッチスクリーンディスプレイ上の特定のユーザインタフェース要素（例えば、ボタン、ウィンドウ、スライダ、又は他のユーザインタフェース要素）の場所で検出されると、その特定のユーザインタフェース要素が、検出された入力に従って調節される。いくつかの実装では、（例えば、タブキー又は矢印キーを使ってフォーカスを１つのボタンから別のボタンに移動させることにより）タッチスクリーンディスプレイ上の対応するカーソルの移動又は接触の移動なしに、フォーカスが、ユーザインタフェースの１つの領域からユーザインタフェースの別の領域に移動される。これらの実装では、フォーカスセレクタは、ユーザインタフェースの異なる領域間でのフォーカスの移動に従って移動する。フォーカスセレクタが採用する具体的な形態とは関わりなく、フォーカスセレクタは、全般的に、ユーザが意図するユーザインタフェースとの対話を（例えば、ユーザが対話することを意図しているユーザインタフェース要素をデバイスに示すことによって）通信するようにユーザによって制御されるユーザインタフェース要素（又は、タッチスクリーンディスプレイ上での接触）である。例えば、タッチ感知面（例えば、タッチパッド又はタッチスクリーン）上で押圧入力が検出される間の、対応のボタンの上のフォーカスセレクタ（例えば、カーソル、接触、又は選択ボックス）の場所は、その対応のボタンを（そのデバイスのディスプレイ上に示される他のユーザインタフェース要素ではなく）アクティブ化することをユーザが意図していることを示すものである。
【０１１７】
本明細書及び特許請求の範囲で使用するとき、接触の「特性強度」という用語は、接触の１つ以上の強度に基づく、その接触の特性を指す。一部の実施形態では、特性強度は複数の強度サンプルに基づく。特性強度は、任意選択的に、既定の数の強度サンプル、又は所定のイベント（例えば、接触を検出した後、接触のリフトオフを検出する前、接触の移動の開始を検出する前若しくは後、接触の終了を検出する前、接触の強度の増加を検出する前若しくは後、及び／又は接触の強度の減少を検出する前若しくは後）に対して所定の期間（例えば、０．０５、０．１、０．２、０．５、１、２、５、１０秒）内に収集された強度サンプルのセットに基づく。接触の特性強度は、任意選択的に、接触の強度の最大値、接触の強度の平均値（mean value）、接触の強度の平均値（average value）、接触の強度の上位１０％値、接触の強度の最大値の半分の値、接触の強度の最大値の９０％の値など、のうちの１つ以上に基づく。いくつかの実施形態では、特性強度を判定するために、接触の持続期間が使用される（例えば、特性強度が経時的な接触の強度の平均であるとき）。一部の実施形態では、動作がユーザによって実行されたか否かを判定するために、特性強度を１つ以上の強度閾値のセットと比較する。例えば、１つ以上の強度閾値のセットは、第１の強度閾値及び第２の強度閾値を含むことができる。この実施例では、第１の閾値を越えない特性強度を有する接触の結果として第１の動作が実行され、第１の強度閾値を越え、第２の強度閾値を越えない特性強度を有する接触の結果として第２の動作が実行され、第２の閾値を越える特性強度を有する接触の結果として第３の動作が実行される。一部の実施形態では、特性強度と１つ以上の閾値との間の比較が、第１の動作又は第２の動作のいずれを実行するかを判定するために使用されるのではなく、１つ以上の動作を実行するかどうか（例えば、それぞれの動作を実行するのか、又はそれぞれの動作の実行を省略するのか）を判定するために使用される。
【０１１８】
一部の実施形態では、特性強度を判定する目的で、ジェスチャの一部分が特定される。例えば、タッチ感知面は、接触の強度が増加する、開始位置から遷移して終了位置まで達する連続的なスワイプ接触を受け取ってもよい。この実施例では、終了位置における接触の特性強度は、連続的なスワイプ接触全体ではなく、そのスワイプ接触の一部分のみ（例えば、終了位置におけるスワイプ接触の部分のみ）に基づいてもよい。一部の実施形態では、接触の特性強度を判定する前に、平滑化アルゴリズムをそのスワイプ接触の強度に適用してもよい。例えば、平滑化アルゴリズムは、任意選択的に、非荷重移動平均平滑化アルゴリズム、三角平滑化アルゴリズム、中央値フィルタ平滑化アルゴリズム、及び／又は指数平滑化アルゴリズム、のうちの１つ以上を含む。一部の状況では、これらの平滑化アルゴリズムは、特性強度を判定する目的で、スワイプ接触の強度の小幅な上昇又は低下を除外する。
【０１１９】
タッチ感知面上の接触の強度は、接触検出強度閾値、軽い押圧強度閾値、深い押圧強度閾値、及び／又は１つ以上の他の強度閾値などの１つ以上の強度閾値に対して特徴付けしてもよい。一部の実施形態では、軽い押圧強度閾値は、物理マウスのボタン又はトラックパッドのクリックに典型的に関連付けられた動作を、デバイスが実行することになる強度に相当する。一部の実施形態では、深い押圧強度閾値は、物理マウスのボタン又はトラックパッドのクリックに典型的に関連付けられた動作とは異なる動作を、デバイスが実行することになる強度に相当する。一部の実施形態では、軽い押圧強度閾値を下回る（例えば、かつ、それを下回ると接触がもはや検出されないわずかな接触検出強度閾値を上回る）特性強度で接触が検出される場合、デバイスは、軽い押圧強度閾値又は深い押圧強度閾値に関連付けられた動作を実行することなく、タッチ感知面上の接触の移動に従って、フォーカスセレクタを移動させる。全般的には、特に明記しない限り、これらの強度閾値は、ユーザインタフェース図の異なるセット間でも一貫している。
【０１２０】
軽い押圧強度閾値を下回る強度から、軽い押圧強度閾値と深い押圧強度閾値との間の強度への接触の特性強度の増大は、「軽い押圧」入力と呼ばれる場合がある。深い押圧強度閾値を下回る強度から、深い押圧強度閾値を上回る強度への接触の特性強度の増大は、「深い押圧」入力と呼ばれる場合がある。接触検出強度閾値を下回る強度から、接触検出強度閾値と軽い押圧強度閾値との間の強度への接触の特性強度の増大は、タッチ面上の接触の検出と呼ばれる場合がある。接触検出強度閾値を上回る強度から、接触検出強度閾値を下回る強度への接触の特性強度の減少は、タッチ面からの接触のリフトオフの検出と呼ばれる場合がある。一部の実施形態では、接触検出強度閾値はゼロである。一部の実施形態では、接触検出強度閾値はゼロを上回る。
【０１２１】
本明細書で説明する一部の実施形態では、１つ以上の動作は、それぞれの押圧入力を含むジェスチャの検出に応じて、又はそれぞれの接触（又は、複数の接触）で実行されるそれぞれの押圧入力の検出に応じて実行され、それぞれの押圧入力は、少なくとも部分的に、押圧入力強度閾値を上回る接触（又は、複数の接触）の強度の増大の検出に基づいて検出される。一部の実施形態では、それぞれの動作は、押圧入力強度閾値を上回る、対応する接触の強度の増大（例えば、対応する押圧入力の「ダウンストローク」）の検出に応じて実行される。一部の実施形態では、押圧入力は、押圧入力強度閾値を上回る、対応する接触の強度の増大、及び後続の、押圧入力強度閾値を下回る接触の強度の減少を含み、対応する動作は、その後続の押圧入力閾値を下回る対応する接触の強度の減少（例えば、対応する押圧入力の「アップストローク」）の検出に応じて、実行される。
【０１２２】
一部の実施形態では、デバイスは、「ジッタ」と呼ばれる場合がある不測の入力を回避するために強度ヒステリシスを採用し、デバイスは、押圧入力強度閾値との既定の関連性を有するヒステリシス強度閾値を定義又は選択する（例えば、ヒステリシス強度閾値は、押圧入力強度閾値よりもＸ強度単位低いか、又は、ヒステリシス強度閾値は、押圧入力強度閾値の７５％、９０％、若しくは何らかの妥当な比率である）。したがって、一部の実施形態では、押圧入力は、押圧入力強度閾値を上回る対応する接触の強度の増大、及び後続の、押圧入力強度閾値に対応するヒステリシス強度閾値を下回る接触の強度の減少を含み、対応する動作は、そのヒステリシス強度閾値を下回る、後続の対応する接触の強度の減少（例えば、対応する押圧入力の「アップストローク」）の検出に応じて、実行される。同様に、一部の実施形態では、押圧入力は、デバイスが、ヒステリシス強度閾値以下の強度から押圧入力強度閾値以上の強度への接触の強度の増大、及び任意選択的に、ヒステリシス強度以下の強度への、後続の接触の強度の減少を検出する場合にのみ検出され、対応する動作は、その押圧入力の検出（例えば、状況に応じて、接触の強度の増大、又は接触の強度の減少）に応じて、実行される。
【０１２３】
説明を容易にするために、押圧入力強度閾値に関連付けられた押圧入力に応じて、又はその押圧入力を含むジェスチャに応じて実行される動作の説明は、押圧入力強度閾値を上回る接触の強度の増大、ヒステリシス強度閾値を下回る強度から押圧入力強度閾値を上回る強度への接触の強度の増大、押圧入力強度閾値を下回る接触の強度の減少、及び／又は押圧入力強度閾値に対応するヒステリシス強度閾値を下回る接触の強度の減少のいずれかを検出したことに応じて、任意選択的にトリガされる。更に加えて、押圧入力強度閾値を下回る接触の強度の減少を検出したことに応じて動作が実行されるとして説明される実施例では、その動作は、押圧入力強度閾値に対応し、かつそれよりも低いヒステリシス強度閾値を下回る、接触の強度の減少を検出したことに応じて任意選択的に実行される。
２．インテリジェントなデバイス識別のための例示的な技術
【０１２４】
図６Ａ〜図６Ｆは、いくつかの実施形態に係るインテリジェントなデバイス識別のための例示的な技術を示す。これらの図は、図８Ａ〜８Ｅ及び図９Ａ〜９Ｃでのプロセスを含む、以下に説明するプロセスを例示するためにも使用される。
【０１２５】
図６Ａは、ユーザ６００の電子デバイス６０２、６０４、６０６、及び６０８を示す。デバイス６０２〜６０８のうちの１つ以上は、いくつかの実施形態では、デバイス１０４、１２２、２００、４００、及びデバイス１０００（図１、図２、図４、及び図１０）の任意のものであってよい。いくつかの実施例では、電子デバイス６０２は、スマートウォッチなどの装着型電子デバイスであり、図示するような下げられた位置にあるときに電源をオフにされる。いくつかの実施例では、電子デバイス６０４は、モバイル電話などのモバイルデバイスであり、電子デバイス６０６は、テレビなどの相対的に大きな表示能力を有する電子デバイスであり、電子デバイス６０８は、スピーカドックなどの聴覚出力能力を有するデバイスである。例示した実施例は、電子デバイス６０２〜６０８を参照して本明細書で説明されるが、他の実装では、より少ない又はより多くの数のデバイスを使用することができることが理解されるであろう。
【０１２６】
図６Ｂは、電子デバイス６０２を高くした位置に持ち上げているユーザ６００を示す。この動作に応じて、デバイス６０２は、電子デバイス６０２のタッチスクリーンの電源をオンにする。電子デバイス６０２のタッチスクリーンの電源がオンになったのに従って、電子デバイス６０２はまた、ユーザ６００からの口頭入力をリッスンするために、そのマイクロフォンを介してオーディオ入力のサンプリングを開始する。電子デバイス６０４、６０６、及び６０８などの１つ以上の他の電子デバイスも、ユーザ６００からの口頭入力をリッスンするためにオーディオ入力のサンプリングを開始することができる。電子デバイス６０４、６０６、及び６０８のそれぞれは、例えば、ユーザ６００の近接を検出したことに応じて、オーディオ入力のサンプリングを開始することができる、又はオーディオ入力を連続的にサンプリングすることができる。
【０１２７】
図示したように、電子デバイス６０２〜６０８のうちの１つ以上がオーディオ入力をサンプリングしている間に、ユーザ６００は、口頭の命令６１２を提供する。それぞれの電子デバイス６０２〜６０８は、オーディオ入力をサンプリングしている間に口頭の命令６１２を検出して、口頭の命令６１２がそれぞれのデバイスの仮想アシスタントサービスをトリガするための語句を含むか否かを判定する。電子デバイス６０２〜６０８のそれぞれに対して、サンプリングされた入力が口頭トリガを含むと判定された場合に、仮想アシスタントはトリガされる。任意選択的に、サンプリングされたオーディオ入力が口頭トリガを含むことを示す出力もまた、提供することができる。出力は、視覚（例えば、表示通知又はＬＥＤの切替）、聴覚、又は触覚によるものとすることができる。サンプリングされたオーディオ入力が口頭トリガを含まないと判定される場合、オーディオ入力は、所定の時間の間、又は無期限に、更にサンプリングすることができる。
【０１２８】
図示した実施例では、口頭トリガは、語句「Ｈｅｙ、Ｓｉｒｉ」である。したがって、口頭の命令６１２は、口頭の命令６１２をサンプリングしているそれぞれの電子デバイス内の対応する仮想アシスタントをトリガする。口頭トリガに加えて、口頭の命令６１２は、それぞれのデバイスの仮想アシスタントのうちの少なくとも１つが１つ以上のタスクに分解する（例えば、動作可能にする）自然言語入力（例えば、「テレビのエピソードを出して」）を含む。
【０１２９】
いくつかの実施例では、自然言語入力は、電子デバイス６０２〜６０８の単一のデバイスによって１つ以上のタスクに分解される。例えば、口頭オーディオ入力がサンプリングされると、サンプリングされたオーディオ入力に基づいて、タスクを判定するために使用される第１のデバイスとして、電子デバイス６０２〜６０８のうちの１つを識別することができる。タスクを判定するために使用される第１のデバイスは、例えば、優先順位付け規則のセットに基づいて識別することができる。例として、第１のデバイスは、サンプリングされたオーディオ入力が最大のスピーチの品質、音圧レベル、及び／又は音量を有するデバイスとすることができる。別の実施例では、第１のデバイスは、ユーザ６００に最も近いデバイスとすることができる。更に別の実施例では、第１のデバイスは、それぞれのデバイスの種類に基づいて識別することができる。例えば、モバイルデバイス及び他の非ウェアラブルデバイスを含むシステムでは、モバイルデバイスを、タスクを判定するために使用される第１のデバイスとすることができる。ウェアラブルデバイスを含むシステムでは、ウェアラブルデバイスを、タスクを判定するために使用される第１のデバイスとすることができる。したがって、図示した実施例では、サンプリングされたオーディオ入力に基づいて、タスクを判定するためのデバイスとして、デバイス６０２を識別することができる。
【０１３０】
タスクは、ローカルで、又はリモートで判定することができる。電子デバイス６０２などのデバイスは、サンプリングされたオーディオ入力を使用してタスクをローカルで判定することができる、又はサンプリングされたオーディオ入力を表すデータを１つ以上のサーバに送信することができる。タスクは、送信されたデータに基づいて、１つ以上のサーバによって判定して、デバイスに提供することができる。任意選択的に、１つ以上のデバイスは、タスクが判定された後で出力を提供することができる。図６Ｃ〜６Ｆを参照して、電子デバイス６０２〜６０８のいずれかは、それぞれ、タスクが判定されたことを確認する出力を提供することができる。いくつかの実施例では、複数のデバイスが、タスクが判定された後で出力を提供する。出力が提供される方法は、例えば、デバイスのうちのどれがタスクを判定するために使用されたかを示すことができる。
【０１３１】
タスクが判定されたら、電子デバイス６０２〜６０８のうちの１つを、タスクを実行するために使用される第２のデバイスとして識別することができる。第２のデバイスは、第１のデバイスによって識別することができ、更に、第１のデバイス又は第１のデバイス以外のデバイスとすることができる。いくつかの実施例では、第２のデバイスは、タスク要件に基づいて識別することができる。タスクは、例えば、タスクが特定の能力（例えば、機能）を有するデバイスによって実行されることを必要とすることができる。図示した実施例では、例えば、タスクは、テレビ番組のエピソードの再生を対象として、表示能力を必要とすることができる。したがって、電子デバイス６０２は、電子デバイス６０２〜６０８のどれが表示能力要件を満たすかを判定することができる。他の実施形態では、タスクは、それがモバイルデバイスで実行されることを必要とすることができる。更に他の実施形態では、タスクは、それが電気コンセントに接続されたデバイスで実行されることを必要とすることができる。タスクの要件が電子デバイス６０２〜６０８のいずれでも満たすことができない場合、デバイス６０２〜６０８のうちの１つ以上は、タスクを実行することを取り止めることができる。
【０１３２】
複数のデバイスがタスク要件を満たし得るため、複数の優先順位付け規則に従って、第２のデバイスを、追加して又は代わりに識別することができる。いくつかの実施例では、第２のデバイスは、タスクを実行するのに「最適な」デバイスとすることができる。ビデオ再生を対象としたタスクに対して、例えば、第２のデバイスは、より大きなディスプレイを有する電子デバイスとすることができる。図示した実施例では、電子デバイス６０２は、例えば、電子デバイス６０２〜６０６の相対ディスプレイサイズに基づいて、電子デバイス６０６がビデオ再生用に最適であると判定することができる。マッピング機能を対象としたタスクに対して、第２のデバイスは、モバイルデバイスとすることができる。いくつかの実施例では、第２のデバイスは、以前の使用に基づいて識別することができる。例えば、タスクを実行するために典型的に使用されるデバイスを、そのタスク又は類似のタスクの後続の反復を実行するために識別することができる。いくつかの実施形態では、第２のデバイスは、第１のデバイスと他のデバイスのそれぞれとの間の信号強度に基づいて識別することができる。
【０１３３】
第２のデバイスが識別されたら、タスクは、第１のデバイスによって第２のデバイスに提供することができる。図６Ｃに示すように、命令６１２を含むオーディオ入力のサンプリングに応じて、電子デバイス６０２は、タスクを電子デバイス６０６に提供し、次に、電子デバイス６０６が、要求されたエピソードを再生することによりタスクを実行する。いくつかの実施例では、タスクは、デバイス６０２からデバイス６０６に直接提供され、他の実施例では、デバイス６０４などの１つ以上の仲介デバイスを介して提供される。タスクが第２のデバイスによって受信されたら、第２のデバイスは、タスクを実行することができる。
【０１３４】
いくつかの実施例では、第２のデバイスは、タスクの実行を遅延させることができる。タスクは、例えば、タスクが実行される前に満たされなければならない１つ以上の基準を含むことができる。例えば、タスクは、タスクが実行される前にユーザが運転を中止する（例えば、ＧＰＳによって判定されるような）ことを必要とすることができる、かつ／又はタスクが実行される前に接続性の特定の形態（例えば、Ｂｌｕｅｔｏｏｔｈ）を必要とすることができる。
【０１３５】
別の例として、タスクは、タスクが実行される前にユーザが認証されることを必要とすることができる。図７Ａを参照して、ユーザは、Ｒ指定の映画の再生を要求するオーディオ入力７０２を提供することができ、この要求は、例えば、電子デバイス６０６上でのＲ指定の映画の再生のために、デバイス６０２によってタスクに分解することができる。映画の格付けの特質のため、タスクは、最初にユーザが認証されることを必要とすることができる。認証は、生体認証（例えば、指紋認証）及び／又はクレデンシャル認証（例えば、ユーザ名及びパスワード）を使用して実装することができる。図７Ｂを参照して、デバイス６０４は、それぞれ生体入力（例えば、Ｔｏｕｃｈ  ＩＤ）の入力を要求する入力要求７１２、７１４を提供することができる。図７Ｃに示すように、ユーザは、生体入力を提供することができ、デバイス６０４は、ユーザを認証することができる。いくつかの実施例では、デバイス６０４は、それぞれ、認証の完了、及びＲ指定の映画がデバイス６０６上で再生されることになることを確認する出力７２２、７２４を提供することができる。タスクを分解及び／又は実行するために使用されるデバイスを含むがこれらに限定されない、電子デバイス６０２〜６０８の任意のものを使用して認証を用いることができることが理解されるであろう。
３．タスクを実行する電子デバイスを識別するためのプロセス
【０１３６】
図８Ａ〜８Ｅは、様々な実施例に係る、タスクを実行する電子デバイスを識別するためのプロセスを示す。いくつかの実施例では、プロセス８００は、例えば、１つ以上の電子デバイス上に実装されたデジタルアシスタントを使用して用いることができる。いくつかの実施例では、プロセス８００は、デジタルアシスタントを実装するクライアントサーバシステム（例えば、システム１００）を使用して実行することができる。他の実施例では、プロセス８００の個々のブロックは、任意の適切な方法で１つ以上のコンピュータ、システム、又は電子デバイスの中で分配することができることを認識されたい。例えば、いくつかの実施例では、プロセス８００は、電子デバイス（例えば、デバイス１０４、２００、４００）上で全部実行することができる。更に、以下の説明は、プロセス８００がデジタルアシスタントシステム（例えば、システム１００）によって実行されているとして説明しているが、プロセス又はプロセスの任意の特定の部分は、任意の特定のデバイス、デバイスの組み合わせ、又は実装による実行に限定されないことを認識されたい。
【０１３７】
ブロック８０２で、複数の電子デバイス（例えば、デバイス１０４、２００、４００）のうちの２つ以上のそれぞれで、オーディオ入力をサンプリングすることができる。具体的には、オーディオ入力は、複数の電子デバイスのユーザから受信することができる。オーディオ入力は、複数の電子デバイスのそれぞれの上に実装された対応する又は同じデジタルアシスタントとの、双方向作用の過程で、又はその一部として受信することができる。いくつかの実施例では、電子デバイスのマイクロフォン（例えば、マイクロフォン１１３）を介して、オーディオ入力を受信することができる。受信したオーディオ入力は、（例えば、オーディオ回路２１０又はプロセッサ（単数又は複数）２２０を使用して）処理して、例えば、電子信号（デジタル又はアナログ）又は１つ以上のオーディオファイルなどの表現形態に変換することができる。
【０１３８】
いくつかの実施例では、オーディオ入力は、ユーザ要求を表す及び／又は含むことができる。例えば、オーディオ入力は、「Ｇａｍｅ  ｏｆ  Ｔｈｒｏｎｅｓの最新のエピソードを再生して」という要求を含むことができ、それによって、テレビ番組Ｇａｍｅ  ｏｆ  Ｔｈｒｏｎｅｓの最新のエピソードの再生を要求することができる。更に、いくつかの実施例では、オーディオ入力は、ユーザ要求を明示的に含まなくてもよく、むしろ、ユーザ要求は、オーディオ入力が受信されるコンテキストに基づいて暗示することができる。具体的には、ユーザ要求は、オーディオ入力が向けられた入力フィールド及び／又はアプリケーションに基づいて暗示することができる。例えば、フォーカスが地図アプリケーションの検索フィールドに現在向けられている間に、オーディオ入力が、「レストラン」という語句を含む場合がある。この実施例では、オーディオ入力は、特定の地理的エリア内のレストランの位置情報を入手するユーザ要求を表すことができる。
【０１３９】
いくつかの実施例では、オーディオ入力の代わりにブロック８０２でテキスト入力を受信することができることを認識されたい。例えば、複数の電子デバイスのうちの１つ以上の上の好適なユーザインタフェースを介して、ユーザからユーザ要求を表すテキスト入力を受信することができる。テキスト入力を受信するための好適なユーザインタフェースの例としては、仮想キーボード、手書き認識インタフェース、ジェスチャ認識インタフェースなどを挙げることができる。
【０１４０】
いくつかの実施例では、ブロック８０２でオーディオ入力をサンプリングすることは、オーディオ入力が口頭トリガを含むか否かを判定することを含むことができる。口頭トリガは、任意の所定のキーワード、語句、又はユーザ要求に関する後続の入力を分析するために複数の電子デバイスの１つ以上の電子デバイスをトリガする他の口頭入力を含むことができる。例えば、口頭トリガは、語句「Ｈｅｙ、Ｓｉｒｉ」を含むことができる。これに応じて、電子デバイスのそれぞれは、後続のオーディオ入力をサンプリングすることができる。いくつかの実施例では、オーディオ出力のサンプリングを確認する出力を提供することができる。例えば、オーディオ入力が口頭トリガを含むという判定に従って、出力を提供することができる。
【０１４１】
ブロック８０６で、サンプリングされたオーディオ入力に関連付けられたタスクを判定するための複数の電子デバイスの第１の電子デバイスを識別することができる。いくつかの実施例では、電子デバイスは、デバイスによって受信したスピーチの品質に基づいて識別される。スピーチの品質は、例えば、ユーザと複数の電子デバイスのそれぞれとの間の距離、及び／又は複数の電子デバイスが動作する環境の１つ以上の他の音響特性に基づいて、変化することがある。複数のデバイスがモバイル電話及びテレビを含む実施例では、モバイル電話がユーザにより近いイベントにおいて、モバイル電話を識別することができる。いくつかの実施例では、第１の電子デバイスを識別することは、２つ以上の電子デバイスのそれぞれでサンプリングされたオーディオ入力の対応するスピーチの品質を判定することを含む。スピーチの品質は、例えば、音響環境ノイズ、最小音量、最大音量、音量の相違、周波数、又はそれらの組み合わせに基づいて判定することができる。
【０１４２】
デバイスは、どの種類の電子デバイスが他の種類に対して優先されるかを指定する優先順位付け規則の所定のセットに基づいて、更に識別することができる。例えば、いくつかの実施例では、第１の電子デバイスを識別することは、２つ以上の電子デバイスが装着型電子デバイス（例えば、スマートウォッチ）を含むか否かを判定することを含む。そうである場合、第１の電子デバイスとして、装着型電子デバイスが識別される。
【０１４３】
いくつかの実施例では、第１の電子デバイスを識別することは、２つ以上の電子デバイスのそれぞれでサンプリングされたオーディオ入力の対応する音圧レベルを判定することを含む。最高音圧レベルを有するとして識別された電子デバイスを、第１の電子デバイスとして識別することができる。
【０１４４】
ブロック８１８で、サンプリングされたオーディオ入力に基づいて、タスクを判定することができる。いくつかの実施例では、タスクは、第１の電子デバイスによって判定することができる。少なくとも１つの実施形態では、第１の電子デバイスは、ローカルでオーディオ入力をタスクに分解する。すなわち、オーディオ入力は、第１の電子デバイス上で分解される。他の実施形態では、オーディオ入力は、リモートで分解される。第１の電子デバイスは、例えば、クラウドベースの仮想アシスタントサービスなどのサービスと通信して、オーディオ入力をサービスに提供することができ、このサービスが、次に、オーディオ入力をタスクに分解することができる。タスクは、その後、サービスによって、第１の電子デバイスへ提供することができる。例示的なタスクとしては、任意の数の再生、マッピング、検索、及び記憶機能を挙げることができるが、これらに限定されない。
【０１４５】
いくつかの実施例では、オーディオ入力がサンプリングされた後で、サンプリングされたオーディオ入力に基づいてタスクが判定されたことを確認する出力を提供することができる。出力は、電子デバイスのうちの１つ以上によって提供することができ、視覚、聴覚、及び／又は触覚の出力とすることができる。いくつかの実施例では、出力は、ユーザのオーディオ入力が受信されたという肯定応答として機能する。いくつかの実施例では、出力は、第１の電子デバイス以外の、複数の電子デバイスのある電子デバイスによって提供される。例として、ユーザは、「私は今あなたのプレイリストを再生しています」と話す音声を出力することができる装着型電子デバイス及びスピーカドックなどの別のデバイスに話すことができる。いくつかの実施例では、出力は、オーディオ入力をサンプリング及び／又は分解する、第１の電子デバイス以外の複数の電子デバイスのある電子デバイスによって提供され、第２の電子デバイスがタスクを実行する。例として、ユーザは、第１の電子デバイス（例えば、モバイル電話）に話すことができ、ユーザの装着型電子デバイス（例えば、スマートウォッチ）が、タスクが第３のデバイス（例えば、テレビ）に提供されていることを示す振動などの出力を提供することができる。
【０１４６】
いくつかの実施例では、オーディオ入力がサンプリングされた後で、オーディオ入力のサンプリングを確認する第１の出力を提供することができ、サンプリングされたオーディオ入力に基づいてタスクが判定されたことを示す第２の出力を提供することができる。いくつかの実施例では、第１及び第２の出力は、異なる特性を有する。いくつかの実施例では、第１の出力は、２つ以上の電子デバイスによって提供することができる。例えば、いくつかの実施形態では、複数の電子デバイスの複数の電子デバイスは、オーディオ入力がサンプリングされているという、ＬＥＤの発光などの相対的により知覚しにくいインジケーションを提供し、特定の電子デバイスが、サンプリングされたオーディオ入力が分解されたという、聴覚（例えば、口頭の）インジケーションなどの相対的により知覚可能なインジケーションを提供する。この方法で、ユーザは、１つ以上の電子デバイスがオーディオ入力を処理していることを知らされるが、選択された電子デバイスが、タスクがオーディオ入力に基づいて実行されるという肯定応答を提供する。
【０１４７】
ブロック８２４で、タスクを実行するための第２の電子デバイスを識別することができる。第２の電子デバイスは、例えば、第１の電子デバイスによって、複数のデバイスの別の電子デバイスによって、及び／又はオーディオ入力を分解するために使用されるサービス（ブロック８１８）によって識別することができる。
【０１４８】
いくつかの実施例では、第２の電子デバイスを識別することは、第１の電子デバイスと複数の電子デバイスの１つ以上の他の電子デバイスとの間の無線通信（例えば、Ｂｌｕｅｔｏｏｔｈ、Ｂｌｕｅｔｏｏｔｈ  ＬＥ、ＷｉＦｉ）の信号強度を判定することを含む。信号強度は、例えば、信号の信頼性及び／又はデータスループットを使用して測定することができる。最高信号強度を有する電子デバイスを、第２の電子デバイスとして識別することができる。
【０１４９】
いくつかの実施例では、第２の電子デバイスは、複数の電子デバイスのある電子デバイスのディスプレイスクリーンのサイズのインジケーションを入手することにより、識別することができる。インジケーションがタスクの要件を満たすか否かの判定を、次に行うことができる。例えば、タスクが、閾値サイズより大きな、又は閾値サイズ未満のスクリーンサイズを必要とするか否かを判定することができる。インジケーションが要件を満たすという判定に従って、この電子デバイスを、第２の電子デバイスとして識別することができる。例えば、第１の電子デバイスは、この電子デバイスを第２の電子デバイスとして識別することができる。インジケーションが要件を満たさないという判定に従って、この電子デバイスは、第２の電子デバイスとして識別されなくてもよい。例えば、第１の電子デバイスは、この電子デバイスの第２の電子デバイスとしての識別を取り止めることができる。
【０１５０】
いくつかの実施例では、第２の電子デバイスは、複数の電子デバイスのある電子デバイスがモバイル電子デバイスであるか否かを判定することにより、識別することができる。いくつかの実施例では、モバイルデバイスは、バッテリ駆動の任意のデバイスとすることができる。電子デバイスがモバイルデバイスであるという判定に従って、この電子デバイスを、第２の電子デバイスとして識別することができる。例えば、第１の電子デバイスは、この電子デバイスを第２の電子デバイスとして識別することができる。電子デバイスがモバイルデバイスではないという判定に従って、この電子デバイスは、第２の電子デバイスとして識別されなくてもよい。例えば、第１の電子デバイスは、この電子デバイスの第２の電子デバイスとしての識別を取り止めることができる。
【０１５１】
いくつかの実施例では、第２の電子デバイスは、複数の電子デバイスのある電子デバイスが電気コンセントによって電源を供給されているか否かを判定することにより、識別することができる。電子デバイスが電気コンセントによって電源を供給されているという判定に従って、この電子デバイスを、第２の電子デバイスとして識別することができる。例えば、第１の電子デバイスは、この電子デバイスを第２の電子デバイスとして識別することができる。電子デバイスが電気コンセントによって電源を供給されていないという判定に従って、この電子デバイスは、第２の電子デバイスとして識別されなくてもよい。例えば、第１の電子デバイスは、この電子デバイスの第２の電子デバイスとしての識別を取り止めることができる。
【０１５２】
いくつかの実施例では、第２の電子デバイスは、タスクに基づいて判定することができる。例えば、説明したように、タスクは、１つ以上の要件を指定することができ、指定された１つ以上の要件に従って、タスクを実行するために最適な電子デバイスを選択することができる。例として、タスクは、マッピングサービスの使用を必要とすることができ、それに応じて、モバイル電話などのセルラー及び／又はインターネット接続性を有するデバイスを判定することができる。
【０１５３】
ブロック８６８で、例えば、第２の電子デバイスを使用して、タスクを実行することができる。いくつかの実施例では、第２の電子デバイスは、第１の電子デバイスではない。
【０１５４】
任意選択的に、第２の電子デバイスでタスクを実行する前に、ユーザは、入力を促される。この方法で提供される入力は、生体入力及び／又はパスワード若しくは他のクレデンシャルの入力を含むことができる。いくつかの実施例では、促された入力は、指紋リーダなどの生体センサを使用して受信することができる。促された入力を受信した後で、第２の電子デバイスは、タスクを実行する。いくつかの実施例では、複数の電子デバイスの第３の電子デバイスが識別される。第３の電子デバイスは、促された入力を検出するように構成された入力インタフェースを有することができる。
【０１５５】
任意選択的に、基準が満たされるまで、タスクの実行を遅延させることができる。いくつかの実施例では、遅延は、第２の電子デバイスによって実行することができる。この方法に依拠する基準は、ユーザアクティビティ及び／又は１つ以上の電子デバイスの状態に向けた基準を含むことができる。例えば、第１の基準は、ＧＰＳ座標によって判定されるようにユーザが運転を停止したことを必要とすることができ、第２の基準は、Ｂｌｕｅｔｏｏｔｈ接続性を含むことができる。いくつかの実施例では、タスクを実行するための基準を提供する出力は、例えば、第２の電子デバイスによって提供することができる。基準を提供する出力は、視覚、聴覚、及び／又は触覚によるものとすることができる。
【０１５６】
図９Ａ〜９Ｃは、様々な実施例に係る、タスクを実行する電子デバイスを識別するためのプロセスを示す。いくつかの実施例では、プロセス９００は、例えば、１つ以上の電子デバイス上に実装されたデジタルアシスタントを使用して用いることができる。いくつかの実施例では、プロセス９００は、デジタルアシスタントを実装するクライアントサーバシステム（例えば、システム１００）を使用して実行することができる。プロセス９００の個々のブロックは、任意の適切な方法で１つ以上のコンピュータ、システム、又は電子デバイスの中で分配することができることを認識されたい。例えば、いくつかの実施例では、プロセス９００は、電子デバイス（例えば、デバイス１０４、２００、４００）上で全部実行することができる。更に、以下の説明は、プロセス９００がデジタルアシスタントシステム（例えば、システム１００）によって実行されているとして説明しているが、プロセス又はプロセスの任意の特定の部分は、任意の特定のデバイス、デバイスの組み合わせ、又は実装による実行に限定されないことを認識されたい。
【０１５７】
ブロック９０２で、第１の電子デバイス（例えば、デバイス１０４、２００、４００）で、タスクを示すデータを受信することができる。タスクを示すデータは、タスクを表すデータ、タスクに対応するデータ、タスクに関連付けられたデータ、及び／又はタスクを別の方法で導出することができるデータとすることができる。タスクを示すデータは、第１の電子デバイスのユーザから受信することができる。いくつかの実施例では、タスクを示すデータは、第１の電子デバイス上に実装された対応する又は同じデジタルアシスタントとの、双方向作用の過程で、又はその一部として受信することができる。いくつかの実施形態では、タスクは、ローカルで分解され、他の実施形態では、リモート（例えば、サーバ側）で分解される。タスクとしては、任意の数の再生、マッピング、検索、及び記憶機能が挙げられるが、これらに限定されない。いくつかの実施例では、タスクは、オーディオ入力に関連付けられる。オーディオ入力は、口頭トリガ（例えば、「Ｈｅｙ、Ｓｉｒｉ」）及び／又は１つ以上のユーザ要求若しくはコマンドを含むことができる。
【０１５８】
いくつかの実施例では、タスクを示すデータを受信することは、第１の電子デバイスのマイクロフォン（例えば、マイクロフォン１１３）を介してオーディオ入力を受信することを含む。受信したオーディオ入力は、（例えば、オーディオ回路２１０又はプロセッサ（単数又は複数）２２０を使用して）処理して、例えば、電子信号（デジタル又はアナログ）又は１つ以上のオーディオファイルなどの表現形態に変換することができる。オーディオ入力の受信に応じて、受信したオーディオ入力に基づいて、タスクを示すデータを生成することができる。タスクを示すデータは、第１の電子デバイスによって生成することができる。
【０１５９】
いくつかの実施例では、タスクを示すデータを受信することは、第１の電子デバイスのマイクロフォン（例えば、マイクロフォン１１３）を介してオーディオ入力を受信することを含む。受信したオーディオ入力を表すデータは、１つ以上のサーバに提供する（例えば、送信する）ことができ、タスクを示すデータは、１つ以上のサーバから受信することができる。いくつかの実施例では、タスクは、受信したオーディオ入力を表すデータに基づいて、１つ以上のサーバによって判定される。
【０１６０】
いくつかの実施例では、オーディオ入力の代わりにブロック９０２でテキスト入力を受信することができることを認識されたい。例えば、複数の電子デバイスのうちの１つ以上の上の好適なユーザインタフェースを介して、ユーザからユーザ要求を表すテキスト入力を受信することができる。テキスト入力を受信するための好適なユーザインタフェースの例としては、仮想キーボード、手書き認識インタフェース、ジェスチャ認識インタフェースなどを挙げることができる。
【０１６１】
ブロック９１４で、第１の電子デバイス又は第２の電子デバイスがタスクを実行するかの判定が行われる。いくつかの実施例では、判定は、第１の電子デバイスで行われる。
【０１６２】
いくつかの実施例では、第１の電子デバイス又は第２の電子デバイスがタスクを実行するかを判定することは、複数の優先順位付け規則に従って、タスクが第１の電子デバイス又は第２の電子デバイスに関連付けられているかを判定することを含む。いくつかの実施例では、優先順位付け規則は、タスク特有及び／又はデバイス特有のものとすることができる。例えば、優先順位付け規則は、それぞれの電子デバイスの種類、能力、及び／又は使用（使用の新しいこと、使用の頻度、使用中に実行されたタスク）に基づいて、どのデバイスがそれぞれのタスクを実行するかを指定することができる。複数の優先順位付け規則に従って、タスクが第１の電子デバイス又は第２の電子デバイスに関連付けられているかを判定することは、第１の電子デバイスの表示能力、第１の電子デバイスの移動性、又はそれらの組み合わせに基づいて、タスクが第１の電子デバイス又は第２の電子デバイスに関連付けられているかを判定することを含むことができる。より大きなディスプレイを有する電子デバイスを、タスクを実行する電子デバイスとして判定することができる。別の実施例では、この判定は、第１及び第２の電子デバイスの以前の使用に基づいて、タスクが第１の電子デバイス又は第２の電子デバイスに関連付けられているかを判定することを含むことができる。最も最近使用された電子デバイスを、タスクを実行する電子デバイスとして判定することができる、又は特定のタスクを最も最近実行している電子デバイスを、タスクを実行する電子デバイスとして判定することができる。
【０１６３】
ブロック９２２で、タスクが第１の電子デバイスに関連付けられているという判定に従って、第１の電子デバイスでタスクを実行することができる。
【０１６４】
いくつかの実施例では、第１の電子デバイスでタスクを実行することは、第１のユーザに関連付けられた第１のタスクを実行することを含み、第１のユーザとは異なる第２のユーザに関連付けられた第２のタスクを実行することができる。例えば、第１の電子デバイスは、第１のユーザに対して歌の再生を実行して、第２のユーザに対してレストランへの道順を提供することができる。
【０１６５】
いくつかの実施例では、第１の電子デバイスでタスクを実行することは、第１の電子デバイスに関連付けられたユーザを認証することを含む。第１の電子デバイスは、ユーザ名及びパスワード又は数字キーなどの１つ以上のクレデンシャルを使用して、ユーザを認証することができる。少なくとも１つの実施形態では、第１の電子デバイスでユーザを認証することは、生体入力（例えば、指紋）を受信することを含む。ユーザを認証したことに応じて、タスクが実行される。
【０１６６】
ブロック９３２で、タスクが第２の電子デバイスに関連付けられているという判定に従って、タスクを示すデータは、第２の電子デバイスへ送信される。例えば、この方法でデータを送信させることは、第２の電子デバイスを使用してタスクを示すデータを第３の電子デバイスへ提供することを含むことができる、又は別の電子デバイスにタスクを示すデータを第３の電子デバイスへ提供させることを含むことができる。
４．追加の例示的な電子デバイス
【０１６７】
図８Ａ〜Ｅに関連する上記の動作は、任意選択的に、図１、図２Ａ、図４、図６Ａ〜図６Ｂ、図７Ａに示す構成要素により、実施することができる。例えば、サンプリングする動作８０２、識別する動作８０６及び８２４、判定する動作８１８、並びに実行する動作８６８は、任意選択的に、Ｉ／Ｏ処理モジュール７２８、ＳＴＴ処理モジュール７３０、自然言語処理モジュール７３２、及びタスクフロー処理モジュール７３６によって実施される。Ｉ／Ｏ処理モジュール７２８は、ユーザ要求を表す音声入力を受信することができ、音声入力に関連付けられたメタデータを受信することができる。ＳＴＴ処理モジュール７３０は、音声入力に対応するテキスト文字列を判定することができる。自然言語処理モジュール７３２は、メタデータに基づいて、テキスト文字列に自然言語処理を実行するか否かを判定することができる。テキスト文字列に自然言語処理が実行されると判定したことに応じて、自然言語処理モジュール７３２は、メタデータがユーザ要求に対応する１つ以上のドメインを識別するか否かを更に判定することができる。メタデータがユーザ要求に対応する１つ以上のドメインを識別すると判定したことに応じて、自然言語処理モジュール７３２は、テキスト文字列を使用して、１つ以上のドメインに基づいて、１つ以上のドメインに関連付けられた実施可能な意図を表す構造化されたクエリを生成することができる。タスクフロー処理モジュール７３６は、構造化されたクエリに関連付けられたタスクフローを実行することができる。タスクフロー処理モジュール７３６は、ユーザ要求を満たす結果がタスクフローを実行することから得られたか否かを判定することができる。ユーザ要求を満たす結果がタスクフローを実行することから得られたと判定したことに応じて、Ｉ／Ｏ処理モジュール７２８は、結果を含むデータコンテンツを出力することができる。
【０１６８】
別の実施例では、サンプリングする動作８０２、識別する動作８０６及び８２４、判定する動作８１８、実行する動作８６８は、任意選択的に、デジタルアシスタントクライアントモジュール２２９及びアプリケーション２３６によって実施される。デジタルアシスタントクライアントモジュール２２９は、マイクロフォン２１３からユーザ要求を表す音声入力を受信することができる。デジタルアシスタントクライアントモジュール２２９は、ＲＦ回路２０８を使用して、音声入力及び音声入力に関連付けられたメタデータを送信することができる。メタデータは、オントロジの１つ以上のドメインを識別することができ、１つ以上のドメインは、ユーザ要求に対応する。デジタルアシスタントクライアントモジュールは、ＲＦ回路２０８を使用して、ユーザ要求を満たすことを促進するためにデータコンテンツを受信することができる。データコンテンツは、音声入力から導出することができる。デジタルアシスタントクライアントモジュール２２９は、データコンテンツがユーザ要求を満たすか否かを判定することができる。データコンテンツがユーザ要求を満たすことを判定したことに応じて、デジタルアシスタントクライアントモジュール２２９及びアプリケーション２３６は、データコンテンツに基づいて、結果を出力することができる。
【０１６９】
図１０は、説明される様々な実施例の原理に従って構成された、電子デバイス１０００の機能ブロック図を示す。デバイスの機能ブロックは、説明される様々な実施例の原理を実行するために、ハードウェア、ソフトウェア、又はハードウェアとソフトウェアとの組み合わせによって、任意選択的に実施することができる。図１０で説明する機能ブロックが、説明される様々な実施例の原理を実施するために任意選択的に組み合わされ、又はサブブロックに分離され得ることが、当業者には理解されよう。したがって、本明細書における説明は、本明細書で説明されている機能ブロックのあらゆる可能な組み合わせ若しくは分離、又は更なる定義を任意選択的に支持する。
【０１７０】
図１０に示すように、電子デバイス１０００は、マイクロフォン１００２と、マイクロフォン１００２に連結された処理ユニット１００８とを含むことができる。いくつかの実施例では、処理ユニット１００８は、受信ユニット１０１０、判定ユニット１０１２、実行ユニット１０１４、誘発ユニット１０１６、並びに、任意選択的に、提供ユニット１０１８、生成ユニット１０２０、送信ユニット１０２２、及び認証ユニット９２４を含むことができる。
【０１７１】
処理ユニット１００８は、第１の電子デバイスで、オーディオ入力に関連付けられたタスクを示すデータを受信し（例えば、受信ユニット１０１０を用いて）、第１の電子デバイスで、第１の電子デバイス又は第２の電子デバイスがタスクを実行するかを判定し（例えば、判定ユニット１０１２を用いて）、タスクが第１の電子デバイスに関連付けられているという判定に従って、第１の電子デバイスでタスクを実行し（例えば、実行ユニット１０１４を用いて）、タスクが第２の電子デバイスに関連付けられているという判定に従って、タスクを示すデータを第２の電子デバイスへ送信させる（例えば、誘発ユニット１０１６を用いて）、ように構成される。
【０１７２】
いくつかの実施例では、タスクを示すデータを第２の電子デバイスへ提供させることは、タスクを示すデータを第３の電子デバイスへ提供する（例えば、提供ユニット１０１８を用いて）ことを含む。
【０１７３】
いくつかの実施例では、受信することは、マイクロフォン１００２でオーディオ入力を受信して、オーディオ入力の受信に応じて、第１の電子デバイスで、少なくとも一部受信したオーディオ入力に基づいて、タスクを示すデータを生成する（例えば、生成ユニット１０２０を用いて）ことを含む。
【０１７４】
いくつかの実施例では、受信することは、マイクロフォン１００２でオーディオ入力を受信すること、受信したオーディオ入力を表すデータを１つ以上のサーバに送信すること（例えば、送信ユニット１０２２を用いて）、１つ以上のサーバから、受信したオーディオ入力を表すデータに基づいて１つ以上のサーバによって判定されたタスクを示すデータを受信する（例えば、受信ユニット１０１０を用いて）ことを含む。
【０１７５】
いくつかの実施例では、判定することは、複数の優先順位付け規則に従って、タスクが第１の電子デバイス又は第２の電子デバイスに関連付けられているかを判定する（例えば、判定ユニット１０１２を用いて）ことを含む。
【０１７６】
いくつかの実施例では、複数の優先順位付け規則に従って、タスクが第１の電子デバイス又は第２の電子デバイスに関連付けられているかを判定することは、第１の電子デバイスの表示能力、第１の電子デバイスの移動性、又はそれらの組み合わせに基づいて、タスクが第１の電子デバイス又は第２の電子デバイスに関連付けられているかを判定する（例えば、判定ユニット１０１２を用いて）ことを含む。
【０１７７】
いくつかの実施例では、複数の優先順位付け規則に従って、タスクが第１の電子デバイス又は第２の電子デバイスに関連付けられているかを判定することは、第１及び第２の電子デバイスの以前の使用に基づいて、タスクが第１の電子デバイス又は第２の電子デバイスに関連付けられているかを判定する（例えば、判定ユニット１０１２を用いて）ことを含む。
【０１７８】
いくつかの実施例では、第１の電子デバイスでタスクを実行することは、第１のユーザに関連付けられた第１のタスクを実行する（例えば、実行ユニット１０１４を用いて）ことを含み、処理ユニットは、第１の電子デバイスで、第１のユーザとは異なる第２のユーザに関連付けられた第２のタスクを実行する（例えば、実行ユニット１０１４を用いて）ように更に構成される。
【０１７９】
いくつかの実施例では、第１の電子デバイスでタスクを実行することは、第１の電子デバイスに関連付けられたユーザを認証すること（例えば、認証ユニット１０２４を用いて）、及びユーザを認証したことに応じて、タスクを実行する（例えば、実行ユニット１０１４を用いて）ことを含む。
【０１８０】
いくつかの実施例では、ユーザを認証することは、生体入力を受信する（例えば、受信ユニット１０１０を用いて）ことを含む。
【０１８１】
図９Ａ〜Ｃに関連する上記の動作は、任意選択的に、図１、図２Ａ、図４、図６Ａ〜図６Ｂ、図７Ａ、又は図１０に示す構成要素により、実施することができる。例えば、受信する動作９０２、判定する動作９１４、実行する動作９２２、及び誘発する動作９３２は、任意選択的に、Ｉ／Ｏ処理モジュール７２８、ＳＴＴ処理モジュール７３０、自然言語処理モジュール７３２、及びタスクフロー処理モジュール７３６によって実施される。Ｉ／Ｏ処理モジュール７２８は、ユーザ要求を表す音声入力を受信することができ、音声入力に関連付けられたメタデータを受信することができる。ＳＴＴ処理モジュール７３０は、音声入力に対応するテキスト文字列を判定することができる。自然言語処理モジュール７３２は、メタデータに基づいて、テキスト文字列に自然言語処理を実行するか否かを判定することができる。テキスト文字列に自然言語処理が実行されると判定したことに応じて、自然言語処理モジュール７３２は、メタデータがユーザ要求に対応する１つ以上のドメインを識別するか否かを更に判定することができる。メタデータがユーザ要求に対応する１つ以上のドメインを識別すると判定したことに応じて、自然言語処理モジュール７３２は、テキスト文字列を使用して、１つ以上のドメインに基づいて、１つ以上のドメインに関連付けられた実施可能な意図を表す構造化されたクエリを生成することができる。タスクフロー処理モジュール７３６は、構造化されたクエリに関連付けられたタスクフローを実行することができる。タスクフロー処理モジュール７３６は、ユーザ要求を満たす結果がタスクフローを実行することから得られたか否かを判定することができる。ユーザ要求を満たす結果がタスクフローを実行することから得られたと判定したことに応じて、Ｉ／Ｏ処理モジュール７２８は、結果を含むデータコンテンツを出力することができる。
【０１８２】
別の実施例では、受信する動作９０２、判定する動作９１４、実行する動作９２２、及び誘発する動作９３２は、任意選択的に、デジタルアシスタントクライアントモジュール２２９及びアプリケーション２３６によって実施される。デジタルアシスタントクライアントモジュール２２９は、マイクロフォン２１３からユーザ要求を表す音声入力を受信することができる。デジタルアシスタントクライアントモジュール２２９は、ＲＦ回路２０８を使用して、音声入力及び音声入力に関連付けられたメタデータを送信することができる。メタデータは、オントロジの１つ以上のドメインを識別することができ、１つ以上のドメインは、ユーザ要求に対応する。デジタルアシスタントクライアントモジュールは、ＲＦ回路２０８を使用して、ユーザ要求を満たすことを促進するためにデータコンテンツを受信することができる。データコンテンツは、音声入力から導出することができる。デジタルアシスタントクライアントモジュール２２９は、データコンテンツがユーザ要求を満たすか否かを判定することができる。データコンテンツがユーザ要求を満たすことを判定したことに応じて、デジタルアシスタントクライアントモジュール２２９及びアプリケーション２３６は、データコンテンツに基づいて、結果を出力することができる。
【０１８３】
例示的な方法、非一時的コンピュータ可読記憶媒体、システム、及び電子デバイスが以下の項目において説明される。
１．
タスクを実行するために、複数の電子デバイスから電子デバイスを識別する方法であって、
オーディオ入力を、複数の電子デバイスの２つ以上のそれぞれで、マイクロフォンでサンプリングすることと、
サンプリングされたオーディオ入力に関連付けられたタスクを判定するための複数の電子デバイスの第１の電子デバイスを識別することと、
第１の電子デバイスで、サンプリングされたオーディオ入力に基づいてタスクを判定することと、
タスクを実行するための複数の電子デバイスの第２の電子デバイスを識別することと、
第２の電子デバイスで、タスクを実行することと、
を含み、第２の電子デバイスは、第１の電子デバイスではない、方法。
２．
オーディオ入力をサンプリングした後で、サンプリングされたオーディオ入力に基づいてタスクが判定されたことを示す出力を提供することを更に含み、出力は、第１の電子デバイス以外の複数の電子デバイスの電子デバイスによって提供される、項目１に記載の方法。
３．
出力は、第１の電子デバイス及び第２の電子デバイス以外の、複数の電子デバイスの電子デバイスによって提供される、項目２に記載の方法。
４．
オーディオ入力をサンプリングすることは、オーディオ入力が口頭トリガを含むか否かを判定することを含み、方法は、
オーディオ入力が口頭トリガを含むという判定に従って、
オーディオ入力のサンプリングを確認する第１の出力を提供することと、
オーディオ入力をサンプリングした後で、サンプリングされたオーディオ入力に基づいてタスクが判定されたことを示す出力を提供することと、
を更に含み、
第１の出力及び第２の出力は、異なる特性を有し、
第１の出力は、２つ以上の電子デバイスによって提供される、項目１から３のいずれか一項に記載の方法。
５．
口頭トリガは、所定の語句を含む、項目４に記載の方法。
６．
サンプリングされたオーディオ入力に関連付けられたタスクを判定するための複数の電子デバイスの第１の電子デバイスを識別することは、
２つ以上の電子デバイスでサンプリングされたオーディオ入力内のそれぞれのスピーチの品質を判定することを含む、項目１から５のいずれか一項に記載の方法。
７．
サンプリングされたオーディオ入力に関連付けられたタスクを判定するための複数の電子デバイスの第１の電子デバイスを識別することは、
２つ以上の電子デバイスでサンプリングされたオーディオ入力のそれぞれの音圧レベルを判定することと、
第１の電子デバイスとして、２つ以上の電子デバイスの最高音圧レベルを有する電子デバイスを識別することと、
を含む、項目１から６のいずれか一項に記載の方法。
８．
サンプリングされたオーディオ入力に関連付けられたタスクを判定するための複数の電子デバイスの第１の電子デバイスを識別することは、
オーディオ入力をサンプリングしている２つ以上の電子デバイスが装着型電子デバイスを含むか否かを判定することと、
第１の電子デバイスとして、装着型電子デバイスを識別することと、
を含む、項目１から７のいずれか一項に記載の方法。
９．
タスクを実行するための複数の電子デバイスの第２の電子デバイスを識別することは、
第１の電子デバイスと複数の電子デバイスの少なくとも１つの他の電子デバイスとの間の無線通信の信号強度を判定することと、
第２の電子デバイスとして最高信号強度を有する電子デバイスを識別することと、
を含む、項目１から８のいずれか一項に記載の方法。
１０．
タスクを実行するための複数の電子デバイスの第２の電子デバイスを識別することは、
複数の電子デバイスの電子デバイスのディスプレイスクリーンサイズのインジケーションを入手することと、
インジケーションがタスクの要件を満たすか否かを判定することと、
インジケーションが要件を満たすという判定に従って、第２の電子デバイスとして電子デバイスを識別することと、
インジケーションが要件を満たさないという判定に従って、第２の電子デバイスとしての電子デバイスの識別を取り止めることと、
を含む、項目１から９のいずれか一項に記載の方法。
１１．
タスクを実行するための複数の電子デバイスの第２の電子デバイスを識別することは、
複数の電子デバイスの電子デバイスがモバイル電子デバイスであるか否かを判定することと、
電子デバイスがモバイル電子デバイスであるという判定に従って、第２の電子デバイスとして電子デバイスを識別することと、
電子デバイスがモバイル電子デバイスでないという判定に従って、第２の電子デバイスとしての電子デバイスの識別を取り止めることと、
を含む、項目１から１０のいずれか一項に記載の方法。
１２．
タスクを実行するための複数の電子デバイスの第２の電子デバイスを識別することは、
複数の電子デバイスの電子デバイスが電気コンセントにより電源を供給されているか否かを判定することと、
電子デバイスが電気コンセントにより電源を供給されているという判定に従って、第２の電子デバイスとして電子デバイスを識別することと、
電子デバイスが電気コンセントにより電源を供給されていないという判定に従って、第２の電子デバイスとしての電子デバイスの識別を取り止めることと、
を含む、項目１から１１のいずれか一項に記載の方法。
１３．
タスクを実行するための複数の電子デバイスの第２の電子デバイスを識別することは、
タスクに基づいて第２の電子デバイスを識別することを含む、項目１から８のいずれか一項に記載の方法。
１４．
基準が満たされるまで、第２の電子デバイスでのタスクの実行を遅延することと、
タスクを実行するための基準を示す出力を提供することと、
を更に含む、項目１から１３のいずれか一項に記載の方法。
１５．
第２の電子デバイスでタスクを実行する前にユーザに入力を促すことを更に含み、第２の電子デバイスは、促された入力を受信した後でタスクを実行する、項目１から１４のいずれか一項に記載の方法。
１６．
第２の電子デバイスでタスクを実行する前にユーザに入力を促すことは、
促された入力を検出するように構成された入力インタフェースを有する、複数の電子デバイスの第３の電子デバイスを識別することを含む、項目１５に記載の方法。
１７．
促された入力を受信することは、生体センサ内で入力を受信することを含む、項目１６に記載の方法。
１８．
タスクを実行するために、複数の電子デバイスから電子デバイスを識別する方法であって、
第１の電子デバイスで、オーディオ入力に関連付けられたタスクを示すデータを受信することと、
第１の電子デバイスで、第１の電子デバイス又は第２の電子デバイスがタスクを実行するかを判定することと、
タスクが第１の電子デバイスに関連付けられているという判定に従って、第１の電子デバイスでタスクを実行することと、
タスクが第２の電子デバイスに関連付けられているという判定に従って、タスクを示すデータを、第２の電子デバイスへ送信させることと、
を含む方法。
１９．
タスクを示すデータを第２の電子デバイスへ提供させることは、
タスクを示すデータを第３の電子デバイスへ提供することを含む、項目１８に記載の方法。
２０．
受信することは、
第１の電子デバイスのマイクロフォンでオーディオ入力を受信することと、
オーディオ入力の受信に応じて、第１の電子デバイスで、少なくとも一部受信したオーディオ入力に基づいて、タスクを示すデータを生成することと、
を含む、項目１８又は１９に記載の方法。
２１．
受信することは、
第１の電子デバイスのマイクロフォンでオーディオ入力を受信することと、
受信したオーディオ入力を表すデータを１つ以上のサーバに送信することと、
１つ以上のサーバから、受信したオーディオ入力を表すデータに基づいて１つ以上のサーバによって判定されたタスクを示すデータを受信することと、
を含む、項目１８から２０のいずれか一項に記載の方法。
２２．
判定することは、
複数の優先順位付け規則に従って、タスクが第１の電子デバイス又は第２の電子デバイスに関連付けられているかを判定することを含む、項目１８から２１のいずれか一項に記載の方法。
２３．
複数の優先順位付け規則に従って、タスクが第１の電子デバイス又は第２の電子デバイスに関連付けられているかを判定することは、
第１の電子デバイスの表示能力、第１の電子デバイスの移動性、又はそれらの組み合わせに基づいて、タスクが第１の電子デバイス又は第２の電子デバイスに関連付けられているかを判定することを含む、項目２２に記載の方法。
２４．
複数の優先順位付け規則に従って、タスクが第１の電子デバイス又は第２の電子デバイスに関連付けられているかを判定することは、
第１及び第２の電子デバイスの以前の使用に基づいて、タスクが第１の電子デバイス又は第２の電子デバイスに関連付けられているかを判定することを含む、項目２２に記載の方法。
２５．
第１の電子デバイスでタスクを実行することは、第１のユーザに関連付けられた第１のタスクを実行することを含み、方法は、
第１の電子デバイスで、第１のユーザとは異なる第２のユーザに関連付けられた第２のタスクを実行することを更に含む、項目１８から２４のいずれか一項に記載の方法。
２６．
第１の電子デバイスでタスクを実行することは、
第１の電子デバイスに関連付けられたユーザを認証することと、
ユーザを認証したことに応じて、タスクを実行することと、
を含む、項目１８から２５のいずれか一項に記載の方法。
２７．
ユーザを認証することは、生体入力を受信することを含む、項目２６に記載の方法。
２８．
１つ以上のプログラムを記憶する１つ以上の非一時的コンピュータ可読記憶媒体であって、１つ以上のプログラムは命令を含み、命令は、１つ以上のプロセッサによって実行されると、１つ以上のプロセッサに、
オーディオ入力を、複数の電子デバイスの２つ以上のそれぞれで、マイクロフォンでサンプリングさせ、
サンプリングされたオーディオ入力に関連付けられたタスクを判定するための複数の電子デバイスの第１の電子デバイスを識別させ、
第１の電子デバイスで、サンプリングされたオーディオ入力に基づいてタスクを判定させ、
タスクを実行するための複数の電子デバイスの第２の電子デバイスを識別させ、
第２の電子デバイスで、タスクを実行させ、
第２の電子デバイスは、第１の電子デバイスではない、非一時的コンピュータ可読記憶媒体。
２９．
１つ以上のプログラムを記憶する非一時的コンピュータ可読記憶媒体であって、１つ以上のプログラムは命令を含み、命令は、電子デバイスの１つ以上のプロセッサによって実行されると、電子デバイスに、
第１の電子デバイスで、オーディオ入力に関連付けられたタスクを示すデータを受信させ、
第１の電子デバイスで、第１の電子デバイス又は第２の電子デバイスがタスクを実行するかを判定させ、
タスクが第１の電子デバイスに関連付けられているという判定に従って、第１の電子デバイスでタスクを実行させ、
タスクが第２の電子デバイスに関連付けられているという判定に従って、タスクを示すデータを、第２の電子デバイスへ送信させる、
非一時的コンピュータ可読記憶媒体。
３０．
１つ以上のプロセッサと、
メモリと、
１つ以上のプログラムと、
を備えるシステムであって、１つ以上のプログラムは、メモリに記憶され、１つ以上のプロセッサによって実行されるように構成され、１つ以上のプログラムは、
オーディオ入力を、複数の電子デバイスの２つ以上のそれぞれで、マイクロフォンでサンプリングし、
サンプリングされたオーディオ入力に関連付けられたタスクを判定するための複数の電子デバイスの第１の電子デバイスを識別し、
第１の電子デバイスで、サンプリングされたオーディオ入力に基づいてタスクを判定し、
タスクを実行するための複数の電子デバイスの第２の電子デバイスを識別し、
第２の電子デバイスで、タスクを実行する、
命令を含み、第２の電子デバイスは、第１の電子デバイスではない、システム。
３１．
１つ以上のプロセッサと、
メモリと、
１つ以上のプログラムと、
を備える電子デバイスであって、１つ以上のプログラムは、メモリに記憶され、１つ以上のプロセッサによって実行されるように構成され、１つ以上のプログラムは、
第１の電子デバイスで、オーディオ入力に関連付けられたタスクを示すデータを受信し、
第１の電子デバイスで、第１の電子デバイス又は第２の電子デバイスがタスクを実行するかを判定し、
タスクが第１の電子デバイスに関連付けられているという判定に従って、第１の電子デバイスでタスクを実行し、
タスクが第２の電子デバイスに関連付けられているという判定に従って、タスクを示すデータを、第２の電子デバイスへ送信させる、
命令を含む、電子デバイス。
３２．
オーディオ入力を、複数の電子デバイスの２つ以上のそれぞれで、マイクロフォンでサンプリングするための手段と、
サンプリングされたオーディオ入力に関連付けられたタスクを判定するための複数の電子デバイスの第１の電子デバイスを識別するための手段と、
第１の電子デバイスで、サンプリングされたオーディオ入力に基づいてタスクを判定するための手段と、
タスクを実行するための複数の電子デバイスの第２の電子デバイスを識別するための手段と、
第２の電子デバイスで、タスクを実行するための手段と、
を備えるシステムであって、第２の電子デバイスは、第１の電子デバイスではない、システム。
３３．
第１の電子デバイスで、オーディオ入力に関連付けられたタスクを示すデータを受信するための手段と、
第１の電子デバイスで、第１の電子デバイス又は第２の電子デバイスがタスクを実行するかを判定するための手段と、
タスクが第１の電子デバイスに関連付けられているという判定に従って、第１の電子デバイスでタスクを実行するための手段と、
タスクが第２の電子デバイスに関連付けられているという判定に従って、タスクを示すデータを、第２の電子デバイスへ送信させるための手段と、
を備える電子デバイス。
３４．
１つ以上のプロセッサと、
メモリと、
１つ以上のプログラムと、
を備えるシステムであって、１つ以上のプログラムは、メモリに記憶され、１つ以上のプロセッサによって実行されるように構成され、１つ以上のプログラムは、項目１から１７のいずれか一項に記載の方法を実行する命令を含む、システム。
３５．
１つ以上のプログラムを記憶する１つ以上の非一時的コンピュータ可読記憶媒体であって、１つ以上のプログラムは命令を含み、命令は、１つ以上のプロセッサによって実行されると、１つ以上のプロセッサに、項目１から１７のいずれか一項に記載の方法を実行させる、非一時的コンピュータ可読記憶媒体。
３６．
項目１から１７のいずれか一項に記載の方法を実行するための手段を備えるシステム。
３７．
１つ以上のプロセッサと、
メモリと、
１つ以上のプログラムと、
を備える電子デバイスであって、１つ以上のプログラムは、メモリに記憶され、１つ以上のプロセッサによって実行されるように構成され、１つ以上のプログラムは、項目１８から２７のいずれか一項に記載の方法を実行する命令を含む、電子デバイス。
３８．
１つ以上のプログラムを記憶する非一時的コンピュータ可読記憶媒体であって、１つ以上のプログラムは命令を含み、命令は、電子デバイスの１つ以上のプロセッサによって実行されると、電子デバイスに項目１８から２７のいずれか一項に記載の方法を実行させる、非一時的コンピュータ可読記憶媒体。
３９．
項目１８から２７のいずれか一項に記載の方法を実行するための手段を備える電子デバイス。
４０．
処理ユニットを備える電子デバイスであって、処理ユニットは、
第１の電子デバイスで、オーディオ入力に関連付けられたタスクを示すデータを受信し、
第１の電子デバイスで、第１の電子デバイス又は第２の電子デバイスがタスクを実行するかを判定し、
タスクが第１の電子デバイスに関連付けられているという判定に従って、第１の電子デバイスでタスクを実行し、
タスクが第２の電子デバイスに関連付けられているという判定に従って、タスクを示すデータを、第２の電子デバイスへ送信させる、
ように構成された、電子デバイス。
４１．
タスクを示すデータを第２の電子デバイスへ提供させることは、
タスクを示すデータを第３の電子デバイスへ提供することを含む、項目４０に記載の電子デバイス。
４２．
受信することは、
第１の電子デバイスのマイクロフォンでオーディオ入力を受信することと、
オーディオ入力の受信に応じて、第１の電子デバイスで、少なくとも一部受信したオーディオ入力に基づいて、タスクを示すデータを生成することと、
を含む、項目４０又は４１に記載の電子デバイス。
４３．
受信することは、
第１の電子デバイスのマイクロフォンでオーディオ入力を受信することと、
受信したオーディオ入力を表すデータを１つ以上のサーバに送信することと、
１つ以上のサーバから、受信したオーディオ入力を表すデータに基づいて１つ以上のサーバによって判定されたタスクを示すデータを受信することと、
を含む、項目４０から４２のいずれか一項に記載の電子デバイス。
４４．
判定することは、
複数の優先順位付け規則に従って、タスクが第１の電子デバイス又は第２の電子デバイスに関連付けられているかを判定することを含む、項目４０から４３のいずれか一項に記載の電子デバイス。
４５．
複数の優先順位付け規則に従って、タスクが第１の電子デバイス又は第２の電子デバイスに関連付けられているかを判定することは、
第１の電子デバイスの表示能力、第１の電子デバイスの移動性、又はそれらの組み合わせに基づいて、タスクが第１の電子デバイス又は第２の電子デバイスに関連付けられているかを判定することを含む、項目４４に記載の電子デバイス。
４６．
複数の優先順位付け規則に従って、タスクが第１の電子デバイス又は第２の電子デバイスに関連付けられているかを判定することは、
第１及び第２の電子デバイスの以前の使用に基づいて、タスクが第１の電子デバイス又は第２の電子デバイスに関連付けられているかを判定することを含む、項目４４に記載の電子デバイス。
４７．
第１の電子デバイスでタスクを実行することは、第１のユーザに関連付けられた第１のタスクを実行することを含み、処理ユニットは、
第１の電子デバイスで、第１のユーザとは異なる第２のユーザに関連付けられた第２のタスクを実行するように更に構成された、項目４０から４６のいずれか一項に記載の電子デバイス。
４８．
第１の電子デバイスでタスクを実行することは、
第１の電子デバイスに関連付けられたユーザを認証することと、
ユーザを認証したことに応じて、タスクを実行することと、
を含む、項目４０から４７のいずれか一項に記載の電子デバイス。
４９．
ユーザを認証することは、生体入力を受信することを含む、項目４８に記載の電子デバイス。
【０１８４】
上述の説明は、説明の目的上、特定の実施形態を参照して説明されている。しかしながら、上記の例示的な論考は、網羅的であること、又は本発明を、開示される厳密な形態に限定することを意図するものではない。上記の教示を鑑みて、多くの修正及び変形が可能である。これらの実施形態は、本技術の原理、及びその実際の適用を最も良好に説明するために、選択及び説明されたものである。当業者は、これにより、意図される特定の使用に適合する様々な修正を施して、本技術及び様々な実施形態を最も良好に利用することが可能になる。
【０１８５】
添付図面を参照して、本開示及び実施例を十分に説明してきたが、様々な変更及び修正が、当業者には明らかとなるであろうことに留意されたい。そのような変更及び修正は、特許請求の範囲によって定義されるような、本開示及び実施例の範囲内に含まれるものとして理解されたい。
【図１Ａ】
0006778739.tif 000002
【図１Ｂ】
0006778739.tif 000003
【図２】
0006778739.tif 000004
【図３】
0006778739.tif 000005
【図４Ａ】
0006778739.tif 000006
【図４Ｂ】
0006778739.tif 000007
【図５Ａ】
0006778739.tif 000008
【図５Ｂ】
0006778739.tif 000009
【図６Ａ】
0006778739.tif 000010
【図６Ｂ】
0006778739.tif 000011
【図６Ｃ】
0006778739.tif 000012
【図６Ｄ】
0006778739.tif 000013
【図６Ｅ】
0006778739.tif 000014
【図６Ｆ】
0006778739.tif 000015
【図７Ａ】
0006778739.tif 000016
【図７Ｂ】
0006778739.tif 000017
【図７Ｃ】
0006778739.tif 000018
【図８Ａ】
0006778739.tif 000019
【図８Ｂ】
0006778739.tif 000020
【図８Ｃ】
0006778739.tif 000021
【図８Ｄ】
0006778739.tif 000022
【図８Ｅ】
0006778739.tif 000023
【図９Ａ】
0006778739.tif 000024
【図９Ｂ】
0006778739.tif 000025
【図９Ｃ】
0006778739.tif 000026
【図１０】
0006778739.tif 000027