(58)【調査した分野】(Int.Cl.,DB名)
請求項1記載のシステムであって、前記オブジェクトの前記方位ベクトルが、少なくとも1つの手の連続方位ベクトルおよび1組の指の連続方位ベクトルの内の少なくとも1つを含む、システム。
請求項1記載のシステムであって、前記プロセッサに結合されるフィードバック・デバイスを備え、該フィードバック・デバイスが、前記ジェスチャに対応するインジケーションを前記ユーザに供給し、
前記インジケーションが、前記ジェスチャの解釈、および前記ジェスチャに応答して前記複数の車両サブシステムで実現される効果の内の少なくとも1つを含み、
前記フィードバック・デバイスが、視覚デバイス、聴覚デバイス、視覚−聴覚デバイス、前記車両のヘッド・アップ・ディスプレイ、前記車両の画素ベース・ディスプレイ、少なくとも1つの色変化発光インディケータ、および接触型ディスプレイの内の少なくとも1つを含む、システム。
請求項12記載のシステムにおいて、前記ジェスチャが前記ユーザの第1の手の少なくとも1本の指を広げることを含み、前記プロセッサが前記ジェスチャに応答して、前記コントローラをアクティブ化し、前記ユーザの手は、前記ジェスチャの間、前記車両の誘導メカニズムと接触したままであり、
前記ジェスチャが、
前記第1の手の2本の指の「握る−再度広げる」動きであって、前記コントローラが、前記ジェスチャに応答して前記車両サブシステムの複数の制御モードを巡回し、前記複数の制御モードの内各制御モードが車両サブシステムに対応する、動きと、
第2の手の2本の指の「握る−再度広げる」動きであって、前記コントローラが、前記ジェスチャに応答して各制御モードの複数の制御選択肢を巡回し、前記複数の制御選択肢の内各制御選択肢が車両サブシステムに対応する、動きと、
前記ユーザの手の指の「握る−再度広げる」動きであって、前記コントローラが、前記ジェスチャに応答して、制御の設定を制御する、動きと、
前記ユーザの手の第1の指の「握る−再度広げる」動きであって、前記コントローラが、前記ジェスチャに応答して前記設定を第1の方向に歩進させることによって、インクリメントにより前記設定を変化させる、動きと、
前記ユーザの手の第2の指の「握る−再度広げる」動きであって、前記コントローラが、前記ジェスチャに応答して前記設定を第2の方向に歩進させることによって、インクリメントにより前記設定を変化させる、動きと、
前記第1の指を下げたままにして、前記第2の指を広げることであって、前記コントローラが、前記ジェスチャに応答して前記設定を一定割合で変化させることと、
の内の少なくとも1つを含む、システム。
請求項12記載のシステムであって、前記プロセッサに結合されるグラフィカル・ディスプレイを備え、該グラフィカル・ディスプレイが、前記ジェスチャに対応するインジケーションを前記ユーザに供給し、前記ジェスチャが、前記グラフィカル・ディスプレイ上において表示エレメントの位置を制御する、システム。
請求項15記載のシステムにおいて、前記指の動きが前記表示エレメントを通じて前記車両サブシステムの制御エレメントの非線形選択を実行し、各制御エレメントが前記ユーザに車両サブシステムのパラメータを制御させ、
前記ジェスチャが、
前記ユーザの第1の手の少なくとも1本の指を広げることであって、前記プロセッサが、前記ジェスチャに応答して前記コントローラをアクティブ化すると共に前記表示エレメントを表示させることと、
指先の相対的移動であって、前記プロセッサが、当該指先の相対的移動に応答して前記グラフィカル・ディスプレイ上での前記表示エレメントの移動を制御する相対的移動と、
の内の少なくとも1つを含む、システム。
請求項16記載のシステムにおいて、前記ディスプレイのインターフェース・グラフィクスが、前記表示エレメントの近接によって選択され、前記表示エレメントがポインタであり、
前記インターフェース・グラフィクスが前記車両サブシステムの制御エレメントに対応し、各制御エレメントのインターフェース・グラフィックが前記ユーザに車両サブシステムのパラメータを制御させ、
前記ジェスチャが、
前記ユーザの手の指の「握る−再度広げる」動きであって、前記コントローラが、前記ジェスチャに応答して前記インターフェース・グラフィックを通じて前記パラメータの設定を変化させる、動きと、
第1の指を下げたままにして、第2の指を広げることであって、前記コントローラが、前記ジェスチャに応答して、前記インターフェース・グラフィックを通じて前記パラメータの設定を変化させること、
の内の少なくとも1つを含む、システム。
請求項1記載のシステムにおいて、前記車両サブシステムが、天候制御デバイス、多機能ディスプレイ・デバイス、オーディオ・デバイス、ラジオ・デバイス、ディジタル・オーディオ・デバイス、電話機、ナビゲーション・デバイス、巡行制御デバイス、自動操縦デバイス、自動化誘導デバイス、およびネットワーク接続デバイスの内の少なくとも1つを備えている、システム。
請求項1記載のシステムにおいて、前記複数のセンサが、複数のtime-of-flight深度検知カメラ、および構造化光三次元センサの内の少なくとも1つを備えている、システム。
【発明を実施するための形態】
【0006】
本明細書では、サブシステムのジェスチャ基本制御システムおよび方法について説明する。これらのシステムおよび方法の実施形態は、以下で詳細に説明する、空間動作環境(SOE)のコンテキストにおいて規定する。SOEは、ジェスチャ制御システム、またはジェスチャ基準制御システムを含み、代わりに空間ユーザ・インターフェース(SUI)または空間インターフェース(SI)と呼ぶこともできる。
【0007】
以下の説明では、本明細書に記載する実施形態の完全な理解を更に深めるために、多数の特徴について詳細に説明する。本実施形態は、これらの具体的な詳細がなくても実用化できることは明白である。その他の場合、周知の機構については、詳細に説明していない。
システム
本明細書では、ジェスチャ基準制御システムの実施形態を空間動作環境(SOE)のコンテキストで説明する。一例として、
図1Aは、一実施形態の下における空間動作環境(SOE)のブロック図を示す。ユーザは、彼の手101および102を、カメラ104A〜104Dのアレイの視野150に置く。これらのカメラは、指ならびに手101および102の位置、方位、および移動を検出し、出力信号をプリプロセッサ105に発生する。プリプロセッサ105は、カメラ出力をジェスチャ信号に変換し、このジェスチャ信号をシステムのコンピュータ演算装置107に供給する。コンピュータ107は、入力情報を用いて、1つ以上の画面上カーソルを制御するコマンドを発生し、ビデオ出力をディスプレイ103に供給する。
【0008】
このシステムでは、一人のユーザの手を入力として示すが、本実施形態は、多数のユーザを用いても実施することができる。加えて、手の代わりにまたは手に加えて、本システムはユーザの身体の任意の1つ以上の部分を追跡することができ、その部分とは、頭部、足、脚部、腕、肘、膝等を含む。
【0009】
図示の実施形態では、4台のカメラを用いて、ユーザの手101および102の位置、方位、および移動を検出する。尚、本実施形態の範囲や主旨から逸脱することなく、本実施形態はこれらよりも多いカメラ(例えば、6台のカメラ、8台のカメラ等)または少ないカメラ(例えば、2台のカメラ)とでも用いることができることは言うまでもない。加えて、この実施形態例では、カメラは対称的に配置されているが、このような対称性は必須ではない。ユーザの手の位置、方位、および移動を許容するのであれば、カメラの任意の数および位置付けでも、用いることができる。
【0010】
一実施形態では、用いられるカメラは、グレー・スケール画像を取り込むことができるモーション・キャプチャ・カメラである。一実施形態では、用いられるカメラは、Vicon MX40カメラのような、Vicon社が製造するカメラである。このカメラは、カメラ内部処理
を含み、毎秒1000フレームの画像取り込みが可能である。モーション・キャプチャ・カメラは、マーカを検出し位置を突き止めることができる。
【0011】
記載している実施形態では、カメラは光学的検出に用いられる。他の実施形態では、カメラまたは他の検出器は、電磁、静磁気、RFID、またはその他の任意の適した種類の検出に用いることができる。
【0012】
プリプロセッサ105は、三次元空間点再現および骨格点ラベリングを発生するために用いられる。ジェスチャ変換器106は、3D空間情報およびマーカ・モーション情報をコマンド言語に変換するために用いられる。コマンド言語は、コンピュータ・プロセッサによって解釈され、ディスプレイ上におけるカーソルの位置、形状、および動作(action)を更新することができる。代替実施形態では、プリプロセッサ105およびジェスチャ変
換器106を組み合わせて1つのデバイスにすることもできる。
【0013】
コンピュータ107は、Apple社、Dell社、または任意のその他の適した製造業者によ
って製造されるような、任意の汎用コンピュータとすればよい。コンピュータ107は、アプリケーションを実行し、表示出力を供給する。カーソル情報は、他の場合にはマウスまたはその他の先行技術の入力デバイスから得られるが、ここではジェスチャ・システムから得られる。
車両インターフェースと統合したジェスチャ制御システム
図1Bは、一実施形態の下における、車両サブシステム120と統合したジェスチャ制御システムのブロック図である。コックピット・エリアまたは車両(例えば、自動車、トラクタ、航空機等)の他の乗員用区画エリアにいる人は、オブジェクトを用いて車両サブシステム120を制御することができる。オブジェクトには、ユーザの手101および102の一方または双方、ならびに手101および102の一方または双方の1組の指が含まれる。車両のコックピット・エリアは、カメラ104A〜104Dの視野となっている。これらのカメラは、オブジェクト(例えば、手101および102、ならびにこれらの手の指)の位置、方位、および移動を検出し、出力信号をプリプロセッサ105に発生する。プリプロセッサ105は、カメラ出力をジェスチャ信号に変換し、これをシステムのコントローラ107(ここではコンピュータ処理ユニット107またはコンピュータ107とも呼ぶ)に供給する。コントローラ107は、この入力情報を用いて、1つ以上の車両サブシステム120を制御するコマンドを発生する。
【0014】
一実施形態のコントローラ107は、ユーザのインタラクティブ・システムを通じて露出される自動車サブシステム・エレメントとの相互作用を管理するために1つ以上の制御プログラムを含む。
図1Cは、一実施形態の下におけるコントローラ107のブロック図である。コントローラ107は、一例として、天気制御131、オーディオ132、通信133、ナビゲーション134、ガイダンス135、エンターテイメント136、動作情報可視化137、およびネットワーク制御138プログラムまたはアプリケーションを、対応する自動車サブシステムのエレメントのジェスチャ制御のために含むが、これらの制御プログラムに限定されるのではない。車両のコントローラに含まれる制御プログラムは、車両において制御のために利用可能な車両サブシステムに対応する。
【0015】
本システムでは、追跡対象オブジェクトとして、一人のユーザの手および/または指を示すが、実施形態は多数のユーザを用いて実施することもできる。更に、手の代わりにまたは手に加えて、本システムは、頭部、足、脚部、腕、肘、膝等を含む、ユーザの身体の任意の1つまたは複数の部分の1つ以上を含むオブジェクトを追跡することもできる。
【0016】
図示の実施形態では、ユーザの手101および102の位置、方位、および移動を検出するために、4台のカメラが用いられている。尚、本実施形態は、当該実施形態の範囲または主旨から逸脱することなく、それよりも多いカメラ(例えば、6台のカメラ、8台のカメラ等)または少ないカメラ(例えば、2台のカメラ)とでも用いることができることは言うまでもない。加えて、この実施形態例では、カメラは対称的に配置されているが、このような対称性は必須ではない。ユーザの手の位置、方位、および移動を許容するカメラであれば、いずれの数および位置付けでも、用いることができる。
【0017】
プリプロセッサ105は、三次元空間点再現および骨格点ラベリングを発生する。ジェスチャ変換器106は、3D空間情報およびオブジェクト・モーション情報をコマンド言語に変換し、コンピュータ・プロセッサは、車両サブシステムを制御するために、このコマンド言語を解釈することができる。代替実施形態では、プリプロセッサ105およびジェスチャ変換器106を組み合わせて、1つのデバイスにすることもできる。
【0018】
車両サブシステムと統合したジェスチャ制御システムの実施形態は、車両の中にいる運転手または乗員が、ジェスチャを用いて、車両サブシステムの制御エレメント、および車両サブシステムの1つ以上のパラメータを制御することを可能にする。したがって、ユーザは、例えば、ジェスチャ駆動インターフェースによる操縦、ナビゲーション、および周辺システム機能というような、車両サブシステムの1つ以上のパラメータを制御することができる。本明細書において記載するジェスチャ制御システムは、1つ以上の車両サブシステム120と統合する。車両サブシステム120は、限定ではなく、インタラクティブ・ナビゲーション・デバイス、ラジオおよびディジタル・オーディオ・プレーヤ、電話機、巡行制御、自動操縦およびその他の自動案内モジュール、天候制御、動作情報可視化、ならびにネットワーク・アプリケーション等を含むが、これら以外にも数多くある。
【0019】
本明細書において記載するジェスチャ制御システムは、フィードバック・デバイス125を含む。フィードバック・デバイス125は、種々のタイプのフィードバックをユーザに供給する。これらのフィードバックには、限定ではなく、音声合図(audio cue)、ヘッ
ドアップ・ディスプレイ上における視覚出力、ダッシュおよびパネル装着画素ベース・ディスプレイ上における視覚出力、特殊目的発光または色彩変更インディケータ、ならびに触覚(haptic or tactile)ディスプレイ等が含まれるが、これら以外にも数多くある。フ
ィードバック・デバイス125はコントローラ107に結合されているように示されているが、実施形態はそのように限定されるのではなく、フィードバック・デバイス125を統合システムの任意の他のコンポーネントにも結合することができる。
【0020】
図1Dは、一実施形態の下において、ジェスチャを用いて車両サブシステムを制御するフロー
図140である。この実施形態は、車両における複数のセンサを通じて、オブジェクトの画像を受け取り(142)、このオブジェクトによってなされたジェスチャを表すジェスチャ・データを出力する(144)ステップを含む。このオブジェクトは、ユーザの手および指の内少なくとも1つを含む。ジェスチャ・データは、空間におけるある時点でのオブジェクトの瞬時的状態である。本実施形態は、オブジェクトの位置を抽出し、オブジェクトの量子化したポーズおよび方位ベクトルを復元し、ジェスチャ・データをジェスチャ信号に変換することによって、ジェスチャ・データからオブジェクトのジェスチャを自動的に検出する(146)ステップを含む。本実施形態は、ジェスチャ信号に応答して、複数の車両サブシステムとのユーザの相互作用を管理する(148)ステップを含む。
【0021】
一実施形態のジェスチャ制御システムは、様々な異なる方法で構成することができる。一実施形態のシステムおよび方法は、2つの別個のタイプのジェスチャ制御、即ち、特定の物理的オブジェクトに近接する1本または数本の指の最少モーション、および手全体を伴う自由空間移動である。これらは、勿論、理想化されたカテゴリである。実際には、これら2種類のジェスチャ制御システム間の区別は、個々の構成によっては、曖昧にあることもある。
【0022】
車両サブシステムと統合したジェスチャ制御システムについての以下の説明は、自動車両のコンテキストの個別事項をときどき参照することによって明確にするが、記載するシステムは完全に汎用であり、いずれの車両タイプと関連する機能であっても、そのインタラクティブ制御のために採用することができることは言うまでもない。
【0023】
一実施形態の車両インターフェース用ジェスチャ制御システムは、以下の内1つ以上を含む。三次元空間において指および/または手全体の位置を追跡する1組のセンサ、センサ・データを処理するアプリケーションまたはコンポーネント、制御プログラムあるいは他の車両系プログラムまたはアプリケーションが用いることができる形態で指および/または手の位置を表す表現エレメント、インタラクティブ・システムを通じて露出される自
動車サブシステム・エレメントとのユーザ相互作用を管理する制御プログラム、および/または自動車サブシステム・エレメントに対するジェスチャ制御システムの効果を知らせるだけでなく、操作者の関連のある手のポーズおよび動きの、ジェスチャ制御システムの瞬時的、進行中の、および予測的解釈も人間の操作者に通知する視覚チャネルおよびその他のチャネルを通じた、連続的および/または動的フィードバックを含むフィードバック方式。車両インターフェース用ジェスチャ制御システムは、以下で説明するマーカの使用を想定していないが、実施形態はそのように限定されるのではない。
【0024】
一実施形態のセンサは、種々の形態をなすことができる。一実施形態では、2つ以上の小型カメラを用い、これらを互いに結合してステレオ観察システムを形成する。これらのカメラは、ホスト車両のコックピットおよび/または乗員室を視野に入れるように位置付けられる。このステレオ観察システムは、少なくとも、その視野内にあるオブジェクトについての三次元データ・ポイント・クラウド(data point cloud)を発生する。データ集合における点の分解深度精度(resolved depth accuracy)は、カメラ基準線からの距離を含
む多数の要因にしたがって変化するが、約1ミリメートル(mm)である。撮像されるオブジェクトは、ユーザ操作者の素手(1つまたは複数)および/または指(1本または複数)である。
【0025】
代替実施形態のセンサは、飛行時間深度感知カメラ(time-of-flight depth-sensing camera)である。別の代替実施形態のセンサは、構造化光三次元センサである。
ステレオ・センサ・セットによってポイント・クラウドが発生されたとすると、ジェスチャ制御システムは、手および指の少なくとも一方の位置を抽出し、次いでこれらから量子化した手のポーズならびに連続手および指方位ベクトルを再現することができる。この再現に用いられる手法は、車両システムが、集計−タグ付きデータ(aggregate-tagged data)ではなく、未構造化ポイント・クラウドから開始することを除いて、以下で説明する
方法と実質的に同様である。手および指の表現は、本システムのインタラクティブ・モードを実施するメカニズムに利用可能とされる。
【0026】
実施形態は、ステレオ結合カメラのセットを多数用いるか、または1台よりも多いカメラを扱うために画素データを処理する修正版相関アルゴリズムを用いる。カメラの台数が増加すると、例えば、視野を広げることができ、手の一部が閉ざされることによって生ずる問題を減らすことができ、および/またはポイント・クラウド・データの精度を高めることができる。
【0027】
ジェスチャ制御システムの第1インタラクティブ・モードの下では、車両の運転手は、彼女の手をハンドルまたはその他の車両誘導メカニズムに接触させたまままたはそれに近接させたまま、指の動きで種々のサブシステムを制御する。このハンドル中心モードは、運転手の手の各々における指の部分集合の位置の正確な追跡を含む、または用いる。
【0028】
運転手は、例えば、手を10時および2時の位置に置き、指をハンドルの縁の回りに巻回させて、ハンドルを通常通りに握ることから開始する。いずれかの手の人差し指および中指のいずれかを広げると、制御システムがアクティブになる。指の動きの種々の組み合わせによって、車両サブシステムを通じたナビゲーション、ならびに車両サブシステムの種々の制御モード、エレメント、および/またはパラメータの選択が可能となる。代替方式では、人差し指および中指の代わりに、またはそれらに加えて、ユーザの親指の動きを追跡することも含まれる。
【0029】
「プラス/マイナス」状態変化と組み合わせた利用可能なモードに順次進むことによって、単純なシステム制御(例えば、車両システム)を得ることができる。指制御状態空間の構成見本は、いずれかの手の双方の指を広げて制御システムをアクティブにすることを
含み、これら2本の指を素早く握り、再度広げ、更に弾くことによって、利用可能な主要な制御モード(例えば、ラジオ、電話機、ディジタル・オーディオ・プレーヤ、天候制御等)を循環させる。次いで、他方の手を進ませ、そのモード内において利用可能な選択肢を制御する。素早く2本の指を握りそして広げるという構成(configuration)により、結
合されているシステムの主要な設定モードを巡回させる。個々の設定のパラメータを上下に進めるには、1本の指を握り、広げて、弾くことにより、または人差し指および中指それぞれの押し下げ(hold-down)移動によって得られる。制御トポロジの深さが1レベルよ
りも多い場合には、類似した操作によって、サブモード、サブ−サブモード等の閲覧(traverse)が可能となる。
【0030】
したがって、例えば、ラジオ・モードでは、初期設定モードは音量制御である。人差し指を素早く握り、次いで広げると、音量の設定が1刻みだけ高くなる。逆に、中指を握り次いで広げると、音量は1刻みだけ低くなる。いずれかの指をハンドルに押さえつけると(他方の指を伸ばしたままにする)、一定の割合で音量が上昇または低下する。2本の指を握りそして広げると、次の設定モード、即ち、ラジオ・プリセットに進む。ここでも、プリセット・リストの上下の閲覧は、人差し指および中指の動きによって制御される。
【0031】
ここに記載した指の動きの制御入力への比較的単純なマッピングには、様々な望ましいプロパティ(property)がある。インタラクティブ・モデルの多くは、馴染みのある車両インターフェース、例えば、ほぼあらゆるカー・ラジオ上で見られる上下ボタンに直接基づいている。
【0032】
ジェスチャ制御システムは、ユーザにフィードバックを供給するために利用可能な多数の出力デバイスに結合することができる。例えば、ジェスチャ制御システムの出力は、ジェスチャまたはジェスチャによって行われる制御に関する合成音声フィードバックを含む。別の例として、ジェスチャ制御システムの出力は、基本的な英数字ディスプレイ上における大きなテキストを含む。加えて、硬成型(hard-molded)、二進発光ボタン・ディスプ
レイまたは掩蔽(masked)LCD画面を含む出力を供給することができる。
【0033】
ジェスチャ制御システムの使用によって、ハンドルから手を遠ざけるように動かす必要性、または通常運転の手の位置や姿勢を変更する必要性が減少する。これらの運転をし易くするエルゴノミクスによって、快適さや簡素さが得られ、安全性にとって望ましいと考えられる。
【0034】
フル・グラフィカル・ディスプレイがありジェスチャ制御システムに結合されていると、追加の1組のインタラクティブ行動が利用可能となる。指の動きによって、グラフィカル・ディスプレイ上におけるポインタ・カーソルに位置を駆動することができ、更にこれによって制御モードおよび設定の非線形選択が可能になる。一実施形態では、このグラフィカル・ディスプレイは、フロントガラス(例えば、内在する光パワーが、目の順応に最適な深度で表示を提示するヘッドアップ構成)に一体化するか、またはハンドルの直上および背後にあるダッシュボード・アセンブリに装着する。このような構成は、グラフィカル・ディスプレイを、通常の「ハンドル上」の運転手の直接視野内(direct field of normal "over the steering wheel" view)に置く。
【0035】
この非線形制御様式では、手は通常の運転位置において始まる。いずれかの手の人差し指を広げると、制御システムがアクティブ化し、ディスプレイ上にポインティング・カーソルを表示する。この指の先端の相対的な動きによって、表示エリアにおけるカーソルの水平および垂直方向の動きを駆動する。ディスプレイ上のインターフェース・グラフィクスは、ポインタの近接によって選択することができ、ポインタでない手の1本または2本の指のクリックおよびホールドによって、またはポインタでない手の人差し指の二次元の
指先の動きによって操作することができる。単純な(仮想)トグル・ボタンを、人差し指を握りそして開くことによって制御することができる。仮想スケールまたはスライダ、例えば、音量制御は、前述のように、人差し指および中指によって制御することができる。
【0036】
ジェスチャ制御システムの第2のインタラクティブ・モードは、自由空間制御を伴う。このモードでは、ユーザ(例えば、車両操作者または乗員)は、彼女の手の一方を動かし、車の内部の特定の解放エリア内において指を折り曲げる(articulate)ことによって、ナビゲーション・システム、ラジオ、および/またはその他のサブシステムと相互作用を行う。自由空間制御は、フル・グラフィカル・ディスプレイと合わせて用いることができ、一実施形態では、検知立体空間(volume)つまり直接ディスプレイの前に操作者の行為を位置付けることができる。
【0037】
一実施形態では、「疑似銃」(mime gun)のポーズをディスプレイの前に向けると、制御システムがアクティブ化する。10種類のポーズ間の遷移、ならびに精細な手の照準(aim)および動き(motion)とこれらのポーズとを組み合わせることによって、一実施形態の中
核となるジェスチャ・ボキャブラリを構成する。しかしながら、ジェスチャ・ボキャブラリは10種類のポーズに限定されるのではない。一実施形態の10種類のポーズは、組み合わせ論によって発生される。「疑似銃」の「銃身」は、人差し指のみによって、または人差し指および中指を合わせることによって形成することができる。これら2つの状態のいずれでも、親指は「銃身」に対して垂直となる(手の平面において)ことができ、または「銃身」に平行に下に向かって「押し込む」ことができる。更に、これら4つの状態の各々では、手および指全体の外形(geometry)を、重心と一直線状の平面において垂直に、または重心に対して垂直な面において水平に方位付けることができる。これによって、8種類の基本的なポーズが得られる。2つの追加のポーズは、「重心」が実質的に中間方向を指し示すように手の塊(hand mass)を回転させることによって形成される。
【0038】
一実施形態の10種類のポーズは、以下によるジェスチャ記述言語(以下で詳細に説明する)で表現される。
^^^|-:-x (「1本の指で指し示す」)
^^^||:-x (「1本の指で押し込む」)
^^||-:-x (「2本の指で指し示す」)
^^|||:-x (「2本の指で押し込む」)
^^^|-vx (「下に向けて(prone)1本の指で指し示す」)
^^^||:vx (「下に向けて1本の指で押し込む」)
^^||-:vx (「下に向けて2本の指で指し示す」)
^^|||:vx (「下に向けて2本の指で押し込む」)
^^^|-:.- (「中間に位置する1本の指で指し示す」)
^^||-:.- (「中間に位置する2本の指で指し示す」)
ここに提示するポーズおよびジェスチャ記述言語は、ジェスチャ制御システムにおいて用いられる一例に過ぎず、多数のその他の例および組み合わせが可能であり、その一部について以下で説明する。
【0039】
一実施形態のジェスチャ制御システムは、グラフィカル・ディスプレイまたはその他のフィードバック・デバイス、1組のメニュー・エレメント、選択エレメント、ならびにパンニングおよびズーム機能を用いる。システム全体のナビゲーションは、目標のサブシステム上位の選択から個々の選択エレメントの操作まで一貫している。
【0040】
制御システムをアクティブにすると(垂直に親指を立てて1本の指で指し示すポーズの最初の再現に続いて)、ポインティング・カーソルおよび現在のモードに合わせたコンテキスト・メニュー・エレメントが現れる。カーソル位置は、人差し指の動きおよび/また
は照準によって進められる。基本的な選択、ならびにボタン、スライダ、およびメニュー・エレメントの制御は、ポインタをエレメント内に位置付け、親指をダウン/クリック(人差し指を一直線状)位置に移動させることによって行われる。画面から外れるようにカーソルを動かして中央側(medial side)まで持ってくると、上位メニュー・リストが表示
され、カーソルの移動は2次元(上方および下方)に制限される。上位メニューから1つの選択肢を選択すると、制御モードを変更するように動作する(例えば、電話からナビゲーション・システムへ)。
【0041】
ホスト車両システムのモードは、手の真の三次元移動を利用することができる。ナビゲーション・モードにある間、例えば、手を傾けて、親指が水平になるポーズにすると、通常の選択エレメントが半透明になり、地図の位置およびズームが、手の左、右、上、下、前方、および後方への移動と結び付けられる。親指を垂直なポーズに戻すと、地図の画像が凍結され、コンテキスト・メニューおよび選択エレメントが再現される。
【0042】
操作者が基本システムについて最低レベルの快適さや精通を得るためには、多くの改善が可能である。例えば、先に列挙した2本指のポーズを、選択的に、特定の「ショート・カット」機能に結び付けることができる。運転手は、よく用いるラジオの機能、例えば、音量制御や局の事前設定を2本指のポーズに結び付けて、これらの制御モードが常に利用可能にすることができる。このカスタム化をアクティブ化すると、ラジオを操作するためには、インタラクティブ・コンテキスト切換は不要となり、つまり、このような制御行動は、他の進行中の制御シーケンス「以外で」(out of band)行われればよい。即ち、(本
例では)、1本指のポーズは前述のように作用し、2本指のポーズは、直接的および瞬時的に、ラジオのショート・カットおよび関連するフィードバック・グラフィクスを実行する。フィードバック・グラフィクスは、後にアクティブな手が制御空間を離れたとき、または「標準的な」制御セマンティクスと関連のある1本指のポーズに戻ったときに、消滅する。本明細書において説明した種々の相互作用は、組み合わせることによって、潜在的に膨大な1組の制御およびインターフェース挙動を形成することができる。これらの挙動については、以下で更に詳しく説明する。
マーカ・タグ
以上に説明したシステムおよび方法とは対照的に、一実施形態のシステムおよび方法は、ユーザの1つ以上の指においてマーカ・タグを使用して、本システムがユーザの手を突き止め、ユーザが左または右のどちらの手を見ているのか特定し、どの指が見えるか特定することができるようにする。これによって、本システムは、ユーザの手の位置、方位、および移動を検出することが可能になる。この情報によって、本システムは多数のジェスチャを認識することが可能となり、これらのジェスチャは、ユーザによってコマンドとして用いることが可能になる。
【0043】
一実施形態では、マーカ・タグは基板(本実施形態では、人の手の上の種々の位置に装着するのに適している)と、基板の表面上に一意識別パターンで配列された離散マーカとを備えている物理的タグである。
【0044】
マーカおよび連携する外部検知システムは、それらの三空間位置の高精度、正確、ならびに迅速および連続的捕獲が可能である任意のドメイン(光学、電磁、静磁気ドメイン等)において動作することができる。マーカ自体は、能動的(例えば、構造化した電磁パルスを放出することによって)、または受動的(例えば、本実施形態におけるように光学的に逆反射型とすることによって)のいずれでも動作することができる。
【0045】
各捕獲フレームにおいて、検出システムは、器具を備え付けた作業空間立体(カメラまたはその他の検出器の可視範囲内)において現在タグからの全てのマーカを含む三空間位置を再現した、粒団状「クラウド」を受ける。各タグ上のマーカは、十分に多数であり、
一意のパターンに配列されているので、検出システムは以下のタスクを行うことができる。(1)再現した各マーカ位置を、1つのタグを形成する点の1つのみの副集合体に割り当てるセグメント化、(2)セグメント化した点の各副集合体を特定のタグとして識別するラベリング、(3)識別したタグの三空間位置を再現する位置突き止め、および(4)識別したタグの三空間方位を再現する方位決定(orientation)。タスク(1)および(2
)は、マーカ・パターンの具体的な本質によって可能となる。これについては、
図2の一実施形態において以下で説明し例示する。
【0046】
一実施形態では、タグ上のマーカは、規則的な格子位置の部分集合に装着されている。この基礎となる格子は、本実施形態のように、従来からのデカルト型であってもよいし、代わりに、他の何らかの規則的平面碁盤目状(例えば、三角形/六角形タイリング配列)であってもよい。格子のスケールおよび空間は、隣接する格子位置が混乱する可能性がないように、マーカ検知システムの既知の空間分解能に関して確定する。全てのタグについてのマーカ・パターンの選択は、次の制約を満たさなければならない。タグのパターンは、回転、平行移動、または鏡像のいずれの組み合わせによる他のいずれのタグ・パターンとも一致してはならない。更に、ある指定した数のコンポーネント・マーカの損失(または隠蔽(occlusion)が許容されるように、多数のマーカおよびその配列を選択するとよい
。いずれの任意の変換後であっても、損なったモジュール(compromised module)を他のいずれとも混同させることが起こりそうにないようにしなければならない。
【0047】
これより
図2を参照すると、多数のタグ201A〜201E(左手)および202A〜202E(右手)が示されている。各タグは、矩形であり、本実施形態では、5×7の格子アレイで構成されている。矩形形状が選択されたのは、タグの方位を決定し易いため、そして鏡面複製(mirror duplicate)の可能性を低減するためである。図示の実施形態では、各手の指毎にタグがある。実施形態によっては、手毎に1つ、2つ、3つ、または4つのタグを用いることが適当である場合もある。各タグは、異なるグレー・スケールまたは色調の境界を有する。この境界の内部には、3×5格子アレイがある。マーカ(
図2の黒いドットで表す)は、情報を提供するために、この格子のある点に配置されている。
【0048】
各パターンを「共通」および「一意」のサブパターンにセグメント化することにより、タグのマーカ・パターンにおいて、認定情報(qualifying information)をエンコードすることができる。例えば、本実施形態は、2つの可能な「境界パターン」、矩形境界線(boundary)を中心としたマーカの分布を指定する。つまり、タグの「ファミリ」を確立する。このため、左手を意図したタグは、タグ201A〜201Eにおいて示されるような同じ境界パターンを全て用いることができ、一方右手の指に取り付けられているタグには、タグ202A〜202Eに示すように異なるパターンを割り当てることができる。タグの全ての方位において、左パターンを右パターンから区別できるように、このサブパターンを選択する。図示した例では、左手パターンは、各角に1つのマーカ、そして角格子位置から2番目に1つのマーカを含む。右手パターンは、2つの角のみにマーカを有し、角でない格子位置に2つのマーカを有する。このパターンを検査することによって、4つのマーカの内いずれか3つが見ることができる限り、左手パターンを右手パターンから明確に区別することができることが明らかとなった。一実施形態では、境界の色または色調も、利き手(handedness)のインディケータとして用いることができる。
【0049】
各タグは、勿論、一意の内部パターンを採用し続けなければならず、マーカはそのファミリの共通境界以内に分散されている。図示の実施形態では、内部格子アレイにおける2つのマーカが、10本の指の各々を一意に特定するのに十分であり、指の回転または方位による複製が生じないことが分かる。マーカの1つが隠蔽されたとしても、タグのパターンおよび利き手の組み合わせから、一意の識別子が得られる。
【0050】
本実施形態では、格子の位置は、各逆反射マーカをその意図する位置に装着する(手作業の)タスクに対する補助として、視覚的に剛性基板上に存在する。これらの格子および意図するマーカ位置は、カラー・インクジェット・プリンタによって基板上にそっくりそのまま印刷される。ここでは、基板はシート状の(初期状態では)可撓性の「収縮フィルム」である。各モジュールがこのシートから切り離され、炉で焼成される。この熱処理の間に、各モジュールには正確で繰り返し可能な収縮が起こる。この手順に続く短い間隔において、冷却するタグには、例えば、指の長手方向曲線にしたがって、僅かに形状を付けることができる。その後、基板は適度に剛性となり、マーカを、指示された格子点に装着することができる。
【0051】
一実施形態では、マーカ自体は、接着剤または何らかのその他のしかるべき手段によって基板に装着された小さな反射球体のように、三次元である。このマーカが三次元であることは、二次元マーカ上における検出および位置突き止めに役立つことができる。しかしながら、いずれも、本実施形態の主旨や範囲から逸脱することなく用いることができる。
【0052】
現在では、タグはベルクロ(Velcro)またはその他のしかるべき手段によって、操作者が身に付けている手袋に装着されるか、あるいは、柔らかな両面テープを用いて操作者の指に直接装着される。第3実施形態では、剛性基板と共に分与し、操作者の指および手に直接個々のマーカを装着するまたは「描く」することができる。
ジェスチャ・ボキャブラリ
本実施形態は、手のポーズ、方位、手の組み合わせ、および方位の配合(orientation blends)で構成されるジェスチャ・ボキャブラリ(gesture vocabulary)を想定する。本実施形態のジェスチャ・ボキャブラリにおいてポーズおよびジェスチャを立案および伝達するために、表記言語(notation language)も実施する。ジェスチャ・ボキャブラリとは、力
学的連結の瞬時的な「ポーズ状態」を簡潔な文字形態で表すシステムである。対象となる連結は、生物(例えば、人の手、または人の身体全体、あるいはバッタの足、あるいはキツネザルの関節脊柱)であってもよく、あるいは代わりに非生物であってもよい(例えば、ロボットのアーム)。いずれの場合でも、この連結は、単純(脊柱)でもまたは分岐(手)でもよい。本実施形態のジェスチャ・ボキャブラリ・システムは、いずれの特定的な連結についても、一定長のストリングを確立する。こうして、ストリングの「キャラクタ位置」を占める特定のASCIIキャラクタの集合体が、連結の瞬時的状態、即ち、「ポーズ」の一意の記述となる。
手のポーズ
図3は、ジェスチャ・ボキャブラリの一実施形態における手のポーズを示す。本実施形態は、1つの手における5本の指の各々を用いることを仮定する。これらの指には、p−小指、r−薬指、m−中指、i−人差し指、およびt−親指とコーディングする。指および親指のポーズ数を、
図3に定義し更に例示する。ジェスチャ・ボキャブラリ・ストリングは、連結(この場合指)の表現可能な自由度毎に1つのキャラクタ位置を確定する。更に、このような各自由度は、離散化(または「量子化」)されていることが分かるので、その最大モーション範囲は、当該ストリング位置における有限数の標準的ASCIIキャラクタの内の1つの割り当てによって表現することができる。これらの自由度は、本体特定の原点および座標系(手の裏、バッタの身体の中心、ロボット・アームの底辺等)に関して表現される。したがって、連結の位置および方位を「全体的に」更に大域的な座標系において表現するために、少数の追加のジェスチャ・ボキャブラリ・キャラクタ位置が用いられる。
【0053】
引き続き
図3を参照すると、多数のポーズが定義されており、ASCIIキャラクタを用いて識別されている。これらのポーズの一部は、親指およびそれ以外の指の間で分けられている。本実施形態は、ASCIIキャラクタ自体がポーズを示唆するようなコーディングを用いる。しかしながら、示唆的であろうがなかろうが、ポーズを表すには、いずれ
のキャラクタでも用いることができる。加えて、表記ストリングにASCIIキャラクタを用いる必要性はない。本実施形態の範囲や主旨から逸脱することなく、適したシンボル、数値、またはその他の表現であればいずれでも用いることができる。例えば、望ましければ、表記は指毎に2ビットを用いることもでき、あるいは所望に応じて、他の何らかの数のビットを用いることもできる。
【0054】
巻き込んだ指(curled finger)は、キャラクタ「^」によって表され、一方巻き込んだ
親指は「>」で表される。真っ直ぐな指または上を向いた親指は、「l」によって示され、角度をなす場合は「\」または「/」で示される。「−」は、真っ直ぐに横を向いた親指を表し、「x」は平面内に向いた親指を表す。
【0055】
これら個々の指および親指の記述を用いると、一実施形態の下において、確固不動の数の手のポーズを定義し記述することができる。各ポーズは、5つのキャラクタによって表され、その順序は、前述したように、p−r−m−i−tとなる。
図3は、多数のポーズを例示し、ここでは一例として数個について説明する。手を平らにして地面に平行に保持する場合、「lllll」で表される。握り拳は「^^^^>」によって表される。「OK」の合図は、「lll^>」によって表される。
【0056】
キャラクタ・ストリングは、示唆的キャラクタを用いる場合、単純な「人間可読性」(human readabiity)の機会を与える。各自由度を記述する1組の可能なキャラクタは、総じて、素早い認識および明白な類似性に着目して選択することができる。例えば、垂直線(「|」)は、連結エレメントが「直線状」であることを意味するように思われ、エル(「L」)は、90度の屈曲を意味することもでき、曲折アクセント記号(「^」)は、鋭角の屈曲を示すことができる。先に注記したように、所望に応じて、いずれのキャラクタまたはコーディングでも用いることができる。
【0057】
本明細書に記載するようなジェスチャ・ボキャブラリ・ストリングを採用するシステムはいずれも、ストリング比較の高い計算効率の恩恵を享受する。指定されたいずれのポーズについても、その識別または検索は、文字どおり、所望のポーズ・ストリングと瞬時的な実際のストリングとの間における「ストリングの比較」(例えば、UNIX(登録商標)の「stremp()」関数)となる。更に、「ワイルドカード・キャラクタ」の使用によって、プログラマやシステム設計者には、一層分かりやすく効率的かつ効果的となる。自由度の瞬時状態が一致とは関わりがない場合、疑問符(「?」)として指定することができ、追加のワイルドカードの意味を割り当てることができる。
方位
指および親指のポーズに加えて、手の方位が情報を表すことができる。地球空間(global-space)方位を記述するキャラクタも、透過的に選択することができる。キャラクタ「<」、「>」、「^」、および「v」は、方位キャラクタ位置において遭遇した場合、左、右、上、および下の考えを示すために用いることができる。
図4は、手方位記述子、ならびにポーズおよび方位を組み合わせるコーディングの例を示す。一実施形態では、2つのキャラクタ位置が、最初に手の平の方向を指定し、次いで指の方向を指定する(指が真っ直ぐになっている場合、指の実際の屈曲には関係なく)。これら2つの位置に可能なキャラクタは、方位の「本体中心」観念(body-centric notion)を表現し、「−」、「+」、
「x」、「*」、「^」、および「v」は、中間、側方、前方(順方向、本体から離れる側)、後方(逆方向、本体から離れる側)、頭上(上方)、および後端(下方)を記述する。
【0058】
一実施形態の表示方式および実施形態では、キャラクタを示す5本指のポーズに続いて、コロン、次いで完全なコマンド・ポーズを定義するために2つの方位キャラクタがある。一実施形態では、開始位置は「xyz」ポーズと呼ばれ、親指は真っ直ぐ上を指し示し
、人差し指は前方を指し示し、中指は人差し指に対して垂直であり、右手によってこのポーズが作られる場合、左を指し示す。これは、ストリング「^^xl−:−x」によって表される。
【0059】
「XYZ−手」は、視覚的に提示された三次元構造の最大6自由度のナビゲーションを可能にするために、人の手の幾何学的形状を利用する技法である。この技法は操作者の手の全体的(bulk)平行移動および回転のみに依存し、したがってその指は原則として、いずれの所望のポーズに保持することができるが、本実施形態は、人差し指が本体から離れる方向を指し、親指が天井を指し、中指が左−右を指す、静止構成(static configuration)を優先する。つまり、これら3本の指は、三空間座標系、つまり、「XYZ−手」の3本の相互に直交する軸を記述する(大まかであるが、明白な歴然とした趣旨がある)。
【0060】
次いで、XYZ−手ナビゲーションは、操作者の身体の前において所定の「中立位置」に保持された、前述のようなポーズの手、指に進む。三空間オブジェクト(またはカメラ)の三平行移動および三回転自由度へのアクセス(access)は以下の自然な方法で行われる。手の右−左移動(身体の自然座標系に対して)により、計算的コンテキストのx−軸に沿った移動が生じ、手の上下移動により、被制御コンテキストのy−軸に沿った移動が生じ、前後の手の移動(操作者の身体に向かう方向/から離れる方向)によって、このコンテキストにおけるz−軸方向の動きが生ずる。同様に、人差し指を中心とする操作者の手の回転により、計算的コンテキストの方位の「転動」(roll)変化が生じ、操作者の手の中指および親指をそれぞれ中心とする回転によって、「縦方向」および「横方向」変化が類似的に生ずる。
【0061】
尚、「計算的コンテキスト」は、本明細書では、XYZ−手方法によって制御される全体に言及するために用いられており、合成三空間オブジェクトまたはカメラのいずれかを示唆するように思われるが、この技法は実世界オブジェクトの種々の自由度を制御するため、例えば、しかるべき回転アクチュエータを装備したビデオまたはモーション・ピクチャ・カメラのパン/ティルト/ロール制御にも等しく有用であることは言うまでもないことを注記しておく。更に、XYZ−手の姿勢によって得られる物理的自由度は、仮想ドメインであっても、ありのままにマッピングされ難い場合もある。本実施形態では、XYZ−手は、大きな全景的表示画像に対してナビゲーション的アクセスを提供するためにも用いられるので、操作者の手の左−右および上−下の動きが、画像を中心とする予期された左−右または上−下「パンニング」に繋がるが、操作者の手の前−後の動きは「ズーミング」制御にマッピングする。
【0062】
あらゆる場合において、手の動きと誘発される計算的平行移動/回転との間の結合は、直接的(即ち、操作者の手の位置的または回転オフセットが、一対一で、何らかの線形または非線形関数によって、計算的コンテキストにおけるオブジェクトまたはカメラの位置的または回転オフセットにマッピングする)、または間接的(即ち、操作者の手の位置的または回転オフセットが、一対一で、何らかの線形または非線形関数によって、計算的コンテキストにおける位置/方位の第1導関数またはより上位の導関数にマッピングし、実行中の積分が、計算的コンテキストの実際のゼロ次位置/方位における被静的変化を生み出す)のいずれかであることができる。この後者の制御手段は、自動車の「アクセル・ペダル」の使用に類似しており、ペダルの一定のオフセットによって、ほぼ一定の車速が得られる。
【0063】
実世界のXYZ−手の局所的六自由度座標原点としての役割を果たす「中立位置」は、(1)空間における絶対位置および方位として(例えば、密閉室に対する)、(2)操作者の全体的な位置および「方向」(heading)には関係なく、操作者自身に対する固定位置
および方位(例えば、身体の前方8インチ、顎の下10インチ、横方向に肩の平面と一直
線状)として、あるいは(3)操作者の故意の二次的行動によって、対話的に(例えば、操作者の「別の」手によって演じられるジェスチャ・コマンドを用いて。前記コマンドは、XYZ−手の現在の位置および方位が今後平行移動および回転の原点として用いられるべきことを示す)確立することができる。
【0064】
更に、XYZ−手の中立位置の周囲に「戻り止め」(detent)領域(または「死角」)を設けて、この立体空間における移動が被制御コンテキストにおける移動にマッピングしないようにすると便利である。
【0065】
以下のような他のポーズも含むことができる。
[lllll:vx]は、手を平らにして(親指が他の指と平行)、手のひらが下を向き、指が前方に突き出している。
【0066】
[lllll:x^]は、手を平らにして、手のひらが前を向き、指が天井を向いている。
[lllll:-x]は、手を平らにして、手のひらが身体の中心に向いており(左手の場合は右、右手の場合は左)、指が前方に突き出している。
【0067】
[^^^^-:-x]は、手を1つにして親指を合わしている(親指は天井を向いている)。
[^^^|-:-x]は、銃を前方に構える真似である。
二手組み合わせ
一実施形態は、1つの手のコマンドおよびポーズだけでなく、2つの手によるコマンドおよびポーズも想定している。
図5は、一実施形態における二手組み合わせおよび関連付けた表記の例を示す。第1の例の表記を検討すると、「完全停止」とは2つの拳を閉じていることを示す。「スナップショット」の例では、各手の親指および人差し指が広げられ、親指が互いに向き合って、ゴール・ポストの形状の枠を定めている。「舵およびスロットル開始位置」は、指および親指が上を向いており、手のひらが画面に面している。
方位配合(Orientation Blends)
図6は、一実施形態における方位配合の一例を示す。図示の例では、配合は、指ポーズ・ストリングの後ろにある括弧の中に囲まれた方位表記の対によって表されている。例えば、第1コマンドは、全て真っ直ぐに伸ばした指の位置を示す。方位コマンドの第1対により、手のひらをディスプレイに向かって平らにして、第2対によって、手を画面に向けて45度縦に回転させる。この例では、配合の対を示したが、いずれの数の配合でも考えられる。
コマンドの例
図8/1および
図8/2は、一実施形態の下で用いることができる、多数の可能なコマンドを示す。本明細書における論述の一部は、ディスプレイ上におけるカーソルの制御についてであったが、本実施形態はその行動に限定されるのではない。実際に、本実施形態は、画面上における全てのデータおよびデータの一部、更にはディスプレイの状態を操作する際に、様々に応用することができる。例えば、ビデオ・メディアの再生中に、これらのコマンドをビデオ制御に代わって用いることができる。これらのコマンドは、一時停止、早送り、巻き戻しなどを行うために用いることができる。加えて、画像のズーム・インおよびズーム・アウトを行うため、画像の方位を変化させるため、いずれかの方向にパンニングするため等に実施することができる。また、本実施形態は、開く、閉じる、保存する等のような、メニュー・コマンドの代わりに用いることもできる。言い換えると、想像することができるいずれのコマンドまたは活動でも、手のジェスチャによって実施することができる。
動作
図7は、一実施形態の下におけるシステム動作を示すフロー図である。ステップ701において、検出システムはマーカおよびタグを検出する。判断ブロック702において、タグおよびマーカが検出されたか否か判断を行う。検出されていない場合、システムはス
テップ701に戻る。ステップ702においてタグおよびマーカが検出された場合、システムはステップ703に進む。ステップ703において、システムは、検出されたタグおよびマーカから、手、指、およびポーズを特定する。ステップ704において、システムは、ポーズの方位を特定する。ステップ705において、システムは、検出された1つまたは双方の手の三次元空間位置を特定する。(ステップ703、704、および705の内任意のものまたは全てを1つのステップとして組み合わせてもよいことに注意されたい)。
【0068】
ステップ706において、以上の情報を、前述したジェスチャ表記に変換する。判断ブロック707において、ポーズが有効か否か判断を行う。これは、発生した表記ストリングを用いた単純なストリング比較によって行うことができる。ポーズが有効でない場合、システムはステップ701に戻る。ポーズが有効である場合、ステップ708において、システムは表記および位置情報をコンピュータに送る。ステップ709において、コンピュータは、ジェスチャに応答して、取るとよいしかるべき行為を決定し、ステップ710においてそれに応じてディスプレイを更新する。
【0069】
一実施形態では、ステップ701〜705は、カメラ内蔵プロセッサによって実行する。他の実施形態では、望ましければ、この処理をシステム・コンピュータによって実行することもできる。
解析および変換
本システムは、基礎となるシステムによって再現された低レベルのジェスチャの流れを「解析」および「変換」し、これら解析し変換したジェスチャを、コマンドまたはイベント・データの流れに変換することができる。このデータは、広範囲のコンピュータ・アプリケーションおよびシステムを制御するために用いることができる。これらの技法およびアルゴリズムは、これらの技法を実現するエンジン、およびエンジンの能力を利用するコンピュータ・アプリケーションを構築するプラットフォームの双方を提供するコンピュータ・コードから成るシステムにおいて具体化することができる。
【0070】
一実施形態は、コンピュータ・インターフェースにおいて、人の手の豊富なジェスチャの使用を可能にすることを中心に据えるが、他の身体部分によって行われるジェスチャ(限定ではなく、腕、胴体、脚部、および頭部を含む)や、手ではない種々の器具によって行われるジェスチャを認識することもできる。これらの器具は、静止および連結式(articulating)双方であり、限定ではないが、キャリパ、コンパス、可撓性曲線近似器(curve approximator)、および種々の形状のポインティング・デバイスが含まれる。マーカおよびタグは、操作者によって所望に応じて携行および使用することができる品目および器具に被着することができる。
【0071】
本明細書において記載するシステムは、認識し反応することができるジェスチャの範囲が豊富なジェスチャ・システムを構築することを可能にしつつ、同時にアプリケーションへの容易な統合にも備えた、多数の改革を組み込む。
【0072】
一実施形態では、ジェスチャ解析および変換システムは、以下のものを備えている。
1)様々な異なる集計レベルにおいて、ジェスチャを指定する(コンピュータ・プログラムにおいて用いるためのエンコード)緻密かつ効率的な方法。
【0073】
a.1つの手の「ポーズ」(手の部分の外形および互いに対する方位)。三次元空間における1つの手の方位および位置。
b.2つの手の組み合わせ。いずれかの手がポーズ、位置、または双方を考慮に入れる。
【0074】
c.多数の人物の組み合わせ。本システムは2つよりも多い手を追跡することができ、したがって、一人よりも多い事物が協同して(ゲーム・アプリケーションの場合には競合して)目標システムを制御することができる。
【0075】
d.ポーズが連続して組み合わされる順次ジェスチャ。これらを「動画」ジェスチャと呼ぶ。
e.操作者が空間内の形状を追跡する「書記素」ジェスチャ(grapheme gesture)。
【0076】
2)所与のアプリケーション・コンテキストに関連があるものの上で、各カテゴリから特定のジェスチャを登録するプログラム技法。
3)登録されているジェスチャを特定することができ、これらのジェスチャをカプセル化するイベントを関連するアプリケーション・コンテキストに配信することができるように、ジェスチャの流れを解析するアルゴリズム。
【0077】
指定システム(1)は、構成エレメント(1a)から(1f)と共に、本明細書に記載するシステムのジェスチャ解析および変換能力を利用するための基礎を提供する。
1つの手の「ポーズ」は、
i)手の指と甲との間の相対的方位、
ii)少数の離散状態への量子化、
のストリングとして表される。
【0078】
相対的接合方位を用いることにより、本明細書に記載するシステムは、手のサイズおよび外形形状が異なることに伴う問題を回避することができる。このシステムでは、「操作者較正」を必要としない。加えて、ポーズをストリングまたは相対的方位の集合体として指定することにより、ポーズ表現を更に別のフィルタおよび指定と組み合わせることによって、一層複雑なジェスチャ指定(specification)を容易に作成することが可能になる。
【0079】
ポーズ指定に少数の離散状態を用いることによって、ポーズを簡潔に指定することができ、更に種々の基礎となる追跡技術(例えば、カメラを用いた受動的光学追跡、点灯ドットおよびカメラを用いた能動的光学追跡、電磁場追跡等)を用いて、精度の高いポーズ認識を確実に行うことができる。
【0080】
各カテゴリ(1a)から(1f)におけるジェスチャは、部分的に(または最小限に)指定することができるので、重大でないデータは無視される。例えば、2本の指の位置が明確であり他の指の位置は重要でないジェスチャは、2本の関連のある指の動作位置が与えられ、同じストリング内において、「ワイルド・カード」または包括的「無視」インディケータが他の指に対して掲示されている1つの指定によって表すことができる。
【0081】
本明細書において記載するジェスチャ認識のための改革の全ては、限定ではなく、多層指定技法、相対的方位の使用、データの量子化、および各レベルにおける部分的または最小指定の許容を含み、手のジェスチャの指定を超えて、他の身体部分や「製造した」器具およびオブジェクトを用いたジェスチャの指定に一般化する。
【0082】
「ジェスチャを登録する」プログラム技法(2)は、どのジェスチャをエンジンが実行システムの他の部分に入手可能にすべきか定めることをプログラマに可能にする、定められた1組のアプリケーション・プログラミング・インターフェース・コールによって構成されている。
【0083】
これらのAPIルーチンは、アプリケーション設定時に用いることができ、実行アプリケーションの寿命の間用いることができる静止インターフェース定義を作成する。また、
これらは、実行中にも用いることができ、インターフェース特性を動作中に変更することができる。このリアル・タイムでのインターフェース変更により、
i)複雑なコンテキストおよび条件付き制御状態を構築すること、
ii)動的にヒステリシスを制御環境に追加すること、および
iii)ユーザが実行システム自体のインターフェース・ボキャブラリを変更または拡張することができるアプリケーションを作成すること、
が可能となる。
【0084】
ジェスチャの流れを解析するアルゴリズム(3)は、(1)におけるように指定され(2)におけるように登録されたジェスチャを、入来する低レベルのジェスチャ・データと比較する。登録されているジェスチャに対する一致が認識された場合、一致したジェスチャを表すイベント・データが積層され実行アプリケーションに配信される。
【0085】
このシステムの設計においては、効率的なリアル・タイムでの照合が望まれ、指定されたジェスチャは、できるだけ素早く処理される可能性のツリーとして扱われる。
加えて、指定されたジェスチャを認識するために内部で使用されている原始的比較演算子は、アプリケーション・プログラマが用いるためにも露出されるので、アプリケーション・コンテキスト内部からでも、より多くの比較(例えば、複雑なジェスチャまたは複合ジェスチャにおける柔軟な状態の検査)を行うことができる。
【0086】
認識「ロッキング」セマンティクス(recognition locking semantics)は、本明細書に
記載するシステムの改革の1つである。これらのセマンティクスは、登録API(2)(および、より狭い範囲で、指定ボキャブラリ(1)内に埋め込まれる)によって暗示される(imply)。登録APIコールは、
i)「エントリ」状態通知部および「連続」状態通知部、ならびに
ii)ジェスチャ優先度指定部
を含む。
【0087】
ジェスチャが認識されている場合、その「連続」状態は、同じまたは低い優先度のジェスチャの全ての「エントリ」状態よりも優先される。このエントリ状態と連続状態との間の区別は、認められるシステム使用可能性に大きくプラスになる。
【0088】
本明細書において記載するシステムは、実世界のデータ・エラーおよび不確実性をものともせずに、ロバストな動作のためのアルゴリズムを含む。低レベル追跡システムからのデータは不完全である場合もある(光追跡におけるマーカの隠蔽、ネットワーク・ドロップアウト、処理の遅れ等を含む、種々の理由による)。
【0089】
欠損データは、解析システムによって印が付けられ、その欠損データの量およびコンテキストに応じて、「最後に分かっていた」状態または「最もあり得る」状態のいずれかに組み込まれる。
【0090】
特定のジェスチャ・コンポーネント(例えば、特定の関節の方位)についての状態が見つからないが、その特定のコンポーネントの「最後に分かっていた」状態を、物理的に可能であると分析することができる場合、本システムはこの最後に分かっていた状態をそのリアル・タイム照合において用いる。
【0091】
逆に、最後に分かっていた状態が、物理的に不可能であると分析された場合、本システムはそのコンポーネントにとって「最良のジェスチャ範囲」に後退し、この合成データをそのリアル・タイム照合において用いる。
【0092】
本明細書において記載する指定および解析システムは、「利き手不可知論」をサポートするように注意深く設計されているので、多数の手のジェスチャについて、いずれの手でもポーズの要件を満たすことができる。
仮想/ディスプレイおよび物理空間の一致
本システムは、1つ以上のディスプレイ・デバイス(「画面」)上に描かれた仮想空間を、当該システムの一人または複数の操作者によって占められる物理空間と一致するものとして扱う環境を提供することができる。このような環境の一実施形態についてここで説明する。この現実施形態は、固定位置に3つのプロジェクタ駆動画面を含み、1つのデスクトップ・コンピュータによって駆動され、本明細書に記載したジェスチャ・ボキャブラリおよびインターフェース・システムを用いて制御される。しかしながら、記載する技法は、いかなる数の画面でもサポートすること、これらの画面は移動可能であってもよいこと(固定ではなく)、画面は多くの独立したコンピュータによって同時に駆動してもよいこと、そしてシステム全体はいずれの入力デバイスまたは技法によっても制御できることを注記しておく。
【0093】
本開示において記載するインターフェース・システムは、物理空間における画面の寸法、方位、および位置を決定する手段を有していなければならない。この情報を仮定して、本システムは、これらの画面が配置されている(そして、本システムの操作者が占める)物理空間を、本システム上で実行しているコンピュータ・アプリケーションの仮想空間への投影として動的にマッピングすることができる。この自動マッピングの一部として、本システムは、システムによってホストされているアプリケーションの必要性に応じて、種々の方法で2つの空間の規模、角度、深さ、寸法、およびその他の空間特性も変換する。
【0094】
この物理空間と仮想空間との間における連続変換によって、既存のアプリケーション・プラットフォームでは達成が困難である、または既存のプラットフォーム上で実行するアプリケーション毎に1つ1つ実装しなければならない多数のインターフェース技法の一貫性があり普及する使用が可能となる。これらの技法は、(限定ではないが)以下を含む。
【0095】
1)「リテラル・ポインティング」(literal pointing)の広く行き渡る自然なインターフェース技法としての使用。ジェスチャ・インターフェース環境において手を用いるか、あるいは物理的ポインティング・ツールまたはデバイスを用いる。
【0096】
2)画面の移動または再位置決めに対する自動補償。
3)操作者の位置に応じて変化するグラフィクス・レンダリング。例えば、深度の知覚を高めるためにパララックス・シフトをシミュレーションする。
【0097】
4)実世界位置、方位、状態等を考慮に入れた、画面上表示への物理的オブジェクトの含入。例えば、大きく不透明な画面の前に立っている操作者は、アプリケーションのグラフィクスと、画面の背後にある(そして、恐らく移動しているか、または方位を変えている)スケール・モデル(scale model)の真の位置の表現との双方を見ることができる。
【0098】
リテラル・ポインティングは、マウスに基づくウィンドーイング・インターフェースや殆どのその他の現在のシステムにおいて用いられている絶対ポインティングとは異なることを注記するのは重要である。これらのシステムでは、操作者は仮想ポインタと物理ポインティング・デバイスとの間の変換を管理することを学習しなければならず、更にこれら2つの間で経験的知識に基づいてマッピングしなければならない。
【0099】
対照的に、本開示において記載するシステムでは、アプリケーションまたはユーザの観点のいずれからでも、仮想空間と物理空間との間に差がないので(仮想空間の方が数学的操作がし易いことを除く)、操作者に経験的知識に基づく変換は必要とされない。
【0100】
本明細書において記載する実施形態によって提供されるリテラル・ポインティングに最も近い類似性は、接触感応画面(例えば、多くのATM機械上で見られる)である。接触感応画面は、画面上の二次元表示空間と画面表面の二次元入力空間との間に1対1のマッピングを規定する。同様に、本明細書において記載するシステムは、1つ以上の画面上に表示される仮想空間と、操作者によって占められる物理空間との間に柔軟なマッピング(1対1のマッピングも可能であるが、その必要性はない)を規定する。この類似性の有益さ(usefulness of the analogy)にも拘わらず、この「マッピング手法」の三次元、任意
に大きなアーキテクチャ環境、および多数の画面への拡張は重要である。
【0101】
本明細書において記載するコンポーネントに加えて、本システムは、環境の物理空間と各画面上の表示空間との間に連続的なシステム・レベルのマッピング(恐らく回転、平行移動、倍率調整、またはその他の幾何学的変換によって変更される)を実現するアルゴリズムも実装することができる。
【0102】
一実施形態のシステムは、計算オブジェクトおよびマッピングを取り込み、仮想空間のグラフィック表現を出力するレンダリング・スタックを含む。
一実施形態のシステムは、イベント・データ(現実施形態では、システムおよびマウス入力からのジェスチャ・データおよびポインティング・データの双方)を制御システムから取り込み、入力イベントからの空間データを仮想空間における座標にマッピングする入力イベント処理スタックを含む。変換されたイベントは、次に、実行アプリケーションに配信される。
【0103】
一実施形態のシステムは、本システムがローカル・エリア・ネットワーク上にある数台のコンピュータに跨って実行するアプリケーションをホストすることを可能にする「グルー・レイヤ」を含む。
【0104】
本明細書に記載した実施形態は、システムを含む。このシステムは、車両における複数のセンサであって、これら複数のセンサがオブジェクトを撮像し、当該オブジェクトによって行われるジェスチャを表すジェスチャ・データを出力し、このジェスチャ・データが、空間における一時点でのオブジェクトの瞬時的状態であり、このオブジェクトが、ユーザの手および指の内少なくとも1つを含む、センサと、複数のセンサに結合されているプロセッサであって、このプロセッサが自動的にオブジェクトのジェスチャをジェスチャ・データから検出し、この検出が、オブジェクトの位置を抽出することを含み、検出が、オブジェクトの量子化ポーズおよび方位ベクトルを再現することを含み、検出が、ジェスチャ・データをジェスチャ信号に変換することを含む、プロセッサと、プロセッサおよび車両の複数の車両サブシステムに結合されているコントローラであって、ジェスチャ信号に応答して、複数の車両サブシステムとのユーザ相互作用を管理する、コントローラとを備えている。
【0105】
一実施形態の複数のセンサは、車両の乗員室を見るように位置付けられている。
一実施形態の複数のセンサは、複数のカメラを備えている。
一実施形態の複数のカメラは、立体視システムを構成する。
【0106】
一実施形態のジェスチャ・データは、オブジェクトを表す三次元データ・ポイント・クラウドを含む。
一実施形態の三次元データ・ポイント・クラウドにおいて解明されたデータ・ポイントの深度精度は、約1ミリメートル(mm)である。
【0107】
一実施形態のオブジェクトの位置は、手の位置を含む。
一実施形態のオブジェクトの位置は、1組の指の位置を含む。
一実施形態のオブジェクトの量子化ポーズは、少なくとも1つの手の量子化ポーズを含む。
【0108】
一実施形態のオブジェクトの方位ベクトルは、少なくとも1つの手の連続方位ベクトルを含む。
一実施形態のオブジェクトの方位ベクトルは、1組の指の連続方位ベクトルを含む。
【0109】
一実施形態の変換は、ジェスチャの情報をジェスチャ表記に変換することを含む。
一実施形態のジェスチャ表記は、ジェスチャ・ボキャブラリを表し、ジェスチャ信号はジェスチャ・ボキャブラリの伝達を構成する。
【0110】
一実施形態のジェスチャ・ボキャブラリは、テキスト・フォームで、オブジェクトの力学的連携の瞬時的ポーズ状態を表す。
一実施形態のジェスチャ・ボキャブラリは、テキスト・フォームで、オブジェクトの力学的連携の方位を表す。
【0111】
一実施形態のジェスチャ・ボキャブラリは、テキスト・フォームで、オブジェクトの力学的連携の方位の組み合わせを表す。
一実施形態のジェスチャ・ボキャブラリは、オブジェクトの力学的連携の状態を表すキャラクタ・ストリングを含む。
【0112】
一実施形態のシステムは、プロセッサに結合されているフィードバック・デバイスを備えており、このフィードバック・デバイスが、ジェスチャに対応する指示をユーザに供給する。
【0113】
一実施形態の指示は、ジェスチャの解釈を含む。
一実施形態の指示は、ジェスチャに応答して、複数の車両サブシステムにおいて実現される効果を含む。
【0114】
一実施形態のフィードバック・デバイスは視覚デバイスである。
一実施形態のフィードバック・デバイスは聴覚デバイスである。
一実施形態のフィードバック・デバイスは視覚−聴覚デバイスである。
【0115】
一実施形態のフィードバック・デバイスは、車両のヘッド・アップ・ディスプレイである。
一実施形態のフィードバック・デバイスは、車両の画素ベース・ディスプレイである。
【0116】
一実施形態のフィードバック・デバイスは、少なくとも1つの色変化発光インディケータである。
一実施形態のフィードバック・デバイスは、接触型ディスプレイである。
【0117】
一実施形態のコントローラは、第1のインタラクティブ・モードを用いて、ユーザ相互作用を管理し、第1のインタラクティブ・モードは、ジェスチャに応答して複数の車両サブシステムとの相互作用を制御することを含み、ジェスチャがユーザの指の動きを含む。
【0118】
一実施形態のジェスチャは、1つの手の2本の指の「握る−再度広げる」動きを含み、この場合コントローラは、ジェスチャに応答して、車両サブシステムの複数の制御エレメントを巡回し、各制御エレメントが、ユーザに車両サブシステムのパラメータを制御させる。
【0119】
一実施形態のジェスチャは、ユーザの1つの手の1本の指の「握る−再度広げる」動きを含み、この場合コントローラはジェスチャに応答して、パラメータの設定をインクリメントして増大するように変化させる。
【0120】
一実施形態のジェスチャは、第1の指を下げたままにして、第2の指を広げることを含み、この場合コントローラは、ジェスチャに応答して、パラメータの設定を一定の割合で変化させる。
【0121】
一実施形態のジェスチャは、ユーザの第1の手の少なくとも1本の指を広げることを含み、プロセッサは、ジェスチャに応答して、コントローラをアクティブ化する。
一実施形態のユーザの手が、ジェスチャの間、車両の誘導メカニズムと接触したままとなっている。
【0122】
一実施形態の少なくとも1本の指は、ユーザの人差し指、中指、および親指の内少なくとも1本である。
一実施形態のジェスチャは、第1の手の2本の指の「握る−再度広げる」動きを含み、この場合コントローラは、ジェスチャに応答して、車両サブシステムの複数の制御モードを巡回し、複数の制御モードの内各モードが車両サブシステムに対応する。
【0123】
一実施形態のジェスチャは、第2の手の2本の指の「握る−再度広げる」動きを含み、この場合コントローラは、ジェスチャに応答して、各制御モードの複数の制御選択肢を巡回し、これら複数の制御モードの内、各制御選択肢が車両サブシステムに対応する。
【0124】
一実施形態のジェスチャは、ユーザの1つの手の1本の指の「握る−再度広げる」動きを含み、この場合コントローラは、ジェスチャに応答して、制御の設定を制御する。
一実施形態のジェスチャは、ユーザの1つの手の第1の指の「握る−再度広げる」動きを含み、この場合コントローラは、ジェスチャに応答して、設定を第1の方向に歩進させることによって、インクリメントして増大するように設定を変化させる。
【0125】
一実施形態のジェスチャは、ユーザの1つの手の第2の指の「握る−再度広げる」動きを含み、この場合コントローラは、ジェスチャに応答して、設定を第2の方向に歩進させることによって、インクリメントして増大するように設定を変化させる。
【0126】
一実施形態のジェスチャは、第1の指を押し下げ、第2の指を広げることを含み、この場合コントローラは、ジェスチャに応答して設定を一定割合で変化させる。
一実施形態のシステムは、プロセッサに結合されているグラフィカル・ディスプレイを備えており、このグラフィカル・ディスプレイが、ジェスチャに対応する指示をユーザに与え、ジェスチャは、グラフィカル・ディスプレイ上において表示エレメントの位置を制御する。
【0127】
一実施形態の指の動きは、表示エレメントを通じて車両サブシステムの制御エレメントの非線形選択を実行し、各制御エレメントがユーザに車両サブシステムのパラメータを制御させる。
【0128】
一実施形態のジェスチャは、ユーザの第1の手の少なくとも1本の指を広げることを含み、プロセッサは、ジェスチャに応答して、コントローラをアクティブ化し、表示エレメントを表示させる。
【0129】
一実施形態のジェスチャは、指先の相対的移動を含み、プロセッサは、指先の相対的移
動に応答して、グラフィカル・ディスプレイ上において表示エレメントの移動を制御する。
【0130】
一実施形態のディスプレイのインターフェース・グラフィクスが、表示エレメントの近接によって選択され、表示エレメントがポインタである。
一実施形態のインターフェース・グラフィクスが車両サブシステムの制御エレメントに対応し、各制御エレメントのインターフェース・グラフィックがユーザに車両サブシステムのパラメータを制御させる。
【0131】
一実施形態のジェスチャは、ユーザの1つの手の1本の指の「握る−再度広げる」動きを含み、この場合コントローラは、ジェスチャに応答して、インターフェース・グラフィックを通じてパラメータの設定を変化させる。
【0132】
一実施形態のジェスチャは、第1の指を押し下げ、第2の指を広げることを含み、この場合コントローラは、ジェスチャに応答して、インターフェース・グラフィックを通じてパラメータの設定を変化させる。
【0133】
一実施形態の表示エレメントは、トグル・スイッチ・アイコンを備えており、ジェスチャは、ユーザの1つの手の1本の指の「握る−再度広げる」動きを含み、ジェスチャはトグル・スイッチの設定を制御する。
【0134】
一実施形態の表示エレメントはスライダ・アイコンを備えており、ジェスチャは、第1の指を押し下げ、第2の指を広げることを含み、この場合コントローラは、ジェスチャに応答して、スライダの設定を一定割合で変化させる。
【0135】
一実施形態の表示エレメントはスライダ・アイコンを備えており、ジェスチャは、ユーザの1つの手の1本の指の「握る−再度広げる」動きを含み、この場合コントローラは、ジェスチャに応答して、スライダの設定をインクリメントして増大するように変化させる。
【0136】
一実施形態のコントローラは、第2のインタラクティブ・モードを用いてユーザの相互作用を管理し、第2のインタラクティブ・モードは、ジェスチャに応答して複数の車両サブシステムとの相互作用を制御することを含み、ジェスチャは、ユーザの手の動きおよび指の動きを含む。
【0137】
一実施形態のコントローラは、ジェスチャに応答して、車両サブシステムの複数の制御エレメントを巡回し、各制御エレメントがユーザに車両サブシステムのパラメータを制御させる。
【0138】
一実施形態のジェスチャは、1つの手の第1の指を第1の方向に広げることを含む。
一実施形態のジェスチャは、手の第2の指を第2の方向に広げることを含む。
一実施形態のジェスチャは、手、第1の指、および第2の指の組み合わせの垂直配向を含み、この垂直配向が、手、第1の指、および第2の指を、重力と一直線状の平面に配置する。
【0139】
一実施形態のジェスチャは、手、第1の指、および第2の指の組み合わせの水平配向を含み、この水平配向が、手、第1の指、および第2の指を、重力に対して垂直な平面に配置する。
【0140】
一実施形態のジェスチャは、手の第3の指を第1方向に広げ、第1の指とほぼ一直線状
にすることを含む。
一実施形態の第2の指は、広げたときに、第1の指とほぼ垂直になる。
【0141】
一実施形態の第2の指は、広げたときに、第1の指とほぼ平行になる。
一実施形態のジェスチャは、第1の指がほぼ中央を指し示す位置まで、手を回転させることを含む。
【0142】
一実施形態のシステムでは、プロセッサに結合されているグラフィカル・ディスプレイを備えており、このグラフィカル・ディスプレイがジェスチャによる制御をユーザに行わせ、コントローラは、ジェスチャに応答して車両サブシステムの複数の制御エレメントを巡回し、各制御エレメントがユーザに車両サブシステムのパラメータを制御させる。
【0143】
一実施形態のジェスチャは、グラフィカル・ディスプレイ上における表示エレメントの位置を制御する。
一実施形態のジェスチャは、1つの手の第1の指を第1の方向に広げることを含む。
【0144】
一実施形態の表示エレメントはポインタを備えており、ポインタの位置が第1の指の移動および照準の内少なくとも1つによって制御される。
一実施形態のジェスチャは、第1の指の照準を用いてポインタが制御エレメント内に配置されており、手の第2の指が第1の位置から第2の位置に移動させられたときに、制御エレメントの選択を制御し、第1の位置は、第1の指に対して実質的に垂直に延び、第2の位置は第1の指に対して実質的に平行に延びる。
【0145】
一実施形態のジェスチャは、第1の指をグラフィカル・ディスプレイから外れた位置に照準を合わせることを含み、この場合、コントローラはメニュー・リストを提示する。
一実施形態のジェスチャは、第1の指の照準をメニュー項目に合わせ、第2の指を第1の位置に移動させることを含み、この場合コントローラはメニュー項目をアクティブ制御エレメントとして選択する。
【0146】
一実施形態のジェスチャは、手と当該手の少なくとも1本の指との組み合わせの垂直配向を含み、この垂直配向が、手、第1の指、および第2の指を、重力と一直線状の平面に配置し、コントローラは第1組の制御エレメントを提示する。
【0147】
一実施形態のジェスチャは、手、およびこの手の少なくとも1本の指の組み合わせの水平配向を含み、この水平配向が、手、第1の指、および第2の指を、重力に対して垂直な平面に配置し、この場合、コントローラは、第1組の制御エレメントとは異なる第2組の制御エレメントを提示する。
【0148】
一実施形態の車両サブシステムは、天候制御デバイス、多機能ディスプレイ・デバイス、オーディオ・デバイス、ラジオ・デバイス、ディジタル・オーディオ・デバイス、電話機、ナビゲーション・デバイス、巡行制御デバイス、自動操縦デバイス、自動化誘導デバイス、およびネットワーク接続デバイスの内少なくとも1つを備えている。
【0149】
一実施形態の複数のセンサは、複数の飛行時間、深度検知カメラを備えている。
一実施形態の複数のセンサは、複数の構造化光三次元センサを備えている。
本明細書に記載した実施形態は、システムを含む。このシステムは、複数のセンサであって、これら複数のセンサがオブジェクトを撮像し、ジェスチャを表すジェスチャ・データを出力し、このジェスチャ・データが空間における一時点でのオブジェクトの瞬時的状態であり、オブジェクトが手および指の内少なくとも1つを含む、複数のセンサと、複数のセンサに結合されているプロセッサであって、このプロセッサがジェスチャ・データか
らオブジェクトのジェスチャを検出し、この検出がオブジェクトの位置を抽出することを含み、検出が、オブジェクトの量子化したポーズおよび方位ベクトルを再現することを含み、検出が、ジェスチャ・データをジェスチャ信号に変換することと、プロセッサに結合されている車両サブシステムを制御するためにジェスチャ信号を用いることを含む、プロセッサとを備えている。
【0150】
本明細書に記載した実施形態は、システムを含む。このシステムは、車両内に設置された複数のセンサであって、これら複数のセンサは、オブジェクトを撮像し、このオブジェクトによってなされたジェスチャを表すジェスチャ信号を出力し、ジェスチャ・データがこのジェスチャ・データが空間における一時点でのオブジェクトの瞬時的状態である、複数のセンサと、複数のセンサに結合されているプロセッサであって、ジェスチャ・データからオブジェクトのジェスチャを自動的に検出し、ジェスチャ・データをジェスチャ信号に変換する、プロセッサと、プロセッサと、車両の車両サブシステムとに結合されているコントローラであって、ジェスチャ信号に応答して車両サブシステムを制御する、コントローラと、プロセッサに結合されているフィードバック・デバイスであって、ジェスチャに対応する視覚的および聴覚的フィードバックの内少なくとも1つを供給する、フィードバック・デバイスとを備えている。
【0151】
本明細書に記載した実施形態は、方法を含む。この方法は、車両において複数のセンサを通じてオブジェクトの画像を受け取り、このオブジェクトによってなされたジェスチャを表すジェスチャ・データを出力するステップであって、ジェスチャ・データがこのジェスチャ・データが空間における一時点でのオブジェクトの瞬時的状態であり、オブジェクトがユーザの手および指の内少なくとも1つを含む、ステップと、オブジェクトの位置を抽出し、オブジェクトの量子化したポーズおよび方位ベクトルを再現し、ジェスチャ・データをジェスチャ信号に変換することによって、ジェスチャ・データからオブジェクトのジェスチャを自動的に検出するステップと、ジェスチャ信号に応答して、複数の車両サブシステムとのユーザの相互作用を管理するステップとを備えている。
【0152】
一実施形態の方法は、複数のセンサを、車両の乗員室を見るように位置付けるステップを備えており、複数のセンサが複数のカメラを含む。
一実施形態のジェスチャ・データは、オブジェクトを表す三次元データ・ポイント・クラウドを含む。
【0153】
一実施形態のオブジェクトの位置は、手の位置を含む。
一実施形態のオブジェクトの位置は、1組の指の位置を含む。
一実施形態のオブジェクトの量子化ポーズは、少なくとも1つの手の量子化ポーズを含む。
【0154】
一実施形態のオブジェクトの方位ベクトルは、少なくとも1つの手の連続方位ベクトルを含む。
一実施形態のオブジェクトの方位ベクトルは、1組の指の連続方位ベクトルを含む。
【0155】
一実施形態の変換するステップは、ジェスチャの情報をジェスチャ表記に変換するステップを含み、このジェスチャ表記は、ジェスチャ・ボキャブラリを表し、ジェスチャ信号はジェスチャ・ボキャブラリの伝達を構成する。
【0156】
一実施形態のジェスチャ・ボキャブラリは、オブジェクトの力学的連携の瞬時的ポーズ状態を、テキスト・フォームで表す。
一実施形態のジェスチャ・ボキャブラリは、オブジェクトの力学的連携の方位を、テキスト・フォームで表す。
【0157】
一実施形態のジェスチャ・ボキャブラリは、オブジェクトの力学的連携の状態を表す、キャラクタ・ストリングを含む。
一実施形態の方法は、ジェスチャに対応する指示をユーザに与えるステップを備えており、指示が、ジェスチャの解釈、およびジェスチャに応答して複数の車両サブシステムにおいて得られる効果の内少なくとも1つを含む。
【0158】
一実施形態のユーザ相互作用の管理は、第1のインタラクティブ・モードを用いることを含み、この第1のインタラクティブ・モードが、ジェスチャに応答して複数の車両サブシステムとの相互作用を制御することを含み、ジェスチャがユーザの指の動きを含む。
【0159】
一実施形態のジェスチャは、1つの手の2本の指の「握る−再度広げる」動きを含み、ユーザ相互作用を管理するステップは、ジェスチャに応答して、車両サブシステムの複数の制御エレメントを巡回するステップを含み、各制御エレメントが、ユーザに車両サブシステムのパラメータを制御させる。
【0160】
一実施形態のジェスチャは、ユーザの1つの手の1本の指の「握る−再度広げる」動きを含み、ユーザ相互作用を管理するステップは、ジェスチャに応答して、パラメータの設定をインクリメントして増大するように変化させる。
【0161】
一実施形態のジェスチャは、第1の指を下げたままにして、第2の指を広げることを含み、ユーザ相互作用を管理するステップは、ジェスチャに応答して、パラメータの設定を一定の割合で変化させるステップを含む、システム。
【0162】
一実施形態のユーザの手は、ジェスチャの間、車両の誘導メカニズムと接触したままとなっている。
一実施形態の方法は、ジェスチャに対応する指示をユーザに与えるステップを備えており、ジェスチャがグラフィカル・ディスプレイ上における表示エレメントの位置を制御する。
【0163】
一実施形態の指の動きは、表示エレメントを通じて車両サブシステムの制御エレメントの非線形選択を実行し、各制御エレメントがユーザに車両サブシステムのパラメータを制御させる。
【0164】
一実施形態のジェスチャは、指先の相対的移動を含み、ユーザ相互作用を管理するステップは、指先の相対的移動に応答して、グラフィカル・ディスプレイ上において表示エレメントの移動を制御するステップを含む。
【0165】
一実施形態の方法は、表示エレメントの近接によって、ディスプレイのインターフェース・グラフィクスを選択するステップを備えており、表示エレメントがポインタである。
一実施形態のインターフェース・グラフィクスが車両サブシステムの制御エレメントに対応し、各制御エレメントのインターフェース・グラフィックがユーザに車両サブシステムのパラメータを制御させる。
【0166】
一実施形態のユーザ相互作用の管理は、第2のインタラクティブ・モードを用いることを含み、第2のインタラクティブ・モードは、ジェスチャに応答して複数の車両サブシステムとの相互作用を制御することを含み、ジェスチャは、ユーザの手の動きおよび指の動きを含む。
【0167】
一実施形態の方法は、ジェスチャに応答して、車両サブシステムの複数の制御エレメン
トを巡回するステップを備えており、各制御エレメントがユーザに車両サブシステムのパラメータを制御させる。
【0168】
一実施形態のジェスチャは、1つの手の第1の指を第1の方向に広げることを含む。
一実施形態のジェスチャは、手の第2の指を第2の方向に広げることを含む。
一実施形態のジェスチャは、手、第1の指、および第2の指の組み合わせの垂直配向を含み、この垂直配向が、手、第1の指、および第2の指を、重力と一直線状の平面に配置する。
【0169】
一実施形態のジェスチャは、手、第1の指、および第2の指の組み合わせの水平配向を含み、この水平配向が、手、第1の指、および第2の指を、重力に対して垂直な平面に配置する。
【0170】
一実施形態のジェスチャは、手の第3の指を第1方向に広げ、第1の指とほぼ一直線状にすることを含む。
一実施形態の第2の指は、広げたときに、第1の指とほぼ垂直になる。
【0171】
一実施形態の第2の指は、広げたときに、第1の指とほぼ平行になる。
一実施形態のジェスチャは、第1の指がほぼ中央を指し示す位置まで、手を回転させることを含む。
【0172】
一実施形態の方法は、ジェスチャによる制御をユーザに行わせる表示出力を供給するステップを備えており、ユーザ相互作用を管理するステップは、ジェスチャに応答して車両サブシステムの複数の制御エレメントを巡回し、各制御エレメントがユーザに車両サブシステムのパラメータを制御させる。
【0173】
一実施形態のジェスチャは、表示出力上における表示エレメントの位置を制御する。
一実施形態のジェスチャは、1つの手の第1の指を第1の方向に広げることを含む。
一実施形態の表示エレメントはポインタを備えており、ポインタの位置が第1の指の移動および照準の内少なくとも1つによって制御される。
【0174】
一実施形態のジェスチャは、第1の指の照準を用いてポインタが制御エレメント内に配置されており、手の第2の指が第1の位置から第2の位置に移動させられたときに、制御エレメントの選択を制御し、第1の位置は、第1の指に対して実質的に垂直に延び、第2の位置は第1の指に対して実質的に平行に延びる。
【0175】
一実施形態のジェスチャは、第1の指をグラフィカル・ディスプレイから外れた位置に照準を合わせることを含み、この場合、コントローラはメニュー・リストを提示する。
一実施形態のジェスチャは、第1の指の照準をメニュー項目に合わせ、第2の指を第1の位置に移動させることを含み、この場合コントローラはメニュー項目をアクティブ制御エレメントとして選択する。
【0176】
本明細書において記載したジェスチャ規準制御システムおよび方法は、処理システムを含む、および/または処理システムの下で実行する、および/または処理システムと連動して実行する。処理システムは、当技術分野では周知のように、互いに動作するプロセッサ主体デバイスまたは計算デバイスのあらゆる集合体、あるいは処理システムまたはデバイスのコンポーネントを含む。例えば、処理システムは、携帯用コンピュータ、通信ネットワークにおいて動作する携帯用通信デバイス、および/またはネットワーク・サーバの1つ以上を含むことができる。携帯用コンピュータは、パーソナル・コンピュータ、セルラ電話機、パーソナル・ディジタル・アシスタント、携帯用計算デバイス、および携帯用
通信デバイスの中から選択した多数のデバイスおよび/またはデバイスの組み合わせのいずれとすることもできるが、そのように限定されるのではない。処理システムは、それよりも大きなコンピュータ・システムの中にあるコンポーネントを含むことができる。
【0177】
一実施形態の処理システムは、少なくとも1つのプロセッサと、少なくとも1つのメモリ・デバイスまたはサブシステムとを含む。また、処理システムは、少なくとも1つのデータベースを含むか、またはこれに結合することができる。「プロセッサ」という用語は、本明細書において一般に用いる場合、1つ以上の中央演算装置(CPU)、ディジタル信号プロセッサ(DSP)、特定用途集積回路(ASIC)等のような、あらゆる論理演算装置を指す。プロセッサおよびメモリは、1つのチップ上にモノリシックに集積することができ、多数のチップまたはホスト・システムのコンポーネント間で分散することができ、および/またはアルゴリズムの何らかの組み合わせによって提供することができる。本明細書において記載した方法は、ソフトウェア・アルゴリズム(1つまたは複数)、プログラム、ファームウェア、ハードウェア、コンポーネント、回路の1つ以上で、いずれの組み合わせでも実現することができる。
【0178】
本明細書において記載したシステムおよび方法を具体化するシステム・コンポーネントは、一緒に配置すること、または別個の位置に配置することができる。したがって、本明細書において記載したシステムおよび方法を具現化するシステム・コンポーネントは、単一のシステム、多数のシステム、および/または地理的に離れたシステムのコンポーネントとすることができる。また、これらのコンポーネントは、単一のシステム、多数のシステム、および/または地理的に離れたシステムのサブコンポーネントまたはサブシステムとすることもできる。これらのコンポーネントは、ホスト・システムの1つ以上のその他のコンポーネント、またはホスト・システムに結合されているシステムに結合することができる。
【0179】
通信経路は、システム・コンポーネントを結合し、コンポーネント間においてファイルを伝達または転送する媒体であればいずれでも含む。通信経路は、ワイヤレス接続、有線接続、混成ワイヤレス/有線接続を含む。また、通信経路は、ローカル・エリア・ネットワーク(LAN)、都市エリア・ネットワーク(MAN)、ワイド・エリア・ネットワーク(WAN)、企業固有ネットワーク、事務所間またはバックエンド・ネットワーク、およびインターネットを含むネットワークへの結合または接続も含む。更に、通信経路は、フロッピ・ディスク、ハード・ディスク・ドライブ、およびCD−ROMディスクのような、リムーバブル固定媒体、ならびにフラッシュRAM、ユニバーサル・シリアル・バス(USB)接続、RS−232接続、電話回線、バス、および電子メール・メッセージを含む。
【0180】
文脈が特に明確に要求しない限り、説明全体を通じて、「備える」(comprise)、「備えている」(comprising)等の単語は、排他的または網羅的な意味とは逆に、包含的意味で解釈することとする。即ち、「含むがそれに限定されない」という意味である。また、単数または複数を用いる単語は、それぞれ、複数または単数も含むこととする。加えて、「ここでは」、「以下では」、「以上」、「以下」および同様の趣旨の単語は、本願のいずれかの特定部分ではなく、本願全体を指すこととする。「または」という単語が2つ以上の項目のリストに関して用いられる場合、その単語は以下の単語の解釈全てに及ぶこととする。リストにおける項目のいずれか、リストにおける項目全て、およびリストにおける項目のあらゆる組み合わせ。
【0181】
以上におけるジェスチャ規準制御の実施形態の説明は、網羅的であることも、記載したシステムおよび方法を、開示した形態そのものに限定することも意図していない。ジェスチャ規準制御の具体的な実施形態およびその例は、本明細書では例示の目的で記載したが
、その他のシステムおよび方法の範囲内において、種々の同等な修正も可能であることは、当業者であれば認められよう。本明細書において提案したジェスチャ規準制御の教示は、前述のシステムおよび方法だけでなく、他の処理システムおよび方法にも適用することができる。
【0182】
以上で説明した種々の実施形態の要素および行為(act)を組み合わせて、更に別の実施
形態を提案することができる。これらおよびその他の変更は、以上に詳細に記載した説明を参照すれば、ジェスチャ規準制御に対して行うことができる。
【0183】
一般に、以下の特許請求の範囲では、用いられている用語は、ジェスチャ基準制御を、本明細書および特許請求の範囲において開示されている特定的な実施形態に限定するように解釈してはならず、特許請求の範囲の下で動作する全てのシステムを含むように解釈しなければならない。したがって、ジェスチャ基準制御は、本開示に限定されるのではなく、逆に、ジェスチャ基準制御の範囲は、特許請求の範囲によって全体的に決定されるものとする。
【0184】
ジェスチャ基準制御のある種の態様が以下にある種の請求項の形態で提示されるが、本発明者は、ジェスチャ基準制御の種々の態様を、沢山の請求項の形態で想定している。したがって、本発明者は、追加の請求項を加える権利を保持し、本願を出願した後に、ジェスチャ基準制御の他の態様に対してこのような追加の請求項の形態を追求することとする。