(19)【発行国】日本国特許庁(JP)
(12)【公報種別】公開特許公報(A)
(11)【公開番号】P2024164043
(43)【公開日】2024-11-26
(54)【発明の名称】凝視情報を用いたデバイス制御
(51)【国際特許分類】
G06F 3/01 20060101AFI20241119BHJP
G06F 3/16 20060101ALI20241119BHJP
G10L 15/22 20060101ALI20241119BHJP
G06F 3/0481 20220101ALI20241119BHJP
【FI】
G06F3/01 510
G06F3/16 610
G10L15/22 453
G06F3/16 520
G06F3/0481
【審査請求】有
【請求項の数】8
【出願形態】OL
【外国語出願】
(21)【出願番号】P 2024127947
(22)【出願日】2024-08-02
(62)【分割の表示】P 2023001790の分割
【原出願日】2019-08-30
(31)【優先権主張番号】62/739,087
(32)【優先日】2018-09-28
(33)【優先権主張国・地域又は機関】US
【公序良俗違反の表示】
(特許庁注:以下のものは登録商標)
1.WCDMA
2.BLUETOOTH
3.Linux
4.UNIX
5.OS X
6.WINDOWS
7.VXWORKS
8.FIREWIRE
9.JAVA
10.JAVASCRIPT
11.Yahoo!ウィジェット
12.Blu-ray
13.ツイッター
14.iOS
(71)【出願人】
【識別番号】503260918
【氏名又は名称】アップル インコーポレイテッド
【氏名又は名称原語表記】Apple Inc.
【住所又は居所原語表記】One Apple Park Way,Cupertino, California 95014, U.S.A.
(74)【代理人】
【識別番号】110003281
【氏名又は名称】弁理士法人大塚国際特許事務所
(72)【発明者】
【氏名】ケリー, シーン ボランド
(72)【発明者】
【氏名】バシムデ アローホ エ シルヴァ, フェリペ
(72)【発明者】
【氏名】バーク, カーリン
(57)【要約】 (修正有)
【課題】凝視情報を使用して外部デバイスの状態を遷移させる、電子デバイス、電子デバイスが実行する方法、プログラムを提供する。
【解決手段】電子デバイスが実行する方法は、凝視情報を測定するカメラセンサと、凝視情報が凝視基準のセットを満たすか否かを判定するステップと、視覚的インジケータを提供するステップと、を含む。センサが第1の凝視情報を取得し、第1の凝視情報が1つ以上の凝視基準のセットが満たされたと判定された場合、1つ以上の凝視基準のセットが満たされたことを示す視覚的インジケータを提供する。
【選択図】
図9A
【特許請求の範囲】
【請求項1】
方法であって、
電子デバイスにおいて、
前記電子デバイスのデジタルアシスタントがアクティブ化されていない間に、
1つ以上のカメラセンサを使用して、第1の凝視情報を取得することと、
前記第1の凝視情報が1つ以上のアクティブ化基準のセットを満たすとの判定に従って、
前記電子デバイスの前記デジタルアシスタントをアクティブ化することと、
前記1つ以上のアクティブ化基準のセットが満たされているという指示を提供することと、
を含む、方法。
【請求項2】
前記第1の凝視情報が前記1つ以上のアクティブ化基準のセットを満たさないとの判定に従って、
前記デジタルアシスタントのアクティブ化を見合わせる ことと、
を更に含む、請求項1に記載の方法。
【請求項3】
コマンドを実行するための音声によるユーザ入力要求を受信することと、
前記コマンドを実行するために前記音声によるユーザ入力要求を受信したことに応じて、
1つ以上の実行基準のセットが満たされたとの判定に従って、前記音声によるユーザ入力要求の内容に基づいて前記コマンドを実行することと、
を更に含む、請求項1又は2に記載の方法。
【請求項4】
前記電子デバイスは、前記デジタルアシスタントがアクティブ化されていない間に、前記音声によるユーザ入力要求を受信するのを開始する、請求項3に記載の方法。
【請求項5】
前記音声によるユーザ入力要求を受信する前には第1の音量で生成される音声出力を生成することと、
前記音声によるユーザ入力要求の受信を開始したことに応じて、
前記音声出力の音量を、前記第1の音量よりも小さい第2の音量であってユーザと前記電子デバイスとの間の距離に基づく前記第2の音量に減らすこと、
を更に含む、請求項3又は4に記載の方法。
【請求項6】
前記コマンドを実行するための前記音声によるユーザ入力要求を受信したことに応じて、
前記1つ以上の実行基準のセットであって、第2の凝視情報が、前記ユーザが前記デジタルアシスタントのアクティブ化と前記音声によるユーザ入力要求の終了との間で、閾値持続時間を超えて前記電子デバイスに向けた凝視を中断しないことを示すと前記電子デバイスが判定したときに満たされる、連続凝視基準を含む前記1つ以上の実行基準のセットが満たされていないとの判定に従って、前記音声によるユーザ入力要求の前記内容に基づく前記コマンドを実行することを見合わせること、
を更に含む、請求項3乃至5のいずれか一項に記載の方法。
【請求項7】
前記コマンドを実行するための前記音声によるユーザ入力要求を受信したことに応じて、
前記1つ以上の実行基準のセットが満たされていないとの判定に従って、ヘッドシェイクによる指示であって、
前記電子デバイスのディスプレイの第1の側に第1の光パターンを表示することと、
前記第1の光パターンを表示したことに続いて、前記電子デバイスの前記ディスプレイの第2の側に第2の光パターンを表示することと、
前記第2の光パターンを表示したことに続いて、前記電子デバイスの前記ディスプレイの前記第1の側に前記第1の光パターンを表示することと、
を含む前記ヘッドシェイクによる指示を提供する、請求項3乃至6のいずれか一項に記載の方法。
【請求項8】
前記指示は、前記デジタルアシスタントがアクティブ化されていることを示す視覚的指示である、請求項1乃至7のいずれか一項に記載の方法。
【請求項9】
前記指示は、前記デジタルアシスタントがアクティブ化されていることを示す音声による指示である、請求項1乃至8のいずれか一項に記載の方法。
【請求項10】
前記1つ以上のアクティブ化基準のセットは、判定されたオフセット角度が閾値オフセット角度未満であるときに満たされる視野基準を含み、前記判定されたオフセット角度は、
ユーザの凝視の視線と、
前記ユーザから前記電子デバイスへの算出された視線と
の間に形成される角度である、請求項1乃至9のいずれか一項に記載の方法。
【請求項11】
前記ユーザの前記凝視の前記視線が、前記ユーザの頭部位置に基づくものである、請求項10に記載の方法。
【請求項12】
前記1つ以上のアクティブ化基準のセットは、前記第1の凝視情報から判定された前記凝視の静止時間が閾値時間を超えるときに満たされる静止時間基準を含む、請求項1乃至11のいずれか一項に記載の方法。
【請求項13】
電子デバイスの1つ以上のプロセッサによって実行されるように構成された1つ以上のプログラムを記憶する非一時的コンピュータ可読記憶媒体であって、前記1つ以上のプログラムは、請求項1乃至12のいずれか一項に記載の方法を実行する命令を含む、非一時的コンピュータ可読記憶媒体。
【請求項14】
1つ以上のプロセッサと、
前記1つ以上のプロセッサによって実行されるように構成された1つ以上のプログラムを記憶するメモリと、
を備え、前記1つ以上のプログラムは、請求項1乃至12のいずれか一項に記載の方法を実行するための命令を含む、電子デバイス。
【請求項15】
請求項1乃至12のいずれか一項に記載の方法を実行する手段を備える、電子デバイス。
【請求項16】
電子デバイスの1つ以上のプロセッサによって実行されるように構成された1つ以上のプログラムを記憶する非一時的コンピュータ可読記憶媒体であって、前記1つ以上のプログラムは、
前記電子デバイスのデジタルアシスタントがアクティブ化されていない間、
1つ以上のカメラセンサを使用して、第1の凝視情報を取得する命令と、
前記第1の凝視情報が1つ以上のアクティブ化基準のセットを満たすとの判定に従って、
前記電子デバイスの前記デジタルアシスタントをアクティブ化する命令と、
前記1つ以上のアクティブ化基準のセットが満たされているという指示を提供する命令と、を含む、非一時的コンピュータ可読記憶媒体。
【請求項17】
1つ以上のプロセッサと、
前記1つ以上のプロセッサによって実行されるように構成された1つ以上のプログラムを記憶するメモリと、を備える電子デバイスであって、前記1つ以上のプログラムは、
前記電子デバイスのデジタルアシスタントがアクティブ化されていない間に、
1つ以上のカメラセンサを使用して、第1の凝視情報を取得する命令と、
前記第1の凝視情報が1つ以上のアクティブ化基準のセットを満たすとの判定に従って、
前記電子デバイスの前記デジタルアシスタントをアクティブ化する命令と、
前記1つ以上のアクティブ化基準のセットが満たされているという指示を提供する命令と、を含む、電子デバイス。
【請求項18】
前記電子デバイスのデジタルアシスタントがアクティブ化されていない間に、
1つ以上のカメラセンサを使用して、第1の凝視情報を取得する手段と、
前記第1の凝視情報が1つ以上のアクティブ化基準のセットを満たすとの判定に従って、
前記電子デバイスの前記デジタルアシスタントをアクティブ化し、
前記1つ以上のアクティブ化基準のセットが満たされているという指示を提供する手段と、
を備える、電子デバイス。
【請求項19】
方法であって、
電子デバイスにおいて、
第1の外部デバイスが第1の状態にある間に、
第1のコマンドを実行するための音声によるユーザ入力要求を受信することと、
1つ以上のカメラセンサを使用して、第1の凝視情報を取得することと、
前記第1の凝視情報を使用した、1つ以上の凝視基準のセットが前記第1の外部デバイスに対して満たされたとの判定に従って、
前記第1のコマンドに基づいて、前記第1の外部デバイスを前記第1の状態から第2の状態に遷移させる命令を送信することと、
を含む、方法。
【請求項20】
前記第1の凝視情報を使用した、前記1つ以上の凝視基準のセットが、第1の外部デバイスに対して満たされないとの判定に従って、
前記第1の外部デバイスを前記第1の状態から前記第2の状態に遷移させる前記命令を送信することを見合わせること、
を更に含む、請求項19に記載の方法。
【請求項21】
前記1つ以上の凝視基準のセットは、判定されたオフセット角度が閾値オフセット角度未満であるときに満たされる視野基準を含み、前記判定されたオフセット角度は、
ユーザの凝視の視線と、
前記ユーザから前記第1の外部デバイスへの算出された視線との間に形成される角度である、請求項19又は20に記載の方法。
【請求項22】
前記ユーザの前記凝視の前記視線は、前記ユーザの頭部位置に基づくものである、請求項21に記載の方法。
【請求項23】
前記1つ以上の凝視基準のセットは、前記第1の凝視情報から判定された前記凝視の静止時間が閾値時間を超えるときに、前記第1の外部デバイスに対して満たされる静止時間基準を含む、請求項19乃至22のいずれか一項に記載の方法。
【請求項24】
前記1つ以上の凝視基準のセットが前記第1の外部デバイスに対して満たされたとの判定に従って、前記1つ以上の凝視基準のセットが満たされたことの指示を提供すること、
を更に含む、請求項19乃至23のいずれか一項に記載の方法。
【請求項25】
前記第1の外部デバイスを前記第1の状態から前記第2の状態に遷移させる前記命令を送信したことに続いて、前記第1の外部デバイスが前記第2の状態にあるという指示を提供すること、
を更に含む、請求項19乃至24のいずれか一項に記載の方法。
【請求項26】
前記指示はドメイン固有である、請求項24又は25に記載の方法。
【請求項27】
電子デバイスは前記第1の外部デバイスとペアリングされる、請求項19乃至26のいずれか一項に記載の方法。
【請求項28】
前記第1の外部デバイスが前記第1の状態にあり、かつ第2の外部デバイスが第3の状態にある間に、
前記第1の凝視情報を使用した、前記第2の外部デバイスに対して前記1つ以上の凝視基準のセットが満たされるとの判定に従って、
前記第1のコマンドに基づいて、前記第2の外部デバイスを前記第3の状態から第4の状態に遷移させる命令を送信することと、
前記第1の凝視情報を使用した、前記1つ以上の凝視基準のセットが前記第2の外部デバイスに対して満たされないとの判定に従って、
前記第1のコマンドに基づいて、前記第2の外部デバイスを前記第3の状態から前記第4の状態に遷移させる命令の送信を見合わせることと、
を更に含む、請求項19乃至27のいずれか一項に記載の方法。
【請求項29】
前記第1の外部デバイスが前記第2の状態にあり、かつ第2の外部デバイスが第3の状態にある間に、
第2のコマンドを含む第2のユーザ入力要求を受信することと、
1つ以上のカメラセンサを使用して、第2の凝視情報を取得することと、
前記第2の凝視情報を使用した、前記第2の外部デバイスに対して前記1つ以上の凝視基準のセットが満たされるとの判定に従って、
前記第2のコマンドに基づいて、前記第1の外部デバイスが前記第2の状態のままである間に、前記第2の外部デバイスを前記第3の状態から第4の状態に遷移させる命令を送信することと、
を更に含む、請求項19乃至28のいずれか一項に記載の方法。
【請求項30】
前記第2の外部デバイスが前記第3の状態にある間に、
前記第2の凝視情報を使用した、前記1つ以上の凝視基準のセットが、前記第2の外部デバイスに対して満たされないとの判定に応じて、
前記第2の外部デバイスを前記第3の状態から前記第4の状態に遷移させるように前記命令を送信することを見合わせることと、
を更に含む、請求項29に記載の方法。
【請求項31】
前記第2の外部デバイスを前記第3の状態から前記第4の状態に遷移させるように前記命令を送信することに続いて、前記第2の外部デバイスが前記第4の状態にあることを示す指示を提供すること、
を更に含む、請求項28乃至30のいずれか一項に記載の方法。
【請求項32】
前記第1の外部デバイスを前記第1の状態から前記第2の状態に遷移させるように前記命令を送信することに続いて、
前記第3の外部デバイスから、前記第3の外部デバイスによって受信された入力の指示を受信することと、
前記第1の外部デバイスに命令した前記電子デバイスの最新性に基づいて、第2の命令を前記第1の外部デバイスに送信することと、
を更に含む、請求項19乃至31のいずれか一項に記載の方法。
【請求項33】
電子デバイスの1つ以上のプロセッサによって実行されるように構成された1つ以上のプログラムを記憶する非一時的コンピュータ可読記憶媒体であって、前記1つ以上のプログラムは、請求項19~32のいずれか一項に記載の方法を実行する命令を含む、非一時的コンピュータ可読記憶媒体。
【請求項34】
1つ以上のプロセッサと、
前記1つ以上のプロセッサによって実行されるように構成された1つ以上のプログラムを記憶するメモリと、を備える電子デバイスであって、前記1つ以上のプログラムは、請求項19から32のいずれか一項に記載の方法を実行するための命令
を含む、電子デバイス。
【請求項35】
請求項19乃至32のいずれか一項に記載の方法を実行する手段
を備える、電子デバイス。
【請求項36】
電子デバイスの1つ以上のプロセッサによって実行されるように構成された1つ以上のプログラムを記憶する非一時的コンピュータ可読記憶媒体であって、前記1つ以上のプログラムは、
第1の外部デバイスが第1の状態にある間に、
第1のコマンドを実行するための音声によるユーザ入力要求を受信する命令と、
1つ以上のカメラセンサを使用して、第1の凝視情報を取得する命令と、
前記第1の凝視情報を使用した、1つ以上の凝視基準のセットが前記第1の外部デバイスに対して満たされるとの判定に従って、
前記第1のコマンドに基づいて、前記第1の外部デバイスを前記第1の状態から第2の状態に遷移させる命令を送信する命令と、を含む、非一時的コンピュータ可読記憶媒体。
【請求項37】
1つ以上のプロセッサと、
前記1つ以上のプロセッサによって実行されるように構成された1つ以上のプログラムを記憶するメモリと、を備える電子デバイスであって、前記1つ以上のプログラムは、
第1の外部デバイスが第1の状態にある間に、
第1のコマンドを実行するための音声によるユーザ入力要求を受信する命令と、
1つ以上のカメラセンサを使用して、第1の凝視情報を取得する命令と、
前記第1の凝視情報を使用した、1つ以上の凝視基準のセットが前記第1の外部デバイスに対して満たされるとの判定に従って、
前記第1のコマンドに基づいて、前記第1の外部デバイスを前記第1の状態から第2の状態に遷移させる命令を送信する命令と、を含む、電子デバイス。
【請求項38】
第1の外部デバイスが第1の状態にある間に、
第1のコマンドを実行するための音声によるユーザ入力要求を受信し、
1つ以上のカメラセンサを使用して、第1の凝視情報を取得する手段と、
前記第1の凝視情報を使用した、1つ以上の凝視基準のセットが前記第1の外部デバイスに対して満たされたという判定に従って、
前記第1のコマンドに基づいて、前記第1の外部デバイスを前記第1の状態から第2の状態に遷移させる命令を送信する手段と、
を含む、電子デバイス。
【請求項39】
方法であって、
電子デバイスにおいて、
音声によるユーザ入力要求を受信することと、
前記音声によるユーザ入力要求が第1のユーザに対応するとの判定に従って、インジケータの特性の値を前記第1のユーザに対応する第1の値に更新することと、
前記音声によるユーザ入力要求が前記第1のユーザとは異なる第2のユーザに対応するとの判定に従って、前記インジケータの前記特性の前記値を前記第2のユーザに対応する、前記第1の値とは異なる第2の値に更新することと、
前記特性の前記更新された値を含む前記インジケータを使用して前記音声によるユーザ入力要求に応答することと、
を含む、方法。
【請求項40】
前記音声によるユーザ入力要求がユーザ発語入力であり、前記特性の前記値を更新することは、前記音声によるユーザ入力要求の前記内容に基づくものではない、請求項39に記載の方法。
【請求項41】
前記インジケータは視覚的インジケータであり、
前記音声によるユーザ入力要求を受信したことに応じて、かつ前記音声によるユーザ入力要求が特定のユーザに対応するとの前記判定の前に、前記視覚的インジケータを、前記特性のデフォルト値であって前記第1の値及び前記第2の値とは異なるデフォルト値により表示すること
を更に含む、請求項39又は40に記載の方法。
【請求項42】
前記音声によるユーザ入力要求を受信する前に、登録情報を受信することと、前記登録情報を使用して、前記特性の前記第1の値を前記第1のユーザに関連付け、前記特性の前記第2の値を前記第2のユーザに関連付けることと、
を更に含む、請求項39乃至41のいずれか一項に記載の方法。
【請求項43】
音声認識、顔認識、及び前記音声によるユーザ入力要求の方向のうちの1つ以上に基づいて、前記音声によるユーザ入力要求に関連付けられたユーザを判定すること
を更に含む、請求項39乃至42のいずれか一項に記載の方法。
【請求項44】
前記インジケータを使用して前記音声によるユーザ入力要求に応答することは、前記音声によるユーザ入力要求に関連付けられた前記ユーザに対応する前記特性の前記値を使用して、視覚的インジケータを表示することを含む、請求項39乃至43のいずれか一項に記載の方法。
【請求項45】
前記インジケータを使用して前記音声によるユーザ入力要求に応答することは、前記音声によるユーザ入力要求に関連付けられた前記ユーザに対応する前記特性の前記値を使用して、音声によるインジケータを提供することを含む、請求項39乃至44のいずれか一項に記載の方法。
【請求項46】
前記音声によるインジケータの前記特性は、前記音声によるユーザ入力要求に関連付けられたユーザに対応する用語である、請求項45に記載の方法。
【請求項47】
電子デバイスの1つ以上のプロセッサによって実行されるように構成された1つ以上のプログラムを記憶する非一時的コンピュータ可読記憶媒体であって、前記1つ以上のプログラムは、請求項39~46のいずれか一項に記載の方法を実行する命令を含む、非一時的コンピュータ可読記憶媒体。
【請求項48】
1つ以上のプロセッサと、
前記1つ以上のプロセッサによって実行されるように構成された1つ以上のプログラムを記憶するメモリと、を備える電子デバイスであって、前記1つ以上のプログラムは、請求項39乃至46のいずれか一項に記載の方法を実行するための命令を含む、電子デバイス。
【請求項49】
請求項39乃至46のいずれか一項に記載の方法を実行する手段
を備える、電子デバイス。
【請求項50】
電子デバイスの1つ以上のプロセッサによって実行されるように構成された1つ以上のプログラムを記憶する非一時的コンピュータ可読記憶媒体であって、前記1つ以上のプログラムは、
音声によるユーザ入力要求を受信する命令と、
前記音声によるユーザ入力要求が第1のユーザに対応するとの判定に従って、インジケータの特性の値を前記第1のユーザに対応する第1の値に更新する命令と、
前記音声によるユーザ入力要求が前記第1のユーザとは異なる第2のユーザに対応するとの判定に従って、前記インジケータの前記特性の前記値を前記第2のユーザに対応する第2の値であって、前記第1の値とは異なる第2の値に更新する命令と、
前記インジケータであって、前記特性の前記更新された値を含む前記インジケータを使用して前記音声によるユーザ入力要求に応答する命令と、を含む、非一時的コンピュータ可読記憶媒体。
【請求項51】
1つ以上のプロセッサと、
前記1つ以上のプロセッサによって実行されるように構成された1つ以上のプログラムを記憶するメモリと、を備える電子デバイスであって、前記1つ以上のプログラムは、
音声によるユーザ入力要求を受信する命令と、
前記音声によるユーザ入力要求が第1のユーザに対応するとの判定に従って、インジケータの特性の値を前記第1のユーザに対応する第1の値に更新する命令と、
前記音声によるユーザ入力要求が前記第1のユーザとは異なる第2のユーザに対応するとの判定に従って、前記インジケータの前記特性の前記値を前記第2のユーザに対応する第2の値であって、前記第1の値とは異なる第2の値に更新する命令と、
前記インジケータであって、前記特性の前記更新された値を含む前記インジケータを使用して前記音声によるユーザ入力要求に応答する命令と、を含む、電子デバイス。
【請求項52】
音声によるユーザ入力要求を受信する手段と、
前記音声によるユーザ入力要求が第1のユーザに対応するとの判定に従って、インジケータの特性の値を前記第1のユーザに対応する第1の値に更新する手段と、
前記音声によるユーザ入力要求が前記第1のユーザとは異なる第2のユーザに対応するとの判定に従って、前記インジケータの前記特性の前記値を、前記第2のユーザに対応する第2の値であって、前記第1の値とは異なる第2の値に更新する手段と、
前記インジケータであって、前記特性の前記更新された値を含む前記インジケータを使用して前記音声によるユーザ入力要求に応答する手段と、
を備える、電子デバイス。
【発明の詳細な説明】
【関連出願の相互参照】
【0001】
本出願は、2018年9月28日に出願された米国特許仮出願第62/739,087号、題名「DEVICE CONTROL USING GAZE INFORMATION」に対する優先権を主張するものであり、参照によりその内容全体が本明細書に組み込まれる。
【技術分野】
【0002】
本開示は概して、コンピュータユーザインタフェースに関し、特に、凝視情報を用いて電子デバイスを制御するための技法に関する。
【背景技術】
【0003】
ユーザは、電子デバイスを制御するために、キー押下及び音声入力などの入力を提供することが多い。例えば、ユーザは、デバイスのボタンをアクティブ化するか、又はトリガフレーズを発語して、デバイス上のアプリケーションを開始する。このような入力は、ユーザが手の届く範囲内にいるか、又はマイクロフォンの範囲内にいることが必要となることが多い。
【0004】
インテリジェント自動アシスタント(又は、デジタルアシスタント)は、人間のユーザと電子デバイスとの間の有益なインタフェースを提供することができる。そのようなアシスタントにより、ユーザは、発語形式及び/又はテキスト形式の自然言語を使用して、デバイス又はシステムと対話することが可能となり得る。例えば、ユーザは、電子デバイス上で動作しているデジタルアシスタントに、ユーザ要求を含む発語入力を提供することができる。デジタルアシスタントは、その発語入力からユーザの意図を解釈し、そのユーザの意図をタスクへと動作化し、そのタスクを実行することができる。一部のシステムでは、この方法でタスクを実行することは、タスクが認識される方法において制約を受け得る。しかしながら、一部の場合には、ユーザは、特定のコマンドのセットに制限され、ユーザは、自然言語発語入力を使用して、デジタルアシスタントにタスクを実行するように容易に指示することができない場合がある。更には、多くの場合には、デジタルアシスタントは、以前のユーザ挙動に基づく適応ができず、同様に、ユーザエクスペリエンスの望ましい最適化に欠けている。
【発明の概要】
【0005】
しかし、電子デバイスを制御するためのいくつかの技法は概して、煩雑であり、非効率的である。例えば、一部の既存の技術では、複数回のキー押下又は打鍵を含む場合がある、複雑かつ時間のかかるユーザインタフェースが使用されている。別の実施例では、いくつかの既存の技法は、デバイスのボタンをアクティブ化するためにユーザが腕の長さの距離内にいることが必要となる。既存の技法は、必要以上の時間がかかり、ユーザの時間及びデバイスのエネルギーを浪費する。後者の問題は、バッテリ動作式デバイスにおいては特に重大である。
【0006】
したがって、本技法は、電子デバイスを制御するための、より高速で効率的な方法及びインタフェースを電子デバイスに提供する。このような方法及びインタフェースは、任意選択的に、電子デバイスを制御するための他の方法を補完するか、又はそれに取って代わる。そのような方法及びインタフェースは、ユーザにかかる認識的負担を低減し、より効率的なヒューマン-マシンインタフェースを作成する。バッテリ動作コンピューティングデバイスの場合、そのような方法及びインタフェースは、電力を節約し、バッテリ充電の間隔を長くする。このような技法は、ユーザが電子デバイスに手が届く範囲内にいない、かつ/又はユーザが騒々しい環境(例えば、電子デバイスによって生成されている音声に基づく騒音を含む)におかれた環境において、ユーザがより効率的に電子デバイスと対話することもまた可能にする。
【0007】
いくつかの実施形態によれば、方法が提供される。この方法は、電子デバイスにおいて実行される。方法は、電子デバイスのデジタルアシスタントがアクティブ化されていない間に、1つ以上のカメラセンサを使用して、第1の凝視情報を取得することと、
第1の凝視情報が1つ以上のアクティブ化基準のセットを満たすとの判定に従って、電子デバイスのデジタルアシスタントをアクティブ化することと、1つ以上のアクティブ化基準のセットが満たされているという指示を提供することと、を含む。
【0008】
いくつかの実施形態によれば、非一時的コンピュータ可読記憶媒体が提供される。媒体は、電子デバイスの1つ以上のプロセッサによって実行されるように構成された1つ以上のプログラムを記憶する。1つ以上のプログラムは、電子デバイスのデジタルアシスタントがアクティブ化されていない間に、1つ以上のカメラセンサを使用して、第1の凝視情報を取得する命令と、第1の凝視情報が1つ以上のアクティブ化基準のセットを満たすとの判定に従って、電子デバイスのデジタルアシスタントをアクティブ化する命令と、1つ以上のアクティブ化基準のセットが満たされているという指示を提供する命令と、を含む。
【0009】
いくつかの実施形態によれば、一時的コンピュータ可読記憶媒体が提供される。媒体は、電子デバイスの1つ以上のプロセッサによって実行されるように構成された1つ以上のプログラムを記憶する。1つ以上のプログラムは、電子デバイスのデジタルアシスタントがアクティブ化されていない間に、1つ以上のカメラセンサを使用して、第1の凝視情報を取得する命令と、第1の凝視情報が1つ以上のアクティブ化基準のセットを満たすとの判定に従って、電子デバイスのデジタルアシスタントをアクティブ化する命令と、1つ以上のアクティブ化基準のセットが満たされているという指示を提供する命令と、を含む。
【0010】
いくつかの実施形態によれば、電子デバイスが提供される。電子デバイスは、1つ以上のプロセッサと、1つ以上のプロセッサによって実行されるように構成された1つ以上のプログラムを記憶するメモリと、を備え、1つ以上のプログラムは、電子デバイスのデジタルアシスタントがアクティブ化されていない間に、1つ以上のカメラセンサを使用して、第1の凝視情報を取得する命令と、第1の凝視情報が1つ以上のアクティブ化基準のセットを満たすとの判定に従って、電子デバイスのデジタルアシスタントをアクティブ化する命令と、1つ以上のアクティブ化基準のセットが満たされているという指示を提供する命令と、を含む。
【0011】
いくつかの実施形態によれば、電子デバイスが提供される。電子デバイスは、電子デバイスのデジタルアシスタントがアクティブ化されていない間に、1つ以上のカメラセンサを使用して、第1の凝視情報を取得する手段と、第1の凝視情報が1つ以上のアクティブ化基準のセットを満たすとの判定に従って、電子デバイスのデジタルアシスタントをアクティブ化し、1つ以上のアクティブ化基準のセットが満たされているという指示を提供する手段と、を備える。
【0012】
いくつかの実施形態によれば、方法が提供される。方法は、電子デバイスにおいて実行される。方法は、第1の外部デバイスが第1の状態にある間に、第1のコマンドを実行するための音声によるユーザ入力要求を受信することと、1つ以上のカメラセンサを使用して、第1の凝視情報を取得することと、第1の凝視情報を使用した、1つ以上の凝視基準のセットが第1の外部デバイスに対して満たされたとの判定に従って、第1のコマンドに基づいて、第1の外部デバイスを第1の状態から第2の状態に遷移させる命令を送信することと、を含む。
【0013】
いくつかの実施形態によれば、非一時的コンピュータ可読記憶媒体が提供される。媒体は、電子デバイスの1つ以上のプロセッサによって実行されるように構成された1つ以上のプログラムを記憶する。1つ以上のプログラムは、第1の外部デバイスが第1の状態にある間に、第1のコマンドを実行するための音声によるユーザ入力要求を受信する命令と、1つ以上のカメラセンサを使用して、第1の凝視情報を取得する命令と、第1の凝視情報を使用した、1つ以上の凝視基準のセットが第1の外部デバイスに対して満たされたとの判定に従って、第1のコマンドに基づいて、第1の外部デバイスを第1の状態から第2の状態に遷移させる命令を送信する命令と、を含む。
【0014】
いくつかの実施形態によれば、一時的コンピュータ可読記憶媒体が提供される。媒体は、電子デバイスの1つ以上のプロセッサによって実行されるように構成された1つ以上のプログラムを記憶する。1つ以上のプログラムは、第1の外部デバイスが第1の状態にある間に、第1のコマンドを実行するための音声によるユーザ入力要求を受信する命令と、1つ以上のカメラセンサを使用して、第1の凝視情報を取得する命令と、第1の凝視情報を使用した、1つ以上の凝視基準のセットが第1の外部デバイスに対して満たされたとの判定に従って、第1のコマンドに基づいて、第1の外部デバイスを第1の状態から第2の状態に遷移させる命令を送信する命令と、を含む。
【0015】
いくつかの実施形態によれば、電子デバイスが提供される。電子デバイスは、1つ以上のプロセッサと、1つ以上のプロセッサによって実行されるように構成された1つ以上のプログラムを記憶するメモリと、を備え、1つ以上のプログラムは、第1の外部デバイスが第1の状態にある間に、第1のコマンドを実行するための音声によるユーザ入力要求を受信する命令と、1つ以上のカメラセンサを使用して、第1の凝視情報を取得する命令と、第1の凝視情報を使用した、1つ以上の凝視基準のセットが第1の外部デバイスに対して満たされたとの判定に従って、第1のコマンドに基づいて、第1の外部デバイスを第1の状態から第2の状態に遷移させる命令を送信する命令と、を含む。
【0016】
いくつかの実施形態によれば、電子デバイスが提供される。電子デバイスは、第1の外部デバイスが第1の状態にある間に、第1のコマンドを実行するための音声によるユーザ入力要求を受信し、1つ以上のカメラセンサを使用して、第1の凝視情報を取得する手段と、第1の凝視情報を使用した、第1の外部デバイスに対して1つ以上の凝視基準のセットが満たされたという判定に従って、第1のコマンドに基づいて、第1の外部デバイスを第1の状態から第2の状態に遷移させる命令を送信する手段と、を備える。
【0017】
いくつかの実施形態によれば、方法が提供される。方法は、電子デバイスで行われる。方法は、音声によるユーザ入力要求を受信することと、音声によるユーザ入力要求が第1のユーザに対応するとの判定に従って、インジケータの特性の値を第1のユーザに対応する第1の値に更新することと、音声によるユーザ入力要求が第1のユーザとは異なる第2のユーザに対応するとの判定に従って、インジケータの特性の値を第2のユーザに対応する、第1の値とは異なる第2の値に更新することと、特性の更新された値を含むインジケータを使用して音声によるユーザ入力要求に応答することと、を含む。
【0018】
いくつかの実施形態によれば、非一時的コンピュータ可読記憶媒体が提供される。媒体は、電子デバイスの1つ以上のプロセッサによって実行されるように構成された1つ以上のプログラムを記憶する。1つ以上のプログラムは、音声によるユーザ入力要求を受信する命令と、音声によるユーザ入力要求が第1のユーザに対応するとの判定に従って、インジケータの特性の値を第1のユーザに対応する第1の値に更新する命令と、音声によるユーザ入力要求が第1のユーザとは異なる第2のユーザに対応するとの判定に従って、インジケータの特性の値を第2のユーザに対応する、第1の値とは異なる第2の値に更新する命令と、特性の更新された値を含むインジケータを使用して音声によるユーザ入力要求に応答する命令と、を含む。
【0019】
いくつかの実施形態によれば、一時的コンピュータ可読記憶媒体が提供される。媒体は、電子デバイスの1つ以上のプロセッサによって実行されるように構成された1つ以上のプログラムを記憶する。1つ以上のプログラムは、音声によるユーザ入力要求を受信する命令と、音声によるユーザ入力要求が第1のユーザに対応するとの判定に従って、インジケータの特性の値を第1のユーザに対応する第1の値に更新する命令と、音声によるユーザ入力要求が第1のユーザとは異なる第2のユーザに対応するとの判定に従って、インジケータの特性の値を第2のユーザに対応する、第1の値とは異なる第2の値に更新する命令と、特性の更新された値を含むインジケータを使用して音声によるユーザ入力要求に応答する命令と、を含む。
【0020】
いくつかの実施形態によれば、電子デバイスが提供される。電子デバイスは、1つ以上のプロセッサと、1つ以上のプロセッサによって実行されるように構成された1つ以上のプログラムを記憶するメモリと、を備え、1つ以上のプログラムは、音声によるユーザ入力要求を受信する命令と、音声によるユーザ入力要求が第1のユーザに対応するとの判定に従って、インジケータの特性の値を第1のユーザに対応する第1の値に更新する命令と、音声によるユーザ入力要求が第1のユーザとは異なる第2のユーザに対応するとの判定に従って、インジケータの特性の値を第2のユーザに対応する、第1の値とは異なる第2の値に更新する命令と、特性の更新された値を含むインジケータを使用して音声によるユーザ入力要求に応答する命令と、を含む。
【0021】
いくつかの実施形態によれば、電子デバイスが提供される。電子デバイスは、音声によるユーザ入力要求を受信する手段と、音声によるユーザ入力要求が第1のユーザに対応するとの判定に従って、インジケータの特性の値を第1のユーザに対応する第1の値に更新する手段と、音声によるユーザ入力要求が第1のユーザとは異なる第2のユーザに対応するとの判定に従って、インジケータの特性の値であって、第1の値とは異なる第2の値に更新する手段と、インジケータであって、特性の更新された値を含むインジケータを使用して音声によるユーザ入力要求に応答する手段と、を備える。
【0022】
これらの機能を実行する実行可能命令は、任意選択的に、1つ以上のプロセッサによって実行されるために構成された非一時的コンピュータ可読記憶媒体又は他のコンピュータプログラム製品内に含まれる。これらの機能を実行する実行可能命令は、任意選択的に、1つ以上のプロセッサによって実行されるために構成された一時的コンピュータ可読記憶媒体又は他のコンピュータプログラム製品内に含まれる。
【0023】
このため、デバイスは電子デバイスを制御するための、より高速で効率的な方法及びインタフェースを備え、それによって、このようなデバイスの有効性、効率、及びユーザ満足度が増す。このような方法及びインタフェースは、電子デバイスを制御するための他の方法を補完するか、又はそれに取って代わり得る。
【図面の簡単な説明】
【0024】
説明される様々な実施形態をより良く理解するため、以下の図面と併せて、以下の「発明を実施するための形態」が参照されるべきであり、類似の参照番号は、以下の図の全てを通じて、対応する部分を指す。
【0025】
【
図1A】いくつかの実施形態に係る、タッチ感知ディスプレイを有するポータブル多機能デバイスを示すブロック図である。
【0026】
【
図1B】いくつかの実施形態に係る、イベント処理のための例示的な構成要素を示すブロック図である。
【0027】
【
図1C】いくつかの実施形態によるデジタルアシスタントを実装するためのシステム及び環境を示すブロック図である。
【0028】
【
図2】いくつかの実施形態に係る、タッチスクリーンを有するポータブル多機能デバイスを示す図である。
【0029】
【
図3】いくつかの実施形態に係る、ディスプレイ及びタッチ感知面を有する例示的な多機能デバイスのブロック図である。
【0030】
【
図4A】いくつかの実施形態に係る、ポータブル多機能デバイス上のアプリケーションのメニューの例示的なユーザインタフェースを示す図である。
【0031】
【
図4B】いくつかの実施形態に係る、ディスプレイとは別個のタッチ感知面を有する多機能デバイスの例示的なユーザインタフェースを示す図である。
【0032】
【
図5A】いくつかの実施形態に係る、パーソナル電子デバイスを示す図である。
【0033】
【
図5B】いくつかの実施形態に係る、パーソナル電子デバイスを示すブロック図である。
【0034】
【
図6A】凝視情報を使用してデジタルアシスタントをアクティブ化する例示的な技法を示す。
【
図6B】凝視情報を使用してデジタルアシスタントをアクティブ化する例示的な技法を示す。
【
図6C】凝視情報を使用してデジタルアシスタントをアクティブ化する例示的な技法を示す。
【
図6D】凝視情報を使用してデジタルアシスタントをアクティブ化する例示的な技法を示す。
【
図6E】凝視情報を使用してデジタルアシスタントをアクティブ化する例示的な技法を示す。
【
図6F】凝視情報を使用してデジタルアシスタントをアクティブ化する例示的な技法を示す。
【
図6G】凝視情報を使用してデジタルアシスタントをアクティブ化する例示的な技法を示す。
【
図6H】凝視情報を使用してデジタルアシスタントをアクティブ化する例示的な技法を示す。
【
図6I】凝視情報を使用してデジタルアシスタントをアクティブ化する例示的な技法を示す。
【
図6J】凝視情報を使用してデジタルアシスタントをアクティブ化する例示的な技法を示す。
【
図6K】凝視情報を使用してデジタルアシスタントをアクティブ化する例示的な技法を示す。
【
図6L】凝視情報を使用してデジタルアシスタントをアクティブ化する例示的な技法を示す。
【
図6M】凝視情報を使用してデジタルアシスタントをアクティブ化する例示的な技法を示す。
【
図6N】凝視情報を使用してデジタルアシスタントをアクティブ化する例示的な技法を示す。
【
図6O】凝視情報を使用してデジタルアシスタントをアクティブ化する例示的な技法を示す。
【0035】
【
図7A】凝視情報を使用してデジタルアシスタントをアクティブ化する方法を示すフロー図である。
【
図7B】凝視情報を使用してデジタルアシスタントをアクティブ化する方法を示すフロー図である。
【0036】
【
図8A】凝視情報を使用してコンテキストをコマンドに提供する例示的な技法を示す。
【
図8B】凝視情報を使用してコンテキストをコマンドに提供する例示的な技法を示す。
【
図8C】凝視情報を使用してコンテキストをコマンドに提供する例示的な技法を示す。
【
図8D】凝視情報を使用してコンテキストをコマンドに提供する例示的な技法を示す。
【
図8E】凝視情報を使用してコンテキストをコマンドに提供する例示的な技法を示す。
【
図8F】凝視情報を使用してコンテキストをコマンドに提供する例示的な技法を示す。
【
図8G】凝視情報を使用してコンテキストをコマンドに提供する例示的な技法を示す。
【
図8H】凝視情報を使用してコンテキストをコマンドに提供する例示的な技法を示す。
【
図8I】凝視情報を使用してコンテキストをコマンドに提供する例示的な技法を示す。
【
図8J】凝視情報を使用してコンテキストをコマンドに提供する例示的な技法を示す。
【
図8K】凝視情報を使用してコンテキストをコマンドに提供する例示的な技法を示す。
【
図8L】凝視情報を使用してコンテキストをコマンドに提供する例示的な技法を示す。
【0037】
【
図9A】凝視情報を使用してコンテキストをコマンドに提供する方法を示すフロー図である。
【
図9B】凝視情報を使用してコンテキストをコマンドに提供する方法を示すフロー図である。
【0038】
【
図10A】異なる発語者を区別する指示を提供する例示的な技法を示す。
【
図10B】異なる発語者を区別する指示を提供する例示的な技法を示す。
【
図10C】異なる発語者を区別する指示を提供する例示的な技法を示す。
【
図10D】異なる発語者を区別する指示を提供する例示的な技法を示す。
【0039】
【
図11A】異なる発語者を区別する指示を提供する方法を示すフロー図である。
【
図11B】異なる発語者を区別する指示を提供する方法を示すフロー図である。
【発明を実施するための形態】
【0040】
以下の説明は、例示的な方法、パラメータなどについて記載する。しかしながら、そのような説明は、本開示の範囲に対する限定として意図されるものではなく、むしろ例示的な実施形態の説明として提供されることを認識されたい。
【0041】
電子デバイスを制御するための効率的な方法及びインタフェースを提供する電子デバイスが必要とされている。例えば、ユーザが、デジタルアシスタントをアクティブ化するために触知入力又は言語入力を提供する必要性が排除又は低減されることにより、ユーザは電子デバイスをより効果的に制御することが可能になる。別の実施例では、ユーザの凝視を介して外部デバイスを特定することにより、そのようなデバイスを特定するためにコンテキスト及び複雑で時間のかかるユーザ入力を提供する必要性が排除又は低減される。このような技法は、電子デバイスを制御するユーザの認識的負担を軽減し、それによって生産性を高めることができる。更に、そのような技法は、普通なら冗長なユーザ入力に浪費されるプロセッサ及びバッテリの電力を低減することができる。
【0042】
以下、
図1A~
図1C、
図2、
図3、
図4A~
図4B、及び
図5A~
図5Bは、電子デバイスを制御するための技法を実行するための例示的なデバイスの説明を提供する。
図6A~
図6Oは、凝視情報を使用してデジタルアシスタントをアクティブ化するための例示的なユーザインタフェースを示す。
図7A~
図7Bは、いくつかの実施形態に係る、凝視情報を使用してデジタルアシスタントをアクティブ化する方法を示すフロー図である。
図6A~
図6Oのユーザインタフェースは、
図7A~
図7Bのプロセスを含む後述のプロセスを示すために使用される。
図8A~
図8Lは、凝視情報を使用してコンテキストをコマンドに提供するための例示的なユーザインタフェースを示す。
図9A~
図9Bは、いくつかの実施形態に係る、凝視情報を使用してコンテキストをコマンドに提供するための方法を示すフロー図である。
図8A~
図8Lのユーザインタフェースは、
図9A~
図9Bのプロセスを含む後述するプロセスを示すために使用される。
図10A~
図10Dは、異なる発語者を区別する指示を提供するための例示的なユーザインタフェースを示す。
図11A~
図11Bは、いくつかの実施形態に係る、異なる発語者を区別する指示を提供する方法を示すフロー図である。
図10A~
図10Dのユーザインタフェースは、
図11A~
図11Bのプロセスを含む後述するプロセスを示すために使用される。
【0043】
以下の説明では、様々な要素について説明するために、「第1の」、「第2の」などの用語を使用するが、これらの要素は、それらの用語によって限定されるべきではない。これらの用語は、ある要素を別の要素と区別するためにのみ使用される。例えば、記載する様々な実施形態の範囲から逸脱することなく、第1のタッチを第2のタッチと呼ぶこともでき、同様に第2のタッチを第1のタッチと呼ぶこともできる。第1のタッチ及び第2のタッチはどちらもタッチであるが、これらは同じタッチではない。
【0044】
本明細書に記載する様々な実施形態の説明で使用される術語は、特定の実施形態を説明することのみを目的とし、限定的であることは意図されていない。記載する様々な実施形態の説明及び添付の特許請求の範囲において使用されるとき、単数形の「a(1つ、一)」、「an(1つ、一)」、及び「the(その、この)」は、文脈上別途明白に示されない限り、複数形も同様に含むことが意図される。また、本明細書で使用されるとき、用語「及び/又は」は、関連する列挙された項目のうちの1つ以上のいずれか及び全ての考えられる組み合わせを指し、かつこれを含むことを理解されたい。用語「includes(含む)」、「including(含む)」、「comprises(含む、備える)」、及び/又は「comprising(含む、備える)」は、本明細書で使用する場合、述べられた特徴、整数、ステップ、動作、要素、及び/又は構成要素の存在を指定するが、1つ以上の他の特徴、整数、ステップ、動作、要素、構成要素、及び/又はそれらのグループの存在又は追加を除外しないことが更に理解されるであろう。
【0045】
「~の場合(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])」を意味すると解釈される。
【0046】
電子デバイス、そのようなデバイス用のユーザインタフェース、及びそのようなデバイスを使用する関連するプロセスの実施形態が説明される。いくつかの実施形態では、デバイスは、PDA機能及び/又は音楽プレーヤ機能などの他の機能も含む、携帯電話などのポータブル通信デバイスである。ポータブル多機能デバイスの例示的な実施形態としては、カリフォルニア州クパチーノのApple Inc.からのiPhone(登録商標)、iPod Touch(登録商標)、及びiPad(登録商標)のデバイスが挙げられるが、これらに限定されない。任意選択的に、タッチ感知面(例えば、タッチスクリーンディスプレイ及び/又はタッチパッド)を有するラップトップ又はタブレットコンピュータなどの他のポータブル電子デバイスも使用される。また、いくつかの実施形態では、デバイスはポータブル通信デバイスではなく、タッチ感知面(例えば、タッチスクリーンディスプレイ及び/又はタッチパッド)を有するデスクトップコンピュータであることも理解されたい。
【0047】
以下の論考では、ディスプレイ及びタッチ感知面を含む電子デバイスについて説明する。しかしながら、電子デバイスは、任意選択的に、物理キーボード、マウス、及び/又はジョイスティックなどの1つ以上の他の物理ユーザインタフェースデバイスを含むことを理解されたい。
【0048】
デバイスは、通常、描画アプリケーション、プレゼンテーションアプリケーション、ワードプロセッシングアプリケーション、ウェブサイト作成アプリケーション、ディスクオーサリングアプリケーション、スプレッドシートアプリケーション、ゲームアプリケーション、電話アプリケーション、テレビ会議アプリケーション、電子メールアプリケーション、インスタントメッセージングアプリケーション、トレーニングサポートアプリケーション、写真管理アプリケーション、デジタルカメラアプリケーション、デジタルビデオカメラアプリケーション、ウェブブラウジングアプリケーション、デジタル音楽プレーヤアプリケーション、及び/又はデジタルビデオプレーヤアプリケーションのうちの1つ以上などの様々なアプリケーションをサポートする。
【0049】
本デバイス上で実行される様々なアプリケーションは、タッチ感知面などの、少なくとも1つの共通の物理ユーザインタフェースデバイスを、任意選択的に使用する。タッチ感知面の1つ以上の機能、並びにデバイスに表示される対応する情報は、アプリケーションごとに、及び/又はそれぞれのアプリケーション内で、任意選択的に、調整及び/又は変更される。このように、デバイスの共通の物理アーキテクチャ(タッチ感知面など)は、任意選択的に、ユーザにとって直観的かつ透過的なユーザインタフェースを含む様々なアプリケーションをサポートする。
【0050】
ここで、タッチ感知ディスプレイを備えるポータブルデバイスの実施形態に注意を向ける。
図1Aは、いくつかの実施形態に係る、タッチ感知ディスプレイシステム112を有するポータブル多機能デバイス100を示すブロック図である。タッチ感知ディスプレイ112は、便宜上「タッチスクリーン」と呼ばれることがあり、「タッチ感知ディスプレイシステム」として知られている又は呼ばれることがある。デバイス100は、メモリ102(任意選択的に、1つ以上のコンピュータ可読記憶媒体を含む)、メモリコントローラ122、1つ以上の処理ユニット(CPU)120、周辺機器インタフェース118、RF回路108、オーディオ回路110、スピーカ111、マイクロフォン113、入出力(I/O)サブシステム106、他の入力コントロールデバイス116、及び外部ポート124を含む。デバイス100は、任意選択的に、1つ以上の光センサ164を含む。デバイス100は、任意選択的に、デバイス100上の接触の強度を検出する1つ以上の接触強度センサ165(例えば、デバイス100のタッチ感知ディスプレイシステム112などのタッチ感知面)を含む。デバイス100は、デバイス100上に触知出力を生成する(例えば、デバイス100のタッチ感知ディスプレイシステム112又はデバイス300のタッチパッド355などのタッチ感知面上に触知出力を生成する)ための、1つ以上の触知出力生成器167を、任意選択的に含む。これらの構成要素は、任意選択的に、1つ以上の通信バス又は信号ライン103を介して通信する。
【0051】
本明細書及び特許請求において使用されるとき、タッチ感知面上の接触の「強度」という用語は、タッチ感知面上の接触(例えば、指の接触)の力若しくは圧力(単位面積当たりの力)、又はタッチ感知面上の接触の力若しくは圧力に対する代理(プロキシ)を指す。接触の強度は、少なくとも4つの別個の値を含み、より典型的には、数百の(例えば、少なくとも256の)別個の値を含む、値の範囲を有する。接触の強度は、任意選択的に、様々な手法、及び様々なセンサ又はセンサの組み合わせを使用して、判定(又は測定)される。例えば、タッチ感知面の下又はそれに隣接する1つ以上の力センサは、任意選択的に、タッチ感知面上の様々なポイントにおける力を測定するために使用される。いくつかの実装形態では、複数の力センサからの力測定値が、接触の推定される力を決定するために組み合わされる(例えば、加重平均される)。同様に、スタイラスの感圧性先端部が、任意選択的に、タッチ感知面上のスタイラスの圧力を判定するために使用される。あるいは、タッチ感知面上で検出される接触エリアのサイズ及び/若しくはその変化、接触に近接するタッチ感知面の電気容量及び/若しくはその変化、並びに/又は、接触に近接するタッチ感知面の抵抗及び/若しくはその変化が、任意選択的に、タッチ感知面上の接触の力又は圧力の代替物として使用される。一部の実装形態では、接触の力又は圧力の代替測定値が、強度閾値を超えているかどうかを判定するために直接使用される(例えば、強度閾値は、代替測定値に対応する単位で記述される)。いくつかの実装形態では、接触力又は圧力の代理測定値は、力又は圧力の推定値に変換され、力又は圧力の推定値が、強度閾値を超えているかどうかを判定するために使用される(例えば、強度閾値は、圧力の単位で測定される圧力閾値である)。接触の強度をユーザ入力の属性として使用することにより、実装面積が限られている低減されたサイズのデバイス上で、ユーザが他の方法ではアクセス不可能であり得る追加のデバイス機能にユーザがアクセスし、アフォーダンスを(例えば、タッチ感知ディスプレイ上に)表示すること、及び/又は、ユーザ入力を(例えば、タッチ感知ディスプレイ、タッチ感知面、又は、ノブ若しくはボタンなどの物理的/機械的制御部を介して)受信することが可能となる。
【0052】
本明細書及び特許請求の範囲において使用されるとき、用語「触知出力」は、ユーザの触覚でユーザによって検出されることになる、デバイスの従前の位置に対するそのデバイスの物理的変位、デバイスの構成要素(例えば、タッチ感知面)の、そのデバイスの別の構成要素(例えば、筐体)に対する物理的変位、又は、デバイスの質量中心に対する構成要素の変位を指す。例えば、デバイス又はデバイスの構成要素が、ユーザのタッチに敏感な表面(例えば、ユーザの手の指、手のひら、又は他の部分)に接触している状況では、物理的変位によって生成された触知出力は、そのデバイス又はデバイスの構成要素の物理的特性の認識される変化に相当する触感として、ユーザによって解釈されることになる。例えば、タッチ感知面(例えば、タッチ感知ディスプレイ又はトラックパッド)の移動は、ユーザによって、物理アクチュエータボタンの「ダウンクリック」又は「アップクリック」として、任意選択的に解釈される。場合によっては、ユーザの動作により物理的に押される(例えば、変位される)タッチ感知面に関連付けられた物理アクチュエータボタンの移動がないときでさえ、ユーザは「ダウンクリック」又は「アップクリック」などの触感を感じる。別の例として、タッチ感知面の移動は、タッチ感知面の平滑度に変化がない場合であっても、ユーザによって、そのタッチ感知面の「粗さ」として、任意選択的に解釈又は感知される。そのようなユーザによるタッチの解釈は、ユーザの個人的な感覚認知に左右されるが、大多数のユーザに共通する、多くのタッチの感覚認知が存在する。したがって、触知出力が、ユーザの特定の感覚認知(例えば、「アップクリック」「ダウンクリック」、「粗さ」)に対応するものと記述される場合、別途記載のない限り、生成された触知出力は、記述された感覚認知を典型的な(又は、平均的な)ユーザに対して生成するデバイス、又はデバイスの構成要素の物理的変位に対応する。
【0053】
デバイス100は、ポータブル多機能デバイスの一例に過ぎず、デバイス100は、任意選択的に、示されているものよりも多くの構成要素又は少ない構成要素を有するものであり、任意選択的に、2つ以上の構成要素を組み合わせるものであり、又は、任意選択的に、それらの構成要素の異なる構成若しくは配置を有するものであることを理解されたい。
図1Aに示す様々な構成要素は、1つ以上の信号処理集積回路及び/又は特定用途向け集積回路を含む、ハードウェア、ソフトウェア、又はハードウェアとソフトウェアの両方の組み合せにおいて実装される。
【0054】
メモリ102は、任意選択的に、高速ランダムアクセスメモリを含み、任意選択的に、1つ以上の磁気ディスク記憶デバイス、フラッシュメモリデバイス、又は他の不揮発性ソリッドステートメモリデバイスなどの不揮発性メモリをまた含む。メモリコントローラ122は、任意選択的に、デバイス100の他の構成要素によるメモリ102へのアクセスを制御する。
【0055】
周辺機器インタフェース118は、デバイスの入力及び出力周辺機器をCPU120及びメモリ102に結合するために使用することができる。1つ以上のプロセッサ120は、メモリ102に記憶された様々なソフトウェアプログラム及び/又は命令セットを動作させる又は実行して、デバイス100の様々な機能を実行し、データを処理する。いくつかの実施形態では、周辺機器インタフェース118、CPU120、及びメモリコントローラ122は、任意選択的に、チップ104などの単一のチップ上に実装される。いくつかの他の実施形態では、それらは別々のチップ上に任意選択的に実装される。
【0056】
RF(radio frequency)(無線周波数)回路108は、電磁信号とも呼ばれるRF信号を送受信する。RF回路108は、電気信号を電磁信号に、又は電磁信号を電気信号に変換し、電磁信号を介して通信ネットワーク及び他の通信デバイスと通信する。RF回路108は、任意選択的に、これらの機能を実行するための周知の回路を含み、それらの回路としては、限定するものではないが、アンテナシステム、RF送受信機、1つ以上の増幅器、同調器、1つ以上の発振器、デジタル信号プロセッサ、CODECチップセット、加入者識別モジュール(subscriber identity module、SIM)カード、メモリなどが挙げられる。RF回路108は、任意選択的に、ワールドワイドウェブ(World Wide Web、WWW)とも呼ばれるインターネット、イントラネット、並びに/又はセルラー電話ネットワーク、無線ローカルエリアネットワーク(local area network、LAN)及び/若しくはメトロポリタンエリアネットワーク(metropolitan area network、MAN)などの無線ネットワークなどのネットワークと、また他のデバイスと、無線通信によって通信する。RF回路108は、任意選択的に、短距離通信無線機などによって近距離通信(near field Communication、NFC)フィールドを検出するよく知られている回路を含む。無線通信は、任意選択的に、それだけに限定されるものではないが、モバイル通信用グローバルシステム(Global System for Mobile Communications、GSM)、拡張データGSM環境(Enhanced Data GSM Environment、EDGE)、高速ダウンリンクパケットアクセス(high-speed downlink packet access、HSDPA)、高速アップリンクパケットアクセス(high-speed uplink packet access、HSUPA)、エボリューションデータオンリ(Evolution,Data-Only、EV-DO)、HSPA、HSPA+、デュアルセルHSPA(Dual-Cell HSPA、DC-HSPDA)、ロングタームエボリューション(long term evolution、LTE)、近距離通信(NFC)、広帯域符号分割多元接続(wideband code division multiple access、W-CDMA)、符号分割多元接続(code division multiple access、CDMA)、時分割多元接続(time division multiple access、TDMA)、Bluetooth、Bluetoothローエネルギー(Bluetooth Low Energy、BTLE)、ワイヤレスフィデリティ(Wireless Fidelity、Wi-Fi)(例えば、IEEE802.11a、IEEE802.11b、IEEE802.11g、IEEE802.11n、及び/若しくはIEEE802.11ac)、ボイスオーバインターネットプロトコル(voice over Internet Protocol、VoIP)、Wi-MAX、電子メール用プロトコル(例えば、インターネットメッセージアクセスプロトコル(Internet message access protocol、IMAP)及び/若しくはポストオフィスプロトコル(post office protocol、POP))、インスタントメッセージング(例えば、拡張可能なメッセージング及びプレゼンスプロトコル(extensible messaging and presence protocol、XMPP)、インスタントメッセージング及びプレゼンスレベレイジングエクステンション用のセッション開始プロトコル(Session Initiation Protocol for Instant Messaging and Presence Leveraging Extensions、SIMPLE)、インスタントメッセージング及びプレゼンスサービス(Instant Messaging and Presence Service、IMPS))、並びに/若しくはショートメッセージサービス(Short Message Service、SMS)、又は本明細書の出願日の時点でまだ開発されていない通信プロトコルを含む任意の他の適切な通信プロトコルを含む、複数の通信規格、プロトコル、及び技術のうちのいずれかを使用する。
【0057】
オーディオ回路110、スピーカ111、及びマイクロフォン113は、ユーザとデバイス100との間のオーディオインタフェースを提供する。オーディオ回路110は、周辺機器インタフェース118からオーディオデータを受信し、オーディオデータを電気信号に変換し、電気信号をスピーカ111に送信する。スピーカ111は、電気信号を人間の可聴音波に変換する。オーディオ回路110は、マイクロフォン113によって音波から変換された電気信号をまた受信する。オーディオ回路110は、電気信号をオーディオデータに変換し、オーディオデータを処理のために周辺機器インタフェース118に送信する。オーディオデータは、任意選択的に、周辺機器インタフェース118によって、メモリ102及び/若しくはRF回路108から取得され、かつ/又はメモリ102及び/若しくはRF回路108に伝送される。いくつかの実施形態では、オーディオ回路110はまた、ヘッドセットジャック(例えば、
図2の212)を含む。ヘッドセットジャックは、オーディオ回路110と、出力専用ヘッドホン又は出力(例えば片耳又は両耳用のヘッドホン)及び入力(例えばマイクロフォン)の両方を備えるヘッドセットなどの着脱可能なオーディオ入出力周辺機器との間のインタフェースを提供する。
【0058】
I/Oサブシステム106は、タッチスクリーン112及び他の入力コントロールデバイス116などのデバイス100上の入出力周辺機器を、周辺機器インタフェース118に結合する。I/Oサブシステム106は、任意選択的に、ディスプレイコントローラ156、光センサコントローラ158、深度カメラコントローラ169、強度センサコントローラ159、触覚フィードバックコントローラ161、及び、他の入力デバイス若しくは制御デバイス用の1つ以上の入力コントローラ160を含む。1つ以上の入力コントローラ160は、他の入力コントロールデバイス116からの電気信号の受信/他の入力コントロールデバイス116への電気信号の送信を行う。他の入力コントロールデバイス116は、任意選択的に、物理ボタン(例えば、プッシュボタン、ロッカボタンなど)、ダイヤル、スライダスイッチ、ジョイスティック、クリックホイールなどを含む。いくつかの代替的な実施形態では、入力コントローラ160は、任意選択的に、キーボード、赤外線ポート、USBポート、及びマウスなどのポインタデバイスのうちのいずれかに結合される(又はいずれにも結合されない)。1つ以上のボタン(例えば、
図2の208)は、任意選択的に、スピーカ111及び/又はマイクロフォン113の音量コントロールのためのアップ/ダウンボタンを含む。1つ以上のボタンは、任意選択的に、プッシュボタン(例えば、
図2の206)を含む。
【0059】
全体が参照により本明細書に組み込まれる、2005年12月23日出願の米国特許出願第11/322,549号、「Unlocking a Device by Performing Gestures on an Unlock Image」、米国特許第7,657,849号に記載されているように、プッシュボタンの素早い押下は、任意選択的に、タッチスクリーン112のロックを解放し、又は任意選択的に、タッチスクリーン上のジェスチャを使用してデバイスをロック解除するプロセスを開始する。プッシュボタン(例えば、206)のより長い押下は、任意選択的に、デバイス100への電力をオン又はオフにする。ボタンのうちの1つ以上の機能性は、任意選択的に、ユーザによってカスタマイズ可能である。タッチスクリーン112は、仮想又はソフトボタン及び1つ以上のソフトキーボードを実装するために使用される。
【0060】
タッチ感知ディスプレイ112は、デバイスとユーザとの間の入力インタフェース及び出力インタフェースを提供する。ディスプレイコントローラ156は、タッチスクリーン112からの電気信号の受信、及び/又はタッチスクリーン112への電気信号の送信を行う。タッチスクリーン112は、ユーザに対して視覚出力を表示する。視覚出力は、グラフィック、テキスト、アイコン、動画、及びそれらの任意の組み合わせ(総称して「グラフィック」)を任意選択的に含む。いくつかの実施形態では、視覚出力の一部又は全ては、任意選択的に、ユーザインタフェースオブジェクトに対応する。
【0061】
タッチスクリーン112は、触覚及び/又は触知接触に基づくユーザからの入力を受け入れるタッチ感知面、センサ、又はセンサのセットを有する。タッチスクリーン112及びディスプレイコントローラ156は、(メモリ102内の任意の関連モジュール及び/又は命令セットとともに)、タッチスクリーン112上で接触(及び任意の接触の移動又は中断)を検出し、検出された接触をタッチスクリーン112に表示されたユーザインタフェースオブジェクト(例えば、1つ以上のソフトキー、アイコン、ウェブページ、又は画像)との対話に変換する。例示的な実施形態では、タッチスクリーン112とユーザとの間の接触点は、ユーザの指に対応する。
【0062】
タッチスクリーン112は、任意選択的に、LCD(液晶ディスプレイ)技術、LPD(発光ポリマーディスプレイ)技術、又はLED(発光ダイオード)技術を使用するが、他の実施形態では、他のディスプレイ技術も使用される。タッチスクリーン112及びディスプレイコントローラ156は、任意選択的に、それだけに限定されるものではないが、容量性、抵抗性、赤外線、及び表面音波の技術、並びにタッチスクリーン112との1つ以上の接触点を判定する他の近接センサアレイ又は他の要素を含む、現在知られている又は今後開発される複数のタッチ感知技術のうちのいずれかを使用して、接触及びそのあらゆる動き又は中断を検出する。例示的な実施形態では、カリフォルニア州クパチーノのApple Inc.からのiPhone(登録商標)及びiPod Touch(登録商標)に見られるものなどの、投影型相互静電容量感知技術が使用される。
【0063】
タッチスクリーン112のいくつかの実施形態におけるタッチ感知ディスプレイは、任意選択的に、それぞれ全体が参照により本明細書に組み込まれる、米国特許第6,323,846号(Westermanら)、第6,570,557号(Westermanら)、及び/若しくは第6,677,932号(Westerman)、並びに/又は米国特許公報第2002/0015024(A1)号に記載されているマルチタッチ感知タッチパッドに類似している。しかし、タッチスクリーン112はデバイス100からの視覚出力を表示するのに対して、タッチ感知タッチパッドは視覚出力を提供しない。
【0064】
タッチスクリーン112のいくつかの実施形態におけるタッチ感知ディスプレイは、以下の出願に記載されている。
(1)2006年5月2日出願の米国特許出願第11/381,313号、「Multipoint Touch Surface Controller」、(2)2004年5月6日出願の米国特許出願第10/840,862号、「Multipoint Touchscreen」、(3)2004年7月30日出願の米国特許出願第10/903,964号、「Gestures For Touch Sensitive Input Devices」、(4)2005年1月31日出願の米国特許出願第11/048,264号、「Gestures For Touch Sensitive Input Devices」、(5)2005年1月18日出願の米国特許出願第11/038,590号、「Mode-Based Graphical User Interfaces For Touch Sensitive Input Devices」、(6)2005年9月16日出願の米国特許出願第11/228,758号、「Virtual Input Device Placement On A Touch Screen User Interface」、(7)2005年9月16日出願の米国特許出願第11/228,700号、「Operation Of A Computer With A Touch Screen Interface」、(8)2005年9月16日出願の米国特許出願第11/228,737号、「Activating Virtual Keys Of A Touch-Screen Virtual Keyboard」、及び(9)2006年3月3日出願の米国特許出願第11/367,749号、「Multi-Functional Hand-Held Device」。これらの出願は全て、全体が参照により本明細書に組み込まれる。
【0065】
タッチスクリーン112は、任意選択的に、100dpiを超えるビデオ解像度を有する。いくつかの実施形態では、タッチスクリーンは、約160dpiのビデオ解像度を有する。ユーザは、任意選択的に、スタイラス、指などの任意の適した物体又は付属物を使用して、タッチスクリーン112に接触する。いくつかの実施形態では、ユーザインタフェースは、指ベースの接触及びジェスチャを主に使用して動作するように設計されるが、これは、タッチスクリーン上の指の接触面積がより大きいため、スタイラスベースの入力ほど正確でない可能性がある。いくつかの実施形態では、デバイスは、指による粗い入力を、ユーザによって所望されているアクションを実行するための、正確なポインタ/カーソルの位置又はコマンドに変換する。
【0066】
いくつかの実施形態では、タッチスクリーンに加えて、デバイス100は、任意選択的に、特定の機能をアクティブ化又は非アクティブ化するためのタッチパッドを含む。いくつかの実施形態では、タッチパッドは、タッチスクリーンとは異なり、視覚出力を表示しない、デバイスのタッチ感知エリアである。タッチパッドは、任意選択的に、タッチスクリーン112とは別個のタッチ感知面又はタッチスクリーンによって形成されるタッチ感知面の拡張部である。
【0067】
デバイス100は、様々な構成要素に電力を供給する電力システム162もまた含む。電力システム162は、任意選択的に、電力管理システム、1つ以上の電源(例えば、バッテリ、交流(AC))、再充電システム、停電検出回路、電力コンバータ又はインバータ、電力状態インジケータ(例えば、発光ダイオード(LED))、並びにポータブルデバイス内での電力の生成、管理、及び分配に関連付けられた任意の他の構成要素を含む。
【0068】
また、デバイス100は、任意選択的に、1つ以上の光センサ164を含む。
図1Aは、I/Oサブシステム106内の光センサコントローラ158に結合された光センサを示す。光センサ164は、任意選択的に、電荷結合デバイス(charge-coupled device、CCD)又は相補的金属酸化物半導体(complementary metal-oxide semiconductor、CMOS)フォトトランジスタを含む。光センサ164は、1つ以上のレンズを通って投影された環境からの光を受信し、その光を、画像を表すデータに変換する。光センサ164は、撮像モジュール143(カメラモジュールとも呼ばれる)と連携して、任意選択的に、静止画像又は動画をキャプチャする。いくつかの実施形態では、光センサは、デバイスの前面にあるタッチスクリーンディスプレイ112とは反対側のデバイス100の裏面に位置し、したがってタッチスクリーンディスプレイは、静止画像及び/又は動画の取得のためのビューファインダとして使用することが可能である。いくつかの実施形態では、ユーザが他のテレビ会議参加者をタッチスクリーンディスプレイ上で見ている間に、ユーザの画像が、任意選択的に、テレビ会議のために入手されるように、光センサはデバイスの前面に配置される。いくつかの実施形態では、光センサ164の位置は、ユーザによって(例えば、デバイス筐体内でレンズ及びセンサを回転させることによって)変更することができ、したがって単一の光センサ164が、タッチスクリーンディスプレイとともに、テレビ会議にも静止画像及び/又は動画の取得にも使用される。
【0069】
デバイス100は、任意選択的に、1つ以上の深度カメラセンサ175もまた含む。
図1Aは、I/Oサブシステム106内の深度カメラコントローラ169に結合された深度カメラセンサを示す。深度カメラセンサ175は、環境からデータを受信して、視点(例えば、深度カメラセンサ)からのシーン内の対象物(例えば、顔面)の3次元モデルを作成する。いくつかの実施形態では、撮像モジュール143(カメラモジュールとも呼ばれる)と連携して、深度カメラセンサ175は、任意選択的に、撮像モジュール143によってキャプチャされた画像の種々の部分の深度マップを決定するために使用される。いくつかの実施形態では、ユーザが他のテレビ会議参加者をタッチスクリーンディスプレイ上で見る間に、任意選択的に、深度情報を有するユーザの画像をテレビ会議のために取得し、また、深度マップデータを有する自撮り画像をキャプチャするために、デバイス100の前面に深度カメラセンサが配置されている。いくつかの実施形態では、深度カメラセンサ175は、デバイスの背面に、あるいはデバイス100の背面及び前面に配置される。いくつかの実施形態では、深度カメラセンサ175の位置は、ユーザによって(例えば、デバイスハウジング内でレンズ及びセンサを回転させることによって)変更することができ、したがって深度カメラセンサ175が、タッチスクリーンディスプレイとともに、テレビ会議にも静止画像及び/又は動画の取得にも使用される。
【0070】
いくつかの実施形態では、深度マップ(例えば、深度マップ画像)は、視点(例えば、カメラ、光センサ、深度カメラセンサ)からのシーン内の対象物の距離に関する情報(例えば、値)を含む。深度マップの一実施形態では、各深度画素は、その対応する2次元画素が位置する視点のZ軸における位置を定義する。いくつかの実施形態では、深度マップは画素で構成されており、各画素は、値(例えば、0~255)によって定義される。例えば、値「0」は、「3次元」シーン内で最も遠い場所に位置している画素を表し、値「255」は、その「3次元」シーン内で視点(例えば、カメラ、光センサ、深度カメラセンサ)の最も近くに位置している画素を表す。他の実施形態では、深度マップは、シーン内の対象物と視点の平面との間の距離を表す。いくつかの実施形態では、深度マップは、深度カメラから見た、関心対象物の様々な特徴部の相対深度(例えば、ユーザの顔面の目、鼻、口、耳の相対深度)に関する情報を含む。いくつかの実施形態では、深度マップは、関心対象物のz方向における輪郭をデバイスが判定することを可能にする、情報を含む。
【0071】
デバイス100はまた、任意選択的に、1つ以上の接触強度センサ165を含む。
図1Aは、I/Oサブシステム106内の強度センサコントローラ159に結合された接触強度センサを示す。接触強度センサ165は、任意選択的に、1つ以上のピエゾ抵抗ひずみゲージ、容量性力センサ、電気力センサ、圧電力センサ、光学力センサ、容量性タッチ感知面、又は他の強度センサ(例えば、タッチ感知面上の接触の力(若しくは圧力)を測定するために使用されるセンサ)を含む。接触強度センサ165は、接触強度情報(例えば、圧力情報、又は圧力情報に対するプロキシ)を環境から受信する。いくつかの実施形態では、少なくとも1つの接触強度センサは、タッチ感知面(例えばタッチ感知ディスプレイシステム112)と並置される、又はそれに近接される。いくつかの実施形態では、少なくとも1つの接触強度センサは、デバイス100の前面に配置されたタッチスクリーンディスプレイ112の反対側である、デバイス100の背面に配置される。
【0072】
デバイス100は、任意選択的に、1つ以上の近接センサ166もまた含む。
図1Aは、周辺機器インタフェース118に結合された近接センサ166を示す。あるいは、近接センサ166は、任意選択的に、I/Oサブシステム106内の入力コントローラ160に結合される。近接センサ166は、任意選択的に、全体が参照により本明細書に組み込まれる、米国特許出願第11/241,839号、「Proximity Detector In Handheld Device」、第11/240,788号、「Proximity Detector In Handheld Device」、第11/620,702号、「Using Ambient Light Sensor To Augment Proximity Sensor Output」、第11/586,862号、「Automated Response To And Sensing Of User Activity In Portable Devices」、及び第11/638,251号、「Methods And Systems For Automatic Configuration Of Peripherals」で記載されているように機能する。いくつかの実施形態では、多機能デバイスが、ユーザの耳の近くに置かれた場合(例えば、ユーザが電話をかけている場合)、近接センサは、タッチスクリーン112をオフにして無効化する。
【0073】
デバイス100は、任意選択的に1つ以上の触知出力生成器167をまた含む。
図1Aは、I/Oサブシステム106内の触覚フィードバックコントローラ161に結合された触知出力生成器を示す。触知出力生成器167は、任意選択的に、スピーカ若しくは他のオーディオ構成要素などの1つ以上の電気音響デバイス、及び/又はモータ、ソレノイド、電気活性ポリマー、圧電アクチュエータ、静電アクチュエータ、若しくは他の触知出力生成構成要素(例えば、デバイス上で電気信号を触知出力に変換する構成要素)などのエネルギーを直線の動きに変換する電気機械デバイスを含む。接触強度センサ165 は、触知フィードバック生成命令を触覚フィードバックモジュール133から受信し、デバイス100のユーザが感知することが可能な触知出力をデバイス100上に生成する。いくつかの実施形態では、少なくとも1つの触知出力生成器は、タッチ感知面(例えば、タッチ感知ディスプレイシステム112)と並置される、又はそれに近接しており、任意選択的に、タッチ感知面を垂直方向(例えば、デバイス100の表面の内/外)に、又は水平方向(例えば、デバイス100の表面と同じ平面内での往復)に移動させることによって、触知出力を生成する。いくつかの実施形態では、少なくとも1つの触知出力生成器センサは、デバイス100の前面に配置されたタッチスクリーンディスプレイ112の反対側である、デバイス100の背面に配置される。
【0074】
また、デバイス100は、任意選択的に、1つ以上の加速度計168を含む。
図1Aは、周辺機器インタフェース118に結合された加速度計168を示す。あるいは、加速度計168は、任意選択的に、I/Oサブシステム106内の入力コントローラ160に結合される。加速度計168は、任意選択的に、どちらも全体が参照により本明細書に組み込まれる、米国特許公開第20050190059号、「Acceleration-based Theft Detection System for Portable Electronic Devices」、及び米国特許公開第20060017692号、「Methods And Apparatuses For Operating A Portable Device Based On An Accelerometer」に記載されているように機能する。いくつかの実施形態では、情報は、1つ以上の加速度計から受信したデータの分析に基づいて、縦長表示又は横長表示でタッチスクリーンディスプレイに表示される。デバイス100は、加速度計168に加えて、磁気計並びにデバイス100の場所及び向き(例えば、縦方向又は横方向)に関する情報を取得するためのGPS(又はGLONASS又は他のグローバルナビゲーションシステム)受信機を任意選択的に含む。
【0075】
いくつかの実施形態では、メモリ102内に記憶されているソフトウェア構成要素は、オペレーティングシステム126、通信モジュール(又は命令セット)128、接触/動きモジュール(又は命令セット)130、グラフィックモジュール(又は命令セット)132、テキスト入力モジュール(又は命令セット)134、全地球測位システム(Global Positioning System、GPS)モジュール(又は命令セット)135、及びアプリケーション(又は命令セット)136を含む。更に、いくつかの実施形態では、メモリ102(
図1A)又は370(
図3)は、
図1A及び
図3に示すように、デバイス/グローバル内部状態157を記憶する。デバイス/グローバル内部状態157は、現在アクティブ状態のアプリケーションがある場合に、どのアプリケーションがアクティブであるかを示すアクティブアプリケーション状態、どのアプリケーション、ビュー、又は他の情報がタッチスクリーンディスプレイ112の様々な領域を占めているかを示す表示状態、デバイスの様々なセンサ及び入力コントロールデバイス116から取得した情報を含むセンサ状態、並びにデバイスの位置、及び/又は姿勢に関する位置情報のうちの1つ以上を含む。
【0076】
オペレーティングシステム126(例えば、Darwin、RTXC、LINUX、UNIX、OS X、iOS、WINDOWS、又はVxWorksなどの組込み型オペレーティングシステム)は、全般的なシステムタスク(例えば、メモリ管理、記憶装置制御、電力管理など)を制御及び管理する様々なソフトウェア構成要素及び/又はドライバを含み、様々なハードウェア構成要素とソフトウェア構成要素との間の通信を容易にする。
【0077】
通信モジュール128は、1つ以上の外部ポート124を介する他のデバイスとの通信を容易にし、RF回路108及び/又は外部ポート124が受信したデータを処理するための様々なソフトウェア構成要素もまた含む。外部ポート124(例えば、ユニバーサルシリアルバス(Universal Serial Bus、USB)、FIREWIREなど)は、他のデバイスとの直接的な結合、又はネットワーク(例えばインターネット、無線LANなど)を介する間接的な結合に適合されている。いくつかの実施形態では、外部ポートは、iPod(登録商標)(Apple Inc.の商標)デバイス上で使用される30ピンコネクタと同じ若しくは同様であり、かつ/又はそれに適合しているマルチピン(例えば、30ピン)コネクタである。
【0078】
接触/動きモジュール130は、任意選択的に、タッチスクリーン112及び他のタッチ感知デバイス(例えば、タッチパッド又は物理クリックホイール)との接触を(ディスプレイコントローラ156と連携して)検出する。接触/動きモジュール130は、接触が生じたかどうかを判定すること(例えば、指ダウンイベントを検出すること)、接触の強度(例えば、接触の力若しくは圧力、又は接触の力若しくは圧力の代替物)を判定すること、接触の移動が存在するかどうかを判定し、タッチ感知面を横断する移動を追跡すること(例えば、指をドラッグする1つ以上のイベントを検出すること)、及び接触が停止したかどうかを判定すること(例えば、指アップイベント又は接触の中断を検出すること)などの、接触の検出に関する様々な動作を実行するための、様々なソフトウェア構成要素を含む。接触/動きモジュール130は、タッチ感知面から接触データを受信する。一連の接触データによって表される、接触点の移動を判定することは、任意選択的に、接触点の速さ(大きさ)、速度(大きさ及び方向)、及び/又は加速度(大きさ及び/又は方向の変化)を判定することを含む。これらの動作は、任意選択的に、単一の接触(例えば、1本の指の接触)又は複数の同時接触(例えば、「マルチタッチ」/複数の指の接触)に適用される。いくつかの実施形態では、接触/動きモジュール130及びディスプレイコントローラ156は、タッチパッド上の接触を検出する。
【0079】
いくつかの実施形態では、接触/動きモジュール130は、ユーザによって動作が実行されたかどうかを判定するために(例えば、ユーザがアイコン上で「クリック」したかどうかを判定するために)、1つ以上の強度閾値のセットを使用する。いくつかの実施形態では、強度閾値の少なくとも1つのサブセットは、ソフトウェアパラメータに従って判定される(例えば、強度閾値は、特定の物理アクチュエータのアクティブ化閾値によって決定されるのではなく、デバイス100の物理ハードウェアを変更することなく調整することができる)。例えば、トラックパッド又はタッチスクリーンディスプレイのマウス「クリック」閾値は、トラックパッド又はタッチスクリーンディスプレイハードウェアを変更することなく、広範囲の既定閾値のうちのいずれかに設定することができる。加えて、いくつかの実装形態では、デバイスのユーザに、(例えば、個々の強度閾値を調整すること、及び/又は複数の強度閾値をシステムレベルのクリック「強度」パラメータによって一度に調整することによって)強度閾値のセットのうちの1つ以上を調整するソフトウェア設定が提供される。
【0080】
接触/動きモジュール130は、任意選択的に、ユーザによるジェスチャ入力を検出する。タッチ感知面上の異なるジェスチャは、異なる接触パターン(例えば検出される接触の異なる動き、タイミング、及び/又は強度)を有する。したがって、ジェスチャは、任意選択的に、特定の接触パターンを検出することによって検出される。例えば、指タップジェスチャを検出することは、指ダウンイベントを検出し、それに続いて指ダウンイベントと同じ位置(又は実質的に同じ位置)(例えば、アイコンの位置)で指アップ(リフトオフ)イベントを検出することを含む。別の例として、タッチ感知面上で指スワイプジェスチャを検出することは、指ダウンイベントを検出し、それに続いて1つ以上の指ドラッグイベントを検出し、その後それに続いて指アップ(リフトオフ)イベントを検出することを含む。
【0081】
グラフィックモジュール132は、表示されるグラフィックの視覚的な影響(例えば、輝度、透明度、彩度、コントラスト、又は他の視覚的特性)を変化させる構成要素を含む、タッチスクリーン112又は他のディスプレイ上にグラフィックをレンダリング及び表示する様々な既知のソフトウェア構成要素を含む。本明細書では、「グラフィック」という用語は、それだけに限定されるものではないが、文字、ウェブページ、アイコン(ソフトキーを含むユーザインタフェースオブジェクトなど)、デジタル画像、動画、アニメーションなどを含む、ユーザに表示することができる任意のオブジェクトを含む。
【0082】
いくつかの実施形態では、グラフィックモジュール132は、使用されることになるグラフィックを表すデータを記憶する。各グラフィックには、任意選択的に、対応するコードが割り当てられる。グラフィックモジュール132は、アプリケーションなどから、必要に応じて座標データ及び他のグラフィック特性データと共に表示されることとなる、グラフィックを指定する1つ以上のコードを受信し、次にディスプレイコントローラ156に出力する画面の画像データを生成する。
【0083】
触覚フィードバックモジュール133は、触知出力生成器167によって使用される命令を生成するための様々なソフトウェア構成要素を含み、触知出力生成器167は、ユーザのデバイス100との対話に応じて、デバイス100上の1つ以上の位置での触知出力を生成する。
【0084】
テキスト入力モジュール134は、任意選択的に、グラフィックモジュール132の構成要素であり、様々なアプリケーション(例えば、連絡先137、電子メール140、IM141、ブラウザ147、及びテキスト入力を必要とする任意の他のアプリケーション)でテキストを入力するためのソフトキーボードを提供する。
【0085】
GPSモジュール135は、デバイスの位置を判定し、この情報を様々なアプリケーションで使用するために(例えば、位置に基づくダイヤル発呼で使用するために電話138に、写真/動画のメタデータとしてカメラ143に、並びに、天気ウィジェット、地域の職業別電話帳ウィジェット、及び地図/ナビゲーションウィジェットなどの、位置に基づくサービスを提供するアプリケーションに)提供する。
【0086】
アプリケーション136は、任意選択的に、以下のモジュール(又は命令セット)又はそれらのサブセット若しくはスーパーセットを含む。
●連絡先モジュール137(アドレス帳又は連絡先リストと呼ばれることもある)、
●電話モジュール138、
●テレビ会議モジュール139、
●電子メールクライアントモジュール140、
●インスタントメッセージング(Instant messaging、IM)モジュール141、
●トレーニングサポートモジュール142、
●静止画像及び/又は動画用のカメラモジュール143、
●画像管理モジュール144、
●動画プレーヤモジュール、
●音楽プレーヤモジュール、
●ブラウザモジュール147、
●カレンダモジュール148、
●任意選択的に、天気ウィジェット149-1、株価ウィジェット149-2、計算機ウィジェット149-3、目覚まし時計ウィジェット149-4、辞書ウィジェット149-5、及びユーザによって入手された他のウィジェット、並びにユーザ作成ウィジェット149-6のうちの1つ以上を含むウィジェットモジュール149、
●ユーザ作成ウィジェット149-6を作成するためのウィジェットクリエータモジュール150、
●検索モジュール151、
●動画プレーヤモジュール及び音楽プレーヤモジュールを一体化した動画及び音楽プレーヤモジュール152、
●メモモジュール153、
●地図モジュール154、並びに/又は、
●オンラインビデオモジュール155。
【0087】
任意選択的にメモリ102に記憶される他のアプリケーション136の例としては、他のワードプロセッシングアプリケーション、他の画像編集アプリケーション、描画アプリケーション、プレゼンテーションアプリケーション、JAVA対応アプリケーション、暗号化、デジタル著作権管理、音声認識、及び音声複製が挙げられる。
【0088】
連絡先モジュール137は、タッチスクリーン112、ディスプレイコントローラ156、接触/動きモジュール130、グラフィックモジュール132、及びテキスト入力モジュール134と連携して、任意選択的に、アドレス帳又は連絡先リストを(例えば、メモリ102又はメモリ370内の連絡先モジュール137のアプリケーション内部状態192内に記憶して)管理するために使用される。連絡先モジュール137による管理には、
アドレス帳に名前を追加すること、アドレス帳から名前(単数又は複数)を削除すること、電話番号(単数又は複数)、電子メールアドレス(単数又は複数)、実際の住所(単数又は複数)、又は他の情報を名前に関連付けること、画像を名前に関連付けること、名前を分類して並べ替えること、電話番号又は電子メールアドレスを提供して、電話138、テレビ会議モジュール139、電子メール140、又はIM141による通信を開始かつ/又は促進すること、などが含まれる。
【0089】
電話モジュール138は、RF回路108、オーディオ回路110、スピーカ111、マイクロフォン113、タッチスクリーン112、ディスプレイコントローラ156、接触/動きモジュール130、グラフィックモジュール132、及びテキスト入力モジュール134と連携して、任意選択的に、電話番号に対応する文字シーケンスの入力、連絡先モジュール137内の1つ以上の電話番号へのアクセス、入力された電話番号の修正、それぞれの電話番号のダイヤル、通話の実行、並びに通話終了時の接続切断及び通話停止のために使用される。前述したように、無線通信は、任意選択的に、複数の通信規格、プロトコル、及び技術のうちのいずれかを使用する。
【0090】
テレビ会議モジュール139は、RF回路108、オーディオ回路110、スピーカ111、マイクロフォン113、タッチスクリーン112、ディスプレイコントローラ156、光センサ164、光センサコントローラ158、接触/動きモジュール130、グラフィックモジュール132、テキスト入力モジュール134、連絡先モジュール137、及び電話モジュール138と連携して、ユーザの指示に従ってユーザと1人以上の他の参加者との間のテレビ会議を開始、実行、及び終了するための実行可能な命令を含む。
【0091】
電子メールクライアントモジュール140は、RF回路108、タッチスクリーン112、ディスプレイコントローラ156、接触/動きモジュール130、グラフィックモジュール132、及びテキスト入力モジュール134と連携して、ユーザの指示に応じて電子メールを作成、送信、受信、及び管理するための実行可能な命令を含む。電子メールクライアントモジュール140は、画像管理モジュール144と連携して、カメラモジュール143で撮影された静止画像又は動画を含む電子メールの作成及び送信を非常に容易にする。
【0092】
インスタントメッセージングモジュール141は、RF回路108、タッチスクリーン112、ディスプレイコントローラ156、接触/動きモジュール130、グラフィックモジュール132、及びテキスト入力モジュール134と連携して、インスタントメッセージに対応する文字シーケンスの入力、以前に入力された文字の修正、(例えば、電話通信ベースのインスタントメッセージ向けのショートメッセージサービス(Short Message Service、SMS)若しくはマルチメディアメッセージサービス(Multimedia Message Service、MMS)プロトコル、又はインターネットベースのインスタントメッセージ向けのXMPP、SIMPLE、若しくはIMPSを使用する)それぞれのインスタントメッセージの送信、インスタントメッセージの受信、及び受信したインスタントメッセージの閲覧のための実行可能な命令を含む。いくつかの実施形態では、送信される及び/又は受信されるインスタントメッセージは、任意選択的に、MMS及び/又は拡張メッセージングサービス(Enhanced Messaging Service、EMS)でサポートされるようなグラフィック、写真、オーディオファイル、動画ファイル、及び/又は他の添付ファイルを含む。本明細書では、「インスタントメッセージング」とは、電話通信ベースのメッセージ(例えば、SMS又はMMSを使用して送信されるメッセージ)と、インターネットベースのメッセージ(例えば、XMPP、SIMPLE、又はIMPSを使用して送信されるメッセージ)との両方を指す。
【0093】
トレーニングサポートモジュール142は、RF回路108、タッチスクリーン112、ディスプレイコントローラ156、接触/動きモジュール130、グラフィックモジュール132、テキスト入力モジュール134、GPSモジュール135、地図モジュール154、及び音楽プレーヤモジュールと連携して、トレーニング(例えば、時間、距離、及び/又はカロリー燃焼の目標を有する)を作成し、トレーニングセンサ(スポーツデバイス)と通信し、トレーニングセンサデータを受信し、トレーニングをモニタするために使用されるセンサを較正し、トレーニングのための音楽を選択及び再生し、並びに、トレーニングデータを表示、記憶、及び送信するための実行可能な命令を含む。
【0094】
カメラモジュール143は、タッチスクリーン112、ディスプレイコントローラ156、光センサ164、光センサコントローラ158、接触/動きモジュール130、グラフィックモジュール132、及び画像管理モジュール144と連携して、静止画像若しくは(動画ストリームを含む)動画のキャプチャ及びメモリ102内への記憶、静止画像若しくは動画の特性の修正、又はメモリ102からの静止画像若しくは動画の削除のための実行可能な命令を含む。
【0095】
画像管理モジュール144は、タッチスクリーン112、ディスプレイコントローラ156、接触/動きモジュール130、グラフィックモジュール132、テキスト入力モジュール134、及びカメラモジュール143と連携して、静止画像及び/若しくは動画の配置、修正(例えば、編集)、又はその他の操作、ラベル付け、削除、(例えば、デジタルスライドショー若しくはアルバムにおける)提示、及び記憶のための実行可能な命令を含む。
【0096】
ブラウザモジュール147は、RF回路108、タッチスクリーン112、ディスプレイコントローラ156、接触/動きモジュール130、グラフィックモジュール132、及びテキスト入力モジュール134と連携して、ウェブページ又はその一部分、並びにウェブページにリンクされた添付ファイル及び他のファイルの検索、リンク、受信、及び表示を含む、ユーザの指示に従ってインターネットをブラウジングするための実行可能な命令を含む。
【0097】
カレンダモジュール148は、RF回路108、タッチスクリーン112、ディスプレイコントローラ156、接触/動きモジュール130、グラフィックモジュール132、テキスト入力モジュール134、電子メールクライアントモジュール140、及びブラウザモジュール147と連携して、ユーザの指示に従って、カレンダ及びカレンダに関連付けられたデータ(例えば、カレンダアイテム、to-doリストなど)を作成、表示、修正、及び記憶するための実行可能な命令を含む。
【0098】
ウィジェットモジュール149は、RF回路108、タッチスクリーン112、ディスプレイコントローラ156、接触/動きモジュール130、グラフィックモジュール132、テキスト入力モジュール134、及びブラウザモジュール147と連携して、任意選択的に、ユーザによってダウンロード及び使用されるミニアプリケーション(例えば、天気ウィジェット149-1、株価ウィジェット149-2、計算機ウィジェット149-3、目覚まし時計ウィジェット149-4、及び辞書ウィジェット149-5)、又はユーザによって作成されたミニアプリケーション(例えば、ユーザ作成ウィジェット149-6)である。いくつかの実施形態では、ウィジェットは、HTML(Hypertext Markup Language、ハイパーテキストマークアップ言語)ファイル、CSS(Cascading Style Sheets、カスケーディングスタイルシート)ファイル、及びJavaScriptファイルを含む。いくつかの実施形態では、ウィジェットは、XML(Extensible Markup Language、拡張可能マークアップ言語)ファイル及びJavaScriptファイル(例えば、Yahoo!ウィジェット)を含む。
【0099】
ウィジェットクリエータモジュール150は、RF回路108、タッチスクリーン112、ディスプレイコントローラ156、接触/動きモジュール130、グラフィックモジュール132、テキスト入力モジュール134、及びブラウザモジュール147と連携して、任意選択的に、ウィジェットを作成する(例えば、ウェブページのユーザ指定部分をウィジェットにする)ために、ユーザによって使用される。
【0100】
検索モジュール151は、タッチスクリーン112、ディスプレイコントローラ156、接触/動きモジュール130、グラフィックモジュール132、及びテキスト入力モジュール134と連携して、ユーザの指示に従って1つ以上の検索基準(例えば、1つ以上のユーザ指定検索語)と一致するメモリ102内の文字、音楽、サウンド、画像、動画、及び/又は他のファイルを検索するための実行可能な命令を含む。
【0101】
動画及び音楽プレーヤモジュール152は、タッチスクリーン112、ディスプレイコントローラ156、接触/動きモジュール130、グラフィックモジュール132、オーディオ回路110、スピーカ111、RF回路108、及びブラウザモジュール147と連携して、MP3又はAACファイルなどの1つ以上のファイル形式で記憶された録音済みの音楽及び他のサウンドファイルをユーザがダウンロード及び再生できるようにする実行可能な命令、並びに動画を(例えば、タッチスクリーン112上又は外部ポート124を介して接続された外部のディスプレイ上に)表示、提示、又は別の方法で再生するための実行可能な命令を含む。いくつかの実施形態では、デバイス100は、任意選択的に、iPod(Apple Inc.の商標)などのMP3プレーヤの機能を含む。
【0102】
メモモジュール153は、タッチスクリーン112、ディスプレイコントローラ156、接触/動きモジュール130、グラフィックモジュール132、及びテキスト入力モジュール134と連携して、ユーザの指示に従ってメモ、to-doリストなどを作成及び管理するための実行可能な命令を含む。
【0103】
地図モジュール154は、RF回路108、タッチスクリーン112、ディスプレイコントローラ156、接触/動きモジュール130、グラフィックモジュール132、テキスト入力モジュール134、GPSモジュール135、及びブラウザモジュール147と連携して、任意選択的に、ユーザの指示に従って、地図及び地図に関連付けられたデータ(例えば、運転の道順、特定の場所又はその付近の店舗及び他の見どころに関するデータ、並びに他の場所ベースのデータ)を受信、表示、修正、及び記憶するために使用される。
【0104】
オンラインビデオモジュール155は、タッチスクリーン112、ディスプレイコントローラ156、接触/動きモジュール130、グラフィックモジュール132、オーディオ回路110、スピーカ111、RF回路108、テキスト入力モジュール134、電子メールクライアントモジュール140、及びブラウザモジュール147と連携して、ユーザが特定のオンラインビデオへのアクセス、特定のオンラインビデオのブラウジング、(例えば、ストリーミング及び/又はダウンロードによる)受信、(例えば、タッチスクリーン上又は外部ポート124を介して接続された外部ディスプレイ上の)再生、特定のオンラインビデオへのリンクを有する電子メールの送信、並びにH.264などの1つ以上のファイル形式のオンラインビデオの他の管理を行うことを可能にする命令を含む。いくつかの実施形態では、特定のオンラインビデオへのリンクを送信するために、電子メールクライアントモジュール140ではなく、インスタントメッセージングモジュール141が使用される。オンラインビデオアプリケーションについての追加の説明は、その内容の全体が参照により本明細書に組み込まれる、2007年6月20日出願の米国仮特許出願第60/936,562号、「Portable Multifunction Device,Method,and Graphical User Interface for Playing Online Videos」、及び2007年12月31日出願の米国特許出願第11/968,067号、「Portable Multifunction Device,Method,and Graphical User Interface for Playing Online Videos」を参照されたい。
【0105】
上記で特定したモジュール及びアプリケーションはそれぞれ、前述した1つ以上の機能及び本出願に記載した方法(例えば、本明細書に記載したコンピュータにより実装される方法及び他の情報処理方法)を実行する実行可能な命令のセットに対応する。これらのモジュール(例えば、命令セット)は、別個のソフトウェアプログラム、手順、又はモジュールとして実装される必要はなく、したがって、様々な実施形態において、これらのモジュールの様々なサブセットが、任意選択的に、組み合わされ、又は別の方法で再構成される。例えば、動画プレーヤモジュールは、任意選択的に、音楽プレーヤモジュールと組み合わされて、単一のモジュール(例えば、
図1Aの動画及び音楽プレーヤモジュール152)にされる。いくつかの実施形態では、メモリ102は、任意選択的に、上記で特定されたモジュール及びデータ構造のサブセットを記憶する。更に、メモリ102は、上記で説明されていない追加のモジュール及びデータ構造を任意選択的に記憶する。
【0106】
いくつかの実施形態では、デバイス100は、そのデバイスにおける既定の機能のセットの動作がタッチスクリーン及び/又はタッチパッドのみを介して実行されるデバイスである。デバイス100が動作するための主要な入力コントロールデバイスとしてタッチスクリーン及び/又はタッチパッドを使用することにより、任意選択的に、デバイス100上の物理的な入力コントロールデバイス(プッシュボタン、ダイヤルなど)の数が削減される。
【0107】
タッチスクリーン及び/又はタッチパッドを通じてのみ実行される既定の機能のセットは、任意選択的に、ユーザインタフェース間のナビゲーションを含む。いくつかの実施形態では、タッチパッドは、ユーザによってタッチされたときに、デバイス100上に表示される任意のユーザインタフェースから、デバイス100をメイン、ホーム、又はルートメニューにナビゲートする。そのような実施形態では、「メニューボタン」は、タッチパッドを使用して実装される。いくつかの他の実施形態では、メニューボタンは、タッチパッドではなく、物理プッシュボタン又はその他の物理入力コントロールデバイスである。
【0108】
図1Bは、いくつかの実施形態に係る、イベント処理のための例示的な構成要素を示すブロック図である。いくつかの実施形態では、メモリ102(
図1A)又は370(
図3)は、イベントソータ170(例えば、オペレーティングシステム126内)と、それぞれのアプリケーション136-1(例えば、前述のアプリケーション137~151、155、380~390のうちのいずれか)とを含む。
【0109】
イベントソータ170は、イベント情報を受信し、イベント情報を伝送する先である、アプリケーション136-1及びアプリケーション136-1のアプリケーションビュー191を決定する。イベントソータ170は、イベントモニタ171及びイベントディスパッチャモジュール174を含む。いくつかの実施形態では、アプリケーション136-1は、アプリケーションがアクティブ又は実行中であるときにタッチ感知ディスプレイ112に表示される現在のアプリケーションビューを示すアプリケーション内部状態192を含む。いくつかの実施形態では、デバイス/グローバル内部状態157は、どのアプリケーション(単数又は複数)が現在アクティブであるかを判定するためにイベントソータ170によって使用され、アプリケーション内部状態192は、イベント情報が伝送されるアプリケーションビュー191を判定するためにイベントソータ170によって使用される。
【0110】
いくつかの実施形態では、アプリケーション内部状態192は、アプリケーション136-1が実行を再開するときに使用すべき再開情報、アプリケーション136-1によって表示されている情報又は表示する準備ができている情報を示すユーザインタフェース状態情報、ユーザがアプリケーション136-1の以前の状態又はビューに戻ることを可能にする状態キュー、及びユーザによって行われた以前のアクションのリドゥ/アンドゥキューのうちの1つ以上などの追加の情報を含む。
【0111】
イベントモニタ171は、周辺機器インタフェース118からイベント情報を受信する。イベント情報は、サブイベント(例えば、タッチ感知ディスプレイ112でのマルチタッチジェスチャの一部としてのユーザタッチ)に関する情報を含む。周辺機器インタフェース118は、I/Oサブシステム106から受信する情報、あるいは近接センサ166、加速度計(単数又は複数)168、及び/又は(オーディオ回路110を介した)マイクロフォン113などのセンサから受信する情報を伝達する。周辺機器インタフェース118がI/Oサブシステム106から受信する情報は、タッチ感知ディスプレイ112又はタッチ感知面からの情報を含む。
【0112】
いくつかの実施形態では、イベントモニタ171は、所定の間隔で周辺機器インタフェース118に要求を送信する。それに応じて、周辺機器インタフェース118は、イベント情報を送信する。他の実施形態では、周辺機器インタフェース118は、重要なイベント(例えば、所定のノイズ閾値を上回る及び/又は所定の持続時間を超える入力の受信)があるときのみイベント情報を送信する。
【0113】
いくつかの実施形態では、イベントソータ170はまた、ヒットビュー判定モジュール172及び/又はアクティブイベント認識部判定モジュール173を含む。
【0114】
ヒットビュー判定モジュール172は、タッチ感知ディスプレイ112が2つ以上のビューを表示しているときに、サブイベントが1つ以上のビュー内のどこで起きたかを判定するソフトウェア手順を提供する。ビューは、ユーザがディスプレイ上で見ることができる制御部及び他の要素から構成されている。
【0115】
アプリケーションに関連付けられたユーザインタフェースの別の態様は、本明細書ではアプリケーションビュー又はユーザインタフェースウィンドウと呼ばれることがあるビューのセットであり、その中で情報が表示され、タッチに基づくジェスチャが生じる。タッチが検出される(それぞれのアプリケーションの)アプリケーションビューは、任意選択的に、アプリケーションのプログラム階層又はビュー階層内のプログラムレベルに対応する。例えば、タッチが検出される最下位レベルビューは、任意選択的に、ヒットビューと呼ばれ、また、適切な入力として認識されるイベントのセットは、任意選択的に、タッチによるジェスチャを開始する初期タッチのヒットビューに少なくとも部分的に基づいて判定される。
【0116】
ヒットビュー判定モジュール172は、タッチに基づくジェスチャのサブイベントに関連する情報を受信する。アプリケーションが階層状に構成された複数のビューを有するとき、ヒットビュー判定モジュール172は、サブイベントを処理すべき階層内の最下位のビューとして、ヒットビューを特定する。ほとんどの状況では、ヒットビューは、開始サブイベント(例えば、イベント又は潜在的イベントを形成するサブイベントシーケンスにおける第1のサブイベント)が発生する最も低いレベルのビューである。ヒットビューがヒットビュー判定モジュール172によって特定されると、ヒットビューは、通常、ヒットビューとして特定されたタッチ又は入力ソースと同じタッチ又は入力ソースに関係する全てのサブイベントを受信する。
【0117】
アクティブイベント認識部判定モジュール173は、ビュー階層内のどのビュー(単数又は複数)がサブイベントの特定のシーケンスを受信すべきかを判定する。いくつかの実施形態では、アクティブイベント認識部判定モジュール173は、ヒットビューのみがサブイベントの特定のシーケンスを受信すべきであると判定する。他の実施形態では、アクティブイベント認識部判定モジュール173は、サブイベントの物理的位置を含む全てのビューがアクティブに関わりがあるビューであると判定し、したがって、全てのアクティブに関わりがあるビューが、サブイベントの特定のシーケンスを受信すべきであると判定する。他の実施形態では、タッチサブイベントが1つの特定のビューに関連付けられたエリアに完全に限定されている場合でも、階層内の上位のビューは、依然としてアクティブに関わりがあるビューであり続ける。
【0118】
イベントディスパッチャモジュール174は、イベント情報をイベント認識部(例えばイベント認識部180)に送り出す。アクティブイベント認識部判定モジュール173を含む実施形態では、イベントディスパッチャモジュール174は、アクティブイベント認識部判定モジュール173により判定されたイベント認識部にイベント情報を伝送する。いくつかの実施形態では、イベントディスパッチャモジュール174は、それぞれのイベント受信部182によって取得されるイベント情報をイベントキューに記憶する。
【0119】
いくつかの実施形態では、オペレーティングシステム126は、イベントソータ170を含む。あるいは、アプリケーション136-1がイベントソータ170を含む。更に他の実施形態では、イベントソータ170は、独立型のモジュールであり、又は接触/動きモジュール130などのメモリ102内に記憶されている別のモジュールの一部分である。
【0120】
いくつかの実施形態では、アプリケーション136-1は、それぞれがアプリケーションのユーザインタフェースのそれぞれのビュー内で発生するタッチイベントを処理するための命令を含む、複数のイベント処理部190及び1つ以上のアプリケーションビュー191を含む。アプリケーション136-1の各アプリケーションビュー191は、1つ以上のイベント認識部180を含む。典型的には、それぞれのアプリケーションビュー191は、複数のイベント認識部180を含む。他の実施形態では、イベント認識部180のうちの1つ以上は、ユーザインタフェースキット、又は、アプリケーション136-1が方法及び他の属性を継承する上位レベルのオブジェクトなどの、別個のモジュールの一部である。いくつかの実施形態では、それぞれのイベント処理部190は、データ更新部176、オブジェクト更新部177、GUI更新部178、及び/又はイベントソータ170から受信されたイベントデータ179、のうちの1つ以上を含む。イベント処理部190は、任意選択的に、データ更新部176、オブジェクト更新部177、又はGUI更新部178を利用し又は呼び出して、アプリケーション内部状態192を更新する。あるいは、アプリケーションビュー191のうちの1つ以上が、1つ以上のそれぞれのイベント処理部190を含む。また、いくつかの実施形態では、データ更新部176、オブジェクト更新部177、及びGUI更新部178のうちの1つ以上は、それぞれのアプリケーションビュー191に含まれる。
【0121】
それぞれのイベント認識部180は、イベントソータ170からイベント情報(例えば、イベントデータ179)を受信し、イベント情報からイベントを特定する。イベント認識部180は、イベント受信部182とイベント比較部184を含む。いくつかの実施形態では、イベント認識部180はまた、メタデータ183及びイベント伝送命令188(任意選択的にサブイベント伝送命令を含む)の少なくともサブセットも含む。
【0122】
イベント受信部182は、イベントソータ170からイベント情報を受信する。イベント情報は、サブイベント、例えば、タッチ又はタッチの移動についての情報を含む。サブイベントに応じて、イベント情報はまた、サブイベントの位置などの追加の情報を含む。サブイベントがタッチの動きに関わるとき、イベント情報は任意選択的に、サブイベントの速さ及び方向もまた含む。いくつかの実施形態では、イベントは、1つの向きから別の向きへの(例えば、縦向きから横向きへ、又はその逆の)デバイスの回転を含み、イベント情報は、デバイスの現在の向き(デバイスの姿勢とも呼ぶ)についての対応する情報を含む。
【0123】
イベント比較部184は、イベント情報を、既定のイベント又はサブイベントの定義と比較し、その比較に基づいて、イベント又はサブイベントを判定するか、あるいはイベント又はサブイベントの状態を判定若しくは更新する。いくつかの実施形態では、イベント比較部184は、イベント定義186を含む。イベント定義186は、例えばイベント1(187-1)及びイベント2(187-2)などのイベント(例えば、既定のサブイベントのシーケンス)の定義を含む。いくつかの実施形態では、イベント(187)内のサブイベントは、例えば、タッチの開始、タッチの終了、タッチの移動、タッチの取り消し、及び複数のタッチを含む。一実施例では、イベント1(187-1)についての定義は、表示されたオブジェクト上のダブルタップである。ダブルタップは、例えば、所定の段階に対する表示オブジェクト上の第1のタッチ(タッチ開始)、所定の段階に対する第1のリフトオフ(タッチ終了)、所定の段階に対する表示オブジェクト上の第2のタッチ(タッチ開始)、及び所定の段階に対する第2のリフトオフ(タッチ終了)を含む。別の実施例では、イベント2(187-2)の定義は、表示されたオブジェクト上のドラッグである。ドラッグは、例えば、所定の段階に対する表示オブジェクト上のタッチ(又は接触)、タッチ感知ディスプレイ112にわたるタッチの移動、及びタッチのリフトオフ(タッチ終了)を含む。いくつかの実施形態では、イベントは、1つ以上の関連付けられたイベント処理部190に関する情報も含む。
【0124】
いくつかの実施形態では、イベント定義187は、それぞれのユーザインタフェースオブジェクトについてのイベントの定義を含む。いくつかの実施形態では、イベント比較部184は、どのユーザインタフェースオブジェクトがサブイベントに関連付けられているかを判定するヒットテストを実行する。例えば、タッチ感知ディスプレイ112に3つのユーザインタフェースオブジェクトが表示されているアプリケーションビュー内で、タッチ感知ディスプレイ112上でタッチが検出されると、イベント比較部184は、ヒットテストを実行して、3つのユーザインタフェースオブジェクトのうちのどれがタッチ(サブイベント)に関連付けられているかを判定する。表示された各オブジェクトが、それぞれのイベント処理部190に関連付けられている場合、イベント比較部は、ヒットテストの結果を用いて、どのイベント処理部190をアクティブ化すべきかを判定する。例えば、イベント比較部184は、ヒットテストをトリガするサブイベント及びオブジェクトに関連付けられたイベント処理部を選択する。
【0125】
いくつかの実施形態では、それぞれのイベント187の定義は、サブイベントのシーケンスがイベント認識部のイベントタイプに対応するかどうかが判定されるまで、イベント情報の伝送を遅らせる遅延アクションも含む。
【0126】
それぞれのイベント認識部180が一連のサブイベントがイベント定義186のイベントのいずれとも一致しないと判断した場合、それぞれのイベント認識部180は、イベント不可能、イベント失敗、又はイベント終了の状態に入り、その後は、タッチに基づくジェスチャのその後のサブイベントを無視する。この状況において、ヒットビューについてアクティブのままである他のイベント認識部があれば、そのイベント認識部は、進行中のタッチによるジェスチャのサブイベントの追跡及び処理を続行する。
【0127】
いくつかの実施形態では、それぞれのイベント認識部180は、メタデータ183を含み、メタデータ183は、イベント伝送システムがどのようにサブイベント伝送を実行すべきかをアクティブに関与しているイベント認識部に示す、構成可能なプロパティ、フラグ、及び/又はリストを有する。いくつかの実施形態では、メタデータ183は、イベント認識部が互いにどのように対話するか、又はイベント認識部が互いにどのように対話することが可能とされているかを示す構成可能なプロパティ、フラグ、及び/又はリストを含む。いくつかの実施形態では、メタデータ183は、サブイベントがビュー階層又はプログラム階層における多様なレベルに伝送されるかどうかを示す、構成可能なプロパティ、フラグ、及び/又はリストを含む。
【0128】
いくつかの実施形態では、それぞれのイベント認識部180は、イベントの1つ以上の特定のサブイベントが認識されるときに、イベントに関連付けられたイベント処理部190をアクティブ化する。いくつかの実施形態では、それぞれのイベント認識部180は、イベントに関連付けられたイベント情報をイベント処理部190に伝送する。イベント処理部190をアクティブ化することは、それぞれのヒットビューにサブイベントを送信する(及び、送信を延期する)こととは別個である。いくつかの実施形態では、イベント認識部180は、認識したイベントに関連付けられたフラグを立て、そのフラグに関連付けられたイベント処理部190は、そのフラグをキャッチして既定のプロセスを実行する。
【0129】
いくつかの実施形態では、イベント伝送命令188は、サブイベントについてのイベント情報をイベント処理部をアクティブ化することなく伝送するサブイベント伝送命令を含む。代わりに、サブイベント伝送命令は、一連のサブイベントと関連付けられたイベント処理部に、又はアクティブに関与しているビューにイベント情報を伝送する。一連のサブイベント又はアクティブに関与しているビューと関連付けられたイベント処理部は、イベント情報を受信し、所定の処理を実行する。
【0130】
いくつかの実施形態では、データ更新部176は、アプリケーション136-1で使用されるデータを作成及び更新する。例えば、データ更新部176は、連絡先モジュール137で使用される電話番号を更新し、又は動画プレーヤモジュールで使用される動画ファイルを記憶する。いくつかの実施形態では、オブジェクト更新部177は、アプリケーション136-1で使用されるオブジェクトを作成及び更新する。例えば、オブジェクト更新部177は、新たなユーザインタフェースオブジェクトを作成し、又はユーザインタフェースオブジェクトの位置を更新する。GUI更新部178は、GUIを更新する。例えば、GUI更新部178は、表示情報を準備し、タッチ感知ディスプレイ上に表示するために表示情報をグラフィックモジュール132に送る。
【0131】
いくつかの実施形態では、イベント処理部(単数又は複数)190は、データ更新部176、オブジェクト更新部177、及びGUI更新部178を含む又はそれらへのアクセスを有する。いくつかの実施形態では、データ更新部176、オブジェクト更新部177、及びGUI更新部178は、それぞれのアプリケーション136-1又はアプリケーションビュー191の単一モジュールに含まれる。他の実施形態では、それらは、2つ以上のソフトウェアモジュールに含まれる。
【0132】
タッチ感知ディスプレイ上のユーザのタッチのイベント処理に関する前述の記載は、入力デバイスを用いて多機能デバイス100を動作させるための他の形態のユーザ入力にも適用されるが、それらの全てがタッチスクリーン上で開始されるわけではないことを理解されたい。例えば、キーボードの単一又は複数の押し下げ若しくは保持と任意選択的に連携される、マウスの移動及びマウスボタンの押し下げ、タッチパッド上のタップ、ドラッグ、スクロールなどの接触の移動、ペンスタイラス入力、デバイスの移動、口頭による命令、検出された眼球運動、バイオメトリック入力、並びに/又はそれらの任意の組み合わせが、任意選択的に、認識されるイベントを定義するサブイベントに対応する入力として利用される。
【0133】
図1Cは、様々な実施例による、システム2100のブロック図を示す。一部の実施例では、システム2100は、デジタルアシスタントを実装する。用語「デジタルアシスタント」、「仮想アシスタント」、「インテリジェント自動アシスタント」、又は「自動デジタルアシスタント」は、発語形式及び/又はテキスト形式の自然言語入力を解釈することによりユーザ意図を推測して、その推測されたユーザ意図に基づいてアクションを実行する、任意の情報処理システムを指す。例えば、システムは、推測されたユーザ意図に基づいて作用するために、推測されたユーザ意図を実現するように設計されたステップ及びパラメータを有するタスクフローを特定し、推測されたユーザ意図からの具体的な要件を、そのタスクフローに入力すること、プログラム、方法、サービス、又はAPIなどを呼び出すことによって、そのタスクフローを実行すること、及び可聴(例えば、発語)形式及び/又は視覚形態で、ユーザに対する出力応答を生成することのうちの、1つ以上を実行する。
【0134】
具体的には、デジタルアシスタントは、少なくとも部分的に、自然言語によるコマンド、要求、意見、談話、及び/又は照会の形態で、ユーザ要求を受け入れることが可能である。典型的には、ユーザ要求は、デジタルアシスタントによる情報回答又はタスクの実行のいずれかを求めるものである。ユーザ要求に対する満足な応答は、要求された情報回答の提供、要求されたタスクの実行、又は、それら2つの組み合わせを含む。例えば、ユーザは、デジタルアシスタントに、「私は今どこにいますか?(Where am I right now?)」などの質問をする。ユーザの現在位置に基づいて、デジタルアシスタントは、「あなたは西ゲート付近の中央公園にいます」と応答する。ユーザはまた、例えば、「私の友人を、来週の私のガールフレンドの誕生日パーティーに招待してください。」のように、タスクの実行も要求する。それに応じて、デジタルアシスタントは、「はい、ただ今。」と述べて、その要求に肯定応答することができ、次いで、そのユーザの電子アドレス帳にリストされているユーザの友人のそれぞれに、ユーザに代わって、好適なカレンダ招待状を送信することができる。要求されたタスクの実施中に、デジタルアシスタントは、長時間にわたる複数の情報交換を伴う連続的な会話で、ユーザと対話する場合がある。情報又は様々なタスクの実行を要求するためにデジタルアシスタントと対話する、数多くの他の方法が存在する。言葉による応答を提供してプログラムされたアクションを取ることに加えて、デジタルアシスタントはまた、他の視覚形式又は音声形式で、例えば、テキスト、警報、音楽、動画、アニメーションなどで応答を提供する。
【0135】
図1Cに示すように、一部の実施例では、デジタルアシスタントは、クライアント-サーバモデルに従って実装される。デジタルアシスタントは、ユーザデバイス104 上で実行されるクライアント側部分2102(以後、「DAクライアント2102」)、及びサーバシステム2108上で実行されるサーバ側部分2106(以後、「DAサーバ2106」)を含む。DAクライアント2102は、1つ以上のネットワーク2110を通じてDAサーバ2106と通信する。DAクライアント2102は、ユーザ対応入力及び出力処理、並びにDAサーバ2106との通信などの、クライアント側機能を提供する。DAサーバ2106は、各ユーザデバイス2104上にそれぞれが常駐する、任意の数のDAクライアント2102に、サーバ側機能を提供する。
【0136】
一部の実施例では、DAサーバ2106は、クライアント対応I/Oインタフェース2112、1つ以上の処理モジュール2114、データ及びモデル2116、並びに、外部サービスへのI/Oインタフェース2118を含む。クライアント対応I/Oインタフェース2112は、DAサーバ2106のクライアント対応入力及び出力処理を容易にする。1つ以上の処理モジュール2114は、データ及びモデル2116を利用して、音声入力を処理し、自然言語入力に基づいてユーザの意図を判定する。更には、1つ以上の処理モジュール2114は、タスク実行を、推測されたユーザ意図に基づいて実施する。一部の実施例では、DAサーバ2106は、タスクの完了又は情報の取得のために、ネットワーク(単数又は複数)2110を通じて外部サービス120と通信する。外部サービスへのI/Oインタフェース2118は、そのような通信を容易にする。
【0137】
ユーザデバイス2104は、任意の好適な電子デバイスとすることができる。いくつかの実施例では、ユーザデバイス2104は、ポータブル多機能デバイス(例えば、
図1Aを参照して上述されたデバイス100)、多機能デバイス、又はポータブル多機能デバイス(例えば、デバイス600,800,1000)である。ポータブル多機能デバイスは、例えば、PDA及び/又は音楽プレーヤ機能などの他の機能も含む携帯電話である。ポータブル多機能デバイスの具体例としては、Apple Inc.(Cupertino,California)による、Apple Watch(登録商標)、iPhone(登録商標)、iPod Touch(登録商標)、及びiPad(登録商標)デバイスが挙げられる。ポータブル多機能デバイスの他の例としては、限定するものではないが、イヤホン/ヘッドホン、スピーカ、及び、ラップトップコンピュータ若しくはタブレットコンピュータが挙げられる。更には、一部の実施例では、ユーザデバイス2104は、非ポータブル多機能デバイスである。具体的には、ユーザデバイス2104は、デスクトップコンピュータ、ゲームコンソール、スピーカ、テレビ、又はテレビセットトップボックスである。一部の実施例では、ユーザデバイス2104は、タッチ感知面(例えば、タッチスクリーンディスプレイ及び/又はタッチパッド)を含む。更に、ユーザデバイス2104は、任意選択的に、物理キーボード、マウス、及び/又はジョイスティックなどの、1つ以上の他の物理ユーザインタフェースデバイスを含む。多機能デバイスなどの電子デバイスの様々な実施例が、以下で更に詳細に説明される。
【0138】
通信ネットワーク(単数又は複数)2110の例としては、ローカルエリアネットワーク(local area network;LAN)、及びワイドエリアネットワーク(wide area network;WAN)、例えば、インターネットが挙げられる。通信ネットワーク(単数又は複数)2110は、例えば、イーサネット、ユニバーサルシリアルバス(Universal Serial Bus;USB)、FIREWIRE、移動通信用のグローバルシステム(Global System for Mobile Communications;GSM)、拡張データGSM環境(Enhanced Data GSM Environment;EDGE)、符号分割多元接続(code division multiple access;CDMA)、時分割多元接続(time division multiple access;TDMA)、Bluetooth、Wi-Fi、ボイスオーバーインターネットプロトコル(voice over Internet Protocol;VoIP)、Wi-MAX、又は任意の他の好適な通信プロトコルなどの、様々な有線若しくは無線プロトコルを含めた、任意の既知のネットワークプロトコルを使用して実装される。
【0139】
サーバシステム2108は、1つ以上のスタンドアロン型データ処理装置、又は分散型のコンピュータネットワーク上に実装される。一部の実施例では、サーバシステム2108はまた、サーバシステム2108の基本的なコンピューティングリソース及び/又はインフラストラクチャリソースを提供するために、様々な仮想デバイス及び/又は第三者サービスプロバイダ(例えば、第三者クラウドサービスプロバイダ)のサービスも採用する。
【0140】
一部の実施例では、ユーザデバイス2104は、第2のユーザデバイス2122を介してDAサーバ2106と通信する。第2のユーザデバイス2122は、ユーザデバイス2104と類似又は同一である。ユーザデバイス2104は、Bluetooth、NFC、BTLEなどの直接通信接続を介して、又はローカルWi-Fiネットワークなどの有線又は無線ネットワークを介して第2のユーザデバイス2122に通信可能に結合されるように構成される。一部の実施例では、第2のユーザデバイス2122は、ユーザデバイス2104とDAサーバ2106との間のプロキシとしての役割を果たすように構成されている。例えば、ユーザデバイス2104のDAクライアント2102は、第2のユーザデバイス2122を介して、情報(例えば、ユーザデバイス2104で受信されたユーザ要求)をDAサーバ2106に送信するように構成されている。DAサーバ2106は、情報を処理して、第2のユーザデバイス2122を介して、関連データ(例えば、ユーザ要求に応答するデータコンテンツ)をユーザデバイス2104に返す。
【0141】
一部の実施例では、ユーザデバイス2104は、データに対する短縮化された要求を第2のユーザデバイス2122に伝えることにより、ユーザデバイス2104から送信される情報の量を低減するように構成されている。第2のユーザデバイス2122は、その短縮化された要求に追加するべき補足情報を判定して、DAサーバ2106に送信するための完全な要求を生成するように構成されている。このシステムアーキテクチャは、制限された通信能力及び/又は制限されたバッテリ電力を有するユーザデバイス2104(例えば、腕時計又は類似の小型電子デバイス)が、DAサーバ2106へのプロキシとしてより高い通信能力及び/又はバッテリ電力を有する第2のユーザデバイス2122(例えば、携帯電話、ラップトップコンピュータ、タブレットコンピュータなど)を使用することによってDAサーバ2106によって提供されるサービスにアクセスすることを有利に許容することができる。
図1Cでは、2つのユーザデバイス2104及びユーザデバイス2122のみが示されているが、システム2100は、一部の実施例では、このプロキシ構成でDAサーバシステム2106と通信するように構成された、任意の数及びタイプのユーザデバイスを含むことを理解されたい。
【0142】
図1Cに示すデジタルアシスタントは、クライアント側部分(例えば、DAクライアント2102)とサーバ側部分(例えばDAサーバ2106)の両方を含むが、いくつかの例では、デジタルアシスタントの機能は、ユーザデバイスにインストールされた独立したアプリケーションとして実装される。更には、デジタルアシスタントのクライアント部分とサーバ部分との間での機能の割り振りは、実装形態によって異なり得る。例えば、一部の実施例では、DAクライアントは、ユーザ対応入力及び出力処理機能のみを提供し、デジタルアシスタントの他の全ての機能をバックエンドサーバに委ねる、シンクライアントである。
【0143】
図2は、いくつかの実施形態に係る、タッチスクリーン112を有するポータブル多機能デバイス100を示す。タッチスクリーンは、任意選択的に、ユーザインタフェース(user interface、UI)200内に1つ以上のグラフィックを表示する。本実施形態、並びに以下で説明される他の実施形態では、ユーザは、例えば、1本以上の指202(図には正確な縮尺では描かれていない)又は1つ以上のスタイラス203(図には正確な縮尺では描かれていない)を使用して、グラフィック上でジェスチャを実施することによって、それらのグラフィックのうちの1つ以上を選択することが可能となる。いくつかの実施形態では、1つ以上のグラフィックの選択は、ユーザが、その1つ以上のグラフィックとの接触を中断する場合に実施される。いくつかの実施形態では、ジェスチャは、デバイス100と接触した指の、1回以上のタップ、1回以上のスワイプ(左から右へ、右から左へ、上向きに及び/若しくは下向きに)、並びに/又は、ローリング(右から左へ、左から右へ、上向きに及び/若しくは下向きに)を、任意選択的に含む。一部の実装形態又は状況では、グラフィックとの不測の接触は、そのグラフィックを選択するものではない。例えば、任意選択的に、アプリケーションアイコンの上をスイープするスワイプジェスチャは、選択に対応するジェスチャがタップである場合、対応するアプリケーションを選択しない。
【0144】
デバイス100は、任意選択的に、「ホーム」ボタン又はメニューボタン204などの1つ以上の物理ボタンをまた含む。前述したように、メニューボタン204は、任意選択的にデバイス100上で実行される1組のアプリケーション内の任意のアプリケーション136にナビゲートするために、任意選択的に使用される。あるいは、いくつかの実施形態では、メニューボタンは、タッチスクリーン112に表示されるGUI内のソフトキーとして実装される。
【0145】
いくつかの実施形態では、デバイス100は、タッチスクリーン112、メニューボタン204、デバイスの電源をオン/オフにしてデバイスをロックするプッシュボタン206、音量調整ボタン208、加入者識別モジュール(SIM)カードスロット210、ヘッドセットジャック212、及びドッキング/充電用外部ポート124を含む。プッシュボタン206は、任意選択的に、ボタンを押し下げて、既定の時間間隔にわたってボタンを押し下げた状態に保持することによって、デバイスの電源をオン/オフするため、ボタンを押し下げて、既定の時間間隔が経過する前にボタンを解放することによってデバイスをロックするため、及び/又はデバイスをロック解除する、若しくはロック解除プロセスを開始するために、使用される。代替の実施形態では、デバイス100は、マイクロフォン113を介して、いくつかの機能をアクティブ化又は非アクティブ化するための口頭入力もまた受け入れる。デバイス100は、任意選択的に、タッチスクリーン112上の接触の強度を検出する1つ以上の接触強度センサ165、及び/又はデバイス100のユーザに対する触知出力を生成する1つ以上の触知出力生成器167もまた含む。
【0146】
図3は、いくつかの実施形態に係る、ディスプレイ及びタッチ感知面を有する例示的な多機能デバイスのブロック図である。デバイス300は、ポータブル型である必要はない。いくつかの実施形態では、デバイス300は、ラップトップコンピュータ、デスクトップコンピュータ、タブレットコンピュータ、マルチメディアプレーヤデバイス、ナビゲーションデバイス、教育的デバイス(子供の学習玩具など)、ゲームシステム、又は制御デバイス(例えば、家庭用又は業務用コントローラ)である。デバイス300は、通常、1つ以上の処理ユニット(CPU)310、1つ以上のネットワーク又は他の通信インタフェース360、メモリ370、及びこれらの構成要素を相互接続する1つ以上の通信バス320を含む。通信バス320は、任意選択的に、システム構成要素間の通信を相互接続及び制御する回路(チップセットと呼ばれることもある)を含む。デバイス300は、ディスプレイ340を含む入出力(I/O)インタフェース330を含み、ディスプレイ340は、通常、タッチスクリーンディスプレイである。I/Oインタフェース330はまた、任意選択的に、キーボード及び/又はマウス(若しくは他のポインティングデバイス)350並びにタッチパッド355と、デバイス300上に触知出力を生成する触知出力生成器357(例えば、
図1Aを参照して前述した触知出力生成器167に類似している)触知出力生成器357と、センサ359(例えば、光、加速度、近接、タッチ感知、及び/又は
図1Aを参照して前述した、接触強度センサ165に類似している接触強度センサ)とを含む。メモリ370は、DRAM、SRAM、DDR RAM、又は他のランダムアクセスソリッドステートメモリデバイスなどの高速ランダムアクセスメモリを含み、任意選択的に、1つ以上の磁気ディスク記憶デバイス、光ディスク記憶デバイス、フラッシュメモリデバイス、又は他の不揮発性ソリッドステート記憶デバイスなどの不揮発性メモリを含む。メモリ370は、任意選択的に、CPU(単数又は複数)310から離れて位置する1つ以上の記憶デバイスを含む。いくつかの実施形態では、メモリ370は、ポータブル多機能デバイス100(
図1A)のメモリ102内に記憶されているプログラム、モジュール、及びデータ構造に類似したプログラム、モジュール、及びデータ構造、又はそのサブセットを記憶する。更に、メモリ370は、任意選択的に、ポータブル多機能デバイス100のメモリ102に存在しない追加のプログラム、モジュール、及びデータ構造を記憶する。例えば、デバイス300のメモリ370は、任意選択的に、描画モジュール380、プレゼンテーションモジュール382、ワードプロセッシングモジュール384、ウェブサイト作成モジュール386、ディスクオーサリングモジュール388、及び/又はスプレッドシートモジュール390を記憶するのに対して、ポータブル多機能デバイス100(
図1A)のメモリ102は、任意選択的に、これらのモジュールを記憶しない。
【0147】
図3の上記で特定した要素はそれぞれ、任意選択的に、前述したメモリデバイスのうちの1つ以上の中に記憶される。上記で特定したモジュールはそれぞれ、前述した機能を実行する命令セットに対応する。上記で特定したモジュール又はプログラム(例えば、命令セット)は、別個のソフトウェアプログラム、手順、又はモジュールとして実装される必要はなく、したがって様々な実施形態では、これらのモジュールの様々なサブセットが、任意選択的に組み合わされ、又は他の方法で再構成される。いくつかの実施形態では、メモリ370は、任意選択的に、上記で特定されたモジュール及びデータ構造のサブセットを記憶する。更に、メモリ370は、上記で説明されていない追加のモジュール及びデータ構造を任意選択的に記憶する。
【0148】
次に、任意選択的に、例えばポータブル多機能デバイス100に実装されるユーザインタフェースの実施形態に注意を向ける。
【0149】
図4Aは、いくつかの実施形態に係る、ポータブル多機能デバイス100上のアプリケーションのメニューの例示的なユーザインタフェースを示す。同様のユーザインタフェースは、デバイス300上に任意選択的に実装される。いくつかの実施形態では、ユーザインタフェース400は、以下の要素、又はそれらのサブセット若しくはスーパーセットを含む。
●セルラー信号及びWi-Fi信号などの無線通信(単数又は複数)用の信号強度インジケータ(単数又は複数)402、
●時刻404、
●Bluetoothインジケータ405、
●バッテリ状態インジケータ406、
●以下のような、頻繁に使用されるアプリケーションのアイコンを有するトレイ408
○不在着信又はボイスメールメッセージの数のインジケータ414を任意選択的に含む、「電話」とラベル付けされた、電話モジュール138のアイコン416、
○未読電子メールの数のインジケータ410を任意選択的に含む、「メール」とラベル付けされた、電子メールクライアントモジュール140のアイコン418、
○「ブラウザ」とラベル付けされた、ブラウザモジュール147のアイコン420、及び
○「iPod」とラベル付けされる、iPod(Apple Inc.の商標)モジュール152とも称される動画及び音楽プレーヤモジュール152用のアイコン422、及び
●以下のような、他のアプリケーションのアイコン、
○「メッセージ」とラベル付けされた、IMモジュール141のアイコン424、
○「カレンダ」とラベル付けされた、カレンダモジュール148のアイコン426、
○「写真」とラベル付けされた、画像管理モジュール144のアイコン428、
○「カメラ」とラベル付けされた、カメラモジュール143のアイコン430、
○「オンラインビデオ」とラベル付けされた、オンラインビデオモジュール155のアイコン432、
○「株価」とラベル付けされた、株式ウィジェット149-2のアイコン434、
○「地図」とラベル付けされた、地図モジュール154のアイコン436、
○「天気」とラベル付けされた、気象ウィジェット149-1のアイコン438、
○「時計」とラベル付けされた、アラーム時計ウィジェット149-4のアイコン440、
○「トレーニングサポート」とラベル付けされた、トレーニングサポートモジュール142のアイコン442、
○「メモ」とラベル付けされた、メモモジュール153のアイコン444、及び
○デバイス100及びその様々なアプリケーション136の設定へのアクセスを提供する、「設定」とラベル付けされた、設定アプリケーション又はモジュールのアイコン446。
【0150】
図4Aに示すアイコンラベルは、単なる例示であることに留意されたい。例えば、動画及び音楽プレーヤモジュール152のアイコン422は、「音楽」又は「音楽プレーヤ」とラベル付けされる、他のラベルが、様々なアプリケーションアイコンのために、任意選択的に使用される。いくつかの実施形態では、それぞれのアプリケーションアイコンのラベルは、それぞれのアプリケーションアイコンに対応するアプリケーションの名前を含む。いくつかの実施形態では、特定のアプリケーションアイコンのラベルは、その特定のアプリケーションアイコンに対応するアプリケーションの名前とは異なる。
【0151】
図4Bは、ディスプレイ450(例えば、タッチスクリーンディスプレイ112)とは別個のタッチ感知面451(例えば、
図3のタブレット又はタッチパッド355)を有するデバイス(例えば、
図3のデバイス300)上の例示的なユーザインタフェースを示す。デバイス300はまた、任意選択的に、タッチ感知面451上の接触の強度を検出する1つ以上の接触強度センサ(例えば、センサ359のうちの1つ以上)、及び/又はデバイス300のユーザに対して触知出力を生成する1つ以上の触知出力生成器357を含む。
【0152】
以下の例のうちのいくつかは、タッチスクリーンディスプレイ112(タッチ感知面及びディスプレイが組み合わされている)上の入力を参照して与えられるが、いくつかの実施形態では、デバイスは、
図4Bに示すように、ディスプレイとは別個のタッチ感知面上の入力を検出する。いくつかの実施形態では、タッチ感知面(例えば、
図4Bの451)は、ディスプレイ(例えば、450)上の1次軸(例えば、
図4Bの453)に対応する1次軸(例えば、
図4Bの452)を有する。これらの実施形態によれば、デバイスは、ディスプレイ上のそれぞれの位置に対応する位置(例えば、
図4Bでは、460は468に対応し、462は470に対応する)で、タッチ感知面451との接触(例えば、
図4Bの460及び462)を検出する。このようにして、タッチ感知面(例えば、
図4Bの451)上でデバイスによって検出されるユーザ入力(例えば、接触460及び462、並びにこれらの動き)は、タッチ感知面がディスプレイとは別個であるとき、多機能デバイスのディスプレイ(例えば、
図4Bの450)上のユーザインタフェースを操作するために、デバイスによって使用される。同様の方法が、本明細書に記載の他のユーザインタフェースに任意選択的に使用されることを理解されたい。
【0153】
加えて、以下の例は、主に指入力(例えば、指接触、指タップジェスチャ、指スワイプジェスチャ)を参照して与えられる一方、いくつかの実施形態では、指入力のうちの1つ以上が別の入力デバイスからの入力(例えば、マウスベースの入力又はスタイラス入力)に置き換えられることを理解されたい。例えば、スワイプジェスチャは、任意選択的に、(例えば、接触の代わりに、)マウスクリックであって、その後に(例えば、接触の移動の代わりに)スワイプの経路に沿ったカーソルの移動を伴うマウスクリックによって置き換えられる。別の例として、タップジェスチャは、任意選択的に、カーソルがタップジェスチャの位置上に位置する間は、(例えば、接触を検出して、それに続いて接触の検出を停止する代わりに)マウスクリックによって置き換えられる。同様に、複数のユーザ入力が同時に検出されるとき、複数のコンピュータマウスが、任意選択的に、同時に使用され、又はマウス及び指の接触が、任意選択的に、同時に使用されることを理解されたい。
【0154】
図5Aは、例示的なパーソナル電子デバイス500を示す。デバイス500は、本体502を含む。いくつかの実施形態では、デバイス500は、デバイス100及び300(例えば、
図1A~
図4B)に関して説明された特徴のうちのいくつか又は全てを含むことができる。いくつかの実施形態では、デバイス500は、タッチ感知ディスプレイスクリーン504、以下ではタッチスクリーン504、を有する。あるいは、又はタッチスクリーン504に加えて、デバイス500は、ディスプレイ及びタッチ感知面を有する。デバイス100及び300と同様に、いくつかの実施形態では、タッチスクリーン504(又はタッチ感知面)は、任意選択的に、加えられている接触(例えば、タッチ)の強度を検出する1つ以上の強度センサを含む。タッチスクリーン504(又はタッチ感知面)の1つ以上の強度センサは、タッチの強度を表す出力データを提供することができる。デバイス500のユーザインタフェースは、タッチ(複数)に、その強度に基づいて応答することができ、これは、異なる強度のタッチが、デバイス500上で異なるユーザインタフェース動作を呼び出すことができることを意味する。
【0155】
タッチ強度を検出し処理する例示的な技法は、例えば、それぞれ全体が参照により本明細書に組み込まれる関連出願である、国際特許第WO/2013/169849号として公開された、2013年5月8日出願の国際特許出願第PCT/US2013/040061号、「Device,Method,and Graphical User Interface for Displaying User Interface Objects Corresponding to an Application」、及び国際特許第WO/2014/105276号として公開された、2013年11月11日出願の国際特許出願第PCT/US2013/069483号、「Device,Method,and Graphical User Interface for Transitioning Between Touch Input to Display Output Relationships」を参照されたい。
【0156】
いくつかの実施形態では、デバイス500は、1つ以上の入力機構506及び508を有する。入力機構506及び508は、含まれる場合、物理的であり得る。物理的入力機構の例としては、プッシュボタン及び回転可能機構が挙げられる。いくつかの実施形態では、デバイス500は、1つ以上のアタッチメント機構を有する。そのようなアタッチメント機構は、含まれる場合、例えば帽子、眼鏡類、イアリング、ネックレス、シャツ、ジャケット、ブレスレット、腕時計のバンド、チェーン、ズボン、ベルト、靴、財布、バックパックなどにデバイス500を取り付けることを可能にすることができる。これらのアタッチメント機構は、ユーザがデバイス500を着用することを可能にする。
【0157】
図5Bは、例示的なパーソナル電子デバイス500を示す。いくつかの実施形態では、デバイス500は、
図1A、
図1B、及び
図3に関して説明した構成要素のうちのいくつか又は全てを含むことができる。デバイス500は、I/Oセクション514を1つ以上のコンピュータプロセッサ516及びメモリ518に動作可能に結合するバス512を有する。I/Oセクション514は、ディスプレイ504に接続することができ、ディスプレイ504は、タッチ感知構成要素522と、任意選択的に強度センサ524(例えば、接触強度センサ)とを有することができる。加えて、I/Oセクション514は、Wi-Fi、Bluetooth、近距離通信(NFC)、セルラー、及び/又は他の無線通信技法を使用してアプリケーション及びオペレーティングシステムデータを受信する通信ユニット530と接続することができる。デバイス500は、入力機構506及び/又は508を含むことができる。入力機構506は、任意選択的に、例えば回転可能入力デバイス又は押下可能及び回転可能入力デバイスである。いくつかの例では、入力機構508は、任意選択的にボタンである。
【0158】
いくつかの例では、入力機構508は、任意選択的にマイクロフォンである。パーソナル電子デバイス500は、任意選択的に、GPSセンサ532、加速度計534、方向センサ540(例えば、コンパス)、ジャイロスコープ536、動きセンサ538、及び/又はそれらの組合せなどの様々なセンサを含み、それらは全て、I/Oセクション514に動作可能に接続することができる。
【0159】
パーソナル電子デバイス500のメモリ518は、コンピュータ実行可能命令を記憶するための1つ以上の非一時的コンピュータ可読記憶媒体を含むことができ、それらの命令は、1つ以上のコンピュータプロセッサ516によって実行されると、例えば、コンピュータプロセッサに、プロセス700、900及び1100(
図7A~
図7B、
図9A~
図9B及び
図11A~
図11B)を含めた、以下に説明する技術を実行させることができる。コンピュータ可読記憶媒体は、命令実行システム、装置、若しくはデバイスによって、又は命令実行システム、装置、若しくはデバイスに関連して、使用されるコンピュータ実行可能命令を、有形に含み又は記憶することができる任意の媒体であり得る。いくつかの実施例では、記憶媒体は、一時的コンピュータ可読記憶媒体である。いくつかの実施例では、記憶媒体は、非一時的コンピュータ可読記憶媒体である。非一時的コンピュータ可読記憶媒体は、それらに限定されるものではないが、磁気、光学、及び/又は半導体記憶装置を含むことができる。そのような記憶装置の例としては、磁気ディスク、CD、DVD、又はBlu-ray技術に基づく光学ディスク、並びにフラッシュ、ソリッドステートドライブなどの常駐ソリッドステートメモリなどが挙げられる。パーソナル電子デバイス500は、
図5Bの構成要素及び構成に限定されるものではなく、他の又は追加の構成要素を複数の構成で含むことができる。
【0160】
本明細書で使用される「アフォーダンス」という用語は、任意選択的に、デバイス100、300、及び/又は500(
図1A、
図3、及び
図5A~
図5B)のディスプレイスクリーンに表示されるユーザ対話グラフィカルユーザインタフェースオブジェクトを指す。例えば、画像(例えば、アイコン)、ボタン、及び文字(例えば、ハイパーリンク)はそれぞれ、任意選択的に、アフォーダンスを構成する。
【0161】
本明細書で使用される「フォーカスセレクタ」という用語は、ユーザが対話しているユーザインタフェースの現在の部分を示す入力要素を指す。カーソル又は他の位置マーカを含むいくつかの実装形態では、カーソルが「フォーカスセレクタ」として作用し、したがってカーソルが特定のユーザインタフェース要素(例えば、ボタン、ウインドウ、スライダ、又は他のユーザインタフェース要素)の上に位置する間に、入力(例えば、押下入力)がタッチ感知面(例えば、
図3のタッチパッド355又は
図4Bのタッチ感知面451)上で検出されたとき、特定のユーザインタフェース要素は、検出された入力に従って調整される。タッチスクリーンディスプレイ上のユーザインタフェース要素との直接対話を可能にするタッチスクリーンディスプレイ(例えば、
図1Aのタッチ感知ディスプレイシステム112又は
図4Aのタッチスクリーン112)を含むいくつかの実装形態では、タッチスクリーン上の検出された接触が「フォーカスセレクタ」として作用し、したがってタッチスクリーンディスプレイ上の特定のユーザインタフェース要素(例えば、ボタン、ウインドウ、スライダ、又は他のユーザインタフェース要素)の位置で入力(例えば、接触による押下入力)が検出されたとき、特定のユーザインタフェース要素が、検出された入力に従って調整される。いくつかの実装形態では、(例えば、フォーカスを1つのボタンから別のボタンへ動かすためにタブキー又は矢印キーを使用することによって)タッチスクリーンディスプレイ上の対応するカーソルの移動又は接触の移動なしに、フォーカスがユーザインタフェースの1つの領域からユーザインタフェースの別の領域に動かされ、これらの実装形態では、フォーカスセレクタは、ユーザインタフェースの種々の領域間でのフォーカスの移動に従って移動する。フォーカスセレクタがとる具体的な形態にかかわらず、フォーカスセレクタは、一般に、ユーザが意図するユーザインタフェースとの対話について(例えば、ユーザがそれを通じて対話することを意図しているユーザインタフェースの要素をデバイスに示すことによって)伝えるためにユーザによって制御されるユーザインタフェース要素(又はタッチスクリーンディスプレイ上の接触)である。例えば、タッチ感知面(例えば、タッチパッド又はタッチスクリーン)上で押下入力が検出されている間に、それぞれのボタンの上にあるフォーカスセレクタ(例えば、カーソル、接触、又は選択ボックス)の位置は、ユーザが、(そのデバイスのディスプレイ上に示される他のユーザインタフェース要素ではなく)それぞれのボタンをアクティブ化することを意図していることを示すものである。
【0162】
本明細書及び特許請求の範囲において使用されるとき、接触の「特性強度」という用語は、接触の1つ以上の強度に基づく、その接触の特性を指す。いくつかの実施形態では、特性強度は複数の強度サンプルに基づく。特性強度は、任意選択的に、既定の数の強度サンプル、すなわち、既定のイベント(例えば、接触を検出した後、接触のリフトオフを検出する前、接触の移動の開始を検出する前若しくは後、接触の終了を検出する前、接触の強度の増大を検出する前若しくは後、及び/又は、接触の強度の減少を検出する前若しくは後の)に関連する所定の時間(例えば、0.05、0.1、0.2、0.5、1、2、5、10秒)の間に収集された強度サンプルのセットに基づく。接触の特性強度は、任意選択的に、接触の強度の最大値、接触の強度の平均(mean)値、接触の強度の平均(average)値、接触の強度の上位10パーセンタイル値、接触の強度の最大の2分の1の値、接触の強度の最大の90パーセントの値などのうちの1つ以上に基づいている。一部の実施形態では、特性強度を判定する際に(例えば、特性強度が経時的な接触の強度の平均であるときに)、接触の持続期間が使用される。一部の実施形態では、特性強度は、ユーザによって動作が実行されたかどうかを判定するために、1つ以上の強度閾値のセットと比較される。例えば、1つ以上の強度閾値のセットは、任意選択的に、第1の強度閾値及び第2の強度閾値を含む。この例では、第1の閾値を超えない特性強度を有する接触は第1の動作をもたらし、第1の強度閾値を超えるが第2の強度閾値を超えない特性強度を有する接触は第2の動作をもたらし、第2の閾値を超える特性強度を有する接触は第3の動作をもたらす。いくつかの実施形態では、特性強度と1つ以上の閾値との間の比較は、第1の動作を実行するべきか、それとも第2の動作を実行するべきかを判定するために使用されるのではなく、1つ以上の動作を実行するべきか否か(例えば、それぞれの動作を実行するべきか、それともそれぞれの動作を実行するのを見送るべきか)を判定するために使用される。
【0163】
一部の実施形態では、特性強度を判定する目的のために、ジェスチャの一部分が特定される。例えば、タッチ感知面は、任意選択的に、開始位置から遷移して終了位置に到達し、その位置で接触の強度が増大している、連続するスワイプ接触を受信する。この例では、終了位置での接触の特性強度は、任意選択的に、スワイプ接触全体ではなく、連続するスワイプ接触の一部分のみ(例えば、スワイプ接触のうち終了位置の部分のみ)に基づいている。いくつかの実施形態では、任意選択的に、接触の特性強度を判定する前に、平滑化アルゴリズムがスワイプ接触の強度に適用される。例えば、平滑化アルゴリズムは、任意選択的に、非加重移動平均平滑化アルゴリズム、三角平滑化アルゴリズム、中央値フィルタ平滑化アルゴリズム、及び/又は指数平滑化アルゴリズムのうちの1つ以上を含む。いくつかの状況では、これらの平滑化アルゴリズムは、特性強度を判定する目的のために、スワイプ接触強度の幅の狭いスパイク又は下落を排除する。
【0164】
タッチ感知面上の接触の強度は、任意選択的に、接触検出強度閾値、軽い押下の強度閾値、深い押下の強度閾値、及び/又は1つ以上の他の強度閾値などの1つ以上の強度閾値に対して特徴付けられる。一部の実施形態では、軽い押下強度閾値は、通常、物理マウスのボタン又はトラックパッドをクリックすることに関連付けられた動作をデバイスが実行する強度に相当する。一部の実施形態では、深い押下強度閾値は、通常、物理マウスのボタン又はトラックパッドをクリックすることに関連付けられた動作とは異なる動作をデバイスが実行する強度に相当する。いくつかの実施形態では、軽い押下強度閾値を下回る(例えば、かつそれを下回ると接触が検出されなくなる公称接触検出強度閾値を上回る)特性強度を有する接触が検出されたとき、デバイスは、タッチ感知面上の接触の移動に従い、軽い押下強度閾値又は深い押下強度閾値に関連付けられた動作を実行することなく、フォーカスセレクタを動かす。一般に、特に明記しない限り、これらの強度閾値は、ユーザインタフェースの値の様々なセットの間で一貫している。
【0165】
軽い押下強度閾値を下回る強度から、軽い押下強度閾値と深い押下強度閾値との間の強度への、接触の特性強度の増大は、「軽い押下」の入力と呼ばれることがある。深い押下強度閾値を下回る強度から、深い押圧強度閾値を上回る強度への、接触の特性強度の増大は、「深い押圧」の入力と呼ばれることがある。接触検出強度閾値を下回る強度から、接触検出強度閾値と軽い押圧強度閾値との間の強度への、接触の特性強度の増大は、タッチ面上の接触の検出と呼ばれることがある。接触検出強度閾値を上回る強度から、接触検出強度閾値を下回る強度への、接触の特性強度の減少は、タッチ面からの接触のリフトオフの検出と呼ばれることがある。いくつかの実施形態では、接触検出強度閾値はゼロである。いくつかの実施形態では、接触検出強度閾値はゼロより大きい。
【0166】
本明細書に記載するいくつかの実施形態では、それぞれの押下入力を含むジェスチャを検出したことに応じて、又はそれぞれの接触(若しくは複数の接触)によって実行されたそれぞれの押下入力を検出したことに応じて、1つ以上の動作が実行され、それぞれの押下入力は、押下入力強度閾値を上回る接触(又は複数の接触)の強度の増大を検出したことに少なくとも部分的に基づいて検出される。いくつかの実施形態では、それぞれの動作は、押下入力強度閾値を上回るそれぞれの接触の強度の増大(例えば、それぞれの押下入力の「ダウンストローク」)を検出したことに応じて実行される。いくつかの実施形態では、押下入力は、押下入力強度閾値を上回るそれぞれの接触の強度の増大、及びそれに続く押下入力強度閾値を下回る接触の強度の減少を含み、それぞれの動作は、それに続く押下入力閾値を下回るそれぞれの接触の強度の減少(例えば、それぞれの押下入力の「アップストローク」)を検出したことに応じて実行される。
【0167】
一部の実施形態では、デバイスは、「ジッタ」と呼ばれる場合がある偶発的な入力を回避するために強度ヒステリシスを採用し、デバイスは、押下入力強度閾値との既定の関係を有するヒステリシス強度閾値を定義又は選択する(例えば、ヒステリシス強度閾値は、押下入力強度閾値よりもX強度単位低い、又はヒステリシス強度閾値は、押下入力強度閾値の75%、90%、若しくは何らかの妥当な割合である)。したがって、いくつかの実施形態では、押下入力は、押下入力強度閾値を上回るそれぞれの接触の強度の増大、及びそれに続く押下入力強度閾値に対応するヒステリシス強度閾値を下回る接触の強度の減少を含み、それぞれの動作は、それに続くヒステリシス強度閾値を下回るそれぞれの接触の強度の減少(例えば、それぞれの押下入力の「アップストローク」)を検出したことに応じて実行される。同様に、一部の実施形態では、押下入力は、デバイスが、ヒステリシス強度閾値以下の強度から押下入力強度閾値以上の強度への接触の強度の増大、及び任意選択的に、その後のヒステリシス強度以下の強度への接触の強度の減少を検出するときにのみ検出され、それぞれの動作は、押下入力(例えば、状況に応じて、接触の強度の増大又は接触の強度の減少)を検出したことに応じて実行される。
【0168】
説明を容易にするために、押下入力強度閾値に関連付けられた押下入力、又は押下入力を含むジェスチャに応じて実行される動作の説明は、任意選択的に、押下入力強度閾値を上回る接触の強度の増大、ヒステリシス強度閾値を下回る強度から押下入力強度閾値を上回る強度への接触の強度の増大、押下入力強度閾値を下回る接触の強度の減少、及び/又は押下入力強度閾値に対応するヒステリシス強度閾値を下回る接触の強度の減少のいずれかを検出したことに応じてトリガされる。更に、押下入力強度閾値を下回る接触の強度の減少を検出したことに応じて実行されるように動作が記載される例では、動作は、任意選択的に、押下入力強度閾値に対応し、かつそれよりも低いヒステリシス強度閾値を下回る接触の強度の減少を検出したことに応じて実行される。
【0169】
次に、ポータブル多機能デバイス100、デバイス300、又はデバイス500などの電子デバイス上で実施されるユーザインタフェース(「UI」)及び関連プロセスの実施形態に注意を向ける。
【0170】
図6A~
図6Oは、いくつかの実施形態に係る、一瞥によるコマンド及び音声コマンドを使用して、デジタルアシスタントをアクティブ化しデジタルアシスタントと対話するための例示的なユーザインタフェースを示す。これらの図は、
図7A~
図7Bのプロセスを含む後述のプロセスを例示するために使用される。
【0171】
図6A~
図6Dは、ユーザ620が電子デバイス600を一瞥することによって電子デバイス600上の例示的なデジタルアシスタントをアクティブ化することを示す。デジタルアシスタントがアクティブ化されると、ユーザ620は、コマンド624A~624Bをデジタルアシスタントに発語することによってテーブルランプをオンにする。
【0172】
図6Aは、ディスプレイ602がオフであることによって示される非アクティブ状態にある電子デバイス600上のデジタルアシスタントを示す。いくつかの実施形態では、デジタルアシスタントは、電子デバイス600がユーザの凝視、すなわち、ユーザ620が電子デバイス600を見ていることを検出しない場合には非アクティブな状態にある。いくつかの実施形態では、電子デバイス600がボタン押下(又は他のアクティブ化コマンド)を検出する前、かつ/又は別のデバイス(例えば、腕時計630)がアクティブ化コマンドを受信し 、アクティブ化命令を電子デバイスに送信する前は、デジタルアシスタントは非アクティブな状態にある。ユーザ620は、ユーザ620の凝視に基づく凝視情報が1つ以上のアクティブ化基準のセットを満たすときに、電子デバイス600を一瞥して、デジタルアシスタントのアクティブ化をトリガすることができる。電子デバイス600は、ユーザ620の凝視について、任意選択的に、外部デバイス616A上に設置され、かつ/又はカメラ616Bなど電子デバイス600に一体化された1つ以上のカメラセンサを使用して凝視情報を取得する。カメラセンサ616Aは、電子デバイス600に無線接続され、あるいは有線で接続されてもよい。1つ以上のカメラセンサは、凝視が検出されるとすぐに凝視情報を測定する赤外線カメラセンサ及び/又は可視光センサを含む。凝視情報は、ユーザの頭部位置の場所、凝視の静止時間又は持続時間、凝視の方向、凝視の視野606、及び対象物(例えば、電子デバイス600又はテーブルランプ618などの外部デバイス)が凝視の視野606内にあるかどうか、のうちの1つ以上を任意選択的に含む。
【0173】
電子デバイス600は、1つ以上のカメラセンサ616A~616Bから取得された凝視情報が1つ以上のアクティブ化基準のセットを満たすかどうかを判定する。換言すれば、電子デバイス600は、ユーザ620がデジタルアシスタントをアクティブ化するために電子デバイス600を見ることを意図したかどうかを判定する。1つ以上のアクティブ化基準のセットは、ユーザの凝視が電子デバイス600の方向に向けられるときに満たされる方向基準を任意選択的に含む。1つ以上のアクティブ化基準のセットはまた、電子デバイス600が、ゼロではない所定の時間(例えば、数秒 )を超える、電子デバイス600の方向への凝視の静止時間又は持続時間を検出するときに満たされる静止時間基準も任意選択的に含む。凝視の静止時間又は持続時間が閾値時間未満である場合、このことは、ユーザがデジタルアシスタントをトリガすることを意図しないことを示し得る。したがって、閾値時間未満の静止時間は、アクティブ化基準を満たさないので、デジタルアシスタントはアクティブ化されない。
【0174】
1つ以上のアクティブ化基準のセットはまた、任意選択的に、視野基準を含む。
図6Aに示すように、ユーザ620は電子デバイス600を見ておらず、電子デバイス600は、デバイス600がユーザ620の視野606内にないと判定する。以下で更に説明するように、視野基準は、電子デバイス600がユーザ620の視野606内にあると判定された場合に満たされるが、電子デバイス600がユーザ 620の視野600 内にないと判定された場合は、満たされない。視野606を使用して、ユーザ602が対象の電子デバイス(例えば、デバイス600)を見ているかどうかを判定することにより、ユーザが対象の電子デバイスを直接見ていないが、それでも対象の電子デバイスを特定(又はアクティブ化)しようとしている場合に、凝視が視野内において検出され得るために、凝視検出率が高くなる。
【0175】
視野606は、閾値オフセット角度604によって示される、ユーザの視線612の上方及び下方の度値範囲である。いくつかの実施形態では、電子デバイス600が直接ユーザ620の視線612内にある、すなわち、判定されたオフセット度がゼロであるときに、視野基準が満たされる。いくつかの実施形態では、凝視の判定されたオフセット角度622が閾値オフセット角度604(例えば、
図6Bに示すように、電子デバイスを直接見ているユーザ620の視線612からの許容可能な最大偏差)未満であるときに、視野基準が満たされる。(本例において)判定されたオフセット角度622及び閾値オフセット角度604は、ゼロ度よりも大きい(例えば、30度)。判定されたオフセット角度622は、ユーザ620の凝視からの視線612(例えば、ユーザが実際に見ているところ)と、ユーザ620から電子デバイス600への算出された視線608(例えば、ユーザが電子デバイス600を直接見るのに理想的な経路)との間に形成された角度に基づいて計算される。オフセット角度622が閾値オフセット角度604よりも大きいとき、
図6Aに示すように、電子デバイス600が視野606の外にあるため、視野基準は満たされず、結果として、デジタルアシスタントはアクティブ化されないままとなる。いくつかの実施形態では、電子デバイス600が、ユーザ620の視野606の外のゼロでない閾値度を超えて(例えば、30度を超えて)位置すると判定される場合、電子デバイス600はユーザの凝視内にはなく、デジタルアシスタントはアクティブ化されない。いくつかの実施形態では、視線612は、ユーザの頭部位置に基づいて測定される。いくつかの実施形態では、ユーザの頭部位置は、ユーザの頭部の傾斜又は回転(例えば、ヨー、ピッチ、及び/又はロール)に基づくものである。
【0176】
図6Aでは、上述のように、カメラセンサ(例えば、616A,61B )から取得された凝視情報が1つ以上のアクティブ化基準のセットを満たさないので、電子デバイス600上のデジタルアシスタントはアクティブ化されない。電子デバイス600は、ユーザ620の凝視の静止時間が閾値静止時間未満、又は、電子デバイス600がユーザ620の視野内にない場合、ユーザ620が電子デバイス600を見ていないと判定する。いくつかの実施形態では、ユーザの視線612と算出された視線608との間の判定されたオフセット角度622が閾値オフセット角度604よりも大きいとき、視野基準は満たされない。デジタルアシスタントがアクティブ化されず、凝視情報が1つ以上のアクティブ化基準のセットを満たさない場合、電子デバイス600は、デジタルアシスタントのアクティブ化を見合わせる。デジタルアシスタントがアクティブ化されていないとき、電子デバイス600は、任意選択的に、マイクロフォン又はスピーカのうちの1つ以上をオンにせず、音声を記録せず、かつ/又は、発語コマンドを実行する目的で記録された音声の処理を可能にしない(例えば、電子デバイス600は、依然として音声を処理してトリガ語を検出することができるが、アクティブ化以外のコマンドの実行のために音声を処理しない)。いくつかの実施形態では、電子デバイス600は、デジタルアシスタントがアクティブ化されていないとき(例えば、電子デバイス600の状態は不変のままである)ときに、視覚的又は音声インジケータを使用して任意の指示を提供しない。いくつかの実施形態では、電子デバイス600は、凝視情報が1つ以上のアクティブ化基準のセットを満たさなかったとの判定の前の状態である同じ非アクティブな状態に留まる。
【0177】
図6Aでは、ユーザ620は、デジタルアシスタントがアクティブ化される前に、「Turn on the table lamp(テーブルランプをオンにして)」のコマンド624A~624Bの部分624A「Turn...」の発語を開始する。いくつかの実施形態では、以下で更に論じるように、デジタルアシスタントがその後、(例えば、設定された(ゼロでない)持続時間内に)アクティブ化されない場合、コマンド624A~624Bの部分624Aは、デジタルアシスタントによって処理されず、取り消され、かつ/又は無視される。いくつかの実施形態では、以下で更に論じるように、コマンド624A~624Bを完了する前に(又は、設定された持続時間内に)、デジタルアシスタントが(例えば、ユーザ620が電子デバイス600を見て、1つ以上のアクティブ化基準のセットを満たすことによって)アクティブ化される場合、デジタルアシスタントがアクティブ化される前に電子デバイス600によって受信されたコマンド624A~624Bの部分624Aが処理される。
【0178】
図6Bに示すように、ユーザ620は電子デバイス600を見ており、電子デバイス600は、電子デバイス600がユーザ620の視野606内にあると判定する。カメラセンサ(例えば、616A,616B)から得られた凝視情報は、1つ以上のアクティブ化基準のセットを満たす。
【0179】
図6Cでは、電子デバイス600は、カメラセンサ(例えば、616A,616B)から取得された凝視情報が1つ以上のアクティブ化基準のセットを満たしていることを判定し、それに応じて、デジタルアシスタントをアクティブ化する。デジタルアシスタントをアクティブ化することは、マイクロフォン又はスピーカをオンにすること、音声を録音すること、及び(単にトリガフレーズを検出するのではなく)発語によるコマンドを実行する目的のため、録音された音声の処理を可能にすること、のうちの1つ以上を任意選択的に含む。電子デバイス600は、任意選択的に、1つ以上のアクティブ化基準のセットが満たされていること、及び/又はデジタルアシスタントがアクティブ化されているという指示を(例えば、インジケータ610A,610B,又は610Cを介して)提供する。インジケータは、任意選択的に、視覚的指示610A、音声による指示610B、デジタルアシスタントが発語する確認610C、又は異なるインジケータの任意の組み合わせである。視覚的指示610Aを提供することは、電子デバイス600のディスプレイ602をオンにすること、電子デバイス600のLEDをオンにすること、特定の色(例えば、青色又は、デジタルアシスタントがアクティブ化されていないときのデフォルト色以外の色)の光、光パターン、又は電子デバイス600のディスプレイ602上の視覚出力を表示すること、のうちの1つ以上を任意選択的に含む。いくつかの実施形態では、デジタルアシスタントがアクティブ化されていることを示す視覚的インジケータ610Aは、デジタルアシスタントがコマンドを実行したとき、又は非アクティブな状態にあるときを示す視覚的インジケータ610Aとは異なる。例えば、電子デバイスは、1つ以上のアクティブ化条件のセットが満たされたことに応じて視覚的インジケータ610Aの第1の色を表示し、デジタルアシスタントがアクティブ化されていることに応じて視覚的インジケータ610Aの第2の色として 表示し、デジタルアシスタントがコマンドを実行したという判定に応じて視覚的インジケータ610Aの第3の色を表示し、かつ/又はデジタルアシスタントをアクティブ化しないように変更したことに応じて視覚的インジケータ610Aの第4の色を表示する。音声による指示610Bは、サウンド、フレーズ、単語、又はトーンの再生のうちの1つ以上を任意選択的に含む。いくつかの実施形態では、デジタルアシスタントがアクティブ化されていること(又は1つ以上のアクティブ化基準のセットが満たされたこと)を示す音声による指示610Bは、デジタルアシスタントがコマンド(例えば、624A)を実行したとき、又は非アクティブな状態にあるときを示す音声による指示610Bとは異なる。デジタルアシスタントは、デジタルアシスタントがアクティブ化されたこと、又は1つ以上のアクティブ化基準のセットが満たされたことを示すデジタルアシスタント音声確認610C(例えば、「どのようなご用件でしょうか?」)を任意選択的に提供する。いくつかの実施例では、
図10A~
図10Dに関して更に詳細に説明されるように、電子デバイスは、検出されたユーザに基づいて、特定の声(例えば、アクセント、男性又は女性の声)を使用して音声確認を出力する。
【0180】
図6Cでは、電子デバイスがデジタルアシスタントをアクティブ化し、ディスプレイ602を使用して指示を提供することに続いて、電子デバイスは、コマンド624C「Turn on the table lamp(テーブルランプをオンにして)」のうち残りの部分624B「...on the table lamp」のユーザ620の発語が完了したことを検出する。いくつかの実施形態では、電子デバイス600は、デジタルアシスタントがアクティブ化された後に、ユーザ620がコマンド624C全体「turn on the table lamp(テーブルランプをオンにして)」を発語するのを検出する。任意選択的に、電子デバイス600は、コマンド624A~624Bの受信を開始する前に1つ以上のアクティブ化基準のセットが満たされたとの判定に従って、指示610Cを提供し、電子デバイス600は、コマンド624A~624Bの受信を開始した後に(前ではなく)1つ以上のアクティブ化基準のセットが満たされたという判定に従って、指示610Cを提供しない。
【0181】
いくつかの実施形態では、電子デバイス600は、コマンド624A~624Bの残りの部分624Bを受信する前に、音楽を再生するなど、音声出力を第1の音量で生成している。いくつかの実施形態では、電子デバイス600がコマンド624A~624Bの第1の部分624Aを受信したことに応じて、電子デバイス600は、音声出力の第1の音量を、第1の音量よりも低い第2の音量まで頭を引っ込める(duck)ように下げる。この第2の音量は、任意選択的に、ユーザ620と電子デバイス600との間の距離に基づく。音声出力の第1の音量を下げるのは、背景のノイズによる干渉を低減させ、電子デバイス600が単語をより良好に検出することができるようするためである。いくつかの実施形態では、1つ以上のアクティブ化基準のセットが満たされているという判定に応じて、第1の音量が下げられる。いくつかの実施形態では、音量低減量は、コマンド624A~624Bの第1の部分624A(第2の部分624Bではなく)が受信される時のユーザ620と電子デバイス600との間の距離に基づく。電子デバイス600は、外部カメラセンサ616A及び/又は電子デバイス600上のカメラセンサ616Bを使用して、ユーザ620と電子デバイス600との間の距離を判定する。いくつかの実施形態では、電子デバイス600は、ユーザ620が発語しているのを検出する間、音声出力の音量をミュート又は低下させることによって、音声出力の音量を可変的に低減する。電子デバイス600は、コマンド624Bの終わりを検出した後に、音声出力の音量を第1の音量に戻す。音量変更は、要求の内容に基づくものではない。いくつかの実施形態では、デジタルアシスタントをアクティブ化する前に、ユーザ620がコマンド624A~624Bの第1の部分624Aを発語することを電子デバイス600が検出したとしても、デジタルアシスタントは、それでも、1つ以上の実行基準のセットが満たされた場合にコマンド(624Aを含む)を処理することができる。1つ以上の実行基準のセットが満たされると、デジタルアシスタントは、要求の内容に基づいてコマンドを実行する。1つ以上の実行基準のセットは、コマンド完了基準、実施可能基準、及びアクティブ化基準のうちの1つ以上を任意選択的に含む。コマンド完了基準は、電子デバイス600が受信した音声コマンド(例えば、音声によるユーザ入力要求)の終わりを検出すると、満たされる。電子デバイス600が、ゼロでない所定の期間を超えた、受信した音声内の休止(すなわち、ユーザ音声を受信していないこと)を検出することによってコマンド624A~24Bの終わりが判定される。いくつかの実施形態では、検出された休止がゼロでない所定の期間未満である(場合には、コマンド完了基準は満たされない例えば、ユーザはコマンドの発語を完了していない)。電子デバイス600が、受信したコマンドが実施可能である(例えば、デバイスがコマンドを実行する権限及び/又は能力を有する)と判定すると、実施可能基準が満たされる。いくつかの実施例では、コマンドがアカウントからの情報にアクセスすることであって、電子デバイスがアカウントにアクセスする承認を受信していない場合、デバイスがアカウントにアクセスする権限を有していないため、コマンドは実施可能ではない。いくつかの実施例では、電子デバイス600が受信した要求を、デジタルアシスタントが実行又は送信できるコマンドとするように処理できないとき、実施可能基準は満たされない(例えば、コマンドは「テレビをオンにする」ことであるが、対応する命令が送信され得る部屋にはテレビが存在しない)。デジタルアシスタントがアクティブ化されたときにアクティブ化基準が満たされる。
【0182】
図6Dは、デジタルアシスタントがアクティブ化されている間に1つ以上の実行基準のセットが満たされると、デジタルアシスタントはコマンドを実行することを示す。デジタルアシスタントがコマンドを正常に処理し、実行基準が満たされたと判定した場合、デジタルアシスタントは、適切なデバイスの状態を変化させる命令を送信する。この例では、オンにするテーブルランプ618(外部デバイス)に命令が送信される。いくつかの実施形態では、以下により詳細に記載されるように
図8A~
図8Cの説明に従って、どの外部デバイスを機能させるかの判定が行われる。デジタルアシスタントがコマンドを実行した後、電子デバイス600は、コマンド624A~624Bが正常に実行されたかを示すインジケータ(例えば、インジケータ610A,610B,610C)を任意選択的に提供する。いくつかの実施形態では、インジケータは、デジタルアシスタントがコマンド624A-624Bを実行したことを示すために、特定の色の光(例えば、青、又はデジタルアシスタントがアクティブ化されていないときのデフォルトの色以外の色)又は光パターンの光を表示する視覚的インジケータ610Aである。いくつかの実施形態では、インジケータは、サウンド、フレーズ、単語、又はトーンを再生する音声によるインジケータ610Bである。いくつかの実施形態では、
図10A~
図10Dに関して説明されるように、インジケータは、デジタルアシスタントがコマンド624A~624Bを実行したとき、特定の音声(例えば、アクセント、男性、又は女性の声)で発語できるデジタルアシスタントによって発語される確認610Cである。いくつかの実施形態では、ユーザ620は、
図10A~
図10Dに関して後述されるように、ユーザのプロファイルに関連付けられた特性(例えば、ユーザ名、明るい色、パターン、サウンド、音声、アクセントに対する特定のユーザの好み)の値を含むように、視覚的インジケータ、音声によるインジケータ、又はデジタルアシスタントインジケータをカスタマイズすることができる。例えば、
図6Dでは、デジタルアシスタントは、「ジャック、テーブルランプがオンにされました」という確認を提供することができる。ユーザ620の名前は、ユーザ620が登録中に提供した、ユーザ620のユーザプロファイルから取得され、
図10A~
図10Dに関して後述するように判定される。登録プロセスは、
図10A~
図10D、及び方法1100に関して以下で詳細に説明される。デジタルアシスタントは、ユーザ620のプロファイルからの設定を利用して、どのユーザ(例えば、ジャック)がコマンドを発語したかを反映するようにインジケータを更にカスタマイズすることができる。
【0183】
1つ以上の実行基準のセットが満たされない場合、電子デバイス600は、コマンドの内容に基づくコマンドの実行を見合わせる。いくつかの実施例では、実施可能基準が満たされない場合には、1つ以上の実行基準のセットは満たされない。実施可能基準が満たされない場合、電子デバイス600は、任意選択的に、
図6Oに示すようなヘッドシェイクによる指示を生成して、デジタルアシスタントがコマンドを処理できなかったため、承認がないため、又はコマンドを実行する能力がないため、コマンドを実行できないことを示す。
図6Oのヘッドシェイクによる指示は、(6O-Aに示すような)電子デバイス600のディスプレイ602の第1の側の光又は光パターン602Aと、それに続いて、(6O-Bに示すような)ディスプレイ602の第2の側の光パターン602Bと、それに続いて、(6O-Cに示すような)ディスプレイ602の第1の側の光パターン602Aとを含み、これは人がかぶりを振ること(ヘッドシェイク)を模擬する。いくつかの実施形態では、実行基準が満たされないときに、特定のインジケータ(例えば、光のパターン、色、又は特定のサウンド)が電子デバイス600によって生成される。特定のインジケータは、デジタルアシスタントがコマンドを実行できなかった理由を示す特定のエラーコードに対応してもよい(例えば、青色光はコマンドが理解されなかったことを示し、紫色は認可の欠如を示す)。いくつかの実施形態では、デジタルアシスタントがコマンドを実行できないときに生成されるインジケータは、デジタルアシスタントがコマンドを実行することができるときに生成されるインジケータとは異なる。
【0184】
図6E~
図6Gは、ユーザ620がウェアラブル電子デバイス又はモバイル電子デバイス630上のデジタルアシスタントをアクティブ化する別の実施形態を示す。
図6Eでは、電子デバイス630がユーザ入力又は手首を持ち上げるなどのジェスチャを検出すると、電子デバイス630上のデジタルアシスタントがアクティブ化される。いくつかの実施形態では、ユーザ620はまた、任意選択的に、ボタンを押したり、竜頭を回転させたり、又は音声によるユーザ入力を提供したりして、電子デバイス630上のデジタルアシスタントをアクティブ化してもよい。デジタルアシスタントがアクティブ化されると、電子デバイス630は、任意選択的に、視覚的インジケータ610A(例えば、光)、音声によるインジケータ610B(例えば、サウンド、トーン、単語)、又はデジタルアシスタントの音声確認610Cを提供して、デジタルアシスタントがアクティブ化されたこと、又は1つ以上のアクティブ化基準のセットが満たされたことを示す。様々な種類のインジケータが、
図6Bに関して上述されている。
【0185】
図6Fでは、電子デバイス630は、ユーザ620からの「テーブルランプをオンして」というコマンド624Cを含む発語コマンドを検出する。発語コマンドを受信した後、デジタルアシスタントは、1つ以上の実行基準のセット(例えば、実施可能基準、コマンド完了基準、アクティブ化基準)が満たされたかどうかを判定する。上述のように、1つ以上の実行基準が満たされると、デジタルアシスタントは、音声による入力要求の内容に基づいてコマンドを実行する。
図6Fに示すように、電子デバイスは、任意選択的に、ユーザの凝視が1つ以上の凝視基準のセットを満たすかどうかをまた判定して、作用する外部デバイスを特定する。以下、1つ以上の凝視基準のセットが更に詳細に説明される。
【0186】
図6Gは、電子デバイス630が、テーブルランプをオフ状態からオンにさせる際にコマンドが正常に実行されたというインジケータ(例えば、610A,610B,610C)を提供することを示す。コマンドが正常に実行されたことを表示するインジケータは、
図6Eに関して上述されている。
【0187】
図6H~
図6Jは、ユーザ620がコマンド642A~624Bを発語中に凝視を中断したために、1つ以上の実行基準のセットが満たされず、デジタルアシスタントが発語コマンド624A~624Bに関連付けられたコマンドを実行しない場合を示す。1つ以上の実行基準のセットは、ユーザ620が、デジタルアシスタントのアクティブ化と発語コマンド624A~624Bの完了との間に、電子デバイス600に向けた凝視を閾値持続時間を超えて中断しなかったことを、(例えば、(ユーザ620が発語中に)1つ以上のカメラセンサ616A,616Bを使用して電子デバイス600によって取得された)第2の凝視情報が示すことを、電子デバイス600が判定したときに満たされる連続凝視基準を含む。いくつかの実施形態では、閾値持続時間はゼロであり、これは、ユーザが発語中、凝視を中断できないことを意味する。いくつかの実施形態では、閾値持続時間は、ゼロでない期間であり、これにより、ユーザは、コマンドを取り消さずに一時的に目をそらすことが可能になる。
【0188】
図6H~
図6Iでは、ユーザ602は、電子デバイス600がアクティブ化されている間に、「テーブルランプをオンにして」というコマンド624A~624Bを発語し、その間、電子デバイス600に向けた凝視を中断する。
図6Hに示すように、電子デバイス600が「turn...」というコマンド624A~624Bの第1の部分624Aを受信している間、電子デバイス600は、ユーザ620が電子デバイスを見ていると判定する。
図6Iでは、ユーザがコマンド624A~624Bの残り624B「...on the table lamp」の発語を完了する前に、ユーザ620が電子デバイス600から180度ふり向いて目をそらしたとき、電子デバイス600は、ユーザの凝視の中断を検出する。ユーザの凝視がゼロでない閾値持続時間(例えば、3秒)を超えて視野基準が満たされないと電子デバイス600が判定したとき、ユーザの凝視は電子デバイス600から中断される。
【0189】
図6Jは、1つ以上のアクティブ化基準のセットが満たされた場合であっても(例えば、
図6H)、電子デバイス600が「turn on that light」というコマンド624A~624Bの実行を見合わせることを示す。結果として、デジタルアシスタントは、テーブルランプ618にオンにする命令を送信していないので、テーブルランプ618はオフのままである。電子デバイス600は、コマンドが実行されていないことを示すインジケータ(例えば、610A,610B,610C)を任意選択的に生成する。いくつかの実施形態では、インジケータは、上述のような、視覚的インジケータ610A(例えば、有色光又は光パターン)、音声インジケータ610B(例えば、サウンド、発語、又は特定の音声)、又はデジタル音声確認620Cであってもよい。コマンド624A~624Bが実行されないときに、電子デバイス600によって提供されるインジケータ(例えば、610A,610B,610C)は、任意選択的に、コマンド624A~624Bが正常に実行されたときに電子デバイス600によって提供されるインジケータ(例えば、610A,610B,610C)とは異なる。
【0190】
図6K~
図6Nは、電子デバイスがコマンド624D~624Fを受信中(電子デバイス600がアクティブ化されているとき)、ユーザ620が電子デバイス600に向けた凝視を中断したことを電子デバイス600が検出した場合であっても、凝視の中断が閾値持続時間未満である場合には連続凝視基準が依然として満たされることを示す。
図6Kは、電子デバイス600がデジタルアシスタントをアクティブ化しており、コマンド624D~624Fの「turn on the table lamp(テーブルランプをオンにして)」のうちの部分624D「turn...」をユーザ620から受信中であることを示す。
図6Lでは、電子デバイス600は、コマンド624D~624Fのうちの第2の部分624E「...on the...」をユーザ620から継続して受信するが、電子デバイス600は、ユーザが電子デバイス600から目をそらすとき、ユーザの凝視の中断を検出する。
【0191】
図6Mでは、電子デバイス600は、ユーザ620が、閾値持続時間(例えば、3秒)以内に、凝視を電子デバイス600に再び戻したことを検出する。電子デバイスは、コマンド624D~624Fのうち最後の部分624F「...table lamp」を継続して受信する。凝視の中断は閾値持続時間未満であるため、連続凝視基準は、依然として満たされる。
図6Nでは、連続凝視基準が満たされると、デジタルアシスタントは「テーブルランプをオンにして」というコマンド624D~624Fを実行し、テーブルランプ618がオンになった時点で指示(例えば、視覚610A指示,音声610B指示及びデジタルアシスタント確認610C指示)を提供する。
【0192】
図7A~
図7Bは、いくつかの実施形態に係る電子デバイスを使用するための方法700 を示すフロー図である。方法700は、電子デバイス(例えば、100、300、500、600、630、800、1000)において実行される。方法700のいくつかの動作は、任意選択的に組み合わされ、いくつかの動作の順序は、任意選択的に変更され、いくつかの動作は、任意選択的に省略される。
【0193】
以下に説明するように、方法700は、電子デバイスを一瞥することによって、電子デバイス上のデジタルアシスタントをアクティブ化するための直感的な方法を提供する。この方法は、デジタルアシスタントをアクティブ化するために、ユーザ入力(例えば、発語による音声入力又はボタン押下を介したタッチ入力)を提供するときのユーザの認識的負担を軽減する。いくつかの状況では、ユーザは、音声アクティブ化を効果的に使用することができなかったり(例えば、部屋が騒がしい場合)、又は触知ユーザ入力を提供する(例えば、ボタンを押す)ことができなかったりする。したがって、電子デバイスを見ることでデジタルアシスタントをアクティブ化することができることにより、ユーザは、より効率的なユーザ-・デバイス間インタフェースを使用してデジタルアシスタントと対話することができる。
【0194】
電子デバイス(例えば、600)のデジタルアシスタントがアクティブ化されていない間(702)、電子デバイス(例えば、600)は、1つ以上のカメラセンサ(例えば、カメラ616A,616B)を使用して、(例えば、ユーザ620の)第1の凝視情報を取得する(704)。例えば、1つ以上のカメラセンサは、赤外線カメラセンサ(単数又は複数)及び/又は可視光センサ(単数又は複数)である。例えば、1つ以上のカメラセンサは、電子デバイスに無線で接続されていることなどにより、電子デバイス(例えば、600)の外部にある。
【0195】
(例えば、デジタルアシスタントがアクティブ化されていない間に)第1の凝視情報が1つ以上のアクティブ化基準のセット(例えば、凝視の角度が視線に対して閾値度未満である、凝視は特定の方向にある、凝視の持続時間は所定の期間以上である)を満たすとの判定にしたがって(706)、電子デバイス(例えば、600)は、電子デバイス(例えば、600)のデジタルアシスタントを(例えば、マイクロフォンをオンにし、記録された音声の処理を可能にすることによって)アクティブ化する(708)。
【0196】
1つ以上のアクティブ化基準のセットが満たされているときに凝視検出を使用してデジタルアシスタントをアクティブ化することは、特に、ユーザがボタンを押すことができない、又は部屋が騒々しいので音声制御を使用することができないコンテキストにおいて、デジタルアシスタントをアクティブ化するためのより効率的なユーザインタフェースをユーザに提供する。触覚ユーザ入力(例えば、ボタン押下)又は音声入力を必要としない、デジタルアシスタントをアクティブ化するための改善されたユーザインタフェースを提供することにより、デジタルアシスタントの操作性を向上させ、デジタルアシスタントインタフェースのユーザインタフェースをより効率的にする。加えて、視線検出を使用することで、デジタルアシスタントをアクティブ化してコマンドを実行するのに必要なユーザ入力の数が低減され、電子デバイスの操作性が向上する。
【0197】
いくつかの実施形態では、1つ以上のアクティブ化基準のセットは、判定されたオフセット角度(例えば、622)が閾値オフセット角度(例えば、604)(例えば、ゼロでない度値であって、デバイスを直接見るユーザからの最大許容可能な偏差)未満であるときに満たされる視野基準を含み、判定されたオフセット角度(例えば、622)は、ユーザ(例えば、620)の凝視の(例えば、凝視情報から判定された)視線(例えば、612)と、ユーザ(例えば、620)から電子デバイス(例えば、600)への算出された視線(例えば、608)との間に形成された角度である。
【0198】
アクティブ化基準として視野基準を使用することにより、ユーザ(例えば、620)が直接電子デバイス(例えば、600)を見なくても、ユーザの凝視を検出することが可能になる。電子デバイス(例えば、600)がユーザの凝視の視野(例えば、606)内にある限り、ユーザの凝視はアクティブ化基準を満たすので、デジタルアシスタントをアクティブ化することが可能になる。視野基準を使用することで、凝視を介してデジタルアシスタントをより正常にアクティブ化することが可能になり、それにより、デジタルアシスタントの操作性が向上し、凝視検出がより効率的になる(例えば、電子デバイス(例えば、600)がユーザ(例えば、620)の直接的な視線(例えば、612)内になくてもよいので、デジタルアシスタントは、より高いアクティブ化率を有する)。
【0199】
いくつかの実施例では、電子デバイス(例えば、600)が閾値度を超えて(例えば、凝視の視野606の外側に)位置すると判定された場合、電子デバイス(例えば、600)はユーザの凝視内にはなく、デジタルアシスタントはアクティブ化されない。いくつかの実施例では、電子デバイス(例えば、600)が、閾値度の範囲内にあることによって凝視の視野(例えば、606)内にあるとき、デジタルアシスタントはアクティブ化される。
【0200】
いくつかの実施形態では、ユーザ(例えば、620)の凝視の視線(例えば、612)は、ユーザ(例えば、620)の頭部位置に基づくものである。いくつかの実施例では、ユーザの頭部位置は、傾斜又は回転(例えば、ユーザの頭部のヨー、ピッチ、及びロール)によって影響され得る。
【0201】
いくつかの実施形態では、1つ以上のアクティブ化基準のセットは、第1の凝視情報から判定された凝視の静止時間(例えば、持続時間)が閾値時間(例えば、ゼロでない閾値時間)を超えるときに満たされる静止時間基準を含む。いくつかの実施例では、凝視の静止時間が閾値時間未満である場合、デジタルアシスタントはアクティブ化されない。
【0202】
更に、第1の凝視情報が1つ以上のアクティブ化基準のセットを満たすとの判定(706)に従って、電子デバイス(例えば、600)は、1つ以上のアクティブ化基準のセットが満たされていること、及び/又は電子デバイスのデジタルアシスタントが遷移中、若しくは遷移してアクティブ化中であるとの指示を提供する(710)。
【0203】
1つ以上のアクティブ化基準のセットが満たされており、デジタルアシスタントがアクティブ化されているという指示(例えば、610A,610B,610C)を提供することにより、デジタルアシスタントの現在の状態に関するフィードバックがユーザに提供される。指示(例えば、610A,610B,610C)は、様々なコンテキストに関するカスタマイズ可能なフィードバックを提供する、視覚的確認、音声確認、又はデジタルアシスタントの音声確認であり得る。例えば、サウンドインジケータが聞こえないコンテキスト(例えば、騒々しい部屋)では、視覚的フィードバック(例えば、610A)を提供することにより、ユーザ(例えば、620)は、デジタルアシスタントがアクティブ化されて、コマンドが処理できるかどうかを知ることができる。デジタルデバイスの状態のカスタマイズされたフィードバックを提供することにより、デジタルアシスタントの操作性が向上し、例えば、デジタルアシスタントがコマンドを処理するために利用可能である(例えば、アクティブ化されている)ときと、利用不可能である(例えば、非アクティブである)ときを、ユーザ(例えば、620)に知らせることによって、ユーザ-・デバイス間インタフェースをより効率的にする(例えば、デジタルアシスタントがアクティブでない場合、ユーザ(例えば、620)はコマンドを発行しない)。更に、デジタルアシスタントの状態のフィードバックにより、ユーザ(例えば、620)がデジタルアシスタントをより効率的に使用することが可能になる。
【0204】
いくつかの実施形態では、指示(712)は、デジタルアシスタントがアクティブ化されていることを示す視覚的指示(例えば、610A)(電子デバイス600が電子デバイス600のディスプレイ、LED、又は明かりをオンにするなど)である。いくつかの実施形態では、指示(714)は、デジタルアシスタントが現在アクティブ化されていることを示すための、音声による指示(例えば、610B)(電子デバイス600が電子デバイス600のスピーカを介して音を再生するなど)である。
【0205】
いくつかの実施形態では、(例えば、デジタルアシスタントがアクティブ化されていない間の)第1の凝視情報が1つ以上のアクティブ化基準のセットを満たさない(例えば、電子デバイス(例えば、600)がユーザの視野(例えば、606)内にはない、凝視が誤った方向にある、凝視の持続時間は所定期間よりも短い)との判定(716)に従って、電子デバイス(例えば、600)は、デジタルアシスタントのアクティブ化を見合わせる。いくつかの実施形態では、デジタルアシスタントのアクティブ化を見合わせることは、デジタルアシスタントをアクティブ化しないままにすること、又は電子デバイス(例えば、600)がマイクロフォンを有効化しないこと又は記録された音声を処理しないことを含む。いくつかの実施例では、凝視情報の第1のセットが1つ以上のアクティブ化基準のセットを満たさない場合、電子デバイス(例えば、600)はまた、1つ以上のアクティブ化基準のセットが満たされたというインジケータ(例えば、610A,610B,610C)の提供もまた見合わせる。
【0206】
いくつかの実施形態では、電子デバイス(例えば、600)は、コマンド(例えば、624A~624B、624C)を実行する音声によるユーザ入力要求を受信する(718)。電子デバイス(例えば、600)がコマンド(例えば、624A~624B、624C)を実行する音声によるユーザ入力要求を受信する(720)ことに応じて、(又はデジタルアシスタントがコマンド(例えば、624A~624B、624C)を解釈することに従って)、かつ、1つ以上の実行基準のセット(例えば、実施可能基準、コマンド完了基準、アクティブ化基準)が満たされたとの判定に従って、電子デバイス(例えば、600)は、音声によるユーザ入力要求の内容に基づいてコマンド(例えば、624A~624B、624C)を実行する(722)。いくつかの実施例では、音声入力要求を受信したことに応じて、かつ、コマンド(例えば、624A~624B、624C)の解釈ができなかったことに従って、電子デバイス(例えば、600)は、コマンド(例えば、624A~624B、624C)の実行を見合わせ、電子デバイス(例えば、600)は、コマンド(例えば、624A~624B、624C)が解釈されなかったという指示(例えば、610A,610B,610C)(例えば、ヘッドシェイクによる指示などの視覚的指示の表示)を提供する。したがって、電子デバイス(例えば、600)は、デジタルアシスタントが音声入力を理解しない場合、指示(例えば、610A,610B,610C)を提供する。いくつかの実施例では、デジタルアシスタントがアクティブ化されていない場合、デジタルアシスタントは、受信したコマンド(例えば、624A~624B、624C)の実行を見合わせる。
【0207】
いくつかの実施形態では、電子デバイス(例えば、600)がコマンド(例えば、624A~624B、624C)を実行する音声によるユーザ入力要求を受信したことに応じて、かつ、1つ以上の実行基準のセット(例えば、実施可能基準、コマンド完了基準、アクティブ化基準)が満たされないとの判定に従って、電子デバイス(例えば、600)は、ヘッドシェイク(かぶりを振ることによる)指示を提供する。ヘッドシェイク指示は、電子デバイス(例えば、600)が、電子デバイス(例えば、600)のディスプレイ(例えば、602)の第1の側に第1の光パターンを表示することを含む。第1の光パターンを表示したことに続いて、電子デバイス(例えば、600)は、電子デバイス(例えば、600)のディスプレイ(例えば、602)の第2の側に第2の光パターンを表示する。第2の光パターンを表示したことに続いて、電子デバイス(例えば、600)は、電子デバイス(例えば、600)のディスプレイ(例えば、602)の第1の側上に第1の光パターンを表示する。
【0208】
1つ以上の実行基準のセットが満たされないという視覚的指示(例えば、610A)(例えば、ヘッドシェイク指示(例えば、602A~602B))を提供することにより、ユーザによって発行されたコマンドが処理できないというフィードバックをユーザに提供する。コマンド(例えば、624A~624B、624C)が処理されない場合を示す、ヘッドシェイク指示(例えば、602A~602B)など、カスタマイズ可能な指示を提供することにより、デジタルアシスタントの操作性が向上し、コマンド(例えば、624A~624B、624C)が実行されないことをユーザ(例えば、602)に通知することによってユーザ-・デバイス間インタフェースがより効率的になる。更に、エラーコードに対応するカスタマイズされた指示(例えば、610A,610B,610C)は、コマンド(例えば、624A~624B、624C)が実行されなかった理由を伝える、改善されたフィードバックをユーザに提供し、それにより、ユーザ-・デバイス間インタフェースをより効率的にする。
【0209】
いくつかの実施形態では、1つ以上の実行基準のセットは、電子デバイス(例えば、600)が、受信された音声コマンドの終わり(例えば、音声によるユーザ入力要求の終わり、所定の期間を超えた音声の休止)を検出するときに満たされる完了基準を含む。いくつかの実施例では、1つ以上の実行基準のセットは、電子デバイス(例えば、600)が、受信したコマンドが実施可能である(例えば、デジタルアシスタントがコマンドを実行する権限及び/又は能力を有する)と判定する場合に満たされる実施可能基準を含む。
【0210】
いくつかの実施形態では、電子デバイス(例えば、600)は、デジタルアシスタントがアクティブ化されていない間に、音声によるユーザ入力要求の受信を開始する。いくつかの実施例では、デジタルアシスタントは、凝視情報が1つ以上のアクティブ化条件のセットをまだ満たしていないため、非アクティブである。これは、例えば、ユーザ(例えば、620)がデジタルアシスタントを見る前にコマンド(例えば、624A~624B、624C)の発語を開始するときに起こり得る。いくつかの実施例では、第1の凝視情報は1つ以上のアクティブ化基準のセットを満たし、それに応じて、デジタルアシスタントは、コマンドを実行するための音声によるユーザ入力要求の受信を電子デバイス(例えば、600)が終了する前にアクティブ化される。
【0211】
デジタルアシスタントがアクティブ化される前に音声によるユーザ入力要求を受信することができることにより、ユーザ(例えば、602)がデジタルアシスタントをまだアクティブ化していない場合であっても、ユーザ(例えば、602)は、発語を開始することが可能になる。アクティブ化条件のセットがまだ満たされていないときに音声によるユーザ入力要求を検出することにより、デジタルアシスタントの操作性が向上し、アクティブ化及びコマンド(例えば、624A~624B、624C)の発語が順序通りに実行される必要がないので、デバイス・ユーザ間インタフェースがより効率的になる。
【0212】
いくつかの実施形態では、電子デバイス(例えば、600)がコマンド(例えば、124C)を実行するために音声によるユーザ入力要求を受信したことに応じて、かつ、1つ以上の実行基準のセットが満たされないとの判定に従って(例えば、コマンド(例えば、624A~624B、624C)を実行するために電子デバイス(例えば、600)に対して満たされるべき様々な基準)、電子デバイス(例えば、600)は、音声によるユーザ入力要求の内容に基づくコマンド(例えば、624A~624B、624C)の実行を見合わせ(724)、その1つ以上の実行基準のセットは、(例えば、1つ以上のカメラセンサを使用して電子デバイスによって取得される)第2の凝視情報が、ユーザ(例えば、602)が、デジタルアシスタントのアクティブ化と音声によるユーザ入力要求の完了との間の閾値持続時間(例えば、ゼロでない持続時間)を超えて、電子デバイス(例えば、600)に向けた凝視を中断しないことを示すと、電子デバイス(例えば、600)が判定した場合に満たされる連続凝視基準を含む。いくつかの実施例では、デジタルアシスタントは、ユーザ(例えば、602)がデバイス凝視を中断する(例えば、ユーザ(例えば、602)が、コマンドの完了前に目をそらした、ユーザ(例えば、602)が一度に1秒以上目をそらした)という理由で、コマンド(例えば、624A~624B、624C)を実行しない。いくつかの実施例では、閾値持続時間は0秒である。いくつかの実施例では、閾値持続時間はゼロでない持続時間(例えば、0.5秒)である。
【0213】
いくつかの実施形態では、電子デバイス(例えば、600)は、音声出力を生成し(例えば、電子デバイス(例えば、600)が楽曲を再生しており)、音声出力は、音声によるユーザ入力要求を受信する前には第1の音量で生成される。音声によるユーザ入力要求の受信を開始したことに応じて、電子デバイス(例えば、600)は、音声出力の音量を第1の音量よりも小さい第2の音量に低減し、第2の音量は、ユーザ(例えば、音声によるユーザ入力要求を提供するユーザ)と電子デバイス(例えば、600)との間の距離に基づく。いくつかの実施例では、電子デバイス(例えば、600)は、外部センサ(例えば、616A)又は電子デバイス(例えば、600)上のセンサ(例えば、616B)を使用して、ユーザ(例えば、602)と電子デバイス(例えば、600)との間の距離を判定し、ユーザ(例えば、602)が話している間、音楽の音量をミュート又は低減する(例えば、音声出力を可変的に頭を引っ込めるように下げる)かどうかを判定する。いくつかの実施例では、電子デバイスは、コマンド(例えば、624C)の終わりを検出した後に、音量を第1の音量まで戻してもよい。いくつかの実施例では、音量変更は、要求の内容に基づくものではない。
【0214】
電子デバイスが音声によるユーザ入力要求を受信するときに、音声出力音量を低減するか、又は音声出力をミュートにすることにより、音声によるユーザ入力要求をより容易に処理することが可能となり、その結果、環境ノイズが低減されるため、音声によるユーザ入力要求から導出されたコマンド(例えば、624C)が、電子デバイスによって理解される可能性が高くなる。デジタルアシスタントによって処理されるコマンド(例えば、624C)と干渉し得る可能性のある環境ノイズ又はサウンドを除去することにより、デジタルアシスタントの操作性が向上し、正しいコマンドを実行する精度を高めることによって、ユーザ-・デバイス間インタフェースがより効率的となり、それにより、デジタルアシスタントがコマンド(例えば、624C)を処理できないときに、ユーザ(例えば、602)が再びコマンドを繰り返す必要がないため、ユーザエクスペリエンスが改善する。
【0215】
方法700に関して上述したプロセス(例えば、
図7A~
図7B)の詳細はまた、以下で説明する方法にも、類似の方式で適用可能であることに留意されたい。例えば、方法700は、
図9A、
図9B、
図11A、及び
図11Bのプロセスを参照して以下に記載する様々な方法の特性のうちの1つ以上を含んでもよい。簡潔にするために、これらの詳細は、以下で繰り返さない。
【0216】
以下の
図9A~
図9B及び
図11A~
図11Bにおいて動作が記載されている特定の順序は、例示的なものであり、記載された順序が動作を実行し得る唯一の順序であることを示す意図はないことを理解されたい。当業者であれば、特定の動作の除外と並び、本明細書で説明される動作の順序を並べ替える様々な方法を認識するであろう。簡潔にするために、それらの詳細はここでは繰り返さない。更に、この説明全体において説明されている方法及び処理の態様は、互いに統合されてもよいことに留意されたい。
【0217】
図8A~
図8Lは、いくつかの実施形態に係る、電子デバイスが、凝視情報を使用して、デジタルアシスタントがアクティブ化された後にコマンドを実行するためのコンテキスト(例えば、コマンドが向けられた機器)を判定するための例示的なユーザインタフェースを示す。
図8A~
図8Lに示される技法は、任意選択的に、
図6A~
図6Oに示される技法と連携して機能するか、又はそれらを含み、それらは、ユーザが、電子デバイスを見てコマンドを発行することによって、デジタルアシスタントをアクティブ化し得る様子を開示している。したがって、以下に記載される技法は、
図6A~
図6O及び方法700を参照して上述した様々な技法の特性のうちの1つ以上を含む。これらの図中のユーザインタフェースは、
図9A、
図9Bでのプロセスを含めた、以下で説明されるプロセスを例示するために使用される。
【0218】
図8A~
図8Cは、電子デバイス800が、電子デバイス800のデジタルアシスタントがアクティブ化されるときに第1のコマンド824A~824Bを実行するためにユーザ820から音声によるユーザ入力要求を受信することを示す。デジタルアシスタントは、トリガ語、(例えば、
図6A~
図6Oに関して上述したような)凝視、ボタン押下、ユーザがウェアラブル電子デバイス(例えば、腕時計)を着用中の手首の持ち上げ(
図6E~
図6G)、及び/又は電子デバイス800においてポイントされた外部デバイス(例えば、電話)の検出に基づいてアクティブ化される。電子デバイス(例えば、800)は、デジタルアシスタントがアクティブ化されていることを示すために、視覚的指示又は音声による指示810A~810Bを任意選択的に提供する。
【0219】
図8Aでは、ユーザ820が、テーブルランプ818及びフロアランプ814のある部屋で立っている。電子デバイス800のデジタルアシスタントは、1つ以上のアクティブ化基準のセットが、電子デバイス800によって、方法700に関して上述のように満たされていると判定された(例えば、デバイス800は、ユーザ820がデバイス800を見ていると判定した)ことに基づいて、アクティブ化されている。デジタルアシスタントがアクティブ化されると、電子デバイスは、ユーザ820が、フルコマンド824A~824Bのうちの部分824A「turn...」を発語するのを検出する。いくつかの実施形態では、完全なコマンド824A~824Bが、部屋に存在し得る複数の外部デバイス(例えば、テーブルランプ818,フロアランプ814)に適用可能である。いくつかの実施形態では、ユーザのコマンド824A~824Bは、コマンド824A~824Bがどの外部デバイス(例えば、テーブルランプ818,フロアランプ814)に向けられているかをデジタルアシスタントが判定するのに十分な詳細を含まない。したがって、電子デバイス800は、コマンド824A~824Bのみに基づいて、「その光」がテーブルランプ818を指すか、又はフロアラップ814を指すかを判定することができない。
【0220】
図8Bにおいて、ユーザ820は、どの外部デバイス(例えば、明かり)を作用させたいかを、テーブルランプ818を見ることによって示しつつ、コマンド824A~824B「turn on that light(その明かりをオンにして)」のうち残りの部分824B「...on that light(その明かりを)」を言い終える。電子デバイスは、ユーザ820が発語中、ユーザの凝視に基づいた凝視情報を受信し、それを使用して、ユーザの凝視が1つ以上の凝視基準のセットを満たすとき、テーブルランプ818が対象とされたデバイスであると判定する。電子デバイス800は、外部デバイス816A上に配置され得る、及び/又はカメラ816Bで電子デバイス800に一体化され得る1つ以上のカメラセンサを介してユーザの凝視に関する情報を取得する。カメラ816Aは、電子デバイス600に無線接続されるが、代替的に有線であってもよい。1つ以上のカメラセンサは、赤外線カメラセンサ及び/又は可視光センサを含み、凝視が検出されるとすぐに凝視情報を測定する。凝視情報は、任意選択的に、ユーザの頭部位置、凝視の静止時間又は持続時間、凝視の方向、凝視の視野806、凝視の方向、及び対象物(例えば、電子デバイス800又は外部デバイス(例えば、ランプ814,818)が凝視の視野806内にあるかどうか(例えば、外部デバイスは、ユーザの視線812から閾値オフセット角度804内にある)、のうち1つ以上を含む。
【0221】
いくつかの実施形態では、電子デバイス800は、方向基準、静止時間基準、及び/又は視野基準が満たされたときに、1つ以上の凝視基準のセットが満たされたと判定する。1つ以上の凝視基準のセットは、任意選択的に、凝視がテーブルランプ818の方向に向けられたときに満たされる方向基準を含む。
【0222】
1つ以上の凝視基準のセットは、電子デバイス800が、ゼロではない所定の期間(例えば、2秒、閾値時間)を超えて、テーブルランプ818の方向への凝視の静止時間又は持続時間を検出するときに満たされる静止時間基準を含む。いくつかの実施例では、電子デバイス800は、静止時間を利用して、(例えば、命令を送信するために)どの外部オブジェクトに作用するかを判定するために、ユーザ820がテーブルランプ818を見ているかどうかを判定する。凝視の静止時間又は持続時間が閾値時間よりもあまりに短い又は閾値時間未満である場合、このことは、ユーザが、特定の外部デバイス(例えば、テーブルランプ818)がコマンド824A~824Bの対象のデバイスであると意図していないことを示す。いくつかの実施形態では、閾値時間未満の静止時間は、凝視基準を満たさず、結果として、コマンド824A~824Bが電子デバイス800によって特定された特定の外部デバイスに送信されない。いくつかの実施形態では、閾値時間よりも短い静止時間は、電子デバイス800がいずれの外部デバイスも特定しないとの結果をもたらす。
【0223】
1つ以上の凝視基準のセットは任意選択的に、視野基準を含む。テーブルランプ818などの外部デバイスがユーザ820の視野806内にあると判定されたときに、特定の外部デバイスについて視界基準が満たされる。テーブルランプ818がユーザの視線812から閾値オフセット角度804内にあるときに、テーブルランプ818は、ユーザ820の視野806内にあると判定される。視野を使用して、ユーザが対象の外部デバイス(例えば、テーブルランプ818,フロアランプ814)を見ているかどうかを判定することにより、ユーザが対象のデバイスを直接見ていない場合であっても、凝視が視野内で検出され得るため、凝視検出率が高くなる。いくつかの実施形態では、テーブルランプ818が直接ユーザ820の視線812内にあるときに、テーブルランプ818に対して視野基準が満たされる。いくつかの実施形態では、凝視の判定されたオフセット角度が、外部デバイスに対する閾値オフセット角度804(例えば、テーブルランプ818を直接見ているユーザ820の視線812からの最大許容可能偏差)未満であるときに、特定の外部デバイスに対して視野基準が満たされる。閾値オフセット角度804はゼロ度よりも大きい(例えば、30度)。判定されたオフセット角度は、ユーザ820の凝視からの視線812とユーザ820から電子デバイス800への算出された視線との間に形成された角度に基づいて算出される。
図8Bの例では、ユーザー820はテーブルランプ818を直接見ている。いくつかの実施例では、テーブルランプ818が、ユーザの直接の視線から閾値度の範囲内にあることによって凝視の視野内にあるとき、視野基準は、テーブルランプ818に対して満たされ、電子デバイス800は任意選択的に、テーブルランプ818に命令を送信する。オフセット角度が閾値オフセット角度804よりも大きいとき、視野基準は満たされず、結果として、デジタルアシスタントは、ユーザ820の視野806の外側にあるテーブルランプ818に命令を送信しない。いくつかの実施形態では、テーブルランプ818がユーザ820の視野808の外側に閾値度を超えて位置していると判定された場合、テーブルランプ818は、ユーザの凝視内にないと判定され、電子デバイス800はテーブルランプ818に命令を送信しない。いくつかの実施形態では、視線812は、ユーザの頭部位置に基づいて測定される。いくつかの実施形態では、ユーザの頭部位置は、ユーザの頭部の傾斜又は回転(例えば、ヨー、ピッチ、及び/又はロール)に基づくものである。これらの技術の態様は、
図6B~
図6Cに関して上記に更に詳細に例示及び説明される。
【0224】
電子デバイス800は、1つ以上の凝視基準のセットがテーブルランプ818に対して満たされるときに、指示(例えば、インジケータ810A,810B、810C)を任意選択的に提供する。指示は、任意選択的に、受信した音声によるユーザ入力要求からのコマンド824A~824Bがテーブルランプ818に関連付けられているか、又はテーブルランプ818に向けられていることを示す。指示は、デジタルアシスタントがユーザの凝視に基づいてテーブルランプ818を特定したことを示す視覚810Aインジケータ又は音声810Bインジケータであってもよい。いくつかの実施形態では、インジケータは、デジタルアシスタントがユーザの凝視に基づいてテーブルランプ818を特定したことを示すための、特定の色の光(例えば、青色又は、テーブルランプ818が特定されたときのデフォルト色以外の色)、又は光パターンを表示する視覚的インジケータ810Aである。いくつかの実施形態では、インジケータは、デジタルアシスタントがテーブルランプ818を特定したときに、サウンド、単語、音、トーンを再生する、又は特定の音声(例えば、アクセント、男性、又は女性の声)で発語する音声インジケータ810Bである。いくつかの実施形態では、デジタルアシスタントは、電子デバイス800が作用すべき(例えば、オンにすべき)外部デバイスを特定したことを示す音声確認(「テーブルランプをオンにします」)を提供する。
【0225】
図8Cでは、電子デバイスが、1つ以上の凝視基準のセットがテーブルランプ818に対して満たされたと判定すると、デジタルアシスタントは、コマンドに作用する命令を送信する。例えば、電子デバイスは、コマンドが「オンにする」機能を実行することであると判定し、その機能が特定のデバイス(テーブルランプ818)に向けられるべきであると判定する。したがって、電子デバイスは、命令を(例えば、テーブルランプ818に、又はテーブルランプ818を制御する別のデバイスに)送信して、テーブルライトをオフ状態からオン状態にする。いくつかの実施形態では、デジタルアシスタントは、外部デバイスが第1の状態から第2の状態へ遷移した結果としてタスクを変更させる命令を送信する。例えば、デジタルアシスタントは、外部デバイス(例えば、コンピュータ又は電話)に、外部デバイスが楽曲を変更するとき、第1の状態から第2の状態に遷移させ、1つのタスクの実行から別のタスクの実行に(例えば、音楽再生から天気の提供に)遷移し、又は非アクティブ状態からアクティブ状態に、また、その逆に遷移する命令を送信してもよい。
【0226】
図8Cに示すように、部屋内に(又は電子デバイス800によってアクセス可能な)複数の外部デバイス(例えば、テーブルランプ818,フロアランプ814)が存在する場合、電子デバイス800は、複数の外部デバイスを区別することができ、意図された外部デバイス(例えば、テーブルランプ818,フロアランプ814)にだけ命令を送信することができる。電子デバイス800は、特定の外部デバイス(例えば、テーブルランプ818,フロアランプ814)に対して1つ以上の凝視基準のセットが満たされているかどうかを判定することによって、意図された外部デバイス(例えば、テーブルランプ818,フロアランプ814)を特定する。換言すれば、電子デバイス800は、1つ以上の凝視基準のセットが満たされたときに、凝視情報を使用して、ユーザがどの外部デバイス(例えば、テーブルランプ818,フロアランプ814)を見ているかを判定する。いくつかの実施形態では、電子デバイス800が、特定された第1の外部デバイス(テーブルランプ818)に命令(例えば、「オンにする」)を送信するとき、部屋内の第2の外部デバイス(フロアランプ814)は、凝視情報によって特定された外部デバイスではないため、フロアランプ814は影響を受けない。フロアランプ814(第2の外部デバイス)は、オン状態であってもよいし、オフ状態であってもよい。例えば、
図8Cにおいて、命令がテーブルランプ818に送信されてテーブルランプ818をオンにするが、命令はフロアランプ814に送信されず、それは、オフのままである(フロアランプ814は以前にオフ状態にあった)。したがって、送信された命令は、フロアランプ814の状態を変化させない。いくつかの実施形態では、ユーザ820がテーブルランプ818ではなく、フロアランプ814を一瞥すると、1つ以上の凝視基準のセットは、テーブルランプ818ではなく、フロアランプ814によって満たされる。したがって、デジタルアシスタントは、テーブルランプ818が影響を受けないままである間に、フロアランプ814に命令を送信する(例えば、テーブルランプ818は、以前にオンであった場合にはオンのままであり、以前にオフの場合はオフのままである)。
【0227】
デジタルアシスタントが、対応する外部デバイスに命令を送信したとき、電子デバイス800は、テーブルランプ818が第1の状態から第2の状態に遷移したことを示すインジケータ(例えば、インジケータ810A,810B,810C)を任意選択的に提供する。いくつかの実施形態では、インジケータは、命令を受信した結果、テーブルランプ818がオフ状態からオンにされたことを示すために、特定の色(例えば、青色又はデフォルト色以外の色)の光又は光パターンの光を表示する視覚的インジケータ810Aである。いくつかの実施形態では、インジケータは、サウンド、1つ以上の単語、又はトーンである音声インジケータ810Bである。いくつかの実施形態では、インジケータは、「Ok,ジャック、テーブルランプはオンです」などのデジタルアシスタントからの音声確認810Cである。ユーザは、ユーザ820は登録中に提供した、ユーザのプロファイルに関連付けられた特性(例えば、ユーザ名、光の色、パターン、サウンド、音声、アクセントに対する特定のユーザの好み)を含むようにインジケータをカスタマイズすることができる。登録プロセスは、
図10A~
図10D及び方法1100に関連して以下で詳細に説明される。デジタルアシスタントは、
図10A~
図10D及び方法1100に関して後述されるように、どのユーザ(例えば、ジャック)が認識されたかを反映するようにインジケータをカスタマイズする。いくつかの実施形態では、テーブルランプ818が実際にオンにされているかどうかにかかわらず、デジタルアシスタントがテーブルランプ818に正常に命令を送信したときに、電子デバイス800は、インジケータ(例えば、810A,810B,810C)を提供する。いくつかの実施形態では、電子デバイス800は、テーブルランプ818がオンにされたという判定に応じて、インジケータ(例えば、810A,810B,810C)を提供する。任意選択的に、テーブルランプ818が「turn on(オンにする)」コマンドを実行できず、オフのままであるとき、電子デバイス800は、異なるインジケータ(例えば、810A,810B,810C)を提供する。いくつかの実施形態では、コマンド824A~824Bが実行に失敗したときに、特定のエラーコードを示すために、電子デバイス800は異なるインジケータ(例えば、810A,810B,810C)を提供してもよい。
【0228】
インジケータ(例えば、810A,810B,810C)は、任意選択的にドメイン(例えば、音楽)固有である。いくつかの実施形態では、電子デバイス800は、コマンドが特定のドメイン内のアクションを指す(例えば、音楽ドメイン内の「Love that song(その歌が大好き)」コマンド)と判定する。コマンドが第1のドメイン(例えば、音楽)であるとの判定に従って、指示は、第1のタイプの指示(例えば、特定のサウンド又は光インジケータのセット)である。コマンドが第1のドメインとは異なる第2のドメイン(例えば、電子メール)であるとの判定に従って、指示は、第1のタイプの指示とは異なる第2のタイプの指示(例えば、異なるセットの音又は光インジケータ)である。異なるドメインについて異なるインジケータ(例えば、810A,810B,810C)を有することにより、コマンドが正常に実行されたときと、コマンドが実行できなかったときをユーザが容易に認識することができる。
【0229】
図8Dは、デジタルアシスタントが、テーブルランプ818をオンにする命令を送信したとき、ユーザ820は、第2の外部デバイスに入力を提供することによって(例えば、ユーザ820が着用している腕時計830の竜頭832を回転させることによって)、外部デバイスの設定(例えば、ランプの輝度)を更に変更することができることを示す。腕時計830は、どれが制御すべき外部デバイスかについてのコンテキスト情報へアクセスしない。代わりに、ユーザは、単に、ランプを制御するための拡張入力機構として腕時計830の竜頭832を使用するだけである。腕時計830は、ユーザ入力を検出し、ユーザ入力の指示を電子デバイス800に送信する。電子デバイス800は、ユーザ入力の指示を受信し、テーブルランプ818が、命令を受信すべき意図された外部デバイス(例えば、テーブルランプ818,フロアランプ814)であると判定する。
図8Dでは、ユーザ820が竜頭842を回転させて、テーブルランプ818の輝度を輝度80に増大させる。いくつかの実施例では、電子デバイス800は、電子デバイス800がユーザ820のアクションに基づいて、テーブルランプ818に命令を送信したという最新性に基づいて、テーブルランプ818が意図された外部デバイスであると判定する。いくつかの実施形態では、電子デバイス800は、電子デバイス800が命じた直近のデバイス(例えば、テーブルランプ818)に(腕時計830でのユーザ入力に基づいて)命令を送信する。例えば、電子デバイス800がちょうど音楽を再生するようにコンピュータを命じた場合、ユーザが腕時計840上の竜頭842を回転させることにより、電子デバイス800は、命令をコンピュータに送信して、コンピュータの音量を増加させる(又は減少させる)ことになる。いくつかの実施形態では、電子デバイス800は、テーブルランプ818とペアリングされる。いくつかの実施形態では、電子デバイス800は、腕時計840が電子デバイス800とペアリングされている間にユーザ820が腕時計840を着用していることを検出する。いくつかの実施形態では、腕時計840は、(同様に)テーブルランプ818とペアリングされる。電子デバイス800がテーブルランプ818に命令を送信すると、電子デバイス800は、命令が正常に送信されたことを示すインジケータ(例えば、810A,810B,810C)を提供する。いくつかの実施形態では、電子デバイス800は、命令がテーブルランプ818に正常に送られなかったことを示す異なるインジケータ(例えば、810A,810B,810C)を提供する。
【0230】
図8Eは、ユーザ820による竜頭832の回転量に対応する低輝度になるまでテーブルランプ818の光を暗くするために、電子デバイス800が腕時計830からのユーザ入力の追加の指示を受信することを示す。腕時計830からの入力の指示を受信したことに応じて、電子デバイス800は、テーブルランプ818をオンにするように命じたとの最新性に基づいて、輝度80から低減した輝度20まで光を暗くする命令をテーブルランプ818に送信する。いくつかの実施形態では、ユーザ820は、デジタルアシスタントに追加のコマンドを提供する必要なく、腕時計830を使用して、テーブルランプ818がオンになった時点でテーブルランプ818を直接制御する。電子デバイス800がテーブルランプ818に命令を送信すると、電子デバイス800は、命令が正常に送信されたことを示すインジケータ(例えば、810A,810B,810C)を提供する。いくつかの実施形態では、電子デバイス800は、命令がテーブルランプ818に正常に送信されなかったことを示す異なるインジケータ(例えば、810A,810B,810C)を提供する。
【0231】
いくつかの実施形態では、
図8F~
図8Hに示すように、部屋の中に複数の外部デバイス(例えば、フロアランプ814,テーブルランプ818)が存在する場合、電子デバイス800は、ユーザの凝視情報を使用して、ユーザの凝視に基づいて、特定の外部デバイスを意図された外部デバイスであると特定する。電子デバイス800は、凝視情報に基づいて、1つ以上の凝視基準のセットが特定の外部デバイスに対して満たされているかどうかを判定することによって、意図された外部デバイスを特定する。1つ以上の凝視基準のセットが任意の外部デバイスに対して満たされない場合、電子デバイス800が凝視情報から外部デバイスを判定できないため、電子デバイス800は命令の送信を見合わせる。結果として、部屋の中の外部デバイスは元の状態のままである。
【0232】
図8Fは、電子デバイス800がユーザ820の凝視情報を検出し、(例えば、
図6A~
図6Dに関して上述したように)1つ以上のアクティブ化基準のセットが満たされているとの判定に従って、電子デバイスは、デジタルアシスタントをアクティブ化することを示す。電子デバイスは、任意選択的に、デジタルアシスタントがアクティブ化されていることを示すために、視覚的インジケータ810A(例えば、ディスプレイ802をオンにする)、音声インジケータ810B、又はデジタル音声確認810Cを提供してもよい。
【0233】
図8Gは、最初にオンであるテーブルランプ818と、最初にオフであるフロアランプ814を示す。電子デバイス800は、ユーザ820が「その明かりをオンにして」という第2のコマンド824Cを発語することを検出する。しかし、ユーザ820は、コマンド826C の意図された外部デバイスであるフロアランプ814を見ていない。電子デバイス800は、外部デバイス上に位置し得る、かつ/又はカメラ816Bで電子デバイス800に一体化され得る1つ以上のカメラセンサ816Aを介して第2の凝視情報を取得する。第2の凝視情報は、任意選択的に、ユーザの頭部位置、凝視の静止時間又は持続時間、凝視の方向、凝視の視野806、凝視の方向、及びフロアランプ814が凝視の視野806内にあるかどうか、のうちの1つ又は2つ以上を含む。
【0234】
図8Hでは、電子デバイス800は、1つ以上のカメラセンサ816から取得された第2の凝視情報が1つ以上の凝視基準のセットを満たさないと判定する。上述のように、1つ又は2つ以上の凝視基準のセットは、任意選択的に、凝視がフロアランプ814の方向に向けられたときにフロアランプ814に対して満たされる方向基準を含む。1つ以上の凝視基準のセットは、任意選択的に、電子デバイス800が、所定の期間(例えば、ゼロでない閾値、2秒)を超えた、フロアランプ814の方向への凝視の静止時間又は持続時間を検出するときに、フロアランプ814に対して満たされる静止時間基準を含む。1つ以上の凝視基準のセットは任意選択的に、視野基準を含む。フロアランプ814がユーザ820の視野808内にあると判定されたときに、フロアランプ814に対して視野基準が満たされる。
図8G~
図8Hは、判定されたオフセット角度がユーザ820の視線812からの閾値オフセット角度よりも大きいため、フロアランプ814とテーブルランプ818がユーザ820の視野808内にあると判定されないことを示す。閾値オフセット角度804はゼロ度よりも大きい(例えば、30度)。持続時間基準、静止時間基準及び/又は視野基準のうちの1つ以上が任意の外部デバイスに対して満たされないため、1つ以上の凝視基準のセットが満たされない場合、電子デバイス800は、ユーザ820がどの外部デバイス(フロアランプ814,テーブルランプ818)に作用する(例えば、オンにする)ことを意図するかを判定することができない。
【0235】
図8Hは、1つ以上の凝視基準のセットが任意の外部デバイスに対して満たされなかったため、電子デバイス800は、外部デバイス、フロアランプ814又はテーブルランプ818を第1の状態(例えば、オフ)から第2の状態(例えば、オン)に遷移させるための「その明かりをオンにする」命令の送信を見合わせることを示す。結果として、フロアランプ814はオフのままであり、テーブルランプ818はオフのままであり、それらは、電子デバイス800が、ユーザ820がコマンド824Cを発語するのを検出する前の外部デバイスの初期状態であった。例えば、テーブルランプ818は、その初期のオン状態を変更するためにテーブルランプ818にいかなる命令も送信されていないため、そのオン状態のままである。
【0236】
電子デバイス800は、ユーザ820の凝視情報に基づいて、フロアランプ814(又は任意の他のデバイス)を意図された外部デバイスとして特定できなかったために、電子デバイス800が命令を送信しなかったことを示す、特定のインジケータ(例えば、810A,810B,810C)(例えば、ヘッドシェイク指示(例えば、
図6O又はサウンド)などの一連の光)を任意選択的に生成する。いくつかの実施形態では、特定のインジケータ(例えば、光、色、又は特定のサウンドのパターン)は、デジタルアシスタントがコマンド824Cに関連付けられた外部デバイスを判定できなかった理由についての特定のエラーコードに対応してもよい。デジタルアシスタントが命令を送信できないときに生成されるインジケータは、デジタルアシスタントが命令を送信できるときに生成されるインジケータとは任意選択的に異なる。いくつかの実施形態では、デジタルアシスタントがコマンド824Cに関連付けられた命令を送信しない場合、いかなるインジケータも生成されない。
【0237】
図8Iは、部屋の中に複数の外部デバイス(例えば、フロアランプ814及びテーブルランプ818)が存在し、電子デバイス800とペアリングされている別の実施形態を示す。この実施例では、デジタルアシスタントは、ユーザ820が一瞥することによってアクティブ化されている。他の実施例では、デジタルアシスタントは、上述のように、単語、一瞥すること、又はボタン押下によってアクティブ化される。
図8Iに示すように、
図8J-
図8Lでのユーザがコマンド824A~824Bを発語する前に、テーブルランプ818は既にオン状態にあり、フロアランプ814はオフ状態にある。
【0238】
図8Jでは、電子デバイス800は、ユーザ820がフロアランプ814を見ていることを検出している間に、ユーザ820が第2のコマンド824A~824B「turn on that light(その明かりをオンして)」の部分824A「Turn...」を発語するのを検出する。
図8Jでは、電子デバイス800は、外部デバイス上に配置され得る、及び/又はカメラ816Bにおいて電子デバイス800に一体化され得る1つ以上のカメラセンサ816Aを介して、フロアランプ814をユーザが一瞥することに基づいて第2の凝視情報を取得する。第2の凝視情報は、任意選択的に、ユーザの頭部位置、凝視の静止時間又は持続時間、凝視の方向、凝視の視野、凝視の方向、及びフロアランプ814がオフセット角度に基づいて凝視の視野内にあるかどうか、のうちの1つ以上を含む。
【0239】
電子デバイス800は、1つ以上のカメラセンサ816A~816Bから取得された第2の凝視情報が1つ以上の凝視基準のセットを満たすかどうかを判定する。1つ以上の凝視基準のセットがフロアランプ814に対して満たされると、電子デバイス800は、ユーザ820が第2のコマンド824A~824Bをフロアランプ814に適用することを意図したと判定することができる。上述のように、1つ以上の凝視基準のセットは、任意選択的に、凝視がフロアランプ814の方向に向けられたときにフロアランプ814に対して満たされる方向基準を含む。1つ以上の凝視基準のセットは、電子デバイス800が、ゼロでない所定の時間(例えば、2秒)を超えたフロアランプ814の方向における凝視の静止時間又は持続時間を検出するときに満たされる静止時間基準を任意選択的に含む。1つ以上の凝視基準のセットは、任意選択的に、視野基準を含む。外部デバイス、フロアランプ814がユーザ820の視野808内にあると判定されたときに、視野基準が満たされる。フロアランプ814がユーザの視線812から閾値オフセット角度804内にあるとき、フロアランプ814がユーザ820の視野808内にあると判定される。いくつかの実施形態では、
図8Jに示すように、フロアランプ814がユーザ820の視線812内に直接あるときに、視野基準が満たされる。いくつかの実施形態では、凝視の判定されたオフセット角度が閾値オフセット角度(例えば、フロアランプ814を直接見ているユーザ820の視線812からの最大許容可能な偏差)未満であるときに、視野基準が満たされる。閾値オフセット角度804は、任意選択的に0度より大きい(例えば、30度)。判定されたオフセット角度は、ユーザ820の凝視からの視線812と、ユーザ820から電子デバイス800への算出された視線808との間に形成された角度に基づいて算出される。いくつかの実施例では、フロアランプ814がユーザの直接的な視線812から閾値度の範囲内にあることにより、凝視の視野内にあるとき、視野基準はフロアランプ814に対して満たされる。
【0240】
いくつかの実施形態では、
図8Kに示すように、ユーザ820は、第2のコマンド824A~824Bの残りの部分824Bを発語しながら、フロアランプ814への凝視を中断する。
図8Kは、電子デバイス800が、ユーザ820がフロアランプ814から目をそらすことによって、第2のコマンド824A~824Bの第2の部分824Bを発語しながら、フロアランプ814での視線を遮断することを検出することを示す。いくつかの実施形態では、電子デバイス800が、ユーザ820が目をそらす前に、フロアランプ814が意図された外部デバイスであることを既に判定しているとき、ユーザ820が第2のコマンド824A~824Bを完了する前に自分の凝視を中断したとしても、1つ以上の凝視基準のセットは、依然として満たされる。いくつかの実施形態では、電子デバイス800が、コマンド824A~824Bを完了する前に、ユーザ820が自分の凝視を閾値持続時間以内にフロアランプ814に戻したことを検出した場合(例えば、
図6E~
図6G)、電子デバイス800は、依然として、フロアランプ814を外部デバイスとして特定する。
【0241】
1つ以上の凝視基準のセットが満たされると、電子デバイスは、フロアランプ814に命令を送信し、それにより、
図8Lに示すように、フロアランプ814をオフ状態からオン状態に遷移させる。テーブルランプ818は、1つ以上の凝視基準のセットを満たさないので、テーブルランプ818は、前のオン状態のままであり、したがって、電子デバイスは、テーブルランプ818の状態を変更するための命令を送信しない。いくつかの実施形態では、電子デバイス800によって受信されたコマンド824Cがフロアランプ814に向けられ、「turn off that light(その明かりをオフにして)」が含まれると判定した場合、1つ以上の凝視基準のセットがフロアランプ814に対して満たされたときに、電子デバイス800は、フロアランプ814をオフにする命令を送信し、一方で、既にオン状態にあったテーブルランプ818は、オン状態のままとなる。
【0242】
図8Lは、電子デバイス800がフロアランプ814に命令を送信したとき、電子デバイス800は、フロアランプ814がオフ状態からオン状態に遷移したことを示すインジケータ(例えば、インジケータ810A,810B,810C)を任意選択的に提供することを示す。いくつかの実施形態では、インジケータは、命令を受信した結果、テーブルランプ818がオフ状態からオンにされたことを示すために、特定の色(例えば、青色又はデフォルト色以外の色)の光又は光パターンを表示する視覚的インジケータ810Aである。いくつかの実施形態では、インジケータは、サウンド、1つ以上の単語、又はトーンを再生する音声インジケータ810Bである。いくつかの実施形態では、デジタルアシスタントは確認810Cを発語する。いくつかの実施形態では、ユーザ820は、ユーザのユーザプロファイルに関連付けられた特性(例えば、ユーザ名、光の色、パターン、サウンド、音声、アクセントに対する特定のユーザの好み)を含むように、音声インジケータ及び視覚的インジケータをカスタマイズすることができる。
図8Kでは、デジタルアシスタントは、「ジャック、フロアランプがオンされました」という音声インジケータを提供する。音声インジケータは、命令が実行されたという確認を提供する。音声インジケータはまた、ユーザ820が登録中に提供した、ユーザ820のユーザプロファイルから取得されたユーザ820の名前も含む。登録プロセスは、
図10A~
図10Dに関して以下で詳細に説明される。デジタルアシスタントは、ユーザ820のプロファイルから設定を利用して、どのユーザ(例えば、ジャック)がコマンドを発語したかを反映するようにインジケータを更にカスタマイズすることができる。いくつかの実施形態では、電子デバイス800は、フロアランプ814が実際にオンになっているかどうかにかかわらず、電子デバイスが、フロアランプ814に「オンにする」命令を正常に送信したときに、インジケータを提供する。任意選択的に、電子デバイス800は、フロアランプ814が「オンにする」コマンドを実行できず、オフのままであるときに、異なるインジケータを提供する。いくつかの実施形態では、コマンド824Cが失敗して実行されたときのインジケータは、異なるエラーコードの異なるインジケータを含む。
【0243】
図9A~
図9Bは、いくつかの実施形態に係る、電子デバイスを使用する方法900を示すフロー図である。方法900は、表示デバイスを有する電子デバイス(例えば、100、300、500、600、640、800、1000)において実行される。方法900のいくつかの動作は、任意選択的に組み合わされ、いくつかの動作の順序は、任意選択的に変更され、いくつかの動作は、任意選択的に省略される。
【0244】
後述するように、方法900は、ユーザ(例えば、820)が、音声によるユーザ入力要求が作用することを意図した外部デバイス(例えば、814,818)を一瞥することによって、音声によるユーザ入力要求に関するコンテキストを、電子デバイス(例えば、800)上のデジタルアシスタントに提供するための直感的な方法を提供する。この方法は、音声によるユーザ入力要求をデジタルアシスタントに提供する(例えば、コマンド内の外部デバイスを忘れずに言う必要がある)際のユーザ(例えば、820)の認識的負担を軽減する。したがって、デジタルアシスタントは、ユーザの凝視(例えば、820)を監視することによって、コマンドに対する外部デバイス(例えば、814,818)を判定することができる。
【0245】
第1の外部デバイス(例えば、818)は、第1の状態にある(例えば、第1の外部デバイス(例えば、818)がオン又はオフである、第1の外部デバイス(例えば、818)は、特定のメディア項目を再生している)間(902)、電子デバイス(例えば、800)は、第1のコマンド(例えば、824A~824B)を実行する(例えば、外部デバイスを第2の状態に遷移させ、デジタルアシスタントに「turn on that light(その明かりをオンにして)」と伝える)ための、ユーザ入力要求(例えば、ユーザ発語入力)を受信する(904)。いくつかの実施形態では、電子デバイスは、(例えば、トリガ語、凝視、及び/又はボタン押下に基づいて)電子デバイス(例えば、800)上のデジタルアシスタントがアクティブである間に、音声によるユーザ入力要求を受信する(904)。
【0246】
第1の外部デバイス(例えば、818)が第1の状態にある間に(902)、電子デバイスは、1つ以上のカメラセンサ(例えば、816A,816B)(例えば、赤外線カメラセンサ(単数又は複数)、可視光センサ(単数又は複数))を使用して、電子デバイス(例えば、800)と、又は電子デバイス(例えば、800)の一部に無線接続されるなどの電子デバイス(例えば、800)の外部のカメラ(単数又は複数)から、第1の凝視情報を取得する(906)(例えば、電子デバイス(例えば、800)は、第1の外部デバイス(例えば、818)に向けられた凝視情報を検出する)。いくつかの実施例では、電子デバイス(例えば、800)は、第1の凝視情報を使用して、1つ以上の凝視基準のセットが特定の外部デバイスに対して満たされているかどうかを判定する。
【0247】
第1の凝視情報を使用して、1つ以上の凝視基準のセットが、第1の外部デバイス(例えば、818)(例えば、ランプ、テレビ、又はコンピュータなどの機器)に対して満たされるとの判定に従って(908)(かつ、任意選択的に、電子デバイス(例えば、800)が音声によるユーザ入力要求を受信したことに応じて)、電子デバイス(例えば、800)は、第1のコマンドに基づいて、第1の外部デバイス(例えば、818)を第1の状態から第2の状態へ遷移させる命令を(例えば、第1の外部デバイス(例えば、818)に)送信する(910)(例えば、デジタルアシスタントは、外部デバイス(例えば、818)をオン状態からオフ状態又はオフ状態からオン状態へ遷移させることによって外部デバイス(例えば、818)へのアクションを実行する)。
【0248】
凝視検出を使用して、1つ以上の凝視基準のセットが満たされたときに、どの外部デバイス(例えば、814,818)がコマンド(例えば、824A~824B)と関連付けられているかを判定することにより、どの外部デバイス(例えば、814,818)が意図されているかを明らかにするために、デジタルアシスタントからのフォローアップ質問に答える必要なく、単に外部デバイス(例えば、814,818)を見ることによってデジタルアシスタントにコンテキストを提供する、より効率的なユーザインタフェースをユーザに提供する。デジタルアシスタントがより多くの情報を取得するためにユーザと対話する必要なく、コマンド(例えば、824A~824B)へコンテキストを提供するように改善されたユーザインタフェースをデジタルアシスタントに付与することにより、デジタルアシスタントインタフェースのユーザインタフェースがより効率的になる。加えて、視線検出を使用することにより、デジタルアシスタントをアクティブ化してコマンド(例えば、824A~824B)を実行するために必要とされる入力数が低減され、それにより、デジタルアシスタントの操作性が向上する。
【0249】
いくつかの実施形態では、1つ以上の凝視基準のセットが、第1の外部デバイス(例えば、818)に対して満たされる(例えば、角度、持続時間、及び凝視の方向)との判定に従って、電子デバイス(例えば、800)は、(例えば、第1のコマンド(例えば、824A~824B)が第1の外部デバイス(例えば、818)と関連付けられていることを示す)、1つ以上の凝視基準のセットが満たされるという指示(例えば、810A,810B,810c)(例えば、視覚的指示又は音声による指示)を提供する(912)。
【0250】
1つ以上の凝視基準のセットが満たされており、デジタルアシスタントが外部デバイス(例えば、800)に命令を正常に送信したという指示を提供することにより、コマンド(例えば、824A~824B)が実行されたかどうかに関するフィードバックをユーザに提供する。指示(例えば、810A,810B,810C)は、様々なコンテキストに関するカスタマイズ可能なフィードバックを提供する視覚的確認、音声確認、又はデジタルアシスタントの音声確認であり得る。例えば、サウンドが聞こえないコンテキスト(例えば、騒々しい部屋)では、視覚的フィードバックを提供することにより、ユーザは、デジタルアシスタントがコマンド(例えば、824C)を送信したかどうかを知ることが可能になる。デジタルデバイスの状態のカスタマイズされたフィードバックを提供することにより、デジタルアシスタントの操作性が向上し、デジタルアシスタントがコマンドを外部デバイスに正常に送信したときをユーザに通知することによって、ユーザ-・デバイス間インタフェースがより効率的になる(例えば、ユーザは、コマンドがデジタルアシスタントによって実行されたかどうかわからないためにコマンドを繰り返す必要がなくなる)。更に、デジタルアシスタントの状態のフィードバックにより、ユーザが素早く効率的にデバイスを使用することが可能になる。
【0251】
いくつかの実施形態では、指示(例えば、810A,810B,810C)(例えば、視覚的又は音声による指示)は、ドメイン固有(914)(例えば、音楽ドメイン、天気ドメイン、メッセージングドメイン)である。いくつかの実施例では、電子デバイス(例えば、800)は、コマンド(例えば、824C)が特定のドメインであると判定する。コマンド(例えば、824C)が第1のドメインであるとの判定に従うと、指示(例えば、810A,810B,810C)は、第1のタイプの指示である。コマンド(例えば、824C)が第1のドメインとは異なる第2のドメインであるとの判定に従うと、指示(例えば、810A,810B,810C)は、第1のタイプの指示とは異なる第2のタイプの指示である。
【0252】
ドメイン固有の指示を提供することにより、デジタルアシスタントがコマンド(例えば、824C)の命令を正常に送信できたかどうかをユーザ(例えば、820)に迅速に通知する。特定の視覚的インジケータ、音声インジケータ、又はデジタル音声インジケータを特定のドメインと関連付けることにより、コマンド(例えば、824C)が正常に実行されなかった場合に、ユーザが、さらなるアクションをとる必要があるかどうかを迅速に判定することを迅速に可能にする改善されたユーザインタフェースを、ユーザに迅速に提供する。例えば、ユーザが素早く「love that song(その曲が大好き)」と言うと、そのユーザ(例えば、820)は、コマンドに関連付けられた特定のトーンによって、楽曲がお気に入りリストに追加されたことを素早く知ることができ、ユーザは追加できたかを確認する必要がない。これにより、特定のドメインにおける特定のアクションが成功したトーンとの関連付けが、タスクが実行されたという即時の確認を提供するので、ユーザの認識的負担が迅速に軽減される。更に、デジタルアシスタントの状態のフィードバックにより、ユーザ(例えば、820)がデジタルアシスタントをより迅速かつ効率的に使用することが可能になる。
【0253】
いくつかの実施形態では、電子デバイス(例えば、800)は、第1の外部デバイス(例えば、814,818)(例えば、ペアリングされたランプ、テレビ、コンピュータ、電話又は腕時計)とペアリングされる(916)。
【0254】
いくつかの実施形態では、第1の凝視情報を使用して、第1の電子デバイス(例えば、814,818)について、1つ以上の凝視基準のセットが満たされない(例えば、ユーザが凝視を中断する、ユーザが外部デバイスを閾値時間見ていない)との判定に従って、電子デバイス(例えば、800)は、第1の状態から第2の状態に第1の外部デバイス(例えば、818)を遷移させる命令の送信を見合わせる。いくつかの実施例では、デジタルアシスタントは、1つ以上の凝視基準のセットが満たされないとき、コマンド(例えば、824C)を実行しない。
【0255】
いくつかの実施形態では、1つ以上のアクティブ化基準のセットは、判定されたオフセット角度(例えば、810)が閾値オフセット角度(例えば、804)(例えば、デバイスを直接見ているユーザからの最大許容可能偏差、ゼロでない閾値オフセット角度、閾値オフセット角度がゼロ度より大きい)未満であるときに満たされる視野基準を含み、判定されたオフセット角度(例えば、810)は、ユーザの凝視の(例えば、凝視情報から判定された)視線(例えば、812)と、ユーザ(例えば、820)から電子デバイス(例えば、818)への算出された視線(例えば、808)との間に形成された角度である。いくつかの実施例では、第1の外部デバイス(例えば、818)が閾値度を超えて(例えば、凝視の視野(例えば、806)の外側に)位置すると判定される場合、第1の外部デバイス(例えば、818)はユーザの視線内になく、命令は第1の外部デバイス(例えば、818)に送信されない。いくつかの実施例では、第1の外部デバイス(例えば、818)が、閾値度の範囲内にあることによって、凝視の視野(例えば、806)内にあるとき、デジタルアシスタントは、命令を第1の外部デバイス(例えば、818)に送信する。
【0256】
視野基準を凝視基準として使用することにより、ユーザが外部デバイス(例えば、818)を直接見る必要なく、ユーザの凝視を検出することを可能にする。その代わりに、外部デバイス(例えば、818)がユーザの凝視の視野内にある限り、ユーザの凝視は凝視基準を満たし、それにより、電子デバイス(例えば、800)はどの外部デバイス(例えば、814,818)が意図されているかを判定することが可能になる。視野基準を使用することにより、外部デバイス(例えば、818)を、ユーザとの更なる対話を必要とせずに判定することが可能になり、これにより、デジタルアシスタントの操作性が向上し、電子デバイス(例えば、800)による凝視検出がより効率的になる(例えば、外部デバイス(例えば、818)がユーザ(例えば、820)の直接的な視線内にある必要がないので、外部デバイス(例えば、818)は一層容易に特定される)。
【0257】
いくつかの実施形態では、ユーザ(例えば、820)の凝視の視線(例えば、812)は、ユーザ(例えば、820)(例えば、音声によるユーザ入力要求をそのユーザから受け取った、同じユーザ)の頭部位置に基づくものである。いくつかの実施例では、ユーザの頭部位置は、ユーザの頭部の傾斜又は回転(例えば、ヨー、ピッチ、及びロール)によって影響され得る。いくつかの実施例では、頭部位置追跡は、第1の外部デバイス(例えば、818)が視野(例えば、806)内にあるかどうかを判定するために使用される。
【0258】
いくつかの実施形態では、1つ以上の凝視基準のセットは、第1の凝視情報から判定された凝視の静止時間(例えば、持続時間)が閾値時間(例えば、ゼロでない時間)を超えているときに第1の外部デバイス(例えば、818)に対して満たされる、静止時間基準を含む。いくつかの実施例では、ユーザ(例えば、820)の凝視の静止時間が閾値時間未満であるとき。
【0259】
いくつかの実施形態では、電子デバイス(例えば、8000)が、第1の外部デバイス(例えば、818)を第1の状態から第2の状態に遷移させる命令を(例えば、第1の外部デバイス(例えば、818)に)送信したことに続いて、電子デバイス(例えば、800)は、第1の外部デバイス(例えば、818)が第2の状態にあるという指示(例えば、810A、810B、810C)(例えば、音声又は視覚的)を提供する(例えば、電子デバイス(例えば、800)が、第1の外部デバイス(例えば、818)がオンになったことを示す視覚的指示(例えば、810A)を提供する)。いくつかの実施例では、電子デバイス(例えば、800)は、コマンド(例えば、824C)が実行できなかったとき(例えば、第1の外部デバイス(例えば、818)が依然として第1の状態にある)に、異なる指示(例えば、810A,810B,810C)を提供する。
【0260】
いくつかの実施形態では、第1の外部デバイス(例えば、818)が第1の状態にあり、第2の外部デバイスが第3の状態にあり、1つ以上の凝視基準のセットが第2の外部デバイス(例えば、ランプ、テレビ、又はコンピュータなどの機器)に対して満たされるとの第1の凝視情報を使用した判定に従って(かつ、任意選択的に、音声によるユーザ入力要求を受信したことに応じて)、電子デバイス(例えば、800)は、第1のコマンド(例えば、824C)に基づいて、第2の外部デバイス(例えば、814)を第3の状態から第4の状態に遷移させる命令を(例えば、第1の外部デバイス(例えば、818)に)送信する(例えば、電子デバイス(例えば、800)は、第2の外部デバイスをオン状態からオフ状態に、又はオフ状態からオン状態に遷移させることによる、第2の外部デバイス(例えば、814)に対するアクションを実行する)。
【0261】
1つ以上の凝視基準のセットが第2の外部デバイス(例えば、814)(例えば、ランプ、テレビ、又はコンピュータなどの機器)に対して満たされないとの、第1の凝視情報を使用した判定に従って(かつ、任意選択的に、音声によるユーザ入力要求を受信したことに応じて)、電子デバイス(例えば、800)は、第1のコマンド(例えば、824C)に基づいて、第2の外部デバイス(例えば、814)を第3の状態から第4の状態に遷移させる命令を(例えば、第1の外部デバイスに)送信するのを見合わせる(例えば、電子デバイス(例えば、800)は、第2の外部デバイスを、オン状態からオフ状態に、又はオフ状態からオン状態に遷移させることを見合わせることなどによる第2の外部デバイスへのアクションを実行するのを見合わせる)。
【0262】
いくつかの実施形態では、第1の外部デバイス(例えば、818)が第2の状態にあり(例えば、第1の外部デバイス9 例えば、818)は第1の状態にもありうる)、第2の外部デバイス(例えば、814)が第3の状態(918)にある間に、電子デバイス(例えば、800)は、第2のコマンド(例えば、826C)を含む第2のユーザ入力要求(例えば、ユーザ発語入力)を受信する(920)。
【0263】
電子デバイス(例えば、800)は、1つ以上のカメラセンサ(例えば、816A,816B)を用いて、(例えば、デジタルアシスタントに「その」明かりをオンにするように伝えて、第2の外部デバイス(例えば、814)を第2の状態に遷移させるため、)第2の凝視情報を取得する(922)。
【0264】
1つ以上の凝視基準のセットが第2の外部デバイス(例えば、814)に対して満たされるという、第2の凝視情報を使用した判定(例えば、凝視の角度が閾値度の範囲内にあり、凝視は特定の方向にあり、持続時間は所定の時間以上であるなどの凝視基準を満たすことによって、第2の凝視が第2の外部デバイス(例えば、814)を特定すること)に従って、電子デバイス(例えば、800)は、第2のコマンド(例えば、824C)に基づいて、第2の外部デバイス(例えば、814)を第3の状態から第4の状態に遷移させる命令(例えば、第2の外部デバイス(例えば、814)の状態を変更する、すなわち、フロアランプをオンにすること)を送信する(924)。一方、第1の外部デバイス(例えば、818)は、第2の状態のままである(例えば、第1の外部デバイスの状態が変更されることなく、テーブルランプはオンのままである)。
【0265】
いくつかの実施形態では、第2の外部デバイス(例えば、814)が第3の状態にある間に、かつ、1つ以上の凝視基準のセットが第2の外部デバイス(例えば、814)に対して満たされない(例えば、第2の外部デバイスは特定されない)との第2の凝視情報を使用した判定に従って、電子デバイス(例えば、800)は、第2の外部デバイス(例えば、814)を第3の状態から第4の状態に遷移させる命令を送信するのを見合わせる(926)(例えば、第2の外部デバイス(例えば、814)は、以前と同じ状態のままとなる)。
【0266】
いくつかの実施形態では、第2の外部デバイス(例えば、814)を第3の状態から第4の状態に遷移させる命令を(例えば、第2の外部デバイス(例えば、814)に)送信することに続いて、電子デバイス(例えば、800)は、第2の外部デバイス(例えば、814)が第4の状態にあることを示す指示(例えば、810A、810B、810C)(例えば、視覚的又は音声による指示)を提供する(例えば、視覚的(例えば、810A)指示又は音声(例えば、810B)指示を提供して、第2の外部デバイス(例えば、814)の状態が変化したことを示す)。いくつかの実施例では、電子デバイス(例えば、800)は、第2のコマンド(例えば、824C)が実行できなかったときに異なる指示(例えば、810A,810B,810C)を提供する(例えば、第2の外部デバイス(例えば、813)は依然として第3の状態にある)。
【0267】
いくつかの実施形態では、第1の外部デバイス(例えば、818)を第1の状態から第2の状態に遷移させる命令を(例えば、第1の外部デバイス(例えば、818)に)送信したことに続いて、電子デバイス(例えば、800)は、第3の外部デバイス(例えば、腕時計又は電話)から、第3の外部デバイス(例えば、830)によって受信された入力の指示(例えば、第3の外部デバイス上の竜頭(例えば、832)の回転)を受信する。電子デバイス(例えば、800)は、電子デバイス(例えば、800)が第1の外部デバイス(例えば、818)に、第1の外部デバイス(例えば、818)を遷移させる(例えば、テーブルランプがオンにされた後、テーブルランプの明かりの輝度を暗くする)第3の命令を命じた最新性に基づいて、第2の命令を、第1の外部デバイス(例えば、818)に送信する。いくつかの実施例では、第3の外部デバイス(例えば、830)は、第3の外部デバイス(例えば、840)が対話している のはどの外部デバイス(例えば、814,818)かについて知らない。第3の外部デバイス(例えば、830)は、入力を受信しユーザ入力を電子デバイス(例えば、800)に送信することのみを行い、電子デバイス(例えば、800)が、命令を(例えば、明かりを暗くする)どの外部デバイス(例えば、814,818)に送信するかがわかるデバイスである。
【0268】
第3の外部デバイス(例えば、830)を使用して、電子デバイス(例えば、800)が命令を送信した直近の外部デバイス(例えば、818)を更に制御することにより、外部デバイス(例えば、818)のさらなる制御を有する追加のユーザインタフェースをユーザ(例えば、820)に提供する。
【0269】
デジタルアシスタントを介する必要なくデバイスを制御する追加のユーザインタフェース及び機構をユーザ(例えば、820)に提供することにより、より効率的なユーザインタフェースが提供され、コマンドを実行するのに必要なデジタルアシスタントとの対話の数が低減される。追加のコマンドを処理するためにデジタルアシスタントと対話する必要はなく、ユーザ(例えば、820)は、単に外部デバイス(例えば、830)を使用して、場合によって言葉では説明が難しい、正確な入力を提供することができる。第3の外部デバイス(例えば、840)から受信した入力に基づいて追加のユーザ入力を受信することにより、デジタルアシスタントの操作性が向上し、追加のコマンドが必要とされないので、外部デバイス(例えば、818)を制御するユーザインタフェースがより効率的になる。
【0270】
方法900(例えば、
図9A~
図9B)に関して上述したプロセスの詳細はまた、以下/上記記載の方法にも類似の方式で適用可能であることに留意されたい。例えば、方法900は、任意選択的に、方法700に関して上記した、かつ方法1100に関して後述する様々な方法の特性の1つ以上を含む。例えば、方法900は、
図7A、
図7B、
図11A、
図11Bのプロセスを参照して上述された、かつ後述される様々な方法の特性のうちの1つ以上を含んでもよい。簡潔にするために、これらの詳細は、以下で繰り返さない。
【0271】
以下の
図7A~
図7B及び
図11A~
図11Bでの動作が説明されている特定の順序は、例示的なものであり、説明される順序は、それらの動作を実行され得る唯一の順序であることを示す意図はないことを理解されたい。当業者であれば、特定の動作の除外と並び、本明細書で説明される動作の順序を並べ替える様々な方法を認識するであろう。簡潔にするために、それらの詳細はここでは繰り返さない。更に、この説明全体において説明されている方法及びプロセスの態様は、互いに統合されてもよいことに留意されたい。
【0272】
図10A~
図10Dは、いくつかの実施形態に係る、デジタルアシスタントがアクティブ化された時点で、部屋の中でコマンドを発語する様々なユーザ(例えば、1020,1030)をデジタルアシスタントが認識することを示す、様々に異なるインジケータを提供するための例示的なユーザインタフェースを示す。デジタルアシスタントは、トリガ語、方法700に関して上記した凝視、ボタン押下、ユーザがウェアラブル電子デバイス(例えば、腕時計)を着用中の手首の持ち上げ(例えば、
図6E~
図6G)、及び/又は、ユーザが外部デバイス(例えば、電話)を電子デバイス1000上でポイントすること、に基づいて、アクティブ化される。いくつかの実施例では、ユーザ(例えば、1020,1030)が電子デバイス1000を見ていると判定したことに応じて(例えば、上述のように、凝視情報を使用して、1つ以上のアクティブ化基準のセットが満たされたとの判定に従って)、電子デバイス1000は、デジタルアシスタントをアクティブ化し、デジタルアシスタントが起動されると、コマンドを受信する。
図10A~
図10Dに示される技法はまた、任意選択的に、方法900の態様及び
図8A~
図8Lに関して説明される技法も含み、それは、ユーザの凝視を使用して、コマンドに関連付けられた特定の外部物体(例えば、テーブルランプ1018,フロアランプ)を判定する電子デバイスを示す。これらの図の技法は、
図11A~11Bのプロセスを含む後述のプロセスを例示するために使用される。
【0273】
図10A~
図10Dに示されるように、ユーザであるジェーン1030及びジャック1020は、電子デバイス1000と同じ部屋にいる。
図10Aでは、上述した技法の態様を使用するなどにより、電子デバイスのデジタルアシスタントがアクティブ化される。電子デバイス1000は、1人以上のユーザ(例えば、ジェーン1030及びジャック1020)から発語コマンド(例えば、1024A,1024B)を受信して、部屋の中のフロアランプ1014又はテーブルランプ1018など、様々な外部デバイスを制御する。電子デバイス1000がコマンド(例えば、1024A,1024B)を受信したことに応じて、電子デバイス1000は、コマンド(例えば、1024A,1024B)を発語した特定のユーザのユーザ識別情報(例えば、1020,1030)を判定する。いくつかの実施形態では、外部デバイス(例えば、外部カメラ1016A、電話、又は一体化型カメラ1016B)は、コマンドに対応するユーザ識別情報を判定し、ユーザ識別情報を電子デバイス1000に送信する。いくつかの実施形態では、電子デバイス1000は、外部又は内部デバイス(例えば、外部カメラ1016A、電話、又は一体化型カメラ1016B)を使用して発語するユーザに関する情報を取得する。いくつかの実施形態では、電子デバイス1000は、取得した情報を使用して顔認識、音声認識を実行するか、又は発語するユーザまでの距離を算出して、ユーザ識別情報を判定する。
【0274】
いくつかの実施形態では、電子デバイスがデジタルアシスタントをアクティブ化する前に、ジェーン1030及びジャック1020のユーザは、任意選択的に、電子デバイス1000に記憶されたユーザプロファイルを登録している。いくつかの実施形態では、ユーザプロファイルは、サーバ上に記憶され、電子デバイス1000によってアクセス可能である。ユーザプロファイルは、デジタルアシスタントがアクティブ化されているか、又はコマンド1024A,1024Bが正常に実行されたか、又は失敗して実行されたかを示すために、電子デバイスによって使用されるインジケータ1010A、1010B,1010Cをカスタマイズするために電子デバイスが使用することができる、設定及び好み(例えば、デジタルアシスタントの音声のアクセントのタイプ、デジタルアシスタントの音声の性別、インジケータのトーン、LED光の色)を含む。例えば、ユーザは、インジケータの各特性の値を提供することによって、デジタルインジケータ設定をカスタマイズすることができる。いくつかの実施例では、インジケータの特性は、タイプ(例えば、視覚的、オーディオ、音声確認、又は種類のいずれかの組み合わせ)、視覚的インジケータのための光の色、音声インジケータのトーン、及びデジタル音声に関するカスタマイズ(例えば、言語、アクセント及び性別のタイプ)が挙げられる。ユーザプロファイルはまた、任意選択的に、ユーザの名前、誕生日、性別、及び/又は住所などの、ユーザであるジェーン1030及びジャック1020によって、ユーザの承諾を得て登録中に提供されるユーザに関する情報も記憶する。ユーザプロファイル設定及び好みは、任意の時点で更新されてもよい。本明細書に記載される電子デバイス1000上のユーザ登録のための技術は、上記において、
図7A、
図7B、
図9A、及び
図9Bのプロセスを参照して、方法700及び900と組み合わせて使用されてもよい。簡潔性のために、これらの詳細は、ここでは繰り返さない。
【0275】
図10Aでは、電子デバイス1000は、デジタルアシスタントがアクティブ化されているときに、ジェーン1030から「テーブルランプをオンにして」とのコマンド1024Aを受信する。電子デバイス100がジェーン1030によって発語されているコマンド1024Aを受信しているとき(又は、ジェーン1030によって発語されたコマンド1024Aを受信した後)、電子デバイス1000は、発語者がジェーン1030であると判定する。例えば、デバイス1000は、外部カメラ1016B、一体化型カメラ1016B、及び/又はマイクロフォンを使用し、受信したコマンド1024Aは、ジェーン1030が座っている方向から来ていると判定する。したがって、電子デバイス1000は、ジェーン1030が座っている方向に対応する位置に、ディスプレイ1002上に光パターン1010D(例えば、3つの照明ドット)を表示する。いくつかの実施形態では、電子デバイス1000は、ディスプレイ1002上にアニメーション化された光パターン1010Dを表示し、光パターンは、ジェーン1030が座っている方向を指すようにアニメーション化される。
【0276】
図10Aでは、デジタルアシスタントが、コマンド1024Aの発語者がジェーン1030であると判定すると、電子デバイス1000は、インジケータ(例えば、視覚1010A,音声1010B,又はデジタルアシスタント確認1010C)の特性(例えば、光の色、特定のサウンド、単語、又は固別のデジタルアシスタントの音声)の値を、ジェーン1030に対応する値(例えば、紫の光、2つの調子があるトーン、ジェーンの名前、ブリティッシュアクセント、女性の声)に更新する。いくつかの実施形態では、特性の値は、ジェーンのユーザプロファイルから得られた値である。例えば、電子デバイスは、ディスプレイ1002上の光パターン1010D(例えば、3つの照明ドット)の色を、ジェーン1030に対応する色(紫色など)に設定する。結果として、電子デバイス1000は、デバイス1000が発語者をジェーン1030と認識したことと、ジェーン1030の好みのうちの1つ以上が使用されることを、ジェーン1030とジャック1020に示す。
【0277】
対照的に、
図10Cでは、デジタルアシスタントが、コマンド1024Bの発語者が、ジェーン1030とは異なるユーザであるジャック1020であると判定すると、電子デバイス1000は、インジケータ(例えば、視覚的インジケータ又は音声インジケータ)の特性(例えば、光の色、サウンド、又はデジタルアシスタント音声)の値を、ジャック1020に対応する値(例えば、青い光、1つの調子のトーン、ジャックの名前、オーストラリアンアクセント、男性の声)に更新し、ジャック1020に関連付けられた特性の値は、ジェーン1030に関連付けられた特性の値とは異なる。例えば、電子デバイスは、ディスプレイ1002上の光パターン1010E(例えば、3つの照明ドット)の色を、ジャック1020に対応する色(青色など)に設定する。結果として、電子デバイス1000は、当該デバイス1000が発語者をジャック1020と認識し、ジャック1020の好みのうち1つ以上が使用されることを、ジェーン1030及びジャック1020に示す。
【0278】
いくつかの実施形態では、ジャック1020とジェーン1030は、各人に関連付けられ、同一の特性の値を有してもよい。例えば、ジャック1020とジェーン1030は両方とも、アメリカ人で女性のデジタルアシスタントの音声を選択することができる。いくつかの実施形態では、各ユーザに関連付けられたインジケータの特性の値は固有である。例えば、ジェーン1030とジャック1020は、それぞれのユーザに関連付けられた異なる光の色(例えば、ジェーンは紫であるのに対し、ジャックは青)及び異なるサウンド(例えば、2つのトーンのサウンドに対し、1つのトーンのサウンド)を有してもよい。
【0279】
図10Bでは、電子デバイス1000が、ジェーン1030がコマンド1024Aを発語していると特定した後、電子デバイス1000は、方法900に関して上述したように、1つ以上の実行基準のセットが満たされているかどうかを判定する。1つ以上の実行基準のセットは、完了基準、実施可能基準、及びアクティブ化基準のうちの1つ以上を含む。1つ以上の実行基準のセットが満たされると、電子デバイス1000は、フロアランプ1014をオンするように命令を送信することなどのアクションを実行する。
【0280】
電子デバイス1000がコマンド1024Aを実行したとき、電子デバイス1000は、任意選択的に、コマンドが正常に実行されたことを示すために、ジェーンの1030の好みを使用してインジケータ(例えば、インジケータ1010A,1010B,1010C)を提供する。インジケータのタイプ(例えば、視覚的確認、音声確認、及びデジタル音声確認)及びそれらの特性は、方法700及び900に関して上述されている。
図10Bでは、電子デバイス1000は、発語者がジェーン1030であると判定し、その判定に基づいて、アメリカンアクセントによる女性のデジタルアシスタントの音声確認「ジェーン、フロアランプがオンにされました」を使用して確認を提供する。「ジェーン」という名前は、登録中にジェーン1030が提供したジェーン1030のユーザプロファイルから取得される。電子デバイス1000は、ジェーンの1030ユーザプロファイルの一部として記憶された以前の好みに基づいて、女性のアメリカンアクセントを使用する。紫色の光パターンは、デジタルアシスタントがジェーンのコマンド1024Aを処理したことを示すために、電子デバイス1000上の視覚的インジケータとして表示されてもよい。ジェーン1030に関連付けられたトーンはまた、デジタルアシスタントがジェーン1024Aのコマンドを処理したことを示すために、電子デバイス1000上の音声インジケータとして再生されてもよい。結果として、ジェーン1030とジャック1020の両方が、ジェーンが発語者と特定されたことを認識する。
【0281】
同様に、
図10Cは、ジャック1020が「フロアランプをオンにして」というコマンド1024Bを発語していることを示している。電子デバイス1000は、例えば、外部カメラ1016A、一体化型カメラ1016B及び/又はマイクロフォンを使用して発語者がジャック1020であると判定して、コマンド1024Bが、ジャック1030が座っている方向から来ていると判定する。これに応じて、電子デバイス1000は、ジャック1020が立っている方向に対応する位置に、ディスプレイ1002上に光パターン1010E(例えば、3つの照明ドット)を表示する。いくつかの実施形態では、電子デバイス1000は、ディスプレイ1002上にアニメーション化された光パターン1010Eを表示し、光パターンは、ジャック1020が立っている方向を指すようにアニメーション化される。例えば、電子デバイスは、ディスプレイ1002上の光パターン1010E(例えば、3つの照明ドット)の色を、ジャック1020に対応する色(青色など)に設定する。結果として、電子デバイス1000は、デバイス1000が発語者をジャック1020と認識し、ジャック1020の好みの1つ以上が使用されることを、ジェーン1030及びジャック1020に示す。
【0282】
図10Dでは、電子デバイス1000が、ジャック1020がコマンド1024Bを発語していることを特定した後、電子デバイス1000は、方法900に関して上述したように、1つ以上の実行基準のセットが満たされているかどうかを判定する。1つ以上の実行基準のセットは、完了基準、実施可能基準、及びアクティブ化基準のうちの1つ以上を含む。1つ以上の実行基準のセットが満たされると、電子デバイス1000は、フロアランプ1014をオンするように命令を送信することなどのアクションを実行する。
【0283】
電子デバイス1000がコマンド1024Bを実行したとき、電子デバイス1000は、任意選択的に、コマンドが正常に実行されたことを示すために、ジャック1020の好みを使用してインジケータ(例えば、インジケータ1010A,1010B,1010C)を提供する。インジケータのタイプ(例えば、視覚的確認、音声確認、及びデジタル音声確認)及びそれらの特性は、方法700及び900に関して上述されている。
図10Dでは、電子デバイス1000は、発語者がジャック1020であると判定し、その判定に基づいて、オーストラリアンアクセントを有する男性のデジタルアシスタント音声を使用して「ジャック、テーブルランプがオンされました」という確認を提供する。「ジャック」という名前は、ジャック1020が登録中に提供したジャックの1030ユーザプロファイルから得られる。電子デバイス1000は、ジャックの1020ユーザプロファイルの一部として記憶された以前の好みに基づいて、男性のオーストラリアンアクセントを使用する。デジタルアシスタントがジャックのコマンド1024Bを処理したことを示すために、青色光パターンが電子デバイス1000上の視覚的インジケータとして表示されてもよい。電子デバイスは、デジタルアシスタントがジャックコマンド1024Bを処理したことを示すために、音声インジケータとしてジャック1020に関連付けられたカスタムトーンを任意選択的に再生する。
【0284】
図11A~
図11Bは、いくつかの実施形態に係る、電子デバイスを使用する方法1100を示すフロー図である。方法1100は、電子デバイス(例えば、100、300、500、600、640、800、1000)において行われる。方法1100のいくつかの動作は、任意選択的に組み合わされ、いくつかの動作の順序は、任意選択的に変更され、いくつかの動作は、任意選択的に省略される。
【0285】
以下に記載されるように、方法1100は、各人物に固有のインジケータを提供することによって、異なるユーザ(例えば、1020,1030)の認識を示すためのデジタルアシスタントの直感的な方法を提供する。複数のユーザが部屋の中でコマンドを発語しているときに、デジタルアシスタントが特定のユーザのコマンドを処理したことをユーザが確認することができるため、この方法はユーザ(例えば、1020,1030)の認識的負担を軽減する。したがって、デジタルアシスタントは、どのユーザのコマンドが処理されたかを示すために即時のフィードバックを提供することができる。
【0286】
電子デバイス(例えば、1000)上のデジタルアシスタントがトリガ語、凝視、及び/又はボタン押下に基づいてアクティブ化された後、電子デバイス1000は、音声によるユーザ入力要求(例えば、1024A,1024B)を受信する(1106)。いくつかの実施例では、音声によるユーザ入力要求(例えば、1024A,1024B)を受信したことに応じて、電子デバイス(例えば、1000)は、音声によるユーザ入力要求(例えば、1024A,1024B)に対応するユーザ識別情報(例えば、特定のユーザ(例えば、1020,1030))を判定する。いくつかの実施例では、リモートデバイス(例えば、カメラ1016)は、音声によるユーザ入力要求(例えば、1024A,1024B)に対応するユーザ識別情報を判定し、電子デバイス(例えば、1000)は、判定の結果を受信する。
【0287】
いくつかの実施形態では、電子デバイス(例えば、1000)が音声によるユーザ入力要求(例えば、1024A,1024B)を受信する前に、電子デバイス(例えば、1000)は、登録情報(例えば、ユーザプロファイル情報)を受信する(1102)。いくつかの実施形態では、電子デバイス(例えば、1000)は、登録情報を使用して、電子デバイス(例えば、1000)のインジケータ(例えば、1010A,1010B)の特性(例えば、光、サウンド、デジタルアシスタント音声)の第1の値を、第1のユーザ(例えば、1020)と関連付け(1104)(そして、第2のユーザとは関連付けず)、また、電子デバイス(例えば、1000)のインジケータの特性の第2の値を、第2のユーザ(例えば、1030)と関連付ける(そして、第2のユーザとは関連付けない)。いくつかの実施例では、登録プロセス中に、電子デバイス(例えば、1000)は、ユーザの名前を受信し、その後、その名前をユーザ(例えば、1020,1030)の声と関連付ける。いくつかの実施例では、登録プロセス中に、電子デバイス(例えば、1000)は、視覚的インジケータの色(例えば、LED色)をユーザ(例えば、1020,1030)と関連付ける。
【0288】
インジケータ(例えば、1010A,1010B,1010C)の特性の値を、ユーザのユーザプロファイルのうちの好みと関連付けることにより、デジタルアシスタントは、デジタルアシスタントがコマンドを発語する特定のユーザ(例えば、1020,1030)を特定したことを確認するために、フィードバックを提供することが可能になる。ユーザ(例えば、1020,1030)を確認するためにカスタマイズされたフィードバックを提供することで、デジタルアシスタントの操作性が向上し、インジケータ(例えば、1010A,1010B,1010C)にユーザ(例えば、1020,1030)の好みを使用した確認をユーザ(例えば、1020,1030)に提供することによってユーザ-デバイス間インタフェースがより効率的になる(例えば、ユーザ(例えば、1020,1030)は、デジタルアシスタントがユーザのコマンド(1024A,1024B)を処理したことを知る)。これにより、成功インジケータと特定のユーザの設定との関連付けることによりタスクが実行されたことという即時確認が提供されるので、ユーザ(例えば、1020,1030)の認識的負担が軽減され、同時に発語する複数のユーザ、又はバックグラウンドに他の発語者が存在する場合における混乱が低減される。更に、デジタルアシスタントの状態のフィードバックにより、ユーザ(例えば、1020,1030)は、デジタルアシスタントをより迅速かつ効率的に使用することが可能になる。
【0289】
電子デバイスは、音声によるユーザ入力要求を受信する(1106)。
【0290】
いくつかの実施形態では、音声によるユーザ入力要求(例えば、1024A,1024B)は、ユーザ発語入力(例えば、発言、コマンド)であり、特性(例えば、光、サウンド、デジタルアシスタントの音声)の値の更新(1108)は、音声によるユーザ入力要求(例えば、1024A,1024B)の書き写したコンテンツに基づくものではない(例えば、特性の値は、ユーザが言った言葉に基づくものではなく、むしろ、ユーザの識別情報に基づくものである)。
【0291】
音声によるユーザ入力要求が第1のユーザ(例えば、1020)に対応するとの判定に従って(かつ、任意選択的に、音声によるユーザ入力要求を受信したことに応じて)、電子デバイス(例えば、1000)は、インジケータ(例えば、1010A、1010B、1010C)(例えば、視覚的インジケータ、音声によるインジケータ、又はデジタルアシスタント音声確認)の特性(例えば、光の色、サウンド、デジタルアシスタントの音声)の値を、第1のユーザ(例えば、1020)に対応する第1の値に更新する(1110)(例えば、特性の値は第1のユーザの識別情報に関連付けられる)。
【0292】
音声によるユーザ入力要求が第1のユーザとは異なる第2のユーザ(例えば、1030)に対応するとの判定に従って(かつ、任意選択的に、音声によるユーザ入力要求を受信したことに応じて)、電子デバイス(1000)は、インジケータ(例えば、1010A,1010B,1010C)(例えば、視覚的インジケータ、音声によるインジケータ、又はデジタルアシスタントの音声確認)の特性(例えば、光の色、サウンド、デジタルアシスタント音声)の値を、第2のユーザ(例えば、1030)に対応する第2の値に更新し(1112)(例えば、特性の値は、第2のユーザの識別情報に関連付けられる)、第2の値は第1の値とは異なる。
【0293】
電子デバイス(例えば、1000)は、インジケータ(例えば、1010A,1010B,1010C)を使用して、音声によるユーザ入力要求(例えば、1024A,1024B)に応じる(1114)(例えば、電子デバイス(例えば、1000)は、特定のデジタルアシスタント音声を使用して、又は応答内のユーザの名前を使用して、光を表示し、サウンドを再生する)。インジケータ(例えば、1010A,1010B,1010C)は、特性(例えば、光の色、サウンド、又はデジタルアシスタント音声)の更新値を含む。
【0294】
いくつかの実施形態では、インジケータ(例えば、1010A,1010B,1010C)を使用して、音声によるユーザ入力要求(例えば、1024A,1024B)に応答する電子デバイス(例えば、1000)は、音声によるユーザ入力要求(例えば、1024A、1024B)に関連付けられたユーザに対応する特性(例えば、光の色、表示された光の位置)の値を使用して、視覚的インジケータ(例えば、1010A)(例えば、光)を表示する(1116)電子デバイス(例えば、1000)を含む。
【0295】
いくつかの実施形態では、インジケータを使用して音声によるユーザ入力要求(例えば、1024A,1024B)に応答する電子デバイス(例えば、1000)は、音声によるユーザ入力要求(例えば、1024A,1024B)に関連付けられたユーザ(例えば、1020,1030)に対応する特性の値(特性の値は、アクセント、性別、ピッチ、音声、サウンド、又はアメリカ人の女性のデジタルアシスタント音声など、特定のデジタルアシスタント音声であり得る)を使用して音声によるインジケータ(例えば、1010B)(例えば、音声、サウンド)を提供する(1118)電子デバイス(例えば、1000)を含む。
いくつかの実施例では、ユーザは、ユーザのユーザプロファイル(例えば、1020,1030)に示される、デジタルアシスタント音声設定内の、アメリカ人の女性のデジタルアシスタント音声を選択した。
【0296】
いくつかの実施形態では、インジケータは、視覚的インジケータ(例えば、1010A)であり、電子デバイス(例えば、1000)が音声によるユーザ入力要求(例えば、1024A,1024B)を受信したことに応じて、かつ、音声によるユーザ入力要求(例えば、1024A,1024B)が特定のユーザ(例えば、1020,1030)に対応するとの判定の前に、電子デバイス(例えば、1000)は、特性のデフォルト値(例えば、白色光)を有する視覚的インジケータ(例えば、1010A)を表示する(例えば、デジタルアシスタントがアクティブ化されたときに第1の光の色を表示する)。いくつかの実施形態では、特性のデフォルト値は、第1の値及び第2の値と異なる。
【0297】
いくつかの実施形態では、音声インジケータ(例えば、1010B)(例えば、デジタルアシスタントが単語を使用して確認を提供すること)の特性は、音声によるユーザ入力要求(例えば、1024A,1024B)に関連付けられた(例えば、それを提供する)ユーザに対応する用語(例えば、その単語、名前)である。
【0298】
デジタルアシスタントの音声確認インジケータ(例えば、1010C)内でユーザの名前(例えば、1020,1030)を使用することにより、デジタルアシスタントは、デジタルアシスタントがコマンドを発語する特定のユーザ(例えば、1020、1030)を特定したことを確認するためのフィードバックを提供することが可能になる。ユーザ(例えば、1020,1030)を確認するためのカスタマイズされたフィードバックを提供することにより、デジタルアシスタントの操作性が向上し、ユーザ-デバイス間インタフェースがより効率的になる(例えば、特定のユーザ(例えば、1020,1030)はデジタルアシスタントがユーザのコマンド(例えば、1024A,1024B)を処理したことを知る)。これにより、ユーザ名を使用すると、タスクが実行されたことという即時確認が提供されるので、ユーザ(例えば、1020,1030)の認識的負担が軽減され、同時に発語する複数のユーザ(例えば、1020,1030)又はバックグラウンドに他の発語者が存在する場合における混乱が低減される。更に、デジタルアシスタントの状態のフィードバックにより、ユーザ(例えば、1020,1030)は、デジタルアシスタントをより迅速かつ効率的に使用することが可能になる。
【0299】
いくつかの実施形態では、電子デバイス(例えば、1000)は、音声認識、顔認識、及び音声によるユーザ入力要求の方向のうちの1つ以上に基づいて、音声によるユーザ入力要求に関連付けられたユーザを判定する。
【0300】
上記は、説明を目的として、特定の実施形態を参照して記述されている。しかしながら、上記の例示的な論考は、網羅的であること、又は開示される厳密な形態に本発明を限定することを意図するものではない。上記の教示を考慮して、多くの修正及び変形が可能である。本技術の原理、及びそれらの実際の適用を最もよく説明するために、実施形態が選択及び記載されている。それにより、他の当業者は、意図された具体的な用途に適するような様々な修正を用いて、本技術及び様々な実施形態を最も良好に利用することが可能となる。
【0301】
添付図面を参照して、本開示及び例を十分に説明してきたが、様々な変更及び修正が、当業者には明らかとなるであろうことに留意されたい。そのような変更及び修正は、特許請求の範囲によって定義されるような、本開示及び例の範囲内に含まれるものとして理解されたい。
【0302】
上述のように、本技術の一態様は、ユーザの電子デバイスの制御をより良く実現するために、様々なソースから入手可能なデータを収集及び使用することである。本開示は、いくつかの例において、この収集されたデータが、特定の人を一意に特定する個人情報データ、又は特定の人に連絡する若しくはその所在を突き止めるために使用できる個人情報データを含み得ることを考察する。そのような個人情報データとしては、人口統計データ、位置ベースのデータ、電話番号、電子メールアドレス、ツイッターID、自宅の住所、ユーザの健康若しくはフィットネスのレベルに関するデータ若しくは記録(例えば、バイタルサイン測定値、投薬情報、運動情報)、誕生日、又は任意の他の識別情報若しくは個人情報を挙げることができる。
【0303】
本開示は、本技術におけるそのような個人情報データの使用がユーザの利益になる使用であり得る点を認識するものである。例えば、個人情報データは、デバイスの相互作用を個人専用にするのに使用することができる。したがって、そのような個人情報データを使用することにより、ユーザは電子デバイスをより一層容易に制御することが可能になる。更に、ユーザに利益をもたらす、個人情報データに関する他の使用もまた、本開示によって考察される。例えば、健康データ及びフィットネスデータは、ユーザの全般的なウェルネスについての洞察を提供するために使用することができ、又は、ウェルネスの目標を追求するための技術を使用している個人への、積極的なフィードバックとして使用することもできる。
【0304】
本開示は、そのような個人情報データの収集、分析、開示、転送、記憶、又は他の使用に関与するエンティティが、確固たるプライバシーポリシー及び/又はプライバシー慣行を遵守することを考察する。具体的には、そのようなエンティティは、個人情報データを秘密として厳重に保守するための、業界又は政府の要件を満たしているか又は上回るものとして一般に認識されている、プライバシーのポリシー及び慣行を実施し、一貫して使用するべきである。そのようなポリシーは、ユーザによって容易にアクセス可能であるべきであり、データの収集及び/又は使用が変化するにつれて更新されるべきである。ユーザからの個人情報は、そのエンティティの合法的かつ正当な使用のために収集されるべきであり、それらの合法的使用を除いては、共有又は販売されるべきではない。更に、そのような収集/共有は、ユーザに告知して同意を得た後に実施されるべきである。更に、そのようなエンティティは、そのような個人情報データへのアクセスを保護して安全化し、その個人情報データへのアクセスを有する他者が、それらのプライバシーポリシー及び手順を遵守することを保証するための、あらゆる必要な措置を講じることを考慮するべきである。更に、そのようなエンティティは、広く受け入れられているプライバシーのポリシー及び慣行に対する自身の遵守を証明するために、第三者による評価を自らが受けることができる。更に、ポリシー及び慣行は、収集及び/又はアクセスされる具体的な個人情報データのタイプに適合されるべきであり、また、管轄権固有の考慮事項を含めた、適用可能な法令及び規格に適合されるべきである。例えば、アメリカ合衆国では、特定の健康データの収集又はアクセスは、医療保険の相互運用性と説明責任に関する法律(Health Insurance Portability and Accountability Act、HIPAA)などの、連邦法及び/又は州法によって管理することができ、その一方で、他国における健康データは、他の規制及びポリシーの対象となり得るものであり、それに従って対処されるべきである。それゆえ、各国の異なる個人データのタイプに対して、異なるプライバシー慣行が保たれるべきである。
【0305】
前述のことがらにもかかわらず、本開示はまた、個人情報データの使用又は個人情報データへのアクセスを、ユーザが選択的に阻止する実施形態も考察する。すなわち、本開示は、そのような個人情報データへのアクセスを防止又は阻止するように、ハードウェア要素及び/又はソフトウェア要素を提供できることを考察する。例えば、デジタルアシスタント、ユーザの凝視、及びユーザプロファイルの場合、サービスの登録中又はその後のいつでも、個人情報データの収集への参加の「参加する(opt in)」又は「参加しない(opt out)」を選択することをユーザが選択できるように、本技術を構成することができる。別の実施例では、ユーザは、の個人情報を提供しないことを選択することができる。更に別の実施例では、ユーザは、個人情報が維持される期間を制限するか、又はベースラインプロファイルの展開を完全に禁止するかを選択することができる。「オプトイン」及び「オプトアウト」の選択肢を提供することに加えて、本開示は、個人情報のアクセス又は使用に関する通知を提供することを考察する。例えば、ユーザの個人情報データにアクセスするアプリ(例えば、デジタルアシスタントアプリ)のダウンロード時にユーザに通知され、その後、個人情報データがアプリによってアクセスされる直前に再びユーザに注意してもよい。
【0306】
更に、本開示の意図は、個人情報データを、非意図的若しくは無認可アクセス又は使用の危険性を最小限に抑える方法で、管理及び処理するべきであるという点である。データの収集を制限し、データがもはや必要とされなくなった時点で削除することによって、危険性を最小限に抑えることができる。更に、適用可能な場合、特定の健康関連アプリケーションにおいて、ユーザのプライバシーを保護するために、データの非特定化を使用することができる。非特定化は、適切な場合には、特定の識別子(例えば、生年月日など)を除去すること、記憶されたデータの量又は特異性を制御すること(例えば、位置データを住所レベルよりも都市レベルで収集すること)、データがどのように記憶されるかを制御すること(例えば、データをユーザ全体にわたって情報集約すること)及び/又は他の方法によって、容易にすることができる。
【0307】
それゆえ、本開示は、1つ以上の様々な開示された実施形態を実施するための、個人情報データの使用を広範に網羅するものであるが、本開示はまた、そのような個人情報データにアクセスすることを必要とせずに、それらの様々な実施形態を実施することも可能であることを考察する。すなわち、本技術の様々な実施形態は、そのような個人情報データの全て又は一部分が欠如することにより、実施不可能となるものではない。例えば、ユーザは、非個人情報データ又は最低限の量の個人情報に基づいて電子デバイスと対話することができる。
【手続補正書】
【提出日】2024-08-28
【手続補正1】
【補正対象書類名】特許請求の範囲
【補正対象項目名】全文
【補正方法】変更
【補正の内容】
【特許請求の範囲】
【請求項1】
方法であって、
電子デバイスにおいて、
1つ以上のセンサを用いて、第1の凝視情報を取得することと、
前記第1の凝視情報を用いた、1つ以上の凝視基準のセットが満たされたとの判定に従って、
前記1つ以上の凝視基準のセットが満たされたとの視覚的インジケータを提供することと、
を含む、方法。
【請求項2】
前記1つ以上の凝視基準のセットは、前記電子デバイスについての1つ以上の凝視基準のセットである、請求項1に記載の方法。
【請求項3】
第1の外部デバイスが第1の状態にある間に、前記第1の凝視情報が取得され、
前記1つ以上の凝視基準のセットは、前記第1の外部デバイスについての1つ以上の凝視基準であり、前記方法は、
前記第1の凝視情報を用いた、前記1つ以上の凝視基準のセットが満たされたとの判定に従って、前記第1の状態から第2の状態に前記第1の外部デバイスを遷移させる命令を送信すること
を更に含む、請求項1又は2に記載の方法。
【請求項4】
前記第1の外部デバイスが前記第1の状態にある間に、
第1の命令の第1の部分をユーザから受信することであって、前記第1の凝視情報は前記第1の命令の前記第1の部分を受信した後に取得される、ことと、
前記第1の命令の前記第1の部分を受信した後に、前記第1の命令の第2の部分を前記ユーザから受信することであって、前記第1の状態から前記第2の状態へ前記第1の外部デバイスを遷移させる前記命令を送信することは前記第1の命令に基づく、ことと
を更に含む、請求項3に記載の方法。
【請求項5】
前記第1の凝視情報を用いた、前記1つ以上の凝視基準のセットが満たされたとの判定に従って、
前記第1の外部デバイスが前記第1の状態から前記第2の状態に遷移したとの視覚的インジケータを提供すること
を更に含む、請求項3又は4に記載の方法。
【請求項6】
請求項1乃至5のいずれか一項に記載の方法をコンピュータに実行させるコンピュータプログラム。
【請求項7】
電子デバイスであって、
請求項6に記載のコンピュータプログラムを格納するメモリと、
前記メモリに格納された前記コンピュータプログラムを実行可能な1以上のプロセッサと
を備える電子デバイス。
【請求項8】
請求項1乃至5のいずれか一項に記載の方法を実行する手段を備える電子デバイス。
【外国語明細書】