(57)【要約】【課題】自由空間でのユーザのジェスチャを捕えること、ジェスチャを認識すること、コンピュータ生成画像を操作するユーザ入力としてジェスチャを使用することを目的とするする。【解決手段】改良された画像観察においては、ユーザのジェスチャは、第１および第２の画像から認識され、認識されたユーザのジェスチャに対応するインタラクションコマンドが決定され、そして、決定されたインタラクションコマンドに基づいてユーザインターフェースで表示される画像オブジェクトが操作される。【選択図】図４Ａ
2014099184.tif 000002
【特許請求の範囲】
【請求項１】
第１および第２の画像からユーザのジェスチャを認識するステップと、
認識されたユーザのジェスチャに対応するインタラクションコマンドを決定するステッ
プと、
決定されたインタラクションコマンドに基づいて、ユーザインターフェースで表示され
る画像オブジェクトを操作するステップと、
を備えるコンピュータ実行方法。
【発明の詳細な説明】
【技術分野】
【０００１】
［関連出願の相互参照］
この出願は２００８年３月４日に出願の米国特許出願番号第１２／０４１９２７号の利益を主張し、当該出願の内容は援用によりここに組み込まれるものとする。
【０００２】
本開示は、一般にコントロール（またはウィジェット）に関する。
【背景技術】
【０００３】
入力デバイスまたはポインティングデバイスは、コンピュータ使用者がコンピュータにデータを入力することができるハードウェア部品である。コントロール（またはウィジェット）は、データの操作に単一のインタラクションポイント（相互作用点）を提供するために、例えば、入力デバイスを用いてコンピュータ使用者が対話するインターフェース要素である。例えば、コントロールは、画像を見るまたは操作するために用いられる。
【先行技術文献】
【特許文献】
【０００４】
【特許文献１】特開２００８−４０５７６号公報
【特許文献２】米国特許出願公開第２００８／３６７４３号明細書
【特許文献３】米国特許出願公開第２００８／１３８２６号明細書
【発明の概要】
【課題を解決するための手段】
【０００５】
１つの総合的実施によれば、改良された方法は、カメラを有する自由空間におけるユーザのジェスチャをキャプチャするために提供され、ジェスチャを認識するステップと、コンピュータ生成画像を操作するためにユーザ入力としてジェスチャを使用するステップとが提供される。その際、写真のような画像は、ユーザの身体の直接的な、直感的な、自然な動作を通じて、インタラクト（相互作用）させることができる。
【０００６】
他の総合的実施によれば、プロセスは、第１および第２の画像から、ユーザのジェスチャを認識するステップと、認識されたユーザのジェスチャに対応するインタラクションコマンドを決定するステップと、決定されたインタラクションコマンドに基づいて、ユーザインターフェースで表示される画像オブジェクトを操作するステップと、を含む。
【０００７】
実施は、以下の特徴の一つ以上を含むことができる。例えば、上記インタラクションコマンドは、選択コマンドを含み、上記画像オブジェクトを操作するステップは、さらなる操作のため上記画像オブジェクトを選択するステップをさら含むことができる。上記ユーザのジェスチャを認識するステップは、上記第１の画像においてユーザの腕を伸ばした状態、指を伸ばした状態、掌を前方に出した手のポーズを検出するステップと、上記第２の画像においてユーザの腕を伸ばした状態、指を握った状態、掌を下方に置いた手のポーズを検出するステップと、をさらに含むことができる。
【０００８】
さらなる実施例において、上記インタラクションコマンドは、画像パンコマンドを含み、上記画像オブジェクトを操作するステップは、上記ユーザインターフェースに関連する上記画像オブジェクトをパンするステップをさらに含む。上記ユーザのジェスチャを認識するステップは、上記第１の画像におけるユーザの腕の第１位置を検出するステップと、上記第２の画像におけるユーザの腕の第２位置を検出するステップと、上記第１位置と第２位置との間の変化の大きさおよび方向を決定するステップと、とをさらに含み得る。距離モードでは、上記画像オブジェクトを操作するステップは、決定された大きさおよび方向に相関している上記画像オブジェクトの変位位置を決定するステップと、この変位位置における上記画像オブジェクトを表示するステップと、をさらに含み得る。速度モードでは、上記画像オブジェクトを操作するステップは、決定された大きさおよび方向に相関しているスクロールの大きさおよび方向を決定するステップと、決定されたスクロールの大きさおよび方向に基づいて上記画像オブジェクトをスクロールするステップと、をさらに含み得る。
【０００９】
付加的な実施例において、上記インタラクションコマンドは、画像ズームコマンドを含み、上記画像オブジェクトを操作するステップは、ユーザインターフェースと関連して上記画像オブジェクトをズームするステップとをさらに含み得る。上記ユーザのジェスチャを認識するステップは、上記第１の画像におけるユーザの腕の第１位置を検出するステップと、上記第２の画像におけるユーザの腕の第２位置を検出するステップと、上記第１位置と第２位置との間の変化の大きさおよび方向を決定するステップと、をさらに含み得る。距離モードでは、上記画像オブジェクトを操作するステップは、上記決定された大きさおよび方向に相関している拡大係数を決定するステップと、上記決定された拡大係数を上記画像オブジェクトに適用するステップと、をさらに含み得る。速度モードでは、上記画像オブジェクトを操作するステップは、決定された大きさおよび方向に相関して、大きさおよび方向調整を決定するステップと、上記決定された大きさおよび方向調整に基づいて画像オブジェクトの拡大係数を反復的に調整するステップと、をさらに含み得る。
【００１０】
付加的な実施例において、上記インタラクションコマンドは、ローテーションコマンドを含み、上記画像オブジェクトを操作するステップは、ユーザインターフェースと関連して上記画像オブジェクトを回転させるステップをさらに含み得る。上記ユーザのジェスチャを認識するステップは、上記第１の画像における、ユーザの手の第１方位を検出するステップと、上記第２の画像における、ユーザの手の第２方位を検出するステップと、上記第１位置と第２位置との間の方位変化を決定するステップと、をさらに含み得る。距離モードでは、上記画像オブジェクトを操作するステップは、上記決定された大きさおよび方向に相関している上記画像オブジェクトの変位方位を決定するステップと、この変位方位における上記画像オブジェクトを表示するステップと、をさらに含み得る。速度モードでは、上記画像オブジェクトを操作するステップは、上記決定された大きさおよび方向に相関している大きさおよび方向調整を決定するステップと、上記決定された大きさおよび方向調整に基づいて、上記画像オブジェクトの方位を反復して調整するステップと、をさらに含み得る。
【００１１】
他の実施例において、ユーザのジェスチャの大きさが予め定められた閾値を上回る場合、画像オブジェクトは操作され得る。画像オブジェクトは、ユーザのジェスチャの方向を反映させている操作方向において操作され得る。上記ユーザのジェスチャを認識するステップは、第１の選択ジェスチャを認識するステップと、第１のインタラクションジェスチャを認識するステップと、非選択ジェスチャを認識するステップと、再配置ジェスチャを認識するステップと、第２の選択ジェスチャを認識するステップと、第２のインタラクションジェスチャを認識するステップと、を含み得る。上記画像オブジェクトを操作するステップは、上記第１の選択ジェスチャを認識することに基づいて画像オブジェクトを選ぶステップと、認識された上記第１および第２のインタラクションジェスチャに基づいて上記第１および第２のインタラクションジェスチャと関連する単一の調整技術を使用し、上記画像オブジェクトを調整するステップと、上記再配置ジェスチャをフィルタリングするステップと、をさらに含み得る。上記インタラクションコマンドは、プレビュー画像コマンドを含み、上記画像オブジェクトを操作するステップは、上記画像オブジェクトを、複数のプレビュー画像オブジェクトから選択することをさらに含み得る。
【００１２】
他の一般の実施によれば、システムは、画像を表示するように構成されたユーザインターフェースと、プロセッサを含む。このプロセッサは、第１および第２の画像からユーザのジェスチャを認識し、認識されたユーザのジェスチャに対応するインタラクションコマンドを決定し、決定されたインタラクションコマンドに基づいて、画像オブジェクトを操作するように構成される。上記システムは、上記第１および第２の画像を生成するように構成されるＴＯＦ（ｔｉｍｅ−ｏｆ−ｆｌｉｇｈｔ）カメラをさらに含み得る。
【００１３】
さらなる一般の実施において、コンピュータプログラム製品は、機械可読媒体において明白に具現化される。コンピュータプログラム製品は、機械によって読み込まれるときに、第１および第２の画像から、ユーザのジェスチャを認識して、認識されたユーザのジェスチャに対応するインタラクションコマンドを決定し、決定されたインタラクションコマンドに基づいて、ユーザインターフェースに表示される画像オブジェクトを操作するようにデータ処理装置を動作させる命令を含む。
【００１４】
一つ以上の実施の詳細は、以下、添付の図面および説明に記載される。開示の他の特徴および効果は、説明および図面から、そして、請求項から明らかである。
【図面の簡単な説明】
【００１５】
【図１Ａ】認識されたジェスチャを利用した画像操作を実演する状況図である。
【図１Ｂ】認識されたジェスチャを利用した画像操作を実演する状況図である。
【図２】例示的処理のフローチャートである。
【図３】例示的処理のフローチャートである。
【図４Ａ】例示的ジェスチャおよび付随するユーザインターフェースを説明する図である。
【図４Ｂ】例示的ジェスチャおよび付随するユーザインターフェースを説明する図である。
【図５Ａ】例示的ジェスチャおよび付随するユーザインターフェースを説明する図である。
【図５Ｂ】例示的ジェスチャおよび付随するユーザインターフェースを説明する図である。
【図６Ａ】例示的ジェスチャおよび付随するユーザインターフェースを説明する図である。
【図６Ｂ】例示的ジェスチャおよび付随するユーザインターフェースを説明する図である。
【図７Ａ】例示的ジェスチャおよび付随するユーザインターフェースを説明する図である。
【図７Ｂ】例示的ジェスチャおよび付随するユーザインターフェースを説明する図である。
【図７Ｃ】例示的ジェスチャおよび付随するユーザインターフェースを説明する図である。
【図７Ｄ】例示的ジェスチャおよび付随するユーザインターフェースを説明する図である。
【図７Ｅ】例示的ジェスチャおよび付随するユーザインターフェースを説明する図である。
【図８Ａ】例示的ジェスチャおよび付随するユーザインターフェースを説明する図である。
【図８Ｂ】例示的ジェスチャおよび付随するユーザインターフェースを説明する図である。
【図９Ａ】例示的ジェスチャおよび付随するユーザインターフェースを説明する図である。
【図９Ｂ】例示的ジェスチャおよび付随するユーザインターフェースを説明する図である。
【図１０Ａ】例示的ジェスチャおよび付随するユーザインターフェースを説明する図である。
【図１０Ｂ】例示的ジェスチャおよび付随するユーザインターフェースを説明する図である。
【図１１Ａ】例示的ジェスチャおよび付随するユーザインターフェースを説明する図である。
【図１１Ｂ】例示的ジェスチャおよび付随するユーザインターフェースを説明する図である。
【図１２Ａ】例示的ジェスチャおよび付随するユーザインターフェースを説明する図である。
【図１２Ｂ】例示的ジェスチャおよび付随するユーザインターフェースを説明する図である。
【図１３Ａ】例示的ジェスチャおよび付随するユーザインターフェースを説明する図である。
【図１３Ｂ】例示的ジェスチャおよび付随するユーザインターフェースを説明する図である。
【図１４Ａ】サムネイルグリッドを例示する図である。
【図１４Ｂ】サムネイルグリッドを例示する図である。
【図１４Ｃ】サムネイルグリッドを例示する図である。
【図１５】プロセッサおよびユーザインターフェースをさらに含むコンピュータの外観を例示する図である。
【図１６】図１５に示されるコンピュータの内部構造を例示しているブロック図である。
【発明を実施するための形態】
【００１６】
全体にわたり、部分に対応して同様の参照番号を表す。
【００１７】
１つの総合的実施によれば、改良された方法は、カメラを有して、自由空間でのユーザのジェスチャを捕えること、ジェスチャを認識すること、コンピュータ生成画像を操作するユーザ入力としてジェスチャを使用することを目的に提供される。その際、写真のような画像は、ユーザの身体の直接で、直観的で、自然な動作を介して、相互に作用され得る。
【００１８】
特に、デプス（ｄｅｐｔｈ）カメラのようなカメラは、ジェスチャの認識またはユーザのジェスチャの変化に基づいてコンピュータまたはハブを制御するために用いることができる。見えにくくなるという、指紋の有害な影響に悩まされるタッチスクリーン・システムとは異なり、ジェスチャに基づく入力は、写真、ビデオまたは他の画像がクリアに表示される、または、ユーザの身体の自然な運動またはポーズに基づいて作り出すことができる。このような利点を考慮して、ユーザが見ることができ、パン（移動）し、サイズ、回転し、そして画像オブジェクト上の他の操作を実行できるジェスチャが認識され得る。
【００１９】
デプス・カメラ（それはまた、ＴＯＦ（ｔｉｍｅ−ｏｆ−ｆｌｉｇｈｔ）カメラと称してもよい）は、赤外線エミッタおよびセンサを含むことができる。デプス・カメラは、赤外線照明のパルスを作り出し、その後、光がオブジェクトに届くのに要する時間を測定し、センサに戻ることができる。距離は、光の移動時間に基づいて算出され得る。
【００２０】
ここで使用しているように、全体に、「ジェスチャ」は、人体の一部によってなされる非言語的なコミュニケーションの形に言及することを意図し、例えば話し言葉などの言語コミュニケーションと対比される。例えば、ジェスチャは、運動、変化または第一位置、ポーズまたは表現と、第２のポーズ（位置または表現）との間の変換によって定義され得る。日常的な会話において使用される普通のジェスチャは、例えば、「エアクォーツ」ジェスチャ、会釈ジェスチャ、お辞儀、チーク・キス、指または手運動、ひざまづく叩頭、首振り運動、ハイファイブ、うなずき、悲しい顔、突き上げた拳、敬礼、親指を立てる身振り、身体を捻るジェスチャ、あるいは指を差すジェスチャを含む。ジェスチャは、例えばユーザのイメージを分析することによるなど、カメラの利用、ユーザがデバイスを保持あるいは傾ける角度を検出することによるなど、傾斜センサの利用、あるいは他のあらゆる方法によって、検出され得る。
【００２１】
身体部分は、その位置（すなわち、手を振る動作）を変えることによって、ジェスチャ（または「ジェスチャで表現」）をすることができ、もしくは、身体部分は、その位置（すなわち、握り拳ジェスチャをすることによって）を変えずにジェスチャで表現することができる。実施例として、エンハンスドコントロールは、カメラ入力を経て機能性のコントロールを遂行するための手および腕のジェスチャを使用するが、ジェスチャの他方式がまた、用いられ得る。
【００２２】
図１は、認識されたジェスチャを利用した画像操作を実演する状況図である。図１において、ユーザ１０１は、メディア・ハブ１０３のディスプレイに出力されるユーザインターフェース１０２およびカメラ１０４の前に座っており、ユーザインターフェース１０２上の一つ以上の画像オブジェクト（例えば、デジタル写真または他の画像）を見る。ユーザの右腕１０５、右手１０６および胴１０７は、カメラ１０４の視野１０９の中にある。
【００２３】
背景画像（例えばユーザ１０１が座っているソファーまたはユーザ１０１の胴および頭部）は、サンプルをとられるか、フィルタをかけられるか、あるいはその反対で、ジェスチャ認識プロセスから無視される。例えば、カメラ１０１は全ての対象を無視することができ、あるいは、電位コントロールオブジェクトは、カメラから一定の距離以外の所に配置したその場合において、上記距離は、あらかじめ定義されるかまたは動的に決定される。一例を挙げると、上記距離は、ユーザのいっぱいに伸ばされた拳とユーザの胴との間に介在し得る。あるいは、平面は、ユーザの胴の前で動的に定義付けられ得るが、そうすると、その胴の後で起こる全ての動作またはジェスチャは除去されるか、そうでなければ無視される。
【００２４】
選択された画像オブジェクトを移動するメディア・ハブ１０３を持ちたいという要望を示すために、ユーザ１０１は、例えばユーザインターフェース１０２に平行な平面に沿ったあらゆる方向でもって手を移動することができる。例えば、選択された画像オブジェクト１１０をユーザインターフェース１０２上のより高い場所へ移動させるために、図１Ｂに示すように、ユーザは、右腕１０５を上昇運動にて動かすことによってジェスチャで表現することができる。
【００２５】
第１のカメラ画像から、拳にて指が閉じられる（すなわち、図１Ａに示す握り拳）手１０５のポーズが検出される。手１０６の位置およびこのように上昇運動によって行われるジェスチャにおける変化はまた、第２のカメラ画像より検出されるか、認識されるか、そうでなければ決定される。腕１０５の上昇運動から認識されるジェスチャに基づいて、画像オブジェクトの動きまたはインタラクションコマンドは決定され、腕１０５の動作検出と一致する動作で選択された画像オブジェクト１１０は、ユーザインターフェース１０２上のより高い位置へ移動する（図１Ｂで図示）。
【００２６】
画像オブジェクト１１０の動きの大きさ、変位または速度は、ユーザのジェスチャの大きさ、変位または速度に相関可能である。一般に、ユーザインターフェース１０２（「Ｘ−Ｙ方向」）に平行な平面の前方への手の動きは、手の動作距離と比例した距離に対応する方向にユーザインターフェース１０２で移動するために選択された画像オブジェクトを与える。
【００２７】
上記距離は、「一致する」ことによって、手によって動かされた距離と１：１の関係を持ち得、他の幾つかの関係、又はその関係が可変的または動的に決定されることがある。例えば、おそらくは解剖学的モデルで定めているように、ユーザの前で直接的に発生する、より大きな手の動きに比べて、ユーザのリーチの外側の範囲の小さい動きは、マッピングすることができるか、そうでなければユーザインターフェースにおける画像のより大きい操作に対応することができる。言い換えれば、加速、減速、あるいは他の動作は、付随する画像操作の大きさを決定するか、または影響を及ぼすためにジェスチャに適用され得る。
【００２８】
上記大きさは、また、距離および速度の機能であってもよい。マグニチュード乗数は、ユーザが行ったある期間にわたって記録された以前のジェスチャの距離および速度に基づいて、ある期間にわたってユーザのスタイルに適合し得る。あるいは、ジェスチャが行われている間、ジェスチャの際に観察される速度に基づいて、マグニチュード乗数はユーザのスタイルに適合し得る。マグニチュード乗数は、ユーザがより急速に移動する場合（ユーザの腕を大きく振り回す表現方法に対して）、増加することがあり、または、ユーザがよりゆっくり移動する場合（ユーザのより意図的な表現方法に対して）、減少することがある。
【００２９】
ジェスチャ動作は、他の画像操作コマンドにおける結果となり得る。例えば、ジェスチャ動作が、拡大機能の一部として利用され得る。画像オブジェクトのサブ領域がユーザインターフェース１０２に表示され得る。ジェスチャ動作は、画像オブジェクトの範囲内でサブ領域を移動することができる。別の例として、ジェスチャ動作は、画像オブジェクトのディレクトリまたは画像オブジェクトのリストを見るために用いてもよい。画像オブジェクトは、ユーザインターフェース１０２（すなわち、１つの画像オブジェクトは、一度にユーザインターフェース１０２に表示され得る）のサイズを合わせるために拡大・縮小され得る。ジェスチャ動作は、その次、又はその前の画像オブジェクトに「反転」し得る。（すなわち、その次およびその前の画像オブジェクトは、それらが「反転される」まで、表示され得ない）。
【００３０】
画像オブジェクト１１０の動きの方向は、手１０６の動きに対し、同様か、直交するものでよく、反映するものでもよく、あるいは他のあらゆる関係を有するものであってよい。例えば、指示が同じ一設定では、上方への手のジェスチャは、あたかもユーザ１０６が垂直に画像オブジェクトを引っ張っているかのように、画像オブジェクト１１０を上方へ移動させることができる。このような設定では、右に対するジェスチャは、画像オブジェクト１１０を、ユーザと関連させて右へ移動するか（すなわちユーザインターフェース１０２上で左に動く）、またはユーザインターフェース上で右に移動させることができる（すなわちユーザと関連させて左へ移動する）。このような指示のマッピングは、予め設定されることができるか、ユーザが選択可能とするか、または、これまでの使用に基づいて決定され得る。
【００３１】
指示が反映する他の実施において（例えば「スクロール・モード」）、手の上方へのジェスチャは、スクロールバーの上方移動と同様の動作を可能とし、画像オブジェクト１１０を実際に下がらせる。このような設定では、右へのジェスチャは、スクロールバーが右に移動するように（すなわち、ユーザと関連させて、画像オブジェクトを左へ移動させ、ユーザインターフェース１０２上で右に移動する）、かつ逆もまた同様である。
【００３２】
図２は、画像操作を実行するために使用するデバイス２００のブロック図である。簡単に言えば、特にデバイス２００は、ユーザインターフェース２０１、記憶媒体２０２、カメラ２０４、プロセッサ２０５、および傾斜センサ２０９を含む。
【００３３】
ユーザインターフェース２０１は、ユーザに、デバイス２００で、またはデバイス２００によって呼び出されるアプリケーションで相互作用させる（情報をやりとりする）ための機構である。ユーザインターフェース２０１は、両方の入出力のため、ユーザにデバイスを操作させるため、またはユーザの操作の効果を発揮するための機構を提供することができる。デバイス２００は、様々な種類のユーザインターフェース２０１、例えばグラフィカルユーザインターフェース（ＧＵＩ）、音声ユーザインターフェース、または触覚に関するユーザインターフェースを利用することができる。
【００３４】
ユーザインターフェース２０１は、視覚的表示画像を描写するように構成され得る。例えば、ユーザインターフェース２０１は、モニタ、テレビ、液晶ディスプレイ（ＬＣＤ）、プラズマ表示装置、プロジェクタ・スクリーンを有するプロジェクタ、自動立体表示装置、陰極線管（ＣＲＴ）表示装置、デジタル・ライト・プロセッシング（ＤＬＰ）表示装置、または画像表示を行う他のあらゆる種類の表示装置であり得る。ユーザインターフェース２０１は、一つ以上の表示装置を含むことができる。一部の構成において、ユーザインターフェース２０１は、例えばアプリケーションによって発生するアバター等のオブジェクトまたは表象を含む画像を表示するような、アプリケーションと関連する画像を表示するように構成され得る。
【００３５】
記憶媒体２０２は、情報またはデータを格納、記録するものであり、光記憶媒体、磁気記憶媒体、フラッシュメモリまたは他のあらゆる記憶媒体のタイプであり得る。特に、記憶媒体は、認識されたジェスチャを使用するという改良された入力をもたらすエンハンスドコントロールアプリケーション２０７でコード化される。
【００３６】
カメラ２０４は、スチール写真か一連の動画像として画像を捕えるために使用するデバイスである。カメラ２０４は、可視スペクトルの光または赤外線などの電磁スペクトルの他の部分を使用することができる。例えば、カメラ２０４は、画像を捕えるように構成されるデジタルカメラ、デジタルビデオカメラ、または他のあらゆる種類のデバイスであってよい。カメラ２０４は、一つ以上のカメラを含むことができる。一部の実施例において、カメラ２０４は、アプリケーションと相互に作用しているオブジェクトまたはユーザのイメージを捕えるように構成され得る。例えば、カメラ２０４は、自由空間（例えばユーザの周囲の空中）において身体で表現（ジェスチャで話している）をしているか、そうでなければカメラ２０４の視野の中でアプリケーションと相互作用しているユーザまたは人の像を捕えるように構成され得る。
【００３７】
カメラ２０４は、ステレオカメラ、ＴＯＦ（ｔｉｍｅ−ｏｆ−ｆｌｉｇｈｔ）カメラ、または他のあらゆるカメラであってもよい。例えば、カメラ２０４は、動作および同様にユーザのジェスチャを検出するために背景画像のサンプルをとることができる画像検出器であってもよい。カメラ２０４は、例えば距離画像を生成することができるステレオカメラ、またはＴＯＦ（ｔｉｍｅ−ｏｆ−ｆｌｉｇｈｔ）カメラなど、グレイスケール画像、カラー画像または距離画像を作り出すことができる。ステレオカメラは、わずかに異なる視点で画像を得る２台のイメージ・センサを含むことができ、そこにおいて、プロセッサは、画像の一部の距離を算出するために異なる視点から得られる画像を比較する。ＴＯＦ（ｔｉｍｅ−ｏｆ−ｆｌｉｇｈｔ）カメラは、以下を含むことができる：光パルス（光は赤外光でも可）を起こすエミッタ、そこにおいて、画像の一部の距離を算出するために、光パルスがエミッタからオブジェクト、そしてセンサに戻るまで進む時間が測定される。
【００３８】
デバイス２００は、有線または無線経路を通じて、カメラ２０４およびユーザインターフェース２０１と電気的に接続かつ通信操作可能であり、エンハンスドコントロールを提供するためにプロセッサ２０５の動作を制御するように構成される。ある形態において、デバイス２００は、エンハンスド・カメラに基づく入力を提供するアプリケーションを実行するために、プロセッサ２０５または他の制御回路を使用する。カメラ２０４がデバイス２００と通信する別々のデバイス（例えばウェブカメラ）であってもよいが、他の実施において、カメラ２０４はデバイス２００に組み込まれて、内部バスを経てデバイス２００（例えばプロセッサ２０５）の他の構成要素と通信する。
【００３９】
デバイス２００がパーソナルコンピュータ（ＰＣ）またはセットトップボックスとされているが、この種の説明はただ単に簡潔さのために作成されており、そして、他の実施または明示はまた、意図される。例えば、デバイス２００は、テレビ、ウルトラモバイルパソコン（ＵＭＰＣ）、モバイルインターネットデバイス（ＭＩＤ）、デジタルピクチャフレーム（ＤＰＦ）、携帯用のメディア・プレーヤ（ＰＭＰ）、汎用コンピュータ（例えば、デスクトップコンピュータ、ワークステーションまたはラップトップコンピュータ）、サーバ、ゲーム機またはコンソール、あるいは、命令を実行するように構成されるプロセッサまたは他の制御回路、あるいは、ユーザインターフェースを含む他のあらゆるデバイスを含む、あらゆる種類の電子デバイスとして実現され得る。
【００４０】
実施例を挙げれば、入力は、ジェスチャを実行しているユーザのイメージを検出するために、カメラを用いて起こる。例えば、携帯電話は、テーブルに配置可能で、フェイス・フォワード・カメラを使用してユーザの画像を出すように操作可能でもよい。あるいは、例えば、表象を左に動かし、画像を左にパンするかまたは反時計回りに画像を回転させるため「左に傾く」ジェスチャを検出することによって、またはズームインして、右に画像をパンするために、上方へそしてニュートラルポジションの右側に表象を動かすため「右前に傾く」ジェスチャを検出することによって、ジェスチャは認識され得るか、または傾斜センサ２０９を使用して検出され得る。
【００４１】
このように傾斜センサ２０９は、例えばジャイロスコープ、加速度計、またはカメラベースのオプティカルフロー・トラッカなど、デバイス２００の角度位置を検出するように操作可能なあらゆる種類のモジュールであってよい。この点に関して、画像に基づく入力は、機能またはユーザのコマンド要求を実行する傾斜センサ入力によって追加され得るか置き換えられ得る。言い換えれば、ユーザのジェスチャの検出はカメラを使用せずに、もしくは画像の範囲内でユーザを検出することなく起こり得る。ユーザがユーザインターフェース上の画像を操ることを要求するのと同じストロークパターンの種類のデバイスを動かすことによって、ユーザは、直接的に同じインターフェースまたはアプリケーションを制御することができる。
【００４２】
図３は、認識されたジェスチャを利用した画像操作をもたらすコンピュータ実行プロセス３００を例示しているフローチャートである。簡単には、コンピュータ実行プロセス３００が、第１および第２の画像から、ユーザのジェスチャを認識するステップ、認識されたユーザのジェスチャに対応するインタラクションコマンドを決定するステップ、決定されたインタラクションコマンドに基づいて、ユーザインターフェースで表示される画像オブジェクトを操作するステップを含む。
【００４３】
さらに詳細には、上記プロセス３００が開始する（Ｓ３０１）ときに、ユーザのジェスチャは第１および第２の画像（Ｓ３０２）から認識される。第１および第２の画像は、個々の画像スナップショットから、またはビデオシーケンスを形成する一連の画像から得られる。各々の画像は、アプリケーションがユーザのポーズまたはジェスチャを決定することのできる位置情報を捕える。
【００４４】
通常、ジェスチャは、動き、位置、ポーズ、または考え、意見、感情、コミュニケーション、コマンド、デモンストレーション、または表現を表す姿勢に関連するものと意図されている。例えば、ユーザのジェスチャは、１本または多数本の指でのジェスチャ、片手でのジェスチャ、片方の手と腕でのジェスチャ、片方の手と腕かつ身体でのジェスチャ、両手で行うジェスチャ、頭部姿勢または身体の位置、眼の位置、顔の表情、身体のポーズまたは姿勢、もしくは他のあらゆる表現力豊かな身体の状態であり得る。便宜のために、関連したジェスチャを実行するために使用する身体の一部または部分は、概して「コントロールオブジェクト」と称する。単一画像のまたは２つの画像間のユーザのジェスチャは、有効化または「係合」ジェスチャを表してもよい。
【００４５】
カメラ画像からユーザのジェスチャを決定する多くの方法がある。例えば、「空中に円を描く」かまたは「手を一方側へ打ち振る」ジェスチャは、手、腕、体、頭部または他のオブジェクト位置情報を用いたジェスチャ分析および検出プロセスによって検出され得る。ジェスチャが以下を含むことができるが、打ち振るジェスチャがなされた場合などのように、二次元または三次元の位置変位は、他の例では、ジェスチャは付随する位置変位のない変換を含む。例えば、５本の指がいっぱいに伸ばされた前方への掌で、手が「停止」のシグナルを発している場合、全５本の指が掌でボールのように収縮すると、手または腕の全体の位置が変化しないままの場合であっても、ユーザのジェスチャは変化する。
【００４６】
手の位置情報が明確な一連の規則をパスするかどうか決定することによるなど、ジェスチャは、発見的方法を用いて検出され得る。例えば、以下のジェスチャ検出規則が満たされる場合、上記「手を一方側へ打ち振る」ジェスチャは識別され得る。（１）水平位置の変化は、所定の制限より少ない期間にわたって所定の距離より大きい。（２）水平位置は、期間にわたって単調に変化する。（３）垂直位置の変化は、その期間において所定の距離より少ない。そして、（４）その期間の終わりの位置は、その期間の開始時での位置より手の検出領域の境界に近い（または境界上である）。
【００４７】
いくつかのジェスチャは、実行されかつ明確な命令において満たされる多数の規則セットを利用する。ここでの規則セットの充足は、異なる規則セットが適用される状況に変化するシステムをもたらす。このシステムは、微妙なジェスチャを検出することができなくてもよい、そこにおいて、検出されるべき特定の動作の連鎖を可能にさせるモデルとして隠れマルコフモデルが使用される場合があるが、動作が十分にジェスチャに合っているという全体の可能性もまた考慮する。
【００４８】
基準は、無関係であるか意図的でない対象ジェスチャを除去するために用いる場合がある。例えば、平面は、カメラの前で予め定められた距離で定義され得る。そこにおいて、カメラから水準面の向こう側で作り出されまたは実行されるジェスチャは、無視される。その一方で、適当な様に、カメラおよび水準面の間で実行されるジェスチャまたは潜在的ジェスチャはモニタされ、識別され、認識され、フィルタをかけられ、必要に応じて処理される。上記水準面は、また、例えばユーザの胴と関連するなど、他のポイント、位置またはオブジェクトと関連して定義され得る。さらにまた、本文献において記載されている改良された方法は、背景画像を取り出す背景フィルタリングモデルまたはコントロールオブジェクトを形成しない動きの中のオブジェクトを使用することができる。
【００４９】
ジェスチャまたはジェスチャにおける変更を認識することに加えて、他の情報はまた、画像から決定され得る。例えば、顔の検出および認識プロセスは、画像の範囲内でユーザの存在および同一性を検出するために、画像上で実行され得る。同一性情報は、例えば、利用できるオプション、利用できる相互作用のタイプを決定するかまたは選ぶか、もしくは１以上のユーザが入力機能性を係合しようとしている場合に、画像の範囲内の多数のユーザのうちどちらがコントロールユーザとして指定されるべきかについて決定するために用いられ得る。
【００５０】
複合コマンドの入力を可能にして、入力オプションの数を増やすため、ユーザのジェスチャが認識するための以下のプロセスをさらに含むことができる。第１の方向における第１の変位を認識するステップ、第２の方向における第２の変位を認識するステップ、単一のジェスチャとしてこれらの多数の変位を集計するステップ、さらにまた、ユーザのジェスチャの認識は、ユーザのジェスチャの大きさおよび方向を決定することができる。
【００５１】
係合ジェスチャは、ジェスチャに基づくコマンド入力のため他の画像をモニタする機能を起動させるかまたは呼び出して、ランダムまたは背景の身体動作を無視する。一部の実施例において、係合ジェスチャは、手が、掌を前方に、かつ５本の指を大きく広げて真っすぐに保たれる第１の手のポーズから、手がげんこつに保たれる第２の手のポーズへの移行である。
【００５２】
図４Ａ−４Ｂは、典型的な係合ジェスチャおよび係合ジェスチャに起因するユーザインターフェースを示す。特に、カメラ４０２でとらえられるユーザ４０１の２つの画像は、掌を前方へかつ指を大きく広げた開いた手のポーズ４０５（図４Ａにて図示）から、握り拳の手のポーズ４０６（図４Ｂにて図示）へと、ジェスチャで表現するユーザの手をとらえる。
【００５３】
ユーザによるこのジェスチャの実行は、画像オブジェクト４１０に対し、画像オブジェクト４１０の選択を意味するためユーザインターフェースの範囲内での強調表示をもたらす。図４Ｂにおいて、例えば、画像オブジェクト４１０は、選択された画像オブジェクトとして画像オブジェクト４１０を指定する、画像オブジェクト４１０周辺に現れる二重の境界４０８を使用して強調される。ユーザは、事実上、それを選ぶために、自由空間における画像オブジェクト４１０を実質的に「つかんでいる」。選択された画像オブジェクトは、例えば上記の図１に関するジェスチャ動作など、認識される他のジェスチャによって操作され得る。
【００５４】
身体、腕または手のジェスチャに加えて、指をさしているジェスチャは、一つ以上の画像から認識されることが可能である。例えば、「左を指す」ジェスチャは、ユーザの指先から作られ、指の画像を分析することによって検出されることができる。指紋分析または他のアプローチは、指先の指す方向を決定するために用いることができる。他の実施例において、また上述のように、ジェスチャが言葉によるジェスチャであるか、もしくは傾斜センサまたは加速度計を用いて検出されるようなジェスチャは、カメラを使用せずに検出可能である。
【００５５】
図３に戻り、認識されたユーザのジェスチャに対応するインタラクションコマンドが決定される（Ｓ３０４）。画像インタラクションコマンドは、ユーザのジェスチャにマッピングされ得る。例えば、図１に関して上述したジェスチャ動作は、画像動向コマンドにマッピングされ得る。他の実施例には、以下が含まれる。画像回転コマンドにマッピングされる手回しジェスチャ、および画像サイジングにマッピングされるユーザインターフェース（「Ｚ軸」）によって定義される平面と垂直である軸に沿った手の動き、ズーミングまたは倍率コマンド、である。一部の実施において、インタラクションコマンドは、ユーザのジェスチャの方向を反映させている操作方向をもたらすことができる。例えば、ユーザの左から右へのジェスチャ動作は、左から右に移動される画像オブジェクトをもたらすことができる。
【００５６】
決定されたインタラクションコマンドに基づいて、ユーザインターフェースで表示される画像オブジェクトは操作され（Ｓ３０６）、それによって、方法３００を終える（Ｓ３０７）。例えば、決定された画像動向コマンドに基づいて、画像オブジェクト（例えば画像オブジェクト１１０、図１）は、ディスプレイスクリーンに平行な平面に沿ってユーザの腕の動きに対応する場所へ移動することができる。別の例として、決定された画像サイジングコマンドに基づいて、画像オブジェクトは、決定されたユーザの腕の動きの向きや大きさに対応してサイジングされ得る。
【００５７】
図５Ａ−５Ｂは、典型的なズームイン・ジェスチャを示す。図において、ユーザ５０１は、手を、第１位置５０２から第２位置５０３へと、身体の方へ後退させるジェスチャで表現する。これにより、ディスプレイ５０６において、選択された画像オブジェクト５０４がより大きいサイズで（すなわち、図５Ｂに示すように画像オブジェクト５０８として）表示される。距離モードにおいて、ズーム距離は、手のＺ位置に対応し得る。カメラ５１０からより遠くなる手の動きは、「ズームイン」コマンド（すなわち、ユーザは、「画像オブジェクトを引っ張って近づける」）と解釈され得る。
【００５８】
同様に、図６Ａ−６Ｂは、典型的な「ズームアウト」ジェスチャを例示し、図において、ユーザ６０１は、手を、第１位置６０２から第２位置６０３へと、身体から離れる方へ進めるジェスチャで表現する。これにより、ディスプレイ６０６において、選択された画像オブジェクト６０４がより小さいサイズで（すなわち、図６Ｂに示すように画像オブジェクト６０８として）表示される。カメラ６１０により近づく手の動きは、「ズームアウト」コマンド（すなわち、「画像オブジェクトを押しのける」）と解釈され得る。
【００５９】
一部の実施において、ユーザが身体の方へ、又は身体から離れるように手を動かしている間にユーザが手を開く場合、選択された画像オブジェクトは、手が開かれたときの手の動作の速度と比例した速度で拡大・縮小し続けることができる。手が開かれた後、ズーム速度は時間とともに段階的に減少することができる。
【００６０】
さらなる実施において、あたかも画像オブジェクトが質量または運動量を有するかのように、手の動作の速度または他のジェスチャは決定され、モデル化されて、画像オブジェクトに適用される。例えば、左に手を速く振るジェスチャは、左に手を遅く振るジェスチャより、画像オブジェクトがさらに左に遠い距離動くかもしれない。さらにまた、例えば「押し込み」ジェスチャが最初に速いペースでズームアウトする画像オブジェクトをもたらし、その後、仮想押し込みのアプリケーションから時間が経過してから遅くするなど、あたかもユーザインターフェースが、摩擦、ドラッグ、重力、又は他の力の影響を受けるかのように、画像オブジェクトは反応し得る。
【００６１】
さらに、ユーザインターフェース上で画像オブジェクトが第１の方向に移動中で、ジェスチャが第２の反対方向に進行するのが認識される場合、画像オブジェクトに割り当てられる「仮想」運動量がジェスチャに割り当てられる「仮想」運動量によって克服されるまで、画像オブジェクトは第１方向において進行し続けることができる。直観的で視覚的に気持ちの良い方法で、これらの挙動は、自由空間のコントロールオブジェクトおよびユーザインターフェースの画像の間の仮想的な相互作用を可能になう所定のまたはユーザ定義済みの設定、変数および係数に基づくことがあり得る。
【００６２】
図７Ａ−７Ｅは、典型的な「再配置」ジェスチャを示す。ユーザ７０１は、位置７０２に身体に引き戻された手がある。ユーザは、選択された画像オブジェクトをより近くにズームすることを望む場合、ユーザは、位置７０２の手を伴い、その手をそれ以上身体の方へ動かすことはできない。ユーザ７０１は、ユーザの手を開くこと、そして、５本の指を位置７０４で示すように大きく広げることによって手を「リリース」（これにより、ズームコマンドをキャンセルするか保留する）ことができる。
【００６３】
ユーザ７０１はその後、手を前方への位置７０６に動かすことができ、再係合する（すなわち、画像オブジェクトを再選択する）ため手を閉じる（位置７０８に示す）。そして最後に、手を、身体の方、位置７１０へと後退させ、これにより、選択された画像オブジェクトをより大きいサイズにズームさせる。動きにおいて、一つの「引っ張る」を上回る大きさで身体の方に画像を「引っ張る」ことを続けるために、ユーザ７０１は水泳運動で手を動かしているように見えることがある。
【００６４】
類似した「再配置」ジェスチャは、他のコマンドを繰り返すために用い得る。例えば、ユーザ７０１は、手が完全に前方へ伸びきったとき、手を開き、後方へ手を引いて、手を閉じることによって再係合し、より小さいサイズに画像オブジェクトの大きさを変更する（すなわち、より遠くへズームアウトする）ために、手を前方に押し出すことができる。類似したポーズ・シーケンスは、移動、回転および他のジェスチャコマンドを繰り返すために用いてもよい。再配置ジェスチャのために使用するポーズは、フィルタ処理され得る。すなわち、完全に再配置に使用するポーズは、結果としてオブジェクトの操作をもたらすことにならない。
【００６５】
図８Ａ−８Ｂは、「速度モード」に起こる典型的な相互作用を示す。上述したように、ディスプレイ８０２と平行な平面に沿ったＸ−Ｙ方向のユーザ８０１による手の動きは、手の移動距離と比例した画像オブジェクトの動きを引き起こすことができる。そのような動きは、「距離モデル」と称することができる。乏しい倍率範囲または限られたズーム状態数がある場合、距離モデルは有効かもしれない。しかし、表示された画像オブジェクトが、例えば多くのズーム・レベルをサポートするマッピングなど、広い倍率範囲をサポートする場合、距離モデルは有効でないかもしれない。
【００６６】
広い倍率範囲を有するより効果的なズーミングをサポートするかまたはユーザがより控えめなジェスチャをすることを可能にするために、「速度」モデルが、用いられ得る。「速度」モデルにおいて、ユーザは、ジェスチャをしてからポーズを保つ。「速度」モデルは、手のジェスチャを解除することなくコマンドを無期限に繰り返すことができる（すなわち、手のジェスチャの解除が要求され、例えば、特定の距離を越えてズームする「距離」モデルとは対照的に）。例えば、ユーザ８０１は、第１位置８０４から第２位置８０６へ上方へ向かう手のジェスチャで表現し、それによって、選択された画像オブジェクトを位置８０８から位置８１０に移動させる。ユーザ８０１が手を位置８０６に保持するので、選択された画像オブジェクトは、位置８１２、８１４へ等、ジェスチャ（すなわち、この場合においては上方へ向かうジェスチャ）によって示される方向に動き続ける。
【００６７】
速度モデルにおいて、ユーザ８０１が手を閉じるときに、手のＸ−Ｙ位置はサンプリングされ得、基準位置として保存され得る。選択された画像オブジェクトは、ユーザの手と基準位置の間のＸ−Ｙ距離と比例した速度で移動することができる（すなわち、選択された画像オブジェクトは、ユーザが基準位置からより遠く離れて手を動かすにつれて、より速く移動させることができる）。ユーザが動きを止め、係合の手のポーズを維持する場合、選択された画像オブジェクトは現在の速度でズームイン／アウトし続けることができる。
【００６８】
速度への相対的な距離のマッピングは、以下を含むことができる：ユーザが基準位置の近く（しかし、必ずしも正確にではなく）に手を戻すことで移動を止めることができるような「デッドゾーン」、相対的な距離がデッドゾーン距離より少ない場合、そのデッドゾーンによって速度はゼロになり得る。速度への相対的な距離のマッピングは、基準位置の近くの位置での変化は小さい速度変化をもたらすが、基準位置からさらなる位置の変化は大きい速度変化をもたらす非線形でもよい。非線形マッピングは、低速度の微細な制御および高速度のより粗い制御をユーザに与えることができる。
【００６９】
速度モデルを使用するときに、ユーザの手の位置をデッドゾーンの範囲内に戻す場合、ユーザが掌を前方へかつ５本の指を広げた場合、手がカメラ８１６の視野の外に行く場合、ユーザが手を身体の方へ完全に引っ込めて腕を側部に落とす場合、または、他の事象が起こる場合、速度がゼロに戻り得る。速度は、短い期間にわたって段階的に減少することによって、ゼロに戻ることができる。
【００７０】
速度モデルは、他のジェスチャによって用いられ得る。例えば、速度モデルが、画像ズームのために、そして、画像回転（下記の図１２を参照）のために用いられ得る。異なるジェスチャは、異なるモデルを使用することができる。例えば、画像拡大が速度モデルを使用できると同時に画像移動は距離モデルを使用することができる。ユーザは特定のジェスチャの異なるモデルの間で切替えることが可能となる。例えば、ユーザが最も効果的なモデルを選べる速度および距離モデルの間で画像ズームモデルを切り換えることのできる変化モデルジェスチャが定義され得る。
【００７１】
図９Ａ−９Ｂは、典型的なジェスチャの組合せを示す図であり、２つ以上の独立画像操作は、単一のジェスチャによって生じる。ユーザが手をＺ方向およびＸ−Ｙ方向の両方向に動かす場合、画像ズームコマンドか、画像移動コマンドか、両方のコマンドが実行されなければならないかどうか決定するために、様々なアプローチが用いられ得る。例えば、１つのアプローチでは、移動かズーミングかは、Ｚ方向の移動またはＸ−Ｙ平面の移動の、いずれか距離の大きい方に基づいて選択され得る。他のアプローチにおいて、移動かズーミングかは、係合の手のポーズが検出された後（すなわち、コマンドのタイプは、ユーザが最初にどのジェスチャをするかによりロックされ得る）、最初に距離閾値をパスするＺ方向の移動またはＸ−Ｙ平面の移動の、いずれかの距離に基づいて選択され得る。
【００７２】
第３のアプローチにおいて、多数のコマンドが実行される。例えば、ユーザがｘ−ｙ平面で手を動かすことに加えてｚ方向にも手を動かす場合、移動およびズーミングは同時に起こり得る。図９Ａ−９Ｂにおいて、ユーザ９０１は、第１位置９０２から第２位置９０４へと、腕を上昇させ身体の方へ後退させるジェスチャで表現する。これにより、画像オブジェクト９０６よりディスプレイ９０８の上部の方へ位置する、より大きい画像オブジェクト９１０で示すように、選択された画像オブジェクト９０６にズーミングして、ディスプレイ９０８の範囲内で移動させる。
【００７３】
多数のコマンドが実行される場合には、コマンドは、前述の基準（いずれか距離のより大きい方か、それともいずれか最初に距離閾値をパスした方）、および小基準コマンドとして分類される他のコマンドに基づき、主要なコマンドとして分類されることができる。小基準コマンドの「デッドゾーン」（すなわちユーザの手がスクリーン上のオブジェクトのゼロ以外の変位または速度を引き起こす前に基準位置から移動しなければならない最小限の距離）は、多数のコマンドの存在下で、広げることができる。他方向のジェスチャを実行している間、意図しない多少の方向の手の動きは無視される。
【００７４】
図１０Ａ−１０Ｂは、典型的な画像回転ジェスチャを示す。図において、ユーザは、開いた手を第１の垂直位置１００２から第２の、曲げられた位置１００４まで回転させることによってジェスチャで表現する。これにより、ディスプレイ１００８において（回転される画像オブジェクト１０１０で示すように）、検出された手の回転角度と同じ角度で、選択された画像オブジェクト１００６を回転させる。手の軽微な動きが選択された画像オブジェクトを意図せずに回転させないために、デッドゾーンは定義され得る。
【００７５】
一部の実施において、参照角度は、ユーザが腕をねじらずに画像オブジェクトを１８０度、回転させることができると定義され得る。例えば、回転開始位置は、ユーザが垂直位置に対して負の９０度反時計回りに（すなわち、左の方を指している手の指を伴って）最初の手を配置することによって、時計回りに回転し始めるように、定義され得る。このスタート位置から、ユーザは、時計回りにまる１８０度回転させることができる（すなわち、右の方を指している指を伴って手の位置の終了）。
【００７６】
図１１Ａ−１１Ｂは、典型的な画像回転ジェスチャを、「スナップ」モードで示す。「スナップ」モードにおいて、画像回転は、例えば、時計回りに０度、時計回りに９０度、反時計回りに９０度、または１８０度の参照角度に「スナップ」でき、そして、それによって、参照角度は手の回転角度に最も近い。例えば、図１１Ａ−１１Ｂで、実際におけるスナップモードでは、ユーザの手は、第１の垂直位置１１０２から第二位置１１０４までジェスチャ表現する、そこにおいて、第２位置１１０４は、第１位置１１０２に対して５０度曲げられる。画像オブジェクト１１１０で示すように、手の回転は、ディスプレイ１１０８において、選択された画像オブジェクト１１０６に、時計回りに９０度の参照角度に回転させる（すなわち、スナップモードのため５０よりも９０度）。スクリーン上の表示として、選択された画像オブジェクトは、手が回転されているときに、ディスプレイ１１０８において回転することができ、ジェスチャが解除されるときに、最も近い参照角度にスナップされ得る。
【００７７】
回転スナップモード実施中に、スクリーン上の表示は部分的なターンが認識されることを示すために表示され得る。基礎角度は定義され得、そして、参照角度は基礎角度、基礎角度プラス時計回りに９０度、基礎角度プラス反時計回りに９０度、基礎角度プラス１８０度として定義され得る。
【００７８】
図１２Ａ−１２Ｂは、典型的な画像回転を速度モードで示す。上述のように、速度モードで、ユーザがポーズをとっている間、画像操作コマンドは繰り返される。例えば、ユーザの手は第１の垂直位置１２０２から第２の曲げられた位置１２０４までジェスチャ表現する。これにより、選択された画像オブジェクトに、ディスプレイ１２０６において第１位置１２０８から第２位置１２１０まで時計回りに回転をさせる。ユーザが位置１２０４に手を留めているとき、選択された画像オブジェクトは時計回り方向に回転し続ける。そして、位置１２１２および１２１４を通過すると考えられる。
【００７９】
スクリーン上の表示として、ポーズがとられているときに、選択された画像オブジェクトはディスプレイ１２０６において回転することができる。ユーザがポーズを解除するときに、画像回転は停止され得る。回転の速度は、手の回転角度と比例していてもよい。（すなわち、手の回転角度が増加するにつれて、選択された画像オブジェクトはより急速に回転することができる）。選択された画像オブジェクトは、ユーザがジェスチャを終了するときに、画像オブジェクトがどの参照角度に最も近いかについて依存し、参照回転角度（例えば０、時計回りに９０度、反時計回りに９０度、もしくは１８０度）に「スナップ」することができる。
【００８０】
図１３Ａ−１３Ｂは、典型的な次画像表示ジェスチャを示す。「現在の」画像オブジェクト１３０２は、ディスプレイ１３０４の大きい中心部に合わせるため、縮尺され得る。一つ以上の「前の」、１３０６および「次の」１３０８の画像オブジェクトは、現在の画像オブジェクト１３０２の左または右の側に示され、現在の画像オブジェクト１３０２より小さくなり得る。ユーザ１３１０は、第１位置１３１２から第２位置１３１４へ上方への手のジェスチャで表現する。これにより、現在の画像オブジェクト１３０２を新たな「現在の」画像オブジェクトと交換させられる。
【００８１】
より詳細には、アニメーションは以下より完成され得る。現在の画像オブジェクト１３０２がより小さいサイズで表示されるべく左へ移動することができ、新たな「前の」画像オブジェクト１３１６になることができる。「次の」画像オブジェクト１３０８がより大きいサイズで表示されるべく左へ移動することができ、新たな「現在の」画像オブジェクト１３１８になることができる。「前の」画像オブジェクト１３０６はディスプレイ１３０４から外され得、そして、新規な「次の」画像オブジェクト１３２０は、旧「次の」画像オブジェクト１３０８と置き換えられる。下方へのジェスチャは、反対方向に起こるアニメーションでもたらされる。
【００８２】
次画像表示および前画像表示の相互作用は、上方へ、下方への腕の動きまたはジェスチャとして図１３Ａおよび１３Ｂおいて例示されたが、このようなジェスチャを用いるのは単に典型的で、とりわけ、説明の容易さのために選択された。具体的には、他の典型的な実施において、左右の腕の動きは、それぞれ、前画像表示または次画像表示コマンドを入力するために用いる。それぞれ、前の画像オブジェクトおよび次の画像オブジェクトは現在の画像の左右に表示されるため、左右の腕の動きは、ユーザが実行するために直感的であってもよい。
【００８３】
「現在の」、「次の」および「前の」画像オブジェクトは、同一サイズ（例えば、「フィルムストリップ」において）で表示され得る。フィルムストリップは、現在の画像オブジェクト（すなわち、フィルムストリップは、現在の画像オブジェクトの下、上、もしくは左側または右側に示され得る）を含んでもよいし含まなくても良い。フィルムストリップは、現在の画像オブジェクト、そして一つ以上の前の画像オブジェクトおよび次の画像オブジェクトの表象の大きさを設定したサムネイルを含むことができる。
【００８４】
現在の画像オブジェクトが常に中央に置かれるために、フィルムストリップはスクロールして見えるように活動させてもよい。現在の画像オブジェクトがフィルムストリップに示されない場合、第１の次の、および第１の前の画像オブジェクト間の境界は中央に置かれ得る。上／下へのジェスチャは、画像オブジェクト（例えば画像オブジェクトのカテゴリ）のリストをパラパラとめくることができ、そして、左／右へのジェスチャはリストの範囲内で画像オブジェクトをパラパラとめくることができる。別の例として、左／右へのジェスチャは画像オブジェクトリストをパラパラとめくることができ、そして、上／下へのジェスチャはリストの範囲内で画像オブジェクトをパラパラとめくることができる。
【００８５】
図１４Ａ−１４Ｃは、簡潔な状態を例示する。サムネイルのグリッドは、例えば、矩形グリッド（例えばグリッド１４０２）において表示され得る。グリッドは、また、例えば、円筒状形状としてまたは球面形状（例えばグリッド１４０４）として現出し得る。
【００８６】
スクリーン上の指示は、ユーザに、どの画像オブジェクトが現在の画像オブジェクトであるかについて指し示すことができる。例えば、現在の画像オブジェクトは、例えば境界、陰または輝き等、強調表示の効果を利用して示され得る。例えば、現在の画像オブジェクト１４０６は、グリッド１４０２の暗い二重の境界によって示される。
【００８７】
現在の画像オブジェクトは、同一サイズとして、または他の画像オブジェクトよりわずかに大きいサイズで表示され得る。現在の画像オブジェクトを囲んでいる画像オブジェクトは、現在のサムネイル（すなわち、現在の画像オブジェクトから離れてより遠くに位置する画像オブジェクトは、現在の画像オブジェクトのより近くに位置する画像オブジェクトより小さく見える）からの距離に従ったサイズで表示され得る。画像オブジェクトは、「膨隆」（例えばグリッド１４１０の画像オブジェクト１４０８）として現れるためのサイズおよび形状で表示され得る。画像オブジェクトは、シリンダまたは球体周辺を巻きつくように見えてもよい（例えばグリッド１４０４の画像オブジェクト１４１２）。
【００８８】
ジェスチャ動作によって、グリッドの範囲内で現在の画像オブジェクトの選定が起こり得る。グリッドは静止したままでいることができ、または、現在の画像オブジェクトが常にスクリーンの中央にあるために、グリッドはパンすることができる。ユーザが左にパンする場合、最終的に、ユーザが開始した同じ画像オブジェクトに到達するように、平面グリッド（例えば格子１４０２）は巻くことができ、もしくは、シリンダまたは球面グリッド（例えば１４０４）は回転することができる。別の例として、ユーザが左にパンする場合、最終的に、ユーザが開始した画像オブジェクトの直下の画像オブジェクトに到達するように、平面グリッドは巻くことができ、もしくは、シリンダまたは球面グリッドは回転することができるため、画像オブジェクトは、平面上、円筒形上、または螺旋状に球状表層の上に配置され得る。
【００８９】
球体のシリンダ上の画像オブジェクトの数は、その外周に合致しても、合致しなくてもよく、そして、ユーザは開始サムネイルに戻るためのシリンダまたは球体それぞれの回転数を回転させることができる。例えば、シリンダは、その外周囲で１２のサムネイルを有することが提供できる、そこにおいて、サムネイルの一部は、後背側上に隠され得る。サムネイルは、画像オブジェクトリストにどれくらいの画像オブジェクトがあるかに基づいて画像オブジェクトとともに追加され得る。可視的なサムネイルより少数の画像オブジェクトがリストにある場合、画像オブジェクトは多数のサムネイル上に現出され得る。
【００９０】
サムネイルグリッドは、第１のサムネイル状態と称することができる。ユーザは、サムネイルグリッドを見ながら、リスト（例えば、カテゴリまたは他のリスト）サムネイル状態を明らかにするためにズームアウトすることができる。リストサムネイル状態は、第２のサムネイル状態と称することができる。第２のサムネイル状態の中の各々のサムネイルは、第１のサムネイル状態の平面、円筒形、または、球面構造として表示され得る。第１および第２のサムネイル状態間の移行は、「分子のズームイン／アウト」にスタイルが類似したアニメーションとして表示され得る。すなわち、第２のサムネイル状態は、分子の化学構造を見ることに類似していると表現され得、そして、第１のサムネイル状態は、その光子および電子を見るために分子にズームすることに類似していると表現され得る。
【００９１】
別の例として、第１のサムネイル状態がその惑星を見るために星にズームすることに類似していると表現され得ると同時に、第２のサムネイル状態は太陽系の星々の一群を見ることに類似していると表現され得る。ズーム・ジェスチャは、任意に「スナップ」の状態になり得る。例えば、画像オブジェクトがスクリーンに適合する間近のときにユーザがズーム・ジェスチャを終了する場合、システムはスクリーンに対し適合状態に到達するために画像オブジェクト動作を活動させることができる。
【００９２】
一部の実施において、２本の手によるジェスチャが、画像オブジェクトを操作するために用いてられてもよい。例えば、画像オブジェクトの角へのポインティング等、ユーザは、２本の手でポイントすることができる。画像オブジェクトを回転させるために、円軌道の両側におけるポイントを描くかのように、ユーザは手を動かすことができる。手の位置のｘ−ｙ構成要素間の角度は、測定される。回転が最初の手の位置と関連していても、ユーザが最初にどの側か角をポイントしているかは、重要でない。第２の手を所定位置に上げる時間をユーザに与えるため、短い遅延（例えば５００ミリ秒）の後、参照角度が記録される。両手を検出した後、あるいは、「空中停止」が検出された後（すなわち、距離閾値より少なく移動している両手の位置を伴って経過した短い期間（例えば５００ミリ秒）の後に）、画像オブジェクトは、参照角度と関連して手の位置間の現在の角度によって回転する。両手がもはや検出されないときに、画像オブジェクトは最も近い９０度にスナップすることができる。
【００９３】
画像オブジェクトのズームインまたはズームアウトするために、ユーザは、両手を近づけるまたは両手をさらに大きく隔てるよう動かすことができる。手の位置のｘ−ｙ構成要素の間の距離は、測定される。第２の手を所定位置に上げる時間をユーザに与えるため、短い遅延（例えば５００ミリ秒）の後、参照距離が記録される。両手を検出した後、あるいは、「空中停止」が検出された後、参照距離と関連する距離は、縮尺に、または速度にマッピングされ得、それに応じて画像オブジェクトはズームされ得る。
【００９４】
画像オブジェクトを左右上下に移動するために、ユーザは、両手間の距離および角度を一定にしたまま、両手を同じ方向に動かすことができる。手の位置のＸ−Ｙ構成要素の平均は、測定される。第２の手を所定位置に上げる時間をユーザに与えるため、短い遅延（例えば５００ミリ秒）の後、基準位置が記録される。両手を検出した後、あるいは、「空中停止」が検出された後、基準位置と関連する平均的位置は画像オブジェクトの範囲内の位置に、または速度にマップされ得、それに応じて画像オブジェクトは移動され得る。
【００９５】
有効化ジェスチャは、ぎこちない状況に置かれているユーザの身体のコントロールオブジェクト（すなわち手）という結果になり得る。「打ち振る」有効化ジェスチャの結果として、例えば、ユーザの手は、カメラの視野の境界または外の近辺に置かれてもよい。これらおよび他の状況において、プロセスは、今後のジェスチャ認識を容易にするかまたは改善する目標位置（自由空間において）を有するユーザのコントロールオブジェクトを正しい位置に置くかまたは合わせるために起こり得る。カメラの視野の中心位置のような、自由空間の目標位置はあらかじめ定義されていてもよい。または、例えば明るい位置、ハイコントラストまたは複雑な背景のない領域、もしくは他の移動物体から間隔をおいて配置される視野の領域で、目標位置は動的に決定され得る。
【００９６】
表象が目標画像と協調するように、改良されたジェスチャ認識のためのユーザの位置を調整する１つの方法は、ユーザの身体の動きを介して表象を移動させるためにユーザに推測させるかまたはユーザを案内するために、表象および目標画像をユーザインターフェースにまたはユーザインターフェースに表示することである。このように、ユーザの表象は、最初にユーザインターフェースの中央領域の外側で示され得、そして、目標画像は中央域において表示され得る。
【００９７】
他の画像において、再編成ジェスチャは認識され得、表象は再編成ジェスチャに基づいて目標画像に関連して移動され得る。移動した表象が目標画像と合致する場合、表象は中央領域に表示される。再編成は、ユーザの手がカメラの視野のままであることを保証することができるか、また、ユーザが一つ以上の方向のジェスチャ表現をするための腕の十分な領域を有することを保証することができる。
【００９８】
図１５は、プロセッサおよびユーザインターフェースをさらに含むコンピュータ１５０１の外観の一例を示す。さらなる一般の実施において、デバイスは、ユーザインターフェースおよびプロセッサを含む。ユーザインターフェースは、一つ以上の画像オブジェクトを表示するように構成される。プロセッサは、第１および第２の画像から、ユーザのジェスチャを認識して、認識されたユーザのジェスチャに対応するインタラクションコマンドを決定し、決定されたインタラクションコマンドに基づいて、ユーザインターフェースで表示される画像オブジェクトを操作するように構成される。
【００９９】
さらに詳細には、コンピュータ１５０１のハードウェア環境は、テキストおよび画像を、ユーザの有するインターフェースに表示するためのディスプレイモニタ１５０８、テキストデータおよびユーザコマンドをコンピュータ１５０１に入力するためのキーボード１５０９、ディスプレイモニタ１５０８に表示されるオブジェクトをポイントし、選択し、操作するためのマウス１５１０、固定ディスクドライブ１５１１、リームーバブルディスクドライブ１５１２、テープドライブ１５１４、ハードコピー出力デバイス、コンピュータ・ネットワーク接続、そして、デジタル入力デバイス１５１７を含む。
【０１００】
ディスプレイモニタ１５０８は、グラフィックス、画像および、コンピュータ１５０１を動作させるのに必要なオペレーティングシステムプログラムと同様に、コンピュータ１５０１で使用されるソフトウェアアプリケーションのためのユーザインターフェースを構成するテキストを表示する。ユーザは、アプリケーションプログラムと同様に、コンピュータオペレーティングシステムプログラムを動作制御するコマンドおよびデータを入力するために、キーボード１５０９を使用する。マウス１５１０は、様々な種類のポインティングデバイスであってよく、ジョイスティック、トラックボール、タッチパッドまたは他のポインティングデバイスであってもよい。ユーザインターフェースを表示し、ユーザにテキスト、数字を入力または選択を可能に、またはオプションのメニューからの選択を可能にするために使用されるソフトウェアは、例えば固定ディスクドライブ１５１１等のコンピュータ読み込み可能なメモリ媒体に局所的に格納される。
【０１０１】
さらなる実施において、固定ディスクドライブ１５１１自体は、例えば、独立した複数のディスクの冗長アレイ（レイド「ＲＡＩＤ」）、または、別々のコンピュータに物理的に位置するディスクドライブファームまたはディスクアレイなど、多くの物理的ドライブユニットを含むことができる。このようなコンピュータ読み込み可能なメモリ媒体は、コンピュータ１５０１を、リムーバブルおよび非リムーバブルメモリ媒体に保存されたコンピュータ実行可能プロセスステップ、アプリケーションプログラムなどにアクセス可能にする。
【０１０２】
コンピュータ・ネットワーク接続は、モデム接続、イーサネット（登録商標）を含むローカル・エリア・ネットワーク（「ＬＡＮ」）接続、もしくは、例えばデジタル加入者回線（「ＤＳＬ）、ケーブル高速インターネット接続、送電線ブロードバンド接続、ダイヤルアップ接続、Ｔ−１ライン、Ｔ−３ライン、光ファイバー接続、または衛星回線等の、ブロードバンド・ワイド・エリア・ネットワーク（「ＷＡＮ」）接続であってもよい。ネットワーク１３０６は、ＬＡＮネットワーク、会社または政府ＷＡＮネットワーク、インターネットまたは他のネットワークであってもよい。
【０１０３】
コンピュータ・ネットワーク接続は、有線またはワイヤレス・コネクタであってよい。無線コネクタの例は、例えば、ＩＮＦＲＡＲＥＤ ＤＡＴＡ ＡＳＳＯＣＩＡＴＩＯＮ（登録商標）（赤外線通信協会）（「ＩｒＤＡ」（登録商標））によるワイヤレス・コネクタ、光学ワイヤレス・コネクタ、ＩＮＳＴＩＴＵＴＥ ＯＦ ＥＬＥＣＴＲＩＣＡＬ ＡＮＤ ＥＬＥＣＴＲＯＮＩＣＳ ＥＮＧＩＮＥＥＲＳ（登録商標）（電気電子技術者協会）（「ＩＥＥＥ」（登録商標））スタンダード８０２．１１ワイヤレスのコネクタ、ＢＬＵＥＴＯＯＴＨ（登録商標）（ブルートゥース）無線コネクタ、直交周波数分割多重（「ＯＦＤＭ」）超高帯域幅（「ＵＷＢ」）ワイヤレス・コネクタ、時間変調超高帯域幅（「ＴＭ−ＵＷＢ」）ワイヤレス・コネクタ、または他のワイヤレスのコネクタ。有線コネクタの一例として、例えば、ＩＥＥＥ（登録商標）−１３９４ ＦＩＲＥＷＩＲＥコネクタ、ユニバーサルシリアルバス（「ＵＳＢ」）コネクタ、シリアルポートコネクタ、パラレルポートコネクタまたは他の有線コネクタ。
【０１０４】
リムーバルディスクドライブ１５１２は、コンピュータ１５０１からデータをオフロードするかまたはコンピュータ１５０１上へデータをアップロードするために用いる取り外し可能な記憶装置である。リムーバルディスクドライブ１５１２は、フロッピー（登録商標）（登録商標）ディスク装置、ＩＯＭＥＧＡ（登録商標） ＺＩＰ（登録商標）ドライブ、コンパクトディスク−読出し専用メモリ（「ＣＤ−ＲＯＭ」）ドライブ、ＣＤ−レコーダブルドライブ（「ＣＤ−Ｒ」）、ＣＤリライタブルドライブ（「ＣＤ−ＲＷ）、フラッシュメモリ、ＵＳＢフラッシュ・ドライブ、サムドライブ、ペン・ドライブ、キー・ドライブ、高密度デジタル多用途ディスク（「ＨＤ−ＤＶＤ」）光ディスクドライブ、ブルーレイ光学ディスクドライブ、ホログラフィック・デジタル・データ・ストレージ（「ＨＤＤＳ」）光ディスクドライブ、もしくは、例えばＤＶＤ−レコーダブル（「ＤＶＤ−Ｒ」．または「ＤＶＤ＋Ｒ」）、ＤＶＤ−リライタブル（「ＤＶＤ−ＲＷ」または「ＤＶＤ＋ＲＷ）またはＤＶＤ−ＲＡＭなど、様々な種類の記録可能または書き換え可能なデジタル多用途ディスク（「ＤＶＤ」）であってよい。オペレーティングシステムプログラム、アプリケーションおよび様々なデータファイルはディスクに格納される。そして、それは固定ディスクドライブ１５１１上にまたはリムーバルディスクドライブ１５１２用のリムーバルメディア上に格納される。
【０１０５】
テープドライブ１５１４は、コンピュータ１５０１からデータをオフロードするかまたはコンピュータ１５０１上へデータをアップロードするために用いるテープ記憶装置である。テープドライブ１５１４は、１／４インチ・カートリッジ（「ＱＩＣ）、４ｍｍのデジタル・オーディオ・テープ（「ＤＡＴ）、８ｍｍのデジタル線形テープ（「ＤＬＴ」）ドライブまたはテープの他のタイプであってもよい。
【０１０６】
さらに、コンピュータ１５０１はデスクトップＰＣとして上述しているが、さらなる実施で、コンピュータ１５０１は、ラップトップ、ワークステーション、中型コンピュータ、メインフレーム、埋め込みシステム、電話、携帯端末またはタブレット型コンピュータ、ＰＤＡ、ゲーム機またはコンソール、デジタルピクチャフレーム、テレビ会議装置または他のタイプのコンピュータであってもよい。
【０１０７】
図１６は、図１５に示されるコンピュータの内部構造を示すブロック図である。以下、コンピュータ１５０１の典型的な内部構造について説明する。コンピュータ環境は、オペレーティングシステムまたはアプリケーションを作り上げるコンピュータ命令が処理されるコンピュータ中央演算処理装置（「ＣＰＵ」）１６０１、ディスプレイモニタ１５０８上にグラフィックス、画像およびテキストをレンダリングするために通信インターフェースおよび処理機能を提供する表示インターフェース１６０２、キーボード１５０９に通信インターフェースを提供するキーボードインターフェース１６０４、マウス１５１０または等価なポインティングデバイスに通信インターフェースを提供するポインティングデバイスインターフェース１６０５、デジタル入力装置１５１７に通信インターフェースを提供するデジタル入力インターフェース１６０６、ハードコピー出力デバイスに通信インターフェースを提供するハードコピー出力デバイスインターフェース、コンピュータＣＰＵ １６０１で処理するためのコンピュータインストラクションおよびデータが揮発性メモリデバイスに格納されるランダムアクセスメモリ（「ＲＡＭ」）１６１０、基本入出力（「Ｉ／Ｏ」）、スタートアップまたはキーボード１５０９からのキーストロークの受信など、基本的システム機能のための不変の低レベルのシステムコードまたはデータが不揮発性メモリデバイスに格納された読出し専用メモリ（「ＲＯＭ」）１６１１、そして、オペレーティングシステム１６２１、アプリケーションプログラム１６２２（必要に応じてエンハンスドコントロールアプリケーション１６２３や他のアプリケーション１６２４を含む）、およびデータファイル１６２５を作り出すファイルが格納される、記憶装置１６２０、または他の適切なタイプのメモリ（例えば、ランダムアクセスメモリ（「ＲＡＭ」）、読出し専用メモリ（「ＲＯＭ」）、プログラマブルＲＯＭ（「ＰＲＯＭ」）、消去可能ＰＲＯＭ（「ＥＰＲＯＭ」）、電気的消去可能ＰＲＯＭ（「ＥＥＰＲＯＭ）、磁気ディスク、光ディスク、フロッピー（登録商標）ディスク、ハードディスク、リムーバブル・カートリッジ、フラッシュ・ドライブ）、コンピュータ・ネットワーク接続上のネットワークに通信インターフェースを提供するコンピュータ・ネットワーク・インターフェースを含む。構成するデバイスおよびコンピュータＣＰＵ １６０１は、コンピュータバス１６２７を通じて各々と通信する。
【０１０８】
１つの総合的実施によれば、コンピュータプログラム製品は、明らかに具現化されるかまたは、例えば記憶装置１６２０等の機械可読媒体に記録される。コンピュータプログラム製品は、機械によって読み込まれるときに、データ処理装置に、第１および第２の画像から、ユーザのジェスチャを認識して、認識されたユーザのジェスチャに対応するインタラクションコマンドを決定して、決定されたインタラクションコマンドに基づいて、ユーザインターフェースで表示される画像オブジェクトを操作させるために機能する命令を含む。
【０１０９】
ＲＡＭ １６１０は、例えばオペレーティングシステム・アプリケーション・プログラムやデバイス・ドライバ等のソフトウェア・プログラムの実行中に、コンピュータＣＰＵ １６０１に速いＲＡＭ記憶を提供するように、コンピュータバス１６２７とインターフェースをとる。より詳しくは、コンピュータＣＰＵ １６０１は、ソフトウェア・プログラムを実行するために、ＲＡＭ １６１０の分野に、固定ディスクドライブ１５１１または他のメモリ媒体からのコンピュータ実行可能プロセスステップをロードする。データは、ＲＡＭ １６１０に格納される、そこにおいて、データは、実行の間、コンピュータＣＰＵ １６０１によってアクセスされる。
【０１１０】
コンピュータ１５０１は、オペレーティングシステム１６２１や、例えばワードプロセッシング、スプレッドシート、プレゼンテーション、ゲームまたは他のアプリケーション等のアプリケーションプログラム１６２２のためのコンピュータ実行可能コードを格納する。ダイナミックリンク・ライブラリ（「ＤＬＬ」）として、または、例えばＭＩＣＲＯＳＯＦＴインターネット・ウェブ・ブラウザのようなインターネット・ウェブ・ブラウザなど、他のアプリケーションプログラムに対するプラグインとして現在の公開に従って機能を実装することは、可能である。
【０１１１】
コンピュータＣＰＵ １６０１は、ＩＮＴＥＬ（登録商標）またはＡＭＤ（登録商標）プロセッサ、ＰＯＷＥＲＰＣ（登録商標）プロセッサ、ＭＩＰＳ（登録商標）縮小命令セット・コンピュータ（「ＲＩＳＣ」）プロセッサ、ＳＰＡＲＣ（登録商標）プロセッサ、ＡＣＯＲＮ（登録商標） ＲＩＳＣ Ｍａｃｈｉｎｅ（「ＡＲＭ（登録商標）」）アーキテクチャ・プロセッサ、ＨＰ ＡＬＰＨＡＳＥＲＶＥＲ（登録商標）プロセッサまたはメインフレームのための独占所有権のあるコンピュータプロセッサを含む多くの高性能コンピュータプロセッサのうちの１つである。付加的な装置において、コンピュータＣＰＵ １６０１は、高性能ワークステーションおよびサーバに見られる多数のＣＰＵ構成またはメインフレームで見られる多数の計測可能な処理ユニットを含む複数の処理ユニットである。
【０１１２】
オペレーティングシステム１６２１は、ＭＩＣＲＯＳＯＦＴ（登録商標） WINDOWS（登録商標） ＮＴ（登録商標）／WINDOWS（登録商標）（登録商標） ２０００／WINDOWS（登録商標）（登録商標） ＸＰワークステーション、WINDOWS（登録商標） ＮＴ（登録商標）／WINDOWS（登録商標）（登録商標） ２０００／WINDOWS（登録商標）（登録商標） ＸＰサーバであってもよく、ＩＢＭ（登録商標）ワークステーションおよびサーバのためのＡＩＸ（登録商標）、ＳＵＮ（登録商標） ワークステーションおよびサーバのためのＳＵＮＯＳ（登録商標）、ＩＮＴＥＬ（登録商標） ＣＰＵベースのワークステーションおよびサーバのためのＬＩＮＵＸ（登録商標）、ＨＰ（登録商標）ワークステーションおよびサーバのためのＨＰ ＵＸ ＷＯＲＫＬＯＡＤ ＭＡＮＡＧＥＲ（登録商標）、ＳＧＩ（登録商標）ワークステーションおよびサーバのためのＩＲＩＸ（登録商標）、デジタル・イクイップメント・コーポレーション・コンピュータのためのＶＡＸ／ＶＭＳ、ＨＰ ＡＬＰＨＡＳＥＲＶＥＲ（登録商標）ベースのコンピュータのためのＯＰＥＮＶＭＳ（登録商標）、 ＰＯＷＥＲＰＣ（登録商標）ベースのワークステーションおよびサーバのためのＭＡＣ ＯＳ（登録商標） Ｘを含む種々のＵＮＩＸ（登録商標）フレーバード・オペレーティングシステムであってもよく、ＳＹＭＢＩＡＮ ＯＳ（登録商標）、WINDOWS（登録商標） ＭＯＢＩＬＥ（登録商標）、または WINDOWS（登録商標） ＣＥ（登録商標）、ＰＡＬＭ（登録商標）、ＮＯＫＩＡ（登録商標） ＯＳ （「ＮＯＳ」）、ＯＳＥ（登録商標）、モバイル機器のためのＥＰＯＣ（登録商標）、またはコンピュータまたは組み込み式システムのための独占所有権のあるオペレーティングシステムであってもよい。オペレーティングシステム１６２１に対するアプリケーション開発プラットフォームまたはフレームワークは、ＢＩＮＡＲＹ ＲＵＮＴＩＭＥ ＥＮＶＩＲＯＮＭＥＮＴ ＦＯＲ ＷＩＲＥＬＥＳＳ（登録商標） （「ＢＲＥＷ（登録商標）」）、Java（登録商標） Ｐｌａｔｆｏｒｍ， Ｍｉｃｒｏ Ｅｄｉｔｉｏｎ（「Java（登録商標） ＭＥ」）またはJava（登録商標） ２ Ｐｌａｔｆｏｒｍ， Ｍｉｃｒｏ Ｅｄｉｔｉｏｎ（「Ｊ２ＭＥ（登録商標）」）、ＰＹＴＨＯＮ、ＦＬＡＳＨ ＬＩＴＥ（登録商標）、またはＭＩＣＲＯＳＯＦＴ（登録商標）．ＮＥＴ Ｃｏｍｐａｃｔでもよい。
【０１１３】
図１５および１６は、プログラムコードまたはプログラムまたはプロセスステップを実行するものであり、（ユーザが直観的に、そして、容易にテキスト、数字を入力する、または複数の項目から選択することのできる改良されたコントロールを提供するように構成されるコンピュータの１つの考えられる実施を示すが、一方、他のタイプのコンピュータもしくは実施がまた同様に用いられ得る。
【０１１４】
多くの実施が、記載されてきた。それでもなお、様々な修正が開示の趣旨および範囲から逸脱することなく、なされることができると理解される。したがって、他の実施態様は、以下の請求項の範囲内である。
【図１Ａ】
2014099184.tif 000003
【図１Ｂ】
2014099184.tif 000004
【図２】
2014099184.tif 000005
【図３】
2014099184.tif 000006
【図４Ａ】
2014099184.tif 000007
【図４Ｂ】
2014099184.tif 000008
【図５Ａ】
2014099184.tif 000009
【図５Ｂ】
2014099184.tif 000010
【図６Ａ】
2014099184.tif 000011
【図６Ｂ】
2014099184.tif 000012
【図７Ａ】
2014099184.tif 000013
【図７Ｂ】
2014099184.tif 000014
【図７Ｃ】
2014099184.tif 000015
【図７Ｄ】
2014099184.tif 000016
【図７Ｅ】
2014099184.tif 000017
【図８Ａ】
2014099184.tif 000018
【図８Ｂ】
2014099184.tif 000019
【図９Ａ】
2014099184.tif 000020
【図９Ｂ】
2014099184.tif 000021
【図１０Ａ】
2014099184.tif 000022
【図１０Ｂ】
2014099184.tif 000023
【図１１Ａ】
2014099184.tif 000024
【図１１Ｂ】
2014099184.tif 000025
【図１２Ａ】
2014099184.tif 000026
【図１２Ｂ】
2014099184.tif 000027
【図１３Ａ】
2014099184.tif 000028
【図１３Ｂ】
2014099184.tif 000029
【図１４Ａ】
2014099184.tif 000030
【図１４Ｂ】
2014099184.tif 000031
【図１４Ｃ】
2014099184.tif 000032
【図１５】
2014099184.tif 000033
【図１６】
2014099184.tif 000034
【手続補正書】
【提出日】平成26年1月10日(2014.1.10)
【手続補正１】
【補正対象書類名】特許請求の範囲
【補正対象項目名】全文
【補正方法】変更
【補正の内容】
【特許請求の範囲】
【請求項１】
コンピュータのプロセッサによって実行される方法であって、
ジェスチャ認識プロセスで使用するために、画像捕捉デバイスからの第１距離を決定する段階と、
決定した前記第１距離に基づいて、１つ以上のオブジェクトからなる背景を決定する段階と、
前記画像捕捉デバイスによってキャプチャされた第１画像及び第２画像に基づいて、前記背景に含まれない、ユーザの身体の少なくとも一部分の動きを検出する段階と、
検出した前記動きに基づいて、ジェスチャを認識する段階と、
認識した前記ジェスチャに基づいて、コマンドを決定する段階と
を有することを特徴とする方法。
【請求項２】
前記第１距離が、前記ユーザの胴までの距離と前記ユーザの突き出した手までの距離との間にあることを特徴とする請求項１に記載の方法。
【請求項３】
前記第１距離が、前記ユーザの位置に基づいて動的に決定されることを特徴とする請求項１に記載の方法。
【請求項４】
前記画像捕捉デバイスが、深度の指示を提供する機能を有したカメラであることを特徴とする請求項１に記載の方法。
【請求項５】
前記背景の前記１つ以上のオブジェクトが、前記画像捕捉デバイスから前記第１距離よりも離れた第２距離に位置することを特徴とする請求項１に記載の方法。
【請求項６】
画像捕捉デバイスからの第１距離を決定する前記段階が、前記画像捕捉デバイスから遠い第１側と前記画像捕捉デバイスに近い第２側とを区分する平面を定義する段階を含み、
前記背景が、前記第１側に位置することを特徴とする請求項１に記載の方法。
【請求項７】
決定した前記コマンドに基づいて、ユーザインターフェースに表示される画像オブジェクトを操作する段階をさらに有することを特徴とする請求項１に記載の方法。
【請求項８】
前記コマンドが選択コマンドを含み、
画像オブジェクトを操作する前記段階が、後に続く操作のために前記画像オブジェクトを選択する段階を含むことを特徴とする請求項７に記載の方法。
【請求項９】
前記コマンドが画像パンコマンドを含み、
画像オブジェクトを操作する前記段階が、前記画像オブジェクトを前記ユーザインターフェースに対してパンする段階を含むことを特徴とする請求項７に記載の方法。
【請求項１０】
ジェスチャを認識する前記段階が、
前記第１画像中で、腕を伸ばし、指を伸ばし、かつ掌を前方に突き出した前記ユーザの手のポーズを検出する段階と、
前記第２画像中で、腕を伸ばし、指を丸め、かつ掌を下方に置いた前記ユーザの手のポーズを検出する段階と
を含むことを特徴とする請求項１に記載の方法。
【請求項１１】
ジェスチャを認識する前記段階が、
前記第１画像中で、前記ユーザの腕の第１位置を検出する段階と、
前記第２画像中で、前記ユーザの前記腕の第２位置を検出する段階と、
前記第１位置と前記第２位置との間の変化の大きさ及び方向を決定する段階と
を含むことを特徴とする請求項１に記載の方法。
【請求項１２】
決定した前記コマンドに基づいて、ユーザインターフェースに表示される画像オブジェクトを操作する段階をさらに有し、
画像オブジェクトを操作する前記段階は、距離に基づく動作モードとして、
決定した前記大きさ及び方向に対応するように、前記画像オブジェクトの移動位置を決定する段階と、
前記移動位置に前記画像オブジェクトを表示する段階と
を含むことを特徴とする請求項１１に記載の方法。
【請求項１３】
決定した前記コマンドに基づいて、ユーザインターフェースに表示される画像オブジェクトを操作する段階をさらに有し、
画像オブジェクトを操作する前記段階は、速度に基づく動作モードとして、
決定した前記大きさ及び方向に対応するように、スクロールの大きさ及び方向を決定する段階と、
決定した前記スクロールの大きさ及び方向に基づいて、前記画像オブジェクトをスクロールさせる段階と
を含むことを特徴とする請求項１１に記載の方法。
【請求項１４】
前記コマンドが画像ズームコマンドを含み、
前記画像ズームコマンドに基づいて、ユーザインターフェースに表示される画像オブジェクトを前記ユーザインターフェースに対してズームさせることによって、前記画像オブジェクトを操作する段階をさらに有することを特徴とする請求項１に記載の方法。
【請求項１５】
前記コマンドが回転コマンドを含み、
前記回転コマンドに基づいて、ユーザインターフェースに表示される画像オブジェクトを前記ユーザインターフェースに対して回転させることによって、前記画像オブジェクトを操作する段階をさらに有することを特徴とする請求項１に記載の方法。
【請求項１６】
ジェスチャを認識する前記段階が、
前記第１画像中で、前記ユーザの手の第１方向を検出する段階と、
前記第２画像中で、前記ユーザの前記手の第２方向を検出する段階と、
前記第１方向と前記第２方向との間の方向の変化を決定する段階と
を含むことを特徴とする請求項１５に記載の方法。
【請求項１７】
前記第１画像及び前記第２画像から前記背景の前記１つ以上のオブジェクトを取り除くために、背景フィルタリングモデルが使用されることを特徴とする請求項１に記載の方法。
【請求項１８】
拳を握るジェスチャによって開始されることを特徴とする請求項１に記載の方法。
【請求項１９】
決定した前記コマンドに基づいて、認識した前記ジェスチャの方向を反映した操作方向で、ユーザインターフェースに表示される画像オブジェクトを操作する段階をさらに有することを特徴とする請求項１に記載の方法。
【請求項２０】
決定した前記コマンドに基づいて、ユーザインターフェースに表示される画像オブジェクトを操作する段階をさらに有し、
ジェスチャを認識する前記段階が、
第１選択ジェスチャを認識する段階と、
第１インタラクションジェスチャを認識する段階と、
選択解除ジェスチャを認識する段階と、
再配置ジェスチャを認識する段階と、
第２選択ジェスチャを認識する段階と、
第２インタラクションジェスチャを認識する段階と
を含み、
画像オブジェクトを操作する前記段階は、
前記第１選択ジェスチャを認識したことに基づいて、前記画像オブジェクトを選択する段階と、
前記第１インタラクションジェスチャ及び前記第２インタラクションジェスチャを認識したことに基づいて、前記画像オブジェクトを調整する段階と
を含み、
前記再配置ジェスチャは、前記画像オブジェクトの操作を引き起こさないことを特徴とする請求項１に記載の方法。
【請求項２１】
前記コマンドがプレビュー画像コマンドを含み、
前記プレビュー画像コマンドに基づいて、ユーザインターフェースに表示される複数のプレビュー画像オブジェクトのうちから１つの画像オブジェクトを選択することによって、画像オブジェクトを操作する段階をさらに有することを特徴とする請求項１に記載の方法。
【請求項２２】
認識した前記ジェスチャの速度が所定の閾値を超える場合に、ユーザインターフェースに表示される画像オブジェクトを操作する段階をさらに有することを特徴とする請求項１に記載の方法。
【請求項２３】
画像を表示するように構成されたユーザインターフェースと、
プロセッサと
を具備し、
前記プロセッサは、
ジェスチャ認識プロセスで使用するために、画像捕捉デバイスからの第１距離を決定する手順と、
決定した前記第１距離に基づいて、１つ以上のオブジェクトからなる背景を決定する手順と、
前記画像捕捉デバイスによってキャプチャされた第１画像及び第２画像に基づいて、前記背景に含まれない、ユーザの身体の少なくとも一部分の動きを検出する手順と、
検出した前記動きに基づいて、ジェスチャを認識する手順と、
認識した前記ジェスチャに基づいて、コマンドを決定する手順と
を実行するように構成されることを特徴とするシステム。
【請求項２４】
前記第１画像及び前記第２画像を生成するように構成されたＴｉｍｅ−Ｏｆ−Ｆｌｉｇｈｔ（ＴＯＦ）画像捕捉デバイスをさらに具備することを特徴とする請求項２３に記載のシステム。
【請求項２５】
コンピュータに、
ジェスチャ認識プロセスで使用するために、画像捕捉デバイスからの第１距離を決定する手順と、
決定した前記第１距離に基づいて、１つ以上のオブジェクトからなる背景を決定する手順と、
前記画像捕捉デバイスによってキャプチャされた第１画像及び第２画像に基づいて、前記背景に含まれない、ユーザの身体の少なくとも一部分の動きを検出する手順と、
検出した前記動きに基づいて、ジェスチャを認識する手順と、
認識した前記ジェスチャに基づいて、コマンドを決定する手順と
を実行させるためのコンピュータプログラム。