特許第5855343号(P5855343)IP Force 特許公報掲載プロジェクト 2022.1.31 β版

知財求人 - 知財ポータルサイト「IP Force」

▶ クアルコム,インコーポレイテッドの特許一覧

(19)【発行国】日本国特許庁(JP)
(12)【公報種別】特許公報(B2)
(11)【特許番号】5855343
(24)【登録日】2015年12月18日
(45)【発行日】2016年2月9日
(54)【発明の名称】改良されたジェスチャに基づく画像操作
(51)【国際特許分類】
   G06F 3/048 20130101AFI20160120BHJP
   G06F 3/038 20130101ALI20160120BHJP
   G06T 7/20 20060101ALI20160120BHJP
【FI】
   G06F3/048 656A
   G06F3/038 310Y
   G06T7/20 300A
【請求項の数】24
【全頁数】32
(21)【出願番号】特願2010-549767(P2010-549767)
(86)(22)【出願日】2009年2月27日
(65)【公表番号】特表2011-517357(P2011-517357A)
(43)【公表日】2011年6月2日
(86)【国際出願番号】US2009035544
(87)【国際公開番号】WO2009111329
(87)【国際公開日】20090911
【審査請求日】2012年2月27日
【審判番号】不服2013-24572(P2013-24572/J1)
【審判請求日】2013年12月13日
(31)【優先権主張番号】12/041,927
(32)【優先日】2008年3月4日
(33)【優先権主張国】US
(73)【特許権者】
【識別番号】507364838
【氏名又は名称】クアルコム,インコーポレイテッド
(74)【代理人】
【識別番号】100108453
【弁理士】
【氏名又は名称】村山 靖彦
(74)【代理人】
【識別番号】100163522
【弁理士】
【氏名又は名称】黒田 晋平
(72)【発明者】
【氏名】ヒルドレス エヴァン
【合議体】
【審判長】 小曳 満昭
【審判官】 和田 志郎
【審判官】 千葉 輝久
(56)【参考文献】
【文献】 米国特許出願公開第2004/0189720(US,A1)
【文献】 国際公開第2006/086508(WO,A1)
【文献】 特開2008−40576(JP,A)
【文献】 特開2000−196914(JP,A)
(58)【調査した分野】(Int.Cl.,DB名)
G06F 3/01
(57)【特許請求の範囲】
【請求項1】
コンピュータのプロセッサによって実行されるコンピュータ実行方法であって、
カメラを用いてユーザの胴の位置を決定するステップと、
決定された前記胴の位置を基準として、前記胴に近い第1側と前記胴から遠い第2側とを区分する平面を定義付けるステップと、
前記第1側で行われるユーザの動きを無視するステップと、
前記カメラによって捕捉される第1および第2の画像から、前記第2側で行われるユーザのジェスチャを認識するステップと、
認識されたユーザのジェスチャに対応するインタラクションコマンドを決定するステップと、
決定されたインタラクションコマンドに基づいて、ユーザインターフェースで表示される画像オブジェクトを操作するステップと、
を備えるコンピュータ実行方法。
【請求項2】
請求項1の方法において、
前記インタラクションコマンドは、選択コマンドを含み、
前記画像オブジェクトを操作するステップは、さらなる操作のため前記画像オブジェクトを選択するステップをさらに備えるコンピュータ実行方法。
【請求項3】
請求項2の方法において、
前記ユーザのジェスチャを認識するステップは、
前記第1の画像における、ユーザの、腕を伸ばした状態、指を伸ばした状態、掌を前方に出した手のポーズを検出するステップと、
前記第2の画像における、ユーザの、腕を伸ばした状態、指を握った状態、掌を下方に置いた手のポーズを検出するステップと、
をさらに備えるコンピュータ実行方法。
【請求項4】
請求項1の方法において、
前記インタラクションコマンドは、画像パンコマンドを含み、
前記画像オブジェクトを操作するステップは、前記ユーザインターフェースに対して前記画像オブジェクトをパンするステップをさらに備えるコンピュータ実行方法。
【請求項5】
請求項4の方法において、前記ユーザのジェスチャを認識するステップは、
前記第1の画像における、ユーザの腕の第1位置を検出するステップと、
前記第2の画像における、ユーザの腕の第2位置を検出するステップと、
前記第1位置と前記第2位置との間の変化の大きさおよび方向を決定するステップと、
をさらに備えるコンピュータ実行方法。
【請求項6】
請求項5の方法において、距離に基づく動作モードとして、前記画像オブジェクトを操作するステップは、
前記決定された大きさおよび方向に相関している前記画像オブジェクトの変位位置を決定するステップと、
前記変位位置に前記画像オブジェクトを表示するステップと、
をさらに備えるコンピュータ実行方法。
【請求項7】
請求項5の方法において、速度に基づく動作モードとして、前記画像オブジェクトを操作するステップは、
前記決定された大きさおよび方向に相関しているスクロールの大きさおよび方向を決定するステップと、
前記決定されたスクロールの大きさおよび方向に基づいて前記画像オブジェクトをスクロールするステップと、
をさらに備えるコンピュータ実行方法。
【請求項8】
請求項1の方法において、
前記インタラクションコマンドは、画像ズームコマンドを含み、
前記画像オブジェクトを操作するステップは、前記ユーザインターフェースに対して前記画像オブジェクトをズームするステップをさらに備えるコンピュータ実行方法。
【請求項9】
請求項8の方法において、
前記ユーザのジェスチャを認識するステップは、
前記第1の画像における、ユーザの腕の第1位置を検出するステップと、
前記第2の画像における、ユーザの腕の第2位置を検出するステップと、
前記第1位置と前記第2位置との間の変化の大きさおよび方向を決定するステップと、
をさらに備えるコンピュータ実行方法。
【請求項10】
請求項9の方法において、距離に基づく動作モードとして、前記画像オブジェクトを操作するステップは、
前記決定された大きさおよび方向に相関している拡大係数を決定するステップと、
前記決定された拡大係数を前記画像オブジェクトに適用するステップと、
をさらに備えるコンピュータ実行方法。
【請求項11】
請求項9の方法において、速度に基づく動作モードとして、前記画像オブジェクトを操作するステップは、
決定された大きさおよび方向に相関して、前記画像オブジェクトを操作する大きさおよび方向調整を決定するステップと、
前記決定された大きさおよび方向調整に基づいて画像オブジェクトの拡大係数を反復的に調整するステップと、
をさらに備えるコンピュータ実行方法。
【請求項12】
請求項1の方法において、
前記インタラクションコマンドは、ローテーションコマンドを含み、
前記画像オブジェクトを操作するステップは、ユーザインターフェースに対して前記画像オブジェクトを回転させるステップをさらに備えるコンピュータ実行方法。
【請求項13】
請求項12の方法において、前記ユーザのジェスチャを認識するステップは、
前記第1の画像における、ユーザの手の第1方位を検出するステップと、
前記第2の画像における、ユーザの手の第2方位を検出するステップと、
前記第1方位前記第2方位との間の方位変化を決定するステップと、
をさらに備えるコンピュータ実行方法。
【請求項14】
請求項13の方法において、距離に基づく動作モードとして、前記画像オブジェクトを操作するステップは、
前記決定された大きさおよび方向に相関している前記画像オブジェクトの変位方位を決定するステップと、
前記変位方位に前記画像オブジェクトを表示するステップと、
をさらに備えるコンピュータ実行方法。
【請求項15】
請求項13の方法において、速度に基づく動作モードとして、前記画像オブジェクトを操作するステップは、
前記決定された大きさおよび方向に相関している、前記画像オブジェクトを操作する大きさおよび方向調整を決定するステップと、
前記決定された大きさおよび方向調整に基づいて、前記画像オブジェクトの方位を反復して調整するステップと、
をさらに備えるコンピュータ実行方法。
【請求項16】
コンピュータのプロセッサによって実行されるコンピュータ実行方法であって、
第1および第2の画像から、ユーザのジェスチャを認識するステップと、
認識されたユーザのジェスチャに対応するインタラクションコマンドを決定するステップと、
決定されたインタラクションコマンドに基づいて、ユーザインターフェース内に表示された画像オブジェクトを操作するステップと
を有し、
第1および第2の画像から、ユーザのジェスチャを認識するステップは、
カメラを用いてユーザの胴の位置を決定するステップと、
前記胴の前で所定の距離を有する平面を定義付けるステップと、
前記胴に近い側である、前記平面の第1側で行われるユーザの動きを無視するステップと、
前記カメラによって捕捉される第1および第2画像から、前記胴から遠い側である、前記平面の第2側で行われるユーザのジェスチャを認識するステップと
を含み、
ユーザのジェスチャの大きさが予め定められた閾値を上回る場合に、前記画像オブジェクトは操作されるコンピュータ実行方法。
【請求項17】
請求項1の方法において、前記画像オブジェクトは、ユーザのジェスチャの方向を反映させている操作方向に操作されるコンピュータ実行方法。
【請求項18】
請求項1の方法において、
前記ユーザのジェスチャを認識するステップは、
第1の選択ジェスチャを認識するステップと、
第1のインタラクションジェスチャを認識するステップと、
非選択ジェスチャを認識するステップと、
再配置ジェスチャを認識するステップと、
第2の選択ジェスチャを認識するステップと、
第2のインタラクションジェスチャを認識するステップと、
を備え、
前記画像オブジェクトを操作するステップは、
前記第1の選択ジェスチャを認識することに基づいて画像オブジェクトを選ぶステップと、
前記第1および第2のインタラクションジェスチャを認識することに基づいて前記画像オブジェクトを調整するステップと、
前記画像オブジェクトの操作を引き起こさないよう、前記再配置ジェスチャをフィルタリングするステップと、
を備えるコンピュータ実行方法。
【請求項19】
請求項1の方法において、
前記インタラクションコマンドは、プレビュー画像コマンドを含み、
前記画像オブジェクトを操作するステップは、前記画像オブジェクトを、複数のプレビュー画像オブジェクトから選択することをさらに備えるコンピュータ実行方法。
【請求項20】
画像を表示するように構成されたユーザインターフェースと、
プロセッサと
を具備し、
前記プロセッサは、
カメラを用いてユーザの胴の位置を決定し、
決定された前記胴の位置を基準として、前記胴に近い第1側と前記胴から遠い第2側とを区分する平面を定義付け、
前記第1側で行われるユーザの動きを無視し、
前記カメラによって捕捉される第1および第2の画像から、前記第2側で行われるユーザのジェスチャを認識し、
認識されたユーザのジェスチャに対応するインタラクションコマンドを決定し、
決定されたインタラクションコマンドに基づいて、画像オブジェクトを操作するように構成されてなるシステム。
【請求項21】
請求項20のシステムは、前記第1および第2の画像を生成するように構成されるTOF(time−of−flight)カメラをさらに備えるシステム。
【請求項22】
コンピュータに、
カメラを用いてユーザの胴の位置を決定する手順と、
決定された前記胴の位置を基準として、前記胴に近い第1側と前記胴から遠い第2側とを区分する平面を定義付ける手順と、
前記第1側で行われるユーザの動きを無視する手順と、
前記カメラによって捕捉される第1および第2の画像から、前記第2側で行われるユーザのジェスチャを認識する手順と、
認識されたユーザのジェスチャに対応するインタラクションコマンドを決定する手順と、
決定されたインタラクションコマンドに基づいて、ユーザインターフェースに表示される画像オブジェクトを操作する手順と
を実行させるためのコンピュータプログラム。
【請求項23】
前記画像オブジェクトは、ユーザのジェスチャの速度が所定の閾値を超えた場合に操作される請求項16に記載のコンピュータ実行方法。
【請求項24】
前記ユーザの1又は2以上の画像に基づいてユーザの握った手のポーズを検出するステップと、
ユーザの握った手のポーズを検出した後に、ユーザインターフェースに向かって定義されたZ方向でのユーザの手の動きの距離を決定するステップと、
前記握った手のポーズを検出した後に、Z方向に直交するX−Y平面でのユーザの手の動きの距離を決定するステップと、
前記握った手のポーズの後にZ方向でのユーザの手の動きの距離が距離閾値を超える前に、前記握った手のポーズの後にX−Y平面でのユーザの手の動きの距離が距離閾値を超えることに基づいて画像オブジェクトを操作するための画像動きインタラクションコマンドを選択するステップと、
前記握った手のポーズの後にX−Y平面でのユーザの手の動きの距離が距離閾値を超える前に、前記握った手のポーズの後にZ方向でのユーザの手の動きの距離が距離閾値を超えることに基づいて画像オブジェクトを操作するための画像ズームインタラクションコマンドを選択するステップと、
を有する請求項16に記載のコンピュータ実行方法。
【発明の詳細な説明】
【技術分野】
【0001】
[関連出願の相互参照]
この出願は2008年3月4日に出願の米国特許出願番号第12/041927号の利益を主張し、当該出願の内容は援用によりここに組み込まれるものとする。
【0002】
本開示は、一般にコントロール(またはウィジェット)に関する。
【背景技術】
【0003】
入力デバイスまたはポインティングデバイスは、コンピュータ使用者がコンピュータにデータを入力することができるハードウェア部品である。コントロール(またはウィジェット)は、データの操作に単一のインタラクションポイント(相互作用点)を提供するために、例えば、入力デバイスを用いてコンピュータ使用者が対話するインターフェース要素である。例えば、コントロールは、画像を見るまたは操作するために用いられる。
【発明の概要】
【0004】
1つの総合的実施によれば、改良された方法は、カメラを有する自由空間におけるユーザのジェスチャをキャプチャするために提供され、ジェスチャを認識するステップと、コンピュータ生成画像を操作するためにユーザ入力としてジェスチャを使用するステップとが提供される。その際、写真のような画像は、ユーザの身体の直接的な、直感的な、自然な動作を通じて、インタラクト(相互作用)させることができる。
【0005】
他の総合的実施によれば、プロセスは、第1および第2の画像から、ユーザのジェスチャを認識するステップと、認識されたユーザのジェスチャに対応するインタラクションコマンドを決定するステップと、決定されたインタラクションコマンドに基づいて、ユーザインターフェースで表示される画像オブジェクトを操作するステップと、を含む。
【0006】
実施は、以下の特徴の一つ以上を含むことができる。例えば、上記インタラクションコマンドは、選択コマンドを含み、上記画像オブジェクトを操作するステップは、さらなる操作のため上記画像オブジェクトを選択するステップをさら含むことができる。上記ユーザのジェスチャを認識するステップは、上記第1の画像においてユーザの腕を伸ばした状態、指を伸ばした状態、掌を前方に出した手のポーズを検出するステップと、上記第2の画像においてユーザの腕を伸ばした状態、指を握った状態、掌を下方に置いた手のポーズを検出するステップと、をさらに含むことができる。
【0007】
さらなる実施例において、上記インタラクションコマンドは、画像パンコマンドを含み、上記画像オブジェクトを操作するステップは、上記ユーザインターフェースに関連する上記画像オブジェクトをパンするステップをさらに含む。上記ユーザのジェスチャを認識するステップは、上記第1の画像におけるユーザの腕の第1位置を検出するステップと、上記第2の画像におけるユーザの腕の第2位置を検出するステップと、上記第1位置と第2位置との間の変化の大きさおよび方向を決定するステップと、とをさらに含み得る。距離モードでは、上記画像オブジェクトを操作するステップは、決定された大きさおよび方向に相関している上記画像オブジェクトの変位位置を決定するステップと、この変位位置における上記画像オブジェクトを表示するステップと、をさらに含み得る。速度モードでは、上記画像オブジェクトを操作するステップは、決定された大きさおよび方向に相関しているスクロールの大きさおよび方向を決定するステップと、決定されたスクロールの大きさおよび方向に基づいて上記画像オブジェクトをスクロールするステップと、をさらに含み得る。
【0008】
付加的な実施例において、上記インタラクションコマンドは、画像ズームコマンドを含み、上記画像オブジェクトを操作するステップは、ユーザインターフェースと関連して上記画像オブジェクトをズームするステップとをさらに含み得る。上記ユーザのジェスチャを認識するステップは、上記第1の画像におけるユーザの腕の第1位置を検出するステップと、上記第2の画像におけるユーザの腕の第2位置を検出するステップと、上記第1位置と第2位置との間の変化の大きさおよび方向を決定するステップと、をさらに含み得る。距離モードでは、上記画像オブジェクトを操作するステップは、上記決定された大きさおよび方向に相関している拡大係数を決定するステップと、上記決定された拡大係数を上記画像オブジェクトに適用するステップと、をさらに含み得る。速度モードでは、上記画像オブジェクトを操作するステップは、決定された大きさおよび方向に相関して、大きさおよび方向調整を決定するステップと、上記決定された大きさおよび方向調整に基づいて画像オブジェクトの拡大係数を反復的に調整するステップと、をさらに含み得る。
【0009】
付加的な実施例において、上記インタラクションコマンドは、ローテーションコマンドを含み、上記画像オブジェクトを操作するステップは、ユーザインターフェースと関連して上記画像オブジェクトを回転させるステップをさらに含み得る。上記ユーザのジェスチャを認識するステップは、上記第1の画像における、ユーザの手の第1方位を検出するステップと、上記第2の画像における、ユーザの手の第2方位を検出するステップと、上記第1位置と第2位置との間の方位変化を決定するステップと、をさらに含み得る。距離モードでは、上記画像オブジェクトを操作するステップは、上記決定された大きさおよび方向に相関している上記画像オブジェクトの変位方位を決定するステップと、この変位方位における上記画像オブジェクトを表示するステップと、をさらに含み得る。速度モードでは、上記画像オブジェクトを操作するステップは、上記決定された大きさおよび方向に相関している大きさおよび方向調整を決定するステップと、上記決定された大きさおよび方向調整に基づいて、上記画像オブジェクトの方位を反復して調整するステップと、をさらに含み得る。
【0010】
他の実施例において、ユーザのジェスチャの大きさが予め定められた閾値を上回る場合、画像オブジェクトは操作され得る。画像オブジェクトは、ユーザのジェスチャの方向を反映させている操作方向において操作され得る。上記ユーザのジェスチャを認識するステップは、第1の選択ジェスチャを認識するステップと、第1のインタラクションジェスチャを認識するステップと、非選択ジェスチャを認識するステップと、再配置ジェスチャを認識するステップと、第2の選択ジェスチャを認識するステップと、第2のインタラクションジェスチャを認識するステップと、を含み得る。上記画像オブジェクトを操作するステップは、上記第1の選択ジェスチャを認識することに基づいて画像オブジェクトを選ぶステップと、認識された上記第1および第2のインタラクションジェスチャに基づいて上記第1および第2のインタラクションジェスチャと関連する単一の調整技術を使用し、上記画像オブジェクトを調整するステップと、上記再配置ジェスチャをフィルタリングするステップと、をさらに含み得る。上記インタラクションコマンドは、プレビュー画像コマンドを含み、上記画像オブジェクトを操作するステップは、上記画像オブジェクトを、複数のプレビュー画像オブジェクトから選択することをさらに含み得る。
【0011】
他の一般の実施によれば、システムは、画像を表示するように構成されたユーザインターフェースと、プロセッサを含む。このプロセッサは、第1および第2の画像からユーザのジェスチャを認識し、認識されたユーザのジェスチャに対応するインタラクションコマンドを決定し、決定されたインタラクションコマンドに基づいて、画像オブジェクトを操作するように構成される。上記システムは、上記第1および第2の画像を生成するように構成されるTOF(time−of−flight)カメラをさらに含み得る。
【0012】
さらなる一般の実施において、コンピュータプログラム製品は、機械可読媒体において明白に具現化される。コンピュータプログラム製品は、機械によって読み込まれるときに、第1および第2の画像から、ユーザのジェスチャを認識して、認識されたユーザのジェスチャに対応するインタラクションコマンドを決定し、決定されたインタラクションコマンドに基づいて、ユーザインターフェースに表示される画像オブジェクトを操作するようにデータ処理装置を動作させる命令を含む。
【0013】
一つ以上の実施の詳細は、以下、添付の図面および説明に記載される。開示の他の特徴および効果は、説明および図面から、そして、請求項から明らかである。
【図面の簡単な説明】
【0014】
図1】認識されたジェスチャを利用した画像操作を実演する状況図である。
図2】例示的処理のフローチャートである。
図3】例示的処理のフローチャートである。
図4】例示的ジェスチャおよび付随するユーザインターフェースを説明する図である。
図5】例示的ジェスチャおよび付随するユーザインターフェースを説明する図である。
図6】例示的ジェスチャおよび付随するユーザインターフェースを説明する図である。
図7】例示的ジェスチャおよび付随するユーザインターフェースを説明する図である。
図8】例示的ジェスチャおよび付随するユーザインターフェースを説明する図である。
図9】例示的ジェスチャおよび付随するユーザインターフェースを説明する図である。
図10】例示的ジェスチャおよび付随するユーザインターフェースを説明する図である。
図11】例示的ジェスチャおよび付随するユーザインターフェースを説明する図である。
図12】例示的ジェスチャおよび付随するユーザインターフェースを説明する図である。
図13】例示的ジェスチャおよび付随するユーザインターフェースを説明する図である。
図14】サムネイルグリッドを例示する図である。
図15】プロセッサおよびユーザインターフェースをさらに含むコンピュータの外観を例示する図である。
図16図15に示されるコンピュータの内部構造を例示しているブロック図である。
【0015】
全体にわたり、部分に対応して同様の参照番号を表す。
【詳細な説明】
【0016】
1つの総合的実施によれば、改良された方法は、カメラを有して、自由空間でのユーザのジェスチャを捕えること、ジェスチャを認識すること、コンピュータ生成画像を操作するユーザ入力としてジェスチャを使用することを目的に提供される。その際、写真のような画像は、ユーザの身体の直接で、直観的で、自然な動作を介して、相互に作用され得る。
【0017】
特に、デプス(depth)カメラのようなカメラは、ジェスチャの認識またはユーザのジェスチャの変化に基づいてコンピュータまたはハブを制御するために用いることができる。見えにくくなるという、指紋の有害な影響に悩まされるタッチスクリーン・システムとは異なり、ジェスチャに基づく入力は、写真、ビデオまたは他の画像がクリアに表示される、または、ユーザの身体の自然な運動またはポーズに基づいて作り出すことができる。このような利点を考慮して、ユーザが見ることができ、パン(移動)し、サイズ、回転し、そして画像オブジェクト上の他の操作を実行できるジェスチャが認識され得る。
【0018】
デプス・カメラ(それはまた、TOF(time−of−flight)カメラと称してもよい)は、赤外線エミッタおよびセンサを含むことができる。デプス・カメラは、赤外線照明のパルスを作り出し、その後、光がオブジェクトに届くのに要する時間を測定し、センサに戻ることができる。距離は、光の移動時間に基づいて算出され得る。
【0019】
ここで使用しているように、全体に、「ジェスチャ」は、人体の一部によってなされる非言語的なコミュニケーションの形に言及することを意図し、例えば話し言葉などの言語コミュニケーションと対比される。例えば、ジェスチャは、運動、変化または第一位置、ポーズまたは表現と、第2のポーズ(位置または表現)との間の変換によって定義され得る。日常的な会話において使用される普通のジェスチャは、例えば、「エアクォーツ」ジェスチャ、会釈ジェスチャ、お辞儀、チーク・キス、指または手運動、ひざまづく叩頭、首振り運動、ハイファイブ、うなずき、悲しい顔、突き上げた拳、敬礼、親指を立てる身振り、身体を捻るジェスチャ、あるいは指を差すジェスチャを含む。ジェスチャは、例えばユーザのイメージを分析することによるなど、カメラの利用、ユーザがデバイスを保持あるいは傾ける角度を検出することによるなど、傾斜センサの利用、あるいは他のあらゆる方法によって、検出され得る。
【0020】
身体部分は、その位置(すなわち、手を振る動作)を変えることによって、ジェスチャ(または「ジェスチャで表現」)をすることができ、もしくは、身体部分は、その位置(すなわち、握り拳ジェスチャをすることによって)を変えずにジェスチャで表現することができる。実施例として、エンハンスドコントロールは、カメラ入力を経て機能性のコントロールを遂行するための手および腕のジェスチャを使用するが、ジェスチャの他方式がまた、用いられ得る。
【0021】
図1は、認識されたジェスチャを利用した画像操作を実演する状況図である。図1において、ユーザ101は、メディア・ハブ103のディスプレイに出力されるユーザインターフェース102およびカメラ104の前に座っており、ユーザインターフェース102上の一つ以上の画像オブジェクト(例えば、デジタル写真または他の画像)を見る。ユーザの右腕105、右手106および胴107は、カメラ104の視野109の中にある。
【0022】
背景画像(例えばユーザ101が座っているソファーまたはユーザ101の胴および頭部)は、サンプルをとられるか、フィルタをかけられるか、あるいはその反対で、ジェスチャ認識プロセスから無視される。例えば、カメラ101は全ての対象を無視することができ、あるいは、電位コントロールオブジェクトは、カメラから一定の距離以外の所に配置したその場合において、上記距離は、あらかじめ定義されるかまたは動的に決定される。一例を挙げると、上記距離は、ユーザのいっぱいに伸ばされた拳とユーザの胴との間に介在し得る。あるいは、平面は、ユーザの胴の前で動的に定義付けられ得るが、そうすると、その胴の後で起こる全ての動作またはジェスチャは除去されるか、そうでなければ無視される。
【0023】
選択された画像オブジェクトを移動するメディア・ハブ103を持ちたいという要望を示すために、ユーザ101は、例えばユーザインターフェース102に平行な平面に沿ったあらゆる方向でもって手を移動することができる。例えば、選択された画像オブジェクト110をユーザインターフェース102上のより高い場所へ移動させるために、図1Bに示すように、ユーザは、右腕105を上昇運動にて動かすことによってジェスチャで表現することができる。
【0024】
第1のカメラ画像から、拳にて指が閉じられる(すなわち、図1Aに示す握り拳)手105のポーズが検出される。手106の位置およびこのように上昇運動によって行われるジェスチャにおける変化はまた、第2のカメラ画像より検出されるか、認識されるか、そうでなければ決定される。腕105の上昇運動から認識されるジェスチャに基づいて、画像オブジェクトの動きまたはインタラクションコマンドは決定され、腕105の動作検出と一致する動作で選択された画像オブジェクト110は、ユーザインターフェース102上のより高い位置へ移動する(図1Bで図示)。
【0025】
画像オブジェクト110の動きの大きさ、変位または速度は、ユーザのジェスチャの大きさ、変位または速度に相関可能である。一般に、ユーザインターフェース102(「X−Y方向」)に平行な平面の前方への手の動きは、手の動作距離と比例した距離に対応する方向にユーザインターフェース102で移動するために選択された画像オブジェクトを与える。
【0026】
上記距離は、「一致する」ことによって、手によって動かされた距離と1:1の関係を持ち得、他の幾つかの関係、又はその関係が可変的または動的に決定されることがある。例えば、おそらくは解剖学的モデルで定めているように、ユーザの前で直接的に発生する、より大きな手の動きに比べて、ユーザのリーチの外側の範囲の小さい動きは、マッピングすることができるか、そうでなければユーザインターフェースにおける画像のより大きい操作に対応することができる。言い換えれば、加速、減速、あるいは他の動作は、付随する画像操作の大きさを決定するか、または影響を及ぼすためにジェスチャに適用され得る。
【0027】
上記大きさは、また、距離および速度の機能であってもよい。マグニチュード乗数は、ユーザが行ったある期間にわたって記録された以前のジェスチャの距離および速度に基づいて、ある期間にわたってユーザのスタイルに適合し得る。あるいは、ジェスチャが行われている間、ジェスチャの際に観察される速度に基づいて、マグニチュード乗数はユーザのスタイルに適合し得る。マグニチュード乗数は、ユーザがより急速に移動する場合(ユーザの腕を大きく振り回す表現方法に対して)、増加することがあり、または、ユーザがよりゆっくり移動する場合(ユーザのより意図的な表現方法に対して)、減少することがある。
【0028】
ジェスチャ動作は、他の画像操作コマンドにおける結果となり得る。例えば、ジェスチャ動作が、拡大機能の一部として利用され得る。画像オブジェクトのサブ領域がユーザインターフェース102に表示され得る。ジェスチャ動作は、画像オブジェクトの範囲内でサブ領域を移動することができる。別の例として、ジェスチャ動作は、画像オブジェクトのディレクトリまたは画像オブジェクトのリストを見るために用いてもよい。画像オブジェクトは、ユーザインターフェース102(すなわち、1つの画像オブジェクトは、一度にユーザインターフェース102に表示され得る)のサイズを合わせるために拡大・縮小され得る。ジェスチャ動作は、その次、又はその前の画像オブジェクトに「反転」し得る。(すなわち、その次およびその前の画像オブジェクトは、それらが「反転される」まで、表示され得ない)。
【0029】
画像オブジェクト110の動きの方向は、手106の動きに対し、同様か、直交するものでよく、反映するものでもよく、あるいは他のあらゆる関係を有するものであってよい。例えば、指示が同じ一設定では、上方への手のジェスチャは、あたかもユーザ106が垂直に画像オブジェクトを引っ張っているかのように、画像オブジェクト110を上方へ移動させることができる。このような設定では、右に対するジェスチャは、画像オブジェクト110を、ユーザと関連させて右へ移動するか(すなわちユーザインターフェース102上で左に動く)、またはユーザインターフェース上で右に移動させることができる(すなわちユーザと関連させて左へ移動する)。このような指示のマッピングは、予め設定されることができるか、ユーザが選択可能とするか、または、これまでの使用に基づいて決定され得る。
【0030】
指示が反映する他の実施において(例えば「スクロール・モード」)、手の上方へのジェスチャは、スクロールバーの上方移動と同様の動作を可能とし、画像オブジェクト110を実際に下がらせる。このような設定では、右へのジェスチャは、スクロールバーが右に移動するように(すなわち、ユーザと関連させて、画像オブジェクトを左へ移動させ、ユーザインターフェース102上で右に移動する)、かつ逆もまた同様である。
【0031】
図2は、画像操作を実行するために使用するデバイス200のブロック図である。簡単に言えば、特にデバイス200は、ユーザインターフェース201、記憶媒体202、カメラ204、プロセッサ205、および傾斜センサ209を含む。
【0032】
ユーザインターフェース201は、ユーザに、デバイス200で、またはデバイス200によって呼び出されるアプリケーションで相互作用させる(情報をやりとりする)ための機構である。ユーザインターフェース201は、両方の入出力のため、ユーザにデバイスを操作させるため、またはユーザの操作の効果を発揮するための機構を提供することができる。デバイス200は、様々な種類のユーザインターフェース201、例えばグラフィカルユーザインターフェース(GUI)、音声ユーザインターフェース、または触覚に関するユーザインターフェースを利用することができる。
【0033】
ユーザインターフェース201は、視覚的表示画像を描写するように構成され得る。例えば、ユーザインターフェース201は、モニタ、テレビ、液晶ディスプレイ(LCD)、プラズマ表示装置、プロジェクタ・スクリーンを有するプロジェクタ、自動立体表示装置、陰極線管(CRT)表示装置、デジタル・ライト・プロセッシング(DLP)表示装置、または画像表示を行う他のあらゆる種類の表示装置であり得る。ユーザインターフェース201は、一つ以上の表示装置を含むことができる。一部の構成において、ユーザインターフェース201は、例えばアプリケーションによって発生するアバター等のオブジェクトまたは表象を含む画像を表示するような、アプリケーションと関連する画像を表示するように構成され得る。
【0034】
記憶媒体202は、情報またはデータを格納、記録するものであり、光記憶媒体、磁気記憶媒体、フラッシュメモリまたは他のあらゆる記憶媒体のタイプであり得る。特に、記憶媒体は、認識されたジェスチャを使用するという改良された入力をもたらすエンハンスドコントロールアプリケーション207でコード化される。
【0035】
カメラ204は、スチール写真か一連の動画像として画像を捕えるために使用するデバイスである。カメラ204は、可視スペクトルの光または赤外線などの電磁スペクトルの他の部分を使用することができる。例えば、カメラ204は、画像を捕えるように構成されるデジタルカメラ、デジタルビデオカメラ、または他のあらゆる種類のデバイスであってよい。カメラ204は、一つ以上のカメラを含むことができる。一部の実施例において、カメラ204は、アプリケーションと相互に作用しているオブジェクトまたはユーザのイメージを捕えるように構成され得る。例えば、カメラ204は、自由空間(例えばユーザの周囲の空中)において身体で表現(ジェスチャで話している)をしているか、そうでなければカメラ204の視野の中でアプリケーションと相互作用しているユーザまたは人の像を捕えるように構成され得る。
【0036】
カメラ204は、ステレオカメラ、TOF(time−of−flight)カメラ、または他のあらゆるカメラであってもよい。例えば、カメラ204は、動作および同様にユーザのジェスチャを検出するために背景画像のサンプルをとることができる画像検出器であってもよい。カメラ204は、例えば距離画像を生成することができるステレオカメラ、またはTOF(time−of−flight)カメラなど、グレイスケール画像、カラー画像または距離画像を作り出すことができる。ステレオカメラは、わずかに異なる視点で画像を得る2台のイメージ・センサを含むことができ、そこにおいて、プロセッサは、画像の一部の距離を算出するために異なる視点から得られる画像を比較する。TOF(time−of−flight)カメラは、以下を含むことができる:光パルス(光は赤外光でも可)を起こすエミッタ、そこにおいて、画像の一部の距離を算出するために、光パルスがエミッタからオブジェクト、そしてセンサに戻るまで進む時間が測定される。
【0037】
デバイス200は、有線または無線経路を通じて、カメラ204およびユーザインターフェース201と電気的に接続かつ通信操作可能であり、エンハンスドコントロールを提供するためにプロセッサ205の動作を制御するように構成される。ある形態において、デバイス200は、エンハンスド・カメラに基づく入力を提供するアプリケーションを実行するために、プロセッサ205または他の制御回路を使用する。カメラ204がデバイス200と通信する別々のデバイス(例えばウェブカメラ)であってもよいが、他の実施において、カメラ204はデバイス200に組み込まれて、内部バスを経てデバイス200(例えばプロセッサ205)の他の構成要素と通信する。
【0038】
デバイス200がパーソナルコンピュータ(PC)またはセットトップボックスとされているが、この種の説明はただ単に簡潔さのために作成されており、そして、他の実施または明示はまた、意図される。例えば、デバイス200は、テレビ、ウルトラモバイルパソコン(UMPC)、モバイルインターネットデバイス(MID)、デジタルピクチャフレーム(DPF)、携帯用のメディア・プレーヤ(PMP)、汎用コンピュータ(例えば、デスクトップコンピュータ、ワークステーションまたはラップトップコンピュータ)、サーバ、ゲーム機またはコンソール、あるいは、命令を実行するように構成されるプロセッサまたは他の制御回路、あるいは、ユーザインターフェースを含む他のあらゆるデバイスを含む、あらゆる種類の電子デバイスとして実現され得る。
【0039】
実施例を挙げれば、入力は、ジェスチャを実行しているユーザのイメージを検出するために、カメラを用いて起こる。例えば、携帯電話は、テーブルに配置可能で、フェイス・フォワード・カメラを使用してユーザの画像を出すように操作可能でもよい。あるいは、例えば、表象を左に動かし、画像を左にパンするかまたは反時計回りに画像を回転させるため「左に傾く」ジェスチャを検出することによって、またはズームインして、右に画像をパンするために、上方へそしてニュートラルポジションの右側に表象を動かすため「右前に傾く」ジェスチャを検出することによって、ジェスチャは認識され得るか、または傾斜センサ209を使用して検出され得る。
【0040】
このように傾斜センサ209は、例えばジャイロスコープ、加速度計、またはカメラベースのオプティカルフロー・トラッカなど、デバイス200の角度位置を検出するように操作可能なあらゆる種類のモジュールであってよい。この点に関して、画像に基づく入力は、機能またはユーザのコマンド要求を実行する傾斜センサ入力によって追加され得るか置き換えられ得る。言い換えれば、ユーザのジェスチャの検出はカメラを使用せずに、もしくは画像の範囲内でユーザを検出することなく起こり得る。ユーザがユーザインターフェース上の画像を操ることを要求するのと同じストロークパターンの種類のデバイスを動かすことによって、ユーザは、直接的に同じインターフェースまたはアプリケーションを制御することができる。
【0041】
図3は、認識されたジェスチャを利用した画像操作をもたらすコンピュータ実行プロセス300を例示しているフローチャートである。簡単には、コンピュータ実行プロセス300が、第1および第2の画像から、ユーザのジェスチャを認識するステップ、認識されたユーザのジェスチャに対応するインタラクションコマンドを決定するステップ、決定されたインタラクションコマンドに基づいて、ユーザインターフェースで表示される画像オブジェクトを操作するステップを含む。
【0042】
さらに詳細には、上記プロセス300が開始する(S301)ときに、ユーザのジェスチャは第1および第2の画像(S302)から認識される。第1および第2の画像は、個々の画像スナップショットから、またはビデオシーケンスを形成する一連の画像から得られる。各々の画像は、アプリケーションがユーザのポーズまたはジェスチャを決定することのできる位置情報を捕える。
【0043】
通常、ジェスチャは、動き、位置、ポーズ、または考え、意見、感情、コミュニケーション、コマンド、デモンストレーション、または表現を表す姿勢に関連するものと意図されている。例えば、ユーザのジェスチャは、1本または多数本の指でのジェスチャ、片手でのジェスチャ、片方の手と腕でのジェスチャ、片方の手と腕かつ身体でのジェスチャ、両手で行うジェスチャ、頭部姿勢または身体の位置、眼の位置、顔の表情、身体のポーズまたは姿勢、もしくは他のあらゆる表現力豊かな身体の状態であり得る。便宜のために、関連したジェスチャを実行するために使用する身体の一部または部分は、概して「コントロールオブジェクト」と称する。単一画像のまたは2つの画像間のユーザのジェスチャは、有効化または「係合」ジェスチャを表してもよい。
【0044】
カメラ画像からユーザのジェスチャを決定する多くの方法がある。例えば、「空中に円を描く」かまたは「手を一方側へ打ち振る」ジェスチャは、手、腕、体、頭部または他のオブジェクト位置情報を用いたジェスチャ分析および検出プロセスによって検出され得る。ジェスチャが以下を含むことができるが、打ち振るジェスチャがなされた場合などのように、二次元または三次元の位置変位は、他の例では、ジェスチャは付随する位置変位のない変換を含む。例えば、5本の指がいっぱいに伸ばされた前方への掌で、手が「停止」のシグナルを発している場合、全5本の指が掌でボールのように収縮すると、手または腕の全体の位置が変化しないままの場合であっても、ユーザのジェスチャは変化する。
【0045】
手の位置情報が明確な一連の規則をパスするかどうか決定することによるなど、ジェスチャは、発見的方法を用いて検出され得る。例えば、以下のジェスチャ検出規則が満たされる場合、上記「手を一方側へ打ち振る」ジェスチャは識別され得る。(1)水平位置の変化は、所定の制限より少ない期間にわたって所定の距離より大きい。(2)水平位置は、期間にわたって単調に変化する。(3)垂直位置の変化は、その期間において所定の距離より少ない。そして、(4)その期間の終わりの位置は、その期間の開始時での位置より手の検出領域の境界に近い(または境界上である)。
【0046】
いくつかのジェスチャは、実行されかつ明確な命令において満たされる多数の規則セットを利用する。ここでの規則セットの充足は、異なる規則セットが適用される状況に変化するシステムをもたらす。このシステムは、微妙なジェスチャを検出することができなくてもよい、そこにおいて、検出されるべき特定の動作の連鎖を可能にさせるモデルとして隠れマルコフモデルが使用される場合があるが、動作が十分にジェスチャに合っているという全体の可能性もまた考慮する。
【0047】
基準は、無関係であるか意図的でない対象ジェスチャを除去するために用いる場合がある。例えば、平面は、カメラの前で予め定められた距離で定義され得る。そこにおいて、カメラから水準面の向こう側で作り出されまたは実行されるジェスチャは、無視される。その一方で、適当な様に、カメラおよび水準面の間で実行されるジェスチャまたは潜在的ジェスチャはモニタされ、識別され、認識され、フィルタをかけられ、必要に応じて処理される。上記水準面は、また、例えばユーザの胴と関連するなど、他のポイント、位置またはオブジェクトと関連して定義され得る。さらにまた、本文献において記載されている改良された方法は、背景画像を取り出す背景フィルタリングモデルまたはコントロールオブジェクトを形成しない動きの中のオブジェクトを使用することができる。
【0048】
ジェスチャまたはジェスチャにおける変更を認識することに加えて、他の情報はまた、画像から決定され得る。例えば、顔の検出および認識プロセスは、画像の範囲内でユーザの存在および同一性を検出するために、画像上で実行され得る。同一性情報は、例えば、利用できるオプション、利用できる相互作用のタイプを決定するかまたは選ぶか、もしくは1以上のユーザが入力機能性を係合しようとしている場合に、画像の範囲内の多数のユーザのうちどちらがコントロールユーザとして指定されるべきかについて決定するために用いられ得る。
【0049】
複合コマンドの入力を可能にして、入力オプションの数を増やすため、ユーザのジェスチャが認識するための以下のプロセスをさらに含むことができる。第1の方向における第1の変位を認識するステップ、第2の方向における第2の変位を認識するステップ、単一のジェスチャとしてこれらの多数の変位を集計するステップ、さらにまた、ユーザのジェスチャの認識は、ユーザのジェスチャの大きさおよび方向を決定することができる。
【0050】
係合ジェスチャは、ジェスチャに基づくコマンド入力のため他の画像をモニタする機能を起動させるかまたは呼び出して、ランダムまたは背景の身体動作を無視する。一部の実施例において、係合ジェスチャは、手が、掌を前方に、かつ5本の指を大きく広げて真っすぐに保たれる第1の手のポーズから、手がげんこつに保たれる第2の手のポーズへの移行である。
【0051】
図4A−4Bは、典型的な係合ジェスチャおよび係合ジェスチャに起因するユーザインターフェースを示す。特に、カメラ402でとらえられるユーザ401の2つの画像は、掌を前方へかつ指を大きく広げた開いた手のポーズ405(図4Aにて図示)から、握り拳の手のポーズ406(図4Bにて図示)へと、ジェスチャで表現するユーザの手をとらえる。
【0052】
ユーザによるこのジェスチャの実行は、画像オブジェクト410に対し、画像オブジェクト410の選択を意味するためユーザインターフェースの範囲内での強調表示をもたらす。図4Bにおいて、例えば、画像オブジェクト410は、選択された画像オブジェクトとして画像オブジェクト410を指定する、画像オブジェクト410周辺に現れる二重の境界408を使用して強調される。ユーザは、事実上、それを選ぶために、自由空間における画像オブジェクト410を実質的に「つかんでいる」。選択された画像オブジェクトは、例えば上記の図1に関するジェスチャ動作など、認識される他のジェスチャによって操作され得る。
【0053】
身体、腕または手のジェスチャに加えて、指をさしているジェスチャは、一つ以上の画像から認識されることが可能である。例えば、「左を指す」ジェスチャは、ユーザの指先から作られ、指の画像を分析することによって検出されることができる。指紋分析または他のアプローチは、指先の指す方向を決定するために用いることができる。他の実施例において、また上述のように、ジェスチャが言葉によるジェスチャであるか、もしくは傾斜センサまたは加速度計を用いて検出されるようなジェスチャは、カメラを使用せずに検出可能である。
【0054】
図3に戻り、認識されたユーザのジェスチャに対応するインタラクションコマンドが決定される(S304)。画像インタラクションコマンドは、ユーザのジェスチャにマッピングされ得る。例えば、図1に関して上述したジェスチャ動作は、画像動向コマンドにマッピングされ得る。他の実施例には、以下が含まれる。画像回転コマンドにマッピングされる手回しジェスチャ、および画像サイジングにマッピングされるユーザインターフェース(「Z軸」)によって定義される平面と垂直である軸に沿った手の動き、ズーミングまたは倍率コマンド、である。一部の実施において、インタラクションコマンドは、ユーザのジェスチャの方向を反映させている操作方向をもたらすことができる。例えば、ユーザの左から右へのジェスチャ動作は、左から右に移動される画像オブジェクトをもたらすことができる。
【0055】
決定されたインタラクションコマンドに基づいて、ユーザインターフェースで表示される画像オブジェクトは操作され(S306)、それによって、方法300を終える(S307)。例えば、決定された画像動向コマンドに基づいて、画像オブジェクト(例えば画像オブジェクト110、図1)は、ディスプレイスクリーンに平行な平面に沿ってユーザの腕の動きに対応する場所へ移動することができる。別の例として、決定された画像サイジングコマンドに基づいて、画像オブジェクトは、決定されたユーザの腕の動きの向きや大きさに対応してサイジングされ得る。
【0056】
図5A−5Bは、典型的なズームイン・ジェスチャを示す。図において、ユーザ501は、手を、第1位置502から第2位置503へと、身体の方へ後退させるジェスチャで表現する。これにより、ディスプレイ506において、選択された画像オブジェクト504がより大きいサイズで(すなわち、図5Bに示すように画像オブジェクト508として)表示される。距離モードにおいて、ズーム距離は、手のZ位置に対応し得る。カメラ510からより遠くなる手の動きは、「ズームイン」コマンド(すなわち、ユーザは、「画像オブジェクトを引っ張って近づける」)と解釈され得る。
【0057】
同様に、図6A−6Bは、典型的な「ズームアウト」ジェスチャを例示し、図において、ユーザ601は、手を、第1位置602から第2位置603へと、身体から離れる方へ進めるジェスチャで表現する。これにより、ディスプレイ606において、選択された画像オブジェクト604がより小さいサイズで(すなわち、図6Bに示すように画像オブジェクト608として)表示される。カメラ610により近づく手の動きは、「ズームアウト」コマンド(すなわち、「画像オブジェクトを押しのける」)と解釈され得る。
【0058】
一部の実施において、ユーザが身体の方へ、又は身体から離れるように手を動かしている間にユーザが手を開く場合、選択された画像オブジェクトは、手が開かれたときの手の動作の速度と比例した速度で拡大・縮小し続けることができる。手が開かれた後、ズーム速度は時間とともに段階的に減少することができる。
【0059】
さらなる実施において、あたかも画像オブジェクトが質量または運動量を有するかのように、手の動作の速度または他のジェスチャは決定され、モデル化されて、画像オブジェクトに適用される。例えば、左に手を速く振るジェスチャは、左に手を遅く振るジェスチャより、画像オブジェクトがさらに左に遠い距離動くかもしれない。さらにまた、例えば「押し込み」ジェスチャが最初に速いペースでズームアウトする画像オブジェクトをもたらし、その後、仮想押し込みのアプリケーションから時間が経過してから遅くするなど、あたかもユーザインターフェースが、摩擦、ドラッグ、重力、又は他の力の影響を受けるかのように、画像オブジェクトは反応し得る。
【0060】
さらに、ユーザインターフェース上で画像オブジェクトが第1の方向に移動中で、ジェスチャが第2の反対方向に進行するのが認識される場合、画像オブジェクトに割り当てられる「仮想」運動量がジェスチャに割り当てられる「仮想」運動量によって克服されるまで、画像オブジェクトは第1方向において進行し続けることができる。直観的で視覚的に気持ちの良い方法で、これらの挙動は、自由空間のコントロールオブジェクトおよびユーザインターフェースの画像の間の仮想的な相互作用を可能になう所定のまたはユーザ定義済みの設定、変数および係数に基づくことがあり得る。
【0061】
図7A−7Eは、典型的な「再配置」ジェスチャを示す。ユーザ701は、位置702に身体に引き戻された手がある。ユーザは、選択された画像オブジェクトをより近くにズームすることを望む場合、ユーザは、位置702の手を伴い、その手をそれ以上身体の方へ動かすことはできない。ユーザ701は、ユーザの手を開くこと、そして、5本の指を位置704で示すように大きく広げることによって手を「リリース」(これにより、ズームコマンドをキャンセルするか保留する)ことができる。
【0062】
ユーザ701はその後、手を前方への位置706に動かすことができ、再係合する(すなわち、画像オブジェクトを再選択する)ため手を閉じる(位置708に示す)。そして最後に、手を、身体の方、位置710へと後退させ、これにより、選択された画像オブジェクトをより大きいサイズにズームさせる。動きにおいて、一つの「引っ張る」を上回る大きさで身体の方に画像を「引っ張る」ことを続けるために、ユーザ701は水泳運動で手を動かしているように見えることがある。
【0063】
類似した「再配置」ジェスチャは、他のコマンドを繰り返すために用い得る。例えば、ユーザ701は、手が完全に前方へ伸びきったとき、手を開き、後方へ手を引いて、手を閉じることによって再係合し、より小さいサイズに画像オブジェクトの大きさを変更する(すなわち、より遠くへズームアウトする)ために、手を前方に押し出すことができる。類似したポーズ・シーケンスは、移動、回転および他のジェスチャコマンドを繰り返すために用いてもよい。再配置ジェスチャのために使用するポーズは、フィルタ処理され得る。すなわち、完全に再配置に使用するポーズは、結果としてオブジェクトの操作をもたらすことにならない。
【0064】
図8A−8Bは、「速度モード」に起こる典型的な相互作用を示す。上述したように、ディスプレイ802と平行な平面に沿ったX−Y方向のユーザ801による手の動きは、手の移動距離と比例した画像オブジェクトの動きを引き起こすことができる。そのような動きは、「距離モデル」と称することができる。乏しい倍率範囲または限られたズーム状態数がある場合、距離モデルは有効かもしれない。しかし、表示された画像オブジェクトが、例えば多くのズーム・レベルをサポートするマッピングなど、広い倍率範囲をサポートする場合、距離モデルは有効でないかもしれない。
【0065】
広い倍率範囲を有するより効果的なズーミングをサポートするかまたはユーザがより控えめなジェスチャをすることを可能にするために、「速度」モデルが、用いられ得る。「速度」モデルにおいて、ユーザは、ジェスチャをしてからポーズを保つ。「速度」モデルは、手のジェスチャを解除することなくコマンドを無期限に繰り返すことができる(すなわち、手のジェスチャの解除が要求され、例えば、特定の距離を越えてズームする「距離」モデルとは対照的に)。例えば、ユーザ801は、第1位置804から第2位置806へ上方へ向かう手のジェスチャで表現し、それによって、選択された画像オブジェクトを位置808から位置810に移動させる。ユーザ801が手を位置806に保持するので、選択された画像オブジェクトは、位置812、814へ等、ジェスチャ(すなわち、この場合においては上方へ向かうジェスチャ)によって示される方向に動き続ける。
【0066】
速度モデルにおいて、ユーザ801が手を閉じるときに、手のX−Y位置はサンプリングされ得、基準位置として保存され得る。選択された画像オブジェクトは、ユーザの手と基準位置の間のX−Y距離と比例した速度で移動することができる(すなわち、選択された画像オブジェクトは、ユーザが基準位置からより遠く離れて手を動かすにつれて、より速く移動させることができる)。ユーザが動きを止め、係合の手のポーズを維持する場合、選択された画像オブジェクトは現在の速度でズームイン/アウトし続けることができる。
【0067】
速度への相対的な距離のマッピングは、以下を含むことができる:ユーザが基準位置の近く(しかし、必ずしも正確にではなく)に手を戻すことで移動を止めることができるような「デッドゾーン」、相対的な距離がデッドゾーン距離より少ない場合、そのデッドゾーンによって速度はゼロになり得る。速度への相対的な距離のマッピングは、基準位置の近くの位置での変化は小さい速度変化をもたらすが、基準位置からさらなる位置の変化は大きい速度変化をもたらす非線形でもよい。非線形マッピングは、低速度の微細な制御および高速度のより粗い制御をユーザに与えることができる。
【0068】
速度モデルを使用するときに、ユーザの手の位置をデッドゾーンの範囲内に戻す場合、ユーザが掌を前方へかつ5本の指を広げた場合、手がカメラ816の視野の外に行く場合、ユーザが手を身体の方へ完全に引っ込めて腕を側部に落とす場合、または、他の事象が起こる場合、速度がゼロに戻り得る。速度は、短い期間にわたって段階的に減少することによって、ゼロに戻ることができる。
【0069】
速度モデルは、他のジェスチャによって用いられ得る。例えば、速度モデルが、画像ズームのために、そして、画像回転(下記の図12を参照)のために用いられ得る。異なるジェスチャは、異なるモデルを使用することができる。例えば、画像拡大が速度モデルを使用できると同時に画像移動は距離モデルを使用することができる。ユーザは特定のジェスチャの異なるモデルの間で切替えることが可能となる。例えば、ユーザが最も効果的なモデルを選べる速度および距離モデルの間で画像ズームモデルを切り換えることのできる変化モデルジェスチャが定義され得る。
【0070】
図9A−9Bは、典型的なジェスチャの組合せを示す図であり、2つ以上の独立画像操作は、単一のジェスチャによって生じる。ユーザが手をZ方向およびX−Y方向の両方向に動かす場合、画像ズームコマンドか、画像移動コマンドか、両方のコマンドが実行されなければならないかどうか決定するために、様々なアプローチが用いられ得る。例えば、1つのアプローチでは、移動かズーミングかは、Z方向の移動またはX−Y平面の移動の、いずれか距離の大きい方に基づいて選択され得る。他のアプローチにおいて、移動かズーミングかは、係合の手のポーズが検出された後(すなわち、コマンドのタイプは、ユーザが最初にどのジェスチャをするかによりロックされ得る)、最初に距離閾値をパスするZ方向の移動またはX−Y平面の移動の、いずれかの距離に基づいて選択され得る。
【0071】
第3のアプローチにおいて、多数のコマンドが実行される。例えば、ユーザがx−y平面で手を動かすことに加えてz方向にも手を動かす場合、移動およびズーミングは同時に起こり得る。図9A−9Bにおいて、ユーザ901は、第1位置902から第2位置904へと、腕を上昇させ身体の方へ後退させるジェスチャで表現する。これにより、画像オブジェクト906よりディスプレイ908の上部の方へ位置する、より大きい画像オブジェクト910で示すように、選択された画像オブジェクト906にズーミングして、ディスプレイ908の範囲内で移動させる。
【0072】
多数のコマンドが実行される場合には、コマンドは、前述の基準(いずれか距離のより大きい方か、それともいずれか最初に距離閾値をパスした方)、および小基準コマンドとして分類される他のコマンドに基づき、主要なコマンドとして分類されることができる。小基準コマンドの「デッドゾーン」(すなわちユーザの手がスクリーン上のオブジェクトのゼロ以外の変位または速度を引き起こす前に基準位置から移動しなければならない最小限の距離)は、多数のコマンドの存在下で、広げることができる。他方向のジェスチャを実行している間、意図しない多少の方向の手の動きは無視される。
【0073】
図10A−10Bは、典型的な画像回転ジェスチャを示す。図において、ユーザは、開いた手を第1の垂直位置1002から第2の、曲げられた位置1004まで回転させることによってジェスチャで表現する。これにより、ディスプレイ1008において(回転される画像オブジェクト1010で示すように)、検出された手の回転角度と同じ角度で、選択された画像オブジェクト1006を回転させる。手の軽微な動きが選択された画像オブジェクトを意図せずに回転させないために、デッドゾーンは定義され得る。
【0074】
一部の実施において、参照角度は、ユーザが腕をねじらずに画像オブジェクトを180度、回転させることができると定義され得る。例えば、回転開始位置は、ユーザが垂直位置に対して負の90度反時計回りに(すなわち、左の方を指している手の指を伴って)最初の手を配置することによって、時計回りに回転し始めるように、定義され得る。このスタート位置から、ユーザは、時計回りにまる180度回転させることができる(すなわち、右の方を指している指を伴って手の位置の終了)。
【0075】
図11A−11Bは、典型的な画像回転ジェスチャを、「スナップ」モードで示す。「スナップ」モードにおいて、画像回転は、例えば、時計回りに0度、時計回りに90度、反時計回りに90度、または180度の参照角度に「スナップ」でき、そして、それによって、参照角度は手の回転角度に最も近い。例えば、図11A−11Bで、実際におけるスナップモードでは、ユーザの手は、第1の垂直位置1102から第二位置1104までジェスチャ表現する、そこにおいて、第2位置1104は、第1位置1102に対して50度曲げられる。画像オブジェクト1110で示すように、手の回転は、ディスプレイ1108において、選択された画像オブジェクト1106に、時計回りに90度の参照角度に回転させる(すなわち、スナップモードのため50よりも90度)。スクリーン上の表示として、選択された画像オブジェクトは、手が回転されているときに、ディスプレイ1108において回転することができ、ジェスチャが解除されるときに、最も近い参照角度にスナップされ得る。
【0076】
回転スナップモード実施中に、スクリーン上の表示は部分的なターンが認識されることを示すために表示され得る。基礎角度は定義され得、そして、参照角度は基礎角度、基礎角度プラス時計回りに90度、基礎角度プラス反時計回りに90度、基礎角度プラス180度として定義され得る。
【0077】
図12A−12Bは、典型的な画像回転を速度モードで示す。上述のように、速度モードで、ユーザがポーズをとっている間、画像操作コマンドは繰り返される。例えば、ユーザの手は第1の垂直位置1202から第2の曲げられた位置1204までジェスチャ表現する。これにより、選択された画像オブジェクトに、ディスプレイ1206において第1位置1208から第2位置1210まで時計回りに回転をさせる。ユーザが位置1204に手を留めているとき、選択された画像オブジェクトは時計回り方向に回転し続ける。そして、位置1212および1214を通過すると考えられる。
【0078】
スクリーン上の表示として、ポーズがとられているときに、選択された画像オブジェクトはディスプレイ1206において回転することができる。ユーザがポーズを解除するときに、画像回転は停止され得る。回転の速度は、手の回転角度と比例していてもよい。(すなわち、手の回転角度が増加するにつれて、選択された画像オブジェクトはより急速に回転することができる)。選択された画像オブジェクトは、ユーザがジェスチャを終了するときに、画像オブジェクトがどの参照角度に最も近いかについて依存し、参照回転角度(例えば0、時計回りに90度、反時計回りに90度、もしくは180度)に「スナップ」することができる。
【0079】
図13A−13Bは、典型的な次画像表示ジェスチャを示す。「現在の」画像オブジェクト1302は、ディスプレイ1304の大きい中心部に合わせるため、縮尺され得る。一つ以上の「前の」、1306および「次の」1308の画像オブジェクトは、現在の画像オブジェクト1302の左または右の側に示され、現在の画像オブジェクト1302より小さくなり得る。ユーザ1310は、第1位置1312から第2位置1314へ上方への手のジェスチャで表現する。これにより、現在の画像オブジェクト1302を新たな「現在の」画像オブジェクトと交換させられる。
【0080】
より詳細には、アニメーションは以下より完成され得る。現在の画像オブジェクト1302がより小さいサイズで表示されるべく左へ移動することができ、新たな「前の」画像オブジェクト1316になることができる。「次の」画像オブジェクト1308がより大きいサイズで表示されるべく左へ移動することができ、新たな「現在の」画像オブジェクト1318になることができる。「前の」画像オブジェクト1306はディスプレイ1304から外され得、そして、新規な「次の」画像オブジェクト1320は、旧「次の」画像オブジェクト1308と置き換えられる。下方へのジェスチャは、反対方向に起こるアニメーションでもたらされる。
【0081】
次画像表示および前画像表示の相互作用は、上方へ、下方への腕の動きまたはジェスチャとして図13Aおよび13Bおいて例示されたが、このようなジェスチャを用いるのは単に典型的で、とりわけ、説明の容易さのために選択された。具体的には、他の典型的な実施において、左右の腕の動きは、それぞれ、前画像表示または次画像表示コマンドを入力するために用いる。それぞれ、前の画像オブジェクトおよび次の画像オブジェクトは現在の画像の左右に表示されるため、左右の腕の動きは、ユーザが実行するために直感的であってもよい。
【0082】
「現在の」、「次の」および「前の」画像オブジェクトは、同一サイズ(例えば、「フィルムストリップ」において)で表示され得る。フィルムストリップは、現在の画像オブジェクト(すなわち、フィルムストリップは、現在の画像オブジェクトの下、上、もしくは左側または右側に示され得る)を含んでもよいし含まなくても良い。フィルムストリップは、現在の画像オブジェクト、そして一つ以上の前の画像オブジェクトおよび次の画像オブジェクトの表象の大きさを設定したサムネイルを含むことができる。
【0083】
現在の画像オブジェクトが常に中央に置かれるために、フィルムストリップはスクロールして見えるように活動させてもよい。現在の画像オブジェクトがフィルムストリップに示されない場合、第1の次の、および第1の前の画像オブジェクト間の境界は中央に置かれ得る。上/下へのジェスチャは、画像オブジェクト(例えば画像オブジェクトのカテゴリ)のリストをパラパラとめくることができ、そして、左/右へのジェスチャはリストの範囲内で画像オブジェクトをパラパラとめくることができる。別の例として、左/右へのジェスチャは画像オブジェクトリストをパラパラとめくることができ、そして、上/下へのジェスチャはリストの範囲内で画像オブジェクトをパラパラとめくることができる。
【0084】
図14A−14Cは、簡潔な状態を例示する。サムネイルのグリッドは、例えば、矩形グリッド(例えばグリッド1402)において表示され得る。グリッドは、また、例えば、円筒状形状としてまたは球面形状(例えばグリッド1404)として現出し得る。
【0085】
スクリーン上の指示は、ユーザに、どの画像オブジェクトが現在の画像オブジェクトであるかについて指し示すことができる。例えば、現在の画像オブジェクトは、例えば境界、陰または輝き等、強調表示の効果を利用して示され得る。例えば、現在の画像オブジェクト1406は、グリッド1402の暗い二重の境界によって示される。
【0086】
現在の画像オブジェクトは、同一サイズとして、または他の画像オブジェクトよりわずかに大きいサイズで表示され得る。現在の画像オブジェクトを囲んでいる画像オブジェクトは、現在のサムネイル(すなわち、現在の画像オブジェクトから離れてより遠くに位置する画像オブジェクトは、現在の画像オブジェクトのより近くに位置する画像オブジェクトより小さく見える)からの距離に従ったサイズで表示され得る。画像オブジェクトは、「膨隆」(例えばグリッド1410の画像オブジェクト1408)として現れるためのサイズおよび形状で表示され得る。画像オブジェクトは、シリンダまたは球体周辺を巻きつくように見えてもよい(例えばグリッド1404の画像オブジェクト1412)。
【0087】
ジェスチャ動作によって、グリッドの範囲内で現在の画像オブジェクトの選定が起こり得る。グリッドは静止したままでいることができ、または、現在の画像オブジェクトが常にスクリーンの中央にあるために、グリッドはパンすることができる。ユーザが左にパンする場合、最終的に、ユーザが開始した同じ画像オブジェクトに到達するように、平面グリッド(例えば格子1402)は巻くことができ、もしくは、シリンダまたは球面グリッド(例えば1404)は回転することができる。別の例として、ユーザが左にパンする場合、最終的に、ユーザが開始した画像オブジェクトの直下の画像オブジェクトに到達するように、平面グリッドは巻くことができ、もしくは、シリンダまたは球面グリッドは回転することができるため、画像オブジェクトは、平面上、円筒形上、または螺旋状に球状表層の上に配置され得る。
【0088】
球体のシリンダ上の画像オブジェクトの数は、その外周に合致しても、合致しなくてもよく、そして、ユーザは開始サムネイルに戻るためのシリンダまたは球体それぞれの回転数を回転させることができる。例えば、シリンダは、その外周囲で12のサムネイルを有することが提供できる、そこにおいて、サムネイルの一部は、後背側上に隠され得る。サムネイルは、画像オブジェクトリストにどれくらいの画像オブジェクトがあるかに基づいて画像オブジェクトとともに追加され得る。可視的なサムネイルより少数の画像オブジェクトがリストにある場合、画像オブジェクトは多数のサムネイル上に現出され得る。
【0089】
サムネイルグリッドは、第1のサムネイル状態と称することができる。ユーザは、サムネイルグリッドを見ながら、リスト(例えば、カテゴリまたは他のリスト)サムネイル状態を明らかにするためにズームアウトすることができる。リストサムネイル状態は、第2のサムネイル状態と称することができる。第2のサムネイル状態の中の各々のサムネイルは、第1のサムネイル状態の平面、円筒形、または、球面構造として表示され得る。第1および第2のサムネイル状態間の移行は、「分子のズームイン/アウト」にスタイルが類似したアニメーションとして表示され得る。すなわち、第2のサムネイル状態は、分子の化学構造を見ることに類似していると表現され得、そして、第1のサムネイル状態は、その光子および電子を見るために分子にズームすることに類似していると表現され得る。
【0090】
別の例として、第1のサムネイル状態がその惑星を見るために星にズームすることに類似していると表現され得ると同時に、第2のサムネイル状態は太陽系の星々の一群を見ることに類似していると表現され得る。ズーム・ジェスチャは、任意に「スナップ」の状態になり得る。例えば、画像オブジェクトがスクリーンに適合する間近のときにユーザがズーム・ジェスチャを終了する場合、システムはスクリーンに対し適合状態に到達するために画像オブジェクト動作を活動させることができる。
【0091】
一部の実施において、2本の手によるジェスチャが、画像オブジェクトを操作するために用いてられてもよい。例えば、画像オブジェクトの角へのポインティング等、ユーザは、2本の手でポイントすることができる。画像オブジェクトを回転させるために、円軌道の両側におけるポイントを描くかのように、ユーザは手を動かすことができる。手の位置のx−y構成要素間の角度は、測定される。回転が最初の手の位置と関連していても、ユーザが最初にどの側か角をポイントしているかは、重要でない。第2の手を所定位置に上げる時間をユーザに与えるため、短い遅延(例えば500ミリ秒)の後、参照角度が記録される。両手を検出した後、あるいは、「空中停止」が検出された後(すなわち、距離閾値より少なく移動している両手の位置を伴って経過した短い期間(例えば500ミリ秒)の後に)、画像オブジェクトは、参照角度と関連して手の位置間の現在の角度によって回転する。両手がもはや検出されないときに、画像オブジェクトは最も近い90度にスナップすることができる。
【0092】
画像オブジェクトのズームインまたはズームアウトするために、ユーザは、両手を近づけるまたは両手をさらに大きく隔てるよう動かすことができる。手の位置のx−y構成要素の間の距離は、測定される。第2の手を所定位置に上げる時間をユーザに与えるため、短い遅延(例えば500ミリ秒)の後、参照距離が記録される。両手を検出した後、あるいは、「空中停止」が検出された後、参照距離と関連する距離は、縮尺に、または速度にマッピングされ得、それに応じて画像オブジェクトはズームされ得る。
【0093】
画像オブジェクトを左右上下に移動するために、ユーザは、両手間の距離および角度を一定にしたまま、両手を同じ方向に動かすことができる。手の位置のX−Y構成要素の平均は、測定される。第2の手を所定位置に上げる時間をユーザに与えるため、短い遅延(例えば500ミリ秒)の後、基準位置が記録される。両手を検出した後、あるいは、「空中停止」が検出された後、基準位置と関連する平均的位置は画像オブジェクトの範囲内の位置に、または速度にマップされ得、それに応じて画像オブジェクトは移動され得る。
【0094】
有効化ジェスチャは、ぎこちない状況に置かれているユーザの身体のコントロールオブジェクト(すなわち手)という結果になり得る。「打ち振る」有効化ジェスチャの結果として、例えば、ユーザの手は、カメラの視野の境界または外の近辺に置かれてもよい。これらおよび他の状況において、プロセスは、今後のジェスチャ認識を容易にするかまたは改善する目標位置(自由空間において)を有するユーザのコントロールオブジェクトを正しい位置に置くかまたは合わせるために起こり得る。カメラの視野の中心位置のような、自由空間の目標位置はあらかじめ定義されていてもよい。または、例えば明るい位置、ハイコントラストまたは複雑な背景のない領域、もしくは他の移動物体から間隔をおいて配置される視野の領域で、目標位置は動的に決定され得る。
【0095】
表象が目標画像と協調するように、改良されたジェスチャ認識のためのユーザの位置を調整する1つの方法は、ユーザの身体の動きを介して表象を移動させるためにユーザに推測させるかまたはユーザを案内するために、表象および目標画像をユーザインターフェースにまたはユーザインターフェースに表示することである。このように、ユーザの表象は、最初にユーザインターフェースの中央領域の外側で示され得、そして、目標画像は中央域において表示され得る。
【0096】
他の画像において、再編成ジェスチャは認識され得、表象は再編成ジェスチャに基づいて目標画像に関連して移動され得る。移動した表象が目標画像と合致する場合、表象は中央領域に表示される。再編成は、ユーザの手がカメラの視野のままであることを保証することができるか、また、ユーザが一つ以上の方向のジェスチャ表現をするための腕の十分な領域を有することを保証することができる。
【0097】
図15は、プロセッサおよびユーザインターフェースをさらに含むコンピュータ1501の外観の一例を示す。さらなる一般の実施において、デバイスは、ユーザインターフェースおよびプロセッサを含む。ユーザインターフェースは、一つ以上の画像オブジェクトを表示するように構成される。プロセッサは、第1および第2の画像から、ユーザのジェスチャを認識して、認識されたユーザのジェスチャに対応するインタラクションコマンドを決定し、決定されたインタラクションコマンドに基づいて、ユーザインターフェースで表示される画像オブジェクトを操作するように構成される。
【0098】
さらに詳細には、コンピュータ1501のハードウェア環境は、テキストおよび画像を、ユーザの有するインターフェースに表示するためのディスプレイモニタ1508、テキストデータおよびユーザコマンドをコンピュータ1501に入力するためのキーボード1509、ディスプレイモニタ1508に表示されるオブジェクトをポイントし、選択し、操作するためのマウス1510、固定ディスクドライブ1511、リームーバブルディスクドライブ1512、テープドライブ1514、ハードコピー出力デバイス、コンピュータ・ネットワーク接続、そして、デジタル入力デバイス1517を含む。
【0099】
ディスプレイモニタ1508は、グラフィックス、画像および、コンピュータ1501を動作させるのに必要なオペレーティングシステムプログラムと同様に、コンピュータ1501で使用されるソフトウェアアプリケーションのためのユーザインターフェースを構成するテキストを表示する。ユーザは、アプリケーションプログラムと同様に、コンピュータオペレーティングシステムプログラムを動作制御するコマンドおよびデータを入力するために、キーボード1509を使用する。マウス1510は、様々な種類のポインティングデバイスであってよく、ジョイスティック、トラックボール、タッチパッドまたは他のポインティングデバイスであってもよい。ユーザインターフェースを表示し、ユーザにテキスト、数字を入力または選択を可能に、またはオプションのメニューからの選択を可能にするために使用されるソフトウェアは、例えば固定ディスクドライブ1511等のコンピュータ読み込み可能なメモリ媒体に局所的に格納される。
【0100】
さらなる実施において、固定ディスクドライブ1511自体は、例えば、独立した複数のディスクの冗長アレイ(レイド「RAID」)、または、別々のコンピュータに物理的に位置するディスクドライブファームまたはディスクアレイなど、多くの物理的ドライブユニットを含むことができる。このようなコンピュータ読み込み可能なメモリ媒体は、コンピュータ1501を、リムーバブルおよび非リムーバブルメモリ媒体に保存されたコンピュータ実行可能プロセスステップ、アプリケーションプログラムなどにアクセス可能にする。
【0101】
コンピュータ・ネットワーク接続は、モデム接続、イーサネット(登録商標)を含むローカル・エリア・ネットワーク(「LAN」)接続、もしくは、例えばデジタル加入者回線(「DSL)、ケーブル高速インターネット接続、送電線ブロードバンド接続、ダイヤルアップ接続、T−1ライン、T−3ライン、光ファイバー接続、または衛星回線等の、ブロードバンド・ワイド・エリア・ネットワーク(「WAN」)接続であってもよい。ネットワーク1306は、LANネットワーク、会社または政府WANネットワーク、インターネットまたは他のネットワークであってもよい。
【0102】
コンピュータ・ネットワーク接続は、有線またはワイヤレス・コネクタであってよい。無線コネクタの例は、例えば、INFRARED DATA ASSOCIATION(登録商標)(赤外線通信協会)(「IrDA」(登録商標))によるワイヤレス・コネクタ、光学ワイヤレス・コネクタ、INSTITUTE OF ELECTRICAL AND ELECTRONICS ENGINEERS(登録商標)(電気電子技術者協会)(「IEEE」(登録商標))スタンダード802.11ワイヤレスのコネクタ、BLUETOOTH(登録商標)(ブルートゥース)無線コネクタ、直交周波数分割多重(「OFDM」)超高帯域幅(「UWB」)ワイヤレス・コネクタ、時間変調超高帯域幅(「TM−UWB」)ワイヤレス・コネクタ、または他のワイヤレスのコネクタ。有線コネクタの一例として、例えば、IEEE(登録商標)−1394 FIREWIREコネクタ、ユニバーサルシリアルバス(「USB」)コネクタ、シリアルポートコネクタ、パラレルポートコネクタまたは他の有線コネクタ。
【0103】
リムーバルディスクドライブ1512は、コンピュータ1501からデータをオフロードするかまたはコンピュータ1501上へデータをアップロードするために用いる取り外し可能な記憶装置である。リムーバルディスクドライブ1512は、フロッピー(登録商標)(登録商標)ディスク装置、IOMEGA(登録商標) ZIP(登録商標)ドライブ、コンパクトディスク−読出し専用メモリ(「CD−ROM」)ドライブ、CD−レコーダブルドライブ(「CD−R」)、CDリライタブルドライブ(「CD−RW)、フラッシュメモリ、USBフラッシュ・ドライブ、サムドライブ、ペン・ドライブ、キー・ドライブ、高密度デジタル多用途ディスク(「HD−DVD」)光ディスクドライブ、ブルーレイ光学ディスクドライブ、ホログラフィック・デジタル・データ・ストレージ(「HDDS」)光ディスクドライブ、もしくは、例えばDVD−レコーダブル(「DVD−R」.または「DVD+R」)、DVD−リライタブル(「DVD−RW」または「DVD+RW)またはDVD−RAMなど、様々な種類の記録可能または書き換え可能なデジタル多用途ディスク(「DVD」)であってよい。オペレーティングシステムプログラム、アプリケーションおよび様々なデータファイルはディスクに格納される。そして、それは固定ディスクドライブ1511上にまたはリムーバルディスクドライブ1512用のリムーバルメディア上に格納される。
【0104】
テープドライブ1514は、コンピュータ1501からデータをオフロードするかまたはコンピュータ1501上へデータをアップロードするために用いるテープ記憶装置である。テープドライブ1514は、1/4インチ・カートリッジ(「QIC)、4mmのデジタル・オーディオ・テープ(「DAT)、8mmのデジタル線形テープ(「DLT」)ドライブまたはテープの他のタイプであってもよい。
【0105】
さらに、コンピュータ1501はデスクトップPCとして上述しているが、さらなる実施で、コンピュータ1501は、ラップトップ、ワークステーション、中型コンピュータ、メインフレーム、埋め込みシステム、電話、携帯端末またはタブレット型コンピュータ、PDA、ゲーム機またはコンソール、デジタルピクチャフレーム、テレビ会議装置または他のタイプのコンピュータであってもよい。
【0106】
図16は、図15に示されるコンピュータの内部構造を示すブロック図である。以下、コンピュータ1501の典型的な内部構造について説明する。コンピュータ環境は、オペレーティングシステムまたはアプリケーションを作り上げるコンピュータ命令が処理されるコンピュータ中央演算処理装置(「CPU」)1601、ディスプレイモニタ1508上にグラフィックス、画像およびテキストをレンダリングするために通信インターフェースおよび処理機能を提供する表示インターフェース1602、キーボード1509に通信インターフェースを提供するキーボードインターフェース1604、マウス1510または等価なポインティングデバイスに通信インターフェースを提供するポインティングデバイスインターフェース1605、デジタル入力装置1517に通信インターフェースを提供するデジタル入力インターフェース1606、ハードコピー出力デバイスに通信インターフェースを提供するハードコピー出力デバイスインターフェース、コンピュータCPU 1601で処理するためのコンピュータインストラクションおよびデータが揮発性メモリデバイスに格納されるランダムアクセスメモリ(「RAM」)1610、基本入出力(「I/O」)、スタートアップまたはキーボード1509からのキーストロークの受信など、基本的システム機能のための不変の低レベルのシステムコードまたはデータが不揮発性メモリデバイスに格納された読出し専用メモリ(「ROM」)1611、そして、オペレーティングシステム1621、アプリケーションプログラム1622(必要に応じてエンハンスドコントロールアプリケーション1623や他のアプリケーション1624を含む)、およびデータファイル1625を作り出すファイルが格納される、記憶装置1620、または他の適切なタイプのメモリ(例えば、ランダムアクセスメモリ(「RAM」)、読出し専用メモリ(「ROM」)、プログラマブルROM(「PROM」)、消去可能PROM(「EPROM」)、電気的消去可能PROM(「EEPROM)、磁気ディスク、光ディスク、フロッピー(登録商標)ディスク、ハードディスク、リムーバブル・カートリッジ、フラッシュ・ドライブ)、コンピュータ・ネットワーク接続上のネットワークに通信インターフェースを提供するコンピュータ・ネットワーク・インターフェースを含む。構成するデバイスおよびコンピュータCPU 1601は、コンピュータバス1627を通じて各々と通信する。
【0107】
1つの総合的実施によれば、コンピュータプログラム製品は、明らかに具現化されるかまたは、例えば記憶装置1620等の機械可読媒体に記録される。コンピュータプログラム製品は、機械によって読み込まれるときに、データ処理装置に、第1および第2の画像から、ユーザのジェスチャを認識して、認識されたユーザのジェスチャに対応するインタラクションコマンドを決定して、決定されたインタラクションコマンドに基づいて、ユーザインターフェースで表示される画像オブジェクトを操作させるために機能する命令を含む。
【0108】
RAM 1610は、例えばオペレーティングシステム・アプリケーション・プログラムやデバイス・ドライバ等のソフトウェア・プログラムの実行中に、コンピュータCPU 1601に速いRAM記憶を提供するように、コンピュータバス1627とインターフェースをとる。より詳しくは、コンピュータCPU 1601は、ソフトウェア・プログラムを実行するために、RAM 1610の分野に、固定ディスクドライブ1511または他のメモリ媒体からのコンピュータ実行可能プロセスステップをロードする。データは、RAM 1610に格納される、そこにおいて、データは、実行の間、コンピュータCPU 1601によってアクセスされる。
【0109】
コンピュータ1501は、オペレーティングシステム1621や、例えばワードプロセッシング、スプレッドシート、プレゼンテーション、ゲームまたは他のアプリケーション等のアプリケーションプログラム1622のためのコンピュータ実行可能コードを格納する。ダイナミックリンク・ライブラリ(「DLL」)として、または、例えばMICROSOFTインターネット・ウェブ・ブラウザのようなインターネット・ウェブ・ブラウザなど、他のアプリケーションプログラムに対するプラグインとして現在の公開に従って機能を実装することは、可能である。
【0110】
コンピュータCPU 1601は、INTEL(登録商標)またはAMD(登録商標)プロセッサ、POWERPC(登録商標)プロセッサ、MIPS(登録商標)縮小命令セット・コンピュータ(「RISC」)プロセッサ、SPARC(登録商標)プロセッサ、ACORN(登録商標) RISC Machine(「ARM(登録商標)」)アーキテクチャ・プロセッサ、HP ALPHASERVER(登録商標)プロセッサまたはメインフレームのための独占所有権のあるコンピュータプロセッサを含む多くの高性能コンピュータプロセッサのうちの1つである。付加的な装置において、コンピュータCPU 1601は、高性能ワークステーションおよびサーバに見られる多数のCPU構成またはメインフレームで見られる多数の計測可能な処理ユニットを含む複数の処理ユニットである。
【0111】
オペレーティングシステム1621は、MICROSOFT(登録商標) WINDOWS(登録商標) NT(登録商標)/WINDOWS(登録商標)(登録商標) 2000/WINDOWS(登録商標)(登録商標) XPワークステーション、WINDOWS(登録商標) NT(登録商標)/WINDOWS(登録商標)(登録商標) 2000/WINDOWS(登録商標)(登録商標) XPサーバであってもよく、IBM(登録商標)ワークステーションおよびサーバのためのAIX(登録商標)、SUN(登録商標) ワークステーションおよびサーバのためのSUNOS(登録商標)、INTEL(登録商標) CPUベースのワークステーションおよびサーバのためのLINUX(登録商標)、HP(登録商標)ワークステーションおよびサーバのためのHP UX WORKLOAD MANAGER(登録商標)、SGI(登録商標)ワークステーションおよびサーバのためのIRIX(登録商標)、デジタル・イクイップメント・コーポレーション・コンピュータのためのVAX/VMS、HP ALPHASERVER(登録商標)ベースのコンピュータのためのOPENVMS(登録商標)、 POWERPC(登録商標)ベースのワークステーションおよびサーバのためのMAC OS(登録商標) Xを含む種々のUNIX(登録商標)フレーバード・オペレーティングシステムであってもよく、SYMBIAN OS(登録商標)、WINDOWS(登録商標) MOBILE(登録商標)、または WINDOWS(登録商標) CE(登録商標)、PALM(登録商標)、NOKIA(登録商標) OS (「NOS」)、OSE(登録商標)、モバイル機器のためのEPOC(登録商標)、またはコンピュータまたは組み込み式システムのための独占所有権のあるオペレーティングシステムであってもよい。オペレーティングシステム1621に対するアプリケーション開発プラットフォームまたはフレームワークは、BINARY RUNTIME ENVIRONMENT FOR WIRELESS(登録商標) (「BREW(登録商標)」)、Java(登録商標) Platform, Micro Edition(「Java(登録商標) ME」)またはJava(登録商標) 2 Platform, Micro Edition(「J2ME(登録商標)」)、PYTHON、FLASH LITE(登録商標)、またはMICROSOFT(登録商標).NET Compactでもよい。
【0112】
図15および16は、プログラムコードまたはプログラムまたはプロセスステップを実行するものであり、(ユーザが直観的に、そして、容易にテキスト、数字を入力する、または複数の項目から選択することのできる改良されたコントロールを提供するように構成されるコンピュータの1つの考えられる実施を示すが、一方、他のタイプのコンピュータもしくは実施がまた同様に用いられ得る。
【0113】
多くの実施が、記載されてきた。それでもなお、様々な修正が開示の趣旨および範囲から逸脱することなく、なされることができると理解される。したがって、他の実施態様は、以下の請求項の範囲内である。
図1A
図1B
図2
図3
図4A
図4B
図5A
図5B
図6A
図6B
図7A
図7B
図7C
図7D
図7E
図8A
図8B
図9A
図9B
図10A
図10B
図11A
図11B
図12A
図12B
図13A
図13B
図14A
図14B
図14C
図15
図16