回転入力情報を生成するためのシステム及び方法
回転情報を取得する装置及び方法を提供する。複数の位置から複数のパターン化画像を捕捉し、複数のパターン化画像を相関させ、直線差分の組を生成し、直線差分の組を用いて、回転情報を生成する。好ましくは、複数の位置は、指紋スワイプセンサの第1の部分及び指紋スワイプセンサの第2の部分を含み、各部分は、指紋画像の部分を捕捉する。各部分は、2つの位置における指紋画像の部分を捕捉し、2つの位置の部分を相関させ、直線差分の1つの組を判定する。同時に、直線差分の組を用いて、回転情報を算出し、これに基づき、操作ホイール、ジョイスティック又はナビゲーションバー等の回転操作子をエミュレートする。
【発明の詳細な説明】
【関連出願】
【0001】
本願は、米国特許法第119条(e)に基づき、2003年8月22日に出願された係属中の米国仮出願番号60/497,045号、発明の名称「回転入力方法特許(ROTATIONAL INPUT METHOD PATENT)」に対する優先権を主張する。2003年8月22日に出願された係属中の米国仮出願番号60/497,045号、発明の名称「回転入力方法特許(ROTATIONAL INPUT METHOD PATENT)」は、引用により本願に援用される。
【技術分野】
【0002】
本発明は、バイオメトリックセンサの分野に関する。詳しくは、本発明は、指紋画像を用いて、電子ポジショニング装置をエミュレートするシステム及び方法に関する。
【背景技術】
【0003】
携帯型電子演算プラットホームの出現により、ユーザは、あらゆる場所で、様々な機能及びサービスを享受できるようになった。日常的な携帯型電子演算プラットホームの幾つかの具体例としては、例えば、パームトップコンピュータ、携帯情報端末、携帯電話機、携帯型ゲームコンソール、バイオメトリック/健康モニタ、リモートコントローラ、デジタルカメラ等がある。携帯性に関する要求から、これらの演算プラットホームは、より小さくなることが求められており、更に、電池寿命を長くすることが求められている。これらの小型化された機器では、ユーザ入力を検知する効率的な手法が必要となる。
【0004】
携帯型電子演算プラットホームは、複数の目的のためにユーザ入力を必要とし、これらの目的には、例えば、(a)ディスプレイ上のある位置にカーソル又はポインタをナビゲートすること、(b)アイテム又は動作を選択(例えば、選択又は選択解除)すること、(c)入力装置の方向付け(例えば、方向の変更。視覚的フィードバックがある場合もない場合もある。)を行うこと等がある。
【0005】
これらの機器では、遙かに大きいパーソナルコンピュータからのユーザ入力の発想が借用されている。例えば、従来の機器では、マイクロジョイスティック、ナビゲーションバー、スクロールホイール、タッチパッド、操作ホイール及びボタン等が採用されているが、その効果は限定的である。これらのポジショニング装置は、全て、携帯型機器における貴重な表面領域のかなりの部分を専有している。例えば、ジョイスティック、ナビゲーションバー及びスクロールホイール等の機械的なポジショニング装置は、摩耗し、信頼性が低くなることがある。また、これらの装置のサイズ及び要求される操作は、携帯型の演算プラットホームに関して、人間工学的に最適であるとは言い難い。
【0006】
従来の手法では、1つのフレームを他のフレームに対して回転させ、標準の相関処理を適用して回転を計算していた。これらの手法では、ピボット点(例えば、原点)を選択する必要があり、これに続いて、更なる演算を行う必要がある。これらの演算では、直線的な動き(例えば、x方向及びy方向における回転ではない動き)を判定することはできない。このような弱点のため、従来の手法は、回転及び直線的な動きの両方が必要な、例えば、それぞれ操作ホイール及びポインティング装置をエミュレートする携帯型機器で用いられると更に効率が悪い。
【発明の開示】
【課題を解決するための手段】
【0007】
本発明は、例えば、指紋画像等のパターン化された画像(本明細書では、パターン化画像と呼ぶ。)から回転情報を取得する方法及び装置を提供する。この結果、本発明の実施形態は、ジョイスティック、操作ホイール及び更なるパワーを必要とするより大きい装置より小型化された入力装置を提供する。本発明の実施形態では、回転法及び三角関数を用いる他の手法より簡単に用いることができる線形相関法(linear correlation method)を用いる。このため、本発明の実施形態で用いるアルゴリズムは、より単純であり、高速且つ高い信頼度で実行できる。
【0008】
本発明の第1の側面として提供する情報取得方法は、回転情報を取得する情報取得方法において、複数の位置から複数のパターン化画像を捕捉するステップと、複数のパターン化画像を相関させ、直線差分の組を生成するステップと、直線差分の組を用いて、回転情報を生成するステップとを有する。複数の位置は、センサの第1の部分及びセンサの第2の部分を含む。センサの第1の部分では、第1の複数のパターン化画像が捕捉され、センサの第2の部分では、第2の複数のパターン化画像が捕捉される。
【0009】
好ましくは、センサは、例えば指紋画像センサ等のバイオメトリック画像センサである。第1の複数のパターン化画像及び第2の複数のパターン化画像は、共に、センサの第1の位置の指紋画像に対応する。また、センサの第1の部分では、第3の複数のパターン化画像が捕捉され、センサの第2の部分では、第4の複数のパターン化画像が捕捉されてもよい。第3の複数のパターン化画像及び第4の複数のパターン化画像は、共に、センサの第2の位置の指紋画像に対応する。一実施の形態においては、回転情報は、第1の位置及び第2の位置の間の角度差に対応している。
【0010】
一実施の形態においては、複数のパターン化画像を相関させるステップは、第1の複数のパターン化画像を第3の複数のパターン化画像に相関させ、直線差分の組から直線差分の第1の組を生成するステップと、第2の複数のパターン化画像を第4の複数のパターン化画像に相関させ、直線差分の組から直線差分の第2の組を生成するステップと、第1の複数のパターン化画像及び第2の複数のパターン化画像の第1の組合せを第3の複数のパターン化画像及び第4の複数のパターン化画像の第2の組合せに相関させ、直線差分の組から直線差分の第3の組を生成するステップとを有する。第1の複数のパターン化画像と第3の複数のパターン化画像との相関、第2の複数のパターン化画像と第4の複数のパターン化画像との相関、及び第1の組合せと第2の組合せとの相関は、全て、相互相関の実行を含む。一実施の形態においては、相互相関は、正規化された相互相関又は標準の相互相関である。
【0011】
一実施の形態においては、センサの第1の部分及びセンサの第2の部分は、隣接している。これに代えて、センサの第1の部分及びセンサの第2の部分は、隣接していなくてもよい。
【0012】
一実施の形態においては、センサの第1の部分は、第1のサブフレームの画素を含み、センサの第2の部分は、第2のサブフレームの画素を含む。この実施形態では、第1の第1の複数のパターン化画像を捕捉するステップは、第1の複数のパターン化画像に対応する第1のデータを第1のサブフレームに保存するステップを含み、第2の複数のパターン化画像を捕捉するステップは、第2の複数のパターン化画像に対応する第2のデータを第2のサブフレームに保存するステップを含み、第3の複数のパターン化画像を捕捉するステップは、第3の複数のパターン化画像に対応する第3のデータを第1のサブフレームに保存するステップを含み、第4の複数のパターン化画像を捕捉するステップは、第4の複数のパターン化画像に対応する第4のデータを第2のサブフレームに保存するステップを含む。第1の複数のパターン化画像を第3の複数のパターン化画像に相関させるステップは、第1のデータを第3のデータに相関させ、直線差分の第1の組から第1及び第2の直線差分を生成するステップを含む。第2の複数のパターン化画像を第4の複数のパターン化画像に相関させるステップは、第2のデータを第4のデータに相関させ、直線差分の第2の組から第1及び第2の直線差分を生成するステップを含む。第1の組合せを第2の組合せに相関させるステップは、第1のデータ及び第2のデータの組合せを第3のデータ及び第4のデータの組合せに相関させ、直線差分の第3の組から、第1及び第2の直線差分を生成するステップを含む。
【0013】
他の実施形態においては、相関は、第1及び第2のサブフレームの1つの要素を相関させるラグを判定し、ラグ及び要素の間の差分は、直線差分の組の1つの第1及び第2の直線差分に対応する。各要素は、第1及び第2のサブフレームの1つの行に対応する。これに代えて、各要素は、第1及び第2のサブフレームの1つの列に対応してもよい。
【0014】
他の実施形態として、情報取得方法は、直線差分の第1の組、直線差分の第2の組、直線差分の第3の組及び回転情報をフィルタリングするステップを更に有していてもよい。このフィルタリングは、換算係数による乗算、平滑化関数の適用、クリッピング関数の適用が含まれる。
【0015】
指紋画像センサは、好ましくは、指スワイプセンサである。これに代えて、指紋画像センサは、指位置センサであってもよい。
【0016】
他の実施形態においては、情報取得方法は、表示画面を有するホストプラットホームにおいて、回転情報を用いて、表示画面上でオブジェクトを回転させ、コンピュータ入力装置をエミュレートする。コンピュータ入力装置は、例えば、操作ホイール、ジョイスティック及びナビゲーションバーからなるグループから選択される。コンピュータ入力装置のエミュレートは、角度差に関連する速度で表示画面上のオブジェクトを動かすことを含む。
【0017】
本発明の第2の側面として、本発明に係る情報取得装置は、回転情報を取得する情報取得装置において、複数の位置から複数のパターン化画像を捕捉する捕捉手段と、複数のパターン化画像を相関させ、直線差分の組を生成し、直線差分の組を用いて、回転情報を生成する相関手段とを備える。
【0018】
本発明の第3の側面として、本発明に係るエミュレート方法は、パターンを用いて、回転操作子をエミュレートするエミュレート方法において、第1の向きにおいて、パターンの第1の画像を捕捉するステップと、第2の向きにおいて、パターンの第2の画像を捕捉するステップと、第1の画像と第2の画像とを相関させ、第1の向きと第2の向きとの間の直線差分を算出するステップと、直線差分を回転データに変換するステップと、回転データを用いて回転操作子の動きをエミュレートするステップとを有する。
【0019】
本発明の第4の側面として、本発明に係るエミュレート装置は、 ポジショニング装置をエミュレートするエミュレート装置において、パターンを有する画像を捕捉するセンサと、センサに接続され、パターンを有する画像の第1の位置と、パターンを有する画像の第2の位置との間の直線差分を算出し、直線差分をパターンを有する画像の回転に対応する回転データに変換するプロセッサとを備える。
【0020】
本発明の第5の側面として、本発明に係る回転感知方法は、画像センサ上のオブジェクトの回転を感知する回転感知方法において、オブジェクトの第1の画像を感知するステップと、オブジェクトの第2の画像を感知するステップと、第1の画像と第2の画像とを比較し、第1の画像及び第2の画像を含む各領域の少なくとも2つの部分において、直線的な動きがあるか否かを判定し、オブジェクトが静止しているか、直線的に動いているか、回転しているかを判定するステップとを有する。
【発明を実施するための最良の形態】
【0021】
本発明は、撮像センサによって撮像された任意のパターン化されたマテリアルの回転位置及び動きを判定するシステム及び方法を提供する。任意のパターン化されたマテリアルは、好ましくは、指であり、指の画像の回転位置及び動きを判定する。
【0022】
本発明の実施形態では、好ましくは、デジタル機器、最も好ましくは、個人的なコンピューティング装置において使用するために、指の回転情報を判定し、取得する。サイン、コサイン及びタンジェント等を算出する三角関数を必要とする非線形の従来の回転位置相関法と異なり、本発明の実施形態では、より効率的に計算できるより簡単な線形相関法を用いる。本発明の実施形態により、回転動作を判定するために用いられる成分から、直線的な動きを非常に効率的に演算することができ、これにより、直線的な動き及び回転の両方の入力を1つのセンサで検知でき、システムの複雑性を低減することができる。
【0023】
本発明の実施形態に基づくシステムは、スワイプセンサ(swipe sensor)から指紋画像を再構築し、これにより、画像を再構築するのに必要なデータと共に、回転動作データを効率的に提供する。このシステムは、特に、高精度な回転情報を必要としない用途に好適に適用される。指紋検知のための方法及びシステムは、2002年7月12日に出願された米国特許出願番号第10/194,994号、発明の名称「複数の部分的バイオメトリックフレーム走査からバイオメトリック画像を構築する方法及びシステム(Method and System for Biometric Image Assembly from Multiple Partial Biometric Frame Scans)」及び2002年3月13日に出願された米国特許出願番号第10/099,558号、発明の名称「集積されたオンチップデータバッファリングを伴う指紋バイオメトリック捕捉装置及び方法(Fingerprint Biometric Capture Device and Method with Integrated On-Chip Data Buffering)」に詳細に開示されており、これらの特許文献は、いずれも、引用により本願に援用される。好適な実施形態では、指紋センサとして、カリフォルニア州95008、キャンベル、デルアベニュー1696(1696 Dell Avenue, Campbell, California 95008)のアトルアテクノロジーズ社(Atrua Technologies, Inc.)のアトルアウィングスATW100キャパシティブスワイプセンサ(Wings ATW 100 capacitive swipe sensor)を用いる。
【0024】
本発明の特徴は、1つのフレームを他のフレームに対して回転させた後に、標準の相関処理を適用して回転を判定する従来の手法とは異なり、線形相関から回転を判定する点である。従来の手法では、これらの手法では、ピボット点(回転中心となる原点)を選択する必要があり、これに続いて、更なる演算を行う必要があった。更に、これらの演算では、直線的な動き(例えば、x方向及びy方向における回転ではない動き)を判定することはできない。これらの演算は、特に、回転及び直線的な動きの両方が必要な、例えば、それぞれ操作ホイール及びポインティング装置をエミュレートする携帯型機器で用いられると更に効率が悪い。
【0025】
従来の技術の大部分は、回転を如何に正確に計算するかを重要視し、したがって、上述したような、より精密な処理ステップを必要とする。しかしながら、そのような高い精度を必要としない多くの用途が存在し、本発明は、特にこれらの用途に好適に適用される。本発明の実施形態では、例えば、指が時計方向に回転すると、指画像の左半分が上方に動き、指画像の右半分が下方に動くように見えるという事実を利用する。これは、「ずれ(shear)」とも呼ばれる。反時計回りの動きについては、この逆が成立する。更に、いずれの場合も、図3B及び図3Cに示すように、左側は、右側に向かって動き、右側は、左側に向かって動くように見える。横向きに取り付けられる一般的な種類の指撮像センサでは、センサの高さは、幅に比べて遙かに小さく、上向き及び下向きの動きは、容易に観測及び利用できるが、センサの高さが非常に小さいため、x方向の動きの観測は、より難しい。一方、スワイプセンサを縦向きに取り付けた場合、センサの幅が小さくなるため、x方向の動きの観測は、y方向の動きの観測に比べてより容易になる。本発明は、いずれの場合にも等しく適用できる。また、本発明は、x方向及びy方向の両方の動きを容易に観測し、利用できる大型の指紋位置センサ(fingerprint placement sensor)にも同様に適用できる。
【0026】
上述した観測に基づき、本発明の実施形態では、より簡単な線形相関法を用いて、指紋画像の左側の動きが、右側の動きに対して反対の方向にある場合に、回転を判定する。例えば、左半分が上方に動き、右半分が下方に動く場合、後述する図3Dに示すように、回転は、時計回りである。センサの左端及び右端で検出された直線的な動きの量が略々等しく、向きが反対である場合、回転の中心は、センサの中心又はその近傍にある。直線的な動きの量が等しくはないが、向きが反対である場合、直線的な動きの量がより小さい側のセンサの端部に近い位置に回転の中心があることを計算によって求めることができる。すなわち、直線的な動きの量が等しくはないが、向きが反対である場合、回転の中心の位置を算出できる。また、図3Bに示すように、両方の側が同じ方向に動いている場合、全体的に直線的な動きだけが観測される。なお、本発明では、指が、回転しながらセンサ上を滑り、回転の中心がずれても、回転角を算出できる。
【0027】
このように、本発明は、指撮像センサに接触するユーザの指に関して、高解像度の回転情報を得るための、信頼でき、演算効率が高いソリューションを提供し、このようなセンサは、例えば、ゲームで用いる操作ホイールをエミュレートし、又はディスプレイ上で地図を見易くするために地図を回転させる等の操作に応用することができる。
【0028】
図1Aは、本発明の一実施の形態として、システム10を示している。システム10は、表示装置11に接続され、三角形の電子画像15を表示する指紋画像センサ20を備える。表示装置11は、パーソナルコンピュータと共に用いられるモニタであってもよく、携帯情報端末(personal digital assistant:以下、PDAという。)又はゲーム機器の画面、又は他の如何なる種類の表示装置であってもよい。また、図1Aは、指紋画像センサ25上に置かれた指30も示している。なお、指30は、指紋画像センサ25に接触する表面にパターン(指紋)を有し、指紋画像センサ25は、これらのパターンの画像を捕捉する。座標軸20は、三角形の画像15の辺21に対して角度α0を形成する。座標軸35は、指30に関連する線分36に対して、角度β0を形成する。図1Bは、指30が回転した後のシステム10を示しており、指30の回転により、座標軸35は、線分36に対して、角度β1を形成している。本発明に基づき、三角形の画像15は、回転し、これにより座標軸20は、辺21に対して、角度α1を形成する。このように、一実施の形態においては、指30を角度β1−β0(Δβ)回転させると、三角形の画像15が、角度α1−α0(Δα)回転する。
【0029】
なお、ΔαをΔβに対応付ける複数の手法がある。例えば、ΔαはΔβに等しくてもよく、ΔαはΔβの倍数であってもよく、ΔαはΔβの約数であってもよく、ΔαはΔβの倍数に何らかのオフセットを加えた値であってもよい。また、一実施の形態では、指30は、指紋画像センサ25上で、ピボット点を固定された位置に維持しなくてもよい。すなわち、指30は、指30の回転前、回転中又は回転後に、指紋画像センサ25上で水平又は垂直に移動してもよく、これにより線分36が水平、垂直又はこの両方向にずれても、角度Δβを判定することができる。また、指30の垂直及び水平の動きは、表示装置11上の三角形の画像15の垂直及び水平の移動によっても捕捉できる。また、三角形の画像15は、Δβに関連したレートで移動してもよく(レートモードと呼ぶ)、β1に関連するレートで移動してもよい。
【0030】
なお、ここでは、指紋画像センサ25を位置センサとして示しているが、本発明では、他の種類のセンサを用いてもよいことは明らかである。好ましくは、指紋画像センサ25は、以下に詳細に説明するように、スワイプセンサである。
【0031】
図2は、指の表面の物理的な隆線(ridge)及び谷線(valley)を含む典型的な指紋画像を示している。隆線及び谷線のパターン、特に、「特徴点(minutiae)」と呼ばれる隆線の端点及び分岐点は、無数の人間の間で、各個人に固有のものであることがわかっている。また、指は、例えば、毛穴、傷跡及びしわ等、この他の測定可能な表面の特徴を有することが多い。指紋が指紋画像センサ上を移動した距離、回転、方向又は速度を測定するために追跡するのは、固有の個々の特徴ではなく、特徴の総合的なパターンである。
【0032】
従来の多くの電子的な指撮像センサは、指紋の表面全体を同時に感知する。これらのセンサは、光学的又は電気的な感知法のいずれに基づいているかに関わらず、一般的な人間の指先の表面と同等の表面積(通常15mm×15mm)を有する。これらのセンサを用いる場合、ユーザは、単に、画像が捕捉されるまで、指をセンサ上に置く。位置センサとして知られるこれらのセンサは、行及び列を含み、センサの能力及びサイズに応じて、通常、250〜500行及び200〜500列に及ぶ大きな画像を捕捉することができる。このような装置は、回転入力を感知することができ、実際に、本発明において、回転情報を取得するために用いることができるが、これらの装置は、今日の更に小型化された指センサより大きい。
【0033】
今後、最も普及が見込まれる小型化されたセンサは、一方向(通常幅方向)に完全な寸法を有し、他の方向(通常高さ方向)の寸法が短縮されているセンサである。この種のセンサでは、一度に感知するのは、指紋のパターン内の小さな矩形の一部のみである。
【0034】
このようなより小型のセンサは、携帯型機器に適するという理由のみではなく、生成される画像がより小さいという理由から、本発明に好適に適用される。すなわち、より小さい画像は、データ量が少なく、演算負荷が軽減される。より大きなセンサにおいて、一部のデータを無視又はマスクし、より小さいセンサを擬似的に実現することもできるが、このような手法では、ユーザの指が対象領域に触れていることが保証されないので、理想的ではない。スワイプセンサでは、このような問題は生じない。
【0035】
本発明の実施形態は、人間の指の表面又は他のパターン化された対象を撮像できる如何なる機器からも回転位置データを取得することができ、したがって、通常、1インチあたり少なくとも250ドットの解像度を提供する位置センサ又は指紋画像スワイプセンサの使用に限定されない。また、本発明は、将来、利用可能になる解像度がより低い又はより高いセンサにも適用できる。
【0036】
図3Aは、指紋画像センサ205の左半分205A及び右半分205Bを示している。指紋画像センサ205には、識別可能な隆線部分201、202を有する指紋画像203によって特定される指が置かれる。また、図3Aは、各軸において値が増える方向を指す各軸の矢印により、x座標軸及びy座標軸を示している。図3Aは、指紋画像センサ205上の第1の向き、したがって、x座標軸及びy座標軸に関する第1の向きの指紋画像203を示している。図3Bは、垂直方向に、y−座標について、値が減少する方向に直線的に移動した後の指紋画像を示している。図3Cは、指紋画像センサ205上で逆時計回りに回転した後の指紋画像203を示している。図3Bに対し、図3Cの指紋画像203の向きでは、左半分205Aにおける識別可能な部分201、202のy座標の値が共に減少し、右半分205Bにおける識別可能な部分201、202のy座標の値が共に増加していることがわかる。図3Dは、指紋画像センサ205上で時計回りに回転した後の指紋画像203を示している。図3Cに対し、図3Dの指紋画像203の向きでは、左半分205Aにおける識別可能な部分201、202のy座標の値が共に増加し、右半分205Bにおける識別可能な部分201、202のy座標の値が共に減少していることがわかる。
【0037】
図4は、本発明の好適な実施形態に基づき、回転又は位置を判定するアルゴリズム210のフローチャートである。ステップ211において処理を開始し、ホスト(図示せず)上で実行されるオペレーティングシステム又はアプリケーションが、ユーザに対し、入力を促す。次に、ステップ212において、本発明に基づく指紋画像センサ(図示せず)を初期化し、データを読み出す準備が完了する。このステップ212は、センサの電源をオンにし、指紋画像の捕捉の準備を確実にする処理を含む。また、ステップ212は、コントラスト及び明度レベルを設定し、センサを所望のデータ取得モードに設定し、センサを較正し、又はセンサを初期化する処理を含む。なお、センサが既に初期化されている場合、ステップ212は、不要である。
【0038】
次に、ステップ213において、センサを用いて、センサによって又はハードウェアプラットホームの演算機能力及び帯域幅によってサポートされたレートで、フレームを読み出す。ステップ215において、フレームの特性を推定し、そのフレームが有効であるか否かを判定する。次に、ステップ220において、フレームのメトリックを解析し、フレームが有効であるか否かを判定する。フレームが有効である場合、フレームを維持し、処理はステップ225に進み、この他の場合、フレームは無視して、処理はステップ255に進む。後に詳細に説明するように、好適な実施形態では、例えば、フレーム内の画素データの平均値及び分散等、画像の統計的情報を測定することによって、フレームの有効性を判定する。フレームの有効性は、指がセンサに存在しているか否かに直接関連する。なお、効率を犠牲にしてもよい場合、又は指がセンサに触れているときのみセンサがフレームを生成する場合には、ステップ215を省略してもよい。
【0039】
ステップ225において、現在のフレーム(例えば、最も最近に読み出され、現在処理中のフレーム)を、最後に保存された有効なフレームと相関させる。繰返しの最初の段階では、「最後の有効なフレーム」が存在しないので、現在のフレームを最後の有効なフレームにコピーする。好適な実施形態においては、フレームを左半分及び右半分に分割する。但し、フレームを幾つの部分にどのように分割してもよいことは明らかである。次に、ステップ230において、フレームの左半分の直線的な動き及びフレームの右半分の直線的な動きの両方を算出する。次に、ステップ235において、フレームの左半分の直線的な動き及びフレームの右半分の直線的な動きを用いて、フレームの総合的な直線的な動きを算出する。この演算については、後に詳細に説明する。ステップ240において、ステップ235の演算結果を用いて、指紋画像の回転を算出する。
【0040】
次に、ステップ245において、処理は、指紋画像に関して、直線方向又は回転方向の動きがあったか否かを判定する。動きがあった場合、処理はステップ250に進み、この他の場合、処理はステップ255に進む。ステップ250において、最後の有効なフレームを更新し、ステップ251において、最後の有効なフレームを保存する。そして、処理は、ステップ225に進む。
【0041】
ステップ255において、処理は、更なるフレームが取得されるか否かを判定する。更なるフレームが取得される場合、処理は、ステップ260に進み、カウンタをインクリメントした後、ステップ213に進む。更なるフレームが取得されない場合、処理はステップ265に進み、ここで終了する。
【0042】
上述したように、現在のフレームの画素は、最後の有効なフレームの画素に相関され、これにより、回転又は直線的な動きの量を判定する。ステップ235において、総合的な直線的な動きを算出すると、この動きに対応するデータは、ダウンストリーム側でこのデータを必要とするあらゆる処理に供給される。例えば、プログラム(例えば、アプリケーションプログラム、デバイスドライバ又はオペレーティングシステム)は、対応するデータを用いて、表示画面上のポインタを直線的に移動させることができる。また、ステップ240において、回転を算出すると、この動きに対応するデータは、ダウンストリーム側でこのデータを必要とするあらゆる処理に供給される。例えば、プログラムは、対応するデータを用いて、表示画面上で画像を回転させることができる。動きがあったと判定すると、最後の有効なフレームを現在のフレームに置換し、アルゴリズムは、センサから新たな画像がデータを取得することによって継続される。
【0043】
好適な実施形態では、システムは、リアルタイムで処理を繰り返す。これに代えて、システムは、メモリバッファ内に全てのフレームを保存し、複数のフレームをセンサから取得した後に動きを算出してもよい。好ましくは、アプリケーション又はオペレーティングシステムのいずれかが繰返しを終了するよう指示したとき、繰返しが終了する。システムがオペレーティングシステムのポインティング装置として用いられる場合、無期限に処理を継続してもよい。
【0044】
アルゴリズムは、例えば、機器の電源が投入され、又はゲームが開始される等、回転フィードバックが必要になると、開始される。回転情報が必要でなくなると、アルゴリズムは終了する。
【0045】
好適な実施形態においては、システムは、図5Aに示すスワイプセンサ310に接続されたコンピューティング装置上で実行される。スワイプセンサ310は、x方向及びy方向に関して水平に取り付けられ、これにより図6に示すような画像フレームが捕捉される。x軸は、スワイプセンサ310の長手方向に沿い、y軸は、x軸に垂直である。なお、スワイプセンサ310は、如何なる向きで取り付けてもよい。説明に一貫性を持たせるために、x軸に沿うセンサの方向を常にセンサの長さと呼ぶことにする。図5Bは、本発明に基づくスワイプセンサ315の第2の向きを示している。スワイプセンサ315は、x方向及びy方向に関して垂直に取り付けられている。好適な実施形態では、指紋センサ(例えば、スワイプセンサ310又はスワイプセンサ315)は、要求に応じて、プログラムに単一のデータのフレームを提供する。後述するように、単一のフレームは、任意の数のより小さいサブフレームに論理的に分割できる。また、本発明においては、1つの要求に対して2つ以上のフレームを提供できるセンサを用いてもよい。また、本発明に基づく指紋センサは、図5A、図5Bに示す向き以外の向きで取り付けてもよい。
【0046】
スワイプセンサは、通常、センサの能力、用いられるインタフェース及びホストパーソナルコンピュータの速度に応じて、1秒間に250〜3000個(フレームレート)のフレームを提供する。
【0047】
図6は、本発明に基づく指紋画像センサによって捕捉された画像データ400を示している。画像データ400は、N行M列のピクチャ要素又は画素を含み、各画素は、通常、1バイト(8ビット)のデータによって表現される。Mは、任意の正の値(解像度に応じて、通常100〜300)であり、Nは、少なくとも2である(フレームにおける通常の行数は、8〜32である)。好ましくは、N=8及びM=192である。画素値は、グレーレベルを示し、これにより、画像フレームは、コンピュータモニタ上に表示されると指紋画像に類似する画像を示す。通常この値は、0〜255の範囲であり、0は、黒を表し、指紋の隆線に対応し、255は、白を表し、谷線に対応する。なお、データの範囲及びデータの表示は、この他のものを用いても、本発明の性質に影響しない。
【0048】
変形例として、例えば、光学ドキュメントスキャナ等の他の同様の種類のセンサを、殆ど変更を加えずに用いてもよい。一実施の形態においては、本発明に基づくシステムは、ソフトウェアではなく、専用のハードウェア又はファームウェアによって実行してもよい。他の実施形態においては、汎用CPU上でアルゴリズムを実行し、他の部分をハードウェアのみで実現してもよい。
【0049】
図7は、図3のアルゴリズム210における幾つかの繰返しで用いる現在のフレーム及び最後の有効なフレームを示している。列401に示す繰返し1は、最後の有効なフレーム405及び現在のフレーム410を示している。フレーム405の行は、フレーム410に対応していないので、如何なる認識可能な動きも特定できない。列402に示す繰返し2は、最後の有効なフレーム410及び現在のフレーム415を示している。最後の有効なフレーム410は、前の繰返しである繰返し1の現在のフレームに対応している。フレーム410の行0(矢印によって示されている。)は、フレーム415の行1(矢印によって示されている。)に対応している。このため、y方向の直線的な動きが検出される。列403に示す繰返し3は、最後の有効なフレーム415及び現在のフレーム420を示している。フレーム415は、フレーム420と同じであるので、動きがないこと(例えば、指紋画像センサ上で指が動いていないこと)が認識される。この具体例では、最後の有効なフレームを更新する必要はない。列404に示す繰返し4は、最後の有効なフレーム420及び現在のフレーム425を示している。最後の有効なフレーム420は、繰返し3の現在のフレームに対応している。フレーム420の行1(直線の矢印によって示されている。)は、フレーム425の行2(直線の矢印によって示されている。)に対応している。この行の垂直移動(すなわち、指が行1から行2に移動することによる指紋パターンの画像の追跡)は、指紋画像センサ上で指が下方向に動いたことを示し、これをy方向における正の動きと呼ぶ。更に、フレーム420の列2(波線の矢印によって示されている。)は、フレーム425の列1(波線の矢印によって示されている。)に対応する。この列の水平移動(すなわち、指が列2から列1に移動することによる指紋パターンの画像の追跡)は、指紋画像センサ上で指が左方向に動いたことを示し、これをx方向における負の動きと呼ぶ。この具体例では、y方向における正の動きと、x方向における負の動きが検出されるので、指紋画像が時計回りに回転したことが認識される。
【0050】
なお、x方向及びy方向における特定の方向に割り当てられる符号(正又は負)は、説明のために任意に選択したに過ぎない。この符号を逆にしてもよい。
【0051】
以下、図4のアルゴリズム210を更に詳細に説明する。上述したように、アルゴリズム200は、データの新たなフレームを要求し(ステップ210)、この目的のためにバッファに保存されている先の画像フレームに新たなフレームを相関させる(ステップ225)処理を繰り返す。アルゴリズム210のi番目の繰返しにおいて、センサ装置(例えば、指紋画像センサ)は、1つのデータのフレームを要求する。一旦、フレームを取得すると、このフレームが有効であるか否かを判定するために、フレームを解析する。フレームが有効であると判定された場合、フレームは、後の使用のためにローカルメモリに保存され、フレームが有効ではないと判定された場合、フレームは、単に無視される。
【0052】
好適な実施形態においては、フレームが少なくとも何らかの指紋画像情報を含むことを確認することによってフレームの有効性を判定する。例えば、フレームを取得した際、機器上に指が置かれていなければ、フレームは、恐らく、雑音又は空白の画像のみを含むこととなる。この判定は、フレーム内の画像の統計的情報、すなわち、平均値及び分散の測定に基づく規則を用いて行うことができる。幾つかのセンサは、指の存在に関する情報を提供し、システムは、この情報が入手可能であれば、それ自体を用いてもよく、この情報を上述した統計的情報と共に利用してもよい。
【0053】
数学的には、n番目の行とm番目の列の画素をframe[n,m]とすると、以下の式が成り立つ。
【0054】
【数1】
【0055】
効率を高めるために、メトリック(ステップ215で算出される)は、(フレーム全体ではなく)フレームの一部のみを用いて算出してもよく、この一部は、任意の画像の部分であってもよく、又は演算によって、画素をp個おきにスキップすることによって得てもよい。
以下の場合、フレームは、雑音であるとみなし、無視する。
Φ≧Noise_average_threshold_high
又は
Φ≦Noise_average_threshold_low
又は
Ψ≦Variance_average_threshold
換言すれば、平均が所定のレベル(例えば、閾値)を上回り又は下回る場合、又は分散が期待される通常の指より小さい場合、用いられるセンサに応じて、指が機器上に置かれていないと判定する。好適な実施形態では、これらの閾値の一般的な値を以下の通りとする。
Noise_average_threshold_high=240
Noise_average_threshold_low=30
Variance_average_threshold=10
なお、アルゴリズムを所望の性能に調整するために、他の値を用いてもよく、また、上述した統計的情報のより複雑な組合せを用いてフレームの有効性を判定してもよい。もちろん、他の基準を単独で用いてもよく、上述した基準と組み合わせて用いてもよい。
【0056】
一旦、現在のフレームが有効であると判定されると、この現在のフレームを(ステップ251で保存した)最後の有効なフレームと相関させ、指の動きがあった場合、指の動きを判定する。指の動きがあったと判定されると、最後の有効なフレーム(ステップ251)を現在のフレームに置換し、アルゴリズムは、センサから新たなフレームを取得することによって処理を続ける。
【0057】
本発明においては、新たなフレーム(「cF」)をメモリに保存されている前のフレーム(「oF」)と相関させる。相関処理は、当業者にとって周知の処理であるが、ここでは、本発明を明瞭するために、この処理について詳細に説明する。
【0058】
最後の有効なフレームの行Rと、現在のフレームの行Sとの標準の相互相関SCCは、数学的に以下のように表現される。
【0059】
【数2】
【0060】
ここで、dは、「ラグ」又は「オフセット」と呼ばれる。ラグは、1つのフレームのデータの他のデータに対する水平運動に関連し、速度とみなすこともできる。通常ラグは、−L≦d≦+Lであり、ここで、Lは、Mより遙かに小さい値である。式を明確に保つために、本明細書における全ての式においては、d≧0である仮定している。但し、oF及びcFにおける列のインデックスを以下に示すように置き換えることによって、負のラグ値を処理できる。
【0061】
【数3】
【0062】
ここで、|d|は、dの絶対値である。
【0063】
この置き換えは、本明細書に示す全ての相関式について有効であり、SCCだけではなく、後述する正規化された相互相関(normalized cross-correlation:以下、NCCという。)についても成立する。
【0064】
標準の相関処理を用いてもよいが、好適な実施形態では、標準の相関処理を僅かに変更し、指紋画像再構築等の画像位置合わせタスクにより適する、以下の式2によって定義される正規化された相互相関NCCと呼ぶ処理を用いる。NCCは、標準の相関処理とは異なり、画像の強度の変化に対して不変であり、演算で用いる画素数から独立した範囲を有し、画像フレームの局所的な特性への依存度が低いため、より正確である。
【0065】
【数4】
【0066】
ここで、
【0067】
【数5】
【0068】
は、列d+lから列M−に亘る行Rに沿った合計値であり、
【0069】
【数6】
【0070】
は、列1から列M−2dに亘る行Sに沿った合計値である。
【0071】
上の式は、各フレームの行に関するものであるが、より一般的には、各フレームの「パッチ」に関するものとみなすことができ、ここで、パッチとは、行の何らかの下位集合又は上位集合である。相関すべき各フレームのパッチは、画素の如何なる組であってもよいが、好適な実施形態では、各フレームの中央を中心に置いたパッチを用いる。ここでは如何なる行又は行のサブセットも用いてもよいが、パッチが小さすぎると、相互相関値の統計的有意性が損なわれる。
【0072】
現在のフレームの情報の最後のフレームの情報に対するラグ又はオフセットは、x方向における未知の動き量に対応しているため、NCC全体(R、S、d)は、多くの場合、最適に対応する値を見つけるために、dの複数の値について演算を行う必要がある。
【0073】
したがって、一実施の形態においては、以下の式が成り立つ。
d=−L〜d=Lについて、
PeakNCCwhole(R,S,L)=MAX{NCC_whole(R,S,d)}[式3]
dpeakwhole(R,S,L)=上の式が成り立つdの値。
【0074】
好適な実施形態では、L=8であるが、Lは、x方向におけるフレーム間の最高の速度と同じ大きさになるように選択する必要がある。Lが小さい方が演算は効率的であるが、Lを小さくしすぎると、フレーム間で、指が±Lより大きく移動した場合、結果が不正確になる。変形例として、Lは、最後の繰返しi−1からのdpeakwholeの関数としてもよい。
【0075】
例えば、以下のようにしてもよい。
L(繰返しiにおける)=dpeakwhole(繰返しi−1における)+e
ここで、eは、通常1又は2である。
【0076】
他の実施形態においては、Lは、フレームの行数(すなわち、R及び/又はS)の関数であってもよい。また、浮動小数点演算を回避するためにNCC式の換算されたバージョンを用いてもよく、また、演算負荷が高い平方根演算を避けるために、二乗NCCを用いてもよい。
【0077】
PeakNCCwholeは、最適の相関係数に対応し、dpeakwholeは、x方向における動きの量に対応している。次に、y方向における動きの量を算出する手法を説明する。
【0078】
【数7】
【0079】
NCCを算出するこの式2は、最後のフレームoF及び現在のフレームcFについて、以下のように書き換えることができる。
【0080】
【数8】
【0081】
分子及び分母に(M−2d)2を乗算することにより、演算が簡単になり、理解が容易になる。
【0082】
これは、以下のように、行の左半分及び右半分に分離することができる。
NCC_whole(R,S,d)=(A−B)/(C1/2×D)[式4]
ここで、Aは、以下のように表される。
【0083】
【数9】
【0084】
Bは、以下のように表される。
【0085】
【数10】
【0086】
Cは、以下のように表される。
【0087】
【数11】
【0088】
Dは、以下のように表される。
【0089】
【数12】
【0090】
ここで、
【0091】
【数13】
【0092】
は、列M/2+1から列M/dに亘る行Rに沿った合計値である。
【0093】
【数14】
【0094】
は、列d+1から列M/2に亘る行Rに沿った合計値である。
【0095】
【数15】
【0096】
は、列M/2−d+1から列M−2dに亘る行Rに沿った合計値である。
【0097】
【数16】
【0098】
は、列1から列M/2−dに亘る行Sに沿った合計値である。
【0099】
更に、各行の左半分及び右半分のNCCは、以下の式を用いて算出することができる。
【0100】
【数17】
【0101】
【数18】
【0102】
更に、左半分及び右半分のPeakNCCは、以下のようにして求められる。
d=−L〜d=Lについて、
PeakNCCleft(R,S,L)=MAX{NCC_left(R,S,d)}[式6a]
dpeakleft(R,S,L)=上の式が成り立つdの値。
d=−L〜d=Lについて、
PeakNCCright(R,S,L)=MAX{NCC_right(R,S,d)}[式6b]
dpeakright(R,S,L)=上の式が成り立つdの値。
【0103】
これらの式により、センサアレーの左右の側を個別に処理し、後述するように、回転を効率的に判定することができる。
【0104】
式5a及び式5bにより、左右の側について、全てのNCC項を算出すれば、式4に基づき、後は幾つかの加算及び除算だけでセンサアレー全体についてNCCを算出することができる。そして、上述のように、式3を用いて、総合的な直線的な動きを算出でき、回転は、センサアレーの左右の側の直線的な動きに基づいて算出される。
【0105】
上で定義した式3に基づくPeakNCC(R、S、L)を用いて、又は式6a及び式6bに基づき、x方向及びy方向の正確な動きを簡単に算出することができる。繰返しiの最後の有効なフレームは、図4に示すように、1〜Nの番号が付された行を含み、Nは、センサから供給される行の数である。処理される現在のフレームは、同様に1〜Nの番号が付された行を有する。
【0106】
最後のフレームの所定の行Rについて、現在のフレームの行1〜Nに関して、PeakNCC及びdを式3、式6a及び式6bに基づいて算出し、最大のPeakNCCに対応するdpeakを選択する。好ましくは、R:R=1及びR=Nの2つの値についてこの選択を行う。これにより、ユーザが指を移動させる速度を最大にしながら、y方向における上向きの動き及び下向きの動きを判定できる。また、R=N/2(略々中央の行)において、1つRだけを選択してもよい。但し、この処理は、次善策である。また、例えば、R=2及びR=N−1等、1又はN以外の値を選択してもよく、これらの値は、センサアレーの端にないため、精度に関する理由から有利な場合がある。
【0107】
表1は、任意のRの値について、単一のフレームの繰返しを実行する擬似コードを示している。演算は、左側、右側及び全体の行について個別に実行するが、表1の擬似コードでは、包括的な演算のみを示している。
【0108】
【表1】
【0109】
表1の擬似コードは、以下のように要約することができる。
MaxPeakNCC=NCC_whole(bestR,bestS,dpeak(bestR,bestS,L))[式6c]
dpeakMax=dpeak(bestR,bests,L)[式6d]
この演算により、以下の情報が得られる。
【0110】
1.MaxPeakNCC:現在のフレーム及び最後のフレームにおいて一致する行の最良の対の相関値
2.bestR:MaxPeakNCCをもたらす最後のフレームの行
3.bestS:bestSMaxPeakNCCをもたらす現在のフレームの行
4.dpeakMax:MaxPeakNCCに達する相関ラグ
bestR及びbestSは、最も高い相関値(MaxPeakNCC)をもたらす行の対である。
【0111】
通常、MaxPeakNCCは、1.0に近い値(1.0に近いほど、相関がより強い)になるが、分析されている指の移動速度が速すぎる場合、現在のフレームが最後のフレームと共通の行を有さない場合(すなわち、非重複ケース)もある。したがって、MaxPeakNCCは、十分大きくする必要がある。
【0112】
上述した情報を用いて、以下の演算を行う。
【0113】
1.Δx(i)=dpeakMax
これは、繰返しiにおけるx方向における動き速度である。
【0114】
2.Δy(i)=bestS−bestR
これは、繰返しiにおけるy方向における動きの速度である。
【0115】
この他の場合、
3.Δx(i)=0
4.Δy(i)=0
ここで、corr_thresholdを用いて、完全なオーバーラップを示す相関が十分高いことを確実にする。好ましくは、corr_threshold=0.75であるが、アルゴリズムの性能を調整するために他の値を用いてもよい。相関が閾値を下回る場合、x方向及びy方向における速度の実際の値を判定することはできず、したがって、アルゴリズムは、動きベクトルを出力しない。なお、変形例として、初期値として他の値を出力してもよく、例えば、N行及びM列の最大の動き又はこれらの組合せを出力してもよい。
【0116】
いずれの場合も、現在の繰返しiに関して、Δxleft(i)、Δyleft(i);Δxright(i)、Δyright(i);Δxwhole(i)、Δywhole(i)によってそれぞれ示される左側、右側及び全体の行について、x方向及びy方向における動きを算出した後に、回転Δtheta(i)を判定できる。Δxwhole(i)及びΔyWhole(i)は、回転情報を必要とするホストに供給され、全体的なx方向及びy方向における直線的な動きを表す。
【0117】
表2は、回転を判定するための擬似コードを示している。擬似コードは、回転データを用いるアプリケーションプログラム又はオペレーティングシステムによる終了の指示があるまで繰り返し継続される。
【0118】
【表2】
【0119】
なお、回転の大きさを算出するために、Δyleft(i)及びΔyright(i)の任意の関数を含む代替の手法がある。x方向及びy方向を逆にして取り付けられたセンサでは、表2の擬似コードにおいて、Δxleft(i)及びΔxright(i)を用いる。フルサイズの位置センサでは、Δxleft(i)、Δyleft(i)及びΔxright(i)、Δyright(i)の両方の軸を用いることによって、更に高い精度を実現できる。一実施の形態においては、これは、表2の擬似コードを用いて、Δx値及び再びΔy値に基づいてΔtheta(i)を算出することによって実現される。これにより得られる2つの推定値を共に平均し、又はこの他の手法で結合し、最終的なΔtheta(i)を生成する。このΔtheta(i)は、ホストアプリケーション及び/又はオペレーティングシステムに供給される。
【0120】
他の実施形態では、正規化された相互相関の代わりに標準の相関を用いる。例えば、正規化された相互相関の代わりに式1に示す標準の相互相関を用いることができる。式1を各行の左右の側に対応する項に分割することは容易である。
【0121】
【数19】
【0122】
この場合、好適な実施形態におけるNCCより遙かに簡単であり、全体の行のSCC値は、単に、それぞれの半分の相関値の合計である。
【0123】
また、フレームの行S及び最後の有効なフレームの行Rの間の最大の標準の相互相関を他の表現で表すこともできる。例えば、重み付け又は投票スキーム(voting schemes)を用いることができる。一実施の形態においては、以下の式を用いる。
d=−L〜d=Lについて、
PeakSCCwhole(R,S,L)=WeightedMAX{SCC_Whole(R,S,d)}[式8]
WeightedMAXは、値を生成する前に、要素に所定の複数の重みを割り当てる関数であり、dpeakwhole(R,S,L)は、式8を成り立たせるdの値であり、Lは、最後の有効なフレームから現在のフレームへの水平方向の動きの最高速度に略々等しい値である。
【0124】
好適な実施形態では、各行を等しい長さの左右の側に分割するが、変形例として、各行をどのように分割してもよく、例えば、二等分ではなく、三等分してもよく、或いは、分割される各部分の長さが異なるように分割してもよい。また、分割される各部分は、必ずしも隣接していなくてもよい。図8〜図12は、これらの可能性の幾つかの具体例を示しており、各具体例は、それぞれの利点を有する。
【0125】
例えば、図8は、左半分(サブフレーム)605及び隣接する右半分610を有する指紋センサを示している。図9は、第1のセクション(サブフレーム)615、第2のセクション620、第3のセクション625、第4のセクション630を有する指紋センサを示している。セクション615は、セクション620に隣接しており、セクション620は、セクション625に隣接しており、セクション625は、セクション630に隣接している。図10は、隣接しない2つのセクション631、632を有する指紋画像センサを示している。図11は、いずれも隣接しない4つのセクション635、640、645、650を有する指紋画像センサを示している。図12は、セクション655及びこれに隣接するセクション660と、セクション665及びこれに隣接するセクション670を有する指紋画像センサを示している。なお、それぞれが好ましくは、2つ以上の単一の分割部分を有する他の構成も可能であり、線形相関を用いて回転を判定してもよい。セクションの数及び構成は、製造原価、指紋画像センサの表面積、計算アルゴリズム、プロセッサ構成、必要な速度及び他の基準に基づいて選択できる。
【0126】
他の実施形態として、Δxwhole(i)、Δywhole(i)及びΔtheta(i)のそのままの値をホストに供給する前に、値を変更してもよい。これらの種類の変更は、包括的にフィルタリングと呼ばれる以下に示す3つの異なる数学的変換を含み、以下では、変更された出力に「’」を付す。
【0127】
1.換算:元の動き値に線形又は非線型換算係数を乗算し、ホストが表示する座標系により適切な換算されたバージョンを得る。具体例として、全ての値に2を乗算してもよい。他の具体例として、x方向における動きに2を乗算し、y方向における動きに0.5を乗算してもよい。
【0128】
2.平滑化:連続した動き値に平滑化(ローパス)フィルタを適用し、時間実に対して値を平滑化する。具体例は以下の通りである。
線形平均=Δx’whole(i)=[Δxwhole(i)+Δxwhole(i−1)+Δxwhole(i−2)]/3
指数平均=Δtheta’(i)=[Δtheta’(i−1)+Δtheta(i)]/2
3.クリッピング:動きの値を任意の値に制限する。具体例は以下の通りである。
Δy(i)>Tの場合、
Δy’(i)=T。
この他の場合、
Δy’(i)=Ay(i)。
【0129】
本発明では、これらの処理を様々に組み合わせて行ってもよい。ここで、「フィルタリング」とは、よく定義された手法で入力を処理し、出力を生成する機能を意味する。
【0130】
相関処理は、演算負荷が大きいことは当業者にとって明らかである。したがって、一実施の形態では、左側、右側及び全体のアレーについてのΔtheta(i)及び/又はΔx(i)、Δy(i)の算出は、独立したプロセッサ又は専用ハードウェアで実行する。この実施形態では、ハードウェアをシリコン指紋センサ自体に組み込んでもよい。相関処理を実行するハードウェアは、現在のフレーム及び最後の有効なフレームにアクセスしなくてはならず、これらのフレームはいずれも装置のメモリ内に保存できる。例えば、このようなメモリを指紋画像センサに組み込むことにより、装置は、(装置自体が生成した)現在のフレームにアクセスすることができ、最後の有効なフレームを揮発性メモリレジスタに保存することができる。このような場合、装置は、好適な実施形態において上述した手法を用いて、フレームが有効であるか否かを判定する必要がある。このような実施形態では、ホストコンピューティング装置は、不要である。また、指紋画像は、全体のアレーに関するΔx(i)及びΔy(i)のみから再構築されるため、このようなハードウェア実現例を用いて、指紋画像を再構築することができることは明らかである。
【0131】
添付の特許請求の範囲によって定義される本発明の精神及び範囲から逸脱することなく、上述した実施形態を様々に変更できることは、当業者にとって明らかである。
【図面の簡単な説明】
【0132】
【図1A】本発明に基づき、指紋画像センサ上で指を回転させることによって、電子画像がどう回転するかを説明する図である。
【図1B】本発明に基づき、指紋画像センサ上で指を回転させることによって、電子画像がどう回転するかを説明する図である。
【図2】隆線を黒で示し、谷線を白で示し、及び分岐点及び隆線の端点を示す指紋画像の図である。
【図3A】本発明に基づき、指が置かれた指紋センサの指紋画像の部分を含む左右のセクションを示すとともに、直線的に動き及び回転する指紋画像を説明する図である。
【図3B】本発明に基づき、指が置かれた指紋センサの指紋画像の部分を含む左右のセクションを示すとともに、直線的に動き及び回転する指紋画像を説明する図である。
【図3C】本発明に基づき、指が置かれた指紋センサの指紋画像の部分を含む左右のセクションを示すとともに、直線的に動き及び回転する指紋画像を説明する図である。
【図3D】本発明に基づき、指が置かれた指紋センサの指紋画像の部分を含む左右のセクションを示すとともに、直線的に動き及び回転する指紋画像を説明する図である。
【図4】本発明に基づくフレーム取得及び画像相関処理のフローチャートである。
【図5A】水平な向きの指紋画像センサを示す図である。
【図5B】垂直な向きの指紋画像センサを示す図である。
【図6】指紋センサからのフレーム(スライス)からの画素データを示す図である。
【図7】本発明に基づく再構築処理の異なる繰返しにおける指紋センサからの画素データを示す図である。
【図8】本発明に基づくフレームの異なる分割構成例を示す図である。
【図9】本発明に基づくフレームの異なる分割構成例を示す図である。
【図10】本発明に基づくフレームの異なる分割構成例を示す図である。
【図11】本発明に基づくフレームの異なる分割構成例を示す図である。
【図12】本発明に基づくフレームの異なる分割構成例を示す図である。
【関連出願】
【0001】
本願は、米国特許法第119条(e)に基づき、2003年8月22日に出願された係属中の米国仮出願番号60/497,045号、発明の名称「回転入力方法特許(ROTATIONAL INPUT METHOD PATENT)」に対する優先権を主張する。2003年8月22日に出願された係属中の米国仮出願番号60/497,045号、発明の名称「回転入力方法特許(ROTATIONAL INPUT METHOD PATENT)」は、引用により本願に援用される。
【技術分野】
【0002】
本発明は、バイオメトリックセンサの分野に関する。詳しくは、本発明は、指紋画像を用いて、電子ポジショニング装置をエミュレートするシステム及び方法に関する。
【背景技術】
【0003】
携帯型電子演算プラットホームの出現により、ユーザは、あらゆる場所で、様々な機能及びサービスを享受できるようになった。日常的な携帯型電子演算プラットホームの幾つかの具体例としては、例えば、パームトップコンピュータ、携帯情報端末、携帯電話機、携帯型ゲームコンソール、バイオメトリック/健康モニタ、リモートコントローラ、デジタルカメラ等がある。携帯性に関する要求から、これらの演算プラットホームは、より小さくなることが求められており、更に、電池寿命を長くすることが求められている。これらの小型化された機器では、ユーザ入力を検知する効率的な手法が必要となる。
【0004】
携帯型電子演算プラットホームは、複数の目的のためにユーザ入力を必要とし、これらの目的には、例えば、(a)ディスプレイ上のある位置にカーソル又はポインタをナビゲートすること、(b)アイテム又は動作を選択(例えば、選択又は選択解除)すること、(c)入力装置の方向付け(例えば、方向の変更。視覚的フィードバックがある場合もない場合もある。)を行うこと等がある。
【0005】
これらの機器では、遙かに大きいパーソナルコンピュータからのユーザ入力の発想が借用されている。例えば、従来の機器では、マイクロジョイスティック、ナビゲーションバー、スクロールホイール、タッチパッド、操作ホイール及びボタン等が採用されているが、その効果は限定的である。これらのポジショニング装置は、全て、携帯型機器における貴重な表面領域のかなりの部分を専有している。例えば、ジョイスティック、ナビゲーションバー及びスクロールホイール等の機械的なポジショニング装置は、摩耗し、信頼性が低くなることがある。また、これらの装置のサイズ及び要求される操作は、携帯型の演算プラットホームに関して、人間工学的に最適であるとは言い難い。
【0006】
従来の手法では、1つのフレームを他のフレームに対して回転させ、標準の相関処理を適用して回転を計算していた。これらの手法では、ピボット点(例えば、原点)を選択する必要があり、これに続いて、更なる演算を行う必要がある。これらの演算では、直線的な動き(例えば、x方向及びy方向における回転ではない動き)を判定することはできない。このような弱点のため、従来の手法は、回転及び直線的な動きの両方が必要な、例えば、それぞれ操作ホイール及びポインティング装置をエミュレートする携帯型機器で用いられると更に効率が悪い。
【発明の開示】
【課題を解決するための手段】
【0007】
本発明は、例えば、指紋画像等のパターン化された画像(本明細書では、パターン化画像と呼ぶ。)から回転情報を取得する方法及び装置を提供する。この結果、本発明の実施形態は、ジョイスティック、操作ホイール及び更なるパワーを必要とするより大きい装置より小型化された入力装置を提供する。本発明の実施形態では、回転法及び三角関数を用いる他の手法より簡単に用いることができる線形相関法(linear correlation method)を用いる。このため、本発明の実施形態で用いるアルゴリズムは、より単純であり、高速且つ高い信頼度で実行できる。
【0008】
本発明の第1の側面として提供する情報取得方法は、回転情報を取得する情報取得方法において、複数の位置から複数のパターン化画像を捕捉するステップと、複数のパターン化画像を相関させ、直線差分の組を生成するステップと、直線差分の組を用いて、回転情報を生成するステップとを有する。複数の位置は、センサの第1の部分及びセンサの第2の部分を含む。センサの第1の部分では、第1の複数のパターン化画像が捕捉され、センサの第2の部分では、第2の複数のパターン化画像が捕捉される。
【0009】
好ましくは、センサは、例えば指紋画像センサ等のバイオメトリック画像センサである。第1の複数のパターン化画像及び第2の複数のパターン化画像は、共に、センサの第1の位置の指紋画像に対応する。また、センサの第1の部分では、第3の複数のパターン化画像が捕捉され、センサの第2の部分では、第4の複数のパターン化画像が捕捉されてもよい。第3の複数のパターン化画像及び第4の複数のパターン化画像は、共に、センサの第2の位置の指紋画像に対応する。一実施の形態においては、回転情報は、第1の位置及び第2の位置の間の角度差に対応している。
【0010】
一実施の形態においては、複数のパターン化画像を相関させるステップは、第1の複数のパターン化画像を第3の複数のパターン化画像に相関させ、直線差分の組から直線差分の第1の組を生成するステップと、第2の複数のパターン化画像を第4の複数のパターン化画像に相関させ、直線差分の組から直線差分の第2の組を生成するステップと、第1の複数のパターン化画像及び第2の複数のパターン化画像の第1の組合せを第3の複数のパターン化画像及び第4の複数のパターン化画像の第2の組合せに相関させ、直線差分の組から直線差分の第3の組を生成するステップとを有する。第1の複数のパターン化画像と第3の複数のパターン化画像との相関、第2の複数のパターン化画像と第4の複数のパターン化画像との相関、及び第1の組合せと第2の組合せとの相関は、全て、相互相関の実行を含む。一実施の形態においては、相互相関は、正規化された相互相関又は標準の相互相関である。
【0011】
一実施の形態においては、センサの第1の部分及びセンサの第2の部分は、隣接している。これに代えて、センサの第1の部分及びセンサの第2の部分は、隣接していなくてもよい。
【0012】
一実施の形態においては、センサの第1の部分は、第1のサブフレームの画素を含み、センサの第2の部分は、第2のサブフレームの画素を含む。この実施形態では、第1の第1の複数のパターン化画像を捕捉するステップは、第1の複数のパターン化画像に対応する第1のデータを第1のサブフレームに保存するステップを含み、第2の複数のパターン化画像を捕捉するステップは、第2の複数のパターン化画像に対応する第2のデータを第2のサブフレームに保存するステップを含み、第3の複数のパターン化画像を捕捉するステップは、第3の複数のパターン化画像に対応する第3のデータを第1のサブフレームに保存するステップを含み、第4の複数のパターン化画像を捕捉するステップは、第4の複数のパターン化画像に対応する第4のデータを第2のサブフレームに保存するステップを含む。第1の複数のパターン化画像を第3の複数のパターン化画像に相関させるステップは、第1のデータを第3のデータに相関させ、直線差分の第1の組から第1及び第2の直線差分を生成するステップを含む。第2の複数のパターン化画像を第4の複数のパターン化画像に相関させるステップは、第2のデータを第4のデータに相関させ、直線差分の第2の組から第1及び第2の直線差分を生成するステップを含む。第1の組合せを第2の組合せに相関させるステップは、第1のデータ及び第2のデータの組合せを第3のデータ及び第4のデータの組合せに相関させ、直線差分の第3の組から、第1及び第2の直線差分を生成するステップを含む。
【0013】
他の実施形態においては、相関は、第1及び第2のサブフレームの1つの要素を相関させるラグを判定し、ラグ及び要素の間の差分は、直線差分の組の1つの第1及び第2の直線差分に対応する。各要素は、第1及び第2のサブフレームの1つの行に対応する。これに代えて、各要素は、第1及び第2のサブフレームの1つの列に対応してもよい。
【0014】
他の実施形態として、情報取得方法は、直線差分の第1の組、直線差分の第2の組、直線差分の第3の組及び回転情報をフィルタリングするステップを更に有していてもよい。このフィルタリングは、換算係数による乗算、平滑化関数の適用、クリッピング関数の適用が含まれる。
【0015】
指紋画像センサは、好ましくは、指スワイプセンサである。これに代えて、指紋画像センサは、指位置センサであってもよい。
【0016】
他の実施形態においては、情報取得方法は、表示画面を有するホストプラットホームにおいて、回転情報を用いて、表示画面上でオブジェクトを回転させ、コンピュータ入力装置をエミュレートする。コンピュータ入力装置は、例えば、操作ホイール、ジョイスティック及びナビゲーションバーからなるグループから選択される。コンピュータ入力装置のエミュレートは、角度差に関連する速度で表示画面上のオブジェクトを動かすことを含む。
【0017】
本発明の第2の側面として、本発明に係る情報取得装置は、回転情報を取得する情報取得装置において、複数の位置から複数のパターン化画像を捕捉する捕捉手段と、複数のパターン化画像を相関させ、直線差分の組を生成し、直線差分の組を用いて、回転情報を生成する相関手段とを備える。
【0018】
本発明の第3の側面として、本発明に係るエミュレート方法は、パターンを用いて、回転操作子をエミュレートするエミュレート方法において、第1の向きにおいて、パターンの第1の画像を捕捉するステップと、第2の向きにおいて、パターンの第2の画像を捕捉するステップと、第1の画像と第2の画像とを相関させ、第1の向きと第2の向きとの間の直線差分を算出するステップと、直線差分を回転データに変換するステップと、回転データを用いて回転操作子の動きをエミュレートするステップとを有する。
【0019】
本発明の第4の側面として、本発明に係るエミュレート装置は、 ポジショニング装置をエミュレートするエミュレート装置において、パターンを有する画像を捕捉するセンサと、センサに接続され、パターンを有する画像の第1の位置と、パターンを有する画像の第2の位置との間の直線差分を算出し、直線差分をパターンを有する画像の回転に対応する回転データに変換するプロセッサとを備える。
【0020】
本発明の第5の側面として、本発明に係る回転感知方法は、画像センサ上のオブジェクトの回転を感知する回転感知方法において、オブジェクトの第1の画像を感知するステップと、オブジェクトの第2の画像を感知するステップと、第1の画像と第2の画像とを比較し、第1の画像及び第2の画像を含む各領域の少なくとも2つの部分において、直線的な動きがあるか否かを判定し、オブジェクトが静止しているか、直線的に動いているか、回転しているかを判定するステップとを有する。
【発明を実施するための最良の形態】
【0021】
本発明は、撮像センサによって撮像された任意のパターン化されたマテリアルの回転位置及び動きを判定するシステム及び方法を提供する。任意のパターン化されたマテリアルは、好ましくは、指であり、指の画像の回転位置及び動きを判定する。
【0022】
本発明の実施形態では、好ましくは、デジタル機器、最も好ましくは、個人的なコンピューティング装置において使用するために、指の回転情報を判定し、取得する。サイン、コサイン及びタンジェント等を算出する三角関数を必要とする非線形の従来の回転位置相関法と異なり、本発明の実施形態では、より効率的に計算できるより簡単な線形相関法を用いる。本発明の実施形態により、回転動作を判定するために用いられる成分から、直線的な動きを非常に効率的に演算することができ、これにより、直線的な動き及び回転の両方の入力を1つのセンサで検知でき、システムの複雑性を低減することができる。
【0023】
本発明の実施形態に基づくシステムは、スワイプセンサ(swipe sensor)から指紋画像を再構築し、これにより、画像を再構築するのに必要なデータと共に、回転動作データを効率的に提供する。このシステムは、特に、高精度な回転情報を必要としない用途に好適に適用される。指紋検知のための方法及びシステムは、2002年7月12日に出願された米国特許出願番号第10/194,994号、発明の名称「複数の部分的バイオメトリックフレーム走査からバイオメトリック画像を構築する方法及びシステム(Method and System for Biometric Image Assembly from Multiple Partial Biometric Frame Scans)」及び2002年3月13日に出願された米国特許出願番号第10/099,558号、発明の名称「集積されたオンチップデータバッファリングを伴う指紋バイオメトリック捕捉装置及び方法(Fingerprint Biometric Capture Device and Method with Integrated On-Chip Data Buffering)」に詳細に開示されており、これらの特許文献は、いずれも、引用により本願に援用される。好適な実施形態では、指紋センサとして、カリフォルニア州95008、キャンベル、デルアベニュー1696(1696 Dell Avenue, Campbell, California 95008)のアトルアテクノロジーズ社(Atrua Technologies, Inc.)のアトルアウィングスATW100キャパシティブスワイプセンサ(Wings ATW 100 capacitive swipe sensor)を用いる。
【0024】
本発明の特徴は、1つのフレームを他のフレームに対して回転させた後に、標準の相関処理を適用して回転を判定する従来の手法とは異なり、線形相関から回転を判定する点である。従来の手法では、これらの手法では、ピボット点(回転中心となる原点)を選択する必要があり、これに続いて、更なる演算を行う必要があった。更に、これらの演算では、直線的な動き(例えば、x方向及びy方向における回転ではない動き)を判定することはできない。これらの演算は、特に、回転及び直線的な動きの両方が必要な、例えば、それぞれ操作ホイール及びポインティング装置をエミュレートする携帯型機器で用いられると更に効率が悪い。
【0025】
従来の技術の大部分は、回転を如何に正確に計算するかを重要視し、したがって、上述したような、より精密な処理ステップを必要とする。しかしながら、そのような高い精度を必要としない多くの用途が存在し、本発明は、特にこれらの用途に好適に適用される。本発明の実施形態では、例えば、指が時計方向に回転すると、指画像の左半分が上方に動き、指画像の右半分が下方に動くように見えるという事実を利用する。これは、「ずれ(shear)」とも呼ばれる。反時計回りの動きについては、この逆が成立する。更に、いずれの場合も、図3B及び図3Cに示すように、左側は、右側に向かって動き、右側は、左側に向かって動くように見える。横向きに取り付けられる一般的な種類の指撮像センサでは、センサの高さは、幅に比べて遙かに小さく、上向き及び下向きの動きは、容易に観測及び利用できるが、センサの高さが非常に小さいため、x方向の動きの観測は、より難しい。一方、スワイプセンサを縦向きに取り付けた場合、センサの幅が小さくなるため、x方向の動きの観測は、y方向の動きの観測に比べてより容易になる。本発明は、いずれの場合にも等しく適用できる。また、本発明は、x方向及びy方向の両方の動きを容易に観測し、利用できる大型の指紋位置センサ(fingerprint placement sensor)にも同様に適用できる。
【0026】
上述した観測に基づき、本発明の実施形態では、より簡単な線形相関法を用いて、指紋画像の左側の動きが、右側の動きに対して反対の方向にある場合に、回転を判定する。例えば、左半分が上方に動き、右半分が下方に動く場合、後述する図3Dに示すように、回転は、時計回りである。センサの左端及び右端で検出された直線的な動きの量が略々等しく、向きが反対である場合、回転の中心は、センサの中心又はその近傍にある。直線的な動きの量が等しくはないが、向きが反対である場合、直線的な動きの量がより小さい側のセンサの端部に近い位置に回転の中心があることを計算によって求めることができる。すなわち、直線的な動きの量が等しくはないが、向きが反対である場合、回転の中心の位置を算出できる。また、図3Bに示すように、両方の側が同じ方向に動いている場合、全体的に直線的な動きだけが観測される。なお、本発明では、指が、回転しながらセンサ上を滑り、回転の中心がずれても、回転角を算出できる。
【0027】
このように、本発明は、指撮像センサに接触するユーザの指に関して、高解像度の回転情報を得るための、信頼でき、演算効率が高いソリューションを提供し、このようなセンサは、例えば、ゲームで用いる操作ホイールをエミュレートし、又はディスプレイ上で地図を見易くするために地図を回転させる等の操作に応用することができる。
【0028】
図1Aは、本発明の一実施の形態として、システム10を示している。システム10は、表示装置11に接続され、三角形の電子画像15を表示する指紋画像センサ20を備える。表示装置11は、パーソナルコンピュータと共に用いられるモニタであってもよく、携帯情報端末(personal digital assistant:以下、PDAという。)又はゲーム機器の画面、又は他の如何なる種類の表示装置であってもよい。また、図1Aは、指紋画像センサ25上に置かれた指30も示している。なお、指30は、指紋画像センサ25に接触する表面にパターン(指紋)を有し、指紋画像センサ25は、これらのパターンの画像を捕捉する。座標軸20は、三角形の画像15の辺21に対して角度α0を形成する。座標軸35は、指30に関連する線分36に対して、角度β0を形成する。図1Bは、指30が回転した後のシステム10を示しており、指30の回転により、座標軸35は、線分36に対して、角度β1を形成している。本発明に基づき、三角形の画像15は、回転し、これにより座標軸20は、辺21に対して、角度α1を形成する。このように、一実施の形態においては、指30を角度β1−β0(Δβ)回転させると、三角形の画像15が、角度α1−α0(Δα)回転する。
【0029】
なお、ΔαをΔβに対応付ける複数の手法がある。例えば、ΔαはΔβに等しくてもよく、ΔαはΔβの倍数であってもよく、ΔαはΔβの約数であってもよく、ΔαはΔβの倍数に何らかのオフセットを加えた値であってもよい。また、一実施の形態では、指30は、指紋画像センサ25上で、ピボット点を固定された位置に維持しなくてもよい。すなわち、指30は、指30の回転前、回転中又は回転後に、指紋画像センサ25上で水平又は垂直に移動してもよく、これにより線分36が水平、垂直又はこの両方向にずれても、角度Δβを判定することができる。また、指30の垂直及び水平の動きは、表示装置11上の三角形の画像15の垂直及び水平の移動によっても捕捉できる。また、三角形の画像15は、Δβに関連したレートで移動してもよく(レートモードと呼ぶ)、β1に関連するレートで移動してもよい。
【0030】
なお、ここでは、指紋画像センサ25を位置センサとして示しているが、本発明では、他の種類のセンサを用いてもよいことは明らかである。好ましくは、指紋画像センサ25は、以下に詳細に説明するように、スワイプセンサである。
【0031】
図2は、指の表面の物理的な隆線(ridge)及び谷線(valley)を含む典型的な指紋画像を示している。隆線及び谷線のパターン、特に、「特徴点(minutiae)」と呼ばれる隆線の端点及び分岐点は、無数の人間の間で、各個人に固有のものであることがわかっている。また、指は、例えば、毛穴、傷跡及びしわ等、この他の測定可能な表面の特徴を有することが多い。指紋が指紋画像センサ上を移動した距離、回転、方向又は速度を測定するために追跡するのは、固有の個々の特徴ではなく、特徴の総合的なパターンである。
【0032】
従来の多くの電子的な指撮像センサは、指紋の表面全体を同時に感知する。これらのセンサは、光学的又は電気的な感知法のいずれに基づいているかに関わらず、一般的な人間の指先の表面と同等の表面積(通常15mm×15mm)を有する。これらのセンサを用いる場合、ユーザは、単に、画像が捕捉されるまで、指をセンサ上に置く。位置センサとして知られるこれらのセンサは、行及び列を含み、センサの能力及びサイズに応じて、通常、250〜500行及び200〜500列に及ぶ大きな画像を捕捉することができる。このような装置は、回転入力を感知することができ、実際に、本発明において、回転情報を取得するために用いることができるが、これらの装置は、今日の更に小型化された指センサより大きい。
【0033】
今後、最も普及が見込まれる小型化されたセンサは、一方向(通常幅方向)に完全な寸法を有し、他の方向(通常高さ方向)の寸法が短縮されているセンサである。この種のセンサでは、一度に感知するのは、指紋のパターン内の小さな矩形の一部のみである。
【0034】
このようなより小型のセンサは、携帯型機器に適するという理由のみではなく、生成される画像がより小さいという理由から、本発明に好適に適用される。すなわち、より小さい画像は、データ量が少なく、演算負荷が軽減される。より大きなセンサにおいて、一部のデータを無視又はマスクし、より小さいセンサを擬似的に実現することもできるが、このような手法では、ユーザの指が対象領域に触れていることが保証されないので、理想的ではない。スワイプセンサでは、このような問題は生じない。
【0035】
本発明の実施形態は、人間の指の表面又は他のパターン化された対象を撮像できる如何なる機器からも回転位置データを取得することができ、したがって、通常、1インチあたり少なくとも250ドットの解像度を提供する位置センサ又は指紋画像スワイプセンサの使用に限定されない。また、本発明は、将来、利用可能になる解像度がより低い又はより高いセンサにも適用できる。
【0036】
図3Aは、指紋画像センサ205の左半分205A及び右半分205Bを示している。指紋画像センサ205には、識別可能な隆線部分201、202を有する指紋画像203によって特定される指が置かれる。また、図3Aは、各軸において値が増える方向を指す各軸の矢印により、x座標軸及びy座標軸を示している。図3Aは、指紋画像センサ205上の第1の向き、したがって、x座標軸及びy座標軸に関する第1の向きの指紋画像203を示している。図3Bは、垂直方向に、y−座標について、値が減少する方向に直線的に移動した後の指紋画像を示している。図3Cは、指紋画像センサ205上で逆時計回りに回転した後の指紋画像203を示している。図3Bに対し、図3Cの指紋画像203の向きでは、左半分205Aにおける識別可能な部分201、202のy座標の値が共に減少し、右半分205Bにおける識別可能な部分201、202のy座標の値が共に増加していることがわかる。図3Dは、指紋画像センサ205上で時計回りに回転した後の指紋画像203を示している。図3Cに対し、図3Dの指紋画像203の向きでは、左半分205Aにおける識別可能な部分201、202のy座標の値が共に増加し、右半分205Bにおける識別可能な部分201、202のy座標の値が共に減少していることがわかる。
【0037】
図4は、本発明の好適な実施形態に基づき、回転又は位置を判定するアルゴリズム210のフローチャートである。ステップ211において処理を開始し、ホスト(図示せず)上で実行されるオペレーティングシステム又はアプリケーションが、ユーザに対し、入力を促す。次に、ステップ212において、本発明に基づく指紋画像センサ(図示せず)を初期化し、データを読み出す準備が完了する。このステップ212は、センサの電源をオンにし、指紋画像の捕捉の準備を確実にする処理を含む。また、ステップ212は、コントラスト及び明度レベルを設定し、センサを所望のデータ取得モードに設定し、センサを較正し、又はセンサを初期化する処理を含む。なお、センサが既に初期化されている場合、ステップ212は、不要である。
【0038】
次に、ステップ213において、センサを用いて、センサによって又はハードウェアプラットホームの演算機能力及び帯域幅によってサポートされたレートで、フレームを読み出す。ステップ215において、フレームの特性を推定し、そのフレームが有効であるか否かを判定する。次に、ステップ220において、フレームのメトリックを解析し、フレームが有効であるか否かを判定する。フレームが有効である場合、フレームを維持し、処理はステップ225に進み、この他の場合、フレームは無視して、処理はステップ255に進む。後に詳細に説明するように、好適な実施形態では、例えば、フレーム内の画素データの平均値及び分散等、画像の統計的情報を測定することによって、フレームの有効性を判定する。フレームの有効性は、指がセンサに存在しているか否かに直接関連する。なお、効率を犠牲にしてもよい場合、又は指がセンサに触れているときのみセンサがフレームを生成する場合には、ステップ215を省略してもよい。
【0039】
ステップ225において、現在のフレーム(例えば、最も最近に読み出され、現在処理中のフレーム)を、最後に保存された有効なフレームと相関させる。繰返しの最初の段階では、「最後の有効なフレーム」が存在しないので、現在のフレームを最後の有効なフレームにコピーする。好適な実施形態においては、フレームを左半分及び右半分に分割する。但し、フレームを幾つの部分にどのように分割してもよいことは明らかである。次に、ステップ230において、フレームの左半分の直線的な動き及びフレームの右半分の直線的な動きの両方を算出する。次に、ステップ235において、フレームの左半分の直線的な動き及びフレームの右半分の直線的な動きを用いて、フレームの総合的な直線的な動きを算出する。この演算については、後に詳細に説明する。ステップ240において、ステップ235の演算結果を用いて、指紋画像の回転を算出する。
【0040】
次に、ステップ245において、処理は、指紋画像に関して、直線方向又は回転方向の動きがあったか否かを判定する。動きがあった場合、処理はステップ250に進み、この他の場合、処理はステップ255に進む。ステップ250において、最後の有効なフレームを更新し、ステップ251において、最後の有効なフレームを保存する。そして、処理は、ステップ225に進む。
【0041】
ステップ255において、処理は、更なるフレームが取得されるか否かを判定する。更なるフレームが取得される場合、処理は、ステップ260に進み、カウンタをインクリメントした後、ステップ213に進む。更なるフレームが取得されない場合、処理はステップ265に進み、ここで終了する。
【0042】
上述したように、現在のフレームの画素は、最後の有効なフレームの画素に相関され、これにより、回転又は直線的な動きの量を判定する。ステップ235において、総合的な直線的な動きを算出すると、この動きに対応するデータは、ダウンストリーム側でこのデータを必要とするあらゆる処理に供給される。例えば、プログラム(例えば、アプリケーションプログラム、デバイスドライバ又はオペレーティングシステム)は、対応するデータを用いて、表示画面上のポインタを直線的に移動させることができる。また、ステップ240において、回転を算出すると、この動きに対応するデータは、ダウンストリーム側でこのデータを必要とするあらゆる処理に供給される。例えば、プログラムは、対応するデータを用いて、表示画面上で画像を回転させることができる。動きがあったと判定すると、最後の有効なフレームを現在のフレームに置換し、アルゴリズムは、センサから新たな画像がデータを取得することによって継続される。
【0043】
好適な実施形態では、システムは、リアルタイムで処理を繰り返す。これに代えて、システムは、メモリバッファ内に全てのフレームを保存し、複数のフレームをセンサから取得した後に動きを算出してもよい。好ましくは、アプリケーション又はオペレーティングシステムのいずれかが繰返しを終了するよう指示したとき、繰返しが終了する。システムがオペレーティングシステムのポインティング装置として用いられる場合、無期限に処理を継続してもよい。
【0044】
アルゴリズムは、例えば、機器の電源が投入され、又はゲームが開始される等、回転フィードバックが必要になると、開始される。回転情報が必要でなくなると、アルゴリズムは終了する。
【0045】
好適な実施形態においては、システムは、図5Aに示すスワイプセンサ310に接続されたコンピューティング装置上で実行される。スワイプセンサ310は、x方向及びy方向に関して水平に取り付けられ、これにより図6に示すような画像フレームが捕捉される。x軸は、スワイプセンサ310の長手方向に沿い、y軸は、x軸に垂直である。なお、スワイプセンサ310は、如何なる向きで取り付けてもよい。説明に一貫性を持たせるために、x軸に沿うセンサの方向を常にセンサの長さと呼ぶことにする。図5Bは、本発明に基づくスワイプセンサ315の第2の向きを示している。スワイプセンサ315は、x方向及びy方向に関して垂直に取り付けられている。好適な実施形態では、指紋センサ(例えば、スワイプセンサ310又はスワイプセンサ315)は、要求に応じて、プログラムに単一のデータのフレームを提供する。後述するように、単一のフレームは、任意の数のより小さいサブフレームに論理的に分割できる。また、本発明においては、1つの要求に対して2つ以上のフレームを提供できるセンサを用いてもよい。また、本発明に基づく指紋センサは、図5A、図5Bに示す向き以外の向きで取り付けてもよい。
【0046】
スワイプセンサは、通常、センサの能力、用いられるインタフェース及びホストパーソナルコンピュータの速度に応じて、1秒間に250〜3000個(フレームレート)のフレームを提供する。
【0047】
図6は、本発明に基づく指紋画像センサによって捕捉された画像データ400を示している。画像データ400は、N行M列のピクチャ要素又は画素を含み、各画素は、通常、1バイト(8ビット)のデータによって表現される。Mは、任意の正の値(解像度に応じて、通常100〜300)であり、Nは、少なくとも2である(フレームにおける通常の行数は、8〜32である)。好ましくは、N=8及びM=192である。画素値は、グレーレベルを示し、これにより、画像フレームは、コンピュータモニタ上に表示されると指紋画像に類似する画像を示す。通常この値は、0〜255の範囲であり、0は、黒を表し、指紋の隆線に対応し、255は、白を表し、谷線に対応する。なお、データの範囲及びデータの表示は、この他のものを用いても、本発明の性質に影響しない。
【0048】
変形例として、例えば、光学ドキュメントスキャナ等の他の同様の種類のセンサを、殆ど変更を加えずに用いてもよい。一実施の形態においては、本発明に基づくシステムは、ソフトウェアではなく、専用のハードウェア又はファームウェアによって実行してもよい。他の実施形態においては、汎用CPU上でアルゴリズムを実行し、他の部分をハードウェアのみで実現してもよい。
【0049】
図7は、図3のアルゴリズム210における幾つかの繰返しで用いる現在のフレーム及び最後の有効なフレームを示している。列401に示す繰返し1は、最後の有効なフレーム405及び現在のフレーム410を示している。フレーム405の行は、フレーム410に対応していないので、如何なる認識可能な動きも特定できない。列402に示す繰返し2は、最後の有効なフレーム410及び現在のフレーム415を示している。最後の有効なフレーム410は、前の繰返しである繰返し1の現在のフレームに対応している。フレーム410の行0(矢印によって示されている。)は、フレーム415の行1(矢印によって示されている。)に対応している。このため、y方向の直線的な動きが検出される。列403に示す繰返し3は、最後の有効なフレーム415及び現在のフレーム420を示している。フレーム415は、フレーム420と同じであるので、動きがないこと(例えば、指紋画像センサ上で指が動いていないこと)が認識される。この具体例では、最後の有効なフレームを更新する必要はない。列404に示す繰返し4は、最後の有効なフレーム420及び現在のフレーム425を示している。最後の有効なフレーム420は、繰返し3の現在のフレームに対応している。フレーム420の行1(直線の矢印によって示されている。)は、フレーム425の行2(直線の矢印によって示されている。)に対応している。この行の垂直移動(すなわち、指が行1から行2に移動することによる指紋パターンの画像の追跡)は、指紋画像センサ上で指が下方向に動いたことを示し、これをy方向における正の動きと呼ぶ。更に、フレーム420の列2(波線の矢印によって示されている。)は、フレーム425の列1(波線の矢印によって示されている。)に対応する。この列の水平移動(すなわち、指が列2から列1に移動することによる指紋パターンの画像の追跡)は、指紋画像センサ上で指が左方向に動いたことを示し、これをx方向における負の動きと呼ぶ。この具体例では、y方向における正の動きと、x方向における負の動きが検出されるので、指紋画像が時計回りに回転したことが認識される。
【0050】
なお、x方向及びy方向における特定の方向に割り当てられる符号(正又は負)は、説明のために任意に選択したに過ぎない。この符号を逆にしてもよい。
【0051】
以下、図4のアルゴリズム210を更に詳細に説明する。上述したように、アルゴリズム200は、データの新たなフレームを要求し(ステップ210)、この目的のためにバッファに保存されている先の画像フレームに新たなフレームを相関させる(ステップ225)処理を繰り返す。アルゴリズム210のi番目の繰返しにおいて、センサ装置(例えば、指紋画像センサ)は、1つのデータのフレームを要求する。一旦、フレームを取得すると、このフレームが有効であるか否かを判定するために、フレームを解析する。フレームが有効であると判定された場合、フレームは、後の使用のためにローカルメモリに保存され、フレームが有効ではないと判定された場合、フレームは、単に無視される。
【0052】
好適な実施形態においては、フレームが少なくとも何らかの指紋画像情報を含むことを確認することによってフレームの有効性を判定する。例えば、フレームを取得した際、機器上に指が置かれていなければ、フレームは、恐らく、雑音又は空白の画像のみを含むこととなる。この判定は、フレーム内の画像の統計的情報、すなわち、平均値及び分散の測定に基づく規則を用いて行うことができる。幾つかのセンサは、指の存在に関する情報を提供し、システムは、この情報が入手可能であれば、それ自体を用いてもよく、この情報を上述した統計的情報と共に利用してもよい。
【0053】
数学的には、n番目の行とm番目の列の画素をframe[n,m]とすると、以下の式が成り立つ。
【0054】
【数1】
【0055】
効率を高めるために、メトリック(ステップ215で算出される)は、(フレーム全体ではなく)フレームの一部のみを用いて算出してもよく、この一部は、任意の画像の部分であってもよく、又は演算によって、画素をp個おきにスキップすることによって得てもよい。
以下の場合、フレームは、雑音であるとみなし、無視する。
Φ≧Noise_average_threshold_high
又は
Φ≦Noise_average_threshold_low
又は
Ψ≦Variance_average_threshold
換言すれば、平均が所定のレベル(例えば、閾値)を上回り又は下回る場合、又は分散が期待される通常の指より小さい場合、用いられるセンサに応じて、指が機器上に置かれていないと判定する。好適な実施形態では、これらの閾値の一般的な値を以下の通りとする。
Noise_average_threshold_high=240
Noise_average_threshold_low=30
Variance_average_threshold=10
なお、アルゴリズムを所望の性能に調整するために、他の値を用いてもよく、また、上述した統計的情報のより複雑な組合せを用いてフレームの有効性を判定してもよい。もちろん、他の基準を単独で用いてもよく、上述した基準と組み合わせて用いてもよい。
【0056】
一旦、現在のフレームが有効であると判定されると、この現在のフレームを(ステップ251で保存した)最後の有効なフレームと相関させ、指の動きがあった場合、指の動きを判定する。指の動きがあったと判定されると、最後の有効なフレーム(ステップ251)を現在のフレームに置換し、アルゴリズムは、センサから新たなフレームを取得することによって処理を続ける。
【0057】
本発明においては、新たなフレーム(「cF」)をメモリに保存されている前のフレーム(「oF」)と相関させる。相関処理は、当業者にとって周知の処理であるが、ここでは、本発明を明瞭するために、この処理について詳細に説明する。
【0058】
最後の有効なフレームの行Rと、現在のフレームの行Sとの標準の相互相関SCCは、数学的に以下のように表現される。
【0059】
【数2】
【0060】
ここで、dは、「ラグ」又は「オフセット」と呼ばれる。ラグは、1つのフレームのデータの他のデータに対する水平運動に関連し、速度とみなすこともできる。通常ラグは、−L≦d≦+Lであり、ここで、Lは、Mより遙かに小さい値である。式を明確に保つために、本明細書における全ての式においては、d≧0である仮定している。但し、oF及びcFにおける列のインデックスを以下に示すように置き換えることによって、負のラグ値を処理できる。
【0061】
【数3】
【0062】
ここで、|d|は、dの絶対値である。
【0063】
この置き換えは、本明細書に示す全ての相関式について有効であり、SCCだけではなく、後述する正規化された相互相関(normalized cross-correlation:以下、NCCという。)についても成立する。
【0064】
標準の相関処理を用いてもよいが、好適な実施形態では、標準の相関処理を僅かに変更し、指紋画像再構築等の画像位置合わせタスクにより適する、以下の式2によって定義される正規化された相互相関NCCと呼ぶ処理を用いる。NCCは、標準の相関処理とは異なり、画像の強度の変化に対して不変であり、演算で用いる画素数から独立した範囲を有し、画像フレームの局所的な特性への依存度が低いため、より正確である。
【0065】
【数4】
【0066】
ここで、
【0067】
【数5】
【0068】
は、列d+lから列M−に亘る行Rに沿った合計値であり、
【0069】
【数6】
【0070】
は、列1から列M−2dに亘る行Sに沿った合計値である。
【0071】
上の式は、各フレームの行に関するものであるが、より一般的には、各フレームの「パッチ」に関するものとみなすことができ、ここで、パッチとは、行の何らかの下位集合又は上位集合である。相関すべき各フレームのパッチは、画素の如何なる組であってもよいが、好適な実施形態では、各フレームの中央を中心に置いたパッチを用いる。ここでは如何なる行又は行のサブセットも用いてもよいが、パッチが小さすぎると、相互相関値の統計的有意性が損なわれる。
【0072】
現在のフレームの情報の最後のフレームの情報に対するラグ又はオフセットは、x方向における未知の動き量に対応しているため、NCC全体(R、S、d)は、多くの場合、最適に対応する値を見つけるために、dの複数の値について演算を行う必要がある。
【0073】
したがって、一実施の形態においては、以下の式が成り立つ。
d=−L〜d=Lについて、
PeakNCCwhole(R,S,L)=MAX{NCC_whole(R,S,d)}[式3]
dpeakwhole(R,S,L)=上の式が成り立つdの値。
【0074】
好適な実施形態では、L=8であるが、Lは、x方向におけるフレーム間の最高の速度と同じ大きさになるように選択する必要がある。Lが小さい方が演算は効率的であるが、Lを小さくしすぎると、フレーム間で、指が±Lより大きく移動した場合、結果が不正確になる。変形例として、Lは、最後の繰返しi−1からのdpeakwholeの関数としてもよい。
【0075】
例えば、以下のようにしてもよい。
L(繰返しiにおける)=dpeakwhole(繰返しi−1における)+e
ここで、eは、通常1又は2である。
【0076】
他の実施形態においては、Lは、フレームの行数(すなわち、R及び/又はS)の関数であってもよい。また、浮動小数点演算を回避するためにNCC式の換算されたバージョンを用いてもよく、また、演算負荷が高い平方根演算を避けるために、二乗NCCを用いてもよい。
【0077】
PeakNCCwholeは、最適の相関係数に対応し、dpeakwholeは、x方向における動きの量に対応している。次に、y方向における動きの量を算出する手法を説明する。
【0078】
【数7】
【0079】
NCCを算出するこの式2は、最後のフレームoF及び現在のフレームcFについて、以下のように書き換えることができる。
【0080】
【数8】
【0081】
分子及び分母に(M−2d)2を乗算することにより、演算が簡単になり、理解が容易になる。
【0082】
これは、以下のように、行の左半分及び右半分に分離することができる。
NCC_whole(R,S,d)=(A−B)/(C1/2×D)[式4]
ここで、Aは、以下のように表される。
【0083】
【数9】
【0084】
Bは、以下のように表される。
【0085】
【数10】
【0086】
Cは、以下のように表される。
【0087】
【数11】
【0088】
Dは、以下のように表される。
【0089】
【数12】
【0090】
ここで、
【0091】
【数13】
【0092】
は、列M/2+1から列M/dに亘る行Rに沿った合計値である。
【0093】
【数14】
【0094】
は、列d+1から列M/2に亘る行Rに沿った合計値である。
【0095】
【数15】
【0096】
は、列M/2−d+1から列M−2dに亘る行Rに沿った合計値である。
【0097】
【数16】
【0098】
は、列1から列M/2−dに亘る行Sに沿った合計値である。
【0099】
更に、各行の左半分及び右半分のNCCは、以下の式を用いて算出することができる。
【0100】
【数17】
【0101】
【数18】
【0102】
更に、左半分及び右半分のPeakNCCは、以下のようにして求められる。
d=−L〜d=Lについて、
PeakNCCleft(R,S,L)=MAX{NCC_left(R,S,d)}[式6a]
dpeakleft(R,S,L)=上の式が成り立つdの値。
d=−L〜d=Lについて、
PeakNCCright(R,S,L)=MAX{NCC_right(R,S,d)}[式6b]
dpeakright(R,S,L)=上の式が成り立つdの値。
【0103】
これらの式により、センサアレーの左右の側を個別に処理し、後述するように、回転を効率的に判定することができる。
【0104】
式5a及び式5bにより、左右の側について、全てのNCC項を算出すれば、式4に基づき、後は幾つかの加算及び除算だけでセンサアレー全体についてNCCを算出することができる。そして、上述のように、式3を用いて、総合的な直線的な動きを算出でき、回転は、センサアレーの左右の側の直線的な動きに基づいて算出される。
【0105】
上で定義した式3に基づくPeakNCC(R、S、L)を用いて、又は式6a及び式6bに基づき、x方向及びy方向の正確な動きを簡単に算出することができる。繰返しiの最後の有効なフレームは、図4に示すように、1〜Nの番号が付された行を含み、Nは、センサから供給される行の数である。処理される現在のフレームは、同様に1〜Nの番号が付された行を有する。
【0106】
最後のフレームの所定の行Rについて、現在のフレームの行1〜Nに関して、PeakNCC及びdを式3、式6a及び式6bに基づいて算出し、最大のPeakNCCに対応するdpeakを選択する。好ましくは、R:R=1及びR=Nの2つの値についてこの選択を行う。これにより、ユーザが指を移動させる速度を最大にしながら、y方向における上向きの動き及び下向きの動きを判定できる。また、R=N/2(略々中央の行)において、1つRだけを選択してもよい。但し、この処理は、次善策である。また、例えば、R=2及びR=N−1等、1又はN以外の値を選択してもよく、これらの値は、センサアレーの端にないため、精度に関する理由から有利な場合がある。
【0107】
表1は、任意のRの値について、単一のフレームの繰返しを実行する擬似コードを示している。演算は、左側、右側及び全体の行について個別に実行するが、表1の擬似コードでは、包括的な演算のみを示している。
【0108】
【表1】
【0109】
表1の擬似コードは、以下のように要約することができる。
MaxPeakNCC=NCC_whole(bestR,bestS,dpeak(bestR,bestS,L))[式6c]
dpeakMax=dpeak(bestR,bests,L)[式6d]
この演算により、以下の情報が得られる。
【0110】
1.MaxPeakNCC:現在のフレーム及び最後のフレームにおいて一致する行の最良の対の相関値
2.bestR:MaxPeakNCCをもたらす最後のフレームの行
3.bestS:bestSMaxPeakNCCをもたらす現在のフレームの行
4.dpeakMax:MaxPeakNCCに達する相関ラグ
bestR及びbestSは、最も高い相関値(MaxPeakNCC)をもたらす行の対である。
【0111】
通常、MaxPeakNCCは、1.0に近い値(1.0に近いほど、相関がより強い)になるが、分析されている指の移動速度が速すぎる場合、現在のフレームが最後のフレームと共通の行を有さない場合(すなわち、非重複ケース)もある。したがって、MaxPeakNCCは、十分大きくする必要がある。
【0112】
上述した情報を用いて、以下の演算を行う。
【0113】
1.Δx(i)=dpeakMax
これは、繰返しiにおけるx方向における動き速度である。
【0114】
2.Δy(i)=bestS−bestR
これは、繰返しiにおけるy方向における動きの速度である。
【0115】
この他の場合、
3.Δx(i)=0
4.Δy(i)=0
ここで、corr_thresholdを用いて、完全なオーバーラップを示す相関が十分高いことを確実にする。好ましくは、corr_threshold=0.75であるが、アルゴリズムの性能を調整するために他の値を用いてもよい。相関が閾値を下回る場合、x方向及びy方向における速度の実際の値を判定することはできず、したがって、アルゴリズムは、動きベクトルを出力しない。なお、変形例として、初期値として他の値を出力してもよく、例えば、N行及びM列の最大の動き又はこれらの組合せを出力してもよい。
【0116】
いずれの場合も、現在の繰返しiに関して、Δxleft(i)、Δyleft(i);Δxright(i)、Δyright(i);Δxwhole(i)、Δywhole(i)によってそれぞれ示される左側、右側及び全体の行について、x方向及びy方向における動きを算出した後に、回転Δtheta(i)を判定できる。Δxwhole(i)及びΔyWhole(i)は、回転情報を必要とするホストに供給され、全体的なx方向及びy方向における直線的な動きを表す。
【0117】
表2は、回転を判定するための擬似コードを示している。擬似コードは、回転データを用いるアプリケーションプログラム又はオペレーティングシステムによる終了の指示があるまで繰り返し継続される。
【0118】
【表2】
【0119】
なお、回転の大きさを算出するために、Δyleft(i)及びΔyright(i)の任意の関数を含む代替の手法がある。x方向及びy方向を逆にして取り付けられたセンサでは、表2の擬似コードにおいて、Δxleft(i)及びΔxright(i)を用いる。フルサイズの位置センサでは、Δxleft(i)、Δyleft(i)及びΔxright(i)、Δyright(i)の両方の軸を用いることによって、更に高い精度を実現できる。一実施の形態においては、これは、表2の擬似コードを用いて、Δx値及び再びΔy値に基づいてΔtheta(i)を算出することによって実現される。これにより得られる2つの推定値を共に平均し、又はこの他の手法で結合し、最終的なΔtheta(i)を生成する。このΔtheta(i)は、ホストアプリケーション及び/又はオペレーティングシステムに供給される。
【0120】
他の実施形態では、正規化された相互相関の代わりに標準の相関を用いる。例えば、正規化された相互相関の代わりに式1に示す標準の相互相関を用いることができる。式1を各行の左右の側に対応する項に分割することは容易である。
【0121】
【数19】
【0122】
この場合、好適な実施形態におけるNCCより遙かに簡単であり、全体の行のSCC値は、単に、それぞれの半分の相関値の合計である。
【0123】
また、フレームの行S及び最後の有効なフレームの行Rの間の最大の標準の相互相関を他の表現で表すこともできる。例えば、重み付け又は投票スキーム(voting schemes)を用いることができる。一実施の形態においては、以下の式を用いる。
d=−L〜d=Lについて、
PeakSCCwhole(R,S,L)=WeightedMAX{SCC_Whole(R,S,d)}[式8]
WeightedMAXは、値を生成する前に、要素に所定の複数の重みを割り当てる関数であり、dpeakwhole(R,S,L)は、式8を成り立たせるdの値であり、Lは、最後の有効なフレームから現在のフレームへの水平方向の動きの最高速度に略々等しい値である。
【0124】
好適な実施形態では、各行を等しい長さの左右の側に分割するが、変形例として、各行をどのように分割してもよく、例えば、二等分ではなく、三等分してもよく、或いは、分割される各部分の長さが異なるように分割してもよい。また、分割される各部分は、必ずしも隣接していなくてもよい。図8〜図12は、これらの可能性の幾つかの具体例を示しており、各具体例は、それぞれの利点を有する。
【0125】
例えば、図8は、左半分(サブフレーム)605及び隣接する右半分610を有する指紋センサを示している。図9は、第1のセクション(サブフレーム)615、第2のセクション620、第3のセクション625、第4のセクション630を有する指紋センサを示している。セクション615は、セクション620に隣接しており、セクション620は、セクション625に隣接しており、セクション625は、セクション630に隣接している。図10は、隣接しない2つのセクション631、632を有する指紋画像センサを示している。図11は、いずれも隣接しない4つのセクション635、640、645、650を有する指紋画像センサを示している。図12は、セクション655及びこれに隣接するセクション660と、セクション665及びこれに隣接するセクション670を有する指紋画像センサを示している。なお、それぞれが好ましくは、2つ以上の単一の分割部分を有する他の構成も可能であり、線形相関を用いて回転を判定してもよい。セクションの数及び構成は、製造原価、指紋画像センサの表面積、計算アルゴリズム、プロセッサ構成、必要な速度及び他の基準に基づいて選択できる。
【0126】
他の実施形態として、Δxwhole(i)、Δywhole(i)及びΔtheta(i)のそのままの値をホストに供給する前に、値を変更してもよい。これらの種類の変更は、包括的にフィルタリングと呼ばれる以下に示す3つの異なる数学的変換を含み、以下では、変更された出力に「’」を付す。
【0127】
1.換算:元の動き値に線形又は非線型換算係数を乗算し、ホストが表示する座標系により適切な換算されたバージョンを得る。具体例として、全ての値に2を乗算してもよい。他の具体例として、x方向における動きに2を乗算し、y方向における動きに0.5を乗算してもよい。
【0128】
2.平滑化:連続した動き値に平滑化(ローパス)フィルタを適用し、時間実に対して値を平滑化する。具体例は以下の通りである。
線形平均=Δx’whole(i)=[Δxwhole(i)+Δxwhole(i−1)+Δxwhole(i−2)]/3
指数平均=Δtheta’(i)=[Δtheta’(i−1)+Δtheta(i)]/2
3.クリッピング:動きの値を任意の値に制限する。具体例は以下の通りである。
Δy(i)>Tの場合、
Δy’(i)=T。
この他の場合、
Δy’(i)=Ay(i)。
【0129】
本発明では、これらの処理を様々に組み合わせて行ってもよい。ここで、「フィルタリング」とは、よく定義された手法で入力を処理し、出力を生成する機能を意味する。
【0130】
相関処理は、演算負荷が大きいことは当業者にとって明らかである。したがって、一実施の形態では、左側、右側及び全体のアレーについてのΔtheta(i)及び/又はΔx(i)、Δy(i)の算出は、独立したプロセッサ又は専用ハードウェアで実行する。この実施形態では、ハードウェアをシリコン指紋センサ自体に組み込んでもよい。相関処理を実行するハードウェアは、現在のフレーム及び最後の有効なフレームにアクセスしなくてはならず、これらのフレームはいずれも装置のメモリ内に保存できる。例えば、このようなメモリを指紋画像センサに組み込むことにより、装置は、(装置自体が生成した)現在のフレームにアクセスすることができ、最後の有効なフレームを揮発性メモリレジスタに保存することができる。このような場合、装置は、好適な実施形態において上述した手法を用いて、フレームが有効であるか否かを判定する必要がある。このような実施形態では、ホストコンピューティング装置は、不要である。また、指紋画像は、全体のアレーに関するΔx(i)及びΔy(i)のみから再構築されるため、このようなハードウェア実現例を用いて、指紋画像を再構築することができることは明らかである。
【0131】
添付の特許請求の範囲によって定義される本発明の精神及び範囲から逸脱することなく、上述した実施形態を様々に変更できることは、当業者にとって明らかである。
【図面の簡単な説明】
【0132】
【図1A】本発明に基づき、指紋画像センサ上で指を回転させることによって、電子画像がどう回転するかを説明する図である。
【図1B】本発明に基づき、指紋画像センサ上で指を回転させることによって、電子画像がどう回転するかを説明する図である。
【図2】隆線を黒で示し、谷線を白で示し、及び分岐点及び隆線の端点を示す指紋画像の図である。
【図3A】本発明に基づき、指が置かれた指紋センサの指紋画像の部分を含む左右のセクションを示すとともに、直線的に動き及び回転する指紋画像を説明する図である。
【図3B】本発明に基づき、指が置かれた指紋センサの指紋画像の部分を含む左右のセクションを示すとともに、直線的に動き及び回転する指紋画像を説明する図である。
【図3C】本発明に基づき、指が置かれた指紋センサの指紋画像の部分を含む左右のセクションを示すとともに、直線的に動き及び回転する指紋画像を説明する図である。
【図3D】本発明に基づき、指が置かれた指紋センサの指紋画像の部分を含む左右のセクションを示すとともに、直線的に動き及び回転する指紋画像を説明する図である。
【図4】本発明に基づくフレーム取得及び画像相関処理のフローチャートである。
【図5A】水平な向きの指紋画像センサを示す図である。
【図5B】垂直な向きの指紋画像センサを示す図である。
【図6】指紋センサからのフレーム(スライス)からの画素データを示す図である。
【図7】本発明に基づく再構築処理の異なる繰返しにおける指紋センサからの画素データを示す図である。
【図8】本発明に基づくフレームの異なる分割構成例を示す図である。
【図9】本発明に基づくフレームの異なる分割構成例を示す図である。
【図10】本発明に基づくフレームの異なる分割構成例を示す図である。
【図11】本発明に基づくフレームの異なる分割構成例を示す図である。
【図12】本発明に基づくフレームの異なる分割構成例を示す図である。
【特許請求の範囲】
【請求項1】
回転情報を取得する情報取得方法において、
a.複数の位置から複数のパターン化画像を捕捉するステップと、
b.上記複数のパターン化画像を相関させ、直線差分の組を生成するステップと、
c.上記直線差分の組を用いて、回転情報を生成するステップとを有する情報取得方法。
【請求項2】
上記複数の位置は、センサの第1の部分及びセンサの第2の部分を含むことを特徴とする請求項1記載の情報取得方法。
【請求項3】
上記センサの第1の部分では、第1の複数のパターン化画像が捕捉され、上記センサの第2の部分では、第2の複数のパターン化画像が捕捉されることを特徴とする請求項2記載の情報取得方法。
【請求項4】
上記センサは、バイオメトリック画像センサであることを特徴とする請求項3記載の情報取得方法。
【請求項5】
上記バイオメトリック画像センサは、指紋画像センサであることを特徴とする請求項4記載の情報取得方法。
【請求項6】
上記第1の複数のパターン化画像及び上記第2の複数のパターン化画像は、共に、上記センサの第1の位置の指紋画像に対応することを特徴とする請求項5記載の情報取得方法。
【請求項7】
上記センサの第1の部分では、第3の複数のパターン化画像が捕捉され、上記センサの第2の部分では、第4の複数のパターン化画像が捕捉されることを特徴とする請求項6記載の情報取得方法。
【請求項8】
上記第3の複数のパターン化画像及び上記第4の複数のパターン化画像は、共に、上記センサの第2の位置の指紋画像に対応することを特徴とする請求項7記載の情報取得方法。
【請求項9】
上記回転情報は、上記第1の位置及び上記第2の位置の間の角度差に対応していることを特徴とする請求項8記載の情報取得方法。
【請求項10】
上記複数のパターン化画像を相関させるステップは、
a.上記第1の複数のパターン化画像を上記第3の複数のパターン化画像に相関させ、上記直線差分の組から直線差分の第1の組を生成するステップと、
b.上記第2の複数のパターン化画像を上記第4の複数のパターン化画像に相関させ、上記直線差分の組から直線差分の第2の組を生成するステップと、
c.上記第1の複数のパターン化画像及び第2の複数のパターン化画像の第1の組合せを上記第3の複数のパターン化画像及び第4の複数のパターン化画像の第2の組合せに相関させ、上記直線差分の組から直線差分の第3の組を生成するステップとを有することを特徴とする請求項9記載の情報取得方法。
【請求項11】
上記第1の複数のパターン化画像と上記第3の複数のパターン化画像との相関、上記第2の複数のパターン化画像と上記第4の複数のパターン化画像との相関、及び上記第1の組合せと上記第2の組合せとの相関は、全て、相互相関の実行を含むことを特徴とする請求項10記載の情報取得方法。
【請求項12】
上記相互相関は、正規化された相互相関であることを特徴とする請求項11記載の情報取得方法。
【請求項13】
上記相互相関は、標準の相互相関であることを特徴とする請求項11記載の情報取得方法。
【請求項14】
上記センサの第1の部分及び上記センサの第2の部分は、隣接していることを特徴とする請求項2記載の情報取得方法。
【請求項15】
上記センサの第1の部分及び上記センサの第2の部分は、隣接していないことを特徴とする請求項2記載の情報取得方法。
【請求項16】
上記センサの第1の部分は、第1のサブフレームの画素を含み、上記センサの第2の部分は、第2のサブフレームの画素を含むことを特徴とする請求項11記載の情報取得方法。
【請求項17】
上記第1の複数のパターン化画像を捕捉するステップは、上記第1の複数のパターン化画像に対応する第1のデータを上記第1のサブフレームに保存するステップを含み、
上記第2の複数のパターン化画像を捕捉するステップは、上記第2の複数のパターン化画像に対応する第2のデータを上記第2のサブフレームに保存するステップを含み、
上記第3の複数のパターン化画像を捕捉するステップは、上記第3の複数のパターン化画像に対応する第3のデータを上記第1のサブフレームに保存するステップを含み、
上記第4の複数のパターン化画像を捕捉するステップは、上記第4の複数のパターン化画像に対応する第4のデータを上記第2のサブフレームに保存するステップを含むことを特徴とする請求項16記載の情報取得方法。
【請求項18】
上記第1の複数のパターン化画像を上記第3の複数のパターン化画像に相関させるステップは、上記第1のデータを上記第3のデータに相関させ、上記直線差分の第1の組から第1及び第2の直線差分を生成するステップを含むことを特徴とする請求項17記載の情報取得方法。
【請求項19】
上記第2の複数のパターン化画像を上記第4の複数のパターン化画像に相関させるステップは、上記第2のデータを上記第4のデータに相関させ、上記直線差分の第2の組から第1及び第2の直線差分を生成するステップを含むことを特徴とする請求項18記載の情報取得方法。
【請求項20】
上記第1の組合せを上記第2の組合せに相関させるステップは、上記第1のデータ及び上記第2のデータの組合せを上記第3のデータ及び上記第4のデータの組合せに相関させ、上記直線差分の第3の組から、第1及び第2の直線差分を生成するステップを含むことを特徴とする請求項19記載の情報取得方法。
【請求項21】
上記相関は、上記第1及び第2のサブフレームの1つの要素を相関させるラグを判定し、該ラグ及び上記要素の間の差分は、上記直線差分の組の1つの第1及び第2の直線差分に対応することを特徴とする請求項20記載の情報取得方法。
【請求項22】
上記各要素は、上記第1及び第2のサブフレームの1つの行に対応していることを特徴とする請求項21記載の情報取得方法。
【請求項23】
上記各要素は、上記第1及び第2のサブフレームの1つの列に対応していることを特徴とする請求項21記載の情報取得方法。
【請求項24】
直線差分の第1の組、直線差分の第2の組、直線差分の第3の組及び回転情報をフィルタリングするステップを更に有する請求項11記載の情報取得方法。
【請求項25】
上記フィルタリングは、換算係数の乗算を含むことを特徴とする請求項24記載の情報取得方法。
【請求項26】
上記フィルタリングは、平滑化関数の適用を含むことを特徴とする請求項25記載の情報取得方法。
【請求項27】
上記フィルタリングは、クリッピング関数の適用を含むことを特徴とする請求項26記載の情報取得方法。
【請求項28】
上記指紋画像センサは、指位置センサであることを特徴とする請求項10記載の情報取得方法。
【請求項29】
上記指紋画像センサは、指スワイプセンサであることを特徴とする請求項10記載の情報取得方法。
【請求項30】
表示画面を有するホストプラットホームにおいて、上記回転情報を用いて、該表示画面上でオブジェクトを回転させ、コンピュータ入力装置をエミュレートすることを特徴とする請求項9記載の情報取得方法。
【請求項31】
上記コンピュータ入力装置は、操作ホイール、ジョイスティック及びナビゲーションバーからなるグループから選択されることを特徴とする請求項30記載の情報取得方法。
【請求項32】
上記コンピュータ入力装置のエミュレートは、上記角度差に関連する速度で上記表示画面上のオブジェクトを動かすことを含むことを特徴とする請求項30記載の情報取得方法。
【請求項33】
回転情報を取得する情報取得装置において、
a.複数の位置から複数のパターン化画像を捕捉する捕捉手段と、
b.上記複数のパターン化画像を相関させ、直線差分の組を生成し、該直線差分の組を用いて、回転情報を生成する相関手段とを備える情報取得装置。
【請求項34】
上記捕捉手段は、第1の部分及び第2の部分を有するセンサを備えることを特徴とする請求項33記載の情報取得装置。
【請求項35】
上記センサは、バイオメトリック画像センサであることを特徴とする請求項34記載の情報取得装置。
【請求項36】
上記バイオメトリック画像センサは、指紋画像センサであることを特徴とする請求項35記載の情報取得装置。
【請求項37】
上記センサの第1の部分は、第1の複数のパターン化画像を捕捉するよう構成され、上記センサの第2の部分は、第2の複数のパターン化画像を捕捉するよう構成されることを特徴とする請求項36記載の情報取得装置。
【請求項38】
上記第1の複数のパターン化画像及び上記第2の複数のパターン化画像は、共に、上記センサの第1の位置の指紋画像に対応することを特徴とする請求項37記載の情報取得装置。
【請求項39】
上記センサの第1の部分は、第3の複数のパターン化画像を捕捉し、上記センサの第2の部分は、第4の複数のパターン化画像を捕捉することを特徴とする請求項38記載の情報取得装置。
【請求項40】
上記第3の複数のパターン化画像及び上記第4の複数のパターン化画像は、共に、上記センサの第2の位置の指紋画像に対応することを特徴とする請求項39記載の情報取得装置。
【請求項41】
上記回転情報は、上記第1の位置及び上記第2の位置の間の角度差に対応していることを特徴とする請求項40記載の情報取得装置。
【請求項42】
上記複数のパターン化画像を相関させる処理は、
a.上記第1の複数のパターン化画像を上記第3の複数のパターン化画像に相関させ、直線差分の組から直線差分の第1の組を生成し、
b.上記第2の複数のパターン化画像を上記第4の複数のパターン化画像に相関させ、直線差分の組から直線差分の第2の組を生成し、
c.上記第1の複数のパターン化画像及び第2の複数のパターン化画像の第1の組合せを上記第3の複数のパターン化画像及び第4の複数のパターン化画像の第2の組合せに相関させ、上記直線差分の組から直線差分の第3の組を生成することを特徴とする請求項40記載の情報取得装置。
【請求項43】
上記第1の複数のパターン化画像と上記第3の複数のパターン化画像との相関、上記第2の複数のパターン化画像と上記第4の複数のパターン化画像との相関、及び上記第1の組合せと第2の組合せとの相関は、全て、相互相関の実行を含むことを特徴とする請求項42記載の情報取得装置。
【請求項44】
上記相互相関は、正規化された相互相関であることを特徴とする請求項43記載の情報取得装置。
【請求項45】
上記相互相関は、標準の相互相関であることを特徴とする請求項43記載の情報取得装置。
【請求項46】
上記センサの第1の部分及び上記センサの第2の部分は、隣接していることを特徴とする請求項34記載の情報取得装置。
【請求項47】
上記センサの第1の部分及び上記センサの第2の部分は、隣接していないことを特徴とする請求項34記載の情報取得装置。
【請求項48】
上記センサの第1の部分は、第1のサブフレームの画素を含み、上記センサの第2の部分は、第2のサブフレームの画素を含むことを特徴とする請求項43記載の情報取得装置。
【請求項49】
上記第1の第1の複数のパターン化画像の捕捉は、上記第1の複数のパターン化画像に対応する第1のデータを上記第1のサブフレームに保存する処理を含み、
上記第2の複数のパターン化画像の捕捉は、上記第2の複数のパターン化画像に対応する第2のデータを上記第2のサブフレームに保存する処理を含み、
上記第3の複数のパターン化画像の捕捉は、上記第3の複数のパターン化画像に対応する第3のデータを上記第1のサブフレームに保存する処理を含み、
上記第4の複数のパターン化画像の捕捉は、上記第4の複数のパターン化画像に対応する第4のデータを上記第2のサブフレームに保存する処理を含むことを特徴とする請求項48記載の情報取得装置。
【請求項50】
上記第1の複数のパターン化画像を上記第3の複数のパターン化画像に相関させる処理は、上記第1のデータを上記第3のデータに相関させ、上記直線差分の第1の組から第1及び第2の直線差分を生成する処理を含むことを特徴とする請求項49記載の情報取得装置。
【請求項51】
上記第2の複数のパターン化画像を上記第4の複数のパターン化画像に相関させる処理は、上記第2のデータを上記第4のデータに相関させ、上記直線差分の第2の組から第1及び第2の直線差分を生成する処理を含むことを特徴とする請求項50記載の情報取得装置。
【請求項52】
上記第1の組合せを上記第2の組合せに相関させる処理は、上記第1のデータ及び上記第2のデータの組合せを上記第3のデータ及び上記第4のデータの組合せに相関させ、上記直線差分の第3の組から、第1及び第2の直線差分を生成する処理を含むことを特徴とする請求項51記載の情報取得装置。
【請求項53】
上記相関は、上記第1及び第2のサブフレームの1つの要素を相関させるラグを判定し、該ラグ及び上記要素の間の差分は、上記直線差分の組の1つからの第1及び第2の直線差分に対応することを特徴とする請求項52記載の情報取得装置。
【請求項54】
上記各要素は、上記第1及び第2のサブフレームの1つの行に対応していることを特徴とする請求項53記載の情報取得装置。
【請求項55】
上記各要素は、第1及び第2のサブフレームの1つの列に対応していることを特徴とする請求項53記載の情報取得装置。
【請求項56】
上記相関手段は、直線差分の第1の組、直線差分の第2の組、直線差分の第3の組及び回転情報をフィルタリングすることを特徴とする請求項33記載の情報取得装置。
【請求項57】
上記フィルタリングは、換算係数の乗算を含むことを特徴とする請求項56記載の情報取得装置。
【請求項58】
上記フィルタリングは、平滑化関数の適用を含むことを特徴とする請求項57記載の情報取得装置。
【請求項59】
上記フィルタリングは、クリッピング関数の適用を含むことを特徴とする請求項58記載の情報取得装置。
【請求項60】
上記捕捉手段は、指位置センサを含むことを特徴とする請求項33記載の情報取得装置。
【請求項61】
上記捕捉手段は、指スワイプセンサを含むことを特徴とする請求項33記載の情報取得装置。
【請求項62】
上記相関手段に接続され、表示画面を有し、上記回転情報を受け取り、上記回転情報を用いて該表示画面上でオブジェクトを制御し、コンピュータ入力装置をエミュレートするホスト機器を更に備える請求項41記載の情報取得装置。
【請求項63】
上記コンピュータ入力装置は、操作ホイール、ジョイスティック及びナビゲーションバーからなるグループから選択されることを特徴とする請求項62記載の情報取得装置。
【請求項64】
上記ホスト機器は、携帯型機器であることを特徴とする請求項63記載の情報取得装置。
【請求項65】
上記携帯型機器は、パーソナルコンピュータ、携帯電話機、携帯型コンピュータゲーム機及びデジタルカメラからなるグループから選択される機器であることを特徴とする請求項64記載の情報取得装置。
【請求項66】
上記コンピュータ入力装置のエミュレートは、上記角度差に関連する速度で上記表示画面上のオブジェクトを動かすことを含むことを特徴とする請求項62記載の情報取得装置。
【請求項67】
上記捕捉手段及び上記相関手段と一体に組み込まれたホスト機器を更に備える請求項41記載の情報取得装置。
【請求項68】
パターンを用いて、回転操作子をエミュレートするエミュレート方法において、
a.第1の向きにおいて、上記パターンの第1の画像を捕捉するステップと、
b.第2の向きにおいて、上記パターンの第2の画像を捕捉するステップと、
c.上記第1の画像と第2の画像とを相関させ、上記第1の向きと第2の向きとの間の直線差分を算出するステップと、
d.上記直線差分を回転データに変換するステップと、
f.上記回転データを用いて回転操作子の動きをエミュレートするステップとを有するエミュレート方法。
【請求項69】
上記画像は、指紋画像を含むことを特徴とする請求項68記載のエミュレート方法。
【請求項70】
上記回転操作子は、直線的なポジショニング装置をエミュレートすることを特徴とする請求項69記載のエミュレート方法。
【請求項71】
ポジショニング装置をエミュレートするエミュレート装置において、
a.パターンを有する画像を捕捉するセンサと、
b.センサに接続され、上記パターンを有する画像の第1の位置と、該パターンを有する画像の第2の位置との間の直線差分を算出し、該直線差分を上記パターンを有する画像の回転に対応する回転データに変換するプロセッサとを備えるエミュレート装置。
【請求項72】
画像センサ上のオブジェクトの回転を感知する回転感知方法において、
a.上記オブジェクトの第1の画像を感知するステップと、
b.上記オブジェクトの第2の画像を感知するステップと、
c.上記第1の画像と上記第2の画像とを比較し、上記第1の画像及び第2の画像を含む各領域の少なくとも2つの部分において、直線的な動きがあるか否かを判定し、上記オブジェクトが静止しているか、直線的に動いているか、回転しているかを判定するステップとを有する回転感知方法。
【請求項1】
回転情報を取得する情報取得方法において、
a.複数の位置から複数のパターン化画像を捕捉するステップと、
b.上記複数のパターン化画像を相関させ、直線差分の組を生成するステップと、
c.上記直線差分の組を用いて、回転情報を生成するステップとを有する情報取得方法。
【請求項2】
上記複数の位置は、センサの第1の部分及びセンサの第2の部分を含むことを特徴とする請求項1記載の情報取得方法。
【請求項3】
上記センサの第1の部分では、第1の複数のパターン化画像が捕捉され、上記センサの第2の部分では、第2の複数のパターン化画像が捕捉されることを特徴とする請求項2記載の情報取得方法。
【請求項4】
上記センサは、バイオメトリック画像センサであることを特徴とする請求項3記載の情報取得方法。
【請求項5】
上記バイオメトリック画像センサは、指紋画像センサであることを特徴とする請求項4記載の情報取得方法。
【請求項6】
上記第1の複数のパターン化画像及び上記第2の複数のパターン化画像は、共に、上記センサの第1の位置の指紋画像に対応することを特徴とする請求項5記載の情報取得方法。
【請求項7】
上記センサの第1の部分では、第3の複数のパターン化画像が捕捉され、上記センサの第2の部分では、第4の複数のパターン化画像が捕捉されることを特徴とする請求項6記載の情報取得方法。
【請求項8】
上記第3の複数のパターン化画像及び上記第4の複数のパターン化画像は、共に、上記センサの第2の位置の指紋画像に対応することを特徴とする請求項7記載の情報取得方法。
【請求項9】
上記回転情報は、上記第1の位置及び上記第2の位置の間の角度差に対応していることを特徴とする請求項8記載の情報取得方法。
【請求項10】
上記複数のパターン化画像を相関させるステップは、
a.上記第1の複数のパターン化画像を上記第3の複数のパターン化画像に相関させ、上記直線差分の組から直線差分の第1の組を生成するステップと、
b.上記第2の複数のパターン化画像を上記第4の複数のパターン化画像に相関させ、上記直線差分の組から直線差分の第2の組を生成するステップと、
c.上記第1の複数のパターン化画像及び第2の複数のパターン化画像の第1の組合せを上記第3の複数のパターン化画像及び第4の複数のパターン化画像の第2の組合せに相関させ、上記直線差分の組から直線差分の第3の組を生成するステップとを有することを特徴とする請求項9記載の情報取得方法。
【請求項11】
上記第1の複数のパターン化画像と上記第3の複数のパターン化画像との相関、上記第2の複数のパターン化画像と上記第4の複数のパターン化画像との相関、及び上記第1の組合せと上記第2の組合せとの相関は、全て、相互相関の実行を含むことを特徴とする請求項10記載の情報取得方法。
【請求項12】
上記相互相関は、正規化された相互相関であることを特徴とする請求項11記載の情報取得方法。
【請求項13】
上記相互相関は、標準の相互相関であることを特徴とする請求項11記載の情報取得方法。
【請求項14】
上記センサの第1の部分及び上記センサの第2の部分は、隣接していることを特徴とする請求項2記載の情報取得方法。
【請求項15】
上記センサの第1の部分及び上記センサの第2の部分は、隣接していないことを特徴とする請求項2記載の情報取得方法。
【請求項16】
上記センサの第1の部分は、第1のサブフレームの画素を含み、上記センサの第2の部分は、第2のサブフレームの画素を含むことを特徴とする請求項11記載の情報取得方法。
【請求項17】
上記第1の複数のパターン化画像を捕捉するステップは、上記第1の複数のパターン化画像に対応する第1のデータを上記第1のサブフレームに保存するステップを含み、
上記第2の複数のパターン化画像を捕捉するステップは、上記第2の複数のパターン化画像に対応する第2のデータを上記第2のサブフレームに保存するステップを含み、
上記第3の複数のパターン化画像を捕捉するステップは、上記第3の複数のパターン化画像に対応する第3のデータを上記第1のサブフレームに保存するステップを含み、
上記第4の複数のパターン化画像を捕捉するステップは、上記第4の複数のパターン化画像に対応する第4のデータを上記第2のサブフレームに保存するステップを含むことを特徴とする請求項16記載の情報取得方法。
【請求項18】
上記第1の複数のパターン化画像を上記第3の複数のパターン化画像に相関させるステップは、上記第1のデータを上記第3のデータに相関させ、上記直線差分の第1の組から第1及び第2の直線差分を生成するステップを含むことを特徴とする請求項17記載の情報取得方法。
【請求項19】
上記第2の複数のパターン化画像を上記第4の複数のパターン化画像に相関させるステップは、上記第2のデータを上記第4のデータに相関させ、上記直線差分の第2の組から第1及び第2の直線差分を生成するステップを含むことを特徴とする請求項18記載の情報取得方法。
【請求項20】
上記第1の組合せを上記第2の組合せに相関させるステップは、上記第1のデータ及び上記第2のデータの組合せを上記第3のデータ及び上記第4のデータの組合せに相関させ、上記直線差分の第3の組から、第1及び第2の直線差分を生成するステップを含むことを特徴とする請求項19記載の情報取得方法。
【請求項21】
上記相関は、上記第1及び第2のサブフレームの1つの要素を相関させるラグを判定し、該ラグ及び上記要素の間の差分は、上記直線差分の組の1つの第1及び第2の直線差分に対応することを特徴とする請求項20記載の情報取得方法。
【請求項22】
上記各要素は、上記第1及び第2のサブフレームの1つの行に対応していることを特徴とする請求項21記載の情報取得方法。
【請求項23】
上記各要素は、上記第1及び第2のサブフレームの1つの列に対応していることを特徴とする請求項21記載の情報取得方法。
【請求項24】
直線差分の第1の組、直線差分の第2の組、直線差分の第3の組及び回転情報をフィルタリングするステップを更に有する請求項11記載の情報取得方法。
【請求項25】
上記フィルタリングは、換算係数の乗算を含むことを特徴とする請求項24記載の情報取得方法。
【請求項26】
上記フィルタリングは、平滑化関数の適用を含むことを特徴とする請求項25記載の情報取得方法。
【請求項27】
上記フィルタリングは、クリッピング関数の適用を含むことを特徴とする請求項26記載の情報取得方法。
【請求項28】
上記指紋画像センサは、指位置センサであることを特徴とする請求項10記載の情報取得方法。
【請求項29】
上記指紋画像センサは、指スワイプセンサであることを特徴とする請求項10記載の情報取得方法。
【請求項30】
表示画面を有するホストプラットホームにおいて、上記回転情報を用いて、該表示画面上でオブジェクトを回転させ、コンピュータ入力装置をエミュレートすることを特徴とする請求項9記載の情報取得方法。
【請求項31】
上記コンピュータ入力装置は、操作ホイール、ジョイスティック及びナビゲーションバーからなるグループから選択されることを特徴とする請求項30記載の情報取得方法。
【請求項32】
上記コンピュータ入力装置のエミュレートは、上記角度差に関連する速度で上記表示画面上のオブジェクトを動かすことを含むことを特徴とする請求項30記載の情報取得方法。
【請求項33】
回転情報を取得する情報取得装置において、
a.複数の位置から複数のパターン化画像を捕捉する捕捉手段と、
b.上記複数のパターン化画像を相関させ、直線差分の組を生成し、該直線差分の組を用いて、回転情報を生成する相関手段とを備える情報取得装置。
【請求項34】
上記捕捉手段は、第1の部分及び第2の部分を有するセンサを備えることを特徴とする請求項33記載の情報取得装置。
【請求項35】
上記センサは、バイオメトリック画像センサであることを特徴とする請求項34記載の情報取得装置。
【請求項36】
上記バイオメトリック画像センサは、指紋画像センサであることを特徴とする請求項35記載の情報取得装置。
【請求項37】
上記センサの第1の部分は、第1の複数のパターン化画像を捕捉するよう構成され、上記センサの第2の部分は、第2の複数のパターン化画像を捕捉するよう構成されることを特徴とする請求項36記載の情報取得装置。
【請求項38】
上記第1の複数のパターン化画像及び上記第2の複数のパターン化画像は、共に、上記センサの第1の位置の指紋画像に対応することを特徴とする請求項37記載の情報取得装置。
【請求項39】
上記センサの第1の部分は、第3の複数のパターン化画像を捕捉し、上記センサの第2の部分は、第4の複数のパターン化画像を捕捉することを特徴とする請求項38記載の情報取得装置。
【請求項40】
上記第3の複数のパターン化画像及び上記第4の複数のパターン化画像は、共に、上記センサの第2の位置の指紋画像に対応することを特徴とする請求項39記載の情報取得装置。
【請求項41】
上記回転情報は、上記第1の位置及び上記第2の位置の間の角度差に対応していることを特徴とする請求項40記載の情報取得装置。
【請求項42】
上記複数のパターン化画像を相関させる処理は、
a.上記第1の複数のパターン化画像を上記第3の複数のパターン化画像に相関させ、直線差分の組から直線差分の第1の組を生成し、
b.上記第2の複数のパターン化画像を上記第4の複数のパターン化画像に相関させ、直線差分の組から直線差分の第2の組を生成し、
c.上記第1の複数のパターン化画像及び第2の複数のパターン化画像の第1の組合せを上記第3の複数のパターン化画像及び第4の複数のパターン化画像の第2の組合せに相関させ、上記直線差分の組から直線差分の第3の組を生成することを特徴とする請求項40記載の情報取得装置。
【請求項43】
上記第1の複数のパターン化画像と上記第3の複数のパターン化画像との相関、上記第2の複数のパターン化画像と上記第4の複数のパターン化画像との相関、及び上記第1の組合せと第2の組合せとの相関は、全て、相互相関の実行を含むことを特徴とする請求項42記載の情報取得装置。
【請求項44】
上記相互相関は、正規化された相互相関であることを特徴とする請求項43記載の情報取得装置。
【請求項45】
上記相互相関は、標準の相互相関であることを特徴とする請求項43記載の情報取得装置。
【請求項46】
上記センサの第1の部分及び上記センサの第2の部分は、隣接していることを特徴とする請求項34記載の情報取得装置。
【請求項47】
上記センサの第1の部分及び上記センサの第2の部分は、隣接していないことを特徴とする請求項34記載の情報取得装置。
【請求項48】
上記センサの第1の部分は、第1のサブフレームの画素を含み、上記センサの第2の部分は、第2のサブフレームの画素を含むことを特徴とする請求項43記載の情報取得装置。
【請求項49】
上記第1の第1の複数のパターン化画像の捕捉は、上記第1の複数のパターン化画像に対応する第1のデータを上記第1のサブフレームに保存する処理を含み、
上記第2の複数のパターン化画像の捕捉は、上記第2の複数のパターン化画像に対応する第2のデータを上記第2のサブフレームに保存する処理を含み、
上記第3の複数のパターン化画像の捕捉は、上記第3の複数のパターン化画像に対応する第3のデータを上記第1のサブフレームに保存する処理を含み、
上記第4の複数のパターン化画像の捕捉は、上記第4の複数のパターン化画像に対応する第4のデータを上記第2のサブフレームに保存する処理を含むことを特徴とする請求項48記載の情報取得装置。
【請求項50】
上記第1の複数のパターン化画像を上記第3の複数のパターン化画像に相関させる処理は、上記第1のデータを上記第3のデータに相関させ、上記直線差分の第1の組から第1及び第2の直線差分を生成する処理を含むことを特徴とする請求項49記載の情報取得装置。
【請求項51】
上記第2の複数のパターン化画像を上記第4の複数のパターン化画像に相関させる処理は、上記第2のデータを上記第4のデータに相関させ、上記直線差分の第2の組から第1及び第2の直線差分を生成する処理を含むことを特徴とする請求項50記載の情報取得装置。
【請求項52】
上記第1の組合せを上記第2の組合せに相関させる処理は、上記第1のデータ及び上記第2のデータの組合せを上記第3のデータ及び上記第4のデータの組合せに相関させ、上記直線差分の第3の組から、第1及び第2の直線差分を生成する処理を含むことを特徴とする請求項51記載の情報取得装置。
【請求項53】
上記相関は、上記第1及び第2のサブフレームの1つの要素を相関させるラグを判定し、該ラグ及び上記要素の間の差分は、上記直線差分の組の1つからの第1及び第2の直線差分に対応することを特徴とする請求項52記載の情報取得装置。
【請求項54】
上記各要素は、上記第1及び第2のサブフレームの1つの行に対応していることを特徴とする請求項53記載の情報取得装置。
【請求項55】
上記各要素は、第1及び第2のサブフレームの1つの列に対応していることを特徴とする請求項53記載の情報取得装置。
【請求項56】
上記相関手段は、直線差分の第1の組、直線差分の第2の組、直線差分の第3の組及び回転情報をフィルタリングすることを特徴とする請求項33記載の情報取得装置。
【請求項57】
上記フィルタリングは、換算係数の乗算を含むことを特徴とする請求項56記載の情報取得装置。
【請求項58】
上記フィルタリングは、平滑化関数の適用を含むことを特徴とする請求項57記載の情報取得装置。
【請求項59】
上記フィルタリングは、クリッピング関数の適用を含むことを特徴とする請求項58記載の情報取得装置。
【請求項60】
上記捕捉手段は、指位置センサを含むことを特徴とする請求項33記載の情報取得装置。
【請求項61】
上記捕捉手段は、指スワイプセンサを含むことを特徴とする請求項33記載の情報取得装置。
【請求項62】
上記相関手段に接続され、表示画面を有し、上記回転情報を受け取り、上記回転情報を用いて該表示画面上でオブジェクトを制御し、コンピュータ入力装置をエミュレートするホスト機器を更に備える請求項41記載の情報取得装置。
【請求項63】
上記コンピュータ入力装置は、操作ホイール、ジョイスティック及びナビゲーションバーからなるグループから選択されることを特徴とする請求項62記載の情報取得装置。
【請求項64】
上記ホスト機器は、携帯型機器であることを特徴とする請求項63記載の情報取得装置。
【請求項65】
上記携帯型機器は、パーソナルコンピュータ、携帯電話機、携帯型コンピュータゲーム機及びデジタルカメラからなるグループから選択される機器であることを特徴とする請求項64記載の情報取得装置。
【請求項66】
上記コンピュータ入力装置のエミュレートは、上記角度差に関連する速度で上記表示画面上のオブジェクトを動かすことを含むことを特徴とする請求項62記載の情報取得装置。
【請求項67】
上記捕捉手段及び上記相関手段と一体に組み込まれたホスト機器を更に備える請求項41記載の情報取得装置。
【請求項68】
パターンを用いて、回転操作子をエミュレートするエミュレート方法において、
a.第1の向きにおいて、上記パターンの第1の画像を捕捉するステップと、
b.第2の向きにおいて、上記パターンの第2の画像を捕捉するステップと、
c.上記第1の画像と第2の画像とを相関させ、上記第1の向きと第2の向きとの間の直線差分を算出するステップと、
d.上記直線差分を回転データに変換するステップと、
f.上記回転データを用いて回転操作子の動きをエミュレートするステップとを有するエミュレート方法。
【請求項69】
上記画像は、指紋画像を含むことを特徴とする請求項68記載のエミュレート方法。
【請求項70】
上記回転操作子は、直線的なポジショニング装置をエミュレートすることを特徴とする請求項69記載のエミュレート方法。
【請求項71】
ポジショニング装置をエミュレートするエミュレート装置において、
a.パターンを有する画像を捕捉するセンサと、
b.センサに接続され、上記パターンを有する画像の第1の位置と、該パターンを有する画像の第2の位置との間の直線差分を算出し、該直線差分を上記パターンを有する画像の回転に対応する回転データに変換するプロセッサとを備えるエミュレート装置。
【請求項72】
画像センサ上のオブジェクトの回転を感知する回転感知方法において、
a.上記オブジェクトの第1の画像を感知するステップと、
b.上記オブジェクトの第2の画像を感知するステップと、
c.上記第1の画像と上記第2の画像とを比較し、上記第1の画像及び第2の画像を含む各領域の少なくとも2つの部分において、直線的な動きがあるか否かを判定し、上記オブジェクトが静止しているか、直線的に動いているか、回転しているかを判定するステップとを有する回転感知方法。
【図1A】
【図1B】
【図2】
【図3A】
【図3B】
【図3C】
【図3D】
【図4】
【図5A】
【図5B】
【図6】
【図7】
【図8】
【図9】
【図10】
【図11】
【図12】
【図1B】
【図2】
【図3A】
【図3B】
【図3C】
【図3D】
【図4】
【図5A】
【図5B】
【図6】
【図7】
【図8】
【図9】
【図10】
【図11】
【図12】
【公表番号】特表2007−519064(P2007−519064A)
【公表日】平成19年7月12日(2007.7.12)
【国際特許分類】
【出願番号】特願2006−524682(P2006−524682)
【出願日】平成16年8月5日(2004.8.5)
【国際出願番号】PCT/US2004/025528
【国際公開番号】WO2005/022458
【国際公開日】平成17年3月10日(2005.3.10)
【出願人】(503385749)アトルア テクノロジーズ インコーポレイテッド (4)
【Fターム(参考)】
【公表日】平成19年7月12日(2007.7.12)
【国際特許分類】
【出願日】平成16年8月5日(2004.8.5)
【国際出願番号】PCT/US2004/025528
【国際公開番号】WO2005/022458
【国際公開日】平成17年3月10日(2005.3.10)
【出願人】(503385749)アトルア テクノロジーズ インコーポレイテッド (4)
【Fターム(参考)】
[ Back to top ]