"ユーザ入力ジェスチャーを認識するための方法であって、音検出器において、時間的に符号化された超音波信号を受信することと、前記受信した信号に基づいてチャネルインパルス応答を計算することと、特徴を抽出するために前記チャネルインパルス応答を処理することと、一致する記憶された特徴を識別するために、前記抽出された特徴をチャネルインパルス応答特徴のデータベースと比較することと、前記一致した記憶された特徴に関連するコマンドを実行することとを備える、方法。超音波放出器から時間的に符号化された持続波音信号を送信することをさらに備える、請求項1に記載の方法。音が超音波である、請求項1に記載の方法。音が、擬似ランダム雑音で時間的に符号化される、請求項2に記載の方法。音が、変化する周波数で時間的に符号化される、請求項2に記載の方法。音が、スペクトル拡散変調を使用して時間的に符号化される、請求項2に記載の方法。音検出器において音信号を受信することが、コンピューティングデバイス上の離間した3つの音検出器において音信号を受信することを備える、請求項1に記載の方法。特徴を抽出するために前記チャネルインパルス応答を処理することが、反射体チャネルインパルス応答を取得するためにバックグラウンドチャネルインパルス応答を減算することを備える、請求項1に記載の方法。特徴を抽出するために前記チャネルインパルス応答を処理することが、差分チャネルインパルス応答を計算することと、差分チャネルインパルス応答のシーケンスを画像として処理することとをさらに備える、請求項8に記載の方法。特徴を抽出するために前記チャネルインパルス応答を処理することが、前記差分チャネルインパルス応答画像にエッジフィルタを適用することをさらに備える、請求項9に記載の方法。特徴を抽出するために前記チャネルインパルス応答を処理することが、前記差分チャネルインパルス応答画像にグレースケール相関行列を適用することをさらに備える、請求項9に記載の方法。前記抽出された特徴を前記チャネルインパルス応答特徴のデータベースと比較することが、k最近傍分析と、人工ニューラルネット分析と、隠れマルコフモデル分析とからなるグループから選択された方法を使用して分析を実行することを備える、請求項9に記載の方法。前記チャネルインパルス応答特徴に基づいて最も強い反射体を識別することと、前記識別された最も強い反射体からの音の飛行時間を測定することと、前記測定された飛行時間に基づいて前記識別された最も強い反射体の空間におけるロケーションを判断することとをさらに備える、請求項1に記載の方法。前記測定された飛行時間データにカルマンフィルタ処理を適用することをさらに備える、請求項13に記載の方法。前記計算されたチャネルインパルス応答に基づいてチャネルインパルス応答曲線を判断することをさらに備え、特徴を抽出するために前記チャネルインパルス応答を処理することが、前記チャネルインパルス応答曲線から導出された角度情報に基づいて反射体移動方向を判断することを備える、請求項1に記載の方法。ユーザ入力ジェスチャーを認識するための方法であって、音検出器において、時間的に符号化された超音波信号を受信することと、前記受信した信号に基づいてチャネルインパルス応答を計算することと、チャネルインパルス応答曲線の角度を判断するために前記チャネルインパルス応答を処理することと、前記チャネルインパルス応答曲線の前記判断された角度に関連するコマンドを実行することとを備える、方法。プロセッサと、前記プロセッサに結合されたメモリと、前記プロセッサに結合された音放出器と、前記プロセッサに結合された1つまたは複数の音検出器とを備える、コンピュータシステムであって、前記プロセッサが、音検出器において、時間的に符号化された超音波信号を受信することと、前記受信した信号に基づいてチャネル応答を計算することと、特徴を抽出するために前記チャネルインパルス応答を処理することと、一致する記憶された特徴を識別するために、前記抽出された特徴をチャネルインパルス応答特徴のデータベースと比較することと、前記一致した記憶された特徴に関連するコマンドを実行することとを備える動作を実行するためのプロセッサ実行可能命令で構成された、コンピュータシステム。前記プロセッサが、超音波放出器から時間的に符号化された持続波音信号を送信することをさらに備える動作を実行するためのプロセッサ実行可能命令で構成された、請求項17に記載のコンピュータシステム。前記プロセッサは、音が超音波であるような、動作を実行するためのプロセッサ実行可能命令で構成された、請求項17に記載のコンピュータシステム。前記プロセッサは、音が、擬似ランダム雑音で時間的に符号化されるような、動作を実行するためのプロセッサ実行可能命令で構成された、請求項18に記載のコンピュータシステム。前記プロセッサは、音が、変化する周波数で時間的に符号化されるような、動作を実行するためのプロセッサ実行可能命令で構成された、請求項18に記載のコンピュータシステム。前記プロセッサは、音が、スペクトル拡散変調を使用して時間的に符号化されるような、動作を実行するためのプロセッサ実行可能命令で構成された、請求項18に記載のコンピュータシステム。前記プロセッサは、音検出器において音信号を受信することが、コンピューティングデバイス上の離間した3つの音検出器において音信号を受信することを備えるような、動作を実行するためのプロセッサ実行可能命令で構成された、請求項17に記載のコンピュータシステム。前記プロセッサは、特徴を抽出するために前記チャネルインパルス応答を処理することが、反射体チャネルインパルス応答を取得するためにバックグラウンドチャネルインパルス応答を減算することを備えるような、動作を実行するためのプロセッサ実行可能命令で構成された、請求項17に記載のコンピュータシステム。前記プロセッサは、特徴を抽出するために前記チャネルインパルス応答を処理することが、差分チャネルインパルス応答を計算することと、差分チャネルインパルス応答のシーケンスを画像として処理することとをさらに備えるような、動作を実行するためのプロセッサ実行可能命令で構成された、請求項24に記載のコンピュータシステム。前記プロセッサは、特徴を抽出するために前記チャネルインパルス応答を処理することが、前記差分チャネルインパルス応答画像にエッジフィルタを適用することをさらに備えるような、動作を実行するためのプロセッサ実行可能命令で構成された、請求項25に記載のコンピュータシステム。前記プロセッサは、特徴を抽出するために前記チャネルインパルス応答を処理することが、前記差分チャネルインパルス応答画像にグレースケール相関行列を適用することをさらに備えるような、動作を実行するためのプロセッサ実行可能命令で構成された、請求項25に記載のコンピュータシステム。前記プロセッサは、前記抽出された特徴を前記チャネルインパルス応答特徴のデータベースと比較することが、k最近傍分析と、人工ニューラルネット分析と、隠れマルコフモデル分析とからなるグループから選択された方法を使用して分析を実行することを備えるような、動作を実行するためのプロセッサ実行可能命令で構成された、請求項25に記載のコンピュータシステム。前記プロセッサが、前記チャネルインパルス応答特徴に基づいて最も強い反射体を識別することと、前記識別された最も強い反射体からの音の飛行時間を測定することと、前記測定された飛行時間に基づいて前記識別された最も強い反射体の空間におけるロケーションを判断することとをさらに備える動作を実行するためのプロセッサ実行可能命令で構成された、請求項17に記載のコンピュータシステム。前記プロセッサが、前記測定された飛行時間データにカルマンフィルタ処理を適用することをさらに備える動作を実行するためのプロセッサ実行可能命令で構成された、請求項29に記載のコンピュータシステム。前記プロセッサは、前記計算されたチャネルインパルス応答に基づいてチャネルインパルス応答曲線を判断することをさらに備える動作を実行するためのプロセッサ実行可能命令で構成され、前記プロセッサは、特徴を抽出するために前記チャネルインパルス応答を処理することが、前記チャネルインパルス応答曲線から導出された角度情報に基づいて反射体移動方向を判断することを備えるような、動作を実行するためのプロセッサ実行可能命令で構成された、請求項17に記載のコンピュータシステム。プロセッサと、前記プロセッサに結合されたメモリと、前記プロセッサに結合された音放出器と、前記プロセッサに結合された1つまたは複数の音検出器とを備える、コンピュータシステムであって、前記プロセッサが、音検出器において、時間的に符号化された超音波信号を受信することと、前記受信した信号に基づいてチャネルインパルス応答を計算することと、チャネルインパルス応答曲線の角度を判断するために前記チャネルインパルス応答を処理することと、前記チャネルインパルス応答曲線の前記判断された角度に関連するコマンドを実行することとを備える動作を実行するためのプロセッサ実行可能命令で構成された、コンピュータシステム。音検出器において、時間的に符号化された超音波信号を受信するための手段と、前記受信した信号に基づいてチャネル応答を計算するための手段と、特徴を抽出するために前記チャネルインパルス応答を処理するための手段と、一致する記憶された特徴を識別するために、前記抽出された特徴をチャネルインパルス応答特徴のデータベースと比較するための手段と、前記一致した記憶された特徴に関連するコマンドを実行するための手段とを備える、コンピュータシステム。超音波放出器から時間的に符号化された持続波音信号を送信するための手段をさらに備える、請求項33に記載のコンピュータシステム。音が超音波である、請求項33に記載のコンピュータシステム。音が、擬似ランダム雑音で時間的に符号化される、請求項34に記載のコンピュータシステム。音が、変化する周波数で時間的に符号化される、請求項34に記載のコンピュータシステム。音が、スペクトル拡散変調を使用して時間的に符号化される、請求項34に記載のコンピュータシステム。音検出器において音信号を受信するための手段が、コンピューティングデバイス上の離間した3つの音検出器において音信号を受信するための手段を備える、請求項33に記載のコンピュータシステム。特徴を抽出するために前記チャネルインパルス応答を処理するための手段が、反射体チャネルインパルス応答を取得するためにバックグラウンドチャネルインパルス応答を減算するための手段を備える、請求項33に記載のコンピュータシステム。特徴を抽出するために前記チャネルインパルス応答を処理するための手段が、差分チャネルインパルス応答を計算することと、差分チャネルインパルス応答のシーケンスを画像として処理することとを行うための手段をさらに備える、請求項40に記載のコンピュータシステム。特徴を抽出するために前記チャネルインパルス応答を処理するための手段が、前記差分チャネルインパルス応答画像にエッジフィルタを適用するための手段をさらに備える、請求項41に記載のコンピュータシステム。特徴を抽出するために前記チャネルインパルス応答を処理するための手段が、前記差分チャネルインパルス応答画像にグレースケール相関行列を適用するための手段をさらに備える、請求項41に記載のコンピュータシステム。前記抽出された特徴を前記チャネルインパルス応答特徴のデータベースと比較するための手段が、k最近傍分析と、人工ニューラルネット分析と、隠れマルコフモデル分析とからなるグループから選択された方法を使用して分析を実行するための手段を備える、請求項41に記載のコンピュータシステム。前記チャネルインパルス応答特徴に基づいて最も強い反射体を識別するための手段と、前記識別された最も強い反射体からの音の飛行時間を測定するための手段と、前記測定された飛行時間に基づいて前記識別された最も強い反射体の空間におけるロケーションを判断するための手段とをさらに備える、請求項33に記載のコンピュータシステム。前記測定された飛行時間データにカルマンフィルタ処理を適用するための手段をさらに備える、請求項45に記載のコンピュータシステム。前記計算されたチャネルインパルス応答に基づいてチャネルインパルス応答曲線を判断するための手段をさらに備え、特徴を抽出するために前記チャネルインパルス応答を処理するための手段が、前記チャネルインパルス応答曲線から導出された角度情報に基づいて反射体移動方向を判断するための手段を備える、請求項33に記載のコンピュータシステム。音検出器において、時間的に符号化された超音波信号を受信するための手段と、前記受信した信号に基づいてチャネルインパルス応答を計算するための手段と、チャネルインパルス応答曲線の角度を判断するために前記チャネルインパルス応答を処理するための手段と、前記チャネルインパルス応答曲線の前記判断された角度に関連するコマンドを実行するための手段とを備える、コンピュータシステム。音検出器において、時間的に符号化された超音波信号を受信することと、前記受信した信号に基づいてチャネル応答を計算することと、特徴を抽出するために前記チャネルインパルス応答を処理することと、一致する記憶された特徴を識別するために、前記抽出された特徴をチャネルインパルス応答特徴のデータベースと比較することと、前記一致した記憶された特徴に関連するコマンドを実行することとを備える動作を実行することを、超音波を放出および検出するように構成されたコンピュータに行わせるように構成されたコンピュータ実行可能命令を記憶した非一時的コンピュータ可読記憶媒体。前記記憶されたコンピュータ実行可能命令が、超音波放出器から時間的に符号化された持続波音信号を送信することをさらに備える動作を実行することをコンピュータに行わせるように構成された、請求項49に記載の非一時的コンピュータ可読記憶媒体。前記記憶されたコンピュータ実行可能命令は、音が超音波であるような、動作を実行することをコンピュータに行わせるように構成された、請求項49に記載の非一時的コンピュータ可読記憶媒体。前記記憶されたコンピュータ実行可能命令は、音が、擬似ランダム雑音で時間的に符号化されるような、動作を実行することをコンピュータに行わせるように構成された、請求項50に記載の非一時的コンピュータ可読記憶媒体。前記記憶されたコンピュータ実行可能命令は、音が、変化する周波数で時間的に符号化されるような、動作を実行することをコンピュータに行わせるように構成された、請求項50に記載の非一時的コンピュータ可読記憶媒体。前記記憶されたコンピュータ実行可能命令は、音が、スペクトル拡散変調を使用して時間的に符号化されるような、動作を実行することをコンピュータに行わせるように構成された、請求項50に記載の非一時的コンピュータ可読記憶媒体。前記記憶されたコンピュータ実行可能命令は、音検出器において音信号を受信することが、コンピューティングデバイス上の離間した3つの音検出器において音信号を受信することを備えるような、動作を実行することをコンピュータに行わせるように構成された、請求項49に記載の非一時的コンピュータ可読記憶媒体。前記記憶されたコンピュータ実行可能命令は、特徴を抽出するために前記チャネルインパルス応答を処理することが、反射体チャネルインパルス応答を取得するためにバックグラウンドチャネルインパルス応答を減算することを備えるような、動作を実行することをコンピュータに行わせるように構成された、請求項49に記載の非一時的コンピュータ可読記憶媒体。前記記憶されたコンピュータ実行可能命令は、特徴を抽出するために前記チャネルインパルス応答を処理することが、差分チャネルインパルス応答を計算することと、差分チャネルインパルス応答のシーケンスを画像として処理することとをさらに備えるような、動作を実行することをコンピュータに行わせるように構成された、請求項56に記載の非一時的コンピュータ可読記憶媒体。前記記憶されたコンピュータ実行可能命令は、特徴を抽出するために前記チャネルインパルス応答を処理することが、前記差分チャネルインパルス応答画像にエッジフィルタを適用することをさらに備えるような、動作を実行することをコンピュータに行わせるように構成された、請求項57に記載の非一時的コンピュータ可読記憶媒体。前記記憶されたコンピュータ実行可能命令は、特徴を抽出するために前記チャネルインパルス応答を処理することが、前記差分チャネルインパルス応答画像にグレースケール相関行列を適用することをさらに備えるような、動作を実行することをコンピュータに行わせるように構成された、請求項57に記載の非一時的コンピュータ可読記憶媒体。前記記憶されたコンピュータ実行可能命令は、前記抽出された特徴を前記チャネルインパルス応答特徴のデータベースと比較することが、k最近傍分析と、人工ニューラルネット分析と、隠れマルコフモデル分析とからなるグループから選択された方法を使用して分析を実行することを備えるような、動作を実行することをコンピュータに行わせるように構成された、請求項57に記載の非一時的コンピュータ可読記憶媒体。前記記憶されたコンピュータ実行可能命令が、前記チャネルインパルス応答特徴に基づいて最も強い反射体を識別することと、前記識別された最も強い反射体からの音の飛行時間を測定することと、前記測定された飛行時間に基づいて前記識別された最も強い反射体の空間におけるロケーションを判断することとをさらに備える動作を実行することをコンピュータに行わせるように構成された、請求項49に記載の非一時的コンピュータ可読記憶媒体。前記記憶されたコンピュータ実行可能命令が、前記測定された飛行時間データにカルマンフィルタ処理を適用することをさらに備える動作を実行することをコンピュータに行わせるように構成された、請求項61に記載の非一時的コンピュータ可読記憶媒体。前記記憶されたコンピュータ実行可能命令は、前記計算されたチャネルインパルス応答に基づいてチャネルインパルス応答曲線を判断することをさらに備える動作を実行することをコンピュータに行わせるように構成され、前記記憶されたコンピュータ実行可能命令は、特徴を抽出するために前記チャネルインパルス応答を処理することが、前記チャネルインパルス応答曲線から導出された角度情報に基づいて反射体移動方向を判断することを備えるような、動作を実行することをコンピュータに行わせるように構成された、請求項49に記載の非一時的コンピュータ可読記憶媒体。音検出器において、時間的に符号化された超音波信号を受信することと、前記受信した信号に基づいてチャネルインパルス応答を計算することと、チャネルインパルス応答曲線の角度を判断するために前記チャネルインパルス応答を処理することと、前記チャネルインパルス応答曲線の前記判断された角度に関連するコマンドを実行することとを備える動作を実行することを、超音波を放出および検出するように構成されたコンピュータに行わせるように構成されたコンピュータ実行可能命令を記憶した非一時的コンピュータ可読記憶媒体。第1のデバイスと第2のデバイスとの間の相対座標を判断するための方法であって、前記第1のデバイスの超音波放出器から時間的に符号化された持続波超音波信号を送信することと、前記第2のデバイスにおいて前記時間的に符号化された持続波超音波信号を受信することと、前記受信した時間的に符号化された持続波超音波信号の飛行時間を測定することと、前記測定された飛行時間にカルマンフィルタ処理を適用することと、前記測定された飛行時間に基づいて前記第2のデバイスに対する前記第1のデバイスのロケーションを判断することとを備える、方法。座標を距離に変換することをさらに備える、請求項65に記載の方法。プロセッサと、前記プロセッサに結合されたメモリと、前記プロセッサに結合された音放出器と、前記プロセッサに結合された1つまたは複数の音検出器とを備える、コンピュータシステムであって、前記プロセッサが、前記第1のデバイスの超音波放出器から時間的に符号化された持続波超音波信号を送信することと、前記第2のデバイスにおいて前記時間的に符号化された持続波超音波信号を受信することと、前記受信した時間的に符号化された持続波超音波信号の飛行時間を測定することと、前記測定された飛行時間にカルマンフィルタ処理を適用することと、前記測定された飛行時間に基づいて前記第2のデバイスに対する前記第1のデバイスのロケーションを判断することとを備える動作を実行するためのプロセッサ実行可能命令で構成された、コンピュータシステム。前記第1のデバイスの超音波放出器から時間的に符号化された持続波超音波信号を送信するための手段と、前記第2のデバイスにおいて前記時間的に符号化された持続波超音波信号を受信するための手段と、前記受信した時間的に符号化された持続波超音波信号の飛行時間を測定するための手段と、前記測定された飛行時間にカルマンフィルタ処理を適用するための手段と、前記測定された飛行時間に基づいて前記第2のデバイスに対する前記第1のデバイスのロケーションを判断するための手段とを備える、コンピュータシステム。前記第1のデバイスの超音波放出器から時間的に符号化された持続波超音波信号を送信することと、前記第2のデバイスにおいて前記時間的に符号化された持続波超音波信号を受信することと、前記受信した時間的に符号化された持続波超音波信号の飛行時間を測定することと、前記測定された飛行時間にカルマンフィルタ処理を適用することと、前記測定された飛行時間に基づいて前記第2のデバイスに対する前記第1のデバイスのロケーションを判断することとを備える動作を実行することを、超音波を放出および検出するように構成されたコンピュータに行わせるように構成されたコンピュータ実行可能命令を記憶した非一時的コンピュータ可読記憶媒体。[詳細な説明]様々な実施形態について添付の図面を参照しながら詳細に説明する。可能な場合はいつでも、同じまたは同様の部分を指すために図面全体にわたって同じ参照番号を使用する。特定の例および実行形態になされる言及は、説明のためであり、本発明の範囲または特許請求の範囲を限定するものではない。例示的という単語は、本明細書では、例、事例、または例示の働きをすることを意味するために使用する。例示的として本明細書で説明するいかなる実行形態も、必ずしも他の実行形態よりも好ましいまたは有利であると解釈されるべきではない。本明細書で使用するコンピューティングデバイスという用語は、限定はしないが、ラップトップおよびデスクトップコンピュータ、テレビジョン、家庭用電気器具、セルラー電話、パーソナルテレビジョンデバイス、携帯情報端末PDA、パームトップコンピュータ、ワイヤレス電子メール受信機たとえば、Blackberry登録商標およびTreo登録商標デバイス、マルチメディアインターネット対応セルラー電話たとえば、BlackberryStorm登録商標、全地球測位システムGPS受信機、ワイヤレスゲームコントローラ、車両たとえば、自動車内の受信機、対話型ゲームデバイス、ノートブック、スマートブック、ネットブック、モバイルテレビジョンデバイス、または任意のデータ処理装置を含む、ユーザインターフェースをもつ任意の形態のプログラマブルコンピュータデバイスを指す。様々な実施形態は、デバイスから放出され、1つまたは複数の検出器またはマイクロフォンによって受信された持続波超音波信号を使用した、コンピューティングデバイスによるタッチレスユーザインターフェース感知およびジェスチャー認識のためのシステムおよび方法を提供する。持続波超音波は、送信機またはスピーカーによって放出され、物体たとえば、ユーザの手から反射され、1つまたは複数の受信機またはマイクロフォンによって受信され得る。たとえば、超音波放出器またはスピーカーが、適宜に符号化された持続波超音波を送信し得る。その超音波は、空中を伝搬し、ユーザの手が反射検出ゾーン内に位置する場合、その手から反射し得る。反射した超音波は、コンピューティングデバイスの周りに位置する1つ、2つ、3つ、またはそれ以上の超音波検出器またはマイクロフォンによって受信され得る。様々な実施形態では、チャネルは、超音波放出器から空中を通ってユーザの手に至る音経路、ユーザの手から空中を通って各検出器に至る反射、および各検出器の応答を含み得る。そのようなチャネルの特性は、既知の信号処理方法および回路たとえば、デジタル信号プロセッサを使用して判断され得るチャネルインパルス応答で表され得る。したがって、ユーザがコンピューティングデバイスの反射検出ゾーン内で手または物体を移動するにつれて、チャネルの特性およびチャネルインパルス応答は、反射超音波の異なる送信経路により変化することになる。これは、放出された超音波に対する手表面の入射角の変化による反射エコーのパターンの変化を含み得る。経時的なチャネルインパルス応答のそのような変化は、対象とするユーザ入力ジェスチャーを認識するためにメモリに記憶された既知のパターンと比較され得るパターンを明らかにするために、分析され得る。また、認識されたチャネルインパルス応答パターンを生成するユーザの手のいずれかの大きい反射または部分が処理されて、超音波の飛行時間が測定され得、その飛行時間から、コンピューティングデバイスは、よく知られている楕円三角測量計算を使用してコンピューティングデバイスを囲む3D空間内の反射表面のロケーションを判断することができる。反射表面までの距離を判断するための正確な方法は、システムにおける雑音を考慮するために、カルマンフィルタ処理などのよく知られている処理アルゴリズムを使用し得る。3次元ユーザ入力ジェスチャー認識能力を与えることに加えて、様々な実施形態のタッチレスジェスチャー感知能力は他の利点を与える。システムは、コンピューティングデバイスの周りの30~40センチメートル内など、コンピューティングデバイスを囲む大きい体積内のユーザジェスチャーを検出し、解釈することができる。さらに、ユーザインターフェース空間がコンピューティングデバイスの上方にあるので、ユーザインターフェースは、外部の状態、たとえば、湿気、ほこりなどに対して耐性があるように構成され得る。したがって、様々な実施形態は、従来のコンピュータが不適当である状況とシステムとロケーションとにおける適用例を有し得る。概して、持続波超音波信号は、受信される反射信号が放出される信号と相関されることを可能にする方法で変調され得る。信号を照合することにより、システムは、チャネルインパルス応答を判断すること、あるいは送信と受信との間の時間差、または飛行時間を計算することが可能になり得る。システムチャネル入力応答の変化が、認識され、トレーニングセッションから記憶されたパターンと比較されることを可能にするために、システムチャネル入力応答スナップショットまたは画像が経時的にバッファされ得る。チャネルインパルス応答のそのようなバッファされた画像は、ユーザ入力ジェスチャーの事前トレーニングされたテンプレートライブラリに一致し得る特徴を抽出するための特殊フィルタ処理を使用してフィルタ処理され得る。インパルス応答を処理することに加えて、最も強いエコーまたは最初の到着エコーに関連付けられ得るような特定のエコー特徴が、飛行時間分析を使用して3D空間におけるエコーソースのロケーションの正確な推定値を取得するために処理され得る。雑音の存在下で飛行時間または距離を正確に判断するためにカルマンフィルタ処理などの数学的処理が使用され得、これは、たいていの使用状況における実情である可能性がある。受信した反射を分析し、照合するために、実施形態は、様々な信号処理要素を備え得る。これらの信号処理要素は、受信したチャネル応答からパターンおよび特徴を除外し得、チャネルにおける反射物体を決して解像することなしにこれらの特徴をジェスチャーに相関させ得る。チャネルインパルス応答における検出されたパターンを、ユーザトレーニングセッションなどからの、メモリに記憶されたパターンと比較することによって、コンピューティングデバイスは、最も厳密に一致するパターンを識別することができる。特定のユーザ入力コマンドを特定のトレーニングされたジェスチャーパターンに相関させることによって、コンピューティングデバイスは、特定のユーザ手移動をユーザ入力コマンドとして認識するように構成され得る。したがって、いくつかの実施形態では、超音波検出システムは、オペレーティングシステムのグラフィカルユーザインターフェース部分の一部として実行され得る。そのような実施形態では、チャネルインパルス応答パターンがメモリ中のパターンに一致したとき、関連するユーザコマンドがコンピューティングデバイスによって識別され、実行され得る。このようにして、ユーザは、既知のポインティングデバイスまたはタッチスクリーンディスプレイを使用してユーザコマンドが入力され得る方法と同様に、コンピューティングデバイスの上方でまたはそれの近傍内で手を向けるかまたは移動することによって、コンピューティングデバイスを制御し得る。様々な実施形態について超音波を送信および受信することとして説明するが、それらの実施形態は、典型的な超音波領域を下回る周波数をもつ音を用いて同じく実行され得る。放出された周波数が可聴範囲を上回るとすれば、様々な実施形態は、本明細書で説明する方法で高周波音を用いて実行され得る。超音波は、ユーザの手の微細構造の解像度を可能にする超音波の小さい波長により、有利である。ただし、空気の低い密度のために、より低い周波数の音は、従来のスピーカーを使用して生成するのがより容易かつ効率的であり得、従来のマイクロフォンにおいて受信するのがより容易であり得る。したがって、本明細書では、超音波への言及は、明確に具陳されている場合を除いて、特許請求の範囲を特定の周波数レンジ内の音に限定するものではない。図1に、ラップトップコンピュータ100上の様々な実施形態の例示的な実行形態を示す。図示の実施形態では、ラップトップコンピュータ100内のユーザインターフェースシステムが、超音波放出器101と、コンピュータ100の様々な部分上に位置する複数の超音波検出器102a、102b、102cとを含む。使用中に、ユーザは、コンピュータ100の上方のまたはそれの近傍内の3D空間106内に手104を配置し得る。タッチパッド110などの従来のポインティングデバイスを使用するのではなく、ユーザは、コンピューティングデバイスが認識および実行することができるユーザ入力ジェスチャーを実行するために、超音波検出器102a、102b、102cによって超音波反射が検出され得るゾーン本明細書では反射検出ゾーンと呼ぶ内で手104を移動し得る。ジェスチャーのグラフィカル表現が、他のグラフィカルユーザインターフェースシステムと同様に、ディスプレイ108上に提示され得る。したがって、コンピュータ100の上方のまたはそれの周りの座標系106のX軸、Y軸およびZ軸内で手104を移動することによって、ユーザは、どの表面にもタッチすることなしにコンピュータ100とインターフェースすることができる。実施形態は、ユーザ入力ジェスチャーが3D空間において実行され得るタッチレスユーザインターフェースシステムを可能にし、厳密に2次元である従来のグラフィカルユーザインターフェースデバイスたとえば、コンピュータマウス、タッチパッドまたはタッチスクリーンとは異なる、完全な3Dユーザインターフェース能力を可能にする。図2に、ユーザの手104の位置および配向を検出するために超音波がどのように使用され得るかについての単純な表現を示す。超音波放出器101が、空中を伝搬する持続波超音波206を放出し得る。放出される超音波において情報を符号化することによって、持続波音を用いてユーザの手104に関する位置情報が判断され得る。表現の簡単のために、持続波超音波内の認識可能な特徴が同心円弧で示されている。放出された超音波206は、ユーザの手104が反射検出ゾーン内にあるとき、ユーザの手104から反射することになり、それにより、反射超音波207、208が生じる。ユーザの手は3次元であるので、ユーザの手の様々な特徴からの反射から複数の反射超音波波面207、208が生じることになる。それらの特徴は超音波放出器101から異なる距離に位置するので、所与の瞬間において各特徴から反射される波面は異なることになる。さらに、ユーザの手の様々な特徴から各超音波検出器102までの距離も異なることになる。したがって、ユーザの手104から反射される音は、各々が互いにわずかに時間的にオフセットされた複数の波面において、検出器102に到着することになる。このようにして、検出器102に到着する反射超音波は、ユーザの手のロケーション、形状および配向に関する情報を符号化する。従来の画像化超音波システムでは、反射表面の画像を生成するために、検出器102によって測定されたエコー到着時間が使用され得る。現代の超音波画像化システムは、正確な画像を現像するためにフェーズドアレイシステムを使用する。しかしながら、そのような画像生成は、プロセッサ集約的であり、したがって、基本ユーザインターフェースシステムには好適でない。様々な実施形態は、画像化プロセスをバイパスし、代わりに、放出器101、反射表面104、および検出器102、ならびに介在する空間にわたる、通信チャネルのチャネルインパルス応答の変化を処理することによって、受信された超音波において符号化されたロケーション、形状および配向情報を利用する。図3に、様々な実施形態を実行するコンピューティングシステム300を示す。実施コンピューティングシステム300は、超音波放出器101と、コンピューティングデバイスの中央プロセッサ304に結合されたデジタル信号プロセッサ302に結合された1つまたは複数の超音波検出器またはマイクロフォン102a、102b、102cとを含み得る。中央プロセッサ304は、メモリ306に結合され得、また、超音波放出器101に結合された超音波変調器/増幅器回路308に結合され得る。超音波変調器/増幅器回路308は、擬似乱数または擬似ランダム雑音など、持続波超音波中に符号化されるべき情報をプロセッサ304から受信するように構成され得る。超音波変調器/増幅器回路308は、変調された超音波を放出するために超音波放出器101に適用される電気信号を生成するために、この情報を使用し得る。いくつかの実行形態では、超音波変調器/増幅器回路308は、デジタル信号プロセッサ302に結合され得、超音波に変調されるべき情報の信号を中央プロセッサ304からではなくデジタル信号プロセッサ302から受信するように構成され得る。いくつかの実施形態では、超音波放出器101は、コンピューティングデバイスの表面上に取り付けられた超音波トランスデューサなどの別個の音放出構成要素であり得る。他の実施形態では、超音波放出器101は、圧電スピーカーまたはツイータ要素など、コンピューティングデバイスのスピーカーまたはそのスピーカー内の要素であり得る。同様に、いくつかの実施形態では、超音波検出器またはマイクロフォン102a、102b、102cは、専用超音波トランスデューサなどの別個の構成要素であり得る。他の実施形態では、超音波は、高周波感知構成要素など、コンピューティングデバイスのマイクロフォンまたはそのマイクロフォン内の要素によって感知され得る。さらなる実施形態では、1つまたは複数の超音波トランスデューサが、超音波放出器または超音波検出器のいずれかとして機能し得る。上記で説明したように、様々な実施形態は、超音波放出器101と、空中を通って超音波放出器101からユーザの手104に至る伝搬経路312と、ユーザの指または手104からの反射と、空中を通ってユーザの手104から超音波検出器102aに至る伝搬経路314と、超音波検出器102a、102b、102cとを包含するように定義された、通信チャネル310を利用する。したがって、コンピューティングシステム300中に含まれる超音波放出器101と超音波検出器102a、102b、102cの各々との間に別個の通信チャネルが存在することになる。様々な実施形態は単一の超音波検出器102aを用いて実行され得るが、ユーザの手104のロケーション、形状、および配向に関するより多くの情報を取得するために、またはユーザ入力ジェスチャーをより良く区別するために、2つ以上の超音波検出器がコンピューティングシステム300上の様々なロケーションに位置し得る。すべての通信チャネルのように、空中を通る超音波緩和チャネル310の要素のうちのいずれか1つの変化により、チャネルインパルス応答が変化し得る。たいていの動作条件において、超音波放出器101および検出器102aの性質、ならびに周囲空気の音伝搬特性が、典型的なユーザインターフェースジェスチャーの時間フレーム内で一定であると推定され得、これはわずか数秒にわたるものである。したがって、温度、湿度などの変化による通信チャネル312のこれらの要素の変化は無視され得る。したがって、通信チャネル310の分析は、インパルス応答のすべての変化が、ユーザの手104などの反射表面のロケーション、形状、および配向の変化によるものであると推定して、達成され得る。たとえば、超音波放出器101に向かうユーザの手104の移動により、放出器から手までの伝搬経路312が減少し、たいがい、手から検出器までの伝搬経路314が変化延長または短縮することになる。また、指を回転させること、伸ばすことまたは引っ込めることなど、ユーザの手104の移動により、入射する超音波に対して反射表面の配向が変化し、したがって、検出器102aによって受信される反射超音波のパターンが変化することになる。さらに、超音波放出器101に向かうまたはそれから離れるユーザの手104の急速な移動により、超音波検出器102aによって受信される反射超音波のドップラーシフトも生じ得る。反射検出ゾーン内のユーザの手104の移動から生じる通信チャネル310のそのような変化は、チャネルのインパルス応答に反映されることになる。したがって、経時的な通信チャネル310のインパルス応答の変化を分析することによって、コンピューティングシステム300は、ユーザの手104の位置、形状および配向に関する情報を取得することができる。以下で説明する図20に示すように3次元で離間したように、コンピューティングシステム300上の様々なロケーションに3つ以上の超音波検出器102a、102b、102cを配置することによって、コンピューティングシステム300は、ユーザの手104に関する3次元位置情報を取得することができる。超音波検出器102a、102b、102cによって受信された超音波信号のサンプリングに関与する計算、および各通信チャネル310についてのチャネルインパルス応答の判断が、デジタル信号プロセッサ302または別の適切に構成された処理回路によって実行され得る。以下で説明する様々な実施形態のフィルタ処理、グレースケール処理、および統計分析など、チャネルインパルス応答データの処理が、デジタル信号プロセッサ302において実行されるか、または部分的にデジタル信号プロセッサ302において実行され、また、部分的に中央プロセッサ304において実行され得る。デジタル信号プロセッサ302および/または中央プロセッサ304において実行された処理によってチャネルインパルス応答から抽出された認識可能な特徴が、中央プロセッサ304またはコンピューティングシステム300内の別のプロセッサによって実行されるパターン比較アルゴリズムを使用して、メモリ306に記憶されたパターンと比較され得る。中央プロセッサ304が、通信チャネル310のうちの1つまたは複数のチャネルインパルス応答から抽出されたパターンが、メモリ306に記憶されたパターンに一致すると判断した場合、中央プロセッサ304は、一致したパターンに関連するユーザ入力コマンドを判断し、他のユーザ入力コマンドのようにそのコマンドを実行し得る。図4に、実施システム400の機能モジュールおよびハードウェア要素を示す。放出される持続波超音波を生成するために、擬似ランダム雑音または擬似乱数生成器モジュール402が擬似ランダムコードを生成し得る。このコードはスペクトル拡散変調器およびパルス圧縮モジュール404に与えられ得、スペクトル拡散変調器およびパルス圧縮モジュール404は擬似ランダム雑音をデジタル情報中に含め、その情報はデジタルアナログ変換器および増幅器モジュール406に与えられる。このモジュール406はアナログ信号を超音波放出器101に与え得る。上記で説明したように、放出された超音波206はユーザの手104から反射し、反射超音波208が生成され、反射超音波208は、1つまたは複数の超音波検出器またはマイクロフォン102a、102b、102cによって受信される。1つまたは複数の超音波検出器またはマイクロフォン102a、102b、102cからの信号が、増幅器およびアナログデジタル変換器モジュール407によって処理され得、得られたデジタルデータがデジタル信号プロセッサ409に受け渡される。いくつかの実行形態では、アナログデジタル変換プロセスモジュール407はデジタル信号プロセッサ409内に含まれ得る。デジタル信号プロセッサ409は、チャネルインパルス応答分析モジュール408と特徴抽出モジュール410とを含むDSP実行可能ソフトウェアモジュールで構成され得る。チャネルインパルス応答分析モジュール408および特徴抽出モジュール410において達成される処理について、以下でより詳細に説明する。特徴抽出モジュール410からの結果が、抽出された特徴をメモリ306に記憶されたパターンと比較するチャネルインパルス応答パターン比較モジュール412によって処理され得る。チャネルインパルス応答パターン比較モジュール412は、チャネルインパルス応答パターンが、メモリに記憶されたパターンに一致または類似する程度を反映する、相関値を計算し得る。これらの結果は、最良の一致するパターンを選択することと、それの関連するユーザ入力コマンドを識別することとを行うように機能するジェスチャー認識モジュール414によって処理され得る。ジェスチャー認識モジュール414は、一致したパターンの中から現在の動作条件に最も関係するパターンを選択するために、ユーザ入力ジェスチャーのコンテキストまたは現在の動作状態を考慮に入れ得る。そうする際に、ジェスチャー認識モジュール414は、パターンの関連するユーザ入力コマンドが現在の動作状態に関係する場合、比較的高い相関係数をもつパターンを選択し得る。たとえば、複数のパターンが比較的高い相関係数を有するが、そのパターンの一部が、現在の動作状態において実行され得ない関連するユーザ入力コマンドたとえば、現在実行していないアプリケーションに関係するコマンドを有する場合、ジェスチャー認識モジュール414はそれらのパターンを廃棄し得る。また、ジェスチャー認識モジュール414は、前のユーザ入力コマンドに関係するコマンドに関連するパターンの中から選択するために、比較的高い相関係数をもつパターンの中から選択する際に前の入力ジェスチャーたとえば、選択コマンドを考慮に入れ得る。たとえば、前の入力ジェスチャーが選択コマンドであった場合、ジェスチャー認識モジュール414は、移動、コピー、または切取りコマンドに関連するパターンなど、選択されたオブジェクトに関係するコマンドに関連するパターンの中から選択し得る。ジェスチャー認識モジュール414によって識別された、このような状況下での最良の一致するパターンに関連し、現在の動作状態に一致する、単一のコマンドが、他のユーザインターフェースコマンドのように実行のためにユーザインターフェースモジュール416に受け渡され得る。ユーザインターフェースモジュール416は、識別されたコマンドを実行のためにプロセッサに受け渡し得る。ユーザインターフェースモジュール416はまた、識別されたコマンドに一致する、コンピューティングデバイスディスプレイに与えられる、表示を生成し得る。たとえば、ジェスチャー認識モジュール414が、ユーザがたとえば、3D空間においてオブジェクトを指すこと、2本の指を合わせるようにピンチすること、またはこぶしを握ることによって選択コマンドを実行したと判断した場合、ユーザインターフェースモジュール416は、選択されたオブジェクトが、コンピュータマウス、タッチパッドまたはタッチスクリーンユーザインターフェースデバイスを採用するグラフィカルユーザインターフェースにおいて示される方法と同様の方法などで、オブジェクトが選択されたことを示すグラフィカルユーザインターフェースディスプレイを生成し得る。別の例として、ジェスチャー認識モジュール414が、ユーザがたとえば、選択コマンドの実行に続いて、手をある位置から別の位置に移動することによって移動コマンドを実行したと判断した場合、ユーザインターフェースモジュール416は、表示画像内で移動する選択されたオブジェクトを示す表示を生成し得る。さらなる実施形態では、ユーザ入力ジェスチャーが、ユーザの指または手の3次元ロケーションによって判断されるか、またはそれに基づいて実行され得る。そのような実施形態では、コンピューティングデバイスは、反射検出ゾーン内のユーザの指または手の絶対または相対ロケーションを判断することが必要である。これは、飛行時間計算モジュール418および座標判断モジュール420によって達成され得る。反射検出ゾーン内の反射体のロケーションが、超音波検出器における反射超音波の到着時間に基づいて判断され得る。この飛行時間は、放出器からユーザの手までの、および手から各超音波検出器までの距離に依存することになる。コンピューティングデバイスは、各符号化された信号がブロードキャストされる時間または相対時間を知っており、その信号内に含まれる情報に基づいて反射の到着を検出することができるので、飛行時間は、符号化された信号に基づいて判断され得る。次いで、各超音波検出器からの判断された飛行時間データは、楕円三角測量方法を使用して反射体のロケーションを推定するために、座標判断モジュール422によって処理され得る。受信された反射超音波は、雑音の多い経路である可能性があるので、最も可能性がある到着時間を判断するためにデータのカルマンフィルタ処理が使用され得、次いで、その到着時間は楕円三角測量計算において使用され得る。反射体の座標を判断するための実施方法について、以下でより十分に説明する。座標判断モジュール420によって判断されたユーザの手の座標が、ユーザインターフェースモジュール416への入力として使用され得る。たとえば、座標判断モジュール420によって判断されたユーザの指の先端の座標は、グラフィカルユーザインターフェースディスプレイ上でカーソルまたはポインタを配置するためにユーザインターフェースモジュール416によって使用され得る。このようにして、ユーザは、ユーザがコンピュータマウス、タッチパッドまたはタッチスクリーンユーザ入力デバイスを使用してカーソルおよびポインタを操作する方法と同様の方法で、ディスプレイスクリーン上でカーソルまたはポインタを操作するために、反射検出ゾーン内で指をあちこちに移動し得る。さらなる例として、座標判断モジュール420によって判断されたユーザの手の座標は、グラフィカルユーザインターフェースディスプレイにおいて示される選択されたオブジェクトを配置するためにユーザインターフェースモジュール416によって使用され得る。いくつかのユーザインターフェースジェスチャーは、チャネルインパルス応答特徴における一致したパターンとユーザの手または指の座標との両方に基づいてジェスチャー認識モジュール414によって認識され得る。したがって、反射座標も座標判断モジュール420によってジェスチャー認識モジュール414に与えられ得る。次いで、ジェスチャー認識モジュール414は、パターン一致相関値、コンテキストまたは動作状態、および反射検出ゾーン内のユーザの手または指のロケーションに基づいて、ユーザ入力ジェスチャーを判断し得る。たとえば、動きがコンピューティングデバイスディスプレイまたはキーボードの近くで実行されるのか、それから遠く離れて実行されるのかに応じて、ユーザの手の所与の移動が異なる意味を有し得るすなわち、異なるユーザ入力コマンドに相関される。したがって、ユーザがディスプレイからある距離をおいて手を前後に振ることは、コンピュータを起動するためのまたはディスプレイ上でスクリーンセーバーを非アクティブにするためのコマンドに関連付けられ得、ユーザがディスプレイの近くで手を前後に振ることは、選択されたオブジェクトまたはディスプレイの一部分を消去または削除するためのコマンドに関連付けられ得る。図4は、様々な実施形態プロセスおよび動作の1つの可能な編成の一例として与えたものであり、特許請求の範囲を図示の構成に限定するものではない。様々な実施形態の処理および動作は、図4に示す方法とは異なる方法で編成されるかまたは対話し得る、ハードウェア、ソフトウェア、またはハードウェアとソフトウェアの組合せで構成され得る。時間的情報を持続波放出音中に符号化するために使用され得る1つの方法は、擬似ランダム雑音を生成し、スペクトル変調方式を利用することである。このようにすると、各瞬間において、埋め込まれる超音波は、雑音のランダム性の程度に応じてすべての他の場合とは異なり、これにより、音の波長よりも長い距離にわたって反射表面の位置、配向および形状に関する情報を符号化するために、異なる反射点から到着する反射音が使用可能になる。ある場合においてチャネル応答が劣化する、いかなる状態または干渉にも、同じランダム雑音と周波数の組合せが放出されるまで、再び遭遇する可能性は低く、そのような組合せが放出されることは、適切にランダム化する方法が使用される場合、極めてまれであることになるので、非ランダムまたはシステマティック符号化たとえば、超音波周波数レンジにわたる連続掃引の代わりに擬似ランダム雑音を使用することにより、システムは雑音および決定性干渉の影響を受けにくくなり得る。擬似ランダム雑音を生成するための方法は、通信技術においてよく知られており、信号中に符号化される長い擬似乱数を生成することを含む。擬似乱数は、極めて多数のビットにわたってランダムのように見えるバイナリシーケンスである。持続波超音波への擬似ランダム雑音の変調により、広い周波数レンジにわたる超音波信号が生じ得る。これは、直交周波数分割多重OFDM変調およびパルス圧縮など、スペクトル拡散変調方法を使用して擬似乱数を符号化することによって達成され得る。持続波超音波内に含まれる時間的情報とともに、反射体たとえば、ユーザの手のロケーションおよび表面特徴に関係する情報が、受信された反射超音波から抽出され得る。しかしながら、上記のように、反射体の画像化は、多くの処理能力を必要とすることになり、ただし、ユーザ入力ジェスチャー認識を達成するのに必要ではない。代わりに、様々な実施形態は、チャネルインパルス応答を判断することと、経時的なデータの変化をメモリに記憶されたそのようなデータのパターンと比較することとによって、反射超音波において符号化された情報を分析する。チャネルインパルス応答は、何らかの外部変化に応答する通信チャネルの反応を指す。様々な実施形態では、外部変化は、反射検出ゾーン内の反射体すなわち、ユーザの手または指の移動である。チャネルインパルス応答は、ユーザの手または指が反射検出ゾーン内で移動するときの、時間によって変わるチャネルの反応を表す。特定の放出器-手-検出器の超音波送信経路チャネルのチャネルインパルス応答は、いくつかのよく知られている方法で分析され得る。たとえば、チャネルの出力ytが、チャネルに適用されるインパルスxtすなわち、この例では、放出された超音波信号とチャネルのインパルス応答htとの積の和としてモデル化され得る。言い換えれば、yt=xthtである。チャネル出力は、以下の式1を使用して推定され得る。あるサンプリング周期にわたる信号タップ測定値を使用してこの式を解くために、式1は、コンピュータプロセッサたとえば、DSPによる解を可能にするために行列フォーマットに変換され得る。時間nにおける既知の送信された信号パターンがxnとして定義される場合、X行列は、既知の送信された信号パターンである、xn,xn-1,...xn-N-Mの行列として定義され得る。受信された信号を表す行列Yは、Y=[ynyn-1...yn-N-1]’として定義され、ここで、ynは式1によって与えられる。次いで、計算されるべきチャネルインパルス応答である行列Hは、H=[h0,h1,...hM-1]‘として定義され得る。次いで、チャネル出力はY=XHによって定義され得、ここで、YはN×1行列であり、HはM×1行列であり、また、XはN×M行列である。したがって、チャネルインパルス応答Hは、H=X1Yによって判断され得る。実システムでは、Hは、音響チャネルと電子チャネルの両方の畳み込み結果である。H=HaHeである。XH=XHaHe=YNであり、ここで、Nは雑音であり、Haは音響経路であり、また、Heは電気経路である。電気チャネルを仮定すれば、音響経路は、Ha=XHe1Yとして取得され得る。一実施形態では、オーディオ帯域雑音を除去するために入力信号を前処理するために、超音波帯域における帯域フィルタが使用され得る。そうである場合、それのインパルス応答は、インパルス応答Hの一部であるすなわち、インパルス応答H内に含まれることになる。放出された超音波信号パターンXnは既知であるので、行列Xの逆を計算するために一般化特異値分解などの多くの擬似行列反転方法が使用され得る。受信されたマイクロフォン信号における雑音の存在により、安定した解を導出するために適切な正規化測度が必要とされ得る。その結果を使用して、超音波検出器によって測定された信号からチャネルインパルス応答が計算され得る。次いで、計算されたインパルス応答Hは、雑音を低減するために平滑係数smoothfactorを使用することによって平滑化され得る。上記に、チャネルインパルス応答が時間領域測定値からどのように計算され得るかを示したが、チャネルインパルス応答は周波数領域においても計算され得る。インパルス応答更新レートは、行列XのサイズとHの長さとによって判断され得、これらは、超音波ジェスチャー認識プロセスに関連する処理に割り振られるメモリの問題である。たとえば、NM=800である場合、毎秒240回すなわち、240Hz、受信された超音波信号がサンプリングされ得、チャネルインパルス応答が更新され得る。図4に示すように、検出器102に到着する超音波信号の2つのセットと、所望の態様である信号の反射セット208と、放出された音206の直接送信とがある。直接音送信はクロストークと呼ばれ得る。コンピューティングデバイスは、反射超音波によるチャネルインパルス応答を表す差分を明らかにするために直接送信による応答の部分を削除するように総チャネルインパルス応答を処理し得る。反射超音波によるチャネルインパルス応答は、測定された超音波信号に基づいて計算された総チャネルインパルス応答から平均バックグラウンドチャネルインパルス応答すなわち、反射検出ゾーン中に存在する反射体がないときに測定されたチャネルインパルス応答を減算することによって判断され得る。超音波は人間の耳に聞こえないので、バックグラウンドチャネル測定値は、反射体が反射検出ゾーン内で提示されないときはいつでも、所定の間隔で測定され得る。総チャネルインパルス応答から平均バックグラウンドチャネルインパルス応答を減算することにより、反射体チャネルインパルス応答が生じる。したがって、Hr=Ht-Hbg以下式2であり、ここで、Hrは反射体チャネルインパルス応答であり、Htは総チャネルインパルス応答であり、また、Hbgはバックグラウンドチャネルインパルス応答である。行列反転によって計算されたチャネルインパルス応答は、マイクロフォンにおける雑音に敏感であり得る。反射体チャネル応答は、雑音に対してよりロバストであり得る。反射体チャネルインパルス応答対時間の相対的変化を測定するために、時間によって変わる反射体チャネルインパルス応答の変化が追跡され、使用され得る。第1のサンプリング時間における反射体チャネルインパルス応答と、次のサンプリング時間における反射体チャネルインパルス応答との差分として差分チャネルインパルス応答が計算され得る。言い換えれば、Hdn=Hrn-Hrn-1以下式3であり、ここで、Hdnは、時間nにおける差分チャネルインパルス応答である。差分チャネルインパルス応答は、ユーザが反射検出ゾーン内で手または指を移動している、動的ユーザ入力ジェスチャーを認識するために、使用され得る。分析を可能にするために、差分チャネルインパルス応答は、経時的な一連の画像としてメモリにバッファされ得る。図5A~図5Dに、プロトタイプシステムにおいて取得された差分チャネルインパルス応答画像を処理した結果の一例を示す。図5Aは、ユーザの手などの反射体の存在下での単一のマイクロフォンについての計算されたチャネルインパルス応答対時間の未加工の結果を示している。このプロトタイプでは、チャネルインパルス応答は、70個の信号タップを使用して測定された。図5Aに示す測定された総チャネルインパルス応答における特徴は、クロストークチャネルインパルス応答に混合されており、したがって、反射チャネルインパルス応答における特徴が判断され得る前に、バックグラウンドチャネルインパルス応答が減算される必要がある。図5Bは、反射検出ゾーン中にユーザの手がないときに同じシステムで取得された測定されたバックグラウンドチャネルインパルス応答を示している。反射体が存在しないので、チャネルインパルス応答は、予測どおりに経時的に比較的一様である。図5Aに示す測定された総チャネルインパルス応答から図5Bに示すバックグラウンドチャネルインパルス応答を減算することによって、式2を使用して反射体チャネルインパルス応答が取得され得る。次いで、式3を使用して差分チャネルインパルス応答を測定することによって、図5Cに示すように反射体チャネルインパルス応答における傾向が明らかになり得る。図5Cに示すように、差分チャネルインパルス応答は、反射検出ゾーン内の反射体すなわち、ユーザの手の移動に関する有意な情報を含んでいる。図5Dは、プロトタイプにおいて測定された差分インパルス応答の別の図を示している。チャネルインパルス応答データにおける認識可能な特徴を区別するための方法のうちの1つは、データにグレーレベル共分散行列分析を適用することを伴う。グレーレベル共分散行列は、エッジフィルタ処理されたチャネルインパルス応答から判断され得る。グレーレベル共分散行列はよく知られている画像処理技法であり、これは、グレーレベルの異なる組合せが所与のオフセットで画像行列においてどのくらい頻繁に発生するかについての集計を伴い得る。グレーレベルは、単純なオンおよびオフから任意の数の変数に及ぶ、値のスペクトルを表し得る。たとえば、ある画像のためのグレーレベルは0から4に及び得、0が白であり、4が黒であり、また、中間の数字がグレーの濃淡を表す。グレーレベル共分散行列を形成するために、オフセットパラメータが設定され得る。このオフセットは、要素の組合せが比較のためにどのようにグループ化されることになるかを定義する。たとえば、オフセットパラメータは、各画像行列要素が右側に隣接する要素と比較されるように定義され得る。各組合せの2つの要素のグレーレベルに応じて、グレーレベル共分散行列におけるそれらの要素のうちの1つに値が追加される。グレーレベル共分散行列の各要素は、いくつかのグレーレベルが互いに組み合わせられ、比較された回数を表す値を含んでいることになる。グレーレベル共分散行列における要素の和は比較の数に等しいが、グレーレベルが画像においてクラスタリングされた場合、いくつかの要素は比較的高い値を含んでいることになる。逆に、画像のグレーレベルがうまく混合され、画像が比較的同種である場合、要素における値は一様に分散されることになる。グレーレベル共分散行列は、しばしば画像に適用されるが、任意の行列内で、値のばらつきまたはグレーレベルにおいてパターンを探索するために使用され得る。バッファされた差分チャネルインパルス応答画像は、それぞれ、グレーレベル共分散行列をポピュレートするために使用され得る。これらのグレーレベル共分散行列の各々から統計的特徴が導出され得る。差分チャネルインパルス応答に対してグレースケール処理を適用することによって、信号内に含まれているパターンにおけるさらなる詳細が取得され得る。差分チャネルインパルス応答内の特徴を明らかにするかまたは抽出するために、差分チャネルインパルス応答画像は、エッジフィルタを使用して処理され得る。エッジフィルタ処理は、画像内の当該のアスペクトを明らかにするかまたは抽出することと、チャネルインパルス応答データから有用な情報を取得するために必要とされる全体的な処理を低減することとを行うのに役立ち得る。いくつかのエッジフィルタ処理プロセスが使用され得る。たとえば、以下に示すように南東および北西エッジフィルタが使用され得る。異なるタイプのエッジフィルタを使用することによって、反射検出ゾーン内のユーザの手の位置の変化および移動に基づいて、分析されたチャネルインパルス応答において異なるパターンが検出され得る。そのようなパターンを図6A~図7Cに示す。図6A~図6Cを参照すると、プロトタイプシステムを使用して、ユーザが反射体検出ゾーン中でマイクロフォンから離れておよびそれに向かって指を移動した間、差分チャネルインパルス応答データが取得された。次いで、差分チャネルインパルス応答データは、3つのタイプのエッジフィルタで処理された。そのデータに水平エッジフィルタを適用した結果が図6Aに示されており、図の左半分は、ユーザの指がマイクロフォンから離れて移動していたときに対応し、また、図の右半分は、ユーザの指がマイクロフォンに向かって移動していたときに対応する。図6Bは、同じデータに対角エッジフィルタを適用した結果を示しており、また、図6Cは、同じデータに最大水平および対角エッジフィルタを適用した結果を示している。図7A~図7Cに、ユーザの手が移動するときに差分チャネルインパルス応答に適用されるエッジフィルタを使用して検出され得るパターンの一例を示す。プロトタイプシステムを使用して、ユーザが反射検出ゾーン内で手を前後に移動した間、差分チャネルインパルス応答データが取得された。差分チャネルインパルス応答データは、3つのタイプのエッジフィルタで処理された。水平エッジフィルタにより、図7Aに示すパターンが生じ、対角エッジフィルタにより、図7Bに示すパターンが生じ、また、最大水平および対角エッジフィルタにより、図7Cに示すパターンが生じた。処理したチャネルインパルス応答データにおけるパターンの完全な性質は、人間の眼で区別するのが困難であることがあるが、いくつかの明らかに認識可能なパターンが上記図から諒解され得る。そのようなパターンは、2次元バーコードがバーコードリーダーシステムによって読み取られる方法と同様の方法で処理または認識され得る。エッジフィルタ処理された経時的な差分チャネルインパルス応答の結果を処理することによって、コンピューティングデバイスは、よく知られているパターン認識アルゴリズムを使用して最も近い一致するパターンを識別するために、測定されたパターンをメモリに記憶されたパターンと比較し得る。次いで、最も近い一致するパターンは、コンピューティングデバイスのメモリに記憶されたユーザ入力ジェスチャーに相関され得る。多種多様なフィルタが適用され得るが、一実施形態は、所与の分析において1つのタイプのフィルタのみを適用し得る。たとえば、水平エッジフィルタは、所定の位置で空中に浮いている指など、反射検出ゾーン内で静止したままであるユーザの手に敏感であり得、また、そのような位置から生じる認識可能なパターンを抽出するために使用するのに好適なエッジフィルタであり得る。対照的に、対角エッジフィルタは、反射検出ゾーン内でのユーザの手とセンサとの間の相対的移動に、より敏感であり得る。したがって、コンピューティングデバイスは、特定のユーザジェスチャーのための特徴の最良の抽出を行うタイプのエッジフィルタを選択するために異なるエッジフィルタを試み得、次いで、メモリに記憶されたパターンと比較されるべき特徴を抽出するために差分チャネルインパルス応答画像を処理するために、選択されたエッジフィルタを使用し続け得る。抽出された特徴は、差分チャネルインパルス応答画像をクラスタリングまたは分類するために使用され得る。これを達成するために差分チャネルインパルス応答画像の統計的処理が使用され得る。実行され得る1つの方法はグレーレベル共分散行列分析である。エッジフィルタ処理された応答から計算されたグレーレベル共分散行列から周波数および空間領域特徴が抽出され得る。空間特徴は、相関関数、2次関数、逆差分行列関数inversedifferencematrixfunction、または差分エントロピー関数を含み得る。そのような分析の一例を以下に与える。gがグレーレベルとして定義される場合、iは、列i=1,2...gとして定義され得、また、jは、j=1,2...gとして定義され得る。さらに、pxはとして定義され得、また、pyはとして定義され得る。ux=meanpxおよびuy=meanpyである場合、ならびにσx=varpxおよびσy=varpyであり、また、gがグレーレベルである場合、相関関数はとして定義され得る。2次関数はとして定義され得る。逆差分行列関数はとして定義され得る。Pxykおよびkはとして定義され得る。差分エントロピー関数はとして定義され得る。図8A~図8Dに、ユーザの指がマイクロフォンから離れて移動する状況について実行された相関のシミュレーション結果を示す。図8Aは、0度で式4を適用したことによる相関結果を示している。図8Bは、90度で式4を適用したことによる相関結果を示している。図8Cは、45度で式4を適用したことによる相関結果を示している。図8Dは、135度で式4を適用したことによる相関結果を示している。上記度数は、次のようにフィルタ係数の勾配変化の方向を示す。0度=[-101;-111;-101]90度=[111;010;-1-1-1]45度=[011;-111;-1-10]135度=[110;11-1;0-1-1]図9Aに、ユーザの指がマイクロフォンから離れて移動する状況について実行された角度2次相関のシミュレーション結果を示す。図9Bに、ユーザの指がマイクロフォンから離れて移動する状況について実行された逆差分行列相関のシミュレーション結果を示す。図9Cに、ユーザの指がマイクロフォンから離れて移動する状況について実行された差分エントロピー相関のシミュレーション結果を示す。さらなる実施形態では、周波数領域特徴も抽出され得る。この実施形態では、差分チャネルインパルス応答画像に2次元高速フーリエ変換FFTを適用することによって電力スペクトル密度が取得され得る。電力スペクトル密度は、反射体が受信機に向かって移動するときは、より多くの低周波成分を示し、反射体が受信機から離れて移動するときは、より多くの高周波成分を示し得、したがって、ユーザ入力ジェスチャーを認識またはカテゴリー分類するために使用され得るさらなる情報を与え得る。さらなる実施形態では、インパルス応答波方向を識別するためにFFT結果のリングおよびウェッジサンプリングringandwedgesamplingが使用され得る。リングおよびウェッジサンプリングは、反射検出ゾーンの中心から延びる一連の放射状に配列された半環状領域およびウェッジ領域にわたって行われ得る。半円形リングエリアのサンプリングは、差分チャネルインパルス応答画像における空間周波数の分布に関する配向非依存情報を与え得、角度ウェッジエリアのサンプリングは、スケール非依存情報を与え得る。3D空間における最も強い反射点のロケーションを判断するために使用され得る飛行時間計算を行う際に使用するための最も強い反射点を識別するために、差分チャネルインパルス応答画像の分類が使用され得る。飛行時間は、識別された反射点について計算され得る。送信機といくつかの受信機が、同じシステムクロックに同期され、それにより、超音波送信のタイムスタンピングの必要がなくなり得る。したがって、各受信機についての飛行時間測定値は、単に、信号の送信時間と、一致した信号についての受信時間との差分であり得る。3次元空間における反射点の座標を判断するために飛行時間値が使用され得る。座標は、送信機、受信機または何らかの他のロケーションにおける、原点を用いた基準系における座標であり得る。原点に対する受信機の座標は、以前から知られているかまたは判断され得る。反射点の座標は、超音波速度に基づいて3つ以上の受信機の飛行時間値を距離に変換することと、楕円交点方法においてその距離を使用することとによって判断され得る。チャネル状態は、各測定間の短い期間において大幅に変動する可能性がないので、音速は定数aとして仮定され得るが、その定数は、変化するチャネル状態において経時的に調整される必要があり得る。以下の式が使用され得、ここで、x,y,zは反射座標であり、mx1,my1,mz1はmic1の座標であり、また、0,0,0は、スピーカー座標である。反射座標を判断するために使用されるべき飛行時間値は雑音が多いことがある。これに対処するために、ノイジネスを克服し、反射座標を判断するために、カルマンフィルタが使用され得る。非線形システムの場合、拡張カルマンフィルタEKFまたはアンセンテッドカルマンフィルタが使用され得る。カルマンフィルタは、予測値と測定値とを重み付けし、組み合わせることによって、測定値と計算される推定値との真値を予測する。カルマンフィルタは、値を予測し、予測値の不確実性を推定し得る。カルマンフィルタプロセスは、より高い重みがより確実な値に行くように、不確実性に基づいて予測値に重み付けを割り当て、次いで、測定値を用いて重み付き平均を計算し得る。このようにして、雑音の多い測定値は、重み付き平均が予測値または測定値のいずれかよりも良い推定された不確実性を有するので、真値により近くなるように調整され得る。図10A~図10Cに、3つのマイクロフォンをもつコンピュータデバイスの表面の約1cm上方で空中に浮いているユーザの指のシミュレーションにおいて生成されたデータのカルマンフィルタ処理の結果を示す。図10Aは、第1のマイクロフォンについてのシミュレーションチャネルインパルス応答対時間結果を示している。図10Bは、第2のマイクロフォンについてのシミュレーションチャネルインパルス応答対時間結果を示している。図10Cは、第3のマイクロフォンについてのシミュレーションチャネルインパルス応答対時間結果を示している。上記マイクロフォンは、コンピューティングデバイス上の異なるロケーションに位置するので、異なるチャネルインパルス応答を示している。カルマンフィルタ処理された結果を使用して、最大チャネルインパルス応答値、インデックス、および最大信号までの距離が判断され得る。図11Aに、すべての3つのマイクロフォンについての、図10A~図10Cに示す処理から判断されたチャネルインパルス応答の最大振幅対時間を示す。図11Bに、すべての3つのマイクロフォンについての、図10A~図10Cに示す処理から判断されたチャネルインパルス応答のインデックス値対時間を示す。図11Cに、すべての3つのマイクロフォンについての、図10A~図10Cに示す処理から判断された最大インデックスにおける測定値の振幅対時間を示す。ジェスチャー特徴が定義されると、分類器をトレーニングするためにトレーニングデータセットジェスチャー特徴が使用され得る。分類器は、単純なKNN分類器、あるいはより複雑なANNまたはHMMモデルであり得る。上記の分析方法によって抽出された特徴が、ユーザトレーニングシーケンスにおいて定義され得るような特定のユーザ入力ジェスチャーと相関され得る。チャネルインパルス応答から抽出されたパターンをメモリに記憶されたパターンと比較するために、よく知られているパターン比較または相関方法が使用され得る。この目的で使用され得る相関方法の3つの例は、k最近傍アルゴリズム、人工ニューラルネットワーク分析、および隠れマルコフモデルである。人工ニューラルネットワークまたは隠れマルコフモデルは、学習段階において前にトレーニングされていることがある。これらの3つの例示的な相関方法について以下でより詳細に説明するが、他の相関方法も同様にして使用され得る。k最近傍アルゴリズムは、ある数、すなわちk個の最も近いネイバーの多数決によってオブジェクトを分類する。ネイバーが、すでに正しく分類されたオブジェクトのセットから取り出され、この場合、これは差分チャネルインパルス応答画像から抽出されたパターンである。どの分類されたオブジェクトまたはネイバーが最も近いかを定義するルールが設定される。たとえば、一定の特徴または座標の変化が、ネイバーであり、前もって一定のジェスチャーに分類されるかまたはそれらと相関され得る。分類されるべき、差分チャネルインパルス応答画像から抽出されたパターンが、一定のネイバーに近い値で抽出された特徴を有し得る。選択されたパラメータkに応じて、いくつかのネイバーが比較され得る。kが5に等しい場合、最も近い特徴値をもつ5つの近傍パターンは、差分チャネルインパルス応答画像から抽出されたパターンが何として分類されるかを判断し得る。5つのネイバーの大部分が一定のジェスチャーと相関される場合、差分チャネルインパルス応答画像から抽出されたパターンは、上記大部分と同じジェスチャーと相関され得る。そのような比較アルゴリズムを使用して、近さまたは他の1つまたは複数の性質によって、ネイバーの票を重み付けすることが可能である。人工ニューラルネットワークは、学習段階中にネットワーク中を流れる情報に基づいて構造を変更し得る人工ニューロンの相互接続されたグループとして機能するオブジェクトの計算を使用する比較方法である。ニューラルネットワーク中の接続は、強度または重み付けにおいて異なり得る。各人工ニューロンは単純な処理ノードまたは機能であり得るが、全体としてのネットワークは複雑な挙動を示し得る。人工ニューラルネットワークは、あらかじめ定義されたコスト関数に従って最適が測定されるタスクに対して最適解を見つけるために観測値のセットを使用することによって学習し得る。たとえば、学習段階中に、ユーザは、いくつかの観測値が取得され得るように、特定のユーザ入力ジェスチャーを何回か実行するように依頼され得る。差分チャネルインパルス応答画像から抽出された観測値またはパターンが、ニューラルネットワークに供給され、様々なノードおよび接続を通って、解が生成され得る。ニューラルネットワークによって生成された解は、コスト関数に従ってランク付けされ得る。このランク付けに基づいて、接続の重み付けが調整され得る。適切にトレーニングされると、ニューラルネットワークの重み付け値は固定され得る。ニューラルネットワークは、差分チャネルインパルス応答画像から抽出されたパターンを比較して、それらのパターンをトレーニングセッションから学習することによって、ジェスチャーのパターン認識または分類のために使用され得る。解は、いくつかのユーザ入力ジェスチャーに類似し得る。特徴または座標の変化が、前にトレーニングされたニューラルネットワークのための入力として働き得、その場合、そのニューラルネットワークは、ニューラルネットワーク構造に基づいて、その入力を解またはジェスチャーと接続することになる。ニューラルネットワークは、学習段階において既知のジェスチャーまたは特徴を用いて前にトレーニングされていることがある。隠れマルコフモデルは、モデル化されているシステムが、状態は未知であるが、状態に依存するトークンは既知である、マルコフ過程であると仮定する。マルコフ過程は、状態が経時的に変動する過程であって、将来の状態が、現在の状態のみに依存し、前の状態には依存しない、過程である。あり得る各状態は、あり得るトークンにわたる確率分布と、どの状態が次に来ることになるかに関する確率分布とを有する。したがって、それらのトークンは、この過程における状態のシーケンスに関する何らかの情報を与える。ジェスチャー認識では、状態は、ユーザ入力ジェスチャーに関連する類似する特徴であり得、また、トークンは、差分チャネルインパルス応答画像から抽出されたパターンと類似し得る。トークンにわたる、状態間の確率分布は、あらかじめ定義されたパラメータであるか、または学習段階において設定されることがある。学習段階においてモデルのパラメータ値をトレーニングし、展開するために、既知のジェスチャーまたは特徴の差分チャネルインパルス応答画像から抽出されたパターンが入力され得る。ビタビアルゴリズムなどによって、トレーニングされた隠れマルコフモデルから、状態またはジェスチャーの最も可能性のあるシーケンスが再帰的に判断され得る。さらなる実施形態では、反射体の移動方向を識別することなど、単純なジェスチャー認識タスクが、インパルス応答曲線から直接導出された角度特徴を使用して達成され得る。図12A~図16Cに、異なる反射体移動についてのインパルス応答パターンと、それらの対応する応答曲線角度情報が、どのように認識され得るかを示す。3つのマイクロフォンに向かって移動する指の存在下でのプロトタイプにおけるそれらのマイクロフォンの各々についてのインパルス応答判断のグラフを図12A~図12Cに示す。これらの図は、対角エッジフィルタで処理した後の未加工インパルス応答判断を示している。これらの図でわかるように、マイクロフォンに向かうユーザの指の動きにより、サンプルフレームインデックスに示すように、時間によって変わるインパルス応答判断において角度が知覚でき得る。未加工インパルス応答判断は現実の認識可能な特徴を用いて行われるが、そのような特徴は、ブロックチャネルインパルス応答上で低域フィルタを使用して信号を処理することによって強調され得る。値1の5×5行列の形態の低域フィルタの一例は以下の通りである。ループ低域フィルタで処理した後の、3つのマイクロフォンに向かって移動する指の存在下でのプロトタイプにおけるそれらのマイクロフォンの各々についてのインパルス応答判断のグラフを図13A~図13Cに示す。これらの図は、インパルス応答に低域フィルタを適用することにより、インパルス応答の角度を判断するために使用され得るより明確なパターンが与えられることを明らかにしている。インパルス応答におけるパターンの角度が容易に判断され得るので、この角度は特定の移動にリンクされ得る認識可能な特徴として使用され得る。たとえば、90度よりも小さい角度は、反射体たとえば、ユーザの手または指がマイクロフォンに近づいていることを意味し得、90度から180度の間の角度は、反射体がマイクロフォンから遠ざかっていることを意味し得る。その場合、そのようなユーザ移動は、単純なテーブルルックアップ方法を使用して特定のユーザインターフェースコマンドたとえば、マウスポインタ移動に相関され得る。図14に、インパルス応答の角度を判断することに基づいて反射検出ゾーン内のユーザの手から反射される超音波からユーザ入力ジェスチャーを認識するためにコンピューティングデバイスにおいて実行され得る実施方法450を示す。方法450では、ステップ452において、プロセッサが、擬似ランダム雑音または擬似乱数コード、あるいは他の時間符号化情報を生成し、ステップ454において、パルス圧縮とともにスペクトル拡散変調において、その情報を符号化し得る。次いで、ステップ456において、この符号化された信号を超音波放出器から持続波超音波として放出する。ステップ458において、反射およびクロストーク信号を含む、超音波を超音波検出器において受信する。ステップ460において、プロセッサたとえば、DSPが、受信した超音波信号に基づいてチャネルインパルス応答を計算し得る。ステップ460の一部として、プロセッサは、上記で説明した方法を使用して、反射チャネルインパルス応答を取得するためにベースラインチャネルインパルス応答を減算し得る。ステップ462において、コンピューティングデバイスプロセッサは、上記で説明した計算方法を使用して、経時的な差分チャネルインパルス応答を計算し、一連のそれらの値を差分チャネルインパルス応答画像として維持し得る。また、ステップ462の一部として、コンピューティングデバイスプロセッサは、計算された差分インパルス応答にエッジフィルタ、低域フィルタおよびしきい値処理演算を適用し得る。ステップ464において、プロセッサは、様々なフィルタ処理角度をもつ矩形フィルタを選択し得る。ステップ466において、プロセッサは、矩形フィルタ全体をカバーすることができる一定数のサンプルフレームを含んでいるチャネルインパルス応答の領域を選択し得る。ステップ468において、プロセッサは、その領域内でフィルタを移動しながら、フィルタ内のすべての点の合計の最大値を計算するためにフィルタ内の点を合計し得る。ステップ470において、プロセッサは、選択された矩形フィルタの各角度についてステップ466および468を繰り返し得る。フィルタの角度のすべてが処理されると、ステップ472において、プロセッサは、全インパルス応答行列にわたって領域が選択された後に、各フレームについてインパルス応答曲線の角度を判断し得る。ステップ474において、プロセッサは、インパルス応答曲線の判断された角度に対応するユーザ入力コマンドを実行する。ステップ474の一部として、コンピューティングデバイスは、他のユーザインターフェースシステムと同様の方法で、実行されたユーザ入力コマンドに対応するユーザインターフェース画像を表示し得る。ステップ472においてインパルス応答曲線の角度を判断することは、以下の式を利用し得る。上式で、pn,tは、図13A~図13Cのうちのいずれかの中の点n,tにおけるインパルス応答の振幅であり、また、t0,tmax,Mは矩形フィルタのサイズである。その場合、角度は、Rectiの最大引数として判断され得る。言い換えれば、角度=argmaxRectiであり、ここで、i=1:Nである。Nは、等しく分割された角度の数であり、また、各角度の増分ステップはπ/Nである。これらの方法を使用してユーザ入力ジェスチャーを認識するプロセスの一部として、図15A~図15Cに示すように、インパルス応答曲線の角度が経時的にプロットされ得る。これらの図は、ユーザの指がシステムの3つのマイクロフォンに向かって移動している場合の、サンプルフレームインデックスによって変わる、度数でのインパルスパターンの検出された角度の変化を示している。すべての3つのマイクロフォンからのインパルス応答曲線の導出された角度により、3D空間における反射体移動方向を一意に判断することができる。図15A~図15Cに示すように、3つのマイクロフォンがコンピューティングデバイス上でまたはそれの近傍で異なるロケーションに位置するとき、経時的な角度の変化は、それらのマイクロフォンの各々について異なることになる。反射体が、2つのマイクロフォンを結ぶ線に対して平行に移動しているとき、反射体移動の方向を判断するために、それらの2つのマイクロフォンが使用され得る。この方法は、図16A~図17Cに示すように、システムマイクロフォンに向かっておよびそれから離れて移動するユーザの指など、より複雑なユーザ入力ジェスチャーを認識するために使用され得る。たとえば、図16A~図16Cは、ループ低域フィルタで処理した後の、3つのマイクロフォンに向かって、次いでそれらから離れて移動する指の存在下でのプロトタイプにおけるそれらのマイクロフォンの各々についてのインパルス応答判断をグラフで示している。これらの図は、ユーザの指が、マイクロフォンに向かって移動し、次いでそれから離れて移動し、次いでそれに向かって移動するにつれて、インパルス応答曲線の角度が、どのように第1の値から第2の値に変化し、次いで元どおりになるかを明らかにしている。図17A~図17Cは、システムにおける3つのマイクロフォンの各々についての、図16A~図16Cに示すインパルス応答曲線についてのインパルス応答曲線の角度をグラフで示している。実施分析方法では、反射体を画像化することがジェスチャー認識のために必要でないので、受信された超音波を復調する必要を回避しながらジェスチャー認識が可能になる。超音波は、送信機からの情報のキャリアとしてではなく、むしろ反射体すなわち、ユーザの手に関する情報のコレクタとして働き、その情報は、反射検出ゾーン内のいずれかの反射表面による影響を受けるチャネルインパルス応答の形態で抽出される。チャネル応答のパターンおよび特徴に依拠することによって、実施方法は、ユーザの手などの反射表面の画像を解像または形成するデータ集約的プロセスを回避する。代わりに、ジェスチャー認識は、反射データをマッピングする必要なしに、またはチャネルが何であるかを判断する必要なしに、チャネルインパルス応答の変化に依拠することによって、達成される。図18に、反射検出ゾーン内のユーザの手から反射される超音波からユーザ入力ジェスチャーを認識するためにコンピューティングデバイスにおいて実行され得る実施方法500を示す。方法500では、ステップ502において、プロセッサが、擬似ランダム雑音または擬似乱数コード、あるいは他の時間符号化情報を生成し、ステップ504において、パルス圧縮とともにスペクトル拡散変調において、その情報を符号化し得る。次いで、ステップ506において、この符号化された信号を超音波放出器から持続波超音波として放出する。ステップ508において、反射およびクロストーク信号を含む、超音波を超音波検出器において受信する。ステップ510において、プロセッサたとえば、DSPが、受信した超音波信号に基づいてチャネルインパルス応答を計算し得る。ステップ510の一部として、プロセッサは、上記で説明した方法を使用して、反射チャネルインパルス応答を取得するためにベースラインチャネルインパルス応答を減算し得る。ステップ512において、コンピューティングデバイスプロセッサは、上記で説明した計算方法を使用して、経時的な差分チャネルインパルス応答を計算し、一連のそれらの値を差分チャネルインパルス応答画像として維持し得る。ステップ514において、プロセッサは、認識可能な特徴を強調するために差分チャネルインパルス応答画像にエッジフィルタを適用し得る。ステップ516において、プロセッサは、エッジフィルタ処理された差分チャネルインパルス応答画像から認識可能な特徴を抽出するためにグレーレベル共分散行列を計算し得る。ステップ518において、プロセッサは、一致する記録を識別するために、エッジフィルタ処理された差分チャネルインパルス応答画像から抽出された特徴を、ユーザジェスチャーに関連するデータベースに記憶されたパターンと比較し得る。上記で説明したように、ステップ518は、コンピューティングデバイスにおける我々の現在の動作状態またはアプリケーション、あるいは他の状態関係の考慮事項に関係する、ジェスチャーのパターンを比較することを伴い得る。ステップ518における処理は、k最近傍、人工ニューラルネット、および隠れマルコフモデルなど、相関方法を使用し得る。ステップ518の結果は、一致したジェスチャーパターンに関連する識別されたユーザ入力コマンドであり得る。ステップ520において、コンピューティングデバイスは、一致したパターンに関連する識別されたユーザコマンドを実行し得る。ステップ520の一部として、コンピューティングデバイスは、他のユーザインターフェースシステムと同様の方法で、認識されたジェスチャーに対応するユーザインターフェース画像を表示し得る。図18に示すプロセスは、ユーザが特定のジェスチャーを実行するように促され得ることと、ステップ518において抽出された特徴を比較する代わりに、プロセッサが抽出された特徴をデータベースに記憶し得ることとを除いて、トレーニングシーケンスにおいても使用され得る。図19に、反射物体を識別し、その物体の動きを認識するために、方法500の特徴抽出および相関ステップが使用され得る、代替実施方法600を示す。方法500の場合のように、ステップ502~506において、時間的に符号化された超音波信号を生成し、放出し得る。ステップ508~512において、差分チャネルインパルス応答画像を取得するために、超音波信号とユーザの手からの反射とを受信し、処理し得る。ステップ514~516において、認識可能な特徴を抽出するために、差分チャネルインパルス応答画像を、エッジフィルタ処理し、グレーレベル共分散行列を用いて分析し得る。方法500とは異なり、方法600では、ステップ618において、抽出された特徴を使用して、飛行時間計算のための当該の反射点を識別し得る。抽出された特徴に基づく当該の点の選択は、ステップ516において使用されるのと同じ相関方法に依拠し得る。これらの方法は、抽出された特徴を相関させ、強い1次または2次反射体を示すために、使用され得る。強い反射の適切なグルーピングに伴って、1次反射体は、主要な反射体として区別され、識別され得る。ステップ620において、識別された主要な反射点から反射される信号の送信と受信とからの時間差を計算することによって、飛行時間値を判断し得る。ステップ622において、飛行時間値におけるノイジネスを克服するために、カルマンフィルタ処理を含む、上記で説明したのと同じ方法および式を用いて、識別された反射点の座標を計算し得る。ステップ624において、識別された反射点の座標を経時的に追跡し、ステップ624において、座標の変化を計算し、場合によってはユーザ入力ジェスチャーと相関させ得る。ステップ626において、コンピューティングデバイスは、一致したパターンに関連する識別されたユーザコマンドを実行する。ステップ626の一部として、コンピューティングデバイスは、他のユーザインターフェースシステムと同様の方法で、ステップ620~622において判断された3D空間内の認識されたジェスチャーのロケーションを含む、認識されたジェスチャーに対応するユーザインターフェース画像を表示し得る。図19に示すプロセスは、ユーザが特定のジェスチャーを実行するように促され得ることと、ステップ624において抽出された特徴を比較する代わりに、プロセッサが抽出された特徴をデータベースに記憶し得ることとを除いて、トレーニングシーケンスにおいても使用され得る。超音波放出器101と、マイクロフォン102a、102b、および102cとについての例示的な位置を含む、様々な実施形態とともに使用するのに好適なラップトップコンピュータ700の形態の例示的なコンピューティングシステムを図20に示す。多くのラップトップコンピュータは、コンピュータのポインティングデバイスとして働くタッチパッドタッチ面を含む。ラップトップコンピュータ700は、一般に、揮発性メモリ702と、ディスクドライブ703などの大容量不揮発性メモリとに結合されたプロセッサ701を含むものである。コンピュータ700は、プロセッサ701に結合されたフロッピー登録商標ディスクドライブ704とコンパクトディスクCDドライブ705とをも含み得る。コンピュータデバイス700は、USBまたはFireWire登録商標コネクタソケットなど、データ接続を確立することまたは外部メモリデバイスを受けることを行うための、プロセッサ701に結合されたいくつかのコネクタポート、あるいはプロセッサ701をネットワークに結合するための他のネットワーク接続回路706をも含み得る。ノートブック構成では、コンピュータハウジングは、プロセッサ701にすべて結合された、タッチパッド707と、キーボード708と、ディスプレイ709とを含む。超音波送信機101および受信機/マイクロフォン102a~102cは、飛行時間差に基づく3D座標計算を可能にするように選択された、システムハウジング上のロケーションにおいて、ラップトップコンピュータ700と一体化され得る。いくつかの実施形態では、超音波送信機101および受信機/マイクロフォン102a~102cは、他のオーディオ機能のためのコンピューティングデバイススピーカーおよびマイクロフォンとしても働き得る。実施システムまたは実施方法によって判断されたジェスチャーは、コンピュータ700のための入力として働き得、コンピュータ700上のプログラムを制御すること、またはグラフィカルユーザインターフェースと対話することを行うために使用され得る。様々な実施形態では、超音波タッチレス感知能力は、タッチパッド707またはキーボード708を増強するか、またはそれに取って代わり得る。また、セルフォンまたはPDAなどのモバイルデバイスが、様々な実施形態を使用するように構成され得る。様々な実施形態とともに使用するのに好適な典型的なモバイルデバイス800が、図21に示す構成要素を含み得る。たとえば、例示的なモバイル受信機デバイス800は、内部メモリ802とディスプレイ803とスピーカー809とに結合されたプロセッサ801を含み得る。さらに、モバイルデバイス800は、電磁放射を送信および受信するためのアンテナ804を有し得、アンテナ804は、プロセッサ801に結合されたワイヤレスデータリンクおよび/またはセルラー電話トランシーバ805、ならびに/あるいはプロセッサ801に結合されたモバイルマルチメディアブロードキャスト受信機808に接続される。モバイルデバイスは、一般に、ユーザ入力を受け取るためのキーパッド806または小型キーボードおよびメニュー選択ボタンまたはロッカースイッチ807をも含む。これらの入力に加えて、モバイルデバイス800は、タッチレスユーザインターフェースのための実施形態を用いて増強され得る。モバイルデバイス800は、超音波を放出するためにスピーカー804を使用するか、または超音波送信機101などの別個の超音波放出器を組み込み得る。モバイルデバイスは、1つまたは複数の受信機/マイクロフォン102a~102cを通して、反射または他のモバイルデバイスなどから、超音波を受信し得る。プロセッサ701、801は、本明細書で説明する様々な実施形態の機能を含む、様々な機能を実行するようにソフトウェア命令アプリケーションによって構成され得る任意のプログラマブルマイクロプロセッサ、マイクロコンピュータあるいは1つまたは複数の多重プロセッサチップであり得る。一部のモバイルデバイスでは、別個のプロセッサ304など、1つのプロセッサをワイヤレス通信機能専用とし、1つのプロセッサを他のアプリケーションの実行専用とするなど、複数のプロセッサ701、801を設け得る。一般に、ソフトウェアアプリケーションは、アクセスされ、プロセッサ801にロードされる前に、内部メモリ702、802に記憶され得る。一部のモバイルデバイスでは、プロセッサ701、801は、アプリケーションソフトウェア命令を記憶するのに十分な内部メモリを含み得る。本明細書では、メモリへの一般的言及は、内部メモリ702、703、704、802と、デバイスに接続されるリムーバブルメモリと、プロセッサ701、801自体の内部のメモリとを含む、プロセッサ701、801によってアクセス可能なすべてのメモリを指す。さらなる実施形態は、一緒に動作する超音波放出要素と超音波受信要素とで構成された複数のデバイスを伴い得る。図22に示す例示的なシステム900に示すように、2つのモバイルデバイス800a、800bが持続波超音波を介して対話し得る。デバイス800a、800bは、空間において互いの近くに位置し得る。各デバイスは、それ自体の放出器101および受信機102を含み得るが、デバイス800a、800bは、一方のデバイス800aは、デバイスの放出器101がアクティブであり持続波超音波206を放出する、送信モードで動作し、他方のデバイス800bは、デバイスの受信機102a、102b、および102cを介して持続波超音波206を受信する、受信モードにあるように、構成され得る。様々な実施形態に従って持続波超音波206を受信し、処理することによって、受信モードデバイス800bは、放出デバイス800aまでの距離および放出デバイス800aへの方向を判断することができる。実施形態は、放出器デバイス800aと受信機デバイス800bとの間の相対座標、または放出器デバイス800aから受信機デバイス800bまでの距離を判断するための方法をさらに含む。送信モードで動作するモバイルデバイス800a上に実行され得る実施方法1000を図23Aに示す。方法1000では、ステップ1002において、2つのデバイスは、通信して、役割を調整し、タイミングとコーディングとに関する情報を共有し得る。この通信は、Bluetooth登録商標、WiFi、または任意の他の形態のワイヤレスデータ接続など、ワイヤレス通信リンクを介して行われ得る。それらのデバイスは、どちらのデバイスが送信デバイスすなわち、超音波を送信することになるデバイスであることになるか、およびどちらのデバイスが受信デバイスであることになるかすなわち、超音波を受信し、処理することになるかを判断するために調整し、それにより、デバイス間の干渉を防ぎ得る。それらのデバイスはまた、送信デバイスが送信し始めることになる超音波送信フレームのタイミングに関するデータ、ならびに送信されるべきコードに関するデータを共有し得る。この調整が行われると、送信デバイスは、前に説明した実施形態と同様に、ステップ502において、擬似ランダム雑音コード掃引pseudorandomnoisecodesweepを生成し、ステップ504において、スペクトル拡散変調およびパルス圧縮を適用し、ステップ506において、コードを持続波超音波として送信し得る。受信モードで動作するモバイルデバイス800b上に実行され得る実施方法1020を図23Bに示す。方法1020では、ステップ1002において、デバイスは、上記で説明したように、送信/受信役割と、タイミングおよび符号化フォーマットとを調整し得る。次いで、ステップ1004において、受信デバイスは、送信デバイスから空中を通って進む持続波超音波を受信し得る。超音波送信を受信するために、受信デバイスは、一定の範囲内にある必要があり得る。ステップ1006において、受信デバイスは、各受信機において受信された超音波信号を、ステップ1002において交換されたタイミングおよびコード情報に基づいて受信機デバイスプロセッサによって再生され得るような送信信号と相関させ得る。前の実施形態とは異なり、受信機102と放出器101は、同じクロックに接続された同じデバイスの一部ではないので、タイミングに関する情報とコード情報は必要である。相関する信号を使用して、受信デバイスは、ステップ1008において、送信信号が各受信機に到達するための飛行時間を計算し得、ステップ1010において、カルマンフィルタとともに飛行時間値を使用して、座標を判断し得る。飛行時間計算およびカルマンフィルタ処理プロセスは、受信デバイスが反射表面の代わりに送信デバイスの相対座標を判断していることを除いて、他の実施形態に関して上記で説明した方法と同様の方法で実行され得る。デバイス間の相対座標が判断されると、これらの座標は距離または角度方向に数学的に変換され得る。たとえば、2つのデバイス間の距離を判断するために以下の式が使用され得る。この計算では、d2-d1の値は、以下から判断され得る。上式で、であり、また、は、2つのマイクロフォンからの周波数領域信号であり、また、ΨMLは重み係数である。一般化相互相関GCC:generalizedcrosscorrelationの場合、ΨMLf=1である。座標、方向、または距離が判断されると、そのような情報は多くの異なるタスクのために使用され得る。たとえば、ユーザは、ファイル共有向けの正しいデバイスを、送信デバイスに対するそれの相対座標または方向に基づいて選択することができる。ファイル転送のために異なる接続が使用されることになるが、ユーザが知らないことがあるアドレスまたは特殊名に依拠するのではなく、超音波信号を処理することにより判断された座標または方向を使用して、ファイルの宛先または発信元を選択し得る。たとえば、ユーザが、そのようなデバイスを使用する数人の人々とともにある部屋の中にいる場合、ユーザは、ただ周りを見回すことによって、異なるデバイスを区別することができる。ユーザは、デバイスグラフィカルユーザインターフェースを介して、予定受信者と一致する座標または方向のデバイスを選択することによって、左側に立っている友人にファイルを送り、それにより、ファイルを他人に誤って送ることを回避することができる。別の例として、ユーザは、オーディオプレーヤからステレオに曲を転送することを希望することがある。そのステレオが、同様のタッチレスインターフェースをもつ他の機器でいっぱいの部屋の中にある場合、ユーザは、電子レンジまたは食器洗い機ではなく、そのステレオを選ぶために、そのような超音波追跡システムから判断された相対座標または方向に頼ることができる。図22Aおよび図22B中の例示的な方法は、2つ以上のデバイスが様々な実施形態を使用して対話し得る方法のうちのただ1つを示している。別の例として、それらのデバイスは、ユーザの手に代わるデバイスを用いて、前の実施形態において説明した方法と同様の方法で使用され得る。受信デバイスは、送信デバイスの移動を追跡するか、あるいは送信デバイスの移動の特徴またはパターンを抽出し得、これは、様々なコマンドまたは他の通信と相関され得る。上記の方法の説明およびプロセスフロー図は、単に説明のための例として提供したものであり、様々な実施形態のステップが提示された順序で実行されなければならないことを要求または暗示するものではない。当業者なら諒解するように、上記の実施形態におけるステップの順序は、どんな順序でも実行され得る。その後、次いで、次になどの単語は、ステップの順序を限定するものではなく、これらの単語は、単に、読者に方法の説明を案内するために使用される。さらに、たとえば、冠詞a、anまたはtheを使用する単数形の請求項要素への言及は、その要素を単数形に限定するものと解釈すべきではない。本明細書で開示する態様に関して説明した様々な例示的な論理ブロック、モジュール、回路、およびアルゴリズムステップは、電子ハードウェア、コンピュータソフトウェア、または両方の組合せとして実行され得る。ハードウェアとソフトウェアのこの互換性を明確に示すために、様々な例示的な構成要素、ブロック、モジュール、回路、およびステップについて、上記では概してそれらの機能に関して説明した。そのような機能をハードウェアとして実行するか、ソフトウェアとして実行するかは、特定の適用例および全体的なシステムに課せられた設計制約に依存する。当業者は、説明した機能を特定の適用例ごとに様々な方法で実行し得るが、そのような実行の決定は、本発明の範囲からの逸脱を生じるものと解釈すべきではない。本明細書で開示する態様に関して説明した様々な例示的な論理、論理ブロック、モジュール、および回路を実行するために使用されるハードウェアは、汎用プロセッサ、デジタル信号プロセッサDSP、特定用途向け集積回路ASIC、フィールドプログラマブルゲートアレイFPGAまたは他のプログラマブル論理デバイス、個別ゲートまたはトランジスタ論理、個別ハードウェア構成要素、あるいは本明細書で説明した機能を実行するように設計されたそれらの任意の組合せを用いて実行または実行され得る。汎用プロセッサはマイクロプロセッサであり得るが、代替として、プロセッサは任意の従来のプロセッサ、コントローラ、マイクロコントローラ、または状態機械であり得る。プロセッサはまた、コンピューティングデバイスの組合せ、たとえば、DSPとマイクロプロセッサとの組合せ、複数のマイクロプロセッサ、DSPコアと連携する1つまたは複数のマイクロプロセッサ、あるいは任意の他のそのような構成として実行され得る。代替的に、いくつかのステップまたは方法は、所与の機能に固有の回路によって実行され得る。1つまたは複数の例示的な態様では、説明する機能は、ハードウェア、ソフトウェア、ファームウェア、またはそれらの任意の組合せで実行され得る。ソフトウェアで実行される場合、機能は、1つまたは複数の命令またはコードとしてコンピュータ可読媒体上に記憶されるか、あるいはコンピュータ可読媒体を介して送信され得る。本明細書で開示する方法またはアルゴリズムのステップは、有形の非一時的コンピュータ可読媒体またはプロセッサ可読媒体上に常駐し得る、実行されるプロセッサ実行可能ソフトウェアモジュールで実施され得る。非一時的コンピュータ可読およびプロセッサ可読媒体は、コンピュータまたはプロセッサによってアクセスされ得る任意の利用可能な媒体であり得る。限定ではなく、例として、そのような非一時的コンピュータ可読媒体は、RAM、ROM、EEPROM、CD-ROMまたは他の光ディスクストレージ、磁気ディスクストレージまたは他の磁気ストレージデバイス、あるいは命令またはデータ構造の形態で所望のプログラムコードを搬送または記憶するために使用され得、コンピュータによってアクセスされ得る、任意の他の媒体を備え得る。本明細書で使用するディスクdiskおよびディスクdiscは、コンパクトディスクdiscCD、レーザディスクdisc、光ディスクdisc、デジタル多用途ディスクdiscDVD、フロッピーディスクdisk、およびブルーレイ登録商標ディスクdiscを含み、ディスクdiskは、通常、データを磁気的に再生し、ディスクdiscは、データをレーザで光学的に再生する。上記の組合せもコンピュータ可読媒体の範囲内に含めるべきである。さらに、方法またはアルゴリズムの動作は、コンピュータプログラム製品に組み込まれ得る、非一時的プロセッサ可読媒体および/またはコンピュータ可読媒体上のコードおよび/または命令の1つまたは任意の組合せ、あるいはそのセットとして常駐し得る。開示する態様の上記の説明は、当業者が本発明を製作または使用できるように与えたものである。これらの態様への様々な修正は当業者にはすぐに明らかになり、本明細書で定義した一般原理は本発明の範囲から逸脱することなく他の態様に適用され得る。したがって、本発明は、本明細書に示す態様に限定されるものではなく、本明細書で開示する原理および新規の特徴に一致する最も広い範囲を与えられるべきである。"