JP6434144B2 - デバイスにおけるレイズジェスチャ検出 - Google Patents

デバイスにおけるレイズジェスチャ検出 Download PDF

Info

Publication number
JP6434144B2
JP6434144B2 JP2017523775A JP2017523775A JP6434144B2 JP 6434144 B2 JP6434144 B2 JP 6434144B2 JP 2017523775 A JP2017523775 A JP 2017523775A JP 2017523775 A JP2017523775 A JP 2017523775A JP 6434144 B2 JP6434144 B2 JP 6434144B2
Authority
JP
Japan
Prior art keywords
gesture
raise gesture
raise
user
motion sensor
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Active
Application number
JP2017523775A
Other languages
English (en)
Other versions
JP2017527053A (ja
Inventor
シャオユアン ツ
シャオユアン ツ
アニル ケイ カンダンガス
アニル ケイ カンダンガス
アダム エス ハウエル
アダム エス ハウエル
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Apple Inc
Original Assignee
Apple Inc
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Apple Inc filed Critical Apple Inc
Publication of JP2017527053A publication Critical patent/JP2017527053A/ja
Application granted granted Critical
Publication of JP6434144B2 publication Critical patent/JP6434144B2/ja
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
    • G06F3/01Input arrangements or combined input and output arrangements for interaction between user and computer
    • G06F3/017Gesture based interaction, e.g. based on a set of recognized hand gestures
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F1/00Details not covered by groups G06F3/00 - G06F13/00 and G06F21/00
    • G06F1/26Power supply means, e.g. regulation thereof
    • G06F1/32Means for saving power
    • G06F1/3203Power management, i.e. event-based initiation of a power-saving mode
    • G06F1/3234Power saving characterised by the action undertaken
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F1/00Details not covered by groups G06F3/00 - G06F13/00 and G06F21/00
    • G06F1/16Constructional details or arrangements
    • G06F1/1613Constructional details or arrangements for portable computers
    • G06F1/163Wearable computers, e.g. on a belt
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F1/00Details not covered by groups G06F3/00 - G06F13/00 and G06F21/00
    • G06F1/16Constructional details or arrangements
    • G06F1/1613Constructional details or arrangements for portable computers
    • G06F1/1633Constructional details or arrangements of portable computers not specific to the type of enclosures covered by groups G06F1/1615 - G06F1/1626
    • G06F1/1684Constructional details or arrangements related to integrated I/O peripherals not covered by groups G06F1/1635 - G06F1/1675
    • G06F1/1694Constructional details or arrangements related to integrated I/O peripherals not covered by groups G06F1/1635 - G06F1/1675 the I/O peripheral being a single or a set of motion sensors for pointer control or gesture input obtained by sensing movements of the portable computer
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F1/00Details not covered by groups G06F3/00 - G06F13/00 and G06F21/00
    • G06F1/26Power supply means, e.g. regulation thereof
    • G06F1/32Means for saving power
    • G06F1/3203Power management, i.e. event-based initiation of a power-saving mode
    • G06F1/3206Monitoring of events, devices or parameters that trigger a change in power modality
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F1/00Details not covered by groups G06F3/00 - G06F13/00 and G06F21/00
    • G06F1/26Power supply means, e.g. regulation thereof
    • G06F1/32Means for saving power
    • G06F1/3203Power management, i.e. event-based initiation of a power-saving mode
    • G06F1/3206Monitoring of events, devices or parameters that trigger a change in power modality
    • G06F1/3215Monitoring of peripheral devices
    • G06F1/3218Monitoring of peripheral devices of display devices
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F1/00Details not covered by groups G06F3/00 - G06F13/00 and G06F21/00
    • G06F1/26Power supply means, e.g. regulation thereof
    • G06F1/32Means for saving power
    • G06F1/3203Power management, i.e. event-based initiation of a power-saving mode
    • G06F1/3234Power saving characterised by the action undertaken
    • G06F1/325Power saving in peripheral device
    • G06F1/3265Power saving in display device
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F1/00Details not covered by groups G06F3/00 - G06F13/00 and G06F21/00
    • G06F1/26Power supply means, e.g. regulation thereof
    • G06F1/32Means for saving power
    • G06F1/3203Power management, i.e. event-based initiation of a power-saving mode
    • G06F1/3234Power saving characterised by the action undertaken
    • G06F1/3287Power saving characterised by the action undertaken by switching off individual functional units in the computer system
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F1/00Details not covered by groups G06F3/00 - G06F13/00 and G06F21/00
    • G06F1/26Power supply means, e.g. regulation thereof
    • G06F1/32Means for saving power
    • G06F1/3203Power management, i.e. event-based initiation of a power-saving mode
    • G06F1/3234Power saving characterised by the action undertaken
    • G06F1/3296Power saving characterised by the action undertaken by lowering the supply or operating voltage
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
    • G06F3/01Input arrangements or combined input and output arrangements for interaction between user and computer
    • G06F3/011Arrangements for interaction with the human body, e.g. for user immersion in virtual reality
    • G06F3/013Eye tracking input arrangements
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
    • G06F3/01Input arrangements or combined input and output arrangements for interaction between user and computer
    • G06F3/011Arrangements for interaction with the human body, e.g. for user immersion in virtual reality
    • G06F3/014Hand-worn input/output arrangements, e.g. data gloves
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
    • G06F3/01Input arrangements or combined input and output arrangements for interaction between user and computer
    • G06F3/03Arrangements for converting the position or the displacement of a member into a coded form
    • G06F3/033Pointing devices displaced or positioned by the user, e.g. mice, trackballs, pens or joysticks; Accessories therefor
    • G06F3/0346Pointing devices displaced or positioned by the user, e.g. mice, trackballs, pens or joysticks; Accessories therefor with detection of the device orientation or free movement in a 3D space, e.g. 3D mice, 6-DOF [six degrees of freedom] pointers using gyroscopes, accelerometers or tilt-sensors
    • YGENERAL TAGGING OF NEW TECHNOLOGICAL DEVELOPMENTS; GENERAL TAGGING OF CROSS-SECTIONAL TECHNOLOGIES SPANNING OVER SEVERAL SECTIONS OF THE IPC; TECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
    • Y02TECHNOLOGIES OR APPLICATIONS FOR MITIGATION OR ADAPTATION AGAINST CLIMATE CHANGE
    • Y02DCLIMATE CHANGE MITIGATION TECHNOLOGIES IN INFORMATION AND COMMUNICATION TECHNOLOGIES [ICT], I.E. INFORMATION AND COMMUNICATION TECHNOLOGIES AIMING AT THE REDUCTION OF THEIR OWN ENERGY USE
    • Y02D10/00Energy efficient computing, e.g. low power processors, power management or thermal management

Description

本開示は、広義には電子デバイスに関し、特に、電子デバイスを身につけているか、又は他の方法で電子デバイスを操作しているユーザによってなされる、特定のカテゴリのジェスチャを検出することに関する。
(関連出願の相互参照)
本出願は、2014年7月18日に出願された、発明の名称が「Raise Gesture Detection in a Device」である米国仮特許出願第62/026,532号の利益を主張するものであり、その開示内容全体を参照により本明細書に援用する。
ユーザは、ますますモバイル技術に頼るようになっている。例えば、携帯電話技術とハイパワーコンピューティングデバイスとを統合した、ユーザが操作をする際に手の中におさめることが可能なほどフォームファクタが小さい「スマートフォン」を、現在、多くのユーザが携帯している。このようなデバイスは、携帯電話通信、メッセージ送信(例えば、SMS/MMSメッセージ送信又は同様のサービス)、内蔵されたデジタルカメラを使った写真撮影、電子メール、ワールドワイドウェブへのアクセス、さらには、機能面で個人の情報管理(例えば、カレンダー、アドレス帳、しなければならないことのリスト)から位置認識によるナビゲーション及び地図、ゲームにまでおよぶ専用のアプリケーションプログラムからなる、一見すると無限のアレイをはじめとする、様々な機能を提供する。この種のデバイスでは、ユーザの指先に情報と娯楽の世界を置くことができる。
しかしながら、スマートフォンですら、情報に容易にアクセスしたがるユーザの要望を満たすには明らかに不十分である。着用可能技術が、少なからぬ関心を集めている。着用可能デバイスを持つことで、ユーザが、さらに便利なモバイル技術の利益を享受できることが望まれる。
着用可能技術が広く普及するのを妨げる障害のひとつに、既存の着用可能デバイスの大半が、スマートフォンほど便利に使えないことがある。例えば、着用可能デバイスは、フォームファクタが小さめのことが多く、デバイスに内蔵できるバッテリの大きさが制限されている。このため、利用できる動作電力も限られる。電力の浪費を避けるために、既存の着用可能デバイスでは通常、ユーザがデバイスと能動的に関わっていないときに、電力を消費する様々なコンポーネント(例えば、ディスプレイ)が停止されるか、電源が切断される。
ディスプレイ及び/又はユーザ入力コンポーネントは常にオンであるわけではないため、既存の着用可能デバイスでは通常、ユーザがデバイスを使いたいことを示すために、着用可能デバイスのボタンに触れるなど、ユーザが何らかの予備的な入力をする必要がある。こうして予備的な入力を行うことで、着用可能デバイスに自機のディスプレイ及び/又は電力を消費する他のコンポーネントをアクティブにするトリガーを与えることができる。このように予備的な対話をすると、特に、これより古い技術で慣れている一層自然で直感的にわかる対話とは対照的に、デバイスの使用を不自然又は不便なものと感じさせてしまうことがある。例えば、腕時計をしたことがある人は誰でも、時刻を確認するために手首を上げる及び/又は回転させる動作に慣れている。腕時計をする人々にとって、手首を素早く上げることは、自然で無意識にできる動きになっている。ところが、この自然な動きは、既存の腕時計だけで機能する。なぜなら、時計文字盤が「常時オン」であるため、表示された情報(通常は時刻)を見るのにユーザがしなければならないのは、時計文字盤を視線内に入れることだけだからである。しかしながら、着用可能コンピューティングデバイスなどの一層進歩した電子デバイスでは、ディスプレイが常時オンであると、デバイスを1日中着用するという日常的なことが妨げられるほど、電池寿命に制約が生じる可能性がある。
したがって、手首に着用可能なコンピューティングデバイス側で、ユーザがデバイスを着用した手首を上げていることを検出し、その動きに応じてデバイスのディスプレイ(及び/又は他のコンポーネント)を自動的にアクティブにすると望ましい場合がある。このようにすることで、ユーザは、既存の腕時計と同じように簡単かつ直感的に、手首に着用可能なコンピューティングデバイスから視覚情報を得られるようになる。
本発明による複数の実施形態では、手首を上げる動作などのレイズジェスチャを検出可能なコンピューティングデバイスを提供する。例えば、デバイスは、当該デバイスの移動をリアルタイムで検出でき、なおかつ(例えばデバイスに作用する重力加速度を検出することによって)デバイスの空間的な向きに関する情報を推定できる、加速度計及び/又はジャイロスコープなどのモーションセンサを含むことができる。モーションセンサからの信号に基づいて、デバイスで実行されるアルゴリズムによって、ユーザがデバイスのディスプレイを自分の視線内に移動している又は移動したことを示す動きのパターンと定義できる「レイズジェスチャ」を検出可能である。このようなジェスチャの検出に応じて、デバイスは、当該デバイスのディスプレイ及び/又は他のコンポーネント(例えば、タッチスクリーンオーバーレイ、音声処理サブシステムなど)をアクティブにすることができる。いくつかの実施形態では、レイズジェスチャの検出は、複数の段階でなされてもよく、異なるコンポーネントが異なる段階でアクティブにされてもよい。
レイズジェスチャの検出には、様々な技術を利用できる。いくつかの実施形態では、検出アルゴリズムはヒューリスティックに開発可能であり、(デバイスを着用しているユーザが、デバイスのディスプレイを見ることができるであろう、手首に着用されたコンピューティングデバイスの向きであってもよい)「フォーカス姿勢」と、(フォーカス姿勢にされる前における、手首に着用されたコンピューティングデバイスの向きであってもよい)特定の開始姿勢の両方に想定される特性を考慮できる。よって、例えば、レイズジェスチャは、ユーザが腕を下げた位置(例えば、立っているときや歩いているとき)から始めるか腕を横に向けた位置(例えば、タイピングしているとき)から始めるかとは関係なく、検出可能である。さらに、ユーザの特定の活動に合わせて、レイズジェスチャ検出アルゴリズムを最適化することができる。例えば、ユーザが走っているのであれば、ユーザの腕の自然な動きによって、低電力モーションセンサ(例えば、加速度計)から収集されるデータにノイズが生じることがあり、これがレイズジェスチャの検出に干渉することがある。走ることに合わせて最適化されたアルゴリズムであれば、ユーザに何ら違うことをさせる必要なく、他のセンサ(例えば、ジャイロセンサ)からのデータを取り込んで、レイズジェスチャを高信頼度で検出しやすくすることができる。
いくつかの実施形態では、レイズジェスチャ検出アルゴリズムを、デバイスの低電力コプロセッサ(例えば、モーションコプロセッサ)で実行することができる。このため、デバイスが能動的に使用されていないときには、デバイスのメインプロセッサ又は中央処理装置(本明細書では、アプリケーションプロセッサともいう)を低電力状態すなわちスリープの状態にして、デバイスの電力消費量をさらに抑えることが可能である。このコプロセッサ上で実行されているアルゴリズムによるレイズジェスチャの検出を用いて、アプリケーションプロセッサをウェイクさせることができる。いくつかの実施形態では、アプリケーションプロセッサをウェイクさせるか否かを決めるために別の「プレヒート」アルゴリズムを提供でき、このアルゴリズムは、ディスプレイ及び/又は他のユーザインタフェースコンポーネントをアクティブにするか否かを決めるのに用いられるレイズジェスチャ検出アルゴリズムとは独立に動作可能である。
さらに、デバイスがフォーカス姿勢になった後、コプロセッサは、ユーザがデバイスを見るのをやめたことを示す、デバイスがフォーカス姿勢ではなくなるときを判断するためのアルゴリズムを実行することができる。(デバイスの状態とユーザがデバイスを見ているか見ていないかの実態とが常に一致するわけではないこともあるが、本明細書で説明するアルゴリズムは、必ずしも完全ではないとはいえ高い信頼度でこれを一致させられることを、理解されたい。)デバイスがフォーカス姿勢ではなくなっていること(本明細書では、フォーカス解消イベントとも呼ぶ)の検出は、ディスプレイ及び/又は他のユーザインタフェースコンポーネントを非アクティブにする、アプリケーションプロセッサがスリープ状態に戻れるようにするなど、様々な節電対策のトリガーとなり得る。
いくつかの実施形態では、コプロセッサは、レイズジェスチャイベント、フォーカス解消(loss of focus)イベント及び/又はプレヒートイベントを検出するための様々なアルゴリズムの実行をいつ開始又は終了するかを決定するためのウェイク制御ロジックを実行することができる。また、ウェイク制御ロジックは、様々なアルゴリズムによって検出されるイベントの通知を受信し、アプリケーションプロセッサ及び/又はユーザインタフェースコンポーネントなどのデバイスの他のコンポーネントに対する対応する通知を調整することもできる。例えば、ウェイク制御ロジックは、レイズジェスチャが検出されるとアプリケーションプロセッサに通知することができ、アプリケーションプロセッサは、ディスプレイ及び/又は他のユーザインタフェースコンポーネントをアクティブにすることで、応答することができる。
以下の詳細な説明及び添付の図面を参照することにより、本発明の性質及び利点に関する理解をより深めることができよう。
本発明の一実施形態の一般的な使用事例を示す。 本発明の一実施形態の一般的な使用事例を示す。 本発明の一実施形態の一般的な使用事例を示す。 本発明の一実施形態の一般的な使用事例を示す。 本発明の一実施形態によるデバイスのコンポーネントを示すブロック図である。 本発明の一実施形態によるデバイスのコンポーネントを示すブロック図である。 手首に着用可能なデバイス用のデバイス相対座標系の一例を示す。 本発明の一実施形態によるレイズジェスチャ検出プロセスのフローチャートである。 本発明の一実施形態によるジェスチャ分類部を用いてレイズジェスチャを確認するためのプロセスのフローチャートである。 本発明の一実施形態によるレイズジェスチャ検出アルゴリズムの状態を示す状態図である。 本発明の一実施形態による自然なレイズジェスチャ検出モジュールの機能ブロック図である。 本発明の一実施形態による別のレイズジェスチャ検出プロセスのフローチャートである。 本発明の一実施形態による自然なレイズジェスチャ検出モジュールの機能ブロック図である。 本発明の一実施形態の使用事例を示す。 本発明の一実施形態の使用事例を示す。 本発明の一実施形態による意図的なレイズジェスチャを検出するためのプロセスのフローチャートである。 本発明の一実施形態による意図的なレイズジェスチャ検出モジュールの機能ブロック図である。 本発明の一実施形態によるフォーカス解消イベントを検出するためのプロセスのフローチャートである。 本発明の一実施形態によるフォーカス解消検出モジュールの機能ブロック図である。 本発明の一実施形態によるアプリケーションプロセッサをウェイクさせるか否かを決定するためのプロセスのフローチャートである。 本発明の一実施形態によるプレヒート検出モジュールの機能ブロック図である。 本発明の一実施形態によるウェイク制御ロジックの状態を示す状態図である。 本発明の一実施形態によるウェイク制御ロジックで実装可能なプロセスのフローチャートである。
本発明による複数の実施形態では、ディスプレイが常にオンではない、手首に着用可能なデバイスなどのデバイスのユーザにとって、自然な対話を提供することができる。例えば、デバイスは、当該デバイスの移動をリアルタイムで検出でき、なおかつ(例えばデバイスに作用する重力加速度を検出することによって)デバイスの空間的な向きに関する情報を推定できる、加速度計及び/又はジャイロスコープなどのモーションセンサを含むことができる。モーションセンサからの信号に基づいて、着用可能コンピューティングデバイスで実行されるアルゴリズムによって、ユーザがデバイスのディスプレイを自分の視線内に移動している又は移動したことを示す動きのパターンと定義できる「レイズジェスチャ」を検出可能である。(デバイスの状態とユーザがデバイスを見ているか見ていないかの実態とが常に一致するわけではないこともあるが、本明細書で説明するアルゴリズムは、必ずしも完全ではないとはいえ高い信頼度でこれを一致させられることは、理解できよう。)このようなジェスチャが検出されると、着用可能コンピューティングデバイスは、そのディスプレイをアクティブにすることができる。レイズジェスチャの検出に基づいて、ユーザ入力コンポーネント(例えば、タッチスクリーンオーバーレイ、音声処理サブシステムなど)などの他のコンポーネントをアクティブにすることもできる。いくつかの実施形態では、レイズジェスチャの検出は、複数の段階でなされてもよく、異なるコンポーネントが異なる段階でアクティブにされてもよい。
本明細書で使用する場合、「手首に着用可能なデバイス」(又は「手首に着用可能なコンピューティングデバイス」)とは、広義には、フォームファクタがユーザの手首への着用に適しており、ユーザの手首に着用されているときにユーザに情報を提示してユーザから情報を受信できる電子デバイスをいう。いくつかの実施形態では、手首に着用可能なデバイスは、情報を視覚的に提示し、ユーザの指(又はユーザが操作する他の道具)によって、スクリーン又はスクリーン上の特定の領域でなされる接触ジェスチャとしてのユーザ入力を受信するタッチスクリーンディスプレイを有することができる。タッチスクリーンディスプレイに加えて又はタッチスクリーンディスプレイの代わりに、他のユーザインタフェースコンポーネントを提供することもできる。いくつかの実施形態では、手首に着用可能なデバイスは、スタンドアロンのデバイス(例えば、他のデバイスと通信していないデバイス)又は通信相手となる別の電子デバイスに対するコンパニオンデバイスとして動作可能である。例えば、手首に着用可能なデバイスは、ユーザの携帯電話又はユーザの別のパーソナル電子デバイスとペアリングすることが可能である。また、手首に着用可能なデバイスは、着呼、メッセージ又は他の通信が入ってきていることをユーザに通知するなど、他のデバイスの機能を活用又は強化することができる。
手首に着用可能なデバイスは、ユーザにとって便利なものとなり得る。このデバイスは、ユーザの通常の活動を最小限しか妨害しないか全く妨害する可能性がなく、デバイスを手首に位置させることで、容易にアクセスできるようにすることが可能である。ユーザは、単に手首を上げる及び/又は回転させれば、デバイスのディスプレイを自分の視線内に入れることができる。図1A及び図1Bは、手首に着用可能なデバイス102をユーザ100が着用している一般的な使用事例を示し、このデバイスは、ディスプレイ104を有する。図1Aでは、ユーザの腕106は、ユーザの体側の自然な位置にあり、ディスプレイ104はユーザの視線内にない。この位置で、ユーザエクスペリエンスに影響することなく、ディスプレイ104を非アクティブ(例えば、情報が見えないような低電力状態又は電源オフの状態)にすることができる。図1Bでは、ユーザ100は、ディスプレイ104がユーザの視線内の位置にくるまで、腕106を上げて回転させている。この位置では、ディスプレイ104がアクティブである(例えば、表示された情報をユーザが見ることができるように、電力が投入されて明るくなっている)と望ましい。
図1C及び図1Dは、ユーザ100が、手首に着用可能なデバイス102を着用したままタイピングなどの活動をしている、別の一般的な使用事例を示す。図1Cでは、ユーザの腕106は、前腕が地面とほぼ平行で、指がキーに届くように手首をわずかに回内させた状態で、キーボード120でタイピングをするための位置にある。この位置では、図1A同様に、ユーザエクスペリエンスに影響することなく、ディスプレイ104を非アクティブにすることができる。図1Dでは、ユーザ100は、(指がキーボード120から離れるくらいに)腕106を少しだけ上げて、ディスプレイに104を視線内に入れるよう手首をさらに回内している。この位置では、図1B同様に、ディスプレイ104がアクティブであるのが望ましい。
1つの選択肢として、ディスプレイ104を常にアクティブにしておくことがある。しかしながら、ディスプレイ104が非アクティブのときよりアクティブのときのほうが多くの電力を消費するとすれば、使用していないときにディスプレイ104をアクティブのままにしておくと、デバイス102に電力を供給するバッテリに不必要な消耗を生じる可能性がある。別の選択肢として、ユーザ入力に応答したときだけ、ディスプレイ104をアクティブにすることがある。例えば、ユーザは、ディスプレイ104をウェイクさせるのに、デバイス102のボタンを押すかもしれない。しかしながら、これによって、デバイス102の便利さが損なわれる場合がある。例えば、図1A及び図1Bに示すように、ユーザがもう片方の手で鞄108を持っていると、手首に着用可能なデバイス102のボタンを押すのに不都合が生じる場合がある。
本発明による複数の実施形態によれば、手首に着用可能なデバイス102などのデバイスは、ユーザがデバイスを見ようとしているのを自動的に検出できる。このような検出に基づいて、デバイスは、自機のディスプレイ及び/又は他の電力を消費するコンポーネントをアクティブにすることができる。いくつかの実施形態では、ユーザがデバイスを見ようとしていることの検出には、デバイス内の低電力コプロセッサ(例えば、モーションコプロセッサ)で実行される動き分析アルゴリズムを用いることができる。これによって、デバイスのメインプロセッサ(例えば、アプリケーションプロセッサ)を少なくともいくらかの時間スリープさせることができ、さらに電力が節約される。いくつかの実施形態では、動き分析アルゴリズムは、腕及び/又は手首を上げる及び/又は回転させるなど、ユーザがデバイスを見ようとしていることに関連付けられた動きのカテゴリ(本明細書では「レイズジェスチャ」という)(例えば、図1Aと図1B、又は図1Cと図1Dの腕の位置の差)を検出することができ、レイズジェスチャ又は関連する動きの検出によって、ディスプレイをアクティブにするなどの様々な行為のトリガーとなることができる。レイズジェスチャ検出アルゴリズムは、ユーザの「開始」姿勢を感知できるものであってもよく、特定の開始姿勢が予想されるレイズジェスチャに影響する又はこれを変化させることがある。例えば、最初にユーザの腕が(図1Aに示すように)下がった状態であるか、(例えば図1Bに示すように)肘が曲がった位置にあるかによって、予想されるレイズジェスチャが異なる場合がある。また、このアルゴリズムは、有用なデータのタイプ、開始姿勢及び/又はレイズジェスチャをなす動きの性質に影響する可能性のある、ユーザが走っている場合など動作の多い環境で動作するよう修正可能である。
デバイスを見ることに関連付けられた自然な動きに基づいてレイズジェスチャを検出できる例では、ユーザは、自然に手首を上げる及び/又は回転させて(例えば図1B又は図1Dに示すように)デバイスのディスプレイを視線内に入れ、デバイスに何かを急いで入力しなくても、すみやかに(又は無視できる遅れの後に)表示された情報を見ることができる。しかしながら、状況によっては、このように「自然な」レイズジェスチャを検出することは、実用的ではない場合がある。このため、「意図的な」レイズジェスチャを定義することが可能であり、この意図的なレイズジェスチャの検出が、ディスプレイ及び/又は他のコンポーネントをアクティブにすることにつながるようにすることができる。意図的なレイズジェスチャは、ユーザが、デバイスのディスプレイをアクティブにする意図を持って行うことができる具体的な動作と定義することができる。その動作は、ユーザがディスプレイをアクティブにしようとしていないときには行うことが比較的ないであろう腕又は手首の移動に関する仮定に基づいて、定義することができる。例えば、後述するように、意図的なレイズジェスチャは、短い時間幅内に手首が2回振動した後、デバイスが最終的な姿勢で安定することに対応するものと定義することができる。また、他の定義を使用することもできる。
自然なレイズジェスチャの検出、意図的なレイズジェスチャの検出又はデバイスとユーザとの他の何らかの対話の検出によるか否かを問わず、ユーザがデバイスを見ようとしていると判断されると、デバイスのユーザインタフェースをアクティブにして、ユーザがデバイスと対話できるようにすることが可能である。例えば、ユーザは、デバイスに表示された情報を見て入力コントロールを操作し、デバイスに情報及び/又は命令を与えることができるといった具合である。デバイスを見てデバイスと対話しているとき、おそらくユーザは比較的一定の向きでデバイスを持っているであろう。ユーザが対話を終えると、ユーザの腕はその開始位置に戻るか、デバイスのディスプレイがユーザの視線の方には向いていない別の位置に戻るであろう。いくつかの実施形態では、ユーザの視線からデバイスを外すであろう動きは、「フォーカス解消」ジェスチャとして検出でき、ディスプレイ及び/又は他の電力を消費するコンポーネントを非アクティブにするなど、節電のための様々な動作のトリガーとなり得る。
上記に加えて又は上記に代えて、いくつかの実施形態では、デバイスがアクティブに使用されていないときに、電力消費を抑えるために、デバイスのメインプロセッサ(「アプリケーションプロセッサ」ともいう)が低電力すなわち「スリープ」の状態になることができる。スリープ状態から、デバイスのアクティブな使用に適した「ウェイク」状態への遷移(メインプロセッサを「ウェイクさせる」ともいう)を完了させるには、これに付随していくらか待ち時間が生じることがある。このため、ユーザが実際にデバイスを見る前に、ディスプレイ又は他のユーザインタフェースコンポーネントまでもウェイクさせることなく、メインプロセッサのウェイクを開始すると望ましいことがある。いくつかの実施形態では、おそらくレイズジェスチャが開始されるであろうことを検出し、レイズジェスチャが完了する前にメインプロセッサのウェイクを開始することができる「プレヒート(preheat)」検出アルゴリズムを提供する。この動作によって、ユーザがまさにデバイスを見ている場合に、より短い応答時間とすることができる。プレヒート検出アルゴリズムは、レイズジェスチャ検出アルゴリズムと同時に、かつ通常はレイズジェスチャ検出アルゴリズムとは独立して動作することができる。例えば、これらのアルゴリズムは、受信した同じモーションセンサデータについて、異なる分析を行うことができる。
レイズジェスチャ(自然なレイズジェスチャ及び/又は意図的なレイズジェスチャを含む)及びフォーカス解消ジェスチャの検出を、様々な電子デバイスに実装することができる。図2Aは、本発明の一実施形態によるデバイス200のコンポーネントを示すブロック図である。デバイス200は、例えば、図1Aから図1Dに示す手首に着用可能なデバイス102の一実施例であり得る。デバイス200は、ユーザインタフェース202と、アプリケーションプロセッサ204と、ストレージサブシステム206と、コプロセッサ208と、加速度計210と、ジャイロスコープ212と、を含むことができる。
ユーザインタフェース202には、ユーザとデバイス200との対話を容易にするハードウェアコンポーネント及びソフトウェアコンポーネントを取り入れることができる。このようなコンポーネントは、おおよそ既存の設計のものであってもよいし、他の設計のものであってもよい。例えば、いくつかの実施形態では、ユーザインタフェース202は、ユーザの指及び/又は他の物体の接触を検出できる(例えば、容量方式又は抵抗方式の)タッチ感知式オーバーレイを有するディスプレイ(例えば、LEDベース、LCDベース、OLEDベースなど)を取り入れたタッチスクリーンインタフェースを含むことができる。スクリーンの特定の領域に触れることによって、ユーザは、自分がしようとしている行為を示したり、デバイスからの視覚的なプロンプトに応答したりすることができる。これに加えて又はこれに代えて、ユーザインタフェース202は、オーディオコンポーネント(例えば、スピーカ、マイクロフォン)、ボタン、つまみ、ダイアル、触覚入力又は出力装置などを含んでもよい。
アプリケーションプロセッサ204は、おおよそ既存の設計のものであってもよいし、他の設計のものであってもよい1つ以上の集積回路を用いて実現可能(例えば、1つ以上のコアを備えたプログラム可能なマイクロコントローラ又はマイクロプロセッサ)であり、デバイス200の一次処理サブシステムになり得る。ストレージサブシステム206は、メモリ回路(例えば、DRAM、SRAM、ROM、フラッシュメモリなど)又は他のコンピュータ可読記憶媒体を用いて実装することができ、アプリケーションプロセッサ204による実行用のプログラム命令のみならず、その動作の過程でデバイス200によって生成されたデータ又はデバイス200に供給されたデータも記憶できる。動作時、アプリケーションプロセッサ204は、ストレージサブシステム206に記憶されたプログラム命令を実行し、デバイス200の動作を制御することができる。例えば、プロセッサ204は、オペレーティングシステムのみならず、特定のタスク(例えば、時刻の表示、ユーザに対する情報の提示、ユーザからの情報の取得、対になったデバイスとの通信など)に専用の様々なアプリケーションプログラムも実行することができる。アプリケーションプロセッサ204が、必要な処理タスクであればどのようなものでも実行可能であり、本発明の実施形態がどのような特定のアプリケーションとも独立して機能できることは、理解できよう。
本明細書に記載の実施形態では、アプリケーションプロセッサ204は、アプリケーションプロセッサ204による活動(及び電力消費)を減らす又は最小限にすることのできる「スリープ」状態を少なくとも1つと、アプリケーションプロセッサ204がフルに動作している「ウェイク」状態を持つことができる。例えば、アプリケーションプロセッサ204がスリープ状態にある間、アプリケーションプロセッサ204は、アプリケーション及び/又はオペレーティングシステムのプログラムの実行を中断し、再びウェイク状態になったら実行を再開することができる。
コプロセッサ208は、アプリケーションプロセッサ204と同様に、おおよそ既存の設計のものであってもよいし、他の設計のものであってもよい1つ以上の集積回路(例えば、マイクロプロセッサ及び/又はマイクロコントローラ)を用いて実装することができる。コプロセッサ208は、アプリケーションプロセッサ204がスリープ状態であるかウェイク状態であるかとは独立して、ファームウェアとしてコプロセッサ208内に記憶されているか、又は他の方法でコプロセッサ208がアクセス可能なプログラムコード命令を実行することができる。いくつかの実施形態では、コプロセッサ208は、アクティブな動作時の電力消費をアプリケーションプロセッサ204よりも大幅に少なくすることができる。本明細書に記載する例では、コプロセッサ208は、レイズジェスチャ及び/又はフォーカス解消ジェスチャの検出を含む、動きの検出及び分析と関連する動作を行うことができる。また、いくつかの実施形態では、コプロセッサ208は、本明細書には記載のない他の動作を行うこともできる。
コプロセッサ208は、既存の設計又は他の設計の通信インタフェース(例えば、通信バス)であってもよいアプリケーションプロセッサインタフェース214経由で、アプリケーションプロセッサ204に動きの分析に基づいて通知を送ることができる。いくつかの実施形態では、この通知は、アプリケーションプロセッサ204をスリープ状態からウェイクさせる及び/又はユーザインタフェース202をアクティブにする信号を含んでもよい。いくつかの実施形態では、アプリケーションプロセッサインタフェース214は、さらに、加速度計210及び/又はジャイロスコープ212からアプリケーションプロセッサ204に、未処理のデータ又は部分的に処理されたデータを送ることができる。
動きの検出及び分析を容易にするために、コプロセッサ208は、加速度計210及びジャイロセンサ(ジャイロスコープともいう)212など、デバイス200に内蔵されたモーションセンサから入力を受信することができる。加速度計210は、既存の設計又は他の設計を用いて実現可能であり、1本以上の軸に沿ってデバイス200に生じる加速度(重力加速度のみならず、ユーザの動きによる加速度も含む)を感知できるものとすることができる。いくつかの実施形態では、加速度計210は、3軸低電力MEMS加速度計を取り入れることができ、固定のサンプリングレート(例えば100Hz)で加速度データを提供することができる。ジャイロスコープ212も、既存の設計又は他の設計を用いて実現可能であり、1本以上の軸に沿ったデバイス200の向きの変化を感知できるものとすることができる。また、ジャイロスコープ212は、固定のサンプリングレート(例えば100Hz)で向きのデータを提供することができる。
本明細書に記載された例では、加速度計210及びジャイロスコープ212は、デバイス内で方向づけられて、デバイス相対座標系を定めることができる。図3は、手首に着用可能なデバイス300(これは例えば、図1A及び図1Bに示す手首に着用可能なデバイス102であってもよい)用のデバイス相対座標系の一例を示す。手首に着用可能なデバイス300は、ディスプレイ306がユーザに見えるように、ストラップ又はバンド304によって、ユーザの手首302に固定することができる。図に示すように、ユーザがデバイス300を着用しているとき、ユーザの前腕308と実質的に平行にx軸を定めることができ、x軸と直交してディスプレイ306の平面内でy軸を定めることができ、ディスプレイ306の平面に直交して(観察者の方を指して)z軸を定めることができる。いくつかの実施形態では、加速度計は、重力による加速度のみならず、ユーザの動きによる加速度も検出することができる。例えば、前腕308が水平に保たれている場合、加速度計は、重力の方向に対するy軸の角度が変化する際の開始時刻と終了時刻との間の加速度のy成分の変化として、ユーザの手首の回転(又はx軸を中心とした手首に着用可能なデバイス300の回転)を検出することができる。また、x軸を中心とした回転として、ジャイロスコープを用いて手首の回転を検出することもできる。図3に示す座標系は、本開示全体を通して使用されるが、他の座標系に置き換えてもよいことは、理解できよう。
もう一度図2Aを参照すると、いくつかの実施形態では、コプロセッサ208は、(例えば、ソフトウェア又はファームウェアプログラムコードを使用して)加速度計210及び/又はジャイロスコープ212からの信号を分析するための動作及びアルゴリズムを実現する、様々なモジュールを含むことができる。これらのモジュール(「ジェスチャモジュール」又は「ジェスチャ検出モジュール」など、様々な呼称が使われる)のうちのいくつかには、検出レイズジェスチャ及び/又はフォーカス解消ジェスチャに関連する動作及びアルゴリズムを実装することができる。例えば、コプロセッサ208は、レイズジェスチャの可能性のある開始を検出するための「プレヒート」検出モジュール220と、「動作の少ない」環境における自然なレイズジェスチャを検出するための第1の「メイン」検出モジュール222と、「動作の多い」環境における自然なレイズジェスチャを検出するための第2のメイン検出モジュール224と、意図的なレイズジェスチャを検出するための「軽い揺らし(jiggle)」検出モジュール226と、想定される視線からユーザがデバイスを外したことを検出するためのフォーカス解消モジュール228と、を含むことができる。モジュール220、222、224、226、228に実装することができるアルゴリズムの例については、後述する。
ウェイク制御ロジック230は、分析モジュール220〜228の動作を制御することができ、モジュール220〜228によって報告されるジェスチャ状態の決定内容を受信することができる。例えば、ウェイク制御ロジックは、現在のジェスチャ状態に基づいて、任意の時点でモジュール220〜228のうちのどれをイネーブルにすべきか決定することができ、様々なアルゴリズムを選択的にイネーブル又はディセーブルにすることができる。アルゴリズムを選択的にディセーブルにすることで、コプロセッサ208による電力消費量を減らすことができる。また、ジェスチャ状態の決定内容に基づいて、ウェイク制御ロジック230は、アプリケーションプロセッサインタフェース214経由で、アプリケーションプロセッサ204及び/又はユーザインタフェース202に通知を送ることができる。
いくつかの実施形態では、ウェイク制御ロジック230及び/又は動き分析モジュール220〜228は、アルゴリズム又はオペレーションを選択的に又は継続的に実行できる追加のサポートモジュールを利用することができる。例えば、活動分類部232は、加速度計210及び/又はジャイロスコープ212(並びに、デバイス200の中にあってもよい、生理センサなどの他のセンサ)からデータを受信することができ、このデータを分析して、例えば、歩いている、座っている又は静かに立っている、ジョギングしている、走っている、自転車に乗っている、自動車に乗っているなど、ユーザが行っている活動のタイプを決定することができる。活動分類部232には、様々なタイプの活動に関連付けられた特性を特定する機械学習アルゴリズムを実装可能であり、活動分類部232を配備する前にユーザの既知の活動中のセンサのデータを集めることによって、これらのアルゴリズムを訓練することができる。
いくつかの実施形態では、ウェイク制御ロジック230は、活動分類部232の出力を用いて、デバイス200が、ローダイナミックメイン検出モジュール222を使用できる「動作の少ない」環境(例えば、座っている、歩いている又は他の比較的ゆっくりした移動など)にあるか、そうではなくハイダイナミックメイン検出モジュール224を使用すべき「動作の多い」環境(例えば、走っている)にあるかを決定することができる。ウェイク制御ロジック230は、活動分類部232によって示された環境のタイプに応じて、モジュール222又は224を選択的にイネーブル又はディセーブルにすることができる。
いくつかの実施形態では、ジェスチャ分類部234を使用して、メイン検出モジュール222又は224によって検出される自然なレイズジェスチャの検出を確認することができる。後述するように、メイン検出モジュール222及び224は、デバイスの位置を時間の関数として分析し、電力効率のよい方法でレイズジェスチャを検出することができる。しかしながら、これらのアルゴリズムは、視線内に入るまでデバイス200を上げるのと似ている動きを伴うが実際にはそのような作用のないユーザの動作の結果として、時折、誤検出を生じることがある。例えば、ユーザがドアを開けるためにドアの取っ手を回したり、飲み物を飲むためにグラスを持ち上げていたりすることがある。ジェスチャ分類部234には、レイズジェスチャと他の似たような動きとを高信頼度で区別するように訓練された機械学習アルゴリズムを実装することができる。いくつかの実施形態では、ユーザが特定の行動(レイズジェスチャのみならず他の類似の行動を含む)を、実行されるその特定の行動が加速度計データ及び/又はジャイロスコープデータと一緒に記録できる状況で、行っている間に、加速度計データ及び/又はジャイロスコープデータを収集することで、ジェスチャ分類部234を訓練することができる。この情報を使用してアルゴリズムを訓練し、レイズジェスチャと他の似たような行動とを高信頼度で区別する出力を生成することができる。このため、メイン検出モジュール222又は224がジェスチャを検出すると、検出アルゴリズム(又はウェイク制御ロジック230)は、以後の確認又は否認のために、関連する特徴データをジェスチャ分類部234に提供することができる。ジェスチャ分類部234の使用例については、メイン検出モジュール222の実施形態に関連して後述する。いくつかの実施形態では、アプリケーションプロセッサ204がウェイク状態にあるときに、アプリケーションプロセッサ204でジェスチャ分類部234を実行することができる。
図2Bは、本発明の一実施形態によるデバイス250のコンポーネントを示すブロック図である。デバイス250は、例えば、図1Aから図1Dに示す手首に着用可能なデバイス102の一実施例であり得る。デバイス250は、ユーザインタフェースコンポーネント252と、アプリケーション処理ユニット254と、動き処理ユニット258と、モーションセンサ260と、を含むことができる。ユーザインタフェースコンポーネント252は、図2Aに示すユーザインタフェース202(又はタッチスクリーンディスプレイなど、そのコンポーネント)と類似又は同一であってもよい。メイン処理ユニット254は、図2Aに示すアプリケーションプロセッサ204と類似又は同一であってもよい。モーションセンサ260は、図2Aに示す加速度計210及び/又はジャイロセンサ212と類似又は同一であってもよい1つ以上のモーションセンサを含むことができる。他のユーザインタフェースコンポーネント及び/又はモーションセンサを使用することも可能である。
動き処理ユニット258は、図2Aに示すコプロセッサ208と類似又は同一であってもよい。動き処理ユニット258は、様々なジェスチャ検出モジュールを取り入れることができる。例えば、プレヒート検出モジュール270は、図2Aに示すプレヒート検出モジュール220と類似又は同一であってもよい。自然検出モジュール(ローダイナミック)272及び自然検出モジュール(ハイダイナミック)274は、図2Aに示すメイン検出モジュール(ローダイナミック)222及びメイン検出モジュール(ハイダイナミック)224と類似又は同一であってもよい。意図検出モジュール276は、図2Aに示す軽い揺らし検出モジュール226と類似又は同一であってもよい。フォーカス解消検出モジュール278は、図2Aに示すフォーカス解消検出モジュール228と類似又は同一であってもよい。活動分類部モジュール282は、図2Aに示す活動分類部232と類似又は同一であってもよい。ジェスチャ分類部モジュール284は、図2Aに示すジェスチャ分類部234と類似又は同一であってもよい。追加のモジュール又は異なるモジュールを含むことが可能であり、いくつかの実施形態では、図示したよりも多くのモジュール又は少ないモジュールを含むことが可能である。
デバイス200及び250は例示的なものであり、変形及び修正が可能であることが理解されるであろう。デバイス200又は250の実施形態には、図示されたものに加えて、又は図示のものに代えて、他のコンポーネントを含むことができる。例えば、デバイス200又は250は、電源(例えば、バッテリ)及び配電及び/又は電力管理コンポーネントを含んでもよい。デバイス200又は250は、コンパス、温度計又は他の外部温度センサ、絶対位置を決定するための全地球測位システム(GPS)受信機若しくは同様のもの、画像を捕捉するためのカメラ、生理センサ(例えば、脈拍センサ、血圧センサ、皮膚コンダクタンスセンサ、皮膚温度センサなど)などの他のセンサを含んでもよい。デバイス200又は250は、パーソナルデバイス及び/又はネットワークアクセスデバイスをはじめとする他のデバイスとの通信を可能にするための通信コンポーネントを含むことができる。例えば、デバイス200又は250は、RF送受信機及び1つ以上の無線通信標準(例えば、Bluetooth標準、IEEE 802.11ファミリー標準、3G、LTEなどのセルラーデータネットワークデータ標準)を実装している、関連のプロトコルスタックを含むことができる。これに加えて又はこれに代えて、デバイス200又は250は、(例えば、USB、UART、イーサネット又は有線通信プロトコルをサポートしている)レセプタクルコネクタなどの有線通信インタフェースを含んでもよい。
さらに、デバイス200及び250は、特定のブロックを参照して説明されているが、これらのブロックは説明の都合上定義されたものであって、構成部品の特定の物理的構成を意味することを意図したものではないことは、理解できよう。さらに、これらのブロックは、物理的に別個のコンポーネントに相当する必要はなく、物理的に同じコンポーネントを使用して、複数のブロックの態様を実装してもよい。ブロックは、例えば、プロセッサをプログラムすることによって、あるいは適切な制御回路を設けることによって様々な動作を行うように構成することができ、最初の構成がどのように得られるかによって、様々なブロックを再構成できることもあれば、できないこともある。本発明の実施形態は、回路とソフトウェアとの任意の組み合わせを使って実装される電子機器を含む様々な装置において実現することができる。さらに、デバイス200と250は完全に入れ替えが可能であり、デバイス200(又はそのコンポーネント)に言及する説明がいずれもデバイス250にも適用されることは、理解できよう。
動作時、コプロセッサ208は、「常時オン」(例えば、デバイス200が着用されている場合は常に)であってもよく、ウェイク制御ロジック230は、例えば、ユーザがデバイスを見ているか否かに応じて、モジュール220、222、224、226、228のいずれか又は全てを選択的にアクティブにする(又はイネーブルにする)ことができる。これらのアルゴリズムは、レイズジェスチャ、プレヒートイベント、フォーカス解消イベントなどをはじめとする様々なジェスチャ状態イベントを検出し、報告することができる。具体例については後述する。アルゴリズムがイベントを報告すると、ウェイク制御ロジック230は、アプリケーションプロセッサインタフェース214経由で、アプリケーションプロセッサ204にイベントを通知することができる。イベントに応じて、アプリケーションプロセッサ204は、スリープ状態からウェイク状態への遷移及び/又はアクティブな状態と非アクティブな状態との間でのユーザインタフェース202のコンポーネントの遷移など、様々な行動をとることができる。
以下、ジェスチャ関連イベントを検出するための具体的なアルゴリズムの例について説明する。本明細書で使用する場合、「ジェスチャ関連イベント」は概して、モジュール220、222、224、226、228などのモジュール又はアルゴリズムによって検出される、任意のジェスチャに関連した遷移をいう。このようなイベントの例としては、レイズジェスチャ(後述するような「可能性のある」「検出済」及び/又は「確認済」レイズジェスチャの特定を含む)、プレヒートジェスチャ及び/又はフォーカス解消ジェスチャが挙げられる。後述するような種類のアルゴリズムを、例えば、プログラム可能なプロセッサ(例えば、コプロセッサ208)に好適なプログラムコードを与えること及び/又は記載の動作を行うための専用のロジック回路を設けることによって、実装することができる。
いくつかの実施形態では、レイズジェスチャ検出アルゴリズムは、レイズジェスチャが行われたという確信を高める一連の状態を経て進むことができる。例えば、レイズジェスチャ検出アルゴリズムは、対象とする時間幅(例えば、ユーザがレイズジェスチャをするのに、おそらくかかるであろう時間)に対応する、一組のモーションセンサデータサンプル(加速度計及び/又はジャイロセンサのデータを含む)を選択することができる。組の中にある最も古い1つ以上のサンプルを考慮することで、このアルゴリズムは、時間幅の最初におけるデバイスの空間的な向きを反映可能な「開始姿勢」を定めることができる。この向きは、仮定された重力の垂直軸に対して定めることができる。開始姿勢に基づいて、アルゴリズムは、デバイスのディスプレイをユーザが視線内に入れる(デバイスが「フォーカス姿勢」にされているともいう)ためにおそらく生じるであろう動きの量及び/又は1つ以上の方向を、決定することができる。このおそらく生じるであろう動きの量及び/又は1つ以上の方向は、「可能性のある」レイズジェスチャを特定するための基準として表現されることができ、これらの基準を使用して、一組のモーションセンサデータサンプルのうちいくつか又は全てに基づいて、可能性のあるレイズジェスチャが生じているか否かを特定することができる。また、フォーカス姿勢に達しているデバイスが、少なくとも最短の時間、フォーカス姿勢のままであるか否かを決定することで、可能性のあるレイズジェスチャを「検出済」レイズジェスチャとして特定することができる。必要であれば、ジェスチャ分類部を使用して、さらなる確認を行ってもよい。レイズジェスチャ検出アルゴリズムは、可能性のあるレイズジェスチャ、検出済レイズジェスチャ及び/又は確認済レイズジェスチャを特定するたびに、デバイスの他のコンポーネントに通知することができる。
レイズジェスチャ検出の段階的なアプローチの具体例として、図4は、本発明の一実施形態によるレイズジェスチャ検出プロセス400のフローチャートである。プロセス400は、例えば、図2Aに示すメイン検出(ローダイナミック)モジュール222において実行可能である。レイズジェスチャ検出プロセス400は、(可能性のある、検出済の、確認済の)一連のジェスチャ状態を経て進むことができ、各々の状態遷移を、例えば図2Aに示すウェイク制御ロジック230に報告することができる。後述するように、ウェイク制御ロジック230は、ジェスチャ状態遷移を使用して、アプリケーションプロセッサ204をウェイクさせるか否か及びそれをいつするか、並びに/又はユーザインタフェース202をアクティブにするようアプリケーションプロセッサ204に命じるか否か及びそれをいつするかを決定することができる。
プロセス400は、ユーザインタフェース202が非アクティブな状態にあるときに開始することができる(ブロック402)。このとき、アプリケーションプロセッサ204は、必要に応じて、スリープ状態にあってもよいしウェイク状態にあってもよい。加速度計210は、一定のサンプリングレート(例えば100Hz)で、更新されたデータを提供していることができ、このデータは、図3に示すようなデバイス相対座標を使用して、加速度のベクトル成分(ax、ay、az)を示すことができる。受信したデータについては、例えば、循環バッファ又はFIFOなどを用いてバッファすることができる。
ブロック404において、プロセス400は、加速度計データバッファから、データサンプルを読み出すことができる。データ量は、動きを分析するための所望の時間幅とサンプリングレートに依存する場合がある。例えば、プロセス400は、時間の固定の幅すなわちウィンドウ(例えば、0.5秒、1秒など)に対応するデータを読み出すことができる。
ブロック406では、プロセス400は、時間幅の開始に相当することがある、バッファから読み出された最も古いサンプルなどに基づいて、デバイスの開始姿勢を推測することができる。いくつかの実施形態では、加速度計の測定値は、重力加速度(デバイスの向きに応じた方向で1g)を含む。このため、他の加速度が比較的小さい場合、加速度計データに基づいて、重力に対するデバイスの向きを決定することができる。例えば、図1Aに示す腕を下げた位置では、加速度計210は、約1gのaxを検出し、約0のay及びazを検出することがある。図1Cに示すタイピングをする位置では、加速度計210は、約0のax、0から1gの間のay、0からー1gの間のazを検出することがある。よって、ブロック406には、最も古いサンプル(例えば、5〜10個のサンプルの平均)と、特定の「基準となる」開始姿勢に関連するサンプルパターンとを比較することを含んでもよい。基準となる開始姿勢は、例えば、デバイスを着用している人が特定の姿勢(例えば、図1A又は図1Cに示す姿勢)であることがわかっている条件下で収集された加速度計の測定値に基づいて、デバイスの配備前に定義することができる。いくつかの実施形態では、開始姿勢は、基準となる複数の開始姿勢を混合したものと定義することができる。例えば、この混合したものは、基準となる開始姿勢の加重平均と定義することができ、基準となる開始姿勢各々の重みは、基準となる開始姿勢に関連付けられたデバイスの向きと測定されたデバイスの向きがどの程度類似しているかの度合いに基づいている。
ブロック408では、推測された開始姿勢に基づいて、プロセス400は、その開始姿勢から実行される「可能性のある」レイズジェスチャを特定するための基準を選択することができる。異なる開始姿勢には、異なる基準を定義してもよい。例えば、開始姿勢が(例えば、図1Aに示すような)腕を下げた状態である場合、レイズジェスチャには前腕を持ち上げて手首を回転させることを伴うと予想され、両方とも主にax及びayの変化を参照して検出できるが、azに対するいくらかの影響も予想されることがある。開始姿勢が(例えば、図1Cに示すような)タイピングをする姿勢である場合、前腕はほとんど持ち上げらないか全く持ち上げらない(結果として、axがほとんど変化しない)可能性があるが、おそらく傾斜には変化が生じているであろう。これを最も高信頼度で検出できるのは、ayの変化としてである。(ユーザが経験し得る偶発的な揺れ又は他のランダムな動きとは対照的に、意図的なジェスチャは滑らかになされると仮定して)動きの滑らかさを定量化するパラメータなど、バッファにある加速度計データから導くことが可能な他の基準を使用してもよい。いくつかの実施形態では、開始姿勢を前提とした可能性のあるレイズジェスチャを特定するための一組の基準を、ヒューリスティックに確立することができる。例えば、複数のユーザに、特定の開始姿勢からレイズジェスチャをするよう求め、開始姿勢からレイズジェスチャの完了までの移動の間に、得られる加速度計データを収集することができる。特定の開始姿勢からなされる、可能性のあるレイズジェスチャを認識するための特定の基準(例えば、ayの変化の閾値、動きの滑らかさなど)を特定するために、統計的アルゴリズムを適用してこのデータを分析することができる。この段階での基準は、検出漏れ(false negative)は比較的少なく保てるが誤検出(false positive)が起こり得るほど粗いことがある。姿勢依存の閾値基準を確立するために、ヒューリスティックな練習を、基準となる開始姿勢に対して何回でも繰り返すことができる。いくつかの実施形態では、ブロック406で開始姿勢が推測されると、可能性のあるレイズジェスチャを特定するための対応する一組の基準をブロック408においてテーブルを参照して選択できるように、分析の結果を使用して基準のテーブルを生成することができる。いくつかの実施形態では、開始姿勢は、基準となる複数の開始姿勢を混合したものと定義することができ、この場合、ブロック408には、基準となる複数の開始姿勢のために定義された選択基準を混合することを含むことができる。
ブロック410では、プロセス400は、例えば、ブロック408で選択された基準が満たされているか否かなど、可能性のあるレイズジェスチャが特定されたか否かを判定することができる。いくつかの実施形態では、この判定には、特定の加速度計データサンプル及び/又は加速度計データサンプルから計算された他のパラメータを、ブロック408で選択された閾値基準と比較することを含んでもよく、可能性のあるレイズジェスチャは、閾値の基準が満たされた場合に検出される。さらに、レイズジェスチャが行われている場合、このジェスチャが完了すると、デバイスは、自機のディスプレイがユーザの視線内にあることと整合性が取れる向きで静止すると想定されてもよい。このため、ブロック410には、例えば、時間幅の終了に対応し得る、バッファから読み出された最も新しいサンプルに基づいて、デバイスの終了姿勢を推測することを含むことができる。この終了姿勢を、ディスプレイがユーザの視線内にあることと整合性が取れる一定範囲の姿勢(例えば、水平に対してy及び/又はx方向に一定の傾斜角の範囲)と比較することができ、終了姿勢がこの範囲内にある場合に、可能性のあるレイズジェスチャが検出される。「フォーカス姿勢」という用語は、本明細書では、(例えば、傾斜角に基づいて)デバイスがユーザの視線内にあることと整合性が取れると考えられる範囲内の姿勢を総称するのに用いられる。
可能性のあるレイズジェスチャが検出されない場合、プロセス400は、ブロック404に戻り、加速度計データを追加で読み出すことができる。上述したように、ブロック404で読み出されたデータは、実時間の固定幅に対応する固定長のウィンドウであってもよい。ブロック404の連続した繰り返しの際に読み出される連続したデータウィンドウは、重なることできる。例えば、ウィンドウが実時間の1秒に対応する場合、連続した繰り返しが0.1秒ごとなどで起こり得る(あるいは、これよりも速い速度でもよく、繰り返されるたびにウィンドウが少なくとも1サンプル分だけシフトする限り、ブロック406及び408の連続した繰り返しでの分析は冗長にはならない)。このようにすることで、ウィンドウの影響で検出漏れが生じる可能性を減らすことができる。
ブロック410で可能性のあるレイズジェスチャが検出されると、ブロック412において、プロセス400は、可能性のあるジェスチャが検出されたことをウェイク制御ロジック230に通知することができる。後述するように、ウェイク制御ロジック230は、この通知に応じて、アプリケーションプロセッサ204及び/又はユーザインタフェース202に通知をするなどの行動をとることができる。ブロック414では、プロセス400は、加速度計の追加のデータサンプル(例えば、元のウィンドウの外で新たに受信したサンプルを含む)を監視して、デバイスがフォーカス姿勢のままである(例えば、ほぼ同じ位置に保たれている)か移動し続けているかを検出することができる。例えば、上述したように、ユーザがデバイスを見ている間に想定される特定範囲の傾斜角に基づいて、フォーカス姿勢を定めることができる。傾斜角は加速度計データから推定でき、傾斜角がこの範囲に達してこの範囲内にとどまるのであれば、その状態がフォーカス姿勢のままであることに対応している可能性がある。
いくつかの実施形態では、フォーカス姿勢に対応する加速度計データの値の範囲は、少なくとも部分的に開始姿勢に依存することがある。例えば、開始姿勢からフォーカス姿勢への遷移には、y軸に沿った一定量の傾斜(本明細書では「y傾斜」ともいう)の蓄積を伴うことがある。例えば、蓄積したy傾斜は、(ユーザの手首が逸らされている間の)0以上である最初のay成分から(ディスプレイをユーザの目の方に向けるよう手首が回転したときの)0未満である最後のay成分までの正味の変化として測定することができる。ブロック414には、y傾斜が一定のままであるか、蓄積し続けているか、方向が逆になるかを監視することを含むことができ、y傾斜の蓄積がなくなると、動いてフォーカス姿勢から外れた可能性がある。
プロセス400は、持続時間が閾値(例えば、0.1秒、0.5秒など)に達する又はこれを超えるまで、あるいは、フォーカス姿勢ではなくなったことが加速度計データによって示されるまで、ブロック414で持続時間を監視することができる。ブロック416では、持続時間が閾値に達する前にフォーカス姿勢ではなくなった場合、プロセス400はブロック404に戻り、新たな開始姿勢を決定して可能性のある別のレイズジェスチャの検出を試みることができる。
ブロック416でフォーカス姿勢での持続時間が閾値を超えた場合は、以前に検出された可能性のあるレイズジェスチャを、検出済レイズジェスチャとして再分類することができる。ブロック418では、プロセス400は、検出済レイズジェスチャが生じていることを、ウェイク制御ロジック230に通知することができる。後述するように、ウェイク制御ロジック230は、この通知に応じて、ユーザインタフェース202をアクティブにする、アプリケーションプロセッサ204に通知をするなどの行動をとることができる。
いくつかの実施形態では、誤検出を減らすためにレイズジェスチャのさらなる確認をすることが望ましい場合がある。このため、ブロック420において、レイズジェスチャを検出した後、プロセス400は、さらなる分析プロセス、例えば、図2Aに示すジェスチャ分類部234を呼び出すことができる。上述したように、ジェスチャ分類部234は、レイズジェスチャを他の類似のジェスチャと区別するように事前に訓練された機械学習アルゴリズムであってもよい。ジェスチャ分類部234は、ブロック420でプロセス400によって提供されたデータを分析して、検出済レイズジェスチャを確認又は否認のいずれかをすることができる。ブロック422でレイズジェスチャが確認された場合、プロセス400は、ブロック424でウェイク制御ロジック230にその旨を通知することができ、その後、プロセス400を終えることができる(ブロック426)。ブロック422でレイズジェスチャが確認されない場合、プロセス400は、ブロック428でウェイク制御ロジック230にその旨を通知することができ、その後、プロセス400はブロック404に戻り、可能性のある別のレイズジェスチャの検出を試みることができる。いくつかの実施形態では、ブロック426で終了した後、例えば(後述するように)フォーカスの解消が検出されたとき又はユーザインタフェース202が何らかの理由で非アクティブになったときなど、いつでも(ブロック402で)プロセス400を再開することができる。
図5は、本発明の一実施形態によるジェスチャ分類部を使用してジェスチャを確認するためのプロセス500のフローチャートである。プロセス500は、上述した図4に示すプロセス400との関連で使用することができる。プロセス500は、例えばメインジェスチャ検出モジュール222によって実行可能であり、これによってジェスチャ分類部234を呼び出すことができる。
プロセス500は、メインジェスチャ検出モジュール222が、例えばプロセス400のブロック416でレイズジェスチャを検出したときに、ブロック502で開始することができる。ブロック504において、メインジェスチャ検出モジュール222は、検出済レイズジェスチャに信頼スコアを割り当てることができる。いくつかの実施形態では、信頼スコアを、デバイスの姿勢がフォーカス姿勢の予想される特徴といかに良く一致するか(例えば、デバイスの姿勢が、フォーカス姿勢で予想される加速度計データの値及び/又は傾斜値の範囲の端付近にあるか中央付近にあるか)ということと、フォーカス姿勢の持続時間の長さとの組み合わせに基づくものとすることができる。
ブロック506では、プロセス500は、ジェスチャ分類部にとっての目立った開始点を(時刻で)選択することができる。この目立った開始点は、フォーカス姿勢に至る加速度計データサンプルの傾向に基づいて選択可能である。例えば、プロセス500は、加速度計データサンプルが、レイズジェスチャを示す形で変化し始めた時点を特定することができる。これによって、プロセス500は、ユーザが異なる速度でレイズジェスチャを行うことができるという事実を考慮できるようになる。ユーザが素早く移動すると、目立った開始点は、ユーザがゆっくり移動する場合よりも現在(すなわち最新のサンプル)に近づくことになる。このように、ジェスチャ分類に関連するデータのウィンドウを可変にすることができる。
ブロック508では、プロセス500は、目立った開始点から現在まで延びるデータのウィンドウから、ジェスチャ分類部が対象とする特徴を抽出することができる。レイズジェスチャの対象とする特徴は、ジェスチャ分類部がどのように訓練されたかに依存することがある。ジェスチャ分類部が加速度計データに基づいて動作するいくつかの実施形態では、対象とする特徴として、加速度計の実際のサンプル(ax、ay、az)、滑らかさのパラメータ(例えば、加速度計の連続するサンプル間の変化の標準偏差に基づく)、時間の関数としての蓄積した傾斜(例えば、y傾斜)、開始時及び終了時のデバイスの向き又は姿勢(例えば、開始時と終了時の傾斜値)が挙げられる。ジェスチャ分類部がジャイロスコープデータに基づいて動作するいくつかの実施形態では、対象とする特徴として、ジャイロスコープの実際のサンプル(rx、ry、rz)、水平面(すなわち、重力方向に垂直な面)を横切る円弧の長さ、滑らかさのパラメータ(例えば、ジャイロスコープの連続するサンプル間の変化の標準偏差に基づく)が挙げられる。
ブロック510では、プロセス500は、ジェスチャ分類部234を呼び出して、抽出された特徴を処理することができる。いくつかの実施形態では、ジェスチャ分類部234を、線形判別分析を実行するベイジアン分類部とすることができる。上述したように、配備に先立って線形判別分析アルゴリズムを訓練することができ、これによって、特徴がレイズジェスチャに対応する確率をジェスチャ分類部234で迅速に計算できるようにしている。ブロック512では、プロセス500は、ジェスチャ分類部234からの出力を受信することができる。この出力は、例えば、レイズジェスチャがなされた(0と1との間の)確率を含んでもよい。
ブロック514では、プロセス500は、レイズジェスチャが確認されたか否かを決定することができる。いくつかの実施形態では、この決定は、ジェスチャ分類部234の確率出力についての閾値に基づくことができ、閾値については、例えば0.5、0.75、0.85又は必要に応じて他の何らかの閾値に設定できる。通常、閾値が大きいほど誤検出が少なくなるが、検出漏れが多くなり、所与の実装で許容される誤検出及び/又は検出漏れのレベルに基づいて、最適な閾値を選択することができる。いくつかの実施形態では、閾値を、ブロック504で割り当てられる信頼スコアの関数として選択することができる。例えば、ブロック514での信頼スコアが大きいと、ジェスチャ分類部によって割り当てられる確率に対する閾値が小さくなることがあり、信頼スコアが小さいと、ジェスチャ分類部によって割り当てられる確率に対する閾値が大きくなることがある。
ブロック516では、プロセス500は、判定を下すか、より多くのデータを待つかを決定することができる。例えば、ジェスチャが確認されないが、ジェスチャ分類部からの確率出力が閾値に近い場合、追加のデータを待つことが好ましい場合がある。この場合、プロセス500は、レイズジェスチャの確認、否認のいずれもせずにブロック518で終了することができ、上述したプロセス400のブロック414に制御を戻すことができる。あるいは、プロセス500は、確認又は否認のいずれかをしてブロック520で終了することができ、上述したプロセス400のブロック422に制御を戻すことができる。
プロセス500は例示的であり、変形及び修正が可能であることが理解されるであろう。逐次として説明されたステップを同時並行で行ってもよく、ステップの順序を変更しても、ステップの修正、組み合わせ、追加又は省略をしても構わない。例えば、他の確認アルゴリズムを使用することができる。いくつかの実施形態では、プロセス500は、待機する選択肢なしで、常に確認又は否認の判定をすることができる。
いくつかの実施形態では、ジェスチャ分類部234による確認又は否認によって、デバイスの挙動が変わることがある。例えば、検出済レイズジェスチャが確認されるまで、いくつか又は全てのユーザインタフェースコンポーネントをアクティブにするのを延期することができる。別の例として、検出済レイズジェスチャに応じてユーザインタフェースコンポーネントがアクティブにされた場合、ジェスチャ分類部234によるその後の否認によって、そのユーザインタフェースコンポーネントを非アクティブにすることができる。
図6は、本発明の一実施形態によるプロセス400)を実行するレイズジェスチャ検出モジュール222のジェスチャ状態を示す状態図である。これらの状態間の遷移を、ウェイク制御ロジック230に報告することが可能であり、又は他の方法で、ユーザインタフェース202及び/又はデバイス200の他のコンポーネントの状態に影響を及ぼすのに使用することができる。
状態602は、ジェスチャ検出モジュール222がまだ可能性のあるレイズジェスチャを検出していない「ヌル」状態とすることができる。これは、例えば図4のプロセス400の初期状態であってもよく、可能性のあるレイズジェスチャが(例えば、図4のブロック410で)検出されるまで、モジュール222は、この状態にとどまることができる。状態604は、モジュール222が(例えば、図4のブロック410で)可能性のあるレイズジェスチャを検出した「可能性のあるジェスチャ」状態とすることができる。その後に可能性のあるレイズジェスチャが却下された場合は、モジュール222は、ヌル状態602に戻ることができる。可能性のあるレイズジェスチャが(例えば図4のブロック416で)検出済レイズジェスチャになると、モジュール222は、「検出済ジェスチャ」状態606に遷移することができる。これは、レイズジェスチャが生じている確信度の高まりを反映している。状態606にある間に、(例えば、プロセス400のブロック420及び422で)さらなる分析を行い、検出済レイズジェスチャを確認することができる。検出済レイズジェスチャが確認されない場合、モジュール222は、ヌル状態602に戻ることができる。検出済レイズジェスチャが確認されると、モジュール222は、確認済ジェスチャ状態608に遷移することができる。この時点で、レイズジェスチャの検出が終了し、モジュール222のそれ以上の実行を止めることができる。上述したように、レイズジェスチャの検出が再び有用になる(例えば、フォーカス解消が検出されるか、そうでなければ、ユーザインタフェース202が非アクティブになる)と、モジュール222を再起動することができる。さらに、後述するように、確認済ジェスチャ状態608に達すると、フォーカス解消検出モジュール228などの他のアルゴリズムを使用して、ジェスチャ状態の監視を続けて、確認済ジェスチャ状態608からヌル状態602への遷移を検出することができる。プロセス400は、図6の状態及び遷移を提供するモジュール222の例を提供するものであるが、他のアルゴリズムに置き換えてもよいことは、理解できよう。
図7は、本発明の一実施形態による自然なレイズジェスチャ検出モジュール700の機能ブロック図である。図に示すように、自然なレイズジェスチャ検出モジュール700を、図2Bの動き処理ユニット258内で、例えば自然なレイズジェスチャ検出モジュール272として実装することができる。また、自然なレイズジェスチャ検出モジュール700を、図2Aのメイン(ローダイナミック)検出モジュール222として実装することもできる。自然なレイズジェスチャ検出モジュール700は、開始姿勢推測ユニット702と、基準決定ユニット704と、可能性のあるレイズジェスチャ決定ユニット706と、検出済レイズジェスチャ決定ユニット708と、確認ユニット710と、を含むことができる。それぞれのユニットを、例えば、プロセッサ及び/又は専用の論理回路上で実行可能なプログラムコードを使用して実装することができる。
開始姿勢推測ユニット702は、モーションセンサデータを受信し、モーションセンサデータに基づいて開始姿勢を推測することができる。例えば、開始姿勢推測ユニット702には、上述したプロセス400のブロック406を実装することができる。開始姿勢推測ユニット702は、推定開始姿勢を、基準決定ユニット704に提供することができる。
基準決定ユニット704は、開始姿勢推測ユニット702によって推測された開始姿勢に少なくとも部分的に基づいて、可能性のあるレイズジェスチャを検出するための基準を決定することができる。例えば、基準決定ユニット704には、上述したプロセス400のブロック408を実装することができる。基準決定ユニット704は、可能性のあるレイズジェスチャを検出するための基準を、可能性のあるレイズジェスチャ決定ユニット706に提供することができる。
可能性のあるレイズジェスチャ決定ユニット706は、モーションセンサを受信し、受信データが基準決定ユニット704によって決定された基準を満たすか否かを決定することができる。例えば、可能性のあるレイズジェスチャ決定ユニット706には、上述したプロセス400のブロック410を実装することができる。基準が満たされた場合、可能性のあるレイズジェスチャ決定ユニット706は、他のシステムコンポーネント(例えば、図2Aのウェイク制御ロジック230又は図2Bのウェイク制御ロジックモジュール280)に通知することができる。例えば、可能性のあるレイズジェスチャ決定ユニット706には、上述したプロセス400のブロック412を実装することができる。また、可能性のあるレイズジェスチャ決定ユニット706は、基準が満たされた場合、検出済レイズジェスチャ決定ユニット708にも通知をすることができる。
検出済レイズジェスチャ決定ユニット708は、可能性のあるレイズジェスチャ決定ユニット706から、可能性のあるレイズジェスチャの通知を受信することができ、加速度計データを追加で監視して、最小限の持続時間が生じる及び/又は検出済レイズジェスチャのための他の条件が満たされるか否かを決定することができる。例えば、検出済レイズジェスチャ決定ユニット708には、上述したプロセス400のブロック414及び416を実装することができる。検出済レイズジェスチャのための条件が満たされる場合、検出済レイズジェスチャ決定ユニット708は、他のシステムコンポーネント(例えば、図2Aのウェイク制御ロジック230又は図2Bのウェイク制御ロジックモジュール280)に通知することができる。例えば、検出済レイズジェスチャ決定ユニット708には、プロセス400のブロック418を実装することができる。また、検出済レイズジェスチャ決定ユニット708は、検出済レイズジェスチャのための条件が満たされるか否かを確認ユニット710に通知することもできる。
確認ユニット710は、検出済レイズジェスチャに関連付けられたモーションセンサデータに基づいて、ジェスチャの確認を行うことができる。例えば、確認ユニット710には、上述したプロセス400のブロック420及び422及び/又はプロセス500のブロック504〜520を実装することができる。いくつかの実施形態では、確認ユニット710は、図2Aのジェスチャ分類部234又は図2Bのジェスチャ分類部モジュール284を呼び出すことができる。確認ユニット710は、検出済レイズジェスチャが確認されたか否認されたかを、他のシステムコンポーネント(例えば、図2Aのウェイク制御ロジック230又は図2Bのウェイク制御ロジックモジュール280)に通知することができる。
自然なレイズジェスチャ検出モジュール700は例示的なものであり、変形及び変更が可能であることが理解されるであろう。例えば、自然なレイズジェスチャ検出モジュール700は、特定のブロック又はユニットを参照して説明されているが、これらのブロックは説明の都合上定義されたものであって、構成部品の特定の物理的構成を意味することを意図したものではないことは、理解できよう。さらに、これらのブロックは、物理的に別個のコンポーネントに相当する必要はなく、物理的に同じコンポーネントを使用して、複数のブロックの態様を実装してもよい。ブロックは、例えば、プロセッサをプログラムすることによって、あるいは適切な制御回路を設けることによって様々な動作を行うように構成することができ、最初の構成がどのように得られるかによって、様々なブロックを再構成できることもあれば、できないこともある。本発明の実施形態は、回路とソフトウェアとの任意の組み合わせを使って実装される電子機器を含む様々な装置において実現することができる。
自然なレイズジェスチャを検出するためのアルゴリズムの別の例が、図2Aのハイダイナミックメイン検出モジュール224であり、これを、ユーザが走るなどの動作の多い活動をしているときの自然なレイズジェスチャの検出に、適合させることができる。本明細書で使用する場合、「動作の多い活動」とは、加速度計データがレイズジェスチャを検出するには信頼できないものとなり得るような腕又は手首の大きな動きを本来的に伴う活動をいうことができる。ユーザが動作の多い活動をしているとき、ハイダイナミック検出モジュール224は、加速度計データを、ジャイロセンサ212などの他のセンサからのデータで補うか、又はこれで置き換えることができる。
ローダイナミック検出モジュール222を使用するかハイダイナミック検出モジュール224を使用するかを、例えばウェイク制御ロジック230によって決定することができる。例えば、ウェイク制御ロジック230は、ユーザが現在動作の多い活動をしている(例えば、走っている)か、他の活動をしている(例えば、歩いている)か、何も活動していないかを示す情報を、活動分類部232から受信することができる。別の例として、いくつかの実施形態では、ユーザが、動作の多い活動を開始しようとしているという直接的な指示を提供してもよい。例えば、ユーザは、(例えば、デバイス上のトレーニング追跡アプリケーションプログラムと対話することによって)自分が走り始めようとしていることを示すことができ、このことから、トレーニングが終わるまで、ハイダイナミック検出モジュール222を使用すべきであると推定することができる。活動分類部232からの入力及び/又は直接的なユーザ入力を含む利用可能な入力のどのような組み合わせでも、ユーザが動作の多い活動をしているか否かをウェイク制御ロジック230で推定するのに使用することができる。この推測に応じて、ウェイク制御ロジック230は、ローダイナミック検出モジュール222(ユーザが動作の多い活動を行っていない場合)又はハイダイナミック検出モジュール224のいずれかを選択することができる。いくつかの実施形態では、異なるタイプの活動で使用する異なるアルゴリズムを提供することができる。例えば、複数のハイダイナミック検出アルゴリズム(例えば、走ること対ボートを漕ぐことなど)があり得る。
図8は、本発明の一実施形態による動作の多い活動(例えば、走ること)の間に自然なレイズジェスチャを検出するためのプロセス800のフローチャートである。プロセス800は、例えば、図2Aのデバイス200のハイダイナミック検出モジュール224で実装することができる。この例では、ハイダイナミック検出プロセス800は、一連のジェスチャ状態(図6に示す状態と類似又は同一であり得る)を経て進むことができ、各々の状態遷移を、例えば図2Aに示すウェイク制御ロジック230に報告することができる。後述するように、ウェイク制御ロジック230は、ジェスチャ状態遷移を使用して、アプリケーションプロセッサ204をウェイクさせるか否か、及びそれをいつするか、並びに/又はユーザインタフェース202をアクティブにするようアプリケーションプロセッサ204に命じるか否か、及びそれをいつするかを決定することができる。この例では、プロセス800は、(例えば、図2Aの加速度計210からの)加速度計のフィルタリングしたデータで補った状態で、主に(例えば、図2Aのジャイロセンサ212からの)ジャイロスコープデータに頼ることができる。
プロセス400と同様に、プロセス800は、ユーザインタフェース202が非アクティブな状態にあるときに、開始することができる(ブロック802)。このとき、アプリケーションプロセッサ204は、必要に応じて、スリープ状態にあってもよいしウェイク状態にあってもよい。ジャイロセンサ212をアクティブにして、一定のサンプリングレート(例えば、100ヘルツ)で、更新されたデータサンプル(「ジャイロスコープデータ」という)を提供することが可能であり、図3に示すようなデバイス相対座標を使用して、ジャイロスコープの各々のデータサンプルで回転の成分(rx、ry、rz)を示すことができる。ここで、rxは、図3のx軸を中心とした回転を示すといった具合である。受信したジャイロスコープデータについては、例えば、循環バッファ又はFIFOなどを用いてバッファすることができる。
ブロック804において、プロセス800は、ジャイロスコープデータバッファから、データサンプルを読み出すことができる。データ量は、サンプリングレート、バッファサイズ及び動きを分析するための所望の時間幅に依存する場合がある。例えば、プロセス800は、実時間の固定の幅、例えば、0.3秒、0.5秒、1秒などに対応する固定長のデータウィンドウを読み出すことができる。
ブロック806では、プロセス800は、デバイスの開始姿勢を推測することができる。走っている状況では、例えば、ユーザの腕は、手のひらが(ユーザの身体に向かって)内側に向けられて自然な曲げ位置に保たれていると仮定することができる。図10A及び図10Bは、手首に着用可能なデバイス102を装着している、走っているユーザの一例を示している。図10Aに示すように、通常の自然な走る位置において、ディスプレイ104は(ユーザの身体から離れる方向に)外側に向いている。厳密な角度はユーザに応じて変化し、ユーザの腕の自然な振れがゆえに、(図3に定義したような)x軸を中心として小さな揺動回転が存在することがある。走りながらデバイスを見るために、ユーザは、図10Bに示すように、(手のひらを下方に回転させて)手首を回内させて、おそらくは腕を上げることで、ディスプレイ104を視線内に入れることができる。このような動作は、走者の典型的な腕の振りよりも、x軸を中心とした大きな回転を伴う。このため、x軸を中心とした蓄積した(accrued)回転を、可能性のあるレイズジェスチャの良好な第1の指標とすることができ、ブロック808で、プロセス800は、バッファされたジャイロスコープデータを分析して、x軸を中心とした蓄積した回転を決定することができる。
ブロック810では、蓄積した回転に基づいて、プロセス800は、可能性のあるレイズジェスチャが検出されているか否かを決定することができる。いくつかの実施形態では、この決定には、時間幅の終了時に回転運動が大幅に遅くなった又は停止したか否かを決定することを含んでもよく、これは、ユーザが、デバイスを見ることができるほど十分に安定してと腕を保っていることを示唆している。可能性のあるレイズジェスチャが検出されない場合、プロセス800は、ブロック804に戻って、データを追加で読み出すことができる。上述したように、ブロック804で読み出されるデータは、固定長のウィンドウであってもよい。ブロック804の連続した繰り返しの際に読み出される連続したデータウィンドウは、重なることができる。例えば、ウィンドウが実時間の0.5秒に対応する場合、連続した繰り返しが0.1秒ごとなどに起こり得る(あるいは、これよりも速い速度で、繰り返されるたびにウィンドウが少なくとも1サンプル分だけシフトする限り、ブロック806及び808の連続した繰り返しでの分析は冗長にはならない)。ウィンドウを重ねることで、ウィンドウの影響で検出漏れが生じる可能性を減らすことができる。
ブロック810で可能性のあるレイズジェスチャが検出されると、ブロック812で、プロセス800は、可能性のあるレイズジェスチャが検出されたことをウェイク制御ロジック230に通知することができる。図6の状態図では、これは、ヌル状態602から可能性のあるジェスチャ状態604への遷移に対応することがある。後述するように、ウェイク制御ロジック230は、この通知に応じて、アプリケーションプロセッサ204に通知をするなどの行動をとることができる。ブロック814では、プロセス800は、加速度計のフィルタリングしたデータを使用して、終了姿勢の推測を確認することができる。加速度計データを大幅にフィルタリングして、走ることに付随する腕の動きのアーチファクトを除去することができ、デバイスのディスプレイがユーザに見えるであろう姿勢に対応する姿勢を確認するのに使用することができる。終了姿勢の推測に基づいて、ブロック816において、プロセス800は、可能性のあるレイズジェスチャを検出済レイズジェスチャとして再分類するか否かを決定することができる。しない場合、プロセス800は、ブロック804に戻って別の可能性のあるレイズジェスチャの検出を試みることができる。
ブロック816でレイズジェスチャが検出された場合、ブロック818で、プロセス800は、検出済レイズジェスチャが生じていることを、ウェイク制御ロジック230に通知することができる。後述するように、ウェイク制御ロジック230は、この通知に応じて、アプリケーションプロセッサ204に通知をする及び/又はユーザインタフェース202をアクティブにするなどの行動をとることができる。この状態で、プロセス800を終えることができる(ブロック820)。あるいは(図8には図示せず)、ジェスチャ分類部234を使用して、検出済レイズジェスチャを確認することができる。上述したように、ジェスチャ分類部234を訓練して、自然なレイズジェスチャを、走っている間にユーザが行うことがある他の類似の行動(例えば、水筒から水を飲む、額の汗を拭うなど)と区別することができ、結果は上述のプロセス400の確認部分と類似のものとなり得る。
レイズジェスチャ検出プロセス400及び800は例示的なものであり、変形及び変更が可能であることが理解されるであろう。逐次として説明されたステップを同時並行で行ってもよく、ステップの順序を変更しても、ステップの修正、組み合わせ、追加又は省略をしても構わない。異なる閾値、基準、及びセンサ入力を使用することができ、必要に応じて、異なる状態の組を定義することができる。いくつかの実施形態では、ユーザが何をしているかに応じて、プロセス400及び800を別の方法で呼び出すことができる。例えば、ジャイロセンサは、加速度計よりも多くの電力を消費する場合がある。このため、ユーザが座っている、立っている又は歩いているなど、加速度計データを十分に信頼できてプロセス400を使用できる状況では、ジャイロセンサの電源を切り、(ジャイロセンサのデータを入力として使用する)プロセス800を非アクティブにすることが望ましいことがある。上述したように、ウェイク制御ロジック230は、活動分類部232からの情報に基づいて、所与の時に1つ以上のジェスチャ検出アルゴリズムのどれをアクティブにすべきか決定することができ、所望の1つ以上のアルゴリズムをアクティブにする(又はイネーブルにする)ことができる。活動情報についての他のソースを利用することもできる。例えば、いくつかの実施形態では、ウェイク制御ロジック230は、受信した加速度計データのデータ品質分析を行い、プロセス400が信頼できそうか否かを決定することができる。信頼できそうな場合、プロセス400を行うことができ、プロセス400が信頼できそうにない場合、プロセス800を使用することができる。
図9は、本発明の一実施形態による自然なレイズジェスチャ検出モジュール900の機能ブロック図である。図に示すように、自然なレイズジェスチャ検出モジュール900は、例えば、自然なレイズジェスチャ検出モジュール274のように、図2Bの動き処理ユニット258で実装することができる。また、自然なレイズジェスチャ検出モジュール900は、図2Aのメイン(ハイダイナミック)検出モジュール224として実装することもできる。自然なレイズジェスチャ検出モジュール900は、開始姿勢推測ユニット902と、可能性のあるレイズジェスチャ決定ユニット906と、検出済レイズジェスチャ決定ユニット908と、を含むことができる。それぞれのユニットを、例えば、プロセッサ及び/又は専用の論理回路上で実行可能なプログラムコードを使用して実装することができる。
開始姿勢推測ユニット902は、モーションセンサデータを受信して、モーションセンサデータに基づいて開始姿勢を推測することができる。例えば、開始姿勢推測ユニット902には、上述したプロセス800のブロック806を実装することができる。開始姿勢推測ユニット902は、推測された開始姿勢を、可能性のあるレイズジェスチャ決定ユニット906に提供することができる。
可能性のあるレイズジェスチャ決定ユニット906は、推測された開始姿勢及びモーションセンサデータを受信して、受信したデータが、可能性のあるレイズジェスチャの基準を満たすか否かを決定することができる。例えば、可能性のあるレイズジェスチャ決定ユニット906には、上述したプロセス800のブロック808及び810を実装することができる。基準が満たされている場合、可能性のあるレイズジェスチャ決定ユニット906は、他のシステムコンポーネント(例えば、図2Aのウェイク制御ロジック230又は図2Bのウェイク制御ロジックモジュール280)に通知することができる。例えば、可能性のあるレイズジェスチャ決定ユニット906には、上述したプロセス800のブロック812を実装することができる。また、可能性のあるレイズジェスチャ決定ユニット906は、基準が満たされた場合に、検出済レイズジェスチャ決定ユニット908に通知することができる。
検出済レイズジェスチャ決定ユニット908は、可能性のあるレイズジェスチャの通知を、可能性のあるレイズジェスチャ決定ユニット906から受信することができ、モーションセンサデータを追加で監視して、検出済レイズジェスチャのための条件が満たされているか否かを決定することができる。例えば、検出済レイズジェスチャ決定ユニット908には、上述したプロセス800のブロック814及び816を実装することができる。検出済レイズジェスチャのため条件が満たされたら、検出済レイズジェスチャ決定ユニット908は、他のシステムコンポーネント(例えば、図2Aのウェイク制御ロジック230又は図2Bのウェイク制御ロジックモジュール280)に通知することができる。例えば、検出済レイズジェスチャ決定ユニット908には、プロセス800のブロック818を実装することができる。
自然なレイズジェスチャ検出モジュール900は例示的なものであり、変形及び修正が可能であることが理解されるであろう。例えば、自然なレイズジェスチャ検出モジュール900は、特定のブロック又はユニットを参照して説明されているが、これらのブロックは説明の都合上定義されたものであって、構成部品の特定の物理的構成を意味することを意図したものではないことは、理解できよう。さらに、これらのブロックは、物理的に別個のコンポーネントに相当する必要はなく、物理的に同じコンポーネントを使用して、複数のブロックの態様を実装してもよい。ブロックは、例えば、プロセッサをプログラムすることによって、あるいは適切な制御回路を設けることによって様々な動作を行うように構成することができ、最初の構成がどのように得られるかによって、様々なブロックを再構成できることもあれば、できないこともある。本発明の実施形態は、回路とソフトウェアとの任意の組み合わせを使って実装される電子機器を含む様々な装置において実現することができる。追加のブロック(例えば、確認が望まれる場合、確認ユニット710と同様のブロック)を加えてもよい。
個別に又は組み合わせて使用することで、プロセス400及び800によって、多岐にわたる条件下で自然なレイズジェスチャを検出することができる。しかしながら、ユーザが、検出されないレイズジェスチャをする可能性が残っている場合もある。例えば、アルゴリズムの詳細によっては、自然なレイズジェスチャは、ユーザが横になっている場合(これは、ユーザの視線内にデバイスを配置する重力に対する向きについての仮定に反する可能性がある)、ディスプレイが手首の内側に来るようにユーザがデバイスを着用している場合(これは、デバイスをユーザの視線内に入れるのに必要な回転の量及び/又は方向についての仮定に反する可能性がある)、ユーザが加速された環境にいる場合(ジェットコースターなど)などに、信頼性が低いことがある。
このため、いくつかの実施形態では、意図的なレイズジェスチャを検出するためのアルゴリズムを追加で提供することができる。これによって、ユーザは、自分がディスプレイをアクティブにすることを望むとき以外は行わないであろう既定のジェスチャを行うことによって、ディスプレイをアクティブにすることができるようになる。例えば、意図的なレイズジェスチャは、(図3に定められているように)x軸を中心としてデバイスを前後に「ねじる」手首の2回の振動として定義することができる。ユーザは、例えば、元の位置から離れる方向に素早く手首を回転させた後、手首が元の位置に戻るように回転を解除することによって、振動させることができる。2回の振動は、回転、解除、回転、解除という順に従えばよい。振動は、モーションセンサデータ(例えば、加速度計又はジャイロスコープデータ)のインパルスピークとして検出可能である。各振動の間に蓄積して喪失される回転の最小限の量と、振動と振動との間の最大時間とを要求することで、ユーザが日常的に行う可能性がある他のほとんどの動き(例えば、ドアを開いたり、ドライバーを操作したりすること)と意図的なレイズジェスチャとを区別することができ、ユーザがディスプレイをアクティブにすることを意図していない場合に意図的なレイズジェスチャが検出されることを起きにくくすることができる。他のジェスチャに置き換えることも可能である。
図11は、本発明の一実施形態による意図的なレイズジェスチャを検出するためのプロセス1100のフローチャートである。この例では、意図的なレイズジェスチャは、ユーザが短時間の間に(視線から離れる方向に続いて、視線に向かう方向に、デバイスを2回回転させる)手首の2回の振動を行う「軽い揺らしの」ジェスチャとして定義されている。プロセス1100は、例えば、図2Aに示す軽い揺らし検出モジュール226で実行することができる。この例では、軽い揺らし検出プロセス1100は、可能性のあるジェスチャの状態を経ることなく、ヌル状態(ジェスチャ検出なし)から直接、検出状態に進むことができる。必要であれば、他の状態を定義することもできる。プロセス1100は、例えば、図2Aのウェイク制御ロジック230に、状態遷移を報告することができる。後述するように、ウェイク制御ロジック230は、ジェスチャ状態遷移を使用して、アプリケーションプロセッサ204をアクティブにするか否か及びいつアクティブにするか並びに/又はアプリケーションプロセッサ204にユーザインタフェース202をアクティブにするよう命令するか否か及びいつ命令するかを決定することができる。
プロセス1100は、ユーザインタフェース202が非アクティブな状態にあるときに開始することができる(ブロック1102)。このとき、アプリケーションプロセッサ204は、必要に応じて、スリープ状態にあってもウェイク状態にあってもよい。加速度計210は、一定のサンプリングレート(例えば、100Hz)で、更新されたデータを提供していることができ、このデータは、図3に示すようなデバイス相対座標を使用して、加速度のベクトル成分(ax、ay、az)を示すことができる。受信したデータについては、例えば、循環バッファ又はFIFOなどを用いてバッファすることができる。
ブロック1104において、プロセス1100は、加速度計データバッファから、データサンプルを読み出すことができる。データ量は、サンプリングレート、バッファサイズ及び動きを分析するための所望の時間に依存する場合がある。例えば、プロセス1100は、実時間の固定の幅、例えば、0.1秒、0.5秒、1秒などに対応する固定長のデータウィンドウを読み出すことができる。
ブロック1106では、プロセス1100は、加速度計データから腕の位置を決定することができる。このため、ブロック1106には、腕の位置を推定することが可能な加速度計データに基づいて、(重力に対する)デバイスの向きを決定することを含んでもよい。
ブロック1108では、プロセス1100は、ユーザの腕が軽い揺らしジェスチャを行うために「準備されている」か否かを決定することができる。例えば、デバイスが視線内に既にあるときにだけ、ユーザが意図的なレイズジェスチャを実行するであろうと仮定できる場合がある。本明細書中で使用する場合、デバイスが短い時間(例えば、0.2秒、0.5秒、1.0秒)比較的静止して保たれ、ユーザがデバイスを見ようとしていることが示唆されている場合に、ユーザの腕が準備されていると考えることができる。ユーザの腕が準備されているか否かを決定することは、バッファ内のいくつか又は全てのデータサンプルを分析することを含んでもよい。例えば、最も古いサンプルを分析することができる。また、デバイスの空間的な向きに基づく基準など、追加の基準を適用してもよい。例えば、重力加速度が主に(図3に定義されるような)z軸に沿っており、x軸に沿った加速はほとんどないか全くない場合、これは、デバイスのディスプレイが地面にほぼ平行であることすなわち、手首に着用可能なデバイス(又は多くの他のデバイス)をチェックしているユーザに共通の位置を示唆できる。このため、追加の基準は、重力の方向に基づいて定義することができる。準備の基準を満たす必要があることで、手首の偶発的な動きから生じる可能性がある誤検出を減らすことができ、これによって電力が節約される。いくつかの実施形態では、ユーザの頭部が通常の垂直の向きでないかもしれない状況(例えば、ユーザが横たわっている場合)を考慮して、準備の基準を緩和することができるが、この基準を緩和すると、誤検出の割合が増す可能性がある。いくつかの実施形態では、ユーザの頭部が垂直であるか否かを示唆するのに、他の情報を利用できることもある(例えば、心拍モニタなどの生理センサによって、ユーザが横たわっていることを決定できることがある)。このような情報も、準備の基準に取り入れることができる。
ブロック1108で腕が準備されていない場合、プロセス1100は、ブロック1104に戻って加速度計データを追加で読み出すことができる。上述したように、ブロック1104で読み出されるデータは、固定長のウィンドウであってもよい。ブロック1104の連続した繰り返しの際に読み出される連続したデータウィンドウは、重なることができる。例えば、ウィンドウが実時間の1秒に対応する場合、連続した繰り返しが0.1秒ごとなどで起こり得る(あるいは、これよりも速い速度でもよく、繰り返されるたびにウィンドウが少なくとも1サンプル分だけシフトする限り、ブロック1106及び1108の連続した繰り返しでの分析は冗長にはならない)。このようにすることで、ウィンドウの影響で検出漏れが生じる可能性を減らすことができる。
ブロック1108でユーザの腕が準備されていたら、プロセス1100は、軽い揺らしジェスチャの検出を試みることができる。この例における軽い揺らしジェスチャには、x軸を中心とした2回の振動を必要とする。x軸を中心とした回転運動を開始又は停止することには、y軸に沿った加速を伴うため(図3参照)、この例で対象とする振動運動を、加速度のy成分におけるインパルスピークに基づいて検出することができる。したがって、ブロック1110において、プロセス1100は、加速度計データを分析して、そのようなピークを検出することができる。いくつかの実施形態では、躍度(jerk)のy成分(加速度の時間微分)のピーク又はスパイクを使用して、振動を検出することができる。検出対象となるジェスチャが意図的であることを考えると、ピークは、発生し得るランダムな動きによる(例えば、ユーザが歩いている、乗り物に乗っている、ジョギングしているなどによる)サンプルごとの変動のどのような背景に対しても目立つと思われる。このため、ほぼ同時に測定されたサンプルごとの変動の背景に対して、ねじれ又は振動を検出するための基準を定義することができる。ピーク検出のための特定の基準については、例えば、複数のユーザに軽い揺らしジェスチャを行わせ、加速度計データを分析して加速度及び/又は躍度の具体的な閾値を特定することによって、ヒューリスティックに定義することができる。この閾値は、背景変動の現在のレベルに対する1つ以上の絶対値に基づいて定義することができる。
ブロック1112で第1のピークが検出されない場合、プロセス1100は、ブロック1104に戻って加速度計データの監視を継続することができる。第1のピークが検出されると、ブロック1114において、プロセス1100は、第2のピークの検出を試みることができる。この例では、第2のピークは第1のピークと同じ方向にあるはずで、ユーザが振動の動きを繰り返したことを示しており、この基準は、ブロック1112で使用した基準と同一又は類似していてもよい。
ブロック1116で第2のピークが検出されない場合、ブロック1118において、プロセス1100は、ブロック1112で第1のピークを検出して以来、タイムアウト時間が経過しているか否かを判定できる。タイムアウト時間は、意図的な軽い揺らしジェスチャを、手首を回転させる他の動きと区別するのに使用することができ、2回の振動を意図的に行うために様々な個人に必要な時間の測定に基づいて選択することができる。例えば、タイムアウト時間は、0.2秒、0.5秒などであってよい。
第2のピークが検出されるか、タイムアウト時間が経過するまで、プロセス1100は、第2のピークを探し続けることができる。ブロック1118でタイムアウト時間が経過した場合、プロセス1100は、ブロック1104に戻り、加速度計データを追加で収集して2つのピークを再び探すことができる。
ブロック1116で第2のピークが検出されると、ブロック1120において、プロセス1100は、加速度計の追加のデータを分析して、デバイスの位置が安定しているか否かを決定することができる。ブロック1122で位置が安定していない場合、これは振動がデバイスを見ることとは関係ない他の何らかの理由で生じたことを示す可能性があり、プロセス1100は、ブロック1104に戻って加速度計データを追加で収集し、2つのピークを再び探すことができる。
ブロック1122で位置が安定している場合、これは軽い揺らしジェスチャの検出に対応する可能性があり、ブロック1124において、プロセス1100は、軽い揺らしジェスチャが検出されていることを、ウェイク制御ロジック230に通知することができる。後述するように、ウェイク制御ロジック230は、この通知に応じて、ユーザインタフェース202をアクティブにする及び/又はアプリケーションプロセッサ204をウェイクさせるなどの行動をとることができる。
プロセス1100は例示的であり、変形及び修正が可能であることが理解されるであろう。逐次として説明されるステップは並行して行うことができ、ステップの順序を変更することができ、ステップの修正、組み合わせ、追加、又は省略も可能である。異なる閾値、基準、及びセンサ入力を使用することができ、必要に応じて、異なる状態の組を定義することができる。いくつかの実施形態では、デバイスの位置が安定したか否かを決定する前に、第1のピークの検出を可能性のあるレイズジェスチャとして報告してもよいし、2つのピークの検出を可能性のあるレイズジェスチャとして報告してもよい。異なる基準(例えば、より多くの又はより少ないインパルスピーク、異なる方向の加速度など)を定義することによって、他の意図的なレイズジェスチャを検出することもできる。いくつかの実施形態では、プロセス1100は、プロセス400又はプロセス800と同時に実行することが可能である。これにより、ディスプレイが非アクティブなときに、ユーザが自然なレイズジェスチャ又は意図的なレイズジェスチャのいずれかを行っていつでもディスプレイをアクティブにすることができる。
図12は、本発明の実施形態による意図的なレイズジェスチャ検出モジュール1200の機能ブロック図である。図に示すように、意図的なレイズジェスチャ検出モジュール1200は、例えば意図的なレイズジェスチャ検出モジュール276として、図2Bの動き処理ユニット258で実装することができる。また、自然なレイズジェスチャ検出モジュール700が、図2Aの軽い揺らし検出モジュール226として実装されてもよい。意図的なレイズジェスチャ検出モジュール1200は、準備検出ユニット1202と、インパルスピーク検出ユニット1204と、安定性検出ユニット1206と、を含むことができる。それぞれのユニットを、例えば、プロセッサ及び/又は専用の論理回路上で実行可能なプログラムコードを使用して実装することができる。
準備検出ユニット1202は、モーションセンサデータを受信し、このデータから、ユーザの腕が意図的なレイズジェスチャを行うよう準備されているか否かを決定することができる。例えば、準備検出ユニット1202には、上述したプロセス1100のブロック1106及び1108を実装することができる。準備検出ユニット1202が、ユーザの腕が準備されていると決定すると、準備検出ユニット1202は、インパルスピーク検出ユニット1204に通知を送ることができる。
インパルスピーク検出ユニット1204は、モーションセンサデータを追加で受信し、このデータに基づいて、目標数(例えば、1個、2個又は3個)のインパルスピークの存在を検出することができる。例えば、インパルスピーク検出ユニット1204には、上述したプロセス1100のブロック1110から1118を実装することができる。レイズジェスチャを表す数(例えば、上記の例では2個)のインパルスピークが検出されると、インパルスピーク検出ユニット1204は、安定性検出ユニット1206に、通知を送ることができる。
安定性検出ユニット1206は、モーションセンサデータを追加で受信し、そのデータが、1個以上の検出されたインパルスピークの後にデバイスの位置が安定したことを示すか否かを決定することができる。例えば、安定性検出ユニット1206には、上述したプロセス1100のブロック1120及び1122を実装することができる。安定性が検出された場合、安定性検出ユニット1206は、他のシステムコンポーネント(例えば、図2Aのウェイク制御ロジック230又は図2Bのウェイク制御ロジックモジュール280)に通知することができる。例えば、安定性検出ユニット1206には、上述したプロセス1100のブロック1124を実装することができる。
意図的なレイズジェスチャ検出モジュール1200は例示的なものであり、変形及び修正が可能であることが理解されるであろう。例えば、意図的なレイズジェスチャ検出モジュール1200は、特定のブロック又はユニットを参照して説明されているが、これらのブロックは説明の都合上定義されたものであって、構成部品の特定の物理的構成を意味することを意図したものではないことは、理解できよう。さらに、これらのブロックは、物理的に別個のコンポーネントに相当する必要はなく、物理的に同じコンポーネントを使用して、複数のブロックの態様を実装してもよい。ブロックは、例えば、プロセッサをプログラムすることによって、あるいは適切な制御回路を設けることによって様々な動作を行うように構成することができ、最初の構成がどのように得られるかによって、様々なブロックを再構成できることもあれば、できないこともある。本発明の実施形態は、回路とソフトウェアとの任意の組み合わせを使って実装される電子機器を含む様々な装置において実現することができる。
(自然な又は意図的な)レイズジェスチャが検出されると、ユーザが今デバイスにフォーカスしており、デバイスと対話しているかもしれないと仮定することができる。ユーザとのどのようなタイプの対話もサポートすることができ、対話の持続時間は、ユーザが望む間とすることができる。ある時点で、対話が終わるであろうことが想定される。対話が終了すると、節電のために、ディスプレイを非アクティブな状態に戻すことが望ましい場合がある。
いくつかの実施形態では、ユーザは、例えばデバイスのボタンを押してディスプレイを非アクティブにすることによって、対話の終了を明示することができる。これに加えて又はこれに代えて、デバイスは、十分に長い時間にわたってユーザ入力がないことに基づいて、対話が終了していると推定することができる。ただし、ユーザがまだ提示された情報を見ている場合は、そのような推定が正確ではない可能性がある。このため、いくつかの実施形態では、デバイスは、モーションセンサデータに基づいて、ユーザがデバイスに対するフォーカスを外したことを、自動的に検出することができる。例えば、ユーザがデバイスのディスプレイを視線の外に移動した場合、これは、ユーザがフォーカスを外したことを示す可能性がある。このような動きを、本明細書では、「フォーカス解消ジェスチャ」という。
フォーカス解消ジェスチャ(本明細書では、「フォーカス解消イベント」ともいう)の自動検出については、動きベースのアルゴリズムを用いることで、容易にすることができる。図13は、本発明の一実施形態によるフォーカス解消イベントを検出するためのプロセス1300のフローチャートである。プロセス1300は、例えば、図2Aのフォーカス解消検出モジュール228で実行することができる。この例では、デバイスがフォーカス状態にある間に(例えば、上述したプロセス400、800又は1100のいずれかを使用してレイズジェスチャを検出及び/又は確認した後に)プロセス1300を行うことができる。フォーカス解消は、デバイスの傾斜角又は回転の変化、特にy傾斜の変化に基づいて検出することができる。プロセス1300は、例えば、図2Aのウェイク制御ロジック230に、検出されたフォーカス解消イベントを報告することができる。後述するように、ウェイク制御ロジック230は、報告されたイベントを使用して、ユーザインタフェース202を非アクティブにするか否かを決定することができる。
プロセス1300は、ユーザインタフェース202がアクティブな状態にあるときに開始することができる(ブロック1302)。アクティブな状態は、上述したいずれかのジェスチャ検出プロセスの結果として、他のジェスチャ検出プロセスの結果として、あるいは、ユーザからの手動の指示(例えば、デバイス200のボタンに触れるなど)に応じて、達成することができる。このとき、アプリケーションプロセッサ200も、ウェイク状態にあってもよい。加速度計210は、一定のサンプリングレート(例えば、100Hz)で、更新されたデータを提供していることができ、このデータは、図3に示すようなデバイス相対座標を使用して、加速度のベクトル成分(ax、ay、az)を示すことができる。受信したデータについては、例えば、循環バッファ又はFIFOなどを用いてバッファすることができる。
ブロック1304において、プロセス1300は、加速度計データバッファから、データサンプルを読み出すことができる。データ量は、サンプリングレート、バッファサイズ及び動きを分析するための所望の時間に依存することがある。例えば、プロセス400は、実時間の固定の幅、例えば、0.5秒、1秒などに対応する固定長のデータウィンドウを読み出すことができる。
ブロック1306では、プロセス1300は、例えばバッファの先頭に近いサンプルについて加速度又は回転角の測定されたx成分及び/又はy成分に基づいて、初期傾斜を決定することができる。ユーザが視線内にデバイスを保っている時間は、傾斜(又は少なくともy傾斜)がほぼ一定のままであると予想され、プロセス1300が開始されたときに、基準傾斜を定義することができる。いくつかの実施形態では、レイズジェスチャを自動的に検出することには、傾斜(例えば、y傾斜)の蓄積を検出することを含むことができ、ブロック1306で検出された蓄積した傾斜に基づいて、初期傾斜又は基準傾斜を定義することができる。
ブロック1308では、プロセス1300は、例えば初期傾斜又は基準傾斜に対する傾斜の変化を検出することができる。いくつかの実施形態では、この変化は、それがユーザの視線から離れる方向にディスプレイを移動するものである場合を除いて、無視することができる。例えば、図3のデバイス300を見ているユーザは、デバイス300が地面に対して平行になるように、あるいは、重力加速度がy軸に沿って負の加速度成分を付与するであろうように傾斜して腕を保持することが多いかもしれない。ゼロ又は負のayから正のayへの変化は、ユーザが視線の外にデバイス300を回転したことを示唆している可能性がある。いくつかの実施形態では、レイズジェスチャを自動的に検出することには、(例えば、図4を参照して上述したような)傾斜の蓄積を検出することを含むことができ、ブロック1308は、蓄積した傾斜(例えば、y傾斜)の取り消しの検出(これは、ユーザが、上げられていない位置にデバイスを戻していることを示す)を含むことができる。
ブロック1310で傾斜の十分に大きな変化が検出された場合、ブロック1312において、プロセス1300は、フォーカス解消イベントが検出されたことを、ウェイク制御ロジック230に通知することができる。後述するように、ウェイク制御ロジック230は、この通知に応じて、ユーザインタフェース202を非アクティブにする及び/又はアプリケーションプロセッサ204に通知をするなどの行動をとることができる。
ブロック1310で傾斜の大きな変化が検出されない場合は、ブロック1314において、プロセス1300は、加速度計データに基づいて、ユーザの腕の位置を推測することができる。例えば、ユーザが手首を回転させずに腕を下げることができる可能性がある。上述したように、加速度計データと、ユーザがどのようにデバイスを着用しているかについての仮定に基づいて、腕の位置を推測することができる。ブロック1316では、プロセス1300は、ユーザの腕が下がっているか否かを決定することができる。例えば、図3の座標系では、x軸とほぼ一列になる重力加速度に基づいて、下がった腕を検出することができる。いくつかの実施形態では、ブロック1316は、腕の開始位置と終了位置とを比較して、ユーザが腕を下の方の位置に移動していることを示す変化を検出することを含むことができる。腕が下がっていることが検出されると、ブロック1312において、プロセス1300は、ウェイク制御ロジック230に、フォーカス解消イベントを通知することができる。フォーカス解消イベントが検出されると、プロセス1300を終えることができる。
プロセス1300は例示的であり、変形及び修正が可能であることが理解されるであろう。逐次として説明されたステップを同時並行で行ってもよく、ステップの順序を変更しても、ステップの修正、組み合わせ、追加又は省略をしても構わない。異なる閾値、基準及びセンサ入力を使用することができる。例えば、加速度計データに加えて又はこれに代えて、ジャイロスコープデータを使用してもよい。いくつかの実施形態では、活動分類部232によって報告されるユーザの現在の活動に基づいて、使用するセンサ(例えば、加速度計及び/又はジャイロスコープ)を動的に選択することができる。例えば、ユーザが走っている場合、ジャイロスコープデータのほうが信頼できる場合がある。ユーザが静かに座っている場合は、加速度計データを使用してジャイロセンサ212の電源を切断するほうが電力効率が良い場合がある。また、フォーカス解消を検出する基準を、ユーザの現在の活動に基づいて変更することができる。例えば、ユーザが走っているときには、腕が動かないとは思えないため、フォーカス解消が検出されにくくするために上記の基準を修正してもよい。
さらに、いくつかの実施形態では、一時的な動きによってフォーカス解消が誤って検出されるのを回避することが望ましい場合がある。このため、デバイスがフォーカス姿勢から外れて最小限の時間そのままで保たれた後でないとフォーカス解消が検出されないように、フォーカス解消検出にヒステリシスを取り入れることができる。この時間が経過する前にデバイスが再びフォーカス姿勢になったら、フォーカス解消検出アルゴリズムをリセットすることができる。この最小限の時間は、デバイスがどれだけ長くフォーカス姿勢でいたかに依存することができ、フォーカス姿勢での持続時間が長くなると、これに相関して、フォーカス解消イベントをトリガーするのに必要なフォーカスから外れている時間が長くなる。ユーザが実際にまだディスプレイを見ているときに早まってフォーカス解消イベントを検出する(及びディスプレイを非アクティブにする)より、フォーカス解消イベントの検出(及びディスプレイを非アクティブにすること)が遅れるほうがユーザにとって問題が少ないと思われることに、注意されたい。このため、フォーカス解消アルゴリズムを、フォーカス解消の検出が遅くなる方向に誤るように調整してもよい。
図14は、本発明の一実施形態によるフォーカス解消検出モジュール1400の機能ブロック図である。図に示すように、フォーカス解消検出モジュール1400は、例えばフォーカス解消検出モジュール278として、図2Bの動き処理ユニット258で実装することができる。また、フォーカス解消検出モジュール1400は、図2Aのフォーカス解消検出モジュール228としても実装することができる。フォーカス解消検出モジュール1400は、向き決定ユニット1402と、向き変化検出ユニット1404と、腕位置推測ユニット1406と、フォーカス決定ユニット1408と、を含むことができる。それぞれのユニットを、例えば、プロセッサ及び/又は専用の論理回路上で実行可能なプログラムコードを使用して実装することができる。
向き決定ユニット1402は、モーションセンサデータを受信して、このデータから、デバイスの向きを決定することができる。例えば、向き決定ユニット1402は、上述したプロセス1300のブロック1306を実装することができ、向きは傾斜によって特徴付けられる(これは、加速度計データ、ジャイロスコープの回転角などから決定できる)。向き決定ユニット1402は、決定された向きを、向き変化検出ユニット1404に提供することができる。
向き変化検出ユニット1404は、例えば、向き決定ユニット1402から経時的に受信するデータに基づいて、向きの変化が生じたか否かを決定することができる。例えば、向き変化検出ユニット1404には、上述したプロセス1300のブロック1308を実装することができる。向き変化検出ユニット1404は、向き変化情報(例えば、変化の定量的な測定値)を、フォーカス決定ユニット1408に提供することができる。
腕位置推測ユニット1406は、モーションセンサデータを受信して、このデータから、デバイスが着用されていると思われる腕の推測腕位置を決定することができる。例えば、腕位置推測ユニット1406には、上述したプロセス1300のブロック1314を実装することができる。腕位置推測ユニット1406は、腕位置に関する情報(例えば、推測腕位置又は腕位置の変化)を、フォーカス決定ユニット1408に提供することができる。
フォーカス決定ユニット1408は、向き変化検出ユニット1404から向き変化情報を受信し、腕位置推測ユニット1406から腕位置情報を受信することができる。受信した情報に基づいて、フォーカス決定ユニット1408は、フォーカス解消が生じているか否かを決定することができる。例えば、フォーカス決定ユニット1408には、上述したプロセス1300のブロック1310及び/又は1316を実装することができる。フォーカス決定ユニット1408が、フォーカス解消が生じていると決定した場合、フォーカス決定ユニット1408は、他のシステムコンポーネント(例えば、図2Aのウェイク制御ロジック230又は図2Bのウェイク制御ロジックモジュール280)に通知することができる。例えば、フォーカス決定ユニット1408には、上述したプロセス1300のブロック1312を実装することができる。
フォーカス解消検出モジュール1400は例示的なものであり、変形及び修正が可能であることが理解されるであろう。例えば、フォーカス解消検出モジュール1400は、特定のブロック又はユニットを参照して説明されているが、これらのブロックは説明の都合上定義されたものであって、構成部品の特定の物理的構成を意味することを意図したものではないことは、理解できよう。さらに、これらのブロックは、物理的に別個のコンポーネントに相当する必要はなく、物理的に同じコンポーネントを使用して、複数のブロックの態様を実装してもよい。ブロックは、例えば、プロセッサをプログラムすることによって、あるいは適切な制御回路を設けることによって様々な動作を行うように構成することができ、最初の構成がどのように得られるかによって、様々なブロックを再構成できることもあれば、できないこともある。本発明の実施形態は、回路とソフトウェアとの任意の組み合わせを使って実装される電子機器を含む様々な装置において実現することができる。
上述したものなどのプロセス及びモジュールを一緒に使用すると、ユーザがデバイスを見はじめたとき及びデバイスを見るのをやめたときを、デバイスが検出できるようにすることができる。ユーザが現在見ているか否かに応じて、ユーザインタフェースをアクティブ又は非アクティブにすることができる。いくつかの実施形態では、同一又は類似のプロセスを使用して、ユーザの対話に備えてアプリケーションプロセッサ204及び/又はデバイスの他のコンポーネントを低電力(スリープ)状態からウェイクさせることができる。しかしながら、実装の仕方次第では、アプリケーションプロセッサ204をウェイクさせるのに、ユーザインタフェース202をアクティブにするよりも待ち時間が長くなることがあり、所与の時間、アプリケーションプロセッサ204をアクティブにしておくには、ユーザインタフェース202をアクティブにするより電力消費量が少ないことがある。このため、上述したレイズジェスチャの検出又は確認がなされるのを待つよりも早い段階で(ユーザインタフェース202をアクティブにせずに)アプリケーションプロセッサ204のウェイクを開始すると望ましいことがある。
図15は、本発明の一実施形態によるアプリケーションプロセッサ204をウェイクさせるか否かを決定するためのプロセス1500のフローチャートである。プロセス1500は、例えば、図2Aのプレヒート検出モジュール220で実行することができる。この例では、プロセス1500は、自然な(又は意図的な)レイズジェスチャの初期段階と整合性が取れる加速度計のサンプルのシーケンスを検出することができ、このようなシーケンスが検出されると、ウェイク制御ロジック230に通知することができる。プロセス1500は、他のジェスチャ検出アルゴリズム(例えば、上述したプロセス400、800、1100)と同時にかつそれらとは独立して動作することができる。例えば、ユーザインタフェース202をアクティブにするか否かを決定するには異なるアルゴリズム(例えば、プロセス400又はプロセス800)を使用しながら、アプリケーションプロセッサ204をウェイクさせるか否かを決定するにはプロセス1500を使用できる。
プロセス1500は、アプリケーションプロセッサ204がスリープ状態にあるときに開始(ブロック1502)することができる。加速度計210は、一定のサンプリングレート(例えば、100Hz)で、更新されたデータを提供していることができ、このデータは、図3に示すようなデバイス相対座標を使用して、加速度のベクトル成分(ax、ay、az)を示すことができる。受信したデータについては、例えば、循環バッファ又はFIFOなどを用いてバッファすることができる。
ブロック1504において、プロセス1500は、加速度計の最新のサンプル(又はサンプルの短いウィンドウ)を評価して、現在の姿勢を決定することができる。ブロック1506では、プロセス1500は、サンプルが、レイズジェスチャの可能のある開始を示す条件を満たすか否かを決定することができる。いくつかの実施形態では、この決定は、連続するサンプル間で測定された加速度の変化に依存することがある。例えば、視線内にデバイスを持ってくるためにユーザが手首を回転させるにつれて、ay成分がゼロ又は正の(重力による)開始状態から減少すると予測できる。また、ユーザの腕が最初に下がっている場合、ユーザが自分の腕を上げるにつれてax成分が(重力による)正からゼロに向かって変化する場合がある。このため、ブロック1506での条件が、ay成分により大きな重みが与えられた状態で、連続したサンプル間でのaxの変化とayの変化の加重和に依存する可能性がある。いくつかの実施形態では、この条件は開始姿勢に依存することがある(例えば、axの相対的な重みは、腕が水平な開始姿勢よりも腕が下がった開始姿勢で大きくなる可能性がある)。プロセス1500は、ブロック1506でレイズジェスチャの可能性のある開始が検出されるまで、加速度計データを監視し続けることができる。例えば、新たな加速度計データサンプルが受信されるごとに、そのデータサンプルに対してブロック1504及び1506を実行することができる。
ブロック1506でレイズジェスチャの可能性のある開始が検出されると、プロセス1500は、その後のサンプルを監視して、レイズジェスチャが進行し続けるか否かを決定することができる。例えば、ブロック1508で、プロセス1500は、NNO及びNYESと呼ばれる2つのカウンターを初期化することができる。これらのカウンターは、例えば0に初期化することができる。ブロック1510では、プロセス1500は、次の加速度計サンプルを評価することができ、ブロック1512で、プロセス1500は、サンプルが進行中のレイズジェスチャと整合性が取れるか否かを決定することができる。この決定は、デバイス位置の変化(例えば、傾斜及び腕の角度)が、レイズジェスチャを続けること、(ランダムな動きはレイズジェスチャほど滑らかではないと仮定して)動きの滑らかさなどと整合性が取れているか否かといった様々な基準に基づくことができる。いくつかの実施形態では、この基準は開始姿勢に依存することがある。例えば、(例えば、図1Aに示すような)腕が下がった開始位置からは、(例えば、図1Cに示すように)前腕が最初から水平であるときよりも、axのより大きな変化が予想される。このため、上記の判定には、加速度計の現在のサンプルのみならず以前のサンプルから推定されたデバイス軌道を取り入れることができる。
ブロック1512で、次のサンプルがジェスチャと整合性が取れる場合、ブロック1514で、カウンターNYESをインクリメントすることができる。ブロック1516では、NYESと閾値「MinYes」(例えば、サンプル10個、サンプル11個、サンプル14個など)とを比較して、レイズジェスチャと整合性が取れる十分なサンプルが検出されたか否かを決定することができる。NYESが閾値MinYesに達している場合、ブロック1518において、プロセス1500は、プレヒートイベント(本明細書では「プレヒートジェスチャ」ともいう)をウェイクロジック230に通知することができる。これに応じて、ウェイクロジック230は、例えば、アプリケーションプロセッサ204をウェイクさせることができる。この実施形態では、プレヒートイベントによってユーザインタフェース202がアクティブになることはなく、ユーザはプレヒートイベントがいつ発生するか又は発生するのか否かを知る必要はない。ブロック1516で閾値を超えない場合、プロセス1500はブロック1510に戻り、加速度計データサンプルを蓄積して評価し続けることができる。
ブロック1512で、加速度計の次のデータサンプルがレイズジェスチャと整合性が取れない場合、ブロック1520で、カウンターNNOをインクリメントすることができる。ブロック1522では、NNOを閾値「MaxNo」(例えば、サンプル2個、サンプル4個、サンプル5個など)と比較して、レイズジェスチャと整合性が取れないサンプルが検出されすぎているか否かを決定することができる。NNOが閾値MaxNoに達すると、ブロック1524で、プロセス1500をリセットしてブロック1504に戻り、レイズジェスチャの新たな可能性のある開始を探すことができる。
このように、プロセス1500がプレヒートイベントを検出するか否かが、閾値MaxNoに達する前に閾値MinYesに達するか否かに依存することがある。例えば、一実施形態では、閾値MinYesを11に設定することができ、閾値MaxNoを5に設定することができる。ブロック1506で、レイズジェスチャの可能性のある開始が検出された後、ジェスチャと整合性が取れない5個のサンプルが受信される前にジェスチャと整合性が取れる11個のサンプルが受信されると、プロセス1500はプレヒートイベントを生成することになる。ジェスチャと整合性が取れない5個のサンプルが受信される前にジェスチャと整合性が取れる11個のサンプルが受信されなかった場合は、プロセス1500はプレヒートイベントを生成せず、代わりにブロック1504に戻って、実質的に最初からやり直しになる。新たなサンプルが100Hzで受信された場合、プロセス1500は、その開始後150ms以内にレイズジェスチャの開始を検出することができる。
プロセス1500は例示的であり、変形及び修正が可能であることが理解されるであろう。逐次として説明されたステップを同時並行で行ってもよく、ステップの順序を変更しても、ステップの修正、組み合わせ、追加又は省略をしても構わない。例えば、サンプリングレート及び判定基準は変更可能である。アプリケーションプロセッサがスリープ状態からウェイク状態に遷移するのに必要な時間に応じて、プレヒート検出の感度を調整することができる。プレヒートイベントは、ユーザがレイズジェスチャを完了するまでに、アプリケーションプロセッサがウェイク状態にあり、ユーザ入力を処理する準備ができている十分に早い段階で検出することができる。いくつかの実施形態では、プレヒートを早期に検出してアプリケーションプロセッサをウェイクさせることが、自然なレイズジェスチャに対するデバイスの応答におけるユーザが知覚可能な遅延を低減又は排除するのに役立つ場合がある。早く検出すればするだけ誤検出が多くなる可能性があり、アプリケーションプロセッサがウェイク状態に遷移できるだけの十分な時間を許容しつつ、ジェスチャのできるだけ後にプレヒートイベントが検出されるように、感度を調整することができる。
いくつかの実施形態では、プレヒート解消を検出するための特定のアルゴリズムは実装されていない。例えば、アプリケーションプロセッサ204は、ウェイク後の一定の時間幅以内に、ユーザ入力、レイズジェスチャ検出又はユーザがデバイス200と対話していることを示す他の活動が生じなければ、自動的にスリープ状態に戻ることができる。あるいは、ウェイク制御ロジック230が、プレヒートイベントの後のある時間幅内に可能性のあるレイズジェスチャが受信されていないかをアプリケーションプロセッサ204に通知し、アプリケーションプロセッサ204は、この情報を使用してスリープ状態に戻るか否かを決定することができる。いくつかの実施形態は、例えば、受信したサンプルがレイズジェスチャと整合性が取れ続けるか否かを検出し、レイズジェスチャと整合性が取れた状態が継続しない場合又はプレヒートイベントの後特定の時間内に検出済レイズジェスチャにならない場合にプレヒート解消を示す、プレヒート解消アルゴリズムを提供することができる。
図16は、本発明の一実施形態によるプレヒート検出モジュール1600の機能ブロック図である。図に示すように、プレヒート検出モジュール1600は、例えば、プレヒート検出モジュール270のように、図2Bの動き処理ユニット258で実装することができる。また、プレヒート検出モジュール1600は、図2Aのプレヒート検出モジュール220として実装することもできる。プレヒート検出モジュール1600は、可能性のあるジェスチャ開始決定ユニット1602と、サンプル評価ユニット1604と、カウンターユニット1606と、プレヒート決定ユニット1608と、を含むことができる。それぞれのユニットを、例えば、プロセッサ及び/又は専用の論理回路上で実行可能なプログラムコードを使用して実装することができる。
可能性のあるジェスチャ開始決定ユニット1602は、モーションセンサデータのサンプルを受信し、このデータサンプルから、可能性のあるジェスチャ開始が生じたか否かを決定することができる。例えば、可能性のあるジェスチャ開始決定ユニット1602には、上述したプロセス1500のブロック1504を実装することができる。可能性のあるジェスチャ開始が生じていると決定されると、可能性のあるジェスチャ開始決定ユニットは、サンプル評価ユニット1604及びカウンターユニット1606に通知することができる。
サンプル評価ユニット1604は、モーションセンサデータのサンプルを受信し、受信時のそれぞれのサンプルを評価して、これが可能性のあるレイズジェスチャの継続と整合性が取れているか否かを決定することができる。例えば、サンプル評価ユニット1604には、上述したプロセス1500のブロック1510及び1512を実装することができる。サンプル評価ユニット1604は、カウンターユニット1606に、サンプルが可能性のあるレイズジェスチャの継続と整合性が取れているか整合性が取れていないかを示す判定出力を提供することができる。
カウンターユニット1606は、第1のカウンターを、サンプル評価ユニット1604によって可能性のあるレイズジェスチャの継続と整合性が取れると決定されたサンプルをカウントするように維持することができ、第2のカウンターを、サンプル評価ユニット1604によって可能性のあるレイズジェスチャの継続と整合性が取れないと決定されたサンプルをカウントするように維持することができる。これらのカウンターは、上述したNYESカウンター及びNNOカウンターに対応してもよい。カウンターユニット1606は、可能性のあるジェスチャ開始決定ユニット1602によって可能性のあるジェスチャ開始を通知されたことに応じて、2つのカウンターを(例えばゼロに)初期化することができる。例えば、カウンターユニット1606には、上述したプロセス1500のブロック1508を実装することができる。2つのカウンターを初期化した後、カウンターユニット1606は、サンプル評価ユニット1604から受信した各判定出力に応じて、2つのカウンターの1つをインクリメントすることができ、可能性のあるレイズジェスチャの継続とサンプルの整合性が取れることを判定出力が示している場合には第1のカウンターをインクリメントし、可能性のあるレイズジェスチャの継続とサンプルの整合性が取れないことを判定出力が示している場合には第2のカウンターをインクリメントする。例えば、カウンターユニット1606には、上述したプロセス1500のブロック1540及び1520を実装することができる。カウンターユニット1606は、第1のカウンター値及び第2のカウンター値を、プレヒート決定ユニット1608に提供することができる。
プレヒート決定ユニット1608は、カウンターユニット1606から第1のカウンター値及び第2のカウンター値を受信することができ、プレヒートイベント又はリセットイベントのいずれかが生じているか否かを決定することができる。例えば、プレヒート決定ユニット1608には、上述したプロセス1500のブロック1516及び1522を実装することができる。プレヒートイベントが発生している場合(例えば、上述したように第1のカウンターが値MinYesを超えている場合)、プレヒート決定ユニット1608は、他のシステムコンポーネント(例えば、図2Aのウェイク制御ロジック230又は図2Bのウェイク制御ロジックモジュール280)に通知することができる。例えば、プレヒート決定ユニット1608には、上述したプロセス1500のブロック1518を実装することができる。リセットイベントが生じている場合(例えば、上述したように第2のカウンターが値MaxNoを超えている場合)、プレヒート決定ユニット1608は、可能性のあるジェスチャ開始決定ユニット1602に通知することができ、可能性のあるジェスチャ開始決定ユニット1602は、可能性のあるジェスチャ開始が生じているか否かの決定を再び始めることができる。また、プレヒート決定ユニット1608も、サンプル評価ユニット1604及び/又はカウンターユニット1606に、プレヒート又はリセットイベントを通知することができ、通知を受けたユニットは、それに応じて応答することができる。例えば、サンプル評価ユニット1604は、次の可能性のあるジェスチャ開始が生じるときまで、プレヒート又はリセットイベントのいずれかの後にサンプルの評価を停止することができる。一方又は他方のカウンターが関連する閾値に達するためにいくつかのサンプルを取ることがあるので、サンプル評価ユニット1604によって評価された全てのサンプルがプレヒート又はリセットイベントのいずれかにつながる必要はないことを理解されたい。
プレヒート検出モジュール1600は例示的なものであり、変形及び修正が可能であることが理解されるであろう。例えば、プレヒート検出モジュール1600は、特定のブロック又はユニットを参照して説明されているが、これらのブロックは説明の都合上定義されたものであって、構成部品の特定の物理的構成を意味することを意図したものではないことは、理解できよう。さらに、これらのブロックは、物理的に別個のコンポーネントに相当する必要はなく、物理的に同じコンポーネントを使用して、複数のブロックの態様を実装してもよい。ブロックは、例えば、プロセッサをプログラムすることによって、あるいは適切な制御回路を設けることによって様々な動作を行うように構成することができ、最初の構成がどのように得られるかによって、様々なブロックを再構成できることもあれば、できないこともある。本発明の実施形態は、回路とソフトウェアとの任意の組み合わせを使って実装される電子機器を含む様々な装置において実現することができる。
上述した様々なジェスチャ検出モジュール及び/又はプロセスを使用して、図2Aのウェイク制御ロジック230(又は図2Bのウェイク制御ロジックモジュール280)には、本発明の一実施形態によるウェイク制御ロジック230の状態を示す状態図である図17に示されるような状態マシン挙動を実装することができる。状態間の遷移は、プレヒート検出モジュール220(例えば、プロセス1500を実行する)、ローダイナミックメイン検出モジュール222(例えばプロセス400)、ハイダイナミックメイン検出モジュール224(例えばプロセス800)、軽い揺らし検出モジュール226(例えば、プロセス1100)、フォーカス解消検出モジュール228(例えば、プロセス1300)からの通知に応じて起こり得る。
状態1702は、デバイス200がアイドル状態であり、アプリケーションプロセッサ204がスリープ状態にあり、ユーザインタフェース202が非アクティブな状態にある「ヌル」状態とすることができる。いくつかの実施形態では、非アクティブ、フォーカス解消及び/又は他の基準に基づいて、状態1702に入ることができる。
状態1704は、(例えば、図15のブロック1518において)プレヒート検出モジュール220によって報告されたプレヒートイベントに応じて入ることが可能な「プレヒート」状態とすることができる。プレヒート状態1704に入ると、ウェイク制御ロジック230は、アプリケーションプロセッサ204に、スリープ状態からのウェイクを開始するように信号を送ることができる。いくつかの実施形態では、アプリケーションプロセッサ204のウェイクには、(おそらくは消費電力が増える以外は)ユーザが認識できる影響がない。ユーザは、アプリケーションプロセッサ204がウェイク状態にあるかスリープ状態にあるかを知らされる必要がない。
状態1706は、(例えば、図4のブロック412又は図8のブロック812において)可能性のあるレイズジェスチャの通知に応じて入ることができる「可能性のあるジェスチャ」状態とすることができる。状態1706には、プレヒート状態1704から入ることもできるし、ヌル状態1702から直接入ることもできる。可能性のあるジェスチャ状態1706に入ると、ウェイク制御ロジック230は、(プレヒート状態1704で既に行われていない場合に)アプリケーションプロセッサ204をウェイクさせることができ、ユーザインタフェース202をアクティブにすることもできる。
状態1708は、(例えば、図4のブロック418、図8のブロック818又は図11のブロック1124において)検出済レイズジェスチャの通知に応じて入ることができる「検出済ジェスチャ」状態とすることができる。状態1708は、可能性のあるジェスチャ状態1706から入ることもできるし、ヌル状態1702から直接入ることも、プレヒート状態1704から直接入ることもできる。例えば、上述の実施形態では、意図的なレイズジェスチャを検出するためのプロセス1100は、ウェイク制御ロジック230に、ヌル状態1702又はプレヒート状態1704のいずれかから生じ得る検出済レイズジェスチャを通知するだけである。この場合、可能性のあるジェスチャ状態1706はスキップされるかもしれない。他の実施形態では、プロセス1100は、(例えば、第1又は第2のピークの検出時に)ウェイク制御ロジック230に可能性のあるウェイクジェスチャを通知することができ、ヌル状態1702又はプレヒート状態1704から検出済ジェスチャ状態1708への直接遷移は起こらない可能性がある。検出済ジェスチャ状態1708に入ると、ウェイク制御ロジック230は、アプリケーションプロセッサ204をウェイクさせる及び/又はユーザインタフェース202をアクティブにすることのいずれか又は両方が以前に生じていない場合に、それをすることができる。
状態1710は、(例えば、図4のブロック424で)確認済レイズジェスチャの通知に応じて入ることができる「確認済ジェスチャ」状態とすることができる。いくつかの実施形態では、ウェイク制御ロジック230は、確認済ジェスチャ状態1710への遷移に応じて何もする必要はない。しかしながら、ウェイク制御ロジック230は、必要であれば、確認の通知をアプリケーションプロセッサ204に送信するなどの様々な行動をとることができ、アプリケーションプロセッサ204で実行されている様々なアプリケーション又は他のプロセスは、必要に応じて、検出済(ただし確認済ではない)レイズジェスチャとは対照的に確認済レイズジェスチャに応じて、異なる挙動をすることができる。
状態1712は、(例えば、図13のブロック1312で)フォーカス解消イベントの通知に応じて入ることができる「フォーカス解消」状態とすることができる。フォーカス解消状態1712に入ると、ウェイク制御ロジック230は、ユーザインタフェース202を非アクティブにすることができ、フォーカス解消をアプリケーションプロセッサ204に通知することができる。いくつかの実施形態では、アプリケーションプロセッサ204は、フォーカス解消に応じてすぐにスリープ状態に入らない可能性がある。例えば、アプリケーションプロセッサ204は、デバイス200がフォーカス状態(例えば、状態1706、1708、1710のいずれか)にある間に開始したプロセスを、そのプロセスが完了するまで実行し続け、その後でスリープ状態に入ることができる。
フォーカス解消状態1712から、アプリケーションプロセッサ204がその後スリープ状態に戻る場合、ウェイク制御ロジック230は、ヌル状態1702に戻ることができる。いくつかの実施形態では、アプリケーションプロセッサ204がスリープ状態に戻る前に、別のフォーカス関連イベント(例えば、プレヒート、可能性のあるレイズジェスチャ、検出済レイズジェスチャ)が生じる可能性があり、この場合、ウェイク制御ロジック230は、破線の矢印によって示されるように、まずヌル状態に戻るのではなく、状態1704、1706、1708のうちの適切な状態に戻ることができる。
図17に示す状態は例示であり、他の実施形態で、これより多い状態、少ない状態又は異なる状態を定義できることは理解できよう。
いくつかの実施形態では、ウェイク制御ロジック230は、ウェイク制御ロジック230の現在の状態に応じて、(例えば、プロセス1500を実装している)プレヒート検出モジュール220、(例えば、プロセス400を実装している)ローダイナミックメイン検出モジュール222、(例えば、プロセス800を実装している)ハイダイナミックメイン検出モジュール224、(例えば、プロセス1100を実装している)軽い揺らし検出モジュール226、(例えば、プロセス1300を実装している)フォーカス解消検出モジュール228のいずれか又は全てを含む、様々なジェスチャ検出アルゴリズム又はモジュールを選択的にイネーブル又はディセーブルにすることができる。
図18は、本発明の一実施形態によるウェイク制御ロジック230で実装できるプロセス1800のフローチャートである。プロセス1800は、図17のヌル状態で開始することができる(ブロック1802)。説明のために、この段階では、アプリケーションプロセッサ204はスリープ状態にあり、ユーザインタフェース202は非アクティブであると仮定する。
ブロック1804において、ウェイク制御ロジック230は、レイズジェスチャを検出するために、1つ以上のジェスチャ検出アルゴリズム又はモジュールをイネーブルにすることができる。例えば、ウェイク制御ロジック230は、プレヒート検出モジュール220、軽い揺らし検出モジュール226並びに、ローダイナミックメイン検出モジュール222又はハイダイナミックメイン検出モジュール224の一方又は他方をイネーブルにすることができる。いくつかの実施形態では、ハイダイナミックメイン検出モジュール224は、ユーザが、上述したように決定できる動作の多い活動をしているときにのみイネーブルにされ、ユーザが動作の多い行動をしていない場合は、動作の少ないメイン検知モジュール222がイネーブルにされる。ユーザの活動が変化した場合、ウェイク制御ロジック230は、どのアルゴリズムをイネーブルにするかを変更することができる。
ブロック1806において、プロセス1800は、ジェスチャ検出アルゴリズム又はモジュールのうちの1つがイベントの通知を提供するまで待機することができる。例えば、プレヒート検出モジュール220が、プレヒートイベントをウェイク制御ロジック230に通知することができ、あるいは、ローダイナミックメイン検出モジュール222又はハイダイナミックメイン検出モジュール224が、ウェイク制御ロジック230に、可能性のあるレイズジェスチャを通知することができる。そのような通知が受信されると、ブロック1808で、プロセス1800はアプリケーションプロセッサ204をウェイクさせ(ウェイクアップしていないと仮定して)、プレヒート検出モジュール220をディセーブルにすることができる。他のレイズジェスチャ検出アルゴリズム又はモジュールが実行され続けてもよい。実装次第で、アプリケーションプロセッサ204がユーザインタフェース202をアクティブにすることもあれば、しないこともある。例えば、いくつかの実施形態では、アプリケーションプロセッサ204は、可能性のあるレイズジェスチャイベントに応じてユーザインタフェース202をアクティブにするが、プレヒートイベントに応じてユーザインタフェース202をアクティブにすることはない。
ブロック1810において、ウェイク制御ロジック230は、検出済レイズジェスチャの通知が受信されているか否かを決定することができる。そのような通知は、例えば、軽い揺らし検出モジュール226、又は動作の少ないモーション検出モジュール222若しくは動作の多いモーション検出モジュール224のいずれかから受信できる。いくつかの実施形態では、検出済レイズジェスチャの通知が、プレヒート又は可能性のあるレイズジェスチャイベント後のタイムアウト時間内に受信されない場合、ウェイク制御ロジック230は、プレヒート又は可能性のあるレイズジェスチャが誤検出されたと推定することができる。よって、ブロック1812において、ウェイク制御ロジック230は、アプリケーションプロセッサ204に誤検出を通知し、プレヒート検出モジュール220を再度イネーブルにして、ブロック1804に戻ることができる。いくつかの実施形態では、閾値数の誤検出プレヒートイベントが短い時間内に生じた場合、プレヒート検出モジュール220は、「バックオフ」状態に入ることができる。この状態では、プレヒート検出モジュールは、誤検出の頻度が閾値を下回るまで、プレヒート通知の送信を停止することができる(あるいは、ウェイク制御ロジック230がプレヒート通知を無視することができる)。これにより、アプリケーションプロセッサによる不要な電力消費を削減する一助となり得る。
ブロック1810で検出済レイズジェスチャの通知が受信された場合、ブロック1814において、プロセス1800は、検出済レイズジェスチャを確認するためにジェスチャ分類部234をイネーブルにすることができ、なおかつ、軽い揺らし検出モジュール226をディセーブルにすることができる。場合によっては、検出済レイズジェスチャの通知が、プレヒートの通知又は可能性のあるレイズジェスチャの通知(例えば、軽い揺らし検出モジュール226が検出済レイズジェスチャの通知を生成する場合)に先行することができる。図18には具体的に示していないが、これが生じると、プロセス1800は、ブロック1814の動作と共にブロック1808の動作を行うことができることを理解されたい。
ブロック1816において、プロセス1800は、検出済レイズジェスチャが確認されたか否かを決定することができる。場合によっては、(例えば、ブロック1810で検出済レイズジェスチャ通知が軽い揺らし検出モジュール226から受信された場合に)ブロック1816での確認を想定してもよく、レイズジェスチャの確認に、ジェスチャ分類部234などを使用する必要がない。他の例では、(例えば、ブロック1810における検出済レイズジェスチャ通知がローダイナミックメイン検出モジュール222から受信された場合など)少なくともいくつかの状況で、確認が必要になることもある。確認が受信されない場合(又は想定されていない場合)又は否認が受信されると、ブロック1818において、ウェイク制御ロジック230は、未確認のレイズジェスチャ又は否認されたレイズジェスチャをアプリケーションプロセッサ204に通知し、プレヒート検出モジュール220及び軽い揺らし検出モジュール226を再びイネーブルにし、ジェスチャ分類部234をディセーブルにすることができる。プロセス1800は、ブロック1804に戻り、確認済レイズジェスチャを待ち続けることができる。
ブロック1816でジェスチャが確認された場合、ブロック1820において、プロセス1800は、アプリケーションプロセッサ204にユーザインタフェース202をアクティブにするように命令し(まだアクティブでない場合)、フォーカス解消検出モジュール228をイネーブルにし、ローダイナミックメイン検出モジュール222又はハイダイナミックメイン検出モジュール224をディセーブルにすることができる。軽い揺らし検出モジュール226又はプレヒートモジュール220が依然としてイネーブルのままである場合、これらのモジュールも、ブロック1820でディセーブルにすることができる。
プロセス1800は、例えばフォーカス解消検出モジュール228から、フォーカス解消ジェスチャの通知が受信されるまで、ブロック1822で待機することができる。この時間の間、デバイス200は、フォーカスされているとみなすことができる。アプリケーションプロセッサ204は、そのウェイク状態のままでいることができ、ユーザインタフェース204はアクティブのままであることができる。
フォーカスが解消されると、ブロック1824で、プロセス1800はアプリケーションプロセッサ204に通知し、ユーザインタフェース202を非アクティブにして、フォーカス解消検出モジュール228をディセーブルにすることができる。プロセス1800は、ブロック1804に戻り、様々なレイズジェスチャ検出モジュール(例えば、軽い揺らし検出モジュール226、ローダイナミックメイン検出モジュール222及びハイダイナミックメイン検出モジュール224のうちの一方又は他方)を再びイネーブルにすることができる。アプリケーションプロセッサ204がスリープ状態に戻った場合は、プロセス1800は、プレヒート検出モジュール220を再びイネーブルにすることができる。
プロセス1800は例示的であり、変形及び修正が可能であることが理解されるであろう。逐次として説明されたステップを同時並行で行ってもよく、ステップの順序を変更しても、ステップの修正、組み合わせ、追加又は省略をしても構わない。ユーザインタフェース204をアクティブにすることは、必要に応じて、ウェイク制御ロジック230によって、あるいは、アプリケーションプロセッサ204内のプロセスによって制御することができる。プレヒート検出モジュール220は、アプリケーションプロセッサ204がそのスリープ状態にある間は連続的に実行することができ、アプリケーションプロセッサ204がウェイク状態にあるときはいつでもディセーブルにされることができる。いくつかの実施形態では、フォーカスが外れても、アプリケーションプロセッサ204がすぐにスリープ状態に戻されることはない。例えば、アプリケーションプロセッサ204上では、実行中の処理タスクのいずれも実行し続けることができ、アプリケーションプロセッサ204は、(さらなるレイズジェスチャ又はプレヒートイベントが発生していないと仮定すると)そのようなタスクが完了したときにスリープ状態に戻ることができる。アプリケーションプロセッサ204は、ウェイク状態とスリープ状態との間で遷移するたびにウェイク制御ロジック230に通知し、ウェイク制御ロジック230も、ユーザインタフェース202における状態変化(例えば、非アクティブな状態とアクティブな状態との間)の通知を受けることができる。ウェイク制御ロジック230は、ジェスチャ検出モジュール又はアルゴリズムから受信した通知に加えて、アプリケーションプロセッサ204からの通知に基づいて、ジェスチャ検出モジュール又はアルゴリズムをイネーブル又はディセーブルにすることができる。
図18に示す例では、レイズジェスチャが検出されて確認されるまで、ユーザインタフェースはアクティブにされない。いくつかの実施形態では、(例えば、可能性のあるレイズジェスチャ又は検出済レイズジェスチャが報告されたとき)より一層早い段階でユーザインタフェースをアクティブにすることが望ましい場合がある。これにより誤検出が増えるが検出漏れは少なくなる可能性があり、より応答性がよく、満足度が高いユーザエクスペリエンスが提供できる。さらに、ユーザインタフェースについては、段階的にアクティブにすることができる。例えば、可能性のあるレイズジェスチャの通知が受信されたときにインタフェースが部分的にイネーブルにされ(例えば、表示されているが、薄暗くされ、タッチオーバーレイはディセーブルにされている又は低解像度でイネーブルにされている)、その後、検出済レイズジェスチャが受信されたときに、完全にイネーブルになるかもしれない。
本発明を特定の実施形態に関して説明してきたが、当業者であれば、多数の修正形態が可能であることを認識するであろう。例えば、上記では様々なアルゴリズム又はモジュールがデバイスのコプロセッサで実行されるものとして説明しているが、メインプロセッサ(例えば、アプリケーションプロセッサ)も上述したジェスチャ検出アルゴリズム又はモジュールのいずれか又は全てを実行できることは、当業者であれば認識するであろう。一例として、上述した実施形態では、アプリケーションプロセッサがウェイク状態にあるときにジェスチャ分類部を選択的に呼び出すことができ、ジェスチャ分類部を、コプロセッサではなくアプリケーションプロセッサ上で実行することができる。また、アプリケーションプロセッサがウェイク状態にあれば、他のアルゴリズムもアプリケーションプロセッサ上で完全に又は部分的に実行することもできる。他の実施形態では、アプリケーションプロセッサは、複数の電力状態を有することができる。例えば、スリープ状態は、プロセッサの1つのセクションが上述したものなどのジェスチャ検出アルゴリズムを実行でき、同時に、プロセッサの他のセクションが節電のために非アクティブである状態を含むことができる。(例えば、マルチコアアプリケーションプロセッサでは、1つのコアがアクティブであり、他のコアが非アクティブである可能性がある)。
可能性のあるレイズジェスチャ若しくは実際のレイズジェスチャの検出、検出済レイズジェスチャの確認及び/又はプレヒートイベント若しくはフォーカス解消イベントの検出に用いられるパラメータに、適応的制御を使用してもよい。適応的制御を使用すると、より甘い又はより厳しい検出基準にパラメータを調整できるようになる。基準が甘くなれば応答速度を上げてトリガーを早めることができるのに対し、基準が厳しくなれば誤検出を減らすことができる(よって、さらに節電になる)。調整可能なパラメータとしては、蓄積したy傾斜の必要量、デバイスのフォーカス姿勢範囲、レイズジェスチャを行うときのデバイス軌道に関する基準が挙げられる。いくつかの実施形態では、調整可能なパラメータを、コンフィギュレーションデータブロックによって変更することができ、随時、新たなコンフィギュレーションデータをデバイスにダウンロードすることができる。調整可能なパラメータを調節するために、ユーザインタフェースを提供することもできる(例えば、甘い基準から厳しい基準へのスライド目盛りで、など)。
別の例として、上述したレイズジェスチャアルゴリズムでは、ジェスチャを検出する前に、最小限の持続時間にわたって、デバイスがフォーカス姿勢にとどまる必要がある場合がある。いくつかの実施形態では、持続時間は、フォーカス姿勢の精度とトレードオフになり得る。例えば、デバイスが、フォーカス姿勢に定められた範囲の近くにあるがその範囲内にはなく(例えば、4つの基準のうちの3つを満たす場合)、その位置で十分な持続時間を経過したら、そのことを、レイズジェスチャとして検出することができる。例えば、y傾斜がゼロ又は負ではなく正であっても、終了姿勢が十分に長く保持されていると仮定すると、大幅な回転の後に終了姿勢が保持されていると認識される場合がある。このようにして持続時間を使用してフォーカス姿勢の全ての基準を完全には満たせなかったことを「相殺」するのであれば、より厳しいフォーカス姿勢基準を指定してもよい。
本明細書に記載のプロセスを使用して、デバイスのユーザインタフェースをいつアクティブにするかを決定することができる。ひとたびアクティブになると、ユーザインタフェースは、望まれるどのような状態でも提示することができる。例えば、デフォルトの「ホーム」状態、ユーザインタフェースが非アクティブになる前の最後の状態、ユーザインタフェースが最後にアクティブであってから受信された最新の通知又は通知に関する情報を提示している状態、あるいは他の何らかの状態で、ユーザインタフェースを提示することができる。
いくつかの実施形態では、ユーザインタフェース又はそのコンポーネントを段階的にアクティブにすることができる。例えば、可能性のあるレイズジェスチャが(例えば、上述のようにして)検出された場合、ユーザインタフェースは、部分的にアクティブになる状態に遷移することができる。そのような部分的にアクティブになる状態には、ディスプレイをアクティブにするが薄暗い照明をしているだけである(「薄暗い照明」は、例えば周囲光、ユーザの好みなどに依存することがある、ディスプレイの通常の動作輝度より低いレベルの光を含むことができる)か、ディスプレイをアクティブにするがタッチ感知式オーバーレイをアクティブにしない、ディスプレイをアクティブにするが音声入力回路をアクティブにしないことなどを含んでもよい。可能性のあるレイズジェスチャが検出済レイズジェスチャになると、ユーザインタフェースは、例えば、ディスプレイが標準的な輝度でオンになり、タッチ感知式オーバーレイがアクティブで、音声入力回路がアクティブにされるなど、完全にアクティブになる状態に遷移することができる。別の例として、ユーザインタフェースの異なるコンポーネントが、レイズジェスチャ検出の異なる段階でアクティブにされてもよい。例えば、(例えば上述したように)可能性のあるレイズジェスチャが検出されると、1つ以上のユーザインタフェースコンポーネント(例えば、マイクロフォン又はディスプレイ)をアクティブにすることができる一方で、他のユーザインタフェースコンポーネント(例えば、ディスプレイのタッチ感知式オーバーレイ、スピーカ、音声認識コプロセッサなど)は、非アクティブのままである。可能性のあるレイズジェスチャが検出済レイズジェスチャになると、1つ以上の他のユーザインタフェースコンポーネント(例えば、タッチ感知式オーバーレイ)をアクティブにすることができる。さらに、検出済レイズジェスチャが確認済レイズジェスチャになるまで、1つ以上の他のユーザインタフェースコンポーネント(例えば、音声認識コプロセッサ)を非アクティブのままにすることができる。異なるユーザインタフェースコンポーネントが異なるジェスチャ状態遷移に応じてアクティブな状態に遷移するように、他のアクティベーションシーケンスを実装することもできる。
いくつかの実施形態では、ウェイク制御ロジック230は、デバイス200がどれだけ長い時間フォーカス状態にあるかを示す情報(例えば、最新の検出済レイズジェスチャイベント又は最新の確認済レイズジェスチャイベントの発生からの経過時間)を、アプリケーションプロセッサ204に提供することができる。上記に加えて又はこれに代えて、アプリケーションプロセッサ204は、ウェイク制御ロジック230が(例えば、検出済レイズジェスチャ又は確認済レイズジェスチャをアプリケーションプロセッサ204に通知することによって)フォーカス状態への遷移を示した後に経過した時間及び/又はアプリケーションプロセッサ204に利用可能な他の情報に基づいて、フォーカス状態の持続時間を推定することができる。フォーカス状態の持続時間を使用して、ユーザエクスペリエンスに影響を及ぼすことができる。例えば、デバイス200が、フォーカス状態にあり、通知(例えば、「Fredからの新しいテキストメッセージ」)を表示していると仮定する。ユーザがどれだけ長く通知を見ているかに応じて、アプリケーションプロセッサ204は、ユーザに制御を操作させなくても通知に関する追加情報(例えば、テキストメッセージの内容)を表示することを選択できる。別の例として、アプリケーションプロセッサ204は、ユーザが予め定められた時間よりも長い時間見ているならば通知が読まれたと推定して、ユーザに制御を操作させなくても自動的に通知を隠すか破棄することができる。例えば、通知又は他のアイテムのリスト全体又はメッセージの内容全体でスクロール又はページングするなど、ユーザがフォーカス姿勢をどれだけ長く保ち続けているかに基づく他のアクションを実装してもよい。
フォーカス解消ジェスチャを検出することで、様々な結果にすることができる。例えば、上述したように、ユーザインタフェースを非アクティブにすることができる。さらに、フォーカス解消時に表示されていた全ての通知を破棄することができるか、通知の既読/未読状態を維持することができる。
さらに、上述したように、アプリケーションプロセッサ204は、ジェスチャ状態遷移又はジェスチャイベント(例えば、可能性のあるレイズジェスチャ、検出済レイズジェスチャ、確認済レイズジェスチャ、フォーカス解消)の通知を、ウェイク制御ロジック230から受けることができる。いくつかの実施形態では、アプリケーションプロセッサ204は、そのクライアント(例えば、アプリケーションプロセッサ上で実行することができる任意のアプリケーション及び/又はオペレーティングシステムプロセス)に、これらの遷移を通知することもでき、クライアントは、必要に応じて応答行為をすることができる。
本発明のいくつかの実施形態では、本明細書に記載される全部のジェスチャ検出モジュールよりも少ない数のジェスチャ検出モジュールを使用できることを、理解されたい。例えば、いくつかの実施形態は、プレヒート検出モジュールだけを含むかもしれない。いくつかの実施形態は、単一の自然なレイズジェスチャ検出モジュール(例えば、上述したようなローダイナミック検出モジュール又はハイダイナミック検出モジュールのいずれかであり得る)だけを含むかもしれないし、複数の自然なレイズジェスチャ検出モジュールを含むかもしれない。いくつかの実施形態は、意図的なレイズジェスチャ検出モジュール(例えば、上述した軽い揺らし検出モジュール)だけを含むかもしれない。いくつかの実施形態は、フォーカス解消検出モジュールだけを含むかもしれない。いくつかの実施形態は、プレヒート検出モジュール及び1つ以上の自然なレイズジェスチャ検出モジュールを含むかもしれない。いくつかの実施形態は、プレヒート検出モジュール及び意図的なレイズジェスチャ検出モジュールを含むかもしれない。いくつかの実施形態は、プレヒート検出モジュール及びフォーカス解消検出モジュールを含むかもしれない。いくつかの実施形態は、プレヒート検出モジュール、1つ以上の自然なレイズジェスチャ検出モジュール及び意図的なレイズジェスチャ検出モジュールを含むかもしれない。いくつかの実施形態は、1つ以上の自然なレイズジェスチャ検出モジュール及び意図的なレイズジェスチャ検出モジュールを含むかもしれない。いくつかの実施形態は、1つ以上の自然なレイズジェスチャ検出モジュール、意図的なレイズジェスチャ検出モジュール及びフォーカス解消検出モジュールを含むかもしれない。いくつかの実施形態は、意図的なレイズジェスチャ検出モジュール及びフォーカス解消検出モジュールを含むかもしれない。加えて、いくつかの実施形態は、上記に具体的に記載されていない追加のジェスチャ検出モジュールを含むかもしれない。
また、上述したようなレイズジェスチャ及び/又はフォーカス解消ジェスチャの自動検出を実装するデバイスで、ユーザインタフェースをアクティブ及び/又は非アクティブにするのに使用できるユーザが操作可能な手動制御(例えば、物理的ボタン、タッチセンサなど)を用いてもよいことは、理解されたい。このような制御が提供される場合、ウェイク制御ロジック230は、手動制御のユーザ操作に起因するユーザインタフェースの状態の変化の通知を受信し、それに応じて自身の状態を調節することができる(例えば、上述した様々なアルゴリズムをイネーブル又はディセーブルにする)。したがって、本明細書に記載された自動化プロセスがユーザの対話を容易にすることができるが、デバイス(及びユーザ)は、これだけに頼る必要はない。
本明細書で説明される様々なアルゴリズム及びパラメータ(例えば、重み、閾値、他の基準)については、上述したように、例えば機械学習及び/又は他の技術を用いてヒューリスティックに調整することができる。機械学習の訓練フェーズは、デバイス開発中に(例えば、広範囲に配布する前に)行うことができ、訓練の結果をデバイスのファームウェアに組み込むことができると考えられる。したがって、ユーザがデバイスの訓練を行う必要はない。いくつかの実施形態では、デバイスは、ユーザが意図的なレイズジェスチャを実行するか手動制御を動作させた場合(これは、自然なレイズジェスチャ検出アルゴリズムが検出漏れを生じたことを示す場合がある)に、モーションセンサデータの関連する間隔を記録するなど、通常動作時にフィードバックを収集することができる場合がある。デバイスは、そのような記録されたデータに基づいて自己のアルゴリズム及びパラメータを改良するために、バックグラウンドで訓練アルゴリズムを実行することができる場合がある。いくつかの実施形態では、デバイス製造業者は、そのようなデータをデバイスの大きなまとまり全体で集約し、その情報を使用してジェスチャ検出アルゴリズム及び/又はパラメータを更新することができる。(ユーザのプライバシーを保護するために、この集約は匿名で行うことができ、モーションセンサデータと、データが検出漏れに相当する可能性があるという指示に限定することができる)。
本開示では、「ほぼ」及び「実質的に」などの用語を使用して、フォーカス姿勢における安定性などの特定の測定値に幅を持たせている。ほとんどのユーザは自分の腕を完全に静止させることができず、これらの用語は、ユーザに自然に生じる不安定さの影響及び様々なモーションセンサの固有の精度を許容できることを示すために使用されることは、当業者であれば理解するであろう。水平、垂直、平行などの他の用語にも同様に幅を持たせて、物理的な完全性が不要であることを示すことができる。また、本明細書で使用する場合、「視線内に」などの表現は概ね、デバイスに対するユーザの頭の向きに関する仮定を示し、そのような仮定は、ユーザの目がデバイスの方に向けられているか否かに必ずしも厳密には一致しないことがある。
さらに、ここでの説明は、着用可能デバイス及び手首に着用可能なデバイスに具体的に言及しているが、本発明の実施形態は、着用可能デバイス又は手首に着用可能なデバイスに限定されるものではない。例えば、上述のアルゴリズム及びモジュールを、ユーザがデバイスとの対話中に持ち上げて保持するかもしれない携帯電話、タブレットなどの他のポータブルデバイスに実装することができる。上述したようなアルゴリズム及び/又はモジュールは、携帯式のデバイスに実装されると、持ち上げられてユーザの視線内に保たれることと整合性が取れるデバイスの向きの変化(あるいは、逆に下げられる又は離されることと整合性が取れる変化)を検出することができ、そのような変化の検出を用いて、デバイス状態の変化(例えば、ディスプレイ又は他のユーザインタフェースコンポーネントをアクティブにすること、プロセッサをスリープ状態からウェイクさせることなど)を、引き起こすことができる。
本発明の実施形態は、専用の構成要素及び/又はプログラマブルプロセッサ、及び/又は他のプログラマブルデバイスの任意の組み合わせを使用して実現することができる。本明細書で述べられる様々なプロセスは、同一プロセッサ又は任意の組み合わせの異なるプロセッサ上で実装可能である。構成要素が特定の動作を実行するように構成されていると説明されている場合、このような構成は、例えばこの動作を実行するように電子回路を設計することにより、この動作を実行するように(マイクロプロセッサなどの)プログラマブルな電子回路をプログラムすることにより、又はこれらの任意の組み合わせにより、達成することができる。さらに、上記の実施形態は、特定のハードウェア及びソフトウェア構成要素を参照し得るが、当業者には、異なる組み合わせのハードウェア及び/又はソフトウェア構成要素も利用でき、ハードウェアで実行されると説明されている特定の動作がソフトウェアでも実行し得、またその逆も可能であることが理解されよう。
本発明の様々な特徴を組み込んだコンピュータプログラムが符号化され、様々なコンピュータ可読記憶媒体上に記憶されてもよい。好適な媒体としては、磁気ディスク若しくはテープ、コンパクトディスク(CD:compact disk)若しくはDVD(digital versatile disk、デジタル多用途ディスク)などの光学記憶媒体、フラッシュメモリ、並びにその他の非一時的媒体が挙げられる。(データの「記憶」は、搬送波などの一時的な媒体を使用するデータの伝播とは異なることが理解される)。プログラムコードで符号化されたコンピュータ可読媒体は、互換性のある電子機器と共にパッケージ化することができ、又はプログラムコードを電子機器とは別個に(例えばインターネットダウンロードにより、若しくは別個にパッケージ化されたコンピュータ可読記憶媒体として)提供することができる。
複数の実施形態が、アクティブな状態と非アクティブな状態のあるユーザインタフェースコンポーネントと、デバイスの動きを検出するためのモーションセンサと、少なくとも第1のプロセッサと、を有することができる、手首に着用可能なデバイス又は他の着用可能デバイスなどのデバイスにおいて、レイズジェスチャを検出するための方法に関する。例えば、第1のプロセッサは、時間幅に対応する一組のモーションセンサデータサンプルに基づいて、時間幅の開始に対応する開始姿勢を決定することができる。第1のプロセッサは、少なくとも部分的に開始姿勢に基づいて、一組のモーションセンサデータサンプルを使用して可能性のあるレイズジェスチャを特定するための一組の基準を決定することができる。第1のプロセッサはさらに、少なくとも部分的に、一組のモーションセンサデータサンプルが選択された一組の基準を満たすか否かに基づいて、可能性のあるレイズジェスチャをさらに決定することができる。第1のプロセッサはさらに、可能性のあるレイズジェスチャの後に、少なくとも最小限の持続時間にわたってフォーカス姿勢のままである場合に、検出済レイズジェスチャを決定することができる。第1のプロセッサは、可能性のあるレイズジェスチャが特定されたとき及び検出済レイズジェスチャが特定されたときに、デバイスの別のコンポーネントに通知することができる。
いくつかの実施形態では、他のコンポーネントは、ユーザインタフェースコンポーネントを含むことができる。ユーザインタフェースコンポーネントは、可能性のあるレイズジェスチャが通知されたことに応じて、あるいは、検出済レイズジェスチャが通知されたことに応じて、アクティブにされることができる。いくつかの実施形態では、ユーザインタフェースコンポーネントは、可能性のあるレイズジェスチャが通知されたことに応じて、非アクティブな状態から部分的にアクティブな状態に遷移することができ、検出済レイズジェスチャが通知されたことに応じて、部分的にアクティブな状態からアクティブな状態に遷移することができる。
いくつかの実施形態では、他のコンポーネントは、アプリケーションプロセッサを含むことができる。アプリケーションプロセッサは、例えば、可能性のあるレイズジェスチャが通知されたことに応じて、スリープ状態からウェイク状態に遷移することができ、可能性のあるレイズジェスチャが通知されたことに応じて、あるいは、検出済レイズジェスチャが通知されたことに応じて、デバイスのユーザインタフェースコンポーネントをアクティブにすることができる。
開始姿勢を、様々な方法で決定することができる。いくつかの実施形態では、開始姿勢を決定することは、一組のモーションセンサデータサンプルにおけるモーションセンサの1つ以上の最も古いデータサンプルを複数の基準となる開始姿勢の各々と比較し、比較結果に基づいて、1つ(又はそれ以上)の基準となる開始姿勢を選択することを含むことができる。いくつかの実施形態では、複数の基準となる開始姿勢が選択された場合、開始姿勢は、選択された基準となる開始姿勢を混合したものと定義することができる。いくつかの実施形態では、開始姿勢を決定することには、活動分類部を使用してユーザの現在の活動を特定することと、少なくとも部分的にユーザの現在の活動に基づいて開始姿勢を決定することを含むことができる。
可能性のあるレイズジェスチャを特定するための一組の基準については、様々な方法で決定することができる。例えば、可能性のあるレイズジェスチャを特定するための一組の基準を決定することには、決定された開始姿勢を使用してルックアップテーブルにアクセスし、ルックアップテーブルから一組の基準を抽出することを含むことができる。開始姿勢が2つ以上の選択された基準となる開始姿勢を混合したものであると定義される場合、可能性のあるレイズジェスチャを特定するための一組の基準を決定することには、選択された基準となる開始姿勢をそれぞれ使用してルックアップテーブルにアクセスし、選択された基準となる開始姿勢のそれぞれに対応する一組の基準をルックアップテーブルから抽出し、抽出した一組の基準を混合することを含むことができる。
いくつかの実施形態では、可能性のあるレイズジェスチャを特定するための一組の基準は、モーションセンサの利用可能なデータに依存することがある。例えば、モーションセンサデータが加速度計データを含む場合、可能性のあるレイズジェスチャを特定するための選択された一組の基準は、時間幅の間に加速度計データから決定された蓄積した傾斜に基づく基準、デバイスの持ち上げ量、時間幅の間に加速度計データから決定された持ち上げ量に基づく基準、及び/又は時間幅の間の動きの滑らかさに基づく基準のいずれか又は全てを含むことができる。別の例として、モーションセンサデータがジャイロセンサからのジャイロスコープデータを含む場合、可能性のあるレイズジェスチャを特定するための選択された一組の基準は、ユーザの前腕に実質的に平行な軸を中心とした蓄積した回転に基づく基準を含むことができ、この蓄積した回転は、時間幅の間にジャイロスコープデータから決定される。モーションセンサデータがジャイロセンサからのジャイロスコープデータと加速度計からの加速度計データの両方を含むいくつかの実施形態では、可能性のあるレイズジェスチャを特定するのにジャイロスコープデータを用いることができ、検出済レイズジェスチャを特定するのに加速度計データを用いることができる。
可能性のあるレイズジェスチャについては、様々な方法で決定することができる。例えば、可能性のあるレイズジェスチャを決定することには、一組のモーションセンサデータサンプルに基づいて、時間幅の終了に対応する終了姿勢を決定することと、終了姿勢がフォーカス姿勢に対応するか否かを決定することを含むことができる。いくつかの実施形態では、可能性のあるレイズを決定することは、開始から時間幅の終了に対応する終了姿勢への動きが、時間幅の終了によって遅くなる又は停止したか否かを決定することを含むことができる。
フォーカス姿勢については、様々な方法で定義することができる。いくつかの実施形態では、フォーカス姿勢は、少なくとも部分的に開始姿勢に基づいて定義される。いくつかの実施形態では、フォーカス姿勢は、デバイスの一定範囲の向きに対応するものと定義することができ、フォーカス姿勢の最小限の持続時間は、フォーカス姿勢に対応する向きの範囲に対するデバイスの現在の向きの位置に少なくとも部分的に基づいて決定することができる。フォーカス姿勢がデバイスの向きの範囲に対応するものと定義されるいくつかの実施形態では、可能性のあるレイズジェスチャの終了姿勢を特定することができ、終了姿勢の持続時間を決定することができる。フォーカスに対応する向きの範囲は、少なくとも部分的に終了姿勢の持続時間に基づいて、例えば、持続時間が増加すると範囲が増加するように、動的に調節することができる。
いくつかの実施形態では、可能性のあるレイズジェスチャを決定するための基準を、甘い基準から厳しい基準の範囲内で選択することができる。同様に、フォーカス姿勢の定義(例えば、フォーカス姿勢に対応するデバイスの向きの範囲)を、甘い定義から厳しい定義の範囲内で調節することができる。ユーザが、この甘さ又は厳しさを選択又は調整できる場合もある。
いくつかの実施形態では、検出済レイズジェスチャを決定した後、ジェスチャ分類部を使用して、検出済レイズジェスチャを確認することができる。例えば、検出済レイズジェスチャに信頼スコアを割り当てることができ、対象とする特徴を、ジェスチャ分類部に入力することができる。モーションセンサデータが加速度計データを含む実施形態では、対象とする特徴は、例えば、対象とする時間ウィンドウに対応する加速度計データサンプル、連続した加速度計データサンプル間の変化の標準偏差に基づく滑らかさのパラメータ、ユーザの前腕に平行な軸に対する蓄積した傾斜(例えば、手首に着用可能なデバイスの場合)、対象とする時間ウィンドウ(例えば、検出済レイズジェスチャが起こっている時間)の開始時におけるデバイスの開始の向き及び/又は対象とする時間ウィンドウの終了時におけるデバイスの終了の向きのうちのいずれか又は全てを含むことができる。モーションセンサデータがジャイロセンサからのジャイロスコープデータサンプルを含む実施形態では、対象とする特徴は、例えば、対象とする時間ウィンドウに対応する個々のジャイロスコープデータサンプル、連続したジャイロスコープデータサンプル間の変化の標準偏差に基づく滑らかさのパラメータ、ユーザの前腕に平行な軸に対する蓄積した回転、対象とする時間ウィンドウの開始時におけるデバイスの開始の向き及び/又は対象とする時間ウィンドウの終了時におけるデバイスの終了の向きのうちのいずれか又は全てを含むことができる。
例えば線形判別分析を実装したベイジアン分類部を含むことができるジェスチャ分類部は、対象とする特徴から、検出済レイズジェスチャが真のレイズジェスチャである確率を計算することができ、この確率は、対象とする特徴から計算される。信頼スコア及びこの確率に基づいて、レイズジェスチャを確認するか否かを決定することができる。例えば、確率の閾値は、信頼度スコアに少なくとも部分的に基づいて選択することが可能であり、この確率が閾値を超えるか否かに基づいて、決定を行うことができる。いくつかの実施形態では、検出済レイズジェスチャを確認するか否かを決定することには、レイズジェスチャを確認か否認するかのいずれかの前に、モーションセンサの追加のデータを待機するか否かを決定することを含むことができる。いくつかの実施形態では、自然なレイズジェスチャを少なくとも1つの他の類似のジェスチャから区別するように、ジェスチャ分類部を前もって訓練することができる。
いくつかの実施形態では、ジェスチャ分類部による確認に応じてデバイスのユーザインタフェースコンポーネントをアクティブにすることができ、あるいは、特定された検出済レイズジェスチャがジェスチャ分類部によって否認される場合に、デバイスのユーザインタフェースコンポーネントを非アクティブにすることができる。
レイズジェスチャを検出することに加えて、いくつかの実施形態では、デバイスは、プレヒートイベントを検出することもできる。例えば、第1のプロセッサ(又は他のプロセッサ)は、プレヒート検出アルゴリズムを実行して、レイズジェスチャの開始を検出することができる。ここで、自然なレイズジェスチャの検出に関連付けられた決定、選択、特定をする行為と同時に、プレヒート検出アルゴリズムが実行される。プロセッサは、レイズジェスチャの開始が検出された場合に、他のコンポーネント(例えば、アプリケーションプロセッサ)に、プレヒートイベントを通知することができる。プレヒートアルゴリズムは、例えば、レイズジェスチャの可能性のある開始を検出するために、一組の1つ以上の最近のモーションセンサデータサンプルを分析し、レイズジェスチャの可能性のある開始が検出されない場合は、その後のモーションセンサデータのサンプルにもこの分析を繰り返し、レイズジェスチャの可能性のある開始が検出されたら、その後の一連のモーションセンサデータのサンプル各々をレイズジェスチャと整合性が取れるか整合性が取れないかのいずれかとして評価することを含むことができる。レイズジェスチャと整合性が取れないモーションセンサデータのサンプルの第2の閾値数に達する前に、レイズジェスチャと整合性が取れるモーションセンサデータのサンプルの第1の閾値数に達した場合は、他のコンポーネントに、プレヒートイベントを通知することができる。他のコンポーネント(例えば、アプリケーションプロセッサ)は、プレヒートイベントに応じて、スリープ状態からウェイク状態に遷移することができる。いくつかの実施形態では、プレヒートイベントの通知のあとにタイムアウト時間内に検出済レイズジェスチャの通知が続かない場合、他のコンポーネントは、ウェイク状態からスリープ状態に戻る遷移をすることができる。いくつかの実施形態では、検出済レイズジェスチャが特定されるまでにアプリケーションプロセッサがウェイク状態への遷移を完了できるほど十分に早い段階で、レイズジェスチャの開始検出することができる。いくつかの実施形態では、プレヒートイベントの通知は、デバイスの非アクティブなユーザインタフェースコンポーネントに影響しない。
このような方法は、様々なデバイスに実装することができる。例えば、デバイスは、(タッチスクリーンディスプレイ又は他のディスプレイであり得る)ディスプレイ、マイクロフォン、スピーカ及び/又はボタンのいずれか又は全てなどのユーザインタフェースコンポーネントを有することができる。デバイスは、加速度計及び/又はジャイロセンサなどの様々なモーションセンサを有することができる。必要があれば、本明細書に記載されるようなレイズジェスチャの検出を、プライマリーアプリケーションプロセッサ又はコプロセッサで行ってもよい。
いくつかのデバイスは、アクティブな状態と非アクティブな状態があるユーザインタフェースコンポーネントと、デバイスの動きを示すモーションセンサデータを生成するように動作可能なモーションセンサと、ユーザインタフェースコンポーネント及びモーションセンサに接続された動き処理ユニットと、を含むことができる。動き処理ユニットは、モーションセンサデータを受信して、このモーションセンサデータに基づいて開始姿勢を推定するための開始姿勢推測ユニットと、モーションセンサデータを受信し、受信したデータが可能性のあるレイズジェスチャの基準を満たすか否かを決定し、基準が満たされた場合に、可能性のあるレイズジェスチャの通知を生成するための可能性のあるレイズジェスチャ決定ユニットと、可能性のあるレイズジェスチャ決定ユニットから可能性のあるレイズジェスチャの通知を受信し、検出済レイズジェスチャのための条件が満たされるか否かを決定するために加速度計の追加のデータを監視し、条件が満たされた場合に検出済レイズジェスチャの通知を生成するための検出済レイズジェスチャ決定ユニットと、を取り入れた自然検出モジュールを含むことができる。いくつかの実施形態において、動き処理ユニットは、開始姿勢推測ユニットによって推測された開始姿勢に少なくとも部分的に基づいて可能性のあるレイズジェスチャを検出するための基準を決定し、この基準を可能性のあるレイズジェスチャ決定ユニットに提供するための基準決定ユニットも含むことができる。いくつかの実施形態では、動き処理ユニットは、検出済レイズジェスチャに関連付けられたモーションセンサデータに基づいてジェスチャ確認を行い、確認済レイズジェスチャ又は否認されたレイズジェスチャの通知を生成するための確認ユニットも含むことができる。いくつかの実施形態では、自然検出モジュールを、ヌル状態、可能性のあるレイズジェスチャ状態、検出済レイズジェスチャの状態を含む一組のジェスチャ状態からジェスチャ状態を特定するように構成することができる。例えば、いくつかの実施形態では、可能性のあるレイズジェスチャ状態を、モーションセンサデータから決定される開始姿勢及び開始姿勢から終了姿勢までの変化についての一組の基準に少なくとも部分的に基づいて特定することができ、一組の基準は、少なくとも部分的に開始姿勢に基づいて選択される。いくつかの実施形態では、検出済レイズジェスチャ状態を、少なくとも部分的にフォーカス姿勢での持続時間に基づいて特定することができる。
複数の実施形態が、アクティブな状態と非アクティブな状態のあるユーザインタフェースコンポーネントと、デバイスの動きを検出するためのモーションセンサ(例えば、加速度計及び/又はジャイロセンサ)と、少なくとも第1のプロセッサと、を有することができる、手首に着用可能なデバイスなどのデバイスにおいて、意図的なレイズジェスチャを検出するための方法に関する。例えば、第1のプロセッサは、一組のモーションセンサデータサンプルをデバイスのモーションセンサから収集することができ、一組のモーションセンサデータサンプルは、時間幅に対応している。第1のプロセッサは、モーションセンサデータのサンプルにおける第1のインパルスピーク及び第2のインパルスピークを検出することができ、第1のインパルスピーク及び第2のインパルスピークは各々、デバイスを着用しているユーザの手首の回転に対応する方向での移動を示し(例えば、デバイスがユーザの手首に着用されていると仮定する)、第1のインパルスピーク及び第2のインパルスピークは、タイムアウト時間より短い時間だけ、時間的に離れている。第1のプロセッサは、少なくとも部分的に第1のインパルスピーク及び第2のインパルスピークの検出に基づいて、レイズジェスチャ(例えば、意図的なレイズジェスチャ)を検出することができ、レイズジェスチャが検出されたら、デバイスの別のコンポーネントに通知をすることができる。いくつかの実施形態では、第1のプロセッサはさらに、第2のインパルスピークの後、デバイスがほぼ安定した位置に少なくとも最小限の持続時間にわたって、保持されていることを決定することができ、第1のインパルスピーク及び第2のインパルスピークの検出に部分的に基づいて、かつ、デバイスがほぼ安定した位置に保持されているという決定に部分的に基づいて、レイズジェスチャが検出される。いくつかの実施形態では、第1のプロセッサは、モーションセンサデータのサンプルに基づいて、時間幅の最初に、デバイスが準備された位置にあるか否かを決定することができる。準備された位置については、例えば、最短の時間、デバイスが静止して保持されているか否かの決定すること、並びに/又はデバイスの向きを決定し、その向きと、デバイスを操作しているユーザの視線内にデバイスを位置付けるとみなされる想定向きとを比較することに少なくとも部分的に基づいて、決定することができる。いくつかの実施形態では、デバイスが準備された位置にあるか否かを決定することは、少なくとも部分的に、デバイスを操作しているユーザの現在の活動についての情報に基づくことができる。
インパルスピークについては、様々な方法で検出することができる。例えば、モーションセンサが加速度計を含む実施形態では、第1のインパルスピーク及び第2のインパルスピークの検出は、少なくとも部分的に、加速度計データサンプルから決定される躍度に基づくことが可能である。
インパルスピークに基づくレイズジェスチャの検出を使用して、例えば、レイズジェスチャを通知されたことに応じてアプリケーションプロセッサをスリープ状態からウェイク状態に遷移させる及び/又はレイズジェスチャを通知されたことに応じて、ユーザインタフェースコンポーネントを非アクティブな状態からアクティブな状態に遷移させることができる。
このような方法は、様々なデバイスに実装することができる。例えば、デバイスは、(タッチスクリーンディスプレイ又は他のディスプレイであり得る)ディスプレイ、マイクロフォン、スピーカ及び/又はボタンのいずれか又は全てなどのユーザインタフェースコンポーネントを有することができる。デバイスは、加速度計及び/又はジャイロセンサなどの様々なモーションセンサを有することができる。必要があれば、本明細書に記載されるような意図的なレイズジェスチャの検出を、プライマリーアプリケーションプロセッサ又はコプロセッサで行ってもよい。
いくつかのデバイスは、アクティブな状態と非アクティブな状態があるユーザインタフェースコンポーネントと、デバイスの動きを示すモーションセンサデータを生成するように動作可能なモーションセンサと、ユーザインタフェースコンポーネント及びモーションセンサに接続された動き処理ユニットと、を含むことができる。動き処理ユニットは、モーションセンサデータを受信して、このモーションセンサデータから、ユーザの腕が意図的なレイズジェスチャを実行する準備がなされているか否かを決定するための準備検出ユニットと、モーションセンサデータを追加で受信して、追加のモーションセンサデータに基づいて、目標数のインパルスピークの存在を検出するためのインパルスピーク検出ユニットと、さらなるモーションセンサデータを受信して、さらなるモーションセンサデータが、インパルスピーク検出ユニットによる目標数のインパルスピークの検出後にデバイス位置が安定したことを示すか否かを決定するための安定性検出ユニットと、を取り入れた意図検出モジュールを含むことができる。
複数の実施形態が、アクティブな状態と非アクティブな状態のあるユーザインタフェースコンポーネントと、デバイスの動きを検出するためのモーションセンサと、少なくとも第1のプロセッサと、を有することができる、手首に着用可能なデバイス又は他の着用可能デバイスなどのデバイスにおいて、レイズジェスチャの開始に対応するプレヒートイベントを検出するための方法に関する。例えば、デバイスのモーションセンサ(例えば、加速度計)を、サンプリングレートでデータサンプルを収集するように動作させることができる。デバイスにおける第1のプロセッサは、最新のデータサンプルに少なくとも部分的に基づいて、レイズジェスチャの可能性のある開始を検出することができる。レイズジェスチャの可能性のある開始が検出されない場合には、第1のプロセッサは、その後のデータサンプルの分析を繰り返すことができる。レイズジェスチャの可能性のある開始が検出されると、第1のプロセッサは、その後の一連のデータサンプル各々を、レイズジェスチャと整合性が取れるか整合性が取れないかのいずれかとして評価することができる。第1のプロセッサは、レイズジェスチャと整合性が取れないその後のデータサンプルが第2の閾値数に達する前に、レイズジェスチャと整合性が取れるその後のデータサンプルが第1の閾値数に達した場合に、デバイスの別のコンポーネントに、プレヒートイベントを通知することができる。いくつかの実施形態では、レイズジェスチャと整合性が取れるその後のデータサンプルが第1の閾値数に達する前に、レイズジェスチャと整合性が取れないその後のデータサンプルが第2の閾値数に達した場合に、検出プロセスは、レイズジェスチャの可能性のある開始が検出されていない初期状態に戻り、レイズジェスチャの可能性のある開始の検出を繰り返すことができる。
いくつかの実施形態では、他のコンポーネントは、アプリケーションプロセッサを含むことができる。アプリケーションプロセッサは、例えば、プレヒートイベントの通知に応じてスリープ状態からウェイク状態に遷移することができる。これは、デバイスのユーザインタフェースコンポーネントの状態に影響を与えることなく起こり得る。いくつかの実施形態では、アプリケーションプロセッサは、プレヒートイベントの通知の後タイムアウト時間内にレイズジェスチャの通知が続かない場合に、ウェイク状態からスリープ状態に遷移することができる。
レイズジェスチャの可能性のある開始については、様々な方法で検出することができる。例えば、最新の2つのデータサンプルを比較して、デバイスの位置又は向きの変化を検出することができ、検出された変化がレイズジェスチャの開始と整合性が取れる方向にあるか否かを決定することができる。いくつかの実施形態では、レイズジェスチャの可能性のある開始を検出することは、少なくとも部分的に、データサンプルから決定される開始姿勢に基づくことができる。
デバイスが手首に着用可能かつ加速度計を有するデバイスであるいくつかの実施形態では、レイズジェスチャの可能性のある開始の検出には、デバイスを着用しているユーザの前腕にほぼ平行な方向にある、加速度ベクトルの第1の成分の変化を決定し、第1の方向と直交する方向かつデバイスのディスプレイの平面内にある、加速度ベクトルの第2の成分の変化を決定し、第1の成分の変化と第2の成分の変化との組み合わせに基づいて、レイズジェスチャの可能性のある開始を検出することを含むことができる。
その後のデータサンプルの評価を、様々な方法で行うことができる。例えば、この評価は、データサンプルから決定されるデバイスの位置又は向きの一方又は両方の変化が、レイズジェスチャの継続と整合性が取れるか否かの評価、データサンプルに基づく動きの滑らかさの測定値、レイズジェスチャの可能性のある開始が検出された時点での開始姿勢、及び/又はデータサンプルから推定されるデバイスの軌道のいずれか又は全てに少なくとも部分的に基づくことができる。
いくつかの実施形態では、プレヒートイベントの他のコンポーネントに通知をした後、第1のプロセッサは、一連のその後のデータサンプル各々をレイズジェスチャと整合性が取れるか整合性が取れないかのいずれかとして評価を続けることができ、その後のデータサンプルがレイズジェスチャと整合性が取れないものとなった場合に、他のコンポーネントに、プレヒートイベント解消を通知することができる。
このような方法は、様々なデバイスに実装することができる。例えば、デバイスは、(タッチスクリーンディスプレイ又は他のディスプレイであり得る)ディスプレイ、マイクロフォン、スピーカ及び/又はボタンのいずれか又は全てなどのユーザインタフェースコンポーネントを有することができる。デバイスは、加速度計及び/又はジャイロセンサなどの様々なモーションセンサを有することができる。必要があれば、本明細書に記載されるようなプレヒートイベントの検出を、プライマリーアプリケーションプロセッサ又はコプロセッサで行ってもよい。
いくつかのデバイスは、アクティブな状態と非アクティブな状態があるユーザインタフェースコンポーネントと、デバイスの動きを示すモーションセンサデータを生成するように動作可能なモーションセンサと、ユーザインタフェースコンポーネント及びモーションセンサに接続された動き処理ユニットと、を含むことができる。動き処理ユニットは、モーションセンサデータのサンプルを受信して、このモーションセンサデータに基づいて、可能性のあるジェスチャ開始が起こっているか否かを決定するための可能性のあるジェスチャ開始決定ユニットと、モーションセンサデータのサンプルを受信して、それぞれのモーションセンサデータのサンプルを評価し、これが可能性のあるレイズジェスチャの継続と整合性が取れるか整合性が取れないかを決定するためのサンプル評価ユニットと、第1のカウンターを、サンプル評価ユニットによって可能性のあるレイズジェスチャの継続と整合性が取れると決定されたサンプルをカウントするように維持し、第2のカウンターを、サンプル評価ユニットによって可能性のあるレイズジェスチャの継続と整合性が取れないと決定されたサンプルをカウントするように維持するためのカウンターユニットと、カウンターユニットから第1のカウンター値及び第2のカウンター値を受信して、プレヒートイベントが生じているか否かを決定するプレヒート決定ユニットと、を取り入れたプレヒート検出モジュールを含むことができる。
複数の実施形態が、アクティブな状態と非アクティブな状態のあるユーザインタフェースコンポーネントと、デバイスの動きを検出するためのモーションセンサ(例えば、加速度計及び/又はジャイロセンサ)と、少なくとも第1のプロセッサと、を有することができる、手首に着用可能なデバイス又は他の着用可能デバイスなどのデバイスにおいて、フォーカス解消イベントを検出するための方法に関する。例えば、第1のプロセッサは、デバイスがフォーカス状態にあることを確立することができ、ここで、フォーカス状態は、デバイスのユーザインタフェースコンポーネントがアクティブな状態にあることを含む。第1のプロセッサは、デバイスのモーションセンサからモーションセンサデータの一連のサンプル(例えば、加速度計データサンプル及び/又はジャイロスコープデータサンプル)を受信することができる。第1のプロセッサは、モーションセンサデータのサンプルに基づいて、デバイスの向きの変化(例えば、傾斜角の変化)を検出することができる。第1のプロセッサは、向きの変化に少なくとも部分的に基づいてフォーカス解消ジェスチャを特定することができる。フォーカス解消ジェスチャが検出されたとき、第1のプロセッサは、デバイスの他のコンポーネントに通知することができる。
モーションセンサデータサンプルが加速度計からの加速度計データサンプルとジャイロセンサからのジャイロスコープデータサンプルを含むいくつかの実施形態では、第1のプロセッサは、加速度計データサンプルを使用するかジャイロスコープデータサンプルを使用するかを選択することができ、この選択は、少なくとも部分的に、ユーザの現在の活動に基づいている。
向きの変化を、様々な方法で検出することができる。例えば、向きの変化の検出には、デバイスがフォーカス状態にある間に基準傾斜角を決定し、基準傾斜角に対する傾斜角の正味の変化を決定することを含むことができる。ここで、向きの変化は、傾斜角の正味の変化を含む。基準傾斜角は、例えば、時間ウィンドウの開始を表すモーションセンサデータサンプルに基づいて決定されたデバイスの向きに少なくとも部分的に基づいて、決定することができる。これに加えて又はこれに代えて、基準傾斜角は、以前に検出済みのレイズジェスチャに関連付けられた蓄積した傾斜に少なくとも部分的に基づいて決定される。後者の場合、傾斜角の変化が蓄積した傾斜の閾値量より多くのロスに相当する場合に、フォーカス解消ジェスチャを特定することができる。
フォーカス解消を特定するための他の技術を実装することができる。例えば、向きの変化が閾値を超えた場合及び/又は向きの変化が連続的に少なくとも最小限の時間にわたって閾値を超えた場合に、フォーカス解消ジェスチャを特定することができる。いくつかの実施形態では、フォーカス状態の持続時間を決定することができ、最小限の時間は、フォーカス状態の持続時間に少なくとも部分的に基づくことができる。例えば、最小限の時間は、フォーカス状態の持続時間が増すにつれて増加することがある。いくつかの実施形態では、フォーカス解消ジェスチャの特定は、向きの変化に部分的に基づくことができ、例えば活動分類部を用いて決定することができるユーザの現在の活動に部分的に基づくことができる。
このような方法は、様々なデバイスに実装することができる。例えば、デバイスは、(タッチスクリーンディスプレイ又は他のディスプレイであり得る)ディスプレイ、マイクロフォン、スピーカ及び/又はボタンのいずれか又は全てなどのユーザインタフェースコンポーネントを有することができる。デバイスは、加速度計及び/又はジャイロセンサなどの様々なモーションセンサを有することができる。必要があれば、本明細書に記載されるようなフォーカス解消ジェスチャの検出を、プライマリーアプリケーションプロセッサ又はコプロセッサで行ってもよい。
いくつかのデバイスは、アクティブな状態と非アクティブな状態があるユーザインタフェースコンポーネントと、デバイスの動きを示すモーションセンサデータを生成するように動作可能なモーションセンサと、ユーザインタフェースコンポーネント及びモーションセンサに接続された動き処理ユニットと、を含むことができる。動き処理ユニットは、モーションセンサデータを受信して、このモーションセンサデータに基づいてデバイスの向きを決定するための向き決定ユニットと、向き決定ユニットによって決定された向きに少なくとも部分的に基づいて、向きの変化が生じているか否かを決定するための向き変化検出ユニットと、モーションセンサデータを受信して、このデータから、デバイスが着用されていると思われる腕の推測腕位置を決定するための腕位置推測ユニットと、向き変化検出ユニットから向き変化情報を受信し、腕位置推測ユニットから推測腕位置を受信し、受信した向き変化情報及び推測腕位置に少なくとも部分的に基づいて、フォーカス解消が生じているか否かを決定するためのフォーカス決定ユニットと、を取り入れたフォーカス解消検出モジュールを含むことができる。
複数の実施形態が、アクティブな状態と非アクティブな状態のあるユーザインタフェースコンポーネントと、デバイスの動きを検出するためのモーションセンサと、1つ以上のプロセッサと、を有することができる、手首に着用可能なデバイス又は他の着用可能デバイスなどのデバイスにおいて、様々なレイズジェスチャ(例えば、上述したような自然なレイズジェスチャ、意図的なレイズジェスチャ、プレヒートイベント及び/又はフォーカス解消ジェスチャのいずれかの組み合わせを含む)を検出するための方法に関する。モーションセンサデータは、デバイスのモーションセンサから受信可能である。モーションセンサデータは、ユーザがデバイスを想定される視線内に移動していることを示すレイズジェスチャ又はレイズジェスチャの開始を示すプレヒートイベントの一方又は両方を検出するための一組のジェスチャ検出モジュール(例えば、上述した自然なレイズジェスチャ検出モジュール、意図的なレイズジェスチャ検出モジュール及び/又はプレヒート検出モジュールのうちのいずれか1つ以上を含む)を使用して、処理され得る。デバイスのアプリケーションプロセッサは、プレヒートイベントが検出された場合に通知を受けることができ、アプリケーションプロセッサは、プレヒートイベントの通知に応じて、スリープ状態からウェイク状態に遷移することができる。デバイスのユーザインタフェースコンポーネントは、レイズジェスチャが検出された場合に通知を受けることができ、ユーザインタフェースコンポーネントは、レイズジェスチャの通知に応じて、非アクティブな状態からアクティブな状態に遷移することができる。いくつかの実施形態では、アプリケーションプロセッサは、プレヒートイベントを検出する前にレイズジェスチャが検出された場合に、レイズジェスチャの通知に応じて、スリープ状態からウェイク状態に遷移する。いくつかの実施形態では、レイズジェスチャの検出後、一組の検出モジュールをディセーブルにすることができ、(例えば上述したような)フォーカス解消検出モジュールをイネーブルにすることができる。
複数の実施形態が、アクティブな状態と非アクティブな状態のあるユーザインタフェースコンポーネントと、デバイスの動きを検出するためのモーションセンサと、1つ以上のプロセッサと、を有することができる、手首に着用可能なデバイス又は他の着用可能デバイスなどのデバイスで実行可能な方法に関する。デバイスのアプリケーションプロセッサがスリープ状態にあり、デバイスのユーザインタフェースコンポーネントが非アクティブな状態にあるヌル状態を、確立することができる。デバイスのコプロセッサは、レイズジェスチャ(例えば、上述したような自然なレイズジェスチャ又は意図的なレイズジェスチャ)を検出するための1つ以上のレイズジェスチャ検出アルゴリズムと、(例えば、上述したような)レイズジェスチャの開始を検出するためのプレヒート検出アルゴリズムと、を含む一組のジェスチャ検出アルゴリズムを実行することができる。プレヒート検出アルゴリズムは、レイズジェスチャの開始が検出された場合に、プレヒートイベントを生成することができる。少なくとも1つのレイズジェスチャ検出アルゴリズムは、レイズジェスチャが検出された場合に、レイズジェスチャイベントを生成することができる。アプリケーションプロセッサは、プレヒートイベントに応じて、スリープ状態からウェイク状態に遷移することができる。ユーザインタフェースコンポーネントは、レイズジェスチャイベントに応じて、非アクティブな状態からアクティブな状態に遷移することができる。いくつかの実施形態では、プレヒート検出アルゴリズムがプレヒートイベントを生成する前にレイズジェスチャ検出アルゴリズムがレイズジェスチャイベントを生成した場合に、アプリケーションプロセッサは、レイズジェスチャイベントに応じて、スリープ状態からウェイク状態に遷移することができる。いくつかの実施形態では、アプリケーションプロセッサがウェイク状態にあるときにプレヒート検出アルゴリズムをディセーブルにして、アプリケーションプロセッサがウェイク状態からスリープ状態に遷移した場合は、再度イネーブルにすることができる。いくつかの実施形態では、ユーザインタフェースコンポーネントがアクティブな状態にあるときに、全てのレイズジェスチャ検出アルゴリズムをディセーブルにすることができ、ユーザインタフェースコンポーネントがアクティブな状態から非アクティブな状態に遷移した場合に、少なくとも1つのレイズジェスチャ検出アルゴリズムを再びイネーブルにすることができる。
いくつかの実施形態では、レイズジェスチャ検出アルゴリズムは、動作の少ない環境でレイズジェスチャを検出するための第1の自然なレイズジェスチャ検出アルゴリズム、及び/又は動作の多い環境でレイズジェスチャを検出するための第2の自然なレイズジェスチャ検出アルゴリズムなどの、1つ以上の自然なレイズジェスチャ検出アルゴリズムを含むことができる。第1の自然なレイズジェスチャ検出アルゴリズムと第2の自然なレイズジェスチャ検出アルゴリズムの両方が含まれるいくつかの実施形態では、第1の自然なレイズジェスチャ検出アルゴリズム及び第2の自然なレイズジェスチャ検出アルゴリズムのうちの一方を所定の時間に実行されるように選択することができ、この選択は、例えば活動分類部を使用して決定できるユーザの現在の活動及び/又は加速度計データのデータ品質分析に少なくとも部分的に基づいている。いくつかの実施形態では、意図的なレイズジェスチャ検出アルゴリズムを、第1の自然なレイズジェスチャ検出アルゴリズム及び第2の自然なレイズジェスチャ検出アルゴリズムの一方又は両方と組み合わせて使用することができる。
いくつかの実施形態では、1つ以上のレイズジェスチャ検出アルゴリズムの第1のものは、可能性のあるレイズジェスチャイベントと検出済レイズジェスチャイベントを含む複数の異なるレイズジェスチャイベントを生成することができる。この場合、ユーザインタフェースコンポーネントのアクティブな状態への遷移が、検出済レイズジェスチャイベントに応じて起こり得る。いくつかの実施形態では、ユーザインタフェースコンポーネントは、可能性のあるレイズジェスチャイベントに応じて、部分的にアクティブな状態に遷移することができ、検出済レイズジェスチャイベントに応じて、完全にアクティブな状態に遷移することができる。いくつかの実施形態では、アプリケーションプロセッサは、プレヒートイベントが検出される前に可能性のあるレイズジェスチャイベントが検出された場合に、スリープ状態からウェイク状態に遷移することができる。
いくつかの実施形態では、1つ以上のレイズジェスチャ検出アルゴリズムの第1のものは、可能性のあるレイズジェスチャイベント、検出済レイズジェスチャイベント、確認済レイズジェスチャイベントを含む複数の異なるレイズジェスチャイベントを生成することができる。この場合、ユーザインタフェースコンポーネントのアクティブな状態への遷移が、確認済レイズジェスチャイベントに応じて起こり得る。
いくつかの実施形態では、レイズジェスチャイベントに応じて、フォーカス解消検出アルゴリズムを実行し、(例えば、上述したような)フォーカス解消イベントを検出することができる。フォーカス解消イベントの検出に応じて、ユーザインタフェースコンポーネントは、アクティブな状態から非アクティブな状態に遷移することができる。
いくつかの実施形態では、レイズジェスチャイベントの検出後、デバイスのフォーカス姿勢での持続時間を決定することができ、持続時間に少なくとも部分的に基づいて、ユーザインタフェースコンポーネントでの情報の提示内容を変えることができる。例えば、提示される情報項目を、第1の情報項目から第2の情報項目に変更することができる。最初に提示された情報項目についての追加情報を、提示することができる。あるいは、最初に提示された情報項目の提示をやめることができる。
このような方法は、手首に着用可能なデバイス及び他の着用可能デバイスを含む、様々なデバイスに実装することができる。例えば、デバイスは、アクティブな状態と非アクティブな状態のあるユーザインタフェースコンポーネントと、ユーザインタフェースコンポーネントに接続され、スリープ状態とウェイク状態のあるアプリケーションプロセッサと、アプリケーションプロセッサに接続されたコプロセッサと、コプロセッサに接続され、デバイスの動きを検出するためのモーションセンサ(例えば、加速度計及び/又はジャイロセンサ)と、を有することができる。コプロセッサは、様々な処理アルゴリズム(このうちいくつか又は全てが同時に動作可能である)を使用してモーションセンサから受信したモーションセンサデータを処理し、プレヒートイベント及びレイズジェスチャを含むジェスチャ関連イベント(上述したアルゴリズムのいずれか又は全てを含む)を検出し、アプリケーションプロセッサに、プレヒートイベント及びレイズジェスチャを通知するように、構成することができる。アプリケーションプロセッサは、プレヒートイベントの通知に応じてスリープ状態からウェイク状態に遷移し、ユーザインタフェースコンポーネントに、レイズジェスチャの通知に応じて非アクティブな状態からアクティブな状態に遷移するよう命令するように構成することができる。いくつかの実施形態では、アプリケーションプロセッサは、さらに、アプリケーションプロセッサがスリープ状態にある間にレイズジェスチャの通知を受信した場合に、スリープ状態からウェイク状態に遷移するように構成することができる。
部分的に利用可能なモーションセンサに応じて、処理アルゴリズムの様々な組み合わせを使用することができる。例えば、モーションセンサが加速度計とジャイロセンサとを含むいくつかの実施形態では、処理アルゴリズムは、加速度計からのデータに基づいて自然なレイズジェスチャを検出するためのローダイナミック検出アルゴリズムと、ジャイロセンサからのデータに少なくとも部分的に基づいて自然なレイズジェスチャを検出するためのハイダイナミック検出アルゴリズムと、を含むことができる。いくつかの実施形態では、コプロセッサは、ユーザの現在の活動を動作の少ない活動又は動作の多い活動のいずれかに決定し、ユーザの現在の活動に基づいて、ローダイナミック検出アルゴリズム又はハイダイナミック検出アルゴリズムのうちの1つをディセーブルにするように構成することができる。ユーザの現在の活動の決定は、活動分類部及び/又は加速度計データサンプルに対して実行されるデータ品質分析に少なくとも部分的に基づくことができる。
いくつかの実施形態では、処理アルゴリズムは、ユーザがデバイスをフォーカス姿勢から外すように移動していることに対応するフォーカス解消イベントを検出するためのフォーカス解消アルゴリズムを含むことができ、コプロセッサはさらに、フォーカス解消イベントが検出されると、アプリケーションプロセッサに通知するように構成することができる。いくつかの実施形態では、アプリケーションプロセッサはさらに、フォーカス解消イベントの通知に応じて、ユーザインタフェースを非アクティブな状態に遷移させるように構成することができる。いくつかの実施形態では、コプロセッサは、レイズジェスチャの検出に応じて、フォーカス解消アルゴリズムをイネーブルにするとともに全てのジェスチャ検出アルゴリズムをディセーブルにし、フォーカス解消イベントを検出したことに応じて、少なくとも2つのジェスチャ検出アルゴリズムをイネーブルにするとともにフォーカス解消アルゴリズムをディセーブルにするように構成することができる。
ユーザインタフェースコンポーネントは、例えば、ユーザインタフェースコンポーネントが非アクティブな状態にあるときに電源をオフにして、ユーザインタフェースコンポーネントがアクティブな状態にあるときに電源をオンにすることができるディスプレイを含むことができる。別の例として、ユーザインタフェースコンポーネントは、ユーザインタフェースコンポーネントが非アクティブな状態にあるときに電源をオフにして、ユーザインタフェースコンポーネントがアクティブな状態にあるときに電源をオンにすることができるタッチスクリーンディスプレイを含むことができる。
いくつかの実施形態では、少なくとも1つの処理アルゴリズムが可能性のあるレイズジェスチャを検出可能とすることができ、コプロセッサがさらに、アプリケーションプロセッサに可能性のあるレイズジェスチャを通知するように構成することができる。アプリケーションプロセッサは、レイズジェスチャの通知に応じて、非アクティブな状態から部分的にアクティブな状態に遷移するようにユーザインタフェースコンポーネントに命令するように構成することができる。例えば、ユーザインタフェースコンポーネントは、ユーザインタフェースコンポーネントが非アクティブな状態にあるときに電源をオフにし、ユーザインタフェースコンポーネントが部分的にアクティブな状態にあるときに薄暗い状態で電源をオンにし、ユーザインタフェースコンポーネントがアクティブ状態にあるときに、通常の輝度状態で電源をオンにすることが可能なディスプレイを含むことができる。
いくつかの実施形態では、デバイスは、手動でユーザインタフェースコンポーネントをアクティブにするように動作可能なユーザ入力制御を含むことができる。コプロセッサは、ユーザインタフェースコンポーネントを手動でアクティブにするようにユーザ入力制御が操作された場合に、通知を受信するように構成することができる。(上述したように、これは、ジェスチャ検出アルゴリズムの調整、訓練又は他の経験に基づく修正のために使用することができる。)
自然なレイズジェスチャを検出するためのアルゴリズム、動作の少ない環境で自然なレイズジェスチャを検出するためのアルゴリズム、動作の多い環境で自然なレイズジェスチャを検出するためのアルゴリズム、プレヒートイベントを検出するためのアルゴリズム、意図的なレイズジェスチャ(例えば、上述したような軽い揺らしジェスチャ)を検出するためのアルゴリズム及び/又はフォーカス解消ジェスチャを検出するためのアルゴリズムのいずれか又は全てを含む、処理アルゴリズムのどのような組み合わせでも、使用することができる。
本発明による複数の実施形態は、アクティブな状態と非アクティブな状態のあるユーザインタフェースコンポーネントと、デバイスの動きを示すモーションセンサデータを生成するように動作可能なモーションセンサ(例えば、加速度計及び/又はジャイロセンサ)と、各々が少なくとも部分的にモーションセンサデータに基づいてデバイスのジェスチャ状態を決定するように動作可能な1つ以上のジェスチャ検出モジュールと、1つ以上のジェスチャ検出モジュールに接続されたウェイク制御ロジックと、を含むことができるデバイスに関する。ウェイク制御ロジックは、1つ以上のジェスチャ検出モジュールからジェスチャ状態情報を受信し、受信したジェスチャ状態情報に基づいて、ユーザインタフェースコンポーネントに通知を送信するように構成することができる。いくつかの実施形態では、ウェイク制御ロジックは、受信したジェスチャ状態情報に少なくとも部分的に基づいて、異なるジェスチャ検出モジュールを選択的にイネーブル又はディセーブルにするように構成することができる。
いくつかの実施形態では、デバイスは、ユーザインタフェースコンポーネントに接続され、スリープ状態とウェイク状態とを有するアプリケーションプロセッサも含むことができる。ウェイク制御ロジックは、受信したジェスチャ状態情報に基づいて、アプリケーションプロセッサに通知を送信するように構成することができる。いくつかの実施形態では、ウェイク制御ロジックは、アプリケーションプロセッサを経由してユーザインタフェースコンポーネントに通知を送信するように構成することができる。いくつかの実施形態では、アプリケーションプロセッサは、ジェスチャ検出モジュールのうちの1つによるプレヒートイベントの検出を示す、ウェイク制御ロジックからの第1の通知に応じて、スリープ状態からウェイク状態に遷移するように構成することができる。アプリケーションプロセッサは、ジェスチャ検出モジュールのうちの1つによるレイズジェスチャの検出を示す、ウェイク制御ロジックからの第2の通知に応じて、スリープ状態からウェイク状態に遷移するようにさらに構成することができる。
いくつかの実施形態では、ユーザインタフェースコンポーネントは、ジェスチャ検出モジュールのうちの1つによるレイズジェスチャの検出を示す、ウェイク制御ロジックから第2の通知に応じて、スリープ状態からウェイク状態に遷移するように構成することができる。
ジェスチャ検出モジュールは、上述したジェスチャ検出モジュールのいずれか又は全てを含むことができる。例えば、ジェスチャ検出モジュールは、レイズジェスチャの開始に対応するプレヒートイベントを検出するように動作可能なプレヒート検出モジュールを含むことができる。プレヒート検出モジュールは、モーションセンサデータサンプルを受信して、このモーションセンサデータに基づいて、可能性のあるジェスチャ開始が生じているか否かを決定するための可能性のあるジェスチャ開始決定ユニットと、モーションセンサデータサンプルを受信して、各々のモーションセンサデータサンプルを評価し、これが可能性のあるレイズジェスチャの継続と整合性が取れるか整合性が取れないかを決定するためのサンプル評価ユニットと、第1のカウンターを、サンプル評価ユニットによって可能性のあるレイズジェスチャの継続と整合性が取れると決定されたサンプルをカウントするように維持し、第2のカウンターを、サンプル評価ユニットによって可能性のあるレイズジェスチャの継続と整合性が取れないと決定されたサンプルをカウントするように維持するためのカウンターユニットと、カウンターユニットから第1のカウンター値及び第2のカウンター値を受信して、プレヒートイベントが生じているか否かを決定するプレヒート決定ユニットと、を含むことができる。
別の例として、ジェスチャ検出モジュールは、自然なレイズジェスチャを検出するように動作可能な自然検出モジュールを含むことができる。自然検出モジュールは、モーションセンサデータを受信して、このモーションセンサデータに基づいて開始姿勢を推測するための開始姿勢推測ユニットと、モーションセンサデータを受信し、受信したデータが可能性のあるレイズジェスチャの基準を満たすか否かを決定し、基準が満たされた場合に、可能性のあるレイズジェスチャの通知を生成するための可能性のあるレイズジェスチャ決定ユニットと、可能性のあるレイズジェスチャ決定ユニットから可能性のあるレイズジェスチャの通知を受信し、検出済レイズジェスチャのための条件が満たされるか否かを決定するために加速度計の追加のデータを監視し、条件が満たされた場合に検出済レイズジェスチャの通知を生成するための検出済レイズジェスチャ決定ユニットと、を含むことができる。いくつかの実施形態では、自然検出モジュールは、開始姿勢推測ユニットによって推測された開始姿勢に少なくとも部分的に基づいて可能性のあるレイズジェスチャを検出するための基準を決定し、この基準を可能性のあるレイズジェスチャ決定ユニットに提供するための基準決定ユニットも含むことができる。これに加えて又はこれに代えて、いくつかの実施形態では、自然検出モジュールは、検出済レイズジェスチャに関連付けられたモーションセンサデータに基づいてジェスチャ確認を行い、確認済レイズジェスチャ又は否認されたレイズジェスチャの通知を生成するための確認ユニットも含むことができる。いくつかの実施形態では、自然検出モジュールは、ヌル状態、可能性のあるレイズジェスチャ状態、検出済レイズジェスチャの状態を含む一組のジェスチャ状態からジェスチャ状態を特定するように構成することができる。可能性のあるレイズジェスチャ状態は、例えば、モーションセンサデータから決定される開始姿勢及び開始姿勢から終了姿勢までの変化についての一組の基準に少なくとも部分的に基づいて特定でき、一組の基準は、少なくとも部分的に開始姿勢に基づいて選択される。検出済レイズジェスチャ状態は、例えば、フォーカス姿勢での持続時間に少なくとも部分的に基づいて特定することができる。
別の例として、ジェスチャ検出モジュールは、動作の少ない環境で自然なレイズジェスチャを検出するように動作可能なローダイナミック自然検出モジュールと、動作の多い環境で自然なレイズジェスチャを検出するように動作可能なハイダイナミック自然検出モジュールと、を含むことができる。
別の例として、ジェスチャ検出モジュールは、意図的なレイズジェスチャを検出するように動作可能な意図検出モジュールを含むことができる。意図検出モジュールは、モーションセンサデータを受信して、このモーションセンサデータから、ユーザの腕が意図的なレイズジェスチャを実行する準備がなされているか否かを決定するための準備検出ユニットと、モーションセンサデータを追加で受信して、追加のモーションセンサデータに基づいて、目標数のインパルスピークの存在を検出するためのインパルスピーク検出ユニットと、さらなるモーションセンサデータを受信して、さらなるモーションセンサデータが、インパルスピーク検出ユニットによる目標数のインパルスピークの検出後にデバイス位置が安定したことを示すか否かを決定するための安定性検出ユニットと、を含むことができる。
別の例として、ジェスチャ検出モジュールは、フォーカス状態から外れるデバイスの遷移を検出するように動作可能なフォーカス解消検出モジュールを含むことができる。フォーカス解消検出モジュールは、モーションセンサデータを受信して、このモーションセンサデータに基づいてデバイスの向きを決定するための向き決定ユニットと、向き決定ユニットによって決定された向きに少なくとも部分的に基づいて、向きの変化が生じているか否かを決定するための向き変化検出ユニットと、モーションセンサデータを受信して、このデータから、デバイスが着用されていると思われる腕の推測腕位置を決定するための腕位置推測ユニットと、向き変化検出ユニットから向き変化情報を受信し、腕位置推測ユニットから推測腕位置を受信し、受信した向き変化情報及び推測腕位置に少なくとも部分的に基づいて、フォーカス解消が生じているか否かを決定するためのフォーカス決定ユニットと、を含むことができる。
いくつかの実施形態では、デバイスは、モーションセンサからのモーションセンサデータに少なくとも部分的に基づいて、ユーザの現在の活動を決定するように動作可能な活動分類部モジュールも含むことができる。
いくつかの実施形態では、デバイスは、少なくとも1つのジェスチャ検出モジュールによって検出されたレイズジェスチャを確認するように動作可能なジェスチャ分類部モジュールも含むことができる。
それゆえ、本発明は、特定の実施形態に関して記載されているが、本発明は、以下の特許請求の範囲内での、全ての修正形態及び均等物を包含することを意図するものであることが理解されるであろう。

Claims (14)

  1. 手首に着用可能なデバイスでレイズジェスチャを検出するための方法であって、
    前記手首に着用可能なデバイス内のモーションコプロセッサにおいて、前記手首に着用可能なデバイスの内部モーションセンサから、ある時間幅に対応する一組のモーションセンサデータサンプルを取得することと、
    前記モーションコプロセッサによって、前記モーションセンサデータサンプルに基づいて、前記時間幅の開始に対応する開始姿勢を決定することと、
    前記モーションコプロセッサによって、前記開始姿勢に少なくとも部分的に基づいて、前記一組のモーションセンサデータサンプルを使用して可能性のあるレイズジェスチャを特定するための一組の基準を選択することと、
    前記モーションコプロセッサによって、前記一組のモーションセンサデータサンプルが、前記選択された一組の基準を満たすか否かに少なくとも部分的に基づいて、前記可能性のあるレイズジェスチャを特定することと、
    前記可能性のあるレイズジェスチャの特定に応じて、前記モーションコプロセッサによって、前記手首に着用可能なデバイスのアプリケーションプロセッサをスリープ状態からウェイクさせることと、
    前記モーションコプロセッサによって、前記可能性のあるレイズジェスチャのあとに、少なくとも最小限の持続時間にわたってフォーカス姿勢のままである場合に、検出済レイズジェスチャを特定することと、
    前記検出済レイズジェスチャの特定に応じて、前記手首に着用可能なデバイスのディスプレイをアクティブにすることと、を含む、方法。
  2. 前記手首に着用可能なデバイスのユーザインタフェースコンポーネント、前記可能性のあるレイズジェスチャを通知されたことに応じて、非アクティブな状態から部分的にアクティブな状態に遷移させ、前記検出済レイズジェスチャを通知されたことに応じて、前記部分的にアクティブな状態からアクティブな状態に遷移させることをさらに含む、請求項1に記載の方法。
  3. 前記モーションセンサデータは加速度計データを含み、可能性のあるレイズジェスチャを特定するための前記選択された一組の基準は、
    前記時間幅の間に前記加速度計データから決定された蓄積した傾斜に基づく基準、
    前記時間幅の間に前記加速度計データから決定された、前記デバイスの持ち上げ量に基づく基準、又は、
    前記時間幅の間における動きの滑らかさに基づく基準、のうちの1つ以上を含む、請求項1に記載の方法。
  4. 前記モーションセンサデータはジャイロセンサからのジャイロスコープデータを含み、可能性のあるレイズジェスチャを特定するための前記選択された一組の基準は、ユーザの前腕と実質的に平行な軸を中心とした蓄積した回転に基づく基準を含み、前記蓄積した回転は、前記時間幅の間に前記ジャイロスコープデータから決定される、請求項1に記載の方法。
  5. 前記モーションセンサデータは、ジャイロセンサからのジャイロスコープデータと加速度計からの加速度計データを含み、
    前記ジャイロスコープデータは、前記可能性のあるレイズジェスチャを特定するのに用いられ、
    前記加速度計データは、前記検出済レイズジェスチャを特定するのに用いられる、請求項1に記載の方法。
  6. 前記検出済レイズジェスチャを決定することに続いて、ジェスチャ分類部を使用して前記検出済レイズジェスチャを確認することをさらに含み、
    前記デバイスのユーザインタフェースコンポーネントは、前記ジェスチャ分類部による確認に応じてアクティブにされる、請求項1に記載の方法。
  7. 前記モーションコプロセッサによって、プレヒート検出アルゴリズムを実行して前記レイズジェスチャの開始を検出することであって、前記プレヒート検出アルゴリズムは、前記開始姿勢の決定、前記一組の基準の選択、前記可能性のあるレイズジェスチャの特定、及び前記検出済レイズジェスチャの特定行為をするのと同時に実行される、ことと、
    前記アプリケーションプロセッサがスリープ状態にある間に前記レイズジェスチャの開始が検出された場合に、前記アプリケーションプロセッサを前記スリープ状態からウェイクさせることと、をさらに含む、請求項1に記載の方法。
  8. 着用可能デバイスであって、
    アクティブな状態と非アクティブな状態とを有するユーザインタフェースコンポーネントと、
    前記デバイスの動きを検出するためのモーションセンサと、
    モーションコプロセッサであって、
    前記モーションセンサから、ある時間幅に対応する一組のモーションセンサデータサンプルを取得し、
    前記一組のモーションセンサデータサンプルに基づいて、前記時間幅の開始に対応する開始姿勢を決定し、
    前記開始姿勢に少なくとも部分的に基づいて、前記一組のモーションセンサデータサンプルを使用して可能性のあるレイズジェスチャを特定するための一組の基準を選択し、
    前記一組のモーションセンサデータサンプルが前記選択された一組の基準を満たすか否かに少なくとも部分的に基づいて、前記可能性のあるレイズジェスチャを特定し、
    前記可能性のあるレイズジェスチャの特定に応じて、前記アプリケーションプロセッサをスリープ状態からウェイクさせて、
    特定された前記可能性のあるレイズジェスチャのあとに、少なくとも最小限の持続時間にわたってフォーカス姿勢のままである場合に、検出済レイズジェスチャを特定し、
    前記検出済レイズジェスチャ特定に応じて、前記ユーザインタフェースコンポーネントをアクティブにするように構成されたモーションコプロセッサと、を備える、着用可能デバイス。
  9. 前記ユーザインタフェースコンポーネントは、
    ディスプレイ、
    タッチスクリーンディスプレイ、
    マイクロフォン、
    スピーカ、又は、
    ボタン、のうちの1つ以上を含む、請求項に記載のデバイス。
  10. 前記モーションセンサは、
    加速度計、又は、
    ジャイロセンサ、のうちの1つ以上を含む、請求項に記載のデバイス。
  11. 手首に着用可能なデバイスのモーションコプロセッサによって実行されると、前記モーションコプロセッサに、
    前記手首に着用可能なデバイスの内部モーションセンサから、ある時間幅に対応する一組のモーションセンサデータサンプルを取得することと、
    前記一組のモーションセンサデータサンプルに基づいて、前記時間幅の開始に対応する開始姿勢を決定することと、
    前記開始姿勢に少なくとも部分的に基づいて、前記一組のモーションセンサデータサンプルを使用して可能性のあるレイズジェスチャを特定するための一組の基準を選択することと、
    前記一組のモーションセンサデータサンプルが前記選択された一組の基準を満たすか否かに少なくとも部分的に基づいて、前記可能性のあるレイズジェスチャを特定することと、
    前記可能性のあるレイズジェスチャの特定に応じて、前記モーションコプロセッサによって、前記手首に着用可能なデバイスのアプリケーションプロセッサをスリープ状態からウェイクさせることと、
    前記可能性のあるレイズジェスチャのあとに、少なくとも最小限の持続時間にわたってフォーカス姿勢のままである場合に、検出済レイズジェスチャを特定することと、
    前記検出済レイズジェスチャの特定に応じて、前記手首に着用可能なデバイスのディスプレイをアクティブにすることと、を含む方法を実行させるプログラム命令が記憶された、コンピュータ可読記憶媒体。
  12. 前記方法が、
    前記モーションセンサデータサンプルにおいて、前記デバイスを着用しているユーザの手首の回転に対応する方向での移動を各々が示し、タイムアウト時間より短い時間だけ時間的に離れた第1のインパルスピーク及び第2のインパルスピークを検出することと、
    前記第1のインパルスピーク及び前記第2のインパルスピークが検出されたことに少なくとも部分的に基づいて、意図的なレイズジェスチャを検出することと、
    レイズジェスチャが検出された場合に、前記アプリケーションプロセッサをウェイクさせることと、をさらに含む、請求項1に記載のコンピュータ可読記憶媒体。
  13. 前記方法が、
    前記第2のインパルスピークに続いて、少なくとも最小限の持続時間にわたって、前記デバイスがほぼ安定した位置に保持されているのを検出することをさらに含み、
    前記レイズジェスチャは、前記第1のインパルスピーク及び前記第2のインパルスピークが検出されたことに部分的に基づいて、かつ、前記デバイスが前記ほぼ安定した位置に保持されていると決定されたことに部分的に基づいて検出される、請求項1に記載のコンピュータ可読記憶媒体。
  14. 前記モーションセンサは加速度計を含み、前記第1のインパルスピーク及び前記第2のインパルスピークを検出することは、加速度計データサンプルから決定される躍度に少なくとも部分的に基づく、請求項1に記載のコンピュータ可読記憶媒体。
JP2017523775A 2014-07-18 2015-07-10 デバイスにおけるレイズジェスチャ検出 Active JP6434144B2 (ja)

Applications Claiming Priority (3)

Application Number Priority Date Filing Date Title
US201462026532P 2014-07-18 2014-07-18
US62/026,532 2014-07-18
PCT/US2015/039995 WO2016010857A1 (en) 2014-07-18 2015-07-10 Raise gesture detection in a device

Publications (2)

Publication Number Publication Date
JP2017527053A JP2017527053A (ja) 2017-09-14
JP6434144B2 true JP6434144B2 (ja) 2018-12-05

Family

ID=53724469

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2017523775A Active JP6434144B2 (ja) 2014-07-18 2015-07-10 デバイスにおけるレイズジェスチャ検出

Country Status (6)

Country Link
US (5) US10101793B2 (ja)
EP (1) EP3170062B1 (ja)
JP (1) JP6434144B2 (ja)
KR (1) KR101918421B1 (ja)
CN (3) CN109144181B (ja)
WO (1) WO2016010857A1 (ja)

Families Citing this family (203)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US8677377B2 (en) 2005-09-08 2014-03-18 Apple Inc. Method and apparatus for building an intelligent automated assistant
US9318108B2 (en) 2010-01-18 2016-04-19 Apple Inc. Intelligent automated assistant
US8977255B2 (en) 2007-04-03 2015-03-10 Apple Inc. Method and system for operating a multi-function portable electronic device using voice-activation
US8676904B2 (en) 2008-10-02 2014-03-18 Apple Inc. Electronic devices with voice command and contextual data processing capabilities
US20120311585A1 (en) 2011-06-03 2012-12-06 Apple Inc. Organizing task items that represent tasks to perform
US10276170B2 (en) 2010-01-18 2019-04-30 Apple Inc. Intelligent automated assistant
US8682667B2 (en) 2010-02-25 2014-03-25 Apple Inc. User profiling for selecting user specific voice input processing information
US10417037B2 (en) 2012-05-15 2019-09-17 Apple Inc. Systems and methods for integrating third party services with a digital assistant
US10234941B2 (en) 2012-10-04 2019-03-19 Microsoft Technology Licensing, Llc Wearable sensor for tracking articulated body-parts
BR112015018905B1 (pt) 2013-02-07 2022-02-22 Apple Inc Método de operação de recurso de ativação por voz, mídia de armazenamento legível por computador e dispositivo eletrônico
US10652394B2 (en) 2013-03-14 2020-05-12 Apple Inc. System and method for processing voicemail
WO2014143776A2 (en) 2013-03-15 2014-09-18 Bodhi Technology Ventures Llc Providing remote interactions with host device using a wireless device
US10748529B1 (en) 2013-03-15 2020-08-18 Apple Inc. Voice activated device for use with a voice-based digital assistant
US10176167B2 (en) 2013-06-09 2019-01-08 Apple Inc. System and method for inferring user intent from speech inputs
CN105264524B (zh) 2013-06-09 2019-08-02 苹果公司 用于实现跨数字助理的两个或更多个实例的会话持续性的设备、方法、和图形用户界面
US10296160B2 (en) 2013-12-06 2019-05-21 Apple Inc. Method for extracting salient dialog usage from live data
US9971412B2 (en) * 2013-12-20 2018-05-15 Lenovo (Singapore) Pte. Ltd. Enabling device features according to gesture input
US9778728B2 (en) 2014-05-29 2017-10-03 Apple Inc. System on a chip with fast wake from sleep
US10031000B2 (en) 2014-05-29 2018-07-24 Apple Inc. System on a chip with always-on processor
US9715875B2 (en) 2014-05-30 2017-07-25 Apple Inc. Reducing the need for manual start/end-pointing and trigger phrases
US9633004B2 (en) 2014-05-30 2017-04-25 Apple Inc. Better resolution when referencing to concepts
EP3149728B1 (en) 2014-05-30 2019-01-16 Apple Inc. Multi-command single utterance input method
US9430463B2 (en) 2014-05-30 2016-08-30 Apple Inc. Exemplar-based natural language processing
US10170123B2 (en) 2014-05-30 2019-01-01 Apple Inc. Intelligent assistant for home automation
US9338493B2 (en) 2014-06-30 2016-05-10 Apple Inc. Intelligent automated assistant for TV user interactions
US10101793B2 (en) 2014-07-18 2018-10-16 Apple Inc. Raise gesture detection in a device
US9952675B2 (en) * 2014-09-23 2018-04-24 Fitbit, Inc. Methods, systems, and apparatuses to display visibility changes responsive to user gestures
US10127911B2 (en) 2014-09-30 2018-11-13 Apple Inc. Speaker identification and unsupervised speaker adaptation techniques
US9668121B2 (en) 2014-09-30 2017-05-30 Apple Inc. Social reminders
TWI547826B (zh) * 2014-10-14 2016-09-01 拓連科技股份有限公司 電子裝置與穿戴式電子裝置間之通知管理方法及系統,及相關電腦程式產品
GB2531718B (en) * 2014-10-24 2017-08-02 Cambridge temperature concepts ltd Activating an electronic device
US9459698B2 (en) * 2014-12-10 2016-10-04 TCL Research America Inc. Gesture based power management system and method
US10152299B2 (en) 2015-03-06 2018-12-11 Apple Inc. Reducing response latency of intelligent automated assistants
US9721566B2 (en) 2015-03-08 2017-08-01 Apple Inc. Competing devices responding to voice triggers
US9886953B2 (en) 2015-03-08 2018-02-06 Apple Inc. Virtual assistant activation
EP3274021B1 (en) 2015-03-24 2024-02-14 Kaleo, Inc. Devices and methods for delivering a lyophilized medicament
US10116794B2 (en) * 2015-05-13 2018-10-30 Interactive Intelligence Group, Inc. Determining an active station based on movement data
US10460227B2 (en) 2015-05-15 2019-10-29 Apple Inc. Virtual assistant in a communication session
US10200824B2 (en) 2015-05-27 2019-02-05 Apple Inc. Systems and methods for proactively identifying and surfacing relevant content on a touch-sensitive device
US10083688B2 (en) 2015-05-27 2018-09-25 Apple Inc. Device voice control for selecting a displayed affordance
US9578173B2 (en) 2015-06-05 2017-02-21 Apple Inc. Virtual assistant aided communication with 3rd party service in a communication session
US20160378747A1 (en) 2015-06-29 2016-12-29 Apple Inc. Virtual assistant for media playback
WO2017004489A1 (en) * 2015-07-02 2017-01-05 Vid Scale, Inc. Sensor processing engine for mobile devices
JP6488922B2 (ja) * 2015-07-06 2019-03-27 株式会社デンソー 運転者異常検出装置
US10289239B2 (en) 2015-07-09 2019-05-14 Microsoft Technology Licensing, Llc Application programming interface for multi-touch input detection
US20170010695A1 (en) * 2015-07-09 2017-01-12 Microsoft Technology Licensing, Llc Enhanced multi-touch input detection
US20170010733A1 (en) * 2015-07-09 2017-01-12 Microsoft Technology Licensing, Llc User-identifying application programming interface (api)
US11874716B2 (en) 2015-08-05 2024-01-16 Suunto Oy Embedded computing device management
US10742792B2 (en) * 2015-08-25 2020-08-11 Lg Electronics Inc. Mobile terminal
US10671428B2 (en) 2015-09-08 2020-06-02 Apple Inc. Distributed personal assistant
US10747498B2 (en) 2015-09-08 2020-08-18 Apple Inc. Zero latency digital assistant
US10740384B2 (en) 2015-09-08 2020-08-11 Apple Inc. Intelligent automated assistant for media search and playback
US10331312B2 (en) 2015-09-08 2019-06-25 Apple Inc. Intelligent automated assistant in a media environment
US10348355B2 (en) * 2015-09-16 2019-07-09 Intel Corporation Techniques for gesture recognition using photoplethysmographic (PPMG) sensor and low-power wearable gesture recognition device using the same
US9866555B2 (en) * 2015-09-17 2018-01-09 Intel Corporation Maintaining user authentications with common trusted devices
CN114564143A (zh) 2015-10-14 2022-05-31 麦克赛尔株式会社 终端装置
US10691473B2 (en) 2015-11-06 2020-06-23 Apple Inc. Intelligent automated assistant in a messaging environment
US10956666B2 (en) 2015-11-09 2021-03-23 Apple Inc. Unconventional virtual assistant interactions
KR20180081713A (ko) * 2015-11-10 2018-07-17 소니 세미컨덕터 솔루션즈 가부시키가이샤 전자장치, 제어 회로, 및, 전자장치의 제어 방법
KR102423830B1 (ko) * 2015-11-10 2022-07-22 삼성전자주식회사 웨어러블 장치 및 그 제어 방법
KR102579694B1 (ko) 2015-11-20 2023-09-19 삼성전자주식회사 기능 운용 방법 및 이를 지원하는 전자 장치
CN105487655B (zh) * 2015-11-23 2023-01-17 联想(北京)有限公司 信息处理方法及相关电子设备
WO2017094443A1 (ja) * 2015-11-30 2017-06-08 ソニー株式会社 情報処理装置、情報処理方法及びプログラム
US10754432B2 (en) * 2015-12-01 2020-08-25 Sony Corporation Information processing device and information processing method for detecting gesture manipulation
CN106900052A (zh) * 2015-12-21 2017-06-27 深圳富泰宏精密工业有限公司 功率调整模组及具有该功率调整模组的穿戴装置
US11587484B2 (en) * 2015-12-21 2023-02-21 Suunto Oy Method for controlling a display
US11541280B2 (en) 2015-12-21 2023-01-03 Suunto Oy Apparatus and exercising device
GB2545668B (en) 2015-12-21 2020-05-20 Suunto Oy Sensor based context management
US11838990B2 (en) 2015-12-21 2023-12-05 Suunto Oy Communicating sensor data in wireless communication systems
US10223066B2 (en) 2015-12-23 2019-03-05 Apple Inc. Proactive assistance based on dialog communication between devices
CN105759935B (zh) * 2016-01-29 2019-01-18 华为技术有限公司 一种终端控制方法及终端
US11904234B2 (en) * 2016-02-23 2024-02-20 Mediatek Inc. Position tracking ring, band or bracelet and virtual reality system
WO2017144768A1 (en) * 2016-02-26 2017-08-31 Nokia Technologies Oy Behavioural biometric authentication
WO2017171858A1 (en) * 2016-04-01 2017-10-05 Intel Corporation Gesture capture
CN105890647B (zh) * 2016-04-11 2017-12-05 青岛理工大学 一种集成可穿戴设备的测试系统及其运行方法
CN108369447B (zh) * 2016-04-13 2021-06-29 华为技术有限公司 控制可穿戴电子设备运行状态的方法和装置
TWI611321B (zh) * 2016-04-29 2018-01-11 和碩聯合科技股份有限公司 可攜式電子裝置及其控制方法
CN106020348B (zh) * 2016-05-16 2019-05-07 安徽华米信息科技有限公司 显示信息的方法、装置及可穿戴设备
CN105975084B (zh) * 2016-05-31 2018-09-11 北京京东方多媒体科技有限公司 环形穿戴设备的控制方法、环形穿戴设备及智能控制系统
US11227589B2 (en) 2016-06-06 2022-01-18 Apple Inc. Intelligent list reading
KR20170138667A (ko) * 2016-06-08 2017-12-18 삼성전자주식회사 어플리케이션을 활성화하는 방법 및 이를 제공하는 전자 장치
US10586535B2 (en) 2016-06-10 2020-03-10 Apple Inc. Intelligent digital assistant in a multi-tasking environment
DK201670540A1 (en) 2016-06-11 2018-01-08 Apple Inc Application integration with a digital assistant
DK179415B1 (en) 2016-06-11 2018-06-14 Apple Inc Intelligent device arbitration and control
CN106444349B (zh) * 2016-07-18 2019-07-09 深圳市亿能科技有限公司 智能手表翻转阈值设置方法及系统
JP6891891B2 (ja) * 2016-07-25 2021-06-18 ソニーグループ株式会社 情報処理装置
CN106249886B (zh) * 2016-07-27 2019-04-16 Oppo广东移动通信有限公司 菜单的显示方法及装置
WO2018023894A1 (zh) * 2016-08-01 2018-02-08 广东乐源数字技术有限公司 一种智能手环抬手亮屏的方法及智能手环
KR102556924B1 (ko) * 2016-09-05 2023-07-18 삼성전자주식회사 보행 보조 방법 및 이를 수행하는 장치
US10474753B2 (en) 2016-09-07 2019-11-12 Apple Inc. Language identification using recurrent neural networks
WO2018045569A1 (zh) * 2016-09-09 2018-03-15 华为技术有限公司 一种控制移动终端屏幕的方法及装置
EP3296819B1 (en) * 2016-09-14 2019-11-06 Nxp B.V. User interface activation
US10409470B2 (en) * 2016-09-14 2019-09-10 Microsoft Technology Licensing, Llc Touch-display accessory with relayed display plane
KR20230038303A (ko) * 2016-09-23 2023-03-17 애플 인크. 워치 극장 모드
CN106502356A (zh) * 2016-10-20 2017-03-15 广州视源电子科技股份有限公司 智能穿戴设备的复位方法与系统
CN108021224B (zh) * 2016-10-31 2020-06-02 腾讯科技(深圳)有限公司 屏幕点亮方法及装置
US20180129254A1 (en) * 2016-11-07 2018-05-10 Toyota Motor Engineering & Manufacturing North Ame rica, Inc. Wearable device programmed to record messages and moments in time
JP2018077606A (ja) * 2016-11-08 2018-05-17 セイコーエプソン株式会社 携帯型電子装置、表示方法、表示システム、プログラム、および記憶媒体
CN106525036A (zh) * 2016-11-30 2017-03-22 西安科技大学 一种低功耗防脱摘定位检测系统及方法
KR102157304B1 (ko) * 2016-12-19 2020-09-17 한국전자기술연구원 웨어러블 장치 및 웨어러블 장치의 인터페이스 방법
KR20180082033A (ko) * 2017-01-09 2018-07-18 삼성전자주식회사 음성을 인식하는 전자 장치
US11204787B2 (en) 2017-01-09 2021-12-21 Apple Inc. Application integration with a digital assistant
WO2018131251A1 (ja) * 2017-01-12 2018-07-19 ソニー株式会社 情報処理装置、情報処理方法、及びプログラム
JP2020507841A (ja) 2017-01-17 2020-03-12 カレオ,インコーポレイテッド 無線接続及び事象検出を伴う薬剤送達デバイス
SE541783C2 (en) * 2017-01-31 2019-12-17 Outsmart Ab Device and method for motion detection
US10467509B2 (en) 2017-02-14 2019-11-05 Microsoft Technology Licensing, Llc Computationally-efficient human-identifying smart assistant computer
CN108426573B (zh) * 2017-02-14 2023-04-07 中兴通讯股份有限公司 一种终端设备的行人步态检测方法及终端设备
CN106667450B (zh) * 2017-03-27 2020-06-30 广东小天才科技有限公司 一种测温方法及装置
US10482566B2 (en) * 2017-03-31 2019-11-19 Intel Corporation Personalized virtual reality content branch prediction
US10990159B2 (en) * 2017-04-25 2021-04-27 Apple Inc. Architected state retention for a frequent operating state switching processor
CN107102717B (zh) * 2017-04-26 2021-11-05 广东小天才科技有限公司 屏幕控制方法和装置
DK201770383A1 (en) 2017-05-09 2018-12-14 Apple Inc. USER INTERFACE FOR CORRECTING RECOGNITION ERRORS
US10395654B2 (en) 2017-05-11 2019-08-27 Apple Inc. Text normalization based on a data-driven learning network
DK180048B1 (en) 2017-05-11 2020-02-04 Apple Inc. MAINTAINING THE DATA PROTECTION OF PERSONAL INFORMATION
US10726832B2 (en) 2017-05-11 2020-07-28 Apple Inc. Maintaining privacy of personal information
US11301477B2 (en) 2017-05-12 2022-04-12 Apple Inc. Feedback analysis of a digital assistant
DK201770429A1 (en) 2017-05-12 2018-12-14 Apple Inc. LOW-LATENCY INTELLIGENT AUTOMATED ASSISTANT
DK179745B1 (en) 2017-05-12 2019-05-01 Apple Inc. SYNCHRONIZATION AND TASK DELEGATION OF A DIGITAL ASSISTANT
DK179496B1 (en) 2017-05-12 2019-01-15 Apple Inc. USER-SPECIFIC Acoustic Models
DK179549B1 (en) 2017-05-16 2019-02-12 Apple Inc. FAR-FIELD EXTENSION FOR DIGITAL ASSISTANT SERVICES
US10303715B2 (en) 2017-05-16 2019-05-28 Apple Inc. Intelligent automated assistant for media exploration
DK179555B1 (en) 2017-05-16 2019-02-13 Apple Inc. USER INTERFACE FOR A FLASHLIGHT MODE ON AN ELECTRONIC DEVICE
US20180336892A1 (en) 2017-05-16 2018-11-22 Apple Inc. Detecting a trigger of a digital assistant
US10311144B2 (en) 2017-05-16 2019-06-04 Apple Inc. Emoji word sense disambiguation
KR102008268B1 (ko) * 2017-12-20 2019-08-07 (주)에이텍티앤 휴대용 정산기의 사용자 인터페이스 제어장치
CN108363317A (zh) * 2018-02-09 2018-08-03 京东方科技集团股份有限公司 可穿戴智能设备及其运行方法、汗液检测系统
US10712830B2 (en) * 2018-02-14 2020-07-14 Aaron Derouin Three-dimensional visual target acquisition systems
US10592604B2 (en) 2018-03-12 2020-03-17 Apple Inc. Inverse text normalization for automatic speech recognition
US10818288B2 (en) 2018-03-26 2020-10-27 Apple Inc. Natural assistant interaction
CN108737720B (zh) * 2018-04-11 2020-12-04 努比亚技术有限公司 可穿戴设备拍摄方法、可穿戴设备及计算机可读存储介质
CN108733340B (zh) * 2018-04-26 2021-02-26 复旦大学 移动终端声音功能的动态访问控制系统
CN110415391B (zh) * 2018-04-27 2024-03-05 开利公司 使用可佩戴设备的无缝进入控制系统
CN112236738A (zh) * 2018-05-04 2021-01-15 谷歌有限责任公司 基于检测到的手势和凝视调用自动化助理功能
DE112019000018T5 (de) * 2018-05-07 2020-01-09 Apple Inc. Anheben, um zu sprechen
US10928918B2 (en) 2018-05-07 2021-02-23 Apple Inc. Raise to speak
US11145294B2 (en) 2018-05-07 2021-10-12 Apple Inc. Intelligent automated assistant for delivering content from user experiences
DK179822B1 (da) 2018-06-01 2019-07-12 Apple Inc. Voice interaction at a primary device to access call functionality of a companion device
DK180639B1 (en) 2018-06-01 2021-11-04 Apple Inc DISABILITY OF ATTENTION-ATTENTIVE VIRTUAL ASSISTANT
US10892996B2 (en) 2018-06-01 2021-01-12 Apple Inc. Variable latency device coordination
DK180081B1 (en) * 2018-06-01 2020-04-01 Apple Inc. Access to system user interfaces on an electronic device
US10496705B1 (en) 2018-06-03 2019-12-03 Apple Inc. Accelerated task performance
WO2020018443A1 (en) * 2018-07-16 2020-01-23 Kaleo, Inc. Medicament delivery devices with wireless connectivity and event validation detection
US11929160B2 (en) 2018-07-16 2024-03-12 Kaleo, Inc. Medicament delivery devices with wireless connectivity and compliance detection
US10933312B2 (en) * 2018-08-21 2021-03-02 Uplay1 Systems, apparatus and methods for verifying locations
US11010561B2 (en) 2018-09-27 2021-05-18 Apple Inc. Sentiment prediction from textual data
US11462215B2 (en) 2018-09-28 2022-10-04 Apple Inc. Multi-modal inputs for voice commands
US10839159B2 (en) 2018-09-28 2020-11-17 Apple Inc. Named entity normalization in a spoken dialog system
US11170166B2 (en) 2018-09-28 2021-11-09 Apple Inc. Neural typographical error modeling via generative adversarial networks
US11704568B2 (en) * 2018-10-16 2023-07-18 Carnegie Mellon University Method and system for hand activity sensing
US10659595B2 (en) * 2018-10-22 2020-05-19 Motorola Mobility Llc Determining orientation of a mobile device
US11475898B2 (en) 2018-10-26 2022-10-18 Apple Inc. Low-latency multi-speaker speech recognition
US11119558B2 (en) * 2018-10-29 2021-09-14 Sony Group Corporation Method and system for device activation
US11169612B2 (en) * 2018-11-27 2021-11-09 International Business Machines Corporation Wearable device control
US11638059B2 (en) 2019-01-04 2023-04-25 Apple Inc. Content playback on multiple devices
KR102622564B1 (ko) * 2019-02-19 2024-01-09 삼성전자 주식회사 전자 장치 및 전자 장치에서 디스플레이 동작 제어 방법
CN109828484A (zh) * 2019-02-20 2019-05-31 苏州凸现信息科技有限公司 一种基于移动电源的移动隐藏式智能控制方法及其系统
CN110102044B (zh) * 2019-03-15 2021-04-30 歌尔科技有限公司 基于智能手环的游戏控制方法、智能手环及存储介质
US11348573B2 (en) 2019-03-18 2022-05-31 Apple Inc. Multimodality in digital assistant systems
US11423908B2 (en) 2019-05-06 2022-08-23 Apple Inc. Interpreting spoken requests
US11475884B2 (en) 2019-05-06 2022-10-18 Apple Inc. Reducing digital assistant latency when a language is incorrectly determined
US11307752B2 (en) 2019-05-06 2022-04-19 Apple Inc. User configurable task triggers
DK201970509A1 (en) 2019-05-06 2021-01-15 Apple Inc Spoken notifications
US11140099B2 (en) 2019-05-21 2021-10-05 Apple Inc. Providing message response suggestions
US11835727B2 (en) * 2019-05-30 2023-12-05 Sony Group Corporation Information processing apparatus and information processing method for controlling gesture operations based on postures of user
CN110162192A (zh) * 2019-05-30 2019-08-23 努比亚技术有限公司 内容显示方法、可穿戴设备及计算机可读存储介质
US11496600B2 (en) 2019-05-31 2022-11-08 Apple Inc. Remote execution of machine-learned models
US11289073B2 (en) 2019-05-31 2022-03-29 Apple Inc. Device text to speech
DK201970511A1 (en) 2019-05-31 2021-02-15 Apple Inc Voice identification in digital assistant systems
DK180129B1 (en) 2019-05-31 2020-06-02 Apple Inc. USER ACTIVITY SHORTCUT SUGGESTIONS
US11360641B2 (en) 2019-06-01 2022-06-14 Apple Inc. Increasing the relevance of new available information
US11468890B2 (en) 2019-06-01 2022-10-11 Apple Inc. Methods and user interfaces for voice-based control of electronic devices
US20200397345A1 (en) * 2019-06-19 2020-12-24 University Of Southern California Human activity recognition using magnetic induction-based motion signals and deep recurrent neural networks
CN113924568A (zh) 2019-06-26 2022-01-11 谷歌有限责任公司 基于雷达的认证状态反馈
CN110515448A (zh) * 2019-07-19 2019-11-29 努比亚技术有限公司 抬腕检测服务自动关闭方法、设备及计算机可读存储介质
WO2021021224A1 (en) * 2019-07-26 2021-02-04 Google Llc Context-sensitive control of radar-based gesture-recognition
KR20210153695A (ko) 2019-07-26 2021-12-17 구글 엘엘씨 Imu 및 레이더를 통한 인증 관리
US11868537B2 (en) * 2019-07-26 2024-01-09 Google Llc Robust radar-based gesture-recognition by user equipment
DK180684B1 (en) 2019-09-09 2021-11-25 Apple Inc Techniques for managing display usage
US11488406B2 (en) 2019-09-25 2022-11-01 Apple Inc. Text detection using global geometry estimators
IT201900019037A1 (it) * 2019-10-16 2021-04-16 St Microelectronics Srl Metodo perfezionato per rilevare un gesto di inclinazione del polso e unita' elettronica e dispositivo elettronico indossabile che implementano il medesimo
KR20210046242A (ko) * 2019-10-18 2021-04-28 엘지전자 주식회사 Xr 디바이스 및 그 제어 방법
US11281351B2 (en) * 2019-11-15 2022-03-22 Adobe Inc. Selecting objects within a three-dimensional point cloud environment
KR102417865B1 (ko) * 2020-03-02 2022-07-06 주식회사 브이씨 코스 정보를 제공하는 전자 디바이스 및 그 제어 방법
US11043220B1 (en) 2020-05-11 2021-06-22 Apple Inc. Digital assistant hardware abstraction
US11061543B1 (en) 2020-05-11 2021-07-13 Apple Inc. Providing relevant data items based on context
US11755276B2 (en) 2020-05-12 2023-09-12 Apple Inc. Reducing description length based on confidence
WO2021236170A1 (en) 2020-05-18 2021-11-25 Google Llc Low-power semi-passive relative six-degree-of-freedom tracking
GB2596541B (en) * 2020-06-30 2023-09-13 Sony Interactive Entertainment Inc Video processing
US11490204B2 (en) 2020-07-20 2022-11-01 Apple Inc. Multi-device audio adjustment coordination
US11438683B2 (en) 2020-07-21 2022-09-06 Apple Inc. User identification using headphones
TWI820347B (zh) 2020-09-04 2023-11-01 仁寶電腦工業股份有限公司 行為識別方法、行為識別系統及手寫辨識系統
CN112162595B (zh) * 2020-09-23 2022-12-06 深圳市爱都科技有限公司 一种垂臂旋转识别方法及可穿戴终端
US20220099439A1 (en) * 2020-09-28 2022-03-31 Tung Shrim Enterprise Co., Ltd. Rangefinder with automatic opening and closing and detection
CN112762895B (zh) * 2020-10-30 2022-07-15 四川写正智能科技有限公司 一种基于传感器判定读写姿态的方法
KR20230129183A (ko) * 2021-01-08 2023-09-06 구글 엘엘씨 전자 장치 및 그 전자 장치의 모션 검출을 관리하기위한 시스템 및 방법
US11782149B2 (en) * 2021-01-08 2023-10-10 Google Llc Systems and methods for managing motion detection of an electronic device, and associated electronic devices
KR20230128562A (ko) * 2021-01-20 2023-09-05 애플 인크. 환경 내의 객체들과 상호작용하기 위한 방법
WO2022178431A1 (en) * 2021-02-22 2022-08-25 Hoffmann Christopher J Motion tracking light controller
KR20220121565A (ko) * 2021-02-25 2022-09-01 삼성전자주식회사 웨어러블 장치 및 그의 화면 제어 방법
WO2023096134A1 (ko) * 2021-11-25 2023-06-01 삼성전자주식회사 전자 장치 내에서 제스처 인식 성능 개선을 위한 러닝 방법
KR20230096730A (ko) * 2021-12-23 2023-06-30 삼성전자주식회사 웨어러블 장치 및 그 제어 방법
GB202203045D0 (en) * 2022-03-04 2022-04-20 Prevayl Innovations Ltd Electronics module and method
WO2024054386A1 (en) * 2022-09-06 2024-03-14 Apple Inc. Sensor-based display power control systems and methods

Family Cites Families (60)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH09257965A (ja) 1996-03-27 1997-10-03 Casio Comput Co Ltd スイッチ装置およびスイッチ装置を備えた腕時計
FI111674B (fi) 1996-10-31 2003-08-29 Nokia Corp Käyttäjäliityntä
US6757068B2 (en) 2000-01-28 2004-06-29 Intersense, Inc. Self-referenced tracking
JP4042340B2 (ja) 2000-05-17 2008-02-06 カシオ計算機株式会社 情報機器
US6714233B2 (en) 2000-06-21 2004-03-30 Seiko Epson Corporation Mobile video telephone system
US20020142734A1 (en) 2001-04-03 2002-10-03 James Wickstead Miniaturized wrist phone
KR20060102724A (ko) 2005-03-24 2006-09-28 삼성전자주식회사 휴대단말기와 그에 따른 리모트 컨트롤 장치
JP2009524357A (ja) 2006-01-20 2009-06-25 カンバーセイショナル コンピューティング コーポレイション 着用型ディスプレーインターフェースクライエント装置
US8594742B2 (en) 2006-06-21 2013-11-26 Symbol Technologies, Inc. System and method for monitoring a mobile device
RU2009111002A (ru) 2006-08-27 2010-10-10 Май Мобайл Вотч Лимитед (Cn) Мобильный телефон-часы для системы gsm
US8364139B2 (en) 2007-04-19 2013-01-29 Apple Inc. Personal area network systems and devices and methods for use thereof
US8532285B2 (en) 2007-09-05 2013-09-10 Avaya Inc. Method and apparatus for call control using motion and position information
US8112281B2 (en) 2007-12-19 2012-02-07 Enbiomedic Accelerometer-based control of wearable audio recorders
US8344998B2 (en) 2008-02-01 2013-01-01 Wimm Labs, Inc. Gesture-based power management of a wearable portable electronic device with display
US20090311993A1 (en) 2008-06-16 2009-12-17 Horodezky Samuel Jacob Method for indicating an active voice call using animation
US8624836B1 (en) 2008-10-24 2014-01-07 Google Inc. Gesture-based small device input
KR101545876B1 (ko) * 2009-01-22 2015-08-27 삼성전자주식회사 모션 센서 기반의 전력 소모 감소 방법 및 이를 이용한 휴대 단말기
CN103955131B (zh) 2009-04-26 2017-04-12 耐克创新有限合伙公司 在运动手表系统中的gps特征和功能
US9086875B2 (en) 2009-06-05 2015-07-21 Qualcomm Incorporated Controlling power consumption of a mobile device based on gesture recognition
TWI554076B (zh) 2009-09-04 2016-10-11 普露諾洛股份有限公司 遠距離的電話管理器
US8797334B2 (en) 2010-01-06 2014-08-05 Apple Inc. Facilitating efficient switching between graphics-processing units
US9110505B2 (en) 2010-04-16 2015-08-18 Innovative Devices Inc. Wearable motion sensing computing interface
WO2011158475A1 (ja) 2010-06-16 2011-12-22 パナソニック株式会社 情報入力装置、情報入力方法及びプログラム
JP5601045B2 (ja) 2010-06-24 2014-10-08 ソニー株式会社 ジェスチャ認識装置、ジェスチャ認識方法およびプログラム
US8519834B2 (en) 2010-08-22 2013-08-27 Andrea Theresa Jersa Wrist wound vibrating device
US9007304B2 (en) 2010-09-02 2015-04-14 Qualcomm Incorporated Methods and apparatuses for gesture-based user input detection in a mobile device
US8787006B2 (en) 2011-01-31 2014-07-22 Apple Inc. Wrist-worn electronic device and methods therefor
CN102707860A (zh) * 2011-03-28 2012-10-03 鸿富锦精密工业(深圳)有限公司 屏幕保护控制系统及方法
US9436231B2 (en) * 2011-04-07 2016-09-06 Qualcomm Incorporated Rest detection using accelerometer
CN102809998A (zh) 2011-05-31 2012-12-05 鸿富锦精密工业(深圳)有限公司 风扇固定装置
US9110510B2 (en) * 2011-06-03 2015-08-18 Apple Inc. Motion pattern classification and gesture recognition
US8892391B2 (en) 2011-06-03 2014-11-18 Apple Inc. Activity detection
JP5804498B2 (ja) 2011-08-22 2015-11-04 埼玉日本電気株式会社 状態制御装置、状態制御方法およびプログラム
US20130212416A1 (en) * 2012-02-10 2013-08-15 Sony Corporation Motion on computer
US8947382B2 (en) 2012-02-28 2015-02-03 Motorola Mobility Llc Wearable display device, corresponding systems, and method for presenting output on the same
EP2672736B1 (en) 2012-06-07 2021-03-31 Samsung Electronics Co., Ltd Apparatus and method for reducing power consumption in electronic device
US20130331118A1 (en) 2012-06-10 2013-12-12 Apple Inc. Performing enhanced background location scans to facilitate location-based geo-fencing
US9042971B2 (en) * 2012-06-22 2015-05-26 Fitbit, Inc. Biometric monitoring device with heart rate measurement activated by a single user-gesture
US9063731B2 (en) * 2012-08-27 2015-06-23 Samsung Electronics Co., Ltd. Ultra low power apparatus and method to wake up a main processor
KR101927096B1 (ko) * 2012-10-19 2018-12-10 삼성전자주식회사 어플리케이션 프로세서, 이를 구비하는 모바일 기기 및 어플리케이션 프로세서를 위한 클럭 신호 선택 방법
CN103809725B (zh) 2012-11-12 2017-03-29 联想(北京)有限公司 一种电子设备及基于该电子设备的状态切换方法
US9477313B2 (en) 2012-11-20 2016-10-25 Samsung Electronics Co., Ltd. User gesture input to wearable electronic device involving outward-facing sensor of device
US9081571B2 (en) * 2012-11-29 2015-07-14 Amazon Technologies, Inc. Gesture detection management for an electronic device
US9652135B2 (en) 2012-12-10 2017-05-16 Samsung Electronics Co., Ltd. Mobile device of bangle type, control method thereof, and user interface (ui) display method
TW201423367A (zh) 2012-12-14 2014-06-16 Hon Hai Prec Ind Co Ltd 電子裝置及其省電方法
WO2014143776A2 (en) 2013-03-15 2014-09-18 Bodhi Technology Ventures Llc Providing remote interactions with host device using a wireless device
JP5486721B2 (ja) 2013-06-18 2014-05-07 キヤノン株式会社 表示制御装置及び表示制御装置の制御方法、プログラム、記憶媒体
US20150092520A1 (en) 2013-09-27 2015-04-02 Google Inc. Adaptive Trigger Point For Smartwatch Gesture-to-Wake
US20150193111A1 (en) * 2013-10-01 2015-07-09 Google Inc. Providing Intent-Based Feedback Information On A Gesture Interface
US9241360B2 (en) * 2013-11-22 2016-01-19 Brian Mullin Friedman Systems, apparatus, and methods for programmatically associating nearby users
US9513703B2 (en) 2013-12-27 2016-12-06 Intel Corporation Gesture-based waking and control system for wearable devices
US9009516B1 (en) 2014-02-19 2015-04-14 Google Inc. Adjusting a power mode of a wearable computing device based on motion data
US20150242112A1 (en) 2014-02-26 2015-08-27 Microsoft Corporation Human interface device with touch sensor
US10613642B2 (en) * 2014-03-12 2020-04-07 Microsoft Technology Licensing, Llc Gesture parameter tuning
US9588569B2 (en) 2014-03-24 2017-03-07 Mcube, Inc. Power saving method of operating a portable computing device
US10133460B2 (en) 2014-03-26 2018-11-20 Unanimous A.I., Inc. Systems and methods for collaborative synchronous image selection
US20150277570A1 (en) * 2014-03-31 2015-10-01 Google Inc. Providing Onscreen Visualizations of Gesture Movements
US10101793B2 (en) * 2014-07-18 2018-10-16 Apple Inc. Raise gesture detection in a device
KR102251118B1 (ko) * 2014-08-05 2021-05-13 엘지전자 주식회사 이동단말기 및 그 제어방법
US9459698B2 (en) 2014-12-10 2016-10-04 TCL Research America Inc. Gesture based power management system and method

Also Published As

Publication number Publication date
US20160018899A1 (en) 2016-01-21
CN105278681B (zh) 2018-10-26
CN105278681A (zh) 2016-01-27
KR101918421B1 (ko) 2018-11-13
KR20170019456A (ko) 2017-02-21
EP3170062B1 (en) 2019-08-21
JP2017527053A (ja) 2017-09-14
US20160018898A1 (en) 2016-01-21
US10120431B2 (en) 2018-11-06
WO2016010857A1 (en) 2016-01-21
EP3170062A1 (en) 2017-05-24
US9933833B2 (en) 2018-04-03
US20160018900A1 (en) 2016-01-21
CN109144181A (zh) 2019-01-04
US20190011973A1 (en) 2019-01-10
US10101793B2 (en) 2018-10-16
CN204731730U (zh) 2015-10-28
US10303239B2 (en) 2019-05-28
CN109144181B (zh) 2023-05-05
US20160018872A1 (en) 2016-01-21

Similar Documents

Publication Publication Date Title
JP6434144B2 (ja) デバイスにおけるレイズジェスチャ検出
US10990187B2 (en) Methods, systems, and apparatuses to update screen content responsive to user gestures
JP7198849B2 (ja) アラートを管理するための小型インターフェース
WO2016014601A2 (en) Remote user interface
AU2017100061A4 (en) Raise gesture detection in a device
WO2016036546A2 (en) Reduced-size notification interface
WO2016022496A2 (en) Reduced-size user interfaces for battery management
KR102163996B1 (ko) 사용자 기기의 비접촉식 인식 기능 성능 향상 방법 및 장치
JP6891891B2 (ja) 情報処理装置
WO2017005114A1 (zh) 屏幕处理方法及装置
AU2017100220A4 (en) Reduced-size user interfaces for battery management

Legal Events

Date Code Title Description
A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20180501

A601 Written request for extension of time

Free format text: JAPANESE INTERMEDIATE CODE: A601

Effective date: 20180801

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20180928

TRDD Decision of grant or rejection written
A01 Written decision to grant a patent or to grant a registration (utility model)

Free format text: JAPANESE INTERMEDIATE CODE: A01

Effective date: 20181015

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20181107

R150 Certificate of patent or registration of utility model

Ref document number: 6434144

Country of ref document: JP

Free format text: JAPANESE INTERMEDIATE CODE: R150

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250