(57)【特許請求の範囲】
【請求項１】
インターフェースを提供するように構成されたコンピューティングデバイスであって、
プロセッサと、
前記プロセッサと電子通信するメモリと、
前記メモリに記憶された命令と
を備え、前記命令は、
プロジェクタから投影画像を投影し、
カメラを使用して画像をキャプチャし、ここにおいて、前記カメラは可視スペクトルにおいて動作する、
前記コンピューティングデバイスを較正し、
手を検出し、
探索空間において１または複数のトラッキングパターンの中から前記画像に最も良くマッチするトラッキングパターンを決定し、
前記探索空間において前記トラッキングパターンに基づいて前記手をトラッキングし、
操作を実行する
ように実行可能であり、
前記最も良くマッチするトラッキングパターンは、前記操作を実行するために使用されうる前記探索空間内の前記画像に対応するロケーションおよび／または向きを有する、
コンピューティングデバイス。
【請求項２】
前記コンピューティングデバイスを較正することは、
前記投影画像のコーナーを見つけることと、
前記投影画像の座標をデスクトップ空間にマッピングすることと
を含む、請求項１に記載のコンピューティングデバイス。
【請求項３】
前記コンピューティングデバイスを較正することは、手のサイズを決定することを含む、請求項１に記載のコンピューティングデバイス。
【請求項４】
前記手のサイズは、前記投影画像に基づいて決定され、前記投影画像は、複数の楕円を備える、請求項３に記載のコンピューティングデバイス。
【請求項５】
前記手のサイズは、顔認識に基づいて決定される、請求項３に記載のコンピューティングデバイス。
【請求項６】
前記手は、初期対話エリア内で検出される、請求項１に記載のコンピューティングデバイス。
【請求項７】
前記命令は、さらに、
体をトラッキングし、
前記体をトラッキングすることに基づいて前記初期対話エリアを動かす
ように実行可能である、請求項６に記載のコンピューティングデバイス。
【請求項８】
前記命令は、さらに、前記トラッキングパターンが手にマッチすることを決定するように実行可能である、請求項１に記載のコンピューティングデバイス。
【請求項９】
前記命令は、さらに、前記手の動きに基づいて前記探索空間を動的に変化させるように実行可能である、請求項１に記載のコンピューティングデバイス。
【請求項１０】
前記トラッキングパターンは、３つの側部が長方形の明るい外側領域に隣接し、１つの側部が長方形の暗い外側領域に隣接した、長方形の暗い中心領域を備える、請求項１に記載のコンピューティングデバイス。
【請求項１１】
前記操作は、前記手をトラッキングすることに基づいて実行される、請求項１に記載のコンピューティングデバイス。
【請求項１２】
前記命令は、さらに、ジェスチャパターンに基づいて手のジェスチャを認識するように実行可能である、請求項１に記載のコンピューティングデバイス。
【請求項１３】
手のジェスチャを認識することは、さらに
トラッキングされた手が、ある時間期間の間、動きを停止したか否かを決定することと、
トラッキングされた手の画像を固定サイズにスケーリングすることと
を含む、請求項１２に記載のコンピューティングデバイス。
【請求項１４】
前記ジェスチャパターンは、２つの側部が長方形の明るい外側領域に隣接した、長方形の暗い中心領域を備える、請求項１２に記載のコンピューティングデバイス。
【請求項１５】
前記命令は、さらに、前記認識された手のジェスチャに基づいて操作を実行するように実行可能である、請求項１２に記載のコンピューティングデバイス。
【請求項１６】
前記命令は、さらに、前記手のジェスチャが複数のフレームのあるパーセンテージについて認識されるときに操作を実行するように実行可能である、請求項１２に記載のコンピューティングデバイス。
【請求項１７】
前記手のジェスチャは、親指と人差し指との間の角度に基づいて認識され、前記命令は、さらに、前記親指と人差し指との角度に基づいて前記手からカーソルを遠ざけるように実行可能である、請求項１２に記載のコンピューティングデバイス。
【請求項１８】
前記命令は、さらに、前記投影画像の手の周りの領域をより明るく照らすように実行可能である、請求項１に記載のコンピューティングデバイス。
【請求項１９】
前記命令は、さらに、複数の手をトラッキングするように実行可能である、請求項１に記載のコンピューティングデバイス。
【請求項２０】
前記命令は、さらに、複数の手のジェスチャを認識するように実行可能である、請求項１に記載のコンピューティングデバイス。
【請求項２１】
前記命令は、さらに、前記手の影をトラッキングするのを回避するために、前記手をトラッキングする前に前記画像の暗い部分を除去するように実行可能である、請求項１に記載のコンピューティングデバイス。
【請求項２２】
前記命令は、さらに、前記投影画像のあるエリアにおいて前記画像の改善されたフォーカスおよび露出を提供するように実行可能である、請求項１に記載のコンピューティングデバイス。
【請求項２３】
前記操作は、カーソルをリリースする、請求項１５に記載のコンピューティングデバイス。
【請求項２４】
インターフェースを提供するための方法であって、
プロジェクタから投影画像を投影することと、
カメラを使用して画像をキャプチャすることと、ここにおいて、前記カメラは可視スペクトルにおいて動作する、
コンピューティングデバイスを較正することと、
前記コンピューティングデバイスによって手を検出することと、
前記コンピューティングデバイスによって、探索空間において１または複数のトラッキングパターンの中から前記画像に最も良くマッチするトラッキングパターンを決定することと、
前記コンピューティングデバイスによって、前記探索空間において前記トラッキングパターンに基づいて前記手をトラッキングすることと、
前記コンピューティングデバイスによって操作を実行することと
を備え、
前記最も良くマッチするトラッキングパターンは、前記操作を実行するために使用されうる前記探索空間内の前記画像に対応するロケーションおよび／または向きを有する、方法。
【請求項２５】
前記コンピューティングデバイスを較正することは、
前記投影画像のコーナーを見つけることと、
前記投影画像の座標をデスクトップ空間にマッピングすることと
を含む、請求項２４に記載の方法。
【請求項２６】
前記コンピューティングデバイスを較正することは、手のサイズを決定することを含む、請求項２４に記載の方法。
【請求項２７】
前記手のサイズは、前記投影画像に基づいて決定され、前記投影画像は、複数の楕円を備える、請求項２６に記載の方法。
【請求項２８】
前記手のサイズは、顔認識に基づいて決定される、請求項２６に記載の方法。
【請求項２９】
前記手は、初期対話エリアにおいて検出される、請求項２４に記載の方法。
【請求項３０】
体をトラッキングすることと、
前記体をトラッキングすることに基づいて前記初期対話エリアを動かすことと
をさらに備える、請求項２９に記載の方法。
【請求項３１】
前記トラッキングパターンが手にマッチすることを決定することをさらに備える、請求項２４に記載の方法。
【請求項３２】
前記手の動きに動的に基づいて前記探索空間を動的に変化させることをさらに備える、請求項２４に記載の方法。
【請求項３３】
前記トラッキングパターンは、３つの側部が長方形の明るい外側領域に隣接し、１つの側部が長方形の暗い外側領域に隣接した、長方形の暗い中心領域を備える、請求項２４に記載の方法。
【請求項３４】
前記操作は、前記手をトラッキングすることに基づいて実行される、請求項２４に記載の方法。
【請求項３５】
ジェスチャパターンに基づいて手のジェスチャを認識することをさらに備える、請求項２４に記載の方法。
【請求項３６】
手のジェスチャを認識することは、
トラッキングされた手が、ある時間期間の間、動きを停止したか否かを決定することと、
トラッキングされた手の画像を固定サイズにスケーリングすることと
をさらに含む、請求項３５に記載の方法。
【請求項３７】
前記ジェスチャパターンは、２つの側部が長方形の明るい外側領域に隣接した、長方形の暗い中心領域を備える、請求項３５に記載の方法。
【請求項３８】
前記認識された手のジェスチャに基づいて操作を実行することをさらに備える、請求項３５に記載の方法。
【請求項３９】
前記手のジェスチャが複数のフレームのあるパーセンテージについて認識されるときに操作を実行することをさらに備える、請求項３５に記載の方法。
【請求項４０】
前記手のジェスチャは、親指と人差し指との間の角度に基づいて認識され、前記方法は、さらに、前記親指と人差し指との間の角度に基づいて前記手からカーソルを遠ざけることを含む、請求項３５に記載の方法。
【請求項４１】
前記投影画像の手の周りの領域をより明るく照らすことをさらに備える、請求項２４に記載の方法。
【請求項４２】
複数の手をトラッキングすることをさらに備える、請求項２４に記載の方法。
【請求項４３】
複数の手のジェスチャを認識することをさらに備える、請求項２４に記載の方法。
【請求項４４】
前記手の影をトラッキングするのを回避するために、前記手をトラッキングする前に前記画像の暗い部分を除去することをさらに備える、請求項２４に記載の方法。
【請求項４５】
前記投影画像のあるエリアにおいて前記画像の改善されたフォーカスおよび露出を提供することをさらに備える、請求項２４に記載の方法。
【請求項４６】
前記操作は、カーソルをリリースする、請求項３８に記載の方法。
【請求項４７】
インターフェースを提供するためのコンピュータプログラムプロダクトであって、前記コンピュータプログラムプロダクトは、命令をその上に有する非一時的な有形のコンピュータ可読媒体を備え、前記命令は、
コンピューティングデバイスに、プロジェクタから投影画像を投影させるためのコードと、
前記コンピューティングデバイスに、カメラを使用して画像をキャプチャさせるためのコードと、ここにおいて、前記カメラは可視スペクトルにおいて動作する、
前記コンピューティングデバイスに、前記コンピューティングデバイスを較正させるためのコードと、
前記コンピューティングデバイスに、手を検出させるためのコードと、
前記コンピューティングデバイスに、探索空間において１または複数のトラッキングパターンの中から前記画像に最も良くマッチするトラッキングパターンを決定させるためのコードと、
前記コンピューティングデバイスに、前記探索空間において前記トラッキングパターンに基づいて前記手をトラッキングさせるためのコードと、
前記コンピューティングデバイスに、操作を実行させるためのコードと
を備え、
前記最も良くマッチするトラッキングパターンは、前記操作を実行するために使用されうる前記探索空間内の前記画像に対応するロケーションおよび／または向きを有する、コンピュータプログラムプロダクト。
【請求項４８】
前記手は、初期対話エリアにおいて検出される、請求項４７に記載のコンピュータプログラムプロダクト。
【請求項４９】
前記命令は、前記コンピューティングデバイスに、ジェスチャパターンに基づいて手のジェスチャを認識させるためのコードをさらに備える、請求項４７に記載のコンピュータプログラムプロダクト。
【請求項５０】
インターフェースを提供するための装置であって、
プロジェクタから投影画像を投影するための手段と、
カメラを使用して画像をキャプチャするための手段と、ここにおいて、前記カメラは可視スペクトルにおいて動作する、
前記装置を較正するための手段と、
手を検出するための手段と、
探索空間において１または複数のトラッキングパターンの中から前記画像に最も良くマッチするトラッキングパターンを決定するための手段と、
前記探索空間において前記トラッキングパターンに基づいて前記手をトラッキングするための手段と、
操作を実行するための手段と
を備え、
前記最も良くマッチするトラッキングパターンは、前記操作を実行するために使用されうる前記探索空間内の前記画像に対応するロケーションおよび／または向きを有する、装置。
【請求項５１】
前記手は、初期対話エリアにおいて検出される、請求項５０に記載の装置。
【請求項５２】
ジェスチャパターンに基づいて手のジェスチャを認識するための手段をさらに備える、請求項５０に記載の装置。
【発明の詳細な説明】
【関連出願】
【０００１】
本願は、２０１０年４月１日に出願された「投影画像を使用するコンピューティングデバイスインターフェース（A COMPUTING DEVICE INTERFACE USING A PROJECTED IMAGE）」と題する米国仮出願第６１／３２０，１５８号に関し、その優先権を主張する。
【技術分野】
【０００２】
本開示は、一般に電子デバイスに関する。より詳細には、本開示は、コンピューティングデバイスインターフェースに関する。
【背景技術】
【０００３】
過去数十年、電子デバイスの使用は、一般的になってきた。特に、電子テクノロジの進歩は、ますます複雑化し有用性を増している電子デバイスのコストを削減してきた。コストの削減および消費者の需要は、電子デバイスが現在の社会において事実上ユビキタスになるほどに電子デバイスの使用を激増させた。電子デバイスの使用が拡大するにつれ、電子デバイスの新しい改善された特徴に対する需要も拡大した。より詳細には、より迅速に、より効率的に、またはより高い品質で機能を実行する電子デバイスが、しばしば求められている。
【０００４】
多くの電子デバイスは、動作中に１または複数のインターフェースを使用する。例えば、コンピュータは、しばしば、対話（interaction）のためのユーザ入力を得るために、キーボードおよびマウスを使用する。他の電子デバイスは、対話のためのユーザ入力を得るために、タッチスクリーンおよび／またはタッチパッドを使用する。これらのインターフェースの多くは、ハードウェアの一部との直接的な物理的対話を必要とする。例えば、ユーザは、キーボードを介してテキストまたはコマンドを入力するために、キーボードをタイプしなければならない。ユーザは、マウスを介してコンピュータと対話するために、マウス上の１または複数のボタンを物理的に動かし、および／または押さなければならない。
【０００５】
いくつかの場合において、入力またはコマンドをコンピューティングデバイスに提供するためにハードウェアの一部と直接的に対話することは、不便である、または最適とはいえない可能性がある。例えば、投影プレゼンテーションを行うユーザにとって、対話が望まれるたびにコンピュータに戻ることは不便となりうる。さらに、プレゼンテーションを行う間ずっとマウスやワンド（wand）のようなインターフェースデバイスを持ち運ぶことは、ユーザが方向パッドを押すことによって入力を提供しなければならないとき、またはユーザがインターフェースデバイスの操作方法に不慣れなときには、不便となりうる。この議論で示されるように、コンピューティングデバイスインターフェースを提供する、改善されたシステムおよび方法が有益でありうる。
【発明の概要】
【０００６】
インターフェースを提供するように構成されたコンピューティングデバイスが開示される。コンピューティングデバイスは、プロセッサと、メモリに記憶された命令とを含む。コンピューティングデバイスは、プロジェクタから投影画像を投影し、カメラを使用して画像をキャプチャする。カメラは、可視スペクトルにおいて動作する。コンピューティングデバイスは、自身を較正し、手（hand）を検出する。コンピューティングデバイスは、また、探索空間においてトラッキングパターンに基づいて手をトラッキングし、操作を実行する。
【０００７】
コンピューティングデバイスを較正することは、投影画像のコーナーを見つけること、および投影画像の座標をデスクトップ空間にマッピングすることを含みうる。コンピューティングデバイスを較正することは、手のサイズを決定することを含みうる。手のサイズは、投影画像に基づいて決定されることができ、この投影画像は、複数の楕円を含む。手のサイズは、顔認識に基づいて決定されうる。手は、初期対話エリアで検出されうる。
【０００８】
コンピューティングデバイスは、さらに、体（body）をトラッキングし、体をトラッキングすることに基づいて初期対話エリアを動かすことができる。コンピューティングデバイスは、さらに、トラッキングパターンが手にマッチしたことを決定することができる。コンピューティングデバイスは、さらに、手の動きに基づいて探索空間を動的に変化させることができる。トラッキングパターンは、３つの側部が長方形の明るい外側領域に隣接し、１つの側部が長方形の暗い外側領域に隣接した、長方形の暗い中心領域を含みうる。
【０００９】
操作は、手をトラッキングすることに基づいて実行されうる。コンピューティングデバイスは、さらに、ジェスチャパターンに基づいて手のジェスチャを認識することができる。手のジェスチャを認識することは、トラッキングされた手が、ある時間期間の間、動きを停止したか否かを決定すること、およびトラッキングされた手の画像を固定サイズにスケーリングすることを含みうる。ジェスチャパターンは、２つの側部が長方形の明るい外側領域に隣接した、長方形の暗い中心領域を含みうる。
【００１０】
コンピューティングデバイスは、さらに、認識された手のジェスチャに基づいて操作を実行することができる。コンピューティングデバイスは、さらに、手のジェスチャがいくつかのフレームのあるパーセンテージについて認識されたときに操作を実行することができる。
【００１１】
手のジェスチャは、親指と人差し指との間の角度に基づいて認識されることができ、コンピューティングデバイスは、さらに、親指と人差し指との間の角度に基づいて、カーソルを手から遠ざけることができる。
【００１２】
コンピューティングデバイスは、さらに、投影画像の手の周りの領域をより明るく照らすことができる。コンピューティングデバイスは、さらに、複数の手をトラッキングすることができる。コンピューティングデバイスは、さらに、複数の手のジェスチャを認識することができる。コンピューティングデバイスは、さらに、手の影をトラッキングすることを回避するために、手をトラッキングする前に画像の暗い部分を除去することができる。コンピューティングデバイスは、さらに、投影画像のあるエリアにおいて、画像の改善されたフォーカスおよび露出を提供することができる。操作は、カーソルをリリースすることができる。
【００１３】
インターフェースを提供するための方法が、また、開示される。方法は、プロジェクタから投影画像を投影すること、およびカメラを使用して画像をキャプチャすることを含む。カメラは、可視スペクトルにおいて動作する。方法は、また、コンピューティングデバイスを較正すること、および手を検出することを含む。方法は、また、探索空間においてトラッキングパターンに基づいて手をトラッキングすること、および操作を実行することを含む。
【００１４】
インターフェースを提供するためのコンピュータプログラムプロダクトが、また、開示される。コンピュータプログラムプロダクトは、命令を備える非一時的な有形のコンピュータ可読媒体を含む。命令は、コンピューティングデバイスに、プロジェクタから投影画像を投影させ、カメラを使用して画像をキャプチャさせるためのコードを含む。カメラは、可視スペクトルにおいて動作する。命令は、また、コンピューティングデバイスに、そのコンピューティングデバイスを較正させ、手を検出させるためのコードを含む。命令は、また、コンピューティングデバイスに、探索空間においてトラッキングパターンに基づいて手をトラッキングさせ、操作を実行させるためのコードを含む。
【００１５】
インターフェースを提供するための装置が、また、開示される。装置は、プロジェクタから投影画像を投影し、カメラを使用して画像をキャプチャするための手段を含む。カメラは、可視スペクトルにおいて動作する。装置は、また、コンピューティングデバイスを較正し、手を検出するための手段を含む。装置は、また、探索空間においてトラッキングパターンに基づいて手をトラッキングし、操作を実行するための手段を含む。
【図面の簡単な説明】
【００１６】
【図１】図１は、コンピューティングデバイスインターフェースがそこにおいてインプリメントされうるコンピューティングデバイスの１つの構成を示すブロック図である。
【図２】図２は、カメラ、コンピューティングデバイス、およびプロジェクタを含む電子デバイスの１つの構成を示すブロック図である。
【図３】図３は、コンピューティングデバイスインターフェースがそこにおいてインプリメントされうるコンピューティングデバイスのより詳細な構成を示すブロック図である。
【図４】図４は、コンピューティングデバイスインターフェースを提供するための方法の１つの構成を示すフロー図である。
【図５】図５は、コンピューティングデバイスインターフェースを提供するための方法のより詳細な構成を示すフロー図である。
【図６】図６は、投影空間におけるチェッカード（checkered）またはチェスボード（chessboard）パターンの１つの構成を示す図である。
【図７】図７は、デスクトップ空間への投影空間のマッピングを示す図である。
【図８】図８は、手のサイズ較正のための画像を示す図である。
【図９】図９は、コンピューティングデバイスインターフェースを提供するための方法の別のより詳細な構成を示すフロー図である。
【図１０】図１０は、コンピューティングデバイスインターフェースを提供するための方法の別のより詳細な構成を示すフロー図である。
【図１１Ａ】図１１Ａは、本明細書に開示されるシステムおよび方法にしたがって使用されうるＨａａｒパターンの１つの例を示す。
【図１１Ｂ】図１１Ｂは、本明細書に開示されるシステムおよび方法にしたがって使用されうるＨａａｒパターンの別の例を示す。
【図１１Ｃ】図１１Ｃは、本明細書に開示されるシステムおよび方法にしたがって使用されうるＨａａｒパターンの別の例を示す。
【図１１Ｄ】図１１Ｄは、本明細書に開示されるシステムおよび方法にしたがって使用されうるＨａａｒパターンの別の例を示す。
【図１１Ｅ】図１１Ｅは、本明細書に開示されるシステムおよび方法にしたがって使用されうるＨａａｒパターンの別の例を示す。
【図１２】図１２は、コンピューティングデバイスインターフェースを提供するための方法の別のより詳細な構成を示すフロー図である。
【図１３】図１３は、コンピューティングデバイスインターフェースを提供するための方法の別のより詳細な構成を示すフロー図である。
【図１４Ａ】図１４Ａは、本明細書に開示されるシステムおよび方法にしたがって使用されうるＨａａｒパターンの１つの例を示す図である。
【図１４Ｂ】図１４Ｂは、本明細書に開示されるシステムおよび方法にしたがって使用されうるＨａａｒパターンの別の例を示す図である。
【図１４Ｃ】図１４Ｃは、本明細書に開示されるシステムおよび方法にしたがって使用されうるＨａａｒパターンの別の例を示す図である。
【図１４Ｄ】図１４Ｄは、本明細書に開示されるシステムおよび方法にしたがって使用されうるＨａａｒパターンの別の例を示す図である。
【図１５】図１５は、電子デバイスで利用されうる様々なコンポーネントを示す。
【図１６】図１６は、ワイヤレス通信デバイス内に含まれうる特定のコンポーネントを示す。
【詳細な説明】
【００１７】
本明細書で使用されるとき、「ワイヤレス通信デバイス（wireless communication device）」という用語は、一般に、基地局または他の電子デバイスとワイヤレスで通信しうる電子デバイス（例えば、アクセス端末、クライアントデバイス、クライアント局など）を表す。ワイヤレス通信デバイスは、代わりに、モバイルデバイス、モバイル局、加入者局、ユーザ機器（ＵＥ）、リモート局、アクセス端末、モバイル端末、端末、ユーザ端末、加入者ユニットなどとも呼ばれうる。ワイヤレス通信デバイスの例は、ラップトップまたはデスクトップコンピュータ、セルラ電話、スマートフォン、ワイヤレスモデム、電子リーダ、タブレットデバイス、ゲーミングシステムなどを含む。ワイヤレス通信デバイスは、１または複数の業界標準（例えば、第３世代パートナーシッププロジェクト（３ＧＰＰ：3rd Generation Partnership Project）、Ｗｉ−Ｍａｘ、電気電子技術者協会（ＩＥＥＥ：Institute of Electrical and Electronics Engineers）８０２．１１、または、Ｗｉ−Ｆｉなど）にしたがって動作しうる。このように、「ワイヤレス通信デバイス」という一般用語は、業界標準による様々な名称（例えば、アクセス端末、ユーザ機器（ＵＥ）、リモート端末など）で記述されるワイヤレス通信デバイスを含みうる。
【００１８】
本明細書に開示されるシステムおよび方法は、リアルタイムの手のトラッキングおよび／またはジェスチャインターフェースを提供する。このインターフェースは、コンピューティングデバイス（例えば、スマートフォンやラップトップなど、プロセッサとメモリとを備えた電子デバイス）、カメラ（例えば、相補型金属酸化膜半導体（ＣＭＯＳ：Complementary Metal-Oxide-Semiconductor）センサまたはカメラ、電荷結合素子（ＣＣＤ：Charge-Coupled Device）センサまたはカメラ、ウェブカムなど、可視スペクトルにおいて動作するカメラ）、およびプロジェクタ（例えば、ピコプロジェクタ、標準プロジェクタなど）の組み合わせが、表面（例えば、壁、スクリーン、ホワイトボードなど）を対話型表面（interactive surface）として使用することを可能にする。１つの構成では、コンピューティングデバイスは、較正され、手を検出し、その手をトラッキングし、ジェスチャを認識して、このインターフェースを提供する。本明細書に開示されるシステムおよび方法のテストは、多くの皮膚のような色または大量の動きを有するコンテンツとユーザが対話しているときのような様々な困難な環境でそれらがうまく機能することを示している。
【００１９】
今日、プロジェクタは、他の幾人かと視覚コンテンツを共有するために、個人によって広く使用されている。投影システムは、通常、入力ソース（例えば、ラップトップコンピュータなど）を使用し、しばしば、少なくとも一人の個人に、実行中のアプリケーションを制御することを要求する。従来のアプリケーションでは、この個人は、しばしば、次のスライドまたは前のスライドへとプレゼンテーションを進め、コンテンツの一部をハイライトし、関心領域を描き、ズームインまたはズームアウトし、ビデオクリップを再生または一時停止し、ユーザインターフェース（ＵＩ）エレメントをクリックするなどのため、コンピュータのマウスおよびキーボードにアクセスするためにラップトップの横に座る。
【００２０】
多くの状況においてコンピュータの隣に座っていることは許容可能であるが、プレゼンタが、共有されているコンテンツの隣に立ち、すべての観客と向き合いながら観客に話しかけることを好む場合もある。残念なことに、これは、実行中のアプリケーションを制御するためにスクリーンとコンピュータの間を絶えず行き来することをプレゼンタに要求する可能性がある。
【００２１】
したがって、ユーザが投影画像の近くまたは投影画像内に立ちながらコンピューティングデバイスを制御することを可能にする、システムおよび方法を開発することが有益である。より高いレベルの共同作業（collaboration）に参加するために、遠くからコンピューティングデバイスを制御する機会を観客メンバに与えることが、さらに有利である。
【００２２】
プロジェクタ−コンピューティングデバイスの装置（rig）にユーザが拘束されないことを可能にする、いくつかのハンドヘルドリモート制御装置が存在する。しかしながら、低価格から中程度の価格のバージョンは、しばしば、限定された機能を有し、ユーザが、表面上に自由に描くこと、ハイライトすること、コピーすること、ペーストすること、またはＵＩエレメントと対話することを可能にしない。コストにかかわらず、そのようなシステムは、通常、プロセスへの積極的な参加者となることを望む部屋の中にいるすべての人に、その人自身のデバイスを持つことを要求し、それは、常に可能であるとは限らないことである。
【００２３】
人が、しばしば、互いに通信する手段として、また、彼らの周りの世界の対象物（object）を移動させるおよび形作る手段として、日常生活で手のジェスチャを使用することを考えると、参加者が彼らの手を使用してコンピューティングデバイスを遠隔制御できるようにすることは有益でありうる。例えば、セッションにおいて積極的な参加者になることを望むユーザは、自身の手を使用して、投影コンテンツを描き、ハイライトし、ズームインし、コピーし、ペーストし、および／または、ドラッグおよびドロップすることができる。１つの構成では、投影されているコンテンツは、ピコプロジェクタが組み込まれたスマートフォンからのものである。例えば、一部のスマートフォンは、ピコプロジェクタおよびカメラを備えることができる。
【００２４】
本明細書において開示されるシステムおよび方法は、プロジェクタとともに使用するための手ジェスチャ認識システムを記述する。例えば、本明細書で開示されるシステムおよび方法は、今日のラップトップおよびモバイル電話の多くで一般的となってきているカメラを使用することができる。これらのカメラは、テレビ会議をするまたは写真を撮るために含められてきたものでありうるが、オンボードセンサ（例えば、カメラ）は、マウスまたはキーボードの代わりの入力デバイスとして使用されることができる。例えば、本明細書に開示されるシステムおよび方法は、個人が、任意の壁をより高いレベルの共同作業空間へと変える機会を提供しうる。これは、多くのスマートフォンが、手をトラッキングするために使用できるカメラだけでなく、中程度の明るさの部屋において４フィートの対角線画像を作り出すのに十分である１５ルーメンを投影可能なピコプロジェクタも備えているので、可能でありうる。
【００２５】
本明細書で開示されるシステムおよび方法の１つの構成によれば、投影エリアのコンテンツ全体は、カメラの視野の中に置かれ、較正ステージ（例えば、１５秒続く）は、セッションが始まる前に完了される。
【００２６】
本開示は、以下のとおり、手のジェスチャ認識の分野におけるいくつかの従来式のアプローチについて説明する。手の検出は、特に、その複雑性のレベルを考えると、コンピュータビジョンにおけるアクティブリサーチのエリアである。多くの良いソリューションが今日存在する顔検出と比較したときには、すべての環境でうまく機能する手の検出およびトラッキングシステムを構築することは、いくつかの理由から困難であった。
【００２７】
第１に、開いた手は、前向きのカメラに対して、人間の顔のほぼ半分のサイズであり、それは、同じ解像度でのフィーチャトラッキングをより困難にする。ビデオグラフィックスアレイ（ＶＧＡ：Video Graphics Array）解像度では、部屋の１０フィート向こうからの手のトラッキングは、認識システムによる使用のために、ほぼ２０ピクセルの幅を提供する。これは、顔検出アルゴリズムに利用可能なデータの約半分である。さらに、顔とは異なり、手は、良いトラッキングのために有用な、ユニークなフィーチャをほとんど有していない。カメラ−プロジェクタのシナリオでは、スクリーンのところにいるユーザが、ユーザがそれと対話することを望むコンテンツを見るために、および、それと対話するためにユーザの指先（ユーザの指の爪の代わりに）を使用できるようにするために、ユーザは、カメラに対して背を向けて立たなければならない。これは、（顔とは異なり）ユニークなフィーチャをわずかしかもたない手の甲（back of the hand）をトラッキングすることを要求しうる。加えて、その複数の間接が首よりも高い自由度を提供する長い肢に手が付着していることを考えると、人の手が空間内を自由に動く方式は、顔のトラッキングよりも多くの課題をもたらしうる。
【００２８】
多くの手ジェスチャシステムが、コンピューティングデバイスとのヴィジョンベースの対話について提案されてきた。１つのジェスチャシステムでは、モビリティを目的としたリアルタイムの手ジェスチャシステムが提案された。そのシステムで使用される主要なフィーチャは、カナデ、ルーカス、トマシ（ＫＬＴ：Kanade, Lucas and Tomasi）フィーチャであり、これは、検出されたエリアからの「トラッキングに良好な（good-to-track）」皮膚の色のスポット上に置かれる。ＫＬＴフィーチャは、カナデ（Kanade）、ルーカス（Lucas）、およびトマシ（Tomasi）にちなんで名づけられ、彼らは、少なくとも２つの方向に沿う急激な明るさ（brightness）勾配が、トラッキング目的のための有望なフィーチャを生み出すことを見つけた。オープンコンピュータヴィジョン（ＯｐｅｎＣＶ：Open Computer Vision）のアプリケーションプログラミングインターフェース（ＡＰＩ：Application Programming Interface）機能（例えば、cvGoodFeaturesToTrack and cvCalcOpticalFlowPyrLK）においてインプリメントされるアルゴリズムを用いた実験は、ユーザの手がカメラから数フィート以上離れた状況については、良い結果を生み出さなかった。
【００２９】
疑似２次元の隠れマルコフモデル（Hidden Markov Model）を使用する、より複雑かつ計算的に非効率的な別の手ジェスチャ認識アルゴリズムが提供されている。様々な投影コンテンツ下での人間の皮膚の色相の変化に対するテストが広い色域（wide gamut）を示したので、そのようなシステムは、カメラ−プロジェクタシナリオではうまく機能しないであろう。例えば、カメラによって見られる異なる投影光（これは、広い色域でありうる）の下の皮膚は、皮膚のトーン検出ベースの方法を効果のないものにしうる。
【００３０】
さらに別のアプローチが、カメラ−プロジェクタシステムについて、リアルタイムの手ジェスチャアルゴリズムを提案した。較正ステージの間、パースペクティブ歪み（perspective distortion）は、カメラと投影スクリーンとの座標間での多項ワーピング（polynominal warping）によってモデル化された。検出およびトラッキングは、背景分割（background segmentation）に基づいた。しかし、そのようなアプローチは、静的な背景を要求し、それは、本明細書に開示されるシステムおよび方法については保障されないものである。
【００３１】
本明細書に開示されるシステムおよび方法の設計における１つの動機は、今日のモバイル電話に見られる今日の組み込み型プロセッサ上でリアルタイム性能（例えば、５０ミリ秒（ｍｓ）未満の応答時間）を達成できるシステムを設計することであった。したがって、別のアプローチは、複雑性のレベルが原因で機能しないであろう。そのアプローチは、２つのＶＧＡ画像（１つは投影画像であり、もう１つはカメラがスクリーン上でこの画像をどう見るかである）を読み取り、実際の画像への適切なレジストレーションのためにカメラからの画像をクロップし、ワープし、色補正し、次いで、差分画像によって生み出されたシルエット内で複数の手を探索するという要件を含んでいた。そのアプローチは、知覚されるリアルタイム性能のための５０ｍｓ未満という要件について実行可能であるようには思われなかった。
【００３２】
ユーザの負担になることを回避するために、飛行時間（ＴＯＦ：time-of-flight）カメラ、赤外（ＩＲ）光下で機能するカメラを必要とする他のタイプのシステム、ステレオカメラ、または特殊なグローブを装着することもしくは指に色付きキャップをはめることをユーザに要求するカメラに頼るアプローチは、考慮されなかった。換言すると、本明細書に開示されるシステムおよび方法は、ユーザが特殊なグローブまたは色付きキャップを装着することを要求せず、また、ユーザが自身の手に印を付けることを要求しない。さらに、ＩＲまたはＴＯＦカメラは、デバイスのバッテリに負担をかける、または比較的大量のエネルギを消費するので、本明細書に開示されるシステムおよび方法は、これらＩＲまたはＴＯＦカメラを必要としない。加えて、本明細書に開示されるシステムおよび方法は、複数の（例えば、ステレオ）カメラの使用を必要としない。本明細書に開示されるシステムおよび方法によって達成される１つの目標は、トラッキングおよび／または対話における正確さである。例えば、本明細書に開示されるシステムおよび方法は、グラフィカルユーザインターフェース（ＧＵＩ：Graphical User Interface）上の小さなボタンと対話するのに十分な解像度を提供する。
【００３３】
以下は、本明細書に開示されるシステムおよび方法の１つの例示的な構成である。この構成では、４つの異なるステージが記述される：投影画像からコンピューティングデバイスのディスプレイ空間へと座標をマッピングし、手のサイズを決定する、２ステップの較正ステージ、手の検出が実行されるステージ（これによって、ユーザがトラッキングプロセスを開始できるようになる）、パターン（例えば、Ｈａａｒフィーチャ）に基づいて手をトラッキングするために使用されるステージ、およびジェスチャ認識ステージ。ジェスチャ認識ステージでは、例えば、指認識は、コンピューティングデバイスのマウス上の左のボタンにマッピングされたパターン（例えば、４つのパターンまたはＨａａｒフィーチャ）に基づく。ライブデモ（Live demo）は、本明細書に開示されるシステムおよび方法が、多種多様なコンテンツについてうまく機能することを示している。
【００３４】
ユーザを任意の新しいアクティビティに参加させる１つの因子は、それによってユーザが楽しい感覚を瞬時に経験できる低い学習曲線をシステムのいくつかの態様に提供することである。ユーザの感情が最初の喜びという気持ちからくるときには、ユーザは、システムを学ぶことにより多くの時間を費やすことを決定し、場合によってはパワーユーザにさえなりうる。
【００３５】
本明細書に開示されるシステムおよび方法が新しいユーザのためのトレーニングを最小限に抑え、またさらに、高いレベルの機能を提供するために、このシステムおよび方法は、多くのユーザが自身の机に座るときにはすでに自身のコンピュータを使用していることを反映する。そのセッティングでは、ユーザは、はじめにコンピューティングデバイスのマウスに手を伸ばし、自身の手をその上に置き、カーソルをディスプレイ上の所望のロケーションへとマッピングする、テーブル上のあるロケーションへとそれを動かし、マウスのボタンの１つを押して、何らかの所望のタスクを成し遂げることができる。本明細書に開示されるシステムおよび方法は、１つの構成では同様に機能する。例えば、ユーザは、投影画像またはディスプレイに歩いて行き、何らかの初期対話エリア（例えば、人差し指を伸ばした状態で（左のマウスボタンの上にあるように）、仮想の「マウスパッド」として指定されたエリア）から仮想マウスを「ピックアップ」し、スクリーン上でユーザ自身の手を所望のロケーションに動かし、その間にはカーソルがユーザの手にしたがっており、次いで、ユーザインターフェース（ＵＩ）エレメント上で「クリック」または「クリック、ホールド、ドラッグ」または「クリックをリリース」することができる。
【００３６】
例えば、ユーザは、２つの直観的なジェスチャ、すなわち、ユーザが左マウスボタン上に自身の人差し指を置いた状態で自身の手をコンピュータマウス上に置いていることをシミュレートするための、人差し指を伸ばして握った手、ならびに、クリックまたはクリック・アンド・ホールド操作をシミュレートするための人差し指が隠された状態の同様のジェスチャを学ぶことができる。「マウスボタン」をリリースすることは、レストポジション（resting position）に戻るために、隠されていた指を現す（revealing the finger）ことによって達成される。このように、これらのジェスチャは、多くのユーザにとって学ぶことが容易または直観的でありうる。
【００３７】
本明細書に開示されるシステムおよび方法は、正確であり、ほぼリアルタイムで実行することができる。例えば、本明細書のシステムおよび方法の１つの目標は、５０ｍｓ未満で手の位置を特定することを可能にし、ユーザが、通常の投影セットアップにおいてＭｉｃｒｏｓｏｆｔ  Ｗｉｎｄｏｗｓ  Ｖｉｓｔａ（登録商標）のスタートメニュー（例えば、投影画像は、幅が９０インチで高さが６５インチ）上のＵＩエレメントを選択できるように十分に正確になることであった。本明細書のシステムおよび方法のための別の目標は、ゼロまたは最小限の較正を使用することであった。さらに、システムおよび方法が、例えば、ＶＧＡ解像度カメラを備えた電話もしくはラップトップおよびプロジェクタを超える、より高性能の機器の使用を必要としないことが望まれた。このように、本明細書に開示されるシステムおよび方法の使用の単純さおよび容易さは、ユーザがそれらを使用することを促進する。
【００３８】
本明細書に開示されたシステムおよび方法の１つの構成は、以下に記述されるような、較正、手の検出、手のトラッキング、およびジェスチャ認識を含む。較正は、カメラ−プロジェクタのペアの構成のために使用されうる。投影空間と呼ばれる、カメラの視点からキャプチャされた投影コンテンツの座標は、デスクトップ空間座標と呼ばれる、コンピューティングデバイスのディスプレイ上の座標にマッピングされる。例えば、投影空間におけるコーナーＡ、Ｂ、Ｃ、Ｄは、デスクトップ空間におけるコーナーＡ’、Ｂ’、Ｃ’、Ｄ’にマッピングされうる。「デスクトップ空間座標」と呼ばれるが、このマッピングは、コンピューティングデバイスのディスプレイ、すなわち「デスクトップ」の全体を占める、または占めないことがありうる。カメラによってキャプチャされた画像は、デスクトップ空間の座標に対してロケーションおよびスケールの差を生じることがあり、また、対象物（objects）が３次元（３Ｄ）環境の２次元（２Ｄ）投影であるので、パースペクティブ歪みを生じることがある。
【００３９】
変換行列を生成するために、本明細書に開示されるシステムおよび方法の１つの構成は、１回限りの較正を用いる。較正のための既知の画像が投影される。例えば、チェッカードまたはチェスボードパターンが投影空間へと投影されることができる。チェッカードまたはチェスボード画像の４つのコーナーが見つけられることができる（例えば、ＯｐｅｎＣＶのcvFindChessboardCorners()関数を用いて）。これらのポイントは、次いで、投影空間の実際の座標を探すために使用されることができる。較正プロセスがうまく完了するためには、投影されているコンテンツは、１つの構成では、全体がカメラの視野内にある。
【００４０】
本明細書に開示されるシステムおよび方法は、また、正確なトラッキングのために手のサイズを決定することができる。カメラによって見られる手のサイズを決定する支配的な因子は、プロジェクタが作り出すことのできる画像がどれほど大きいかである。プロジェクタが強力であるほど、プロジェクタは、可能な最大の画像を作り出すためにスクリーンからさらに遠く離れて設置されることができ、これは、また、カメラがスクリーンからさらに離れて設置されることを要求しうる。１つの構成では、異なる半径の円を有する画像が投影される。ユーザは、一定時間（例えば、２秒間）最も密接な適合（tightest fit）をもたらす円の中にユーザの閉じた握り拳を置く。強度の変化に基づいて、ユーザが選択した円が識別されうる。
【００４１】
本明細書に開示されるシステムおよび方法は、手を検出するために使用されることができる。例えば、ユーザの手は、初期対話エリア、または仮想「マウスパッド」と呼ばれる投影空間のマークされたエリア内に置かれたときに検出される。これは、手のトラッキングを開始しうる。１つの構成では、仮想マウスパッドは、スクリーンの右下のコーナーにあり、較正段階の間に決定された手のサイズよりも４倍大きい。コンピューティングデバイスが動作している間、それは、このマークされたエリア内に入ってくるピクセル値を前のフレームの対応するピクセルと絶えず異なるものにしている。輝度（luma）または明度（luminosity）チャネルで観察された差の合計が固定の閾値を上回るときには、手のトラッキング段階に入り、それは、その変化が実際に手に起因するものであることを保証することから始まる。
【００４２】
本明細書に開示されるシステムおよび方法は、１または複数の手をトラッキングするために使用されることができる。例えば、本明細書で開示されるシステムおよび方法は、人の皮膚が、通常、スクリーン、塗装された壁、ホワイトボードなど、周囲のエリアに見られる材料よりも多くの光を吸収するという事実を使用することができる。これを前提として、いくつかのパターン（例えば、５つの新しいＨａａｒフィーチャ）が、皮膚ではない材料と比べて、投影光下の手の甲および手首に類似した反射特性（reflectance property）を有する対象物を探すために使用されうる。
【００４３】
１つの構成では、パターン（例えば、５つのフィルタまたはＨａａｒフィーチャ）の各々が、画像内の最後に知られている手のロケーションにおいて、測定された手のサイズよりも４倍大きいエリアをカバーするデータに適用される。この構成では、探索空間は、左から右に、上から下に、ピクセルごとにスキャンされる。所与のフィルタについて明るい灰色のエリアの合計と、対応する暗い灰色のエリアの合計との間の、最大の差を有するパターンが選択される。次に、最良適合（best fit）のフィルタが、閾値（例えば、予め決められた、またはオフラインで計算された）のセットに対してチェックされる。より具体的には、より明るいエリアまたは領域（例えば、３つの領域「１」、「２」、「３」）内の平均ピクセル値（例えば、輝度、強度など）は、第１のより暗いエリアまたは領域（例えば、「５」）におけるそれらに、１閾値（例えば、２０の輝度または強度レベル―さらなる詳細は後述する）を足したものよりも大きい。第２のより暗いエリア（例えば「４」）における平均ピクセル値は、第１のより暗いエリア（例えば、「５」）における値から１閾値（例えば、２０）を差し引いたものよりも小さいことをチェックされる。加えて、第１のより暗いまたは中心エリア（例えば、「５」）の平均ピクセル値は、値よりも大きい（例えば、３０輝度または強度レベル）ことをチェックされ、それは、頭または手の影のトラッキングを回避することに役立ちうる。フィルタ（例えば、５つのフィルタ）のうちのいずれもが、握り拳および手首を見つけるのに成功しなかった場合、操作は、手が見つかるまで繰り返されることができる。
【００４４】
本明細書に開示されるシステムおよび方法は、「ピクセル値」、「強度」、または「輝度」値を使用することができる。１つの構成では、例えば、カメラは、赤色、緑色、および青色成分の各々について１バイトのデータを出力することができる。このデータは、輝度（ＹまたはＹ’）、青の色差（Ｃｂ）、および／または赤の色差成分（Ｃｒ）へと変換されることができる。輝度成分は、「ピクセル値」または「強度」とも呼ばれうる。輝度成分は、例えば、８ビット（１バイト）の数を用いて表されうる。したがって、輝度、ピクセル値、または強度は、黒色のための０（すべてのビットが０である）から、白色のための２５５（すべてのビットが１である）までの値またはレベルの範囲内で変化しうる。「閾値」は、特定の強度値または強度レベルの数として定義されうる。例えば、閾値は、２０または３０などと定義されうる。
【００４５】
例えば、リアルタイム性能に関して、積分画像が、Ｈａａｒフィーチャ（例えば、５つのＨａａｒフィーチャパターン）による使用のために計算される。３つの水平および垂直Ｈａａｒフィーチャパターンについて、積分画像が計算されることができる。＋４５度および−４５度における２つのフィルタについて、記載される回転された合計エリア表（rotated sum area table）を通じて積分画像が計算される。探索は、５つのフィルタのうちの１つが基準に合致したら終了されることができる。
【００４６】
本明細書に開示されるシステムおよび方法は、ジェスチャ認識のために使用されることができる。例えば、２つの異なる入力動作、すなわち、コンピューティングデバイスの左マウスボタンを押すことおよびリリースすることがサポートされることができる。例えば、人差し指を伸ばした状態の握った拳は、マウスボタンが押下されていないときを示すことができ、人差し指を隠すことは、ボタンが押されていることへとマッピングする。
【００４７】
１つの構成では、トラッキングされた手が、あるインターバル（例えば、７００ミリ秒（ｍｓ））にわたって動きを停止したとき、システムおよび方法は、人差し指の存在についての探索を開始する。このために、いくつかの（例えば、４つの）Ｈａａｒフィーチャが使用されることができる。１つの構成では、ジェスチャ認識は、はじめに、トラッキングされた手の画像を固定サイズ（例えば、６４０×４８０ピクセルのウェブカムについては４０×４０ピクセル）の画像へとスケーリングすることから始まる。このスケーリングは、探される対象物（例えば、指）のサイズおよび／またはカメラの解像度に依存しうる。Ｈａａｒフィーチャまたはフィルタが追加的にまたは代替的にスケーリングされうることに注意されたい。（スケーリングされた）画像に基づいて、人差し指が水平方向または垂直方向を指しているときに使用するための積分画像が計算される。選択された人差し指に関する基準は、明るいエリア（例えば、「１」および「３」）に関する平均ピクセル値が、暗いエリア（例えば、「２」）における値に１閾値（例えば、３０）を足したものよりも大きいことである。水平パターンまたは垂直パターン内の指が見つかった場合、探索は終了される。そうではない場合、回転された積分画像は、＋４５度および−４５度において計算される。これらのフィルタを使用して人差し指が見つからなかった場合、手は、閉じた握り拳のジェスチャにあるとみなされる。
【００４８】
指認識のロバストネス（robustness）を改善するために、例えば、最大投票アルゴリズムが、２０個の記憶されたフレームのバッファに適用される。例えば、システムおよび方法は、バッファ内の画像の少なくとも８０％が、左マウスボタンイベントがトリガされる（例えば、オペレーティングシステム（ＯＳ）のウィンドウマネジャに対して）前に隠された人差し指を描くことを必要としうる。現れた人差し指を検出するためには、例えば、探索された２０個のフレームのうちの５０％が、人差し指の発見を報告しなければならない。人差し指を現すこと対隠すことに関するより低い閾値要件は、ステートマシンに起因するものであり、それは、ダウンマウス（down-mouse）イベントが検出された後にのみアップマウス（up-mouse）イベントがトリガされることを必要としうる。これは、誤検出（false positives）を低減するためのフィルタの役割を果たす。
【００４９】
本明細書のシステムおよび方法は、以下のように、１つの例示的なテストインプリメンテーションにしたがってインプリメントされうる。例えば、１つのインプリメンテーションでは、ＯｐｅｎＣＶライブラリを利用するＣにおいてシステムおよび方法が開発された。２ＧＢ ＲＡＭを備えるＩｎｔｅｌ Ｃｏｒｅ ２ Ｄｕｏ Ｔ７３００ ２ＧＨｚプロセッサで構成された、Ｗｉｎｄｏｗｓ（登録商標）ＸＰを実行するＨＰ Ｃｏｍｐａｑ ６７１０ｂラップトップが使用された。ウェブカムは、毎秒３０フレーム（ｆｐｓ）としてＶＧＡ解像度の画像をキャプチャすることが可能なＣｒｅａｔｉｖｅ Ｌｉｖｅ！Ｃａｍ Ｖｉｄｅｏ ＩＭ Ｕｌｔｒａであった。プロジェクタは、幅が９２インチで高さが６５インチのスクリーン上に画像を投影するＥｐｓｏｎ ＰｏｗｅｒＬｉｔｅ ８３＋であった。部屋の照明は、６６ルクス（lux）に下げられ、そこでは、ユーザは、容易にスクリーンを見ることができ、快適に互いを見ることができた。赤−緑−青（Red-Green-Blue）（ＲＧＢ）値が１２８である灰色の画像を投影するときのスクリーンにおける光は、７２ルクスであった。手のトラッキングおよびジェスチャ認識の段階の間、インプリメンテーションは、中央処理装置（ＣＰＵ）の２３％しか消費しないことが測定された。インプリメンテーションの正確さを測定するために、既にシステムに精通したユーザがカメラから１０フィート離れて立ち、自身の素手を用いてスクリーン上の予め決められた４つの位置にナビゲートして、アップマウスイベントがその後に続くダウンマウスイベントをトリガすることができた回数が、表集計された。
【００５０】
投影されているコンテンツは、フルスクリーンモードで再生するビデオであった。ビデオがランダムに選択されたことを確実にするために、「現在見られているビデオ（Videos Being Watched Now）」カテゴリ内のＹｏｕＴｕｂｅ上で最も人気のあるビデオのうちの５０個がテスト時に選択された。いずれのビデオも開発段階では使用されなかった。ビデオがテストの間ずっと途切れずに再生されたことを確実にするために、１分よりも長いビデオだけが選択され、テスト開始前に十分にバッファされ、ジェスチャは、ビデオを一時停止することになるマウスイベントを実際にトリガすることは無効にされた。
【００５１】
このテストでは、スクリーン上の４つの領域が、Ａ、Ｂ、Ｃ、Ｄとラベル付けされ、スクリーンの下１／３のところを中心とする投影エリアの１／２の幅および１／２の高さを有する長方形の左上、右上、右下、および左下のコーナーにそれぞれマッピングされた。テストは、ユーザに対して、初期対話エリアまたは仮想マウスパッドからカーソルまたは仮想マウスを「ピックアップ」し、手を位置Ａにナビゲートし、カーソルがその位置の２インチ以内にトラッキングされることが成功した場合、その領域をクリックすることを要求した。そのジェスチャが正しく認識された場合、ユーザは、次いで、人差し指を現すことによって仮想マウスボタンをリリースする。これに続き、ユーザは、自身の手を位置Ｂへと右に動かし、位置Ｃへと下に動かし、最後に、位置Ｄへと左に動かし、その際、これら３つの位置の各々において同様に２つの手のジェスチャを行った。全体で１２の測定が各ビデオについて実施された。
【００５２】
４つのテストの結果が、５０個のビデオの各々についての以下の表１に示される。その結果は、本明細書に開示されたシステムおよび方法の上記インプリメンテーションが、予め決められた位置の各々へと手をトラッキングする際に９６％有効であったことを示す。カーソルが手をトラッキングすることに成功した１９２回のうち、それはクリックジェスチャを１５７回検出し、８２％の有効性を示した。これら１５７回の認識成功のうち、このインプリメンテーションは、付随するリリースジェスチャを１５４回検出した。  
【表１】
0005567206.tif 000002
【００５３】
クリックジェスチャ認識の８２％の有効性は、指検出に改善の余地があることを明らかにした。しかしながら、ユーザにとって覚えやすく学びやすいジェスチャを選択するために、本明細書に開示されるシステムおよび方法は、ＶＧＡカメラがスクリーンから１０フィート離れていると考えると、幅が約６ピクセルの指をトラッキングする。他の構成では、クリックジェスチャは、これらの距離からより明らかな動作、場合によっては、例えば開いた状態から閉じた握り拳への動作、にマッピングされることができる。オプション的に、ジェスチャエンジンを駆動するために手トラッカが使用されることもできる。例えば、手がある時間期間にわたって停止した後、カーソルは、その現在の位置に固定され、その間にユーザは、自身の手を左右に３回動かしてクリック動作を示すことがありうる。たとえば、手を右から左に３回動かすことは、クリックおよびホールド動作を表し、その後に、右から左にさらに３回動かすことでボタンのリリースを表す。要するに、ジェスチャシステムの品質とジェスチャセットの直観との間には反対の関係がしばしば存在する。ユーザにとってジェスチャが単純になるほど、しばしば、サポートすべき複雑性が増す。
【００５４】
本明細書に開示されたシステムおよび方法による可能な動作は、描画すること、ピクチャ（皮膚様の色を多く含むかもしれない）にズームすること、または、ＹｏｕＴｕｂｅビデオを一時停止および再生することなどを含む。前述のように、本明細書に開示されるシステムおよび方法は、コンピューティングデバイスとピコプロジェクタまたは標準プロジェクタとの組み合わせが任意の壁またはスクリーンを「タッチ式（touch-capable）」表面（例えば、ユーザが投影画像に対するジェスチャを通してコンピューティングデバイスと対話できる表面）に変えることを可能にする、リアルタイムでロバストなハンドジェスチャシステムおよび方法を提供する。本明細書に開示されたシステムおよび方法の１つの構成は、較正、手の検出、手のトラッキング、およびジェスチャ認識の、４つの段階を備える。それらのシステムおよび方法は、ユーザが、自身の素手を使用して、例えば、部屋を１０フィート横切ったところから投影アプリケーションを実行しているコンピューティングデバイスの単一ボタン「マウス」を制御することを可能にすることができる。１つのインプリメンテーションのテストを２００回実行した後、そのインプリメンテーションは、ユーザの手をトラッキングする際には９６％有効であり、左マウスクリックに割り当てられたジェスチャを検出する際には８２％有効であり、左マウスボタンがリリースされていることを検出することは９８％の成功率であることを証明した。そのインプリメンテーションは、リアルタイム経験を提供し、今日のラップトップ上のＣＰＵの２３％しか消費しない。
【００５５】
本明細書に開示されたシステムおよび方法の他の構成は、さらなる機能または特徴を含むことができる。１つの構成では、システムおよび方法は、カーソルを「リリース」する、またはカーソルを現在のロケーションに残す機能を含むことができる。例えば、ジェスチャは、ユーザが自身の手を仮想マウスから離す（すなわち、システムは、手のトラッキングを停止し、カーソルをその現在の位置に残す）ことを可能にするために使用されることができる。例えば、ジェスチャ認識は、ユーザが自身の手を開く（例えば、５本の指すべてを伸ばす）ときに、システムおよび方法がカーソルをその現在のロケーションに残す、および／または手のトラッキングを中断することができるように使用されうる。
【００５６】
１つの構成では、手のトラッカおよびジェスチャエンジンのロバストネスをさらに改善するために、手の位置（例えば、最後に決定された手の位置）に対する明るい「グロー（glow）」効果が追加されることができる。手のすぐ周りに投影されたコンテンツを実際に修正することによって、高コントラストな画像からの性能への干渉が低減または排除されうる。例えば、投影画像は、ユーザの手の最後にトラッキングされたまたは決定されたロケーションの周りのエリアが照らされるまたは明るくされるように修正されうる。例えば、白色の円が、最後に決定された手のロケーションの周りで投影画像内に置かれることができる（これによって、例えば、投影画像の一部を「マスク」する）。これは、本明細書のシステムおよび方法の、現在の手のロケーションを決定する能力を改善することができる（例えば、手がそれほど速くは動いていないと仮定する）。
【００５７】
１つの構成では、システムおよび方法は、ユーザが毎回マウスパッドまで歩いて行く必要がないように、初期対話エリアまたは仮想マウスパッドが、ユーザの体または腰（hips）をトラッキングできるようにすることができる。例えば、スクリーンの（下の方の）部分が、連続的な明るい領域、その隣の連続的な暗い領域、その隣のもう１つの連続的な明るい領域を見つけるためにスキャンされることができる。暗い領域は、例えば、ユーザの体、腰、または、胴体（torso）のロケーションを示しうる。このロケーションは、初期対話エリアをユーザの隣にくるように動かすために使用されることができる。例えば、推定された手のサイズおよび／または顔のサイズ（例えば、較正／顔認識に基づく）は、ユーザの体（例えば、腰、胴体など）のサイズを推定するために使用されうる。１つの構成では、この推定された手のサイズの倍数が使用されうる。例えば、ユーザの体は、ユーザの手の幅の５倍として推定されうる。このように、１または複数のＨａａｒパターンまたはフィルタは、推定された体のサイズに基づいて決定されうる。例えば、明るい左側領域は、手のサイズの２〜３倍であり、暗い（中心）領域は、手のサイズの４〜６倍であり、および／または明るい右側領域は、手のサイズの２〜３倍でありうる。１つの構成では、この体のトラッキングは、例えば、手のトラッキングが実行されていないときにのみ実行されうる。
【００５８】
システムおよび方法は、また、顔検出を使用して手のサイズを推定することができる。例えば、顔検出を使用して、顔のサイズを推定または決定することができ、次いでそれを使用して握り拳のサイズを推定することができる（それを使用して体のサイズなどを推定することができる）。例えば、握り拳のサイズは、ユーザの顔のサイズの１／６〜１／４として推定されうる。本明細書のシステムおよび方法は、（例えば単一のユーザまたは複数のユーザの）複数の手のトラッキングをサポートすることができる。例えば、いくつかの仮想マウスパッド（それは、重なり合っている、および／または何らかのパターンにある場合がある）が、複数の手のトラッキングを可能にするために提供されうる。
【００５９】
本明細書に開示されるシステムおよび方法は、左マウスクリックを超えたジェスチャをサポートすることができ、スクリーンの遠くのコーナーに到達するために、ユーザの手から離してカーソルを伸ばす能力をサポートすることができる。これは、例えば、ユーザの親指と人差し指との間の角度を計算することによって達成されることができる。例えば、０度、１５度、３０度、４５度、６０度、７５度、９０度などのような多種多様な角度でのマッチを可能にする、いくつかのＨａａｒパターンまたはフィーチャが使用されることができる。９０度のパターンとマッチする場合、カーソルは、ユーザの手から最大距離（例えば、１５フィート）を離れるように伸ばされ、０度のパターンとマッチする場合、最短の距離を伸ばされうる。手のロケーションは、親指を探索するためのエリア（例えば、手に対して）を決定するために使用されうる。
【００６０】
ここで、様々な構成について、諸図を参照して説明する。これらの図では、同様の参照番号は、機能的に類似したエレメントを指しうる。本明細書の図において全体的に記載および図示されるシステムおよび方法は、多種多様な構成で配置および設計されることができる。したがって、図に示される、いくつかの構成についての以下のより詳細な説明は、特許請求の範囲に記載される範囲を制限することを意図したものではなく、単にシステムおよび方法を代表するものにすぎない。
【００６１】
図１は、コンピューティングデバイスインターフェースがインプリメントされうるコンピューティングデバイス１０４の１つの構成１００を示すブロック図である。コンピューティングデバイス１０４の例は、デスクトップコンピュータ、ラップトップコンピュータ、スマートフォン、セルラ電話、携帯情報端末（ＰＤＡ）、電子リーダ、プロセッサおよびメモリを含む集積回路、ゲーミングコンソールなどを含む。コンピューティングデバイス１０４は、カメラ１０２および／またはプロジェクタ１０８と通信し、および／または、カメラ１０２および／またはプロジェクタ１０８に接続される。１つの構成では、コンピューティングデバイス１０４は、プロジェクタ１０８によって投影されるべき画像を生成する。コンピューティングデバイス１０４は、キャプチャされた画像または画像データをカメラ１０２から受信する。カメラ１０２、コンピューティングデバイス１０４、および／またはプロジェクタ１０８は、１つのデバイス（例えば、カメラとピコプロジェクタを備えたスマートフォン）に一体化されることができ、あるいは別個のデバイス（例えば、ウェブカム、ラップトップコンピュータ、標準のプロジェクタ）であることができる。
【００６２】
コンピューティングデバイス１０４は、インターフェースモジュール１０６を含む。インターフェースモジュール１０６は、ハードウェア、ソフトウェア、または両方の組み合わせとしてインプリメントされうる。インターフェースモジュール１０６は、カメラ１０２によってキャプチャされた画像について手のトラッキングおよびジェスチャ認識を可能にする。例えば、インターフェースモジュール１０６は、コンピューティングデバイス１０４を較正し、１または複数の手を検出し、１または複数の手をトラッキングし、ジェスチャを認識する（例えば、カメラ１０２によってキャプチャされた画像に基づいて）。手のトラッキングおよび／またはジェスチャ認識は、インターフェースモジュール１０６によって使用されて、操作を実行する、またはコマンドをトリガすることができる。換言すると、コンピューティングデバイス１０４は、手のトラッキングおよび／またはジェスチャ認識に基づいて、操作を実行する、および／またはコマンドをトリガすることができる。このように、インターフェースモジュール１０６は、手のトラッキングおよびジェスチャ認識インターフェースを可能にする。例えば、コンピューティングデバイス１０４は、プロジェクタ１０８によって、壁、スクリーン、または、表面上に投影される画像を生成することができる。インターフェースモジュールは、ユーザが、自身の手を投影画像上の（あるいは、投影画像の前の）ロケーションへと動かすことおよび／またはジェスチャすることによってコンピューティングデバイス１０４と対話することを可能にする。カメラ１０２によってキャプチャされた手の動きおよび／またはジェスチャの画像は、手のロケーションを決定するために、および／またはジェスチャが実施されたか否かを決定するために、インターフェースモジュール１０６によって使用されうる。これは、投影画像内に示されるアイコンを「クリック」すること、ズームインまたはズームアウトすること、描画すること、選ぶこと、コピーすること、ペーストすること、ドラッグすることなどの動作または操作を実行するために使用されうる。
【００６３】
図２は、カメラ２０２、コンピューティングデバイス２０４、およびプロジェクタ２０８を含む電子デバイス２１０の１つの構成を示すブロック図である。１つの構成では、例えば、カメラ２０２、コンピューティングデバイス２０４、およびプロジェクタ２０８は、１つの電子デバイス２１０に一体化される。例えば、電子デバイス２１０は、セルラ電話、スマートフォン、ラップトップコンピュータなどのようなワイヤレス通信デバイスでありうる。ワイヤレス通信デバイスは、一体型デジタルカメラ２０２、一体型ピコプロジェクタ２０８、およびコンピューティングデバイス（例えば、一体型プロセッサおよびメモリ）２０４を含みうる。他の電子デバイス２１０の例は、デスクトップコンピュータ（一体化されたカメラ２０２およびプロジェクタ２０８を備える）、およびタブレットデバイス（一体化されたカメラ２０２およびプロジェクタ２０８を備える）を含む。
【００６４】
コンピューティングデバイス２０４は、インターフェースモジュール２０６を含むことができる。例えば、インターフェースモジュール２０６は、プロセッサによって実行されるメモリ内の命令を備えたソフトウェアとしてインプリメントされることができる。別の構成では、インターフェースモジュール１０６は、直接的にハードウェアでインプリメントされることができる。電子デバイス２１０は、本明細書に開示された方法を実行するように構成されることができる。
【００６５】
図３は、コンピューティングデバイスインターフェースがインプリメントされうるコンピューティングデバイス３０４のより詳細な構成を示すブロック図である。コンピューティングデバイス３０４は、プロジェクタ３０８およびカメラ３０２と通信することができる。上述のように、プロジェクタ３０８、コンピューティングデバイス３０４および／またはカメラ３０２は、別箇のデバイスであることができ、あるいは１または複数のデバイスに一体化されることができる。
【００６６】
コンピューティングデバイス３０４は、画像データを生成する、および／または画像データをプロジェクタ３０８に送信することができる。プロジェクタ３０８は、画像データを使用して投影画像３３０を生成することができる。カメラ３０２は、投影画像３３０を含むカメラキャプチャエリア３２８において画像または画像データをキャプチャする。カメラ３０２は、また、ユーザ３３２の全体的または部分的な画像または画像データをキャプチャすることができる。
【００６７】
コンピューティングデバイス３０４は、インターフェースモジュール３０６を含む。図３に示される構成では、インターフェースモジュール３０６は、較正モジュール３１２、手検出モジュール３１８、手トラッキングモジュール３２０、およびジェスチャ認識モジュール３２４を含む。較正モジュール３１２は、マッピングモジュール３１４および手サイズ決定モジュール３１６を含む。
【００６８】
マッピングモジュール３１４は、投影画像３３０または投影空間からの座標を「デスクトップ空間」へとマッピングするために使用される。例えば、デスクトップ空間は、コンピューティングデバイス３０４によって生成された「デスクトップ」または「ウィンドウ」のような、コンピューティングデバイス３０４上の視覚的対話空間またはグラフィカルユーザインターフェース（ＧＵＩ）のすべてまたは一部を含みうる。１つの構成では、投影画像３３０は、デスクトップ空間の画像である。例えば、デスクトップ空間は、アイコン、ボタン、対話式の制御装置（例えば、スライダ、ダイヤル、無線ボタン、テキストボックスなど）、１または複数のアプリケーションの視覚ディスプレイ、画像、ビデオなどを含みうる。これらのデスクトップ空間エレメントは、投影画像３３０として投影されることができる。
【００６９】
マッピングモジュール３１４は、カメラ３０２によってキャプチャされた投影画像３３０からのロケーションを、デスクトップ空間内のロケーションへとマッピングすることができる。このマッピングを達成するために、コンピューティングデバイス３０４は、プロジェクタ３０８を使用して、マッピングを決定するためにマッピングモジュール３１４によって使用されることができる投影画像３３０を投影することができる。例えば、投影画像３３０は、（例えばカメラ３０２によってキャプチャされた画像から）投影画像３３０または投影空間のコーナーを見つけるため、または決定するためにマッピングモジュール３１４が使用できる、チェッカードまたはチェスボードパターンでありうる。それらのコーナーは、次いで、デスクトップ空間のコーナーにマッピングされることができる。
【００７０】
手サイズ決定モジュール３１６は、ユーザ３３２の手３３４のサイズ（または、サイズの推定）を決定するために使用される。例えば、コンピューティングデバイス３０４は、プロジェクタ３０８を使用して、一連の円または楕円を含む画像を投影する。手サイズ決定モジュール３１６は、ユーザの手３３４がどの円の中にあるかを決定することができる。例えば、ユーザ３３２は、自身の手３３４を、自身の手３３４のサイズにほぼぴったりとマッチする円または楕円の中に置く。コンピューティングデバイス３０４（例えば、手サイズ決定モジュール３１６）は、その特定の円または楕円について強度の変化を検出する。次いで、手サイズ決定モジュール３１６は、円または楕円のサイズ（例えば、ピクセル単位）がユーザ３３２の手３３４のサイズであると決定することができる。決定された手３３４のサイズは、例えば、探索空間３３３のサイズを決定するために使用されることができる。
【００７１】
手検出モジュール３１８は、コンピューティングデバイス３０４と対話するためにユーザの手３３４がいつ使用されているかを検出するために使用されることができるモジュールである。例えば、手検出モジュール３１８は、投影画像（または、投影空間）内の初期対話エリア３３８をモニタすることができる。１つの構成では、初期対話エリア３３８は、手サイズ決定モジュール３１６によって決定された手３３４のサイズよりも４倍大きく、投影画像３３０または投影空間の右下の部分に存在する。複数の手および／または複数のユーザ３３２に対応するために、複数の初期対話エリア３３８が使用されることができる。例えば、複数の初期対話エリア３３８は、重なり合い、特定のパターン（例えば、チェッカーボード）に置かれ、および／または移動する（例えば、１または複数のユーザ３３２と共に）ことができる。
【００７２】
１つの構成では、初期対話エリア３３８は、異なるサイズであることができ、投影画像３３０または投影空間の異なるロケーションに置かれることができ、および／または移動することができる（例えば、ユーザ３３２の体または胴体がトラッキングされ、初期対話エリアが、ユーザ３３２と共に、例えばユーザ３３２の隣にくるように、移動することができる）。１つの構成では、例えば、コンピューティングデバイス３０４は、ユーザ３３２の体のロケーションに基づいて、初期対話エリア３３８を動かすことができる。コンピューティングデバイス３０４は、ユーザ３３２の体（例えば、腰、臀部（backside）、胴体、背中など）に対応するパターンまたは暗いエリアを探索することによって、これを達成することができる。コンピューティングデバイス３０４は、この暗いエリアまたはパターンのために投影画像の一部分だけ（例えば、投影画像の下側１／１０など）を探索することができる。ユーザ３３２の体の幅は、手３３４のサイズの倍数（例えば、ユーザ３３２の握り拳のサイズの５倍）として推定されうる。コンピューティングデバイス３０４は、ユーザ３３２の体のこのトラッキングされたロケーションを使用して、初期対話エリア３３８を、それがユーザ３３２の隣（例えば、ユーザ３３２のウエストのそばなど）にくるように動かすことができる。このように、ユーザ３３２は、「仮想マウス」またはカーソルを「ピックアップ」することを望むたびに投影画像の右下のコーナーに移動する必要がない。
【００７３】
ユーザ３３２の体をトラッキングするために、１または複数のＨａａｒパターンまたはフィルタが使用されることができる。例えば、１つのパターンは、長方形の明るい左側領域、その隣の長方形の暗い中心領域、その隣の長方形の明るい右側領域を備えうる。このパターンは、体のロケーションを示す画像データにおけるマッチについて画像データを探索するために使用されることができる。領域のサイズは、較正に基づいて、または決定もしくは推定された手３３４のサイズに基づいて、決定または推定されることができる。例えば、コンピューティングデバイスは、１または複数の円または楕円を使用する較正を通して、または顔認識を通して、手のサイズを決定または推定することができる。左側および／または右側の明るい領域のサイズ（例えば、幅）は、手のサイズ（例えば、幅）の２〜３倍であり、暗い中心領域のサイズ（例えば、幅）は、手のサイズ（例えば、幅）の３〜５倍でありうる。画像データにおけるパターンマッチのロケーションは、初期対話エリアを動かすために使用されることができる。
【００７４】
下側１０分の１など、投影画像３３０の下部だけが、ユーザ３３２の体について探索されうる。１つの構成では、ユーザ３３２の体は、手３３４がトラッキングされていないときに探索されうる。１つの構成では、初期対話エリア３３８は、パターンへのマッチが画像データ内に見つからない間、静止したままであることができる。追加的にまたは代替的に、ユーザ３３２の側面がカメラ３０２に面しているときにユーザ３３２の体をトラッキングするために、１つまたは複数のさらなるパターンまたはフィルタ（前述の例に類似したものであることができる、ただし、例えば、１つまたは複数の領域が異なるサイズであることができる）が使用されることができる。
【００７５】
手検出モジュール３１８は、ユーザの手３３４について初期対話エリア３３８をモニタすることができる。１つの構成では、手検出モジュール３１８は、現在のフレーム内のピクセルの輝度（例えば、強度）または明度と、初期対話エリア３３８における１または複数の前のフレーム内の対応するピクセルのそれとの間の差を計算する。これらの差は、合計されることができる。差（例えば、輝度または明度チャネルの）の合計が閾値を上回る場合、これは、手３３４が初期対話エリア３３８内にあることを示しうる。これが起こるとき、手検出モジュール３１８は、手トラッキングモジュール３２０が手３３４のトラッキングを開始するべきであることを示すことができる。手トラッキングモジュール３２０は、変化（例えば、輝度または明度の変化）が実際に手３３４によるものであることを保証するために、その変化をチェックまたは検証する。
【００７６】
手トラッキングモジュール３２０は、ユーザの手３３４をトラッキングするために使用される。手トラッキングモジュール３２０は、１または複数のトラッキングパターン３２２を含みうる。トラッキングパターン３２２の例は、Ｈａａｒフィーチャパターンを含む。トラッキングパターン３２２は、例えば、２つの暗い領域を含むことができる。暗い領域のうちの１つは、３つのより明るい領域で囲まれた暗い中心領域（例えば、ユーザの手３３４の甲を表す）でありうる。もう１つの暗い領域は、暗い中心領域に隣接しうる（例えば、ユーザ３３２の手首を表す）。
【００７７】
コンピューティングデバイス３０４が手３３４をトラッキングしているとき（これは、手検出モジュール３１８によって開始されうる）、手トラッキングモジュール３２０は、カメラ３０２によって提供される画像または画像データの特定の探索空間３３３をスキャンすることができる。１つの構成では、探索空間３３３は、手サイズ決定モジュール３１６によって決定された手３３４のサイズの約４倍である。コンピューティングデバイス３０４（例えば、手トラッキングモジュール３２０）は、トラッキングパターン３２２のうちの１つへの最良適合について探索空間３３３をスキャンすることができる。マッチが見つからなかった場合、手トラッキングモジュール３２０は、手３３４の探索を継続することができる（および／または、例えば、ある期間時間にわたって見つからなかった場合、最終的に手３３４の探索を終了することができる）。マッチが見つかった場合、コンピューティングデバイス３０４（例えば、手トラッキングモジュール３２０）は、マッチのロケーションおよび／または位置を使用することができる。１つの構成では、探索空間３３３は、手３３４の動き（例えば、速度および方向）に基づいて動的に変化（例えば、拡大、縮小）しうる。例えば、トラッキングされた手３３４が特定の方向に急速に動いている場合、コンピューティングデバイス３０４は、特に、動きの方向で、探索空間の面積を増大させうる。１つの構成では、探索空間３３３の面積は、また、特にユーザの手３３４がゆっくり動いている場合、減少しうる。また、探索空間３３３が、カメラキャプチャエリア３２８のサイズ以下の任意のサイズでありうることに注意されたい。しかしながら、縮小された探索空間３３３（例えば、ユーザ３３２の握り拳のサイズの４倍）が使用されことができ、それは、計算的に、より効率的でありうる。
【００７８】
最良適合のフィルタまたはトラッキングパターン３２２は、閾値のセットに対してチェックされることができる。このチェックは、ユーザの頭３３２または手３３４の影３３６をトラッキングするのを回避するのに役立ちうる。最良適合のフィルタまたはトラッキングパターン３２２がチェックされる（そして、このチェックにパスする）と、マッチのロケーションおよび／または位置が使用されることができる。例えば、マッチのロケーションは、コンピューティングデバイス３０４上のカーソルのロケーションを制御するために使用されることができる。換言すると、コンピューティングデバイス３０４は、そのカーソルを、マッチによって示されるデスクトップ空間内のロケーションに動かすことができる。
【００７９】
ジェスチャ認識モジュール３２４は、ジェスチャパターン３２６を使用してジェスチャを検出することができる。例えば、ジェスチャパターン３２６は、１または複数の指を曲げること（retracting）または伸ばすこと（extending）、または指を特定の位置に置くことなど、特定のジェスチャを検出するために使用されるＨａａｒフィーチャであることができる。例えば、ジェスチャパターン３２６は、３つの長方形領域（例えば、横に並べられた）を含むことができる。２つの外側領域は、より明るい領域であることができ、内側領域は、より暗い領域であることができる。長方形領域のグループは、垂直である、水平である、および／または角度（例えば、±４５度）をなしていることができる。１つの構成では、コンピューティングデバイス３０４（例えば、ジェスチャ認識モジュール３２４）は、トラッキングされた手３３４が、いつ、ある時間インターバル（例えば、７００ｍｓ）の間、動きを止めたかを検出する。これが発生したとき、ジェスチャ認識モジュール３２４は、トラッキングされた手３３４の画像を固定サイズ（例えば、４０×４０）へとスケーリングする。例えば、手３３４の最後にトラッキングされたロケーションに基づくエリアが、探索されるべき画像エリアを決定するために使用されることができる。この画像に基づいて、人差し指が水平または垂直方向を指しているときに使用するための積分画像が計算される。水平または垂直パターン３２６の指が見つかった場合、探索は終了される。見つからなかった場合、＋４５度および−４５度における回転された積分画像が計算される。回転された指が見つかった場合、探索は、また、終了しうる。しかし、指が見つからなかった場合、コンピューティングデバイス３０４（例えば、ジェスチャ認識モジュール３２４）は、手３３４が握られている（伸ばされた指がない）ことを決定しうる。
【００８０】
１つの構成では、コンピューティングデバイス３０４は、特定のジェスチャが認識された場合、操作を実行し、および／またはイベントをトリガすることができる。例えば、指が見つからないことをジェスチャ認識モジュール３２４が決定すると、コンピューティングデバイス３０４は、左マウスダウンまたは被クリックイベントをトリガすることができる。さらに、指が見つかった場合、コンピューティングデバイス３０４は、マウスアップイベントをトリガすることができる。このように、マウスクリックがシミュレートされうる。別の構成では、ジェスチャ認識モジュール３２４は、「投票（voting）」操作または機能を使用することができる。例えば、ジェスチャ認識モジュール３２４は、２０個のフレームをバッファまたは記憶することができる。ジェスチャ認識モジュール３２４は、左マウスイベントがトリガされる前に隠された指を示すために、バッファされたフレームの８０％を要求しうる。さらに、ジェスチャ認識モジュール３２４は、２０個のフレームのうちの５０％が、マウスアップイベントをトリガする前に伸ばされた指を示すことを要求しうる。さらに、コンピューティングデバイス３０４は、マウスダウンイベントの後のマウスアップイベントのみを可能にするステートマシンを使用することができる。これは、誤検出を低減するためのフィルタの役割を果たすことができる。
【００８１】
他の構成は、代替的なフィーチャおよび／または追加的なフィーチャを使用することができる。１つの構成では、コンピューティングデバイス３０４は、トラッキングを改善するために、より明るいエリアを生成する、またはトラッキングされた手３３４の周りを「輝かせる（glow）」ことができる。例えば、コンピューティングデバイス３０４は、投影されるべき画像内のトラッキングされた手３３４のロケーションの周りのいくつかのピクセルの明るさを高めることができる。前述のように、いくつかの構成では、複数の手が同時にトラッキングされることができ、および／または複数のジェスチャが同時に認識されることができる。
【００８２】
１つの構成では、コンピューティングデバイス３０４は、ユーザの手３３４および／または指の影３３６からのジェスチャの検出、トラッキング、および／または認識を回避するために、トラッキングおよび／またはジェスチャ認識を実行する前に、キャプチャされた画像の暗い部分（例えば、輝度＜約３５）を除去することができる。例えば、コンピューティングデバイス３０４は、非常に暗い（例えば、特定の閾値を下回る）キャプチャされた画像からのピクセルを決定し、それらのピクセルをパターン探索における考慮から除去することができる。
【００８３】
１つの構成では、コンピューティングデバイス３０４（例えば、ジェスチャ認識モジュール３２４）は、ユーザの手３３４の親指と人差し指との間の角度に基づいてジェスチャを認識することができる。例えば、コンピューティングデバイス３０４は、ユーザ３３２の人差し指と親指との間の角度に基づいて、ユーザの手３３４からカーソルを遠ざけることができる。これによって、ユーザは、構成に応じて、投影画像の到達可能でないエリア内でカーソルを制御できるようになる。例えば、コンピューティングデバイス３０４は、完全に伸ばされた親指（例えば、親指と人差し指との間が約９０度）を、特定の距離（例えば、いくつかのピクセル、ユーザの手３３４と投影画像のエッジとの間の距離のあるパーセンテージ、いくつかの手３３４のサイズなど）だけユーザの手３３４からカーソルを遠ざけるためのコマンドとして解釈しうる。この距離は、人差し指と親指との間の角度のサイズに基づきうる。例えば、ユーザ３３２が人差し指と親指との間の角度を減らすと、距離は、人差し指と親指との間に角度がないユーザの手３３４のところにカーソルがくるまで、減らされることができる。１つの構成では、方向は、検出された手首のロケーションに基づくことができる（例えば、カーソルが手３３４からまっすぐ離れて伸びるように）。別の構成では、人差し指と親指との間の角度は、例えば、ズームイン／ズームアウト操作のような他の何らかの操作のために使用されることができる。
【００８４】
１つの構成では、カメラ３０２は、投影画像３３０のエリアにおいて、改善されたフォーカス、露出、および／または色再現を提供する。例えば、コンピューティングデバイス３０４は、カメラ３０２に対して、投影画像３３０にフォーカスするように、および／または、投影画像３３０についてその露出および／または色再現を改善するように命令することができる。これは、カメラキャプチャエリア３２８の残りの部分を犠牲にして成り立ちうる。例えば、投影画像３３０エリア以外のカメラキャプチャエリア３２８の残りの部分の一部またはすべては、フォーカスがずれているか、あるいは露出および／または色再現が不十分でありうる。追加的にまたは代替的に、改善されたフォーカス、露出、および／または色再現は、例えば、探索空間３３３または初期対話エリア３３８のような、別の関心領域に対して使用されることもできる。
【００８５】
１つの構成では、プロジェクタ３０８、カメラ３０２、およびユーザ３３２は、すべて、投影画像３３０のために使用される表面（例えば、壁、スクリーン、ホワイトボードなど）の同じ側にありうる。別の構成では、プロジェクタ３０８は、投影画像３３０のために使用される表面の裏側にありうる。本明細書のシステムおよび方法が、任意の位置にあるユーザの手３３４に適用されうることに注意されたい。例えば、ユーザの手３３４の裏側、表側、または側面がトラッキングされることができる。ユーザの手３３４は、追加的にまたは代替的に、異なる時点に伸ばされたおよび／または隠された１または複数の指を有することができる。
【００８６】
図４は、コンピューティングデバイスインターフェースを提供するための方法４００の１つの構成を示すフロー図である。コンピューティングデバイス１０４は、較正４０２されることができる。換言すると、コンピューティングデバイス１０４は、それ自体１０４を較正４０２することができる。例えば、コンピューティングデバイス１０４は、プロジェクタ１０８によって投影された画像または投影空間（カメラ１０２によってキャプチャされた）のコーナーを見つけることができる。コンピューティングデバイス１０４は、これらのコーナーを使用して、投影空間をデスクトップ空間にマッピングすることができる。例えば、投影空間内の座標は、デスクトップ空間内の座標にマッピングされることができる（例えば、変換行列を用いて）。コンピューティングデバイス１０４は、また、投影画像上の円または楕円内の手３３４の存在を検出することによって手３３４のサイズを決定することができる。
【００８７】
コンピューティングデバイス１０４は、初期対話エリアにおいて手３３４を検出４０４することができる。例えば、コンピューティングデバイス１０４は、キャプチャされた画像のあるエリア（例えば、右下のコーナーまたはユーザ３３２の胴体の近くなど）における輝度または明度の変化を検出することができる。
【００８８】
コンピューティングデバイス１０４は、手３３４をトラッキング４０６することができる。例えば、コンピューティングデバイス１０４は、トラッキングパターン（例えば、Ｈａａｒフィーチャ）を使用して、手３３４のロケーションおよび／または位置を決定することができる。例えば、コンピューティングデバイス１０４は、所与のフィルタについて、明るい灰色のエリアの合計と暗い灰色のエリアの合計との差が最も大きいトラッキングパターンを選択することができる。最良適合のフィルタが、閾値のセットに対してチェックされることができる。チェックがパスすると、コンピューティングデバイス１０４は、トラッキングされた手３３４のロケーションおよび／または位置を使用することができる。
【００８９】
コンピューティングデバイス１０４は、手３３４のジェスチャを認識４０８することができる。例えば、コンピューティングデバイス１０４は、ジェスチャとして解釈されうる、１または複数の指または手３３４の動きを検出することができる。１つの構成では、コンピューティングデバイス１０４は、ジェスチャパターンを使用して１または複数の指を探索する。コンピューティングデバイス１０４は、１または複数の指の動きの有無またはそのシーケンスをジェスチャとして解釈することができる。ジェスチャが検出されるときには、それは、イベントまたは操作をトリガするために使用されうる。例えば、コンピューティングデバイス１０４は、任意の指がないことをマウスダウンイベントと解釈することができ、指の存在（マウスダウンイベント後）は、マウスアップイベントとして解釈されうる。
【００９０】
別の構成では、コンピューティングデバイス１０４は、手３３４（または指）の特定の動きをジェスチャとして解釈することができる。例えば、コンピューティングデバイス１０４は、握り拳を３回振ることを、イベントまたは操作をトリガすることのできる特定のジェスチャと解釈しうる。例えば、コンピューティングデバイス１０４は、１または複数のフレームをバッファし、握り拳および／または１または複数の指の動きを、ジェスチャを示す特定のパターンとマッチさせることができる。バッファされたフレームは、追加的にまたは代替的に、ジェスチャ認識のロバストネスを高めるために使用されることができる。例えば、コンピューティングデバイス１０４は、イベントまたは操作をトリガする前に、バッファされたフレームの特定のパーセンテージが特定の検出（例えば、伸ばされた指、隠された指など）を示すことを要求しうる。
【００９１】
図５は、コンピューティングデバイスインターフェースを提供するための方法５００のより詳細な構成を示すフロー図である。より詳細には、図５に示された方法５００は、コンピューティングデバイス１０４を較正４０２することについてのさらなる詳細を提供する。コンピューティングデバイス１０４は、プロジェクタ１０８を使用して較正のための画像を投影５０２することができる。例えば、コンピューティングデバイス１０４は、チェッカードまたはチェスボード画像、あるいはカメラ１０２によってキャプチャされた投影画像のコーナーを決定するために使用されうる他の何らかの画像を生成および投影（プロジェクタ１０８を使用して）することができる。コンピューティングデバイス１０４は、較正のためのキャプチャされた画像に基づいて、投影空間の座標をデスクトップ空間の座標にマッピング５０４することができる。例えば、コンピューティングデバイス１０４は、輝度または明度の１以上の降下（例えば、エッジにおける）を探索することによって、投影画像のコーナーを見つけることができる。コンピューティングデバイス１０４は、カメラ１０２によってキャプチャされた投影画像のコーナーを、コンピューティングデバイス１０４上のデスクトップ空間のコーナーにマッピング５０４することができる。例えば、コンピューティングデバイス１０４は、投影画像または投影空間のコーナーのロケーションに基づいて変換行列を生成することができる。
【００９２】
コンピューティングデバイス１０４は、手３３４のサイズ決定のための画像を投影５０６することができる。例えば、コンピューティングデバイス１０４は、プロジェクタ１０８を使用して、一連の円または楕円を含む画像を投影することができる。コンピューティングデバイス１０４は、手３３４のサイズ決定のためのキャプチャ画像に基づいて、手３３４のサイズを決定５０８することができる。例えば、コンピューティングデバイス１０４は、カメラ１０２によってキャプチャされた１または複数の画像または画像フレームを使用して、ユーザの手３３４がその中に置かれた投影された円または楕円を決定することができる。例えば、コンピューティングデバイス１０４は、現在のフレームからのピクセル強度値を使用し、それらを１または複数の前のフレームからの対応するピクセル強度値と比較することができる。コンピューティングデバイス１０４は、ユーザが自身の手３３４を特定の円内に置いていることを示すピクセル強度値の変化を検出することができる。例えば、特定の円または楕円に対応するピクセル強度値が前のフレームから現在のフレームへと減少するときには、コンピューティングデバイス１０４は、強度が低下した特定の円または楕円がユーザの手３３４または握り拳のサイズであることを決定することができる。
【００９３】
追加的にまたは代替的に、コンピューティングデバイス１０４は、顔認識を実行することによってユーザの手３３４のサイズを推定することができる。１つの構成では、コンピューティングデバイス１０４は、ユーザ３３２の頭のサイズ（顔認識を通じて決定される）を使用して、ユーザの手３３４のサイズを推定することができる。例えば、コンピューティングデバイス１０４は、ユーザの手３３４のサイズを、ユーザ３３２の頭のサイズの１／３として推定することができる。別の構成では、コンピューティングデバイス１０４は、円または楕円を使用して手３３４のサイズ決定を実行し、また、ユーザ３３２の顔（顔認識を使用して）に基づいて較正データを記憶することができる。例えば、コンピューティングデバイス１０４は、ユーザＡについて手３３４のサイズ決定／較正を実行し、ユーザＡを（顔認識によって）認識するために使用されることができるデータと共に、ユーザ３３２と関連付けられた決定／較正データを記憶することができる。このように、次回ユーザＡがインターフェースを使用するときに、コンピューティングデバイス１０４は、認識されたユーザＡの顔と関連付けられた手３３４のサイズについて、自身を自動的に較正することができる。
【００９４】
図６は、投影空間６４０におけるチェッカードまたはチェスボードパターン６４２の１つの構成を示す図である。コンピューティングデバイス１０４は、投影空間６４０においてチェッカードまたはチェスボードパターン６４２の画像を生成および投影（プロジェクタ１０８を使用して）することができる。カメラ１０２は、チェッカードまたはチェスボードパターン６４２の画像をキャプチャし、その画像または画像データをコンピューティングデバイス１０４に送ることができる。コンピューティングデバイス１０４は、その画像または画像データを使用して、投影空間６４０のコーナーを決定することができる。例えば、コンピューティングデバイス１０４は、コーナーを決定するために、エッジ（例えば、最上部、最下部、左側、右側など）における輝度または明度の１以上の降下についてチェッカードまたはチェスボードパターン６４２を探索することができる。（カメラ１０２によってキャプチャされた）投影空間６４０のコーナーは、変換行列を決定するために使用されることができる。投影空間６４０のコーナーは、投影空間６４０の実際の座標を探索するために使用されることができる。
【００９５】
図７は、デスクトップ空間７４８への投影空間７４０のマッピングを示す図である。コンピューティングデバイス１０４は、画像を生成し、（プロジェクタ１０８を使用して）画像を投影空間７４０に投影する。カメラ１０２は、投影画像をキャプチャする。しかし、カメラ１０２は、投影空間７４０よりも大きいことがありうる、カメラキャプチャエリア７２８内の画像をキャプチャしうる。例えば、投影空間７４０と呼ばれる、カメラのキャプチャエリア７２８（または、視点）からキャプチャされた投影コンテンツの座標は、デスクトップ空間７４８の座標と呼ばれる、コンピューティングデバイス１０４のディスプレイ上の座標、またはコンピューティングデバイス１０４のディスプレイ上の領域内の座標にマッピングされうる。例えば、ポイントＡ ７４４ａ、ポイントＢ ７４４ｂ、ポイントＣ ７４４ｃ、およびポイントＤ ７４４ｄ（例えば、コーナー）は、それぞれ、ポイントＡ’ ７４６ａ、ポイントＢ’ ７４６ｂ、ポイントＣ’ ７４６ｃ、ポイントＤ’ ７４６ｄにマッピングされる。カメラ１０２によってキャプチャされた画像は、対象物が３Ｄ環境の２Ｄ投影であるので、デスクトップ空間７４８の座標に関するロケーションおよびスケールの差と、パースペクティブ歪みと、の両方を生じうる。
【００９６】
図８は、手３３４のサイズ較正のための画像８５０を示す図である。例えば、コンピューティングデバイス１０４は、手３３４（例えば、握り拳）のサイズ較正のための画像８５０を生成し、プロジェクタ１０８を使用してその画像８５０を投影することができる。１つの構成では、手３３４のサイズの較正のための画像８５０は、手３３４のサイズ較正のための円または楕円８５２を含む。カメラ１０２は、手３３４のサイズ較正のための画像８５０の１または複数の画像（例えば、画像データのフレーム）をキャプチャする。コンピューティングデバイス１０４は、次いで、円または楕円８５２のうちの１つ（または、例えば、複数）における強度（例えば、ピクセル強度）の変化を検出する。例えば、コンピューティングデバイス１０４は、１または複数の前のフレームからの円または楕円に対応するピクセルの強度を、現在のフレームにおけるピクセルと比較する。変化が検出されるとき、コンピューティングデバイス１０４は、強度の変化に対応する円または楕円８５２を選択する。１つの構成では、コンピューティングデバイス１０４は、いくつかのフレームについて変化が検出された後（例えば、２秒など、ある期間時間の間、変化が一定であるとき）にのみ円または楕円８５２を選択することができる。これは、例えば、ユーザ３３２が円または楕円８５２の前を歩くときに、それらの円または楕円８５２を選ぶことを回避するのに役立ちうる。選択された円または楕円８５２は、手３３４（例えば、握り拳）のサイズを示しうる（例えば、ピクセル数で）。
【００９７】
図９は、コンピューティングデバイスインターフェースを提供するための方法９００の別のより詳細な構成を示すフロー図である。より詳細には、図９に示される方法９００は、初期対話エリアにおいて手３３４を検出４０４すること（例えば、手トラッキングに移行するために）についてのさらなる詳細を示す。コンピューティングデバイス１０４は、初期対話エリアを決定９０２することができる。１つの構成では、初期対話エリアは、手３３４のサイズ（例えば、較正の間に決定される）の約４倍のサイズで、投影画像の右下のコーナーに設定される。他の構成では、初期対話エリアは、投影画像の左下の部分、投影画像の下側中央の部分、または他の何らかのエリアなど、予め定められた別のエリアに配置または設定されることができる。別の構成では、コンピューティングデバイス１０４は、初期対話エリアを動かすことができる。例えば、コンピューティングデバイス１０４は、ユーザ３３２の位置（例えば、ユーザ３３２の胴体、または較正に基づいた最も暗い１／ｎ幅など）をトラッキングし、初期対話エリアをユーザ３３２の隣に置くことができる。このように、初期対話エリアは、ユーザ３３２が動くときに移動する。したがって、コンピューティングデバイス１０４は、初期対話エリアを決定９０２することができる。
【００９８】
コンピューティングデバイス１０４は、初期対話エリアをモニタ９０４することができる。例えば、コンピューティングデバイス１０４は、カメラ１０２によってキャプチャされた画像または画像データを使用して初期対話エリア内のピクセルの輝度または明度値をモニタ９０４することができる。１つの構成では、コンピューティングデバイス１０４は、初期対話エリアに対応する画像データ（例えば、ピクセル）の１または複数のフレームを記憶またはバッファする。
【００９９】
コンピューティングデバイス１０４は、手３３４が初期対話エリア内で検出されたか否かを決定９０６することができる。１つの構成では、コンピューティングデバイス１０４は、１または複数の前のフレームにおける初期対話エリア内のピクセルの輝度または明度値と、現在のフレームにおける対応するピクセル値との差を計算する。この構成では、コンピューティングデバイス１０４は、これらの差の合計を計算し、それが閾値と比較される。差の合計が閾値よりも小さい場合、コンピューティングデバイス１０４は、手３３４が初期対話エリア内で検出されなかったと決定９０６する。その場合、操作は、初期対話エリアの決定９０２に戻ることができる。差の合計が閾値よりも大きい場合、コンピューティングデバイス１０４は、手３３４が初期対話エリア内で検出されたと決定９０６し、手のトラッキングの実行９０８に移行する。この決定９０６が予備的なものでありうることに注意されたい。例えば、手３３４が初期対話エリア内で検出されたとコンピューティングデバイス１０４が決定９０６したら、手のトラッキングを実行９０８する際に、輝度または明度の変化が手３３４の存在に起因することを確実にする（例えば、検証するまたはチェックする）ための１または複数の操作が実行されることができる。
【０１００】
図１０は、コンピューティングデバイスインターフェースを提供するための方法１０００の別のより詳細な構成を示すフロー図である。コンピューティングデバイス１０４は、カメラ１０２を使用して、手３３４のトラッキングのための画像をキャプチャ１００２することができる。例えば、カメラ１０２は、１または複数の画像または画像データをキャプチャすることができ、それ／それらがコンピューティングデバイス１０４に提供される。コンピューティングデバイス１０４は、これらの画像または画像データを受信、記憶（例えば、バッファ）、および／または使用することができる。
【０１０１】
コンピューティングデバイス１０４は、探索空間において画像データに最も良くマッチするパターンを決定１００４することができる。換言すると、コンピューティングデバイス１０４は、探索空間において最良適合なパターン（例えば、トラッキングパターン）を決定１００４することができる。例えば、いくつかのＨａａｒフィーチャパターンが使用されることができる。１つの構成では、各々が５つの長方形のエリアまたは領域を備える、５つのＨａａｒパターンが使用される。長方形の「暗い」中心領域は、４つの長方形の外側のエリアまたは領域によって囲まれ、あるいは４つの長方形の外側のエリアまたは領域と境を接する（例えば、ユーザ３３２の握り拳を表す）。４つの外側領域のうち、３つはより明るい領域であり、１つは暗い領域である。例えば、パターンのうちの１つは、暗い中心領域の左に暗い外側領域を含む。別のパターンは、暗い中心領域の下、および暗い中心領域の右に、暗い領域を有しうる。その他２つのパターンは、暗い中心領域の左下および右下に暗い外側領域を有しうる。これらの２つのパターンは、例えば、暗い外側領域が暗い中心領域の真下にあるパターンを±４５度回転したものでありうる。これらのパターンの例は、図１１Ａ〜１１Ｅに示されている。
【０１０２】
コンピューティングデバイス１０４は、該パターンを使用して、探索空間において画像データに最も良くマッチする（例えば、最良適合な）パターンを決定１００４することができる。例えば、ユーザの手３３４をトラッキングすることは、ユーザの手３３４よりも大きい探索空間またはエリア（画像データの）において１または複数のより明るい領域で囲まれた１または複数の暗い領域を探索することによって達成されうる（例えば、皮膚は投影面よりも多くの光を吸収する傾向にあるため）。１つの構成では、探索空間は、決定された手３３４のサイズの約４倍のサイズであり、ユーザの手３３４の最後の（決定された）ロケーションに配置される（例えば、中心を置かれる）。コンピューティングデバイス１０４は、左から右、上から下に、ピクセルごとに探索空間内の画像データをスキャンする。コンピューティングデバイス１０４は、次いで、所与のフィルタについて、より明るい（例えば、明るい灰色）エリアの合計と暗い（例えば、暗い灰色）エリアの合計との差（例えば、輝度、ピクセル値、または強度の差）が最も大きい（greatest）または最大(maximum)である、最も良くマッチするパターン（例えばフィルタまたはフィーチャ）を選択する。最も大きいまたは最大の差を有するパターンが、探索空間画像データにおける最良のマッチまたは最良適合として選択される。最も良くマッチするパターンは、手３３４のトラッキングなど、操作を実行するために使用されうる探索空間内の画像データに対応するロケーションおよび／または向きを有する。
【０１０３】
より具体的には、例えば、１または複数のパターンが、画像データにおけるマッチを見つけるために使用されうる。例えば、パターンの暗い領域に対応する画像データの平均ピクセル値（例えば、輝度、強度など）が、より明るい他の領域（例えば、３つの明るい領域）に対応する画像データの平均ピクセル値よりも閾値分暗い（threshold darker）（例えば、２０輝度レベル低い）ときにマッチが決定されうる。平均ピクセル値は、例えば、ある領域におけるピクセル数でピクセル値の合計を割ったものでありうる。マッチを決定するために使用されるピクセルは、画像データ内のフィルタまたはパターンの現在のロケーションに対応しうる。
【０１０４】
コンピューティングデバイス１０４は、パターンが手３３４にマッチするか否かを決定１００６することができる。例えば、決定されたパターン（例えば、そのロケーションおよび向きを備える）が、例えばユーザの手３３４の影またはユーザ３３２の頭ではなく手３３４にマッチすることを検証するために、１または複数のチェックが行われることができる。換言すると、コンピューティングデバイス１０４は、最良適合なパターンをチェックすることができる。例えば、最良適合なパターンまたは画像データが、閾値（例えば、予め定められた閾値）のセットに対してチェックされることができる。１つの構成では、コンピューティングデバイス１０４は、より明るい外側領域（例えば、明るい灰色の領域）の平均ピクセル値（例えば、輝度または強度における）が、暗い中心エリアの平均ピクセル値に１閾値（例えば、２０）を足したものよりも大きいことを検証するためのチェックを行う。コンピューティングデバイス１０４は、また、暗い（例えば、暗い灰色の）外側エリアの平均ピクセル値が、暗い（例えば、暗い灰色の）中心エリアの平均ピクセル値から１閾値（例えば２０）を引いたものよりも小さいことを検証するためのチェックを行うことができる。これら上述のチェックは、最良適合なパターンがユーザの手３３４に対応することを保証するのに役立ちうる。加えて、コンピューティングデバイス１０４は、暗い中心エリアからの平均ピクセル値が、ある値（例えば、３０）よりも大きいことを検証するためのチェックを行うことができ、これは、ユーザ３３２の頭またはユーザの手３３４の影をトラッキングするのを回避するのに役立ちうる。
【０１０５】
例えば、コンピューティングデバイスは、前述したすべてのチェックが満たされるか否かを決定する（パターンが手３３４にマッチするか否かを決定１００６するため）。例えば、コンピューティングデバイスは、より明るい外側領域の平均ピクセル値が、暗いエリアの平均ピクセル値に閾値を足したものよりも大きいか否か、暗い外側のエリアの平均ピクセル値が、暗い中心エリアの平均ピクセル値から閾値を差し引いたものよりも小さいか否か、および暗い中心エリアの平均ピクセル値が予め定められた値よりも大きいか否かを決定１００６する。パターンが手３３４にマッチしないとコンピューティングデバイス１０４が決定１００６する場合、操作は、手３３４トラッキングのための画像をキャプチャすること１００２に戻りうる。換言すると、最も良くマッチするパターンまたは画像データ（例えば、最良適合の）がチェックをパスしない場合（例えば、いずれのフィルタも握り拳および手首を見つけることに成功しなかった場合）、操作は、手３３４トラッキングのための画像をキャプチャ１００２することに戻りうる（例えば、操作１００２、１００４、１００６は、手３３４が見つかるまで、および／または操作がタイムアウトするまで繰り返される）。
【０１０６】
パターンが手３３４にマッチするとコンピューティングデバイス１０４が決定１００６する場合、コンピューティングデバイス１０４は、画像データに最も良くマッチするパターンに基づいて手３３４をトラッキング１００８することができる。例えば、コンピューティングデバイス１０４は、マッチしたパターンのロケーションにカーソルを動かすことができる。より一般的には、最良適合なパターンがチェックをパスすると、コンピューティングデバイス１０４は、最良適合なパターンに基づいて操作（例えば、手のトラッキング１００８）を実行することができる。例えば、コンピューティングデバイス１０４は、そのデスクトップ空間内のカーソルを、最良適合なパターンの対応ロケーションに動かすことができる。最良適合なパターンに基づいて実行されうる他の操作の例は、デスクトップ空間における画像の移動（例えば、ピクチャ、アイコン、ドキュメントビューを平行移動するまたは「ドラッグ」するなど）、コントロールの使用（例えば、スライダコントロールをスライドさせる、ダイヤルコントロールを回すなど）、ゲーム動作の実行（例えば、仮想ボールを投げる、仮想のボクシング対戦相手にパンチを打つなど）、およびその他を含む。最良適合なパターンの位置が、また、使用されうる。例えば、ユーザ３３２の手首が、ユーザの手３３４のロケーションと比べて水平、斜め、または垂直であることを最良適合なパターンが示す場合、コンピューティングデバイス１０４は、仮想ダイヤルを、対応する水平、斜め、または垂直の位置にそれぞれ回すことができる。さらに、一連の最良適合なロケーションが使用されうる。例えば、コンピューティングデバイス１０４は、いくつかのフレームにわたって手３３４の動きをトラッキング１００８することができる。手３３４の動きが特定の経路または動作（例えば、３回振ること）にマッチする場合、コンピューティングデバイス１０４は、操作を実行するまたはイベントをトリガするなどすることができる。より詳細には、手３３４のトラッキングは、ジェスチャ認識に加えて、またはジェスチャ認識の代わりに、操作またはイベントをトリガするために使用されうる。他の多くの追加的および／または代替的な操作が、最良適合なパターンに基づいて実行されることができる。
【０１０７】
図１１Ａは、本明細書に開示されるシステムおよび方法にしたがって使用されうるＨａａｒパターン１１００ａ（例えば、トラッキングパターン）の１つの例を示す。この例において、Ｈａａｒパターン１１００ａは、５つの長方形のエリアまたは領域１１５４ａ、１１５４ｂ、１１５４ｃ、１１５６ｄ、１１５６ｅを備える。より詳細には、Ｈａａｒパターン１１００ａは、暗い中心エリアＥ １１５６ｅを備える。暗い中心エリアＥ １１５６ｅは、例えば、ユーザの手３３４または握り拳を表しうる。明るい外側のエリアＡ １１５４ａ、Ｂ １１５４ｂ、Ｃ １１５４ｃは、暗い中心エリアＥ １１５６ｅに隣接する（例えば、それぞれ、暗い中心エリアＥ １１５６ｅの上、右、下）。暗い外側のエリアＤ １１５６ｄは、暗いエリアＥ １１５６ｅに隣接する（例えば、左）。暗い外側のエリアＤ １１５６ｄは、例えば、ユーザ３３２の手首を表しうる。
【０１０８】
図１１Ｂは、本明細書に開示されるシステムおよび方法にしたがって使用されうるＨａａｒパターン１１００ｂ（例えば、トラッキングパターン）の別の例を示す。この例において、Ｈａａｒパターン１１００ｂは、５つの長方形エリアまたは領域１１０３ａ、１１０３ｂ、１１０３ｃ、１１０５ｄ、１１０５ｅを備える。より詳細には、Ｈａａｒパターン１１００ｂは、暗い中心エリアＥ １１０５ｅを備える。暗い中心エリアＥ １１０５ｅは、例えば、ユーザの手３３４または握り拳を表しうる。明るい外側のエリアＡ １１０３ａ、Ｂ １１０３ｂ、Ｃ １１０３ｃは、暗い中心エリアＥ １１０５ｅに隣接する（例えば、それぞれ、暗い中心エリアＥ １１０５ｅの左上、右上、右下）。暗い外側のエリアＤ １１０５ｄは、暗いエリアＥ １１０５ｅに隣接する（例えば、左下）。暗い外側のエリアＤ １１０５ｄは、例えば、ユーザ３３２の手首を表しうる。観察できるように、図１１Ｂに示されたＨａａｒパターン１１００ｂは、図１１Ｃに示されたＨａａｒパターン１１００ｃを−４５度回転した例でありうる。
【０１０９】
図１１Ｃは、本明細書に開示されるシステムおよび方法にしたがって使用されうるＨａａｒパターン１１００ｃ（例えば、トラッキングパターン）の別の例を示す。この例において、Ｈａａｒパターン１１００ｃは、５つの長方形のエリアまたは領域１１０７ａ、１１０７ｂ、１１０７ｃ、１１０９ｄ、１１０９ｅを備える。より詳細には、Ｈａａｒパターン１１００ｃは、暗い中心エリアＥ １１０９ｅを備える。暗い中心エリアＥ １１０９ｅは、例えば、ユーザの手３３４または握り拳を表しうる。明るい外側のエリアＡ １１０７ａ、Ｂ １１０７ｂ、Ｃ １１０７ｃは、暗い中心エリアＥ １１０９ｅに隣接する（例えば、それぞれ、暗い中心エリアＥ １１０９ｅの左、上、右）。暗い外側のエリアＤ １１０９ｄは、暗いエリアＥ １１０９ｅに隣接する（例えば、下）。暗い外側のエリアＤ １１０９ｄは、例えば、ユーザ３３２の手首を表しうる。
【０１１０】
図１１Ｄは、本明細書に開示されるシステムおよび方法にしたがって使用されうるＨａａｒパターン１１００ｄ（例えば、トラッキングパターン）の別の例を示す。この例において、Ｈａａｒパターン１１００ｄは、５つの長方形のエリアまたは領域１１１１ａ、１１１１ｂ、１１１１ｃ、１１１３ｄ、１１１３ｅを備える。より詳細には、Ｈａａｒパターン１１００ｄは、暗い中心エリアＥ １１１３ｅを備える。暗い中心エリアＥ １１１３ｅは、例えば、ユーザの手３３４または握り拳を表しうる。明るい外側のエリアＡ １１１１ａ、Ｂ １１１１ｂ、Ｃ １１１１ｃは、暗い中心エリアＥ １１１３ｅに隣接する（例えば、それぞれ、暗い中心エリアＥ １１１３ｅの左下、左上、右上）。暗い外側のエリアＤ １１１３ｄは、暗いエリアＥ １１１３ｅに隣接する（例えば、右下）。暗い外側のエリアＤ １１１３ｄは、例えば、ユーザ３３２の手首を表しうる。観察できるように、図１１Ｄに示されたＨａａｒパターン１１００ｄは、図１１Ｃに示されたＨａａｒパターン１１００ｃを＋４５度回転した例でありうる。
【０１１１】
図１１Ｅは、本明細書に開示されるシステムおよび方法にしたがって使用されうるＨａａｒパターン１１００ｅ（例えば、トラッキングパターン）の別の例を示す。この例では、Ｈａａｒパターン１１００ｅは、５つの長方形のエリアまたは領域１１１５ａ、１１１５ｂ、１１１５ｃ、１１１７ｄ、１１１７ｅを備える。より詳細には、Ｈａａｒパターン１１００ｅは、暗い中心エリアＥ １１１７ｅを備える。暗い中心エリアＥ １１１７ｅは、例えば、ユーザの手３３４または握り拳を表しうる。明るい外側のエリアＡ １１１５ａ、Ｂ １１１５ｂ、Ｃ １１１５ｃは、暗い中心エリアＥ １１１７ｅに隣接する（例えば、それぞれ、暗い中心エリアＥ １１１７ｅの下、左、上）。暗い外側のエリアＤ １１１７ｄは、暗いエリアＥ １１１７ｅに隣接する（例えば、右）。暗い外側のエリアＤ １１１７ｄは、例えば、ユーザ３３２の手首を表しうる。図１１Ａ〜１１Ｅに示されたＨａａｒパターン１１００ａ〜ｅは、（例えば、図１０に関して前述したような）本明細書に開示されたシステムおよび方法にしたがって使用されるＨａａｒパターンのセットでありうる。
【０１１２】
図１２は、コンピューティングデバイスインターフェースを提供するための方法１２００の別のより詳細な構成を示すフロー図である。より詳細には、図１２は、手３３４のジェスチャを認識４０８するためのさらなる詳細を示す。コンピューティングデバイス１０４は、手のトラッキングをモニタ１２０２することができる。１つの構成では、コンピューティングデバイス１０４は、トラッキングされた手３３４が、依然として動いているか、あるいは動きを停止したか（例えば、いくつかのフレームについて）をモニタすることができる。コンピューティングデバイス１０４は、トラッキングされた手３３４が動きを停止したか否かを決定１２０４することができる。例えば、コンピューティングデバイス１０４は、トラッキングされた手３３４が、いくつかのフレームまたはある時間量について、静止したままであるか、あるいはほぼ静止したままであるか（いくらかの範囲内で）を決定１２０４することができる。トラッキングされた手３３４が動きを停止していない（例えば、動き続けている）とコンピューティングデバイス１０４が決定する場合、操作は、手３３４のトラッキングをモニタ１２０２し続ける、または手３３４のトラッキングをモニタ１２０２することに戻ることができる。
【０１１３】
トラッキングされた手３３４が動いていない（例えば、ある時間量（例えば、７００ｍｓ）またはいくつかのフレームについて静止したままである）とコンピューティングデバイス１０４が決定１２０４する場合、コンピューティングデバイス１０４は、トラッキングされた手３３４の画像を固定サイズにスケーリング１２０６することができる。例えば、コンピューティングデバイス１０４は、画像または画像データ（カメラ１０２を使用してキャプチャされた）を特定の寸法（例えば、４０×４０ピクセル）にスケーリング１２０６することができる。あるいは、コンピューティングデバイス１０４は、フィルタまたはパターンのサイズをスケーリングすることができる。これは、画像からフィルタへの１対１のマッピングを作り出すことができ、それによって、画像は、探索されているテンプレートまたはパターンに位置合わせされることができる。例えば、画像は、大きい指サイズとパターンとの間でのより良い対応付けを提供するためにスケールダウンされることができ、あるいは小さい指サイズとパターンとの間でのより良い対応付けを提供するためにスケールアップされることができる。
【０１１４】
コンピューティングデバイス１０４は、探索空間（例えば、スケーリングされた画像）において画像データに最も良くマッチする（または、例えば、画像データに最良適合な）パターン（例えば、ジェスチャパターン）を決定１２０８することができる。例えば、コンピューティングデバイス１０４は、スケーリングされた画像において画像データに最も良くマッチするパターンを決定１２０８するために、４つのＨａａｒパターンのセットを使用することができる。例えば、コンピューティングデバイス１０４は、ユーザの手３３４が静止しているときに、ユーザ３３２の検出された手３３４に関して（例えば、ユーザの手３３４または握り拳の検出された中心に対して）指のパターン（例えば、明暗）を探索することによって、ユーザ３３２の指を探索することができる。例えば、各パターンは、３つの長方形の領域またはエリアを備えうる。暗い（例えば、暗い灰色の）エリアまたは長方形は、２つのより明るい（例えば、明るい灰色の）エリアまたは長方形の間にあることができる。換言すると、２つのより明るいエリアは、暗いエリアの両側で暗いエリアに隣接することができる。例えば、パターンのうちの１つは、垂直方向に位置合わせされることができ、別のパターンは、水平方向に位置合わせされることができ、残りの２つのパターンは、±４５度斜めに位置合わせされることができる。
【０１１５】
１つの構成では、コンピューティングデバイス１０４は、スケーリングされた画像または画像データを使用して、指（例えば、人差し指）が水平方向または垂直方向を指しているときに使用するための積分画像（例えば、合計されたエリア表）を計算することができる。例えば、選択される（人差し）指についての基準は、より明るい外側のエリアに関する平均ピクセル値が、暗いエリアにおける平均ピクセル値に１閾値（例えば、３０）を足したものよりも大きいものであるべきということである。水平または垂直パターンにおける指が見つかった場合、探索は、終了されることができる。そうでない場合、コンピューティングデバイス１０４は、＋４５度および−４５度回転された積分画像を計算することができる。フィルタを使用して指が見つからなかった場合、コンピューティングデバイス１０４は、手３３４が閉じている（例えば、閉じた握り拳のジェスチャである）と決定１２０８することができる。すなわち、探索空間において画像データに最も良くマッチするパターンを決定１２０８することが、パターンのセット内には画像データにマッチするパターンがない（例えば、指が見つからなかった）と決定することを含みうることに注意されたい。
【０１１６】
ジェスチャ認識のロバストネスを改善するために、「投票」アプローチが使用されることができる。例えば、指を認識するときには、いくつかのフレーム（例えば、２０個）がバッファまたは記憶されうる。コンピューティングデバイス１０４は、バッファ内の画像の最小パーセンテージ（例えば、８０％）が、指が隠されていると決定する前に、隠された人差し指を描くことを要求しうる。さらに、コンピューティングデバイス１０４は、探索されたフレームの別の最小パーセンテージ（例えば、５０％）が、人差し指が伸ばされていると決定する前に人差し指の発見を報告しなければならないことを要求しうる。ダウンマウスイベントが検出された後にのみアップマウスイベントがトリガされることを要求するステートマシンが使用されうるので、伸ばされた人差し指対隠された人差し指についてのより低い閾値要件が使用されうる。ステートマシンは、誤検出を低減するためのフィルタの役割を果たすことができる。
【０１１７】
コンピューティングデバイス１０４は、最も良くマッチするパターン（例えば、それは、パターンのセットの中のどのパターンでもない可能性がある）が操作に対応するか否かを決定１２１０することができる。例えば、コンピューティングデバイス１０４は、特定のパターンまたはその欠如を、ある操作を実行するためのジェスチャとして解釈することができる。例えば、指が見つからなかった場合、コンピューティングデバイス１０４は、指欠如のパターンを、「マウスダウン」、あるいは左マウスボタンを押し下げるイベントまたは操作と解釈しうる。さらに、コンピューティングデバイス１０４は、検出された伸ばされた指を、「マウスアップ」、あるいは左マウスボタンをリリースするイベントまたは操作と解釈しうる。他の多くの手３３４のジェスチャの欠如または存在が使用されうる。例えば、特定の位置（例えば、人差し指と親指との間の特定の角度）に保持されている１または複数の指は、イベントまたは操作に対応しうる。最も良くマッチするパターン（マッチするパターンが検出されない可能性がある）が操作に対応しないとコンピューティングデバイス１０４が決定１２１０する場合、コンピューティングデバイス１０４は、手３３４のトラッキングをモニタ１２０２することに戻ることができる。この決定１２１０がステートマシンを使用して行われうることに注意されたい。例えば、特定の状態にあるときに、特定のジェスチャ（例えば、パターンまたはその欠如）しかイベントまたは操作に対応するとして有効に解釈されないことがある。例えば、検出された人差し指の存在は、コンピューティングデバイス１０４が「マウスダウン」状態にない限り、「マウスアップ」イベントを示さない。「マウスアップ」イベントが後続する「マウスダウン」イベントが、「クリック」（例えば、コンピューティングデバイス１０４のユーザインターフェース（ＵＩ）と対話するための）を含みうることに注意されたい。
【０１１８】
最も良くマッチするパターン（パターンのセットの中のどのパターンでもない可能性がある）がある操作に対応するとコンピューティングデバイス１０４が決定１２１０する場合、コンピューティングデバイス１０４は、最も良くマッチするパターン（例えば、パターンのセットの中のどのパターンでもない可能性がある）に対応する操作を実行１２１２することができる。例えば、コンピューティングデバイス１０４は、認識された手３３４のジェスチャに対応する操作を実行１２１２することができる。１つの構成では、例えば、コンピューティングデバイス１０４は、伸ばされた指を示す最良最適なパターンの欠如（例えば、検出される指がないこと）を使用して、オペレーティングシステム（ＯＳ）のウィンドウマネジャへと「マウスダウン」または左マウスボタン押下げイベントをトリガすることができる。対応する操作の実行１２１２の後、コンピューティングデバイス１０４は、手のトラッキングをモニタ１２０２することに戻ることができる。
【０１１９】
本明細書に開示されるシステムおよび方法にしたがって、操作の実行１２１２をトリガするために追加的または代替的なパターンおよび／またはジェスチャが使用されることができる。例えば、カーソルを「リリース」するためのジェスチャが使用されうる。例えば、開いた手３３４（例えば、指が伸ばされている）に対応する１または複数のＨａａｒパターンが使用されることができる。コンピューティングデバイス１０４が、最も一致するパターンが開いた手３３４であることを決定１２０８し、開いた手のパターンがカーソルリリース操作に対応することを決定１２１０する場合、コンピューティングデバイス１０４は、カーソルをその現在の位置に残すことによって操作を実行１２１２することができる。１つの構成では、カーソルは、例えば、コンピューティングデバイス１０４が初期対話エリア３３８内で手３３４を検出するまで、その現在の位置に残されることができる。
【０１２０】
図１３は、コンピューティングデバイスインターフェースを提供するための方法１３００の別のより詳細な構成を示すフロー図である。より詳細には、図１３は、ジェスチャが指の使用を伴う場合の、手３３４のジェスチャを認識４０８することについてのさらなる詳細を示す。コンピューティングデバイス１０４は、手のトラッキングをモニタ１３０２することができる。１つの構成では、コンピューティングデバイス１０４は、トラッキングされた手３３４が、依然として動いているか、あるいは動きを停止したか（例えば、いくつかのフレームについて）をモニタすることができる。コンピューティングデバイス１０４は、トラッキングされた手３３４が動きを停止したか否かを決定１３０４することができる。例えば、コンピューティングデバイス１０４は、トラッキングされた手３３４が、いくつかのフレームまたはある時間量について、静止したままであるか、あるいはほぼ静止したままであるか（いくらかの範囲内で）を決定１３０４することができる。トラッキングされた手３３４が動きを停止していない（例えば、動き続けている）とコンピューティングデバイス１０４が決定する場合、操作は、手３３４のトラッキングをモニタ１３０２し続けるか、または手３３４のトラッキングをモニタ１３０２することに戻ることができる。
【０１２１】
トラッキングされた手３３４が動いていない（例えば、ある時間量（例えば、７００ｍｓ）またはいくつかのフレームについて静止したままである）とコンピューティングデバイス１０４が決定１３０４する場合、コンピューティングデバイス１０４は、トラッキングされた手３３４の画像を固定サイズにスケーリング１３０６することができる。例えば、コンピューティングデバイス１０４は、画像または画像データ（カメラ１０２を使用してキャプチャされた）を特定の寸法（例えば、４０×４０ピクセル）にスケーリング１３０６することができる。
【０１２２】
コンピューティングデバイス１０４は、水平方向または垂直方向を指している指について画像を探索１３０８することができる。例えば、コンピューティングデバイス１０４は、スケーリングされた画像において最良適合なパターンを決定するために、４つのＨａａｒパターン（例えばジェスチャパターン）のセットを使用することができる。例えば、各パターンは、３つの長方形の領域またはエリアを備えうる。暗い（例えば、暗い灰色の）エリアまたは長方形は、２つのより明るい（例えば、明るい灰色の）エリアまたは長方形の間にあることができる。換言すると、２つのより明るいエリアは、暗いエリアの両側で暗いエリアに隣接することができる。例えば、パターンのうちの１つは、垂直方向に位置合わせされることができ、別のパターンは、水平方向に位置合わせされることができ、残りの２つのパターンは、±４５度斜めに位置合わせされることができる。暗いエリアは、例えば、ユーザ３３２の指を表すことができる。
【０１２３】
例えば、コンピューティングデバイス１０４は、スケーリングされた画像または画像データを使用して、指（例えば、人差し指）が水平方向または垂直方向を指しているときに使用するための積分画像（例えば、合計されたエリア表）を計算することができる。例えば、選択される（人差し）指についての基準は、より明るい外側のエリアに関する平均ピクセル値が、暗いエリアにおける平均ピクセル値に１閾値（例えば、３０）を足したものよりも大きいものであるべきということである。
【０１２４】
コンピューティングデバイス１０４は、水平または垂直パターンにおける指が見つかるか否かを決定１３１０することができる。指が見つかった場合、探索は、終了されることができ、操作は、手のトラッキングをモニタ１３０２することに戻ることができる。しかしながら、水平パターンまたは垂直パターンにおける指がみつからなかった場合、コンピューティングデバイス１０４は、斜め方向を指している指について画像を探索１３１２することができる。例えば、コンピューティングデバイス１０４は、＋４５度および−４５度回転された積分画像を計算することができる。コンピューティングデバイス１０４は、斜めのパターンを使用して、指が見つかったまたは検出されたかどうかを決定１３１４することができる。指が見つかったとコンピューティングデバイスが決定１３１４する場合、コンピューティングデバイス１０４は、手のトラッキングをモニタ１３０２することに戻ることができる。フィルタを使用して指が見つからなかったことをコンピューティングデバイス１０４が決定１３１４する場合、コンピューティングデバイス１０４は、操作を実行１３１６することができる。例えば、コンピューティングデバイス１０４は、手３３４が閉じていること（例えば、閉じた握り拳のジェスチャ）、および閉じた手３３４のジェスチャが「マウスダウン」イベントに対応することを決定することができる。結果として、コンピューティングデバイス１０４は、「マウスダウン」イベントをトリガすることによって操作を実行１３１６することができる。
【０１２５】
ジェスチャ認識のロバストネスを改善するために、「投票」アプローチが使用されることができる。例えば、指を認識するときには、いくつかのフレーム（例えば、２０個）がバッファまたは記憶されうる。コンピューティングデバイス１０４は、バッファ内の画像の最小パーセンテージ（例えば、８０％）が、指が隠されていると決定する前に、隠された人差し指を描くことを要求しうる。さらに、コンピューティングデバイス１０４は、探索されたフレームの別の最小パーセンテージ（例えば、５０％）が、人差し指が伸ばされていると決定する前に人差し指の発見を報告しなければならないことを要求しうる。ダウンマウスイベントが検出された後にのみアップマウスイベントがトリガされることを要求するステートマシンが使用されうるので、伸ばされた人差し指対隠された人差し指についてのより低い閾値要件が使用されうる。ステートマシンは、誤検出を低減するためのフィルタの役割を果たすことができる。
【０１２６】
図１４Ａは、本明細書に開示されるシステムおよび方法にしたがって使用されうるＨａａｒパターン１４００ａ（例えば、ジェスチャパターン）の１つの例を示す図である。より詳細には、Ｈａａｒパターン１４００ａは、伸ばされた指を検出するために使用されうる。Ｈａａｒパターン１４００ａは、長方形の明るいエリアＡ １４５８ａおよび明るいエリアＣ １４５８ｃに隣接した暗い長方形のエリアＢ １４６０ｂを備える。暗いエリアＢ １４６０ｂは、例えば、ユーザ３３２の指を表しうる。特に、図１４Ａに示されるＨａａｒパターン１４００ａは、垂直に伸ばされた指を検出するために使用されうる。
【０１２７】
図１４Ｂは、本明細書に開示されるシステムおよび方法にしたがって使用されうるＨａａｒパターン１４００ｂ（例えば、ジェスチャパターン）の別の例を示す図である。より詳細には、Ｈａａｒパターン１４００ｂは、伸ばされた指を検出するために使用されうる。Ｈａａｒパターン１４００ｂは、長方形の明るいエリアＡ １４１９ａおよび明るいエリアＣ １４１９ｃに隣接した暗い長方形のエリアＢ １４２１ｂを備える。暗いエリアＢ １４２１ｂは、例えば、ユーザ３３２の指を表しうる。特に、図１４Ｂに示されるＨａａｒパターン１４００ｂは、斜めに（例えば、右下から左上に）伸ばされた指を検出するために使用されうる。図１４Ｂに示されたＨａａｒパターン１４００ｂが、図１４Ａに示されたＨａａｒパターン１４００ａを＋４５度回転したＨａａｒパターンの一例であることが観察される。
【０１２８】
図１４Ｃは、本明細書に開示されるシステムおよび方法にしたがって使用されうるＨａａｒパターン１４００ｃ（例えば、ジェスチャパターン）の別の例を示す図である。より詳細には、Ｈａａｒパターン１４００ｃは、伸ばされた指を検出するために使用されうる。Ｈａａｒパターン１４００ｃは、長方形の明るいエリアＡ １４２３ａおよび明るいエリアＣ １４２３ｃに隣接した暗い長方形のエリアＢ １４２５ｂを備える。暗いエリアＢ １４２５ｂは、例えば、ユーザ３３２の指を表しうる。特に、図１４Ｃに示されるＨａａｒパターン１４００ｃは、斜めに（例えば、左下から右上に）伸ばされた指を検出するために使用されうる。図１４Ｃに示されたＨａａｒパターン１４００ｃが、図１４Ａに示されたＨａａｒパターン１４００ａを−４５度回転したＨａａｒパターンの一例であることが観察される。
【０１２９】
図１４Ｄは、本明細書に開示されるシステムおよび方法にしたがって使用されうるＨａａｒパターン１４００ｄ（例えば、ジェスチャパターン）の別の例を示す図である。より詳細には、Ｈａａｒパターン１４００ｄは、伸ばされた指を検出するために使用されうる。Ｈａａｒパターン１４００ｄは、長方形の明るいエリアＡ １４２７ａおよび明るいエリアＣ １４２７ｃに隣接した暗い長方形のエリアＢ １４２９ｂを備える。暗いエリアＢ １４２９ｂは、例えば、ユーザ３３２の指を表しうる。特に、図１４Ｄに示されるＨａａｒパターン１４００ｄは、水平に伸ばされた指を検出するために使用されうる。
【０１３０】
１つの構成では、図１４Ａ〜Ｄに示されたＨａａｒパターンと同一および／または類似のＨａａｒパターンが、親指と人差し指との間の角度を検出するために使用されうる。例えば、コンピューティングデバイス３０４は、ユーザ３３２の親指と人差し指との間の角度を決定または推定するために、Ｈａａｒパターンマッチについて画像データ（トラッキングされた手の隣の領域（例えば、どちらの手が使用されたかに応じて、右側または左側））を探索することができる。ユーザ３３２が例えば自身の右手３３４を使用している（および／または、コンピューティングデバイス３０４によって右手３３４を使用するように指示されている）場合、画像データは、トラッキングされた手３３４の左側で探索されうる。画像データは、例えば、ユーザの手３３４が動きを停止したときに、探索されうる。様々な角度をもつ１または複数のＨａａｒパターンが使用されうる。例えば、様々な回転の、図１４Ａに示される明―暗―明のパターン１４００ａに類似したパターンが使用されうる。例えば、０度、１５度、３０度、４５度、６０度、７５度および／または９０度の回転でのパターンが使用されうる。画像データにマッチするパターンは、ユーザ３３２の親指と人差し指との間の角度を示しうる。この角度は、この角度に対応する距離でユーザの手３３４からカーソルを遠ざけるまたは伸ばすなどの操作をトリガするために使用されうる。例えば、９０度の角度は、何らかの距離（例えば、フィート、ピクセル、投影画像３３０のエッジまでの距離のパーセンテージなど）における最大伸長に対応し、０または１５度は、最小の伸長または伸長なしに対応し、それらの間の角度は、それらの中間の距離範囲に対応しうる。
【０１３１】
図１５は、電子デバイス１５６２において利用されうる様々なコンポーネントを示す。示されるコンポーネントは、同じ物理構造内あるいは別個のハウジングまたは構造に配置されうる。図２に関して論じた電子デバイス２１０は、電子デバイス１５６２と同様に構成されうる。さらに、前述したカメラ１０２、２０２、３０２、コンピューティングデバイス１０４、２０４、３０４、および／またはプロジェクタ１０８、２０８、３０８は、各々、電子デバイス１５６２と同様に構成されうる。電子デバイス１５６２は、プロセッサ１５７０を含む。プロセッサ１５７０は、汎用のシングルチップまたはマルチチップマイクロプロセッサ（例えば、ＡＲＭ）、専用マイクロプロセッサ（例えば、デジタル信号プロセッサ（ＤＳＰ））、マイクロコントローラ、プログラマブルゲートアレイなどでありうる。プロセッサ１５７０は、中央処理装置（ＣＰＵ）と呼ばれうる。図１５の電子デバイス１５６２には単一のプロセッサ１５７０だけが示されているが、代替的な構成では、プロセッサの組み合わせ（例えば、ＡＲＭとＤＳＰ）が使用されることもできる。
【０１３２】
電子デバイス１５６２は、また、プロセッサ１５７０と電子通信するメモリ１５６４を含む。すなわち、プロセッサ１５７０は、メモリ１５６４から情報を読み取ることおよび／またはメモリ１５６４に情報を書き込むことができる。メモリ１５６４は、電子情報を記憶可能な任意の電子コンポーネントでありうる。メモリ１５６４は、ランダムアクセスメモリ（ＲＡＭ）、読取専用メモリ（ＲＯＭ）、磁気ディスク記憶媒体、光記憶媒体、ＲＡＭにおけるフラッシュメモリデバイス、プロセッサと共に含まれるオンボードメモリ、プログラマブル読取専用メモリ（ＰＲＯＭ）、消去可能プログラマブル読取専用メモリ（ＥＰＲＯＭ）、電気的消去可能ＰＲＯＭ（ＥＥＰＲＯＭ）、レジスタ、およびそれらの組み合わせでありうる。
【０１３３】
データ１５６８ａおよび命令１５６６ａは、メモリ１５６４に記憶されうる。命令１５６６ａは、１または複数のプログラム、ルーチン、サブルーチン、関数、プロシージャ、コードなどを含みうる。命令１５６６ａは、単一のコンピュータ可読ステートメントまたは多数のコンピュータ可読ステートメントを含みうる。命令１５６６ａは、上述された方法４００、５００、９００、１０００、１２００、１３００をインプリメントするためにプロセッサ１５７０によって実行可能でありうる。命令１５６６ａを実行することは、メモリ１５６４に記憶されたデータ１５６８ａを使用することを含みうる。図１５は、いくつかの命令１５６６ｂおよびデータ１５６８ｂがプロセッサ１５７０にロードされている様子を示す。
【０１３４】
電子デバイス１５６２は、また、他の電子デバイスと通信するための１または複数の通信インターフェース１５７０を含みうる。通信インターフェース１５７０は、有線通信テクノロジ、ワイヤレス通信テクノロジ、またはその両方に基づきうる。通信インターフェース１５７０の様々なタイプの例は、シリアルポート、パラレルポート、ユニバーサル・シリアル・バス（ＵＳＢ：Universal Serial Bus）、イーサネット（登録商標）アダプタ、ＩＥＥＥ１３９４バスインターフェース、小型コンピュータ用周辺機器インターフェース（ＳＣＳＩ：small computer system interface）、バスインターフェース、赤外線（ＩＲ）通信ポート、ブルートゥース（登録商標）ワイヤレス通信アダプタなどを含む。
【０１３５】
電子デバイス１５６２は、また、１または複数の入力デバイス１５７２および１または複数の出力デバイス１５７４を含みうる。入力デバイス１５７２の様々な種類の例は、キーボード、マウス、マイクロフォン、リモート制御デバイス、ボタン、ジョイスティック、トラックボール、タッチパッド、ライトペンなどを含む。出力デバイス１５７４の様々な種類の例は、スピーカ、プリンタなどを含む。典型的に電子デバイス１５６２に含まれうる出力デバイスの１つの特定のタイプは、ディスプレイデバイス１５７６である。本明細書に開示された構成とともに使用されるディスプレイデバイス１５７６は、ブラウン管（ＣＲＴ）、液晶ディスプレイ（ＬＣＤ）、発光ダイオード（ＬＥＤ）、ガスプラズマ、エレクトロルミネセンス（electroluminescence）など、任意の適切な画像投影テクノロジを利用することができる。ディスプレイコントローラ１５７８は、また、メモリ１５６４に記憶されたデータを、ディスプレイデバイス１５７６上に示されるテキスト、グラフィック、および／または動画（必要に応じて）に変換するために設けられうる。
【０１３６】
電子デバイス１５６２の様々なコンポーネントは、電力バス、制御信号バス、ステータス信号バス、データバスなどを含みうる１または複数のバスによって互いに結合されうる。簡単にするために、様々なバスが、バスシステム１５８０として図１５に示されている。図１５が、電子デバイス１５６２の可能な一構成だけを示すことに注意されたい。他の様々なアーキテクチャおよびコンポーネントが利用されうる。
【０１３７】
図１６は、ワイヤレス通信デバイス１６８２内に含まれうる特定のコンポーネントを示す。前述されたワイヤレス通信デバイスは、図１６に示されるワイヤレス通信デバイス１６８２と同様に構成されうる。ワイヤレス通信デバイス１６８２は、プロセッサ１６９８を含む。プロセッサ１６９８は、汎用のシングルチップまたはマルチチップマイクロプロセッサ（例えば、ＡＲＭ）、専用マイクロプロセッサ（例えば、デジタル信号プロセッサ（ＤＳＰ））、マイクロコントローラ、プログラマブルゲートアレイなどでありうる。プロセッサ１６９８は、中央処理装置（ＣＰＵ）と呼ばれうる。図１６のワイヤレス通信デバイス１６８２には単一のプロセッサ１６９８だけが示されているが、代替的な構成では、プロセッサの組み合わせ（例えば、ＡＲＭとＤＳＰ）が使用されることもできる。
【０１３８】
ワイヤレス通信デバイス１６８２は、また、プロセッサ１６９８と電子通信するメモリ１６８４を含む（すなわち、プロセッサ１６９８は、メモリ１６８４から情報を読み取ることおよび／またはメモリ１６８４に情報を書き込むことができる）。メモリ１６８４は、電子情報を記憶可能な任意の電子コンポーネントでありうる。メモリ１６８４は、ランダムアクセスメモリ（ＲＡＭ）、読取専用メモリ（ＲＯＭ）、磁気ディスク記憶媒体、光記憶媒体、ＲＡＭにおけるフラッシュメモリデバイス、プロセッサと共に含まれるオンボードメモリ、プログラマブル読取専用メモリ（ＰＲＯＭ）、消去可能プログラマブル読取専用メモリ（ＥＰＲＯＭ）、電気的消去可能ＰＲＯＭ（ＥＥＰＲＯＭ）、レジスタ、およびそれらの組み合わせなどでありうる。
【０１３９】
データ１６８６ａおよび命令１６８８ａは、メモリ１６８４に記憶されうる。命令１６８８ａは、１または複数のプログラム、ルーチン、サブルーチン、関数、プロシージャなどを含みうる。命令１６８８ａは、単一のコンピュータ可読ステートメントまたは多数のコンピュータ可読ステートメントを含みうる。命令１６８８ａは、上述された方法４００、５００、９００、１０００、１２００、１３００をインプリメントするためにプロセッサ１６９８によって実行可能でありうる。命令１６８８ａを実行することは、メモリ１６８４に記憶されたデータ１６８６ａを使用することを含みうる。図１６は、いくつかの命令１６８８ｂおよびデータ１６８６ｂがプロセッサ１６９８にロードされている様子を示す。
【０１４０】
ワイヤレス通信デバイス１６８２は、また、ワイヤレス通信デバイス１６８２とリモートロケーション（例えば、基地局または他のワイヤレス通信デバイス）との間での信号の送受信を可能にするために送信機１６９４および受信機１６９６を含みうる。送信機１６９４および受信機１６９６は、集合的にトランシーバ１６９２と呼ばれうる。アンテナ１６９０は、電気的にトランシーバ１６９２に結合されうる。ワイヤレス通信デバイス１６８２は、また、（図示されていない）複数の送信機、複数の受信機、複数のトランシーバ、および／または複数のアンテナを含みうる。
【０１４１】
ワイヤレス通信デバイス１６８２の様々なコンポーネントは、電力バス、制御信号バス、ステータス信号バス、データバスなどを含みうる１または複数のバスによって互いに結合されうる。簡単にするために、様々なバスが、バスシステム１６０１として図１６に示されている。
【０１４２】
以上の記述では、参照番号が、時々、様々な用語に関連して使用されている。用語が参照番号に関連して使用される場合、これは、図のうちの１または複数において示される特定のエレメントを指すことを意味しうる。用語が参照番号なしに使用される場合、これは、いずれか特定の図に限定することなく用語を一般的に指すことを意味しうる。
【０１４３】
「決定すること（determining）」という用語は、幅広い種類の動作を包含し、したがって、「決定すること」は、算出すること（calculating）、計算すること（computing）、処理すること（processing）、導出すること（deriving）、調査すること（investigating）、ルックアップすること（looking up）（例えば、表、データベース、または別のデータ構造をルックアップすること）、確実にすること（ascertaining）、および同様のものを含みうる。また、「決定すること」は、受け取ること（receiving ）（例えば、情報を受け取ること）、アクセスすること（accessing）（例えば、メモリ内のデータにアクセスすること）、および同様のものを含みる。また、「決定すること」は、解決すること（resolving）、選ぶこと（selecting）、選択すること（choosing）、確立すること（establishing）、および同様のものを含みうる。
【０１４４】
「〜に基づいて（based on）」という表現は、別途明確に記載されていない限り、「〜だけに基づいて（based only on）」を意味していない。換言すると、「〜に基づいて」という表現は、「〜だけに基づいて」および「少なくとも〜に基づいて（based at least on）」の両方を記述する。
【０１４５】
本明細書に記述された機能は、１または複数の命令として、プロセッサ可読媒体またはコンピュータ可読媒体に記憶されうる。「コンピュータ可読媒体」という用語は、コンピュータまたはプロセッサによってアクセスできる任意の利用可能な媒体を指す。限定するものではなく、一例として、そのような媒体は、ＲＡＭ、ＲＯＭ、ＥＥＰＲＯＭ、フラッシュメモリ、ＣＤ−ＲＯＭまたは他の光学ディスク記憶装置、磁気ディスク記憶装置または他の磁気記憶デバイス、または、コンピュータによってアクセスされることができ、命令やデータ構造の形で所望のプログラムコードを記憶するために使用されうる他の任意の媒体を含みうる。ディスク（ｄｉｓｋ）とディスク（ｄｉｓｃ）は、本明細書で使用される場合、コンパクトディスク（ＣＤ）、レーザディスク、光ディスク、デジタル多用途ディスク（ＤＶＤ）、フロッピー（登録商標）ディスク、ブルーレイ（登録商標）ディスクを含む。ディスク（ｄｉｓｋ）は通常磁気的にデータを再生し、ディスク（ｄｉｓｃ）はレーザで光学的にデータを再生する。コンピュータ可読媒体が、有形および非一時的でありうることに注意されたい。「コンピュータプログラムプロダクト（computer-program product）」という用語は、コンピューティングデバイスまたはプロセッサによって実行、処理、または計算されうるコードまたは命令（例えば、「プログラム」）と組み合わせたコンピューティングデバイスまたはプロセッサを指す。本明細書で使用される場合、「コード（code）」という用語は、コンピューティングデバイスまたはプロセッサによって実行可能であるソフトウェア、命令、コードまたはデータを指しうる。
【０１４６】
ソフトウェアまたは命令は、また、送信媒体を通じて送信されうる。例えば、ソフトウェアが、同軸ケーブル、光ファイバケーブル、ツイストペア、デジタル加入者回線（ＤＳＬ）、または赤外線、無線、マイクロ波などのワイヤレステクノロジを使用して、ウェブサイト、サーバ、または他のリモートソースから送信される場合、同軸ケーブル、光ファイバケーブル、ツイストペア、ＤＳＬ、または赤外線、無線、マイクロ波などのワイヤレステクノロジは、送信媒体の定義に含まれる。
【０１４７】
本明細書に開示された方法は、記述された方法を達成するための１または複数のステップまたは動作を備える。方法のステップおよび／または動作は、特許請求の範囲から逸脱することなく互いに交換されうる。換言すると、記述されている方法の適正な操作のためにステップまたは動作の特定の順序が必要とされない限り、特定のステップおよび／または動作の順序および／または使用は、特許請求の範囲を逸脱することなく変更されうる。
【０１４８】
請求項が、前述した厳密な構成およびコンポーネントに限定されないことが理解されるべきである。特許請求の範囲から逸脱することなく、本明細書に記述されたシステム、方法、および装置の、配置、操作、および詳細において、様々な修正、変更、および変形が行われうる。
以下に、本願の出願当初請求項に記載された発明を付記する。
［Ｃ１］
インターフェースを提供するように構成されたコンピューティングデバイスであって、
プロセッサと、
前記プロセッサと電子通信するメモリと、
前記メモリに記憶された命令と
を備え、前記命令は、
プロジェクタから投影画像を投影し、
カメラを使用して画像をキャプチャし、ここにおいて、前記カメラは可視スペクトルにおいて動作する、
前記コンピューティングデバイスを較正し、
手を検出し、
探索空間においてトラッキングパターンに基づいて前記手をトラッキングし、
操作を実行する
ように実行可能である、
コンピューティングデバイス。
［Ｃ２］
前記コンピューティングデバイスを較正することは、
前記投影画像のコーナーを見つけることと、
前記投影画像の座標をデスクトップ空間にマッピングすることと
を含む、上記Ｃ１に記載のコンピューティングデバイス。
［Ｃ３］
前記コンピューティングデバイスを較正することは、手のサイズを決定することを含む、上記Ｃ１に記載のコンピューティングデバイス。
［Ｃ４］
前記手のサイズは、前記投影画像に基づいて決定され、前記投影画像は、複数の楕円を備える、上記Ｃ３に記載のコンピューティングデバイス。
［Ｃ５］
前記手のサイズは、顔認識に基づいて決定される、上記Ｃ３に記載のコンピューティングデバイス。
［Ｃ６］
前記手は、初期対話エリア内で検出される、上記Ｃ１に記載のコンピューティングデバイス。
［Ｃ７］
前記命令は、さらに、
体をトラッキングし、
前記体をトラッキングすることに基づいて前記初期対話エリアを動かす
ように実行可能である、上記Ｃ６に記載のコンピューティングデバイス。
［Ｃ８］
前記命令は、さらに、前記トラッキングパターンが手にマッチすることを決定するように実行可能である、上記Ｃ１に記載のコンピューティングデバイス。
［Ｃ９］
前記命令は、さらに、前記手の動きに基づいて前記探索空間を動的に変化させるように実行可能である、上記Ｃ１に記載のコンピューティングデバイス。
［Ｃ１０］
前記トラッキングパターンは、３つの側部が長方形の明るい外側領域に隣接し、１つの側部が長方形の暗い外側領域に隣接した、長方形の暗い中心領域を備える、上記Ｃ１に記載のコンピューティングデバイス。
［Ｃ１１］
前記操作は、前記手をトラッキングすることに基づいて実行される、上記Ｃ１に記載のコンピューティングデバイス。
［Ｃ１２］
前記命令は、さらに、ジェスチャパターンに基づいて手のジェスチャを認識するように実行可能である、上記Ｃ１に記載のコンピューティングデバイス。
［Ｃ１３］
手のジェスチャを認識することは、さらに
トラッキングされた手が、ある時間期間の間、動きを停止したか否かを決定することと、
トラッキングされた手の画像を固定サイズにスケーリングすることと
を含む、上記Ｃ１２に記載のコンピューティングデバイス。
［Ｃ１４］
前記ジェスチャパターンは、２つの側部が長方形の明るい外側領域に隣接した、長方形の暗い中心領域を備える、上記Ｃ１２に記載のコンピューティングデバイス。
［Ｃ１５］
前記命令は、さらに、前記認識された手のジェスチャに基づいて操作を実行するように実行可能である、上記Ｃ１２に記載のコンピューティングデバイス。
［Ｃ１６］
前記命令は、さらに、前記手のジェスチャが複数のフレームのあるパーセンテージについて認識されるときに操作を実行するように実行可能である、上記Ｃ１２に記載のコンピューティングデバイス。
［Ｃ１７］
前記手のジェスチャは、親指と人差し指との間の角度に基づいて認識され、前記命令は、さらに、前記親指と人差し指との角度に基づいて前記手からカーソルを遠ざけるように実行可能である、上記Ｃ１２に記載のコンピューティングデバイス。
［Ｃ１８］
前記命令は、さらに、前記投影画像の手の周りの領域をより明るく照らすように実行可能である、上記Ｃ１に記載のコンピューティングデバイス。
［Ｃ１９］
前記命令は、さらに、複数の手をトラッキングするように実行可能である、上記Ｃ１に記載のコンピューティングデバイス。
［Ｃ２０］
前記命令は、さらに、複数の手のジェスチャを認識するように実行可能である、上記Ｃ１に記載のコンピューティングデバイス。
［Ｃ２１］
前記命令は、さらに、前記手の影をトラッキングするのを回避するために、前記手をトラッキングする前に前記画像の暗い部分を除去するように実行可能である、上記Ｃ１に記載のコンピューティングデバイス。
［Ｃ２２］
前記命令は、さらに、前記投影画像のあるエリアにおいて前記画像の改善されたフォーカスおよび露出を提供するように実行可能である、上記Ｃ１に記載のコンピューティングデバイス。
［Ｃ２３］
前記操作は、カーソルをリリースする、上記Ｃ１５に記載のコンピューティングデバイス。
［Ｃ２４］
インターフェースを提供するための方法であって、
プロジェクタから投影画像を投影することと、
カメラを使用して画像をキャプチャすることと、ここにおいて、前記カメラは可視スペクトルにおいて動作する、
コンピューティングデバイスを較正することと、
前記コンピューティングデバイスによって手を検出することと、
前記コンピューティングデバイスによって、探索空間においてトラッキングパターンに基づいて前記手をトラッキングすることと、
前記コンピューティングデバイスによって操作を実行することと
を備える方法。
［Ｃ２５］
前記コンピューティングデバイスを較正することは、
前記投影画像のコーナーを見つけることと、
前記投影画像の座標をデスクトップ空間にマッピングすることと
を含む、上記Ｃ２４に記載の方法。
［Ｃ２６］
前記コンピューティングデバイスを較正することは、手のサイズを決定することを含む、上記Ｃ２４に記載の方法。
［Ｃ２７］
前記手のサイズは、前記投影画像に基づいて決定され、前記投影画像は、複数の楕円を備える、上記Ｃ２６に記載の方法。
［Ｃ２８］
前記手のサイズは、顔認識に基づいて決定される、上記Ｃ２６に記載の方法。
［Ｃ２９］
前記手は、初期対話エリアにおいて検出される、上記Ｃ２４に記載の方法。
［Ｃ３０］
体をトラッキングすることと、
前記体をトラッキングすることに基づいて前記初期対話エリアを動かすことと
をさらに備える、上記Ｃ２９に記載の方法。
［Ｃ３１］
前記トラッキングパターンが手にマッチすることを決定することをさらに備える、上記Ｃ２４に記載の方法。
［Ｃ３２］
前記手の動きに動的に基づいて前記探索空間を動的に変化させることをさらに備える、上記Ｃ２４に記載の方法。
［Ｃ３３］
前記トラッキングパターンは、３つの側部が長方形の明るい外側領域に隣接し、１つの側部が長方形の暗い外側領域に隣接した、長方形の暗い中心領域を備える、上記Ｃ２４に記載の方法。
［Ｃ３４］
前記操作は、前記手をトラッキングすることに基づいて実行される、上記Ｃ２４に記載の方法。
［Ｃ３５］
ジェスチャパターンに基づいて手のジェスチャを認識することをさらに備える、上記Ｃ２４に記載の方法。
［Ｃ３６］
手のジェスチャを認識することは、
トラッキングされた手が、ある時間期間の間、動きを停止したか否かを決定することと、
トラッキングされた手の画像を固定サイズにスケーリングすることと
をさらに含む、上記Ｃ３５に記載の方法。
［Ｃ３７］
前記ジェスチャパターンは、２つの側部が長方形の明るい外側領域に隣接した、長方形の暗い中心領域を備える、上記Ｃ３５に記載の方法。
［Ｃ３８］
前記認識された手のジェスチャに基づいて操作を実行することをさらに備える、上記Ｃ３５に記載の方法。
［Ｃ３９］
前記手のジェスチャが複数のフレームのあるパーセンテージについて認識されるときに操作を実行することをさらに備える、上記Ｃ３５に記載の方法。
［Ｃ４０］
前記手のジェスチャは、親指と人差し指との間の角度に基づいて認識され、前記方法は、さらに、前記親指と人差し指との間の角度に基づいて前記手からカーソルを遠ざけることを含む、上記Ｃ３５に記載の方法。
［Ｃ４１］
前記投影画像の手の周りの領域をより明るく照らすことをさらに備える、上記Ｃ２４に記載の方法。
［Ｃ４２］
複数の手をトラッキングすることをさらに備える、上記Ｃ２４に記載の方法。
［Ｃ４３］
複数の手のジェスチャを認識することをさらに備える、上記Ｃ２４に記載の方法。
［Ｃ４４］
前記手の影をトラッキングするのを回避するために、前記手をトラッキングする前に前記画像の暗い部分を除去することをさらに備える、上記Ｃ２４に記載の方法。
［Ｃ４５］
前記投影画像のあるエリアにおいて前記画像の改善されたフォーカスおよび露出を提供することをさらに備える、上記Ｃ２４に記載の方法。
［Ｃ４６］
前記操作は、カーソルをリリースする、上記Ｃ３８に記載の方法。
［Ｃ４７］
インターフェースを提供するためのコンピュータプログラムプロダクトであって、前記コンピュータプログラムプロダクトは、命令をその上に有する非一時的な有形のコンピュータ可読媒体を備え、前記命令は、
コンピューティングデバイスに、プロジェクタから投影画像を投影させるためのコードと、
前記コンピューティングデバイスに、カメラを使用して画像をキャプチャさせるためのコードと、ここにおいて、前記カメラは可視スペクトルにおいて動作する、
前記コンピューティングデバイスに、前記コンピューティングデバイスを較正させるためのコードと、
前記コンピューティングデバイスに、手を検出させるためのコードと、
前記コンピューティングデバイスに、探索空間においてトラッキングパターンに基づいて前記手をトラッキングさせるためのコードと、
前記コンピューティングデバイスに、操作を実行させるためのコードと
を備える、コンピュータプログラムプロダクト。
［Ｃ４８］
前記手は、初期対話エリアにおいて検出される、上記Ｃ４７に記載のコンピュータプログラムプロダクト。
［Ｃ４９］
前記命令は、前記コンピューティングデバイスに、ジェスチャパターンに基づいて手のジェスチャを認識させるためのコードをさらに備える、上記Ｃ４７に記載のコンピュータプログラムプロダクト。
［Ｃ５０］
インターフェースを提供するための装置であって、
プロジェクタから投影画像を投影するための手段と、
カメラを使用して画像をキャプチャするための手段と、ここにおいて、前記カメラは可視スペクトルにおいて動作する、
前記装置を較正するための手段と、
手を検出するための手段と、
探索空間においてトラッキングパターンに基づいて前記手をトラッキングするための手段と、
操作を実行するための手段と
を備える装置。
［Ｃ５１］
前記手は、初期対話エリアにおいて検出される、上記Ｃ５０に記載の装置。
［Ｃ５２］
ジェスチャパターンに基づいて手のジェスチャを認識するための手段をさらに備える、上記Ｃ５０に記載の装置。
【図１】
0005567206.tif 000003
【図２】
0005567206.tif 000004
【図３】
0005567206.tif 000005
【図４】
0005567206.tif 000006
【図５】
0005567206.tif 000007
【図６】
0005567206.tif 000008
【図７】
0005567206.tif 000009
【図８】
0005567206.tif 000010
【図９】
0005567206.tif 000011
【図１０】
0005567206.tif 000012
【図１１Ａ】
0005567206.tif 000013
【図１１Ｂ】
0005567206.tif 000014
【図１１Ｃ】
0005567206.tif 000015
【図１１Ｄ】
0005567206.tif 000016
【図１１Ｅ】
0005567206.tif 000017
【図１２】
0005567206.tif 000018
【図１３】
0005567206.tif 000019
【図１４Ａ】
0005567206.tif 000020
【図１４Ｂ】
0005567206.tif 000021
【図１４Ｃ】
0005567206.tif 000022
【図１４Ｄ】
0005567206.tif 000023
【図１５】
0005567206.tif 000024
【図１６】
0005567206.tif 000025