(57)【要約】ユーザは、キーボードの画像のような仮想入力装置（５０）を使用して、ＰＤＡ、形態電話、または器具装置のようなコンパニオンシステム（８０）にデジタルデータを入力する。センサ（２０）は、キーが実際のキーボード上にある場所に対する、ユーザの指（３０）の位置に関する三次元位置情報を捕捉する。この情報は、仮想キーが何時打たれたかを決定するために、指（３０）の位置、速度および形状に関して処理される。この処理されたデジタル情報は、コンパニオンシステム（８０）に出力される。コンパニオンシステム（８０）は、ユーザの指を示すキーボードの画像を含むキーボードの画像、および／または仮想入力装置上でユーザがデータを入力した通りの英数字テキストを表示することができる。
2004500657.tif 000002
【特許請求の範囲】
【請求項１】
ユーザが、仮想入力装置を使用してコンパニオンシステムに手動でデータを入力するための方法であって：
（ａ）その上でユーザがユーザの指でデータを入力し得る作業表面に対する、少なくとも一つの前記ユーザの指の相対的位置に関する三次元位置情報を捕捉できるセンサを準備する工程と；
（ｂ）前記センサによって捕捉された情報を処理して、前記ユーザの指が前記作業表面の一部に接触しているかどうかを決定し、もし接触しているならば、その接触の位置を決定する工程と；
（ｃ）前記コンパニオンシステムに、前記接触の位置に釣合ったデジタル情報を出力する工程とを含む方法。
【請求項２】
請求項１に記載の方法であって、前記センサは、前記センサから前記ユーザの指の表面部分への飛行時間を使用して前記情報を捕捉する方法。
【請求項３】
請求項１に記載の方法であって、工程（ａ）は、約２：１未満のアスペクト比を有する固体センサを準備することを含む方法。
【請求項４】
請求項１に記載の方法であって、前記ユーザの指は、（ｉ）ユーザの手の指、および（ｉｉ）ユーザの指によって制御される針器具（スタイラス）からなる群から選択される方法。
【請求項５】
請求項１に記載の方法であって、前記作業表面は、（ｉ）三次元空間、（ｉｉ）物理的に平坦な表面、（ｉｉｉ）基板、（ｉｖ）ユーザが視認可能な実際のキーボードの画像を持った基板、（ｖ）ユーザが視認可能な実際のキーボードの画像が投影される基板、（ｖｉ）ユーザが視認可能なタイプ打ちガイドが投影される基板、（ｖｉｉ）実際のキーボードのユーザが視認可能な画像を有し、且つ前記ユーザの指で押したときに触覚フィードバックを提供する受動的なキー様領域を含む受動的基板、（ｖｉｉｉ）使用するために展開したときには少なくとも６インチ×１２インチであるが、使用しないときには約６インチ×８インチである基板からなる群から選択される方法。
【請求項６】
請求項１に記載の方法であって、更に、前記方法のユーザに対して、前記ユーザの指の配置をガイドするためのフィードバックを提供することを含み、該フィードバックは、（ｉ）実際のキーボードに対するユーザのタイプ打ちをエミュレートする触覚フィードバック、（ｉｉ）前記コンパニオン装置により発生される聴覚フィードバック、（ｉｉｉ）少なくとも一つのキーボードキーの画像を描いた、前記コンパニオン装置上に表示される視覚的フィードバック、（ｉｖ）前記コンパニオン装置上に表示された視覚的フィードバックであって、前記指に隣接したキーが前記指に接触したキーから視覚的に識別されるキーボードキーを描いた視覚的フィードバック、および（ｖ）前記ユーザの指により入力されたデータを表す前記コンパニオン装置に表示された視覚的フィードバック、からなる群から選択される少なくとも一つの種類のフィードバックを含む方法。
【請求項７】
請求項１に記載の方法であって、前記データは、（ｉ）英数字文字を表すデジタルコード、（ｉｉ）コマンドを表すデジタルコード、（ｉｉｉ）前記ユーザの指によってトレースされる点の位置を表すデジタルコード、からなる群から選択される少なくとも一つの種類のデータを含む方法。
【請求項８】
請求項１に記載の方法であって、前記工程（ｃ）は前記作業表面上における前記ユーザの指の先端部分の空間的位置を決定することを含み、この決定は、（ｉ）前記先端部分の三次元位置、（ｉｉ）少なくとも一つの方向での前記先端部分の速度情報、（ｉｉｉ）前記ユーザの指のテンプレートモデルに対する取得された情報のマッチング、（ｉｖ）ヒステリシス情報処理、および（ｖ）入力されているデータの言語知識のうちの少なくとも一つを用いて行われる方法。
【請求項９】
請求項１に記載の方法であって、更に、前記ユーザの指の先端部分の三次元位置を実際のキーボード上のキーにマッピングすることと、前記作業表面に存在していた前記キーの何れがタイプ打ちされたかを同定することとを含む方法。
【請求項１０】
請求項１に記載の方法であって、前記ユーザの指は前記方法のユーザの手の指を含み、前記センサによってフレームでデータが捕捉され、また前記工程（ｂ）は、連続するフレームで取得されたデータを処理して、少なくとも二つの指の垂直速度成分を含む前記ユーザの手の少なくとも二つの指に関する三次元位置情報を決定することを含む方法。
【請求項１１】
請求項１に記載の方法であって、前記コンパニオンシステムは、（ｉ）ＰＤＡ、（ｉｉ）無線電話、（ｉｉｉ）セットトップボックス、（ｉｖ）コンピュータ、および（ｖ）入力データを受け入れるように適合された器具、からなる群から選択された少なくとも一つの装置を含む方法。
【請求項１２】
ユーザによって手動で与えられるデジタル入力を受取るように適合されたコンパニオン装置と共に使用するためのシステムであって：
ユーザがユーザの指を用いて前記コンパニオン装置にデータを入力できる作業表面に対する、少なくとも一つのユーザの指の相対的位置の三次元位置情報を捕捉できるセンサと；
前記センサによって捕捉された情報を処理して、前記ユーザの指が前記作業表面の一部に接触したかどうかを決定し、また接触したときには、前記接触の位置を決定するためのプロセッサとを具備し、
前記プロセッサは、前記接触の位置に釣合ったデジタル情報を前記コンパニオンシステムに出力するシステム。
【請求項１３】
請求項１２に記載のシステムであって、前記センサは約２：１未満のアスペクト比を有するエネルギー放出装置を使用し、また前記情報は前記センサから前記ユーザの指の表面部分への飛行時間を使用して捕捉されるシステム。
【請求項１４】
請求項１２に記載のシステムであって、前記ユーザの指は、（ｉ）ユーザの手の指、および（ｉｉ）ユーザの手によって制御される針器具からなる群から選択されるシステム。
【請求項１５】
請求項１２に記載のシステムであって、前記作業表面は、（ｉ）三次元空間、（ｉｉ）物理的に平坦な表面、（ｉｉｉ）基板、（ｉｖ）ユーザが視認可能な実際のキーボードの画像を持った基板、（ｖ）ユーザが視認可能な実際のキーボードの画像が投影される基板、（ｖｉ）ユーザが視認可能なタイプ打ちガイドが投影される基板、（ｖｉｉ）実際のキーボードのユーザが視認可能な画像を有し、且つ前記ユーザの指で押したときに触覚フィードバックを提供する受動的なキー様領域を含む受動的基板、（ｖｉｉｉ）使用するために展開したときには少なくとも６インチ×１２インチであるが、使用しないときには約６インチ×８インチである基板からなる群から選択されるシステム。
【請求項１６】
請求項１２に記載のシステムであって、前記システムは前記システムのユーザに対して、前記ユーザの指の配置をガイドするフィードバックを与え、該フィードバックは、（ｉ）実際のキーボードに対するユーザのタイプ打ちをエミュレートする触覚フィードバック、（ｉｉ）前記コンパニオン装置により発生される聴覚フィードバック、（ｉｉｉ）少なくとも一つのキーボードキーの画像を描いた、前記コンパニオン装置上に表示される視覚的フィードバック、（ｉｖ）前記コンパニオン装置上に表示された視覚的フィードバックであって、前記指に隣接したキーが前記指に接触したキーから視覚的に識別されるキーボードキーを描いた視覚的フィードバック、および（ｖ）前記ユーザの指により入力されたデータを表す前記コンパニオン装置に表示された視覚的フィードバック、からなる群から選択される少なくとも一つの種類のフィードバックを含むシステム。
【請求項１７】
請求項１２に記載のシステムであって、前記データは、（ｉ）英数字文字を表すデジタルコード、（ｉｉ）コマンドを表すデジタルコード、（ｉｉｉ）前記ユーザの指によってトレースされる点の位置を表すデジタルコード、からなる群から選択される少なくとも一つの種類のデータを含むシステム。
【請求項１８】
請求項１２に記載のシステムであって、前記プロセッサは、前記作業表面上における前記ユーザの指の先端部分の空間的位置を決定することを含み、この決定は、（ｉ）前記先端部分の三次元位置、（ｉｉ）少なくとも一つの方向での前記先端部分の速度情報、（ｉｉｉ）前記ユーザの指のテンプレートモデルに対する取得された情報のマッチング、（ｉｖ）ヒステリシス情報処理、および（ｖ）入力されているデータの言語知識のうちの少なくとも一つを用いて行われるシステム。
【請求項１９】
請求項１２に記載のシステムであって、前記プロセッサは、前記ユーザの指の先端部分の三次元位置を実際のキーボード上のキーにマッピングし、また前記作業表面に存在していた前記キーの何れがタイプ打ちされたかを同定するシステム。
【請求項２０】
ユーザが仮想入力装置を用いて手動でデータを入力することを可能にするシステムであって：
ユーザがユーザの指を用いて前記コンパニオン装置にデータを入力できる作業表面に対する、少なくとも一つのユーザの指の相対的位置の三次元位置情報を捕捉できるセンサと；
前記センサによって捕捉された情報を処理して、前記ユーザの指が前記作業表面の一部に接触したかどうかを決定し、また接触したときには、前記接触の位置を決定するためのプロセッサと；
前記プロセッサ〜出力される前記接触の位置に釣合ったデジタル情報を受取るように接続されたコンパニオンシステムとを具備するシステム。
【請求項２１】
請求項２０に記載のシステムであって、前記ユーザの指は、（ｉ）ユーザの手の指、および（ｉｉ）ユーザの手によって制御される針器具からなる群から選択され、また前記作業表面は、（ｉ）三次元空間、（ｉｉ）物理的に平坦な表面、（ｉｉｉ）基板、（ｉｖ）ユーザが視認可能な実際のキーボードの画像を持った基板、（ｖ）ユーザが視認可能な実際のキーボードの画像が投影される基板、（ｖｉ）ユーザが視認可能なタイプ打ちガイドが投影される基板、（ｖｉｉ）実際のキーボードのユーザが視認可能な画像を有し、且つ前記ユーザの指で押したときに触覚フィードバックを提供する受動的なキー様領域を含む受動的基板、（ｖｉｉｉ）使用するために展開したときには少なくとも６インチ×１２インチであるが、使用しないときには約６インチ×８インチである基板からなる群から選択されるシステム。
【発明の詳細な説明】
【０００１】
（先に提出された出願との関係）
１９９９年１１月４日に出願された「電子装置への入力コマンドの３Ｄ検知のための方法および装置」と題する、本願の出願人が出願人である米国仮特許出願第０６／１６３，４４５号に基づいて優先権を主張する。本願の譲受人であるＣａｎａｓｔａ， Ｉｎｃ．に譲渡されたこの先の出願を、本明細書の一部として本願に援用する。
【０００２】
また、本願と共通の譲受人であるＣａｎａｓｔａ， Ｉｎｃ．に譲渡された、１９９９年９月２２日に提出された、出願人Ｃｙｒｕｓ Ｂａｍｊｉの「ＣＭＯＳ適合性の三次元画像センサＩＣ」と題する同時係属米国特許出願第０９／４０１，０５９号についても参照する。この同時係属米国特許出願もまた、本明細書の一部として本願に援用する。
【０００３】
（発明の分野）
本発明は一般に、コンピュータシステムを含む電子システムに対する、コマンドおよび／またはデータ（ここではまとめて「データ」という）の入力に関する。更に詳細に言えば、本発明は、計算装置の形状要因がキーボードのような通常のサイズの入力装置を排除するとき、または計算装置と入力装置との間の距離のためにケーブルで計算装置に結合された従来の入力装置の使用が不便であるときに、データを入力するための方法および装置に関する。
【０００４】
（発明の背景）
入力されたデータを受信および処理するコンピュータシステムは、当該技術において周知である。典型的には、このようなシステムは中央演算ユニット（ＣＰＵ）と、永続性の読取り専用メモリー（ＲＯＭ）と、ランダムアクセスメモリー（ＲＡＭ）と、ＣＰＵ、メモリー、データおよびコマンドを入力する装置が結合される少なくとも一つの入力ポート、および結果を表示するためにモニターが結合される典型的には一つの出力ポートを相互接続する少なくとも一つのバスとを含んでいる。データを入力するための従来技術には、キーボード、マウス、ジョイスティック、遠隔制御装置、電子ペン、タッチ式パネルもしくはパッドもしくはディスプレー画面、スイッチおよびノブ、並びに最近では手書き認識および音声認識が含まれる。
【０００５】
コンピュータシステムおよびコンピュータ式システムは、最近になって、インタララクティブＴＶ、セットトップボックス（ｓｅｔ ｔｏｐ ｂｏｘ）、電子金銭登録機、合成音楽発生器、所謂携帯用情報端末（ＰＤＡ）のような手持ち型形態装置、および無線電話を含む新世代電子装置への用途が見出されている。従来の入力方法および装置は、このようなシステムと共に使用するときに常に適切または便利であるとは限らない。
【０００６】
例えば、幾つかの携帯コンピュータシステムは、全体のシステムがユーザの手またはポケットの中にフィットできるまでに縮小されてきている。小さなディスプレーを見ることの困難性を克服するために、該システムのユーザが着用する眼鏡フレームにクリップで留まる商業的に入手可能なバーチャルディスプレーアクセサリーを使用することが可能である。ユーザは、該アクセサリー（１インチＶＧＡでよい）を覗き、おそらく１５インチの大ディスプレーに現れるものを見ることになる。
【０００７】
キーボードおよび／またはマウス様の入力装置は、コンパニオンコンピュータまたはコンピュータ様システムの中にデータを入力または編集するために、おそらく最も効率的な技術であることが研究によって示されている。不運なことに、小さいサイズの入力装置はデータを入力できる速度をかなり遅くする可能性があるから、サイズが小さい入力装置に関連した問題を克服することは更に困難である。例えば、幾つかのＰＤＡシステムは、約３インチ×７インチのキーボードを有する。データおよびコマンドはキーボードを介してＰＤＡに入力され得るが、略６インチ×１２インチの完全サイズのキーボードを使用する場合に比較して、入力速度は低下し且つ不快レベルが増大する。他のＰＤＡシステムでは、キーボードを単純に除去し、ユーザがその上に針で英数字の文字を書くようにタッチ画面を提供する。次いで、ＰＤＡ内の手書き認識ソフトウエアが、ユーザが針で接触感受性画面上に書いた英数字文字を解釈および認識しようと試みる。幾つかのＰＤＡは、キーボードの画像を接触感受性画面に表示し、ユーザが針で種々のキーにタッチすることによりデータを入力することを可能にする。他のシステムにおいて、ユーザとコンピュータシステムとの間の距離が、配線で接続された入力装置の便利な使用を排除する。例えば、居間環境におけるユーザとセットトップボックスとの間の距離は、ナビゲートするための配線で接続されたマウスの使用を排除する。
【０００８】
電子装置へのデータおよびコマンド入力のもう一つの方法は、ユーザの動作およびジェスチャーの視覚画像を認識し、次いでこれを解釈し、付随のコンピュータシステムのためのコマンドに変換することである。このような一つのアプローチが、「コマンドまたはデータを光学的入力するための方法および装置」と題するＫｏｒｔｈの米国特許第５，７６７，８４２号（１９９８）に記載されている。Ｋｏｒｔｈは、ユーザが想像上の即ち仮想のキーボード、例えばキーボードのキーのテンプレートまたは印刷された輪郭をもったキーボードサイズの紙片上でタイプする、コンピュータシステムを提案した。このテンプレートは、仮想キーボードキー上でのタイピングに際して、ユーザの指を案内するために用いられる。仮想キーボードに焦点を当てた従来のＴＶ（二次元）ビデオカメラは、ユーザが仮想キーボード上で「タイプする」ときに、ユーザの指が接触チしている仮想キーの認識を可能にすると述べられていた。
【０００９】
しかし、Ｋｏｒｔｈの方法は、彼の相対的発光データに対する依存、実際には不充分な周囲照明源から生じる固有の曖昧さに支配される。従来の二次元ビデオカメラによるビデオ信号出力は人間の目による画像認識に適したフォーマットであるが、この信号出力は、視認された画像のコンピュータ認識には適していない。例えば、Ｋｏｒｔｈ型の適用においてユーザの指の位置を追跡するためには、コンピュータが実行可能なソフトウエアは、ビデオカメラ出力信号における画素の明度における変化を使用して、各指の輪郭を決定しなければならない。このような追跡および輪郭決定は、背景の色または照明を正確に制御できず、実際にユーザの指に似せることができないときには、達成するのが困難な仕事である。更に、Ｋｏｒｔｈによって必要とされるビデオの各フレーム（典型的には少なくとも１００画素×１００画素）は、グレースケールまたはカラースケールコード（典型的にはＲＧＢと称される）を有するに過ぎない。このようなＲＧＢ値データに制限されるので、Ｋｏｒｔｈシステムにおけるマイクロプロセッサまたは信号プロセッサは、最良の場合でも、周囲の照明条件が最適であれば、背景画像に対する指の輪郭を検出できるに過ぎない。
【００１０】
付随する問題は、ユーザの指を追跡する際の潜在的な曖昧さと同様に重要である。従来のビデオカメラは二次元画像データを出力し、ビデオシーンにおける対象の実際の形状および距離に関する明瞭な情報を提供しないので、Ｋｏｒｔｈの技術では曖昧さが不可避である。実際に、Ｋｏｒｔｈのビデオカメラの視点からは、カメラレンズの軸に沿ったタイピング動作を検出することは非常に困難であろう。従って、複雑なキー動作を充分に捕えるためには、異なる視点を有する複数のカメラが必要とされるであろう。また、Ｋｏｒｔｈの図１が示唆するように、遮られないユーザの手の各指の視野を得ることが困難である可能性があ。例えば、右の人差し指の画像を得ることは、右の中指の画像を遮る存在によって排除される等々である。簡単に言えば、周囲照明が良好で、カメラの視点が良好でも、Ｋｏｒｔｈの方法は、ユーザの指が仮想キーボード上のどの列に触れているかに関する曖昧さを含む多くの欠点を有している。
【００１１】
深さ情報を得る試みにおいては、夫々が異なる視角から問題の物体を狙う複数の二次元ビデオカメラを使用して、Ｋｏｒｔｈのアプローチを反復してもよい。この提案は単純に思えるが、それは実際的ではない。種々のカメラのキャリブレーションは扱い難く、また二倍のカメラを配備するのと同様に潜在的に高価である。夫々のカメラは、観察する対象に対して、また相互に対して正確にキャリブレートされなければならない。充分な正確さを達成するためには、キーボードに関して左右の頂部に立体カメラを配置しなければならないであろう。この構成でも、これらのカメラは少なくとも一つのカメラの視野内にある指を遮る指に悩まされるであろう。更に、種々のカメラにより出力された二次元ビデオ画像情報から三次元情報を作成するために必要なコンピュータ処理は、画像データを処理するために使用されるコンピュータシステムのオーバーヘッド処理に寄与する。理解できるように、複数のカメラを使用することは、Ｋｏｒｔｈの信号処理要件を実質的に複雑化するであろう。最後に、タイピング動作を行っているユーザの指のような、微細なオブジェクト（対象物）の移動を検出および認識するために要求されるカメラからオブジェクトへの必要な、距離解像度を達成するのは困難であるかもしれない。
【００１２】
簡単に言えば、Ｋｏｒｔｈのアプローチを使用して、タイピングをしているユーザの手の、二次元の明度に基づくビデオ画像を検査し、何時どの指が何れのキー（バーチャル等）にタッチするかを正確に決定するのは現実的でない可能性がある。たとえ二次元のビデオ情報処理がＫｏｒｔｈによるコンピューター化されたパターン認識で増強されたされたとしても、この欠点は残る。また、現実的に、Ｋｏｒｔｈの技術はそれ自身が携帯性がないのが分かる。例えば、画像取得システムおよび周囲光源は本質的に常時オンされることになるであろうし、また充分な動作電力を消費して有意義なバッテリー動作を排除するであろう。Ｋｏｒｔｈのシステムがデータ取得のフレーム速度を低下またはパワーダウンできたとしても、該システムはやはり充分な周囲照明を必要とするであろう。
【００１３】
Ｋｏｒｔｈのビデオカメラ（またはおそらくは複数のカメラ）はキーボード上の視点を必要とするから、電力要件を別にしても、Ｋｏｒｔｈの二次元画像システムは携帯電話のような小さいコンパニオン装置のための携帯性がない。この要件は、該システムが動作している間、および搬送中に保存される間の両方において、Ｋｏｒｔｈのシステムの実際上のサイズに制限を課す。
【００１４】
コンピュータ処理システムに電気的に接続されていない仮想キーボードまたは他の仮想入力装置を用いて、ユーザが、コンパニオンコンピュータ処理装置にデータを入力できる方法およびシステムが必要とされている。このような方法およびシステムによって実施されるデータ入力インターフェースエミュレーションは、このましくは複数の画像取得装置を有することなく、ユーザの何れの指が何れの時間シーケンスにおいて仮想入力装置上の何れのキー（または他の記号）に触れているかに関する、三次元的に取得された有意義な情報を提供すべきである。好ましくは、このようなシステムは、該システムの出力が、コンパニオンコンピュータ処理システムが入力として直接使用可能な走査コードまたは他のフォーマットであることができるように、信号処理を含むべきである。最後に、このようなシステムは携帯可能で、且つセットアップおよび動作が容易であるべきである。
【００１５】
本発明は、このような方法およびシステムを提供する。
【００１６】
（発明の概要）
本発明は、ユーザが、手動入力装置の受動仮想エミュレーションからコンパニオンコンピュータシステム（ＰＤＡ、無線電話、またはデジタル入力信号を受信するように適合された何れかの電子システムまたは器具）へ、コマンドおよびデータ（ここでは纏めてデータと言う）を入力するのを可能にする。本発明は、周囲の光がなくても、キーボード、キーパッドまたはデジタル化表面のような入力装置をエミュレートするのに用いられるテンプレートを保持または表示する基板上での、ユーザの指の配置に関する三次元データをリアルタイムで捕捉するように機能する三次元センサ撮像（イメージング）システムを含んでいる。この基板は、好ましくは受動的であり、キーボードのキーの印刷された画像、またはキーボードのキーの行および列に対応する場所の境界を画する単純な目印線を含む、折畳み可能または巻回可能な紙片またはプラスチック片であればよい。この基板は、Ｚ軸がテンプレートのキー行を定義し、Ｘ軸がテンプレートのキー列を定義し、Ｙ軸が基板上の垂直高さを示す水平なＸ−Ｚ面上にあるものとして定義され得る。所望であれば、基板キーボードの代りに、本発明は光を使用して、コンパニオン装置の正面の作業面に、格子または多分はキーボードの画像を投射するプロジェクターを含むことができる。投影されたパターンは、この表面上で「タイピング」する際のユーザのガイドとして働くであろう。この投影装置は、好ましくはコンパニオン装置の中に含まれるか、またはこれに取付け可能であろう。
【００１７】
或いは、タイピングのガイドとしての基板は除去することができる。その代りに、コンパニオンコンピュータ装置の画面を使用して英数字文字を表示し、コンパニオン装置正面のデスクトップまたは他の作業表面（多分テーブルの頂面）上で、ユーザによって「タイプ」されるようにしてもよい。熟練したタッチタイピストでないユーザのために、本発明はその代りに（または追加して）、ユーザによって「押され」または「タイプ」されるようなキーボードの「キー」を示すディスプレー画像を提供することができる。「キー」は、ユーザの指の直下にあることが認められた「キー」が画面において一つの色で強調することができる一方、実際に駆動されたと認められる「キー」はもう一つの色またはコントラストで強調することができる。この構成は、ユーザがコンパニオン装置の正面にある作業表面、おそらくは仮想キーボード上でタイプ打ちすることを可能にするであろう。好ましくは、ユーザが仮想キーボードをタイプ打ちするときに、コンパニオン装置上に表示されたテキスト領域に対応するテキストが現れる。
【００１８】
従って、種々の形式のフィードバックを使用して、仮想タイピングをしているユーザを案内することができる。ユーザの手の何れの指が、如何なる順序で何れの仮想キーまたは仮想キー位置をタイプしたかが、三次元センサシステムによって決定される。好ましくは、この三次元センサシステムは、中央演算ユニット（ＣＰＵ）並びに関連の読取り専用メモリー（ＲＯＭ）およびランダムアクセスメモリー（ＲＡＭ）を備えた信号処理ユニットを含んでいる。ＲＯＭの中には、信号処理ユニットＣＰＵによって実行されるソフトウエアルーチンが保存されており、三次元位置情報が受信され且つ実質的にリアルタイムで、コンパニオンコンピュータシステムへの装置入力として直接適合したキー走査データまたは他のフォーマットのデータに変換されるようになっている。好ましくは、この三次元センサは特定の波長の光を放出し、走査される対象、例えばユーザの手の種々の表面領域からの戻りエネルギー飛行時間を検出する。
【００１９】
タイプ打ちセッションの開始時に、ユーザはその指を作業表面または仮想キーボード（存在するとき）の上またはその近傍に配置する。ユーザまたは他の対象が三次元センサの撮像領域内に来るまで、本発明は低電力消費のスタンバイモードのままである。スタンバイモードにおいては、動作電力を節約するために、放出された光パルスの反復速度は１秒当り約１〜１０パルスに低下されるが、これは本発明がバッテリー駆動であるときには重要な要件である。このようにして、本発明は比較的少数のパルスしか放出しないが、Ｚ軸方向の解像度が粗くまたは低いとしても、画像データを取得することができる。三次元捕捉のための別の方法では、取得フレーム速度および解像度を低下させて、電力を節約する方法を使用してもよい。このような低解像度の情報でも、本発明に撮像視野内にあるオブジェクトの存在を警戒するためには充分である。対象が撮像視野に入ると、本発明の動作を支配するＣＰＵは、高パルス速度を用る正常な動作モードに入ることを指令し、システムの機能はフルパワーで動作する。動作電力を保存するために、ユーザの指または潜在的な関連対象が撮像視野から除かれたとき、本発明はパワーダウンしてスタンバイ電力モードに戻る。このようなパワーダウンは、好ましくは、時間閾値を超える長時間に亘って関連対象が静止状態のままであるときにも生じる。
【００２０】
次に、ユーザがその指を全て仮想キーボードのホーム行キー（例えばＡ，Ｓ，Ｄ，Ｆ，Ｊ，Ｋ，Ｌ，；）に置いたと仮定する。或いは、仮想キーボードが存在しないときは、本発明が実施されるコンパニオン装置の正面の作業スペースに置いたと仮定する。既にフルパワーモードにある本発明は、好ましくはソフトキーキャリブレーションを開始し、該キャリブレーションではユーザ入力に基づいて、コンピュータがキーボードのキーに位置を割り当てる。ユーザの指は一定の（意図する）キー上に置かれ、これら指の正確な位置に基づき、該ソフトウエアはユーザの指の位置に基づいてキーボード上のキーに位置を割当てる。
【００２１】
ユーザが基板テンプレート上に示されたキーを「タイプ打ち」するとき、またはユーザがコンパニオン装置の正面の作業スペース上（現実のキーボードが存在したとき場合に「キー」が正常に存在する場所）をタイプ打ちするときに、三次元センサシステムはユーザの指を見る。このセンサシステムは、キーボード、マウス等のような従来の入力装置によって出力されたデータから機能的に区別され得るフォーマットで、データをコンパニオンコンピュータシステムに出力する。好ましくは信号処理ユニットＣＰＵ（またはコンパニオンコンピュータシステムのＣＰＵ）によって実効されるソフトウエアは、入ってくる三次元情報を処理し、基板または作業表面（仮想キーボードが存在しないとき）の画像に対する三次元空間内のユーザの手および指の位置を認識する。
【００２２】
好ましくは、このソフトウエアルーチンは、Ｚ軸の不連続性を調べることにより、各フレーム内のユーザの指の輪郭を同定する。指がキーを「タイプ打ち」し、またはキーボード（現実または仮想の）が存在するとした場合にキーが存在するであろう作業表面の領域で「タイプ打ち」すると、ユーザの指と仮想キーボードまたは作業表面との間の物理的インターフェースが検出される。このソフトウエアルーチンは、好ましくは光学的に取得されたデータを調べ、連続的なフレームにおけるこのようなインターフェース境界の位置を突止めて、指のＹ軸速度を計算する。（他の実施例では、超音波のような低周波数エネルギーを代りに用いることができるであろう）。このような垂直方向の指の運動が停止し、またはルーチンによっては指が基板と接触したときに、問題の指の座標（Ｚ，Ｘ）から押されている仮想キーが同定される。次いで、適切なＫＥＹＤＯＷＮイベントコマンドを発することができる。本発明は全ての指（親指を含む）について同様の分析を行い、異なるキーが接触される（例えば「押される」）順序を正確に決定する。このようにして、ソフトウエアは適切なＫＥＹＵＰ、ＫＥＹＤＯＷＮおよび走査コードデータコマンドを、コンパニオンコンピュータシステムに発する。
【００２３】
当該ソフトウエアルーチンは、好ましくは、タイプ打ちの際のユーザの手のドリフティングにおけるエラー、例えば、仮想キーボード上での変位を認識して補正する。該ソフトウエアルーチンは更に、実際にはキーを「押す」ことなく、指を仮想キーの上に静止させたユーザから生じるエラーを低減するために、幾つかのヒステリシスを提供する。測定エラーは、タイプ打ちアプリケーションにおいて、Ｚ値を追跡するためのフレーム速度要件がＸ値およびＹ値を追跡するためのフレーム速度要件よりも低いことを維持することによって、更に低減される。即ち、Ｚ方向の指の移動は、典型的には他の軸方向での指の移動よりも遅い。本発明はまた、キーボードまたは他の作業表面上において、種々の競合する指の間の衝撃時間を識別する。好ましくは、このような識別は、識別すべきものがＹ寸法のタイミングであるので、充分に高いフレーム速度でのＸ軸、Ｙ軸のデータ値を観察することによって達成される。Ｚ軸観察は、異なる指の間の識別を必要とせず、従ってフレーム速度は、一つの指が異なるキーの間でＺ方向に移動できる速度によって支配され得る。好ましくは、本発明によって与えられるソフトウエアルーチンは、ノイズまたはジッタを低減するために、Ｚ軸の取得されたデータを幾つかのフレームに亘って平均化する。Ｘ値およびＹ値についての有効なフレーム速度に対するＺ値の有効フレーム速度は減少するが、Ｚ値の正確さは向上し、やはり有意義なデータ取得のフレーム速度が得られる。
【００２４】
ソフトウエアルーチンは、ユーザが、おそらくは同時にコントロールおよびシフトを押しながら、単に一定のキーの組合せで「タイプ打ち」することによって、コンパニオンコンピュータシステムを英数字データ入力モードがらグラフィックモードにトグル切換えすることを可能にする。グラフィックモードにおいて、テンプレートはデジタル化テーブルをエミュレートし、またユーザが該テンプレートを横切ってその指をドラッグするときには、接触している点の（Ｚ，Ｘ）位置は、線、署名または他の図形を描画するために使用されるであろう。
【００２５】
好ましくは，コンパニオンコンピュータシステムに結合されたディスプレーは、ユーザに入力された英数字または他のデータを、実質的にリアルタイムで表示することができる。キーボードのキーおよび指の画像を描写することに加えて、コンパニオンコンピュータシステムのディスプレーは、入力されようとしている英数字を示すブロックカーソルを与えることができる。追加の形態の入力フィードバックは、幾つかまたは全てのキーの下に弾性領域を形成して、「キー」がユーザの指に触れたときに触覚フィードバックを提供することによって達成される。適切なコンパニオン装置が用いられるならば、該コンパニオン装置は、「タイプ打ち」されたキーの名前を一字一字発音する。例えば、ユーザが「ｃａｔ」の語をタイプしたときには、文字「ｃ」−「ａ」−「ｔ」を発音する。ユーザの指を検出した際にコンパニオン装置に電子的なキークリック音を出させることによって、単純な形態の音声フィードバックが提供される。
【００２６】
本発明の他の特徴および利点は、添付の図面と関連させて好ましい実施例を記載している以下の説明から明かになるであろう。
【００２７】
（好ましい実施例の詳細な説明）
図１Ａは、指が基板５０（ここでは机または他の作業表面６０の頂面に示されている）の上で「タイプ打ち」するときに、本質的に縁をユーザの手４０の指３０に向けて焦点を結ぶ三次元センサ２０を具備した、三次元センサシステム１０を示している。好ましくは、基板５０はデータ入力装置、例えばキーボードを表す線または目印を含んだ、印刷または投影されたテンプレート７０を有している。こうして、テンプレート７０は図示のようにキーボードの印刷された画像を有していてもよいが、キーは電子的に受動的であり、単に現実のキーの表現に過ぎない。基板５０はＺ−Ｘ面にあるものとして定義され、該面内において、Ｘ軸に沿った種々の点は左列から右列へのキー位置に関連し、Ｚ軸に沿った種々の点は前方から後方へのキー位置に関連し、またＹ軸位置はＺ−Ｘ面上の垂直距離に関連する。（Ｘ，Ｙ，Ｚ）位置は、ベクトル位置点の連続体であり、図１Ａに示した数個の点よりもかなり多い種々の軸位置が定義され得ることを理解すべきである。
【００２８】
所望であれば，テンプレート７０は、単にキーが存在する場所を示す行ラインおよび列ラインだけを含んでいてもよい。その上にテンプレート７０が印刷され、または他の方法で現されている基板５０は、図示の例ではキーボードをエミュレートする仮想入力装置である。このような基板５０および／またはテンプレート７０を、ここでは、デジタルデータおよび／またはコマンドを入力するための仮想キーボードまたは仮想装置と称する。このような仮想入力装置の利点は、それが紙または可撓性プラスチックに印刷され得ることであり、また図２Ａに示すように折り畳まれ、図２Ｂに示すように巻回（または折畳んで巻回）されることである。キーの配置は、幾つかの図では図示を容易にするために示した矩形マトリックスである必要はなく、現実のＱＷＥＲＴＹキーボードにおけるように、千鳥状の位置即ちオフセットした位置にレイアウトされてもよい。図２Ｂはまた、テンプレート７０として印刷された別のキーセット（ここではキリルアルファベット文字）をもった装置を示している。所望であれば、一つのキーセットをテンプレートの片面に印刷し、第二のキーセットを多面に印刷することもできるであろう（例えば英語文字およびロシア文字）。
【００２９】
図１Ｂ〜１Ｄに関して説明したように、代替法として、仮想キーボードの画像はコンパニオン装置に結合された画面に表示されてもよい。この実施例において、所望であれば基板および作業表面を省略し、ユーザが空中で「タイプ打ち」するようにしてもよい。この実施例は、使用している「キーボード」（例えば英語キーボード、またはドイツ語キーボード、またはロシア語キーボードを提示するもの）の飛行中の交換を可能にして、デジタイザーシート等をエミュレートする点において特に融通性がある。種々のキーボードおよびキーセットは、コンパニオン装置または器具８０に結合された画面９０上に単純に表示される。理解できるように、本発明と共に使用されるコンパニオン装置のディスプレー上に、種々の文字セットを有する仮想キーの表示された画像として別のキーセットを提示することにより、大きな融通性が達成される。従って、図１Ｂにおいて、ガイドとしての仮想キーボードは除去され、携帯性および融通性を更に促進している。
【００３０】
種々の実施例において、仮想キーボード５０（図１Ａに示すもの）から、または仮想キーボードのない作業表面６０（図１Ｂに示すもの）からユーザが入力すべきデータ（および／またはコマンド）は、コンパニオンコンピュータまたは他のシステム８０に結合されるであろう。コンパニオンコンピュータシステムまたはコンピュータ様システムは限定されず、ＰＤＡ、無線電話、ラップトップＰＣ、ペンに基づくコンピュータ、またはデータを入力することが望まれる他の如何なる電子システムであってもよい。仮想キーボードが使用される場合には、好ましくは、使用しないときには折畳んだり巻回してもよい。その折畳まれたサイズまたは巻回されたサイズは、データおよびコマンドを入力するために使用されるＰＤＡまたは他のコンパニオンコンピュータシステム８０と共に保存するために、充分に小さくすることができる。例えば、折畳まれたとき、キーボードは略２．５インチ×３インチ、好ましくは少なくとも８インチ×８インチよりも小さくすればよい。ＰＤＡのための仮想キーボードは、ＰＤＡの背面のポケットにフィットする大きさの、折畳まれた形態因子を有すればよいであろう。しかし、使用されるときには、該仮想キーボードは広げられ、または巻戻されて、仮想キーボードではあっても実質的に完全なサイズになる。
【００３１】
ユーザがデータをコンパニオンシステム８０に入力するときに、典型的にはシステム８０に存在するディスプレー９０は、仮想キーボードから入力されているデータ１００、例えばＰＤＡに入力され得るテキスト、無線電話に入力され得るｅメール等をリアルタイムで表示することができる。一実施例では、ブロックカーソル１０２が、タイプされるべきことを本発明が認知した個々の英数字の表示、例えば図１Ａの文字「ｄ」を取囲む。この視覚的フィードバックは、ユーザがデータ入力の正確さを確認するのを補助し、おそらくは望ましい文字がタイプされるのを保証するために、ユーザの指を再配置する際のガイドを提供する。ユーザに更なるフィードバックを与えるために、各仮想キーが押されたときに、システム８０によって「キークリック」のような音声フィードバックを発生することができる。所望であれば、ユーザに触覚フィードバックを与えるために、仮想キーボードに受動的バンプ１０７を形成してもよい。例として、このようなバンプは、例えば弾性プラスチックで製造された仮想キーボードの各「キー」の下に形成された半球であってもよい。
【００３２】
上述のように、仮想キーボード（基板またはコンパニオン装置の正面の作業表面であってもよい）の画像をコンパニオン装置の画面に表示することにより、追加またはた代替として、視覚的フィードバックを与えることもできる。ユーザがタイプ打ちをするとき、ユーザは、ユーザの指がキーボードに対して動くときに、その指を示すキーボードの画像によってガイドされる。この画像は、ユーザの指の直下にあるキーの強調を含むことができ、またキーが実際に押されれば、このようなキーは異なる色またはコントラストで強調することができる。所望であれば、実際の英数字が「タイプ打ち」されたときに該文字が画面の上方部分に現れ、またユーザの指が重ねられた仮想キーの画像が画面の下方部分に現れるように、コンパニオン装置の画面を「分割」することができる。
【００３３】
図１Ａおよび図１Ｂにおいて、コンパニオンシステム８０は受台１１０に装着して示されており、該受台には三次元センサ２０が永久的に取り付けられている。或いは、センサ２０を、好ましくはコンパニオン装置８０の下方部分に永久的に取り付けることができる。センサ２０からの出力は、経路１２０を介してコンパニオン装置８０のデータ入力ポート１３０に接続される。受台等が使用されるときは、受台１１０への装置８０の挿入を使用して、センサ２０の出力と装置８０への入力との間を自動的に接続してもよい。
【００３４】
ここで説明するように、図１Ｂの構成は、有利なことに、図１Ａに示したような印刷された仮想キーボードがなくても、ユーザがコンパニオン装置８０にデータを入力するのを可能にする。理解を容易にするために、Ｘ軸およびＹ軸に沿った格子線が、コンパニオン装置８０の正面の作業表面領域６０に示されている。ここで述べる種々のソフトウエアマッピング技術は、ユーザの指が何れのキーを打とうとしているか（キーが存在するとして）を本発明によって識別するのを可能にする。図１Ａの実施例は、仮想キーボードからの触覚フィードバックを可能にするのに対して、図１Ｂの実施例はそうではない。従って、装置８０の画面９０は、ユーザのタイプ打ちを補助するために画像を表示するのが好ましい。勿論、図１Ａの実施例のように、「タイプ打ち」の際にユーザの指が表面６０を押すと、装置８０が聴覚的なキークリックオンを発するようにしてもよい。
【００３５】
図１Ｃは、適切な装置８０から入手可能なある種の視覚的補助を示しており、この補助は勿論、図１Ａの実施例と共に使用してもよい。図１Ｃにおいて、画面９０は少なくともキーボード１１５の画像の一部、並びに実際のまたは仮想のキーボード上にあるキーに対する、手および指の位置を示すユーザの手の輪郭または他の表現を表示する。図示を容易にするために、図１Ｃは、ユーザの左手の位置のみを示している。ユーザの指がキーに「接触」し、またはキーに「接触」するほど十分に近接している（例えば、キーボードが存在するとして、このようなキーが存在する表面６０上の位置）とき、およびキーが「押され」または「タイプ打ち」されるときに、装置８０は異なる色またはコントラストを使用して該キーを強調することができる。例えば、図１Ｃでは、「Ｙ」キーが強調またはコントラストを付して示されており、これによって、該キーがユーザの左人差し指で接触されているかまたは接触されようとしていること、或いは押されていることを示すことができる。図１Ｄに示すように、分割された画面ディスプレーが装置８０によって提供され、ここで画面の一部は、存在しないキーボード上でのユーザの指配置をガイドする画像を描画する一方、画面のもう一つの部分は、ユーザが装置８０に入力したデータまたはコマンドを示す。図１Ｄは、画面上で単語「ｋｅｙ」の綴りが完了するときにタイプ打ちされているもの、例えば単語「ｋｅｙ」の文字「Ｙ」が強調されている対応のテキストを示しているが、その代りに、データ１００は図形であってもよい。例えば、ユーザは装置８０に図形モードを入力するように命令することができ、その際に、表面６０を横切る（または仮想キーボード７０を横切る）指の動きが図形、例えばユーザの署名が、人差し指または針を用いて表面６０の上に「書かれる」。ユーザの指または針は、纏めて「ユーザの指」と称することができる。
【００３６】
任意に、本発明に付随したソフトウエア（例えば図３におけるソフトウエア２８５）は、単語の内容を用いて、「タイプ打ち」エラーの減少を補助することができる。入力されている言語、例えば英語におけるテキストの語彙が予め知られていると仮定する。コンパニオン装置の中のメモリーは、当該言語において最も頻繁に使用される単語を含む辞書を保存し、ユーザが仮想キーボード上または薄い空気中で単語を「タイプ打ち」するときに、コンパニオン装置のソフトウエアは、こうしてタイプ打ちされた文字を上記辞書の候補単語に適合させるであろう。例えば、ユーザが「Ｓ」を入力すれば、文字「Ｓ」で始まる全ての単語が候補であり；ユーザが「ＳＵ」を入力すれば、「ＳＵ」で始まる全ての単語が候補である。ユーザが「ＳＺ」をタイプ打ちすれば、少なくとも英語においては、適合する候補単語は存在しないであろう。ユーザが更に多くの文字をタイプ打ちすると共に、タイプ打ちされている単語に合致し得る候補単語の組は処理可能なサイズにまで減少する。或る閾値点において、例えば候補単語のサイズが５〜１０語にまで減少したときに、当該ソフトウエアは、ユーザによってタイプ打ちされるべき次の文字に可能性を割当てることができる。例えば、ユーザが既に「ＳＵＢＪ」を入力していれば、次の文字は「Ｗ」であるよりも「Ｅ」である確率が高い。しかし、文字「Ｅ」および「Ｗ」は、実際のキーボードまたは仮想キーボード上で隣接しているから、ユーザは文字「Ｗ」のキーに近接した領域を押す可能性がある。この例では、コンパニオン装置のソフトウエアを使用してキー入力を訂正し、ユーザが文字「Ｅ」を入力する意図であったと仮定することがができる。
【００３７】
次に、三次元センサ２０の動作を見てみると、該センサは既知周波数の放射線を放出して、光学視野内にある対象の表面で戻って来たエネルギーを検出する。放出された放射線が、図１Ａおよび図１Ｂに線１４０として示されている。センサ２０は、ユーザの何れの指先３０がテンプレート７０の何れの部分に接触するか、例えば何れの仮想キーに如何なる順序で接触するかを決定するために、Ｚ軸に沿って照準を合わせる。図１Ｂに示したように、テンプレート７０が存在せず、またユーザが装置８０の前の作業空間で単純にタイプ打ちしたとしても、センサ２０は意義のあるデータを出力するように機能するであろう。このような実施例において、コンパニオン装置８０の画面９０は、文字「Ｔ」のためのキー１０７のように、「押された」かまたは直下にある「キー」が強調されたキーボード１０５の画像１００’を表示することができるであろう。
【００３８】
図１Ａおよび１Ｂに示すように、所望であれば、タイプ打ちしているユーザをガイドするために、可視光線１４７を放出する照明または他のプロジェクタ１４５を使用して、仮想キーボードの画像を投影することができるであろう。例えば、タイプ打ちしているユーザをガイドするために、可視光源（おそらくは可視波長のレーザ光）を回折レンズと共に使用して、画像を投影してもよい。このような実施例では、おそらく共通の図形ファイルフォーマット（例えばＧＩＦ）にしたキーボードの画像が、レンズ上の回折パターンを「エッチ」するために使用される。投影された画像の一部はユーザの指の表面に向かうが、その上でタイプ打ちする基板が存在しなくても、このような投影されたガイドは有用であり得る。３５８０６アラバマ州ハンツビルのＭＥＭＳ Ｏｐｔｉｃａｌ， ＬＬＣから入手可能な光学系を含む回折光学系の使用は、このような投影型の実施例の実施における用途を見出す可能性がある。
【００３９】
図３は、好ましくはＣＭＯＳ ＩＣ ２１０上に製造される、三次元画像センサシステム２００の一例を示すブロック図である。システム２００は、三次元センサ２０と同じハウジング内に配置されて、本発明を実施するために使用される。本明細書の一部として本願に引用する同時係属の米国特許出願第０９／４０１，０５９号に更に詳細に記載されているように、このようなシステムは、有利なことに可動部分を必要とせず、また比較的少数のオフチップ部品、主に発光ダイオード（ＬＥＤ）またはレーザ光源２２２および関連の集光システムを必要とするに過ぎず、適切なシールドが与えられれば、その上にＩＣ ２１０が製造される共通の基板上にレーザ光源２２０を結合してもよい。上記で引用した同時係属の米国実用特許出願に開示された三次元センサ２０に関して本発明を説明したが、本発明は他の三次元センサを用いて実施してもよいことが理解されるべきである。
【００４０】
システム２００は画素検出器２４０のアレイ２３０を含んでおり、その夫々は、関連の検出器によって出力された検出電荷を処理するための、専用の回路２５０を有している。仮想キーボード認識アプリケーションにおいて、アレイ２３０は、１５×１００画素および対応する１５×１００の処理回路２５０を含むことができる。なお、アレイのサイズは、Ｋｏｒｔｈの従来技術による二次元ビデオシステムが必要とするよりも実質的に小さい。Ｋｏｒｔｈは４：３のアスペクト比、幾つかの例では２：１のアスペクト比を必要とするのに対して、本発明は３：１よりも実質的に小さいアスペクト比、好ましくは約２：１５または１：１５のアスペクト比を使用して、データを入手および処理する。図１Ａおよび図１Ｂを参照すると、相対的に大きいＸ軸範囲が含まれなければならないが、基板５０に対するセンサ２０の縁を前にした配置では、比較的小さいＹ軸距離を含む必要があるに過ぎないことが理解される。
【００４１】
ユーザがタイプ打ちしている間は、仮想キーの行に沿ってユーザの種々の指を識別するために、高いフレーム速度が必要とされる。しかし、タイプ打ちしている所定の指の前後の動きは、実際にはそれほど迅速ではない。従って、Ｚ軸データの取得速度はＸ軸およびＹ軸データよりも小さく、例えば、Ｚ軸データについては１０フレーム／秒であり、Ｘ軸およびＹ軸データについては３０フレーム／秒である。
【００４２】
低下されたＺ軸フレーム速度の実際的な利点は、キーボードの指位置情報を得る際に、本発明によって必要とされる電流が少ないことである。実際に、取得された情報を信号処理する際、本発明はフレームに亘ってＺ軸情報を平均することができ、例えば、Ｚ軸位置情報についてのフレームの１／３を調べる。得られたＺ軸値は、三つの連続的な画像フレームが処理された同じＺ値を共有するように、三つの連続する３０フレーム／秒のフレームに亘って平均化すればよい。Ｚ値についての有効フレーム速度は、Ｘ軸およびＹ軸データの取得速度の１／３に低下するが、Ｚデータの精度は、ノイズおよびジッタを平均化することによって改善される。このような、Ｚ値に対するＸ値およびＹ値の異なるフレーム速度の使用は、本発明には有用である。例えば、Ｘ軸およびＹ軸データに対するＺ軸データの減少した取得速度は、電流の消耗を最小化し、また冗長な信号処理を伴った信号プロセッサ（ＣＰＵ ２６０）の負担を回避する。
【００４３】
従って、従来技術のＫｏｒｔｈ様システムは、周囲光の存在下で二次元明度データを取得するのに対して、本発明は、周囲光を必要とせずに三次元画像データを取得する。本質的に、本発明は人間が接触により対象を感じるのに類似して、三次元対象、例えば指および基板を検知することができる。有利なことに、これは比較的小さな動作電力、例えば１０ ｍＷで略３．３ ＤＶＣを使用して達成することができる。これによって、本発明はバッテリー動作が可能であり、また比較的小さく且つ可動形態で製造することを可能にする。
【００４４】
ユーザの手および指ならびに基板の三次元画像データが、１秒当り複数フレームで、アレイ２３０から入手可能である。このデータを使用して、本発明は基板に対する、または基板が存在しないときには、キーボードがコンパニオン装置８０の前の作業表面上にあるとしたときの仮想キーが存在する場所に対する、手および指の三次元画像を構築する。そうするための例示技術は、出願人Ｂａｍｊｉによる先に参照した同時係属の米国特許出願に記載されている。飛行時間データからこのような三次元画像を構築することは、例えばＫｏｒｔｈが示唆しているような二次元明度に基づくデータを使用して、空間的関連を推測する従来技術の方法よりも優れている。なお、飛行時間法は、Ｂａｍｊｉ特許出願に記載されているような、戻りパルス時間測定、位相もしくは周波数検出、または高速シャッタ法を含む可能性がある。飛行時間に依存しない他の方法は、立体画像、および相対強度から深さを識別する明度に基づく技術を含む、三次元データを捕捉することができる。
【００４５】
実際に、アレイ２３０は、５文字／秒（約６０語／分）の仮想タイピングを処理するのに充分なフレーム速度、即ち、３０フレーム／秒でデータを取得および発生することができる。アレイ２３０が、例えばＸ軸画素の数ｎおよびＹ軸画素の数ｍを含む矩形であるとき、ｎ＝１００でｍ＝１５であれば、１，５００画素を含む格子が形成される。データの各フレームについて、アレイ２３０における各画素は、センサ２０から、画素により捕捉された対象（例えばユーザの指の一部、基板の一部等）の表面までのベクトル距離を表す値、例えばベクトル値またはＺ値を有するであろう。このデータは、Ｋｏｒｔｈの明度に基づく画像データよりも遥かに有用である。Ｋｏｒｔｈのデータは最良でも、ユーザの指および仮想キーボード上の二次元位置を決定する際の、ＲＧＢグレイスケール値またはカラースケール値をもったビデオフレームを与えるに過ぎない。
【００４６】
取得された三次元データの使用は、ソフトウエア２８５が、ユーザの指の実際の形状（名目上は幾分円筒形と仮定される）を決定することを可能にし、従って他の指、基板上の位置、および三次元センサ２０に対する相対的な指の位置を決定することを可能にする。例えば図１Ａにおいて、指がＹ＝０の位置に移動するのが検知されるとき、その指は、おそらくは仮想キーをタイプするように準備されていると決定することができる。その指がＺ＝Ｚ１の領域に接近していることが検知されれば、その指はおそらく、仮想キーボード上のキーの第１行にある仮想キーをタイプするために準備されている。仮想キーが押されようとしているかどうかの決定もまた、速度データを考慮する。例えば、Ｙ＝０に向けて迅速に下方に動いていると検出されたユーザの指は、おそらくは仮想キーを打つ準備ができている。
【００４７】
図３において、ＩＣ ２１０はまた、マイクロプロセッサまたはマイクロコントローラユニット２６０（ＣＰＵと称する）、ランダムアクセスメモリー２７０（ＲＡＭ）および読取り専用メモリー２８０（ＲＯＭ）を含んでおり、該ＲＯＭの一部は、好ましくは本発明を実施するためにＣＰＵにより実行されるソフトウエアルーチン２８５を保持している。コントローラユニット２６０は、好ましくは略５０ ＭＨｚで動作する１６ビットのＲＩＳＣマイクロプロセッサである。他の機能のうちで、ＣＰＵ ２６０は対象までのベクトル距離および対象の距離の計算を行うが、この対象は基板およびユーザの手である。ＩＣ ２１０は更に、高速分配クロック２９０、種々のコンピュータ処理、光駆動の入力／出力（Ｉ／Ｏ）回路３００、およびインターフェースデータ／コマンド入力／出力（Ｉ／Ｏ）回路３１０を含んでいる。デジタルキーボード走査型のデータ若しくはデジタイザータブレット／マウス型のデータが、Ｉ／Ｏ ３１０、例えばシステム２００に結合されたＣＯＭおよび／またはＵＳＢ型ポートから出力される。
【００４８】
好ましくは、画素検知検出器の二次元アレイ２３０は、標準の商業的シリコン技術を使用して製造され、これは有利なことに、回路２５０、２６０、２７０、２８０、２９０、および３００を同じＩＣ ２１０上に製造することを可能にする。理解できるように、このような回路を画素検出器のアレイと共に同じＩＣ上に製造する能力は、より短い信号経路に起因して、処理および遅延時間を短縮することができる。
【００４９】
各画素検出器は、電流源、理想的ダイオード、分流（ｓｈｕｎｔ）インピーダンスおよびノイズ電流源の並列組合せとして表すことができる。各画素検出器は、その上に来る入力光子エネルギーの量に比例した電流を出力するであろう。好ましくは、ＣＭＯＳ製造法を使用して、ＣＭＯＳ画素ダイオードまたは光ゲート検出器装置のアレイを製造する。例えば、ウエルへの拡散またはウエル／基板接合を使用して、光ダイオードを製造すればよい。ウエル／基板型の光ダイオードは赤外（ＩＲ）光に対して感受性であり、小さいキャパシタンスを示し、従って好ましいものである。
【００５０】
図３および図４に示すように、回路２５０には各画素検出器２４０が結合される。各回路２５０は好ましくはパルスピーク検出器３１０、高速カウンタ３２０を含み、また高速クロック２９０へのアクセスを有する。好ましくは、ＩＣ ２１０に形成された高速クロック２００は、好ましくは略５００ＭＨｚの固定周波数の連続的な高周波数クロックパルス列を出力し、低デューティーサイクルのパルスとして出力される。勿論、その代りに他の高速クロックパラメータを使用してもよい。このパルス列は、各高速補間カウンタ３２０の入力ポートに結合される。Ｂａｍｊｉの係属中の特許出願に記載されているように、カウンタ３２０は、好ましくはサブカウントすることができ、７０ ｐｓのオーダーで時間を解像できる。また好ましくは、各カウンタ３２０は、ＳＴＡＲＴ信号（例えカウント開始）を受信するポート、停止信号（例えばカウントの停止）を受信するポート、およびＣＯＮＴＲＯＬ信号（例えば累積されたカウントのリセット）を受信するポートを有する。ＣＯＮＴＲＯＬおよびＳＴＡＲＴ信号はコントローラ２６０から入手可能であり、ＣＬＯＣＫ信号はクロックユニット２９０から入手可能であり、ＳＴＯＰ信号はパルスピーク検出器３１０から入手可能である。
【００５１】
仮想キーボード５０は、センサレンズと実質的に同じ平面内で、三次元センサ２０から略２０ ｃｍの距離に配置される。典型的なセンサのレンズ角度は略６０°であるから、２０ ｃｍの距離は、仮想キーボードの光適用範囲を保証する。図３では、図示を容易にするために、センサ２０の光放出と集められた光との間の距離が誇張されている。
【００５２】
概観すると、システム２００は次のように動作する。時間ｔ０において、マイクロプロセッサ２６０は、既知波長の光パルスを放出するように光源２２０に命令し、光は焦点レンズ２８８’を通過して、３０００，０００ ｋｍ／ｓｅｃの光速（Ｃ）で問題の対象、例えば基板５０およびユーザの指３０に向けて進む。光源２２０が充分に強力であれば、レンズ２８８’は省略してもよい。撮像される対象の表面において、少なくとも幾らかの光が反射されてシステム２００の方に戻され、検出器アレイによって検知される。図３において、問題の対象はユーザの手の指３０であり、また存在するときには、ｍａ／で示した基板５０は、「タイプ打ち」の際にユーザの指の配置をガイドするために、キーボードのキー７０または投影された格子線のような目で見える目印を含んでいる。
【００５３】
図１Ａに示されるように、基板上の他のキーの位置に対する基板５０上の仮想キー７０（または他のユーザが利用可能な目印）の位置は、Ｘ−Ｚ平面上の二次元において既知である。「タイプ打ち」の間に、ユーザの指が基板５０上で前後に移動して仮想キー７０に接触するときに、戻ってきた光エネルギーを調べて、何れの仮想キーが何時ユーザの指に接触したかを同定することは、ＣＰＵ ２６０およびソフトウエアルーチン２８５の機能である。この情報が得られたら、与えられるデータまたはコマンドが恰も実際のキーボードまたは他の入力装置によって発生されたかのように、適切なＫＥＹＵＰ、ＫＥＹＤＯＷＮおよびキー走査コードまたは他の出力信号が、コンパニオン装置８０の入力ポートに与えられる。
【００５４】
時間ｔ０において、アレイ２３０の各画素カウンタ３１０がＣＯＮＴＲＯＬ信号を受信し、これはカウンタ内に先に保持されている全てのカウントをリセットする。時間ｔ０において、コントローラ２６０はＳＴＡＲＴコマンドを各カウンタに発し、これにより各カウンタはカウントを開始して、クロック２９０からのＣＬＯＣＫパルスを蓄積する。光パルスの往復の飛行時間（ＴＯＦ）の間に各カウンタはＣＬＯＣＫパルスを蓄積するが、より大きな蓄積クロック数はより長いＴＯＦ、即ち、撮像される対象の光反射点とシステム２００との間のより大きな距離を表す。
【００５５】
システム２００に結合された焦点レンズ２８８の基本的な性質は、撮像される対象２０の表面上の点からの反射光が、このような点に焦点を合わされたアレイ中の画素にのみ向けられるようにすることである。従って、時間ｔ１では、対象２０の表面上の最も近接した点から反射された光子エネルギーは、レンズ／フィルター２８８を通過し、当該点に焦点を合わされたアレイ２３０における画素検出器２４０に向けられる。レンズ２８８に付随するフィルタは、光源２２０によって放出された波長を有する光だけが、減衰せずに検出器アレイに入射することを保証する。
【００５６】
アレイ２３０内の一つの特定の画素検出器２４０が、最も近いユーザの指先７０上における最も近い表面点に集光されると仮定する。関連の検出器３００は、このような対象点から入射される光子エネルギーに反応した画素検出器が出力する電圧を検出するであろう。パルス検出器３００は、好ましくは、画素出力電流または電圧における小さいが迅速な変化を検知する増幅ピーク検出器として実施される。迅速に変化する出力電圧が検出のために充分に大きいとき、検出器３００内の論理素子（例えばＳＲフリップフロップ）がトグルして出力パルスをラッチし、該出力パルスはＳＴＯＰ信号として関連のカウンタ３２０に与えられる。従って、関連のカウンタ３２０内に蓄積されたカウントの数は、問題の指先の近傍部位への往復ＴＯＦ、計算可能な距離Ｚ１を示すであろう。
【００５７】
距離Ｚ１は、以下の関係から決定することができ、ここでＣは光速である。
Ｚ１＝Ｃ・（ｔ１−ｔ０）／２
【００５８】
その後の或る時間ｔ２では、ユーザの指先の幾分離れた点からの光子エネルギーがレンズ２８８に到達し、アレイ２３０に向けられて、もう一つの画素検出器によって検出されるであろう。それまで、この他の検出器に付随したカウンタは、時間ｔ１でカウントを停止したカウンタを除くすべてのカウンタと同様に、時間ｔ０から出発してＣＬＯＣＫパルスをカウントし続けている。時間ｔ２において、入射して来た光子エネルギーを受信および検出したばかりの画素に関連したパルス検出器は、関連のカウンタにＳＴＯＰコマンドを発するであろう。このカウンタに蓄積されたカウントは、指先の中間点への往復ＴＯＦ、距離Ｚ２を反映するであろう。ＩＣ ２１０内において、メモリー２８０に保存されたソフトウエアルーチン２８５を実行するコントローラ２６０は、対象表面上の各光反射点についてのＴＯＦデータに関連した距離を計算することができる。速度は、取得されたデータの連続するフレームを調べることによって計算することができる。
【００５９】
同様にして、時間ｔ３では、アレイにおける更にもう一つの画素検出器が、その関連のパルス検出器３００についての到達したばかりの充分な光子エネルギーを検出して、関連のカウンタにＳＴＯＰコマンドを発するであろう。このカウンタに蓄積されたカウントは、撮像される対象までの更に遠い距離Ｚ３についてのＴＯＦデータを表す。図示を容易にするために、図３は全てが一つの指先に向かう三つの放出された光線および光反射を示しているが、実際には、実質的に全ての基板およびユーザの指が光源２２０からの照射を受け、少なくとも幾らかのエネルギーを、三次元センサ２０に結合されたレンズ２８８の中に反射させるであろう。
【００６０】
該アレイ中の幾つかの画素は、勿論、光が集光される対象点からの充分な反射光を受け取らない。従って、所定の時間（コントローラ２６０にプログラムすればよい）が経過した後、センサアレイの各ピクセルに付随するカウンタは、パルス検出に起因して停止されるであろう（または、距離Ｚ＝無限の標的に対応したカウントを保持すると思われる）
【００６１】
上記のように、この適用において、システム２００は略２０ ｃｍ〜３０ ｃｍ、例えば「約２０ ｃｍ＋基板５０上の仮想キーの頂部行と底部行を分離する距離」の範囲内で、正確に対象を撮像できれば充分である。夫々の反射光パルスが検出されたら、アレイの各画素について、カウンタが計算したＴＯＦ距離値が決定され、好ましくは、ユニット２７０に付随したＲＡＭのフレームバッファー内に保存される。好ましくは、マイクロプロセッサ２６０がＲＡＭに保存された連続フレームを調べ、視野内にある対象および対象位置を同定する。次いで、マイクロプロセッサ２６０は対象、例えば指の運動速度を計算することができる。距離および速度を計算することに加えて、マイクロプロセッサおよび関連のオンチップ回路は、好ましくはユーザの指の外形または輪郭を認識して、基板表面から指表面を識別するようにプログラムされる。指の輪郭が同定されると、システム２００は、ＣＯＭもしくはＵＳＢまたは他のポートを介して、関連のデジタルデータおよびコマンドをコンパニオンコンピュータシステムに出力する。
【００６２】
上記の例は、三つの別々の時間ｔ１、ｔ２、ｔ３において光子エネルギーを受取った三つの画素検出器が、関連のカウンターをオフさせ、その蓄積されたカウントを使用して、視野内にある指表面および基板への距離Ｚ１、Ｚ２、Ｚ３を計算する方法を説明している。実際には、本発明は三つだけではなく、アレイのサイズに応じて、各光パルス当り数千または数万のこのような計算を処理するであろう。このような処理は、ＩＣチップ２１０で行うことができ、例えば、マイクロプロセッサ２６０を使用して、ＲＯＭ ２８０に保存された（または保存可能な）ルーチンを実行することにより行うことができる。アレイにおける各画素検出器は、検出アレイ上での独特な位置を有しており、各画素検出器に結合された高速カウンタにより出力されたカウントを独特に同定することができる。従って、二次元検出アレイ２３０によって集められたＴＯＦデータは、ユーザの指および基板のような三次元対象への正確な距離を与えるように信号処理される。ＣＭＯＳ適合性の検出器２４０からの出力は、所望のときにはランダムにアクセスされることができ、如何なる順序でもＴＯＦ ＤＡＴＡを出力することを可能にする。
【００６３】
光源２２０は、好ましくは波長が略８００ ｎｍのエネルギーを放出するＬＥＤまたはレーザであるが、その代りに他の波長を使用することもできるであろう。波長が８００ ｎｍ未満では、放出された光が可視光になり始め、レーザ効率が低下する。９００ ｎｍを越えると、ＣＭＯＳセンサ効率が迅速に低下し、ＩＣ ２１０のようなシリコン基板上に製造された装置については、如何なる場合にも１１００ｎｍが波長の上限である。上述のように、特定の波長を有する光パルスを放出することによって、また、異なる波長の入射光をフィルター除去することによって、システム２００は周囲光があってもなくても動作可能である。基板５０が、例えば視覚的キーの外形を定義する隆起線を含むときは、ユーザは暗所で文字をタイプ打ちすることができ、それでもシステム２００は適正に機能するであろう。周囲光に依存することなく機能するこの能力は、Ｋｏｒｔｈによって記載されたような従来技術のスキームとは全く対照的である。上記のように、熟練したタッチタイピストではないユーザでも、本発明は、コンパニオン装置８０のディスプレーに視覚的キー−ボードの画像を与えることによって、暗所で使用することができる。
【００６４】
上述のように、レンズ２８８は、好ましくはフィルターされた入射光エネルギーをセンサアレイ２３０の上に集光させて、アレイにおける各画素が、視野の中にある唯一の特定の点（例えば対象表面上の点）のみから光を受取るようになっている。光波伝播の特性は、通常のレンズ２８８を使用して光をセンサアレイ上に集光させることを可能にする。レンズが放出された光を収束する必要がある場合に、ミラー型の構成を使用すれば、２８８，２８８’の代りに一つのレンズを用いることができるであろう。
【００６５】
実際の用途において、センサアレイ２３０は、好ましくは約１ ｃｍのオーダーで標的距離を識別するのに充分な解像度を有しており、これは各画素が、約７０ ｐｓ（例えば、１ ｃｍ／Ｃ）のオーダーで時間差を解像できなければならないことを意味する。ＣＭＯＳで実行されるシステム仕様に関して言えば、高速カウンタ３２０は約７０ ｐｓ以内の時間を解像できなければならず、またピークパルス検出器３１０は低ノイズの高速ユニットであり、略数百マイクロボルト（μＶ）のオーダーの検出感度で約７０ ｐｓ（約１００サンプルを平均化した後）を解像できなければならない。正確な距離測定には、パルス検出器の応答時間が全経過時間から除かれることを必要とする。最後に、回路２８０から出力されたＣＬＯＣＫ信号は約２ ｎｓのオーダーの時間間隔を有するべきである。
【００６６】
上記のように、各補間カウンタ３２０は、好ましくは略１ ｃｍの距離を解像することができ、これは約７０ ｐｓ以下の時間解像性を意味する。有効な７０ ｐｓサイクル時間をもった１０ビットカウンタを使用することにより、約１０ ｍ（例えば１，０２４ ｃｍ）の最大システム検出距離を生じるであろう。通常の１０ビットカウンタの実施は、典型的には略４０ゲートの最悪の場合の経路を必要とし、その夫々が典型的には２００ ｐｓを必要とし、全伝播時間としては約８ ｎｓを必要とするであろう。このことは、最速のシステムクロックサイクル時間を約１０ ｎｓに制限するであろう。費用をかけてキャリールックアヘッド（ｃａｒｒｙ ｌｏｏｋ−ａｈｅａｄ）ハードウエアを使用すれば、カウンタ伝播時間は短縮されるが、それでも２ ｎｓのシステムサイクル時間を実施するのは全く困難であろう。
【００６７】
必要なサイクル時間を達成するためには、時には線型シフトレジスタ（ＬＳＲ）と称される所謂擬ランダムシーケンスカウンタ（ＰＲＳＣ）を使用すればよい。ＰＲＳＣユニットを含む高速カウンタを実施するための詳細は、出願人の先に引用した同時係属実用特許出願の中に存在する。
【００６８】
次に、光学視野内にあるユーザの指の輪郭認識に含まれる要件について、二つのユーザの指の断面図を描いた図５を参照して説明する。＋の記号は、指を撮像するアレイ２１０における各画素センサについてのベクトル距離値のサブフレーム（フレーム内）サンプルを示している。画素センサに伴う固有のノイズは、取得された各サンプルにおいて、画像化された指対象の同じ点への可変ベクトル距離を生じる。ノイズを低減して信号／ノイズ比を改善するために、センサは各画素についての測定値を平均化して、図５の記号○で示されるフレームについての平均値を生じる。図５の記号□は、平均値を解釈するために、テンプレートまたは１組の保存された指形状の断面例がルーチン２８５に用いられるときの、訂正された平均を表している。この方法は距離測定精度を向上させ、ユーザの指の認識における曖昧さを減少させる。
【００６９】
データ捕捉ノイズは、ユーザの指を認識して指の移動および速度を決定するために必要な、最小フレーム速度に影響する可能性がある。本発明において使用されるＴＯＦに基づく画像において、画素レベルのノイズは、撮像される対象が静止したままであっても、一つのフレームからもう一つのフレームに移るときの、所定の画素についての距離値における変動として表される。
図示を容易にするために、図１Ａ、図２Ａおよび図２Ｂに示されたキーボードの画像は、マトリックス、たとえば均一な行および列として描かれている。しかし、実際には、特に図６に示すように、標準のＱＷＥＲＴＹ型のキーボード（および他のキー構成をもった実際のキーボード）は、オフセット構成即ち千鳥状の構成でレイアウトされている。本発明は有利なことに、実際のキーボードレイアウトの千鳥状配置を考慮することにより、Ｚ軸解像度を低下させる。従って、キーボードの頂部から第二行は右側に若干シフトされ、第三行（頂部から）は更に右側にシフトされる、等々である。この千鳥状配置によって、キーは、隣接行におけるキーに対してオフセットした位置で各行に配置される。例えば、図６におけるキーボードの文字「Ｇ」に注意されたい。点線を付した矩形領域４００は、ユーザが文字「Ｇ」を打っていると仮定したときの許容可能な範囲を示している。例えば、矩形領域内での如何なる仮想接触も、ユーザの指が文字「Ｇ」上で接触するものとして明瞭に解釈されるであろう。Ｚで示されたこの矩形の高さは、Ｚ軸座標の検出において許容可能な最大エラーマージンである。なお、このマージンはＱＷＥＲＴＹキーボードにおける単一行の高Ｒさよりも大きい。また、キーのための認識領域は矩形である必要はなく、如何なる合理的な形状、例えばキーを中心とする楕円であってもよい。
【００７０】
取得された三次元データのフレームは、ＣＰＵ ２７０およびルーチン２８５に利用可能になるので、取得されたデータからのユーザの指の認識が進められる。この仕事は、該データが実際にユーザの指の三次元表現を含んでおり、また指は合理的に周知の形状であり、例えば縁を前にしてみたときに、それらは幾分円筒形の形状である点において単純化される。上述したように、指形状の例示テンプレート並びに指および手の帰納法をメモリー２８０に保存することは、指の位置の認識および追跡に必要なＣＰＵ時間を減少することによって、指の認識を促進する。このような信号処理は、データ捕捉ノイズを迅速に低減することができ、また取得された三次元データからユーザの指を更に容易に識別することができる。信号／ノイズ比もまた、フレーム内状態において改善することができる、この状態では撮像されているシーンの知識、例えば、当該シーンは仮想キーボードおよびユーザの手を含んでいることがが知られている。
【００７１】
ユーザの指が認識されると、次いで、ソフトウエアルーチン２８５（または多分ＣＰＵ ２６０以外により実行される均等なルーチン）は、この指の位置および移動（例えば、単位時間あたりの位置の相対的変化）を決定することができる。指を表すデータは三次元であるから、ルーチン２５８は容易に背景画像を排除して、ユーザの手にのみ焦点を当てることができる。Ｋｏｒｔｈの二次元撮像スキームでは、背景対象（例えばユーザのスリーブ、腕、身体、椅子の輪郭など）の形状および移動が対象の追跡および認識ソフトウエアルーチンを混乱させ得るので、この仕事は非常に困難である。
【００７２】
指先の輪郭を使用することにより、ルーチン２８５はＺ軸距離測定値を使用して、仮想キーボードの行に対する指の位置、例えば、図１Ａにおける距離Ｚ１およびＺ２を決定する。上述のように、このような軸測定値の粒状度は、図１Ａに示したものよりも実質的に大きい、Ｘ軸距離測定値は、仮想キーボードの列に対する指先の位置についてのデータを提供する。行および列の座標数を使用することにより、ソフトウエア２８５は、各指が接触している実際の仮想キー、例えば図１Ａにおいて左人差し指で触れられているキー「Ｔ」を決定することができる。
【００７３】
ユーザが、キーボード、数字パッド、電話パッドなどのような特定の仮想入力装置上で指を配向させるのを補助するために、コンパニオン装置８０内のソフトウエアを使用して、該装置に結合した画面９０（例えばＰＤＡまたは形態電話の画面）または装置８０に接続された表示端末に、ソフトキーボードを表示することができる。このソフトキーボードの画像は、例えばユーザの指の直下にあるキーを強調することによって、仮想キーボード５０上の（またはこれに近接した）全てのキーについてユーザの指の位置を示すであろう。キーが実際に打たれると（ユーザの指の移動によって感知される）、異なる色またはコントラストを使用して、打たれたキーを強調することができる。仮想キーが正しい開始位置にないときは、ユーザは、仮想キーボードまたは他の入力装置を適正な開始位置に配置するように、コンパニオン装置に命令することができる。例えば、ユーザが右手の指をホーム行のＪ、Ｋ、Ｌおよび「；」のキー上に配置し、左手の指をＦ、Ｄ、ＳおよびＡのキー上に配置することによって典型的にキー入力を始めれば、ソフトウエアは仮想キーボードのキーをこのような位置に移動させるであろう。
【００７４】
装置５０上の何れの仮想キーがタイプ打ちされ、または打撃されたかを決定するために、ユーザの指の縦方向のＹ軸運動が検知される。機械的キーボード上でのタイプ打ちの際には幾つかの指が同時に動くが、ＣＯＮＴＲＯＬキーおよび「Ｐ」キーを押すような二重キー入力がなく、またはタイプエラーがなければ、通常は一つの指だけがキーを打つ。本発明においては、ソフトウエアルーチン２８５が、取得された情報の連続的フレームから指の運動情報を決定する。有利なことに、人間の手は指の動きに対して一定の制限を課し、この制限は、ユーザの手および指の画像のモデル化に採用される。例えば、指の結合的性質は、指の移動の間に一定の結びつきを課する。指関節における自由度は、例えば他の指の近くへの動き、または他の指から遠くへの動きのような、各指の運動に対して一定の自由度を与える。ルーチン２８５は、有利には幾つかの帰納法を用いて、何れの仮想キーが実際に打たれているかを決定することができる。例えば、指の上方への移動の検出に続く指の迅速な下降移動として、キーストロークが検出され得る。最も小さいＹ軸位置または最も大きい下向き速度を有するユーザの指が、キー入力指、例えば仮想データ入力装置上の仮想キーの一つを打つであろう指として選択される。
【００７５】
ユーザによる意図しないキー入力は、インテリジェントにユーザの指の移動をモニターすることによって識別される。例えば、ユーザは意図しないキー入力をトリガーすることなく、指を基板５０の上に静止させることがある。これは、機械的キーボードを使用するタイピストが、何れのキーをもタイプするために充分に強く押さずに、その指をキーの上に静止させる場合に類似している。本発明のユーザは、如何なるキーをも意図せずにトリガーすることなく、その指を仮想キーボード上で柔らかく移動させることも許容される。ソフトウエア２８５は、意図的なジェスチャーのみが、データまたはコマンドをコンパニオンコンピュータ装置８０に入力するため有効なキー入力として認められるように、その動作をキャリブレートすることができる。
【００７６】
ソフトウエア２８５は、ＣＰＵ ２７０のようなＣＰＵによって実行されるときに、何れの仮想キーが本発明のユーザによってタイプ打ちされているかを認識するための、アルゴリズム若しくはルーチンを実行するために使用することができる。該アルゴリズムのための入力データは、センサ２０からの三次元の光情報である。一つの例示アルゴリズムは三つの段階、即ち、テンプレートを構築および個別化する段階、キャリブレーション段階、および仮想キーボードまたは作業表面上でタイピングしているユーザを実際に追跡する段階を有するものと見做し得る。以下の説明においては、全ての指を使用した正常なタイプ打ちが行われているものと仮定する。例えば一本または二本の指だけが使用される場合には、アルゴリズムの特別のケースが適用されるであろう。
【００７７】
テンプレートは、異なるユーザの異なるタイプ打ち姿勢についての予め定められたモデルであるとして理解される。この分類のテンプレートは、システムユーザ集団の分析に基づいており、彼等の種々のタイプ打ちスタイルが分類されるであろう。なお、これらのテンプレートは、入力データの例（例えば、タイプ位置にある指を観察することにより集められたデータの例）から、または追跡すべき対象の幾何学的性質の予めプログラムされた数学的記述（例えば、指についての円筒形状の記述）から誘導すればよい。得られたテンプレートは、ＲＯＭ ２８０および特にルーチン２８５が製造されるときに作成すればよい。キーボードのキーの位置および形状は、ユーザに対して一定の共通スタイルを課するので、多くの予め定義されたテンプレートの数は過剰に大きい必要はないことが理解されるであろう。
【００７８】
好ましくは、本発明の個々のユーザはまた、テンプレートを構築するために必要なステップを通してユーザをガイドする訓練ツールを使用して、彼等自身の専用のテンプレートを構築することができる。例えば、ソフトウエア２８５の訓練プログラム部分は、ユーザの指を仮想キーボード（もし存在すれば）、またはコンパニオン装置８０の正面にある作業表面上のタイピング位置に配置するようにユーザに告げるコマンドを、ディスプレー９０に提示することができる。次いで、訓練プログラムは、各指の下にある仮想キーを反復して押すようにユーザに告げるであろう。光学的に捕捉された親指の移動は、他の指の移動とは異なり、典型的には仮想キーボードまたは作業表面のスペースバー領域を再度押すように限定されるので、特別なケースとして取扱うことができる。
【００７９】
テンプレートを作成する際に、ユーザの手の異なる指として、テンプレート画像における対象の分類を構築するのが望ましい。以下で更に詳細に述べるように、この方法の工程は、ユーザの手の物理的性質に関して、クラシファイヤ（分類子、ｃｌａｓｓｉｆｉｅｒ）、またはアルゴリズムルーチンのための情報を集める。その後、実際のタイプ打ちの際に、該クラシファイヤはこのテンプレートを使用して、取得されたフレームにおける画像を迅速にユーザの各指にマップする。テンプレート構築の一部として、好ましくは、ユーザの指位置の特定のキーボードキーへのマッピングを、静止位置において定義するのが望ましい。例えば、ルーチン２８５およびＣＰＵ ２７０は、静止時にユーザの左手の指が「Ａ」「Ｓ」「Ｄ」および「Ｆ」キーに触れ、またユーザの右手の指が「Ｊ」「Ｋ」「Ｌ」および「；」キーに触れることを、コンパニオン装置８０に指令することができる。このような方法工程は、仮想キーボードを、特定のユーザのスタイルに個別化する。この個別化プロセスは一回だけ実行され、またユーザのタイプ打ち姿勢が、タイプ打ちされたときに同定されたエラーキーが多すぎるようになるまで実質的に変化しない限り、反復する必要はない。本発明によるキャリブレーションプロセスは、次のようにして実行することができる。タイプ打ちセッションにおいて、ユーザは、テキスト入力モードのコンパニオン装置８０で当該アプリケーションを実行させることにより、コンパニオン装置８０に信号を送る。例えば装置８０がＰＤＡであれば、ユーザは針または指で画面８０に表示されたテキスト領域に接触することにより、コンパニオン８０アプリケーションの入力焦点をテキストフィールドに設定する。他のコンパニオン装置は、このような装置に付随した手順を使用して、適切なテキスト入力モードに設定すればよい。
【００８０】
次に、ユーザの指が、仮想キーボード上または単純な作業表面上の、三次元センサ２０の正面の作業表面におけるタイプ打ち位置に配置される。この工程は、タイプ打ちセッションが開始される前に、ユーザの指をテンプレートの要素にマップするため、およびユーザの指を仮想キーボード（または作業表面）のキーにキャリブレートするために使用される。
【００８１】
この際に、三次元センサ２０は、ユーザの指の輪郭マップを反復して捕捉するであろう。こうして捕捉されたデータは、ソフトウエア２８５によって、例えばテーブルまたは図７Ａ〜７Ｏに示すようなマトリックス中に配置されるであろう。
【００８２】
図７Ａは、センサ２０によって撮像された、実際のキーボード上でのユーザの左手でのタイプ打ちを描写している。センサ２０の視野（ＦＯＶ）は、意図的に上方の作業表面（この例では実際のキーボード）に向けられる。左手の５本の指が示されており、指１（親指）、指２、指３、指４、および指５（小指）として同定されている。指の背後および指の間の斜線を付した領域は、本発明によってユーザの指の一部と看做すためには暗すぎる領域を示している。勿論、実際の設定においては、理解および描写の容易さのためにここに示したような均一に暗い領域ではなく、段階的に変化する暗さが存在するであろう。
【００８３】
重なった格子様のマトリックスまたは表が図７Ａに示されており、ここには種々の領域が、ユーザの指の関連表面部分とセンサ２０との間の正規化されたベクトル距離を表す定量化されたディジットを有している。これらの定量化された距離値は、例えばソフトウエア２８５により、本発明によってダイナミックに計算されたことが理解される。図７Ａに示したマッピングにおいて、１、２のような低いディジット値は近接した距離を表し、７、８のような高い値は大きな距離を表す。「ｄ」値は知覚された不連続性を表す。センサ２０に関連する技術に応じて、「ｄ」の値は広範に振動する可能性があり、また背景対象が存在しないことを示すことができる。図７Ａにおいて、定量化された距離値は、（７および８の相対的に高い距離値によって示されるように）ユーザの左親指の方がユーザの左人差し指（それらの距離値は相対的に低い；例えば１）よりもセンサ２０から更に遠いことを示している。また、一般に、ユーザの左小指はユーザの人差し指よりもセンサ２０から遠いことが分かる。
【００８４】
図７Ａの中央部分は、正規化された距離値を示す表またはマトリックスであり、適用可能な場合は「ｄ」が入力される。同様のテーブルが、図７Ｂ〜図７Ｏにも示されている。このテーブルエントリーは、ユーザの指の輪郭を表すことができ、またユーザの指の外形への距離データの潜在的なマッピングを示す補助となるように、これらのテーブルには影線が付されている。テーブル中の列を示す図７ＡのＦＯＶ部分からの矢印は、データの種々の列が如何にして実際にユーザの指位置の輪郭を表すことができるかを示している。図７Ａ〜図７Ｏに示すテーブルにおいて、○で囲んだ数字「１」「２」…「５」は、ユーザの左親指（指「１」）、人差し指、中指、薬指、および小指（指「５」）の知覚された位置に対応する輪郭をそれぞれ描いている。
【００８５】
先に述べたように、センサ２０から得られたデータからのユーザの指位置の同定を補助するために、好ましくは、テンプレートが本発明において使用される。テンプレートは、不連続性が必ずしも明らかでないときに、指の間の境界を識別する際に分類アルゴリズム（またはクラシファイヤ）２８５を補助することができる。例えば図７Ａにおいて、第三および第四のユーザの指（指３および指４）は相互に比較的近接している。
【００８６】
図７Ａの下方部分に示されているのは、ユーザがタイプ打ちしているもののダイナミックな表示であり、センサに知覚された距離値およびダイナミックな速度値の本発明による分析、並びに何れのキー（現実のまたは仮想の）がどの時点で押されるかを認識する全体の仕事に関連した帰納法に基づいている。従って、図７Ａにおける瞬間捕捉において、コンパニオン装置８０のディスプレー９０上に部分的にタイプ打ちされたフレーズ１００が現れているので、ユーザの左人差し指（指２）は、おそらく文章「Ｔｈｅ ｑｕｉｃｋ ｂｒｏｗｎ ｆｏｘ ｊｕｍｐｅｄ ｏｖｅｒ ｔｈｅ ｌａｚｙ ｄｏｇ」中の文字「ｆ」を丁度タイプ打ちしたばかりのように見える。
【００８７】
好ましくは、ソフトウエアルーチン２８５のキャリブレーション段階は、ユーザフレンドリーである。従って、ルーチン２８５は本質的に、仮想キーボードをユーザの指の下に移動または回転させる。このような手順は、センサ２０から得られる画像をテンプレートの指にマッピングし、次いで接触されたキーをユーザの本来の位置にマッピングすることによって実行することができ、前記本来の位置はテンプレート構築段階にいて決定されたものである。
【００８８】
このキャリブレーション工程は、初期状態または静止状態を定義し、また静止位置にあるユーザの指をキーボード上の特定のキーにマップする。図１Ｂに示したように、接触されまたは非常に近接している「キー」１０７は、勿論画面９０が入手可能であると仮定して、好ましくはコンパニオン装置の画面９０に表示されたソフトキーボード１０５上で強調される。この静止位置はまた、ユーザの指がタイプ打ちバーストの終了時に取る位置であろう。
【００８９】
実際のタイプ打ちの間にルーチン２８５はユーザの指を検知し、指の動きを仮想キーボード上の正しいキーにマップする。アルゴリズムのこの段階を開始する前に、関連のコンパニオン装置８０アプリケーションは、テキスト入力モードになっており、キーボードイベント（例えば、ＫＥＹＵＰおよびＫＥＹＤＯＷＮ）を受け入れる準備ができているであろう
【００９０】
ルーチン２８５（または均等物）は、多くの方法で実施すればよい。好ましい実施例において、ルーチン２８５は三つのモジュールを使用する。「クラシファイヤ」モジュールは、各フレームにおけるクラスターをユーザの指にマップするために使用される。「トラッカー（追跡子、ｔｒａｃｋｅｒ）」モジュールは、キーストローク指運動を調査することによって、またユーザの指と仮想キーボードまたは他の作業表面との間の衝撃点の座標を決定することによって、活性な指の移動を追跡するために使用される。第三の「マッパー（マップ子、ｍａｐｐｅｒ）」モジュールは、仮想キーボード上の特定のキーに対するユーザの指の衝撃点をマップし、キーイベント（事象）をコンパニオン装置８０に送る。次に、これらの例示モジュールについて更に詳細に説明する。
【００９１】
クラシファイヤモジュールの役割は、光学的に取得されたデータの各フレームにおいて、センサ２０によって発生されたシーンの輪郭マップを感知することである。クラスターモジュールは、同じ表面の一部である等の、一定の共通の性質を有するクラスターを同定するであろう。重要なこととして、クラシファイヤは、取得されたデータの連続的フレームにおける他のクラスターから同じクラスターが同定されるように、各クラスターをラベルするであろう。また、クラスターは各クラスターの境界を決定し、特に各クラスターの先端（これはユーザの指の先端にマップする）を決定する。その目的は、ユーザの指認識それ自体ではなく、全ての意図および目的について、仮想キーまたはキーの仮想位置を押すために使用されるスチィック即ちスタイラスを、ユーザが保持できることにある。従って、上記で述べたテンプレートは、主にこれらのクラスターに意味を与えて、クラスターの形成を補助するために使用される。
【００９２】
クラスターを形成しまたはクラスターを配置する一つの方法は、最も近い隣接条件を使用して、最も近い隣接パーティションを形成することであり、各パーティションはユーザの各指にマップされる。このようなマッピングは、ユーザの左手について五つのパーティションを生じ、ユーザの右手について五つのパーティションを生じるであろう。ここで、左手および右手のパーティションは別々に処理することができる。
【００９３】
パーティション形成の一つの方法は、Ｌｌｙｏｄのアルゴリズムに基づいている。画像処理の分野では周知の各アルゴリズムの詳細は、Ａｌｌｅｎ Ｇｅｒｓｈｏ ａｎｄ Ｒｏｂｅｒｔ Ｇｒａｙによるテキスト「Ｖｅｃｔｏｒ Ｑｕａｎｔｉｚａｔｉｏｎ ａｎｄ Ｓｉｇｎａｌ Ｃｏｍｐｒｅｓｓｉｏｎ」に見出すことができる。第３６２頁を参照のこと。例えば、Ｃｔ＝｛ｃｉ；ｉ＝１，．．．５｝が一方の手のためのパーティション組であるとしよう。各パーティションにおいて、１組の点Ｐｉ，ｔ＝｛ｒ：ｄ（ｒ， ｃｉ）＜ｄ（ｒ， ｃｊ）；全てについてｊ＜＞ｉ｝が定義され、ここで関数ｄ（ ）は、この組における二点間の距離の尺度である。もしｄ （ｒ， ｃｉ） ＝ ｄ （ｒ， ｃｊ） であれば、より小さいインデックスを持った該組の中の点を配置することによって、この「ｔｉｅ」を破壊することができる。二点ａおよびｂについて、ｄ （ａ， ｂ） は （ｘａ−ｘｂ）２＋ （ｙａ−ｙｂ）２＋ （ｚａ−ｚｂ）２として定義され、ここでｘ，ｙおよびｚはセンサ２０から得られる軸測定値である。関数中心（Ｐｉ，ｔ）は、Ｐｉ，ｔにおける重さの中心即ち重心として定義することができる。次に、Ｐｉ＋１＝｛重心（Ｐｉ，ｔ）；ｉ＝１，．．．５｝を定義する。新たな重心を使用して、上記のようにＰｉ，ｔ＋１を求めることができる。二つの連続するＰｉ組のメンバーシップが変化せずに残るまで、繰返しが継続される（例えば、ルーチン２８５またはその均等物によって）。典型的には、繰返しは３〜４回の繰返しのうちに収斂し、最終の組Ｐｉにおける点は、各ユーザの指についての点のクラスターである。この方法において、クラシファイヤの最終的な目的はユーザの指の認識それ自身ではなく、むしろ、何れのキーがユーザの指によって打たれたかを決定することである。この所見は、システムの特性に影響しないタイプ打ち領域の周辺におけるクラスタリングの不正確さに、クラシファイヤが耐えることを可能にする。
【００９４】
次に、図７Ａ〜７Ｏに示されたマトリックスに関して、トラッカーモジュールを更に充分に説明する。知覚されたクラスターは、好ましくはトラッカーモジュールに入力され、これは各クラスターの移動の追跡を維持するであろう。トラッカーモジュールは、特に迅速な上下運動について警戒しており、該クラスターの速度および方向を計算するであろう。
【００９５】
図７Ｄ〜図７Ｋは、ユーザの第二の指が上方に持ち上がり、次いで下に動いて、該指の末端下にある（仮想）キーを打つときに、得られた一連の画像を示すマトリックステーブルを描写している。好ましくは、トラッカーモジュールによって綿密にモニターされる各クラスターの先端は、クラスターモジュールによって同定されているであろう。実際の画像において、ユーザの他の指は僅かしか動かない可能性があるが、説明している例では、このクラシファイヤは、左人差し指（指２）の加速度が他の指の動きよりも著しく高いことを決定する。
【００９６】
図７Ｄ〜図７Ｅにおいては、知覚されたクラスター（例えばユーザの指）の方向および先端を示す矢印が加えられている。クラスターまたは指の動きは、図７Ｄ〜７Ｆでは上方に向いており、図７Ｆはユーザの指の最大上方位置、例えばセンサ２０により取得されたデータによって決定される最大Ｙ軸位置を表している。図７Ｇから図７Ｈにおいて、クラスターまたは指が今度は下方、例えば仮想キーボード５０即ち作業表面６０に向けて動いている。図７Ｉでは、ユーザの指の仮想キーまたは作業表面上のキー位置との接触が知覚される。
【００９７】
指先の垂直方向速度は、ルーチン２８５（または他のルーチン）によって幾つかの方法で計算することができる。好ましい実施例では、トラッカーモジュールが、指先の最高位置と最低位置との間の差をシーケンスの間に取得したフレームの数で割ることによって、ユーザの指先（クラシファイヤによって同定されたもの）の垂直速度を計算する。この速度は、１秒当りのフレーム速度とは独立したフレームの数によって、Ｙ軸解像度に関して計算される。キー打撃を登録するために、この計算されたＹ軸速度は閾値速度に等しいか、またはこれよりも高くなければならない。閾値速度はソフトウエア２８５によって使用されるパラメータであり、好ましくは、個別化段階の際にユーザによって調節可能である。
【００９８】
図７Ｊ〜図７Ｏは、より複雑なシーケンスがユーザの左人差し指（指２）の上下方向の運動を示すような、マトリックステーブルを描写している。図７Ｏでは、この指の運動は、仮想キーボード（またはこのような仮想キー場存在しない場合には装置８０の正面の作業表面上の位置）の第１行におけるキー上の、キーストロークにおいて最高点に達するように示されている。
【００９９】
次に、「マッパー」モジュールについて見てみると、キーストロークが検出されたことが決定されたときに、トラッカーモジュールがマッパーモジュールの信号を送り、またトラッカーモジュールがクラスター先端のクラスター先端（Ｘ，Ｙ，Ｚ）座標を通過させる。マッパーモジュールは、Ｚ軸値を使用して仮想キーボード上の行位置を決定し、またＸ軸値およびＹ軸値を使用して当該行内のキーを決定する。例えば図１Ａを参照すると、座標（Ｘ，Ｙ，Ｚ）位置（７，０，３）は仮想キーボード上の文字「Ｔ」を特定する。ここでも、種々のモジュールは好ましくはソフトウエアルーチン２８５を含むが、その代りに、ＣＰＵ ２８５以外の他のＣＰＵによって実行されるルーチンを含む他のルーチンを使用してもよいことが理解される。
【０１００】
特許請求の範囲に定義された本発明の主題および精神から逸脱することなく、開示された実施例に改変および変形が加えられてもよい。例えば、所望であれば二以上のセンサを用いて三次元位置情報を取得してもよい。
【図面の簡単な説明】
【図１Ａ】本発明に従って、受動基板キーボードテンプレートと共に使用される三次元センサシステムを示している。
【図１Ｂ】本発明に従って、基板キーボードテンプレートを伴わずに使用され得る三次元センサシステムを示している。
【図１Ｃ】本発明に従って、仮想キーに接触しているユーザの指を示している、仮想キーボードのコンパニオン装置ディスプレーを描いている。
【図１Ｄ】図１Ｃのディスプレーを描いており、本発明に従って、ユーザが仮想キーボード上で入力した追加のテキストを示している。
【図２Ａ】本発明に従って部分的に折り畳まれた配置の受動基板を示している。
【図２Ｂ】本発明に従って部分的に巻回された配置の、異なった文字セットを有する受動基板を示している。
【図３】それを用いて本発明を実施できる、三次元信号処理およびセンサシステムの一実施例を示すブロック図である。
【図４】それを用いて本発明を実施し得る三次元センサシステムで使用できる、関連の光子パルス検出器および高速カウンタを備えた単一画素検出器の一例を示すブロック図である。
【図５】本発明に従うユーザの指の輪郭認識を示している。
【図６】本発明に従った、押された仮想キーの同定における千鳥状キー配置の使用を示している。
【図７Ａ】本発明に従って、ユーザの指位置の同定に使用するために光学的に取得された三次元データから作成した、クラスターマトリックスを示している。
【図７Ｂ】本発明に従って、ユーザの指位置の同定に使用するために光学的に取得された三次元データから作成した、クラスターマトリックスを示している。
【図７Ｃ】本発明に従って、ユーザの指位置の同定に使用するために光学的に取得された三次元データから作成した、クラスターマトリックスを示している。
【図７Ｄ】本発明に従って、ユーザの指位置の同定に使用するために光学的に取得された三次元データから作成した、クラスターマトリックスを示している。
【図７Ｅ】本発明に従って、ユーザの指位置の同定に使用するために光学的に取得された三次元データから作成した、クラスターマトリックスを示している。
【図７Ｆ】本発明に従って、ユーザの指位置の同定に使用するために光学的に取得された三次元データから作成した、クラスターマトリックスを示している。
【図７Ｇ】本発明に従って、ユーザの指位置の同定に使用するために光学的に取得された三次元データから作成した、クラスターマトリックスを示している。
【図７Ｈ】本発明に従って、ユーザの指位置の同定に使用するために光学的に取得された三次元データから作成した、クラスターマトリックスを示している。
【図７Ｉ】本発明に従って、ユーザの指位置の同定に使用するために光学的に取得された三次元データから作成した、クラスターマトリックスを示している。
【図７Ｊ】本発明に従って、ユーザの指位置の同定に使用するために光学的に取得された三次元データから作成した、クラスターマトリックスを示している。
【図７Ｋ】本発明に従って、ユーザの指位置の同定に使用するために光学的に取得された三次元データから作成した、クラスターマトリックスを示している。
【図７Ｌ】本発明に従って、ユーザの指位置の同定に使用するために光学的に取得された三次元データから作成した、クラスターマトリックスを示している。
【図７Ｍ】本発明に従って、ユーザの指位置の同定に使用するために光学的に取得された三次元データから作成した、クラスターマトリックスを示している。
【図７Ｎ】本発明に従って、ユーザの指位置の同定に使用するために光学的に取得された三次元データから作成した、クラスターマトリックスを示している。
【図７Ｏ】本発明に従って、ユーザの指位置の同定に使用するために光学的に取得された三次元データから作成した、クラスターマトリックスを示している。
【図３】
2004500657.tif 000003
【図４】
2004500657.tif 000004
【図７Ｄ】
2004500657.tif 000005
【図７Ｆ】
2004500657.tif 000006
【図７Ｉ】
2004500657.tif 000007
【図７Ｏ】
2004500657.tif 000008
【国際公開パンフレット】
2004500657.tif 000009
2004500657.tif 000010
2004500657.tif 000011
2004500657.tif 000012
2004500657.tif 000013
2004500657.tif 000014
2004500657.tif 000015
2004500657.tif 000016
2004500657.tif 000017
2004500657.tif 000018
2004500657.tif 000019
2004500657.tif 000020
2004500657.tif 000021
2004500657.tif 000022
2004500657.tif 000023
2004500657.tif 000024
2004500657.tif 000025
2004500657.tif 000026
2004500657.tif 000027
2004500657.tif 000028
2004500657.tif 000029
2004500657.tif 000030
2004500657.tif 000031
2004500657.tif 000032
2004500657.tif 000033
2004500657.tif 000034
2004500657.tif 000035
2004500657.tif 000036
2004500657.tif 000037
2004500657.tif 000038
2004500657.tif 000039
2004500657.tif 000040
2004500657.tif 000041
2004500657.tif 000042
2004500657.tif 000043
2004500657.tif 000044
2004500657.tif 000045
2004500657.tif 000046
2004500657.tif 000047
2004500657.tif 000048
2004500657.tif 000049
2004500657.tif 000050
2004500657.tif 000051
2004500657.tif 000052
2004500657.tif 000053
2004500657.tif 000054
2004500657.tif 000055
2004500657.tif 000056
2004500657.tif 000057
2004500657.tif 000058
2004500657.tif 000059
2004500657.tif 000060
2004500657.tif 000061
2004500657.tif 000062
2004500657.tif 000063
2004500657.tif 000064
2004500657.tif 000065
【国際公開パンフレット（コレクトバージョン）】
2004500657.tif 000066
【国際調査報告】
2004500657.tif 000067