(57)【要約】  本開示は、ユーザ制御ジェスチャに関する。１つの例は、スピーカ及びマイクロフォンが第１の機能を実行することを可能にする。この例は、スピーカ及びマイクロフォンを同時に利用して第２の機能を実行する。第２の機能は、スピーカに由来する音響信号をマイクロフォンでキャプチャすることと、音響信号中のドップラー・シフトを検出することとを含む。これは、ドップラー・シフトをコンピュータの近くで実行されたユーザ制御ジェスチャと関係付け、ユーザ制御ジェスチャを制御機能にマッピングする。
2015506508.tif 000002
【特許請求の範囲】
【請求項１】
コンピュータであって、
スピーカ及びマイクロフォンと、
前記スピーカから放出され、前記マイクロフォンによってキャプチャされる所与の周波数の音を発生させるように構成されたジェスチャ識別構成要素であって、前記所与の周波数の付近で前記キャプチャされた音を評価して、ユーザ・ジェスチャによって生じるドップラー効果のシフトを検出するように更に構成され、ドップラー効果のシフトを個々の制御機能にマッピングし、前記制御機能を当該コンピュータによって実行させるように更に構成され、前記スピーカ及び前記マイクロフォンが前記の放出及び前記のキャプチャの間に他の機能を実行することを可能にするように更に構成される、ジェスチャ識別構成要素と
を備える、コンピュータ。
【請求項２】
ユーザ入力デバイスを更に備え、前記ジェスチャ識別構成要素は、ユーザが前記ユーザ入力デバイスを使用しているときは前記キャプチャされた音を評価しないように更に構成される、請求項１に記載のコンピュータ。
【請求項３】
前記ユーザ入力デバイスが、物理的キーボード、仮想キーボード、マウス、トラックパッド又はタッチ・スクリーンを備える、請求項２に記載のコンピュータ。
【請求項４】
前記スピーカが、単一のスピーカ又は複数のスピーカを備え、前記マイクロフォンが、単一のマイクロフォン又は複数のマイクロフォンを備える、請求項１に記載のコンピュータ。
【請求項５】
前記ジェスチャ識別構成要素は、ユーザが前記コンピュータからの範囲を定義することを可能にするようにさらに構成され、該範囲内では前記制御機能が実行され、該範囲外では前記制御機能が実行されない、請求項１に記載のコンピュータ。
【請求項６】
前記ジェスチャ識別構成要素は、ドップラー効果シフトの規模を評価して、前記ユーザの動きが前記範囲内で生じたかどうかを判断するように更に構成される、請求項５に記載のコンピュータ。
【請求項７】
前記範囲が、前記コンピュータから３次元に放射状に広がる、請求項５に記載のコンピュータ。
【請求項８】
前記スピーカの前記他の機能は、音楽を再生することであり、前記所与の周波数の前記音が、前記音楽の一部を含む、請求項１に記載のコンピュータ。
【請求項９】
前記ジェスチャ識別構成要素は、周波数の範囲をテストして対応するキャプチャされた音を評価し、前記所与の周波数に関係する干渉が前記周波数の範囲の他の周波数よりも相対的に小さいときに前記所与の周波数を選択するように構成される、請求項１に記載のコンピュータ。
【請求項１０】
前記干渉が、前記スピーカによって生成される他の音又は背景雑音を含む、請求項９に記載のコンピュータ。
【請求項１１】
前記ジェスチャ識別構成要素は、１つ又は複数のパラメータに従って前記周波数の範囲を再テストするように構成される、請求項９に記載のコンピュータ。
【請求項１２】
前記１つ又は複数のパラメータが、所定の期間に関係するか、又は所定のしきい値を超える前記所与の周波数で検出される干渉に関係する、請求項１１に記載のコンピュータ。
【請求項１３】
コンピューティング・デバイスによって実行されると、該コンピューティング・デバイスに、
コンピュータから音響信号を放出する動作と、
前記コンピュータにおいて音をキャプチャする動作と、
前記放出した音響信号の周波数範囲を前記キャプチャされた音の同じ周波数範囲と比較して、ユーザ制御ジェスチャによって作り出されたドップラー・シフトを検出する動作と、
前記ユーザ制御ジェスチャを制御機能にマッピングする動作と、
前記コンピューティング・デバイス上で前記制御機能を実行する動作と
を含む動作を実行させる命令を記憶したコンピュータ読取可能記憶媒体。
【請求項１４】
前記放出する動作が、一定周波数の前記音響信号と他の音響信号とを単一のスピーカ・セットから同時に放出する動作を含む、請求項１３に記載のコンピュータ読取可能記憶媒体。
【請求項１５】
前記キャプチャする動作が、複数のマイクロフォンによって実行され、前記複数のマイクロフォンについて前記検出したドップラー・シフト差異を比較して、前記ユーザ制御ジェスチャに関する更なる情報を識別する動作を更に含む、請求項１３に記載のコンピュータ読取可能記憶媒体。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、ユーザ制御ジェスチャの検出に関する。
【背景技術】
【０００２】
コンピュータは、日常生活において至る所に存在する。しかしながら、「１台のコンピュータ」を有することの代わりに、ユーザは、多くの様々なコンピュータを有するか、対話する傾向がある。例えば典型的なユーザは、数ある中で、仕事場にデスクトップ・コンピュータ、家庭にラップトップ、スマートフォン、パッド・コンピュータ、ビデオ・ゲーム機及び／又は電子書籍を有することがある。さらに、ユーザは、他のデバイス内に統合されている他のコンピュータと対話する傾向がある。例えばユーザの自動車は、ユーザが道順を知るため、音楽を聴く等のために対話するコンピュータを有している可能性が高い。様々なユーザ制御装置が、これらの様々なタイプのコンピュータに対して開発されている。例えばマウス及び物理的キーボードは、デスクトップ・コンピュータと対話し、これを制御する最も一般的な方法であることが多い。マウスは、ノートブック・コンピュータでは便利ではなかったため、ノードブック・コンピュータでは代わりにトラックパッド型のデバイスを使用する傾向がある。マウスもトラックパッドも、スマートフォン及びパッド型のコンピュータには適しておらず、スマートフォン及びパッド型のコンピュータでは代わりに、ユーザがデバイスを制御するために接触することが可能なタッチセンサ式スクリーン（例えば仮想キーボード）を有する傾向がある。
【発明の概要】
【発明が解決しようとする課題】
【０００３】
これらの制御技術の各々は、欠点を有する。例えばタッチ・スクリーンに触れることによりデバイスを制御することは、画面の全面にわたって汚れを作る傾向があり、及び／又はユーザが手袋を装着している場合には作動不能になる。潜在的により重要なことは、これらの制御技術が全てのデバイス・タイプの使用に役立つとは限らないことである。結果として、ユーザは、自身の異なるデバイスを制御するために異なる技術を学習しなければならない。例えば１日のうちにユーザが自身のコンピューティング・デバイスの各々の上で音楽を聴き、音楽を止めることを望むと仮定する。デスクトップ上で聴くときには、ユーザはおそらくマウスを使用して、音楽再生アプリケーションを「再生」から「停止」へと切り替える。ユーザは、同じような方法でノートブックのトラックパッドを使用する可能性がある。自動車内では、ユーザは特有のハードウェア・スイッチを使用して、音楽を停止する可能性がある。パッド型のコンピュータのスマートフォン上では、ユーザは、タッチ・スクリーン上の「停止」アイコンにタッチする可能性がある。この連続性の欠如は、不便である。さらに、この不便さは、ユーザが不慣れなコンピュータを制御しようとするときに拡大する。本概念は、コンピュータを制御するのに用いることができ、上に列挙されるような任意の（又は全ての）コンピュータに容易に適用することが可能な技術に関する。
【課題を解決するための手段】
【０００４】
説明される実装形態は、ユーザ制御ジェスチャに関する。１つの例では、スピーカ及びマイクロフォンが第１の機能を実行することを可能にする。この例は同時に、スピーカ及びマイクロフォンを用いて第２の機能を実行する。第２の機能は、スピーカに由来する音響信号をマイクロフォンでキャプチャすることと、音響信号中のドップラー・シフトを検出することとを含む。これは、ドップラー・シフトをコンピュータの近くで実行されたユーザ制御ジェスチャと関係付けて、ユーザ制御ジェスチャを制御機能にマッピングする。
【０００５】
添付の図面は、本出願において伝えられる概念の実装形態を図示する。添付の図面と併せて下記の説明を参照することにより、図示される実装形態の特徴を、より容易に理解することが可能である。様々な図面中の類似の参照番号は、あり得る場合にはいつでも類似の要素を示すのに使用される。さらに、各参照番号の左端の数字は、参照番号が最初に紹介された図及び関係する議論を伝える。
【図面の簡単な説明】
【０００６】
【図１】本概念の一部の実装形態に係る、ドップラーベースのユーザ制御ジェスチャ検出シナリオの例を示す図である。
【図２】本概念の一部の実装形態に係る、ドップラーベースのユーザ制御ジェスチャ検出シナリオの例を示す図である。
【図３】本概念の一部の実装形態に係る、ドップラーベースのユーザ制御ジェスチャ検出シナリオの例を示す図である。
【図４】本概念の一部の実装形態に係る、ドップラーベースのユーザ制御ジェスチャ検出シナリオの例を示す図である。
【図５】本概念の一部の実装形態に係る、ドップラーベースのユーザ制御ジェスチャ検出シナリオの例を示す図である。
【図６】本概念の一部の実装形態に係る、ドップラーベースのユーザ制御ジェスチャ検出シナリオの例を示す図である。
【図７】本概念の一部の実装形態に係る、ドップラーベースのユーザ制御ジェスチャ検出シナリオの例を示す図である。
【図８】本概念の一部の実装形態に従って、ドップラーベースのユーザ制御ジェスチャ検出技術を用いることができる例示のシステムを示す図である。
【図９】本概念の一部の実装形態に係る、ドップラーベースのユーザ制御ジェスチャ検出方法又は技術の一例の流れ図である。
【発明を実施するための形態】
【０００７】
＜概要＞
本出願は、ユーザ制御ジェスチャ（以下「ユーザ・ジェスチャ」とする）を用いてコンピュータを制御することに関する。より具体的には、オーディオ信号を放出し、放出した信号を検出することによって、ユーザ・ジェスチャをコンピュータにより検出することができる。ドップラー効果又はドップラー・シフトに基づいて、放出した信号と検出した信号との間の何らかの差異を解析して、ユーザ・ジェスチャを検出することができる。個々のユーザ・ジェスチャを、解析したオーディオ信号データから識別することができる。個々のユーザ・ジェスチャを、コンピュータの特有の制御機能にマッピングすることができる。コンピュータを制御するよう、特有の制御機能を実装することができる。
【０００８】
＜使用ケース例＞
説明の目的で、図１を導入部として考える。図１は、パッド型コンピュータとして提示されたコンピュータ１０２を示す。コンピュータ１０２は、スピーカ１０４、マイクロフォン１０６及びディスプレイ１０８を含む。この例では、テキストのようなコンテンツ１１０が、ディスプレイ１０８の一部分上に表示される。
【０００９】
図１は、ユーザが、ユーザ・ジェスチャを行うことによってどのようにコンピュータを制御することができるかを例示するのを助けるために、例１から例３に分割されている。例１〜例３の間に、コンピュータ１０２は、スピーカ１０４を介してオーディオ信号を生成することができる。オーディオ信号を、マイクロフォン１０６によりキャプチャすることができる。キャプチャした信号を、差異を求めるために放出した信号と比較することができる。これらの差異を、信号に対するユーザ・ジェスチャ効果（例えばそのドップラー効果）によって生成することができる。異なるユーザ・ジェスチャは、異なるドップラー効果を生み出し、したがって、個々のユーザ・ジェスチャを区別して識別することができる。
【００１０】
図示したケースでは、ユーザ・ジェスチャは、ユーザの右手１１２で行われる手のジェスチャである。（一部の実装形態では、ジェスチャは代わりに、図面ページ上の混乱を避けるためにここでは図示されていない左手で実行される可能性もある）。この例では、例１に図示されるように、ユーザは、ディスプレイ１０８に概して平行な手１１２で開始する。例２に図示されるように、ユーザは次に、手を下方に傾けることによってユーザ・ジェスチャ（矢印１１４）を行う。ユーザ・ジェスチャ１１４は、コンピュータ１０２によって、放出した信号からの受信した信号の差異として検出される。別な言い方をすれば、ユーザ・ジェスチャは、ユーザ・ジェスチャがないときに予想されるであろうものから、キャプチャした信号の周波数プロファイルに対する変化を生じさせることができる。この差異又は変化は、ユーザの手が、受信した信号又はキャプチャした信号に対するドップラー・シフトを作り出すことによって引き起こされる可能性がある。この例では、コンピュータは、検出したジェスチャを「スクロール・ダウン・コマンド」にマッピングする。コンピュータはその後、コンテンツ１１０をスクロール・ダウンする（矢印１１６）。
【００１１】
例３は、ここでは概してディスプレイ１０８に垂直なジェスチャの終わりにおけるユーザの手１１２を示す。また、コンテンツ１１０は、例１と比較すると、下方にスクロールされている。また、例１〜例３では、ユーザが、制御機能を実施するためにコンピュータに物理的に接触する必要がなかったことに留意されたい。
【００１２】
上述のように、コンピュータ１０２は、スピーカ１０４及びマイクロフォン１０６を含む。スピーカ及びマイクロフォンは、ユーザ・ジェスチャ検出機能のためだけに用いられる専用のハードウェア・デバイスであり得る。しかしながら、必ずしもこのような必要はない。事実、大部分のコンピュータは既に、少なくとも１つのマイクロフォン及び少なくとも１つのスピーカを含んでいる。これらの既存のハードウェア・デバイスを用いて、追加のハードウェア・デバイスを追加することに付随するコスト及び複雑さを減少させることができる。さらに、既存のスピーカ及びマイクロフォンの既存の使用を中断又は縮小させることなく、本ジェスチャ検出機能を既存のスピーカ及びマイクロフォンにより実現することができる。例えば例１において、ユーザが、進行中の通話（オーディオのみ）又はウェブチャット（オーディオ及びビデオ（簡潔性のために示していないが、コンピュータ１０２はカメラを含み得る））を使用していると仮定する。したがって、通話中に、相手方からのオーディオ信号がスピーカ１０４によって再生され、ユーザの会話などのオーディオ信号が、マイクロフォン１０６によってキャプチャされる。同時に、スピーカは、ジェスチャ検出機能における使用のために１つ又は複数のオーディオ信号を放出することができる。一部の実装形態では、これらのオーディオ信号を、ユーザが聞くことができない周波数で放出される一定のトーンとすることができる。例えば大部分のスピーカは、最大２２ｋ〜２４ｋヘルツまでの信号を放出することができ、大部分のマイクロフォンは、これらの信号をキャプチャすることができる。しかしながら、人間は、一般に約１８ｋ〜２０ｋヘルツよりも高いものは何も聞くことができない。したがって、スピーカ１０４及びマイクロフォン１０６を、通話用及びユーザ・ジェスチャ検出用に同時に使用することができ、ユーザには依然として、通常の通話が聞こえるだけである。ユーザがジェスチャを行っていないときには、放出したジェスチャ検出信号とキャプチャしたジェスチャ検出信号とは、一般に同一である。例えば一定の２０ｋヘルツの信号が、放出されて受信される。
【００１３】
ユーザが通話をしている間に、ユーザはコンテンツ１１０を見ることができる。ユーザは、コンテンツ１１０の上方のコンテンツを見ることを望むことがあり、スクロール・ダウンするユーザ・ジェスチャ１１４を行うことができる。この動きは、オーディオ信号を変化させ、その結果、キャプチャした信号は、放出したジェスチャ検出信号とわずかに異なる。この差異を解析して、ユーザのジェスチャを決定する（例えば異なるジェスチャ間を区別する）ことができる。放出したジェスチャ検出信号と検出したジェスチャ検出信号との間の差異は、ジェスチャが完了すると小さくなる。スピーカ及びマイクロフォンによって実行されるデュアル機能性にもかかわらず、ユーザの通話は、通常の様式で進行する（例えばユーザは、スピーカ１０４及びマイクロフォン１０６を同時に活用している根底にあるジェスチャ検出機能に気付く必要さえない）。他の例では、ユーザ・ジェスチャを用いて、第１の機能を達成する及び／又は第１の機能と共同で動作させることができる。例えばユーザ・ジェスチャは、数ある中でも特に、通話をミュートするか、通話の音量を制御するのに使用される可能性がある。
【００１４】
さらに、このユーザ・ジェスチャの検出の実装は、ユーザの手の状態に依存しない。例えばユーザは手袋を装着してもよく、あるいはユーザの手が汚れていても、油まみれであってもよい。このような状態は、ユーザのタッチを検出するためのタッチ・スクリーンの能力を妨げることがある。しかしながら、本実装形態は、ユーザの接触を必要とせず、手袋や汚れ等による影響を受けないことが可能である。
【００１５】
さらに、このユーザ・ジェスチャの認識の実装を、ユーザのコンピュータの各々に容易に適用することができ、その結果、ユーザは同じユーザ・ジェスチャを使用して、自身の様々なコンピュータを制御することができる。例えばユーザは、該ユーザが図１のパッド型コンピュータ１０２を制御したのと同じ方法で、図示したユーザ・ジェスチャを使用して、（数ある中で特に）自身のデスクトップ・コンピュータ、ダッシュボード内の自動車コンピュータ、スマートフォン及びノートブック・コンピュータを制御することが可能である。
【００１６】
図２〜図７は、コンピュータ２０２に関係する、別のドップラーベースのユーザ・ジェスチャ検出の実装をまとめて示す。このケースでは、コンピュータ２０２は、ノートブック型のコンピュータとして示される。コンピュータ２０２は、２つのスピーカ２０４（１）及び２０４（２）、２つのマイクロフォン２０６（１）及び２０６（２）、ディスプレイ２０８、並びにキーボード／トラックパッド２１０として示されるユーザ入力デバイスを含む。この例では、音楽プレイヤ・アプリケーション２１２が、コンピュータ上で実行されている。図２に示されるように、音楽プレイヤは、２１４に示されるように「停止」状態（例えば再生しない）である。ドップラーベースのユーザ・ジェスチャ検出機能がコンピュータ上で動作していると仮定する。例えばドップラーベースのユーザ・ジェスチャ検出機能は、１つ又は複数の信号を、スピーカ２０４（１）及び２０４（２）の一方又は双方から放出させ、これらの信号について、マイクロフォン２０６（１）及び２０６（２）の一方又は双方によってキャプチャさせる可能性がある。図１に関して上に説明したように、放出した信号及びキャプチャした信号を、差異を求めるために解析することができ、その差異を、コンピュータを制御するためのユーザ・ジェスチャとして識別することができる。
【００１７】
図３は、ユーザが、自身の左手３０２及び右手３０４でキーボード／トラックパッド２１０を使用している様子を示す。この実装形態では、キーボード／トラックパッド２１０を使用することは、ユーザ・ジェスチャとしてタイピング動作を解釈することを避けるために、ドップラーベースのユーザ・ジェスチャ検出機能を非アクティブにする。例えばドップラーベースのユーザ・ジェスチャ検出機能は、信号が（１つ又は複数の）スピーカから放出されるのを停止させることがあり、あるいはユーザがキーボード／トラックパッドを使用しているときには、単に、キャプチャした信号を解析しないことがある。
【００１８】
他の例では、ドップラーベースのユーザ・ジェスチャ検出機能は、他の入力機構と共同して動作して、他の方法ではユーザに利用可能とならない制御機能を提供するか、又はこのような制御機能をよりユーザフレンドリにすることができる。例えば図示されていない例では、３Ｄアプリケーションにおいて、ユーザは、トラックパッドを用いてオブジェクトを選択することがある。ユーザは次いで、選択したオブジェクトを、トラックパッドを用いて「ドラッグ」することが可能である。さらに、ユーザは、図１に関して上に説明し、図示した左右の（side-to-side）制御ジェスチャを実行することによって、選択したオブジェクトを「ターン」又は「回転」させることが可能である。当然のことながら、これはほんの一例であり、ドップラーベースのユーザ・ジェスチャ検出と組み合わせて従来の入力機構を用いて、望み通りにコンピュータを制御するために、多くの他の「組み合わせ」制御オプションを、ユーザがマッピングすることができる。
【００１９】
図示した例を続けると、図４は、ユーザがキーボード／トラックパッド２１０の使用を止めた（例えばキー入力又はトラックパッド入力をこれ以上物理的に行わない）その後の時間を示す。そのようにして、ドップラーベースのユーザ・ジェスチャ検出機能は、もう一度アクティブにされる。図５は、ユーザが、矢印５０２によって示されるように、自身の左手３０２を前方に（ディスプレイ２０８に向かって）動かし、同時に矢印５０４によって示されるように、自身の右手３０４を後方に（ディスプレイ２０８から遠くへ）動かす様子を示す。このユーザの動きは、スピーカ２０４（１）及び／又は２０４（２）によってキャプチャされる音に影響を与える。この影響を、ドップラーベースのユーザ・ジェスチャ検出機能によってユーザ・ジェスチャとして検出し、識別することができる。この例では、ユーザ・ジェスチャは、音楽プレイヤ又は音楽プレイヤ・アプリケーション２１２の状態を変化させるものにマッピングされる。そのようにして、ドップラーベースのユーザ・ジェスチャ検出機能は、音楽プレイヤを図４の停止状態２１４から図５の「再生」状態５０６にさせる。結果として、楽音は、５０８において示されるようにスピーカから放出される。
【００２０】
図６〜図７は、ユーザがコンピュータの前におらず、画面の見通し線内にいない場合も、ユーザがユーザ・ジェスチャでコンピュータ２０２を制御することができるシナリオを示す。図６では、ユーザがコンピュータ２０２に近づくと、コンピュータは、５０８に示されるように楽音を依然として出力している。ユーザは、図４〜図５に関して論じた、一方の手をコンピュータに向けて、一方の手をコンピュータから遠くへと同時に動かすことを伴うユーザ・ジェスチャを繰り返すことによって、コンピュータの音楽再生状態を変更することができる。図４〜図５では、ユーザ・ジェスチャは、コンピュータの音楽再生アプリケーションを停止状態から再生状態へと切り替えた。図６では、コンピュータは、依然として再生状態であり、ユーザ・ジェスチャを繰り返すことにより、コンピュータを停止状態へと戻すように切り替える。これは、図７では、コンピュータから発する音符がないことにより示されている。ユーザ・ジェスチャを、コンピュータによって認識することができ、ユーザがコンピュータの前にいない又はカメラ・デバイスのようなコンピュータ上の特定のデバイスの見通し線内にいなくても、コンピュータを制御するのに使用することができる。実際、一部の実装形態では、ユーザがコンピュータから放射状に広がる規定された範囲内にいる限り、ユーザは、任意の方向又は距離からコンピュータを制御することができる。
【００２１】
図１〜図７に関する検討を要約すると、ドップラーベースのユーザ・ジェスチャ検出の実装は、コンピュータの周りの動きを検出し、速度、方向及び／又は規模のような、検出した動きの特性を使用して、豊富な一組のユーザ・ジェスチャを認識する。例えば方向及び速度を追跡することによって、手を上に又は下に動かすユーザ・ジェスチャは、リアルタイムでウェブページをスクロールすることができる。ドップラーベースのユーザ・ジェスチャ検出の実装は、他の検出可能なユーザ・ジェスチャの中で、反対方向に動く２つの手を検出することもできる。本概念を、マイクロフォン及びスピーカを有する任意のタイプのコンピュータにおいて実装することができる。マイクロフォン及びスピーカは、必ずしもジェスチャ検出に専用である必要はなく、他の機能を同時に実行することができる。説明される実装はロバストであり、混み合っており雑音の多い環境と静かな環境との双方において満足に働くことができる。本概念を、複数の異なるタイプのデバイスにわたって実装することができ、その結果、ユーザは、同じユーザ・ジェスチャでこれらのデバイスのうちの任意のデバイスを制御することができる。
【００２２】
＜システム例＞
図８は、上で紹介したドップラーベースのユーザ・ジェスチャ検出の概念を実現することができるシステム８００の一例を示す。システム８００は、このケースではスマートフォンとして提示されるコンピュータ８０２を含む。この例では、コンピュータ８０２は、スピーカ８０４、マイクロフォン又はマイク８０６、ドップラーベースのユーザ・ジェスチャ識別構成要素８０８、オペレーティング・システム８１０、プロセッサ８１２及び記憶装置８１４を含む。ドップラーベースのユーザ・ジェスチャ識別構成要素８０８を、アプリケーション、アプリケーション部又はオペレーティング・システム８１０の一部とすることができる。
【００２３】
コンピュータ８０２を、他のコンピュータ及び／又はネットワーク８１８を介してクラウド８１６内に設置されるコンピューティング・リソースのようなコンピューティング・リソースと通信するように構成することができる。
【００２４】
本明細書において使用するとき、「コンピュータ」又は「コンピューティング・デバイス」という用語は、ある量の処理能力及び／又は記憶能力を有する任意のタイプのデバイスを意味することができる。コンピュータの例は、パーソナル・コンピュータ、携帯電話、スマートフォン、携帯情報端末、カメラ、ビデオ・カメラのような従来のコンピューティング・デバイス、又は無数の進化し続けるコンピューティング・デバイス若しくはこれから開発されるタイプのコンピューティング・デバイスのいずれかを含むことができる。コンピュータを、より大きなデバイスの構成要素としてもよい。例えばダッシュボード・コンピュータは、多くの新型自動車に含まれる。
【００２５】
処理能力は、コンピュータ読取可能命令の形式でデータを実行して機能を提供する（プロセッサ８１２のような）１つ又は複数のプロセッサによって提供されることが可能である。コンピュータ読取可能命令のようなデータを、記憶装置８１４のような記憶装置上に記憶することができる。記憶装置はコンピューティング・デバイスの内部及び／又は外部とすることができる。例えばメモリ・カード８２０を、コンピュータによって着脱可能に受容される記憶装置と考えることができる。記憶装置は、数ある中でも特に、揮発性メモリ若しくは不揮発性メモリ、ハード・ドライブ、フラッシュ記憶デバイス及び／又は光記憶デバイス（例えばＣＤ、ＤＶＤ等）のいずれか１つ又は複数を含むことができる。本明細書において使用されるとき、「コンピュータ読取可能媒体」という用語は、一時的な命令及び非一時的な命令を含むことができる。対照的に、「コンピュータ読取可能記憶媒体」という用語は、一時的なものを除外する。コンピュータ読取可能記憶媒体は、「コンピュータ読取可能記憶デバイス」を含むことができる。コンピュータ読取可能記憶デバイスの例には、数ある中でも特に、ＲＡＭのような揮発性記憶媒体、及びハード・ドライブ、光ディスク及びフラッシュ・メモリのような不揮発性記憶媒体が含まれる。
【００２６】
ドップラーベースのユーザ・ジェスチャ識別構成要素８０８は、信号制御モジュール８２２、信号解析モジュール８２４、ユーザ対話モジュール８２６及びデータテーブル８２８を含むか、及び／又はこれらにアクセスすることができる。
【００２７】
簡潔にいうと、信号制御モジュール８２２は、ドップラーベースのユーザ・ジェスチャ識別構成要素８０８による使用のためにどの信号が放出されるかを制御することができる。信号制御モジュール８２２は、信号をキャプチャすることを制御することもできる。信号解析モジュール８２４は、放出した信号及びキャプチャした信号を解析して、ドップラー・シフトを引き起こしたユーザ・ジェスチャを識別することができる。ユーザ対話モジュール８２６は、プリインストールされたジェスチャをどのようにして適正に行うかをユーザに説明するか、及び／又はユーザが個々のジェスチャを定義して、これらのジェスチャを個々のコンピュータ制御コマンドにマッピングすることを可能にする、ＧＵＩのようなインターフェースを提供することができる。これらのマッピングをデータテーブル８２８中に記憶することができる。
【００２８】
ドップラーベースのユーザ・ジェスチャ識別構成要素８０８が動きを感知するためにドップラー・シフトとして知られる現象を使用することができることを想起されたい。移動するオブジェクトに応答して、音波の周波数におけるシフトとして、すなわちドップラー効果と呼ばれる効果として動きを検出することができる。この周波数シフトは、オブジェクトが動く速度及びソース周波数に比例する。本実装形態では、元のソース（スピーカ）及びリスナ（マイクロフォン）は静止しており、したがって、何も動きがないので、周波数変化がない。ユーザが自身の手を動かすと、しかしながら、音波を反射し、周波数のシフトを引き起こす。この周波数は、マイクロフォンによって測定され（ｆｒ）、下記の式によって記述することができる。これは、信号解析モジュール８２４によって用いられる可能性がある。
【００２９】
【数１】
2015506508.tif 000003
ただし、ｆｒ＝マイクロフォンにおいて感知された周波数、
ｆｔ＝スピーカからのオリジナル周波数、
ｃ＝空気中の音の速度、
ｖ＝ターゲット／手の速さ
【００３０】
信号制御モジュール８２２は、コンピュータの（１つ又は複数の）スピーカ８０４を介して再生される連続するパイロット・トーン（又は複数のパイロット・トーン）を発生することができる。一般に高周波数（典型的には、商品オーディオ・システム上では１８〜２２ｋＨｚの範囲内）が利用され、ユーザにはパイロット・トーンは聞こえない。しかしながら、６ｋＨｚの低さまで及びこれ未満などの低周波数を利用することができる。加えて、周波数が高いほど、所与の速さに対するシフトが大きく、これは、所与の分解能で動きを推定するように計算を容易にする。上限は主として、最大２２ｋＨｚまでのみのオーディオを生成する能力を有する大部分のラップトップ及び電話機スピーカ・システムに応じる。一部の実装形態では、信号制御モジュールは、専用のパイロット・トーンを生成するのではなく、別の機能に関連付けられる信号を使用するように構成されてもよいことにも留意されたい。例えばスピーカがユーザのために音楽を再生する場合、音楽の周波数要素を、パイロット・トーンとして利用することができる。放出した音楽の周波数を、キャプチャした周波数と後に比較して、ユーザ・ジェスチャによって生じる差異を識別することができる。
【００３１】
ハードウェアにおける変化並びにスピーカ及びマイクロフォン・システムにおけるフィルタリングのために、信号制御モジュール８２２は、一部の実装形態において、初期校正を実行して、（ユーザの介在を必要とせずに）１つ又は複数の高性能な（及び潜在的に最適な）１つ又は複数のトーン周波数を見つけることができる。一実装形態では、信号制御モジュールは、５００ミリ秒周波数のスイープ（sweep）を実行し、ピーク振幅の測定、並びに検出される候補動きイベントの数（すなわち潜在的な誤検出）の追跡を続ける。信号制御モジュール８２２は、偽イベントの検出が最少となり、ピークが最も分離される（すなわち、振幅がスイープ範囲内で２番目に高いピークよりも少なくとも３ｄＢ大きい）、最高周波数を選択することができる。周波数スイープを、定期的に及び／又は何らかの他の出来事があると、又は様々なパラメータに従って、繰り返すことができることに留意されたい。例えばいくつかの点において、過剰な雑音（例えば干渉）が、キャプチャした信号で検出される場合、「よりクリアな」周波数を求めるために、周波数スイープが繰り返されることがある。例えば雑音を、所定のしきい値と比較することができる。雑音レベルが所定のしきい値を超える場合、次いでテストを繰り返すことができる。潜在的なパイロット・トーンのこのテスト及び再テストは、異なる環境及び／又は変化する環境において、ドップラーベースのユーザ・ジェスチャ検出技術を満足に実行することを可能にすることができる。
【００３２】
さらに、信号制御モジュール８２２は、各々が異なるが一定の周波数で複数のパイロット・トーンを同時に放出してもよい。対応するキャプチャした信号を、冗長性について又はより正確な結果を得るために全て解析することができる。あるいは、パイロット・トーンのうちの１つを、「より良い」又は「最善」（例えばよりクリア）として特徴付けることができ、解析用に選択してもよい。
【００３３】
放出される高周波数パイロット・トーンを用いると、コンピュータ８０２の近く（速度に依存するがほぼ１メートルの範囲）の何らかの動きが、マイクロフォンによってピックアップされることとなる、ドップラー・シフトされた反射を引き起こすことになる。これは、一実装形態において、４４，１００Ｈｚで連続的にサンプリングされる。
【００３４】
一部の実装形態では、信号解析モジュール８２４は、マイクロフォン８０６からの入力の時間ドメイン信号をバッファすることができ、２０４８点のハミング・ウィンドウ・ベクトルを用いて高速フーリエ変換（ＦＦＴ）を計算することができる。これは、２２，０５０Ｈｚのスペクトル幅にわたって等しく分散される１０２４点の強度ベクトルをもたらす。各ＦＦＴベクトルが計算された後、これを信号解析モジュール８２４によって更に処理することができる。例えば信号解析モジュールは、信号調整、帯域幅抽出、続いて動き検出、そして最後に特徴抽出を実行することができる。
【００３５】
いくつかのケースでは、信号調整は、どの程度速くユーザが自身の手を動かすことができるかに関するテストデータを利用することであると考えることができる。一部の実装形態は、コンピュータの前でユーザが自身の手を動かすことができる最も速い速度は、約３．９ｍ／秒であるという仮定の上で動作することができる。したがって、このような実装形態は、控えめにみて、関心のある信号を６ｍ／秒で境界することができる。説明したサンプリング・レート及びＦＦＴサイズが与えられると、これは、放出したピークのいずれかの側に約３３個の周波数ビンをもたらす。（一部の実装形態は、ユーザがあるタイプのポインティング・デバイスを利用してユーザ・ジェスチャを行うことによって、より速い動きが作り出されるという推定で動作することがある。例えばユーザは、定規又は鉛筆を持ちそしてユーザが自身の手を動かすことができるものよりも速く動かすことができる。この速い動きを、別の制御コマンドにマッピングすることができる）。
【００３６】
信号解析モジュール８２４は、シフトされた周波数をユーザ・ジェスチャとして解釈することができる。例えば信号解析モジュールは、パイロット・トーンの帯域幅を効果的に増加させる（又は減少させる）ユーザ・ジェスチャを検出することができる（すなわち、ウィンドウの平均化及びスペクトルの漏れがピークの動きを曖昧にする）。これを検出するために、信号解析モジュール８２４は、振幅がパイロット・トーン・ピークの１０％未満に低下するまで、両側の周波数ビンを独立にスキャンすることによって、パイロット・トーンの帯域幅を計算することができる。別な言い方をすれば、本技術は、必ずしも周波数スペクトル全体を解析する必要はなく、代わりに解析をパイロット・トーンの周囲（例えば両側に２００Ｈｚ）に集中させることができる。さらに、相対的な振幅低下を使用することにより、ユーザがスピーカの音量を変えるときのように、システムを動的に応答させることを可能にすることができる。
【００３７】
ほとんどのケースに関して、このビン解析は、動きを推定するためには十分である。しかしながら、シフトが十分に大きい場合、反射した信号は、ピークを曖昧にするのではなく、パイロット・トーンのピークから分かれることがある。この問題に対処するために、信号解析モジュール８２４は、第２のスキャンを実行することができ、これは第１のスキャンの停止点を超えて探す。プライマリトーンの少なくとも３０％のエネルギーを有する第２のピークが見つかった場合、第２のピークから計算される振幅低下を探して第１のスキャンを繰り返すことができる。
【００３８】
動き検出及び特徴抽出：一部の実装形態では、周波数ベクトルは、２１．５Ｈｚのビン当たりの分解能を有する。２０ｋＨｚのパイロット・トーンを用いると、これは、１８．５ｃｍ／秒程度に遅い動きを検出することに換算される。信号解析モジュール８２４は、パイロット・トーンそれ自体の帯域幅、例えば動きがない場合は〜８０Ｈｚとすることができる帯域幅を考慮することができる。パイロット・トーンの帯域幅は、商品ハードウェアの音響システムの品質に応じて６０〜１２０Ｈｚ（トーンの両側に１〜３ビン）で変化し得る。したがって、信号解析モジュール８２４は、例えば４個又はそれ以上のビンの周波数シフト帯域幅があるときに生じる「動きイベント」を考慮することができる。このしきい値は、帯域幅の変動に起因する誤検出を無視して、検出すべき手の十分に遅い動きを許容する。
【００３９】
＜測定可能な特性＞
基本的な周波数シフトに加えて、信号解析モジュール８２４は、ジェスチャを推定するための他の有用な特徴も計算することができる。
【００４０】
速さ：測定される周波数変化は、ターゲットの絶対速度に比例する。信号解析モジュール８２４は、元の周波数（例えばパイロット・トーン）と反射した周波数との間の差異を測定することができ、遅いジェスチャ、中間のジェスチャ及び速いジェスチャの間を区別することができる。
【００４１】
方向：手がコンピュータに向かって又は離れて動いているかどうかを判断することを、周波数のシフトの符号から行うことができる。正のシフトは向かっていることを示し、負のシフトは離れることを示す。複数のマイクロフォンのシナリオでは、信号解析モジュール８２４は、複数のマイクロフォンに関して検出されたドップラー・シフトの差異を比較することができ、ユーザ制御ジェスチャに関する更なる情報を識別することができる。
【００４２】
ターゲットの近接性及びサイズ：観測された信号の振幅は、ターゲットがコンピュータの近くへと動くにつれて増大し、ターゲットのサイズ及び反射率も増大する。例えば大きな手又は開いた手のひらを、小さな手又は握った手よりも大きな振幅として提示することができる。
【００４３】
時間変動：上記の３つの特性の変動を経時的に測定することにより、信号解析モジュール８２４は、スプリアス信号をフィルタリングするために変化率及びその使用の双方を観測することが可能になる。例えば非常に短い期間の間だけ続く何らかの動きを、信頼性良くフィルタアウトすることができ、長く続く動きイベントを使用して、コンピュータに向かう又は離れる歩行のようなアクティビティを識別することができる。
＜ジェスチャ及び使用ケース＞
上に説明した特徴を組み合わせて、複雑なジェスチャを形成することができる。例えば図１に関して上に説明したように、スクロールすることを効果的に検出し使用して、数ある中でも特に、ウェブブラウザ又はワード・プロセシング・アプリケーションを制御することができる。一部の実装形態は、手が特定の位置に戻ると、偶発的なスクローリングを減少させるか、及び／又は防止するクラッチング機構を利用することができる。例えば特定の速度基準に合致するときにだけ速度特徴及びスクローリングを使用することにより、これが可能になる。
【００４４】
ダブル・タップ又はタッピング・ジェスチャ：方向の変化を経時的に観測することによって、方向が変化する「頻度」を計算することができる。この方向の頻度の値を、タップ・ジェスチャを検出するために使用することができ、マウスのダブルクリックとよく似た速いタップを遅いタップと見分けるために、これをさらに使用することができる。
【００４５】
２つの手の上下する（seesaw）ジェスチャは、図２〜図７に関して図示されており、ジェスチャをアクティブにするために両手を同時に反対方向に動かすことを含む。これは同じＦＦＴベクトル内の２つの上及び下にシフトした周波数成分の存在によって検出される。
【００４６】
近接及びフリック：このジェスチャは、同じ方向で少なくともＮ個の連続する動きイベントが検出されるとアクティブにされる。大きなＮは、（予想されるような小さなＮ個の連続する動きを有する手を動かすこととは反対に）人が歩いているかどうかを表すことができる。ユーザがコンピュータから離れる又は向かうように歩くと、歩くジェスチャを使用して、コンピュータを自動的にスリープさせる又は再開させることができる。検出可能なジェスチャの上記の列挙は、説明の目的で提供されており、多くの他のユーザ・ジェスチャを検出することができる。
【００４７】
ユーザ対話モジュール８２６は、コンピュータに対するユーザ・ジェスチャを設定することができる。例えば一部の実装形態は、１つ又は複数の予め定義されたユーザ・ジェスチャを備えることができる。そのようなケースでは、ユーザ対話モジュールは、どのようにして個々のユーザ・ジェスチャを行うかをユーザに説明する及び／又は示すグラフィカル・ユーザ・インターフェース（ＧＵＩ）のようなインターフェースを生成させることができる。ユーザ対話モジュールは、どのようなコンピュータ制御をユーザ・ジェスチャにマッピングするかをユーザが定義することも可能にすることができる。例えばＧＵＩは、図１に示されるスクロール・ジェスチャをどのよう行うかを示してよい。
【００４８】
ＧＵＩは、次に、ユーザ・ジェスチャをユーザ自身が選択したコンピュータ制御機能にユーザがマッピングすることを可能にすることができる。１つのそのような例は、データテーブル８２８の水平の行８３２で裏付けられる。データテーブルは、ジェスチャ名の列８３４、ジェスチャ・プロファイルの列８３６及び制御機能の列８３８を含む。行８３２では、ジェスチャ名は、「スクロール」であり、ジェスチャ・プロファイルは「Ａ」である。「Ａ」は、そのジェスチャについて記録された、グラフ化した周波数プロファイルを表しているが、これは簡潔性目的で図示していない。このケースでは、スクロール・ジェスチャを、「下方にスクロール」の制御機能にマッピングし、これは上記のようであり、ユーザが調節可能である。例えばユーザは、図１に関して説明した音楽プレイヤ・アプリケーション上で「音量を下げる」ように、対応する制御機能を変更する可能性がある。
【００４９】
別の一例では、新しいジェスチャをユーザに「教える」ことをユーザが望むと仮定する。ＧＵＩは、この特徴を提示することができる。例えばＧＵＩは、ユーザに、１回又は複数回ユーザ・ジェスチャを実行するよう指示することができる。ユーザ対話モジュール及び／又は信号解析モジュール８２６及び８２４は、満足なジェスチャ・プロファイルが得られるまで、ユーザ・ジェスチャの実行中に信号を解析することができる。例えばユーザが、上に図２〜図７に関して図示した２つの手を上下するジェスチャを実行すると仮定する。信号解析モジュール８２４は、データテーブルの行８４０に示されるようにジェスチャ・プロファイルを「Ｂ」として識別することができる。ユーザ対話モジュール８２６は、ユーザ用の制御機能のリストを提供することなどによって、対応する制御機能をユーザが定義することを可能にすることができる。このケースでは、ユーザが音楽プレイヤの「再生状態の変更」を選択したと仮定する。
【００５０】
後続の時点において、ユーザは、コンピュータ８０２を制御するように望むことがあり、ユーザ・ジェスチャを実行することができる。ユーザ・ジェスチャを、信号解析モジュール８２４によってキャプチャして解析し、実行されたジェスチャのキャプチャされたジェスチャ・プロファイルが、データテーブル８２８内のジェスチャ・プロファイルのいずれかに一致するか（又は類似性しきい値によって定義されるようにほぼ一致するか）どうかを判断することができる。ほぼ一致する場合、（例えば一致するジェスチャ・プロファイルの水平行から）対応する制御機能を、実行することができる。
【００５１】
一部の実装形態において、正確ではないおおよその一致の量が過剰な場合、ユーザは、類似性しきい値を引き上げるよう調節することができる。一致するジェスチャが識別されないという反対のケースでは、ユーザは、ユーザ対話モジュール８２６を介して、類似性しきい値を引き下げるように調節することができる。
【００５２】
加えて、ユーザ対話モジュール８２６は、ユーザが検出の範囲を設定及び／又は調節することを可能にすることができる。例えばユーザは、振幅のしきい値を設定することができ、その結果、振幅しきい値を超える周波数プロファイル内に出現するもののみがデータテーブル８２８にマッピングされる。あるいは、ユーザは、スピーカの音量を調節することができ、これは次いで、放出したパイロット・トーンのラウドネス（例えば振幅）を制御する。音量制御を使用して、効果的な検出範囲を調整することができ、これは、ユーザが周囲の動きをピックアップすることを明示的に望まない可能性のある混み合った状況において有用である可能性がある。
【００５３】
一部の実装形態では、ドップラーベースのユーザ・ジェスチャ識別構成要素８０８は、エンド・ユーザ（例えば顧客）にコンピュータを用意及び／又は販売する製造業者又は仲介業者によってコンピュータ８０２上にプレインストールされ得る。別の実装形態では、ドップラーベースのユーザ・ジェスチャ識別構成要素８０８は、ユーザによってインストールされ得る。例えばユーザは、ドップラーベースのユーザ・ジェスチャ識別構成要素を、一組のコンピュータ読取可能命令としてネットワーク８１８を介してダウンロードすることができ、このコンピュータ読取可能命令は次いで、記憶装置８１４のように有形な形でコンピュータ上に記憶される。別の実装形態では、ユーザは、メモリ・カード８２０のような記憶デバイスでドップラーベースのユーザ・ジェスチャ識別構成要素を得ることができ、該ドップラーベースのユーザ・ジェスチャ識別構成要素をユーザ自身のコンピュータ上にインストールすることができる。
【００５４】
さらに、図示される実装形態では、コンピュータ８０２は、汎用プロセッサ８１２及び記憶装置８１４を用いて構成される。一部の代替構成では、コンピュータは、システム・オン・チップ（ＳＯＣ）タイプの設計を含むことができる。このようなケースでは、コンピュータの様々な構成要素によって与えられる機能を、単一のＳＯＣ又は複数の結合されたＳＯＣ上に統合することができる。１つのこのような例では、コンピュータは、共有リソース及び専用リソースを含むことができる。（１つ又は複数の）インターフェースは、共有リソースと専用リソースとの間の通信を容易にすることができる。名前が示唆するように、専用リソースは、固有の機能を達成することのために専用化された個別の部分を含むものとして考えられ得る。
【００５５】
共有リソースを、複数の機能によって使用され得る記憶装置、処理ユニット等とすることができる。この例では、共有リソースは、プロセッサを含むことができる。
【００５６】
＜方法の例＞
図９は、本概念の少なくとも一部の実装形態と一致する技術又は方法９００の流れ図を図示する。
【００５７】
ブロック９０２において、本方法は、コンピュータから音響信号を放出することができる。音響信号を、コンピュータ上の（１つ又は複数の）スピーカから放出することができる。一部の実装形態では、これらの（１つ又は複数の）スピーカは、コンピュータ上で他の機能を実現するために利用することができる既存の多用途スピーカとすることができる。
【００５８】
ブロック９０４において、本方法は、コンピュータにおいて音響信号をキャプチャすることができる。音響信号を、（１つ又は複数の）マイクロフォンによりキャプチャすることができる。一部の実装形態では、マイクロフォンは、コンピュータ上で他の機能を実現するために利用することができる既存の多用途マイクロフォンとすることができる。
【００５９】
ブロック９０６において、本方法は、放出した音響信号の周波数範囲をキャプチャした音響信号の同じ周波数範囲と比較して、ユーザ制御ジェスチャによって作り出されたドップラー・シフトを検出することができる。
【００６０】
ブロック９０８において、本方法は、ユーザ制御ジェスチャを制御機能にマッピングすることができる。
【００６１】
ブロック９１０において、本方法は、コンピューティング・デバイスにおいて制御機能を実行することができる。
【００６２】
上記の方法が説明される順番は、限定として解釈されるようには意図されておらず、任意の数の説明されたブロックを、本方法又は代替方法を実装するために任意の順番で組み合わせることができる。さらに、コンピューティング・デバイスが本方法を実施することができるように、本方法を任意の適切なハードウェア、ソフトウェア、ファームウェア又はこれらの組合せで実装することができる。あるケースにおいて、本方法は、コンピュータによる実行により、そのコンピュータに本方法を実行させるように、一組の命令としてコンピュータ読取可能記憶媒体上に記憶される。
【００６３】
＜結論＞
ドップラーベースのユーザ・ジェスチャ検出に関する技術、方法、デバイス、システム等を、構造的な特徴及び／又は方法的な動作に特有の言語で記述したが、別記の特許請求の範囲において定義される主題は、説明された具体的な特徴又は動作に必ずしも限定されないことを理解されたい。むしろ、具体的な特徴及び動作は、特許請求に係る方法、デバイス、システム等を実装する例示的な形態として開示されている。また、本明細書において使用されるとき、「ある、１つの（ａ、ａｎ）」という用語は、単数であっても複数であってもよい要素を導入するように意図されている。したがって、「ある、１つの（ａ、ａｎ）」は、単数形の意味（例えば１つの）及び複数形の意味（例えば複数の）の双方を網羅するように使用され得る。
【図１】
2015506508.tif 000004
【図２】
2015506508.tif 000005
【図３】
2015506508.tif 000006
【図４】
2015506508.tif 000007
【図５】
2015506508.tif 000008
【図６】
2015506508.tif 000009
【図７】
2015506508.tif 000010
【図８】
2015506508.tif 000011
【図９】
2015506508.tif 000012
【国際調査報告】
2015506508.tif 000013
2015506508.tif 000014
2015506508.tif 000015