(57)【特許請求の範囲】
【請求項１】
システムであって、
複数の光検出器であって、該複数の光検出器の内の少なくとも２つが、撮像システムにおいて被写体深度を増大させる位相マスクを含む矩形に分離可能な波面コーディング光学エレメントを含む波面コーディング・カメラを構成し、本体の波面コーディング画像を発生することにより前記本体を撮像する、複数の光検出器と、
前記複数の光検出器に結合されているプロセッサであって、該プロセッサは身体のジェスチャを自動的に検出し、前記ジェスチャは前記本体の瞬時的状態を含み、前記検出は、１時点における前記ジェスチャのジェスチャ・データを集計することを含み、前記ジェスチャ・データは、前記撮像システムの被写体深度内における前記本体の焦点解明データを含み、前記ジェスチャ・データは、前記被写体深度内における前記本体の焦点解明範囲データおよび位置データを含み、前記被写体深度内における前記本体の焦点解明範囲データおよび位置データは、前記波面コーディング・カメラの出力から得られ、前記プロセッサは、前記ジェスチャをジェスチャ信号に変換し、該ジェスチャ信号を用いて、前記プロセッサに結合されているコンポーネントを制御する、プロセッサと、
を備えている、システム。
【請求項２】
請求項１記載のシステムであって、
前記本体と前記撮像システムとの間の距離に対して不変であること、及び、脱焦に対して不変であることの内の少なくとも１つである、変調伝達関数および点拡散関数を備えている、システム。
【請求項３】
請求項１記載のシステムにおいて、前記プロセッサは、前記波面コーディング・カメラによって収集された画像をコーディングすることによって、中間画像を発生し、前記中間画像が、
ぼやけていること、及び
脱焦収差を含む、前記本体または前記複数の光検出器の変化に対して不感応であること
の内少なくとも１つである、システム。
【請求項４】
請求項１記載のシステムにおいて、前記ジェスチャ・データは、前記ジェスチャを表す三空間位置データである、システム。
【請求項５】
請求項４記載のシステムにおいて、前記検出は、前記本体の位置を検出すること、前記本体の方位を検出すること、前記本体の運動を検出すること、及び前記ジェスチャを特定することの内の少なくとも１つを含み、前記特定することが、前記本体の一部のポーズおよび方位の内少なくとも１つを特定することを含む、システム。
【請求項６】
請求項１記載のシステムにおいて、前記変換は、前記ジェスチャの情報をジェスチャ表記に変換することを含み、前記ジェスチャ表記がジェスチャ・ボキャブラリを表し、前記ジェスチャ信号が前記ジェスチャ・ボキャブラリの通信を含む、システム。システム。
【請求項７】
請求項６記載のシステムにおいて、前記ジェスチャ・ボキャブラリが、前記本体の力学的連結の瞬時的ポーズ状態と、前記本体の力学的連結の方位と、前記本体の力学的連結の方位の組み合わせとの内少なくとも１つを、テキスト形態で表す、システム。
【請求項８】
請求項６記載のシステムにおいて、前記ジェスチャ・ボキャブラリは、前記本体の力学的連結の状態を表す、キャラクタのストリングを含み、前記力学的連結は、前記本体の少なくとも１つの第１付加物である、システム。
【請求項９】
請求項８記載のシステムにおいて、前記検出は、前記本体の外挿補間位置が仮想空間と交差するときを検出することを含み、前記仮想空間は、コンピュータに結合されているディスプレイ・デバイス上に図示される空間を含む、システム。
【請求項１０】
請求項９記載のシステムにおいて、前記コンポーネントの制御が、
前記外挿補間位置が前記仮想空間における仮想物体と交差するときに、前記仮想物体を制御すること、
前記仮想空間における前記外挿補間位置に応答して、前記仮想空間における前記仮想物体の位置を制御すること、及び、
前記ジェスチャに応答して前記仮想空間における前記仮想物体の姿勢を制御すること
の内少なくとも１つを含む、システム。
【請求項１１】
請求項１記載のシステムであって、
仮想空間と物理空間との間で一致を得るために、前記検出および制御のスケーリングを制御することであって、前記仮想空間は、前記プロセッサに結合されているディスプレイ・デバイス上に描画された空間を含み、前記物理空間は前記本体が占める空間を含むこと、及び
前記物理空間における少なくとも１つの物理物体の移動に応答して、前記仮想空間において少なくとも１つの仮想物体を制御すること、
を含む、システム。
【請求項１２】
請求項１記載のシステムにおいて、前記制御は、前記プロセッサ上にホストされているアプリケーションの機能を制御すること、および前記プロセッサ上に表示されているコンポーネントを制御することの内少なくとも１つを含む、システム。
【請求項１３】
方法であって、
撮像システムを用いて本体を撮像するステップであって、該撮像が、前記本体の波面コーディング画像を発生することを含み、前記撮像システムは、複数の光検出器を含み、該複数の光検出器の内の少なくとも２つが、前記撮像の被写体深度を増大させる位相マスクを含む矩形に分離可能な波面コーディング光学エレメントを含む波面コーディング・カメラである、ステップと、
本体のジェスチャを自動的に検出するステップであって、前記ジェスチャが、前記本体の瞬時的状態を含み、前記検出が１時点における前記ジェスチャのジェスチャ・データを集計することを含み、前記ジェスチャ・データが、前記撮像システムの被写体深度内における前記本体の焦点解明データを含み、前記ジェスチャ・データは、前記被写体深度内における前記本体の焦点解明範囲データおよび位置データを含み、前記被写体深度内における前記本体の焦点解明範囲データおよび位置データは、前記波面コーディング・カメラの出力から得られる、ステップと、
前記ジェスチャをジェスチャ信号に変換するステップと、
前記ジェスチャ信号に応答して、コンピュータに結合されているコンポーネントを制御するステップと、
を備えている、方法。
【請求項１４】
請求項１３記載の方法であって、前記本体と前記撮像システムとの間の距離に対して不変であること、及び、脱焦に対して不変であることの内の少なくとも１つである、変調伝達関数および点拡散関数を発生するステップ備えている、方法。
【請求項１５】
請求項１３記載の方法であって、前記波面コーディング・カメラによって収集された画像をコーディングすることによって、中間画像を発生するステップを備え、前記中間画像が、
ぼやけていること、及び
脱焦収差を含む、前記本体または前記撮像システムの前記複数の光検出器の変化に対して不感応であること、
の内少なくとも１つである、方法。
【請求項１６】
請求項１３記載の方法において、前記ジェスチャ・データは、前記ジェスチャを表す三空間位置データであり、前記検出するステップが、前記本体の位置、前記本体の方位、及び前記本体の運動の内少なくとも１つを検出すること、並びに前記ジェスチャを特定することを含み、該特定することが、前記本体の一部のポーズおよび方位のうち少なくとも１つを特定することを含む、方法。
【請求項１７】
請求項１３記載の方法において、前記変換するステップは、前記ジェスチャの情報をジェスチャ表記に変換することを含み、前記ジェスチャ表記がジェスチャ・ボキャブラリを表し、前記ジェスチャ信号が前記ジェスチャ・ボキャブラリの通信を含む、方法。
【請求項１８】
請求項１７記載の方法において、前記ジェスチャ・ボキャブラリは、前記本体の力学的連結の瞬時的ポーズ状態と、前記本体の力学的連結の方位と、前記本体の力学的連結の方位の組み合わせとの内の少なくとも１つを、テキスト形態で表す、方法。
【請求項１９】
請求項１７記載の方法において、前記ジェスチャ・ボキャブラリは、前記本体の力学的連結の状態を表す、キャラクタのストリングを含み、前記力学的連結が前記本体の少なくとも１つの第１付加物である、方法。
【請求項２０】
請求項１９記載の方法であって、
前記ストリングにおける各位置を第２付加物に割り当てるステップであって、該第２付加物が前記第１付加物に接続されているステップと、
複数のキャラクタのキャラクタを、前記第２付加物の複数の位置の各々に割り当てるステップと、
を備えている、方法。
【請求項２１】
請求項２０記載の方法において、空間における絶対位置および方位、前記本体の全体的位置および方位とは無関係の前記本体に対する固定位置および方位から成る１群から選択した位置を用いて、ならびに前記本体の動作に応答して対話的に座標原点を確定することによって、前記複数の位置が前記座標原点に対して確定される、方法。
【請求項２２】
請求項２０記載の方法であって、前記複数のキャラクタのキャラクタを、前記第１付加物の複数の方位の各々に割り当てるステップを備えている、方法。
【請求項２３】
請求項１９記載の方法において、前記検出するステップは、前記本体の外挿補間位置が仮想空間と交差するときを検出することを含み、前記仮想空間は、前記コンピュータに結合されているディスプレイ・デバイス上に図示される空間を含む、方法。
【請求項２４】
請求項１３記載の方法において、前記制御するステップは、
プロセッサ上にホストされているアプリケーションの機能を制御すること、及び、
前記コンピュータのプロセッサ・ディスプレイ上に表示されているコンポーネントを制御すること、
の内少なくとも１つを含む、方法。
【発明の詳細な説明】
【技術分野】
【０００１】
関連出願
本願は、２００６年２月８日に出願した米国（ＵＳ）特許出願第１１／３５０，６９７号の一部継続出願である。
【０００２】
本願は、２００８年４月２日に出願したＵＳ特許出願第６１／０４１，８９２号の優先権を主張する。
本出願は、２００８年４月２４日に出願したＵＳ特許出願第１２／１０９，２６３号の一部継続出願である。
【０００３】
本願は、２００８年１０月１４日に出願したＵＳ特許出願第６１／１０５，２４３号の優先権を主張する。
本願は、２００８年１０月１４日に出願したＵＳ特許出願第６１／１０５，２５３号の優先権を主張する。
発明の分野
本発明は、一般的にはコンピュータ・システムの分野に関し、更に特定すれば、拡張した被写体深度における三次元情報の抽出を用いた、ジェスチャ・ベース制御システム(gesture based control system)のためのシステムおよび方法に関する。
【従来技術】
【０００４】
撮像システムにおいて、拡張した被写体深度における三次元情報を抽出するとき、ある場面における一点までの距離は、同時に取りこんだ２つ以上の画像におけるその位置から推定することができる。この一点の三次元（３Ｄ）位置は、撮像装置間の３Ｄ関係が分かれば、基本的な幾何学的関係から計算することができる。ステレオ相関またはステレオ深度計算と呼ばれることが多い、多数の画像から空間的位置を計算する際の課題は、１つの画像における地点のマッピングを他方の画像におけるそのマッピングと自動的かつ高精度に関連付けることである。これは、殆どの場合、１つの画像から１つ以上の他の画像に画像の特徴を相関付けることによって行われている。しかしながら、全てのステレオ照合方法における基礎的な前提は、画像内に何らかの識別可能な局所的コントラストまたは特徴があって、その地点を別の画像におけるその位置に一致させられなければならないということである。したがって、焦点ずれ(misfocus)のために画像に何の局所的コントラストや特徴もない場合に問題が生ずる。ステレオ照合は、焦点が合っていない画像の領域においては高精度の結果が得られない。
【０００５】
画像の被写体深度を拡張する従来の手段は、カメラのレンズの瞳の直径を縮小することであった（「ストッピング・ダウン」(stopping down)）。しかしながら、２つの副作用によって、この技法の有用性が損なわれる。第１に、撮像システムの感度が、瞳直径率の二乗分の１に低下する。第２に、最大空間周波数応答が、瞳直径率分の１に低下し、画像における分解能およびコントラストに制限が生ずる。つまり、従来の撮像システムでは、被写体深度、露出時間、および全体的なコントラストの間にはトレードオフがある。多重カメラ測距システムの場合、最終的な影響は、立体深度の精度(stereoscopic depth accuracy)と作業範囲との間における妥協である。
引用による包含
本明細書において述べる各特許、特許出願、および／または刊行物は、本願において引用することにより、個々の特許、特許出願、および／または刊行物の各々が具体的にそして個々に、引用することにより本願に含まれることを示した場合と同程度にその全体が本願にも含まれるものとする。
【図面の簡単な説明】
【０００６】
【図１】図１は、本発明のシステムの一実施形態の図である。
【図２】図２は、本発明のマーキング・タグの一実施形態の図である。
【図３】図３は、本発明の一実施形態におけるジェスチャ・ボキャブラリ(gesture vocabulary)におけるポーズの図である。
【図４】図４は、本発明の一実施形態におけるジェスチャ・ボキャブラリにおける方位の図である。
【図５】図５は、本発明の一実施形態におけるジェスチャ・ボキャブラリにおける２つの手の組み合わせの図である。
【図６】図６は、本発明の一実施形態におけるジェスチャ・ボキャブラリにおける方位配合の図である。
【図７】図７は、本発明のシステムの一実施形態の動作を示すフロー図である。
【図８−１】図８−１は、本システムの一実施形態におけるコマンドの一例である。
【図８−２】図８−２は、本システムの一実施形態におけるコマンドの一例である。
【図９】図９は、一実施形態の下において、拡張した被写体深度において三次元情報を抽出するジェスチャ。ベース制御システムのブロック図である。
【図１０】図１０は、一実施形態の下において、ジェスチャ・ベース制御システムにおいて用いられる波面コーディング撮像システムのブロック図である。
【図１１】図１１は、一実施形態の下において、２つの波面コーディング・カメラを含む波面コーディング撮像システムを用いて、拡張した被写体深度において三次元情報を抽出するジェスチャ・ベース制御システムのブロック図である。
【図１２】図１２は、一実施形態の下において、拡張被写体深度において抽出した三次元情報を用いたジェスチャ・ベース制御のフロー図である。
【図１３】図１３は、一実施形態の下において、ジェスチャ・ベース制御システムにおいて用いられる波面コーディング設計プロセスのブロック図である。
【発明を実施するための形態】
【０００７】
以下に、拡張被写体深度において抽出した三次元情報を用いたジェスチャ・ベース制御のためのシステムおよび方法について説明する。一実施形態のシステムは、少なくとも１つのプロセッサに結合されている複数の光検出器を備えている。これらの光検出器は、本体(body)を撮像する。複数の光検出器の内少なくとも２つの光検出器は、波面コーディング・カメラを構成する。プロセッサは、自動的に、本体のジェスチャを検出する。ジェスチャは、本体の瞬時的状態を構成する。検出は、一時点におけるジェスチャのジェスチャ・データを集計することを含む。ジェスチャ・データは、撮像システムの被写体深度内における本体の焦点解明データ(focus-resolved data)を含む。プロセッサは、ジェスチャをジェスチャ信号に変換し、このジェスチャ信号を用いて、プロセッサに結合されているコンポーネントを制御する。
【０００８】
一実施形態の方法は、撮像システムによって本体を撮像することを含み、この撮像は、本体の波面コーディング画像を発生することを含む。本方法は、自動的に本体のジェスチャを検出し、このジェスチャは本体の瞬時的状態を構成する。検出は、一時点におけるジェスチャのジェスチャ・データを集計することを含む。ジェスチャ・データは、撮像システムの被写体深度内における本体の焦点解明データを含む。本方法は、ジェスチャをジェスチャ信号に変換し、ジェスチャ信号に応答して、コンピュータに結合されているコンポーネントを制御することを含む。
【０００９】
以下の説明では、本明細書に記載する実施形態の完全な理解を更に深めるために、多数の特徴について説明する。本発明は、これらの具体的な詳細がなくても実用化できることは明白である。その他の場合、周知の機構については、詳細に説明していない。
システム
本発明の一実施形態のブロック図を図１に示す。ユーザは、彼の手１０１および１０２を、カメラ１０４Ａ〜１０４Ｄのアレイの視野に置く。これらのカメラは、指ならびに手１０１および１０２の位置、方位、および移動を検出し、出力信号をプリプロセッサ１０５に発生する。プリプロセッサ１０５は、カメラ出力をジェスチャ信号に変換し、このジェスチャ信号をシステムのコンピュータ演算装置１０７に供給する。コンピュータ１０７は、入力情報を用いて、１つ以上の画面上カーソルを制御するコマンドを発生し、ビデオ出力をディスプレイ１０３に供給する。
【００１０】
このシステムでは、一人のユーザの手を入力として示すが、本発明は、多数のユーザを用いても実施することができる。加えて、手の代わりにまたは手に加えて、本システムはユーザの身体の任意の１つ以上の部分を追跡することができ、その部分とは、頭部、足、脚部、腕、肘、膝等を含む。
【００１１】
図示の実施形態では、４台のカメラを用いて、ユーザの手１０１および１０２の位置、方位、および移動を検出する。尚、本発明の範囲や主旨から逸脱することなく、本発明はこれらよりも多いカメラまたは少ないカメラとでも用いることができることは言うまでもない。加えて、実施形態例では、カメラは対称的に配置されているが、本発明にはこのような対称性の要件はない。ユーザの手の位置、方位、および移動を許容するのであれば、カメラの任意の数および位置付けでも、本発明において用いることができる。
【００１２】
本発明の一実施形態では、用いられるカメラは、グレー・スケール画像を取り込むことができるモーション・キャプチャ・カメラである。一実施形態では、用いられるカメラは、Vicon MX40カメラのような、Vicon社が製造するカメラである。このカメラは、カメラ内部処理を含み、毎秒１０００フレームの画像取り込みが可能である。モーション・キャプチャ・カメラは、マーカを検出し位置を突き止めることができる。
【００１３】
記載している実施形態では、カメラは光学的検出に用いられる。他の実施形態では、カメラまたは他の検出器は、電磁、静磁気、ＲＦＩＤ、またはその他の任意の適した種類の検出に用いることができる。
【００１４】
プリプロセッサ１０５は、三次元空間点再現および骨格点ラベリングを発生するために用いられる。ジェスチャ変換器１０６は、３Ｄ空間情報およびマーカ・モーション情報をコマンド言語に変換するために用いられる。コマンド言語は、コンピュータ・プロセッサによって解釈され、ディスプレイ上におけるカーソルの位置、形状、および動作(action)を更新することができる。本発明の代替実施形態では、プリプロセッサ１０５およびジェスチャ変換器１０６を組み合わせて１つのデバイスにすることもできる。
【００１５】
コンピュータ１０７は、Apple社、Dell社、または任意のその他の適した製造業者によって製造されるような、任意の汎用コンピュータとすればよい。コンピュータ１０７は、アプリケーションを実行し、表示出力を供給する。カーソル情報は、他の場合にはマウスまたはその他の先行技術の入力デバイスから得られるが、ここではジェスチャ・システムから得られる。
マーカ・タグ
本発明は、ユーザの１つ以上の指においてマーカ・タグの使用を想定し、本システムがユーザの手を突き止め、ユーザが左または右のどちらの手を見ているのか特定し、どの指が見えるか特定することができるようにする。これによって、本システムは、ユーザの手の位置、方位、および移動を検出することが可能になる。この情報によって、本システムは多数のジェスチャを認識することが可能となり、これらのジェスチャは、ユーザによってコマンドとして用いることが可能になる。
【００１６】
一実施形態では、マーカ・タグは基板（本実施形態では、人の手の上の種々の位置に装着するのに適している）と、基板の表面上に一意識別パターンで配列された離散マーカとを備えている物理的タグである。
【００１７】
マーカおよび連携する外部検知システムは、それらの三空間位置の高精度、正確、ならびに迅速および連続的捕獲が可能である任意のドメイン（光学、電磁、静磁気ドメイン等）において動作することができる。マーカ自体は、能動的（例えば、構造化した電磁パルスを放出することによって）、または受動的（例えば、本実施形態におけるように光学的に逆反射型とすることによって）のいずれでも動作することができる。
【００１８】
各捕獲フレームにおいて、検出システムは、器具を備え付けた作業空間立体（カメラまたはその他の検出器の可視範囲内）において現在タグからの全てのマーカを含む三空間位置を再現した、粒団状「クラウド」を受ける。各タグ上のマーカは、十分に多数であり、一意のパターンに配列されているので、検出システムは以下のタスクを行うことができる。（１）再現した各マーカ位置を、１つのタグを形成する点の１つのみの副集合体(subcollection)に割り当てるセグメント化、（２）セグメント化した点の各副集合体を特定のタグとして識別するラベリング、（３）識別したタグの三空間位置を再現する位置突き止め、および（４）識別したタグの三空間方位を再現する方位決定(orientation)。タスク（１）および（２）は、マーカ・パターンの具体的な本質によって可能となる。これについては、図２の一実施形態において以下で説明し例示する。
【００１９】
一実施形態では、タグ上のマーカは、規則的な格子位置の部分集合に装着されている。この基礎となる格子は、本実施形態のように、従来からのデカルト型であってもよいし、代わりに、他の何らかの規則的平面碁盤目状（regular plane tessellation; 例えば、三角形／六角形タイリング配列）であってもよい。格子の目盛りおよび空間は、隣接する格子位置が混乱する可能性がないように、マーカ検知システムの既知の空間分解能に関して確定する。全てのタグについてのマーカ・パターンの選択は、次の制約を満たさなければならない。タグのパターンは、回転、平行移動、または鏡像のいずれの組み合わせによる他のいずれのタグ・パターンとも一致してはならない。更に、ある指定した数のコンポーネント・マーカの損失（または隠蔽(occlusion)が許容されるように、多数のマーカおよびその配列を選択するとよい。いずれの任意の変換後であっても、損なったモジュール(compromised module)を他のいずれとも混同させることが起こりそうにないようにしなければならない。
【００２０】
これより図２を参照すると、多数のタグ２０１Ａ〜２０１Ｅ（左手）および２０２Ａ〜２０２Ｅ（右手）が示されている。各タグは、矩形であり、本実施形態では、５×７の格子アレイで構成されている。矩形形状が選択されたのは、タグの方位を決定し易いため、そして鏡面複製(mirror duplicate)の可能性を低減するためである。図示の実施形態では、各手の指毎にタグがある。実施形態によっては、手毎に１つ、２つ、３つ、または４つのタグを用いることが適当である場合もある。各タグは、異なるグレー・スケールまたは色調の境界を有する。この境界の内部には、３×５格子アレイがある。マーカ（図２の黒いドットで表す）は、情報を提供するために、この格子のある点に配置されている。
【００２１】
各パターンを「共通」および「一意」のサブパターンにセグメント化することにより、タグのマーカ・パターンにおいて、認定情報(qualifying information)をエンコードすることができる。例えば、本実施形態は、２つの可能な「境界パターン」、矩形境界線(boundary)を中心としたマーカの分布を指定する。つまり、タグの「ファミリー」を確立する。このため、左手を意図したタグは、タグ２０１Ａ〜２０１Ｅにおいて示されるような同じ境界パターンを全て用いることができ、一方右手の指に取り付けられているタグには、タグ２０２Ａ〜２０２Ｅに示すように異なるパターンを割り当てることができる。タグの全ての方位において、左パターンを右パターンから区別できるように、このサブパターンを選択する。図示した例では、左手パターンは、各角に１つのマーカ、そして角格子位置から２番目に１つのマーカを含む。右手パターンは、２つの角のみにマーカを有し、角でない格子位置に２つのマーカを有する。このパターンを検査することによって、４つのマーカの内いずれか３つが見ることができる限り、左手パターンを右手パターンから明確に区別することができることが明らかとなった。一実施形態では、境界の色または色調も、利き手(handedness)のインディケータとして用いることができる。
【００２２】
各タグは、勿論、一意の内部パターンを採用し続けなければならず、マーカはそのファミリの共通境界以内に分散されている。図示の実施形態では、内部格子アレイにおける２つのマーカが、１０本の指の各々を一意に特定するのに十分であり、指の回転または方位による複製が生じないことが分かる。マーカの１つが隠蔽されたとしても、タグのパターンおよび利き手の組み合わせから、一意の識別子が得られる。
【００２３】
本実施形態では、格子の位置は、各逆反射マーカをその意図する位置に装着する（手作業の）タスクに対する補助として、視覚的に剛性基板上に存在する。これらの格子および意図するマーカ位置は、カラー・インクジェット・プリンタによって基板上にそっくりそのまま印刷される。ここでは、基板はシート状の（初期状態では）可撓性の「収縮フィルム」である。各モジュールがこのシートから切り離され、炉で焼成される。この熱処理の間に、各モジュールには正確で繰り返し可能な収縮が起こる。この手順に続く短い間隔において、冷却するタグには、例えば、指の長手方向曲線にしたがって、僅かに形状を付けることができる。その後、基板は適度に剛性となり、マーカを、指示された格子点に装着することができる。
【００２４】
一実施形態では、マーカ自体は、接着剤または何らかのその他のしかるべき手段によって基板に装着された小さな反射球体のように、三次元である。このマーカが三次元であることは、二次元マーカ上における検出および位置突き止めに役立つことができる。しかしながら、いずれも、本発明の主旨や範囲から逸脱することなく用いることができる。
【００２５】
現在では、タグはベルクロ(Velcro)またはその他のしかるべき手段によって、操作者が身に付けている手袋に装着されるか、あるいは、柔らかな両面テープを用いて操作者の指に直接装着される。第３実施形態では、剛性基板と共に分与し、操作者の指および手に直接個々のマーカを装着するまたは「描く」することができる。
ジェスチャ・ボキャブラリ
本発明は、手のポーズ、方位、手の組み合わせ、および方位の配合(orientation blends)で構成されるジェスチャ・ボキャブラリ(gesture vocabulary)を想定する。本発明のジェスチャ・ボキャブラリにおいてポーズおよびジェスチャを立案および伝達するために、表記言語(notation language)も実施する。ジェスチャ・ボキャブラリとは、力学的連結の瞬時的な「ポーズ状態」を簡潔なテキスト形態で表すシステムである。対象となる連結は、生物（例えば、人の手、または人の身体全体、あるいはバッタの足、あるいはキツネザルの関節脊柱）であってもよく、あるいは代わりに非生物であってもよい（例えば、ロボットのアーム）。いずれの場合でも、この連結は、単純（脊柱）でもまたは分岐（手）でもよい。本発明のジェスチャ・ボキャブラリ・システムは、いずれの特定的な連結についても、一定長のストリングを確立する。こうして、列(string)の「キャラクタ位置」を占める特定のＡＳＣＩＩキャラクタの集合体が、連結の瞬時的状態、即ち、「ポーズ」の一意の記述となる。
手のポーズ
図３は、本発明を用いたジェスチャ・ボキャブラリの一実施形態における手のポーズを示す。本発明は、１本の手における５本の指の各々を用いることを仮定する。これらの指には、ｐ−小指、ｒ−薬指、ｍ−中指、ｉ−人差し指、およびｔ−親指とコーディングする。指および親指のポーズ数を、図３に定義し更に例示する。ジェスチャ・ボキャブラリ・ストリングは、連結（この場合指）の表現可能な自由度毎に１つのキャラクタ位置を確定する。更に、このような各自由度は、離散化（または「量子化」）されていることが分かるので、その最大運動範囲は、当該ストリング位置における有限数の標準的ＡＳＣＩＩキャラクタの内の１つの割り当てによって表現することができる。これらの自由度は、本体特定の原点および座標系（手の裏、バッタの身体の中心、ロボット・アームの底辺等）に関して表現される。したがって、連結の位置および方位を「全体的に」更に大域的な座標系において表現するために、少数の追加のジェスチャ・ボキャブラリ・キャラクタ位置が用いられる。
【００２６】
引き続き図３を参照すると、多数のポーズが定義されており、ＡＳＣＩＩキャラクタを用いて識別されている。これらのポーズの一部は、親指およびそれ以外の指の間で分けられている。この実施形態では、本発明は、ＡＳＣＩＩキャラクタ自体がポーズを示唆するようなコーディングを用いる。しかしながら、示唆的であろうがなかろうが、ポーズを表すには、いずれのキャラクタでも用いることができる。加えて、本発明では、表記ストリングにＡＳＣＩＩキャラクタを用いる必要性はない。本発明の範囲や主旨から逸脱することなく、適したシンボル、数値、またはその他の表現であればいずれでも用いることができる。例えば、望ましければ、表記は指毎に２ビットを用いることもでき、あるいは所望に応じて、他の何らかの数のビットを用いることもできる。
【００２７】
巻き込んだ指(curled finger)は、キャラクタ「＾」によって表され、一方巻き込んだ親指は「＞」で表される。真っ直ぐな指または上を向いた親指は、「ｌ」によって示され、角度をなす場合は「＼」または「／」で示される。「−」は、真っ直ぐに横を向いた親指を表し、「ｘ」は平面内に向いた親指を表す。
【００２８】
これら個々の指および親指の記述を用いると、確固不動の数の手のポーズを、本発明の方式を用いて、定義し記述することができる。各ポーズは、５つのキャラクタによって表され、その順序は、前述したように、ｐ−ｒ−ｍ−ｉ−ｔとなる。図３は、多数のポーズを例示し、ここでは一例として数個について説明する。手を平らにして地面に平行に保持する場合、「ｌｌｌｌｌ」で表される。握り拳は「＾＾＾＾＞」によって表される。「ＯＫ」の合図は、「ｌｌｌ＾＞」によって表される。
【００２９】
キャラクタ・ストリングは、示唆的キャラクタを用いる場合、単純な「人間可読性」(human readabiity)の機会を与える。各自由度を記述する１組の可能なキャラクタは、総じて、素早い認識および明白な類似性に着目して選択することができる。例えば、垂直線（「｜」）は、連結エレメントが「直線状」であることを意味するように思われ、エル（「Ｌ」）は、９０度の屈曲を意味することもでき、曲折アクセント記号（「＾」）は、鋭角の屈曲を示すことができる。先に注記したように、所望に応じて、いずれのキャラクタまたはコーディングでも用いることができる。
【００３０】
本明細書に記載するようなジェスチャ・ボキャブラリ・ストリングを採用するシステムはいずれも、ストリング比較の高い計算効率の恩恵を享受する。指定されたいずれのポーズについても、その識別または検索は、キャラクタどおり、所望のポーズ・ストリングと瞬時的な実際のストリングとの間における「ストリング・コンペア」（例えば、ＵＮＩＸ（登録商標）の「stremp()」関数）となる。更に、「ワイルドカード・キャラクタ」の使用によって、プログラマやシステム設計者には、一層分かりやすく効率的かつ効果的となる。自由度の瞬時状態が一致とは関わりがない場合、疑問符（「？」）として指定することができ、追加のワイルドカードの意味を割り当てることができる。
方位(Orientation)
指および親指のポーズに加えて、手の方位が情報を表すことができる。地球空間(global-space)方位を記述するキャラクタも、透過的に選択するっことができる。キャラクタ「＜」、「＞」、「＾」、および「ｖ」は、方位キャラクタ位置において遭遇した場合、左、右、上、および下の考えを示すために用いることができる。図４は、手方位記述子、ならびにポーズおよび方位を組み合わせるコーディングの例を示す。本発明の一実施形態では、２つのキャラクタ位置が、最初に手の平の方向を指定し、次いで指の方向を指定する（指が真っ直ぐになっている場合、指の実際の屈曲には関係なく）。これら２つの位置に可能なキャラクタは、方位の「本体中心」観念(body-centric notion)を表現し、「−」、「＋」、「ｘ」、「＊」、「＾」、および「ｖ」は、中間、側方、前方（順方向、本体から離れる側）、後方（逆方向、本体から離れる側）、頭上（上方）、および後端（下方）を記述する。
【００３１】
本発明の表示方式および実施形態では、キャラクタを示す５本指のポーズに続いて、コロン、次いで完全なコマンド・ポーズを定義するために２つの方位キャラクタがある。一実施形態では、開始位置は「ｘｙｚ」ポーズと呼ばれ、親指は真っ直ぐ上を指し示し、人差し指は前方を指し示し、中指は人差し指に対して垂直であり、右手によってこのポーズが作られる場合、左を指し示す。これは、ストリング「＾＾ｘｌ−：−ｘ」によって表される。
【００３２】
「ＸＹＺ−手」は、視覚的に提示された三次元構造の最大６自由度のナビゲーションを可能にするために、人の手の幾何学的形状を利用する技法である。この技法は操作者の手の全体的(bulk)平行移動および回転のみに依存し、したがってその指は原則として、いずれの所望のポーズに保持することができるが、本実施形態は、人差し指が本体から離れる方向を指し、親指が天井を指し、中指が左−右を指す、静止構成(static configuration)を優先する。つまり、これら３本の指は、三空間座標系、つまり、「ＸＹＺ−手」の３本の相互に直交する軸を記述する（大まかであるが、明白な歴然とした趣旨がある）。
【００３３】
次いで、ＸＹＺ−手ナビゲーションは、操作者の身体の前において所定の「中立位置」に保持された、前述のようなポーズの手、指に進む。三空間物体（またはカメラ）の三平行移動および三回転自由度へのアクセス(access)は以下の自然な方法で行われる。手の右−左移動（身体の自然座標系に対して）により、計算的コンテキストのｘ−軸に沿った移動が生じ、手の上下移動により、被制御コンテキストのｙ−軸に沿った移動が生じ、前後の手の移動（操作者の身体に向かう方向／から離れる方向）によって、このコンテキストにおけるｚ−軸運動が生ずる。同様に、人差し指を中心とする操作者の手の回転により、計算的コンテキストの方位の「転動」(roll)変化が生じ、操作者の手の中指および親指をそれぞれ中心とする回転によって、「縦方向」および「横方向」変化が類似的に生ずる。
【００３４】
尚、「計算的コンテキスト」は、本明細書では、ＸＹＺ−手方法によって制御される全体に言及するために用いられており、合成三空間物体またはカメラのいずれかを示唆するように思われるが、この技法は実世界物体の種々の自由度を制御するため、例えば、しかるべき回転アクチュエータを装備したビデオまたはモーション・ピクチャ・カメラのパン／ティルト／ロール制御にも等しく有用であることは言うまでもないことを注記しておく。更に、ＸＹＺ−手の姿勢によって得られる物理的自由度は、仮想ドメインであっても、ありのままにマッピングされ難い場合もある。本実施形態では、ＸＹＺ−手は、大きな全景的表示画像に対してナビゲーション的アクセスを提供するためにも用いられるので、操作者の手の左−右および上−下の運動が、画像を中心とする予期された左−右または上−下「パンニング」に繋がるが、操作者の手の前−後運動は「ズーミング」制御にマッピングする。
【００３５】
あらゆる場合において、手の運動と誘発される計算的平行移動／回転との間の結合は、直接的（即ち、操作者の手の位置的または回転オフセットが、一対一で、何らかの線形または非線形関数によって、計算的コンテキストにおける物体またはカメラの位置的または回転オフセットにマッピングする）、または間接的（即ち、操作者の手の位置的または回転オフセットが、一対一で、何らかの線形または非線形関数によって、計算的コンテキストにおける位置／方位の第１導関数またはより上位の導関数にマッピングし、実行中の積分が、計算的コンテキストの実際のゼロ次位置／方位における被静的変化を生み出す）のいずれかであることができる。この後者の制御手段は、自動車の「アクセル・ペダル」の使用に類似しており、ペダルの一定のオフセットによって、ほぼ一定の車速が得られる。
【００３６】
実世界のＸＹＺ−手の局所的六自由度座標原点としての役割を果たす「中立位置」は、（１）空間における絶対位置および方位として（例えば、密閉室に対する）、（２）操作者の全体的な位置および「方向」(heading)には関係なく、操作者自身に対する固定位置および方位（例えば、身体の前方８インチ、顎の下１０インチ、横方向に肩の平面と一直線状）として、あるいは（３）操作者の故意の二次的行動によって、対話的に（例えば、操作者の「別の」手によって演じられるジェスチャ・コマンドを用いて。前記コマンドは、ＸＹＺ−手の現在の位置および方位が今後平行移動および回転の原点として用いられるべきことを示す）確立することができる。
【００３７】
更に、ＸＹＺ−手の中立位置の周囲に「戻り止め」(detent)領域（または「死角」）を設けて、この立体空間における移動が被制御コンテキストにおける移動にマッピングしないようにすると便利である。
【００３８】
他のポーズも含むことができる。
[|||||:vx]は、手を平らにして（親指が他の指と平行）、手のひらが下を向き、指が前方に突き出している。
【００３９】
[|||||:x^]は、手を平らにして、手のひらが前を向き、指が天井を向いている。
[|||||:-x]は、手を平らにして、手のひらが身体の中心に向いており（左手の場合は右、右手の場合は左）、指が前方に突き出している。
【００４０】
[^^^^-:-x]は、手を１つにして親指を合わしている（親指は天井を向いている）。
[^^^|-:-x]は、銃を前方に構える真似である。
二手組み合わせ
本発明は、１つの手のコマンドおよびポーズだけでなく、２つの手によるコマンドおよびポーズも想定している。図５は、本発明の一実施形態における二手組み合わせおよび関連付けた表記の例を示す。第１の例の表記を検討すると、「完全停止」とは２つの拳を閉じていることを示す。「スナップショット」の例では、各手の親指および人差し指が広げられ、親指が互いに向き合って、ゴール・ポストの形状の枠を定めている。「舵およびスロットル開始位置」は、指および親指が上を向いており、手のひらが画面に面している。
方位配合(Orientation Blends)
図６は、本発明の一実施形態における方位配合の一例を示す。図示の例では、配合は、指ポーズ・ストリングの後ろにある括弧の中に囲まれた方位表記の対によって表されている。例えば、第１コマンドは、全て真っ直ぐに伸ばした指の位置を示す。方位コマンドの第１対により、手のひらをディスプレイに向かって平らにして、第２対によって、手を画面に向けて４５度縦に回転させる。この例では、配合の対を示したが、本発明ではいずれの数の配合でも考えられる。
コマンドの例
図８は、本発明と共に用いることができる、多数の可能なコマンドを示す。本明細書における論述の一部は、ディスプレイ上におけるカーソルの制御についてであったが、本発明はその行動に限定されるのではない。実際に、本発明は、画面上における全てのデータおよびデータの一部、更にはディスプレイの状態を操作する際に、様々に応用することができる。例えば、ビデオ・メディアの再生中に、これらのコマンドをビデオ制御に代わって用いることができる。これらのコマンドは、一時停止、早送り、巻き戻しなどを行うために用いることができる。加えて、画像のズーム・インおよびズーム・アウトを行うため、画像の方位を変化させるため、いずれかの方向にパンニングするため等に実施することができる。また、本発明は、開く、閉じる、保存する等のような、メニュー・コマンドの代わりに用いることもできる。言い換えると、想像することができるいずれのコマンドまたは活動でも、手のジェスチャによって実施することができる。
動作
図７は、一実施形態における本発明の動作を示すフロー図である。ステップ７０１において、検出システムはマーカおよびタグを検出する。判断ブロック７０２において、タグおよびマーカが検出されたか否か判断を行う。検出されていない場合、システムはステップ７０１に戻る。ステップ７０２においてタグおよびマーカが検出された場合、システムはステップ７０３に進む。ステップ７０３において、システムは、検出されたタグおよびマーカから、手、指、およびポーズを特定する。ステップ７０４において、システムは、ポーズの方位を特定する。ステップ７０５において、システムは、検出された１つまたは双方の手の三次元空間位置を特定する。（ステップ７０３、７０４、および７０５の内任意のものまたは全てを１つのステップとして組み合わせてもよいことに注意されたい）。
【００４１】
ステップ７０６において、以上の情報を、前述したジェスチャ表記に変換する。判断ブロック７０７において、ポーズが有効か否か判断を行う。これは、発生した表記ストリングを用いた単純なストリング比較によって行うことができる。ポーズが有効でない場合、システムはステップ７０１に戻る。ポーズが有効である場合、ステップ７０８において、システムは表記および位置情報をコンピュータに送る。ステップ７０９において、コンピュータは、ジェスチャに応答して、取るべきしかるべき行為を決定し、ステップ７１０においてそれに応じてディスプレイを更新する。
【００４２】
本発明の一実施形態では、ステップ７０１〜７０５は、カメラ内蔵プロセッサによって実行する。他の実施形態では、望ましければ、この処理をシステム・コンピュータによって実行することもできる。
解析(Parsing)および変換(Translating)
本システムは、基礎となるシステムによって再現された低レベルのジェスチャの流れを「解析」および「変換」し、これら解析し変換したジェスチャを、コマンドまたはイベント・データの流れに変換することができる。このデータは、広範囲のコンピュータ・アプリケーションおよびシステムを制御するために用いることができる。これらの技法およびアルゴリズムは、これらの技法を実現するエンジン、およびエンジンの能力を利用するコンピュータ・アプリケーションを構築するプラットフォームの双方を提供するコンピュータ・コードから成るシステムにおいて具体化することができる。
【００４３】
一実施形態は、コンピュータ・インターフェースにおいて、人の手の豊富なジェスチャの使用を可能にすることを中心に据えるが、他の身体部分によって行われるジェスチャ（限定ではなく、腕、胴体、脚部、および頭部を含む）や、手ではない種々の器具によって行われるジェスチャを認識することもできる。これらの器具は、静止および連結式(articulating)双方であり、限定ではないが、キャリパ、コンパス、可撓性曲線近似器(curve approximator)、および種々の形状のポインティング・デバイスが含まれる。マーカおよびタグは、操作者によって所望に応じて携行および使用することができる品目および器具に被着することができる。
【００４４】
本明細書において記載するシステムは、認識し反応することができるジェスチャの範囲が豊富なジェスチャ・システムを構築することを可能にしつつ、同時にアプリケーションへの容易な統合にも備えた、多数の改革を組み込む。
【００４５】
一実施形態では、ジェスチャ解析および変換システムは、以下のものを備えている。
１）様々な異なる集計レベルにおいて、ジェスチャを指定する（コンピュータ・プログラムにおいて用いるためのエンコード）緻密かつ効率的な方法。
【００４６】
ａ．１本の手の「ポーズ」（手の部分の外形および互いに対する方位）。三次元空間における１つの手の方位および位置。
ｂ．２つの手の組み合わせ。いずれかの手がポーズ、位置、または双方を考慮に入れる。
【００４７】
ｃ．多数の人物の組み合わせ。本システムは２つよりも多い手を追跡することができ、したがって、一人よりも多い事物が協同して（ゲーム・アプリケーションの場合には競合して）目標システムを制御することができる。
【００４８】
ｄ．ポーズが連続して組み合わされる順次ジェスチャ。これらを「動画」ジェスチャと呼ぶ。
ｅ．操作者が空間内の形状を追跡する「書記素」ジェスチャ(grapheme gesture)。
【００４９】
２）所与のアプリケーション・コンテキストに関連があるものの上で、各カテゴリから特定のジェスチャを登録するプログラム技法。
３）登録されているジェスチャを特定することができ、これらのジェスチャをカプセル化するイベントを関連するアプリケーション・コンテキストに配信することができるように、ジェスチャの流れを解析するアルゴリズム。
【００５０】
指定システム（１）は、構成エレメント（１ａ）から（１ｆ）と共に、本明細書に記載するシステムのジェスチャ解析および変換能力を利用するための基礎を提供する。
１本の手の「ポーズ」は、
ｉ）手の指と甲との間の相対的方位、
ｉｉ）少数の離散状態への量子化、
のストリングとして表される。
【００５１】
相対的接合方位を用いることにより、本明細書に記載するシステムは、手のサイズおよび外形形状が異なることに伴う問題を回避することができる。このシステムでは、「操作者較正」を必要としない。加えて、ポーズをストリングまたは相対的方位の集合体として指定することにより、ポーズ表現を更に別のフィルタおよび指定と組み合わせることによって、一層複雑なジェスチャ指定(specification)を容易に作成することが可能になる。
【００５２】
ポーズ指定に少数の離散状態を用いることによって、ポーズを簡潔に指定することができ、更に種々の基礎となる追跡技術（例えば、カメラを用いた受動的光学追跡、点灯ドットおよびカメラを用いた能動的光学追跡、電磁場追跡等）を用いて、精度の高いポーズ認識を確実に行うことができる。
【００５３】
各カテゴリ（１ａ）から（１ｆ）におけるジェスチャは、部分的に（または最小限に）指定することができるので、重大でないデータは無視される。例えば、２本の指の位置が明確であり他の指の位置は重要でないジェスチャは、２本の関連のある指の動作位置が与えられ、同じストリング内において、「ワイルドカード」または包括的「無視」インディケータが他の指に対して掲示されている１つの指定によって表すことができる。
【００５４】
本明細書において記載するジェスチャ認識のための改革の全ては、限定ではなく、多層指定技法、相対的方位の使用、データの量子化、および各レベルにおける部分的または最小指定の許容を含み、手のジェスチャの指定を超えて、他の身体部分や「製造した」器具および物体を用いたジェスチャの指定に一般化する。
【００５５】
「ジェスチャを登録する」プログラム技法（２）は、どのジェスチャをエンジンが実行システムの他の部分に入手可能にすべきか定めることをプログラマに可能にする、定められた１組のアプリケーション・プログラミング・インターフェース・コールによって構成されている。
【００５６】
これらのＡＰＩルーチンは、アプリケーション設定時に用いることができ、実行アプリケーションの寿命の間用いることができる静止インターフェース定義を作成する。また、これらは、実行中にも用いることができ、インターフェース特性を動作中に変更することができる。このリアル・タイムでのインターフェース変更により、
ｉ）複雑なコンテキストおよび条件付き制御状態を構築すること、
ｉｉ）動的にヒステリシスを制御環境に追加すること、および
ｉｉｉ）ユーザが実行システム自体のインターフェース・ボキャブラリを変更または拡張することができるアプリケーションを作成すること、
が可能となる。
【００５７】
ジェスチャの流れを解析するアルゴリズム（３）は、（１）におけるように指定され（２）におけるように登録されたジェスチャを、入来する低レベルのジェスチャ・データと比較する。登録されているジェスチャに対する一致が認識された場合、一致したジェスチャを表すイベント・データが積層され実行アプリケーションに配信される。
【００５８】
このシステムの設計においては、効率的なリアル・タイムでの照合が望まれ、指定されたジェスチャは、できるだけ素早く処理される可能性のツリーとして扱われる。
加えて、指定されたジェスチャを認識するために内部で使用されている原始的比較演算子は、アプリケーション・プログラマが用いるためにも露出されるので、アプリケーション・コンテキスト内部からでも、より多くの比較（例えば、複雑なジェスチャまたは複合ジェスチャにおける柔軟な状態の検査）を行うことができる。
【００５９】
認識「ロッキング」セマンティクス(recognition locking semantics)は、本明細書に記載するシステムの改革の１つである。これらのセマンティクスは、登録ＡＰＩ（２）（および、より狭い範囲で、指定ボキャブラリ（１）内に埋め込まれる）によって暗示される(imply)。登録ＡＰＩコールは、
ｉ）「エントリ」状態通知部および「連続」状態通知部、ならびに
ｉｉ）ジェスチャ優先度指定部
を含む。
【００６０】
ジェスチャが認識されている場合、その「連続」状態は、同じまたは低い優先度のジェスチャの全ての「エントリ」状態よりも優先される。このエントリ状態と連続状態との間の区別は、認められるシステム使用可能性に大きくプラスになる。
【００６１】
本明細書において記載するシステムは、実世界のデータ・エラーおよび不確実性をものともせずに、ロバストな動作のためのアルゴリズムを含む。低レベル追跡システムからのデータは不完全である場合もある（光追跡におけるマーカの隠蔽、ネットワーク・ドロップアウト、処理の遅れ等を含む、種々の理由による）。
【００６２】
欠損データは、解析システムによって印が付けられ、その欠損データの量およびコンテキストに応じて、「最後に分かっていた」状態または「最もあり得る」状態のいずれかに組み込まれる。
【００６３】
特定のジェスチャ・コンポーネント（例えば、特定の関節の方位）についての状態が見つからないが、その特定のコンポーネントの「最後に分かっていた」状態を、物理的に可能であると分析することができる場合、本システムはこの最後に分かっていた状態をそのリアル・タイム照合において用いる。
【００６４】
逆に、最後に分かっていた状態が、物理的に不可能であると分析された場合、本システムはそのコンポーネントにとって「最良のジェスチャ範囲」に後退し、この合成データをそのリアル・タイム照合において用いる。
【００６５】
本明細書において記載する指定および解析システムは、「利き手不可知論」をサポートするように注意深く設計されているので、多数の手のジェスチャについて、いずれの手でもポーズの要件を満たすことができる。
仮想／ディスプレイおよび物理空間の一致
本システムは、１つ以上のディスプレイ・デバイス（「画面」）上に描かれた仮想空間を、当該システムの一人または複数の操作者によって占められる物理空間と一致するものとして扱う環境を提供することができる。このような環境の一実施形態についてここで説明する。この現実施形態は、固定位置に３つのプロジェクタ駆動画面を含み、１つのデスクトップ・コンピュータによって駆動され、本明細書に記載したジェスチャ・ボキャブラリおよびインターフェース・システムを用いて制御される。しかしながら、記載する技法は、いかなる数の画面でもサポートすること、これらの画面は移動可能であってもよいこと（固定ではなく）、画面は多くの独立したコンピュータによって同時に駆動してもよいこと、そしてシステム全体はいずれの入力デバイスまたは技法によっても制御できることを注記しておく。
【００６６】
本開示において記載するインターフェース・システムは、物理空間における画面の寸法、方位、および位置を決定する手段を有していなければならない。この情報を仮定して、本システムは、これらの画面が配置されている（そして、本システムの操作者が占める）物理空間を、本システム上で実行しているコンピュータ・アプリケーションの仮想空間への投影として動的にマッピングすることができる。この自動マッピングの一部として、本システムは、システムによってホストされているアプリケーションの必要性に応じて、種々の方法で２つの空間の規模、角度、深さ、寸法、およびその他の空間特性も変換する。
【００６７】
この物理空間と仮想空間との間における連続変換によって、既存のアプリケーション・プラットフォームでは達成が困難である、または既存のプラットフォーム上で実行するアプリケーション毎に１つ１つ実装しなければならない多数のインターフェース技法の一貫性があり普及する使用が可能となる。これらの技法は、（限定ではないが）以下を含む。
【００６８】
１）「リテラル・ポインティング」(literal pointing)の広く行き渡る自然なインターフェース技法としての使用。ジェスチャ・インターフェース環境において手を用いるか、あるいは物理的ポインティング・ツールまたはデバイスを用いる。
【００６９】
２）画面の移動または再位置決めに対する自動補償。
３）操作者の位置に応じて変化するグラフィクス・レンダリング。例えば、深度の知覚を高めるためにパララックス・シフトをシミュレーションする。
【００７０】
４）実世界位置、方位、状態等を考慮に入れた、画面上表示への物理的オブジェクトの含入。例えば、大きく不透明な画面の前に立っている操作者は、アプリケーションのグラフィクスと、画面の背後にある（そして、恐らく移動しているか、または方位を変えている）スケール・モデル(scale model)の真の位置の表現との双方を見ることができる。
【００７１】
リテラル・ポインティングは、マウスに基づくウィンドーイング・インターフェースや殆どのその他の現在のシステムにおいて用いられている絶対ポインティングとは異なることを注記するのは重要である。これらのシステムでは、操作者は仮想ポインタと物理ポインティング・デバイスとの間の変換を管理することを学習しなければならず、更にこれら２つの間で経験的知識に基づいてマッピングしなければならない。
【００７２】
対照的に、本開示において記載するシステムでは、アプリケーションまたはユーザの観点のいずれからでも、仮想空間と物理空間との間に差がないので（仮想空間の方が数学的操作がし易いことを除く）、操作者に経験的知識に基づく変換は必要とされない。
【００７３】
本明細書において記載する実施形態によって提供されるリテラル・ポインティングに最も近い類似性は、接触感応画面（例えば、多くのＡＴＭマシン上で見られる）である。接触感応画面は、画面上の二次元表示空間と画面表面の二次元入力空間との間に１対１のマッピングを規定する。同様に、本明細書において記載するシステムは、１つ以上の画面上に表示される仮想空間と、操作者によって占められる物理空間との間に柔軟なマッピング（１対１のマッピングも可能であるが、その必要性はない）を規定する。この類似性の有益さ(usefulness of the analogy)にも拘わらず、この「マッピング手法」の三次元、任意に大きなアーキテクチャ環境、および多数の画面への拡張は重要である。
【００７４】
本明細書において記載するコンポーネントに加えて、本システムは、環境の物理空間と各画面上の表示空間との間に連続的なシステム・レベルのマッピング（恐らく回転、平行移動、倍率調整、またはその他の幾何学的変換によって変更される）を実現するアルゴリズムも実装することができる。
【００７５】
計算オブジェクトおよびマッピングを取り込み、仮想空間のグラフィック表現を出力するレンダリング・スタック。
イベント・データ（現実施形態では、システムおよびマウス入力からのジェスチャ・データおよびポインティング・データの双方）を制御システムから取り込み、入力イベントからの空間データを仮想空間における座標にマッピングする入力イベント処理スタック。変換されたイベントは、次に、実行アプリケーションに配信される。
【００７６】
本システムがローカル・エリア・ネットワーク上にある数台のコンピュータに跨って実行するアプリケーションをホストすることを可能にする「グルー・レイヤ」。
拡張被写体深度において抽出した三次元情報を用いるジェスチャ・ベース制御
図９は、一実施形態の下において、拡張被写体深度において三次元情報を抽出する撮像システムを含むジェスチャ・ベース制御システム９００のブロック図である。ユーザは、彼の手１０１および１０２をカメラ９０４Ａ〜９０４Ｄのアレイの視野に置く。アレイ９０４Ａ〜９０４Ｄの内少なくとも２台のカメラが、波面コーディング・カメラとなり、その各々は、以下で詳細に説明するように、波面コーディングマスク（ここでは、「光学非球面エレメント」または「光学エレメント」とも呼ぶ）を含む波面コーディング撮像システムのエレメントを備えている。ユーザの手および／または指は、先に述べたマーカ・タグを含んでいてもいなくてもよい。
【００７７】
カメラ９０４Ａ〜９０４Ｄは、指ならびに手１０１および１０２の位置、方位、移動を含む、指ならびに手１０１および１０２の画像を検出するまたは取り込み、出力信号をプリプロセッサ９０５に発生する。プリプロセッサ９０５は、以下で説明する波面コーディングディジタル信号処理９０８を含むこと、またはこれに結合することができる。あるいは、波面コーディングディジタル信号処理は、システム９００の１つ以上の他のコンポーネントに含めること、結合すること、これらの間で分散することもできる。波面コーディングディジタル信号処理９０８は、撮像システムの被写体深度を大きく拡大するように構成されている。
【００７８】
プリプロセッサ９０５は、カメラ出力をジェスチャ信号に変換し、このジェスチャ信号をシステムのコンピュータ演算装置９０７に供給する。このようにする際に、プリプロセッサ９０５は三次元空間点再現および骨格点ラベリングを発生する。ジェスチャ変換器９０６は、３Ｄ空間情報およびマーカ・モーション情報をコマンド言語に変換し、このコマンド言語は、コンピュータ・プロセッサによって、ディスプレイ上の位置、形状、および動作を更新するために解釈することができる。コンピュータ９０７は、この入力情報を用いて、１つ以上の画面上カーソルを制御するコマンドを発生し、ビデオ出力をディスプレイ９０３に供給する。
【００７９】
代替実施形態のプリプロセッサ９０５、ジェスチャ変換器９０６、およびコンピュータ９０７の内１つ以上を組み合わせて１つのデバイスにすることができる。システム構成には関係なく、プリプロセッサ９０５、ジェスチャ変換器９０６、およびコンピュータ９０７の各々の機能および／または機能性は、図１から図８を参照して説明した通りであり、そして本明細書の他のところに記載されている通りである。
【００８０】
更に、この例は、ユーザの手１０１および１０２の位置、方位、および移動を検出するために用いられる４台のカメラを示すが、本実施形態はそのように限定されるのではない。このシステム構成は、システムまたはワークステーションの構成に合わせて適宜２台以上のカメラを含むことができる。加えて、実施形態例ではカメラは対称的に配置されているが、このような対称性の要件はない。つまり、ユーザの手の位置、方位、および移動を可能にするのであればどのような位置付けでも、少なくとも２台のカメラを以後用いることができる。
【００８１】
本システムでは、一人のユーザの手を入力として示すが、本システムは、いずれの数の多数のユーザの手でも追跡することができる。加えて、手の代わりにまたは手に加えて、本システムは、頭部、足、脚部、腕、肘、膝等を含む、ユーザの身体であればいずれの１つまたは複数の部分でも追跡することができる。更に、本システムはいずれの数の生物オブジェクトまたは非生物オブジェクトでも追跡することができ、身体の部分の追跡に限定されるのではない。
【００８２】
特に、操作者の手（または同等に追跡される器具）に故意にまたは潜在的に近接するように光センサを配置するジェスチャ分析システムでは、このように理解されるエレメントは、通例、操作者の運動の自然なシーケンス全体にわたって、相対的距離規模(distance magnitude)の数桁(order）または多数桁の範囲を取る。このような距離の範囲を横断するイベントを一貫して焦点を解明して記録することは、従前の光学撮像システムの容量を超えている。しかしながら、これらの中距離幾何学(medium-distance geometries)は、巨視的デバイスおよび製品の設計に限って言えば、物体または操作者追跡のコンテキストでは望ましいことが多い。つまり、予期される操作者の活動範囲において局所的なコントラストまたは突出する特徴の安定性を確保する技法（従前の光学素子は、その目的には適していない）を提供することには価値がある。
【００８３】
本明細書におけるシステムにおいて用いられるような拡張被写体深度における三次元情報の抽出を記載する際、ある場面における１点までの距離は、同時に取り込んだ２つ以上の画像におけるその位置から推定することができる。この点の三次元（３Ｄ）位置は、撮像装置間の３Ｄ関係が分かっていれば、基本的幾何学的関係から計算することができる。ステレオ相関またはステレオ深度計算と呼ばれることが多い、多数の画像から空間的位置を計算する際の課題は、１つの画像における地点のマッピングを他方の画像におけるそのマッピングと自動的かつ高精度に関連付けることである。これは、殆どの場合、１つの画像から１つ以上の他の画像に画像の特徴を相関付けることによって行われている。しかしながら、全てのステレオ照合方法における基礎的な前提は、画像内に何らかの識別可能な局所的コントラストまたは特徴があって、その地点を別の画像におけるその位置に一致させられなければならないということである。したがって、焦点ずれ(misfocus)のために画像に何の局所的コントラストや特徴もない場合に問題が生ずる。ステレオ照合は、焦点が合っていない画像の領域においては高精度の結果が得られない。
【００８４】
画像の被写体深度を拡張する従来の手段は、カメラのレンズの瞳の直径を縮小することであった（「ストッピング・ダウン」(stopping down)）。しかしながら、２つの副作用によって、この技法の有用性が損なわれる。第１に、撮像システムの感度が、瞳直径率の二乗分の１に低下する。第２に、最大空間周波数応答が、瞳直径率分の１に低下し、画像における分解能およびコントラストに制限が生ずる。つまり、従来の撮像システムでは、被写体深度、露出時間、および全体的なコントラストの間にはトレードオフがある。多重カメラ測距システムの場合、正味の影響は、立体深度精度(stereoscopic depth accuracy)と作業範囲との間における妥協となる。
【００８５】
レンズを停止させずに被写体深度を増大させる代わりの手法は、カメラ・レンズの瞳に、指定した処方の位相マスク(phase mask)を導入することである。適正に選択した位相関数によって、センサ上で取り込んだ画像の後続の電子処理によって、拡張した被写体深度を再現することができる。この技法は、波面コーディングとして知られており、一般に、被写体深度、カメラのダイナミック・レンジ、および信号対ノイズ比の間のトレードオフを提供する。波面コーディングは、特定の用途に合わせてカメラのパラメータを最適化することを可能にする。非常に高いダイナミック・レンジを必要とせず、本明細書において記載するジェスチャ認識のように、照明がユーザ制御下にある用途であれば、波面コーディングから利益を得て、規定の立体空間において高精度を達成することができる。
【００８６】
前述のように、一実施形態のシステムは、複数の波面コーディング・カメラからの出力を処理し、これらを用いて場面内部にて選択した物体の距離および位置を決定する。波面コーディングによって得られる拡張被写体深度は、ジェスチャ認識、およびその他の多種多様なタスク主体撮像作業多数の用途において用いることができ、その性能を大幅に向上させることができる。最少で２つのカメラが必要になるが、本実施形態において用いることができるカメラ数に上限はない。場面抽出は、２つ以上のカメラによる距離抽出に用いられる複数の処理技法（相関のような）の内いずれでも含むことができる。本明細書において記載する実施形態は、全ての波面コーディング位相関数、処理後に拡張被写体深度が得られる、それらの対応するデコーディング・カーネルを含む。
【００８７】
波面コーディング撮像システムにおいて用いるような波面コーディングは、一般化した非球面光学素子およびディジタル信号処理を用いて、撮像システムの性能を大幅に向上させる、および／またはコストを低減することができる一般的な技法である。採用する非球面光学素子の形式によって、焦点ずれに関する収差に非常に不感応な光学撮像特性が得られる。光学素子からは鋭く明確な画像が直接得られないが、サンプリングした画像にディジタル信号処理を適用すると、鋭く明確な最終画像が得られる。この画像も焦点ずれに関する収差には不感応である。
【００８８】
波面コーディングは、撮像性能を大幅に向上させつつ、撮像システムのサイズ、重量、およびコストを低減するために用いられる。波面コーディングは、非回転対称非球面光学エレメントおよびディジタル信号処理を基本的な態様で組み合わせて、撮像システムの被写体深度を大幅に拡張する。波面コーディングを用いると、撮像システムの被写体深度または焦点深度は、例えば、所与のアパーチャ・サイズ即ちＦ／＃に対して、従来の撮像システムと比較して１０倍以上増大させることができる。一実施形態の波面コーディング光学エレメントは、位相面であり、したがって光を吸収せず、露出または照明要件が高くなることもない。このような拡張被写体深度の挙動(performance)は、ストップ・ダウン・アパーチャによって必然的に発生するような、光学パワーの劇的な損失なしでは従前の撮像技法では不可能である。また、被写体深度／焦点深度の増大によって、撮像システムは、レンズ・エレメントを追加するかまたはレンズの複雑度を高めることによってこれまで制御していた焦点ずれに関する収差を制御することによって、物理的に安価となり、小型化、または軽量化が可能となる。波面コーディングによって制御することができる焦点ずれに関する収差には、色収差、ペッツヴァル湾曲、非点主査、球面収差、および温度に関する焦点ずれが含まれる。
【００８９】
波面コーディングは、混成撮像手法として、光学素子および電子素子を組み合わせて、被写体深度を増大させ、光学エレメントの数、製造許容度、および全体的なシステム・コストを低減する。図１０は、一実施形態の下において、ジェスチャ・ベース制御システムに用いられる波面コーディング撮像システム１０００のブロック図である。波面コーディング撮像システム１０００の光学セクション１００１は、従来の光学システムまたはカメラであり、アパーチャ・ストップの近くに波面コーディング光学エレメント１００２を配置することによって変更されている。コーディング光学エレメントを追加することによって、焦点ずれに不感応な、特殊化された明確なぼけまたは点拡散機能を有する画像が得られる。サンプリングされた画像にディジタル処理１００３を適用することによって、焦点ずれの影響に非常に不感応な鮮明で明確な画像１００４が得られる。
【００９０】
図１１は、一実施形態の下において、２つの波面コーディング・カメラを含む波面コーディング撮像システムを用いて、拡張被写体深度において三次元情報を抽出するジェスチャ・ベース制御システム１１００のブロック図である。システム１１００は、先に図１０を参照して述べたように、少なくとも２台の波面コーディング・カメラ１１０１および１１０２を含む。プロセッサが、波面コーディング・カメラ１１０１および１１０２の出力を受けるように、そしてカメラ出力に対してデータ処理を実行するように結合されている。データ処理は、ディコンボリューション１１２０および距離抽出１１３０、その他を含み、拡張焦点距離マップ１１４０を発生する。
【００９１】
波面コーディング・システム１１００では、このシステムの光学部分（例えば、波面コーディング・カメラ１１０１および１１０２）が、得られた画像を「コーディング」して中間画像１１１０を生成する。波面コーディング・エレメント（例えば、図１０のエレメント１００２）は、いずれの画像においても全ての点をわざとぼかすので、中間画像１１１０は焦点ずれのように見える。このような中間画像１１１０において、被写体深度内にあるほぼ全ての物体がぼやけているが、これらは同一にぼやけている。対照的に、従前の光学素子は、通例、場面における各物体までの距離に依存する可変ぼけ関数を有する画像を形成する。
【００９２】
中間波面コーディング画像１１１０から鮮明で明確な画像を生成するために、電子素子（例えば、波面コーディングディジタル信号処理）を用いて、システム依存画像ぼけを除去することによって、ぼけた中間画像を処理即ち「デコード」する（１１２０および１１３０）。ソフトウェアまたは特殊化したハードウェア解決策によって、リアル・タイムでディジタル・フィルタリングを実行することができる。
【００９３】
一実施形態のシステム光学素子は、従来のコンポーネントを含み、図１０を参照して先に説明したように、波面コーディング機能を実行する少なくとも１つの追加光学エレメントがある。このエレメントは、けられを最少に抑えるために、光路内に、通例システムのアパーチャ・ストップの近くに置かれる。検出した画像に対して実行する信号処理は、光学素子、波面コーディング・エレメント、およびディジタル検出器の一次特性によって異なる。
【００９４】
一般的な波面コーディング・エレメントは、非回転対称で滑らかであるが、屈折面を用いることもできる。このエレメントは、別個のコンポーネントとすることができ、または一般化した非球面の追加によって、従前のレンズ・エレメント上に一体化することもできる。全てのコーディング・エレメントは、軸上光線を除いて、従前の幾何学的焦点に向かって進行する光がなくなるように、光の方向を変える。実際、光軸に沿って２本の光線が同じ点に向かって進行することはない。本システムは、いずれの画像面においても明確な画像を形成しない。
【００９５】
波面コーディング撮像システムの光学部分の主な効果は、脱焦、球面収差、非点収差、または場の湾曲というような、焦点に関する収差に対して、得られる画像を不感応にすることである。中間のぼやけた画像は、脱焦収差を構成する物体または撮像システムの変化に対して不感応または不変である。システム分析の視点からは、波面コーディング・システムの変調伝達関数（ＭＴＦ）および点拡散関数（ＰＳＦ）は、脱焦に対して不変である。
【００９６】
波面コーディング・システムからの中間画像のＭＴＦが脱焦に対して殆ど変化を示さないが、このようなＭＴＦは、焦点を合わせる(in-focus)従前のシステムと比較すると、パワーを低減させている。アポディゼーションを用いないので、全光学パワーが保存される。明確な画像を形成するために、ディジタル・フィルタリングまたは画像再生プロセスを用いる。これらの最終的ＭＴＦは、脱焦に対して非常に不感応である。つまり、本波面コーディング撮像システムは、非常に大きな被写体深度を有することになる。同様に、波面コーディング・システムからの中間ＰＳＦは、従前のシステムのＰＳＦとは異なるが、これらは焦点ずれの変化に対して殆ど変化しない。
【００９７】
再度図１０を参照すると、特殊目的の光学非球面エレメントが、従来の撮像システムのアパーチャ・ストップまたはその近くに置かれて、波面コーディング撮像システムを形成する。この光学エレメントは、得られるＰＳＦおよび光学伝達関数（ＯＴＦ）がある範囲の焦点ずれおよび焦点ずれに関する収差に不感応となるように、撮像システムを変更する。しかしながら、ＰＳＦおよびＯＴＦは、高品質の合焦撮像システム(in-focus imaging system)によって得られるものとは同一ではない。撮像システムを焦点ずれ収差に不感応にするプロセスにより、特殊化された明確なぼけのある画像が得られ、このぼけは、波面コーディングディジタル信号処理によって除去される。
【００９８】
従来の撮像システムからのＰＳＦは、例えば、焦点ずれによって劇的に変化するが、一方波面コーディング撮像システムからのＰＳＦは、焦点ずれに対して目に付く変化を殆ど何も示さない。焦点ずれのある従前の撮像システムに適用して焦点ずれのぼけを除去するディジタル処理は、画像の異なる区域にある焦点ずれの量に応じた処理を用いる。多くの状況において、焦点ずれの量は未知であり、計算するのは困難である。加えて、焦点ずれのある従前の撮像システムのＭＴＦは、ゼロまたはヌルを含む可能性が高く、このためにディジタル処理の難しさが増大する。対照的に、波面コーディング・システムからの焦点ずれのあるＰＳＦの一定の性質は、ディジタル処理の焦点ずれに対する依存性を解消するために必要なものである。電荷結合デバイス（ＣＣＤ）または最近の金属酸化物半導体（ＣＭＯＳ）−検出画像に適用されるディジタル処理は、焦点ずれや実際に撮像される場面には依存しない。加えて、波面コーディング撮像システムのＭＴＦは、合焦および脱焦双方とも、ゼロまたはヌルを含まず、高品質の最終画像を可能にする。
【００９９】
被写体深度を拡張するための波面コーディングは、従前の方法（即ち、アパーチャのストップ・ダウン）が一般に受け入れられない撮像用途に、価値をつけ加えることができる。照明レベル、露出時間、または空間分解能に対する制約によって、以前の光学方法の用途が狭められることが多い。波面コーディングを用いることによって、露出時間を犠牲にしたり、大量の照明を必要としたりすることなく、焦点ずれに関する問題を低減することができる用途がある。
【０１００】
波面コーディング撮像システムは、前述のように、従来とは異なる光学設計、および得られた画像のディジタル信号処理を備えている。用いられる信号処理は、特定の光学システムによって異なる。波面コーディング光学素子は、用いられる信号処理の種類および量によって異なる。光学素子および信号処理は密接に結合されているので、設計においてシステムの光学コンポーネントおよびディジタル・コンポーネントが合体して最適化されれば、システムから最高の性能を期待するのは当然である。光学コンポーネントは、焦点ずれの影響に対する光学素子の変化または感度を最少に抑え、効率的な信号処理を可能にするように構成されている。ディジタル・コンポーネントは、アルゴリズムの複雑さ、処理時間、および画像ノイズに対するディジタル処理の影響を最少に抑えるように設計されている。
【０１０１】
図１２は、一実施形態の下において、拡張被写体深度から抽出した三次元情報を用いるジェスチャ・ベース制御のフロー図である。一実施形態のジェスチャ・ベース制御は、撮像システムによって本体を撮像すること１２０２を含む。撮像１２０２は、本体の波面コーディング画像を発生することを含む。一実施形態のジェスチャ・ベース制御は、本体のジェスチャを自動的に検出すること１２０４を含む。ジェスチャは、本体の瞬時的状態を含む。検出１２０４は、１時点においてジェスチャのジェスチャ・データを集計することを含む。ジェスチャ・データは、撮像システムの被写体深度内における本体の焦点解明データを備えている。一実施形態のジェスチャ・ベース制御は、ジェスチャをジェスチャ信号に変換すること１２０６を含む。一実施形態のジェスチャ・ベース制御は、ジェスチャ信号に応答して、コンピュータに結合されているコンポーネントを制御すること１２０８を含む。
【０１０２】
一実施形態の波面コーディングのための基本ルーチンは、典型的な球面および非球面ならびに一般の波面コーディング表面形態を透して光線を追跡する光線追跡プログラムを含むことができる。光線追跡プログラムは、射出瞳(exit pupil)を計算し、所与の１組の光学およびディジタル・メリット関数またはオペランドを最適化するために用いられる。図１３は、一実施形態の下において、ジェスチャ・ベース制御システムにおいて用いられる波面コーディング設計プロセス１３００のブロック図である。この設計の出力は、限定ではなく、以下のように、従前の光学表面、材料、厚さ、および間隔、波面コーディング表面のパラメータ、ならびにディジタル・フィルタ係数を含む。
【０１０３】
これより、図１３を参照しながら、一般的な光学／ディジタル設計ループについて説明する。光線追跡プログラム１３０２は、光学表面を通過する光線を追跡して、射出瞳の光路差（ＯＰＤ）１３０４を計算し、所与の１組の光学およびディジタル・メリット関数またはオペランドを最適化する。光線追跡プログラム１３０２への入力には、光学表面、厚さ、および動作条件（波長、視野、温度範囲、サンプル物体画像等）その他が含まれる。ＯＴＦを計算または発生し（１３０６）、検出器の幾何学的形状に関する画素ＯＴＦを追加する（１３０８）。サンプリングされたＯＴＦおよびＰＳＦを計算する（１３１０）。サンプリングしたＰＳＦに基づいて、選択した処理アルゴリズムに合ったディジタル・フィルタ係数を発生する（１３１２）。処理は継続し、温度変化、エリアシング等による、サンプリングしたＰＳＦおよびＭＴＦの焦点を通過する際の視野角や色の変化を最小に抑えることに基づく、フィルタの評価点数（例えば、波面コーディングオペランド）、処理量、処理形態、処理に関する画像ノイズ、ディジタル・フィルタ・ノイズ利得等のようなディジタル処理パラメータを形成する。最適化ルーチンによって波面コーディングオペランドを従前の光学オペランド（サイデル波面収差、ＲＭＳ波面誤差等）と組み合わせて、光学表面を変更する。動作は、従前の光線追跡による射出瞳光路差（ＯＰＤ）の発生（１３０２）に戻る。
【０１０４】
理論的に計算した波面コーディング表面形態は、光学最適化の開始点として用いられる。矩形に分離可能な表面形態の１つの一般的なファミリが、正規化座標において次のように示される。
【０１０５】
【数１】
0005697590.tif 000002
【０１０６】
指数パラメータαは、焦点ずれの範囲におけるＭＴＦの高さを制御し、パラメータβは、焦点ずれに対する感度を制御する。一般に、パラメータβを増大させると、焦点ずれに対する感度は低下し、一方ＭＴＦの高さが減少し、結果的に得られるＰＳＦの長さは増大する。
【０１０７】
中間画像を再生し最終画像を生成するために用いられるフィルタリング・プロセスは、計算上の負担を強いる可能性がある。画像再生に必要とされるフィルタ・カーネルのサイズは、光学システムおよびコーディングプロセスによって導入される被写体深度の拡張(enhancement)に応じて、７０×７０係数程にもなる場合がある。一般に、被写体深度の拡張が大きい程、フィルタ・カーネルも大きくなり、ノイズによる不利益またはノイズ利得も大きくなる。更に、画像における角画素が波面コーディングによってぼやけるので、角画素をフィルタリングする必要がある。つまり、大きな画像程、小さな画像よりも多くの計算が必要となる可能性がある。画素が数千万に近い画像サイズでは、実用的で経済的なシステムのために、効率的な計算解決策が用いられる。矩形に分離可能なフィルタ近似のような計算の実施態様が、カーネルの寸法を縮小するのに役立つことができる。例えば、用いられる波面コーディング・エレメントは、次のように記述される、矩形に分離可能な立方体位相形態を有することができる。
【０１０８】
【数２】
0005697590.tif 000003
【０１０９】
ぼけを除去するためにぼやけた画像をフィルタリングすると、空間周波数として増幅および位相ずれが必ず生ずる。この増幅は、最終画像において信号だけでなくノイズも増大させる。非常に大きな被写体深度の拡張では、例えば、１０倍以上では、波面コーディング・システムにおけるノイズ利得は、４倍または５倍になる可能性がある。２から４倍のもっと穏やかな被写体深度拡張では、ノイズ利得は２倍以下であるのが通例である。
【０１１０】
相関付けられていないガウス・ノイズ（殆どの画像にとって正しい仮定）については、ノイズ利得はフィルタ係数のＲＭＳ値となる。適した小さなノイズ−利得値が得られない程に大きな被写体深度拡張を有するシステムでは、ディジタル・フィルタの分解能または空間帯域幅を減少させると、ノイズ利得を低減することができる。また、最終画像におけるコントラストを低下させても、ノイズ増大の全体的な影響を低減することができる。特殊化した非線形フィルタが、波面コーディング画像においてノイズを除去するための最良の解決策である。
【０１１１】
一実施形態においてＭＴＦおよびＰＳＦを形成するために用いられる波面コーディング光学エレメントは矩形に分離可能であるので、用いられる信号処理も矩形に分離可能であることができる。矩形に分離可能な処理は、必要な計算数を１桁以上減少させることができる。ディジタル・フィルタリングは空間畳み込みによって実行されるという事実により、一実施形態の計算方法は、フィルタ係数によってデータを倍率調整するための一連の乗算と、倍率調整した全てのデータ値を一緒にカーネル全体に跨って加算するための加算とを備えている。このような計算の基礎的単位は、積和演算(multiply-accumulate operation)である。大きな被写体深度増大に対する典型的な２−Ｄ波面コーディング・フィルタ・カーネルは、３０×３０係数となることもある。このフィルタの矩形分離可能バージョンは、３０係数長の行フィルタと、３０係数高の列フィルタとを含み、合計６０の係数を含む。波面コーディング・エレメントは設計上矩形に分離可能とすることができるが、これらはそのように限定されるのではなく、大きく常軌を逸したシステムは分離不可能なフィルタリングを用いてもよい。
【０１１２】
光学撮像技法を電子フィルタリングと組み合わせることによって、波面コーディング技術は、広範囲の撮像システムの性能を向上させることができる。高性能撮像システムにおける性能利得(performance gain)は、光集合または空間分解能を犠牲にすることなく、非常に大きな被写体深度を含むことができる。低コストの撮像システムにおける性能利得は、従前に必要としたよりも少ない物理的コンポーネントによる、高い画像品質を含むことができる。
【０１１３】
本明細書に記載した実施形態は、システムを含む。このシステムは、複数の光検出器であって、複数の光検出器の内少なくとも２つが波面コーディング(coding)またはコード化(coded))カメラを構成し、本体を撮像する、複数の光検出器と、複数の光検出器に結合されているプロセッサであって、このプロセッサは身体のジェスチャを自動的に検出し、ジェスチャは本体の瞬時的状態を含み、検出は、１時点におけるジェスチャのジェスチャ・データを集計することを含み、ジェスチャ・データは、撮像システムの被写体深度内における本体の焦点解明データを含み、プロセッサは、ジェスチャをジェスチャ信号に変換し、このジェスチャ信号を用いて、プロセッサに結合されているコンポーネントを制御する、プロセッサとを備えている。
【０１１４】
一実施形態の波面コーディング・カメラは、波面コーディング光学エレメントを含む。
一実施形態の撮像は、本体の波面コーディング画像を発生することを含む。
一実施形態の波面コーディング・カメラは、撮像の被写体深度を増大させる位相マスクを含む。
【０１１５】
一実施形態のジェスチャ・データは、被写体深度内における本体の焦点解明範囲データを含む。
一実施形態の被写体深度内における本体の焦点解明範囲データは、波面コーディング・カメラの出力から得られる。
【０１１６】
一実施形態のジェスチャ・データは、被写体深度内における本体の焦点解明位置データを含む。
一実施形態の被写体深度内における本体の焦点解明位置データは、波面コーディング・カメラの出力から得られる。
【０１１７】
一実施形態のシステムは、本体と撮像システムとの間の距離に対して不変である、変調伝達関数および点拡散関数を備えている。
一実施形態のシステムは、脱焦に対して不変である変調伝達関数および点拡散関数を備えている。
【０１１８】
一実施形態のプロセッサは、波面コーディング・カメラによって収集された画像をコーディングすることによって、中間画像を発生する。
一実施形態の中間画像はぼやけている。
【０１１９】
一実施形態の中間画像は、脱焦収差を含む、本体または複数の光検出器の変化に対して不感応である。
一実施形態のジェスチャ・データは、ジェスチャを表す三空間位置データである。
【０１２０】
一実施形態の検出は、本体の位置を検出すること、本体の方位を検出すること、および本体の運動を検出することの内少なくとも１つである。
一実施形態の検出は、ジェスチャを特定することを含み、この特定は、本体の一部のポーズおよび方位を特定することを含む。
【０１２１】
一実施形態の検出は、本体の第１組の付加物および第２組の付加物の内少なくとも１つを検出することを含む。
一実施形態の検出は、少なくとも１つのタグの位置を動的に検出することを含む。
【０１２２】
一実施形態の検出は、本体の一部に結合されている１組のタグの位置を検出することを含む。
一実施形態の１組のタグの各タグはパターンを含み、１組のタグの各タグの各パターンは、複数のタグの内いずれの残りのタグのいずれのパターンとも異なる。
【０１２３】
一実施形態の検出は、本体上にあるマーカを動的に検出し位置を突き止めることを含む。
一実施形態の検出は、本体の一部に結合されている１組のマーカの位置を検出することを含む。
【０１２４】
一実施形態の１組のマーカは、本体上に複数のパターンを形成する。
一実施形態の検出は、本体の複数の付加物の位置を、この付加物の各々に結合されている１組のマーカを用いて、検出することを含む。
【０１２５】
一実施形態の変換は、ジェスチャの情報をジェスチャ表記に変換することを含む。
一実施形態のジェスチャ表記は、ジェスチャ・ボキャブラリを表し、ジェスチャ信号はジェスチャ・ボキャブラリの通信を含む。
【０１２６】
一実施形態のジェスチャ・ボキャブラリは、本体の力学的連結の瞬時的ポーズ状態をテキスト形態で表す。
一実施形態のジェスチャ・ボキャブラリは、本体の力学的連結の方位をテキスト形態で表す。
【０１２７】
一実施形態のジェスチャ・ボキャブラリは、本体の力学的連結の方位の組み合わせを、テキスト形態で表す。
一実施形態のジェスチャ・ボキャブラリは、本体の力学的連結の状態を表す、キャラクタ・ストリングを含む。
【０１２８】
一実施形態の力学的連結は、本体の少なくとも１つの第１付加物である。
一実施形態のシステムは、ストリングにおける各位置を第２付加物に割り当てることを含み、第２付加物が第１付加物に接続されている。
【０１２９】
一実施形態のシステムは、複数のキャラクタのキャラクタを、第２付加物の複数の位置の各々に割り当てることを含む。
一実施形態の複数の位置は、座標原点に対して確定される。
【０１３０】
一実施形態のシステムは、空間における絶対位置および方位、本体の全体的位置および方位とは無関係の本体に対する固定位置および方位から成る１群から選択した位置を用いて、ならびに本体の動作に応答して対話的に座標原点を確定することを含む。
【０１３１】
一実施形態のシステムは、複数のキャラクタのキャラクタを、第１付加物の複数の方位の各々に割り当てることを含む。
一実施形態の検出は、本体の外挿補間位置が仮想空間と交差するときを検出することを含み、仮想空間は、コンピュータに結合されているディスプレイ・デバイス上に図示される空間を含む。
【０１３２】
一実施形態のコンポーネントの制御は、外挿補間位置が仮想空間における仮想物体と交差するときに、仮想物体を制御することを含む。
一実施形態のコンポーネントの制御は、仮想空間における外挿補間位置に応答して、仮想空間における仮想物体の位置を制御することを含む。
【０１３３】
一実施形態のコンポーネントの制御は、ジェスチャに応答して仮想空間における仮想物体の姿勢を制御することを含む。
一実施形態のシステムは、仮想空間と物理空間との間で一致を得るために、検出および制御のスケーリング(scaling)を制御することを含み、仮想空間は、プロセッサに結合されているディスプレイ・デバイス上に描画された空間を含み、物理空間は本体が占める空間を含む。
【０１３４】
一実施形態のシステムは、物理空間における少なくとも１つの物理物体の移動に応答して、仮想空間において少なくとも１つの仮想物体を制御することを含む。
一実施形態の制御は、プロセッサ上にホストされているアプリケーションの機能を制御すること、およびプロセッサ上に表示されているコンポーネントを制御することの内少なくとも１つを含む。
【０１３５】
本明細書に記載した実施形態は、方法を含む。この方法は、撮像システムを用いて本体を撮像するステップであって、撮像が、本体の波面コーディング画像を発生することを含む、ステップと、本体のジェスチャを自動的に検出するステップであって、ジェスチャが、本体の瞬時的状態を含み、検出が１時点におけるジェスチャのジェスチャ・データを集計することを含み、ジェスチャ・データが、撮像システムの被写体深度内における本体の焦点解明データを含む、ステップと、ジェスチャをジェスチャ信号に変換するステップと、ジェスチャ信号に応答して、コンピュータに結合されているコンポーネントを制御するステップとを備えている。
【０１３６】
一実施形態の撮像システムは複数の光検出器を備えており、複数の光検出器の内少なくとも２つが、波面コーディング光学エレメントを備えている、波面コーディング・カメラを構成する。
【０１３７】
一実施形態の撮像するステップは、本体の波面コーディング画像を発生することを含む。
一実施形態の撮像システムは複数の光検出器を備えており、これらの光検出器の少なくとも２つは、撮像焦点深度を増大させる位相マスクを備えている波面コーディング・カメラである。
【０１３８】
一実施形態のジェスチャ・データは、被写体深度内における本体の焦点解明範囲データを含む。
一実施形態の被写体深度内における本体の焦点解明範囲データは、撮像システムの出力から得られる。
【０１３９】
一実施形態のジェスチャ・データは、被写体深度内における本体の焦点解明位置データを含む。
一実施形態の被写体深度内における本体の焦点解明位置データは、撮像システムの出力から得られる。
【０１４０】
一実施形態の方法は、本体と撮像システムとの間の距離に対して不変である、変調伝達関数および点拡散関数を発生するステップを備えている。
一実施形態の方法は、脱焦に対して不変である変調伝達関数および点拡散関数を発生するステップ備えている。
【０１４１】
一実施形態の方法は、波面コーディング・カメラによって収集された画像をコーディングすることによって、中間画像を発生するステップを備えている。
一実施形態の中間画像はぼやけている。
【０１４２】
一実施形態の中間画像は、脱焦収差を含む、本体または撮像システムの複数の光検出器の変化に対して不感応である。
一実施形態のジェスチャ・データは、ジェスチャを表す三空間位置データである。
【０１４３】
一実施形態の検出するステップは、本体の位置を検出することを含む。
一実施形態の検出するステップは、本体の方位を検出することを含む。
一実施形態の検出するステップは、本体の運動を検出することを含む。
【０１４４】
一実施形態の検出するステップは、ジェスチャを特定することを含み、この特定は、本体の一部のポーズおよび方位を特定することを含む。
一実施形態の検出するステップは、本体の第１組の付加物および第２組の付加物の内少なくとも１つを検出することを含む。
【０１４５】
一実施形態の検出するステップは、少なくとも１つのタグの位置を動的に検出することを含む。
検出するステップは、本体の一部に結合されている１組のタグの位置を検出することを含む。
【０１４６】
一実施形態の１組のタグの各タグはパターンを含み、１組のタグの各タグの各パターンは、複数のタグの内いずれの残りのタグのいずれのパターンとも異なる。
一実施形態の検出するステップは、本体上にあるマーカを動的に検出し位置を突き止めることを含む。
【０１４７】
一実施形態の検出するステップは、本体の一部に結合されている１組のマーカの位置を検出することを含む。
一実施形態の１組のマーカは、本体上に複数のパターンを形成する。
【０１４８】
一実施形態の検出するステップは、本体の複数の付加物の位置を、これらの付加物の各々に結合されている１組のマーカを用いて、検出することを含む。
一実施形態の変換するステップは、ジェスチャの情報をジェスチャ表記に変換することを含む。
【０１４９】
一実施形態のジェスチャ表記は、ジェスチャ・ボキャブラリを表し、ジェスチャ信号はジェスチャ・ボキャブラリの通信を含む。
一実施形態のジェスチャ・ボキャブラリは、本体の力学的連結の瞬時的ポーズ状態をテキスト形態で表す。
【０１５０】
一実施形態のジェスチャ・ボキャブラリは、本体の力学的連結の方位をテキスト形態で表す。
一実施形態のジェスチャ・ボキャブラリは、本体の力学的連結の方位の組み合わせを、テキスト形態で表す。
【０１５１】
一実施形態のジェスチャ・ボキャブラリは、本体の力学的連結の状態を表す、キャラクタ・ストリングを含む。
一実施形態の力学的連結は、本体の少なくとも１つの第１付加物である。
【０１５２】
一実施形態の方法は、ストリングにおける各位置を第２付加物に割り当てるステップを備えており、第２付加物が第１付加物に接続されている。
一実施形態の方法は、複数のキャラクタのキャラクタを、第２付加物の複数の位置の各々に割り当てるステップを備えている。
【０１５３】
一実施形態の複数の位置は、座標原点に対して確定される。
一実施形態の方法は、空間における絶対位置および方位、本体の全体的位置および方位とは無関係の本体に対する固定位置および方位から成る１群から選択した位置を用いて、ならびに本体の動作に応答して対話的に座標原点を確定するステップを備えている。
【０１５４】
一実施形態の方法は、複数のキャラクタのキャラクタを、第１付加物の複数の方位の各々に割り当てるステップを備えている。
一実施形態の検出するステップは、本体の外挿補間位置が仮想空間と交差するときを検出することを含み、仮想空間は、コンピュータに結合されているディスプレイ・デバイス上に図示される空間を含む。
【０１５５】
一実施形態のコンポーネントを制御するステップは、外挿補間位置が仮想空間における仮想物体と交差するときに、仮想物体を制御することを含む。
一実施形態のコンポーネントを制御するステップは、仮想空間における外挿補間位置に応答して、仮想空間における仮想物体の位置を制御することを含む。
【０１５６】
一実施形態のコンポーネントを制御するステップは、ジェスチャに応答して仮想空間における仮想物体の姿勢を制御することを含む。
一実施形態の方法は、仮想空間と物理空間との間で一致を得るために、検出および制御のスケーリングを制御するステップを備えており、仮想空間は、プロセッサに結合されているディスプレイ・デバイス上に描画された空間を含み、物理空間は本体が占める空間を含む。
【０１５７】
一実施形態の方法は、仮想空間と物理空間との間において、倍率、角度、深度、および寸法を、プロセッサに結合されている少なくとも１つのアプリケーションに応じて変換するステップを備えている。
【０１５８】
一実施形態の方法は、物理空間における少なくとも１つの物理物体の移動に応答して、仮想空間において少なくとも１つの仮想物体を制御するステップを備えている。
一実施形態の制御するステップは、プロセッサ上にホストされているアプリケーションの機能を制御することを含む。
【０１５９】
一実施形態の制御するステップは、プロセッサ上に表示されているコンポーネントを制御することを含む。
本明細書において記載したシステムおよび方法は、処理システムを含む、および／または処理システムの下で実行する、および／または処理システムと連動して実行する。処理システムは、当技術分野では周知のように、互いに動作するプロセッサ主体デバイスまたは計算デバイスのあらゆる集合体、あるいは処理システムまたはデバイスのコンポーネントを含む。例えば、処理システムは、携帯用コンピュータ、通信ネットワークにおいて動作する携帯用通信デバイス、および／またはネットワーク・サーバの１つ以上を含むことができる。携帯用コンピュータは、パーソナル・コンピュータ、セルラ電話機、パーソナル・ディジタル・アシスタント、携帯用計算デバイス、および携帯用通信デバイスの中から選択した多数のデバイスおよび／またはデバイスの組み合わせのいずれとすることもできるが、そのように限定されるのではない。処理システムは、それよりも大きなコンピュータ・システムの中にあるコンポーネントを含むことができる。
【０１６０】
一実施形態の処理システムは、少なくとも１つのプロセッサと、少なくとも１つのメモリ・デバイスまたはサブシステムとを含む。また、処理システムは、少なくとも１つのデータベースを含むか、またはこれに結合することができる。「プロセッサ」という用語は、本明細書において一般に用いる場合、１つ以上の中央演算装置（ＣＰＵ）、ディジタル信号プロセッサ（ＤＳＰ）、特定用途集積回路（ＡＳＩＣ）等のような、あらゆる論理演算装置を指す。プロセッサおよびメモリは、１つのチップ上にモノリシックに集積することができ、多数のチップまたはホスト・システムのコンポーネント間で分散することができ、および／またはアルゴリズムの何らかの組み合わせによって提供することができる。本明細書において記載した方法は、ソフトウェア・アルゴリズム（１つまたは複数）、プログラム、ファームウェア、ハードウェア、コンポーネント、回路の１つ以上で、いずれの組み合わせでも実現することができる。
【０１６１】
本明細書において記載したシステムおよび方法を具体化するシステム・コンポーネントは、一緒に配置すること、または別個の位置に配置することができる。したがって、本明細書において記載したシステムおよび方法を具現化するシステム・コンポーネントは、単一のシステム、多数のシステム、および／または地理的に離れたシステムのコンポーネントとすることができる。また、これらのコンポーネントは、単一のシステム、多数のシステム、および／または地理的に離れたシステムのサブコンポーネントまたはサブシステムとすることもできる。これらのコンポーネントは、ホスト・システムの１つ以上のその他のコンポーネント、またはホスト・システムに結合されているシステムに結合することができる。
【０１６２】
通信経路は、システム・コンポーネントを結合し、コンポーネント間においてファイルを伝達または転送する媒体であればいずれでも含む。通信経路は、ワイヤレス接続、有線接続、混成ワイヤレス／有線接続を含む。また、通信経路は、ローカル・エリア・ネットワーク（ＬＡＮ）、都市エリア・ネットワーク（ＭＡＮ）、ワイド・エリア・ネットワーク（ＷＡＮ）、企業固有ネットワーク、事務所間またはバックエンド・ネットワーク、およびインターネットを含むネットワークへの結合または接続も含む。更に、通信経路は、フロッピ・ディスク、ハード・ディスク・ドライブ、およびＣＤ−ＲＯＭディスクのような、リムーバブル固定媒体、ならびにフラッシュＲＡＭ、ユニバーサル・シリアル・バス（ＵＳＢ）接続、ＲＳ−２３２接続、電話回線、バス、および電子メール・メッセージを含む。
【０１６３】
文脈が特に明確に要求しない限り、説明全体を通じて、「備える」(comprise)、「備えている」(comprising)等の単語は、排他的または網羅的な意味とは逆に、包含的意味で解釈することとする。即ち、「含むがそれに限定されない」という意味である。また、単数または複数を用いる単語は、それぞれ、複数または単数も含むこととする。加えて、「ここでは」、「以下では」、「以上」、「以下」および同様の趣旨の単語は、本願のいずれかの特定部分ではなく、本願全体を指すこととする。「または」という単語が２つ以上の項目のリストに関して用いられる場合、その単語は以下の単語の解釈全てに及ぶこととする。リストにおける項目のいずれか、リストにおける項目全て、およびリストにおける項目のあらゆる組み合わせ。
【０１６４】
以上における処理環境の実施形態の説明は、網羅的であることも、記載したシステムおよび方法を、開示した形態そのものに限定することも意図していない。処理環境の具体的な実施形態およびその例は、本明細書では例示の目的で記載したが、その他のシステムおよび方法の範囲内において、種々の同等な修正も可能であることは、当業者であれば認められよう。本明細書において提案した処理環境の教示は、前述のシステムおよび方法だけでなく、他の処理システムおよび方法にも適用することができる。
【０１６５】
以上で説明した種々の実施形態の要素および行為(act)を組み合わせて、更に別の実施形態を提案することができる。これらおよびその他の変更は、以上に詳細に記載した説明を参照すれば、プログラミング環境に対して行うことができる。
【図１】
0005697590.tif 000004
【図２】
0005697590.tif 000005
【図３】
0005697590.tif 000006
【図４】
0005697590.tif 000007
【図５】
0005697590.tif 000008
【図６】
0005697590.tif 000009
【図７】
0005697590.tif 000010
【図８−１】
0005697590.tif 000011
【図８−２】
0005697590.tif 000012
【図９】
0005697590.tif 000013
【図１０】
0005697590.tif 000014
【図１１】
0005697590.tif 000015
【図１２】
0005697590.tif 000016
【図１３】
0005697590.tif 000017