(57)【特許請求の範囲】
【請求項１】
プロセッサと、
前記プロセッサに結合されたメモリと、
前記プロセッサに結合された超音波放出器と、
前記プロセッサに結合された１つまたは複数の音検出器と
を備える、装置であって、前記装置は、
前記１つまたは複数の音検出器のうちの１つの音検出器において、時間的情報を用いて符号化された超音波信号を受信するための手段と、前記超音波信号は擬似ランダム雑音信号を用いて周波数変調される、
前記超音波信号に基づいてチャネルインパルス応答を計算するための手段と、
少なくとも１つの特徴を抽出するために前記チャネルインパルス応答を処理するための手段と、
特定の一致した特徴を識別するために、前記抽出された少なくとも１つの特徴をチャネルインパルス応答特徴のデータベースと比較するための手段と、
前記特定の一致した特徴に基づいて、前記プロセッサによって実行されるべきコマンドを、前記抽出された少なくとも１つの特徴のパターンが前記データベースに記憶された前記チャネルインパルス応答特徴のパターンに一致または類似する程度を反映するパターン一致相関値、ユーザ入力ジェスチャーのコンテキストまたは現在の動作状態、およびユーザの手または指のロケーションに応じて、同じジェスチャーであっても異なる意味と識別して選択するための手段と
をさらに備える、装置。
【請求項２】
前記超音波放出器から前記超音波信号の送信を開始するための手段をさらに備える、請求項１に記載の装置。
【請求項３】
前記超音波信号が、変化する周波数で時間的に符号化される、請求項１に記載の装置。
【請求項４】
前記超音波信号が、スペクトル拡散変調を使用して時間的に符号化される、請求項１に記載の装置。
【請求項５】
前記音検出器において前記超音波信号を受信するための前記手段が、前記１つまたは複数の音検出器のうちの３つの音検出器において前記超音波信号を受信するための手段を備える、請求項１に記載の装置。
【請求項６】
前記少なくとも１つの特徴を抽出するために前記チャネルインパルス応答を処理するための前記手段が、反射体チャネルインパルス応答を取得するために、前記チャネルインパルス応答からバックグラウンドチャネルインパルス応答を減算するための手段を備える、請求項１に記載の装置。
【請求項７】
前記少なくとも１つの特徴を抽出するために前記チャネルインパルス応答を処理するための前記手段が、差分チャネルインパルス応答のシーケンスを判断するための手段と、前記差分チャネルインパルス応答のシーケンスを画像のシーケンスとして処理するための手段とをさらに備える、請求項６に記載の装置。
【請求項８】
前記少なくとも１つの特徴を抽出するために前記チャネルインパルス応答を処理するための前記手段が、前記画像のシーケンスにエッジフィルタを適用するための手段をさらに備える、請求項７に記載の装置。
【請求項９】
前記少なくとも１つの特徴を抽出するために前記チャネルインパルス応答を処理するための前記手段が、前記画像のシーケンスにグレースケール相関行列を適用するための手段をさらに備える、請求項７に記載の装置。
【請求項１０】
前記抽出された少なくとも１つの特徴を前記チャネルインパルス応答特徴の前記データベースと比較するための前記手段が、ｋ最近傍分析、人工ニューラルネット分析、隠れマルコフモデル分析、またはこれらの組み合わせを含む方法を使用して分析を実行するための手段を備える、請求項７に記載の装置。
【請求項１１】
前記抽出された少なくとも１つの特徴に基づいて最も強い反射体を識別するための手段と、
前記識別された最も強い反射体からの前記超音波信号の飛行時間を測定するための手段と、
前記超音波信号の前記測定された飛行時間に基づいて前記識別された最も強い反射体の空間におけるロケーションを判断するための手段と
をさらに備え、
前記特定の一致した特徴に基づいて、前記プロセッサによって実行されるべきコマンドを選択するための前記手段が、前記識別された最も強い反射体の空間における前記ロケーションにさらに基づいて前記コマンドを選択するための手段を備える、請求項１に記載の装置。
【請求項１２】
前記超音波信号の前記測定された飛行時間にカルマンフィルタ処理を適用するための手段をさらに備える、請求項１１に記載の装置。
【請求項１３】
前記チャネルインパルス応答に基づいてチャネルインパルス応答曲線を判断するための手段をさらに備え、
前記少なくとも１つの特徴を抽出するために前記チャネルインパルス応答を処理するための前記手段が、前記チャネルインパルス応答曲線から導出された角度情報に基づいて反射体移動方向を判断するための手段を備え、
前記特定の一致した特徴に基づいて、前記プロセッサによって実行されるべきコマンドを選択するための前記手段が、前記反射体移動方向にさらに基づいて前記コマンドを選択するための手段を備える、請求項１に記載の装置。
【請求項１４】
音検出器において、時間的情報を用いて符号化された超音波信号を受信するための手段と、前記超音波信号は擬似ランダム雑音信号を用いて周波数変調される、
前記超音波信号に基づいてチャネルインパルス応答を計算するための手段と、
少なくとも１つの特徴を抽出するために前記チャネルインパルス応答を処理するための手段と、
特定の一致した特徴を識別するために、前記抽出された少なくとも１つの特徴をチャネルインパルス応答特徴のデータベースと比較するための手段と、
前記特定の一致した特徴に基づいて、プロセッサによって実行されるべきコマンドを、前記抽出された少なくとも１つの特徴のパターンが前記データベースに記憶された前記チャネルインパルス応答特徴のパターンに一致または類似する程度を反映するパターン一致相関値、ユーザ入力ジェスチャーのコンテキストまたは現在の動作状態、およびユーザの手または指のロケーションに応じて、同じジェスチャーであってもユーザの手または指のロケーションに応じて異なる意味と識別して選択するための手段と
を備える、装置。
【請求項１５】
超音波放出器から前記超音波信号の送信を開始するための手段をさらに備える、請求項１４に記載の装置。
【請求項１６】
前記超音波信号が、変化する周波数で時間的に符号化される、請求項１４に記載の装置。
【請求項１７】
前記超音波信号が、スペクトル拡散変調を使用して時間的に符号化される、請求項１４に記載の装置。
【請求項１８】
前記超音波信号を受信するための前記手段が、コンピューティングデバイス上の３つの音検出器において前記超音波信号を受信するための手段を備える、請求項１４に記載の装置。
【請求項１９】
前記少なくとも１つの特徴を抽出するために前記チャネルインパルス応答を処理するための前記手段が、反射体チャネルインパルス応答を取得するために、前記チャネルインパルス応答からバックグラウンドチャネルインパルス応答を減算するための手段を備える、請求項１４に記載の装置。
【請求項２０】
前記少なくとも１つの特徴を抽出するために前記チャネルインパルス応答を処理するための前記手段が、差分チャネルインパルス応答のシーケンスを判断するための手段と、前記差分チャネルインパルス応答のシーケンスを画像のシーケンスとして処理するための手段をさらに備える、請求項１９に記載の装置。
【請求項２１】
前記少なくとも１つの特徴を抽出するために前記チャネルインパルス応答を処理するための前記手段が、前記画像のシーケンスにエッジフィルタを適用するための手段をさらに備える、請求項２０に記載の装置。
【請求項２２】
前記少なくとも１つの特徴を抽出するために前記チャネルインパルス応答を処理するための前記手段が、前記画像のシーケンスにグレースケール相関行列を適用するための手段をさらに備える、請求項２０に記載の装置。
【請求項２３】
前記抽出された少なくとも１つの特徴を前記チャネルインパルス応答特徴の前記データベースと比較するための前記手段が、ｋ最近傍分析、人工ニューラルネット分析、隠れマルコフモデル分析、またはこれらの組み合わせを含む方法を使用して分析を実行するための手段を備える、請求項２０に記載の装置。
【請求項２４】
前記抽出された少なくとも１つの特徴に基づいて最も強い反射体を識別するための手段と、
前記識別された最も強い反射体からの前記超音波信号の飛行時間を測定するための手段と、
前記超音波信号の前記測定された飛行時間に基づいて前記識別された最も強い反射体の空間におけるロケーションを判断するための手段と
をさらに備え、
前記特定の一致した特徴に基づいて、前記プロセッサによって実行されるべきコマンドを選択するための前記手段が、前記識別された最も強い反射体の空間における前記ロケーションにさらに基づいて前記コマンドを選択するための手段を備える、請求項１４に記載の装置。
【請求項２５】
前記超音波信号の前記測定された飛行時間にカルマンフィルタ処理を適用するための手段をさらに備える、請求項２４に記載の装置。
【請求項２６】
前記チャネルインパルス応答に基づいてチャネルインパルス応答曲線を判断するための手段をさらに備え、
前記少なくとも１つの特徴を抽出するために前記チャネルインパルス応答を処理するための前記手段が、前記チャネルインパルス応答曲線から導出された角度情報に基づいて反射体移動方向を判断するための手段を備え、
前記特定の一致した特徴に基づいて、前記プロセッサによって実行されるべきコマンドを選択するための前記手段が、前記反射体移動方向にさらに基づいて前記コマンドを選択するための手段を備える、請求項１４に記載の装置。
【発明の詳細な説明】
【技術分野】
【０００１】
［関連出願］
本出願は、その内容全体が参照により組み込まれる、２０１０年６月２９日に出願された「Touchless Sensing and Gesture Recognition using Continuous Wave Sound Signals」と題する米国仮特許出願第６１／３５９，７２８号の優先権の利益を主張する。
【０００２】
［分野］
本発明は、一般に、コンピューティングデバイスのためのユーザインターフェースシステムに関し、より詳細には、持続波音（continuous-wave sound）を採用するタッチレスユーザインターフェースに関する。
【背景技術】
【０００３】
［背景］
超音波は、人間の聴覚の上限を上回るまたは約２０ｋＨｚを上回る周波数において動作するものとして定義される周期的音圧である。超音波は、画像化、ソースロケーション判断および範囲測定のための広範囲の適用例において実行されている。これらの適用例の多くは、媒体を通り、反射を介して媒体内の物体の構造情報を与える、超音波の能力に焦点を当てている。たいていの適用例は、超音波が放出されるときとエコーが検出されるときとの間の時間遅延を測定することによって、超音波を利用する。大まかに言えば、超音波システムの２つのタイプはパルスエコーと持続波である。
【発明の概要】
【０００４】
実施形態は、持続波超音波信号を使用した、ユーザインターフェースとして使用するのに好適なタッチレス感知およびジェスチャー(gesture)認識のためのシステムおよび方法を提供する。超音波信号が、送信され、ユーザの指または手などの物体から反射し得る。反射した超音波信号は超音波マイクロフォンによって受信され得る。受信された超音波信号に基づいてチャネルインパルス応答(channel impulse response)が計算され得る。チャネルインパルス応答は異なるフィルタにかけられ得、認識可能な特徴が抽出または認識され得る。これらの認識可能な特徴は、抽出された特徴がいずれかの既知のパターンに一致するかどうかを判断するために、あらかじめ定義されたユーザジェスチャーに相関された特徴の記憶されたパターンと比較され得る。抽出された特徴が既知のパターンに一致する場合、一致するパターンに関連するコマンド（たとえば、ユーザ入力コマンド）がコンピューティングデバイスによって実行され得る。さらなる実施形態では、チャネル応答における認識可能な特徴が特定の反射信号に相関され得る。楕円交点（elliptic intersect）計算を使用することなどによって、コンピューティングデバイスに対する反射物体の座標を導出するために、反射信号の飛行時間が計算され、使用され得る。また、この方法は、反射物体の動きを一連の位置として追跡し得、動き追跡データは、認識を行うためにジェスチャーに相関され得る。
【０００５】
本明細書に組み込まれ、本明細書の一部をなす添付の図面は、本発明の例示的な実施形態を示し、上記の概略的な説明および下記の発明を実施するための形態とともに、本発明の特徴を説明するのに役立つ。
【図面の簡単な説明】
【０００６】
【図１】ジェスチャー認識のための超音波センサを使用するように構成された実施システムの図。
【図２】放出器またはスピーカーから伝搬し、ユーザの手から反射し、検出器によって受信されている、超音波波面を示す概念図。
【図３】持続波超音波を用いてジェスチャーを認識するための実施システムの機能および構成要素ブロック図。
【図４】実施システムの様々な処理およびハードウェアモジュールの機能システムブロック図。
【図５Ａ】反射体（たとえば、ユーザの手）の存在下でのプロトタイプシステムにおけるマイクロフォンについてのチャネルインパルス応答対時間のグラフ。
【図５Ｂ】反射体が存在しないプロトタイプシステムにおけるマイクロフォンについてのチャネルインパルス応答対時間のグラフ。
【図５Ｃ】プロトタイプシステムにおける図５Ａに示すチャネルインパルス応答と図５Ｂに示すチャネルインパルス応答との間の差分として計算された、反射体のみのチャネルインパルス応答対時間のグラフ。
【図５Ｄ】同じく差分インパルス応答のグラフ。
【図６Ａ】ユーザの指がプロトタイプシステムにおけるマイクロフォンに向かっておよびそれから離れて移動する、差分チャネル応答対時間に、エッジフィルタ処理の形態を適用した結果を示すグラフ。
【図６Ｂ】ユーザの指がプロトタイプシステムにおけるマイクロフォンに向かっておよびそれから離れて移動する、差分チャネル応答対時間に、エッジフィルタ処理の形態を適用した結果を示すグラフ。
【図６Ｃ】ユーザの指がプロトタイプシステムにおけるマイクロフォンに向かっておよびそれから離れて移動する、差分チャネル応答対時間に、エッジフィルタ処理の形態を適用した結果を示すグラフ。
【図７Ａ】ユーザの手がプロトタイプシステムにおけるマイクロフォンの前で左から右におよび右から左に２回移動する、差分チャネル応答対時間に、エッジフィルタ処理の形態を適用した結果を示すグラフ。
【図７Ｂ】ユーザの手がプロトタイプシステムにおけるマイクロフォンの前で左から右におよび右から左に２回移動する、差分チャネル応答対時間に、エッジフィルタ処理の形態を適用した結果を示すグラフ。
【図７Ｃ】ユーザの手がプロトタイプシステムにおけるマイクロフォンの前で左から右におよび右から左に２回移動する、差分チャネル応答対時間に、エッジフィルタ処理の形態を適用した結果を示すグラフ。
【図８Ａ】相関関数を使用した、マイクロフォンから離れて移動するユーザの指についてのシミュレーション結果の統計的相関分析の結果を示すグラフ。
【図８Ｂ】相関関数を使用した、マイクロフォンから離れて移動するユーザの指についてのシミュレーション結果の統計的相関分析の結果を示すグラフ。
【図８Ｃ】相関関数を使用した、マイクロフォンから離れて移動するユーザの指についてのシミュレーション結果の統計的相関分析の結果を示すグラフ。
【図８Ｄ】相関関数を使用した、マイクロフォンから離れて移動するユーザの指についてのシミュレーション結果の統計的相関分析の結果を示すグラフ。
【図９Ａ】相関アルゴリズムを使用した、マイクロフォンから離れて移動するユーザの指についてのシミュレーション結果の統計的相関分析の結果を示すグラフ。
【図９Ｂ】相関アルゴリズムを使用した、マイクロフォンから離れて移動するユーザの指についてのシミュレーション結果の統計的相関分析の結果を示すグラフ。
【図９Ｃ】相関アルゴリズムを使用した、マイクロフォンから離れて移動するユーザの指についてのシミュレーション結果の統計的相関分析の結果を示すグラフ。
【図１０Ａ】プロトタイプシステムにおける離間したマイクロフォンによって測定されたユーザジェスチャーについてのチャネルインパルス応答対時間を示すグラフ。
【図１０Ｂ】プロトタイプシステムにおける離間したマイクロフォンによって測定されたユーザジェスチャーについてのチャネルインパルス応答対時間を示すグラフ。
【図１０Ｃ】プロトタイプシステムにおける離間したマイクロフォンによって測定されたユーザジェスチャーについてのチャネルインパルス応答対時間を示すグラフ。
【図１１Ａ】図１０Ａ〜図１０Ｃに示すチャネルインパルス応答対時間から判断された最大インパルス応答値対時間を示すグラフ。
【図１１Ｂ】図１０Ａ〜図１０Ｃに示すチャネルインパルス応答対時間から判断された最大インパルス応答インデックス対時間を示すグラフ。
【図１１Ｃ】図１０Ａ〜図１０Ｃに示すチャネルインパルス応答対時間から判断された最大インデックスにおけるインパルス応答の測定値対時間を示すグラフ。
【図１２Ａ】移動する反射体の存在下でのマイクロフォンについての未加工インパルス応答判断対時間のグラフ。
【図１２Ｂ】移動する反射体の存在下でのマイクロフォンについての未加工インパルス応答判断対時間のグラフ。
【図１２Ｃ】移動する反射体の存在下でのマイクロフォンについての未加工インパルス応答判断対時間のグラフ。
【図１３Ａ】移動する反射体の存在下でのマイクロフォンについての、低域フィルタ処理され、しきい値処理されたインパルス応答判断対時間のグラフ。
【図１３Ｂ】移動する反射体の存在下でのマイクロフォンについての、低域フィルタ処理され、しきい値処理されたインパルス応答判断対時間のグラフ。
【図１３Ｃ】移動する反射体の存在下でのマイクロフォンについての、低域フィルタ処理され、しきい値処理されたインパルス応答判断対時間のグラフ。
【図１４】インパルス応答の判断された角度に基づいて反射超音波信号からユーザインターフェースジェスチャーを認識するための実施方法のプロセスフロー図。
【図１５Ａ】図１３Ａに示すインパルス応答パターンの検出された角度のグラフ。
【図１５Ｂ】図１３Ｂに示すインパルス応答パターンの検出された角度のグラフ。
【図１５Ｃ】図１３Ｃに示すインパルス応答パターンの検出された角度のグラフ。
【図１６Ａ】マイクロフォンに向かっておよびそれから離れて移動する反射体の存在下でのそのマイクロフォンについての低域フィルタ処理されたインパルス応答判断対時間のグラフ。
【図１６Ｂ】マイクロフォンに向かっておよびそれから離れて移動する反射体の存在下でのそのマイクロフォンについての低域フィルタ処理されたインパルス応答判断対時間のグラフ。
【図１６Ｃ】マイクロフォンに向かっておよびそれから離れて移動する反射体の存在下でのそのマイクロフォンについての低域フィルタ処理されたインパルス応答判断対時間のグラフ。
【図１７Ａ】図１６Ａに示すインパルス応答パターンの検出された角度のグラフ。
【図１７Ｂ】図１６Ｂに示すインパルス応答パターンの検出された角度のグラフ。
【図１７Ｃ】図１６Ｃに示すインパルス応答パターンの検出された角度のグラフ。
【図１８】チャネルインパルス応答から抽出された信号特徴に基づいてジェスチャーを認識するための実施方法のプロセスフロー図。
【図１９】抽出された信号特徴と反射体の座標の変化とに基づいてジェスチャーを認識するための実施方法のプロセスフロー図。
【図２０】様々な態様とともに使用するのに好適な例示的なコンピュータの構成要素ブロック図。
【図２１】様々な態様とともに使用するのに好適な例示的なモバイルデバイスの構成要素ブロック図。
【図２２】持続波超音波を用いて対話する２つのモバイルデバイスの実施システムの図。
【図２３Ａ】送信デバイス上でデバイス間の方向を判断するための実施方法のプロセスフロー図。
【図２３Ｂ】受信デバイス上でデバイス間の方向を判断するための実施方法のプロセスフロー図。
【発明を実施するための形態】
【０００７】
［詳細な説明］
様々な実施形態について添付の図面を参照しながら詳細に説明する。可能な場合はいつでも、同じまたは同様の部分を指すために図面全体にわたって同じ参照番号を使用する。特定の例および実行形態になされる言及は、説明のためであり、本発明の範囲または特許請求の範囲を限定するものではない。
【０００８】
「例示的」という単語は、本明細書では、「例、事例、または例示の働きをすること」を意味するために使用する。「例示的」として本明細書で説明するいかなる実行形態も、必ずしも他の実行形態よりも好ましいまたは有利であると解釈されるべきではない。
【０００９】
本明細書で使用する「コンピューティングデバイス」という用語は、限定はしないが、ラップトップおよびデスクトップコンピュータ、テレビジョン、家庭用電気器具、セルラー電話、パーソナルテレビジョンデバイス、携帯情報端末（ＰＤＡ）、パームトップコンピュータ、ワイヤレス電子メール受信機（たとえば、Ｂｌａｃｋｂｅｒｒｙ（登録商標）およびＴｒｅｏ（登録商標）デバイス）、マルチメディアインターネット対応セルラー電話（たとえば、Ｂｌａｃｋｂｅｒｒｙ  Ｓｔｏｒｍ（登録商標））、全地球測位システム（ＧＰＳ）受信機、ワイヤレスゲームコントローラ、車両（たとえば、自動車）内の受信機、対話型ゲームデバイス、ノートブック、スマートブック、ネットブック、モバイルテレビジョンデバイス、または任意のデータ処理装置を含む、ユーザインターフェースをもつ任意の形態のプログラマブルコンピュータデバイスを指す。
【００１０】
様々な実施形態は、デバイスから放出され、１つまたは複数の検出器またはマイクロフォンによって受信された持続波超音波信号を使用した、コンピューティングデバイスによるタッチレスユーザインターフェース感知およびジェスチャー認識のためのシステムおよび方法を提供する。持続波超音波は、送信機またはスピーカーによって放出され、物体（たとえば、ユーザの手）から反射され、１つまたは複数の受信機またはマイクロフォンによって受信され得る。たとえば、超音波放出器またはスピーカーが、適宜に符号化された持続波超音波を送信し得る。その超音波は、空中を伝搬し、ユーザの手が反射検出ゾーン内に位置する場合、その手から反射し得る。反射した超音波は、コンピューティングデバイスの周りに位置する１つ、２つ、３つ、またはそれ以上の超音波検出器またはマイクロフォンによって受信され得る。様々な実施形態では、「チャネル」は、超音波放出器から空中を通ってユーザの手に至る音経路、ユーザの手から空中を通って各検出器に至る反射、および各検出器の応答を含み得る。そのようなチャネルの特性は、既知の信号処理方法および回路（たとえば、デジタル信号プロセッサ）を使用して判断され得るチャネルインパルス応答で表され得る。したがって、ユーザがコンピューティングデバイスの反射検出ゾーン内で手または物体を移動するにつれて、チャネルの特性およびチャネルインパルス応答は、反射超音波の異なる送信経路により変化することになる。これは、放出された超音波に対する手表面の入射角の変化による反射エコーのパターンの変化を含み得る。経時的なチャネルインパルス応答のそのような変化は、対象とするユーザ入力ジェスチャーを認識するためにメモリに記憶された既知のパターンと比較され得るパターンを明らかにするために、分析され得る。また、認識されたチャネルインパルス応答パターンを生成するユーザの手のいずれかの大きい反射または部分が処理されて、超音波の飛行時間が測定され得、その飛行時間から、コンピューティングデバイスは、よく知られている楕円三角測量計算を使用してコンピューティングデバイスを囲む３Ｄ空間内の反射表面のロケーションを判断することができる。反射表面までの距離を判断するための正確な方法は、システムにおける雑音を考慮するために、カルマンフィルタ処理(Kalman filtering)などのよく知られている処理アルゴリズムを使用し得る。
【００１１】
３次元ユーザ入力ジェスチャー認識能力を与えることに加えて、様々な実施形態のタッチレスジェスチャー感知能力は他の利点を与える。システムは、コンピューティングデバイスの周りの３０〜４０センチメートル内など、コンピューティングデバイスを囲む大きい体積内のユーザジェスチャーを検出し、解釈することができる。さらに、ユーザインターフェース空間がコンピューティングデバイスの上方にあるので、ユーザインターフェースは、外部の状態、たとえば、湿気、ほこりなどに対して耐性があるように構成され得る。したがって、様々な実施形態は、従来のコンピュータが不適当である状況とシステムとロケーションとにおける適用例を有し得る。
【００１２】
概して、持続波超音波信号は、受信される反射信号が放出される信号と相関されることを可能にする方法で変調され得る。信号を照合することにより、システムは、チャネルインパルス応答を判断すること、あるいは送信と受信との間の時間差、または飛行時間を計算することが可能になり得る。システムチャネル入力応答の変化が、認識され、トレーニングセッションから記憶されたパターンと比較されることを可能にするために、システムチャネル入力応答スナップショットまたは画像が経時的にバッファされ得る。チャネルインパルス応答のそのようなバッファされた画像は、ユーザ入力ジェスチャーの事前トレーニングされたテンプレートライブラリ(template library)に一致し得る特徴を抽出するための特殊フィルタ処理を使用してフィルタ処理され得る。インパルス応答を処理することに加えて、最も強いエコーまたは最初の到着エコーに関連付けられ得るような特定のエコー特徴が、飛行時間分析を使用して３Ｄ空間におけるエコーソースのロケーションの正確な推定値を取得するために処理され得る。雑音の存在下で飛行時間または距離を正確に判断するためにカルマンフィルタ処理などの数学的処理が使用され得、これは、たいていの使用状況における実情である可能性がある。受信した反射を分析し、照合するために、実施形態は、様々な信号処理要素を備え得る。これらの信号処理要素は、受信したチャネル応答からパターンおよび特徴を除外し得、チャネルにおける反射物体を決して解像することなしにこれらの特徴をジェスチャーに相関させ得る。
【００１３】
チャネルインパルス応答における検出されたパターンを、ユーザトレーニングセッションなどからの、メモリに記憶されたパターンと比較することによって、コンピューティングデバイスは、最も厳密に一致するパターンを識別することができる。特定のユーザ入力コマンドを特定のトレーニングされたジェスチャーパターンに相関させることによって、コンピューティングデバイスは、特定のユーザ手移動をユーザ入力コマンドとして認識するように構成され得る。したがって、いくつかの実施形態では、超音波検出システムは、オペレーティングシステムのグラフィカルユーザインターフェース部分の一部として実行され得る。そのような実施形態では、チャネルインパルス応答パターンがメモリ中のパターンに一致したとき、関連するユーザコマンドがコンピューティングデバイスによって識別され、実行され得る。このようにして、ユーザは、既知のポインティングデバイスまたはタッチスクリーンディスプレイを使用してユーザコマンドが入力され得る方法と同様に、コンピューティングデバイスの上方でまたはそれの近傍内で手を向けるかまたは移動することによって、コンピューティングデバイスを制御し得る。
【００１４】
様々な実施形態について超音波を送信および受信することとして説明するが、それらの実施形態は、典型的な超音波領域を下回る周波数をもつ音を用いて同じく実行され得る。放出された周波数が可聴範囲を上回るとすれば、様々な実施形態は、本明細書で説明する方法で高周波音を用いて実行され得る。超音波は、ユーザの手の微細構造の解像度を可能にする超音波の小さい波長により、有利である。ただし、空気の低い密度のために、より低い周波数の音は、従来のスピーカーを使用して生成するのがより容易かつ効率的であり得、従来のマイクロフォンにおいて受信するのがより容易であり得る。したがって、本明細書では、超音波への言及は、明確に具陳されている場合を除いて、特許請求の範囲を特定の周波数レンジ内の音に限定するものではない。
【００１５】
図１に、ラップトップコンピュータ１００上の様々な実施形態の例示的な実行形態を示す。図示の実施形態では、ラップトップコンピュータ１００内のユーザインターフェースシステムが、超音波放出器(ultrasound emmitter)１０１と、コンピュータ１００の様々な部分上に位置する複数の超音波検出器１０２ａ、１０２ｂ、１０２ｃとを含む。使用中に、ユーザは、コンピュータ１００の上方のまたはそれの近傍内の３Ｄ空間１０６内に手１０４を配置し得る。タッチパッド１１０などの従来のポインティングデバイスを使用するのではなく、ユーザは、コンピューティングデバイスが認識および実行することができるユーザ入力ジェスチャーを実行するために、超音波検出器１０２ａ、１０２ｂ、１０２ｃによって超音波反射が検出され得るゾーン（本明細書では反射検出ゾーンと呼ぶ）内で手１０４を移動し得る。ジェスチャーのグラフィカル表現が、他のグラフィカルユーザインターフェースシステムと同様に、ディスプレイ１０８上に提示され得る。したがって、コンピュータ１００の上方のまたはそれの周りの座標系１０６のＸ軸、Ｙ軸およびＺ軸内で手１０４を移動することによって、ユーザは、どの表面にもタッチすることなしにコンピュータ１００とインターフェースすることができる。実施形態は、ユーザ入力ジェスチャーが３Ｄ空間において実行され得るタッチレスユーザインターフェースシステムを可能にし、厳密に２次元である従来のグラフィカルユーザインターフェースデバイス（たとえば、コンピュータマウス、タッチパッドまたはタッチスクリーン）とは異なる、完全な３Ｄユーザインターフェース能力を可能にする。
【００１６】
図２に、ユーザの手１０４の位置および配向を検出するために超音波がどのように使用され得るかについての単純な表現を示す。超音波放出器１０１が、空中を伝搬する持続波超音波２０６を放出し得る。放出される超音波において情報を符号化することによって、持続波音を用いてユーザの手１０４に関する位置情報が判断され得る。表現の簡単のために、持続波超音波内の認識可能な特徴が同心円弧で示されている。放出された超音波２０６は、ユーザの手１０４が反射検出ゾーン内にあるとき、ユーザの手１０４から反射することになり、それにより、反射超音波２０７、２０８が生じる。ユーザの手は３次元であるので、ユーザの手の様々な特徴からの反射から複数の反射超音波波面２０７、２０８が生じることになる。それらの特徴は超音波放出器１０１から異なる距離に位置するので、所与の瞬間において各特徴から反射される波面は異なることになる。さらに、ユーザの手の様々な特徴から各超音波検出器１０２までの距離も異なることになる。したがって、ユーザの手１０４から反射される音は、各々が互いにわずかに時間的にオフセットされた複数の波面において、検出器１０２に到着することになる。このようにして、検出器１０２に到着する反射超音波は、ユーザの手のロケーション、形状および配向に関する情報を符号化する。従来の画像化超音波システムでは、反射表面の画像を生成するために、検出器１０２によって測定されたエコー到着時間が使用され得る。
【００１７】
現代の超音波画像化システムは、正確な画像を現像するためにフェーズドアレイシステムを使用する。しかしながら、そのような画像生成は、プロセッサ集約的であり、したがって、基本ユーザインターフェースシステムには好適でない。様々な実施形態は、画像化プロセスをバイパスし、代わりに、放出器１０１、反射表面１０４、および検出器１０２、ならびに介在する空間にわたる、通信チャネルのチャネルインパルス応答の変化を処理することによって、受信された超音波において符号化されたロケーション、形状および配向情報を利用する。
【００１８】
図３に、様々な実施形態を実行するコンピューティングシステム３００を示す。実施コンピューティングシステム３００は、超音波放出器１０１と、コンピューティングデバイスの中央プロセッサ３０４に結合されたデジタル信号プロセッサ３０２に結合された１つまたは複数の超音波検出器またはマイクロフォン１０２ａ、１０２ｂ、１０２ｃとを含み得る。中央プロセッサ３０４は、メモリ３０６に結合され得、また、超音波放出器１０１に結合された超音波変調器／増幅器回路３０８に結合され得る。超音波変調器／増幅器回路３０８は、擬似乱数または擬似ランダム雑音(pseudorandom noise)など、持続波超音波中に符号化されるべき情報をプロセッサ３０４から受信するように構成され得る。超音波変調器／増幅器回路３０８は、変調された超音波を放出するために超音波放出器１０１に適用される電気信号を生成するために、この情報を使用し得る。いくつかの実行形態では、超音波変調器／増幅器回路３０８は、デジタル信号プロセッサ３０２に結合され得、超音波に変調されるべき情報の信号を中央プロセッサ３０４からではなくデジタル信号プロセッサ３０２から受信するように構成され得る。
【００１９】
いくつかの実施形態では、超音波放出器１０１は、コンピューティングデバイスの表面上に取り付けられた超音波トランスデューサなどの別個の音放出構成要素であり得る。他の実施形態では、超音波放出器１０１は、圧電スピーカーまたはツイータ要素など、コンピューティングデバイスのスピーカーまたはそのスピーカー内の要素であり得る。同様に、いくつかの実施形態では、超音波検出器またはマイクロフォン１０２ａ、１０２ｂ、１０２ｃは、専用超音波トランスデューサなどの別個の構成要素であり得る。他の実施形態では、超音波は、高周波感知構成要素など、コンピューティングデバイスのマイクロフォンまたはそのマイクロフォン内の要素によって感知され得る。さらなる実施形態では、１つまたは複数の超音波トランスデューサが、超音波放出器または超音波検出器のいずれかとして機能し得る。
【００２０】
上記で説明したように、様々な実施形態は、超音波放出器１０１と、空中を通って超音波放出器１０１からユーザの手１０４に至る伝搬経路３１２と、ユーザの指または手１０４からの反射と、空中を通ってユーザの手１０４から超音波検出器１０２ａに至る伝搬経路３１４と、超音波検出器１０２ａ、１０２ｂ、１０２ｃとを包含するように定義された、通信チャネル３１０を利用する。したがって、コンピューティングシステム３００中に含まれる超音波放出器１０１と超音波検出器１０２ａ、１０２ｂ、１０２ｃの各々との間に別個の通信チャネルが存在することになる。様々な実施形態は単一の超音波検出器１０２ａを用いて実行され得るが、ユーザの手１０４のロケーション、形状、および配向に関するより多くの情報を取得するために、またはユーザ入力ジェスチャーをより良く区別するために、２つ以上の超音波検出器がコンピューティングシステム３００上の様々なロケーションに位置し得る。
【００２１】
すべての通信チャネルのように、空中を通る超音波緩和チャネル３１０の要素のうちのいずれか１つの変化により、チャネルインパルス応答が変化し得る。たいていの動作条件において、超音波放出器１０１および検出器１０２ａの性質、ならびに周囲空気の音伝搬特性が、典型的なユーザインターフェースジェスチャーの時間フレーム内で一定であると推定され得、これはわずか数秒にわたるものである。したがって、温度、湿度などの変化による通信チャネル３１２のこれらの要素の変化は無視され得る。したがって、通信チャネル３１０の分析は、インパルス応答のすべての変化が、ユーザの手１０４などの反射表面のロケーション、形状、および配向の変化によるものであると推定して、達成され得る。たとえば、超音波放出器１０１に向かうユーザの手１０４の移動により、放出器から手までの伝搬経路３１２が減少し、たいがい、手から検出器までの伝搬経路３１４が変化（延長または短縮）することになる。また、指を回転させること、伸ばすことまたは引っ込めることなど、ユーザの手１０４の移動により、入射する超音波に対して反射表面の配向が変化し、したがって、検出器１０２ａによって受信される反射超音波のパターンが変化することになる。さらに、超音波放出器１０１に向かうまたはそれから離れるユーザの手１０４の急速な移動により、超音波検出器１０２ａによって受信される反射超音波のドップラーシフトも生じ得る。反射検出ゾーン内のユーザの手１０４の移動から生じる通信チャネル３１０のそのような変化は、チャネルのインパルス応答に反映されることになる。したがって、経時的な通信チャネル３１０のインパルス応答の変化を分析することによって、コンピューティングシステム３００は、ユーザの手１０４の位置、形状および配向に関する情報を取得することができる。以下で説明する図２０に示すように３次元で離間したように、コンピューティングシステム３００上の様々なロケーションに３つ以上の超音波検出器１０２ａ、１０２ｂ、１０２ｃを配置することによって、コンピューティングシステム３００は、ユーザの手１０４に関する３次元位置情報を取得することができる。
【００２２】
超音波検出器１０２ａ、１０２ｂ、１０２ｃによって受信された超音波信号のサンプリングに関与する計算、および各通信チャネル３１０についてのチャネルインパルス応答の判断が、デジタル信号プロセッサ３０２または別の適切に構成された処理回路によって実行され得る。以下で説明する様々な実施形態のフィルタ処理、グレースケール(grey scale)処理、および統計分析など、チャネルインパルス応答データの処理が、デジタル信号プロセッサ３０２において実行されるか、または部分的にデジタル信号プロセッサ３０２において実行され、また、部分的に中央プロセッサ３０４において実行され得る。デジタル信号プロセッサ３０２および／または中央プロセッサ３０４において実行された処理によってチャネルインパルス応答から抽出された認識可能な特徴が、中央プロセッサ３０４またはコンピューティングシステム３００内の別のプロセッサによって実行されるパターン比較アルゴリズムを使用して、メモリ３０６に記憶されたパターンと比較され得る。中央プロセッサ３０４が、通信チャネル３１０のうちの１つまたは複数のチャネルインパルス応答から抽出されたパターンが、メモリ３０６に記憶されたパターンに一致すると判断した場合、中央プロセッサ３０４は、一致したパターンに関連するユーザ入力コマンドを判断し、他のユーザ入力コマンドのようにそのコマンドを実行し得る。
【００２３】
図４に、実施システム４００の機能モジュールおよびハードウェア要素を示す。放出される持続波超音波を生成するために、擬似ランダム雑音または擬似乱数生成器モジュール４０２が擬似ランダムコードを生成し得る。このコードはスペクトル拡散変調器およびパルス圧縮モジュール４０４に与えられ得、スペクトル拡散変調器およびパルス圧縮モジュール４０４は擬似ランダム雑音をデジタル情報中に含め、その情報はデジタルアナログ変換器および増幅器モジュール４０６に与えられる。このモジュール４０６はアナログ信号を超音波放出器１０１に与え得る。上記で説明したように、放出された超音波２０６はユーザの手１０４から反射し、反射超音波２０８が生成され、反射超音波２０８は、１つまたは複数の超音波検出器またはマイクロフォン１０２ａ、１０２ｂ、１０２ｃによって受信される。１つまたは複数の超音波検出器またはマイクロフォン１０２ａ、１０２ｂ、１０２ｃからの信号が、増幅器およびアナログデジタル変換器モジュール４０７によって処理され得、得られたデジタルデータがデジタル信号プロセッサ４０９に受け渡される。いくつかの実行形態では、アナログデジタル変換プロセスモジュール４０７はデジタル信号プロセッサ４０９内に含まれ得る。デジタル信号プロセッサ４０９は、チャネルインパルス応答分析モジュール４０８と特徴抽出モジュール４１０とを含むＤＳＰ実行可能ソフトウェアモジュールで構成され得る。チャネルインパルス応答分析モジュール４０８および特徴抽出モジュール４１０において達成される処理について、以下でより詳細に説明する。
【００２４】
特徴抽出モジュール４１０からの結果が、抽出された特徴をメモリ３０６に記憶されたパターンと比較するチャネルインパルス応答パターン比較モジュール４１２によって処理され得る。チャネルインパルス応答パターン比較モジュール４１２は、チャネルインパルス応答パターンが、メモリに記憶されたパターンに一致または類似する程度を反映する、相関値を計算し得る。これらの結果は、最良の一致するパターンを選択することと、それの関連するユーザ入力コマンドを識別することとを行うように機能するジェスチャー認識モジュール４１４によって処理され得る。ジェスチャー認識モジュール４１４は、一致したパターンの中から現在の動作条件に最も関係するパターンを選択するために、ユーザ入力ジェスチャーのコンテキストまたは現在の動作状態を考慮に入れ得る。そうする際に、ジェスチャー認識モジュール４１４は、パターンの関連するユーザ入力コマンドが現在の動作状態に関係する場合、比較的高い相関係数をもつパターンを選択し得る。たとえば、複数のパターンが比較的高い相関係数を有するが、そのパターンの一部が、現在の動作状態において実行され得ない関連するユーザ入力コマンド（たとえば、現在実行していないアプリケーションに関係するコマンド）を有する場合、ジェスチャー認識モジュール４１４はそれらのパターンを廃棄し得る。また、ジェスチャー認識モジュール４１４は、前のユーザ入力コマンドに関係するコマンドに関連するパターンの中から選択するために、比較的高い相関係数をもつパターンの中から選択する際に前の入力ジェスチャー（たとえば、選択コマンド）を考慮に入れ得る。たとえば、前の入力ジェスチャーが選択コマンドであった場合、ジェスチャー認識モジュール４１４は、移動、コピー、または切取りコマンドに関連するパターンなど、選択されたオブジェクトに関係するコマンドに関連するパターンの中から選択し得る。
【００２５】
ジェスチャー認識モジュール４１４によって識別された、このような状況下での最良の一致するパターンに関連し、現在の動作状態に一致する、単一のコマンドが、他のユーザインターフェースコマンドのように実行のためにユーザインターフェースモジュール４１６に受け渡され得る。ユーザインターフェースモジュール４１６は、識別されたコマンドを実行のためにプロセッサに受け渡し得る。ユーザインターフェースモジュール４１６はまた、識別されたコマンドに一致する、コンピューティングデバイスディスプレイに与えられる、表示を生成し得る。たとえば、ジェスチャー認識モジュール４１４が、ユーザが（たとえば、３Ｄ空間においてオブジェクトを指すこと、２本の指を合わせるようにピンチすること、またはこぶしを握ることによって）選択コマンドを実行したと判断した場合、ユーザインターフェースモジュール４１６は、選択されたオブジェクトが、コンピュータマウス、タッチパッドまたはタッチスクリーンユーザインターフェースデバイスを採用するグラフィカルユーザインターフェースにおいて示される方法と同様の方法などで、オブジェクトが選択されたことを示すグラフィカルユーザインターフェースディスプレイを生成し得る。別の例として、ジェスチャー認識モジュール４１４が、ユーザが（たとえば、選択コマンドの実行に続いて、手をある位置から別の位置に移動することによって）移動コマンドを実行したと判断した場合、ユーザインターフェースモジュール４１６は、表示画像内で移動する選択されたオブジェクトを示す表示を生成し得る。
【００２６】
さらなる実施形態では、ユーザ入力ジェスチャーが、ユーザの指または手の３次元ロケーションによって判断されるか、またはそれに基づいて実行され得る。そのような実施形態では、コンピューティングデバイスは、反射検出ゾーン内のユーザの指または手の絶対または相対ロケーションを判断することが必要である。これは、飛行時間計算モジュール４１８および座標判断モジュール４２０によって達成され得る。反射検出ゾーン内の反射体のロケーションが、超音波検出器における反射超音波の到着時間に基づいて判断され得る。この飛行時間は、放出器からユーザの手までの、および手から各超音波検出器までの距離に依存することになる。コンピューティングデバイスは、各符号化された信号がブロードキャストされる時間または相対時間を知っており、その信号内に含まれる情報に基づいて反射の到着を検出することができるので、飛行時間は、符号化された信号に基づいて判断され得る。次いで、各超音波検出器からの判断された飛行時間データは、楕円三角測量方法を使用して反射体のロケーションを推定するために、座標判断モジュール４２２によって処理され得る。受信された反射超音波は、雑音の多い経路である可能性があるので、最も可能性がある到着時間を判断するためにデータのカルマンフィルタ処理が使用され得、次いで、その到着時間は楕円三角測量計算において使用され得る。反射体の座標を判断するための実施方法について、以下でより十分に説明する。
【００２７】
座標判断モジュール４２０によって判断されたユーザの手の座標が、ユーザインターフェースモジュール４１６への入力として使用され得る。たとえば、座標判断モジュール４２０によって判断されたユーザの指の先端の座標は、グラフィカルユーザインターフェースディスプレイ上でカーソルまたはポインタを配置するためにユーザインターフェースモジュール４１６によって使用され得る。このようにして、ユーザは、ユーザがコンピュータマウス、タッチパッドまたはタッチスクリーンユーザ入力デバイスを使用してカーソルおよびポインタを操作する方法と同様の方法で、ディスプレイスクリーン上でカーソルまたはポインタを操作するために、反射検出ゾーン内で指をあちこちに移動し得る。さらなる例として、座標判断モジュール４２０によって判断されたユーザの手の座標は、グラフィカルユーザインターフェースディスプレイにおいて示される選択されたオブジェクトを配置するためにユーザインターフェースモジュール４１６によって使用され得る。
【００２８】
いくつかのユーザインターフェースジェスチャーは、チャネルインパルス応答特徴(channel impulse response feature)における一致したパターンとユーザの手または指の座標との両方に基づいてジェスチャー認識モジュール４１４によって認識され得る。したがって、反射座標も座標判断モジュール４２０によってジェスチャー認識モジュール４１４に与えられ得る。次いで、ジェスチャー認識モジュール４１４は、パターン一致相関値、コンテキストまたは動作状態、および反射検出ゾーン内のユーザの手または指のロケーションに基づいて、ユーザ入力ジェスチャーを判断し得る。たとえば、動きがコンピューティングデバイスディスプレイまたはキーボードの近くで実行されるのか、それから遠く離れて実行されるのかに応じて、ユーザの手の所与の移動が異なる意味を有し得る（すなわち、異なるユーザ入力コマンドに相関される）。したがって、ユーザがディスプレイからある距離をおいて手を前後に振ることは、コンピュータを起動するためのまたはディスプレイ上でスクリーンセーバーを非アクティブにするためのコマンドに関連付けられ得、ユーザがディスプレイの近くで手を前後に振ることは、選択されたオブジェクトまたはディスプレイの一部分を消去または削除するためのコマンドに関連付けられ得る。
【００２９】
図４は、様々な実施形態プロセスおよび動作の１つの可能な編成の一例として与えたものであり、特許請求の範囲を図示の構成に限定するものではない。様々な実施形態の処理および動作は、図４に示す方法とは異なる方法で編成されるかまたは対話し得る、ハードウェア、ソフトウェア、またはハードウェアとソフトウェアの組合せで構成され得る。
【００３０】
時間的情報を持続波放出音中に符号化するために使用され得る１つの方法は、擬似ランダム雑音を生成し、スペクトル変調方式を利用することである。このようにすると、各瞬間において、埋め込まれる超音波は、（雑音のランダム性の程度に応じて）すべての他の場合とは異なり、これにより、音の波長よりも長い距離にわたって反射表面の位置、配向および形状に関する情報を符号化するために、異なる反射点から到着する反射音が使用可能になる。ある場合においてチャネル応答が劣化する、いかなる状態または干渉にも、同じランダム雑音と周波数の組合せが放出されるまで、再び遭遇する可能性は低く、そのような組合せが放出されることは、適切にランダム化する方法が使用される場合、極めてまれであることになるので、非ランダムまたはシステマティック符号化（たとえば、超音波周波数レンジにわたる連続掃引）の代わりに擬似ランダム雑音を使用することにより、システムは雑音および決定性干渉の影響を受けにくくなり得る。擬似ランダム雑音を生成するための方法は、通信技術においてよく知られており、信号中に符号化される長い擬似乱数を生成することを含む。擬似乱数は、極めて多数のビットにわたってランダムのように見えるバイナリシーケンスである。持続波超音波への擬似ランダム雑音の変調により、広い周波数レンジにわたる超音波信号が生じ得る。これは、直交周波数分割多重（ＯＦＤＭ）変調およびパルス圧縮など、スペクトル拡散変調方法を使用して擬似乱数を符号化することによって達成され得る。
【００３１】
持続波超音波内に含まれる時間的情報とともに、反射体（たとえば、ユーザの手）のロケーションおよび表面特徴に関係する情報が、受信された反射超音波から抽出され得る。しかしながら、上記のように、反射体の画像化は、多くの処理能力を必要とすることになり、ただし、ユーザ入力ジェスチャー認識を達成するのに必要ではない。代わりに、様々な実施形態は、チャネルインパルス応答を判断することと、経時的なデータの変化をメモリに記憶されたそのようなデータのパターンと比較することとによって、反射超音波において符号化された情報を分析する。
【００３２】
チャネルインパルス応答は、何らかの外部変化に応答する通信チャネルの反応を指す。様々な実施形態では、外部変化は、反射検出ゾーン内の反射体（すなわち、ユーザの手または指）の移動である。チャネルインパルス応答は、ユーザの手または指が反射検出ゾーン内で移動するときの、時間によって変わるチャネルの反応を表す。特定の放出器−手−検出器の超音波送信経路チャネルのチャネルインパルス応答は、いくつかのよく知られている方法で分析され得る。たとえば、チャネルの出力ｙ（ｔ）が、チャネルに適用されるインパルスｘ（ｔ）（すなわち、この例では、放出された超音波信号）とチャネルのインパルス応答ｈ（ｔ）との積の和としてモデル化され得る。言い換えれば、ｙ（ｔ）＝ｘ（ｔ）＊ｈ（ｔ）である。チャネル出力は、以下の式１を使用して推定され得る。
【数１】
0006030184.tif 000002
【００３３】
あるサンプリング周期にわたる信号タップ測定値を使用してこの式を解くために、式１は、コンピュータプロセッサ（たとえば、ＤＳＰ）による解を可能にするために行列フォーマットに変換され得る。時間ｎにおける既知の送信された信号パターンがｘ（ｎ）として定義される場合、Ｘ行列は、既知の送信された信号パターンである、ｘ（ｎ），ｘ（ｎ−１），．．．ｘ（ｎ−Ｎ−Ｍ）の行列として定義され得る。受信された信号を表す行列Ｙは、Ｙ＝［ｙ（ｎ）  ｙ（ｎ−１）．．．ｙ（ｎ−Ｎ−１）］’として定義され、ここで、ｙ（ｎ）は式１によって与えられる。次いで、計算されるべきチャネルインパルス応答である行列Ｈは、Ｈ＝［ｈ（０），ｈ（１），．．．ｈ（Ｍ−１）］‘として定義され得る。次いで、チャネル出力はＹ＝Ｘ＊Ｈによって定義され得、ここで、ＹはＮ×１行列であり、ＨはＭ×１行列であり、また、ＸはＮ×Ｍ行列である。したがって、チャネルインパルス応答Ｈは、Ｈ＝Ｘ-1＊Ｙによって判断され得る。実システムでは、Ｈは、音響チャネルと電子チャネルの両方の畳み込み結果である。Ｈ＝Ｈa＊Ｈeである。Ｘ＊Ｈ＝Ｘ＊Ｈa＊Ｈe＝Ｙ＋Ｎであり、ここで、Ｎは雑音であり、Ｈaは音響経路であり、また、Ｈeは電気経路である。電気チャネルを仮定すれば、音響経路は、Ｈa＝（Ｘ＊Ｈｅ）-1＊Ｙとして取得され得る。
【００３４】
一実施形態では、オーディオ帯域雑音を除去するために入力信号を前処理するために、超音波帯域における帯域フィルタが使用され得る。そうである場合、それのインパルス応答は、インパルス応答Ｈの一部である（すなわち、インパルス応答Ｈ内に含まれる）ことになる。
【００３５】
放出された超音波信号パターンＸ（ｎ）は既知であるので、行列Ｘの逆を計算するために一般化特異値分解などの多くの擬似行列反転方法が使用され得る。受信されたマイクロフォン信号における雑音の存在により、安定した解を導出するために適切な正規化測度が必要とされ得る。その結果を使用して、超音波検出器によって測定された信号からチャネルインパルス応答が計算され得る。次いで、計算されたインパルス応答Ｈは、雑音を低減するために平滑係数（smooth factor）を使用することによって平滑化され得る。上記に、チャネルインパルス応答が時間領域測定値からどのように計算され得るかを示したが、チャネルインパルス応答は周波数領域においても計算され得る。
【００３６】
インパルス応答更新レートは、行列ＸのサイズとＨの長さとによって判断され得、これらは、超音波ジェスチャー認識プロセスに関連する処理に割り振られるメモリの問題である。たとえば、Ｎ＋Ｍ＝８００である場合、毎秒２４０回（すなわち、２４０Ｈｚ）、受信された超音波信号がサンプリングされ得、チャネルインパルス応答が更新され得る。
【００３７】
図４に示すように、検出器１０２に到着する超音波信号の２つのセットと、所望の態様である信号の反射セット２０８と、放出された音２０６の直接送信とがある。直接音送信はクロストークと呼ばれ得る。コンピューティングデバイスは、反射超音波によるチャネルインパルス応答を表す差分を明らかにするために直接送信による応答の部分を削除するように総チャネルインパルス応答を処理し得る。反射超音波によるチャネルインパルス応答は、測定された超音波信号に基づいて計算された総チャネルインパルス応答から平均バックグラウンドチャネルインパルス応答（すなわち、反射検出ゾーン中に存在する反射体がないときに測定されたチャネルインパルス応答）を減算することによって判断され得る。超音波は人間の耳に聞こえないので、バックグラウンドチャネル測定値は、反射体が反射検出ゾーン内で提示されないときはいつでも、所定の間隔で測定され得る。総チャネルインパルス応答から平均バックグラウンドチャネルインパルス応答を減算することにより、「反射体チャネルインパルス応答」が生じる。したがって、Ｈr＝Ｈt−Ｈbg（以下「式２」）であり、ここで、Ｈrは反射体チャネルインパルス応答であり、Ｈtは総チャネルインパルス応答であり、また、Ｈbgはバックグラウンドチャネルインパルス応答である。行列反転によって計算されたチャネルインパルス応答は、マイクロフォンにおける雑音に敏感であり得る。反射体チャネル応答は、雑音に対してよりロバストであり得る。
【００３８】
反射体チャネルインパルス応答対時間の相対的変化を測定するために、時間によって変わる反射体チャネルインパルス応答の変化が追跡され、使用され得る。第１のサンプリング時間における反射体チャネルインパルス応答と、次のサンプリング時間における反射体チャネルインパルス応答との差分として「差分チャネルインパルス応答」が計算され得る。言い換えれば、Ｈd（ｎ）＝Ｈr（ｎ）−Ｈr（ｎ−１）（以下「式３」）であり、ここで、Ｈd（ｎ）は、時間ｎにおける差分チャネルインパルス応答である。差分チャネルインパルス応答は、ユーザが反射検出ゾーン内で手または指を移動している、動的ユーザ入力ジェスチャーを認識するために、使用され得る。分析を可能にするために、差分チャネルインパルス応答は、経時的な一連の画像としてメモリにバッファされ得る。
【００３９】
図５Ａ〜図５Ｄに、プロトタイプシステムにおいて取得された差分チャネルインパルス応答画像を処理した結果の一例を示す。図５Ａは、ユーザの手などの反射体の存在下での単一のマイクロフォンについての計算されたチャネルインパルス応答対時間の未加工の結果を示している。このプロトタイプでは、チャネルインパルス応答は、７０個の信号タップを使用して測定された。図５Ａに示す測定された総チャネルインパルス応答における特徴は、クロストークチャネルインパルス応答に混合されており、したがって、反射チャネルインパルス応答における特徴が判断され得る前に、バックグラウンドチャネルインパルス応答が減算される必要がある。図５Ｂは、反射検出ゾーン中にユーザの手がないときに同じシステムで取得された測定されたバックグラウンドチャネルインパルス応答を示している。反射体が存在しないので、チャネルインパルス応答は、予測どおりに経時的に比較的一様である。図５Ａに示す測定された総チャネルインパルス応答から図５Ｂに示すバックグラウンドチャネルインパルス応答を減算することによって、式２を使用して反射体チャネルインパルス応答が取得され得る。次いで、式３を使用して差分チャネルインパルス応答を測定することによって、図５Ｃに示すように反射体チャネルインパルス応答における傾向が明らかになり得る。図５Ｃに示すように、差分チャネルインパルス応答は、反射検出ゾーン内の反射体（すなわち、ユーザの手）の移動に関する有意な情報を含んでいる。図５Ｄは、プロトタイプにおいて測定された差分インパルス応答の別の図を示している。
【００４０】
チャネルインパルス応答データにおける認識可能な特徴を区別するための方法のうちの１つは、データにグレーレベル共分散行列分析を適用することを伴う。グレーレベル共分散行列は、エッジフィルタ処理(edge filtering)されたチャネルインパルス応答から判断され得る。グレーレベル共分散行列はよく知られている画像処理技法であり、これは、グレーレベルの異なる組合せが所与のオフセットで画像行列においてどのくらい頻繁に発生するかについての集計を伴い得る。グレーレベルは、単純なオンおよびオフから任意の数の変数に及ぶ、値のスペクトルを表し得る。たとえば、ある画像のためのグレーレベルは０から４に及び得、０が白であり、４が黒であり、また、中間の数字がグレーの濃淡を表す。グレーレベル共分散行列を形成するために、オフセットパラメータが設定され得る。このオフセットは、要素の組合せが比較のためにどのようにグループ化されることになるかを定義する。たとえば、オフセットパラメータは、各画像行列要素が右側に隣接する要素と比較されるように定義され得る。各組合せの２つの要素のグレーレベルに応じて、グレーレベル共分散行列におけるそれらの要素のうちの１つに値が追加される。グレーレベル共分散行列の各要素は、いくつかのグレーレベルが互いに組み合わせられ、比較された回数を表す値を含んでいることになる。グレーレベル共分散行列における要素の和は比較の数に等しいが、グレーレベルが画像においてクラスタリングされた場合、いくつかの要素は比較的高い値を含んでいることになる。逆に、画像のグレーレベルがうまく混合され、画像が比較的同種である場合、要素における値は一様に分散されることになる。
【００４１】
グレーレベル共分散行列は、しばしば画像に適用されるが、任意の行列内で、値のばらつきまたはグレーレベルにおいてパターンを探索するために使用され得る。バッファされた差分チャネルインパルス応答画像は、それぞれ、グレーレベル共分散行列をポピュレートするために使用され得る。これらのグレーレベル共分散行列の各々から統計的特徴が導出され得る。差分チャネルインパルス応答に対してグレースケール処理を適用することによって、信号内に含まれているパターンにおけるさらなる詳細が取得され得る。
【００４２】
差分チャネルインパルス応答内の特徴を明らかにするかまたは抽出するために、差分チャネルインパルス応答画像は、エッジフィルタを使用して処理され得る。エッジフィルタ処理は、画像内の当該のアスペクトを明らかにするかまたは抽出することと、チャネルインパルス応答データから有用な情報を取得するために必要とされる全体的な処理を低減することとを行うのに役立ち得る。いくつかのエッジフィルタ処理プロセスが使用され得る。たとえば、以下に示すように南東および北西エッジフィルタが使用され得る。
【数２】
0006030184.tif 000003
【００４３】
異なるタイプのエッジフィルタを使用することによって、反射検出ゾーン内のユーザの手の位置の変化および移動に基づいて、分析されたチャネルインパルス応答において異なるパターンが検出され得る。そのようなパターンを図６Ａ〜図７Ｃに示す。
【００４４】
図６Ａ〜図６Ｃを参照すると、プロトタイプシステムを使用して、ユーザが反射体検出ゾーン中でマイクロフォンから離れておよびそれに向かって指を移動した間、差分チャネルインパルス応答データが取得された。次いで、差分チャネルインパルス応答データは、３つのタイプのエッジフィルタで処理された。そのデータに水平エッジフィルタを適用した結果が図６Ａに示されており、図の左半分は、ユーザの指がマイクロフォンから離れて移動していたときに対応し、また、図の右半分は、ユーザの指がマイクロフォンに向かって移動していたときに対応する。図６Ｂは、同じデータに対角エッジフィルタを適用した結果を示しており、また、図６Ｃは、同じデータに最大水平および対角エッジフィルタを適用した結果を示している。
【００４５】
図７Ａ〜図７Ｃに、ユーザの手が移動するときに差分チャネルインパルス応答に適用されるエッジフィルタを使用して検出され得るパターンの一例を示す。プロトタイプシステムを使用して、ユーザが反射検出ゾーン内で手を前後に移動した間、差分チャネルインパルス応答データが取得された。差分チャネルインパルス応答データは、３つのタイプのエッジフィルタで処理された。水平エッジフィルタにより、図７Ａに示すパターンが生じ、対角エッジフィルタにより、図７Ｂに示すパターンが生じ、また、最大水平および対角エッジフィルタにより、図７Ｃに示すパターンが生じた。
【００４６】
処理したチャネルインパルス応答データにおけるパターンの完全な性質は、人間の眼で区別するのが困難であることがあるが、いくつかの明らかに認識可能なパターンが上記図から諒解され得る。そのようなパターンは、２次元バーコードがバーコードリーダーシステムによって読み取られる方法と同様の方法で処理または認識され得る。エッジフィルタ処理された経時的な差分チャネルインパルス応答の結果を処理することによって、コンピューティングデバイスは、よく知られているパターン認識アルゴリズムを使用して最も近い一致するパターンを識別するために、測定されたパターンをメモリに記憶されたパターンと比較し得る。次いで、最も近い一致するパターンは、コンピューティングデバイスのメモリに記憶されたユーザ入力ジェスチャーに相関され得る。
【００４７】
多種多様なフィルタが適用され得るが、一実施形態は、所与の分析において１つのタイプのフィルタのみを適用し得る。たとえば、水平エッジフィルタは、所定の位置で空中に浮いている指など、反射検出ゾーン内で静止したままであるユーザの手に敏感であり得、また、そのような位置から生じる認識可能なパターンを抽出するために使用するのに好適なエッジフィルタであり得る。対照的に、対角エッジフィルタは、反射検出ゾーン内でのユーザの手とセンサとの間の相対的移動に、より敏感であり得る。したがって、コンピューティングデバイスは、特定のユーザジェスチャーのための特徴の最良の抽出を行うタイプのエッジフィルタを選択するために異なるエッジフィルタを試み得、次いで、メモリに記憶されたパターンと比較されるべき特徴を抽出するために差分チャネルインパルス応答画像を処理するために、選択されたエッジフィルタを使用し続け得る。
【００４８】
抽出された特徴は、差分チャネルインパルス応答画像をクラスタリングまたは分類するために使用され得る。これを達成するために差分チャネルインパルス応答画像の統計的処理が使用され得る。実行され得る１つの方法はグレーレベル共分散行列分析である。エッジフィルタ処理された応答から計算されたグレーレベル共分散行列から周波数および空間領域特徴が抽出され得る。空間特徴は、相関関数、２次関数、逆差分行列関数（inverse difference matrix function）、または差分エントロピー関数を含み得る。そのような分析の一例を以下に与える。
【００４９】
ｇがグレーレベルとして定義される場合、ｉは、列ｉ＝１，２．．．ｇとして定義され得、また、ｊは、ｊ＝１，２．．．ｇとして定義され得る。さらに、ｐxは
【数３】
0006030184.tif 000004
【００５０】
として定義され得、また、ｐyは
【数４】
0006030184.tif 000005
【００５１】
として定義され得る。
【００５２】
ｕx＝ｍｅａｎ（ｐx）およびｕy＝ｍｅａｎ（ｐy）である場合、ならびにσx＝ｖａｒ（ｐx）およびσy＝ｖａｒ（ｐy）であり、また、ｇがグレーレベルである場合、相関関数は
【数５】
0006030184.tif 000006
【００５３】
として定義され得る。
【００５４】
２次関数は
【数６】
0006030184.tif 000007
【００５５】
として定義され得る。
【００５６】
逆差分行列関数は
【数７】
0006030184.tif 000008
【００５７】
として定義され得る。
【００５８】
Ｐx-y（ｋ）およびｋは
【数８】
0006030184.tif 000009
【００５９】
として定義され得る。
【００６０】
差分エントロピー関数は
【数９】
0006030184.tif 000010
【００６１】
として定義され得る。
【００６２】
図８Ａ〜図８Ｄに、ユーザの指がマイクロフォンから離れて移動する状況について実行された相関のシミュレーション結果を示す。図８Ａは、０度で式４を適用したことによる相関結果を示している。図８Ｂは、９０度で式４を適用したことによる相関結果を示している。図８Ｃは、４５度で式４を適用したことによる相関結果を示している。図８Ｄは、１３５度で式４を適用したことによる相関結果を示している。上記度数は、次のようにフィルタ係数の勾配変化の方向を示す。
【００６３】
０度＝［−１  ０  １；−１  １  １；−１  ０  １］
９０度＝［１  １  １；０  １  ０；−１  −１  −１］
４５度＝［０  １  １；−１  １  １；−１  −１  ０］
１３５度＝［１  １  ０；１  １  −１；０  −１  −１］
図９Ａに、ユーザの指がマイクロフォンから離れて移動する状況について実行された角度２次相関のシミュレーション結果を示す。
【００６４】
図９Ｂに、ユーザの指がマイクロフォンから離れて移動する状況について実行された逆差分行列相関のシミュレーション結果を示す。
【００６５】
図９Ｃに、ユーザの指がマイクロフォンから離れて移動する状況について実行された差分エントロピー相関のシミュレーション結果を示す。
【００６６】
さらなる実施形態では、周波数領域特徴も抽出され得る。この実施形態では、差分チャネルインパルス応答画像に２次元高速フーリエ変換（ＦＦＴ）を適用することによって電力スペクトル密度が取得され得る。電力スペクトル密度は、反射体が受信機に向かって移動するときは、より多くの低周波成分を示し、反射体が受信機から離れて移動するときは、より多くの高周波成分を示し得、したがって、ユーザ入力ジェスチャーを認識またはカテゴリー分類するために使用され得るさらなる情報を与え得る。
【００６７】
さらなる実施形態では、インパルス応答波方向を識別するためにＦＦＴ結果のリングおよびウェッジサンプリング（ring and wedge sampling）が使用され得る。リングおよびウェッジサンプリングは、反射検出ゾーンの中心から延びる一連の放射状に配列された半環状領域およびウェッジ領域にわたって行われ得る。半円形リングエリアのサンプリングは、差分チャネルインパルス応答画像における空間周波数の分布に関する配向非依存情報を与え得、角度ウェッジエリアのサンプリングは、スケール非依存情報を与え得る。
【００６８】
３Ｄ空間における最も強い反射点のロケーションを判断するために使用され得る飛行時間計算を行う際に使用するための最も強い反射点を識別するために、差分チャネルインパルス応答画像の分類が使用され得る。飛行時間は、識別された反射点について計算され得る。送信機といくつかの受信機が、同じシステムクロックに同期され、それにより、超音波送信のタイムスタンピングの必要がなくなり得る。したがって、各受信機についての飛行時間測定値は、単に、信号の送信時間と、一致した信号についての受信時間との差分であり得る。
【００６９】
３次元空間における反射点の座標を判断するために飛行時間値が使用され得る。座標は、送信機、受信機または何らかの他のロケーションにおける、原点を用いた基準系における座標であり得る。原点に対する受信機の座標は、以前から知られているかまたは判断され得る。反射点の座標は、超音波速度に基づいて３つ以上の受信機の飛行時間値を距離に変換することと、楕円交点方法においてその距離を使用することとによって判断され得る。チャネル状態は、各測定間の短い期間において大幅に変動する可能性がないので、音速は定数ａとして仮定され得るが、その定数は、変化するチャネル状態において経時的に調整される必要があり得る。以下の式が使用され得、ここで、ｘ，ｙ，ｚは反射座標であり、ｍｘ１，ｍｙ１，ｍｚ１はｍｉｃ１の座標であり、また、０，０，０は、スピーカー座標である。
【数１０】
0006030184.tif 000011
【００７０】
反射座標を判断するために使用されるべき飛行時間値は雑音が多いことがある。これに対処するために、ノイジネスを克服し、反射座標を判断するために、カルマンフィルタが使用され得る。非線形システムの場合、拡張カルマンフィルタ（ＥＫＦ）または「アンセンテッドカルマンフィルタ」が使用され得る。カルマンフィルタは、予測値と測定値とを重み付けし、組み合わせることによって、測定値と計算される推定値との真値を予測する。カルマンフィルタは、値を予測し、予測値の不確実性を推定し得る。カルマンフィルタプロセスは、より高い重みがより確実な値に行くように、不確実性に基づいて予測値に重み付けを割り当て、次いで、測定値を用いて重み付き平均を計算し得る。このようにして、雑音の多い測定値は、重み付き平均が予測値または測定値のいずれかよりも良い推定された不確実性を有するので、真値により近くなるように調整され得る。
【００７１】
図１０Ａ〜図１０Ｃに、３つのマイクロフォンをもつコンピュータデバイスの表面の約１ｃｍ上方で空中に浮いているユーザの指のシミュレーションにおいて生成されたデータのカルマンフィルタ処理の結果を示す。図１０Ａは、第１のマイクロフォンについてのシミュレーションチャネルインパルス応答対時間結果を示している。図１０Ｂは、第２のマイクロフォンについてのシミュレーションチャネルインパルス応答対時間結果を示している。図１０Ｃは、第３のマイクロフォンについてのシミュレーションチャネルインパルス応答対時間結果を示している。上記マイクロフォンは、コンピューティングデバイス上の異なるロケーションに位置するので、異なるチャネルインパルス応答を示している。
【００７２】
カルマンフィルタ処理された結果を使用して、最大チャネルインパルス応答値、インデックス、および最大信号までの距離が判断され得る。図１１Ａに、すべての３つのマイクロフォンについての、図１０Ａ〜図１０Ｃに示す処理から判断されたチャネルインパルス応答の最大振幅対時間を示す。図１１Ｂに、すべての３つのマイクロフォンについての、図１０Ａ〜図１０Ｃに示す処理から判断されたチャネルインパルス応答のインデックス値対時間を示す。図１１Ｃに、すべての３つのマイクロフォンについての、図１０Ａ〜図１０Ｃに示す処理から判断された最大インデックスにおける測定値の振幅対時間を示す。
【００７３】
ジェスチャー特徴が定義されると、分類器をトレーニングするためにトレーニングデータセット（ジェスチャー特徴）が使用され得る。分類器は、単純なＫＮＮ分類器、あるいはより複雑なＡＮＮまたはＨＭＭモデルであり得る。上記の分析方法によって抽出された特徴が、ユーザトレーニングシーケンスにおいて定義され得るような特定のユーザ入力ジェスチャーと相関され得る。チャネルインパルス応答から抽出されたパターンをメモリに記憶されたパターンと比較するために、よく知られているパターン比較または相関方法が使用され得る。この目的で使用され得る相関方法の３つの例は、ｋ最近傍(k-nearest neighbor)アルゴリズム、人工ニューラルネットワーク分析、および隠れマルコフモデル(hidden Markov model)である。人工ニューラルネットワークまたは隠れマルコフモデルは、学習段階において前にトレーニングされていることがある。これらの３つの例示的な相関方法について以下でより詳細に説明するが、他の相関方法も同様にして使用され得る。
【００７４】
ｋ最近傍アルゴリズムは、ある数、すなわちｋ個の最も近いネイバーの多数決によってオブジェクトを分類する。ネイバーが、すでに正しく分類されたオブジェクトのセットから取り出され、この場合、これは差分チャネルインパルス応答画像から抽出されたパターンである。どの分類されたオブジェクトまたはネイバーが最も近いかを定義するルールが設定される。たとえば、一定の特徴または座標の変化が、ネイバーであり、前もって一定のジェスチャーに分類されるかまたはそれらと相関され得る。分類されるべき、差分チャネルインパルス応答画像から抽出されたパターンが、一定のネイバーに近い値で抽出された特徴を有し得る。選択されたパラメータｋに応じて、いくつかのネイバーが比較され得る。ｋが５に等しい場合、最も近い特徴値をもつ５つの近傍パターンは、差分チャネルインパルス応答画像から抽出されたパターンが何として分類されるかを判断し得る。５つのネイバーの大部分が一定のジェスチャーと相関される場合、差分チャネルインパルス応答画像から抽出されたパターンは、上記大部分と同じジェスチャーと相関され得る。そのような比較アルゴリズムを使用して、近さまたは他の１つまたは複数の性質によって、ネイバーの票を重み付けすることが可能である。
【００７５】
人工ニューラルネットワークは、学習段階中にネットワーク中を流れる情報に基づいて構造を変更し得る人工ニューロンの相互接続されたグループとして機能するオブジェクトの計算を使用する比較方法である。ニューラルネットワーク中の接続は、強度または重み付けにおいて異なり得る。各人工ニューロンは単純な処理ノードまたは機能であり得るが、全体としてのネットワークは複雑な挙動を示し得る。人工ニューラルネットワークは、あらかじめ定義されたコスト関数に従って最適が測定されるタスクに対して最適解を見つけるために観測値のセットを使用することによって学習し得る。たとえば、学習段階中に、ユーザは、いくつかの観測値が取得され得るように、特定のユーザ入力ジェスチャーを何回か実行するように依頼され得る。差分チャネルインパルス応答画像から抽出された観測値またはパターンが、ニューラルネットワークに供給され、様々なノードおよび接続を通って、解が生成され得る。ニューラルネットワークによって生成された解は、コスト関数に従ってランク付けされ得る。このランク付けに基づいて、接続の重み付けが調整され得る。適切にトレーニングされると、ニューラルネットワークの重み付け値は固定され得る。ニューラルネットワークは、差分チャネルインパルス応答画像から抽出されたパターンを比較して、それらのパターンをトレーニングセッションから学習することによって、ジェスチャーのパターン認識または分類のために使用され得る。解は、いくつかのユーザ入力ジェスチャーに類似し得る。特徴または座標の変化が、前にトレーニングされたニューラルネットワークのための入力として働き得、その場合、そのニューラルネットワークは、ニューラルネットワーク構造に基づいて、その入力を解またはジェスチャーと接続することになる。ニューラルネットワークは、学習段階において既知のジェスチャーまたは特徴を用いて前にトレーニングされていることがある。
【００７６】
隠れマルコフモデルは、モデル化されているシステムが、状態は未知であるが、状態に依存するトークンは既知である、マルコフ過程であると仮定する。マルコフ過程は、状態が経時的に変動する過程であって、将来の状態が、現在の状態のみに依存し、前の状態には依存しない、過程である。あり得る各状態は、あり得るトークンにわたる確率分布と、どの状態が次に来ることになるかに関する確率分布とを有する。したがって、それらのトークンは、この過程における状態のシーケンスに関する何らかの情報を与える。ジェスチャー認識では、状態は、ユーザ入力ジェスチャーに関連する類似する特徴であり得、また、トークンは、差分チャネルインパルス応答画像から抽出されたパターンと類似し得る。トークンにわたる、状態間の確率分布は、あらかじめ定義されたパラメータであるか、または学習段階において設定されることがある。学習段階においてモデルのパラメータ値をトレーニングし、展開するために、既知のジェスチャーまたは特徴の差分チャネルインパルス応答画像から抽出されたパターンが入力され得る。ビタビアルゴリズムなどによって、トレーニングされた隠れマルコフモデルから、状態またはジェスチャーの最も可能性のあるシーケンスが再帰的に判断され得る。
【００７７】
さらなる実施形態では、反射体の移動方向を識別することなど、単純なジェスチャー認識タスクが、インパルス応答曲線から直接導出された角度特徴を使用して達成され得る。図１２Ａ〜図１６Ｃに、異なる反射体移動についてのインパルス応答パターンと、それらの対応する応答曲線角度情報が、どのように認識され得るかを示す。
【００７８】
３つのマイクロフォンに向かって移動する指の存在下でのプロトタイプにおけるそれらのマイクロフォンの各々についてのインパルス応答判断のグラフを図１２Ａ〜図１２Ｃに示す。これらの図は、対角エッジフィルタで処理した後の未加工インパルス応答判断を示している。これらの図でわかるように、マイクロフォンに向かうユーザの指の動きにより、サンプルフレームインデックスに示すように、時間によって変わるインパルス応答判断において角度が知覚でき得る。
【００７９】
未加工インパルス応答判断は現実の認識可能な特徴を用いて行われるが、そのような特徴は、ブロックチャネルインパルス応答上で低域フィルタを使用して信号を処理することによって強調され得る。値１の５×５行列の形態の低域フィルタの一例は以下の通りである。
【数１１】
0006030184.tif 000012
【００８０】
ループ低域フィルタで処理した後の、３つのマイクロフォンに向かって移動する指の存在下でのプロトタイプにおけるそれらのマイクロフォンの各々についてのインパルス応答判断のグラフを図１３Ａ〜図１３Ｃに示す。これらの図は、インパルス応答に低域フィルタを適用することにより、インパルス応答の角度を判断するために使用され得るより明確なパターンが与えられることを明らかにしている。
【００８１】
インパルス応答におけるパターンの角度が容易に判断され得るので、この角度は特定の移動にリンクされ得る認識可能な特徴として使用され得る。たとえば、９０度よりも小さい角度は、反射体（たとえば、ユーザの手または指）がマイクロフォンに近づいていることを意味し得、９０度から１８０度の間の角度は、反射体がマイクロフォンから遠ざかっていることを意味し得る。その場合、そのようなユーザ移動は、単純なテーブルルックアップ方法を使用して特定のユーザインターフェースコマンド（たとえば、マウスポインタ移動）に相関され得る。
【００８２】
図１４に、インパルス応答の角度を判断することに基づいて反射検出ゾーン内のユーザの手から反射される超音波からユーザ入力ジェスチャーを認識するためにコンピューティングデバイスにおいて実行され得る実施方法４５０を示す。方法４５０では、ステップ４５２において、プロセッサが、擬似ランダム雑音または擬似乱数コード、あるいは他の時間符号化情報を生成し、ステップ４５４において、パルス圧縮とともにスペクトル拡散変調において、その情報を符号化し得る。次いで、ステップ４５６において、この符号化された信号を超音波放出器から持続波超音波として放出する。ステップ４５８において、反射およびクロストーク信号を含む、超音波を超音波検出器において受信する。ステップ４６０において、プロセッサ（たとえば、ＤＳＰ）が、受信した超音波信号に基づいてチャネルインパルス応答を計算し得る。ステップ４６０の一部として、プロセッサは、上記で説明した方法を使用して、反射チャネルインパルス応答を取得するためにベースラインチャネルインパルス応答を減算し得る。ステップ４６２において、コンピューティングデバイスプロセッサは、上記で説明した計算方法を使用して、経時的な差分チャネルインパルス応答を計算し、一連のそれらの値を差分チャネルインパルス応答画像として維持し得る。また、ステップ４６２の一部として、コンピューティングデバイスプロセッサは、計算された差分インパルス応答にエッジフィルタ、低域フィルタおよびしきい値処理演算を適用し得る。ステップ４６４において、プロセッサは、様々なフィルタ処理角度をもつ矩形フィルタを選択し得る。ステップ４６６において、プロセッサは、矩形フィルタ全体をカバーすることができる一定数のサンプルフレームを含んでいるチャネルインパルス応答の領域を選択し得る。ステップ４６８において、プロセッサは、その領域内でフィルタを移動しながら、フィルタ内のすべての点の合計の最大値を計算するためにフィルタ内の点を合計し得る。ステップ４７０において、プロセッサは、選択された矩形フィルタの各角度についてステップ４６６および４６８を繰り返し得る。フィルタの角度のすべてが処理されると、ステップ４７２において、プロセッサは、全インパルス応答行列にわたって領域が選択された後に、各フレームについてインパルス応答曲線の角度を判断し得る。ステップ４７４において、プロセッサは、インパルス応答曲線の判断された角度に対応するユーザ入力コマンドを実行する。ステップ４７４の一部として、コンピューティングデバイスは、他のユーザインターフェースシステムと同様の方法で、実行されたユーザ入力コマンドに対応するユーザインターフェース画像を表示し得る。
【００８３】
ステップ４７２においてインパルス応答曲線の角度を判断することは、以下の式を利用し得る。
【数１２】
0006030184.tif 000013
【００８４】
上式で、ｐ（ｎ，ｔ）は、図１３Ａ〜図１３Ｃのうちのいずれかの中の点（ｎ，ｔ）におけるインパルス応答の振幅であり、また、（ｔ０，ｔｍａｘ，Ｍ）は矩形フィルタのサイズである。その場合、角度は、Ｒｅｃｔiの最大引数として判断され得る。言い換えれば、角度＝ａｒｇｍａｘ（Ｒｅｃｔi）であり、ここで、ｉ＝１：Ｎである。Ｎは、等しく分割された角度の数であり、また、各角度の増分ステップはπ／Ｎである。
【００８５】
これらの方法を使用してユーザ入力ジェスチャーを認識するプロセスの一部として、図１５Ａ〜図１５Ｃに示すように、インパルス応答曲線の角度が経時的にプロットされ得る。これらの図は、ユーザの指がシステムの３つのマイクロフォンに向かって移動している場合の、サンプルフレームインデックスによって変わる、度数でのインパルスパターンの検出された角度の変化を示している。
【００８６】
すべての３つのマイクロフォンからのインパルス応答曲線の導出された角度により、３Ｄ空間における反射体移動方向を一意に判断することができる。図１５Ａ〜図１５Ｃに示すように、３つのマイクロフォンがコンピューティングデバイス上でまたはそれの近傍で異なるロケーションに位置するとき、経時的な角度の変化は、それらのマイクロフォンの各々について異なることになる。反射体が、２つのマイクロフォンを結ぶ線に対して平行に移動しているとき、反射体移動の方向を判断するために、それらの２つのマイクロフォンが使用され得る。
【００８７】
この方法は、図１６Ａ〜図１７Ｃに示すように、システムマイクロフォンに向かっておよびそれから離れて移動するユーザの指など、より複雑なユーザ入力ジェスチャーを認識するために使用され得る。たとえば、図１６Ａ〜図１６Ｃは、ループ低域フィルタで処理した後の、３つのマイクロフォンに向かって、次いでそれらから離れて移動する指の存在下でのプロトタイプにおけるそれらのマイクロフォンの各々についてのインパルス応答判断をグラフで示している。これらの図は、ユーザの指が、マイクロフォンに向かって移動し、次いでそれから離れて移動し、次いでそれに向かって移動するにつれて、インパルス応答曲線の角度が、どのように第１の値から第２の値に変化し、次いで元どおりになるかを明らかにしている。図１７Ａ〜図１７Ｃは、システムにおける３つのマイクロフォンの各々についての、図１６Ａ〜図１６Ｃに示すインパルス応答曲線についてのインパルス応答曲線の角度をグラフで示している。
【００８８】
実施分析方法では、反射体を画像化することがジェスチャー認識のために必要でないので、受信された超音波を復調する必要を回避しながらジェスチャー認識が可能になる。超音波は、送信機からの情報のキャリアとしてではなく、むしろ反射体（すなわち、ユーザの手）に関する情報のコレクタとして働き、その情報は、反射検出ゾーン内のいずれかの反射表面による影響を受けるチャネルインパルス応答の形態で抽出される。チャネル応答のパターンおよび特徴に依拠することによって、実施方法は、ユーザの手などの反射表面の画像を解像または形成するデータ集約的プロセスを回避する。代わりに、ジェスチャー認識は、反射データをマッピングする必要なしに、またはチャネルが何であるかを判断する必要なしに、チャネルインパルス応答の変化に依拠することによって、達成される。
【００８９】
図１８に、反射検出ゾーン内のユーザの手から反射される超音波からユーザ入力ジェスチャーを認識するためにコンピューティングデバイスにおいて実行され得る実施方法５００を示す。方法５００では、ステップ５０２において、プロセッサが、擬似ランダム雑音または擬似乱数コード、あるいは他の時間符号化情報を生成し、ステップ５０４において、パルス圧縮とともにスペクトル拡散変調において、その情報を符号化し得る。次いで、ステップ５０６において、この符号化された信号を超音波放出器から持続波超音波として放出する。ステップ５０８において、反射およびクロストーク信号を含む、超音波を超音波検出器において受信する。ステップ５１０において、プロセッサ（たとえば、ＤＳＰ）が、受信した超音波信号に基づいてチャネルインパルス応答を計算し得る。ステップ５１０の一部として、プロセッサは、上記で説明した方法を使用して、反射チャネルインパルス応答を取得するためにベースラインチャネルインパルス応答を減算し得る。ステップ５１２において、コンピューティングデバイスプロセッサは、上記で説明した計算方法を使用して、経時的な差分チャネルインパルス応答を計算し、一連のそれらの値を差分チャネルインパルス応答画像として維持し得る。ステップ５１４において、プロセッサは、認識可能な特徴を強調するために差分チャネルインパルス応答画像にエッジフィルタを適用し得る。ステップ５１６において、プロセッサは、エッジフィルタ処理された差分チャネルインパルス応答画像から認識可能な特徴を抽出するためにグレーレベル共分散行列を計算し得る。ステップ５１８において、プロセッサは、一致する記録を識別するために、エッジフィルタ処理された差分チャネルインパルス応答画像から抽出された特徴を、ユーザジェスチャーに関連するデータベースに記憶されたパターンと比較し得る。上記で説明したように、ステップ５１８は、コンピューティングデバイスにおける我々の現在の動作状態またはアプリケーション、あるいは他の状態関係の考慮事項に関係する、ジェスチャーのパターンを比較することを伴い得る。ステップ５１８における処理は、ｋ最近傍、人工ニューラルネット、および隠れマルコフモデルなど、相関方法を使用し得る。ステップ５１８の結果は、一致したジェスチャーパターンに関連する識別されたユーザ入力コマンドであり得る。ステップ５２０において、コンピューティングデバイスは、一致したパターンに関連する識別されたユーザコマンドを実行し得る。ステップ５２０の一部として、コンピューティングデバイスは、他のユーザインターフェースシステムと同様の方法で、認識されたジェスチャーに対応するユーザインターフェース画像を表示し得る。
【００９０】
図１８に示すプロセスは、ユーザが特定のジェスチャーを実行するように促され得ることと、ステップ５１８において抽出された特徴を比較する代わりに、プロセッサが抽出された特徴をデータベースに記憶し得ることとを除いて、トレーニングシーケンスにおいても使用され得る。
【００９１】
図１９に、反射物体を識別し、その物体の動きを認識するために、方法５００の特徴抽出および相関ステップが使用され得る、代替実施方法６００を示す。方法５００の場合のように、ステップ５０２〜５０６において、時間的に符号化された超音波信号を生成し、放出し得る。ステップ５０８〜５１２において、差分チャネルインパルス応答画像を取得するために、超音波信号とユーザの手からの反射とを受信し、処理し得る。ステップ５１４〜５１６において、認識可能な特徴を抽出するために、差分チャネルインパルス応答画像を、エッジフィルタ処理し、グレーレベル共分散行列を用いて分析し得る。
【００９２】
方法５００とは異なり、方法６００では、ステップ６１８において、抽出された特徴を使用して、飛行時間計算のための当該の反射点を識別し得る。抽出された特徴に基づく当該の点の選択は、ステップ５１６において使用されるのと同じ相関方法に依拠し得る。これらの方法は、抽出された特徴を相関させ、強い１次または２次反射体を示すために、使用され得る。強い反射の適切なグルーピングに伴って、１次反射体は、主要な反射体として区別され、識別され得る。ステップ６２０において、識別された主要な反射点から反射される信号の送信と受信とからの時間差を計算することによって、飛行時間値を判断し得る。ステップ６２２において、飛行時間値におけるノイジネスを克服するために、カルマンフィルタ処理を含む、上記で説明したのと同じ方法および式を用いて、識別された反射点の座標を計算し得る。ステップ６２４において、識別された反射点の座標を経時的に追跡し、ステップ６２４において、座標の変化を計算し、（場合によっては）ユーザ入力ジェスチャーと相関させ得る。ステップ６２６において、コンピューティングデバイスは、一致したパターンに関連する識別されたユーザコマンドを実行する。ステップ６２６の一部として、コンピューティングデバイスは、他のユーザインターフェースシステムと同様の方法で、ステップ６２０〜６２２において判断された３Ｄ空間内の認識されたジェスチャーのロケーションを含む、認識されたジェスチャーに対応するユーザインターフェース画像を表示し得る。
【００９３】
図１９に示すプロセスは、ユーザが特定のジェスチャーを実行するように促され得ることと、ステップ６２４において抽出された特徴を比較する代わりに、プロセッサが抽出された特徴をデータベースに記憶し得ることとを除いて、トレーニングシーケンスにおいても使用され得る。
【００９４】
超音波放出器１０１と、マイクロフォン１０２ａ、１０２ｂ、および１０２ｃとについての例示的な位置を含む、様々な実施形態とともに使用するのに好適なラップトップコンピュータ７００の形態の例示的なコンピューティングシステムを図２０に示す。多くのラップトップコンピュータは、コンピュータのポインティングデバイスとして働くタッチパッドタッチ面を含む。ラップトップコンピュータ７００は、一般に、揮発性メモリ７０２と、ディスクドライブ７０３などの大容量不揮発性メモリとに結合されたプロセッサ７０１を含むものである。コンピュータ７００は、プロセッサ７０１に結合されたフロッピー（登録商標）ディスクドライブ７０４とコンパクトディスク（ＣＤ）ドライブ７０５とをも含み得る。コンピュータデバイス７００は、ＵＳＢまたはＦｉｒｅＷｉｒｅ（登録商標）コネクタソケットなど、データ接続を確立することまたは外部メモリデバイスを受けることを行うための、プロセッサ７０１に結合されたいくつかのコネクタポート、あるいはプロセッサ７０１をネットワークに結合するための他のネットワーク接続回路７０６をも含み得る。ノートブック構成では、コンピュータハウジングは、プロセッサ７０１にすべて結合された、タッチパッド７０７と、キーボード７０８と、ディスプレイ７０９とを含む。
【００９５】
超音波送信機１０１および受信機／マイクロフォン１０２ａ〜１０２ｃは、飛行時間差に基づく３Ｄ座標計算を可能にするように選択された、システムハウジング上のロケーションにおいて、ラップトップコンピュータ７００と一体化され得る。いくつかの実施形態では、超音波送信機１０１および受信機／マイクロフォン１０２ａ〜１０２ｃは、他のオーディオ機能のためのコンピューティングデバイススピーカーおよびマイクロフォンとしても働き得る。実施システムまたは実施方法によって判断されたジェスチャーは、コンピュータ７００のための入力として働き得、コンピュータ７００上のプログラムを制御すること、またはグラフィカルユーザインターフェースと対話することを行うために使用され得る。様々な実施形態では、超音波タッチレス感知能力は、タッチパッド７０７またはキーボード７０８を増強するか、またはそれに取って代わり得る。
【００９６】
また、セルフォンまたはＰＤＡなどのモバイルデバイスが、様々な実施形態を使用するように構成され得る。様々な実施形態とともに使用するのに好適な典型的なモバイルデバイス８００が、図２１に示す構成要素を含み得る。たとえば、例示的なモバイル受信機デバイス８００は、内部メモリ８０２とディスプレイ８０３とスピーカー８０９とに結合されたプロセッサ８０１を含み得る。さらに、モバイルデバイス８００は、電磁放射を送信および受信するためのアンテナ８０４を有し得、アンテナ８０４は、プロセッサ８０１に結合されたワイヤレスデータリンクおよび／またはセルラー電話トランシーバ８０５、ならびに／あるいはプロセッサ８０１に結合されたモバイルマルチメディアブロードキャスト受信機８０８に接続される。モバイルデバイスは、一般に、ユーザ入力を受け取るためのキーパッド８０６または小型キーボードおよびメニュー選択ボタンまたはロッカースイッチ８０７をも含む。これらの入力に加えて、モバイルデバイス８００は、タッチレスユーザインターフェースのための実施形態を用いて増強され得る。モバイルデバイス８００は、超音波を放出するためにスピーカー８０４を使用するか、または超音波送信機１０１などの別個の超音波放出器を組み込み得る。モバイルデバイスは、１つまたは複数の受信機／マイクロフォン１０２ａ〜１０２ｃを通して、反射または他のモバイルデバイスなどから、超音波を受信し得る。
【００９７】
プロセッサ７０１、８０１は、本明細書で説明する様々な実施形態の機能を含む、様々な機能を実行するようにソフトウェア命令（アプリケーション）によって構成され得る任意のプログラマブルマイクロプロセッサ、マイクロコンピュータあるいは１つまたは複数の多重プロセッサチップであり得る。一部のモバイルデバイスでは、別個のプロセッサ３０４など、１つのプロセッサをワイヤレス通信機能専用とし、１つのプロセッサを他のアプリケーションの実行専用とするなど、複数のプロセッサ７０１、８０１を設け得る。一般に、ソフトウェアアプリケーションは、アクセスされ、プロセッサ８０１にロードされる前に、内部メモリ７０２、８０２に記憶され得る。一部のモバイルデバイスでは、プロセッサ７０１、８０１は、アプリケーションソフトウェア命令を記憶するのに十分な内部メモリを含み得る。本明細書では、メモリへの一般的言及は、内部メモリ７０２、７０３、７０４、８０２と、デバイスに接続されるリムーバブルメモリと、プロセッサ７０１、８０１自体の内部のメモリとを含む、プロセッサ７０１、８０１によってアクセス可能なすべてのメモリを指す。
【００９８】
さらなる実施形態は、一緒に動作する超音波放出要素と超音波受信要素とで構成された複数のデバイスを伴い得る。図２２に示す例示的なシステム９００に示すように、２つのモバイルデバイス８００ａ、８００ｂが持続波超音波を介して対話し得る。デバイス８００ａ、８００ｂは、空間において互いの近くに位置し得る。各デバイスは、それ自体の放出器１０１および受信機１０２を含み得るが、デバイス８００ａ、８００ｂは、一方のデバイス８００ａは、デバイスの放出器１０１がアクティブであり持続波超音波２０６を放出する、送信モードで動作し、他方のデバイス８００ｂは、デバイスの受信機１０２ａ、１０２ｂ、および１０２ｃを介して持続波超音波２０６を受信する、受信モードにあるように、構成され得る。様々な実施形態に従って持続波超音波２０６を受信し、処理することによって、受信モードデバイス８００ｂは、放出デバイス８００ａまでの距離および放出デバイス８００ａへの方向を判断することができる。
【００９９】
実施形態は、放出器デバイス８００ａと受信機デバイス８００ｂとの間の相対座標、または放出器デバイス８００ａから受信機デバイス８００ｂまでの距離を判断するための方法をさらに含む。送信モードで動作するモバイルデバイス８００ａ上に実行され得る実施方法１０００を図２３Ａに示す。方法１０００では、ステップ１００２において、２つのデバイスは、通信して、役割を調整し、タイミングとコーディングとに関する情報を共有し得る。この通信は、Ｂｌｕｅｔｏｏｔｈ（登録商標）、ＷｉＦｉ（登録商標）、または任意の他の形態のワイヤレスデータ接続など、ワイヤレス通信リンクを介して行われ得る。それらのデバイスは、どちらのデバイスが送信デバイス（すなわち、超音波を送信することになるデバイス）であることになるか、およびどちらのデバイスが受信デバイスであることになるか（すなわち、超音波を受信し、処理することになるか）を判断するために調整し、それにより、デバイス間の干渉を防ぎ得る。それらのデバイスはまた、送信デバイスが送信し始めることになる超音波送信フレームのタイミングに関するデータ、ならびに送信されるべきコードに関するデータを共有し得る。この調整が行われると、送信デバイスは、前に説明した実施形態と同様に、ステップ５０２において、擬似ランダム雑音コード掃引（pseudorandom noise code sweep）を生成し、ステップ５０４において、スペクトル拡散変調およびパルス圧縮を適用し、ステップ５０６において、コードを持続波超音波として送信し得る。
【０１００】
受信モードで動作するモバイルデバイス８００ｂ上に実行され得る実施方法１０２０を図２３Ｂに示す。方法１０２０では、ステップ１００２において、デバイスは、上記で説明したように、送信／受信役割と、タイミングおよび符号化フォーマットとを調整し得る。次いで、ステップ１００４において、受信デバイスは、送信デバイスから空中を通って進む持続波超音波を受信し得る。超音波送信を受信するために、受信デバイスは、一定の範囲内にある必要があり得る。ステップ１００６において、受信デバイスは、各受信機において受信された超音波信号を、ステップ１００２において交換されたタイミングおよびコード情報に基づいて受信機デバイスプロセッサによって再生され得るような送信信号と相関させ得る。前の実施形態とは異なり、受信機１０２と放出器１０１は、同じクロックに接続された同じデバイスの一部ではないので、タイミングに関する情報とコード情報は必要である。相関する信号を使用して、受信デバイスは、ステップ１００８において、送信信号が各受信機に到達するための飛行時間を計算し得、ステップ１０１０において、カルマンフィルタとともに飛行時間値を使用して、座標を判断し得る。飛行時間計算およびカルマンフィルタ処理プロセスは、受信デバイスが反射表面の代わりに送信デバイスの相対座標を判断していることを除いて、他の実施形態に関して上記で説明した方法と同様の方法で実行され得る。デバイス間の相対座標が判断されると、これらの座標は距離または角度方向に数学的に変換され得る。たとえば、２つのデバイス間の距離を判断するために以下の式が使用され得る。
【数１３】
0006030184.tif 000014
【０１０１】
この計算では、ｄ２−ｄ１の値は、以下から判断され得る。
【数１４】
0006030184.tif 000015
【０１０２】
上式で、
【数１５】
0006030184.tif 000016
【０１０３】
であり、また、
【数１６】
0006030184.tif 000017
【０１０４】
は、２つのマイクロフォンからの周波数領域信号であり、また、ΨMLは重み係数である。一般化相互相関（ＧＣＣ：generalized cross correlation）の場合、ΨML（ｆ）＝１である。
【０１０５】
座標、方向、または距離が判断されると、そのような情報は多くの異なるタスクのために使用され得る。たとえば、ユーザは、ファイル共有向けの正しいデバイスを、送信デバイスに対するそれの相対座標または方向に基づいて選択することができる。ファイル転送のために異なる接続が使用されることになるが、ユーザが知らないことがあるアドレスまたは特殊名に依拠するのではなく、超音波信号を処理することにより判断された座標または方向を使用して、ファイルの宛先または発信元を選択し得る。たとえば、ユーザが、そのようなデバイスを使用する数人の人々とともにある部屋の中にいる場合、ユーザは、ただ周りを見回すことによって、異なるデバイスを区別することができる。ユーザは、デバイスグラフィカルユーザインターフェースを介して、予定受信者と一致する座標または方向のデバイスを選択することによって、左側に立っている友人にファイルを送り、それにより、ファイルを他人に誤って送ることを回避することができる。別の例として、ユーザは、オーディオプレーヤからステレオに曲を転送することを希望することがある。そのステレオが、同様のタッチレスインターフェースをもつ他の機器でいっぱいの部屋の中にある場合、ユーザは、電子レンジまたは食器洗い機ではなく、そのステレオを選ぶために、そのような超音波追跡システムから判断された相対座標または方向に頼ることができる。
【０１０６】
図２２Ａおよび図２２Ｂ中の例示的な方法は、２つ以上のデバイスが様々な実施形態を使用して対話し得る方法のうちのただ１つを示している。別の例として、それらのデバイスは、ユーザの手に代わるデバイスを用いて、前の実施形態において説明した方法と同様の方法で使用され得る。受信デバイスは、送信デバイスの移動を追跡するか、あるいは送信デバイスの移動の特徴またはパターンを抽出し得、これは、様々なコマンドまたは他の通信と相関され得る。
【０１０７】
上記の方法の説明およびプロセスフロー図は、単に説明のための例として提供したものであり、様々な実施形態のステップが提示された順序で実行されなければならないことを要求または暗示するものではない。当業者なら諒解するように、上記の実施形態におけるステップの順序は、どんな順序でも実行され得る。「その後」、「次いで」、「次に」などの単語は、ステップの順序を限定するものではなく、これらの単語は、単に、読者に方法の説明を案内するために使用される。さらに、たとえば、冠詞「ａ」、「ａｎ」または「ｔｈｅ」を使用する単数形の請求項要素への言及は、その要素を単数形に限定するものと解釈すべきではない。
【０１０８】
本明細書で開示する態様に関して説明した様々な例示的な論理ブロック、モジュール、回路、およびアルゴリズムステップは、電子ハードウェア、コンピュータソフトウェア、または両方の組合せとして実行され得る。ハードウェアとソフトウェアのこの互換性を明確に示すために、様々な例示的な構成要素、ブロック、モジュール、回路、およびステップについて、上記では概してそれらの機能に関して説明した。そのような機能をハードウェアとして実行するか、ソフトウェアとして実行するかは、特定の適用例および全体的なシステムに課せられた設計制約に依存する。当業者は、説明した機能を特定の適用例ごとに様々な方法で実行し得るが、そのような実行の決定は、本発明の範囲からの逸脱を生じるものと解釈すべきではない。
【０１０９】
本明細書で開示する態様に関して説明した様々な例示的な論理、論理ブロック、モジュール、および回路を実行するために使用されるハードウェアは、汎用プロセッサ、デジタル信号プロセッサ（ＤＳＰ）、特定用途向け集積回路（ＡＳＩＣ）、フィールドプログラマブルゲートアレイ（ＦＰＧＡ）または他のプログラマブル論理デバイス、個別ゲートまたはトランジスタ論理、個別ハードウェア構成要素、あるいは本明細書で説明した機能を実行するように設計されたそれらの任意の組合せを用いて実行または実行され得る。汎用プロセッサはマイクロプロセッサであり得るが、代替として、プロセッサは任意の従来のプロセッサ、コントローラ、マイクロコントローラ、または状態機械であり得る。プロセッサはまた、コンピューティングデバイスの組合せ、たとえば、ＤＳＰとマイクロプロセッサとの組合せ、複数のマイクロプロセッサ、ＤＳＰコアと連携する１つまたは複数のマイクロプロセッサ、あるいは任意の他のそのような構成として実行され得る。代替的に、いくつかのステップまたは方法は、所与の機能に固有の回路によって実行され得る。
【０１１０】
１つまたは複数の例示的な態様では、説明する機能は、ハードウェア、ソフトウェア、ファームウェア、またはそれらの任意の組合せで実行され得る。ソフトウェアで実行される場合、機能は、１つまたは複数の命令またはコードとしてコンピュータ可読媒体上に記憶されるか、あるいはコンピュータ可読媒体を介して送信され得る。本明細書で開示する方法またはアルゴリズムのステップは、有形の非一時的コンピュータ可読媒体またはプロセッサ可読媒体上に常駐し得る、実行されるプロセッサ実行可能ソフトウェアモジュールで実施され得る。非一時的コンピュータ可読およびプロセッサ可読媒体は、コンピュータまたはプロセッサによってアクセスされ得る任意の利用可能な媒体であり得る。限定ではなく、例として、そのような非一時的コンピュータ可読媒体は、ＲＡＭ、ＲＯＭ、ＥＥＰＲＯＭ（登録商標）、ＣＤ−ＲＯＭまたは他の光ディスクストレージ、磁気ディスクストレージまたは他の磁気ストレージデバイス、あるいは命令またはデータ構造の形態で所望のプログラムコードを搬送または記憶するために使用され得、コンピュータによってアクセスされ得る、任意の他の媒体を備え得る。本明細書で使用するディスク（disk）およびディスク（disc）は、コンパクトディスク（disc）（ＣＤ）、レーザディスク（登録商標）（disc）、光ディスク（disc）、デジタル多用途ディスク（disc）（ＤＶＤ）、フロッピーディスク（disk）、およびブルーレイ（登録商標）ディスク（disc）を含み、ディスク（disk）は、通常、データを磁気的に再生し、ディスク（disc）は、データをレーザで光学的に再生する。上記の組合せもコンピュータ可読媒体の範囲内に含めるべきである。さらに、方法またはアルゴリズムの動作は、コンピュータプログラム製品に組み込まれ得る、非一時的プロセッサ可読媒体および／またはコンピュータ可読媒体上のコードおよび／または命令の１つまたは任意の組合せ、あるいはそのセットとして常駐し得る。
【０１１１】
開示する態様の上記の説明は、当業者が本発明を製作または使用できるように与えたものである。これらの態様への様々な修正は当業者にはすぐに明らかになり、本明細書で定義した一般原理は本発明の範囲から逸脱することなく他の態様に適用され得る。したがって、本発明は、本明細書に示す態様に限定されるものではなく、本明細書で開示する原理および新規の特徴に一致する最も広い範囲を与えられるべきである。
以下に、本願出願の当初の特許請求の範囲に記載された発明を付記する。
［１］ユーザ入力ジェスチャーを認識するための方法であって、
音検出器において、時間的に符号化された超音波信号を受信することと、
前記受信した信号に基づいてチャネルインパルス応答を計算することと、
特徴を抽出するために前記チャネルインパルス応答を処理することと、
一致する記憶された特徴を識別するために、前記抽出された特徴をチャネルインパルス応答特徴のデータベースと比較することと、
前記一致した記憶された特徴に関連するコマンドを実行することと
を備える、方法。
［２］超音波放出器から時間的に符号化された持続波音信号を送信することをさらに備える、［１］に記載の方法。
［３］音が超音波である、［１］に記載の方法。
［４］音が、擬似ランダム雑音で時間的に符号化される、［２］に記載の方法。
［５］音が、変化する周波数で時間的に符号化される、［２］に記載の方法。
［６］音が、スペクトル拡散変調を使用して時間的に符号化される、［２］に記載の方法。
［７］音検出器において音信号を受信することが、コンピューティングデバイス上の離間した３つの音検出器において音信号を受信することを備える、［１］に記載の方法。
［８］特徴を抽出するために前記チャネルインパルス応答を処理することが、反射体チャネルインパルス応答を取得するためにバックグラウンドチャネルインパルス応答を減算することを備える、［１］に記載の方法。
［９］特徴を抽出するために前記チャネルインパルス応答を処理することが、差分チャネルインパルス応答を計算することと、差分チャネルインパルス応答のシーケンスを画像として処理することとをさらに備える、［８］に記載の方法。
［１０］特徴を抽出するために前記チャネルインパルス応答を処理することが、前記差分チャネルインパルス応答画像にエッジフィルタを適用することをさらに備える、［９］に記載の方法。
［１１］特徴を抽出するために前記チャネルインパルス応答を処理することが、前記差分チャネルインパルス応答画像にグレースケール相関行列を適用することをさらに備える、［９］に記載の方法。
［１２］前記抽出された特徴を前記チャネルインパルス応答特徴のデータベースと比較することが、ｋ最近傍分析と、人工ニューラルネット分析と、隠れマルコフモデル分析とからなるグループから選択された方法を使用して分析を実行することを備える、［９］に記載の方法。
［１３］前記チャネルインパルス応答特徴に基づいて最も強い反射体を識別することと、
前記識別された最も強い反射体からの音の飛行時間を測定することと、
前記測定された飛行時間に基づいて前記識別された最も強い反射体の空間におけるロケーションを判断することと
をさらに備える、［１］に記載の方法。
［１４］前記測定された飛行時間データにカルマンフィルタ処理を適用することをさらに備える、［１３］に記載の方法。
［１５］前記計算されたチャネルインパルス応答に基づいてチャネルインパルス応答曲線を判断することをさらに備え、
特徴を抽出するために前記チャネルインパルス応答を処理することが、前記チャネルインパルス応答曲線から導出された角度情報に基づいて反射体移動方向を判断することを備える、［１］に記載の方法。
［１６］ユーザ入力ジェスチャーを認識するための方法であって、
音検出器において、時間的に符号化された超音波信号を受信することと、
前記受信した信号に基づいてチャネルインパルス応答を計算することと、
チャネルインパルス応答曲線の角度を判断するために前記チャネルインパルス応答を処理することと、
前記チャネルインパルス応答曲線の前記判断された角度に関連するコマンドを実行することと
を備える、方法。
［１７］プロセッサと、
前記プロセッサに結合されたメモリと、
前記プロセッサに結合された音放出器と、
前記プロセッサに結合された１つまたは複数の音検出器と
を備える、コンピュータシステムであって、
前記プロセッサが、
音検出器において、時間的に符号化された超音波信号を受信することと、
前記受信した信号に基づいてチャネル応答を計算することと、
特徴を抽出するために前記チャネルインパルス応答を処理することと、
一致する記憶された特徴を識別するために、前記抽出された特徴をチャネルインパルス応答特徴のデータベースと比較することと、
前記一致した記憶された特徴に関連するコマンドを実行することと
を備える動作を実行するためのプロセッサ実行可能命令で構成された、コンピュータシステム。
［１８］前記プロセッサが、超音波放出器から時間的に符号化された持続波音信号を送信することをさらに備える動作を実行するためのプロセッサ実行可能命令で構成された、［１７］に記載のコンピュータシステム。
［１９］前記プロセッサは、音が超音波であるような、動作を実行するためのプロセッサ実行可能命令で構成された、［１７］に記載のコンピュータシステム。
［２０］前記プロセッサは、音が、擬似ランダム雑音で時間的に符号化されるような、動作を実行するためのプロセッサ実行可能命令で構成された、［１８］に記載のコンピュータシステム。
［２１］前記プロセッサは、音が、変化する周波数で時間的に符号化されるような、動作を実行するためのプロセッサ実行可能命令で構成された、［１８］に記載のコンピュータシステム。
［２２］前記プロセッサは、音が、スペクトル拡散変調を使用して時間的に符号化されるような、動作を実行するためのプロセッサ実行可能命令で構成された、［１８］に記載のコンピュータシステム。
［２３］前記プロセッサは、音検出器において音信号を受信することが、コンピューティングデバイス上の離間した３つの音検出器において音信号を受信することを備えるような、動作を実行するためのプロセッサ実行可能命令で構成された、［１７］に記載のコンピュータシステム。
［２４］前記プロセッサは、特徴を抽出するために前記チャネルインパルス応答を処理することが、反射体チャネルインパルス応答を取得するためにバックグラウンドチャネルインパルス応答を減算することを備えるような、動作を実行するためのプロセッサ実行可能命令で構成された、［１７］に記載のコンピュータシステム。
［２５］前記プロセッサは、特徴を抽出するために前記チャネルインパルス応答を処理することが、差分チャネルインパルス応答を計算することと、差分チャネルインパルス応答のシーケンスを画像として処理することとをさらに備えるような、動作を実行するためのプロセッサ実行可能命令で構成された、［２４］に記載のコンピュータシステム。
［２６］前記プロセッサは、特徴を抽出するために前記チャネルインパルス応答を処理することが、前記差分チャネルインパルス応答画像にエッジフィルタを適用することをさらに備えるような、動作を実行するためのプロセッサ実行可能命令で構成された、［２５］に記載のコンピュータシステム。
［２７］前記プロセッサは、特徴を抽出するために前記チャネルインパルス応答を処理することが、前記差分チャネルインパルス応答画像にグレースケール相関行列を適用することをさらに備えるような、動作を実行するためのプロセッサ実行可能命令で構成された、［２５］に記載のコンピュータシステム。
［２８］前記プロセッサは、前記抽出された特徴を前記チャネルインパルス応答特徴のデータベースと比較することが、ｋ最近傍分析と、人工ニューラルネット分析と、隠れマルコフモデル分析とからなるグループから選択された方法を使用して分析を実行することを備えるような、動作を実行するためのプロセッサ実行可能命令で構成された、［２５］に記載のコンピュータシステム。
［２９］前記プロセッサが、
前記チャネルインパルス応答特徴に基づいて最も強い反射体を識別することと、
前記識別された最も強い反射体からの音の飛行時間を測定することと、
前記測定された飛行時間に基づいて前記識別された最も強い反射体の空間におけるロケーションを判断することと
をさらに備える動作を実行するためのプロセッサ実行可能命令で構成された、［１７］に記載のコンピュータシステム。
［３０］前記プロセッサが、前記測定された飛行時間データにカルマンフィルタ処理を適用することをさらに備える動作を実行するためのプロセッサ実行可能命令で構成された、［２９］に記載のコンピュータシステム。
［３１］前記プロセッサは、前記計算されたチャネルインパルス応答に基づいてチャネルインパルス応答曲線を判断することをさらに備える動作を実行するためのプロセッサ実行可能命令で構成され、
前記プロセッサは、特徴を抽出するために前記チャネルインパルス応答を処理することが、前記チャネルインパルス応答曲線から導出された角度情報に基づいて反射体移動方向を判断することを備えるような、動作を実行するためのプロセッサ実行可能命令で構成された、［１７］に記載のコンピュータシステム。
［３２］プロセッサと、
前記プロセッサに結合されたメモリと、
前記プロセッサに結合された音放出器と、
前記プロセッサに結合された１つまたは複数の音検出器と
を備える、コンピュータシステムであって、
前記プロセッサが、
音検出器において、時間的に符号化された超音波信号を受信することと、
前記受信した信号に基づいてチャネルインパルス応答を計算することと、
チャネルインパルス応答曲線の角度を判断するために前記チャネルインパルス応答を処理することと、
前記チャネルインパルス応答曲線の前記判断された角度に関連するコマンドを実行することと
を備える動作を実行するためのプロセッサ実行可能命令で構成された、コンピュータシステム。
［３３］音検出器において、時間的に符号化された超音波信号を受信するための手段と、
前記受信した信号に基づいてチャネル応答を計算するための手段と、
特徴を抽出するために前記チャネルインパルス応答を処理するための手段と、
一致する記憶された特徴を識別するために、前記抽出された特徴をチャネルインパルス応答特徴のデータベースと比較するための手段と、
前記一致した記憶された特徴に関連するコマンドを実行するための手段と
を備える、コンピュータシステム。
［３４］超音波放出器から時間的に符号化された持続波音信号を送信するための手段をさらに備える、［３３］に記載のコンピュータシステム。
［３５］音が超音波である、［３３］に記載のコンピュータシステム。
［３６］音が、擬似ランダム雑音で時間的に符号化される、［３４］に記載のコンピュータシステム。
［３７］音が、変化する周波数で時間的に符号化される、［３４］に記載のコンピュータシステム。
［３８］音が、スペクトル拡散変調を使用して時間的に符号化される、［３４］に記載のコンピュータシステム。
［３９］音検出器において音信号を受信するための手段が、コンピューティングデバイス上の離間した３つの音検出器において音信号を受信するための手段を備える、［３３］に記載のコンピュータシステム。
［４０］特徴を抽出するために前記チャネルインパルス応答を処理するための手段が、反射体チャネルインパルス応答を取得するためにバックグラウンドチャネルインパルス応答を減算するための手段を備える、［３３］に記載のコンピュータシステム。
［４１］特徴を抽出するために前記チャネルインパルス応答を処理するための手段が、差分チャネルインパルス応答を計算することと、差分チャネルインパルス応答のシーケンスを画像として処理することとを行うための手段をさらに備える、［４０］に記載のコンピュータシステム。
［４２］特徴を抽出するために前記チャネルインパルス応答を処理するための手段が、前記差分チャネルインパルス応答画像にエッジフィルタを適用するための手段をさらに備える、［４１］に記載のコンピュータシステム。
［４３］特徴を抽出するために前記チャネルインパルス応答を処理するための手段が、前記差分チャネルインパルス応答画像にグレースケール相関行列を適用するための手段をさらに備える、［４１］に記載のコンピュータシステム。
［４４］前記抽出された特徴を前記チャネルインパルス応答特徴のデータベースと比較するための手段が、ｋ最近傍分析と、人工ニューラルネット分析と、隠れマルコフモデル分析とからなるグループから選択された方法を使用して分析を実行するための手段を備える、［４１］に記載のコンピュータシステム。
［４５］前記チャネルインパルス応答特徴に基づいて最も強い反射体を識別するための手段と、
前記識別された最も強い反射体からの音の飛行時間を測定するための手段と、
前記測定された飛行時間に基づいて前記識別された最も強い反射体の空間におけるロケーションを判断するための手段と
をさらに備える、［３３］に記載のコンピュータシステム。
［４６］前記測定された飛行時間データにカルマンフィルタ処理を適用するための手段をさらに備える、［４５］に記載のコンピュータシステム。
［４７］前記計算されたチャネルインパルス応答に基づいてチャネルインパルス応答曲線を判断するための手段をさらに備え、
特徴を抽出するために前記チャネルインパルス応答を処理するための手段が、前記チャネルインパルス応答曲線から導出された角度情報に基づいて反射体移動方向を判断するための手段を備える、［３３］に記載のコンピュータシステム。
［４８］音検出器において、時間的に符号化された超音波信号を受信するための手段と、
前記受信した信号に基づいてチャネルインパルス応答を計算するための手段と、
チャネルインパルス応答曲線の角度を判断するために前記チャネルインパルス応答を処理するための手段と、
前記チャネルインパルス応答曲線の前記判断された角度に関連するコマンドを実行するための手段と
を備える、コンピュータシステム。
［４９］音検出器において、時間的に符号化された超音波信号を受信することと、
前記受信した信号に基づいてチャネル応答を計算することと、
特徴を抽出するために前記チャネルインパルス応答を処理することと、
一致する記憶された特徴を識別するために、前記抽出された特徴をチャネルインパルス応答特徴のデータベースと比較することと、
前記一致した記憶された特徴に関連するコマンドを実行することと
を備える動作を実行することを、超音波を放出および検出するように構成されたコンピュータに行わせるように構成されたコンピュータ実行可能命令を記憶した非一時的コンピュータ可読記憶媒体。
［５０］前記記憶されたコンピュータ実行可能命令が、超音波放出器から時間的に符号化された持続波音信号を送信することをさらに備える動作を実行することをコンピュータに行わせるように構成された、［４９］に記載の非一時的コンピュータ可読記憶媒体。
［５１］前記記憶されたコンピュータ実行可能命令は、音が超音波であるような、動作を実行することをコンピュータに行わせるように構成された、［４９］に記載の非一時的コンピュータ可読記憶媒体。
［５２］前記記憶されたコンピュータ実行可能命令は、音が、擬似ランダム雑音で時間的に符号化されるような、動作を実行することをコンピュータに行わせるように構成された、［５０］に記載の非一時的コンピュータ可読記憶媒体。
［５３］前記記憶されたコンピュータ実行可能命令は、音が、変化する周波数で時間的に符号化されるような、動作を実行することをコンピュータに行わせるように構成された、［５０］に記載の非一時的コンピュータ可読記憶媒体。
［５４］前記記憶されたコンピュータ実行可能命令は、音が、スペクトル拡散変調を使用して時間的に符号化されるような、動作を実行することをコンピュータに行わせるように構成された、［５０］に記載の非一時的コンピュータ可読記憶媒体。
［５５］前記記憶されたコンピュータ実行可能命令は、音検出器において音信号を受信することが、コンピューティングデバイス上の離間した３つの音検出器において音信号を受信することを備えるような、動作を実行することをコンピュータに行わせるように構成された、［４９］に記載の非一時的コンピュータ可読記憶媒体。
［５６］前記記憶されたコンピュータ実行可能命令は、特徴を抽出するために前記チャネルインパルス応答を処理することが、反射体チャネルインパルス応答を取得するためにバックグラウンドチャネルインパルス応答を減算することを備えるような、動作を実行することをコンピュータに行わせるように構成された、［４９］に記載の非一時的コンピュータ可読記憶媒体。
［５７］前記記憶されたコンピュータ実行可能命令は、特徴を抽出するために前記チャネルインパルス応答を処理することが、差分チャネルインパルス応答を計算することと、差分チャネルインパルス応答のシーケンスを画像として処理することとをさらに備えるような、動作を実行することをコンピュータに行わせるように構成された、［５６］に記載の非一時的コンピュータ可読記憶媒体。
［５８］前記記憶されたコンピュータ実行可能命令は、特徴を抽出するために前記チャネルインパルス応答を処理することが、前記差分チャネルインパルス応答画像にエッジフィルタを適用することをさらに備えるような、動作を実行することをコンピュータに行わせるように構成された、［５７］に記載の非一時的コンピュータ可読記憶媒体。
［５９］前記記憶されたコンピュータ実行可能命令は、特徴を抽出するために前記チャネルインパルス応答を処理することが、前記差分チャネルインパルス応答画像にグレースケール相関行列を適用することをさらに備えるような、動作を実行することをコンピュータに行わせるように構成された、［５７］に記載の非一時的コンピュータ可読記憶媒体。
［６０］前記記憶されたコンピュータ実行可能命令は、前記抽出された特徴を前記チャネルインパルス応答特徴のデータベースと比較することが、ｋ最近傍分析と、人工ニューラルネット分析と、隠れマルコフモデル分析とからなるグループから選択された方法を使用して分析を実行することを備えるような、動作を実行することをコンピュータに行わせるように構成された、［５７］に記載の非一時的コンピュータ可読記憶媒体。
［６１］前記記憶されたコンピュータ実行可能命令が、
前記チャネルインパルス応答特徴に基づいて最も強い反射体を識別することと、
前記識別された最も強い反射体からの音の飛行時間を測定することと、
前記測定された飛行時間に基づいて前記識別された最も強い反射体の空間におけるロケーションを判断することと
をさらに備える動作を実行することをコンピュータに行わせるように構成された、［４９］に記載の非一時的コンピュータ可読記憶媒体。
［６２］前記記憶されたコンピュータ実行可能命令が、前記測定された飛行時間データにカルマンフィルタ処理を適用することをさらに備える動作を実行することをコンピュータに行わせるように構成された、［６１］に記載の非一時的コンピュータ可読記憶媒体。
［６３］前記記憶されたコンピュータ実行可能命令は、前記計算されたチャネルインパルス応答に基づいてチャネルインパルス応答曲線を判断することをさらに備える動作を実行することをコンピュータに行わせるように構成され、
前記記憶されたコンピュータ実行可能命令は、特徴を抽出するために前記チャネルインパルス応答を処理することが、前記チャネルインパルス応答曲線から導出された角度情報に基づいて反射体移動方向を判断することを備えるような、動作を実行することをコンピュータに行わせるように構成された、［４９］に記載の非一時的コンピュータ可読記憶媒体。
［６４］音検出器において、時間的に符号化された超音波信号を受信することと、
前記受信した信号に基づいてチャネルインパルス応答を計算することと、
チャネルインパルス応答曲線の角度を判断するために前記チャネルインパルス応答を処理することと、
前記チャネルインパルス応答曲線の前記判断された角度に関連するコマンドを実行することと
を備える動作を実行することを、超音波を放出および検出するように構成されたコンピュータに行わせるように構成されたコンピュータ実行可能命令を記憶した非一時的コンピュータ可読記憶媒体。
［６５］第１のデバイスと第２のデバイスとの間の相対座標を判断するための方法であって、
前記第１のデバイスの超音波放出器から時間的に符号化された持続波超音波信号を送信することと、
前記第２のデバイスにおいて前記時間的に符号化された持続波超音波信号を受信することと、
前記受信した時間的に符号化された持続波超音波信号の飛行時間を測定することと、
前記測定された飛行時間にカルマンフィルタ処理を適用することと、
前記測定された飛行時間に基づいて前記第２のデバイスに対する前記第１のデバイスのロケーションを判断することと
を備える、方法。
［６６］座標を距離に変換することをさらに備える、［６５］に記載の方法。
［６７］プロセッサと、
前記プロセッサに結合されたメモリと、
前記プロセッサに結合された音放出器と、
前記プロセッサに結合された１つまたは複数の音検出器と
を備える、コンピュータシステムであって、
前記プロセッサが、
前記第１のデバイスの超音波放出器から時間的に符号化された持続波超音波信号を送信することと、
前記第２のデバイスにおいて前記時間的に符号化された持続波超音波信号を受信することと、
前記受信した時間的に符号化された持続波超音波信号の飛行時間を測定することと、
前記測定された飛行時間にカルマンフィルタ処理を適用することと、
前記測定された飛行時間に基づいて前記第２のデバイスに対する前記第１のデバイスのロケーションを判断することと
を備える動作を実行するためのプロセッサ実行可能命令で構成された、コンピュータシステム。
［６８］前記第１のデバイスの超音波放出器から時間的に符号化された持続波超音波信号を送信するための手段と、
前記第２のデバイスにおいて前記時間的に符号化された持続波超音波信号を受信するための手段と、
前記受信した時間的に符号化された持続波超音波信号の飛行時間を測定するための手段と、
前記測定された飛行時間にカルマンフィルタ処理を適用するための手段と、
前記測定された飛行時間に基づいて前記第２のデバイスに対する前記第１のデバイスのロケーションを判断するための手段と
を備える、コンピュータシステム。
［６９］前記第１のデバイスの超音波放出器から時間的に符号化された持続波超音波信号を送信することと、
前記第２のデバイスにおいて前記時間的に符号化された持続波超音波信号を受信することと、
前記受信した時間的に符号化された持続波超音波信号の飛行時間を測定することと、
前記測定された飛行時間にカルマンフィルタ処理を適用することと、
前記測定された飛行時間に基づいて前記第２のデバイスに対する前記第１のデバイスのロケーションを判断することと
を備える動作を実行することを、超音波を放出および検出するように構成されたコンピュータに行わせるように構成されたコンピュータ実行可能命令を記憶した非一時的コンピュータ可読記憶媒体。
【図１】
0006030184.tif 000018
【図２】
0006030184.tif 000019
【図３】
0006030184.tif 000020
【図４】
0006030184.tif 000021
【図５Ａ】
0006030184.tif 000022
【図５Ｂ】
0006030184.tif 000023
【図５Ｃ】
0006030184.tif 000024
【図５Ｄ】
0006030184.tif 000025
【図６Ａ】
0006030184.tif 000026
【図６Ｂ】
0006030184.tif 000027
【図６Ｃ】
0006030184.tif 000028
【図７Ａ】
0006030184.tif 000029
【図７Ｂ】
0006030184.tif 000030
【図７Ｃ】
0006030184.tif 000031
【図８Ａ】
0006030184.tif 000032
【図８Ｂ】
0006030184.tif 000033
【図８Ｃ】
0006030184.tif 000034
【図８Ｄ】
0006030184.tif 000035
【図９Ａ】
0006030184.tif 000036
【図９Ｂ】
0006030184.tif 000037
【図９Ｃ】
0006030184.tif 000038
【図１０Ａ】
0006030184.tif 000039
【図１０Ｂ】
0006030184.tif 000040
【図１０Ｃ】
0006030184.tif 000041
【図１１Ａ】
0006030184.tif 000042
【図１１Ｂ】
0006030184.tif 000043
【図１１Ｃ】
0006030184.tif 000044
【図１２Ａ】
0006030184.tif 000045
【図１２Ｂ】
0006030184.tif 000046
【図１２Ｃ】
0006030184.tif 000047
【図１３Ａ】
0006030184.tif 000048
【図１３Ｂ】
0006030184.tif 000049
【図１３Ｃ】
0006030184.tif 000050
【図１４】
0006030184.tif 000051
【図１５Ａ】
0006030184.tif 000052
【図１５Ｂ】
0006030184.tif 000053
【図１５Ｃ】
0006030184.tif 000054
【図１６Ａ】
0006030184.tif 000055
【図１６Ｂ】
0006030184.tif 000056
【図１６Ｃ】
0006030184.tif 000057
【図１７Ａ】
0006030184.tif 000058
【図１７Ｂ】
0006030184.tif 000059
【図１７Ｃ】
0006030184.tif 000060
【図１８】
0006030184.tif 000061
【図１９】
0006030184.tif 000062
【図２０】
0006030184.tif 000063
【図２１】
0006030184.tif 000064
【図２２】
0006030184.tif 000065
【図２３Ａ】
0006030184.tif 000066
【図２３Ｂ】
0006030184.tif 000067